1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package workdocs
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/restjson"
14)
15
16const opAbortDocumentVersionUpload = "AbortDocumentVersionUpload"
17
18// AbortDocumentVersionUploadRequest generates a "aws/request.Request" representing the
19// client's request for the AbortDocumentVersionUpload operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See AbortDocumentVersionUpload for more information on using the AbortDocumentVersionUpload
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the AbortDocumentVersionUploadRequest method.
34//    req, resp := client.AbortDocumentVersionUploadRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/AbortDocumentVersionUpload
42func (c *WorkDocs) AbortDocumentVersionUploadRequest(input *AbortDocumentVersionUploadInput) (req *request.Request, output *AbortDocumentVersionUploadOutput) {
43	op := &request.Operation{
44		Name:       opAbortDocumentVersionUpload,
45		HTTPMethod: "DELETE",
46		HTTPPath:   "/api/v1/documents/{DocumentId}/versions/{VersionId}",
47	}
48
49	if input == nil {
50		input = &AbortDocumentVersionUploadInput{}
51	}
52
53	output = &AbortDocumentVersionUploadOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AbortDocumentVersionUpload API operation for Amazon WorkDocs.
60//
61// Aborts the upload of the specified document version that was previously initiated
62// by InitiateDocumentVersionUpload. The client should make this call only when
63// it no longer intends to upload the document version, or fails to do so.
64//
65// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
66// with awserr.Error's Code and Message methods to get detailed information about
67// the error.
68//
69// See the AWS API reference guide for Amazon WorkDocs's
70// API operation AbortDocumentVersionUpload for usage and error information.
71//
72// Returned Error Types:
73//   * EntityNotExistsException
74//   The resource does not exist.
75//
76//   * ProhibitedStateException
77//   The specified document version is not in the INITIALIZED state.
78//
79//   * UnauthorizedOperationException
80//   The operation is not permitted.
81//
82//   * UnauthorizedResourceAccessException
83//   The caller does not have access to perform the action on the resource.
84//
85//   * FailedDependencyException
86//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
87//   under the control of the organization is failing, such as a connected Active
88//   Directory.
89//
90//   * ServiceUnavailableException
91//   One or more of the dependencies is unavailable.
92//
93// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/AbortDocumentVersionUpload
94func (c *WorkDocs) AbortDocumentVersionUpload(input *AbortDocumentVersionUploadInput) (*AbortDocumentVersionUploadOutput, error) {
95	req, out := c.AbortDocumentVersionUploadRequest(input)
96	return out, req.Send()
97}
98
99// AbortDocumentVersionUploadWithContext is the same as AbortDocumentVersionUpload with the addition of
100// the ability to pass a context and additional request options.
101//
102// See AbortDocumentVersionUpload for details on how to use this API operation.
103//
104// The context must be non-nil and will be used for request cancellation. If
105// the context is nil a panic will occur. In the future the SDK may create
106// sub-contexts for http.Requests. See https://golang.org/pkg/context/
107// for more information on using Contexts.
108func (c *WorkDocs) AbortDocumentVersionUploadWithContext(ctx aws.Context, input *AbortDocumentVersionUploadInput, opts ...request.Option) (*AbortDocumentVersionUploadOutput, error) {
109	req, out := c.AbortDocumentVersionUploadRequest(input)
110	req.SetContext(ctx)
111	req.ApplyOptions(opts...)
112	return out, req.Send()
113}
114
115const opActivateUser = "ActivateUser"
116
117// ActivateUserRequest generates a "aws/request.Request" representing the
118// client's request for the ActivateUser operation. The "output" return
119// value will be populated with the request's response once the request completes
120// successfully.
121//
122// Use "Send" method on the returned Request to send the API call to the service.
123// the "output" return value is not valid until after Send returns without error.
124//
125// See ActivateUser for more information on using the ActivateUser
126// API call, and error handling.
127//
128// This method is useful when you want to inject custom logic or configuration
129// into the SDK's request lifecycle. Such as custom headers, or retry logic.
130//
131//
132//    // Example sending a request using the ActivateUserRequest method.
133//    req, resp := client.ActivateUserRequest(params)
134//
135//    err := req.Send()
136//    if err == nil { // resp is now filled
137//        fmt.Println(resp)
138//    }
139//
140// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/ActivateUser
141func (c *WorkDocs) ActivateUserRequest(input *ActivateUserInput) (req *request.Request, output *ActivateUserOutput) {
142	op := &request.Operation{
143		Name:       opActivateUser,
144		HTTPMethod: "POST",
145		HTTPPath:   "/api/v1/users/{UserId}/activation",
146	}
147
148	if input == nil {
149		input = &ActivateUserInput{}
150	}
151
152	output = &ActivateUserOutput{}
153	req = c.newRequest(op, input, output)
154	return
155}
156
157// ActivateUser API operation for Amazon WorkDocs.
158//
159// Activates the specified user. Only active users can access Amazon WorkDocs.
160//
161// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
162// with awserr.Error's Code and Message methods to get detailed information about
163// the error.
164//
165// See the AWS API reference guide for Amazon WorkDocs's
166// API operation ActivateUser for usage and error information.
167//
168// Returned Error Types:
169//   * EntityNotExistsException
170//   The resource does not exist.
171//
172//   * UnauthorizedOperationException
173//   The operation is not permitted.
174//
175//   * UnauthorizedResourceAccessException
176//   The caller does not have access to perform the action on the resource.
177//
178//   * FailedDependencyException
179//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
180//   under the control of the organization is failing, such as a connected Active
181//   Directory.
182//
183//   * ServiceUnavailableException
184//   One or more of the dependencies is unavailable.
185//
186// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/ActivateUser
187func (c *WorkDocs) ActivateUser(input *ActivateUserInput) (*ActivateUserOutput, error) {
188	req, out := c.ActivateUserRequest(input)
189	return out, req.Send()
190}
191
192// ActivateUserWithContext is the same as ActivateUser with the addition of
193// the ability to pass a context and additional request options.
194//
195// See ActivateUser for details on how to use this API operation.
196//
197// The context must be non-nil and will be used for request cancellation. If
198// the context is nil a panic will occur. In the future the SDK may create
199// sub-contexts for http.Requests. See https://golang.org/pkg/context/
200// for more information on using Contexts.
201func (c *WorkDocs) ActivateUserWithContext(ctx aws.Context, input *ActivateUserInput, opts ...request.Option) (*ActivateUserOutput, error) {
202	req, out := c.ActivateUserRequest(input)
203	req.SetContext(ctx)
204	req.ApplyOptions(opts...)
205	return out, req.Send()
206}
207
208const opAddResourcePermissions = "AddResourcePermissions"
209
210// AddResourcePermissionsRequest generates a "aws/request.Request" representing the
211// client's request for the AddResourcePermissions operation. The "output" return
212// value will be populated with the request's response once the request completes
213// successfully.
214//
215// Use "Send" method on the returned Request to send the API call to the service.
216// the "output" return value is not valid until after Send returns without error.
217//
218// See AddResourcePermissions for more information on using the AddResourcePermissions
219// API call, and error handling.
220//
221// This method is useful when you want to inject custom logic or configuration
222// into the SDK's request lifecycle. Such as custom headers, or retry logic.
223//
224//
225//    // Example sending a request using the AddResourcePermissionsRequest method.
226//    req, resp := client.AddResourcePermissionsRequest(params)
227//
228//    err := req.Send()
229//    if err == nil { // resp is now filled
230//        fmt.Println(resp)
231//    }
232//
233// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/AddResourcePermissions
234func (c *WorkDocs) AddResourcePermissionsRequest(input *AddResourcePermissionsInput) (req *request.Request, output *AddResourcePermissionsOutput) {
235	op := &request.Operation{
236		Name:       opAddResourcePermissions,
237		HTTPMethod: "POST",
238		HTTPPath:   "/api/v1/resources/{ResourceId}/permissions",
239	}
240
241	if input == nil {
242		input = &AddResourcePermissionsInput{}
243	}
244
245	output = &AddResourcePermissionsOutput{}
246	req = c.newRequest(op, input, output)
247	return
248}
249
250// AddResourcePermissions API operation for Amazon WorkDocs.
251//
252// Creates a set of permissions for the specified folder or document. The resource
253// permissions are overwritten if the principals already have different permissions.
254//
255// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
256// with awserr.Error's Code and Message methods to get detailed information about
257// the error.
258//
259// See the AWS API reference guide for Amazon WorkDocs's
260// API operation AddResourcePermissions for usage and error information.
261//
262// Returned Error Types:
263//   * UnauthorizedOperationException
264//   The operation is not permitted.
265//
266//   * UnauthorizedResourceAccessException
267//   The caller does not have access to perform the action on the resource.
268//
269//   * FailedDependencyException
270//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
271//   under the control of the organization is failing, such as a connected Active
272//   Directory.
273//
274//   * ServiceUnavailableException
275//   One or more of the dependencies is unavailable.
276//
277// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/AddResourcePermissions
278func (c *WorkDocs) AddResourcePermissions(input *AddResourcePermissionsInput) (*AddResourcePermissionsOutput, error) {
279	req, out := c.AddResourcePermissionsRequest(input)
280	return out, req.Send()
281}
282
283// AddResourcePermissionsWithContext is the same as AddResourcePermissions with the addition of
284// the ability to pass a context and additional request options.
285//
286// See AddResourcePermissions for details on how to use this API operation.
287//
288// The context must be non-nil and will be used for request cancellation. If
289// the context is nil a panic will occur. In the future the SDK may create
290// sub-contexts for http.Requests. See https://golang.org/pkg/context/
291// for more information on using Contexts.
292func (c *WorkDocs) AddResourcePermissionsWithContext(ctx aws.Context, input *AddResourcePermissionsInput, opts ...request.Option) (*AddResourcePermissionsOutput, error) {
293	req, out := c.AddResourcePermissionsRequest(input)
294	req.SetContext(ctx)
295	req.ApplyOptions(opts...)
296	return out, req.Send()
297}
298
299const opCreateComment = "CreateComment"
300
301// CreateCommentRequest generates a "aws/request.Request" representing the
302// client's request for the CreateComment operation. The "output" return
303// value will be populated with the request's response once the request completes
304// successfully.
305//
306// Use "Send" method on the returned Request to send the API call to the service.
307// the "output" return value is not valid until after Send returns without error.
308//
309// See CreateComment for more information on using the CreateComment
310// API call, and error handling.
311//
312// This method is useful when you want to inject custom logic or configuration
313// into the SDK's request lifecycle. Such as custom headers, or retry logic.
314//
315//
316//    // Example sending a request using the CreateCommentRequest method.
317//    req, resp := client.CreateCommentRequest(params)
318//
319//    err := req.Send()
320//    if err == nil { // resp is now filled
321//        fmt.Println(resp)
322//    }
323//
324// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/CreateComment
325func (c *WorkDocs) CreateCommentRequest(input *CreateCommentInput) (req *request.Request, output *CreateCommentOutput) {
326	op := &request.Operation{
327		Name:       opCreateComment,
328		HTTPMethod: "POST",
329		HTTPPath:   "/api/v1/documents/{DocumentId}/versions/{VersionId}/comment",
330	}
331
332	if input == nil {
333		input = &CreateCommentInput{}
334	}
335
336	output = &CreateCommentOutput{}
337	req = c.newRequest(op, input, output)
338	return
339}
340
341// CreateComment API operation for Amazon WorkDocs.
342//
343// Adds a new comment to the specified document version.
344//
345// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
346// with awserr.Error's Code and Message methods to get detailed information about
347// the error.
348//
349// See the AWS API reference guide for Amazon WorkDocs's
350// API operation CreateComment for usage and error information.
351//
352// Returned Error Types:
353//   * EntityNotExistsException
354//   The resource does not exist.
355//
356//   * ProhibitedStateException
357//   The specified document version is not in the INITIALIZED state.
358//
359//   * UnauthorizedOperationException
360//   The operation is not permitted.
361//
362//   * UnauthorizedResourceAccessException
363//   The caller does not have access to perform the action on the resource.
364//
365//   * FailedDependencyException
366//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
367//   under the control of the organization is failing, such as a connected Active
368//   Directory.
369//
370//   * ServiceUnavailableException
371//   One or more of the dependencies is unavailable.
372//
373//   * DocumentLockedForCommentsException
374//   This exception is thrown when the document is locked for comments and user
375//   tries to create or delete a comment on that document.
376//
377//   * InvalidCommentOperationException
378//   The requested operation is not allowed on the specified comment object.
379//
380// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/CreateComment
381func (c *WorkDocs) CreateComment(input *CreateCommentInput) (*CreateCommentOutput, error) {
382	req, out := c.CreateCommentRequest(input)
383	return out, req.Send()
384}
385
386// CreateCommentWithContext is the same as CreateComment with the addition of
387// the ability to pass a context and additional request options.
388//
389// See CreateComment for details on how to use this API operation.
390//
391// The context must be non-nil and will be used for request cancellation. If
392// the context is nil a panic will occur. In the future the SDK may create
393// sub-contexts for http.Requests. See https://golang.org/pkg/context/
394// for more information on using Contexts.
395func (c *WorkDocs) CreateCommentWithContext(ctx aws.Context, input *CreateCommentInput, opts ...request.Option) (*CreateCommentOutput, error) {
396	req, out := c.CreateCommentRequest(input)
397	req.SetContext(ctx)
398	req.ApplyOptions(opts...)
399	return out, req.Send()
400}
401
402const opCreateCustomMetadata = "CreateCustomMetadata"
403
404// CreateCustomMetadataRequest generates a "aws/request.Request" representing the
405// client's request for the CreateCustomMetadata operation. The "output" return
406// value will be populated with the request's response once the request completes
407// successfully.
408//
409// Use "Send" method on the returned Request to send the API call to the service.
410// the "output" return value is not valid until after Send returns without error.
411//
412// See CreateCustomMetadata for more information on using the CreateCustomMetadata
413// API call, and error handling.
414//
415// This method is useful when you want to inject custom logic or configuration
416// into the SDK's request lifecycle. Such as custom headers, or retry logic.
417//
418//
419//    // Example sending a request using the CreateCustomMetadataRequest method.
420//    req, resp := client.CreateCustomMetadataRequest(params)
421//
422//    err := req.Send()
423//    if err == nil { // resp is now filled
424//        fmt.Println(resp)
425//    }
426//
427// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/CreateCustomMetadata
428func (c *WorkDocs) CreateCustomMetadataRequest(input *CreateCustomMetadataInput) (req *request.Request, output *CreateCustomMetadataOutput) {
429	op := &request.Operation{
430		Name:       opCreateCustomMetadata,
431		HTTPMethod: "PUT",
432		HTTPPath:   "/api/v1/resources/{ResourceId}/customMetadata",
433	}
434
435	if input == nil {
436		input = &CreateCustomMetadataInput{}
437	}
438
439	output = &CreateCustomMetadataOutput{}
440	req = c.newRequest(op, input, output)
441	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
442	return
443}
444
445// CreateCustomMetadata API operation for Amazon WorkDocs.
446//
447// Adds one or more custom properties to the specified resource (a folder, document,
448// or version).
449//
450// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
451// with awserr.Error's Code and Message methods to get detailed information about
452// the error.
453//
454// See the AWS API reference guide for Amazon WorkDocs's
455// API operation CreateCustomMetadata for usage and error information.
456//
457// Returned Error Types:
458//   * EntityNotExistsException
459//   The resource does not exist.
460//
461//   * UnauthorizedOperationException
462//   The operation is not permitted.
463//
464//   * UnauthorizedResourceAccessException
465//   The caller does not have access to perform the action on the resource.
466//
467//   * ProhibitedStateException
468//   The specified document version is not in the INITIALIZED state.
469//
470//   * CustomMetadataLimitExceededException
471//   The limit has been reached on the number of custom properties for the specified
472//   resource.
473//
474//   * FailedDependencyException
475//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
476//   under the control of the organization is failing, such as a connected Active
477//   Directory.
478//
479//   * ServiceUnavailableException
480//   One or more of the dependencies is unavailable.
481//
482// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/CreateCustomMetadata
483func (c *WorkDocs) CreateCustomMetadata(input *CreateCustomMetadataInput) (*CreateCustomMetadataOutput, error) {
484	req, out := c.CreateCustomMetadataRequest(input)
485	return out, req.Send()
486}
487
488// CreateCustomMetadataWithContext is the same as CreateCustomMetadata with the addition of
489// the ability to pass a context and additional request options.
490//
491// See CreateCustomMetadata for details on how to use this API operation.
492//
493// The context must be non-nil and will be used for request cancellation. If
494// the context is nil a panic will occur. In the future the SDK may create
495// sub-contexts for http.Requests. See https://golang.org/pkg/context/
496// for more information on using Contexts.
497func (c *WorkDocs) CreateCustomMetadataWithContext(ctx aws.Context, input *CreateCustomMetadataInput, opts ...request.Option) (*CreateCustomMetadataOutput, error) {
498	req, out := c.CreateCustomMetadataRequest(input)
499	req.SetContext(ctx)
500	req.ApplyOptions(opts...)
501	return out, req.Send()
502}
503
504const opCreateFolder = "CreateFolder"
505
506// CreateFolderRequest generates a "aws/request.Request" representing the
507// client's request for the CreateFolder operation. The "output" return
508// value will be populated with the request's response once the request completes
509// successfully.
510//
511// Use "Send" method on the returned Request to send the API call to the service.
512// the "output" return value is not valid until after Send returns without error.
513//
514// See CreateFolder for more information on using the CreateFolder
515// API call, and error handling.
516//
517// This method is useful when you want to inject custom logic or configuration
518// into the SDK's request lifecycle. Such as custom headers, or retry logic.
519//
520//
521//    // Example sending a request using the CreateFolderRequest method.
522//    req, resp := client.CreateFolderRequest(params)
523//
524//    err := req.Send()
525//    if err == nil { // resp is now filled
526//        fmt.Println(resp)
527//    }
528//
529// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/CreateFolder
530func (c *WorkDocs) CreateFolderRequest(input *CreateFolderInput) (req *request.Request, output *CreateFolderOutput) {
531	op := &request.Operation{
532		Name:       opCreateFolder,
533		HTTPMethod: "POST",
534		HTTPPath:   "/api/v1/folders",
535	}
536
537	if input == nil {
538		input = &CreateFolderInput{}
539	}
540
541	output = &CreateFolderOutput{}
542	req = c.newRequest(op, input, output)
543	return
544}
545
546// CreateFolder API operation for Amazon WorkDocs.
547//
548// Creates a folder with the specified name and parent folder.
549//
550// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
551// with awserr.Error's Code and Message methods to get detailed information about
552// the error.
553//
554// See the AWS API reference guide for Amazon WorkDocs's
555// API operation CreateFolder for usage and error information.
556//
557// Returned Error Types:
558//   * EntityNotExistsException
559//   The resource does not exist.
560//
561//   * EntityAlreadyExistsException
562//   The resource already exists.
563//
564//   * ProhibitedStateException
565//   The specified document version is not in the INITIALIZED state.
566//
567//   * ConflictingOperationException
568//   Another operation is in progress on the resource that conflicts with the
569//   current operation.
570//
571//   * LimitExceededException
572//   The maximum of 100,000 folders under the parent folder has been exceeded.
573//
574//   * UnauthorizedOperationException
575//   The operation is not permitted.
576//
577//   * UnauthorizedResourceAccessException
578//   The caller does not have access to perform the action on the resource.
579//
580//   * FailedDependencyException
581//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
582//   under the control of the organization is failing, such as a connected Active
583//   Directory.
584//
585//   * ServiceUnavailableException
586//   One or more of the dependencies is unavailable.
587//
588// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/CreateFolder
589func (c *WorkDocs) CreateFolder(input *CreateFolderInput) (*CreateFolderOutput, error) {
590	req, out := c.CreateFolderRequest(input)
591	return out, req.Send()
592}
593
594// CreateFolderWithContext is the same as CreateFolder with the addition of
595// the ability to pass a context and additional request options.
596//
597// See CreateFolder for details on how to use this API operation.
598//
599// The context must be non-nil and will be used for request cancellation. If
600// the context is nil a panic will occur. In the future the SDK may create
601// sub-contexts for http.Requests. See https://golang.org/pkg/context/
602// for more information on using Contexts.
603func (c *WorkDocs) CreateFolderWithContext(ctx aws.Context, input *CreateFolderInput, opts ...request.Option) (*CreateFolderOutput, error) {
604	req, out := c.CreateFolderRequest(input)
605	req.SetContext(ctx)
606	req.ApplyOptions(opts...)
607	return out, req.Send()
608}
609
610const opCreateLabels = "CreateLabels"
611
612// CreateLabelsRequest generates a "aws/request.Request" representing the
613// client's request for the CreateLabels operation. The "output" return
614// value will be populated with the request's response once the request completes
615// successfully.
616//
617// Use "Send" method on the returned Request to send the API call to the service.
618// the "output" return value is not valid until after Send returns without error.
619//
620// See CreateLabels for more information on using the CreateLabels
621// API call, and error handling.
622//
623// This method is useful when you want to inject custom logic or configuration
624// into the SDK's request lifecycle. Such as custom headers, or retry logic.
625//
626//
627//    // Example sending a request using the CreateLabelsRequest method.
628//    req, resp := client.CreateLabelsRequest(params)
629//
630//    err := req.Send()
631//    if err == nil { // resp is now filled
632//        fmt.Println(resp)
633//    }
634//
635// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/CreateLabels
636func (c *WorkDocs) CreateLabelsRequest(input *CreateLabelsInput) (req *request.Request, output *CreateLabelsOutput) {
637	op := &request.Operation{
638		Name:       opCreateLabels,
639		HTTPMethod: "PUT",
640		HTTPPath:   "/api/v1/resources/{ResourceId}/labels",
641	}
642
643	if input == nil {
644		input = &CreateLabelsInput{}
645	}
646
647	output = &CreateLabelsOutput{}
648	req = c.newRequest(op, input, output)
649	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
650	return
651}
652
653// CreateLabels API operation for Amazon WorkDocs.
654//
655// Adds the specified list of labels to the given resource (a document or folder)
656//
657// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
658// with awserr.Error's Code and Message methods to get detailed information about
659// the error.
660//
661// See the AWS API reference guide for Amazon WorkDocs's
662// API operation CreateLabels for usage and error information.
663//
664// Returned Error Types:
665//   * EntityNotExistsException
666//   The resource does not exist.
667//
668//   * UnauthorizedOperationException
669//   The operation is not permitted.
670//
671//   * UnauthorizedResourceAccessException
672//   The caller does not have access to perform the action on the resource.
673//
674//   * FailedDependencyException
675//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
676//   under the control of the organization is failing, such as a connected Active
677//   Directory.
678//
679//   * ServiceUnavailableException
680//   One or more of the dependencies is unavailable.
681//
682//   * TooManyLabelsException
683//   The limit has been reached on the number of labels for the specified resource.
684//
685// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/CreateLabels
686func (c *WorkDocs) CreateLabels(input *CreateLabelsInput) (*CreateLabelsOutput, error) {
687	req, out := c.CreateLabelsRequest(input)
688	return out, req.Send()
689}
690
691// CreateLabelsWithContext is the same as CreateLabels with the addition of
692// the ability to pass a context and additional request options.
693//
694// See CreateLabels for details on how to use this API operation.
695//
696// The context must be non-nil and will be used for request cancellation. If
697// the context is nil a panic will occur. In the future the SDK may create
698// sub-contexts for http.Requests. See https://golang.org/pkg/context/
699// for more information on using Contexts.
700func (c *WorkDocs) CreateLabelsWithContext(ctx aws.Context, input *CreateLabelsInput, opts ...request.Option) (*CreateLabelsOutput, error) {
701	req, out := c.CreateLabelsRequest(input)
702	req.SetContext(ctx)
703	req.ApplyOptions(opts...)
704	return out, req.Send()
705}
706
707const opCreateNotificationSubscription = "CreateNotificationSubscription"
708
709// CreateNotificationSubscriptionRequest generates a "aws/request.Request" representing the
710// client's request for the CreateNotificationSubscription operation. The "output" return
711// value will be populated with the request's response once the request completes
712// successfully.
713//
714// Use "Send" method on the returned Request to send the API call to the service.
715// the "output" return value is not valid until after Send returns without error.
716//
717// See CreateNotificationSubscription for more information on using the CreateNotificationSubscription
718// API call, and error handling.
719//
720// This method is useful when you want to inject custom logic or configuration
721// into the SDK's request lifecycle. Such as custom headers, or retry logic.
722//
723//
724//    // Example sending a request using the CreateNotificationSubscriptionRequest method.
725//    req, resp := client.CreateNotificationSubscriptionRequest(params)
726//
727//    err := req.Send()
728//    if err == nil { // resp is now filled
729//        fmt.Println(resp)
730//    }
731//
732// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/CreateNotificationSubscription
733func (c *WorkDocs) CreateNotificationSubscriptionRequest(input *CreateNotificationSubscriptionInput) (req *request.Request, output *CreateNotificationSubscriptionOutput) {
734	op := &request.Operation{
735		Name:       opCreateNotificationSubscription,
736		HTTPMethod: "POST",
737		HTTPPath:   "/api/v1/organizations/{OrganizationId}/subscriptions",
738	}
739
740	if input == nil {
741		input = &CreateNotificationSubscriptionInput{}
742	}
743
744	output = &CreateNotificationSubscriptionOutput{}
745	req = c.newRequest(op, input, output)
746	return
747}
748
749// CreateNotificationSubscription API operation for Amazon WorkDocs.
750//
751// Configure Amazon WorkDocs to use Amazon SNS notifications. The endpoint receives
752// a confirmation message, and must confirm the subscription.
753//
754// For more information, see Subscribe to Notifications (https://docs.aws.amazon.com/workdocs/latest/developerguide/subscribe-notifications.html)
755// in the Amazon WorkDocs Developer Guide.
756//
757// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
758// with awserr.Error's Code and Message methods to get detailed information about
759// the error.
760//
761// See the AWS API reference guide for Amazon WorkDocs's
762// API operation CreateNotificationSubscription for usage and error information.
763//
764// Returned Error Types:
765//   * UnauthorizedResourceAccessException
766//   The caller does not have access to perform the action on the resource.
767//
768//   * TooManySubscriptionsException
769//   You've reached the limit on the number of subscriptions for the WorkDocs
770//   instance.
771//
772//   * ServiceUnavailableException
773//   One or more of the dependencies is unavailable.
774//
775// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/CreateNotificationSubscription
776func (c *WorkDocs) CreateNotificationSubscription(input *CreateNotificationSubscriptionInput) (*CreateNotificationSubscriptionOutput, error) {
777	req, out := c.CreateNotificationSubscriptionRequest(input)
778	return out, req.Send()
779}
780
781// CreateNotificationSubscriptionWithContext is the same as CreateNotificationSubscription with the addition of
782// the ability to pass a context and additional request options.
783//
784// See CreateNotificationSubscription for details on how to use this API operation.
785//
786// The context must be non-nil and will be used for request cancellation. If
787// the context is nil a panic will occur. In the future the SDK may create
788// sub-contexts for http.Requests. See https://golang.org/pkg/context/
789// for more information on using Contexts.
790func (c *WorkDocs) CreateNotificationSubscriptionWithContext(ctx aws.Context, input *CreateNotificationSubscriptionInput, opts ...request.Option) (*CreateNotificationSubscriptionOutput, error) {
791	req, out := c.CreateNotificationSubscriptionRequest(input)
792	req.SetContext(ctx)
793	req.ApplyOptions(opts...)
794	return out, req.Send()
795}
796
797const opCreateUser = "CreateUser"
798
799// CreateUserRequest generates a "aws/request.Request" representing the
800// client's request for the CreateUser operation. The "output" return
801// value will be populated with the request's response once the request completes
802// successfully.
803//
804// Use "Send" method on the returned Request to send the API call to the service.
805// the "output" return value is not valid until after Send returns without error.
806//
807// See CreateUser for more information on using the CreateUser
808// API call, and error handling.
809//
810// This method is useful when you want to inject custom logic or configuration
811// into the SDK's request lifecycle. Such as custom headers, or retry logic.
812//
813//
814//    // Example sending a request using the CreateUserRequest method.
815//    req, resp := client.CreateUserRequest(params)
816//
817//    err := req.Send()
818//    if err == nil { // resp is now filled
819//        fmt.Println(resp)
820//    }
821//
822// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/CreateUser
823func (c *WorkDocs) CreateUserRequest(input *CreateUserInput) (req *request.Request, output *CreateUserOutput) {
824	op := &request.Operation{
825		Name:       opCreateUser,
826		HTTPMethod: "POST",
827		HTTPPath:   "/api/v1/users",
828	}
829
830	if input == nil {
831		input = &CreateUserInput{}
832	}
833
834	output = &CreateUserOutput{}
835	req = c.newRequest(op, input, output)
836	return
837}
838
839// CreateUser API operation for Amazon WorkDocs.
840//
841// Creates a user in a Simple AD or Microsoft AD directory. The status of a
842// newly created user is "ACTIVE". New users can access Amazon WorkDocs.
843//
844// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
845// with awserr.Error's Code and Message methods to get detailed information about
846// the error.
847//
848// See the AWS API reference guide for Amazon WorkDocs's
849// API operation CreateUser for usage and error information.
850//
851// Returned Error Types:
852//   * EntityAlreadyExistsException
853//   The resource already exists.
854//
855//   * UnauthorizedOperationException
856//   The operation is not permitted.
857//
858//   * UnauthorizedResourceAccessException
859//   The caller does not have access to perform the action on the resource.
860//
861//   * FailedDependencyException
862//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
863//   under the control of the organization is failing, such as a connected Active
864//   Directory.
865//
866//   * ServiceUnavailableException
867//   One or more of the dependencies is unavailable.
868//
869// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/CreateUser
870func (c *WorkDocs) CreateUser(input *CreateUserInput) (*CreateUserOutput, error) {
871	req, out := c.CreateUserRequest(input)
872	return out, req.Send()
873}
874
875// CreateUserWithContext is the same as CreateUser with the addition of
876// the ability to pass a context and additional request options.
877//
878// See CreateUser for details on how to use this API operation.
879//
880// The context must be non-nil and will be used for request cancellation. If
881// the context is nil a panic will occur. In the future the SDK may create
882// sub-contexts for http.Requests. See https://golang.org/pkg/context/
883// for more information on using Contexts.
884func (c *WorkDocs) CreateUserWithContext(ctx aws.Context, input *CreateUserInput, opts ...request.Option) (*CreateUserOutput, error) {
885	req, out := c.CreateUserRequest(input)
886	req.SetContext(ctx)
887	req.ApplyOptions(opts...)
888	return out, req.Send()
889}
890
891const opDeactivateUser = "DeactivateUser"
892
893// DeactivateUserRequest generates a "aws/request.Request" representing the
894// client's request for the DeactivateUser operation. The "output" return
895// value will be populated with the request's response once the request completes
896// successfully.
897//
898// Use "Send" method on the returned Request to send the API call to the service.
899// the "output" return value is not valid until after Send returns without error.
900//
901// See DeactivateUser for more information on using the DeactivateUser
902// API call, and error handling.
903//
904// This method is useful when you want to inject custom logic or configuration
905// into the SDK's request lifecycle. Such as custom headers, or retry logic.
906//
907//
908//    // Example sending a request using the DeactivateUserRequest method.
909//    req, resp := client.DeactivateUserRequest(params)
910//
911//    err := req.Send()
912//    if err == nil { // resp is now filled
913//        fmt.Println(resp)
914//    }
915//
916// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeactivateUser
917func (c *WorkDocs) DeactivateUserRequest(input *DeactivateUserInput) (req *request.Request, output *DeactivateUserOutput) {
918	op := &request.Operation{
919		Name:       opDeactivateUser,
920		HTTPMethod: "DELETE",
921		HTTPPath:   "/api/v1/users/{UserId}/activation",
922	}
923
924	if input == nil {
925		input = &DeactivateUserInput{}
926	}
927
928	output = &DeactivateUserOutput{}
929	req = c.newRequest(op, input, output)
930	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
931	return
932}
933
934// DeactivateUser API operation for Amazon WorkDocs.
935//
936// Deactivates the specified user, which revokes the user's access to Amazon
937// WorkDocs.
938//
939// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
940// with awserr.Error's Code and Message methods to get detailed information about
941// the error.
942//
943// See the AWS API reference guide for Amazon WorkDocs's
944// API operation DeactivateUser for usage and error information.
945//
946// Returned Error Types:
947//   * EntityNotExistsException
948//   The resource does not exist.
949//
950//   * UnauthorizedOperationException
951//   The operation is not permitted.
952//
953//   * UnauthorizedResourceAccessException
954//   The caller does not have access to perform the action on the resource.
955//
956//   * FailedDependencyException
957//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
958//   under the control of the organization is failing, such as a connected Active
959//   Directory.
960//
961//   * ServiceUnavailableException
962//   One or more of the dependencies is unavailable.
963//
964// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeactivateUser
965func (c *WorkDocs) DeactivateUser(input *DeactivateUserInput) (*DeactivateUserOutput, error) {
966	req, out := c.DeactivateUserRequest(input)
967	return out, req.Send()
968}
969
970// DeactivateUserWithContext is the same as DeactivateUser with the addition of
971// the ability to pass a context and additional request options.
972//
973// See DeactivateUser for details on how to use this API operation.
974//
975// The context must be non-nil and will be used for request cancellation. If
976// the context is nil a panic will occur. In the future the SDK may create
977// sub-contexts for http.Requests. See https://golang.org/pkg/context/
978// for more information on using Contexts.
979func (c *WorkDocs) DeactivateUserWithContext(ctx aws.Context, input *DeactivateUserInput, opts ...request.Option) (*DeactivateUserOutput, error) {
980	req, out := c.DeactivateUserRequest(input)
981	req.SetContext(ctx)
982	req.ApplyOptions(opts...)
983	return out, req.Send()
984}
985
986const opDeleteComment = "DeleteComment"
987
988// DeleteCommentRequest generates a "aws/request.Request" representing the
989// client's request for the DeleteComment operation. The "output" return
990// value will be populated with the request's response once the request completes
991// successfully.
992//
993// Use "Send" method on the returned Request to send the API call to the service.
994// the "output" return value is not valid until after Send returns without error.
995//
996// See DeleteComment for more information on using the DeleteComment
997// API call, and error handling.
998//
999// This method is useful when you want to inject custom logic or configuration
1000// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1001//
1002//
1003//    // Example sending a request using the DeleteCommentRequest method.
1004//    req, resp := client.DeleteCommentRequest(params)
1005//
1006//    err := req.Send()
1007//    if err == nil { // resp is now filled
1008//        fmt.Println(resp)
1009//    }
1010//
1011// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteComment
1012func (c *WorkDocs) DeleteCommentRequest(input *DeleteCommentInput) (req *request.Request, output *DeleteCommentOutput) {
1013	op := &request.Operation{
1014		Name:       opDeleteComment,
1015		HTTPMethod: "DELETE",
1016		HTTPPath:   "/api/v1/documents/{DocumentId}/versions/{VersionId}/comment/{CommentId}",
1017	}
1018
1019	if input == nil {
1020		input = &DeleteCommentInput{}
1021	}
1022
1023	output = &DeleteCommentOutput{}
1024	req = c.newRequest(op, input, output)
1025	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1026	return
1027}
1028
1029// DeleteComment API operation for Amazon WorkDocs.
1030//
1031// Deletes the specified comment from the document version.
1032//
1033// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1034// with awserr.Error's Code and Message methods to get detailed information about
1035// the error.
1036//
1037// See the AWS API reference guide for Amazon WorkDocs's
1038// API operation DeleteComment for usage and error information.
1039//
1040// Returned Error Types:
1041//   * EntityNotExistsException
1042//   The resource does not exist.
1043//
1044//   * ProhibitedStateException
1045//   The specified document version is not in the INITIALIZED state.
1046//
1047//   * UnauthorizedOperationException
1048//   The operation is not permitted.
1049//
1050//   * UnauthorizedResourceAccessException
1051//   The caller does not have access to perform the action on the resource.
1052//
1053//   * FailedDependencyException
1054//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
1055//   under the control of the organization is failing, such as a connected Active
1056//   Directory.
1057//
1058//   * ServiceUnavailableException
1059//   One or more of the dependencies is unavailable.
1060//
1061//   * DocumentLockedForCommentsException
1062//   This exception is thrown when the document is locked for comments and user
1063//   tries to create or delete a comment on that document.
1064//
1065// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteComment
1066func (c *WorkDocs) DeleteComment(input *DeleteCommentInput) (*DeleteCommentOutput, error) {
1067	req, out := c.DeleteCommentRequest(input)
1068	return out, req.Send()
1069}
1070
1071// DeleteCommentWithContext is the same as DeleteComment with the addition of
1072// the ability to pass a context and additional request options.
1073//
1074// See DeleteComment for details on how to use this API operation.
1075//
1076// The context must be non-nil and will be used for request cancellation. If
1077// the context is nil a panic will occur. In the future the SDK may create
1078// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1079// for more information on using Contexts.
1080func (c *WorkDocs) DeleteCommentWithContext(ctx aws.Context, input *DeleteCommentInput, opts ...request.Option) (*DeleteCommentOutput, error) {
1081	req, out := c.DeleteCommentRequest(input)
1082	req.SetContext(ctx)
1083	req.ApplyOptions(opts...)
1084	return out, req.Send()
1085}
1086
1087const opDeleteCustomMetadata = "DeleteCustomMetadata"
1088
1089// DeleteCustomMetadataRequest generates a "aws/request.Request" representing the
1090// client's request for the DeleteCustomMetadata operation. The "output" return
1091// value will be populated with the request's response once the request completes
1092// successfully.
1093//
1094// Use "Send" method on the returned Request to send the API call to the service.
1095// the "output" return value is not valid until after Send returns without error.
1096//
1097// See DeleteCustomMetadata for more information on using the DeleteCustomMetadata
1098// API call, and error handling.
1099//
1100// This method is useful when you want to inject custom logic or configuration
1101// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1102//
1103//
1104//    // Example sending a request using the DeleteCustomMetadataRequest method.
1105//    req, resp := client.DeleteCustomMetadataRequest(params)
1106//
1107//    err := req.Send()
1108//    if err == nil { // resp is now filled
1109//        fmt.Println(resp)
1110//    }
1111//
1112// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteCustomMetadata
1113func (c *WorkDocs) DeleteCustomMetadataRequest(input *DeleteCustomMetadataInput) (req *request.Request, output *DeleteCustomMetadataOutput) {
1114	op := &request.Operation{
1115		Name:       opDeleteCustomMetadata,
1116		HTTPMethod: "DELETE",
1117		HTTPPath:   "/api/v1/resources/{ResourceId}/customMetadata",
1118	}
1119
1120	if input == nil {
1121		input = &DeleteCustomMetadataInput{}
1122	}
1123
1124	output = &DeleteCustomMetadataOutput{}
1125	req = c.newRequest(op, input, output)
1126	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1127	return
1128}
1129
1130// DeleteCustomMetadata API operation for Amazon WorkDocs.
1131//
1132// Deletes custom metadata from the specified resource.
1133//
1134// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1135// with awserr.Error's Code and Message methods to get detailed information about
1136// the error.
1137//
1138// See the AWS API reference guide for Amazon WorkDocs's
1139// API operation DeleteCustomMetadata for usage and error information.
1140//
1141// Returned Error Types:
1142//   * EntityNotExistsException
1143//   The resource does not exist.
1144//
1145//   * UnauthorizedOperationException
1146//   The operation is not permitted.
1147//
1148//   * UnauthorizedResourceAccessException
1149//   The caller does not have access to perform the action on the resource.
1150//
1151//   * ProhibitedStateException
1152//   The specified document version is not in the INITIALIZED state.
1153//
1154//   * FailedDependencyException
1155//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
1156//   under the control of the organization is failing, such as a connected Active
1157//   Directory.
1158//
1159//   * ServiceUnavailableException
1160//   One or more of the dependencies is unavailable.
1161//
1162// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteCustomMetadata
1163func (c *WorkDocs) DeleteCustomMetadata(input *DeleteCustomMetadataInput) (*DeleteCustomMetadataOutput, error) {
1164	req, out := c.DeleteCustomMetadataRequest(input)
1165	return out, req.Send()
1166}
1167
1168// DeleteCustomMetadataWithContext is the same as DeleteCustomMetadata with the addition of
1169// the ability to pass a context and additional request options.
1170//
1171// See DeleteCustomMetadata for details on how to use this API operation.
1172//
1173// The context must be non-nil and will be used for request cancellation. If
1174// the context is nil a panic will occur. In the future the SDK may create
1175// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1176// for more information on using Contexts.
1177func (c *WorkDocs) DeleteCustomMetadataWithContext(ctx aws.Context, input *DeleteCustomMetadataInput, opts ...request.Option) (*DeleteCustomMetadataOutput, error) {
1178	req, out := c.DeleteCustomMetadataRequest(input)
1179	req.SetContext(ctx)
1180	req.ApplyOptions(opts...)
1181	return out, req.Send()
1182}
1183
1184const opDeleteDocument = "DeleteDocument"
1185
1186// DeleteDocumentRequest generates a "aws/request.Request" representing the
1187// client's request for the DeleteDocument operation. The "output" return
1188// value will be populated with the request's response once the request completes
1189// successfully.
1190//
1191// Use "Send" method on the returned Request to send the API call to the service.
1192// the "output" return value is not valid until after Send returns without error.
1193//
1194// See DeleteDocument for more information on using the DeleteDocument
1195// API call, and error handling.
1196//
1197// This method is useful when you want to inject custom logic or configuration
1198// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1199//
1200//
1201//    // Example sending a request using the DeleteDocumentRequest method.
1202//    req, resp := client.DeleteDocumentRequest(params)
1203//
1204//    err := req.Send()
1205//    if err == nil { // resp is now filled
1206//        fmt.Println(resp)
1207//    }
1208//
1209// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteDocument
1210func (c *WorkDocs) DeleteDocumentRequest(input *DeleteDocumentInput) (req *request.Request, output *DeleteDocumentOutput) {
1211	op := &request.Operation{
1212		Name:       opDeleteDocument,
1213		HTTPMethod: "DELETE",
1214		HTTPPath:   "/api/v1/documents/{DocumentId}",
1215	}
1216
1217	if input == nil {
1218		input = &DeleteDocumentInput{}
1219	}
1220
1221	output = &DeleteDocumentOutput{}
1222	req = c.newRequest(op, input, output)
1223	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1224	return
1225}
1226
1227// DeleteDocument API operation for Amazon WorkDocs.
1228//
1229// Permanently deletes the specified document and its associated metadata.
1230//
1231// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1232// with awserr.Error's Code and Message methods to get detailed information about
1233// the error.
1234//
1235// See the AWS API reference guide for Amazon WorkDocs's
1236// API operation DeleteDocument for usage and error information.
1237//
1238// Returned Error Types:
1239//   * EntityNotExistsException
1240//   The resource does not exist.
1241//
1242//   * ProhibitedStateException
1243//   The specified document version is not in the INITIALIZED state.
1244//
1245//   * ConflictingOperationException
1246//   Another operation is in progress on the resource that conflicts with the
1247//   current operation.
1248//
1249//   * ConcurrentModificationException
1250//   The resource hierarchy is changing.
1251//
1252//   * UnauthorizedOperationException
1253//   The operation is not permitted.
1254//
1255//   * UnauthorizedResourceAccessException
1256//   The caller does not have access to perform the action on the resource.
1257//
1258//   * FailedDependencyException
1259//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
1260//   under the control of the organization is failing, such as a connected Active
1261//   Directory.
1262//
1263//   * ServiceUnavailableException
1264//   One or more of the dependencies is unavailable.
1265//
1266// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteDocument
1267func (c *WorkDocs) DeleteDocument(input *DeleteDocumentInput) (*DeleteDocumentOutput, error) {
1268	req, out := c.DeleteDocumentRequest(input)
1269	return out, req.Send()
1270}
1271
1272// DeleteDocumentWithContext is the same as DeleteDocument with the addition of
1273// the ability to pass a context and additional request options.
1274//
1275// See DeleteDocument for details on how to use this API operation.
1276//
1277// The context must be non-nil and will be used for request cancellation. If
1278// the context is nil a panic will occur. In the future the SDK may create
1279// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1280// for more information on using Contexts.
1281func (c *WorkDocs) DeleteDocumentWithContext(ctx aws.Context, input *DeleteDocumentInput, opts ...request.Option) (*DeleteDocumentOutput, error) {
1282	req, out := c.DeleteDocumentRequest(input)
1283	req.SetContext(ctx)
1284	req.ApplyOptions(opts...)
1285	return out, req.Send()
1286}
1287
1288const opDeleteFolder = "DeleteFolder"
1289
1290// DeleteFolderRequest generates a "aws/request.Request" representing the
1291// client's request for the DeleteFolder operation. The "output" return
1292// value will be populated with the request's response once the request completes
1293// successfully.
1294//
1295// Use "Send" method on the returned Request to send the API call to the service.
1296// the "output" return value is not valid until after Send returns without error.
1297//
1298// See DeleteFolder for more information on using the DeleteFolder
1299// API call, and error handling.
1300//
1301// This method is useful when you want to inject custom logic or configuration
1302// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1303//
1304//
1305//    // Example sending a request using the DeleteFolderRequest method.
1306//    req, resp := client.DeleteFolderRequest(params)
1307//
1308//    err := req.Send()
1309//    if err == nil { // resp is now filled
1310//        fmt.Println(resp)
1311//    }
1312//
1313// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteFolder
1314func (c *WorkDocs) DeleteFolderRequest(input *DeleteFolderInput) (req *request.Request, output *DeleteFolderOutput) {
1315	op := &request.Operation{
1316		Name:       opDeleteFolder,
1317		HTTPMethod: "DELETE",
1318		HTTPPath:   "/api/v1/folders/{FolderId}",
1319	}
1320
1321	if input == nil {
1322		input = &DeleteFolderInput{}
1323	}
1324
1325	output = &DeleteFolderOutput{}
1326	req = c.newRequest(op, input, output)
1327	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1328	return
1329}
1330
1331// DeleteFolder API operation for Amazon WorkDocs.
1332//
1333// Permanently deletes the specified folder and its contents.
1334//
1335// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1336// with awserr.Error's Code and Message methods to get detailed information about
1337// the error.
1338//
1339// See the AWS API reference guide for Amazon WorkDocs's
1340// API operation DeleteFolder for usage and error information.
1341//
1342// Returned Error Types:
1343//   * EntityNotExistsException
1344//   The resource does not exist.
1345//
1346//   * ProhibitedStateException
1347//   The specified document version is not in the INITIALIZED state.
1348//
1349//   * ConflictingOperationException
1350//   Another operation is in progress on the resource that conflicts with the
1351//   current operation.
1352//
1353//   * ConcurrentModificationException
1354//   The resource hierarchy is changing.
1355//
1356//   * UnauthorizedOperationException
1357//   The operation is not permitted.
1358//
1359//   * UnauthorizedResourceAccessException
1360//   The caller does not have access to perform the action on the resource.
1361//
1362//   * FailedDependencyException
1363//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
1364//   under the control of the organization is failing, such as a connected Active
1365//   Directory.
1366//
1367//   * ServiceUnavailableException
1368//   One or more of the dependencies is unavailable.
1369//
1370// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteFolder
1371func (c *WorkDocs) DeleteFolder(input *DeleteFolderInput) (*DeleteFolderOutput, error) {
1372	req, out := c.DeleteFolderRequest(input)
1373	return out, req.Send()
1374}
1375
1376// DeleteFolderWithContext is the same as DeleteFolder with the addition of
1377// the ability to pass a context and additional request options.
1378//
1379// See DeleteFolder for details on how to use this API operation.
1380//
1381// The context must be non-nil and will be used for request cancellation. If
1382// the context is nil a panic will occur. In the future the SDK may create
1383// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1384// for more information on using Contexts.
1385func (c *WorkDocs) DeleteFolderWithContext(ctx aws.Context, input *DeleteFolderInput, opts ...request.Option) (*DeleteFolderOutput, error) {
1386	req, out := c.DeleteFolderRequest(input)
1387	req.SetContext(ctx)
1388	req.ApplyOptions(opts...)
1389	return out, req.Send()
1390}
1391
1392const opDeleteFolderContents = "DeleteFolderContents"
1393
1394// DeleteFolderContentsRequest generates a "aws/request.Request" representing the
1395// client's request for the DeleteFolderContents operation. The "output" return
1396// value will be populated with the request's response once the request completes
1397// successfully.
1398//
1399// Use "Send" method on the returned Request to send the API call to the service.
1400// the "output" return value is not valid until after Send returns without error.
1401//
1402// See DeleteFolderContents for more information on using the DeleteFolderContents
1403// API call, and error handling.
1404//
1405// This method is useful when you want to inject custom logic or configuration
1406// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1407//
1408//
1409//    // Example sending a request using the DeleteFolderContentsRequest method.
1410//    req, resp := client.DeleteFolderContentsRequest(params)
1411//
1412//    err := req.Send()
1413//    if err == nil { // resp is now filled
1414//        fmt.Println(resp)
1415//    }
1416//
1417// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteFolderContents
1418func (c *WorkDocs) DeleteFolderContentsRequest(input *DeleteFolderContentsInput) (req *request.Request, output *DeleteFolderContentsOutput) {
1419	op := &request.Operation{
1420		Name:       opDeleteFolderContents,
1421		HTTPMethod: "DELETE",
1422		HTTPPath:   "/api/v1/folders/{FolderId}/contents",
1423	}
1424
1425	if input == nil {
1426		input = &DeleteFolderContentsInput{}
1427	}
1428
1429	output = &DeleteFolderContentsOutput{}
1430	req = c.newRequest(op, input, output)
1431	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1432	return
1433}
1434
1435// DeleteFolderContents API operation for Amazon WorkDocs.
1436//
1437// Deletes the contents of the specified folder.
1438//
1439// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1440// with awserr.Error's Code and Message methods to get detailed information about
1441// the error.
1442//
1443// See the AWS API reference guide for Amazon WorkDocs's
1444// API operation DeleteFolderContents for usage and error information.
1445//
1446// Returned Error Types:
1447//   * EntityNotExistsException
1448//   The resource does not exist.
1449//
1450//   * ProhibitedStateException
1451//   The specified document version is not in the INITIALIZED state.
1452//
1453//   * ConflictingOperationException
1454//   Another operation is in progress on the resource that conflicts with the
1455//   current operation.
1456//
1457//   * UnauthorizedOperationException
1458//   The operation is not permitted.
1459//
1460//   * UnauthorizedResourceAccessException
1461//   The caller does not have access to perform the action on the resource.
1462//
1463//   * FailedDependencyException
1464//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
1465//   under the control of the organization is failing, such as a connected Active
1466//   Directory.
1467//
1468//   * ServiceUnavailableException
1469//   One or more of the dependencies is unavailable.
1470//
1471// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteFolderContents
1472func (c *WorkDocs) DeleteFolderContents(input *DeleteFolderContentsInput) (*DeleteFolderContentsOutput, error) {
1473	req, out := c.DeleteFolderContentsRequest(input)
1474	return out, req.Send()
1475}
1476
1477// DeleteFolderContentsWithContext is the same as DeleteFolderContents with the addition of
1478// the ability to pass a context and additional request options.
1479//
1480// See DeleteFolderContents for details on how to use this API operation.
1481//
1482// The context must be non-nil and will be used for request cancellation. If
1483// the context is nil a panic will occur. In the future the SDK may create
1484// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1485// for more information on using Contexts.
1486func (c *WorkDocs) DeleteFolderContentsWithContext(ctx aws.Context, input *DeleteFolderContentsInput, opts ...request.Option) (*DeleteFolderContentsOutput, error) {
1487	req, out := c.DeleteFolderContentsRequest(input)
1488	req.SetContext(ctx)
1489	req.ApplyOptions(opts...)
1490	return out, req.Send()
1491}
1492
1493const opDeleteLabels = "DeleteLabels"
1494
1495// DeleteLabelsRequest generates a "aws/request.Request" representing the
1496// client's request for the DeleteLabels operation. The "output" return
1497// value will be populated with the request's response once the request completes
1498// successfully.
1499//
1500// Use "Send" method on the returned Request to send the API call to the service.
1501// the "output" return value is not valid until after Send returns without error.
1502//
1503// See DeleteLabels for more information on using the DeleteLabels
1504// API call, and error handling.
1505//
1506// This method is useful when you want to inject custom logic or configuration
1507// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1508//
1509//
1510//    // Example sending a request using the DeleteLabelsRequest method.
1511//    req, resp := client.DeleteLabelsRequest(params)
1512//
1513//    err := req.Send()
1514//    if err == nil { // resp is now filled
1515//        fmt.Println(resp)
1516//    }
1517//
1518// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteLabels
1519func (c *WorkDocs) DeleteLabelsRequest(input *DeleteLabelsInput) (req *request.Request, output *DeleteLabelsOutput) {
1520	op := &request.Operation{
1521		Name:       opDeleteLabels,
1522		HTTPMethod: "DELETE",
1523		HTTPPath:   "/api/v1/resources/{ResourceId}/labels",
1524	}
1525
1526	if input == nil {
1527		input = &DeleteLabelsInput{}
1528	}
1529
1530	output = &DeleteLabelsOutput{}
1531	req = c.newRequest(op, input, output)
1532	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1533	return
1534}
1535
1536// DeleteLabels API operation for Amazon WorkDocs.
1537//
1538// Deletes the specified list of labels from a resource.
1539//
1540// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1541// with awserr.Error's Code and Message methods to get detailed information about
1542// the error.
1543//
1544// See the AWS API reference guide for Amazon WorkDocs's
1545// API operation DeleteLabels for usage and error information.
1546//
1547// Returned Error Types:
1548//   * EntityNotExistsException
1549//   The resource does not exist.
1550//
1551//   * UnauthorizedOperationException
1552//   The operation is not permitted.
1553//
1554//   * UnauthorizedResourceAccessException
1555//   The caller does not have access to perform the action on the resource.
1556//
1557//   * FailedDependencyException
1558//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
1559//   under the control of the organization is failing, such as a connected Active
1560//   Directory.
1561//
1562//   * ServiceUnavailableException
1563//   One or more of the dependencies is unavailable.
1564//
1565// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteLabels
1566func (c *WorkDocs) DeleteLabels(input *DeleteLabelsInput) (*DeleteLabelsOutput, error) {
1567	req, out := c.DeleteLabelsRequest(input)
1568	return out, req.Send()
1569}
1570
1571// DeleteLabelsWithContext is the same as DeleteLabels with the addition of
1572// the ability to pass a context and additional request options.
1573//
1574// See DeleteLabels for details on how to use this API operation.
1575//
1576// The context must be non-nil and will be used for request cancellation. If
1577// the context is nil a panic will occur. In the future the SDK may create
1578// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1579// for more information on using Contexts.
1580func (c *WorkDocs) DeleteLabelsWithContext(ctx aws.Context, input *DeleteLabelsInput, opts ...request.Option) (*DeleteLabelsOutput, error) {
1581	req, out := c.DeleteLabelsRequest(input)
1582	req.SetContext(ctx)
1583	req.ApplyOptions(opts...)
1584	return out, req.Send()
1585}
1586
1587const opDeleteNotificationSubscription = "DeleteNotificationSubscription"
1588
1589// DeleteNotificationSubscriptionRequest generates a "aws/request.Request" representing the
1590// client's request for the DeleteNotificationSubscription operation. The "output" return
1591// value will be populated with the request's response once the request completes
1592// successfully.
1593//
1594// Use "Send" method on the returned Request to send the API call to the service.
1595// the "output" return value is not valid until after Send returns without error.
1596//
1597// See DeleteNotificationSubscription for more information on using the DeleteNotificationSubscription
1598// API call, and error handling.
1599//
1600// This method is useful when you want to inject custom logic or configuration
1601// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1602//
1603//
1604//    // Example sending a request using the DeleteNotificationSubscriptionRequest method.
1605//    req, resp := client.DeleteNotificationSubscriptionRequest(params)
1606//
1607//    err := req.Send()
1608//    if err == nil { // resp is now filled
1609//        fmt.Println(resp)
1610//    }
1611//
1612// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteNotificationSubscription
1613func (c *WorkDocs) DeleteNotificationSubscriptionRequest(input *DeleteNotificationSubscriptionInput) (req *request.Request, output *DeleteNotificationSubscriptionOutput) {
1614	op := &request.Operation{
1615		Name:       opDeleteNotificationSubscription,
1616		HTTPMethod: "DELETE",
1617		HTTPPath:   "/api/v1/organizations/{OrganizationId}/subscriptions/{SubscriptionId}",
1618	}
1619
1620	if input == nil {
1621		input = &DeleteNotificationSubscriptionInput{}
1622	}
1623
1624	output = &DeleteNotificationSubscriptionOutput{}
1625	req = c.newRequest(op, input, output)
1626	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1627	return
1628}
1629
1630// DeleteNotificationSubscription API operation for Amazon WorkDocs.
1631//
1632// Deletes the specified subscription from the specified organization.
1633//
1634// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1635// with awserr.Error's Code and Message methods to get detailed information about
1636// the error.
1637//
1638// See the AWS API reference guide for Amazon WorkDocs's
1639// API operation DeleteNotificationSubscription for usage and error information.
1640//
1641// Returned Error Types:
1642//   * UnauthorizedResourceAccessException
1643//   The caller does not have access to perform the action on the resource.
1644//
1645//   * EntityNotExistsException
1646//   The resource does not exist.
1647//
1648//   * ServiceUnavailableException
1649//   One or more of the dependencies is unavailable.
1650//
1651//   * ProhibitedStateException
1652//   The specified document version is not in the INITIALIZED state.
1653//
1654// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteNotificationSubscription
1655func (c *WorkDocs) DeleteNotificationSubscription(input *DeleteNotificationSubscriptionInput) (*DeleteNotificationSubscriptionOutput, error) {
1656	req, out := c.DeleteNotificationSubscriptionRequest(input)
1657	return out, req.Send()
1658}
1659
1660// DeleteNotificationSubscriptionWithContext is the same as DeleteNotificationSubscription with the addition of
1661// the ability to pass a context and additional request options.
1662//
1663// See DeleteNotificationSubscription for details on how to use this API operation.
1664//
1665// The context must be non-nil and will be used for request cancellation. If
1666// the context is nil a panic will occur. In the future the SDK may create
1667// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1668// for more information on using Contexts.
1669func (c *WorkDocs) DeleteNotificationSubscriptionWithContext(ctx aws.Context, input *DeleteNotificationSubscriptionInput, opts ...request.Option) (*DeleteNotificationSubscriptionOutput, error) {
1670	req, out := c.DeleteNotificationSubscriptionRequest(input)
1671	req.SetContext(ctx)
1672	req.ApplyOptions(opts...)
1673	return out, req.Send()
1674}
1675
1676const opDeleteUser = "DeleteUser"
1677
1678// DeleteUserRequest generates a "aws/request.Request" representing the
1679// client's request for the DeleteUser operation. The "output" return
1680// value will be populated with the request's response once the request completes
1681// successfully.
1682//
1683// Use "Send" method on the returned Request to send the API call to the service.
1684// the "output" return value is not valid until after Send returns without error.
1685//
1686// See DeleteUser for more information on using the DeleteUser
1687// API call, and error handling.
1688//
1689// This method is useful when you want to inject custom logic or configuration
1690// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1691//
1692//
1693//    // Example sending a request using the DeleteUserRequest method.
1694//    req, resp := client.DeleteUserRequest(params)
1695//
1696//    err := req.Send()
1697//    if err == nil { // resp is now filled
1698//        fmt.Println(resp)
1699//    }
1700//
1701// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteUser
1702func (c *WorkDocs) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) {
1703	op := &request.Operation{
1704		Name:       opDeleteUser,
1705		HTTPMethod: "DELETE",
1706		HTTPPath:   "/api/v1/users/{UserId}",
1707	}
1708
1709	if input == nil {
1710		input = &DeleteUserInput{}
1711	}
1712
1713	output = &DeleteUserOutput{}
1714	req = c.newRequest(op, input, output)
1715	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1716	return
1717}
1718
1719// DeleteUser API operation for Amazon WorkDocs.
1720//
1721// Deletes the specified user from a Simple AD or Microsoft AD directory.
1722//
1723// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1724// with awserr.Error's Code and Message methods to get detailed information about
1725// the error.
1726//
1727// See the AWS API reference guide for Amazon WorkDocs's
1728// API operation DeleteUser for usage and error information.
1729//
1730// Returned Error Types:
1731//   * EntityNotExistsException
1732//   The resource does not exist.
1733//
1734//   * UnauthorizedOperationException
1735//   The operation is not permitted.
1736//
1737//   * UnauthorizedResourceAccessException
1738//   The caller does not have access to perform the action on the resource.
1739//
1740//   * FailedDependencyException
1741//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
1742//   under the control of the organization is failing, such as a connected Active
1743//   Directory.
1744//
1745//   * ServiceUnavailableException
1746//   One or more of the dependencies is unavailable.
1747//
1748// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteUser
1749func (c *WorkDocs) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) {
1750	req, out := c.DeleteUserRequest(input)
1751	return out, req.Send()
1752}
1753
1754// DeleteUserWithContext is the same as DeleteUser with the addition of
1755// the ability to pass a context and additional request options.
1756//
1757// See DeleteUser for details on how to use this API operation.
1758//
1759// The context must be non-nil and will be used for request cancellation. If
1760// the context is nil a panic will occur. In the future the SDK may create
1761// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1762// for more information on using Contexts.
1763func (c *WorkDocs) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput, opts ...request.Option) (*DeleteUserOutput, error) {
1764	req, out := c.DeleteUserRequest(input)
1765	req.SetContext(ctx)
1766	req.ApplyOptions(opts...)
1767	return out, req.Send()
1768}
1769
1770const opDescribeActivities = "DescribeActivities"
1771
1772// DescribeActivitiesRequest generates a "aws/request.Request" representing the
1773// client's request for the DescribeActivities operation. The "output" return
1774// value will be populated with the request's response once the request completes
1775// successfully.
1776//
1777// Use "Send" method on the returned Request to send the API call to the service.
1778// the "output" return value is not valid until after Send returns without error.
1779//
1780// See DescribeActivities for more information on using the DescribeActivities
1781// API call, and error handling.
1782//
1783// This method is useful when you want to inject custom logic or configuration
1784// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1785//
1786//
1787//    // Example sending a request using the DescribeActivitiesRequest method.
1788//    req, resp := client.DescribeActivitiesRequest(params)
1789//
1790//    err := req.Send()
1791//    if err == nil { // resp is now filled
1792//        fmt.Println(resp)
1793//    }
1794//
1795// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeActivities
1796func (c *WorkDocs) DescribeActivitiesRequest(input *DescribeActivitiesInput) (req *request.Request, output *DescribeActivitiesOutput) {
1797	op := &request.Operation{
1798		Name:       opDescribeActivities,
1799		HTTPMethod: "GET",
1800		HTTPPath:   "/api/v1/activities",
1801	}
1802
1803	if input == nil {
1804		input = &DescribeActivitiesInput{}
1805	}
1806
1807	output = &DescribeActivitiesOutput{}
1808	req = c.newRequest(op, input, output)
1809	return
1810}
1811
1812// DescribeActivities API operation for Amazon WorkDocs.
1813//
1814// Describes the user activities in a specified time period.
1815//
1816// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1817// with awserr.Error's Code and Message methods to get detailed information about
1818// the error.
1819//
1820// See the AWS API reference guide for Amazon WorkDocs's
1821// API operation DescribeActivities for usage and error information.
1822//
1823// Returned Error Types:
1824//   * UnauthorizedOperationException
1825//   The operation is not permitted.
1826//
1827//   * UnauthorizedResourceAccessException
1828//   The caller does not have access to perform the action on the resource.
1829//
1830//   * InvalidArgumentException
1831//   The pagination marker or limit fields are not valid.
1832//
1833//   * FailedDependencyException
1834//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
1835//   under the control of the organization is failing, such as a connected Active
1836//   Directory.
1837//
1838//   * ServiceUnavailableException
1839//   One or more of the dependencies is unavailable.
1840//
1841// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeActivities
1842func (c *WorkDocs) DescribeActivities(input *DescribeActivitiesInput) (*DescribeActivitiesOutput, error) {
1843	req, out := c.DescribeActivitiesRequest(input)
1844	return out, req.Send()
1845}
1846
1847// DescribeActivitiesWithContext is the same as DescribeActivities with the addition of
1848// the ability to pass a context and additional request options.
1849//
1850// See DescribeActivities for details on how to use this API operation.
1851//
1852// The context must be non-nil and will be used for request cancellation. If
1853// the context is nil a panic will occur. In the future the SDK may create
1854// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1855// for more information on using Contexts.
1856func (c *WorkDocs) DescribeActivitiesWithContext(ctx aws.Context, input *DescribeActivitiesInput, opts ...request.Option) (*DescribeActivitiesOutput, error) {
1857	req, out := c.DescribeActivitiesRequest(input)
1858	req.SetContext(ctx)
1859	req.ApplyOptions(opts...)
1860	return out, req.Send()
1861}
1862
1863const opDescribeComments = "DescribeComments"
1864
1865// DescribeCommentsRequest generates a "aws/request.Request" representing the
1866// client's request for the DescribeComments operation. The "output" return
1867// value will be populated with the request's response once the request completes
1868// successfully.
1869//
1870// Use "Send" method on the returned Request to send the API call to the service.
1871// the "output" return value is not valid until after Send returns without error.
1872//
1873// See DescribeComments for more information on using the DescribeComments
1874// API call, and error handling.
1875//
1876// This method is useful when you want to inject custom logic or configuration
1877// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1878//
1879//
1880//    // Example sending a request using the DescribeCommentsRequest method.
1881//    req, resp := client.DescribeCommentsRequest(params)
1882//
1883//    err := req.Send()
1884//    if err == nil { // resp is now filled
1885//        fmt.Println(resp)
1886//    }
1887//
1888// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeComments
1889func (c *WorkDocs) DescribeCommentsRequest(input *DescribeCommentsInput) (req *request.Request, output *DescribeCommentsOutput) {
1890	op := &request.Operation{
1891		Name:       opDescribeComments,
1892		HTTPMethod: "GET",
1893		HTTPPath:   "/api/v1/documents/{DocumentId}/versions/{VersionId}/comments",
1894	}
1895
1896	if input == nil {
1897		input = &DescribeCommentsInput{}
1898	}
1899
1900	output = &DescribeCommentsOutput{}
1901	req = c.newRequest(op, input, output)
1902	return
1903}
1904
1905// DescribeComments API operation for Amazon WorkDocs.
1906//
1907// List all the comments for the specified document version.
1908//
1909// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1910// with awserr.Error's Code and Message methods to get detailed information about
1911// the error.
1912//
1913// See the AWS API reference guide for Amazon WorkDocs's
1914// API operation DescribeComments for usage and error information.
1915//
1916// Returned Error Types:
1917//   * EntityNotExistsException
1918//   The resource does not exist.
1919//
1920//   * ProhibitedStateException
1921//   The specified document version is not in the INITIALIZED state.
1922//
1923//   * UnauthorizedOperationException
1924//   The operation is not permitted.
1925//
1926//   * UnauthorizedResourceAccessException
1927//   The caller does not have access to perform the action on the resource.
1928//
1929//   * FailedDependencyException
1930//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
1931//   under the control of the organization is failing, such as a connected Active
1932//   Directory.
1933//
1934//   * ServiceUnavailableException
1935//   One or more of the dependencies is unavailable.
1936//
1937// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeComments
1938func (c *WorkDocs) DescribeComments(input *DescribeCommentsInput) (*DescribeCommentsOutput, error) {
1939	req, out := c.DescribeCommentsRequest(input)
1940	return out, req.Send()
1941}
1942
1943// DescribeCommentsWithContext is the same as DescribeComments with the addition of
1944// the ability to pass a context and additional request options.
1945//
1946// See DescribeComments for details on how to use this API operation.
1947//
1948// The context must be non-nil and will be used for request cancellation. If
1949// the context is nil a panic will occur. In the future the SDK may create
1950// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1951// for more information on using Contexts.
1952func (c *WorkDocs) DescribeCommentsWithContext(ctx aws.Context, input *DescribeCommentsInput, opts ...request.Option) (*DescribeCommentsOutput, error) {
1953	req, out := c.DescribeCommentsRequest(input)
1954	req.SetContext(ctx)
1955	req.ApplyOptions(opts...)
1956	return out, req.Send()
1957}
1958
1959const opDescribeDocumentVersions = "DescribeDocumentVersions"
1960
1961// DescribeDocumentVersionsRequest generates a "aws/request.Request" representing the
1962// client's request for the DescribeDocumentVersions operation. The "output" return
1963// value will be populated with the request's response once the request completes
1964// successfully.
1965//
1966// Use "Send" method on the returned Request to send the API call to the service.
1967// the "output" return value is not valid until after Send returns without error.
1968//
1969// See DescribeDocumentVersions for more information on using the DescribeDocumentVersions
1970// API call, and error handling.
1971//
1972// This method is useful when you want to inject custom logic or configuration
1973// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1974//
1975//
1976//    // Example sending a request using the DescribeDocumentVersionsRequest method.
1977//    req, resp := client.DescribeDocumentVersionsRequest(params)
1978//
1979//    err := req.Send()
1980//    if err == nil { // resp is now filled
1981//        fmt.Println(resp)
1982//    }
1983//
1984// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeDocumentVersions
1985func (c *WorkDocs) DescribeDocumentVersionsRequest(input *DescribeDocumentVersionsInput) (req *request.Request, output *DescribeDocumentVersionsOutput) {
1986	op := &request.Operation{
1987		Name:       opDescribeDocumentVersions,
1988		HTTPMethod: "GET",
1989		HTTPPath:   "/api/v1/documents/{DocumentId}/versions",
1990		Paginator: &request.Paginator{
1991			InputTokens:     []string{"Marker"},
1992			OutputTokens:    []string{"Marker"},
1993			LimitToken:      "Limit",
1994			TruncationToken: "",
1995		},
1996	}
1997
1998	if input == nil {
1999		input = &DescribeDocumentVersionsInput{}
2000	}
2001
2002	output = &DescribeDocumentVersionsOutput{}
2003	req = c.newRequest(op, input, output)
2004	return
2005}
2006
2007// DescribeDocumentVersions API operation for Amazon WorkDocs.
2008//
2009// Retrieves the document versions for the specified document.
2010//
2011// By default, only active versions are returned.
2012//
2013// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2014// with awserr.Error's Code and Message methods to get detailed information about
2015// the error.
2016//
2017// See the AWS API reference guide for Amazon WorkDocs's
2018// API operation DescribeDocumentVersions for usage and error information.
2019//
2020// Returned Error Types:
2021//   * EntityNotExistsException
2022//   The resource does not exist.
2023//
2024//   * UnauthorizedOperationException
2025//   The operation is not permitted.
2026//
2027//   * UnauthorizedResourceAccessException
2028//   The caller does not have access to perform the action on the resource.
2029//
2030//   * InvalidArgumentException
2031//   The pagination marker or limit fields are not valid.
2032//
2033//   * FailedDependencyException
2034//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
2035//   under the control of the organization is failing, such as a connected Active
2036//   Directory.
2037//
2038//   * ServiceUnavailableException
2039//   One or more of the dependencies is unavailable.
2040//
2041//   * ProhibitedStateException
2042//   The specified document version is not in the INITIALIZED state.
2043//
2044// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeDocumentVersions
2045func (c *WorkDocs) DescribeDocumentVersions(input *DescribeDocumentVersionsInput) (*DescribeDocumentVersionsOutput, error) {
2046	req, out := c.DescribeDocumentVersionsRequest(input)
2047	return out, req.Send()
2048}
2049
2050// DescribeDocumentVersionsWithContext is the same as DescribeDocumentVersions with the addition of
2051// the ability to pass a context and additional request options.
2052//
2053// See DescribeDocumentVersions for details on how to use this API operation.
2054//
2055// The context must be non-nil and will be used for request cancellation. If
2056// the context is nil a panic will occur. In the future the SDK may create
2057// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2058// for more information on using Contexts.
2059func (c *WorkDocs) DescribeDocumentVersionsWithContext(ctx aws.Context, input *DescribeDocumentVersionsInput, opts ...request.Option) (*DescribeDocumentVersionsOutput, error) {
2060	req, out := c.DescribeDocumentVersionsRequest(input)
2061	req.SetContext(ctx)
2062	req.ApplyOptions(opts...)
2063	return out, req.Send()
2064}
2065
2066// DescribeDocumentVersionsPages iterates over the pages of a DescribeDocumentVersions operation,
2067// calling the "fn" function with the response data for each page. To stop
2068// iterating, return false from the fn function.
2069//
2070// See DescribeDocumentVersions method for more information on how to use this operation.
2071//
2072// Note: This operation can generate multiple requests to a service.
2073//
2074//    // Example iterating over at most 3 pages of a DescribeDocumentVersions operation.
2075//    pageNum := 0
2076//    err := client.DescribeDocumentVersionsPages(params,
2077//        func(page *workdocs.DescribeDocumentVersionsOutput, lastPage bool) bool {
2078//            pageNum++
2079//            fmt.Println(page)
2080//            return pageNum <= 3
2081//        })
2082//
2083func (c *WorkDocs) DescribeDocumentVersionsPages(input *DescribeDocumentVersionsInput, fn func(*DescribeDocumentVersionsOutput, bool) bool) error {
2084	return c.DescribeDocumentVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
2085}
2086
2087// DescribeDocumentVersionsPagesWithContext same as DescribeDocumentVersionsPages except
2088// it takes a Context and allows setting request options on the pages.
2089//
2090// The context must be non-nil and will be used for request cancellation. If
2091// the context is nil a panic will occur. In the future the SDK may create
2092// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2093// for more information on using Contexts.
2094func (c *WorkDocs) DescribeDocumentVersionsPagesWithContext(ctx aws.Context, input *DescribeDocumentVersionsInput, fn func(*DescribeDocumentVersionsOutput, bool) bool, opts ...request.Option) error {
2095	p := request.Pagination{
2096		NewRequest: func() (*request.Request, error) {
2097			var inCpy *DescribeDocumentVersionsInput
2098			if input != nil {
2099				tmp := *input
2100				inCpy = &tmp
2101			}
2102			req, _ := c.DescribeDocumentVersionsRequest(inCpy)
2103			req.SetContext(ctx)
2104			req.ApplyOptions(opts...)
2105			return req, nil
2106		},
2107	}
2108
2109	for p.Next() {
2110		if !fn(p.Page().(*DescribeDocumentVersionsOutput), !p.HasNextPage()) {
2111			break
2112		}
2113	}
2114
2115	return p.Err()
2116}
2117
2118const opDescribeFolderContents = "DescribeFolderContents"
2119
2120// DescribeFolderContentsRequest generates a "aws/request.Request" representing the
2121// client's request for the DescribeFolderContents operation. The "output" return
2122// value will be populated with the request's response once the request completes
2123// successfully.
2124//
2125// Use "Send" method on the returned Request to send the API call to the service.
2126// the "output" return value is not valid until after Send returns without error.
2127//
2128// See DescribeFolderContents for more information on using the DescribeFolderContents
2129// API call, and error handling.
2130//
2131// This method is useful when you want to inject custom logic or configuration
2132// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2133//
2134//
2135//    // Example sending a request using the DescribeFolderContentsRequest method.
2136//    req, resp := client.DescribeFolderContentsRequest(params)
2137//
2138//    err := req.Send()
2139//    if err == nil { // resp is now filled
2140//        fmt.Println(resp)
2141//    }
2142//
2143// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeFolderContents
2144func (c *WorkDocs) DescribeFolderContentsRequest(input *DescribeFolderContentsInput) (req *request.Request, output *DescribeFolderContentsOutput) {
2145	op := &request.Operation{
2146		Name:       opDescribeFolderContents,
2147		HTTPMethod: "GET",
2148		HTTPPath:   "/api/v1/folders/{FolderId}/contents",
2149		Paginator: &request.Paginator{
2150			InputTokens:     []string{"Marker"},
2151			OutputTokens:    []string{"Marker"},
2152			LimitToken:      "Limit",
2153			TruncationToken: "",
2154		},
2155	}
2156
2157	if input == nil {
2158		input = &DescribeFolderContentsInput{}
2159	}
2160
2161	output = &DescribeFolderContentsOutput{}
2162	req = c.newRequest(op, input, output)
2163	return
2164}
2165
2166// DescribeFolderContents API operation for Amazon WorkDocs.
2167//
2168// Describes the contents of the specified folder, including its documents and
2169// subfolders.
2170//
2171// By default, Amazon WorkDocs returns the first 100 active document and folder
2172// metadata items. If there are more results, the response includes a marker
2173// that you can use to request the next set of results. You can also request
2174// initialized documents.
2175//
2176// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2177// with awserr.Error's Code and Message methods to get detailed information about
2178// the error.
2179//
2180// See the AWS API reference guide for Amazon WorkDocs's
2181// API operation DescribeFolderContents for usage and error information.
2182//
2183// Returned Error Types:
2184//   * EntityNotExistsException
2185//   The resource does not exist.
2186//
2187//   * UnauthorizedResourceAccessException
2188//   The caller does not have access to perform the action on the resource.
2189//
2190//   * InvalidArgumentException
2191//   The pagination marker or limit fields are not valid.
2192//
2193//   * FailedDependencyException
2194//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
2195//   under the control of the organization is failing, such as a connected Active
2196//   Directory.
2197//
2198//   * ServiceUnavailableException
2199//   One or more of the dependencies is unavailable.
2200//
2201//   * ProhibitedStateException
2202//   The specified document version is not in the INITIALIZED state.
2203//
2204// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeFolderContents
2205func (c *WorkDocs) DescribeFolderContents(input *DescribeFolderContentsInput) (*DescribeFolderContentsOutput, error) {
2206	req, out := c.DescribeFolderContentsRequest(input)
2207	return out, req.Send()
2208}
2209
2210// DescribeFolderContentsWithContext is the same as DescribeFolderContents with the addition of
2211// the ability to pass a context and additional request options.
2212//
2213// See DescribeFolderContents for details on how to use this API operation.
2214//
2215// The context must be non-nil and will be used for request cancellation. If
2216// the context is nil a panic will occur. In the future the SDK may create
2217// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2218// for more information on using Contexts.
2219func (c *WorkDocs) DescribeFolderContentsWithContext(ctx aws.Context, input *DescribeFolderContentsInput, opts ...request.Option) (*DescribeFolderContentsOutput, error) {
2220	req, out := c.DescribeFolderContentsRequest(input)
2221	req.SetContext(ctx)
2222	req.ApplyOptions(opts...)
2223	return out, req.Send()
2224}
2225
2226// DescribeFolderContentsPages iterates over the pages of a DescribeFolderContents operation,
2227// calling the "fn" function with the response data for each page. To stop
2228// iterating, return false from the fn function.
2229//
2230// See DescribeFolderContents method for more information on how to use this operation.
2231//
2232// Note: This operation can generate multiple requests to a service.
2233//
2234//    // Example iterating over at most 3 pages of a DescribeFolderContents operation.
2235//    pageNum := 0
2236//    err := client.DescribeFolderContentsPages(params,
2237//        func(page *workdocs.DescribeFolderContentsOutput, lastPage bool) bool {
2238//            pageNum++
2239//            fmt.Println(page)
2240//            return pageNum <= 3
2241//        })
2242//
2243func (c *WorkDocs) DescribeFolderContentsPages(input *DescribeFolderContentsInput, fn func(*DescribeFolderContentsOutput, bool) bool) error {
2244	return c.DescribeFolderContentsPagesWithContext(aws.BackgroundContext(), input, fn)
2245}
2246
2247// DescribeFolderContentsPagesWithContext same as DescribeFolderContentsPages except
2248// it takes a Context and allows setting request options on the pages.
2249//
2250// The context must be non-nil and will be used for request cancellation. If
2251// the context is nil a panic will occur. In the future the SDK may create
2252// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2253// for more information on using Contexts.
2254func (c *WorkDocs) DescribeFolderContentsPagesWithContext(ctx aws.Context, input *DescribeFolderContentsInput, fn func(*DescribeFolderContentsOutput, bool) bool, opts ...request.Option) error {
2255	p := request.Pagination{
2256		NewRequest: func() (*request.Request, error) {
2257			var inCpy *DescribeFolderContentsInput
2258			if input != nil {
2259				tmp := *input
2260				inCpy = &tmp
2261			}
2262			req, _ := c.DescribeFolderContentsRequest(inCpy)
2263			req.SetContext(ctx)
2264			req.ApplyOptions(opts...)
2265			return req, nil
2266		},
2267	}
2268
2269	for p.Next() {
2270		if !fn(p.Page().(*DescribeFolderContentsOutput), !p.HasNextPage()) {
2271			break
2272		}
2273	}
2274
2275	return p.Err()
2276}
2277
2278const opDescribeGroups = "DescribeGroups"
2279
2280// DescribeGroupsRequest generates a "aws/request.Request" representing the
2281// client's request for the DescribeGroups operation. The "output" return
2282// value will be populated with the request's response once the request completes
2283// successfully.
2284//
2285// Use "Send" method on the returned Request to send the API call to the service.
2286// the "output" return value is not valid until after Send returns without error.
2287//
2288// See DescribeGroups for more information on using the DescribeGroups
2289// API call, and error handling.
2290//
2291// This method is useful when you want to inject custom logic or configuration
2292// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2293//
2294//
2295//    // Example sending a request using the DescribeGroupsRequest method.
2296//    req, resp := client.DescribeGroupsRequest(params)
2297//
2298//    err := req.Send()
2299//    if err == nil { // resp is now filled
2300//        fmt.Println(resp)
2301//    }
2302//
2303// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeGroups
2304func (c *WorkDocs) DescribeGroupsRequest(input *DescribeGroupsInput) (req *request.Request, output *DescribeGroupsOutput) {
2305	op := &request.Operation{
2306		Name:       opDescribeGroups,
2307		HTTPMethod: "GET",
2308		HTTPPath:   "/api/v1/groups",
2309	}
2310
2311	if input == nil {
2312		input = &DescribeGroupsInput{}
2313	}
2314
2315	output = &DescribeGroupsOutput{}
2316	req = c.newRequest(op, input, output)
2317	return
2318}
2319
2320// DescribeGroups API operation for Amazon WorkDocs.
2321//
2322// Describes the groups specified by the query. Groups are defined by the underlying
2323// Active Directory.
2324//
2325// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2326// with awserr.Error's Code and Message methods to get detailed information about
2327// the error.
2328//
2329// See the AWS API reference guide for Amazon WorkDocs's
2330// API operation DescribeGroups for usage and error information.
2331//
2332// Returned Error Types:
2333//   * UnauthorizedOperationException
2334//   The operation is not permitted.
2335//
2336//   * UnauthorizedResourceAccessException
2337//   The caller does not have access to perform the action on the resource.
2338//
2339//   * FailedDependencyException
2340//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
2341//   under the control of the organization is failing, such as a connected Active
2342//   Directory.
2343//
2344//   * ServiceUnavailableException
2345//   One or more of the dependencies is unavailable.
2346//
2347// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeGroups
2348func (c *WorkDocs) DescribeGroups(input *DescribeGroupsInput) (*DescribeGroupsOutput, error) {
2349	req, out := c.DescribeGroupsRequest(input)
2350	return out, req.Send()
2351}
2352
2353// DescribeGroupsWithContext is the same as DescribeGroups with the addition of
2354// the ability to pass a context and additional request options.
2355//
2356// See DescribeGroups for details on how to use this API operation.
2357//
2358// The context must be non-nil and will be used for request cancellation. If
2359// the context is nil a panic will occur. In the future the SDK may create
2360// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2361// for more information on using Contexts.
2362func (c *WorkDocs) DescribeGroupsWithContext(ctx aws.Context, input *DescribeGroupsInput, opts ...request.Option) (*DescribeGroupsOutput, error) {
2363	req, out := c.DescribeGroupsRequest(input)
2364	req.SetContext(ctx)
2365	req.ApplyOptions(opts...)
2366	return out, req.Send()
2367}
2368
2369const opDescribeNotificationSubscriptions = "DescribeNotificationSubscriptions"
2370
2371// DescribeNotificationSubscriptionsRequest generates a "aws/request.Request" representing the
2372// client's request for the DescribeNotificationSubscriptions operation. The "output" return
2373// value will be populated with the request's response once the request completes
2374// successfully.
2375//
2376// Use "Send" method on the returned Request to send the API call to the service.
2377// the "output" return value is not valid until after Send returns without error.
2378//
2379// See DescribeNotificationSubscriptions for more information on using the DescribeNotificationSubscriptions
2380// API call, and error handling.
2381//
2382// This method is useful when you want to inject custom logic or configuration
2383// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2384//
2385//
2386//    // Example sending a request using the DescribeNotificationSubscriptionsRequest method.
2387//    req, resp := client.DescribeNotificationSubscriptionsRequest(params)
2388//
2389//    err := req.Send()
2390//    if err == nil { // resp is now filled
2391//        fmt.Println(resp)
2392//    }
2393//
2394// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeNotificationSubscriptions
2395func (c *WorkDocs) DescribeNotificationSubscriptionsRequest(input *DescribeNotificationSubscriptionsInput) (req *request.Request, output *DescribeNotificationSubscriptionsOutput) {
2396	op := &request.Operation{
2397		Name:       opDescribeNotificationSubscriptions,
2398		HTTPMethod: "GET",
2399		HTTPPath:   "/api/v1/organizations/{OrganizationId}/subscriptions",
2400	}
2401
2402	if input == nil {
2403		input = &DescribeNotificationSubscriptionsInput{}
2404	}
2405
2406	output = &DescribeNotificationSubscriptionsOutput{}
2407	req = c.newRequest(op, input, output)
2408	return
2409}
2410
2411// DescribeNotificationSubscriptions API operation for Amazon WorkDocs.
2412//
2413// Lists the specified notification subscriptions.
2414//
2415// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2416// with awserr.Error's Code and Message methods to get detailed information about
2417// the error.
2418//
2419// See the AWS API reference guide for Amazon WorkDocs's
2420// API operation DescribeNotificationSubscriptions for usage and error information.
2421//
2422// Returned Error Types:
2423//   * UnauthorizedResourceAccessException
2424//   The caller does not have access to perform the action on the resource.
2425//
2426//   * EntityNotExistsException
2427//   The resource does not exist.
2428//
2429//   * ServiceUnavailableException
2430//   One or more of the dependencies is unavailable.
2431//
2432// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeNotificationSubscriptions
2433func (c *WorkDocs) DescribeNotificationSubscriptions(input *DescribeNotificationSubscriptionsInput) (*DescribeNotificationSubscriptionsOutput, error) {
2434	req, out := c.DescribeNotificationSubscriptionsRequest(input)
2435	return out, req.Send()
2436}
2437
2438// DescribeNotificationSubscriptionsWithContext is the same as DescribeNotificationSubscriptions with the addition of
2439// the ability to pass a context and additional request options.
2440//
2441// See DescribeNotificationSubscriptions for details on how to use this API operation.
2442//
2443// The context must be non-nil and will be used for request cancellation. If
2444// the context is nil a panic will occur. In the future the SDK may create
2445// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2446// for more information on using Contexts.
2447func (c *WorkDocs) DescribeNotificationSubscriptionsWithContext(ctx aws.Context, input *DescribeNotificationSubscriptionsInput, opts ...request.Option) (*DescribeNotificationSubscriptionsOutput, error) {
2448	req, out := c.DescribeNotificationSubscriptionsRequest(input)
2449	req.SetContext(ctx)
2450	req.ApplyOptions(opts...)
2451	return out, req.Send()
2452}
2453
2454const opDescribeResourcePermissions = "DescribeResourcePermissions"
2455
2456// DescribeResourcePermissionsRequest generates a "aws/request.Request" representing the
2457// client's request for the DescribeResourcePermissions operation. The "output" return
2458// value will be populated with the request's response once the request completes
2459// successfully.
2460//
2461// Use "Send" method on the returned Request to send the API call to the service.
2462// the "output" return value is not valid until after Send returns without error.
2463//
2464// See DescribeResourcePermissions for more information on using the DescribeResourcePermissions
2465// API call, and error handling.
2466//
2467// This method is useful when you want to inject custom logic or configuration
2468// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2469//
2470//
2471//    // Example sending a request using the DescribeResourcePermissionsRequest method.
2472//    req, resp := client.DescribeResourcePermissionsRequest(params)
2473//
2474//    err := req.Send()
2475//    if err == nil { // resp is now filled
2476//        fmt.Println(resp)
2477//    }
2478//
2479// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeResourcePermissions
2480func (c *WorkDocs) DescribeResourcePermissionsRequest(input *DescribeResourcePermissionsInput) (req *request.Request, output *DescribeResourcePermissionsOutput) {
2481	op := &request.Operation{
2482		Name:       opDescribeResourcePermissions,
2483		HTTPMethod: "GET",
2484		HTTPPath:   "/api/v1/resources/{ResourceId}/permissions",
2485	}
2486
2487	if input == nil {
2488		input = &DescribeResourcePermissionsInput{}
2489	}
2490
2491	output = &DescribeResourcePermissionsOutput{}
2492	req = c.newRequest(op, input, output)
2493	return
2494}
2495
2496// DescribeResourcePermissions API operation for Amazon WorkDocs.
2497//
2498// Describes the permissions of a specified resource.
2499//
2500// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2501// with awserr.Error's Code and Message methods to get detailed information about
2502// the error.
2503//
2504// See the AWS API reference guide for Amazon WorkDocs's
2505// API operation DescribeResourcePermissions for usage and error information.
2506//
2507// Returned Error Types:
2508//   * UnauthorizedOperationException
2509//   The operation is not permitted.
2510//
2511//   * UnauthorizedResourceAccessException
2512//   The caller does not have access to perform the action on the resource.
2513//
2514//   * FailedDependencyException
2515//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
2516//   under the control of the organization is failing, such as a connected Active
2517//   Directory.
2518//
2519//   * ServiceUnavailableException
2520//   One or more of the dependencies is unavailable.
2521//
2522// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeResourcePermissions
2523func (c *WorkDocs) DescribeResourcePermissions(input *DescribeResourcePermissionsInput) (*DescribeResourcePermissionsOutput, error) {
2524	req, out := c.DescribeResourcePermissionsRequest(input)
2525	return out, req.Send()
2526}
2527
2528// DescribeResourcePermissionsWithContext is the same as DescribeResourcePermissions with the addition of
2529// the ability to pass a context and additional request options.
2530//
2531// See DescribeResourcePermissions for details on how to use this API operation.
2532//
2533// The context must be non-nil and will be used for request cancellation. If
2534// the context is nil a panic will occur. In the future the SDK may create
2535// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2536// for more information on using Contexts.
2537func (c *WorkDocs) DescribeResourcePermissionsWithContext(ctx aws.Context, input *DescribeResourcePermissionsInput, opts ...request.Option) (*DescribeResourcePermissionsOutput, error) {
2538	req, out := c.DescribeResourcePermissionsRequest(input)
2539	req.SetContext(ctx)
2540	req.ApplyOptions(opts...)
2541	return out, req.Send()
2542}
2543
2544const opDescribeRootFolders = "DescribeRootFolders"
2545
2546// DescribeRootFoldersRequest generates a "aws/request.Request" representing the
2547// client's request for the DescribeRootFolders operation. The "output" return
2548// value will be populated with the request's response once the request completes
2549// successfully.
2550//
2551// Use "Send" method on the returned Request to send the API call to the service.
2552// the "output" return value is not valid until after Send returns without error.
2553//
2554// See DescribeRootFolders for more information on using the DescribeRootFolders
2555// API call, and error handling.
2556//
2557// This method is useful when you want to inject custom logic or configuration
2558// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2559//
2560//
2561//    // Example sending a request using the DescribeRootFoldersRequest method.
2562//    req, resp := client.DescribeRootFoldersRequest(params)
2563//
2564//    err := req.Send()
2565//    if err == nil { // resp is now filled
2566//        fmt.Println(resp)
2567//    }
2568//
2569// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeRootFolders
2570func (c *WorkDocs) DescribeRootFoldersRequest(input *DescribeRootFoldersInput) (req *request.Request, output *DescribeRootFoldersOutput) {
2571	op := &request.Operation{
2572		Name:       opDescribeRootFolders,
2573		HTTPMethod: "GET",
2574		HTTPPath:   "/api/v1/me/root",
2575	}
2576
2577	if input == nil {
2578		input = &DescribeRootFoldersInput{}
2579	}
2580
2581	output = &DescribeRootFoldersOutput{}
2582	req = c.newRequest(op, input, output)
2583	return
2584}
2585
2586// DescribeRootFolders API operation for Amazon WorkDocs.
2587//
2588// Describes the current user's special folders; the RootFolder and the RecycleBin.
2589// RootFolder is the root of user's files and folders and RecycleBin is the
2590// root of recycled items. This is not a valid action for SigV4 (administrative
2591// API) clients.
2592//
2593// This action requires an authentication token. To get an authentication token,
2594// register an application with Amazon WorkDocs. For more information, see Authentication
2595// and Access Control for User Applications (https://docs.aws.amazon.com/workdocs/latest/developerguide/wd-auth-user.html)
2596// in the Amazon WorkDocs Developer Guide.
2597//
2598// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2599// with awserr.Error's Code and Message methods to get detailed information about
2600// the error.
2601//
2602// See the AWS API reference guide for Amazon WorkDocs's
2603// API operation DescribeRootFolders for usage and error information.
2604//
2605// Returned Error Types:
2606//   * UnauthorizedOperationException
2607//   The operation is not permitted.
2608//
2609//   * UnauthorizedResourceAccessException
2610//   The caller does not have access to perform the action on the resource.
2611//
2612//   * InvalidArgumentException
2613//   The pagination marker or limit fields are not valid.
2614//
2615//   * FailedDependencyException
2616//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
2617//   under the control of the organization is failing, such as a connected Active
2618//   Directory.
2619//
2620//   * ServiceUnavailableException
2621//   One or more of the dependencies is unavailable.
2622//
2623// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeRootFolders
2624func (c *WorkDocs) DescribeRootFolders(input *DescribeRootFoldersInput) (*DescribeRootFoldersOutput, error) {
2625	req, out := c.DescribeRootFoldersRequest(input)
2626	return out, req.Send()
2627}
2628
2629// DescribeRootFoldersWithContext is the same as DescribeRootFolders with the addition of
2630// the ability to pass a context and additional request options.
2631//
2632// See DescribeRootFolders for details on how to use this API operation.
2633//
2634// The context must be non-nil and will be used for request cancellation. If
2635// the context is nil a panic will occur. In the future the SDK may create
2636// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2637// for more information on using Contexts.
2638func (c *WorkDocs) DescribeRootFoldersWithContext(ctx aws.Context, input *DescribeRootFoldersInput, opts ...request.Option) (*DescribeRootFoldersOutput, error) {
2639	req, out := c.DescribeRootFoldersRequest(input)
2640	req.SetContext(ctx)
2641	req.ApplyOptions(opts...)
2642	return out, req.Send()
2643}
2644
2645const opDescribeUsers = "DescribeUsers"
2646
2647// DescribeUsersRequest generates a "aws/request.Request" representing the
2648// client's request for the DescribeUsers operation. The "output" return
2649// value will be populated with the request's response once the request completes
2650// successfully.
2651//
2652// Use "Send" method on the returned Request to send the API call to the service.
2653// the "output" return value is not valid until after Send returns without error.
2654//
2655// See DescribeUsers for more information on using the DescribeUsers
2656// API call, and error handling.
2657//
2658// This method is useful when you want to inject custom logic or configuration
2659// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2660//
2661//
2662//    // Example sending a request using the DescribeUsersRequest method.
2663//    req, resp := client.DescribeUsersRequest(params)
2664//
2665//    err := req.Send()
2666//    if err == nil { // resp is now filled
2667//        fmt.Println(resp)
2668//    }
2669//
2670// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeUsers
2671func (c *WorkDocs) DescribeUsersRequest(input *DescribeUsersInput) (req *request.Request, output *DescribeUsersOutput) {
2672	op := &request.Operation{
2673		Name:       opDescribeUsers,
2674		HTTPMethod: "GET",
2675		HTTPPath:   "/api/v1/users",
2676		Paginator: &request.Paginator{
2677			InputTokens:     []string{"Marker"},
2678			OutputTokens:    []string{"Marker"},
2679			LimitToken:      "Limit",
2680			TruncationToken: "",
2681		},
2682	}
2683
2684	if input == nil {
2685		input = &DescribeUsersInput{}
2686	}
2687
2688	output = &DescribeUsersOutput{}
2689	req = c.newRequest(op, input, output)
2690	return
2691}
2692
2693// DescribeUsers API operation for Amazon WorkDocs.
2694//
2695// Describes the specified users. You can describe all users or filter the results
2696// (for example, by status or organization).
2697//
2698// By default, Amazon WorkDocs returns the first 24 active or pending users.
2699// If there are more results, the response includes a marker that you can use
2700// to request the next set of results.
2701//
2702// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2703// with awserr.Error's Code and Message methods to get detailed information about
2704// the error.
2705//
2706// See the AWS API reference guide for Amazon WorkDocs's
2707// API operation DescribeUsers for usage and error information.
2708//
2709// Returned Error Types:
2710//   * EntityNotExistsException
2711//   The resource does not exist.
2712//
2713//   * UnauthorizedOperationException
2714//   The operation is not permitted.
2715//
2716//   * UnauthorizedResourceAccessException
2717//   The caller does not have access to perform the action on the resource.
2718//
2719//   * FailedDependencyException
2720//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
2721//   under the control of the organization is failing, such as a connected Active
2722//   Directory.
2723//
2724//   * ServiceUnavailableException
2725//   One or more of the dependencies is unavailable.
2726//
2727//   * InvalidArgumentException
2728//   The pagination marker or limit fields are not valid.
2729//
2730//   * RequestedEntityTooLargeException
2731//   The response is too large to return. The request must include a filter to
2732//   reduce the size of the response.
2733//
2734// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeUsers
2735func (c *WorkDocs) DescribeUsers(input *DescribeUsersInput) (*DescribeUsersOutput, error) {
2736	req, out := c.DescribeUsersRequest(input)
2737	return out, req.Send()
2738}
2739
2740// DescribeUsersWithContext is the same as DescribeUsers with the addition of
2741// the ability to pass a context and additional request options.
2742//
2743// See DescribeUsers for details on how to use this API operation.
2744//
2745// The context must be non-nil and will be used for request cancellation. If
2746// the context is nil a panic will occur. In the future the SDK may create
2747// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2748// for more information on using Contexts.
2749func (c *WorkDocs) DescribeUsersWithContext(ctx aws.Context, input *DescribeUsersInput, opts ...request.Option) (*DescribeUsersOutput, error) {
2750	req, out := c.DescribeUsersRequest(input)
2751	req.SetContext(ctx)
2752	req.ApplyOptions(opts...)
2753	return out, req.Send()
2754}
2755
2756// DescribeUsersPages iterates over the pages of a DescribeUsers operation,
2757// calling the "fn" function with the response data for each page. To stop
2758// iterating, return false from the fn function.
2759//
2760// See DescribeUsers method for more information on how to use this operation.
2761//
2762// Note: This operation can generate multiple requests to a service.
2763//
2764//    // Example iterating over at most 3 pages of a DescribeUsers operation.
2765//    pageNum := 0
2766//    err := client.DescribeUsersPages(params,
2767//        func(page *workdocs.DescribeUsersOutput, lastPage bool) bool {
2768//            pageNum++
2769//            fmt.Println(page)
2770//            return pageNum <= 3
2771//        })
2772//
2773func (c *WorkDocs) DescribeUsersPages(input *DescribeUsersInput, fn func(*DescribeUsersOutput, bool) bool) error {
2774	return c.DescribeUsersPagesWithContext(aws.BackgroundContext(), input, fn)
2775}
2776
2777// DescribeUsersPagesWithContext same as DescribeUsersPages except
2778// it takes a Context and allows setting request options on the pages.
2779//
2780// The context must be non-nil and will be used for request cancellation. If
2781// the context is nil a panic will occur. In the future the SDK may create
2782// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2783// for more information on using Contexts.
2784func (c *WorkDocs) DescribeUsersPagesWithContext(ctx aws.Context, input *DescribeUsersInput, fn func(*DescribeUsersOutput, bool) bool, opts ...request.Option) error {
2785	p := request.Pagination{
2786		NewRequest: func() (*request.Request, error) {
2787			var inCpy *DescribeUsersInput
2788			if input != nil {
2789				tmp := *input
2790				inCpy = &tmp
2791			}
2792			req, _ := c.DescribeUsersRequest(inCpy)
2793			req.SetContext(ctx)
2794			req.ApplyOptions(opts...)
2795			return req, nil
2796		},
2797	}
2798
2799	for p.Next() {
2800		if !fn(p.Page().(*DescribeUsersOutput), !p.HasNextPage()) {
2801			break
2802		}
2803	}
2804
2805	return p.Err()
2806}
2807
2808const opGetCurrentUser = "GetCurrentUser"
2809
2810// GetCurrentUserRequest generates a "aws/request.Request" representing the
2811// client's request for the GetCurrentUser operation. The "output" return
2812// value will be populated with the request's response once the request completes
2813// successfully.
2814//
2815// Use "Send" method on the returned Request to send the API call to the service.
2816// the "output" return value is not valid until after Send returns without error.
2817//
2818// See GetCurrentUser for more information on using the GetCurrentUser
2819// API call, and error handling.
2820//
2821// This method is useful when you want to inject custom logic or configuration
2822// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2823//
2824//
2825//    // Example sending a request using the GetCurrentUserRequest method.
2826//    req, resp := client.GetCurrentUserRequest(params)
2827//
2828//    err := req.Send()
2829//    if err == nil { // resp is now filled
2830//        fmt.Println(resp)
2831//    }
2832//
2833// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetCurrentUser
2834func (c *WorkDocs) GetCurrentUserRequest(input *GetCurrentUserInput) (req *request.Request, output *GetCurrentUserOutput) {
2835	op := &request.Operation{
2836		Name:       opGetCurrentUser,
2837		HTTPMethod: "GET",
2838		HTTPPath:   "/api/v1/me",
2839	}
2840
2841	if input == nil {
2842		input = &GetCurrentUserInput{}
2843	}
2844
2845	output = &GetCurrentUserOutput{}
2846	req = c.newRequest(op, input, output)
2847	return
2848}
2849
2850// GetCurrentUser API operation for Amazon WorkDocs.
2851//
2852// Retrieves details of the current user for whom the authentication token was
2853// generated. This is not a valid action for SigV4 (administrative API) clients.
2854//
2855// This action requires an authentication token. To get an authentication token,
2856// register an application with Amazon WorkDocs. For more information, see Authentication
2857// and Access Control for User Applications (https://docs.aws.amazon.com/workdocs/latest/developerguide/wd-auth-user.html)
2858// in the Amazon WorkDocs Developer Guide.
2859//
2860// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2861// with awserr.Error's Code and Message methods to get detailed information about
2862// the error.
2863//
2864// See the AWS API reference guide for Amazon WorkDocs's
2865// API operation GetCurrentUser for usage and error information.
2866//
2867// Returned Error Types:
2868//   * EntityNotExistsException
2869//   The resource does not exist.
2870//
2871//   * UnauthorizedOperationException
2872//   The operation is not permitted.
2873//
2874//   * UnauthorizedResourceAccessException
2875//   The caller does not have access to perform the action on the resource.
2876//
2877//   * FailedDependencyException
2878//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
2879//   under the control of the organization is failing, such as a connected Active
2880//   Directory.
2881//
2882//   * ServiceUnavailableException
2883//   One or more of the dependencies is unavailable.
2884//
2885// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetCurrentUser
2886func (c *WorkDocs) GetCurrentUser(input *GetCurrentUserInput) (*GetCurrentUserOutput, error) {
2887	req, out := c.GetCurrentUserRequest(input)
2888	return out, req.Send()
2889}
2890
2891// GetCurrentUserWithContext is the same as GetCurrentUser with the addition of
2892// the ability to pass a context and additional request options.
2893//
2894// See GetCurrentUser for details on how to use this API operation.
2895//
2896// The context must be non-nil and will be used for request cancellation. If
2897// the context is nil a panic will occur. In the future the SDK may create
2898// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2899// for more information on using Contexts.
2900func (c *WorkDocs) GetCurrentUserWithContext(ctx aws.Context, input *GetCurrentUserInput, opts ...request.Option) (*GetCurrentUserOutput, error) {
2901	req, out := c.GetCurrentUserRequest(input)
2902	req.SetContext(ctx)
2903	req.ApplyOptions(opts...)
2904	return out, req.Send()
2905}
2906
2907const opGetDocument = "GetDocument"
2908
2909// GetDocumentRequest generates a "aws/request.Request" representing the
2910// client's request for the GetDocument operation. The "output" return
2911// value will be populated with the request's response once the request completes
2912// successfully.
2913//
2914// Use "Send" method on the returned Request to send the API call to the service.
2915// the "output" return value is not valid until after Send returns without error.
2916//
2917// See GetDocument for more information on using the GetDocument
2918// API call, and error handling.
2919//
2920// This method is useful when you want to inject custom logic or configuration
2921// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2922//
2923//
2924//    // Example sending a request using the GetDocumentRequest method.
2925//    req, resp := client.GetDocumentRequest(params)
2926//
2927//    err := req.Send()
2928//    if err == nil { // resp is now filled
2929//        fmt.Println(resp)
2930//    }
2931//
2932// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetDocument
2933func (c *WorkDocs) GetDocumentRequest(input *GetDocumentInput) (req *request.Request, output *GetDocumentOutput) {
2934	op := &request.Operation{
2935		Name:       opGetDocument,
2936		HTTPMethod: "GET",
2937		HTTPPath:   "/api/v1/documents/{DocumentId}",
2938	}
2939
2940	if input == nil {
2941		input = &GetDocumentInput{}
2942	}
2943
2944	output = &GetDocumentOutput{}
2945	req = c.newRequest(op, input, output)
2946	return
2947}
2948
2949// GetDocument API operation for Amazon WorkDocs.
2950//
2951// Retrieves details of a document.
2952//
2953// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2954// with awserr.Error's Code and Message methods to get detailed information about
2955// the error.
2956//
2957// See the AWS API reference guide for Amazon WorkDocs's
2958// API operation GetDocument for usage and error information.
2959//
2960// Returned Error Types:
2961//   * EntityNotExistsException
2962//   The resource does not exist.
2963//
2964//   * UnauthorizedOperationException
2965//   The operation is not permitted.
2966//
2967//   * UnauthorizedResourceAccessException
2968//   The caller does not have access to perform the action on the resource.
2969//
2970//   * InvalidArgumentException
2971//   The pagination marker or limit fields are not valid.
2972//
2973//   * FailedDependencyException
2974//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
2975//   under the control of the organization is failing, such as a connected Active
2976//   Directory.
2977//
2978//   * ServiceUnavailableException
2979//   One or more of the dependencies is unavailable.
2980//
2981//   * InvalidPasswordException
2982//   The password is invalid.
2983//
2984// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetDocument
2985func (c *WorkDocs) GetDocument(input *GetDocumentInput) (*GetDocumentOutput, error) {
2986	req, out := c.GetDocumentRequest(input)
2987	return out, req.Send()
2988}
2989
2990// GetDocumentWithContext is the same as GetDocument with the addition of
2991// the ability to pass a context and additional request options.
2992//
2993// See GetDocument for details on how to use this API operation.
2994//
2995// The context must be non-nil and will be used for request cancellation. If
2996// the context is nil a panic will occur. In the future the SDK may create
2997// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2998// for more information on using Contexts.
2999func (c *WorkDocs) GetDocumentWithContext(ctx aws.Context, input *GetDocumentInput, opts ...request.Option) (*GetDocumentOutput, error) {
3000	req, out := c.GetDocumentRequest(input)
3001	req.SetContext(ctx)
3002	req.ApplyOptions(opts...)
3003	return out, req.Send()
3004}
3005
3006const opGetDocumentPath = "GetDocumentPath"
3007
3008// GetDocumentPathRequest generates a "aws/request.Request" representing the
3009// client's request for the GetDocumentPath operation. The "output" return
3010// value will be populated with the request's response once the request completes
3011// successfully.
3012//
3013// Use "Send" method on the returned Request to send the API call to the service.
3014// the "output" return value is not valid until after Send returns without error.
3015//
3016// See GetDocumentPath for more information on using the GetDocumentPath
3017// API call, and error handling.
3018//
3019// This method is useful when you want to inject custom logic or configuration
3020// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3021//
3022//
3023//    // Example sending a request using the GetDocumentPathRequest method.
3024//    req, resp := client.GetDocumentPathRequest(params)
3025//
3026//    err := req.Send()
3027//    if err == nil { // resp is now filled
3028//        fmt.Println(resp)
3029//    }
3030//
3031// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetDocumentPath
3032func (c *WorkDocs) GetDocumentPathRequest(input *GetDocumentPathInput) (req *request.Request, output *GetDocumentPathOutput) {
3033	op := &request.Operation{
3034		Name:       opGetDocumentPath,
3035		HTTPMethod: "GET",
3036		HTTPPath:   "/api/v1/documents/{DocumentId}/path",
3037	}
3038
3039	if input == nil {
3040		input = &GetDocumentPathInput{}
3041	}
3042
3043	output = &GetDocumentPathOutput{}
3044	req = c.newRequest(op, input, output)
3045	return
3046}
3047
3048// GetDocumentPath API operation for Amazon WorkDocs.
3049//
3050// Retrieves the path information (the hierarchy from the root folder) for the
3051// requested document.
3052//
3053// By default, Amazon WorkDocs returns a maximum of 100 levels upwards from
3054// the requested document and only includes the IDs of the parent folders in
3055// the path. You can limit the maximum number of levels. You can also request
3056// the names of the parent folders.
3057//
3058// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3059// with awserr.Error's Code and Message methods to get detailed information about
3060// the error.
3061//
3062// See the AWS API reference guide for Amazon WorkDocs's
3063// API operation GetDocumentPath for usage and error information.
3064//
3065// Returned Error Types:
3066//   * EntityNotExistsException
3067//   The resource does not exist.
3068//
3069//   * UnauthorizedOperationException
3070//   The operation is not permitted.
3071//
3072//   * UnauthorizedResourceAccessException
3073//   The caller does not have access to perform the action on the resource.
3074//
3075//   * FailedDependencyException
3076//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3077//   under the control of the organization is failing, such as a connected Active
3078//   Directory.
3079//
3080//   * ServiceUnavailableException
3081//   One or more of the dependencies is unavailable.
3082//
3083// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetDocumentPath
3084func (c *WorkDocs) GetDocumentPath(input *GetDocumentPathInput) (*GetDocumentPathOutput, error) {
3085	req, out := c.GetDocumentPathRequest(input)
3086	return out, req.Send()
3087}
3088
3089// GetDocumentPathWithContext is the same as GetDocumentPath with the addition of
3090// the ability to pass a context and additional request options.
3091//
3092// See GetDocumentPath for details on how to use this API operation.
3093//
3094// The context must be non-nil and will be used for request cancellation. If
3095// the context is nil a panic will occur. In the future the SDK may create
3096// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3097// for more information on using Contexts.
3098func (c *WorkDocs) GetDocumentPathWithContext(ctx aws.Context, input *GetDocumentPathInput, opts ...request.Option) (*GetDocumentPathOutput, error) {
3099	req, out := c.GetDocumentPathRequest(input)
3100	req.SetContext(ctx)
3101	req.ApplyOptions(opts...)
3102	return out, req.Send()
3103}
3104
3105const opGetDocumentVersion = "GetDocumentVersion"
3106
3107// GetDocumentVersionRequest generates a "aws/request.Request" representing the
3108// client's request for the GetDocumentVersion operation. The "output" return
3109// value will be populated with the request's response once the request completes
3110// successfully.
3111//
3112// Use "Send" method on the returned Request to send the API call to the service.
3113// the "output" return value is not valid until after Send returns without error.
3114//
3115// See GetDocumentVersion for more information on using the GetDocumentVersion
3116// API call, and error handling.
3117//
3118// This method is useful when you want to inject custom logic or configuration
3119// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3120//
3121//
3122//    // Example sending a request using the GetDocumentVersionRequest method.
3123//    req, resp := client.GetDocumentVersionRequest(params)
3124//
3125//    err := req.Send()
3126//    if err == nil { // resp is now filled
3127//        fmt.Println(resp)
3128//    }
3129//
3130// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetDocumentVersion
3131func (c *WorkDocs) GetDocumentVersionRequest(input *GetDocumentVersionInput) (req *request.Request, output *GetDocumentVersionOutput) {
3132	op := &request.Operation{
3133		Name:       opGetDocumentVersion,
3134		HTTPMethod: "GET",
3135		HTTPPath:   "/api/v1/documents/{DocumentId}/versions/{VersionId}",
3136	}
3137
3138	if input == nil {
3139		input = &GetDocumentVersionInput{}
3140	}
3141
3142	output = &GetDocumentVersionOutput{}
3143	req = c.newRequest(op, input, output)
3144	return
3145}
3146
3147// GetDocumentVersion API operation for Amazon WorkDocs.
3148//
3149// Retrieves version metadata for the specified document.
3150//
3151// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3152// with awserr.Error's Code and Message methods to get detailed information about
3153// the error.
3154//
3155// See the AWS API reference guide for Amazon WorkDocs's
3156// API operation GetDocumentVersion for usage and error information.
3157//
3158// Returned Error Types:
3159//   * EntityNotExistsException
3160//   The resource does not exist.
3161//
3162//   * UnauthorizedOperationException
3163//   The operation is not permitted.
3164//
3165//   * UnauthorizedResourceAccessException
3166//   The caller does not have access to perform the action on the resource.
3167//
3168//   * FailedDependencyException
3169//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3170//   under the control of the organization is failing, such as a connected Active
3171//   Directory.
3172//
3173//   * ServiceUnavailableException
3174//   One or more of the dependencies is unavailable.
3175//
3176//   * ProhibitedStateException
3177//   The specified document version is not in the INITIALIZED state.
3178//
3179//   * InvalidPasswordException
3180//   The password is invalid.
3181//
3182// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetDocumentVersion
3183func (c *WorkDocs) GetDocumentVersion(input *GetDocumentVersionInput) (*GetDocumentVersionOutput, error) {
3184	req, out := c.GetDocumentVersionRequest(input)
3185	return out, req.Send()
3186}
3187
3188// GetDocumentVersionWithContext is the same as GetDocumentVersion with the addition of
3189// the ability to pass a context and additional request options.
3190//
3191// See GetDocumentVersion for details on how to use this API operation.
3192//
3193// The context must be non-nil and will be used for request cancellation. If
3194// the context is nil a panic will occur. In the future the SDK may create
3195// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3196// for more information on using Contexts.
3197func (c *WorkDocs) GetDocumentVersionWithContext(ctx aws.Context, input *GetDocumentVersionInput, opts ...request.Option) (*GetDocumentVersionOutput, error) {
3198	req, out := c.GetDocumentVersionRequest(input)
3199	req.SetContext(ctx)
3200	req.ApplyOptions(opts...)
3201	return out, req.Send()
3202}
3203
3204const opGetFolder = "GetFolder"
3205
3206// GetFolderRequest generates a "aws/request.Request" representing the
3207// client's request for the GetFolder operation. The "output" return
3208// value will be populated with the request's response once the request completes
3209// successfully.
3210//
3211// Use "Send" method on the returned Request to send the API call to the service.
3212// the "output" return value is not valid until after Send returns without error.
3213//
3214// See GetFolder for more information on using the GetFolder
3215// API call, and error handling.
3216//
3217// This method is useful when you want to inject custom logic or configuration
3218// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3219//
3220//
3221//    // Example sending a request using the GetFolderRequest method.
3222//    req, resp := client.GetFolderRequest(params)
3223//
3224//    err := req.Send()
3225//    if err == nil { // resp is now filled
3226//        fmt.Println(resp)
3227//    }
3228//
3229// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetFolder
3230func (c *WorkDocs) GetFolderRequest(input *GetFolderInput) (req *request.Request, output *GetFolderOutput) {
3231	op := &request.Operation{
3232		Name:       opGetFolder,
3233		HTTPMethod: "GET",
3234		HTTPPath:   "/api/v1/folders/{FolderId}",
3235	}
3236
3237	if input == nil {
3238		input = &GetFolderInput{}
3239	}
3240
3241	output = &GetFolderOutput{}
3242	req = c.newRequest(op, input, output)
3243	return
3244}
3245
3246// GetFolder API operation for Amazon WorkDocs.
3247//
3248// Retrieves the metadata of the specified folder.
3249//
3250// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3251// with awserr.Error's Code and Message methods to get detailed information about
3252// the error.
3253//
3254// See the AWS API reference guide for Amazon WorkDocs's
3255// API operation GetFolder for usage and error information.
3256//
3257// Returned Error Types:
3258//   * EntityNotExistsException
3259//   The resource does not exist.
3260//
3261//   * UnauthorizedOperationException
3262//   The operation is not permitted.
3263//
3264//   * UnauthorizedResourceAccessException
3265//   The caller does not have access to perform the action on the resource.
3266//
3267//   * InvalidArgumentException
3268//   The pagination marker or limit fields are not valid.
3269//
3270//   * FailedDependencyException
3271//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3272//   under the control of the organization is failing, such as a connected Active
3273//   Directory.
3274//
3275//   * ServiceUnavailableException
3276//   One or more of the dependencies is unavailable.
3277//
3278//   * ProhibitedStateException
3279//   The specified document version is not in the INITIALIZED state.
3280//
3281// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetFolder
3282func (c *WorkDocs) GetFolder(input *GetFolderInput) (*GetFolderOutput, error) {
3283	req, out := c.GetFolderRequest(input)
3284	return out, req.Send()
3285}
3286
3287// GetFolderWithContext is the same as GetFolder with the addition of
3288// the ability to pass a context and additional request options.
3289//
3290// See GetFolder for details on how to use this API operation.
3291//
3292// The context must be non-nil and will be used for request cancellation. If
3293// the context is nil a panic will occur. In the future the SDK may create
3294// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3295// for more information on using Contexts.
3296func (c *WorkDocs) GetFolderWithContext(ctx aws.Context, input *GetFolderInput, opts ...request.Option) (*GetFolderOutput, error) {
3297	req, out := c.GetFolderRequest(input)
3298	req.SetContext(ctx)
3299	req.ApplyOptions(opts...)
3300	return out, req.Send()
3301}
3302
3303const opGetFolderPath = "GetFolderPath"
3304
3305// GetFolderPathRequest generates a "aws/request.Request" representing the
3306// client's request for the GetFolderPath operation. The "output" return
3307// value will be populated with the request's response once the request completes
3308// successfully.
3309//
3310// Use "Send" method on the returned Request to send the API call to the service.
3311// the "output" return value is not valid until after Send returns without error.
3312//
3313// See GetFolderPath for more information on using the GetFolderPath
3314// API call, and error handling.
3315//
3316// This method is useful when you want to inject custom logic or configuration
3317// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3318//
3319//
3320//    // Example sending a request using the GetFolderPathRequest method.
3321//    req, resp := client.GetFolderPathRequest(params)
3322//
3323//    err := req.Send()
3324//    if err == nil { // resp is now filled
3325//        fmt.Println(resp)
3326//    }
3327//
3328// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetFolderPath
3329func (c *WorkDocs) GetFolderPathRequest(input *GetFolderPathInput) (req *request.Request, output *GetFolderPathOutput) {
3330	op := &request.Operation{
3331		Name:       opGetFolderPath,
3332		HTTPMethod: "GET",
3333		HTTPPath:   "/api/v1/folders/{FolderId}/path",
3334	}
3335
3336	if input == nil {
3337		input = &GetFolderPathInput{}
3338	}
3339
3340	output = &GetFolderPathOutput{}
3341	req = c.newRequest(op, input, output)
3342	return
3343}
3344
3345// GetFolderPath API operation for Amazon WorkDocs.
3346//
3347// Retrieves the path information (the hierarchy from the root folder) for the
3348// specified folder.
3349//
3350// By default, Amazon WorkDocs returns a maximum of 100 levels upwards from
3351// the requested folder and only includes the IDs of the parent folders in the
3352// path. You can limit the maximum number of levels. You can also request the
3353// parent folder names.
3354//
3355// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3356// with awserr.Error's Code and Message methods to get detailed information about
3357// the error.
3358//
3359// See the AWS API reference guide for Amazon WorkDocs's
3360// API operation GetFolderPath for usage and error information.
3361//
3362// Returned Error Types:
3363//   * EntityNotExistsException
3364//   The resource does not exist.
3365//
3366//   * UnauthorizedOperationException
3367//   The operation is not permitted.
3368//
3369//   * UnauthorizedResourceAccessException
3370//   The caller does not have access to perform the action on the resource.
3371//
3372//   * FailedDependencyException
3373//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3374//   under the control of the organization is failing, such as a connected Active
3375//   Directory.
3376//
3377//   * ServiceUnavailableException
3378//   One or more of the dependencies is unavailable.
3379//
3380// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetFolderPath
3381func (c *WorkDocs) GetFolderPath(input *GetFolderPathInput) (*GetFolderPathOutput, error) {
3382	req, out := c.GetFolderPathRequest(input)
3383	return out, req.Send()
3384}
3385
3386// GetFolderPathWithContext is the same as GetFolderPath with the addition of
3387// the ability to pass a context and additional request options.
3388//
3389// See GetFolderPath for details on how to use this API operation.
3390//
3391// The context must be non-nil and will be used for request cancellation. If
3392// the context is nil a panic will occur. In the future the SDK may create
3393// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3394// for more information on using Contexts.
3395func (c *WorkDocs) GetFolderPathWithContext(ctx aws.Context, input *GetFolderPathInput, opts ...request.Option) (*GetFolderPathOutput, error) {
3396	req, out := c.GetFolderPathRequest(input)
3397	req.SetContext(ctx)
3398	req.ApplyOptions(opts...)
3399	return out, req.Send()
3400}
3401
3402const opGetResources = "GetResources"
3403
3404// GetResourcesRequest generates a "aws/request.Request" representing the
3405// client's request for the GetResources operation. The "output" return
3406// value will be populated with the request's response once the request completes
3407// successfully.
3408//
3409// Use "Send" method on the returned Request to send the API call to the service.
3410// the "output" return value is not valid until after Send returns without error.
3411//
3412// See GetResources for more information on using the GetResources
3413// API call, and error handling.
3414//
3415// This method is useful when you want to inject custom logic or configuration
3416// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3417//
3418//
3419//    // Example sending a request using the GetResourcesRequest method.
3420//    req, resp := client.GetResourcesRequest(params)
3421//
3422//    err := req.Send()
3423//    if err == nil { // resp is now filled
3424//        fmt.Println(resp)
3425//    }
3426//
3427// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetResources
3428func (c *WorkDocs) GetResourcesRequest(input *GetResourcesInput) (req *request.Request, output *GetResourcesOutput) {
3429	op := &request.Operation{
3430		Name:       opGetResources,
3431		HTTPMethod: "GET",
3432		HTTPPath:   "/api/v1/resources",
3433	}
3434
3435	if input == nil {
3436		input = &GetResourcesInput{}
3437	}
3438
3439	output = &GetResourcesOutput{}
3440	req = c.newRequest(op, input, output)
3441	return
3442}
3443
3444// GetResources API operation for Amazon WorkDocs.
3445//
3446// Retrieves a collection of resources, including folders and documents. The
3447// only CollectionType supported is SHARED_WITH_ME.
3448//
3449// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3450// with awserr.Error's Code and Message methods to get detailed information about
3451// the error.
3452//
3453// See the AWS API reference guide for Amazon WorkDocs's
3454// API operation GetResources for usage and error information.
3455//
3456// Returned Error Types:
3457//   * UnauthorizedResourceAccessException
3458//   The caller does not have access to perform the action on the resource.
3459//
3460//   * UnauthorizedOperationException
3461//   The operation is not permitted.
3462//
3463//   * InvalidArgumentException
3464//   The pagination marker or limit fields are not valid.
3465//
3466//   * FailedDependencyException
3467//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3468//   under the control of the organization is failing, such as a connected Active
3469//   Directory.
3470//
3471//   * ServiceUnavailableException
3472//   One or more of the dependencies is unavailable.
3473//
3474// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetResources
3475func (c *WorkDocs) GetResources(input *GetResourcesInput) (*GetResourcesOutput, error) {
3476	req, out := c.GetResourcesRequest(input)
3477	return out, req.Send()
3478}
3479
3480// GetResourcesWithContext is the same as GetResources with the addition of
3481// the ability to pass a context and additional request options.
3482//
3483// See GetResources for details on how to use this API operation.
3484//
3485// The context must be non-nil and will be used for request cancellation. If
3486// the context is nil a panic will occur. In the future the SDK may create
3487// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3488// for more information on using Contexts.
3489func (c *WorkDocs) GetResourcesWithContext(ctx aws.Context, input *GetResourcesInput, opts ...request.Option) (*GetResourcesOutput, error) {
3490	req, out := c.GetResourcesRequest(input)
3491	req.SetContext(ctx)
3492	req.ApplyOptions(opts...)
3493	return out, req.Send()
3494}
3495
3496const opInitiateDocumentVersionUpload = "InitiateDocumentVersionUpload"
3497
3498// InitiateDocumentVersionUploadRequest generates a "aws/request.Request" representing the
3499// client's request for the InitiateDocumentVersionUpload operation. The "output" return
3500// value will be populated with the request's response once the request completes
3501// successfully.
3502//
3503// Use "Send" method on the returned Request to send the API call to the service.
3504// the "output" return value is not valid until after Send returns without error.
3505//
3506// See InitiateDocumentVersionUpload for more information on using the InitiateDocumentVersionUpload
3507// API call, and error handling.
3508//
3509// This method is useful when you want to inject custom logic or configuration
3510// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3511//
3512//
3513//    // Example sending a request using the InitiateDocumentVersionUploadRequest method.
3514//    req, resp := client.InitiateDocumentVersionUploadRequest(params)
3515//
3516//    err := req.Send()
3517//    if err == nil { // resp is now filled
3518//        fmt.Println(resp)
3519//    }
3520//
3521// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/InitiateDocumentVersionUpload
3522func (c *WorkDocs) InitiateDocumentVersionUploadRequest(input *InitiateDocumentVersionUploadInput) (req *request.Request, output *InitiateDocumentVersionUploadOutput) {
3523	op := &request.Operation{
3524		Name:       opInitiateDocumentVersionUpload,
3525		HTTPMethod: "POST",
3526		HTTPPath:   "/api/v1/documents",
3527	}
3528
3529	if input == nil {
3530		input = &InitiateDocumentVersionUploadInput{}
3531	}
3532
3533	output = &InitiateDocumentVersionUploadOutput{}
3534	req = c.newRequest(op, input, output)
3535	return
3536}
3537
3538// InitiateDocumentVersionUpload API operation for Amazon WorkDocs.
3539//
3540// Creates a new document object and version object.
3541//
3542// The client specifies the parent folder ID and name of the document to upload.
3543// The ID is optionally specified when creating a new version of an existing
3544// document. This is the first step to upload a document. Next, upload the document
3545// to the URL returned from the call, and then call UpdateDocumentVersion.
3546//
3547// To cancel the document upload, call AbortDocumentVersionUpload.
3548//
3549// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3550// with awserr.Error's Code and Message methods to get detailed information about
3551// the error.
3552//
3553// See the AWS API reference guide for Amazon WorkDocs's
3554// API operation InitiateDocumentVersionUpload for usage and error information.
3555//
3556// Returned Error Types:
3557//   * EntityNotExistsException
3558//   The resource does not exist.
3559//
3560//   * EntityAlreadyExistsException
3561//   The resource already exists.
3562//
3563//   * StorageLimitExceededException
3564//   The storage limit has been exceeded.
3565//
3566//   * StorageLimitWillExceedException
3567//   The storage limit will be exceeded.
3568//
3569//   * ProhibitedStateException
3570//   The specified document version is not in the INITIALIZED state.
3571//
3572//   * UnauthorizedOperationException
3573//   The operation is not permitted.
3574//
3575//   * UnauthorizedResourceAccessException
3576//   The caller does not have access to perform the action on the resource.
3577//
3578//   * FailedDependencyException
3579//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3580//   under the control of the organization is failing, such as a connected Active
3581//   Directory.
3582//
3583//   * ServiceUnavailableException
3584//   One or more of the dependencies is unavailable.
3585//
3586//   * DraftUploadOutOfSyncException
3587//   This exception is thrown when a valid checkout ID is not presented on document
3588//   version upload calls for a document that has been checked out from Web client.
3589//
3590//   * ResourceAlreadyCheckedOutException
3591//   The resource is already checked out.
3592//
3593// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/InitiateDocumentVersionUpload
3594func (c *WorkDocs) InitiateDocumentVersionUpload(input *InitiateDocumentVersionUploadInput) (*InitiateDocumentVersionUploadOutput, error) {
3595	req, out := c.InitiateDocumentVersionUploadRequest(input)
3596	return out, req.Send()
3597}
3598
3599// InitiateDocumentVersionUploadWithContext is the same as InitiateDocumentVersionUpload with the addition of
3600// the ability to pass a context and additional request options.
3601//
3602// See InitiateDocumentVersionUpload 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 *WorkDocs) InitiateDocumentVersionUploadWithContext(ctx aws.Context, input *InitiateDocumentVersionUploadInput, opts ...request.Option) (*InitiateDocumentVersionUploadOutput, error) {
3609	req, out := c.InitiateDocumentVersionUploadRequest(input)
3610	req.SetContext(ctx)
3611	req.ApplyOptions(opts...)
3612	return out, req.Send()
3613}
3614
3615const opRemoveAllResourcePermissions = "RemoveAllResourcePermissions"
3616
3617// RemoveAllResourcePermissionsRequest generates a "aws/request.Request" representing the
3618// client's request for the RemoveAllResourcePermissions operation. The "output" return
3619// value will be populated with the request's response once the request completes
3620// successfully.
3621//
3622// Use "Send" method on the returned Request to send the API call to the service.
3623// the "output" return value is not valid until after Send returns without error.
3624//
3625// See RemoveAllResourcePermissions for more information on using the RemoveAllResourcePermissions
3626// API call, and error handling.
3627//
3628// This method is useful when you want to inject custom logic or configuration
3629// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3630//
3631//
3632//    // Example sending a request using the RemoveAllResourcePermissionsRequest method.
3633//    req, resp := client.RemoveAllResourcePermissionsRequest(params)
3634//
3635//    err := req.Send()
3636//    if err == nil { // resp is now filled
3637//        fmt.Println(resp)
3638//    }
3639//
3640// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/RemoveAllResourcePermissions
3641func (c *WorkDocs) RemoveAllResourcePermissionsRequest(input *RemoveAllResourcePermissionsInput) (req *request.Request, output *RemoveAllResourcePermissionsOutput) {
3642	op := &request.Operation{
3643		Name:       opRemoveAllResourcePermissions,
3644		HTTPMethod: "DELETE",
3645		HTTPPath:   "/api/v1/resources/{ResourceId}/permissions",
3646	}
3647
3648	if input == nil {
3649		input = &RemoveAllResourcePermissionsInput{}
3650	}
3651
3652	output = &RemoveAllResourcePermissionsOutput{}
3653	req = c.newRequest(op, input, output)
3654	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3655	return
3656}
3657
3658// RemoveAllResourcePermissions API operation for Amazon WorkDocs.
3659//
3660// Removes all the permissions from the specified resource.
3661//
3662// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3663// with awserr.Error's Code and Message methods to get detailed information about
3664// the error.
3665//
3666// See the AWS API reference guide for Amazon WorkDocs's
3667// API operation RemoveAllResourcePermissions for usage and error information.
3668//
3669// Returned Error Types:
3670//   * UnauthorizedOperationException
3671//   The operation is not permitted.
3672//
3673//   * UnauthorizedResourceAccessException
3674//   The caller does not have access to perform the action on the resource.
3675//
3676//   * FailedDependencyException
3677//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3678//   under the control of the organization is failing, such as a connected Active
3679//   Directory.
3680//
3681//   * ServiceUnavailableException
3682//   One or more of the dependencies is unavailable.
3683//
3684// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/RemoveAllResourcePermissions
3685func (c *WorkDocs) RemoveAllResourcePermissions(input *RemoveAllResourcePermissionsInput) (*RemoveAllResourcePermissionsOutput, error) {
3686	req, out := c.RemoveAllResourcePermissionsRequest(input)
3687	return out, req.Send()
3688}
3689
3690// RemoveAllResourcePermissionsWithContext is the same as RemoveAllResourcePermissions with the addition of
3691// the ability to pass a context and additional request options.
3692//
3693// See RemoveAllResourcePermissions for details on how to use this API operation.
3694//
3695// The context must be non-nil and will be used for request cancellation. If
3696// the context is nil a panic will occur. In the future the SDK may create
3697// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3698// for more information on using Contexts.
3699func (c *WorkDocs) RemoveAllResourcePermissionsWithContext(ctx aws.Context, input *RemoveAllResourcePermissionsInput, opts ...request.Option) (*RemoveAllResourcePermissionsOutput, error) {
3700	req, out := c.RemoveAllResourcePermissionsRequest(input)
3701	req.SetContext(ctx)
3702	req.ApplyOptions(opts...)
3703	return out, req.Send()
3704}
3705
3706const opRemoveResourcePermission = "RemoveResourcePermission"
3707
3708// RemoveResourcePermissionRequest generates a "aws/request.Request" representing the
3709// client's request for the RemoveResourcePermission operation. The "output" return
3710// value will be populated with the request's response once the request completes
3711// successfully.
3712//
3713// Use "Send" method on the returned Request to send the API call to the service.
3714// the "output" return value is not valid until after Send returns without error.
3715//
3716// See RemoveResourcePermission for more information on using the RemoveResourcePermission
3717// API call, and error handling.
3718//
3719// This method is useful when you want to inject custom logic or configuration
3720// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3721//
3722//
3723//    // Example sending a request using the RemoveResourcePermissionRequest method.
3724//    req, resp := client.RemoveResourcePermissionRequest(params)
3725//
3726//    err := req.Send()
3727//    if err == nil { // resp is now filled
3728//        fmt.Println(resp)
3729//    }
3730//
3731// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/RemoveResourcePermission
3732func (c *WorkDocs) RemoveResourcePermissionRequest(input *RemoveResourcePermissionInput) (req *request.Request, output *RemoveResourcePermissionOutput) {
3733	op := &request.Operation{
3734		Name:       opRemoveResourcePermission,
3735		HTTPMethod: "DELETE",
3736		HTTPPath:   "/api/v1/resources/{ResourceId}/permissions/{PrincipalId}",
3737	}
3738
3739	if input == nil {
3740		input = &RemoveResourcePermissionInput{}
3741	}
3742
3743	output = &RemoveResourcePermissionOutput{}
3744	req = c.newRequest(op, input, output)
3745	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3746	return
3747}
3748
3749// RemoveResourcePermission API operation for Amazon WorkDocs.
3750//
3751// Removes the permission for the specified principal from the specified resource.
3752//
3753// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3754// with awserr.Error's Code and Message methods to get detailed information about
3755// the error.
3756//
3757// See the AWS API reference guide for Amazon WorkDocs's
3758// API operation RemoveResourcePermission for usage and error information.
3759//
3760// Returned Error Types:
3761//   * UnauthorizedOperationException
3762//   The operation is not permitted.
3763//
3764//   * UnauthorizedResourceAccessException
3765//   The caller does not have access to perform the action on the resource.
3766//
3767//   * FailedDependencyException
3768//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3769//   under the control of the organization is failing, such as a connected Active
3770//   Directory.
3771//
3772//   * ServiceUnavailableException
3773//   One or more of the dependencies is unavailable.
3774//
3775// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/RemoveResourcePermission
3776func (c *WorkDocs) RemoveResourcePermission(input *RemoveResourcePermissionInput) (*RemoveResourcePermissionOutput, error) {
3777	req, out := c.RemoveResourcePermissionRequest(input)
3778	return out, req.Send()
3779}
3780
3781// RemoveResourcePermissionWithContext is the same as RemoveResourcePermission with the addition of
3782// the ability to pass a context and additional request options.
3783//
3784// See RemoveResourcePermission for details on how to use this API operation.
3785//
3786// The context must be non-nil and will be used for request cancellation. If
3787// the context is nil a panic will occur. In the future the SDK may create
3788// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3789// for more information on using Contexts.
3790func (c *WorkDocs) RemoveResourcePermissionWithContext(ctx aws.Context, input *RemoveResourcePermissionInput, opts ...request.Option) (*RemoveResourcePermissionOutput, error) {
3791	req, out := c.RemoveResourcePermissionRequest(input)
3792	req.SetContext(ctx)
3793	req.ApplyOptions(opts...)
3794	return out, req.Send()
3795}
3796
3797const opUpdateDocument = "UpdateDocument"
3798
3799// UpdateDocumentRequest generates a "aws/request.Request" representing the
3800// client's request for the UpdateDocument operation. The "output" return
3801// value will be populated with the request's response once the request completes
3802// successfully.
3803//
3804// Use "Send" method on the returned Request to send the API call to the service.
3805// the "output" return value is not valid until after Send returns without error.
3806//
3807// See UpdateDocument for more information on using the UpdateDocument
3808// API call, and error handling.
3809//
3810// This method is useful when you want to inject custom logic or configuration
3811// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3812//
3813//
3814//    // Example sending a request using the UpdateDocumentRequest method.
3815//    req, resp := client.UpdateDocumentRequest(params)
3816//
3817//    err := req.Send()
3818//    if err == nil { // resp is now filled
3819//        fmt.Println(resp)
3820//    }
3821//
3822// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/UpdateDocument
3823func (c *WorkDocs) UpdateDocumentRequest(input *UpdateDocumentInput) (req *request.Request, output *UpdateDocumentOutput) {
3824	op := &request.Operation{
3825		Name:       opUpdateDocument,
3826		HTTPMethod: "PATCH",
3827		HTTPPath:   "/api/v1/documents/{DocumentId}",
3828	}
3829
3830	if input == nil {
3831		input = &UpdateDocumentInput{}
3832	}
3833
3834	output = &UpdateDocumentOutput{}
3835	req = c.newRequest(op, input, output)
3836	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3837	return
3838}
3839
3840// UpdateDocument API operation for Amazon WorkDocs.
3841//
3842// Updates the specified attributes of a document. The user must have access
3843// to both the document and its parent folder, if applicable.
3844//
3845// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3846// with awserr.Error's Code and Message methods to get detailed information about
3847// the error.
3848//
3849// See the AWS API reference guide for Amazon WorkDocs's
3850// API operation UpdateDocument for usage and error information.
3851//
3852// Returned Error Types:
3853//   * EntityNotExistsException
3854//   The resource does not exist.
3855//
3856//   * EntityAlreadyExistsException
3857//   The resource already exists.
3858//
3859//   * LimitExceededException
3860//   The maximum of 100,000 folders under the parent folder has been exceeded.
3861//
3862//   * ProhibitedStateException
3863//   The specified document version is not in the INITIALIZED state.
3864//
3865//   * ConflictingOperationException
3866//   Another operation is in progress on the resource that conflicts with the
3867//   current operation.
3868//
3869//   * ConcurrentModificationException
3870//   The resource hierarchy is changing.
3871//
3872//   * UnauthorizedOperationException
3873//   The operation is not permitted.
3874//
3875//   * UnauthorizedResourceAccessException
3876//   The caller does not have access to perform the action on the resource.
3877//
3878//   * FailedDependencyException
3879//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3880//   under the control of the organization is failing, such as a connected Active
3881//   Directory.
3882//
3883//   * ServiceUnavailableException
3884//   One or more of the dependencies is unavailable.
3885//
3886// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/UpdateDocument
3887func (c *WorkDocs) UpdateDocument(input *UpdateDocumentInput) (*UpdateDocumentOutput, error) {
3888	req, out := c.UpdateDocumentRequest(input)
3889	return out, req.Send()
3890}
3891
3892// UpdateDocumentWithContext is the same as UpdateDocument with the addition of
3893// the ability to pass a context and additional request options.
3894//
3895// See UpdateDocument for details on how to use this API operation.
3896//
3897// The context must be non-nil and will be used for request cancellation. If
3898// the context is nil a panic will occur. In the future the SDK may create
3899// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3900// for more information on using Contexts.
3901func (c *WorkDocs) UpdateDocumentWithContext(ctx aws.Context, input *UpdateDocumentInput, opts ...request.Option) (*UpdateDocumentOutput, error) {
3902	req, out := c.UpdateDocumentRequest(input)
3903	req.SetContext(ctx)
3904	req.ApplyOptions(opts...)
3905	return out, req.Send()
3906}
3907
3908const opUpdateDocumentVersion = "UpdateDocumentVersion"
3909
3910// UpdateDocumentVersionRequest generates a "aws/request.Request" representing the
3911// client's request for the UpdateDocumentVersion operation. The "output" return
3912// value will be populated with the request's response once the request completes
3913// successfully.
3914//
3915// Use "Send" method on the returned Request to send the API call to the service.
3916// the "output" return value is not valid until after Send returns without error.
3917//
3918// See UpdateDocumentVersion for more information on using the UpdateDocumentVersion
3919// API call, and error handling.
3920//
3921// This method is useful when you want to inject custom logic or configuration
3922// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3923//
3924//
3925//    // Example sending a request using the UpdateDocumentVersionRequest method.
3926//    req, resp := client.UpdateDocumentVersionRequest(params)
3927//
3928//    err := req.Send()
3929//    if err == nil { // resp is now filled
3930//        fmt.Println(resp)
3931//    }
3932//
3933// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/UpdateDocumentVersion
3934func (c *WorkDocs) UpdateDocumentVersionRequest(input *UpdateDocumentVersionInput) (req *request.Request, output *UpdateDocumentVersionOutput) {
3935	op := &request.Operation{
3936		Name:       opUpdateDocumentVersion,
3937		HTTPMethod: "PATCH",
3938		HTTPPath:   "/api/v1/documents/{DocumentId}/versions/{VersionId}",
3939	}
3940
3941	if input == nil {
3942		input = &UpdateDocumentVersionInput{}
3943	}
3944
3945	output = &UpdateDocumentVersionOutput{}
3946	req = c.newRequest(op, input, output)
3947	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3948	return
3949}
3950
3951// UpdateDocumentVersion API operation for Amazon WorkDocs.
3952//
3953// Changes the status of the document version to ACTIVE.
3954//
3955// Amazon WorkDocs also sets its document container to ACTIVE. This is the last
3956// step in a document upload, after the client uploads the document to an S3-presigned
3957// URL returned by InitiateDocumentVersionUpload.
3958//
3959// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3960// with awserr.Error's Code and Message methods to get detailed information about
3961// the error.
3962//
3963// See the AWS API reference guide for Amazon WorkDocs's
3964// API operation UpdateDocumentVersion for usage and error information.
3965//
3966// Returned Error Types:
3967//   * EntityNotExistsException
3968//   The resource does not exist.
3969//
3970//   * ProhibitedStateException
3971//   The specified document version is not in the INITIALIZED state.
3972//
3973//   * ConcurrentModificationException
3974//   The resource hierarchy is changing.
3975//
3976//   * InvalidOperationException
3977//   The operation is invalid.
3978//
3979//   * UnauthorizedOperationException
3980//   The operation is not permitted.
3981//
3982//   * UnauthorizedResourceAccessException
3983//   The caller does not have access to perform the action on the resource.
3984//
3985//   * FailedDependencyException
3986//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3987//   under the control of the organization is failing, such as a connected Active
3988//   Directory.
3989//
3990//   * ServiceUnavailableException
3991//   One or more of the dependencies is unavailable.
3992//
3993// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/UpdateDocumentVersion
3994func (c *WorkDocs) UpdateDocumentVersion(input *UpdateDocumentVersionInput) (*UpdateDocumentVersionOutput, error) {
3995	req, out := c.UpdateDocumentVersionRequest(input)
3996	return out, req.Send()
3997}
3998
3999// UpdateDocumentVersionWithContext is the same as UpdateDocumentVersion with the addition of
4000// the ability to pass a context and additional request options.
4001//
4002// See UpdateDocumentVersion for details on how to use this API operation.
4003//
4004// The context must be non-nil and will be used for request cancellation. If
4005// the context is nil a panic will occur. In the future the SDK may create
4006// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4007// for more information on using Contexts.
4008func (c *WorkDocs) UpdateDocumentVersionWithContext(ctx aws.Context, input *UpdateDocumentVersionInput, opts ...request.Option) (*UpdateDocumentVersionOutput, error) {
4009	req, out := c.UpdateDocumentVersionRequest(input)
4010	req.SetContext(ctx)
4011	req.ApplyOptions(opts...)
4012	return out, req.Send()
4013}
4014
4015const opUpdateFolder = "UpdateFolder"
4016
4017// UpdateFolderRequest generates a "aws/request.Request" representing the
4018// client's request for the UpdateFolder operation. The "output" return
4019// value will be populated with the request's response once the request completes
4020// successfully.
4021//
4022// Use "Send" method on the returned Request to send the API call to the service.
4023// the "output" return value is not valid until after Send returns without error.
4024//
4025// See UpdateFolder for more information on using the UpdateFolder
4026// API call, and error handling.
4027//
4028// This method is useful when you want to inject custom logic or configuration
4029// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4030//
4031//
4032//    // Example sending a request using the UpdateFolderRequest method.
4033//    req, resp := client.UpdateFolderRequest(params)
4034//
4035//    err := req.Send()
4036//    if err == nil { // resp is now filled
4037//        fmt.Println(resp)
4038//    }
4039//
4040// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/UpdateFolder
4041func (c *WorkDocs) UpdateFolderRequest(input *UpdateFolderInput) (req *request.Request, output *UpdateFolderOutput) {
4042	op := &request.Operation{
4043		Name:       opUpdateFolder,
4044		HTTPMethod: "PATCH",
4045		HTTPPath:   "/api/v1/folders/{FolderId}",
4046	}
4047
4048	if input == nil {
4049		input = &UpdateFolderInput{}
4050	}
4051
4052	output = &UpdateFolderOutput{}
4053	req = c.newRequest(op, input, output)
4054	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4055	return
4056}
4057
4058// UpdateFolder API operation for Amazon WorkDocs.
4059//
4060// Updates the specified attributes of the specified folder. The user must have
4061// access to both the folder and its parent folder, if applicable.
4062//
4063// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4064// with awserr.Error's Code and Message methods to get detailed information about
4065// the error.
4066//
4067// See the AWS API reference guide for Amazon WorkDocs's
4068// API operation UpdateFolder for usage and error information.
4069//
4070// Returned Error Types:
4071//   * EntityNotExistsException
4072//   The resource does not exist.
4073//
4074//   * EntityAlreadyExistsException
4075//   The resource already exists.
4076//
4077//   * ProhibitedStateException
4078//   The specified document version is not in the INITIALIZED state.
4079//
4080//   * ConflictingOperationException
4081//   Another operation is in progress on the resource that conflicts with the
4082//   current operation.
4083//
4084//   * ConcurrentModificationException
4085//   The resource hierarchy is changing.
4086//
4087//   * LimitExceededException
4088//   The maximum of 100,000 folders under the parent folder has been exceeded.
4089//
4090//   * UnauthorizedOperationException
4091//   The operation is not permitted.
4092//
4093//   * UnauthorizedResourceAccessException
4094//   The caller does not have access to perform the action on the resource.
4095//
4096//   * FailedDependencyException
4097//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
4098//   under the control of the organization is failing, such as a connected Active
4099//   Directory.
4100//
4101//   * ServiceUnavailableException
4102//   One or more of the dependencies is unavailable.
4103//
4104// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/UpdateFolder
4105func (c *WorkDocs) UpdateFolder(input *UpdateFolderInput) (*UpdateFolderOutput, error) {
4106	req, out := c.UpdateFolderRequest(input)
4107	return out, req.Send()
4108}
4109
4110// UpdateFolderWithContext is the same as UpdateFolder with the addition of
4111// the ability to pass a context and additional request options.
4112//
4113// See UpdateFolder for details on how to use this API operation.
4114//
4115// The context must be non-nil and will be used for request cancellation. If
4116// the context is nil a panic will occur. In the future the SDK may create
4117// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4118// for more information on using Contexts.
4119func (c *WorkDocs) UpdateFolderWithContext(ctx aws.Context, input *UpdateFolderInput, opts ...request.Option) (*UpdateFolderOutput, error) {
4120	req, out := c.UpdateFolderRequest(input)
4121	req.SetContext(ctx)
4122	req.ApplyOptions(opts...)
4123	return out, req.Send()
4124}
4125
4126const opUpdateUser = "UpdateUser"
4127
4128// UpdateUserRequest generates a "aws/request.Request" representing the
4129// client's request for the UpdateUser operation. The "output" return
4130// value will be populated with the request's response once the request completes
4131// successfully.
4132//
4133// Use "Send" method on the returned Request to send the API call to the service.
4134// the "output" return value is not valid until after Send returns without error.
4135//
4136// See UpdateUser for more information on using the UpdateUser
4137// API call, and error handling.
4138//
4139// This method is useful when you want to inject custom logic or configuration
4140// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4141//
4142//
4143//    // Example sending a request using the UpdateUserRequest method.
4144//    req, resp := client.UpdateUserRequest(params)
4145//
4146//    err := req.Send()
4147//    if err == nil { // resp is now filled
4148//        fmt.Println(resp)
4149//    }
4150//
4151// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/UpdateUser
4152func (c *WorkDocs) UpdateUserRequest(input *UpdateUserInput) (req *request.Request, output *UpdateUserOutput) {
4153	op := &request.Operation{
4154		Name:       opUpdateUser,
4155		HTTPMethod: "PATCH",
4156		HTTPPath:   "/api/v1/users/{UserId}",
4157	}
4158
4159	if input == nil {
4160		input = &UpdateUserInput{}
4161	}
4162
4163	output = &UpdateUserOutput{}
4164	req = c.newRequest(op, input, output)
4165	return
4166}
4167
4168// UpdateUser API operation for Amazon WorkDocs.
4169//
4170// Updates the specified attributes of the specified user, and grants or revokes
4171// administrative privileges to the Amazon WorkDocs site.
4172//
4173// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4174// with awserr.Error's Code and Message methods to get detailed information about
4175// the error.
4176//
4177// See the AWS API reference guide for Amazon WorkDocs's
4178// API operation UpdateUser for usage and error information.
4179//
4180// Returned Error Types:
4181//   * EntityNotExistsException
4182//   The resource does not exist.
4183//
4184//   * UnauthorizedOperationException
4185//   The operation is not permitted.
4186//
4187//   * UnauthorizedResourceAccessException
4188//   The caller does not have access to perform the action on the resource.
4189//
4190//   * IllegalUserStateException
4191//   The user is undergoing transfer of ownership.
4192//
4193//   * FailedDependencyException
4194//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
4195//   under the control of the organization is failing, such as a connected Active
4196//   Directory.
4197//
4198//   * ServiceUnavailableException
4199//   One or more of the dependencies is unavailable.
4200//
4201//   * DeactivatingLastSystemUserException
4202//   The last user in the organization is being deactivated.
4203//
4204//   * InvalidArgumentException
4205//   The pagination marker or limit fields are not valid.
4206//
4207// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/UpdateUser
4208func (c *WorkDocs) UpdateUser(input *UpdateUserInput) (*UpdateUserOutput, error) {
4209	req, out := c.UpdateUserRequest(input)
4210	return out, req.Send()
4211}
4212
4213// UpdateUserWithContext is the same as UpdateUser with the addition of
4214// the ability to pass a context and additional request options.
4215//
4216// See UpdateUser for details on how to use this API operation.
4217//
4218// The context must be non-nil and will be used for request cancellation. If
4219// the context is nil a panic will occur. In the future the SDK may create
4220// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4221// for more information on using Contexts.
4222func (c *WorkDocs) UpdateUserWithContext(ctx aws.Context, input *UpdateUserInput, opts ...request.Option) (*UpdateUserOutput, error) {
4223	req, out := c.UpdateUserRequest(input)
4224	req.SetContext(ctx)
4225	req.ApplyOptions(opts...)
4226	return out, req.Send()
4227}
4228
4229type AbortDocumentVersionUploadInput struct {
4230	_ struct{} `type:"structure"`
4231
4232	// Amazon WorkDocs authentication token. Not required when using AWS administrator
4233	// credentials to access the API.
4234	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
4235
4236	// The ID of the document.
4237	//
4238	// DocumentId is a required field
4239	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
4240
4241	// The ID of the version.
4242	//
4243	// VersionId is a required field
4244	VersionId *string `location:"uri" locationName:"VersionId" min:"1" type:"string" required:"true"`
4245}
4246
4247// String returns the string representation
4248func (s AbortDocumentVersionUploadInput) String() string {
4249	return awsutil.Prettify(s)
4250}
4251
4252// GoString returns the string representation
4253func (s AbortDocumentVersionUploadInput) GoString() string {
4254	return s.String()
4255}
4256
4257// Validate inspects the fields of the type to determine if they are valid.
4258func (s *AbortDocumentVersionUploadInput) Validate() error {
4259	invalidParams := request.ErrInvalidParams{Context: "AbortDocumentVersionUploadInput"}
4260	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
4261		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
4262	}
4263	if s.DocumentId == nil {
4264		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
4265	}
4266	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
4267		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
4268	}
4269	if s.VersionId == nil {
4270		invalidParams.Add(request.NewErrParamRequired("VersionId"))
4271	}
4272	if s.VersionId != nil && len(*s.VersionId) < 1 {
4273		invalidParams.Add(request.NewErrParamMinLen("VersionId", 1))
4274	}
4275
4276	if invalidParams.Len() > 0 {
4277		return invalidParams
4278	}
4279	return nil
4280}
4281
4282// SetAuthenticationToken sets the AuthenticationToken field's value.
4283func (s *AbortDocumentVersionUploadInput) SetAuthenticationToken(v string) *AbortDocumentVersionUploadInput {
4284	s.AuthenticationToken = &v
4285	return s
4286}
4287
4288// SetDocumentId sets the DocumentId field's value.
4289func (s *AbortDocumentVersionUploadInput) SetDocumentId(v string) *AbortDocumentVersionUploadInput {
4290	s.DocumentId = &v
4291	return s
4292}
4293
4294// SetVersionId sets the VersionId field's value.
4295func (s *AbortDocumentVersionUploadInput) SetVersionId(v string) *AbortDocumentVersionUploadInput {
4296	s.VersionId = &v
4297	return s
4298}
4299
4300type AbortDocumentVersionUploadOutput struct {
4301	_ struct{} `type:"structure"`
4302}
4303
4304// String returns the string representation
4305func (s AbortDocumentVersionUploadOutput) String() string {
4306	return awsutil.Prettify(s)
4307}
4308
4309// GoString returns the string representation
4310func (s AbortDocumentVersionUploadOutput) GoString() string {
4311	return s.String()
4312}
4313
4314type ActivateUserInput struct {
4315	_ struct{} `type:"structure"`
4316
4317	// Amazon WorkDocs authentication token. Not required when using AWS administrator
4318	// credentials to access the API.
4319	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
4320
4321	// The ID of the user.
4322	//
4323	// UserId is a required field
4324	UserId *string `location:"uri" locationName:"UserId" min:"1" type:"string" required:"true"`
4325}
4326
4327// String returns the string representation
4328func (s ActivateUserInput) String() string {
4329	return awsutil.Prettify(s)
4330}
4331
4332// GoString returns the string representation
4333func (s ActivateUserInput) GoString() string {
4334	return s.String()
4335}
4336
4337// Validate inspects the fields of the type to determine if they are valid.
4338func (s *ActivateUserInput) Validate() error {
4339	invalidParams := request.ErrInvalidParams{Context: "ActivateUserInput"}
4340	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
4341		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
4342	}
4343	if s.UserId == nil {
4344		invalidParams.Add(request.NewErrParamRequired("UserId"))
4345	}
4346	if s.UserId != nil && len(*s.UserId) < 1 {
4347		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
4348	}
4349
4350	if invalidParams.Len() > 0 {
4351		return invalidParams
4352	}
4353	return nil
4354}
4355
4356// SetAuthenticationToken sets the AuthenticationToken field's value.
4357func (s *ActivateUserInput) SetAuthenticationToken(v string) *ActivateUserInput {
4358	s.AuthenticationToken = &v
4359	return s
4360}
4361
4362// SetUserId sets the UserId field's value.
4363func (s *ActivateUserInput) SetUserId(v string) *ActivateUserInput {
4364	s.UserId = &v
4365	return s
4366}
4367
4368type ActivateUserOutput struct {
4369	_ struct{} `type:"structure"`
4370
4371	// The user information.
4372	User *User `type:"structure"`
4373}
4374
4375// String returns the string representation
4376func (s ActivateUserOutput) String() string {
4377	return awsutil.Prettify(s)
4378}
4379
4380// GoString returns the string representation
4381func (s ActivateUserOutput) GoString() string {
4382	return s.String()
4383}
4384
4385// SetUser sets the User field's value.
4386func (s *ActivateUserOutput) SetUser(v *User) *ActivateUserOutput {
4387	s.User = v
4388	return s
4389}
4390
4391// Describes the activity information.
4392type Activity struct {
4393	_ struct{} `type:"structure"`
4394
4395	// Metadata of the commenting activity. This is an optional field and is filled
4396	// for commenting activities.
4397	CommentMetadata *CommentMetadata `type:"structure"`
4398
4399	// The user who performed the action.
4400	Initiator *UserMetadata `type:"structure"`
4401
4402	// Indicates whether an activity is indirect or direct. An indirect activity
4403	// results from a direct activity performed on a parent resource. For example,
4404	// sharing a parent folder (the direct activity) shares all of the subfolders
4405	// and documents within the parent folder (the indirect activity).
4406	IsIndirectActivity *bool `type:"boolean"`
4407
4408	// The ID of the organization.
4409	OrganizationId *string `min:"1" type:"string"`
4410
4411	// The original parent of the resource. This is an optional field and is filled
4412	// for move activities.
4413	OriginalParent *ResourceMetadata `type:"structure"`
4414
4415	// The list of users or groups impacted by this action. This is an optional
4416	// field and is filled for the following sharing activities: DOCUMENT_SHARED,
4417	// DOCUMENT_SHARED, DOCUMENT_UNSHARED, FOLDER_SHARED, FOLDER_UNSHARED.
4418	Participants *Participants `type:"structure"`
4419
4420	// The metadata of the resource involved in the user action.
4421	ResourceMetadata *ResourceMetadata `type:"structure"`
4422
4423	// The timestamp when the action was performed.
4424	TimeStamp *time.Time `type:"timestamp"`
4425
4426	// The activity type.
4427	Type *string `type:"string" enum:"ActivityType"`
4428}
4429
4430// String returns the string representation
4431func (s Activity) String() string {
4432	return awsutil.Prettify(s)
4433}
4434
4435// GoString returns the string representation
4436func (s Activity) GoString() string {
4437	return s.String()
4438}
4439
4440// SetCommentMetadata sets the CommentMetadata field's value.
4441func (s *Activity) SetCommentMetadata(v *CommentMetadata) *Activity {
4442	s.CommentMetadata = v
4443	return s
4444}
4445
4446// SetInitiator sets the Initiator field's value.
4447func (s *Activity) SetInitiator(v *UserMetadata) *Activity {
4448	s.Initiator = v
4449	return s
4450}
4451
4452// SetIsIndirectActivity sets the IsIndirectActivity field's value.
4453func (s *Activity) SetIsIndirectActivity(v bool) *Activity {
4454	s.IsIndirectActivity = &v
4455	return s
4456}
4457
4458// SetOrganizationId sets the OrganizationId field's value.
4459func (s *Activity) SetOrganizationId(v string) *Activity {
4460	s.OrganizationId = &v
4461	return s
4462}
4463
4464// SetOriginalParent sets the OriginalParent field's value.
4465func (s *Activity) SetOriginalParent(v *ResourceMetadata) *Activity {
4466	s.OriginalParent = v
4467	return s
4468}
4469
4470// SetParticipants sets the Participants field's value.
4471func (s *Activity) SetParticipants(v *Participants) *Activity {
4472	s.Participants = v
4473	return s
4474}
4475
4476// SetResourceMetadata sets the ResourceMetadata field's value.
4477func (s *Activity) SetResourceMetadata(v *ResourceMetadata) *Activity {
4478	s.ResourceMetadata = v
4479	return s
4480}
4481
4482// SetTimeStamp sets the TimeStamp field's value.
4483func (s *Activity) SetTimeStamp(v time.Time) *Activity {
4484	s.TimeStamp = &v
4485	return s
4486}
4487
4488// SetType sets the Type field's value.
4489func (s *Activity) SetType(v string) *Activity {
4490	s.Type = &v
4491	return s
4492}
4493
4494type AddResourcePermissionsInput struct {
4495	_ struct{} `type:"structure"`
4496
4497	// Amazon WorkDocs authentication token. Not required when using AWS administrator
4498	// credentials to access the API.
4499	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
4500
4501	// The notification options.
4502	NotificationOptions *NotificationOptions `type:"structure"`
4503
4504	// The users, groups, or organization being granted permission.
4505	//
4506	// Principals is a required field
4507	Principals []*SharePrincipal `type:"list" required:"true"`
4508
4509	// The ID of the resource.
4510	//
4511	// ResourceId is a required field
4512	ResourceId *string `location:"uri" locationName:"ResourceId" min:"1" type:"string" required:"true"`
4513}
4514
4515// String returns the string representation
4516func (s AddResourcePermissionsInput) String() string {
4517	return awsutil.Prettify(s)
4518}
4519
4520// GoString returns the string representation
4521func (s AddResourcePermissionsInput) GoString() string {
4522	return s.String()
4523}
4524
4525// Validate inspects the fields of the type to determine if they are valid.
4526func (s *AddResourcePermissionsInput) Validate() error {
4527	invalidParams := request.ErrInvalidParams{Context: "AddResourcePermissionsInput"}
4528	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
4529		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
4530	}
4531	if s.Principals == nil {
4532		invalidParams.Add(request.NewErrParamRequired("Principals"))
4533	}
4534	if s.ResourceId == nil {
4535		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
4536	}
4537	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
4538		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
4539	}
4540	if s.Principals != nil {
4541		for i, v := range s.Principals {
4542			if v == nil {
4543				continue
4544			}
4545			if err := v.Validate(); err != nil {
4546				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Principals", i), err.(request.ErrInvalidParams))
4547			}
4548		}
4549	}
4550
4551	if invalidParams.Len() > 0 {
4552		return invalidParams
4553	}
4554	return nil
4555}
4556
4557// SetAuthenticationToken sets the AuthenticationToken field's value.
4558func (s *AddResourcePermissionsInput) SetAuthenticationToken(v string) *AddResourcePermissionsInput {
4559	s.AuthenticationToken = &v
4560	return s
4561}
4562
4563// SetNotificationOptions sets the NotificationOptions field's value.
4564func (s *AddResourcePermissionsInput) SetNotificationOptions(v *NotificationOptions) *AddResourcePermissionsInput {
4565	s.NotificationOptions = v
4566	return s
4567}
4568
4569// SetPrincipals sets the Principals field's value.
4570func (s *AddResourcePermissionsInput) SetPrincipals(v []*SharePrincipal) *AddResourcePermissionsInput {
4571	s.Principals = v
4572	return s
4573}
4574
4575// SetResourceId sets the ResourceId field's value.
4576func (s *AddResourcePermissionsInput) SetResourceId(v string) *AddResourcePermissionsInput {
4577	s.ResourceId = &v
4578	return s
4579}
4580
4581type AddResourcePermissionsOutput struct {
4582	_ struct{} `type:"structure"`
4583
4584	// The share results.
4585	ShareResults []*ShareResult `type:"list"`
4586}
4587
4588// String returns the string representation
4589func (s AddResourcePermissionsOutput) String() string {
4590	return awsutil.Prettify(s)
4591}
4592
4593// GoString returns the string representation
4594func (s AddResourcePermissionsOutput) GoString() string {
4595	return s.String()
4596}
4597
4598// SetShareResults sets the ShareResults field's value.
4599func (s *AddResourcePermissionsOutput) SetShareResults(v []*ShareResult) *AddResourcePermissionsOutput {
4600	s.ShareResults = v
4601	return s
4602}
4603
4604// Describes a comment.
4605type Comment struct {
4606	_ struct{} `type:"structure"`
4607
4608	// The ID of the comment.
4609	//
4610	// CommentId is a required field
4611	CommentId *string `min:"1" type:"string" required:"true"`
4612
4613	// The details of the user who made the comment.
4614	Contributor *User `type:"structure"`
4615
4616	// The time that the comment was created.
4617	CreatedTimestamp *time.Time `type:"timestamp"`
4618
4619	// The ID of the parent comment.
4620	ParentId *string `min:"1" type:"string"`
4621
4622	// If the comment is a reply to another user's comment, this field contains
4623	// the user ID of the user being replied to.
4624	RecipientId *string `min:"1" type:"string"`
4625
4626	// The status of the comment.
4627	Status *string `type:"string" enum:"CommentStatusType"`
4628
4629	// The text of the comment.
4630	Text *string `min:"1" type:"string" sensitive:"true"`
4631
4632	// The ID of the root comment in the thread.
4633	ThreadId *string `min:"1" type:"string"`
4634
4635	// The visibility of the comment. Options are either PRIVATE, where the comment
4636	// is visible only to the comment author and document owner and co-owners, or
4637	// PUBLIC, where the comment is visible to document owners, co-owners, and contributors.
4638	Visibility *string `type:"string" enum:"CommentVisibilityType"`
4639}
4640
4641// String returns the string representation
4642func (s Comment) String() string {
4643	return awsutil.Prettify(s)
4644}
4645
4646// GoString returns the string representation
4647func (s Comment) GoString() string {
4648	return s.String()
4649}
4650
4651// SetCommentId sets the CommentId field's value.
4652func (s *Comment) SetCommentId(v string) *Comment {
4653	s.CommentId = &v
4654	return s
4655}
4656
4657// SetContributor sets the Contributor field's value.
4658func (s *Comment) SetContributor(v *User) *Comment {
4659	s.Contributor = v
4660	return s
4661}
4662
4663// SetCreatedTimestamp sets the CreatedTimestamp field's value.
4664func (s *Comment) SetCreatedTimestamp(v time.Time) *Comment {
4665	s.CreatedTimestamp = &v
4666	return s
4667}
4668
4669// SetParentId sets the ParentId field's value.
4670func (s *Comment) SetParentId(v string) *Comment {
4671	s.ParentId = &v
4672	return s
4673}
4674
4675// SetRecipientId sets the RecipientId field's value.
4676func (s *Comment) SetRecipientId(v string) *Comment {
4677	s.RecipientId = &v
4678	return s
4679}
4680
4681// SetStatus sets the Status field's value.
4682func (s *Comment) SetStatus(v string) *Comment {
4683	s.Status = &v
4684	return s
4685}
4686
4687// SetText sets the Text field's value.
4688func (s *Comment) SetText(v string) *Comment {
4689	s.Text = &v
4690	return s
4691}
4692
4693// SetThreadId sets the ThreadId field's value.
4694func (s *Comment) SetThreadId(v string) *Comment {
4695	s.ThreadId = &v
4696	return s
4697}
4698
4699// SetVisibility sets the Visibility field's value.
4700func (s *Comment) SetVisibility(v string) *Comment {
4701	s.Visibility = &v
4702	return s
4703}
4704
4705// Describes the metadata of a comment.
4706type CommentMetadata struct {
4707	_ struct{} `type:"structure"`
4708
4709	// The ID of the comment.
4710	CommentId *string `min:"1" type:"string"`
4711
4712	// The status of the comment.
4713	CommentStatus *string `type:"string" enum:"CommentStatusType"`
4714
4715	// The user who made the comment.
4716	Contributor *User `type:"structure"`
4717
4718	// The timestamp that the comment was created.
4719	CreatedTimestamp *time.Time `type:"timestamp"`
4720
4721	// The ID of the user being replied to.
4722	RecipientId *string `min:"1" type:"string"`
4723}
4724
4725// String returns the string representation
4726func (s CommentMetadata) String() string {
4727	return awsutil.Prettify(s)
4728}
4729
4730// GoString returns the string representation
4731func (s CommentMetadata) GoString() string {
4732	return s.String()
4733}
4734
4735// SetCommentId sets the CommentId field's value.
4736func (s *CommentMetadata) SetCommentId(v string) *CommentMetadata {
4737	s.CommentId = &v
4738	return s
4739}
4740
4741// SetCommentStatus sets the CommentStatus field's value.
4742func (s *CommentMetadata) SetCommentStatus(v string) *CommentMetadata {
4743	s.CommentStatus = &v
4744	return s
4745}
4746
4747// SetContributor sets the Contributor field's value.
4748func (s *CommentMetadata) SetContributor(v *User) *CommentMetadata {
4749	s.Contributor = v
4750	return s
4751}
4752
4753// SetCreatedTimestamp sets the CreatedTimestamp field's value.
4754func (s *CommentMetadata) SetCreatedTimestamp(v time.Time) *CommentMetadata {
4755	s.CreatedTimestamp = &v
4756	return s
4757}
4758
4759// SetRecipientId sets the RecipientId field's value.
4760func (s *CommentMetadata) SetRecipientId(v string) *CommentMetadata {
4761	s.RecipientId = &v
4762	return s
4763}
4764
4765// The resource hierarchy is changing.
4766type ConcurrentModificationException struct {
4767	_            struct{}                  `type:"structure"`
4768	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4769
4770	Message_ *string `locationName:"Message" type:"string"`
4771}
4772
4773// String returns the string representation
4774func (s ConcurrentModificationException) String() string {
4775	return awsutil.Prettify(s)
4776}
4777
4778// GoString returns the string representation
4779func (s ConcurrentModificationException) GoString() string {
4780	return s.String()
4781}
4782
4783func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error {
4784	return &ConcurrentModificationException{
4785		RespMetadata: v,
4786	}
4787}
4788
4789// Code returns the exception type name.
4790func (s *ConcurrentModificationException) Code() string {
4791	return "ConcurrentModificationException"
4792}
4793
4794// Message returns the exception's message.
4795func (s *ConcurrentModificationException) Message() string {
4796	if s.Message_ != nil {
4797		return *s.Message_
4798	}
4799	return ""
4800}
4801
4802// OrigErr always returns nil, satisfies awserr.Error interface.
4803func (s *ConcurrentModificationException) OrigErr() error {
4804	return nil
4805}
4806
4807func (s *ConcurrentModificationException) Error() string {
4808	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4809}
4810
4811// Status code returns the HTTP status code for the request's response error.
4812func (s *ConcurrentModificationException) StatusCode() int {
4813	return s.RespMetadata.StatusCode
4814}
4815
4816// RequestID returns the service's response RequestID for request.
4817func (s *ConcurrentModificationException) RequestID() string {
4818	return s.RespMetadata.RequestID
4819}
4820
4821// Another operation is in progress on the resource that conflicts with the
4822// current operation.
4823type ConflictingOperationException struct {
4824	_            struct{}                  `type:"structure"`
4825	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4826
4827	Message_ *string `locationName:"Message" type:"string"`
4828}
4829
4830// String returns the string representation
4831func (s ConflictingOperationException) String() string {
4832	return awsutil.Prettify(s)
4833}
4834
4835// GoString returns the string representation
4836func (s ConflictingOperationException) GoString() string {
4837	return s.String()
4838}
4839
4840func newErrorConflictingOperationException(v protocol.ResponseMetadata) error {
4841	return &ConflictingOperationException{
4842		RespMetadata: v,
4843	}
4844}
4845
4846// Code returns the exception type name.
4847func (s *ConflictingOperationException) Code() string {
4848	return "ConflictingOperationException"
4849}
4850
4851// Message returns the exception's message.
4852func (s *ConflictingOperationException) Message() string {
4853	if s.Message_ != nil {
4854		return *s.Message_
4855	}
4856	return ""
4857}
4858
4859// OrigErr always returns nil, satisfies awserr.Error interface.
4860func (s *ConflictingOperationException) OrigErr() error {
4861	return nil
4862}
4863
4864func (s *ConflictingOperationException) Error() string {
4865	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4866}
4867
4868// Status code returns the HTTP status code for the request's response error.
4869func (s *ConflictingOperationException) StatusCode() int {
4870	return s.RespMetadata.StatusCode
4871}
4872
4873// RequestID returns the service's response RequestID for request.
4874func (s *ConflictingOperationException) RequestID() string {
4875	return s.RespMetadata.RequestID
4876}
4877
4878type CreateCommentInput struct {
4879	_ struct{} `type:"structure"`
4880
4881	// Amazon WorkDocs authentication token. Not required when using AWS administrator
4882	// credentials to access the API.
4883	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
4884
4885	// The ID of the document.
4886	//
4887	// DocumentId is a required field
4888	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
4889
4890	// Set this parameter to TRUE to send an email out to the document collaborators
4891	// after the comment is created.
4892	NotifyCollaborators *bool `type:"boolean"`
4893
4894	// The ID of the parent comment.
4895	ParentId *string `min:"1" type:"string"`
4896
4897	// The text of the comment.
4898	//
4899	// Text is a required field
4900	Text *string `min:"1" type:"string" required:"true" sensitive:"true"`
4901
4902	// The ID of the root comment in the thread.
4903	ThreadId *string `min:"1" type:"string"`
4904
4905	// The ID of the document version.
4906	//
4907	// VersionId is a required field
4908	VersionId *string `location:"uri" locationName:"VersionId" min:"1" type:"string" required:"true"`
4909
4910	// The visibility of the comment. Options are either PRIVATE, where the comment
4911	// is visible only to the comment author and document owner and co-owners, or
4912	// PUBLIC, where the comment is visible to document owners, co-owners, and contributors.
4913	Visibility *string `type:"string" enum:"CommentVisibilityType"`
4914}
4915
4916// String returns the string representation
4917func (s CreateCommentInput) String() string {
4918	return awsutil.Prettify(s)
4919}
4920
4921// GoString returns the string representation
4922func (s CreateCommentInput) GoString() string {
4923	return s.String()
4924}
4925
4926// Validate inspects the fields of the type to determine if they are valid.
4927func (s *CreateCommentInput) Validate() error {
4928	invalidParams := request.ErrInvalidParams{Context: "CreateCommentInput"}
4929	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
4930		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
4931	}
4932	if s.DocumentId == nil {
4933		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
4934	}
4935	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
4936		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
4937	}
4938	if s.ParentId != nil && len(*s.ParentId) < 1 {
4939		invalidParams.Add(request.NewErrParamMinLen("ParentId", 1))
4940	}
4941	if s.Text == nil {
4942		invalidParams.Add(request.NewErrParamRequired("Text"))
4943	}
4944	if s.Text != nil && len(*s.Text) < 1 {
4945		invalidParams.Add(request.NewErrParamMinLen("Text", 1))
4946	}
4947	if s.ThreadId != nil && len(*s.ThreadId) < 1 {
4948		invalidParams.Add(request.NewErrParamMinLen("ThreadId", 1))
4949	}
4950	if s.VersionId == nil {
4951		invalidParams.Add(request.NewErrParamRequired("VersionId"))
4952	}
4953	if s.VersionId != nil && len(*s.VersionId) < 1 {
4954		invalidParams.Add(request.NewErrParamMinLen("VersionId", 1))
4955	}
4956
4957	if invalidParams.Len() > 0 {
4958		return invalidParams
4959	}
4960	return nil
4961}
4962
4963// SetAuthenticationToken sets the AuthenticationToken field's value.
4964func (s *CreateCommentInput) SetAuthenticationToken(v string) *CreateCommentInput {
4965	s.AuthenticationToken = &v
4966	return s
4967}
4968
4969// SetDocumentId sets the DocumentId field's value.
4970func (s *CreateCommentInput) SetDocumentId(v string) *CreateCommentInput {
4971	s.DocumentId = &v
4972	return s
4973}
4974
4975// SetNotifyCollaborators sets the NotifyCollaborators field's value.
4976func (s *CreateCommentInput) SetNotifyCollaborators(v bool) *CreateCommentInput {
4977	s.NotifyCollaborators = &v
4978	return s
4979}
4980
4981// SetParentId sets the ParentId field's value.
4982func (s *CreateCommentInput) SetParentId(v string) *CreateCommentInput {
4983	s.ParentId = &v
4984	return s
4985}
4986
4987// SetText sets the Text field's value.
4988func (s *CreateCommentInput) SetText(v string) *CreateCommentInput {
4989	s.Text = &v
4990	return s
4991}
4992
4993// SetThreadId sets the ThreadId field's value.
4994func (s *CreateCommentInput) SetThreadId(v string) *CreateCommentInput {
4995	s.ThreadId = &v
4996	return s
4997}
4998
4999// SetVersionId sets the VersionId field's value.
5000func (s *CreateCommentInput) SetVersionId(v string) *CreateCommentInput {
5001	s.VersionId = &v
5002	return s
5003}
5004
5005// SetVisibility sets the Visibility field's value.
5006func (s *CreateCommentInput) SetVisibility(v string) *CreateCommentInput {
5007	s.Visibility = &v
5008	return s
5009}
5010
5011type CreateCommentOutput struct {
5012	_ struct{} `type:"structure"`
5013
5014	// The comment that has been created.
5015	Comment *Comment `type:"structure"`
5016}
5017
5018// String returns the string representation
5019func (s CreateCommentOutput) String() string {
5020	return awsutil.Prettify(s)
5021}
5022
5023// GoString returns the string representation
5024func (s CreateCommentOutput) GoString() string {
5025	return s.String()
5026}
5027
5028// SetComment sets the Comment field's value.
5029func (s *CreateCommentOutput) SetComment(v *Comment) *CreateCommentOutput {
5030	s.Comment = v
5031	return s
5032}
5033
5034type CreateCustomMetadataInput struct {
5035	_ struct{} `type:"structure"`
5036
5037	// Amazon WorkDocs authentication token. Not required when using AWS administrator
5038	// credentials to access the API.
5039	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
5040
5041	// Custom metadata in the form of name-value pairs.
5042	//
5043	// CustomMetadata is a required field
5044	CustomMetadata map[string]*string `min:"1" type:"map" required:"true"`
5045
5046	// The ID of the resource.
5047	//
5048	// ResourceId is a required field
5049	ResourceId *string `location:"uri" locationName:"ResourceId" min:"1" type:"string" required:"true"`
5050
5051	// The ID of the version, if the custom metadata is being added to a document
5052	// version.
5053	VersionId *string `location:"querystring" locationName:"versionid" min:"1" type:"string"`
5054}
5055
5056// String returns the string representation
5057func (s CreateCustomMetadataInput) String() string {
5058	return awsutil.Prettify(s)
5059}
5060
5061// GoString returns the string representation
5062func (s CreateCustomMetadataInput) GoString() string {
5063	return s.String()
5064}
5065
5066// Validate inspects the fields of the type to determine if they are valid.
5067func (s *CreateCustomMetadataInput) Validate() error {
5068	invalidParams := request.ErrInvalidParams{Context: "CreateCustomMetadataInput"}
5069	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
5070		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
5071	}
5072	if s.CustomMetadata == nil {
5073		invalidParams.Add(request.NewErrParamRequired("CustomMetadata"))
5074	}
5075	if s.CustomMetadata != nil && len(s.CustomMetadata) < 1 {
5076		invalidParams.Add(request.NewErrParamMinLen("CustomMetadata", 1))
5077	}
5078	if s.ResourceId == nil {
5079		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
5080	}
5081	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
5082		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
5083	}
5084	if s.VersionId != nil && len(*s.VersionId) < 1 {
5085		invalidParams.Add(request.NewErrParamMinLen("VersionId", 1))
5086	}
5087
5088	if invalidParams.Len() > 0 {
5089		return invalidParams
5090	}
5091	return nil
5092}
5093
5094// SetAuthenticationToken sets the AuthenticationToken field's value.
5095func (s *CreateCustomMetadataInput) SetAuthenticationToken(v string) *CreateCustomMetadataInput {
5096	s.AuthenticationToken = &v
5097	return s
5098}
5099
5100// SetCustomMetadata sets the CustomMetadata field's value.
5101func (s *CreateCustomMetadataInput) SetCustomMetadata(v map[string]*string) *CreateCustomMetadataInput {
5102	s.CustomMetadata = v
5103	return s
5104}
5105
5106// SetResourceId sets the ResourceId field's value.
5107func (s *CreateCustomMetadataInput) SetResourceId(v string) *CreateCustomMetadataInput {
5108	s.ResourceId = &v
5109	return s
5110}
5111
5112// SetVersionId sets the VersionId field's value.
5113func (s *CreateCustomMetadataInput) SetVersionId(v string) *CreateCustomMetadataInput {
5114	s.VersionId = &v
5115	return s
5116}
5117
5118type CreateCustomMetadataOutput struct {
5119	_ struct{} `type:"structure"`
5120}
5121
5122// String returns the string representation
5123func (s CreateCustomMetadataOutput) String() string {
5124	return awsutil.Prettify(s)
5125}
5126
5127// GoString returns the string representation
5128func (s CreateCustomMetadataOutput) GoString() string {
5129	return s.String()
5130}
5131
5132type CreateFolderInput struct {
5133	_ struct{} `type:"structure"`
5134
5135	// Amazon WorkDocs authentication token. Not required when using AWS administrator
5136	// credentials to access the API.
5137	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
5138
5139	// The name of the new folder.
5140	Name *string `min:"1" type:"string"`
5141
5142	// The ID of the parent folder.
5143	//
5144	// ParentFolderId is a required field
5145	ParentFolderId *string `min:"1" type:"string" required:"true"`
5146}
5147
5148// String returns the string representation
5149func (s CreateFolderInput) String() string {
5150	return awsutil.Prettify(s)
5151}
5152
5153// GoString returns the string representation
5154func (s CreateFolderInput) GoString() string {
5155	return s.String()
5156}
5157
5158// Validate inspects the fields of the type to determine if they are valid.
5159func (s *CreateFolderInput) Validate() error {
5160	invalidParams := request.ErrInvalidParams{Context: "CreateFolderInput"}
5161	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
5162		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
5163	}
5164	if s.Name != nil && len(*s.Name) < 1 {
5165		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5166	}
5167	if s.ParentFolderId == nil {
5168		invalidParams.Add(request.NewErrParamRequired("ParentFolderId"))
5169	}
5170	if s.ParentFolderId != nil && len(*s.ParentFolderId) < 1 {
5171		invalidParams.Add(request.NewErrParamMinLen("ParentFolderId", 1))
5172	}
5173
5174	if invalidParams.Len() > 0 {
5175		return invalidParams
5176	}
5177	return nil
5178}
5179
5180// SetAuthenticationToken sets the AuthenticationToken field's value.
5181func (s *CreateFolderInput) SetAuthenticationToken(v string) *CreateFolderInput {
5182	s.AuthenticationToken = &v
5183	return s
5184}
5185
5186// SetName sets the Name field's value.
5187func (s *CreateFolderInput) SetName(v string) *CreateFolderInput {
5188	s.Name = &v
5189	return s
5190}
5191
5192// SetParentFolderId sets the ParentFolderId field's value.
5193func (s *CreateFolderInput) SetParentFolderId(v string) *CreateFolderInput {
5194	s.ParentFolderId = &v
5195	return s
5196}
5197
5198type CreateFolderOutput struct {
5199	_ struct{} `type:"structure"`
5200
5201	// The metadata of the folder.
5202	Metadata *FolderMetadata `type:"structure"`
5203}
5204
5205// String returns the string representation
5206func (s CreateFolderOutput) String() string {
5207	return awsutil.Prettify(s)
5208}
5209
5210// GoString returns the string representation
5211func (s CreateFolderOutput) GoString() string {
5212	return s.String()
5213}
5214
5215// SetMetadata sets the Metadata field's value.
5216func (s *CreateFolderOutput) SetMetadata(v *FolderMetadata) *CreateFolderOutput {
5217	s.Metadata = v
5218	return s
5219}
5220
5221type CreateLabelsInput struct {
5222	_ struct{} `type:"structure"`
5223
5224	// Amazon WorkDocs authentication token. Not required when using AWS administrator
5225	// credentials to access the API.
5226	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
5227
5228	// List of labels to add to the resource.
5229	//
5230	// Labels is a required field
5231	Labels []*string `type:"list" required:"true"`
5232
5233	// The ID of the resource.
5234	//
5235	// ResourceId is a required field
5236	ResourceId *string `location:"uri" locationName:"ResourceId" min:"1" type:"string" required:"true"`
5237}
5238
5239// String returns the string representation
5240func (s CreateLabelsInput) String() string {
5241	return awsutil.Prettify(s)
5242}
5243
5244// GoString returns the string representation
5245func (s CreateLabelsInput) GoString() string {
5246	return s.String()
5247}
5248
5249// Validate inspects the fields of the type to determine if they are valid.
5250func (s *CreateLabelsInput) Validate() error {
5251	invalidParams := request.ErrInvalidParams{Context: "CreateLabelsInput"}
5252	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
5253		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
5254	}
5255	if s.Labels == nil {
5256		invalidParams.Add(request.NewErrParamRequired("Labels"))
5257	}
5258	if s.ResourceId == nil {
5259		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
5260	}
5261	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
5262		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
5263	}
5264
5265	if invalidParams.Len() > 0 {
5266		return invalidParams
5267	}
5268	return nil
5269}
5270
5271// SetAuthenticationToken sets the AuthenticationToken field's value.
5272func (s *CreateLabelsInput) SetAuthenticationToken(v string) *CreateLabelsInput {
5273	s.AuthenticationToken = &v
5274	return s
5275}
5276
5277// SetLabels sets the Labels field's value.
5278func (s *CreateLabelsInput) SetLabels(v []*string) *CreateLabelsInput {
5279	s.Labels = v
5280	return s
5281}
5282
5283// SetResourceId sets the ResourceId field's value.
5284func (s *CreateLabelsInput) SetResourceId(v string) *CreateLabelsInput {
5285	s.ResourceId = &v
5286	return s
5287}
5288
5289type CreateLabelsOutput struct {
5290	_ struct{} `type:"structure"`
5291}
5292
5293// String returns the string representation
5294func (s CreateLabelsOutput) String() string {
5295	return awsutil.Prettify(s)
5296}
5297
5298// GoString returns the string representation
5299func (s CreateLabelsOutput) GoString() string {
5300	return s.String()
5301}
5302
5303type CreateNotificationSubscriptionInput struct {
5304	_ struct{} `type:"structure"`
5305
5306	// The endpoint to receive the notifications. If the protocol is HTTPS, the
5307	// endpoint is a URL that begins with https.
5308	//
5309	// Endpoint is a required field
5310	Endpoint *string `min:"1" type:"string" required:"true"`
5311
5312	// The ID of the organization.
5313	//
5314	// OrganizationId is a required field
5315	OrganizationId *string `location:"uri" locationName:"OrganizationId" min:"1" type:"string" required:"true"`
5316
5317	// The protocol to use. The supported value is https, which delivers JSON-encoded
5318	// messages using HTTPS POST.
5319	//
5320	// Protocol is a required field
5321	Protocol *string `type:"string" required:"true" enum:"SubscriptionProtocolType"`
5322
5323	// The notification type.
5324	//
5325	// SubscriptionType is a required field
5326	SubscriptionType *string `type:"string" required:"true" enum:"SubscriptionType"`
5327}
5328
5329// String returns the string representation
5330func (s CreateNotificationSubscriptionInput) String() string {
5331	return awsutil.Prettify(s)
5332}
5333
5334// GoString returns the string representation
5335func (s CreateNotificationSubscriptionInput) GoString() string {
5336	return s.String()
5337}
5338
5339// Validate inspects the fields of the type to determine if they are valid.
5340func (s *CreateNotificationSubscriptionInput) Validate() error {
5341	invalidParams := request.ErrInvalidParams{Context: "CreateNotificationSubscriptionInput"}
5342	if s.Endpoint == nil {
5343		invalidParams.Add(request.NewErrParamRequired("Endpoint"))
5344	}
5345	if s.Endpoint != nil && len(*s.Endpoint) < 1 {
5346		invalidParams.Add(request.NewErrParamMinLen("Endpoint", 1))
5347	}
5348	if s.OrganizationId == nil {
5349		invalidParams.Add(request.NewErrParamRequired("OrganizationId"))
5350	}
5351	if s.OrganizationId != nil && len(*s.OrganizationId) < 1 {
5352		invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 1))
5353	}
5354	if s.Protocol == nil {
5355		invalidParams.Add(request.NewErrParamRequired("Protocol"))
5356	}
5357	if s.SubscriptionType == nil {
5358		invalidParams.Add(request.NewErrParamRequired("SubscriptionType"))
5359	}
5360
5361	if invalidParams.Len() > 0 {
5362		return invalidParams
5363	}
5364	return nil
5365}
5366
5367// SetEndpoint sets the Endpoint field's value.
5368func (s *CreateNotificationSubscriptionInput) SetEndpoint(v string) *CreateNotificationSubscriptionInput {
5369	s.Endpoint = &v
5370	return s
5371}
5372
5373// SetOrganizationId sets the OrganizationId field's value.
5374func (s *CreateNotificationSubscriptionInput) SetOrganizationId(v string) *CreateNotificationSubscriptionInput {
5375	s.OrganizationId = &v
5376	return s
5377}
5378
5379// SetProtocol sets the Protocol field's value.
5380func (s *CreateNotificationSubscriptionInput) SetProtocol(v string) *CreateNotificationSubscriptionInput {
5381	s.Protocol = &v
5382	return s
5383}
5384
5385// SetSubscriptionType sets the SubscriptionType field's value.
5386func (s *CreateNotificationSubscriptionInput) SetSubscriptionType(v string) *CreateNotificationSubscriptionInput {
5387	s.SubscriptionType = &v
5388	return s
5389}
5390
5391type CreateNotificationSubscriptionOutput struct {
5392	_ struct{} `type:"structure"`
5393
5394	// The subscription.
5395	Subscription *Subscription `type:"structure"`
5396}
5397
5398// String returns the string representation
5399func (s CreateNotificationSubscriptionOutput) String() string {
5400	return awsutil.Prettify(s)
5401}
5402
5403// GoString returns the string representation
5404func (s CreateNotificationSubscriptionOutput) GoString() string {
5405	return s.String()
5406}
5407
5408// SetSubscription sets the Subscription field's value.
5409func (s *CreateNotificationSubscriptionOutput) SetSubscription(v *Subscription) *CreateNotificationSubscriptionOutput {
5410	s.Subscription = v
5411	return s
5412}
5413
5414type CreateUserInput struct {
5415	_ struct{} `type:"structure"`
5416
5417	// Amazon WorkDocs authentication token. Not required when using AWS administrator
5418	// credentials to access the API.
5419	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
5420
5421	// The email address of the user.
5422	EmailAddress *string `min:"1" type:"string"`
5423
5424	// The given name of the user.
5425	//
5426	// GivenName is a required field
5427	GivenName *string `min:"1" type:"string" required:"true"`
5428
5429	// The ID of the organization.
5430	OrganizationId *string `min:"1" type:"string"`
5431
5432	// The password of the user.
5433	//
5434	// Password is a required field
5435	Password *string `min:"4" type:"string" required:"true" sensitive:"true"`
5436
5437	// The amount of storage for the user.
5438	StorageRule *StorageRuleType `type:"structure"`
5439
5440	// The surname of the user.
5441	//
5442	// Surname is a required field
5443	Surname *string `min:"1" type:"string" required:"true"`
5444
5445	// The time zone ID of the user.
5446	TimeZoneId *string `min:"1" type:"string"`
5447
5448	// The login name of the user.
5449	//
5450	// Username is a required field
5451	Username *string `min:"1" type:"string" required:"true"`
5452}
5453
5454// String returns the string representation
5455func (s CreateUserInput) String() string {
5456	return awsutil.Prettify(s)
5457}
5458
5459// GoString returns the string representation
5460func (s CreateUserInput) GoString() string {
5461	return s.String()
5462}
5463
5464// Validate inspects the fields of the type to determine if they are valid.
5465func (s *CreateUserInput) Validate() error {
5466	invalidParams := request.ErrInvalidParams{Context: "CreateUserInput"}
5467	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
5468		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
5469	}
5470	if s.EmailAddress != nil && len(*s.EmailAddress) < 1 {
5471		invalidParams.Add(request.NewErrParamMinLen("EmailAddress", 1))
5472	}
5473	if s.GivenName == nil {
5474		invalidParams.Add(request.NewErrParamRequired("GivenName"))
5475	}
5476	if s.GivenName != nil && len(*s.GivenName) < 1 {
5477		invalidParams.Add(request.NewErrParamMinLen("GivenName", 1))
5478	}
5479	if s.OrganizationId != nil && len(*s.OrganizationId) < 1 {
5480		invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 1))
5481	}
5482	if s.Password == nil {
5483		invalidParams.Add(request.NewErrParamRequired("Password"))
5484	}
5485	if s.Password != nil && len(*s.Password) < 4 {
5486		invalidParams.Add(request.NewErrParamMinLen("Password", 4))
5487	}
5488	if s.Surname == nil {
5489		invalidParams.Add(request.NewErrParamRequired("Surname"))
5490	}
5491	if s.Surname != nil && len(*s.Surname) < 1 {
5492		invalidParams.Add(request.NewErrParamMinLen("Surname", 1))
5493	}
5494	if s.TimeZoneId != nil && len(*s.TimeZoneId) < 1 {
5495		invalidParams.Add(request.NewErrParamMinLen("TimeZoneId", 1))
5496	}
5497	if s.Username == nil {
5498		invalidParams.Add(request.NewErrParamRequired("Username"))
5499	}
5500	if s.Username != nil && len(*s.Username) < 1 {
5501		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
5502	}
5503
5504	if invalidParams.Len() > 0 {
5505		return invalidParams
5506	}
5507	return nil
5508}
5509
5510// SetAuthenticationToken sets the AuthenticationToken field's value.
5511func (s *CreateUserInput) SetAuthenticationToken(v string) *CreateUserInput {
5512	s.AuthenticationToken = &v
5513	return s
5514}
5515
5516// SetEmailAddress sets the EmailAddress field's value.
5517func (s *CreateUserInput) SetEmailAddress(v string) *CreateUserInput {
5518	s.EmailAddress = &v
5519	return s
5520}
5521
5522// SetGivenName sets the GivenName field's value.
5523func (s *CreateUserInput) SetGivenName(v string) *CreateUserInput {
5524	s.GivenName = &v
5525	return s
5526}
5527
5528// SetOrganizationId sets the OrganizationId field's value.
5529func (s *CreateUserInput) SetOrganizationId(v string) *CreateUserInput {
5530	s.OrganizationId = &v
5531	return s
5532}
5533
5534// SetPassword sets the Password field's value.
5535func (s *CreateUserInput) SetPassword(v string) *CreateUserInput {
5536	s.Password = &v
5537	return s
5538}
5539
5540// SetStorageRule sets the StorageRule field's value.
5541func (s *CreateUserInput) SetStorageRule(v *StorageRuleType) *CreateUserInput {
5542	s.StorageRule = v
5543	return s
5544}
5545
5546// SetSurname sets the Surname field's value.
5547func (s *CreateUserInput) SetSurname(v string) *CreateUserInput {
5548	s.Surname = &v
5549	return s
5550}
5551
5552// SetTimeZoneId sets the TimeZoneId field's value.
5553func (s *CreateUserInput) SetTimeZoneId(v string) *CreateUserInput {
5554	s.TimeZoneId = &v
5555	return s
5556}
5557
5558// SetUsername sets the Username field's value.
5559func (s *CreateUserInput) SetUsername(v string) *CreateUserInput {
5560	s.Username = &v
5561	return s
5562}
5563
5564type CreateUserOutput struct {
5565	_ struct{} `type:"structure"`
5566
5567	// The user information.
5568	User *User `type:"structure"`
5569}
5570
5571// String returns the string representation
5572func (s CreateUserOutput) String() string {
5573	return awsutil.Prettify(s)
5574}
5575
5576// GoString returns the string representation
5577func (s CreateUserOutput) GoString() string {
5578	return s.String()
5579}
5580
5581// SetUser sets the User field's value.
5582func (s *CreateUserOutput) SetUser(v *User) *CreateUserOutput {
5583	s.User = v
5584	return s
5585}
5586
5587// The limit has been reached on the number of custom properties for the specified
5588// resource.
5589type CustomMetadataLimitExceededException struct {
5590	_            struct{}                  `type:"structure"`
5591	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5592
5593	Message_ *string `locationName:"Message" type:"string"`
5594}
5595
5596// String returns the string representation
5597func (s CustomMetadataLimitExceededException) String() string {
5598	return awsutil.Prettify(s)
5599}
5600
5601// GoString returns the string representation
5602func (s CustomMetadataLimitExceededException) GoString() string {
5603	return s.String()
5604}
5605
5606func newErrorCustomMetadataLimitExceededException(v protocol.ResponseMetadata) error {
5607	return &CustomMetadataLimitExceededException{
5608		RespMetadata: v,
5609	}
5610}
5611
5612// Code returns the exception type name.
5613func (s *CustomMetadataLimitExceededException) Code() string {
5614	return "CustomMetadataLimitExceededException"
5615}
5616
5617// Message returns the exception's message.
5618func (s *CustomMetadataLimitExceededException) Message() string {
5619	if s.Message_ != nil {
5620		return *s.Message_
5621	}
5622	return ""
5623}
5624
5625// OrigErr always returns nil, satisfies awserr.Error interface.
5626func (s *CustomMetadataLimitExceededException) OrigErr() error {
5627	return nil
5628}
5629
5630func (s *CustomMetadataLimitExceededException) Error() string {
5631	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5632}
5633
5634// Status code returns the HTTP status code for the request's response error.
5635func (s *CustomMetadataLimitExceededException) StatusCode() int {
5636	return s.RespMetadata.StatusCode
5637}
5638
5639// RequestID returns the service's response RequestID for request.
5640func (s *CustomMetadataLimitExceededException) RequestID() string {
5641	return s.RespMetadata.RequestID
5642}
5643
5644type DeactivateUserInput struct {
5645	_ struct{} `type:"structure"`
5646
5647	// Amazon WorkDocs authentication token. Not required when using AWS administrator
5648	// credentials to access the API.
5649	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
5650
5651	// The ID of the user.
5652	//
5653	// UserId is a required field
5654	UserId *string `location:"uri" locationName:"UserId" min:"1" type:"string" required:"true"`
5655}
5656
5657// String returns the string representation
5658func (s DeactivateUserInput) String() string {
5659	return awsutil.Prettify(s)
5660}
5661
5662// GoString returns the string representation
5663func (s DeactivateUserInput) GoString() string {
5664	return s.String()
5665}
5666
5667// Validate inspects the fields of the type to determine if they are valid.
5668func (s *DeactivateUserInput) Validate() error {
5669	invalidParams := request.ErrInvalidParams{Context: "DeactivateUserInput"}
5670	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
5671		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
5672	}
5673	if s.UserId == nil {
5674		invalidParams.Add(request.NewErrParamRequired("UserId"))
5675	}
5676	if s.UserId != nil && len(*s.UserId) < 1 {
5677		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
5678	}
5679
5680	if invalidParams.Len() > 0 {
5681		return invalidParams
5682	}
5683	return nil
5684}
5685
5686// SetAuthenticationToken sets the AuthenticationToken field's value.
5687func (s *DeactivateUserInput) SetAuthenticationToken(v string) *DeactivateUserInput {
5688	s.AuthenticationToken = &v
5689	return s
5690}
5691
5692// SetUserId sets the UserId field's value.
5693func (s *DeactivateUserInput) SetUserId(v string) *DeactivateUserInput {
5694	s.UserId = &v
5695	return s
5696}
5697
5698type DeactivateUserOutput struct {
5699	_ struct{} `type:"structure"`
5700}
5701
5702// String returns the string representation
5703func (s DeactivateUserOutput) String() string {
5704	return awsutil.Prettify(s)
5705}
5706
5707// GoString returns the string representation
5708func (s DeactivateUserOutput) GoString() string {
5709	return s.String()
5710}
5711
5712// The last user in the organization is being deactivated.
5713type DeactivatingLastSystemUserException struct {
5714	_            struct{}                  `type:"structure"`
5715	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5716
5717	Message_ *string `locationName:"message" type:"string"`
5718}
5719
5720// String returns the string representation
5721func (s DeactivatingLastSystemUserException) String() string {
5722	return awsutil.Prettify(s)
5723}
5724
5725// GoString returns the string representation
5726func (s DeactivatingLastSystemUserException) GoString() string {
5727	return s.String()
5728}
5729
5730func newErrorDeactivatingLastSystemUserException(v protocol.ResponseMetadata) error {
5731	return &DeactivatingLastSystemUserException{
5732		RespMetadata: v,
5733	}
5734}
5735
5736// Code returns the exception type name.
5737func (s *DeactivatingLastSystemUserException) Code() string {
5738	return "DeactivatingLastSystemUserException"
5739}
5740
5741// Message returns the exception's message.
5742func (s *DeactivatingLastSystemUserException) Message() string {
5743	if s.Message_ != nil {
5744		return *s.Message_
5745	}
5746	return ""
5747}
5748
5749// OrigErr always returns nil, satisfies awserr.Error interface.
5750func (s *DeactivatingLastSystemUserException) OrigErr() error {
5751	return nil
5752}
5753
5754func (s *DeactivatingLastSystemUserException) Error() string {
5755	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5756}
5757
5758// Status code returns the HTTP status code for the request's response error.
5759func (s *DeactivatingLastSystemUserException) StatusCode() int {
5760	return s.RespMetadata.StatusCode
5761}
5762
5763// RequestID returns the service's response RequestID for request.
5764func (s *DeactivatingLastSystemUserException) RequestID() string {
5765	return s.RespMetadata.RequestID
5766}
5767
5768type DeleteCommentInput struct {
5769	_ struct{} `type:"structure"`
5770
5771	// Amazon WorkDocs authentication token. Not required when using AWS administrator
5772	// credentials to access the API.
5773	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
5774
5775	// The ID of the comment.
5776	//
5777	// CommentId is a required field
5778	CommentId *string `location:"uri" locationName:"CommentId" min:"1" type:"string" required:"true"`
5779
5780	// The ID of the document.
5781	//
5782	// DocumentId is a required field
5783	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
5784
5785	// The ID of the document version.
5786	//
5787	// VersionId is a required field
5788	VersionId *string `location:"uri" locationName:"VersionId" min:"1" type:"string" required:"true"`
5789}
5790
5791// String returns the string representation
5792func (s DeleteCommentInput) String() string {
5793	return awsutil.Prettify(s)
5794}
5795
5796// GoString returns the string representation
5797func (s DeleteCommentInput) GoString() string {
5798	return s.String()
5799}
5800
5801// Validate inspects the fields of the type to determine if they are valid.
5802func (s *DeleteCommentInput) Validate() error {
5803	invalidParams := request.ErrInvalidParams{Context: "DeleteCommentInput"}
5804	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
5805		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
5806	}
5807	if s.CommentId == nil {
5808		invalidParams.Add(request.NewErrParamRequired("CommentId"))
5809	}
5810	if s.CommentId != nil && len(*s.CommentId) < 1 {
5811		invalidParams.Add(request.NewErrParamMinLen("CommentId", 1))
5812	}
5813	if s.DocumentId == nil {
5814		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
5815	}
5816	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
5817		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
5818	}
5819	if s.VersionId == nil {
5820		invalidParams.Add(request.NewErrParamRequired("VersionId"))
5821	}
5822	if s.VersionId != nil && len(*s.VersionId) < 1 {
5823		invalidParams.Add(request.NewErrParamMinLen("VersionId", 1))
5824	}
5825
5826	if invalidParams.Len() > 0 {
5827		return invalidParams
5828	}
5829	return nil
5830}
5831
5832// SetAuthenticationToken sets the AuthenticationToken field's value.
5833func (s *DeleteCommentInput) SetAuthenticationToken(v string) *DeleteCommentInput {
5834	s.AuthenticationToken = &v
5835	return s
5836}
5837
5838// SetCommentId sets the CommentId field's value.
5839func (s *DeleteCommentInput) SetCommentId(v string) *DeleteCommentInput {
5840	s.CommentId = &v
5841	return s
5842}
5843
5844// SetDocumentId sets the DocumentId field's value.
5845func (s *DeleteCommentInput) SetDocumentId(v string) *DeleteCommentInput {
5846	s.DocumentId = &v
5847	return s
5848}
5849
5850// SetVersionId sets the VersionId field's value.
5851func (s *DeleteCommentInput) SetVersionId(v string) *DeleteCommentInput {
5852	s.VersionId = &v
5853	return s
5854}
5855
5856type DeleteCommentOutput struct {
5857	_ struct{} `type:"structure"`
5858}
5859
5860// String returns the string representation
5861func (s DeleteCommentOutput) String() string {
5862	return awsutil.Prettify(s)
5863}
5864
5865// GoString returns the string representation
5866func (s DeleteCommentOutput) GoString() string {
5867	return s.String()
5868}
5869
5870type DeleteCustomMetadataInput struct {
5871	_ struct{} `type:"structure"`
5872
5873	// Amazon WorkDocs authentication token. Not required when using AWS administrator
5874	// credentials to access the API.
5875	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
5876
5877	// Flag to indicate removal of all custom metadata properties from the specified
5878	// resource.
5879	DeleteAll *bool `location:"querystring" locationName:"deleteAll" type:"boolean"`
5880
5881	// List of properties to remove.
5882	Keys []*string `location:"querystring" locationName:"keys" type:"list"`
5883
5884	// The ID of the resource, either a document or folder.
5885	//
5886	// ResourceId is a required field
5887	ResourceId *string `location:"uri" locationName:"ResourceId" min:"1" type:"string" required:"true"`
5888
5889	// The ID of the version, if the custom metadata is being deleted from a document
5890	// version.
5891	VersionId *string `location:"querystring" locationName:"versionId" min:"1" type:"string"`
5892}
5893
5894// String returns the string representation
5895func (s DeleteCustomMetadataInput) String() string {
5896	return awsutil.Prettify(s)
5897}
5898
5899// GoString returns the string representation
5900func (s DeleteCustomMetadataInput) GoString() string {
5901	return s.String()
5902}
5903
5904// Validate inspects the fields of the type to determine if they are valid.
5905func (s *DeleteCustomMetadataInput) Validate() error {
5906	invalidParams := request.ErrInvalidParams{Context: "DeleteCustomMetadataInput"}
5907	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
5908		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
5909	}
5910	if s.ResourceId == nil {
5911		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
5912	}
5913	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
5914		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
5915	}
5916	if s.VersionId != nil && len(*s.VersionId) < 1 {
5917		invalidParams.Add(request.NewErrParamMinLen("VersionId", 1))
5918	}
5919
5920	if invalidParams.Len() > 0 {
5921		return invalidParams
5922	}
5923	return nil
5924}
5925
5926// SetAuthenticationToken sets the AuthenticationToken field's value.
5927func (s *DeleteCustomMetadataInput) SetAuthenticationToken(v string) *DeleteCustomMetadataInput {
5928	s.AuthenticationToken = &v
5929	return s
5930}
5931
5932// SetDeleteAll sets the DeleteAll field's value.
5933func (s *DeleteCustomMetadataInput) SetDeleteAll(v bool) *DeleteCustomMetadataInput {
5934	s.DeleteAll = &v
5935	return s
5936}
5937
5938// SetKeys sets the Keys field's value.
5939func (s *DeleteCustomMetadataInput) SetKeys(v []*string) *DeleteCustomMetadataInput {
5940	s.Keys = v
5941	return s
5942}
5943
5944// SetResourceId sets the ResourceId field's value.
5945func (s *DeleteCustomMetadataInput) SetResourceId(v string) *DeleteCustomMetadataInput {
5946	s.ResourceId = &v
5947	return s
5948}
5949
5950// SetVersionId sets the VersionId field's value.
5951func (s *DeleteCustomMetadataInput) SetVersionId(v string) *DeleteCustomMetadataInput {
5952	s.VersionId = &v
5953	return s
5954}
5955
5956type DeleteCustomMetadataOutput struct {
5957	_ struct{} `type:"structure"`
5958}
5959
5960// String returns the string representation
5961func (s DeleteCustomMetadataOutput) String() string {
5962	return awsutil.Prettify(s)
5963}
5964
5965// GoString returns the string representation
5966func (s DeleteCustomMetadataOutput) GoString() string {
5967	return s.String()
5968}
5969
5970type DeleteDocumentInput struct {
5971	_ struct{} `type:"structure"`
5972
5973	// Amazon WorkDocs authentication token. Not required when using AWS administrator
5974	// credentials to access the API.
5975	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
5976
5977	// The ID of the document.
5978	//
5979	// DocumentId is a required field
5980	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
5981}
5982
5983// String returns the string representation
5984func (s DeleteDocumentInput) String() string {
5985	return awsutil.Prettify(s)
5986}
5987
5988// GoString returns the string representation
5989func (s DeleteDocumentInput) GoString() string {
5990	return s.String()
5991}
5992
5993// Validate inspects the fields of the type to determine if they are valid.
5994func (s *DeleteDocumentInput) Validate() error {
5995	invalidParams := request.ErrInvalidParams{Context: "DeleteDocumentInput"}
5996	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
5997		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
5998	}
5999	if s.DocumentId == nil {
6000		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
6001	}
6002	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
6003		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
6004	}
6005
6006	if invalidParams.Len() > 0 {
6007		return invalidParams
6008	}
6009	return nil
6010}
6011
6012// SetAuthenticationToken sets the AuthenticationToken field's value.
6013func (s *DeleteDocumentInput) SetAuthenticationToken(v string) *DeleteDocumentInput {
6014	s.AuthenticationToken = &v
6015	return s
6016}
6017
6018// SetDocumentId sets the DocumentId field's value.
6019func (s *DeleteDocumentInput) SetDocumentId(v string) *DeleteDocumentInput {
6020	s.DocumentId = &v
6021	return s
6022}
6023
6024type DeleteDocumentOutput struct {
6025	_ struct{} `type:"structure"`
6026}
6027
6028// String returns the string representation
6029func (s DeleteDocumentOutput) String() string {
6030	return awsutil.Prettify(s)
6031}
6032
6033// GoString returns the string representation
6034func (s DeleteDocumentOutput) GoString() string {
6035	return s.String()
6036}
6037
6038type DeleteFolderContentsInput struct {
6039	_ struct{} `type:"structure"`
6040
6041	// Amazon WorkDocs authentication token. Not required when using AWS administrator
6042	// credentials to access the API.
6043	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
6044
6045	// The ID of the folder.
6046	//
6047	// FolderId is a required field
6048	FolderId *string `location:"uri" locationName:"FolderId" min:"1" type:"string" required:"true"`
6049}
6050
6051// String returns the string representation
6052func (s DeleteFolderContentsInput) String() string {
6053	return awsutil.Prettify(s)
6054}
6055
6056// GoString returns the string representation
6057func (s DeleteFolderContentsInput) GoString() string {
6058	return s.String()
6059}
6060
6061// Validate inspects the fields of the type to determine if they are valid.
6062func (s *DeleteFolderContentsInput) Validate() error {
6063	invalidParams := request.ErrInvalidParams{Context: "DeleteFolderContentsInput"}
6064	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
6065		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
6066	}
6067	if s.FolderId == nil {
6068		invalidParams.Add(request.NewErrParamRequired("FolderId"))
6069	}
6070	if s.FolderId != nil && len(*s.FolderId) < 1 {
6071		invalidParams.Add(request.NewErrParamMinLen("FolderId", 1))
6072	}
6073
6074	if invalidParams.Len() > 0 {
6075		return invalidParams
6076	}
6077	return nil
6078}
6079
6080// SetAuthenticationToken sets the AuthenticationToken field's value.
6081func (s *DeleteFolderContentsInput) SetAuthenticationToken(v string) *DeleteFolderContentsInput {
6082	s.AuthenticationToken = &v
6083	return s
6084}
6085
6086// SetFolderId sets the FolderId field's value.
6087func (s *DeleteFolderContentsInput) SetFolderId(v string) *DeleteFolderContentsInput {
6088	s.FolderId = &v
6089	return s
6090}
6091
6092type DeleteFolderContentsOutput struct {
6093	_ struct{} `type:"structure"`
6094}
6095
6096// String returns the string representation
6097func (s DeleteFolderContentsOutput) String() string {
6098	return awsutil.Prettify(s)
6099}
6100
6101// GoString returns the string representation
6102func (s DeleteFolderContentsOutput) GoString() string {
6103	return s.String()
6104}
6105
6106type DeleteFolderInput struct {
6107	_ struct{} `type:"structure"`
6108
6109	// Amazon WorkDocs authentication token. Not required when using AWS administrator
6110	// credentials to access the API.
6111	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
6112
6113	// The ID of the folder.
6114	//
6115	// FolderId is a required field
6116	FolderId *string `location:"uri" locationName:"FolderId" min:"1" type:"string" required:"true"`
6117}
6118
6119// String returns the string representation
6120func (s DeleteFolderInput) String() string {
6121	return awsutil.Prettify(s)
6122}
6123
6124// GoString returns the string representation
6125func (s DeleteFolderInput) GoString() string {
6126	return s.String()
6127}
6128
6129// Validate inspects the fields of the type to determine if they are valid.
6130func (s *DeleteFolderInput) Validate() error {
6131	invalidParams := request.ErrInvalidParams{Context: "DeleteFolderInput"}
6132	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
6133		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
6134	}
6135	if s.FolderId == nil {
6136		invalidParams.Add(request.NewErrParamRequired("FolderId"))
6137	}
6138	if s.FolderId != nil && len(*s.FolderId) < 1 {
6139		invalidParams.Add(request.NewErrParamMinLen("FolderId", 1))
6140	}
6141
6142	if invalidParams.Len() > 0 {
6143		return invalidParams
6144	}
6145	return nil
6146}
6147
6148// SetAuthenticationToken sets the AuthenticationToken field's value.
6149func (s *DeleteFolderInput) SetAuthenticationToken(v string) *DeleteFolderInput {
6150	s.AuthenticationToken = &v
6151	return s
6152}
6153
6154// SetFolderId sets the FolderId field's value.
6155func (s *DeleteFolderInput) SetFolderId(v string) *DeleteFolderInput {
6156	s.FolderId = &v
6157	return s
6158}
6159
6160type DeleteFolderOutput struct {
6161	_ struct{} `type:"structure"`
6162}
6163
6164// String returns the string representation
6165func (s DeleteFolderOutput) String() string {
6166	return awsutil.Prettify(s)
6167}
6168
6169// GoString returns the string representation
6170func (s DeleteFolderOutput) GoString() string {
6171	return s.String()
6172}
6173
6174type DeleteLabelsInput struct {
6175	_ struct{} `type:"structure"`
6176
6177	// Amazon WorkDocs authentication token. Not required when using AWS administrator
6178	// credentials to access the API.
6179	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
6180
6181	// Flag to request removal of all labels from the specified resource.
6182	DeleteAll *bool `location:"querystring" locationName:"deleteAll" type:"boolean"`
6183
6184	// List of labels to delete from the resource.
6185	Labels []*string `location:"querystring" locationName:"labels" type:"list"`
6186
6187	// The ID of the resource.
6188	//
6189	// ResourceId is a required field
6190	ResourceId *string `location:"uri" locationName:"ResourceId" min:"1" type:"string" required:"true"`
6191}
6192
6193// String returns the string representation
6194func (s DeleteLabelsInput) String() string {
6195	return awsutil.Prettify(s)
6196}
6197
6198// GoString returns the string representation
6199func (s DeleteLabelsInput) GoString() string {
6200	return s.String()
6201}
6202
6203// Validate inspects the fields of the type to determine if they are valid.
6204func (s *DeleteLabelsInput) Validate() error {
6205	invalidParams := request.ErrInvalidParams{Context: "DeleteLabelsInput"}
6206	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
6207		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
6208	}
6209	if s.ResourceId == nil {
6210		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
6211	}
6212	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
6213		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
6214	}
6215
6216	if invalidParams.Len() > 0 {
6217		return invalidParams
6218	}
6219	return nil
6220}
6221
6222// SetAuthenticationToken sets the AuthenticationToken field's value.
6223func (s *DeleteLabelsInput) SetAuthenticationToken(v string) *DeleteLabelsInput {
6224	s.AuthenticationToken = &v
6225	return s
6226}
6227
6228// SetDeleteAll sets the DeleteAll field's value.
6229func (s *DeleteLabelsInput) SetDeleteAll(v bool) *DeleteLabelsInput {
6230	s.DeleteAll = &v
6231	return s
6232}
6233
6234// SetLabels sets the Labels field's value.
6235func (s *DeleteLabelsInput) SetLabels(v []*string) *DeleteLabelsInput {
6236	s.Labels = v
6237	return s
6238}
6239
6240// SetResourceId sets the ResourceId field's value.
6241func (s *DeleteLabelsInput) SetResourceId(v string) *DeleteLabelsInput {
6242	s.ResourceId = &v
6243	return s
6244}
6245
6246type DeleteLabelsOutput struct {
6247	_ struct{} `type:"structure"`
6248}
6249
6250// String returns the string representation
6251func (s DeleteLabelsOutput) String() string {
6252	return awsutil.Prettify(s)
6253}
6254
6255// GoString returns the string representation
6256func (s DeleteLabelsOutput) GoString() string {
6257	return s.String()
6258}
6259
6260type DeleteNotificationSubscriptionInput struct {
6261	_ struct{} `type:"structure"`
6262
6263	// The ID of the organization.
6264	//
6265	// OrganizationId is a required field
6266	OrganizationId *string `location:"uri" locationName:"OrganizationId" min:"1" type:"string" required:"true"`
6267
6268	// The ID of the subscription.
6269	//
6270	// SubscriptionId is a required field
6271	SubscriptionId *string `location:"uri" locationName:"SubscriptionId" min:"1" type:"string" required:"true"`
6272}
6273
6274// String returns the string representation
6275func (s DeleteNotificationSubscriptionInput) String() string {
6276	return awsutil.Prettify(s)
6277}
6278
6279// GoString returns the string representation
6280func (s DeleteNotificationSubscriptionInput) GoString() string {
6281	return s.String()
6282}
6283
6284// Validate inspects the fields of the type to determine if they are valid.
6285func (s *DeleteNotificationSubscriptionInput) Validate() error {
6286	invalidParams := request.ErrInvalidParams{Context: "DeleteNotificationSubscriptionInput"}
6287	if s.OrganizationId == nil {
6288		invalidParams.Add(request.NewErrParamRequired("OrganizationId"))
6289	}
6290	if s.OrganizationId != nil && len(*s.OrganizationId) < 1 {
6291		invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 1))
6292	}
6293	if s.SubscriptionId == nil {
6294		invalidParams.Add(request.NewErrParamRequired("SubscriptionId"))
6295	}
6296	if s.SubscriptionId != nil && len(*s.SubscriptionId) < 1 {
6297		invalidParams.Add(request.NewErrParamMinLen("SubscriptionId", 1))
6298	}
6299
6300	if invalidParams.Len() > 0 {
6301		return invalidParams
6302	}
6303	return nil
6304}
6305
6306// SetOrganizationId sets the OrganizationId field's value.
6307func (s *DeleteNotificationSubscriptionInput) SetOrganizationId(v string) *DeleteNotificationSubscriptionInput {
6308	s.OrganizationId = &v
6309	return s
6310}
6311
6312// SetSubscriptionId sets the SubscriptionId field's value.
6313func (s *DeleteNotificationSubscriptionInput) SetSubscriptionId(v string) *DeleteNotificationSubscriptionInput {
6314	s.SubscriptionId = &v
6315	return s
6316}
6317
6318type DeleteNotificationSubscriptionOutput struct {
6319	_ struct{} `type:"structure"`
6320}
6321
6322// String returns the string representation
6323func (s DeleteNotificationSubscriptionOutput) String() string {
6324	return awsutil.Prettify(s)
6325}
6326
6327// GoString returns the string representation
6328func (s DeleteNotificationSubscriptionOutput) GoString() string {
6329	return s.String()
6330}
6331
6332type DeleteUserInput struct {
6333	_ struct{} `type:"structure"`
6334
6335	// Amazon WorkDocs authentication token. Do not set this field when using administrative
6336	// API actions, as in accessing the API using AWS credentials.
6337	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
6338
6339	// The ID of the user.
6340	//
6341	// UserId is a required field
6342	UserId *string `location:"uri" locationName:"UserId" min:"1" type:"string" required:"true"`
6343}
6344
6345// String returns the string representation
6346func (s DeleteUserInput) String() string {
6347	return awsutil.Prettify(s)
6348}
6349
6350// GoString returns the string representation
6351func (s DeleteUserInput) GoString() string {
6352	return s.String()
6353}
6354
6355// Validate inspects the fields of the type to determine if they are valid.
6356func (s *DeleteUserInput) Validate() error {
6357	invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"}
6358	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
6359		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
6360	}
6361	if s.UserId == nil {
6362		invalidParams.Add(request.NewErrParamRequired("UserId"))
6363	}
6364	if s.UserId != nil && len(*s.UserId) < 1 {
6365		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
6366	}
6367
6368	if invalidParams.Len() > 0 {
6369		return invalidParams
6370	}
6371	return nil
6372}
6373
6374// SetAuthenticationToken sets the AuthenticationToken field's value.
6375func (s *DeleteUserInput) SetAuthenticationToken(v string) *DeleteUserInput {
6376	s.AuthenticationToken = &v
6377	return s
6378}
6379
6380// SetUserId sets the UserId field's value.
6381func (s *DeleteUserInput) SetUserId(v string) *DeleteUserInput {
6382	s.UserId = &v
6383	return s
6384}
6385
6386type DeleteUserOutput struct {
6387	_ struct{} `type:"structure"`
6388}
6389
6390// String returns the string representation
6391func (s DeleteUserOutput) String() string {
6392	return awsutil.Prettify(s)
6393}
6394
6395// GoString returns the string representation
6396func (s DeleteUserOutput) GoString() string {
6397	return s.String()
6398}
6399
6400type DescribeActivitiesInput struct {
6401	_ struct{} `type:"structure"`
6402
6403	// Specifies which activity types to include in the response. If this field
6404	// is left empty, all activity types are returned.
6405	ActivityTypes *string `location:"querystring" locationName:"activityTypes" min:"1" type:"string"`
6406
6407	// Amazon WorkDocs authentication token. Not required when using AWS administrator
6408	// credentials to access the API.
6409	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
6410
6411	// The timestamp that determines the end time of the activities. The response
6412	// includes the activities performed before the specified timestamp.
6413	EndTime *time.Time `location:"querystring" locationName:"endTime" type:"timestamp"`
6414
6415	// Includes indirect activities. An indirect activity results from a direct
6416	// activity performed on a parent resource. For example, sharing a parent folder
6417	// (the direct activity) shares all of the subfolders and documents within the
6418	// parent folder (the indirect activity).
6419	IncludeIndirectActivities *bool `location:"querystring" locationName:"includeIndirectActivities" type:"boolean"`
6420
6421	// The maximum number of items to return.
6422	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
6423
6424	// The marker for the next set of results.
6425	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
6426
6427	// The ID of the organization. This is a mandatory parameter when using administrative
6428	// API (SigV4) requests.
6429	OrganizationId *string `location:"querystring" locationName:"organizationId" min:"1" type:"string"`
6430
6431	// The document or folder ID for which to describe activity types.
6432	ResourceId *string `location:"querystring" locationName:"resourceId" min:"1" type:"string"`
6433
6434	// The timestamp that determines the starting time of the activities. The response
6435	// includes the activities performed after the specified timestamp.
6436	StartTime *time.Time `location:"querystring" locationName:"startTime" type:"timestamp"`
6437
6438	// The ID of the user who performed the action. The response includes activities
6439	// pertaining to this user. This is an optional parameter and is only applicable
6440	// for administrative API (SigV4) requests.
6441	UserId *string `location:"querystring" locationName:"userId" min:"1" type:"string"`
6442}
6443
6444// String returns the string representation
6445func (s DescribeActivitiesInput) String() string {
6446	return awsutil.Prettify(s)
6447}
6448
6449// GoString returns the string representation
6450func (s DescribeActivitiesInput) GoString() string {
6451	return s.String()
6452}
6453
6454// Validate inspects the fields of the type to determine if they are valid.
6455func (s *DescribeActivitiesInput) Validate() error {
6456	invalidParams := request.ErrInvalidParams{Context: "DescribeActivitiesInput"}
6457	if s.ActivityTypes != nil && len(*s.ActivityTypes) < 1 {
6458		invalidParams.Add(request.NewErrParamMinLen("ActivityTypes", 1))
6459	}
6460	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
6461		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
6462	}
6463	if s.Limit != nil && *s.Limit < 1 {
6464		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
6465	}
6466	if s.Marker != nil && len(*s.Marker) < 1 {
6467		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
6468	}
6469	if s.OrganizationId != nil && len(*s.OrganizationId) < 1 {
6470		invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 1))
6471	}
6472	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
6473		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
6474	}
6475	if s.UserId != nil && len(*s.UserId) < 1 {
6476		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
6477	}
6478
6479	if invalidParams.Len() > 0 {
6480		return invalidParams
6481	}
6482	return nil
6483}
6484
6485// SetActivityTypes sets the ActivityTypes field's value.
6486func (s *DescribeActivitiesInput) SetActivityTypes(v string) *DescribeActivitiesInput {
6487	s.ActivityTypes = &v
6488	return s
6489}
6490
6491// SetAuthenticationToken sets the AuthenticationToken field's value.
6492func (s *DescribeActivitiesInput) SetAuthenticationToken(v string) *DescribeActivitiesInput {
6493	s.AuthenticationToken = &v
6494	return s
6495}
6496
6497// SetEndTime sets the EndTime field's value.
6498func (s *DescribeActivitiesInput) SetEndTime(v time.Time) *DescribeActivitiesInput {
6499	s.EndTime = &v
6500	return s
6501}
6502
6503// SetIncludeIndirectActivities sets the IncludeIndirectActivities field's value.
6504func (s *DescribeActivitiesInput) SetIncludeIndirectActivities(v bool) *DescribeActivitiesInput {
6505	s.IncludeIndirectActivities = &v
6506	return s
6507}
6508
6509// SetLimit sets the Limit field's value.
6510func (s *DescribeActivitiesInput) SetLimit(v int64) *DescribeActivitiesInput {
6511	s.Limit = &v
6512	return s
6513}
6514
6515// SetMarker sets the Marker field's value.
6516func (s *DescribeActivitiesInput) SetMarker(v string) *DescribeActivitiesInput {
6517	s.Marker = &v
6518	return s
6519}
6520
6521// SetOrganizationId sets the OrganizationId field's value.
6522func (s *DescribeActivitiesInput) SetOrganizationId(v string) *DescribeActivitiesInput {
6523	s.OrganizationId = &v
6524	return s
6525}
6526
6527// SetResourceId sets the ResourceId field's value.
6528func (s *DescribeActivitiesInput) SetResourceId(v string) *DescribeActivitiesInput {
6529	s.ResourceId = &v
6530	return s
6531}
6532
6533// SetStartTime sets the StartTime field's value.
6534func (s *DescribeActivitiesInput) SetStartTime(v time.Time) *DescribeActivitiesInput {
6535	s.StartTime = &v
6536	return s
6537}
6538
6539// SetUserId sets the UserId field's value.
6540func (s *DescribeActivitiesInput) SetUserId(v string) *DescribeActivitiesInput {
6541	s.UserId = &v
6542	return s
6543}
6544
6545type DescribeActivitiesOutput struct {
6546	_ struct{} `type:"structure"`
6547
6548	// The marker for the next set of results.
6549	Marker *string `min:"1" type:"string"`
6550
6551	// The list of activities for the specified user and time period.
6552	UserActivities []*Activity `type:"list"`
6553}
6554
6555// String returns the string representation
6556func (s DescribeActivitiesOutput) String() string {
6557	return awsutil.Prettify(s)
6558}
6559
6560// GoString returns the string representation
6561func (s DescribeActivitiesOutput) GoString() string {
6562	return s.String()
6563}
6564
6565// SetMarker sets the Marker field's value.
6566func (s *DescribeActivitiesOutput) SetMarker(v string) *DescribeActivitiesOutput {
6567	s.Marker = &v
6568	return s
6569}
6570
6571// SetUserActivities sets the UserActivities field's value.
6572func (s *DescribeActivitiesOutput) SetUserActivities(v []*Activity) *DescribeActivitiesOutput {
6573	s.UserActivities = v
6574	return s
6575}
6576
6577type DescribeCommentsInput struct {
6578	_ struct{} `type:"structure"`
6579
6580	// Amazon WorkDocs authentication token. Not required when using AWS administrator
6581	// credentials to access the API.
6582	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
6583
6584	// The ID of the document.
6585	//
6586	// DocumentId is a required field
6587	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
6588
6589	// The maximum number of items to return.
6590	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
6591
6592	// The marker for the next set of results. This marker was received from a previous
6593	// call.
6594	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
6595
6596	// The ID of the document version.
6597	//
6598	// VersionId is a required field
6599	VersionId *string `location:"uri" locationName:"VersionId" min:"1" type:"string" required:"true"`
6600}
6601
6602// String returns the string representation
6603func (s DescribeCommentsInput) String() string {
6604	return awsutil.Prettify(s)
6605}
6606
6607// GoString returns the string representation
6608func (s DescribeCommentsInput) GoString() string {
6609	return s.String()
6610}
6611
6612// Validate inspects the fields of the type to determine if they are valid.
6613func (s *DescribeCommentsInput) Validate() error {
6614	invalidParams := request.ErrInvalidParams{Context: "DescribeCommentsInput"}
6615	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
6616		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
6617	}
6618	if s.DocumentId == nil {
6619		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
6620	}
6621	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
6622		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
6623	}
6624	if s.Limit != nil && *s.Limit < 1 {
6625		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
6626	}
6627	if s.Marker != nil && len(*s.Marker) < 1 {
6628		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
6629	}
6630	if s.VersionId == nil {
6631		invalidParams.Add(request.NewErrParamRequired("VersionId"))
6632	}
6633	if s.VersionId != nil && len(*s.VersionId) < 1 {
6634		invalidParams.Add(request.NewErrParamMinLen("VersionId", 1))
6635	}
6636
6637	if invalidParams.Len() > 0 {
6638		return invalidParams
6639	}
6640	return nil
6641}
6642
6643// SetAuthenticationToken sets the AuthenticationToken field's value.
6644func (s *DescribeCommentsInput) SetAuthenticationToken(v string) *DescribeCommentsInput {
6645	s.AuthenticationToken = &v
6646	return s
6647}
6648
6649// SetDocumentId sets the DocumentId field's value.
6650func (s *DescribeCommentsInput) SetDocumentId(v string) *DescribeCommentsInput {
6651	s.DocumentId = &v
6652	return s
6653}
6654
6655// SetLimit sets the Limit field's value.
6656func (s *DescribeCommentsInput) SetLimit(v int64) *DescribeCommentsInput {
6657	s.Limit = &v
6658	return s
6659}
6660
6661// SetMarker sets the Marker field's value.
6662func (s *DescribeCommentsInput) SetMarker(v string) *DescribeCommentsInput {
6663	s.Marker = &v
6664	return s
6665}
6666
6667// SetVersionId sets the VersionId field's value.
6668func (s *DescribeCommentsInput) SetVersionId(v string) *DescribeCommentsInput {
6669	s.VersionId = &v
6670	return s
6671}
6672
6673type DescribeCommentsOutput struct {
6674	_ struct{} `type:"structure"`
6675
6676	// The list of comments for the specified document version.
6677	Comments []*Comment `type:"list"`
6678
6679	// The marker for the next set of results. This marker was received from a previous
6680	// call.
6681	Marker *string `min:"1" type:"string"`
6682}
6683
6684// String returns the string representation
6685func (s DescribeCommentsOutput) String() string {
6686	return awsutil.Prettify(s)
6687}
6688
6689// GoString returns the string representation
6690func (s DescribeCommentsOutput) GoString() string {
6691	return s.String()
6692}
6693
6694// SetComments sets the Comments field's value.
6695func (s *DescribeCommentsOutput) SetComments(v []*Comment) *DescribeCommentsOutput {
6696	s.Comments = v
6697	return s
6698}
6699
6700// SetMarker sets the Marker field's value.
6701func (s *DescribeCommentsOutput) SetMarker(v string) *DescribeCommentsOutput {
6702	s.Marker = &v
6703	return s
6704}
6705
6706type DescribeDocumentVersionsInput struct {
6707	_ struct{} `type:"structure"`
6708
6709	// Amazon WorkDocs authentication token. Not required when using AWS administrator
6710	// credentials to access the API.
6711	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
6712
6713	// The ID of the document.
6714	//
6715	// DocumentId is a required field
6716	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
6717
6718	// Specify "SOURCE" to include initialized versions and a URL for the source
6719	// document.
6720	Fields *string `location:"querystring" locationName:"fields" min:"1" type:"string"`
6721
6722	// A comma-separated list of values. Specify "INITIALIZED" to include incomplete
6723	// versions.
6724	Include *string `location:"querystring" locationName:"include" min:"1" type:"string"`
6725
6726	// The maximum number of versions to return with this call.
6727	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
6728
6729	// The marker for the next set of results. (You received this marker from a
6730	// previous call.)
6731	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
6732}
6733
6734// String returns the string representation
6735func (s DescribeDocumentVersionsInput) String() string {
6736	return awsutil.Prettify(s)
6737}
6738
6739// GoString returns the string representation
6740func (s DescribeDocumentVersionsInput) GoString() string {
6741	return s.String()
6742}
6743
6744// Validate inspects the fields of the type to determine if they are valid.
6745func (s *DescribeDocumentVersionsInput) Validate() error {
6746	invalidParams := request.ErrInvalidParams{Context: "DescribeDocumentVersionsInput"}
6747	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
6748		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
6749	}
6750	if s.DocumentId == nil {
6751		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
6752	}
6753	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
6754		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
6755	}
6756	if s.Fields != nil && len(*s.Fields) < 1 {
6757		invalidParams.Add(request.NewErrParamMinLen("Fields", 1))
6758	}
6759	if s.Include != nil && len(*s.Include) < 1 {
6760		invalidParams.Add(request.NewErrParamMinLen("Include", 1))
6761	}
6762	if s.Limit != nil && *s.Limit < 1 {
6763		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
6764	}
6765	if s.Marker != nil && len(*s.Marker) < 1 {
6766		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
6767	}
6768
6769	if invalidParams.Len() > 0 {
6770		return invalidParams
6771	}
6772	return nil
6773}
6774
6775// SetAuthenticationToken sets the AuthenticationToken field's value.
6776func (s *DescribeDocumentVersionsInput) SetAuthenticationToken(v string) *DescribeDocumentVersionsInput {
6777	s.AuthenticationToken = &v
6778	return s
6779}
6780
6781// SetDocumentId sets the DocumentId field's value.
6782func (s *DescribeDocumentVersionsInput) SetDocumentId(v string) *DescribeDocumentVersionsInput {
6783	s.DocumentId = &v
6784	return s
6785}
6786
6787// SetFields sets the Fields field's value.
6788func (s *DescribeDocumentVersionsInput) SetFields(v string) *DescribeDocumentVersionsInput {
6789	s.Fields = &v
6790	return s
6791}
6792
6793// SetInclude sets the Include field's value.
6794func (s *DescribeDocumentVersionsInput) SetInclude(v string) *DescribeDocumentVersionsInput {
6795	s.Include = &v
6796	return s
6797}
6798
6799// SetLimit sets the Limit field's value.
6800func (s *DescribeDocumentVersionsInput) SetLimit(v int64) *DescribeDocumentVersionsInput {
6801	s.Limit = &v
6802	return s
6803}
6804
6805// SetMarker sets the Marker field's value.
6806func (s *DescribeDocumentVersionsInput) SetMarker(v string) *DescribeDocumentVersionsInput {
6807	s.Marker = &v
6808	return s
6809}
6810
6811type DescribeDocumentVersionsOutput struct {
6812	_ struct{} `type:"structure"`
6813
6814	// The document versions.
6815	DocumentVersions []*DocumentVersionMetadata `type:"list"`
6816
6817	// The marker to use when requesting the next set of results. If there are no
6818	// additional results, the string is empty.
6819	Marker *string `min:"1" type:"string"`
6820}
6821
6822// String returns the string representation
6823func (s DescribeDocumentVersionsOutput) String() string {
6824	return awsutil.Prettify(s)
6825}
6826
6827// GoString returns the string representation
6828func (s DescribeDocumentVersionsOutput) GoString() string {
6829	return s.String()
6830}
6831
6832// SetDocumentVersions sets the DocumentVersions field's value.
6833func (s *DescribeDocumentVersionsOutput) SetDocumentVersions(v []*DocumentVersionMetadata) *DescribeDocumentVersionsOutput {
6834	s.DocumentVersions = v
6835	return s
6836}
6837
6838// SetMarker sets the Marker field's value.
6839func (s *DescribeDocumentVersionsOutput) SetMarker(v string) *DescribeDocumentVersionsOutput {
6840	s.Marker = &v
6841	return s
6842}
6843
6844type DescribeFolderContentsInput struct {
6845	_ struct{} `type:"structure"`
6846
6847	// Amazon WorkDocs authentication token. Not required when using AWS administrator
6848	// credentials to access the API.
6849	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
6850
6851	// The ID of the folder.
6852	//
6853	// FolderId is a required field
6854	FolderId *string `location:"uri" locationName:"FolderId" min:"1" type:"string" required:"true"`
6855
6856	// The contents to include. Specify "INITIALIZED" to include initialized documents.
6857	Include *string `location:"querystring" locationName:"include" min:"1" type:"string"`
6858
6859	// The maximum number of items to return with this call.
6860	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
6861
6862	// The marker for the next set of results. This marker was received from a previous
6863	// call.
6864	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
6865
6866	// The order for the contents of the folder.
6867	Order *string `location:"querystring" locationName:"order" type:"string" enum:"OrderType"`
6868
6869	// The sorting criteria.
6870	Sort *string `location:"querystring" locationName:"sort" type:"string" enum:"ResourceSortType"`
6871
6872	// The type of items.
6873	Type *string `location:"querystring" locationName:"type" type:"string" enum:"FolderContentType"`
6874}
6875
6876// String returns the string representation
6877func (s DescribeFolderContentsInput) String() string {
6878	return awsutil.Prettify(s)
6879}
6880
6881// GoString returns the string representation
6882func (s DescribeFolderContentsInput) GoString() string {
6883	return s.String()
6884}
6885
6886// Validate inspects the fields of the type to determine if they are valid.
6887func (s *DescribeFolderContentsInput) Validate() error {
6888	invalidParams := request.ErrInvalidParams{Context: "DescribeFolderContentsInput"}
6889	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
6890		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
6891	}
6892	if s.FolderId == nil {
6893		invalidParams.Add(request.NewErrParamRequired("FolderId"))
6894	}
6895	if s.FolderId != nil && len(*s.FolderId) < 1 {
6896		invalidParams.Add(request.NewErrParamMinLen("FolderId", 1))
6897	}
6898	if s.Include != nil && len(*s.Include) < 1 {
6899		invalidParams.Add(request.NewErrParamMinLen("Include", 1))
6900	}
6901	if s.Limit != nil && *s.Limit < 1 {
6902		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
6903	}
6904	if s.Marker != nil && len(*s.Marker) < 1 {
6905		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
6906	}
6907
6908	if invalidParams.Len() > 0 {
6909		return invalidParams
6910	}
6911	return nil
6912}
6913
6914// SetAuthenticationToken sets the AuthenticationToken field's value.
6915func (s *DescribeFolderContentsInput) SetAuthenticationToken(v string) *DescribeFolderContentsInput {
6916	s.AuthenticationToken = &v
6917	return s
6918}
6919
6920// SetFolderId sets the FolderId field's value.
6921func (s *DescribeFolderContentsInput) SetFolderId(v string) *DescribeFolderContentsInput {
6922	s.FolderId = &v
6923	return s
6924}
6925
6926// SetInclude sets the Include field's value.
6927func (s *DescribeFolderContentsInput) SetInclude(v string) *DescribeFolderContentsInput {
6928	s.Include = &v
6929	return s
6930}
6931
6932// SetLimit sets the Limit field's value.
6933func (s *DescribeFolderContentsInput) SetLimit(v int64) *DescribeFolderContentsInput {
6934	s.Limit = &v
6935	return s
6936}
6937
6938// SetMarker sets the Marker field's value.
6939func (s *DescribeFolderContentsInput) SetMarker(v string) *DescribeFolderContentsInput {
6940	s.Marker = &v
6941	return s
6942}
6943
6944// SetOrder sets the Order field's value.
6945func (s *DescribeFolderContentsInput) SetOrder(v string) *DescribeFolderContentsInput {
6946	s.Order = &v
6947	return s
6948}
6949
6950// SetSort sets the Sort field's value.
6951func (s *DescribeFolderContentsInput) SetSort(v string) *DescribeFolderContentsInput {
6952	s.Sort = &v
6953	return s
6954}
6955
6956// SetType sets the Type field's value.
6957func (s *DescribeFolderContentsInput) SetType(v string) *DescribeFolderContentsInput {
6958	s.Type = &v
6959	return s
6960}
6961
6962type DescribeFolderContentsOutput struct {
6963	_ struct{} `type:"structure"`
6964
6965	// The documents in the specified folder.
6966	Documents []*DocumentMetadata `type:"list"`
6967
6968	// The subfolders in the specified folder.
6969	Folders []*FolderMetadata `type:"list"`
6970
6971	// The marker to use when requesting the next set of results. If there are no
6972	// additional results, the string is empty.
6973	Marker *string `min:"1" type:"string"`
6974}
6975
6976// String returns the string representation
6977func (s DescribeFolderContentsOutput) String() string {
6978	return awsutil.Prettify(s)
6979}
6980
6981// GoString returns the string representation
6982func (s DescribeFolderContentsOutput) GoString() string {
6983	return s.String()
6984}
6985
6986// SetDocuments sets the Documents field's value.
6987func (s *DescribeFolderContentsOutput) SetDocuments(v []*DocumentMetadata) *DescribeFolderContentsOutput {
6988	s.Documents = v
6989	return s
6990}
6991
6992// SetFolders sets the Folders field's value.
6993func (s *DescribeFolderContentsOutput) SetFolders(v []*FolderMetadata) *DescribeFolderContentsOutput {
6994	s.Folders = v
6995	return s
6996}
6997
6998// SetMarker sets the Marker field's value.
6999func (s *DescribeFolderContentsOutput) SetMarker(v string) *DescribeFolderContentsOutput {
7000	s.Marker = &v
7001	return s
7002}
7003
7004type DescribeGroupsInput struct {
7005	_ struct{} `type:"structure"`
7006
7007	// Amazon WorkDocs authentication token. Not required when using AWS administrator
7008	// credentials to access the API.
7009	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
7010
7011	// The maximum number of items to return with this call.
7012	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
7013
7014	// The marker for the next set of results. (You received this marker from a
7015	// previous call.)
7016	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
7017
7018	// The ID of the organization.
7019	OrganizationId *string `location:"querystring" locationName:"organizationId" min:"1" type:"string"`
7020
7021	// A query to describe groups by group name.
7022	//
7023	// SearchQuery is a required field
7024	SearchQuery *string `location:"querystring" locationName:"searchQuery" min:"1" type:"string" required:"true" sensitive:"true"`
7025}
7026
7027// String returns the string representation
7028func (s DescribeGroupsInput) String() string {
7029	return awsutil.Prettify(s)
7030}
7031
7032// GoString returns the string representation
7033func (s DescribeGroupsInput) GoString() string {
7034	return s.String()
7035}
7036
7037// Validate inspects the fields of the type to determine if they are valid.
7038func (s *DescribeGroupsInput) Validate() error {
7039	invalidParams := request.ErrInvalidParams{Context: "DescribeGroupsInput"}
7040	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
7041		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
7042	}
7043	if s.Limit != nil && *s.Limit < 1 {
7044		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
7045	}
7046	if s.Marker != nil && len(*s.Marker) < 1 {
7047		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
7048	}
7049	if s.OrganizationId != nil && len(*s.OrganizationId) < 1 {
7050		invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 1))
7051	}
7052	if s.SearchQuery == nil {
7053		invalidParams.Add(request.NewErrParamRequired("SearchQuery"))
7054	}
7055	if s.SearchQuery != nil && len(*s.SearchQuery) < 1 {
7056		invalidParams.Add(request.NewErrParamMinLen("SearchQuery", 1))
7057	}
7058
7059	if invalidParams.Len() > 0 {
7060		return invalidParams
7061	}
7062	return nil
7063}
7064
7065// SetAuthenticationToken sets the AuthenticationToken field's value.
7066func (s *DescribeGroupsInput) SetAuthenticationToken(v string) *DescribeGroupsInput {
7067	s.AuthenticationToken = &v
7068	return s
7069}
7070
7071// SetLimit sets the Limit field's value.
7072func (s *DescribeGroupsInput) SetLimit(v int64) *DescribeGroupsInput {
7073	s.Limit = &v
7074	return s
7075}
7076
7077// SetMarker sets the Marker field's value.
7078func (s *DescribeGroupsInput) SetMarker(v string) *DescribeGroupsInput {
7079	s.Marker = &v
7080	return s
7081}
7082
7083// SetOrganizationId sets the OrganizationId field's value.
7084func (s *DescribeGroupsInput) SetOrganizationId(v string) *DescribeGroupsInput {
7085	s.OrganizationId = &v
7086	return s
7087}
7088
7089// SetSearchQuery sets the SearchQuery field's value.
7090func (s *DescribeGroupsInput) SetSearchQuery(v string) *DescribeGroupsInput {
7091	s.SearchQuery = &v
7092	return s
7093}
7094
7095type DescribeGroupsOutput struct {
7096	_ struct{} `type:"structure"`
7097
7098	// The list of groups.
7099	Groups []*GroupMetadata `type:"list"`
7100
7101	// The marker to use when requesting the next set of results. If there are no
7102	// additional results, the string is empty.
7103	Marker *string `min:"1" type:"string"`
7104}
7105
7106// String returns the string representation
7107func (s DescribeGroupsOutput) String() string {
7108	return awsutil.Prettify(s)
7109}
7110
7111// GoString returns the string representation
7112func (s DescribeGroupsOutput) GoString() string {
7113	return s.String()
7114}
7115
7116// SetGroups sets the Groups field's value.
7117func (s *DescribeGroupsOutput) SetGroups(v []*GroupMetadata) *DescribeGroupsOutput {
7118	s.Groups = v
7119	return s
7120}
7121
7122// SetMarker sets the Marker field's value.
7123func (s *DescribeGroupsOutput) SetMarker(v string) *DescribeGroupsOutput {
7124	s.Marker = &v
7125	return s
7126}
7127
7128type DescribeNotificationSubscriptionsInput struct {
7129	_ struct{} `type:"structure"`
7130
7131	// The maximum number of items to return with this call.
7132	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
7133
7134	// The marker for the next set of results. (You received this marker from a
7135	// previous call.)
7136	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
7137
7138	// The ID of the organization.
7139	//
7140	// OrganizationId is a required field
7141	OrganizationId *string `location:"uri" locationName:"OrganizationId" min:"1" type:"string" required:"true"`
7142}
7143
7144// String returns the string representation
7145func (s DescribeNotificationSubscriptionsInput) String() string {
7146	return awsutil.Prettify(s)
7147}
7148
7149// GoString returns the string representation
7150func (s DescribeNotificationSubscriptionsInput) GoString() string {
7151	return s.String()
7152}
7153
7154// Validate inspects the fields of the type to determine if they are valid.
7155func (s *DescribeNotificationSubscriptionsInput) Validate() error {
7156	invalidParams := request.ErrInvalidParams{Context: "DescribeNotificationSubscriptionsInput"}
7157	if s.Limit != nil && *s.Limit < 1 {
7158		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
7159	}
7160	if s.Marker != nil && len(*s.Marker) < 1 {
7161		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
7162	}
7163	if s.OrganizationId == nil {
7164		invalidParams.Add(request.NewErrParamRequired("OrganizationId"))
7165	}
7166	if s.OrganizationId != nil && len(*s.OrganizationId) < 1 {
7167		invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 1))
7168	}
7169
7170	if invalidParams.Len() > 0 {
7171		return invalidParams
7172	}
7173	return nil
7174}
7175
7176// SetLimit sets the Limit field's value.
7177func (s *DescribeNotificationSubscriptionsInput) SetLimit(v int64) *DescribeNotificationSubscriptionsInput {
7178	s.Limit = &v
7179	return s
7180}
7181
7182// SetMarker sets the Marker field's value.
7183func (s *DescribeNotificationSubscriptionsInput) SetMarker(v string) *DescribeNotificationSubscriptionsInput {
7184	s.Marker = &v
7185	return s
7186}
7187
7188// SetOrganizationId sets the OrganizationId field's value.
7189func (s *DescribeNotificationSubscriptionsInput) SetOrganizationId(v string) *DescribeNotificationSubscriptionsInput {
7190	s.OrganizationId = &v
7191	return s
7192}
7193
7194type DescribeNotificationSubscriptionsOutput struct {
7195	_ struct{} `type:"structure"`
7196
7197	// The marker to use when requesting the next set of results. If there are no
7198	// additional results, the string is empty.
7199	Marker *string `min:"1" type:"string"`
7200
7201	// The subscriptions.
7202	Subscriptions []*Subscription `type:"list"`
7203}
7204
7205// String returns the string representation
7206func (s DescribeNotificationSubscriptionsOutput) String() string {
7207	return awsutil.Prettify(s)
7208}
7209
7210// GoString returns the string representation
7211func (s DescribeNotificationSubscriptionsOutput) GoString() string {
7212	return s.String()
7213}
7214
7215// SetMarker sets the Marker field's value.
7216func (s *DescribeNotificationSubscriptionsOutput) SetMarker(v string) *DescribeNotificationSubscriptionsOutput {
7217	s.Marker = &v
7218	return s
7219}
7220
7221// SetSubscriptions sets the Subscriptions field's value.
7222func (s *DescribeNotificationSubscriptionsOutput) SetSubscriptions(v []*Subscription) *DescribeNotificationSubscriptionsOutput {
7223	s.Subscriptions = v
7224	return s
7225}
7226
7227type DescribeResourcePermissionsInput struct {
7228	_ struct{} `type:"structure"`
7229
7230	// Amazon WorkDocs authentication token. Not required when using AWS administrator
7231	// credentials to access the API.
7232	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
7233
7234	// The maximum number of items to return with this call.
7235	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
7236
7237	// The marker for the next set of results. (You received this marker from a
7238	// previous call)
7239	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
7240
7241	// The ID of the principal to filter permissions by.
7242	PrincipalId *string `location:"querystring" locationName:"principalId" min:"1" type:"string"`
7243
7244	// The ID of the resource.
7245	//
7246	// ResourceId is a required field
7247	ResourceId *string `location:"uri" locationName:"ResourceId" min:"1" type:"string" required:"true"`
7248}
7249
7250// String returns the string representation
7251func (s DescribeResourcePermissionsInput) String() string {
7252	return awsutil.Prettify(s)
7253}
7254
7255// GoString returns the string representation
7256func (s DescribeResourcePermissionsInput) GoString() string {
7257	return s.String()
7258}
7259
7260// Validate inspects the fields of the type to determine if they are valid.
7261func (s *DescribeResourcePermissionsInput) Validate() error {
7262	invalidParams := request.ErrInvalidParams{Context: "DescribeResourcePermissionsInput"}
7263	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
7264		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
7265	}
7266	if s.Limit != nil && *s.Limit < 1 {
7267		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
7268	}
7269	if s.Marker != nil && len(*s.Marker) < 1 {
7270		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
7271	}
7272	if s.PrincipalId != nil && len(*s.PrincipalId) < 1 {
7273		invalidParams.Add(request.NewErrParamMinLen("PrincipalId", 1))
7274	}
7275	if s.ResourceId == nil {
7276		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
7277	}
7278	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
7279		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
7280	}
7281
7282	if invalidParams.Len() > 0 {
7283		return invalidParams
7284	}
7285	return nil
7286}
7287
7288// SetAuthenticationToken sets the AuthenticationToken field's value.
7289func (s *DescribeResourcePermissionsInput) SetAuthenticationToken(v string) *DescribeResourcePermissionsInput {
7290	s.AuthenticationToken = &v
7291	return s
7292}
7293
7294// SetLimit sets the Limit field's value.
7295func (s *DescribeResourcePermissionsInput) SetLimit(v int64) *DescribeResourcePermissionsInput {
7296	s.Limit = &v
7297	return s
7298}
7299
7300// SetMarker sets the Marker field's value.
7301func (s *DescribeResourcePermissionsInput) SetMarker(v string) *DescribeResourcePermissionsInput {
7302	s.Marker = &v
7303	return s
7304}
7305
7306// SetPrincipalId sets the PrincipalId field's value.
7307func (s *DescribeResourcePermissionsInput) SetPrincipalId(v string) *DescribeResourcePermissionsInput {
7308	s.PrincipalId = &v
7309	return s
7310}
7311
7312// SetResourceId sets the ResourceId field's value.
7313func (s *DescribeResourcePermissionsInput) SetResourceId(v string) *DescribeResourcePermissionsInput {
7314	s.ResourceId = &v
7315	return s
7316}
7317
7318type DescribeResourcePermissionsOutput struct {
7319	_ struct{} `type:"structure"`
7320
7321	// The marker to use when requesting the next set of results. If there are no
7322	// additional results, the string is empty.
7323	Marker *string `min:"1" type:"string"`
7324
7325	// The principals.
7326	Principals []*Principal `type:"list"`
7327}
7328
7329// String returns the string representation
7330func (s DescribeResourcePermissionsOutput) String() string {
7331	return awsutil.Prettify(s)
7332}
7333
7334// GoString returns the string representation
7335func (s DescribeResourcePermissionsOutput) GoString() string {
7336	return s.String()
7337}
7338
7339// SetMarker sets the Marker field's value.
7340func (s *DescribeResourcePermissionsOutput) SetMarker(v string) *DescribeResourcePermissionsOutput {
7341	s.Marker = &v
7342	return s
7343}
7344
7345// SetPrincipals sets the Principals field's value.
7346func (s *DescribeResourcePermissionsOutput) SetPrincipals(v []*Principal) *DescribeResourcePermissionsOutput {
7347	s.Principals = v
7348	return s
7349}
7350
7351type DescribeRootFoldersInput struct {
7352	_ struct{} `type:"structure"`
7353
7354	// Amazon WorkDocs authentication token.
7355	//
7356	// AuthenticationToken is a required field
7357	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" required:"true" sensitive:"true"`
7358
7359	// The maximum number of items to return.
7360	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
7361
7362	// The marker for the next set of results. (You received this marker from a
7363	// previous call.)
7364	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
7365}
7366
7367// String returns the string representation
7368func (s DescribeRootFoldersInput) String() string {
7369	return awsutil.Prettify(s)
7370}
7371
7372// GoString returns the string representation
7373func (s DescribeRootFoldersInput) GoString() string {
7374	return s.String()
7375}
7376
7377// Validate inspects the fields of the type to determine if they are valid.
7378func (s *DescribeRootFoldersInput) Validate() error {
7379	invalidParams := request.ErrInvalidParams{Context: "DescribeRootFoldersInput"}
7380	if s.AuthenticationToken == nil {
7381		invalidParams.Add(request.NewErrParamRequired("AuthenticationToken"))
7382	}
7383	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
7384		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
7385	}
7386	if s.Limit != nil && *s.Limit < 1 {
7387		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
7388	}
7389	if s.Marker != nil && len(*s.Marker) < 1 {
7390		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
7391	}
7392
7393	if invalidParams.Len() > 0 {
7394		return invalidParams
7395	}
7396	return nil
7397}
7398
7399// SetAuthenticationToken sets the AuthenticationToken field's value.
7400func (s *DescribeRootFoldersInput) SetAuthenticationToken(v string) *DescribeRootFoldersInput {
7401	s.AuthenticationToken = &v
7402	return s
7403}
7404
7405// SetLimit sets the Limit field's value.
7406func (s *DescribeRootFoldersInput) SetLimit(v int64) *DescribeRootFoldersInput {
7407	s.Limit = &v
7408	return s
7409}
7410
7411// SetMarker sets the Marker field's value.
7412func (s *DescribeRootFoldersInput) SetMarker(v string) *DescribeRootFoldersInput {
7413	s.Marker = &v
7414	return s
7415}
7416
7417type DescribeRootFoldersOutput struct {
7418	_ struct{} `type:"structure"`
7419
7420	// The user's special folders.
7421	Folders []*FolderMetadata `type:"list"`
7422
7423	// The marker for the next set of results.
7424	Marker *string `min:"1" type:"string"`
7425}
7426
7427// String returns the string representation
7428func (s DescribeRootFoldersOutput) String() string {
7429	return awsutil.Prettify(s)
7430}
7431
7432// GoString returns the string representation
7433func (s DescribeRootFoldersOutput) GoString() string {
7434	return s.String()
7435}
7436
7437// SetFolders sets the Folders field's value.
7438func (s *DescribeRootFoldersOutput) SetFolders(v []*FolderMetadata) *DescribeRootFoldersOutput {
7439	s.Folders = v
7440	return s
7441}
7442
7443// SetMarker sets the Marker field's value.
7444func (s *DescribeRootFoldersOutput) SetMarker(v string) *DescribeRootFoldersOutput {
7445	s.Marker = &v
7446	return s
7447}
7448
7449type DescribeUsersInput struct {
7450	_ struct{} `type:"structure"`
7451
7452	// Amazon WorkDocs authentication token. Not required when using AWS administrator
7453	// credentials to access the API.
7454	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
7455
7456	// A comma-separated list of values. Specify "STORAGE_METADATA" to include the
7457	// user storage quota and utilization information.
7458	Fields *string `location:"querystring" locationName:"fields" min:"1" type:"string"`
7459
7460	// The state of the users. Specify "ALL" to include inactive users.
7461	Include *string `location:"querystring" locationName:"include" type:"string" enum:"UserFilterType"`
7462
7463	// The maximum number of items to return.
7464	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
7465
7466	// The marker for the next set of results. (You received this marker from a
7467	// previous call.)
7468	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
7469
7470	// The order for the results.
7471	Order *string `location:"querystring" locationName:"order" type:"string" enum:"OrderType"`
7472
7473	// The ID of the organization.
7474	OrganizationId *string `location:"querystring" locationName:"organizationId" min:"1" type:"string"`
7475
7476	// A query to filter users by user name.
7477	Query *string `location:"querystring" locationName:"query" min:"1" type:"string" sensitive:"true"`
7478
7479	// The sorting criteria.
7480	Sort *string `location:"querystring" locationName:"sort" type:"string" enum:"UserSortType"`
7481
7482	// The IDs of the users.
7483	UserIds *string `location:"querystring" locationName:"userIds" min:"1" type:"string"`
7484}
7485
7486// String returns the string representation
7487func (s DescribeUsersInput) String() string {
7488	return awsutil.Prettify(s)
7489}
7490
7491// GoString returns the string representation
7492func (s DescribeUsersInput) GoString() string {
7493	return s.String()
7494}
7495
7496// Validate inspects the fields of the type to determine if they are valid.
7497func (s *DescribeUsersInput) Validate() error {
7498	invalidParams := request.ErrInvalidParams{Context: "DescribeUsersInput"}
7499	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
7500		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
7501	}
7502	if s.Fields != nil && len(*s.Fields) < 1 {
7503		invalidParams.Add(request.NewErrParamMinLen("Fields", 1))
7504	}
7505	if s.Limit != nil && *s.Limit < 1 {
7506		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
7507	}
7508	if s.Marker != nil && len(*s.Marker) < 1 {
7509		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
7510	}
7511	if s.OrganizationId != nil && len(*s.OrganizationId) < 1 {
7512		invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 1))
7513	}
7514	if s.Query != nil && len(*s.Query) < 1 {
7515		invalidParams.Add(request.NewErrParamMinLen("Query", 1))
7516	}
7517	if s.UserIds != nil && len(*s.UserIds) < 1 {
7518		invalidParams.Add(request.NewErrParamMinLen("UserIds", 1))
7519	}
7520
7521	if invalidParams.Len() > 0 {
7522		return invalidParams
7523	}
7524	return nil
7525}
7526
7527// SetAuthenticationToken sets the AuthenticationToken field's value.
7528func (s *DescribeUsersInput) SetAuthenticationToken(v string) *DescribeUsersInput {
7529	s.AuthenticationToken = &v
7530	return s
7531}
7532
7533// SetFields sets the Fields field's value.
7534func (s *DescribeUsersInput) SetFields(v string) *DescribeUsersInput {
7535	s.Fields = &v
7536	return s
7537}
7538
7539// SetInclude sets the Include field's value.
7540func (s *DescribeUsersInput) SetInclude(v string) *DescribeUsersInput {
7541	s.Include = &v
7542	return s
7543}
7544
7545// SetLimit sets the Limit field's value.
7546func (s *DescribeUsersInput) SetLimit(v int64) *DescribeUsersInput {
7547	s.Limit = &v
7548	return s
7549}
7550
7551// SetMarker sets the Marker field's value.
7552func (s *DescribeUsersInput) SetMarker(v string) *DescribeUsersInput {
7553	s.Marker = &v
7554	return s
7555}
7556
7557// SetOrder sets the Order field's value.
7558func (s *DescribeUsersInput) SetOrder(v string) *DescribeUsersInput {
7559	s.Order = &v
7560	return s
7561}
7562
7563// SetOrganizationId sets the OrganizationId field's value.
7564func (s *DescribeUsersInput) SetOrganizationId(v string) *DescribeUsersInput {
7565	s.OrganizationId = &v
7566	return s
7567}
7568
7569// SetQuery sets the Query field's value.
7570func (s *DescribeUsersInput) SetQuery(v string) *DescribeUsersInput {
7571	s.Query = &v
7572	return s
7573}
7574
7575// SetSort sets the Sort field's value.
7576func (s *DescribeUsersInput) SetSort(v string) *DescribeUsersInput {
7577	s.Sort = &v
7578	return s
7579}
7580
7581// SetUserIds sets the UserIds field's value.
7582func (s *DescribeUsersInput) SetUserIds(v string) *DescribeUsersInput {
7583	s.UserIds = &v
7584	return s
7585}
7586
7587type DescribeUsersOutput struct {
7588	_ struct{} `type:"structure"`
7589
7590	// The marker to use when requesting the next set of results. If there are no
7591	// additional results, the string is empty.
7592	Marker *string `min:"1" type:"string"`
7593
7594	// The total number of users included in the results.
7595	//
7596	// Deprecated: TotalNumberOfUsers has been deprecated
7597	TotalNumberOfUsers *int64 `deprecated:"true" type:"long"`
7598
7599	// The users.
7600	Users []*User `type:"list"`
7601}
7602
7603// String returns the string representation
7604func (s DescribeUsersOutput) String() string {
7605	return awsutil.Prettify(s)
7606}
7607
7608// GoString returns the string representation
7609func (s DescribeUsersOutput) GoString() string {
7610	return s.String()
7611}
7612
7613// SetMarker sets the Marker field's value.
7614func (s *DescribeUsersOutput) SetMarker(v string) *DescribeUsersOutput {
7615	s.Marker = &v
7616	return s
7617}
7618
7619// SetTotalNumberOfUsers sets the TotalNumberOfUsers field's value.
7620func (s *DescribeUsersOutput) SetTotalNumberOfUsers(v int64) *DescribeUsersOutput {
7621	s.TotalNumberOfUsers = &v
7622	return s
7623}
7624
7625// SetUsers sets the Users field's value.
7626func (s *DescribeUsersOutput) SetUsers(v []*User) *DescribeUsersOutput {
7627	s.Users = v
7628	return s
7629}
7630
7631// This exception is thrown when the document is locked for comments and user
7632// tries to create or delete a comment on that document.
7633type DocumentLockedForCommentsException struct {
7634	_            struct{}                  `type:"structure"`
7635	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7636
7637	Message_ *string `locationName:"Message" type:"string"`
7638}
7639
7640// String returns the string representation
7641func (s DocumentLockedForCommentsException) String() string {
7642	return awsutil.Prettify(s)
7643}
7644
7645// GoString returns the string representation
7646func (s DocumentLockedForCommentsException) GoString() string {
7647	return s.String()
7648}
7649
7650func newErrorDocumentLockedForCommentsException(v protocol.ResponseMetadata) error {
7651	return &DocumentLockedForCommentsException{
7652		RespMetadata: v,
7653	}
7654}
7655
7656// Code returns the exception type name.
7657func (s *DocumentLockedForCommentsException) Code() string {
7658	return "DocumentLockedForCommentsException"
7659}
7660
7661// Message returns the exception's message.
7662func (s *DocumentLockedForCommentsException) Message() string {
7663	if s.Message_ != nil {
7664		return *s.Message_
7665	}
7666	return ""
7667}
7668
7669// OrigErr always returns nil, satisfies awserr.Error interface.
7670func (s *DocumentLockedForCommentsException) OrigErr() error {
7671	return nil
7672}
7673
7674func (s *DocumentLockedForCommentsException) Error() string {
7675	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7676}
7677
7678// Status code returns the HTTP status code for the request's response error.
7679func (s *DocumentLockedForCommentsException) StatusCode() int {
7680	return s.RespMetadata.StatusCode
7681}
7682
7683// RequestID returns the service's response RequestID for request.
7684func (s *DocumentLockedForCommentsException) RequestID() string {
7685	return s.RespMetadata.RequestID
7686}
7687
7688// Describes the document.
7689type DocumentMetadata struct {
7690	_ struct{} `type:"structure"`
7691
7692	// The time when the document was created.
7693	CreatedTimestamp *time.Time `type:"timestamp"`
7694
7695	// The ID of the creator.
7696	CreatorId *string `min:"1" type:"string"`
7697
7698	// The ID of the document.
7699	Id *string `min:"1" type:"string"`
7700
7701	// List of labels on the document.
7702	Labels []*string `type:"list"`
7703
7704	// The latest version of the document.
7705	LatestVersionMetadata *DocumentVersionMetadata `type:"structure"`
7706
7707	// The time when the document was updated.
7708	ModifiedTimestamp *time.Time `type:"timestamp"`
7709
7710	// The ID of the parent folder.
7711	ParentFolderId *string `min:"1" type:"string"`
7712
7713	// The resource state.
7714	ResourceState *string `type:"string" enum:"ResourceStateType"`
7715}
7716
7717// String returns the string representation
7718func (s DocumentMetadata) String() string {
7719	return awsutil.Prettify(s)
7720}
7721
7722// GoString returns the string representation
7723func (s DocumentMetadata) GoString() string {
7724	return s.String()
7725}
7726
7727// SetCreatedTimestamp sets the CreatedTimestamp field's value.
7728func (s *DocumentMetadata) SetCreatedTimestamp(v time.Time) *DocumentMetadata {
7729	s.CreatedTimestamp = &v
7730	return s
7731}
7732
7733// SetCreatorId sets the CreatorId field's value.
7734func (s *DocumentMetadata) SetCreatorId(v string) *DocumentMetadata {
7735	s.CreatorId = &v
7736	return s
7737}
7738
7739// SetId sets the Id field's value.
7740func (s *DocumentMetadata) SetId(v string) *DocumentMetadata {
7741	s.Id = &v
7742	return s
7743}
7744
7745// SetLabels sets the Labels field's value.
7746func (s *DocumentMetadata) SetLabels(v []*string) *DocumentMetadata {
7747	s.Labels = v
7748	return s
7749}
7750
7751// SetLatestVersionMetadata sets the LatestVersionMetadata field's value.
7752func (s *DocumentMetadata) SetLatestVersionMetadata(v *DocumentVersionMetadata) *DocumentMetadata {
7753	s.LatestVersionMetadata = v
7754	return s
7755}
7756
7757// SetModifiedTimestamp sets the ModifiedTimestamp field's value.
7758func (s *DocumentMetadata) SetModifiedTimestamp(v time.Time) *DocumentMetadata {
7759	s.ModifiedTimestamp = &v
7760	return s
7761}
7762
7763// SetParentFolderId sets the ParentFolderId field's value.
7764func (s *DocumentMetadata) SetParentFolderId(v string) *DocumentMetadata {
7765	s.ParentFolderId = &v
7766	return s
7767}
7768
7769// SetResourceState sets the ResourceState field's value.
7770func (s *DocumentMetadata) SetResourceState(v string) *DocumentMetadata {
7771	s.ResourceState = &v
7772	return s
7773}
7774
7775// Describes a version of a document.
7776type DocumentVersionMetadata struct {
7777	_ struct{} `type:"structure"`
7778
7779	// The timestamp when the content of the document was originally created.
7780	ContentCreatedTimestamp *time.Time `type:"timestamp"`
7781
7782	// The timestamp when the content of the document was modified.
7783	ContentModifiedTimestamp *time.Time `type:"timestamp"`
7784
7785	// The content type of the document.
7786	ContentType *string `min:"1" type:"string"`
7787
7788	// The timestamp when the document was first uploaded.
7789	CreatedTimestamp *time.Time `type:"timestamp"`
7790
7791	// The ID of the creator.
7792	CreatorId *string `min:"1" type:"string"`
7793
7794	// The ID of the version.
7795	Id *string `min:"1" type:"string"`
7796
7797	// The timestamp when the document was last uploaded.
7798	ModifiedTimestamp *time.Time `type:"timestamp"`
7799
7800	// The name of the version.
7801	Name *string `min:"1" type:"string"`
7802
7803	// The signature of the document.
7804	Signature *string `type:"string"`
7805
7806	// The size of the document, in bytes.
7807	Size *int64 `type:"long"`
7808
7809	// The source of the document.
7810	Source map[string]*string `type:"map"`
7811
7812	// The status of the document.
7813	Status *string `type:"string" enum:"DocumentStatusType"`
7814
7815	// The thumbnail of the document.
7816	Thumbnail map[string]*string `type:"map"`
7817}
7818
7819// String returns the string representation
7820func (s DocumentVersionMetadata) String() string {
7821	return awsutil.Prettify(s)
7822}
7823
7824// GoString returns the string representation
7825func (s DocumentVersionMetadata) GoString() string {
7826	return s.String()
7827}
7828
7829// SetContentCreatedTimestamp sets the ContentCreatedTimestamp field's value.
7830func (s *DocumentVersionMetadata) SetContentCreatedTimestamp(v time.Time) *DocumentVersionMetadata {
7831	s.ContentCreatedTimestamp = &v
7832	return s
7833}
7834
7835// SetContentModifiedTimestamp sets the ContentModifiedTimestamp field's value.
7836func (s *DocumentVersionMetadata) SetContentModifiedTimestamp(v time.Time) *DocumentVersionMetadata {
7837	s.ContentModifiedTimestamp = &v
7838	return s
7839}
7840
7841// SetContentType sets the ContentType field's value.
7842func (s *DocumentVersionMetadata) SetContentType(v string) *DocumentVersionMetadata {
7843	s.ContentType = &v
7844	return s
7845}
7846
7847// SetCreatedTimestamp sets the CreatedTimestamp field's value.
7848func (s *DocumentVersionMetadata) SetCreatedTimestamp(v time.Time) *DocumentVersionMetadata {
7849	s.CreatedTimestamp = &v
7850	return s
7851}
7852
7853// SetCreatorId sets the CreatorId field's value.
7854func (s *DocumentVersionMetadata) SetCreatorId(v string) *DocumentVersionMetadata {
7855	s.CreatorId = &v
7856	return s
7857}
7858
7859// SetId sets the Id field's value.
7860func (s *DocumentVersionMetadata) SetId(v string) *DocumentVersionMetadata {
7861	s.Id = &v
7862	return s
7863}
7864
7865// SetModifiedTimestamp sets the ModifiedTimestamp field's value.
7866func (s *DocumentVersionMetadata) SetModifiedTimestamp(v time.Time) *DocumentVersionMetadata {
7867	s.ModifiedTimestamp = &v
7868	return s
7869}
7870
7871// SetName sets the Name field's value.
7872func (s *DocumentVersionMetadata) SetName(v string) *DocumentVersionMetadata {
7873	s.Name = &v
7874	return s
7875}
7876
7877// SetSignature sets the Signature field's value.
7878func (s *DocumentVersionMetadata) SetSignature(v string) *DocumentVersionMetadata {
7879	s.Signature = &v
7880	return s
7881}
7882
7883// SetSize sets the Size field's value.
7884func (s *DocumentVersionMetadata) SetSize(v int64) *DocumentVersionMetadata {
7885	s.Size = &v
7886	return s
7887}
7888
7889// SetSource sets the Source field's value.
7890func (s *DocumentVersionMetadata) SetSource(v map[string]*string) *DocumentVersionMetadata {
7891	s.Source = v
7892	return s
7893}
7894
7895// SetStatus sets the Status field's value.
7896func (s *DocumentVersionMetadata) SetStatus(v string) *DocumentVersionMetadata {
7897	s.Status = &v
7898	return s
7899}
7900
7901// SetThumbnail sets the Thumbnail field's value.
7902func (s *DocumentVersionMetadata) SetThumbnail(v map[string]*string) *DocumentVersionMetadata {
7903	s.Thumbnail = v
7904	return s
7905}
7906
7907// This exception is thrown when a valid checkout ID is not presented on document
7908// version upload calls for a document that has been checked out from Web client.
7909type DraftUploadOutOfSyncException struct {
7910	_            struct{}                  `type:"structure"`
7911	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7912
7913	Message_ *string `locationName:"Message" type:"string"`
7914}
7915
7916// String returns the string representation
7917func (s DraftUploadOutOfSyncException) String() string {
7918	return awsutil.Prettify(s)
7919}
7920
7921// GoString returns the string representation
7922func (s DraftUploadOutOfSyncException) GoString() string {
7923	return s.String()
7924}
7925
7926func newErrorDraftUploadOutOfSyncException(v protocol.ResponseMetadata) error {
7927	return &DraftUploadOutOfSyncException{
7928		RespMetadata: v,
7929	}
7930}
7931
7932// Code returns the exception type name.
7933func (s *DraftUploadOutOfSyncException) Code() string {
7934	return "DraftUploadOutOfSyncException"
7935}
7936
7937// Message returns the exception's message.
7938func (s *DraftUploadOutOfSyncException) Message() string {
7939	if s.Message_ != nil {
7940		return *s.Message_
7941	}
7942	return ""
7943}
7944
7945// OrigErr always returns nil, satisfies awserr.Error interface.
7946func (s *DraftUploadOutOfSyncException) OrigErr() error {
7947	return nil
7948}
7949
7950func (s *DraftUploadOutOfSyncException) Error() string {
7951	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7952}
7953
7954// Status code returns the HTTP status code for the request's response error.
7955func (s *DraftUploadOutOfSyncException) StatusCode() int {
7956	return s.RespMetadata.StatusCode
7957}
7958
7959// RequestID returns the service's response RequestID for request.
7960func (s *DraftUploadOutOfSyncException) RequestID() string {
7961	return s.RespMetadata.RequestID
7962}
7963
7964// The resource already exists.
7965type EntityAlreadyExistsException struct {
7966	_            struct{}                  `type:"structure"`
7967	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7968
7969	Message_ *string `locationName:"Message" type:"string"`
7970}
7971
7972// String returns the string representation
7973func (s EntityAlreadyExistsException) String() string {
7974	return awsutil.Prettify(s)
7975}
7976
7977// GoString returns the string representation
7978func (s EntityAlreadyExistsException) GoString() string {
7979	return s.String()
7980}
7981
7982func newErrorEntityAlreadyExistsException(v protocol.ResponseMetadata) error {
7983	return &EntityAlreadyExistsException{
7984		RespMetadata: v,
7985	}
7986}
7987
7988// Code returns the exception type name.
7989func (s *EntityAlreadyExistsException) Code() string {
7990	return "EntityAlreadyExistsException"
7991}
7992
7993// Message returns the exception's message.
7994func (s *EntityAlreadyExistsException) Message() string {
7995	if s.Message_ != nil {
7996		return *s.Message_
7997	}
7998	return ""
7999}
8000
8001// OrigErr always returns nil, satisfies awserr.Error interface.
8002func (s *EntityAlreadyExistsException) OrigErr() error {
8003	return nil
8004}
8005
8006func (s *EntityAlreadyExistsException) Error() string {
8007	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8008}
8009
8010// Status code returns the HTTP status code for the request's response error.
8011func (s *EntityAlreadyExistsException) StatusCode() int {
8012	return s.RespMetadata.StatusCode
8013}
8014
8015// RequestID returns the service's response RequestID for request.
8016func (s *EntityAlreadyExistsException) RequestID() string {
8017	return s.RespMetadata.RequestID
8018}
8019
8020// The resource does not exist.
8021type EntityNotExistsException struct {
8022	_            struct{}                  `type:"structure"`
8023	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8024
8025	EntityIds []*string `type:"list"`
8026
8027	Message_ *string `locationName:"Message" type:"string"`
8028}
8029
8030// String returns the string representation
8031func (s EntityNotExistsException) String() string {
8032	return awsutil.Prettify(s)
8033}
8034
8035// GoString returns the string representation
8036func (s EntityNotExistsException) GoString() string {
8037	return s.String()
8038}
8039
8040func newErrorEntityNotExistsException(v protocol.ResponseMetadata) error {
8041	return &EntityNotExistsException{
8042		RespMetadata: v,
8043	}
8044}
8045
8046// Code returns the exception type name.
8047func (s *EntityNotExistsException) Code() string {
8048	return "EntityNotExistsException"
8049}
8050
8051// Message returns the exception's message.
8052func (s *EntityNotExistsException) Message() string {
8053	if s.Message_ != nil {
8054		return *s.Message_
8055	}
8056	return ""
8057}
8058
8059// OrigErr always returns nil, satisfies awserr.Error interface.
8060func (s *EntityNotExistsException) OrigErr() error {
8061	return nil
8062}
8063
8064func (s *EntityNotExistsException) Error() string {
8065	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
8066}
8067
8068// Status code returns the HTTP status code for the request's response error.
8069func (s *EntityNotExistsException) StatusCode() int {
8070	return s.RespMetadata.StatusCode
8071}
8072
8073// RequestID returns the service's response RequestID for request.
8074func (s *EntityNotExistsException) RequestID() string {
8075	return s.RespMetadata.RequestID
8076}
8077
8078// The AWS Directory Service cannot reach an on-premises instance. Or a dependency
8079// under the control of the organization is failing, such as a connected Active
8080// Directory.
8081type FailedDependencyException struct {
8082	_            struct{}                  `type:"structure"`
8083	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8084
8085	Message_ *string `locationName:"Message" type:"string"`
8086}
8087
8088// String returns the string representation
8089func (s FailedDependencyException) String() string {
8090	return awsutil.Prettify(s)
8091}
8092
8093// GoString returns the string representation
8094func (s FailedDependencyException) GoString() string {
8095	return s.String()
8096}
8097
8098func newErrorFailedDependencyException(v protocol.ResponseMetadata) error {
8099	return &FailedDependencyException{
8100		RespMetadata: v,
8101	}
8102}
8103
8104// Code returns the exception type name.
8105func (s *FailedDependencyException) Code() string {
8106	return "FailedDependencyException"
8107}
8108
8109// Message returns the exception's message.
8110func (s *FailedDependencyException) Message() string {
8111	if s.Message_ != nil {
8112		return *s.Message_
8113	}
8114	return ""
8115}
8116
8117// OrigErr always returns nil, satisfies awserr.Error interface.
8118func (s *FailedDependencyException) OrigErr() error {
8119	return nil
8120}
8121
8122func (s *FailedDependencyException) Error() string {
8123	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8124}
8125
8126// Status code returns the HTTP status code for the request's response error.
8127func (s *FailedDependencyException) StatusCode() int {
8128	return s.RespMetadata.StatusCode
8129}
8130
8131// RequestID returns the service's response RequestID for request.
8132func (s *FailedDependencyException) RequestID() string {
8133	return s.RespMetadata.RequestID
8134}
8135
8136// Describes a folder.
8137type FolderMetadata struct {
8138	_ struct{} `type:"structure"`
8139
8140	// The time when the folder was created.
8141	CreatedTimestamp *time.Time `type:"timestamp"`
8142
8143	// The ID of the creator.
8144	CreatorId *string `min:"1" type:"string"`
8145
8146	// The ID of the folder.
8147	Id *string `min:"1" type:"string"`
8148
8149	// List of labels on the folder.
8150	Labels []*string `type:"list"`
8151
8152	// The size of the latest version of the folder metadata.
8153	LatestVersionSize *int64 `type:"long"`
8154
8155	// The time when the folder was updated.
8156	ModifiedTimestamp *time.Time `type:"timestamp"`
8157
8158	// The name of the folder.
8159	Name *string `min:"1" type:"string"`
8160
8161	// The ID of the parent folder.
8162	ParentFolderId *string `min:"1" type:"string"`
8163
8164	// The resource state of the folder.
8165	ResourceState *string `type:"string" enum:"ResourceStateType"`
8166
8167	// The unique identifier created from the subfolders and documents of the folder.
8168	Signature *string `type:"string"`
8169
8170	// The size of the folder metadata.
8171	Size *int64 `type:"long"`
8172}
8173
8174// String returns the string representation
8175func (s FolderMetadata) String() string {
8176	return awsutil.Prettify(s)
8177}
8178
8179// GoString returns the string representation
8180func (s FolderMetadata) GoString() string {
8181	return s.String()
8182}
8183
8184// SetCreatedTimestamp sets the CreatedTimestamp field's value.
8185func (s *FolderMetadata) SetCreatedTimestamp(v time.Time) *FolderMetadata {
8186	s.CreatedTimestamp = &v
8187	return s
8188}
8189
8190// SetCreatorId sets the CreatorId field's value.
8191func (s *FolderMetadata) SetCreatorId(v string) *FolderMetadata {
8192	s.CreatorId = &v
8193	return s
8194}
8195
8196// SetId sets the Id field's value.
8197func (s *FolderMetadata) SetId(v string) *FolderMetadata {
8198	s.Id = &v
8199	return s
8200}
8201
8202// SetLabels sets the Labels field's value.
8203func (s *FolderMetadata) SetLabels(v []*string) *FolderMetadata {
8204	s.Labels = v
8205	return s
8206}
8207
8208// SetLatestVersionSize sets the LatestVersionSize field's value.
8209func (s *FolderMetadata) SetLatestVersionSize(v int64) *FolderMetadata {
8210	s.LatestVersionSize = &v
8211	return s
8212}
8213
8214// SetModifiedTimestamp sets the ModifiedTimestamp field's value.
8215func (s *FolderMetadata) SetModifiedTimestamp(v time.Time) *FolderMetadata {
8216	s.ModifiedTimestamp = &v
8217	return s
8218}
8219
8220// SetName sets the Name field's value.
8221func (s *FolderMetadata) SetName(v string) *FolderMetadata {
8222	s.Name = &v
8223	return s
8224}
8225
8226// SetParentFolderId sets the ParentFolderId field's value.
8227func (s *FolderMetadata) SetParentFolderId(v string) *FolderMetadata {
8228	s.ParentFolderId = &v
8229	return s
8230}
8231
8232// SetResourceState sets the ResourceState field's value.
8233func (s *FolderMetadata) SetResourceState(v string) *FolderMetadata {
8234	s.ResourceState = &v
8235	return s
8236}
8237
8238// SetSignature sets the Signature field's value.
8239func (s *FolderMetadata) SetSignature(v string) *FolderMetadata {
8240	s.Signature = &v
8241	return s
8242}
8243
8244// SetSize sets the Size field's value.
8245func (s *FolderMetadata) SetSize(v int64) *FolderMetadata {
8246	s.Size = &v
8247	return s
8248}
8249
8250type GetCurrentUserInput struct {
8251	_ struct{} `type:"structure"`
8252
8253	// Amazon WorkDocs authentication token.
8254	//
8255	// AuthenticationToken is a required field
8256	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" required:"true" sensitive:"true"`
8257}
8258
8259// String returns the string representation
8260func (s GetCurrentUserInput) String() string {
8261	return awsutil.Prettify(s)
8262}
8263
8264// GoString returns the string representation
8265func (s GetCurrentUserInput) GoString() string {
8266	return s.String()
8267}
8268
8269// Validate inspects the fields of the type to determine if they are valid.
8270func (s *GetCurrentUserInput) Validate() error {
8271	invalidParams := request.ErrInvalidParams{Context: "GetCurrentUserInput"}
8272	if s.AuthenticationToken == nil {
8273		invalidParams.Add(request.NewErrParamRequired("AuthenticationToken"))
8274	}
8275	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
8276		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
8277	}
8278
8279	if invalidParams.Len() > 0 {
8280		return invalidParams
8281	}
8282	return nil
8283}
8284
8285// SetAuthenticationToken sets the AuthenticationToken field's value.
8286func (s *GetCurrentUserInput) SetAuthenticationToken(v string) *GetCurrentUserInput {
8287	s.AuthenticationToken = &v
8288	return s
8289}
8290
8291type GetCurrentUserOutput struct {
8292	_ struct{} `type:"structure"`
8293
8294	// Metadata of the user.
8295	User *User `type:"structure"`
8296}
8297
8298// String returns the string representation
8299func (s GetCurrentUserOutput) String() string {
8300	return awsutil.Prettify(s)
8301}
8302
8303// GoString returns the string representation
8304func (s GetCurrentUserOutput) GoString() string {
8305	return s.String()
8306}
8307
8308// SetUser sets the User field's value.
8309func (s *GetCurrentUserOutput) SetUser(v *User) *GetCurrentUserOutput {
8310	s.User = v
8311	return s
8312}
8313
8314type GetDocumentInput struct {
8315	_ struct{} `type:"structure"`
8316
8317	// Amazon WorkDocs authentication token. Not required when using AWS administrator
8318	// credentials to access the API.
8319	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
8320
8321	// The ID of the document.
8322	//
8323	// DocumentId is a required field
8324	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
8325
8326	// Set this to TRUE to include custom metadata in the response.
8327	IncludeCustomMetadata *bool `location:"querystring" locationName:"includeCustomMetadata" type:"boolean"`
8328}
8329
8330// String returns the string representation
8331func (s GetDocumentInput) String() string {
8332	return awsutil.Prettify(s)
8333}
8334
8335// GoString returns the string representation
8336func (s GetDocumentInput) GoString() string {
8337	return s.String()
8338}
8339
8340// Validate inspects the fields of the type to determine if they are valid.
8341func (s *GetDocumentInput) Validate() error {
8342	invalidParams := request.ErrInvalidParams{Context: "GetDocumentInput"}
8343	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
8344		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
8345	}
8346	if s.DocumentId == nil {
8347		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
8348	}
8349	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
8350		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
8351	}
8352
8353	if invalidParams.Len() > 0 {
8354		return invalidParams
8355	}
8356	return nil
8357}
8358
8359// SetAuthenticationToken sets the AuthenticationToken field's value.
8360func (s *GetDocumentInput) SetAuthenticationToken(v string) *GetDocumentInput {
8361	s.AuthenticationToken = &v
8362	return s
8363}
8364
8365// SetDocumentId sets the DocumentId field's value.
8366func (s *GetDocumentInput) SetDocumentId(v string) *GetDocumentInput {
8367	s.DocumentId = &v
8368	return s
8369}
8370
8371// SetIncludeCustomMetadata sets the IncludeCustomMetadata field's value.
8372func (s *GetDocumentInput) SetIncludeCustomMetadata(v bool) *GetDocumentInput {
8373	s.IncludeCustomMetadata = &v
8374	return s
8375}
8376
8377type GetDocumentOutput struct {
8378	_ struct{} `type:"structure"`
8379
8380	// The custom metadata on the document.
8381	CustomMetadata map[string]*string `min:"1" type:"map"`
8382
8383	// The metadata details of the document.
8384	Metadata *DocumentMetadata `type:"structure"`
8385}
8386
8387// String returns the string representation
8388func (s GetDocumentOutput) String() string {
8389	return awsutil.Prettify(s)
8390}
8391
8392// GoString returns the string representation
8393func (s GetDocumentOutput) GoString() string {
8394	return s.String()
8395}
8396
8397// SetCustomMetadata sets the CustomMetadata field's value.
8398func (s *GetDocumentOutput) SetCustomMetadata(v map[string]*string) *GetDocumentOutput {
8399	s.CustomMetadata = v
8400	return s
8401}
8402
8403// SetMetadata sets the Metadata field's value.
8404func (s *GetDocumentOutput) SetMetadata(v *DocumentMetadata) *GetDocumentOutput {
8405	s.Metadata = v
8406	return s
8407}
8408
8409type GetDocumentPathInput struct {
8410	_ struct{} `type:"structure"`
8411
8412	// Amazon WorkDocs authentication token. Not required when using AWS administrator
8413	// credentials to access the API.
8414	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
8415
8416	// The ID of the document.
8417	//
8418	// DocumentId is a required field
8419	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
8420
8421	// A comma-separated list of values. Specify NAME to include the names of the
8422	// parent folders.
8423	Fields *string `location:"querystring" locationName:"fields" min:"1" type:"string"`
8424
8425	// The maximum number of levels in the hierarchy to return.
8426	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
8427
8428	// This value is not supported.
8429	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
8430}
8431
8432// String returns the string representation
8433func (s GetDocumentPathInput) String() string {
8434	return awsutil.Prettify(s)
8435}
8436
8437// GoString returns the string representation
8438func (s GetDocumentPathInput) GoString() string {
8439	return s.String()
8440}
8441
8442// Validate inspects the fields of the type to determine if they are valid.
8443func (s *GetDocumentPathInput) Validate() error {
8444	invalidParams := request.ErrInvalidParams{Context: "GetDocumentPathInput"}
8445	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
8446		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
8447	}
8448	if s.DocumentId == nil {
8449		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
8450	}
8451	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
8452		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
8453	}
8454	if s.Fields != nil && len(*s.Fields) < 1 {
8455		invalidParams.Add(request.NewErrParamMinLen("Fields", 1))
8456	}
8457	if s.Limit != nil && *s.Limit < 1 {
8458		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
8459	}
8460	if s.Marker != nil && len(*s.Marker) < 1 {
8461		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
8462	}
8463
8464	if invalidParams.Len() > 0 {
8465		return invalidParams
8466	}
8467	return nil
8468}
8469
8470// SetAuthenticationToken sets the AuthenticationToken field's value.
8471func (s *GetDocumentPathInput) SetAuthenticationToken(v string) *GetDocumentPathInput {
8472	s.AuthenticationToken = &v
8473	return s
8474}
8475
8476// SetDocumentId sets the DocumentId field's value.
8477func (s *GetDocumentPathInput) SetDocumentId(v string) *GetDocumentPathInput {
8478	s.DocumentId = &v
8479	return s
8480}
8481
8482// SetFields sets the Fields field's value.
8483func (s *GetDocumentPathInput) SetFields(v string) *GetDocumentPathInput {
8484	s.Fields = &v
8485	return s
8486}
8487
8488// SetLimit sets the Limit field's value.
8489func (s *GetDocumentPathInput) SetLimit(v int64) *GetDocumentPathInput {
8490	s.Limit = &v
8491	return s
8492}
8493
8494// SetMarker sets the Marker field's value.
8495func (s *GetDocumentPathInput) SetMarker(v string) *GetDocumentPathInput {
8496	s.Marker = &v
8497	return s
8498}
8499
8500type GetDocumentPathOutput struct {
8501	_ struct{} `type:"structure"`
8502
8503	// The path information.
8504	Path *ResourcePath `type:"structure"`
8505}
8506
8507// String returns the string representation
8508func (s GetDocumentPathOutput) String() string {
8509	return awsutil.Prettify(s)
8510}
8511
8512// GoString returns the string representation
8513func (s GetDocumentPathOutput) GoString() string {
8514	return s.String()
8515}
8516
8517// SetPath sets the Path field's value.
8518func (s *GetDocumentPathOutput) SetPath(v *ResourcePath) *GetDocumentPathOutput {
8519	s.Path = v
8520	return s
8521}
8522
8523type GetDocumentVersionInput struct {
8524	_ struct{} `type:"structure"`
8525
8526	// Amazon WorkDocs authentication token. Not required when using AWS administrator
8527	// credentials to access the API.
8528	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
8529
8530	// The ID of the document.
8531	//
8532	// DocumentId is a required field
8533	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
8534
8535	// A comma-separated list of values. Specify "SOURCE" to include a URL for the
8536	// source document.
8537	Fields *string `location:"querystring" locationName:"fields" min:"1" type:"string"`
8538
8539	// Set this to TRUE to include custom metadata in the response.
8540	IncludeCustomMetadata *bool `location:"querystring" locationName:"includeCustomMetadata" type:"boolean"`
8541
8542	// The version ID of the document.
8543	//
8544	// VersionId is a required field
8545	VersionId *string `location:"uri" locationName:"VersionId" min:"1" type:"string" required:"true"`
8546}
8547
8548// String returns the string representation
8549func (s GetDocumentVersionInput) String() string {
8550	return awsutil.Prettify(s)
8551}
8552
8553// GoString returns the string representation
8554func (s GetDocumentVersionInput) GoString() string {
8555	return s.String()
8556}
8557
8558// Validate inspects the fields of the type to determine if they are valid.
8559func (s *GetDocumentVersionInput) Validate() error {
8560	invalidParams := request.ErrInvalidParams{Context: "GetDocumentVersionInput"}
8561	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
8562		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
8563	}
8564	if s.DocumentId == nil {
8565		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
8566	}
8567	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
8568		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
8569	}
8570	if s.Fields != nil && len(*s.Fields) < 1 {
8571		invalidParams.Add(request.NewErrParamMinLen("Fields", 1))
8572	}
8573	if s.VersionId == nil {
8574		invalidParams.Add(request.NewErrParamRequired("VersionId"))
8575	}
8576	if s.VersionId != nil && len(*s.VersionId) < 1 {
8577		invalidParams.Add(request.NewErrParamMinLen("VersionId", 1))
8578	}
8579
8580	if invalidParams.Len() > 0 {
8581		return invalidParams
8582	}
8583	return nil
8584}
8585
8586// SetAuthenticationToken sets the AuthenticationToken field's value.
8587func (s *GetDocumentVersionInput) SetAuthenticationToken(v string) *GetDocumentVersionInput {
8588	s.AuthenticationToken = &v
8589	return s
8590}
8591
8592// SetDocumentId sets the DocumentId field's value.
8593func (s *GetDocumentVersionInput) SetDocumentId(v string) *GetDocumentVersionInput {
8594	s.DocumentId = &v
8595	return s
8596}
8597
8598// SetFields sets the Fields field's value.
8599func (s *GetDocumentVersionInput) SetFields(v string) *GetDocumentVersionInput {
8600	s.Fields = &v
8601	return s
8602}
8603
8604// SetIncludeCustomMetadata sets the IncludeCustomMetadata field's value.
8605func (s *GetDocumentVersionInput) SetIncludeCustomMetadata(v bool) *GetDocumentVersionInput {
8606	s.IncludeCustomMetadata = &v
8607	return s
8608}
8609
8610// SetVersionId sets the VersionId field's value.
8611func (s *GetDocumentVersionInput) SetVersionId(v string) *GetDocumentVersionInput {
8612	s.VersionId = &v
8613	return s
8614}
8615
8616type GetDocumentVersionOutput struct {
8617	_ struct{} `type:"structure"`
8618
8619	// The custom metadata on the document version.
8620	CustomMetadata map[string]*string `min:"1" type:"map"`
8621
8622	// The version metadata.
8623	Metadata *DocumentVersionMetadata `type:"structure"`
8624}
8625
8626// String returns the string representation
8627func (s GetDocumentVersionOutput) String() string {
8628	return awsutil.Prettify(s)
8629}
8630
8631// GoString returns the string representation
8632func (s GetDocumentVersionOutput) GoString() string {
8633	return s.String()
8634}
8635
8636// SetCustomMetadata sets the CustomMetadata field's value.
8637func (s *GetDocumentVersionOutput) SetCustomMetadata(v map[string]*string) *GetDocumentVersionOutput {
8638	s.CustomMetadata = v
8639	return s
8640}
8641
8642// SetMetadata sets the Metadata field's value.
8643func (s *GetDocumentVersionOutput) SetMetadata(v *DocumentVersionMetadata) *GetDocumentVersionOutput {
8644	s.Metadata = v
8645	return s
8646}
8647
8648type GetFolderInput struct {
8649	_ struct{} `type:"structure"`
8650
8651	// Amazon WorkDocs authentication token. Not required when using AWS administrator
8652	// credentials to access the API.
8653	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
8654
8655	// The ID of the folder.
8656	//
8657	// FolderId is a required field
8658	FolderId *string `location:"uri" locationName:"FolderId" min:"1" type:"string" required:"true"`
8659
8660	// Set to TRUE to include custom metadata in the response.
8661	IncludeCustomMetadata *bool `location:"querystring" locationName:"includeCustomMetadata" type:"boolean"`
8662}
8663
8664// String returns the string representation
8665func (s GetFolderInput) String() string {
8666	return awsutil.Prettify(s)
8667}
8668
8669// GoString returns the string representation
8670func (s GetFolderInput) GoString() string {
8671	return s.String()
8672}
8673
8674// Validate inspects the fields of the type to determine if they are valid.
8675func (s *GetFolderInput) Validate() error {
8676	invalidParams := request.ErrInvalidParams{Context: "GetFolderInput"}
8677	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
8678		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
8679	}
8680	if s.FolderId == nil {
8681		invalidParams.Add(request.NewErrParamRequired("FolderId"))
8682	}
8683	if s.FolderId != nil && len(*s.FolderId) < 1 {
8684		invalidParams.Add(request.NewErrParamMinLen("FolderId", 1))
8685	}
8686
8687	if invalidParams.Len() > 0 {
8688		return invalidParams
8689	}
8690	return nil
8691}
8692
8693// SetAuthenticationToken sets the AuthenticationToken field's value.
8694func (s *GetFolderInput) SetAuthenticationToken(v string) *GetFolderInput {
8695	s.AuthenticationToken = &v
8696	return s
8697}
8698
8699// SetFolderId sets the FolderId field's value.
8700func (s *GetFolderInput) SetFolderId(v string) *GetFolderInput {
8701	s.FolderId = &v
8702	return s
8703}
8704
8705// SetIncludeCustomMetadata sets the IncludeCustomMetadata field's value.
8706func (s *GetFolderInput) SetIncludeCustomMetadata(v bool) *GetFolderInput {
8707	s.IncludeCustomMetadata = &v
8708	return s
8709}
8710
8711type GetFolderOutput struct {
8712	_ struct{} `type:"structure"`
8713
8714	// The custom metadata on the folder.
8715	CustomMetadata map[string]*string `min:"1" type:"map"`
8716
8717	// The metadata of the folder.
8718	Metadata *FolderMetadata `type:"structure"`
8719}
8720
8721// String returns the string representation
8722func (s GetFolderOutput) String() string {
8723	return awsutil.Prettify(s)
8724}
8725
8726// GoString returns the string representation
8727func (s GetFolderOutput) GoString() string {
8728	return s.String()
8729}
8730
8731// SetCustomMetadata sets the CustomMetadata field's value.
8732func (s *GetFolderOutput) SetCustomMetadata(v map[string]*string) *GetFolderOutput {
8733	s.CustomMetadata = v
8734	return s
8735}
8736
8737// SetMetadata sets the Metadata field's value.
8738func (s *GetFolderOutput) SetMetadata(v *FolderMetadata) *GetFolderOutput {
8739	s.Metadata = v
8740	return s
8741}
8742
8743type GetFolderPathInput struct {
8744	_ struct{} `type:"structure"`
8745
8746	// Amazon WorkDocs authentication token. Not required when using AWS administrator
8747	// credentials to access the API.
8748	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
8749
8750	// A comma-separated list of values. Specify "NAME" to include the names of
8751	// the parent folders.
8752	Fields *string `location:"querystring" locationName:"fields" min:"1" type:"string"`
8753
8754	// The ID of the folder.
8755	//
8756	// FolderId is a required field
8757	FolderId *string `location:"uri" locationName:"FolderId" min:"1" type:"string" required:"true"`
8758
8759	// The maximum number of levels in the hierarchy to return.
8760	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
8761
8762	// This value is not supported.
8763	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
8764}
8765
8766// String returns the string representation
8767func (s GetFolderPathInput) String() string {
8768	return awsutil.Prettify(s)
8769}
8770
8771// GoString returns the string representation
8772func (s GetFolderPathInput) GoString() string {
8773	return s.String()
8774}
8775
8776// Validate inspects the fields of the type to determine if they are valid.
8777func (s *GetFolderPathInput) Validate() error {
8778	invalidParams := request.ErrInvalidParams{Context: "GetFolderPathInput"}
8779	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
8780		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
8781	}
8782	if s.Fields != nil && len(*s.Fields) < 1 {
8783		invalidParams.Add(request.NewErrParamMinLen("Fields", 1))
8784	}
8785	if s.FolderId == nil {
8786		invalidParams.Add(request.NewErrParamRequired("FolderId"))
8787	}
8788	if s.FolderId != nil && len(*s.FolderId) < 1 {
8789		invalidParams.Add(request.NewErrParamMinLen("FolderId", 1))
8790	}
8791	if s.Limit != nil && *s.Limit < 1 {
8792		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
8793	}
8794	if s.Marker != nil && len(*s.Marker) < 1 {
8795		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
8796	}
8797
8798	if invalidParams.Len() > 0 {
8799		return invalidParams
8800	}
8801	return nil
8802}
8803
8804// SetAuthenticationToken sets the AuthenticationToken field's value.
8805func (s *GetFolderPathInput) SetAuthenticationToken(v string) *GetFolderPathInput {
8806	s.AuthenticationToken = &v
8807	return s
8808}
8809
8810// SetFields sets the Fields field's value.
8811func (s *GetFolderPathInput) SetFields(v string) *GetFolderPathInput {
8812	s.Fields = &v
8813	return s
8814}
8815
8816// SetFolderId sets the FolderId field's value.
8817func (s *GetFolderPathInput) SetFolderId(v string) *GetFolderPathInput {
8818	s.FolderId = &v
8819	return s
8820}
8821
8822// SetLimit sets the Limit field's value.
8823func (s *GetFolderPathInput) SetLimit(v int64) *GetFolderPathInput {
8824	s.Limit = &v
8825	return s
8826}
8827
8828// SetMarker sets the Marker field's value.
8829func (s *GetFolderPathInput) SetMarker(v string) *GetFolderPathInput {
8830	s.Marker = &v
8831	return s
8832}
8833
8834type GetFolderPathOutput struct {
8835	_ struct{} `type:"structure"`
8836
8837	// The path information.
8838	Path *ResourcePath `type:"structure"`
8839}
8840
8841// String returns the string representation
8842func (s GetFolderPathOutput) String() string {
8843	return awsutil.Prettify(s)
8844}
8845
8846// GoString returns the string representation
8847func (s GetFolderPathOutput) GoString() string {
8848	return s.String()
8849}
8850
8851// SetPath sets the Path field's value.
8852func (s *GetFolderPathOutput) SetPath(v *ResourcePath) *GetFolderPathOutput {
8853	s.Path = v
8854	return s
8855}
8856
8857type GetResourcesInput struct {
8858	_ struct{} `type:"structure"`
8859
8860	// The Amazon WorkDocs authentication token. Not required when using AWS administrator
8861	// credentials to access the API.
8862	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
8863
8864	// The collection type.
8865	CollectionType *string `location:"querystring" locationName:"collectionType" type:"string" enum:"ResourceCollectionType"`
8866
8867	// The maximum number of resources to return.
8868	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
8869
8870	// The marker for the next set of results. This marker was received from a previous
8871	// call.
8872	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
8873
8874	// The user ID for the resource collection. This is a required field for accessing
8875	// the API operation using IAM credentials.
8876	UserId *string `location:"querystring" locationName:"userId" min:"1" type:"string"`
8877}
8878
8879// String returns the string representation
8880func (s GetResourcesInput) String() string {
8881	return awsutil.Prettify(s)
8882}
8883
8884// GoString returns the string representation
8885func (s GetResourcesInput) GoString() string {
8886	return s.String()
8887}
8888
8889// Validate inspects the fields of the type to determine if they are valid.
8890func (s *GetResourcesInput) Validate() error {
8891	invalidParams := request.ErrInvalidParams{Context: "GetResourcesInput"}
8892	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
8893		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
8894	}
8895	if s.Limit != nil && *s.Limit < 1 {
8896		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
8897	}
8898	if s.Marker != nil && len(*s.Marker) < 1 {
8899		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
8900	}
8901	if s.UserId != nil && len(*s.UserId) < 1 {
8902		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
8903	}
8904
8905	if invalidParams.Len() > 0 {
8906		return invalidParams
8907	}
8908	return nil
8909}
8910
8911// SetAuthenticationToken sets the AuthenticationToken field's value.
8912func (s *GetResourcesInput) SetAuthenticationToken(v string) *GetResourcesInput {
8913	s.AuthenticationToken = &v
8914	return s
8915}
8916
8917// SetCollectionType sets the CollectionType field's value.
8918func (s *GetResourcesInput) SetCollectionType(v string) *GetResourcesInput {
8919	s.CollectionType = &v
8920	return s
8921}
8922
8923// SetLimit sets the Limit field's value.
8924func (s *GetResourcesInput) SetLimit(v int64) *GetResourcesInput {
8925	s.Limit = &v
8926	return s
8927}
8928
8929// SetMarker sets the Marker field's value.
8930func (s *GetResourcesInput) SetMarker(v string) *GetResourcesInput {
8931	s.Marker = &v
8932	return s
8933}
8934
8935// SetUserId sets the UserId field's value.
8936func (s *GetResourcesInput) SetUserId(v string) *GetResourcesInput {
8937	s.UserId = &v
8938	return s
8939}
8940
8941type GetResourcesOutput struct {
8942	_ struct{} `type:"structure"`
8943
8944	// The documents in the specified collection.
8945	Documents []*DocumentMetadata `type:"list"`
8946
8947	// The folders in the specified folder.
8948	Folders []*FolderMetadata `type:"list"`
8949
8950	// The marker to use when requesting the next set of results. If there are no
8951	// additional results, the string is empty.
8952	Marker *string `min:"1" type:"string"`
8953}
8954
8955// String returns the string representation
8956func (s GetResourcesOutput) String() string {
8957	return awsutil.Prettify(s)
8958}
8959
8960// GoString returns the string representation
8961func (s GetResourcesOutput) GoString() string {
8962	return s.String()
8963}
8964
8965// SetDocuments sets the Documents field's value.
8966func (s *GetResourcesOutput) SetDocuments(v []*DocumentMetadata) *GetResourcesOutput {
8967	s.Documents = v
8968	return s
8969}
8970
8971// SetFolders sets the Folders field's value.
8972func (s *GetResourcesOutput) SetFolders(v []*FolderMetadata) *GetResourcesOutput {
8973	s.Folders = v
8974	return s
8975}
8976
8977// SetMarker sets the Marker field's value.
8978func (s *GetResourcesOutput) SetMarker(v string) *GetResourcesOutput {
8979	s.Marker = &v
8980	return s
8981}
8982
8983// Describes the metadata of a user group.
8984type GroupMetadata struct {
8985	_ struct{} `type:"structure"`
8986
8987	// The ID of the user group.
8988	Id *string `min:"1" type:"string"`
8989
8990	// The name of the group.
8991	Name *string `type:"string"`
8992}
8993
8994// String returns the string representation
8995func (s GroupMetadata) String() string {
8996	return awsutil.Prettify(s)
8997}
8998
8999// GoString returns the string representation
9000func (s GroupMetadata) GoString() string {
9001	return s.String()
9002}
9003
9004// SetId sets the Id field's value.
9005func (s *GroupMetadata) SetId(v string) *GroupMetadata {
9006	s.Id = &v
9007	return s
9008}
9009
9010// SetName sets the Name field's value.
9011func (s *GroupMetadata) SetName(v string) *GroupMetadata {
9012	s.Name = &v
9013	return s
9014}
9015
9016// The user is undergoing transfer of ownership.
9017type IllegalUserStateException struct {
9018	_            struct{}                  `type:"structure"`
9019	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9020
9021	Message_ *string `locationName:"Message" type:"string"`
9022}
9023
9024// String returns the string representation
9025func (s IllegalUserStateException) String() string {
9026	return awsutil.Prettify(s)
9027}
9028
9029// GoString returns the string representation
9030func (s IllegalUserStateException) GoString() string {
9031	return s.String()
9032}
9033
9034func newErrorIllegalUserStateException(v protocol.ResponseMetadata) error {
9035	return &IllegalUserStateException{
9036		RespMetadata: v,
9037	}
9038}
9039
9040// Code returns the exception type name.
9041func (s *IllegalUserStateException) Code() string {
9042	return "IllegalUserStateException"
9043}
9044
9045// Message returns the exception's message.
9046func (s *IllegalUserStateException) Message() string {
9047	if s.Message_ != nil {
9048		return *s.Message_
9049	}
9050	return ""
9051}
9052
9053// OrigErr always returns nil, satisfies awserr.Error interface.
9054func (s *IllegalUserStateException) OrigErr() error {
9055	return nil
9056}
9057
9058func (s *IllegalUserStateException) Error() string {
9059	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9060}
9061
9062// Status code returns the HTTP status code for the request's response error.
9063func (s *IllegalUserStateException) StatusCode() int {
9064	return s.RespMetadata.StatusCode
9065}
9066
9067// RequestID returns the service's response RequestID for request.
9068func (s *IllegalUserStateException) RequestID() string {
9069	return s.RespMetadata.RequestID
9070}
9071
9072type InitiateDocumentVersionUploadInput struct {
9073	_ struct{} `type:"structure"`
9074
9075	// Amazon WorkDocs authentication token. Not required when using AWS administrator
9076	// credentials to access the API.
9077	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
9078
9079	// The timestamp when the content of the document was originally created.
9080	ContentCreatedTimestamp *time.Time `type:"timestamp"`
9081
9082	// The timestamp when the content of the document was modified.
9083	ContentModifiedTimestamp *time.Time `type:"timestamp"`
9084
9085	// The content type of the document.
9086	ContentType *string `min:"1" type:"string"`
9087
9088	// The size of the document, in bytes.
9089	DocumentSizeInBytes *int64 `type:"long"`
9090
9091	// The ID of the document.
9092	Id *string `min:"1" type:"string"`
9093
9094	// The name of the document.
9095	Name *string `min:"1" type:"string"`
9096
9097	// The ID of the parent folder.
9098	//
9099	// ParentFolderId is a required field
9100	ParentFolderId *string `min:"1" type:"string" required:"true"`
9101}
9102
9103// String returns the string representation
9104func (s InitiateDocumentVersionUploadInput) String() string {
9105	return awsutil.Prettify(s)
9106}
9107
9108// GoString returns the string representation
9109func (s InitiateDocumentVersionUploadInput) GoString() string {
9110	return s.String()
9111}
9112
9113// Validate inspects the fields of the type to determine if they are valid.
9114func (s *InitiateDocumentVersionUploadInput) Validate() error {
9115	invalidParams := request.ErrInvalidParams{Context: "InitiateDocumentVersionUploadInput"}
9116	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
9117		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
9118	}
9119	if s.ContentType != nil && len(*s.ContentType) < 1 {
9120		invalidParams.Add(request.NewErrParamMinLen("ContentType", 1))
9121	}
9122	if s.Id != nil && len(*s.Id) < 1 {
9123		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
9124	}
9125	if s.Name != nil && len(*s.Name) < 1 {
9126		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9127	}
9128	if s.ParentFolderId == nil {
9129		invalidParams.Add(request.NewErrParamRequired("ParentFolderId"))
9130	}
9131	if s.ParentFolderId != nil && len(*s.ParentFolderId) < 1 {
9132		invalidParams.Add(request.NewErrParamMinLen("ParentFolderId", 1))
9133	}
9134
9135	if invalidParams.Len() > 0 {
9136		return invalidParams
9137	}
9138	return nil
9139}
9140
9141// SetAuthenticationToken sets the AuthenticationToken field's value.
9142func (s *InitiateDocumentVersionUploadInput) SetAuthenticationToken(v string) *InitiateDocumentVersionUploadInput {
9143	s.AuthenticationToken = &v
9144	return s
9145}
9146
9147// SetContentCreatedTimestamp sets the ContentCreatedTimestamp field's value.
9148func (s *InitiateDocumentVersionUploadInput) SetContentCreatedTimestamp(v time.Time) *InitiateDocumentVersionUploadInput {
9149	s.ContentCreatedTimestamp = &v
9150	return s
9151}
9152
9153// SetContentModifiedTimestamp sets the ContentModifiedTimestamp field's value.
9154func (s *InitiateDocumentVersionUploadInput) SetContentModifiedTimestamp(v time.Time) *InitiateDocumentVersionUploadInput {
9155	s.ContentModifiedTimestamp = &v
9156	return s
9157}
9158
9159// SetContentType sets the ContentType field's value.
9160func (s *InitiateDocumentVersionUploadInput) SetContentType(v string) *InitiateDocumentVersionUploadInput {
9161	s.ContentType = &v
9162	return s
9163}
9164
9165// SetDocumentSizeInBytes sets the DocumentSizeInBytes field's value.
9166func (s *InitiateDocumentVersionUploadInput) SetDocumentSizeInBytes(v int64) *InitiateDocumentVersionUploadInput {
9167	s.DocumentSizeInBytes = &v
9168	return s
9169}
9170
9171// SetId sets the Id field's value.
9172func (s *InitiateDocumentVersionUploadInput) SetId(v string) *InitiateDocumentVersionUploadInput {
9173	s.Id = &v
9174	return s
9175}
9176
9177// SetName sets the Name field's value.
9178func (s *InitiateDocumentVersionUploadInput) SetName(v string) *InitiateDocumentVersionUploadInput {
9179	s.Name = &v
9180	return s
9181}
9182
9183// SetParentFolderId sets the ParentFolderId field's value.
9184func (s *InitiateDocumentVersionUploadInput) SetParentFolderId(v string) *InitiateDocumentVersionUploadInput {
9185	s.ParentFolderId = &v
9186	return s
9187}
9188
9189type InitiateDocumentVersionUploadOutput struct {
9190	_ struct{} `type:"structure"`
9191
9192	// The document metadata.
9193	Metadata *DocumentMetadata `type:"structure"`
9194
9195	// The upload metadata.
9196	UploadMetadata *UploadMetadata `type:"structure"`
9197}
9198
9199// String returns the string representation
9200func (s InitiateDocumentVersionUploadOutput) String() string {
9201	return awsutil.Prettify(s)
9202}
9203
9204// GoString returns the string representation
9205func (s InitiateDocumentVersionUploadOutput) GoString() string {
9206	return s.String()
9207}
9208
9209// SetMetadata sets the Metadata field's value.
9210func (s *InitiateDocumentVersionUploadOutput) SetMetadata(v *DocumentMetadata) *InitiateDocumentVersionUploadOutput {
9211	s.Metadata = v
9212	return s
9213}
9214
9215// SetUploadMetadata sets the UploadMetadata field's value.
9216func (s *InitiateDocumentVersionUploadOutput) SetUploadMetadata(v *UploadMetadata) *InitiateDocumentVersionUploadOutput {
9217	s.UploadMetadata = v
9218	return s
9219}
9220
9221// The pagination marker or limit fields are not valid.
9222type InvalidArgumentException struct {
9223	_            struct{}                  `type:"structure"`
9224	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9225
9226	Message_ *string `locationName:"Message" type:"string"`
9227}
9228
9229// String returns the string representation
9230func (s InvalidArgumentException) String() string {
9231	return awsutil.Prettify(s)
9232}
9233
9234// GoString returns the string representation
9235func (s InvalidArgumentException) GoString() string {
9236	return s.String()
9237}
9238
9239func newErrorInvalidArgumentException(v protocol.ResponseMetadata) error {
9240	return &InvalidArgumentException{
9241		RespMetadata: v,
9242	}
9243}
9244
9245// Code returns the exception type name.
9246func (s *InvalidArgumentException) Code() string {
9247	return "InvalidArgumentException"
9248}
9249
9250// Message returns the exception's message.
9251func (s *InvalidArgumentException) Message() string {
9252	if s.Message_ != nil {
9253		return *s.Message_
9254	}
9255	return ""
9256}
9257
9258// OrigErr always returns nil, satisfies awserr.Error interface.
9259func (s *InvalidArgumentException) OrigErr() error {
9260	return nil
9261}
9262
9263func (s *InvalidArgumentException) Error() string {
9264	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9265}
9266
9267// Status code returns the HTTP status code for the request's response error.
9268func (s *InvalidArgumentException) StatusCode() int {
9269	return s.RespMetadata.StatusCode
9270}
9271
9272// RequestID returns the service's response RequestID for request.
9273func (s *InvalidArgumentException) RequestID() string {
9274	return s.RespMetadata.RequestID
9275}
9276
9277// The requested operation is not allowed on the specified comment object.
9278type InvalidCommentOperationException struct {
9279	_            struct{}                  `type:"structure"`
9280	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9281
9282	Message_ *string `locationName:"Message" type:"string"`
9283}
9284
9285// String returns the string representation
9286func (s InvalidCommentOperationException) String() string {
9287	return awsutil.Prettify(s)
9288}
9289
9290// GoString returns the string representation
9291func (s InvalidCommentOperationException) GoString() string {
9292	return s.String()
9293}
9294
9295func newErrorInvalidCommentOperationException(v protocol.ResponseMetadata) error {
9296	return &InvalidCommentOperationException{
9297		RespMetadata: v,
9298	}
9299}
9300
9301// Code returns the exception type name.
9302func (s *InvalidCommentOperationException) Code() string {
9303	return "InvalidCommentOperationException"
9304}
9305
9306// Message returns the exception's message.
9307func (s *InvalidCommentOperationException) Message() string {
9308	if s.Message_ != nil {
9309		return *s.Message_
9310	}
9311	return ""
9312}
9313
9314// OrigErr always returns nil, satisfies awserr.Error interface.
9315func (s *InvalidCommentOperationException) OrigErr() error {
9316	return nil
9317}
9318
9319func (s *InvalidCommentOperationException) Error() string {
9320	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9321}
9322
9323// Status code returns the HTTP status code for the request's response error.
9324func (s *InvalidCommentOperationException) StatusCode() int {
9325	return s.RespMetadata.StatusCode
9326}
9327
9328// RequestID returns the service's response RequestID for request.
9329func (s *InvalidCommentOperationException) RequestID() string {
9330	return s.RespMetadata.RequestID
9331}
9332
9333// The operation is invalid.
9334type InvalidOperationException struct {
9335	_            struct{}                  `type:"structure"`
9336	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9337
9338	Message_ *string `locationName:"Message" type:"string"`
9339}
9340
9341// String returns the string representation
9342func (s InvalidOperationException) String() string {
9343	return awsutil.Prettify(s)
9344}
9345
9346// GoString returns the string representation
9347func (s InvalidOperationException) GoString() string {
9348	return s.String()
9349}
9350
9351func newErrorInvalidOperationException(v protocol.ResponseMetadata) error {
9352	return &InvalidOperationException{
9353		RespMetadata: v,
9354	}
9355}
9356
9357// Code returns the exception type name.
9358func (s *InvalidOperationException) Code() string {
9359	return "InvalidOperationException"
9360}
9361
9362// Message returns the exception's message.
9363func (s *InvalidOperationException) Message() string {
9364	if s.Message_ != nil {
9365		return *s.Message_
9366	}
9367	return ""
9368}
9369
9370// OrigErr always returns nil, satisfies awserr.Error interface.
9371func (s *InvalidOperationException) OrigErr() error {
9372	return nil
9373}
9374
9375func (s *InvalidOperationException) Error() string {
9376	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9377}
9378
9379// Status code returns the HTTP status code for the request's response error.
9380func (s *InvalidOperationException) StatusCode() int {
9381	return s.RespMetadata.StatusCode
9382}
9383
9384// RequestID returns the service's response RequestID for request.
9385func (s *InvalidOperationException) RequestID() string {
9386	return s.RespMetadata.RequestID
9387}
9388
9389// The password is invalid.
9390type InvalidPasswordException struct {
9391	_            struct{}                  `type:"structure"`
9392	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9393
9394	Message_ *string `locationName:"Message" type:"string"`
9395}
9396
9397// String returns the string representation
9398func (s InvalidPasswordException) String() string {
9399	return awsutil.Prettify(s)
9400}
9401
9402// GoString returns the string representation
9403func (s InvalidPasswordException) GoString() string {
9404	return s.String()
9405}
9406
9407func newErrorInvalidPasswordException(v protocol.ResponseMetadata) error {
9408	return &InvalidPasswordException{
9409		RespMetadata: v,
9410	}
9411}
9412
9413// Code returns the exception type name.
9414func (s *InvalidPasswordException) Code() string {
9415	return "InvalidPasswordException"
9416}
9417
9418// Message returns the exception's message.
9419func (s *InvalidPasswordException) Message() string {
9420	if s.Message_ != nil {
9421		return *s.Message_
9422	}
9423	return ""
9424}
9425
9426// OrigErr always returns nil, satisfies awserr.Error interface.
9427func (s *InvalidPasswordException) OrigErr() error {
9428	return nil
9429}
9430
9431func (s *InvalidPasswordException) Error() string {
9432	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9433}
9434
9435// Status code returns the HTTP status code for the request's response error.
9436func (s *InvalidPasswordException) StatusCode() int {
9437	return s.RespMetadata.StatusCode
9438}
9439
9440// RequestID returns the service's response RequestID for request.
9441func (s *InvalidPasswordException) RequestID() string {
9442	return s.RespMetadata.RequestID
9443}
9444
9445// The maximum of 100,000 folders under the parent folder has been exceeded.
9446type LimitExceededException struct {
9447	_            struct{}                  `type:"structure"`
9448	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9449
9450	Message_ *string `locationName:"Message" type:"string"`
9451}
9452
9453// String returns the string representation
9454func (s LimitExceededException) String() string {
9455	return awsutil.Prettify(s)
9456}
9457
9458// GoString returns the string representation
9459func (s LimitExceededException) GoString() string {
9460	return s.String()
9461}
9462
9463func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
9464	return &LimitExceededException{
9465		RespMetadata: v,
9466	}
9467}
9468
9469// Code returns the exception type name.
9470func (s *LimitExceededException) Code() string {
9471	return "LimitExceededException"
9472}
9473
9474// Message returns the exception's message.
9475func (s *LimitExceededException) Message() string {
9476	if s.Message_ != nil {
9477		return *s.Message_
9478	}
9479	return ""
9480}
9481
9482// OrigErr always returns nil, satisfies awserr.Error interface.
9483func (s *LimitExceededException) OrigErr() error {
9484	return nil
9485}
9486
9487func (s *LimitExceededException) Error() string {
9488	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9489}
9490
9491// Status code returns the HTTP status code for the request's response error.
9492func (s *LimitExceededException) StatusCode() int {
9493	return s.RespMetadata.StatusCode
9494}
9495
9496// RequestID returns the service's response RequestID for request.
9497func (s *LimitExceededException) RequestID() string {
9498	return s.RespMetadata.RequestID
9499}
9500
9501// Set of options which defines notification preferences of given action.
9502type NotificationOptions struct {
9503	_ struct{} `type:"structure"`
9504
9505	// Text value to be included in the email body.
9506	EmailMessage *string `type:"string" sensitive:"true"`
9507
9508	// Boolean value to indicate an email notification should be sent to the receipients.
9509	SendEmail *bool `type:"boolean"`
9510}
9511
9512// String returns the string representation
9513func (s NotificationOptions) String() string {
9514	return awsutil.Prettify(s)
9515}
9516
9517// GoString returns the string representation
9518func (s NotificationOptions) GoString() string {
9519	return s.String()
9520}
9521
9522// SetEmailMessage sets the EmailMessage field's value.
9523func (s *NotificationOptions) SetEmailMessage(v string) *NotificationOptions {
9524	s.EmailMessage = &v
9525	return s
9526}
9527
9528// SetSendEmail sets the SendEmail field's value.
9529func (s *NotificationOptions) SetSendEmail(v bool) *NotificationOptions {
9530	s.SendEmail = &v
9531	return s
9532}
9533
9534// Describes the users or user groups.
9535type Participants struct {
9536	_ struct{} `type:"structure"`
9537
9538	// The list of user groups.
9539	Groups []*GroupMetadata `type:"list"`
9540
9541	// The list of users.
9542	Users []*UserMetadata `type:"list"`
9543}
9544
9545// String returns the string representation
9546func (s Participants) String() string {
9547	return awsutil.Prettify(s)
9548}
9549
9550// GoString returns the string representation
9551func (s Participants) GoString() string {
9552	return s.String()
9553}
9554
9555// SetGroups sets the Groups field's value.
9556func (s *Participants) SetGroups(v []*GroupMetadata) *Participants {
9557	s.Groups = v
9558	return s
9559}
9560
9561// SetUsers sets the Users field's value.
9562func (s *Participants) SetUsers(v []*UserMetadata) *Participants {
9563	s.Users = v
9564	return s
9565}
9566
9567// Describes the permissions.
9568type PermissionInfo struct {
9569	_ struct{} `type:"structure"`
9570
9571	// The role of the user.
9572	Role *string `type:"string" enum:"RoleType"`
9573
9574	// The type of permissions.
9575	Type *string `type:"string" enum:"RolePermissionType"`
9576}
9577
9578// String returns the string representation
9579func (s PermissionInfo) String() string {
9580	return awsutil.Prettify(s)
9581}
9582
9583// GoString returns the string representation
9584func (s PermissionInfo) GoString() string {
9585	return s.String()
9586}
9587
9588// SetRole sets the Role field's value.
9589func (s *PermissionInfo) SetRole(v string) *PermissionInfo {
9590	s.Role = &v
9591	return s
9592}
9593
9594// SetType sets the Type field's value.
9595func (s *PermissionInfo) SetType(v string) *PermissionInfo {
9596	s.Type = &v
9597	return s
9598}
9599
9600// Describes a resource.
9601type Principal struct {
9602	_ struct{} `type:"structure"`
9603
9604	// The ID of the resource.
9605	Id *string `min:"1" type:"string"`
9606
9607	// The permission information for the resource.
9608	Roles []*PermissionInfo `type:"list"`
9609
9610	// The type of resource.
9611	Type *string `type:"string" enum:"PrincipalType"`
9612}
9613
9614// String returns the string representation
9615func (s Principal) String() string {
9616	return awsutil.Prettify(s)
9617}
9618
9619// GoString returns the string representation
9620func (s Principal) GoString() string {
9621	return s.String()
9622}
9623
9624// SetId sets the Id field's value.
9625func (s *Principal) SetId(v string) *Principal {
9626	s.Id = &v
9627	return s
9628}
9629
9630// SetRoles sets the Roles field's value.
9631func (s *Principal) SetRoles(v []*PermissionInfo) *Principal {
9632	s.Roles = v
9633	return s
9634}
9635
9636// SetType sets the Type field's value.
9637func (s *Principal) SetType(v string) *Principal {
9638	s.Type = &v
9639	return s
9640}
9641
9642// The specified document version is not in the INITIALIZED state.
9643type ProhibitedStateException struct {
9644	_            struct{}                  `type:"structure"`
9645	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9646
9647	Message_ *string `locationName:"Message" type:"string"`
9648}
9649
9650// String returns the string representation
9651func (s ProhibitedStateException) String() string {
9652	return awsutil.Prettify(s)
9653}
9654
9655// GoString returns the string representation
9656func (s ProhibitedStateException) GoString() string {
9657	return s.String()
9658}
9659
9660func newErrorProhibitedStateException(v protocol.ResponseMetadata) error {
9661	return &ProhibitedStateException{
9662		RespMetadata: v,
9663	}
9664}
9665
9666// Code returns the exception type name.
9667func (s *ProhibitedStateException) Code() string {
9668	return "ProhibitedStateException"
9669}
9670
9671// Message returns the exception's message.
9672func (s *ProhibitedStateException) Message() string {
9673	if s.Message_ != nil {
9674		return *s.Message_
9675	}
9676	return ""
9677}
9678
9679// OrigErr always returns nil, satisfies awserr.Error interface.
9680func (s *ProhibitedStateException) OrigErr() error {
9681	return nil
9682}
9683
9684func (s *ProhibitedStateException) Error() string {
9685	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9686}
9687
9688// Status code returns the HTTP status code for the request's response error.
9689func (s *ProhibitedStateException) StatusCode() int {
9690	return s.RespMetadata.StatusCode
9691}
9692
9693// RequestID returns the service's response RequestID for request.
9694func (s *ProhibitedStateException) RequestID() string {
9695	return s.RespMetadata.RequestID
9696}
9697
9698type RemoveAllResourcePermissionsInput struct {
9699	_ struct{} `type:"structure"`
9700
9701	// Amazon WorkDocs authentication token. Not required when using AWS administrator
9702	// credentials to access the API.
9703	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
9704
9705	// The ID of the resource.
9706	//
9707	// ResourceId is a required field
9708	ResourceId *string `location:"uri" locationName:"ResourceId" min:"1" type:"string" required:"true"`
9709}
9710
9711// String returns the string representation
9712func (s RemoveAllResourcePermissionsInput) String() string {
9713	return awsutil.Prettify(s)
9714}
9715
9716// GoString returns the string representation
9717func (s RemoveAllResourcePermissionsInput) GoString() string {
9718	return s.String()
9719}
9720
9721// Validate inspects the fields of the type to determine if they are valid.
9722func (s *RemoveAllResourcePermissionsInput) Validate() error {
9723	invalidParams := request.ErrInvalidParams{Context: "RemoveAllResourcePermissionsInput"}
9724	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
9725		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
9726	}
9727	if s.ResourceId == nil {
9728		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
9729	}
9730	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
9731		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
9732	}
9733
9734	if invalidParams.Len() > 0 {
9735		return invalidParams
9736	}
9737	return nil
9738}
9739
9740// SetAuthenticationToken sets the AuthenticationToken field's value.
9741func (s *RemoveAllResourcePermissionsInput) SetAuthenticationToken(v string) *RemoveAllResourcePermissionsInput {
9742	s.AuthenticationToken = &v
9743	return s
9744}
9745
9746// SetResourceId sets the ResourceId field's value.
9747func (s *RemoveAllResourcePermissionsInput) SetResourceId(v string) *RemoveAllResourcePermissionsInput {
9748	s.ResourceId = &v
9749	return s
9750}
9751
9752type RemoveAllResourcePermissionsOutput struct {
9753	_ struct{} `type:"structure"`
9754}
9755
9756// String returns the string representation
9757func (s RemoveAllResourcePermissionsOutput) String() string {
9758	return awsutil.Prettify(s)
9759}
9760
9761// GoString returns the string representation
9762func (s RemoveAllResourcePermissionsOutput) GoString() string {
9763	return s.String()
9764}
9765
9766type RemoveResourcePermissionInput struct {
9767	_ struct{} `type:"structure"`
9768
9769	// Amazon WorkDocs authentication token. Not required when using AWS administrator
9770	// credentials to access the API.
9771	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
9772
9773	// The principal ID of the resource.
9774	//
9775	// PrincipalId is a required field
9776	PrincipalId *string `location:"uri" locationName:"PrincipalId" min:"1" type:"string" required:"true"`
9777
9778	// The principal type of the resource.
9779	PrincipalType *string `location:"querystring" locationName:"type" type:"string" enum:"PrincipalType"`
9780
9781	// The ID of the resource.
9782	//
9783	// ResourceId is a required field
9784	ResourceId *string `location:"uri" locationName:"ResourceId" min:"1" type:"string" required:"true"`
9785}
9786
9787// String returns the string representation
9788func (s RemoveResourcePermissionInput) String() string {
9789	return awsutil.Prettify(s)
9790}
9791
9792// GoString returns the string representation
9793func (s RemoveResourcePermissionInput) GoString() string {
9794	return s.String()
9795}
9796
9797// Validate inspects the fields of the type to determine if they are valid.
9798func (s *RemoveResourcePermissionInput) Validate() error {
9799	invalidParams := request.ErrInvalidParams{Context: "RemoveResourcePermissionInput"}
9800	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
9801		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
9802	}
9803	if s.PrincipalId == nil {
9804		invalidParams.Add(request.NewErrParamRequired("PrincipalId"))
9805	}
9806	if s.PrincipalId != nil && len(*s.PrincipalId) < 1 {
9807		invalidParams.Add(request.NewErrParamMinLen("PrincipalId", 1))
9808	}
9809	if s.ResourceId == nil {
9810		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
9811	}
9812	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
9813		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
9814	}
9815
9816	if invalidParams.Len() > 0 {
9817		return invalidParams
9818	}
9819	return nil
9820}
9821
9822// SetAuthenticationToken sets the AuthenticationToken field's value.
9823func (s *RemoveResourcePermissionInput) SetAuthenticationToken(v string) *RemoveResourcePermissionInput {
9824	s.AuthenticationToken = &v
9825	return s
9826}
9827
9828// SetPrincipalId sets the PrincipalId field's value.
9829func (s *RemoveResourcePermissionInput) SetPrincipalId(v string) *RemoveResourcePermissionInput {
9830	s.PrincipalId = &v
9831	return s
9832}
9833
9834// SetPrincipalType sets the PrincipalType field's value.
9835func (s *RemoveResourcePermissionInput) SetPrincipalType(v string) *RemoveResourcePermissionInput {
9836	s.PrincipalType = &v
9837	return s
9838}
9839
9840// SetResourceId sets the ResourceId field's value.
9841func (s *RemoveResourcePermissionInput) SetResourceId(v string) *RemoveResourcePermissionInput {
9842	s.ResourceId = &v
9843	return s
9844}
9845
9846type RemoveResourcePermissionOutput struct {
9847	_ struct{} `type:"structure"`
9848}
9849
9850// String returns the string representation
9851func (s RemoveResourcePermissionOutput) String() string {
9852	return awsutil.Prettify(s)
9853}
9854
9855// GoString returns the string representation
9856func (s RemoveResourcePermissionOutput) GoString() string {
9857	return s.String()
9858}
9859
9860// The response is too large to return. The request must include a filter to
9861// reduce the size of the response.
9862type RequestedEntityTooLargeException struct {
9863	_            struct{}                  `type:"structure"`
9864	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9865
9866	Message_ *string `locationName:"Message" type:"string"`
9867}
9868
9869// String returns the string representation
9870func (s RequestedEntityTooLargeException) String() string {
9871	return awsutil.Prettify(s)
9872}
9873
9874// GoString returns the string representation
9875func (s RequestedEntityTooLargeException) GoString() string {
9876	return s.String()
9877}
9878
9879func newErrorRequestedEntityTooLargeException(v protocol.ResponseMetadata) error {
9880	return &RequestedEntityTooLargeException{
9881		RespMetadata: v,
9882	}
9883}
9884
9885// Code returns the exception type name.
9886func (s *RequestedEntityTooLargeException) Code() string {
9887	return "RequestedEntityTooLargeException"
9888}
9889
9890// Message returns the exception's message.
9891func (s *RequestedEntityTooLargeException) Message() string {
9892	if s.Message_ != nil {
9893		return *s.Message_
9894	}
9895	return ""
9896}
9897
9898// OrigErr always returns nil, satisfies awserr.Error interface.
9899func (s *RequestedEntityTooLargeException) OrigErr() error {
9900	return nil
9901}
9902
9903func (s *RequestedEntityTooLargeException) Error() string {
9904	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9905}
9906
9907// Status code returns the HTTP status code for the request's response error.
9908func (s *RequestedEntityTooLargeException) StatusCode() int {
9909	return s.RespMetadata.StatusCode
9910}
9911
9912// RequestID returns the service's response RequestID for request.
9913func (s *RequestedEntityTooLargeException) RequestID() string {
9914	return s.RespMetadata.RequestID
9915}
9916
9917// The resource is already checked out.
9918type ResourceAlreadyCheckedOutException struct {
9919	_            struct{}                  `type:"structure"`
9920	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9921
9922	Message_ *string `locationName:"Message" type:"string"`
9923}
9924
9925// String returns the string representation
9926func (s ResourceAlreadyCheckedOutException) String() string {
9927	return awsutil.Prettify(s)
9928}
9929
9930// GoString returns the string representation
9931func (s ResourceAlreadyCheckedOutException) GoString() string {
9932	return s.String()
9933}
9934
9935func newErrorResourceAlreadyCheckedOutException(v protocol.ResponseMetadata) error {
9936	return &ResourceAlreadyCheckedOutException{
9937		RespMetadata: v,
9938	}
9939}
9940
9941// Code returns the exception type name.
9942func (s *ResourceAlreadyCheckedOutException) Code() string {
9943	return "ResourceAlreadyCheckedOutException"
9944}
9945
9946// Message returns the exception's message.
9947func (s *ResourceAlreadyCheckedOutException) Message() string {
9948	if s.Message_ != nil {
9949		return *s.Message_
9950	}
9951	return ""
9952}
9953
9954// OrigErr always returns nil, satisfies awserr.Error interface.
9955func (s *ResourceAlreadyCheckedOutException) OrigErr() error {
9956	return nil
9957}
9958
9959func (s *ResourceAlreadyCheckedOutException) Error() string {
9960	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9961}
9962
9963// Status code returns the HTTP status code for the request's response error.
9964func (s *ResourceAlreadyCheckedOutException) StatusCode() int {
9965	return s.RespMetadata.StatusCode
9966}
9967
9968// RequestID returns the service's response RequestID for request.
9969func (s *ResourceAlreadyCheckedOutException) RequestID() string {
9970	return s.RespMetadata.RequestID
9971}
9972
9973// Describes the metadata of a resource.
9974type ResourceMetadata struct {
9975	_ struct{} `type:"structure"`
9976
9977	// The ID of the resource.
9978	Id *string `min:"1" type:"string"`
9979
9980	// The name of the resource.
9981	Name *string `min:"1" type:"string"`
9982
9983	// The original name of the resource before a rename operation.
9984	OriginalName *string `min:"1" type:"string"`
9985
9986	// The owner of the resource.
9987	Owner *UserMetadata `type:"structure"`
9988
9989	// The parent ID of the resource before a rename operation.
9990	ParentId *string `min:"1" type:"string"`
9991
9992	// The type of resource.
9993	Type *string `type:"string" enum:"ResourceType"`
9994
9995	// The version ID of the resource. This is an optional field and is filled for
9996	// action on document version.
9997	VersionId *string `min:"1" type:"string"`
9998}
9999
10000// String returns the string representation
10001func (s ResourceMetadata) String() string {
10002	return awsutil.Prettify(s)
10003}
10004
10005// GoString returns the string representation
10006func (s ResourceMetadata) GoString() string {
10007	return s.String()
10008}
10009
10010// SetId sets the Id field's value.
10011func (s *ResourceMetadata) SetId(v string) *ResourceMetadata {
10012	s.Id = &v
10013	return s
10014}
10015
10016// SetName sets the Name field's value.
10017func (s *ResourceMetadata) SetName(v string) *ResourceMetadata {
10018	s.Name = &v
10019	return s
10020}
10021
10022// SetOriginalName sets the OriginalName field's value.
10023func (s *ResourceMetadata) SetOriginalName(v string) *ResourceMetadata {
10024	s.OriginalName = &v
10025	return s
10026}
10027
10028// SetOwner sets the Owner field's value.
10029func (s *ResourceMetadata) SetOwner(v *UserMetadata) *ResourceMetadata {
10030	s.Owner = v
10031	return s
10032}
10033
10034// SetParentId sets the ParentId field's value.
10035func (s *ResourceMetadata) SetParentId(v string) *ResourceMetadata {
10036	s.ParentId = &v
10037	return s
10038}
10039
10040// SetType sets the Type field's value.
10041func (s *ResourceMetadata) SetType(v string) *ResourceMetadata {
10042	s.Type = &v
10043	return s
10044}
10045
10046// SetVersionId sets the VersionId field's value.
10047func (s *ResourceMetadata) SetVersionId(v string) *ResourceMetadata {
10048	s.VersionId = &v
10049	return s
10050}
10051
10052// Describes the path information of a resource.
10053type ResourcePath struct {
10054	_ struct{} `type:"structure"`
10055
10056	// The components of the resource path.
10057	Components []*ResourcePathComponent `type:"list"`
10058}
10059
10060// String returns the string representation
10061func (s ResourcePath) String() string {
10062	return awsutil.Prettify(s)
10063}
10064
10065// GoString returns the string representation
10066func (s ResourcePath) GoString() string {
10067	return s.String()
10068}
10069
10070// SetComponents sets the Components field's value.
10071func (s *ResourcePath) SetComponents(v []*ResourcePathComponent) *ResourcePath {
10072	s.Components = v
10073	return s
10074}
10075
10076// Describes the resource path.
10077type ResourcePathComponent struct {
10078	_ struct{} `type:"structure"`
10079
10080	// The ID of the resource path.
10081	Id *string `min:"1" type:"string"`
10082
10083	// The name of the resource path.
10084	Name *string `min:"1" type:"string"`
10085}
10086
10087// String returns the string representation
10088func (s ResourcePathComponent) String() string {
10089	return awsutil.Prettify(s)
10090}
10091
10092// GoString returns the string representation
10093func (s ResourcePathComponent) GoString() string {
10094	return s.String()
10095}
10096
10097// SetId sets the Id field's value.
10098func (s *ResourcePathComponent) SetId(v string) *ResourcePathComponent {
10099	s.Id = &v
10100	return s
10101}
10102
10103// SetName sets the Name field's value.
10104func (s *ResourcePathComponent) SetName(v string) *ResourcePathComponent {
10105	s.Name = &v
10106	return s
10107}
10108
10109// One or more of the dependencies is unavailable.
10110type ServiceUnavailableException struct {
10111	_            struct{}                  `type:"structure"`
10112	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10113
10114	Message_ *string `locationName:"Message" type:"string"`
10115}
10116
10117// String returns the string representation
10118func (s ServiceUnavailableException) String() string {
10119	return awsutil.Prettify(s)
10120}
10121
10122// GoString returns the string representation
10123func (s ServiceUnavailableException) GoString() string {
10124	return s.String()
10125}
10126
10127func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
10128	return &ServiceUnavailableException{
10129		RespMetadata: v,
10130	}
10131}
10132
10133// Code returns the exception type name.
10134func (s *ServiceUnavailableException) Code() string {
10135	return "ServiceUnavailableException"
10136}
10137
10138// Message returns the exception's message.
10139func (s *ServiceUnavailableException) Message() string {
10140	if s.Message_ != nil {
10141		return *s.Message_
10142	}
10143	return ""
10144}
10145
10146// OrigErr always returns nil, satisfies awserr.Error interface.
10147func (s *ServiceUnavailableException) OrigErr() error {
10148	return nil
10149}
10150
10151func (s *ServiceUnavailableException) Error() string {
10152	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10153}
10154
10155// Status code returns the HTTP status code for the request's response error.
10156func (s *ServiceUnavailableException) StatusCode() int {
10157	return s.RespMetadata.StatusCode
10158}
10159
10160// RequestID returns the service's response RequestID for request.
10161func (s *ServiceUnavailableException) RequestID() string {
10162	return s.RespMetadata.RequestID
10163}
10164
10165// Describes the recipient type and ID, if available.
10166type SharePrincipal struct {
10167	_ struct{} `type:"structure"`
10168
10169	// The ID of the recipient.
10170	//
10171	// Id is a required field
10172	Id *string `min:"1" type:"string" required:"true"`
10173
10174	// The role of the recipient.
10175	//
10176	// Role is a required field
10177	Role *string `type:"string" required:"true" enum:"RoleType"`
10178
10179	// The type of the recipient.
10180	//
10181	// Type is a required field
10182	Type *string `type:"string" required:"true" enum:"PrincipalType"`
10183}
10184
10185// String returns the string representation
10186func (s SharePrincipal) String() string {
10187	return awsutil.Prettify(s)
10188}
10189
10190// GoString returns the string representation
10191func (s SharePrincipal) GoString() string {
10192	return s.String()
10193}
10194
10195// Validate inspects the fields of the type to determine if they are valid.
10196func (s *SharePrincipal) Validate() error {
10197	invalidParams := request.ErrInvalidParams{Context: "SharePrincipal"}
10198	if s.Id == nil {
10199		invalidParams.Add(request.NewErrParamRequired("Id"))
10200	}
10201	if s.Id != nil && len(*s.Id) < 1 {
10202		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
10203	}
10204	if s.Role == nil {
10205		invalidParams.Add(request.NewErrParamRequired("Role"))
10206	}
10207	if s.Type == nil {
10208		invalidParams.Add(request.NewErrParamRequired("Type"))
10209	}
10210
10211	if invalidParams.Len() > 0 {
10212		return invalidParams
10213	}
10214	return nil
10215}
10216
10217// SetId sets the Id field's value.
10218func (s *SharePrincipal) SetId(v string) *SharePrincipal {
10219	s.Id = &v
10220	return s
10221}
10222
10223// SetRole sets the Role field's value.
10224func (s *SharePrincipal) SetRole(v string) *SharePrincipal {
10225	s.Role = &v
10226	return s
10227}
10228
10229// SetType sets the Type field's value.
10230func (s *SharePrincipal) SetType(v string) *SharePrincipal {
10231	s.Type = &v
10232	return s
10233}
10234
10235// Describes the share results of a resource.
10236type ShareResult struct {
10237	_ struct{} `type:"structure"`
10238
10239	// The ID of the invited user.
10240	InviteePrincipalId *string `min:"1" type:"string"`
10241
10242	// The ID of the principal.
10243	PrincipalId *string `min:"1" type:"string"`
10244
10245	// The role.
10246	Role *string `type:"string" enum:"RoleType"`
10247
10248	// The ID of the resource that was shared.
10249	ShareId *string `min:"1" type:"string"`
10250
10251	// The status.
10252	Status *string `type:"string" enum:"ShareStatusType"`
10253
10254	// The status message.
10255	StatusMessage *string `type:"string" sensitive:"true"`
10256}
10257
10258// String returns the string representation
10259func (s ShareResult) String() string {
10260	return awsutil.Prettify(s)
10261}
10262
10263// GoString returns the string representation
10264func (s ShareResult) GoString() string {
10265	return s.String()
10266}
10267
10268// SetInviteePrincipalId sets the InviteePrincipalId field's value.
10269func (s *ShareResult) SetInviteePrincipalId(v string) *ShareResult {
10270	s.InviteePrincipalId = &v
10271	return s
10272}
10273
10274// SetPrincipalId sets the PrincipalId field's value.
10275func (s *ShareResult) SetPrincipalId(v string) *ShareResult {
10276	s.PrincipalId = &v
10277	return s
10278}
10279
10280// SetRole sets the Role field's value.
10281func (s *ShareResult) SetRole(v string) *ShareResult {
10282	s.Role = &v
10283	return s
10284}
10285
10286// SetShareId sets the ShareId field's value.
10287func (s *ShareResult) SetShareId(v string) *ShareResult {
10288	s.ShareId = &v
10289	return s
10290}
10291
10292// SetStatus sets the Status field's value.
10293func (s *ShareResult) SetStatus(v string) *ShareResult {
10294	s.Status = &v
10295	return s
10296}
10297
10298// SetStatusMessage sets the StatusMessage field's value.
10299func (s *ShareResult) SetStatusMessage(v string) *ShareResult {
10300	s.StatusMessage = &v
10301	return s
10302}
10303
10304// The storage limit has been exceeded.
10305type StorageLimitExceededException struct {
10306	_            struct{}                  `type:"structure"`
10307	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10308
10309	Message_ *string `locationName:"Message" type:"string"`
10310}
10311
10312// String returns the string representation
10313func (s StorageLimitExceededException) String() string {
10314	return awsutil.Prettify(s)
10315}
10316
10317// GoString returns the string representation
10318func (s StorageLimitExceededException) GoString() string {
10319	return s.String()
10320}
10321
10322func newErrorStorageLimitExceededException(v protocol.ResponseMetadata) error {
10323	return &StorageLimitExceededException{
10324		RespMetadata: v,
10325	}
10326}
10327
10328// Code returns the exception type name.
10329func (s *StorageLimitExceededException) Code() string {
10330	return "StorageLimitExceededException"
10331}
10332
10333// Message returns the exception's message.
10334func (s *StorageLimitExceededException) Message() string {
10335	if s.Message_ != nil {
10336		return *s.Message_
10337	}
10338	return ""
10339}
10340
10341// OrigErr always returns nil, satisfies awserr.Error interface.
10342func (s *StorageLimitExceededException) OrigErr() error {
10343	return nil
10344}
10345
10346func (s *StorageLimitExceededException) Error() string {
10347	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10348}
10349
10350// Status code returns the HTTP status code for the request's response error.
10351func (s *StorageLimitExceededException) StatusCode() int {
10352	return s.RespMetadata.StatusCode
10353}
10354
10355// RequestID returns the service's response RequestID for request.
10356func (s *StorageLimitExceededException) RequestID() string {
10357	return s.RespMetadata.RequestID
10358}
10359
10360// The storage limit will be exceeded.
10361type StorageLimitWillExceedException struct {
10362	_            struct{}                  `type:"structure"`
10363	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10364
10365	Message_ *string `locationName:"Message" type:"string"`
10366}
10367
10368// String returns the string representation
10369func (s StorageLimitWillExceedException) String() string {
10370	return awsutil.Prettify(s)
10371}
10372
10373// GoString returns the string representation
10374func (s StorageLimitWillExceedException) GoString() string {
10375	return s.String()
10376}
10377
10378func newErrorStorageLimitWillExceedException(v protocol.ResponseMetadata) error {
10379	return &StorageLimitWillExceedException{
10380		RespMetadata: v,
10381	}
10382}
10383
10384// Code returns the exception type name.
10385func (s *StorageLimitWillExceedException) Code() string {
10386	return "StorageLimitWillExceedException"
10387}
10388
10389// Message returns the exception's message.
10390func (s *StorageLimitWillExceedException) Message() string {
10391	if s.Message_ != nil {
10392		return *s.Message_
10393	}
10394	return ""
10395}
10396
10397// OrigErr always returns nil, satisfies awserr.Error interface.
10398func (s *StorageLimitWillExceedException) OrigErr() error {
10399	return nil
10400}
10401
10402func (s *StorageLimitWillExceedException) Error() string {
10403	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10404}
10405
10406// Status code returns the HTTP status code for the request's response error.
10407func (s *StorageLimitWillExceedException) StatusCode() int {
10408	return s.RespMetadata.StatusCode
10409}
10410
10411// RequestID returns the service's response RequestID for request.
10412func (s *StorageLimitWillExceedException) RequestID() string {
10413	return s.RespMetadata.RequestID
10414}
10415
10416// Describes the storage for a user.
10417type StorageRuleType struct {
10418	_ struct{} `type:"structure"`
10419
10420	// The amount of storage allocated, in bytes.
10421	StorageAllocatedInBytes *int64 `type:"long"`
10422
10423	// The type of storage.
10424	StorageType *string `type:"string" enum:"StorageType"`
10425}
10426
10427// String returns the string representation
10428func (s StorageRuleType) String() string {
10429	return awsutil.Prettify(s)
10430}
10431
10432// GoString returns the string representation
10433func (s StorageRuleType) GoString() string {
10434	return s.String()
10435}
10436
10437// SetStorageAllocatedInBytes sets the StorageAllocatedInBytes field's value.
10438func (s *StorageRuleType) SetStorageAllocatedInBytes(v int64) *StorageRuleType {
10439	s.StorageAllocatedInBytes = &v
10440	return s
10441}
10442
10443// SetStorageType sets the StorageType field's value.
10444func (s *StorageRuleType) SetStorageType(v string) *StorageRuleType {
10445	s.StorageType = &v
10446	return s
10447}
10448
10449// Describes a subscription.
10450type Subscription struct {
10451	_ struct{} `type:"structure"`
10452
10453	// The endpoint of the subscription.
10454	EndPoint *string `min:"1" type:"string"`
10455
10456	// The protocol of the subscription.
10457	Protocol *string `type:"string" enum:"SubscriptionProtocolType"`
10458
10459	// The ID of the subscription.
10460	SubscriptionId *string `min:"1" type:"string"`
10461}
10462
10463// String returns the string representation
10464func (s Subscription) String() string {
10465	return awsutil.Prettify(s)
10466}
10467
10468// GoString returns the string representation
10469func (s Subscription) GoString() string {
10470	return s.String()
10471}
10472
10473// SetEndPoint sets the EndPoint field's value.
10474func (s *Subscription) SetEndPoint(v string) *Subscription {
10475	s.EndPoint = &v
10476	return s
10477}
10478
10479// SetProtocol sets the Protocol field's value.
10480func (s *Subscription) SetProtocol(v string) *Subscription {
10481	s.Protocol = &v
10482	return s
10483}
10484
10485// SetSubscriptionId sets the SubscriptionId field's value.
10486func (s *Subscription) SetSubscriptionId(v string) *Subscription {
10487	s.SubscriptionId = &v
10488	return s
10489}
10490
10491// The limit has been reached on the number of labels for the specified resource.
10492type TooManyLabelsException struct {
10493	_            struct{}                  `type:"structure"`
10494	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10495
10496	Message_ *string `locationName:"Message" type:"string"`
10497}
10498
10499// String returns the string representation
10500func (s TooManyLabelsException) String() string {
10501	return awsutil.Prettify(s)
10502}
10503
10504// GoString returns the string representation
10505func (s TooManyLabelsException) GoString() string {
10506	return s.String()
10507}
10508
10509func newErrorTooManyLabelsException(v protocol.ResponseMetadata) error {
10510	return &TooManyLabelsException{
10511		RespMetadata: v,
10512	}
10513}
10514
10515// Code returns the exception type name.
10516func (s *TooManyLabelsException) Code() string {
10517	return "TooManyLabelsException"
10518}
10519
10520// Message returns the exception's message.
10521func (s *TooManyLabelsException) Message() string {
10522	if s.Message_ != nil {
10523		return *s.Message_
10524	}
10525	return ""
10526}
10527
10528// OrigErr always returns nil, satisfies awserr.Error interface.
10529func (s *TooManyLabelsException) OrigErr() error {
10530	return nil
10531}
10532
10533func (s *TooManyLabelsException) Error() string {
10534	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10535}
10536
10537// Status code returns the HTTP status code for the request's response error.
10538func (s *TooManyLabelsException) StatusCode() int {
10539	return s.RespMetadata.StatusCode
10540}
10541
10542// RequestID returns the service's response RequestID for request.
10543func (s *TooManyLabelsException) RequestID() string {
10544	return s.RespMetadata.RequestID
10545}
10546
10547// You've reached the limit on the number of subscriptions for the WorkDocs
10548// instance.
10549type TooManySubscriptionsException struct {
10550	_            struct{}                  `type:"structure"`
10551	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10552
10553	Message_ *string `locationName:"Message" type:"string"`
10554}
10555
10556// String returns the string representation
10557func (s TooManySubscriptionsException) String() string {
10558	return awsutil.Prettify(s)
10559}
10560
10561// GoString returns the string representation
10562func (s TooManySubscriptionsException) GoString() string {
10563	return s.String()
10564}
10565
10566func newErrorTooManySubscriptionsException(v protocol.ResponseMetadata) error {
10567	return &TooManySubscriptionsException{
10568		RespMetadata: v,
10569	}
10570}
10571
10572// Code returns the exception type name.
10573func (s *TooManySubscriptionsException) Code() string {
10574	return "TooManySubscriptionsException"
10575}
10576
10577// Message returns the exception's message.
10578func (s *TooManySubscriptionsException) Message() string {
10579	if s.Message_ != nil {
10580		return *s.Message_
10581	}
10582	return ""
10583}
10584
10585// OrigErr always returns nil, satisfies awserr.Error interface.
10586func (s *TooManySubscriptionsException) OrigErr() error {
10587	return nil
10588}
10589
10590func (s *TooManySubscriptionsException) Error() string {
10591	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10592}
10593
10594// Status code returns the HTTP status code for the request's response error.
10595func (s *TooManySubscriptionsException) StatusCode() int {
10596	return s.RespMetadata.StatusCode
10597}
10598
10599// RequestID returns the service's response RequestID for request.
10600func (s *TooManySubscriptionsException) RequestID() string {
10601	return s.RespMetadata.RequestID
10602}
10603
10604// The operation is not permitted.
10605type UnauthorizedOperationException struct {
10606	_            struct{}                  `type:"structure"`
10607	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10608
10609	Message_ *string `locationName:"message" type:"string"`
10610}
10611
10612// String returns the string representation
10613func (s UnauthorizedOperationException) String() string {
10614	return awsutil.Prettify(s)
10615}
10616
10617// GoString returns the string representation
10618func (s UnauthorizedOperationException) GoString() string {
10619	return s.String()
10620}
10621
10622func newErrorUnauthorizedOperationException(v protocol.ResponseMetadata) error {
10623	return &UnauthorizedOperationException{
10624		RespMetadata: v,
10625	}
10626}
10627
10628// Code returns the exception type name.
10629func (s *UnauthorizedOperationException) Code() string {
10630	return "UnauthorizedOperationException"
10631}
10632
10633// Message returns the exception's message.
10634func (s *UnauthorizedOperationException) Message() string {
10635	if s.Message_ != nil {
10636		return *s.Message_
10637	}
10638	return ""
10639}
10640
10641// OrigErr always returns nil, satisfies awserr.Error interface.
10642func (s *UnauthorizedOperationException) OrigErr() error {
10643	return nil
10644}
10645
10646func (s *UnauthorizedOperationException) Error() string {
10647	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10648}
10649
10650// Status code returns the HTTP status code for the request's response error.
10651func (s *UnauthorizedOperationException) StatusCode() int {
10652	return s.RespMetadata.StatusCode
10653}
10654
10655// RequestID returns the service's response RequestID for request.
10656func (s *UnauthorizedOperationException) RequestID() string {
10657	return s.RespMetadata.RequestID
10658}
10659
10660// The caller does not have access to perform the action on the resource.
10661type UnauthorizedResourceAccessException struct {
10662	_            struct{}                  `type:"structure"`
10663	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10664
10665	Message_ *string `locationName:"Message" type:"string"`
10666}
10667
10668// String returns the string representation
10669func (s UnauthorizedResourceAccessException) String() string {
10670	return awsutil.Prettify(s)
10671}
10672
10673// GoString returns the string representation
10674func (s UnauthorizedResourceAccessException) GoString() string {
10675	return s.String()
10676}
10677
10678func newErrorUnauthorizedResourceAccessException(v protocol.ResponseMetadata) error {
10679	return &UnauthorizedResourceAccessException{
10680		RespMetadata: v,
10681	}
10682}
10683
10684// Code returns the exception type name.
10685func (s *UnauthorizedResourceAccessException) Code() string {
10686	return "UnauthorizedResourceAccessException"
10687}
10688
10689// Message returns the exception's message.
10690func (s *UnauthorizedResourceAccessException) Message() string {
10691	if s.Message_ != nil {
10692		return *s.Message_
10693	}
10694	return ""
10695}
10696
10697// OrigErr always returns nil, satisfies awserr.Error interface.
10698func (s *UnauthorizedResourceAccessException) OrigErr() error {
10699	return nil
10700}
10701
10702func (s *UnauthorizedResourceAccessException) Error() string {
10703	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10704}
10705
10706// Status code returns the HTTP status code for the request's response error.
10707func (s *UnauthorizedResourceAccessException) StatusCode() int {
10708	return s.RespMetadata.StatusCode
10709}
10710
10711// RequestID returns the service's response RequestID for request.
10712func (s *UnauthorizedResourceAccessException) RequestID() string {
10713	return s.RespMetadata.RequestID
10714}
10715
10716type UpdateDocumentInput struct {
10717	_ struct{} `type:"structure"`
10718
10719	// Amazon WorkDocs authentication token. Not required when using AWS administrator
10720	// credentials to access the API.
10721	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
10722
10723	// The ID of the document.
10724	//
10725	// DocumentId is a required field
10726	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
10727
10728	// The name of the document.
10729	Name *string `min:"1" type:"string"`
10730
10731	// The ID of the parent folder.
10732	ParentFolderId *string `min:"1" type:"string"`
10733
10734	// The resource state of the document. Only ACTIVE and RECYCLED are supported.
10735	ResourceState *string `type:"string" enum:"ResourceStateType"`
10736}
10737
10738// String returns the string representation
10739func (s UpdateDocumentInput) String() string {
10740	return awsutil.Prettify(s)
10741}
10742
10743// GoString returns the string representation
10744func (s UpdateDocumentInput) GoString() string {
10745	return s.String()
10746}
10747
10748// Validate inspects the fields of the type to determine if they are valid.
10749func (s *UpdateDocumentInput) Validate() error {
10750	invalidParams := request.ErrInvalidParams{Context: "UpdateDocumentInput"}
10751	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
10752		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
10753	}
10754	if s.DocumentId == nil {
10755		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
10756	}
10757	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
10758		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
10759	}
10760	if s.Name != nil && len(*s.Name) < 1 {
10761		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10762	}
10763	if s.ParentFolderId != nil && len(*s.ParentFolderId) < 1 {
10764		invalidParams.Add(request.NewErrParamMinLen("ParentFolderId", 1))
10765	}
10766
10767	if invalidParams.Len() > 0 {
10768		return invalidParams
10769	}
10770	return nil
10771}
10772
10773// SetAuthenticationToken sets the AuthenticationToken field's value.
10774func (s *UpdateDocumentInput) SetAuthenticationToken(v string) *UpdateDocumentInput {
10775	s.AuthenticationToken = &v
10776	return s
10777}
10778
10779// SetDocumentId sets the DocumentId field's value.
10780func (s *UpdateDocumentInput) SetDocumentId(v string) *UpdateDocumentInput {
10781	s.DocumentId = &v
10782	return s
10783}
10784
10785// SetName sets the Name field's value.
10786func (s *UpdateDocumentInput) SetName(v string) *UpdateDocumentInput {
10787	s.Name = &v
10788	return s
10789}
10790
10791// SetParentFolderId sets the ParentFolderId field's value.
10792func (s *UpdateDocumentInput) SetParentFolderId(v string) *UpdateDocumentInput {
10793	s.ParentFolderId = &v
10794	return s
10795}
10796
10797// SetResourceState sets the ResourceState field's value.
10798func (s *UpdateDocumentInput) SetResourceState(v string) *UpdateDocumentInput {
10799	s.ResourceState = &v
10800	return s
10801}
10802
10803type UpdateDocumentOutput struct {
10804	_ struct{} `type:"structure"`
10805}
10806
10807// String returns the string representation
10808func (s UpdateDocumentOutput) String() string {
10809	return awsutil.Prettify(s)
10810}
10811
10812// GoString returns the string representation
10813func (s UpdateDocumentOutput) GoString() string {
10814	return s.String()
10815}
10816
10817type UpdateDocumentVersionInput struct {
10818	_ struct{} `type:"structure"`
10819
10820	// Amazon WorkDocs authentication token. Not required when using AWS administrator
10821	// credentials to access the API.
10822	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
10823
10824	// The ID of the document.
10825	//
10826	// DocumentId is a required field
10827	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
10828
10829	// The version ID of the document.
10830	//
10831	// VersionId is a required field
10832	VersionId *string `location:"uri" locationName:"VersionId" min:"1" type:"string" required:"true"`
10833
10834	// The status of the version.
10835	VersionStatus *string `type:"string" enum:"DocumentVersionStatus"`
10836}
10837
10838// String returns the string representation
10839func (s UpdateDocumentVersionInput) String() string {
10840	return awsutil.Prettify(s)
10841}
10842
10843// GoString returns the string representation
10844func (s UpdateDocumentVersionInput) GoString() string {
10845	return s.String()
10846}
10847
10848// Validate inspects the fields of the type to determine if they are valid.
10849func (s *UpdateDocumentVersionInput) Validate() error {
10850	invalidParams := request.ErrInvalidParams{Context: "UpdateDocumentVersionInput"}
10851	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
10852		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
10853	}
10854	if s.DocumentId == nil {
10855		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
10856	}
10857	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
10858		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
10859	}
10860	if s.VersionId == nil {
10861		invalidParams.Add(request.NewErrParamRequired("VersionId"))
10862	}
10863	if s.VersionId != nil && len(*s.VersionId) < 1 {
10864		invalidParams.Add(request.NewErrParamMinLen("VersionId", 1))
10865	}
10866
10867	if invalidParams.Len() > 0 {
10868		return invalidParams
10869	}
10870	return nil
10871}
10872
10873// SetAuthenticationToken sets the AuthenticationToken field's value.
10874func (s *UpdateDocumentVersionInput) SetAuthenticationToken(v string) *UpdateDocumentVersionInput {
10875	s.AuthenticationToken = &v
10876	return s
10877}
10878
10879// SetDocumentId sets the DocumentId field's value.
10880func (s *UpdateDocumentVersionInput) SetDocumentId(v string) *UpdateDocumentVersionInput {
10881	s.DocumentId = &v
10882	return s
10883}
10884
10885// SetVersionId sets the VersionId field's value.
10886func (s *UpdateDocumentVersionInput) SetVersionId(v string) *UpdateDocumentVersionInput {
10887	s.VersionId = &v
10888	return s
10889}
10890
10891// SetVersionStatus sets the VersionStatus field's value.
10892func (s *UpdateDocumentVersionInput) SetVersionStatus(v string) *UpdateDocumentVersionInput {
10893	s.VersionStatus = &v
10894	return s
10895}
10896
10897type UpdateDocumentVersionOutput struct {
10898	_ struct{} `type:"structure"`
10899}
10900
10901// String returns the string representation
10902func (s UpdateDocumentVersionOutput) String() string {
10903	return awsutil.Prettify(s)
10904}
10905
10906// GoString returns the string representation
10907func (s UpdateDocumentVersionOutput) GoString() string {
10908	return s.String()
10909}
10910
10911type UpdateFolderInput struct {
10912	_ struct{} `type:"structure"`
10913
10914	// Amazon WorkDocs authentication token. Not required when using AWS administrator
10915	// credentials to access the API.
10916	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
10917
10918	// The ID of the folder.
10919	//
10920	// FolderId is a required field
10921	FolderId *string `location:"uri" locationName:"FolderId" min:"1" type:"string" required:"true"`
10922
10923	// The name of the folder.
10924	Name *string `min:"1" type:"string"`
10925
10926	// The ID of the parent folder.
10927	ParentFolderId *string `min:"1" type:"string"`
10928
10929	// The resource state of the folder. Only ACTIVE and RECYCLED are accepted values
10930	// from the API.
10931	ResourceState *string `type:"string" enum:"ResourceStateType"`
10932}
10933
10934// String returns the string representation
10935func (s UpdateFolderInput) String() string {
10936	return awsutil.Prettify(s)
10937}
10938
10939// GoString returns the string representation
10940func (s UpdateFolderInput) GoString() string {
10941	return s.String()
10942}
10943
10944// Validate inspects the fields of the type to determine if they are valid.
10945func (s *UpdateFolderInput) Validate() error {
10946	invalidParams := request.ErrInvalidParams{Context: "UpdateFolderInput"}
10947	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
10948		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
10949	}
10950	if s.FolderId == nil {
10951		invalidParams.Add(request.NewErrParamRequired("FolderId"))
10952	}
10953	if s.FolderId != nil && len(*s.FolderId) < 1 {
10954		invalidParams.Add(request.NewErrParamMinLen("FolderId", 1))
10955	}
10956	if s.Name != nil && len(*s.Name) < 1 {
10957		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10958	}
10959	if s.ParentFolderId != nil && len(*s.ParentFolderId) < 1 {
10960		invalidParams.Add(request.NewErrParamMinLen("ParentFolderId", 1))
10961	}
10962
10963	if invalidParams.Len() > 0 {
10964		return invalidParams
10965	}
10966	return nil
10967}
10968
10969// SetAuthenticationToken sets the AuthenticationToken field's value.
10970func (s *UpdateFolderInput) SetAuthenticationToken(v string) *UpdateFolderInput {
10971	s.AuthenticationToken = &v
10972	return s
10973}
10974
10975// SetFolderId sets the FolderId field's value.
10976func (s *UpdateFolderInput) SetFolderId(v string) *UpdateFolderInput {
10977	s.FolderId = &v
10978	return s
10979}
10980
10981// SetName sets the Name field's value.
10982func (s *UpdateFolderInput) SetName(v string) *UpdateFolderInput {
10983	s.Name = &v
10984	return s
10985}
10986
10987// SetParentFolderId sets the ParentFolderId field's value.
10988func (s *UpdateFolderInput) SetParentFolderId(v string) *UpdateFolderInput {
10989	s.ParentFolderId = &v
10990	return s
10991}
10992
10993// SetResourceState sets the ResourceState field's value.
10994func (s *UpdateFolderInput) SetResourceState(v string) *UpdateFolderInput {
10995	s.ResourceState = &v
10996	return s
10997}
10998
10999type UpdateFolderOutput struct {
11000	_ struct{} `type:"structure"`
11001}
11002
11003// String returns the string representation
11004func (s UpdateFolderOutput) String() string {
11005	return awsutil.Prettify(s)
11006}
11007
11008// GoString returns the string representation
11009func (s UpdateFolderOutput) GoString() string {
11010	return s.String()
11011}
11012
11013type UpdateUserInput struct {
11014	_ struct{} `type:"structure"`
11015
11016	// Amazon WorkDocs authentication token. Not required when using AWS administrator
11017	// credentials to access the API.
11018	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
11019
11020	// The given name of the user.
11021	GivenName *string `min:"1" type:"string"`
11022
11023	// Boolean value to determine whether the user is granted Poweruser privileges.
11024	GrantPoweruserPrivileges *string `type:"string" enum:"BooleanEnumType"`
11025
11026	// The locale of the user.
11027	Locale *string `type:"string" enum:"LocaleType"`
11028
11029	// The amount of storage for the user.
11030	StorageRule *StorageRuleType `type:"structure"`
11031
11032	// The surname of the user.
11033	Surname *string `min:"1" type:"string"`
11034
11035	// The time zone ID of the user.
11036	TimeZoneId *string `min:"1" type:"string"`
11037
11038	// The type of the user.
11039	Type *string `type:"string" enum:"UserType"`
11040
11041	// The ID of the user.
11042	//
11043	// UserId is a required field
11044	UserId *string `location:"uri" locationName:"UserId" min:"1" type:"string" required:"true"`
11045}
11046
11047// String returns the string representation
11048func (s UpdateUserInput) String() string {
11049	return awsutil.Prettify(s)
11050}
11051
11052// GoString returns the string representation
11053func (s UpdateUserInput) GoString() string {
11054	return s.String()
11055}
11056
11057// Validate inspects the fields of the type to determine if they are valid.
11058func (s *UpdateUserInput) Validate() error {
11059	invalidParams := request.ErrInvalidParams{Context: "UpdateUserInput"}
11060	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
11061		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
11062	}
11063	if s.GivenName != nil && len(*s.GivenName) < 1 {
11064		invalidParams.Add(request.NewErrParamMinLen("GivenName", 1))
11065	}
11066	if s.Surname != nil && len(*s.Surname) < 1 {
11067		invalidParams.Add(request.NewErrParamMinLen("Surname", 1))
11068	}
11069	if s.TimeZoneId != nil && len(*s.TimeZoneId) < 1 {
11070		invalidParams.Add(request.NewErrParamMinLen("TimeZoneId", 1))
11071	}
11072	if s.UserId == nil {
11073		invalidParams.Add(request.NewErrParamRequired("UserId"))
11074	}
11075	if s.UserId != nil && len(*s.UserId) < 1 {
11076		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
11077	}
11078
11079	if invalidParams.Len() > 0 {
11080		return invalidParams
11081	}
11082	return nil
11083}
11084
11085// SetAuthenticationToken sets the AuthenticationToken field's value.
11086func (s *UpdateUserInput) SetAuthenticationToken(v string) *UpdateUserInput {
11087	s.AuthenticationToken = &v
11088	return s
11089}
11090
11091// SetGivenName sets the GivenName field's value.
11092func (s *UpdateUserInput) SetGivenName(v string) *UpdateUserInput {
11093	s.GivenName = &v
11094	return s
11095}
11096
11097// SetGrantPoweruserPrivileges sets the GrantPoweruserPrivileges field's value.
11098func (s *UpdateUserInput) SetGrantPoweruserPrivileges(v string) *UpdateUserInput {
11099	s.GrantPoweruserPrivileges = &v
11100	return s
11101}
11102
11103// SetLocale sets the Locale field's value.
11104func (s *UpdateUserInput) SetLocale(v string) *UpdateUserInput {
11105	s.Locale = &v
11106	return s
11107}
11108
11109// SetStorageRule sets the StorageRule field's value.
11110func (s *UpdateUserInput) SetStorageRule(v *StorageRuleType) *UpdateUserInput {
11111	s.StorageRule = v
11112	return s
11113}
11114
11115// SetSurname sets the Surname field's value.
11116func (s *UpdateUserInput) SetSurname(v string) *UpdateUserInput {
11117	s.Surname = &v
11118	return s
11119}
11120
11121// SetTimeZoneId sets the TimeZoneId field's value.
11122func (s *UpdateUserInput) SetTimeZoneId(v string) *UpdateUserInput {
11123	s.TimeZoneId = &v
11124	return s
11125}
11126
11127// SetType sets the Type field's value.
11128func (s *UpdateUserInput) SetType(v string) *UpdateUserInput {
11129	s.Type = &v
11130	return s
11131}
11132
11133// SetUserId sets the UserId field's value.
11134func (s *UpdateUserInput) SetUserId(v string) *UpdateUserInput {
11135	s.UserId = &v
11136	return s
11137}
11138
11139type UpdateUserOutput struct {
11140	_ struct{} `type:"structure"`
11141
11142	// The user information.
11143	User *User `type:"structure"`
11144}
11145
11146// String returns the string representation
11147func (s UpdateUserOutput) String() string {
11148	return awsutil.Prettify(s)
11149}
11150
11151// GoString returns the string representation
11152func (s UpdateUserOutput) GoString() string {
11153	return s.String()
11154}
11155
11156// SetUser sets the User field's value.
11157func (s *UpdateUserOutput) SetUser(v *User) *UpdateUserOutput {
11158	s.User = v
11159	return s
11160}
11161
11162// Describes the upload.
11163type UploadMetadata struct {
11164	_ struct{} `type:"structure"`
11165
11166	// The signed headers.
11167	SignedHeaders map[string]*string `type:"map"`
11168
11169	// The URL of the upload.
11170	UploadUrl *string `min:"1" type:"string" sensitive:"true"`
11171}
11172
11173// String returns the string representation
11174func (s UploadMetadata) String() string {
11175	return awsutil.Prettify(s)
11176}
11177
11178// GoString returns the string representation
11179func (s UploadMetadata) GoString() string {
11180	return s.String()
11181}
11182
11183// SetSignedHeaders sets the SignedHeaders field's value.
11184func (s *UploadMetadata) SetSignedHeaders(v map[string]*string) *UploadMetadata {
11185	s.SignedHeaders = v
11186	return s
11187}
11188
11189// SetUploadUrl sets the UploadUrl field's value.
11190func (s *UploadMetadata) SetUploadUrl(v string) *UploadMetadata {
11191	s.UploadUrl = &v
11192	return s
11193}
11194
11195// Describes a user.
11196type User struct {
11197	_ struct{} `type:"structure"`
11198
11199	// The time when the user was created.
11200	CreatedTimestamp *time.Time `type:"timestamp"`
11201
11202	// The email address of the user.
11203	EmailAddress *string `min:"1" type:"string"`
11204
11205	// The given name of the user.
11206	GivenName *string `min:"1" type:"string"`
11207
11208	// The ID of the user.
11209	Id *string `min:"1" type:"string"`
11210
11211	// The locale of the user.
11212	Locale *string `type:"string" enum:"LocaleType"`
11213
11214	// The time when the user was modified.
11215	ModifiedTimestamp *time.Time `type:"timestamp"`
11216
11217	// The ID of the organization.
11218	OrganizationId *string `min:"1" type:"string"`
11219
11220	// The ID of the recycle bin folder.
11221	RecycleBinFolderId *string `min:"1" type:"string"`
11222
11223	// The ID of the root folder.
11224	RootFolderId *string `min:"1" type:"string"`
11225
11226	// The status of the user.
11227	Status *string `type:"string" enum:"UserStatusType"`
11228
11229	// The storage for the user.
11230	Storage *UserStorageMetadata `type:"structure"`
11231
11232	// The surname of the user.
11233	Surname *string `min:"1" type:"string"`
11234
11235	// The time zone ID of the user.
11236	TimeZoneId *string `min:"1" type:"string"`
11237
11238	// The type of user.
11239	Type *string `type:"string" enum:"UserType"`
11240
11241	// The login name of the user.
11242	Username *string `min:"1" type:"string"`
11243}
11244
11245// String returns the string representation
11246func (s User) String() string {
11247	return awsutil.Prettify(s)
11248}
11249
11250// GoString returns the string representation
11251func (s User) GoString() string {
11252	return s.String()
11253}
11254
11255// SetCreatedTimestamp sets the CreatedTimestamp field's value.
11256func (s *User) SetCreatedTimestamp(v time.Time) *User {
11257	s.CreatedTimestamp = &v
11258	return s
11259}
11260
11261// SetEmailAddress sets the EmailAddress field's value.
11262func (s *User) SetEmailAddress(v string) *User {
11263	s.EmailAddress = &v
11264	return s
11265}
11266
11267// SetGivenName sets the GivenName field's value.
11268func (s *User) SetGivenName(v string) *User {
11269	s.GivenName = &v
11270	return s
11271}
11272
11273// SetId sets the Id field's value.
11274func (s *User) SetId(v string) *User {
11275	s.Id = &v
11276	return s
11277}
11278
11279// SetLocale sets the Locale field's value.
11280func (s *User) SetLocale(v string) *User {
11281	s.Locale = &v
11282	return s
11283}
11284
11285// SetModifiedTimestamp sets the ModifiedTimestamp field's value.
11286func (s *User) SetModifiedTimestamp(v time.Time) *User {
11287	s.ModifiedTimestamp = &v
11288	return s
11289}
11290
11291// SetOrganizationId sets the OrganizationId field's value.
11292func (s *User) SetOrganizationId(v string) *User {
11293	s.OrganizationId = &v
11294	return s
11295}
11296
11297// SetRecycleBinFolderId sets the RecycleBinFolderId field's value.
11298func (s *User) SetRecycleBinFolderId(v string) *User {
11299	s.RecycleBinFolderId = &v
11300	return s
11301}
11302
11303// SetRootFolderId sets the RootFolderId field's value.
11304func (s *User) SetRootFolderId(v string) *User {
11305	s.RootFolderId = &v
11306	return s
11307}
11308
11309// SetStatus sets the Status field's value.
11310func (s *User) SetStatus(v string) *User {
11311	s.Status = &v
11312	return s
11313}
11314
11315// SetStorage sets the Storage field's value.
11316func (s *User) SetStorage(v *UserStorageMetadata) *User {
11317	s.Storage = v
11318	return s
11319}
11320
11321// SetSurname sets the Surname field's value.
11322func (s *User) SetSurname(v string) *User {
11323	s.Surname = &v
11324	return s
11325}
11326
11327// SetTimeZoneId sets the TimeZoneId field's value.
11328func (s *User) SetTimeZoneId(v string) *User {
11329	s.TimeZoneId = &v
11330	return s
11331}
11332
11333// SetType sets the Type field's value.
11334func (s *User) SetType(v string) *User {
11335	s.Type = &v
11336	return s
11337}
11338
11339// SetUsername sets the Username field's value.
11340func (s *User) SetUsername(v string) *User {
11341	s.Username = &v
11342	return s
11343}
11344
11345// Describes the metadata of the user.
11346type UserMetadata struct {
11347	_ struct{} `type:"structure"`
11348
11349	// The email address of the user.
11350	EmailAddress *string `min:"1" type:"string"`
11351
11352	// The given name of the user before a rename operation.
11353	GivenName *string `min:"1" type:"string"`
11354
11355	// The ID of the user.
11356	Id *string `min:"1" type:"string"`
11357
11358	// The surname of the user.
11359	Surname *string `min:"1" type:"string"`
11360
11361	// The name of the user.
11362	Username *string `min:"1" type:"string"`
11363}
11364
11365// String returns the string representation
11366func (s UserMetadata) String() string {
11367	return awsutil.Prettify(s)
11368}
11369
11370// GoString returns the string representation
11371func (s UserMetadata) GoString() string {
11372	return s.String()
11373}
11374
11375// SetEmailAddress sets the EmailAddress field's value.
11376func (s *UserMetadata) SetEmailAddress(v string) *UserMetadata {
11377	s.EmailAddress = &v
11378	return s
11379}
11380
11381// SetGivenName sets the GivenName field's value.
11382func (s *UserMetadata) SetGivenName(v string) *UserMetadata {
11383	s.GivenName = &v
11384	return s
11385}
11386
11387// SetId sets the Id field's value.
11388func (s *UserMetadata) SetId(v string) *UserMetadata {
11389	s.Id = &v
11390	return s
11391}
11392
11393// SetSurname sets the Surname field's value.
11394func (s *UserMetadata) SetSurname(v string) *UserMetadata {
11395	s.Surname = &v
11396	return s
11397}
11398
11399// SetUsername sets the Username field's value.
11400func (s *UserMetadata) SetUsername(v string) *UserMetadata {
11401	s.Username = &v
11402	return s
11403}
11404
11405// Describes the storage for a user.
11406type UserStorageMetadata struct {
11407	_ struct{} `type:"structure"`
11408
11409	// The storage for a user.
11410	StorageRule *StorageRuleType `type:"structure"`
11411
11412	// The amount of storage used, in bytes.
11413	StorageUtilizedInBytes *int64 `type:"long"`
11414}
11415
11416// String returns the string representation
11417func (s UserStorageMetadata) String() string {
11418	return awsutil.Prettify(s)
11419}
11420
11421// GoString returns the string representation
11422func (s UserStorageMetadata) GoString() string {
11423	return s.String()
11424}
11425
11426// SetStorageRule sets the StorageRule field's value.
11427func (s *UserStorageMetadata) SetStorageRule(v *StorageRuleType) *UserStorageMetadata {
11428	s.StorageRule = v
11429	return s
11430}
11431
11432// SetStorageUtilizedInBytes sets the StorageUtilizedInBytes field's value.
11433func (s *UserStorageMetadata) SetStorageUtilizedInBytes(v int64) *UserStorageMetadata {
11434	s.StorageUtilizedInBytes = &v
11435	return s
11436}
11437
11438const (
11439	// ActivityTypeDocumentCheckedIn is a ActivityType enum value
11440	ActivityTypeDocumentCheckedIn = "DOCUMENT_CHECKED_IN"
11441
11442	// ActivityTypeDocumentCheckedOut is a ActivityType enum value
11443	ActivityTypeDocumentCheckedOut = "DOCUMENT_CHECKED_OUT"
11444
11445	// ActivityTypeDocumentRenamed is a ActivityType enum value
11446	ActivityTypeDocumentRenamed = "DOCUMENT_RENAMED"
11447
11448	// ActivityTypeDocumentVersionUploaded is a ActivityType enum value
11449	ActivityTypeDocumentVersionUploaded = "DOCUMENT_VERSION_UPLOADED"
11450
11451	// ActivityTypeDocumentVersionDeleted is a ActivityType enum value
11452	ActivityTypeDocumentVersionDeleted = "DOCUMENT_VERSION_DELETED"
11453
11454	// ActivityTypeDocumentVersionViewed is a ActivityType enum value
11455	ActivityTypeDocumentVersionViewed = "DOCUMENT_VERSION_VIEWED"
11456
11457	// ActivityTypeDocumentVersionDownloaded is a ActivityType enum value
11458	ActivityTypeDocumentVersionDownloaded = "DOCUMENT_VERSION_DOWNLOADED"
11459
11460	// ActivityTypeDocumentRecycled is a ActivityType enum value
11461	ActivityTypeDocumentRecycled = "DOCUMENT_RECYCLED"
11462
11463	// ActivityTypeDocumentRestored is a ActivityType enum value
11464	ActivityTypeDocumentRestored = "DOCUMENT_RESTORED"
11465
11466	// ActivityTypeDocumentReverted is a ActivityType enum value
11467	ActivityTypeDocumentReverted = "DOCUMENT_REVERTED"
11468
11469	// ActivityTypeDocumentShared is a ActivityType enum value
11470	ActivityTypeDocumentShared = "DOCUMENT_SHARED"
11471
11472	// ActivityTypeDocumentUnshared is a ActivityType enum value
11473	ActivityTypeDocumentUnshared = "DOCUMENT_UNSHARED"
11474
11475	// ActivityTypeDocumentSharePermissionChanged is a ActivityType enum value
11476	ActivityTypeDocumentSharePermissionChanged = "DOCUMENT_SHARE_PERMISSION_CHANGED"
11477
11478	// ActivityTypeDocumentShareableLinkCreated is a ActivityType enum value
11479	ActivityTypeDocumentShareableLinkCreated = "DOCUMENT_SHAREABLE_LINK_CREATED"
11480
11481	// ActivityTypeDocumentShareableLinkRemoved is a ActivityType enum value
11482	ActivityTypeDocumentShareableLinkRemoved = "DOCUMENT_SHAREABLE_LINK_REMOVED"
11483
11484	// ActivityTypeDocumentShareableLinkPermissionChanged is a ActivityType enum value
11485	ActivityTypeDocumentShareableLinkPermissionChanged = "DOCUMENT_SHAREABLE_LINK_PERMISSION_CHANGED"
11486
11487	// ActivityTypeDocumentMoved is a ActivityType enum value
11488	ActivityTypeDocumentMoved = "DOCUMENT_MOVED"
11489
11490	// ActivityTypeDocumentCommentAdded is a ActivityType enum value
11491	ActivityTypeDocumentCommentAdded = "DOCUMENT_COMMENT_ADDED"
11492
11493	// ActivityTypeDocumentCommentDeleted is a ActivityType enum value
11494	ActivityTypeDocumentCommentDeleted = "DOCUMENT_COMMENT_DELETED"
11495
11496	// ActivityTypeDocumentAnnotationAdded is a ActivityType enum value
11497	ActivityTypeDocumentAnnotationAdded = "DOCUMENT_ANNOTATION_ADDED"
11498
11499	// ActivityTypeDocumentAnnotationDeleted is a ActivityType enum value
11500	ActivityTypeDocumentAnnotationDeleted = "DOCUMENT_ANNOTATION_DELETED"
11501
11502	// ActivityTypeFolderCreated is a ActivityType enum value
11503	ActivityTypeFolderCreated = "FOLDER_CREATED"
11504
11505	// ActivityTypeFolderDeleted is a ActivityType enum value
11506	ActivityTypeFolderDeleted = "FOLDER_DELETED"
11507
11508	// ActivityTypeFolderRenamed is a ActivityType enum value
11509	ActivityTypeFolderRenamed = "FOLDER_RENAMED"
11510
11511	// ActivityTypeFolderRecycled is a ActivityType enum value
11512	ActivityTypeFolderRecycled = "FOLDER_RECYCLED"
11513
11514	// ActivityTypeFolderRestored is a ActivityType enum value
11515	ActivityTypeFolderRestored = "FOLDER_RESTORED"
11516
11517	// ActivityTypeFolderShared is a ActivityType enum value
11518	ActivityTypeFolderShared = "FOLDER_SHARED"
11519
11520	// ActivityTypeFolderUnshared is a ActivityType enum value
11521	ActivityTypeFolderUnshared = "FOLDER_UNSHARED"
11522
11523	// ActivityTypeFolderSharePermissionChanged is a ActivityType enum value
11524	ActivityTypeFolderSharePermissionChanged = "FOLDER_SHARE_PERMISSION_CHANGED"
11525
11526	// ActivityTypeFolderShareableLinkCreated is a ActivityType enum value
11527	ActivityTypeFolderShareableLinkCreated = "FOLDER_SHAREABLE_LINK_CREATED"
11528
11529	// ActivityTypeFolderShareableLinkRemoved is a ActivityType enum value
11530	ActivityTypeFolderShareableLinkRemoved = "FOLDER_SHAREABLE_LINK_REMOVED"
11531
11532	// ActivityTypeFolderShareableLinkPermissionChanged is a ActivityType enum value
11533	ActivityTypeFolderShareableLinkPermissionChanged = "FOLDER_SHAREABLE_LINK_PERMISSION_CHANGED"
11534
11535	// ActivityTypeFolderMoved is a ActivityType enum value
11536	ActivityTypeFolderMoved = "FOLDER_MOVED"
11537)
11538
11539const (
11540	// BooleanEnumTypeTrue is a BooleanEnumType enum value
11541	BooleanEnumTypeTrue = "TRUE"
11542
11543	// BooleanEnumTypeFalse is a BooleanEnumType enum value
11544	BooleanEnumTypeFalse = "FALSE"
11545)
11546
11547const (
11548	// CommentStatusTypeDraft is a CommentStatusType enum value
11549	CommentStatusTypeDraft = "DRAFT"
11550
11551	// CommentStatusTypePublished is a CommentStatusType enum value
11552	CommentStatusTypePublished = "PUBLISHED"
11553
11554	// CommentStatusTypeDeleted is a CommentStatusType enum value
11555	CommentStatusTypeDeleted = "DELETED"
11556)
11557
11558const (
11559	// CommentVisibilityTypePublic is a CommentVisibilityType enum value
11560	CommentVisibilityTypePublic = "PUBLIC"
11561
11562	// CommentVisibilityTypePrivate is a CommentVisibilityType enum value
11563	CommentVisibilityTypePrivate = "PRIVATE"
11564)
11565
11566const (
11567	// DocumentSourceTypeOriginal is a DocumentSourceType enum value
11568	DocumentSourceTypeOriginal = "ORIGINAL"
11569
11570	// DocumentSourceTypeWithComments is a DocumentSourceType enum value
11571	DocumentSourceTypeWithComments = "WITH_COMMENTS"
11572)
11573
11574const (
11575	// DocumentStatusTypeInitialized is a DocumentStatusType enum value
11576	DocumentStatusTypeInitialized = "INITIALIZED"
11577
11578	// DocumentStatusTypeActive is a DocumentStatusType enum value
11579	DocumentStatusTypeActive = "ACTIVE"
11580)
11581
11582const (
11583	// DocumentThumbnailTypeSmall is a DocumentThumbnailType enum value
11584	DocumentThumbnailTypeSmall = "SMALL"
11585
11586	// DocumentThumbnailTypeSmallHq is a DocumentThumbnailType enum value
11587	DocumentThumbnailTypeSmallHq = "SMALL_HQ"
11588
11589	// DocumentThumbnailTypeLarge is a DocumentThumbnailType enum value
11590	DocumentThumbnailTypeLarge = "LARGE"
11591)
11592
11593const (
11594	// DocumentVersionStatusActive is a DocumentVersionStatus enum value
11595	DocumentVersionStatusActive = "ACTIVE"
11596)
11597
11598const (
11599	// FolderContentTypeAll is a FolderContentType enum value
11600	FolderContentTypeAll = "ALL"
11601
11602	// FolderContentTypeDocument is a FolderContentType enum value
11603	FolderContentTypeDocument = "DOCUMENT"
11604
11605	// FolderContentTypeFolder is a FolderContentType enum value
11606	FolderContentTypeFolder = "FOLDER"
11607)
11608
11609const (
11610	// LocaleTypeEn is a LocaleType enum value
11611	LocaleTypeEn = "en"
11612
11613	// LocaleTypeFr is a LocaleType enum value
11614	LocaleTypeFr = "fr"
11615
11616	// LocaleTypeKo is a LocaleType enum value
11617	LocaleTypeKo = "ko"
11618
11619	// LocaleTypeDe is a LocaleType enum value
11620	LocaleTypeDe = "de"
11621
11622	// LocaleTypeEs is a LocaleType enum value
11623	LocaleTypeEs = "es"
11624
11625	// LocaleTypeJa is a LocaleType enum value
11626	LocaleTypeJa = "ja"
11627
11628	// LocaleTypeRu is a LocaleType enum value
11629	LocaleTypeRu = "ru"
11630
11631	// LocaleTypeZhCn is a LocaleType enum value
11632	LocaleTypeZhCn = "zh_CN"
11633
11634	// LocaleTypeZhTw is a LocaleType enum value
11635	LocaleTypeZhTw = "zh_TW"
11636
11637	// LocaleTypePtBr is a LocaleType enum value
11638	LocaleTypePtBr = "pt_BR"
11639
11640	// LocaleTypeDefault is a LocaleType enum value
11641	LocaleTypeDefault = "default"
11642)
11643
11644const (
11645	// OrderTypeAscending is a OrderType enum value
11646	OrderTypeAscending = "ASCENDING"
11647
11648	// OrderTypeDescending is a OrderType enum value
11649	OrderTypeDescending = "DESCENDING"
11650)
11651
11652const (
11653	// PrincipalTypeUser is a PrincipalType enum value
11654	PrincipalTypeUser = "USER"
11655
11656	// PrincipalTypeGroup is a PrincipalType enum value
11657	PrincipalTypeGroup = "GROUP"
11658
11659	// PrincipalTypeInvite is a PrincipalType enum value
11660	PrincipalTypeInvite = "INVITE"
11661
11662	// PrincipalTypeAnonymous is a PrincipalType enum value
11663	PrincipalTypeAnonymous = "ANONYMOUS"
11664
11665	// PrincipalTypeOrganization is a PrincipalType enum value
11666	PrincipalTypeOrganization = "ORGANIZATION"
11667)
11668
11669const (
11670	// ResourceCollectionTypeSharedWithMe is a ResourceCollectionType enum value
11671	ResourceCollectionTypeSharedWithMe = "SHARED_WITH_ME"
11672)
11673
11674const (
11675	// ResourceSortTypeDate is a ResourceSortType enum value
11676	ResourceSortTypeDate = "DATE"
11677
11678	// ResourceSortTypeName is a ResourceSortType enum value
11679	ResourceSortTypeName = "NAME"
11680)
11681
11682const (
11683	// ResourceStateTypeActive is a ResourceStateType enum value
11684	ResourceStateTypeActive = "ACTIVE"
11685
11686	// ResourceStateTypeRestoring is a ResourceStateType enum value
11687	ResourceStateTypeRestoring = "RESTORING"
11688
11689	// ResourceStateTypeRecycling is a ResourceStateType enum value
11690	ResourceStateTypeRecycling = "RECYCLING"
11691
11692	// ResourceStateTypeRecycled is a ResourceStateType enum value
11693	ResourceStateTypeRecycled = "RECYCLED"
11694)
11695
11696const (
11697	// ResourceTypeFolder is a ResourceType enum value
11698	ResourceTypeFolder = "FOLDER"
11699
11700	// ResourceTypeDocument is a ResourceType enum value
11701	ResourceTypeDocument = "DOCUMENT"
11702)
11703
11704const (
11705	// RolePermissionTypeDirect is a RolePermissionType enum value
11706	RolePermissionTypeDirect = "DIRECT"
11707
11708	// RolePermissionTypeInherited is a RolePermissionType enum value
11709	RolePermissionTypeInherited = "INHERITED"
11710)
11711
11712const (
11713	// RoleTypeViewer is a RoleType enum value
11714	RoleTypeViewer = "VIEWER"
11715
11716	// RoleTypeContributor is a RoleType enum value
11717	RoleTypeContributor = "CONTRIBUTOR"
11718
11719	// RoleTypeOwner is a RoleType enum value
11720	RoleTypeOwner = "OWNER"
11721
11722	// RoleTypeCoowner is a RoleType enum value
11723	RoleTypeCoowner = "COOWNER"
11724)
11725
11726const (
11727	// ShareStatusTypeSuccess is a ShareStatusType enum value
11728	ShareStatusTypeSuccess = "SUCCESS"
11729
11730	// ShareStatusTypeFailure is a ShareStatusType enum value
11731	ShareStatusTypeFailure = "FAILURE"
11732)
11733
11734const (
11735	// StorageTypeUnlimited is a StorageType enum value
11736	StorageTypeUnlimited = "UNLIMITED"
11737
11738	// StorageTypeQuota is a StorageType enum value
11739	StorageTypeQuota = "QUOTA"
11740)
11741
11742const (
11743	// SubscriptionProtocolTypeHttps is a SubscriptionProtocolType enum value
11744	SubscriptionProtocolTypeHttps = "HTTPS"
11745)
11746
11747const (
11748	// SubscriptionTypeAll is a SubscriptionType enum value
11749	SubscriptionTypeAll = "ALL"
11750)
11751
11752const (
11753	// UserFilterTypeAll is a UserFilterType enum value
11754	UserFilterTypeAll = "ALL"
11755
11756	// UserFilterTypeActivePending is a UserFilterType enum value
11757	UserFilterTypeActivePending = "ACTIVE_PENDING"
11758)
11759
11760const (
11761	// UserSortTypeUserName is a UserSortType enum value
11762	UserSortTypeUserName = "USER_NAME"
11763
11764	// UserSortTypeFullName is a UserSortType enum value
11765	UserSortTypeFullName = "FULL_NAME"
11766
11767	// UserSortTypeStorageLimit is a UserSortType enum value
11768	UserSortTypeStorageLimit = "STORAGE_LIMIT"
11769
11770	// UserSortTypeUserStatus is a UserSortType enum value
11771	UserSortTypeUserStatus = "USER_STATUS"
11772
11773	// UserSortTypeStorageUsed is a UserSortType enum value
11774	UserSortTypeStorageUsed = "STORAGE_USED"
11775)
11776
11777const (
11778	// UserStatusTypeActive is a UserStatusType enum value
11779	UserStatusTypeActive = "ACTIVE"
11780
11781	// UserStatusTypeInactive is a UserStatusType enum value
11782	UserStatusTypeInactive = "INACTIVE"
11783
11784	// UserStatusTypePending is a UserStatusType enum value
11785	UserStatusTypePending = "PENDING"
11786)
11787
11788const (
11789	// UserTypeUser is a UserType enum value
11790	UserTypeUser = "USER"
11791
11792	// UserTypeAdmin is a UserType enum value
11793	UserTypeAdmin = "ADMIN"
11794
11795	// UserTypePoweruser is a UserType enum value
11796	UserTypePoweruser = "POWERUSER"
11797
11798	// UserTypeMinimaluser is a UserType enum value
11799	UserTypeMinimaluser = "MINIMALUSER"
11800
11801	// UserTypeWorkspacesuser is a UserType enum value
11802	UserTypeWorkspacesuser = "WORKSPACESUSER"
11803)
11804