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
11539// ActivityType_Values returns all elements of the ActivityType enum
11540func ActivityType_Values() []string {
11541	return []string{
11542		ActivityTypeDocumentCheckedIn,
11543		ActivityTypeDocumentCheckedOut,
11544		ActivityTypeDocumentRenamed,
11545		ActivityTypeDocumentVersionUploaded,
11546		ActivityTypeDocumentVersionDeleted,
11547		ActivityTypeDocumentVersionViewed,
11548		ActivityTypeDocumentVersionDownloaded,
11549		ActivityTypeDocumentRecycled,
11550		ActivityTypeDocumentRestored,
11551		ActivityTypeDocumentReverted,
11552		ActivityTypeDocumentShared,
11553		ActivityTypeDocumentUnshared,
11554		ActivityTypeDocumentSharePermissionChanged,
11555		ActivityTypeDocumentShareableLinkCreated,
11556		ActivityTypeDocumentShareableLinkRemoved,
11557		ActivityTypeDocumentShareableLinkPermissionChanged,
11558		ActivityTypeDocumentMoved,
11559		ActivityTypeDocumentCommentAdded,
11560		ActivityTypeDocumentCommentDeleted,
11561		ActivityTypeDocumentAnnotationAdded,
11562		ActivityTypeDocumentAnnotationDeleted,
11563		ActivityTypeFolderCreated,
11564		ActivityTypeFolderDeleted,
11565		ActivityTypeFolderRenamed,
11566		ActivityTypeFolderRecycled,
11567		ActivityTypeFolderRestored,
11568		ActivityTypeFolderShared,
11569		ActivityTypeFolderUnshared,
11570		ActivityTypeFolderSharePermissionChanged,
11571		ActivityTypeFolderShareableLinkCreated,
11572		ActivityTypeFolderShareableLinkRemoved,
11573		ActivityTypeFolderShareableLinkPermissionChanged,
11574		ActivityTypeFolderMoved,
11575	}
11576}
11577
11578const (
11579	// BooleanEnumTypeTrue is a BooleanEnumType enum value
11580	BooleanEnumTypeTrue = "TRUE"
11581
11582	// BooleanEnumTypeFalse is a BooleanEnumType enum value
11583	BooleanEnumTypeFalse = "FALSE"
11584)
11585
11586// BooleanEnumType_Values returns all elements of the BooleanEnumType enum
11587func BooleanEnumType_Values() []string {
11588	return []string{
11589		BooleanEnumTypeTrue,
11590		BooleanEnumTypeFalse,
11591	}
11592}
11593
11594const (
11595	// CommentStatusTypeDraft is a CommentStatusType enum value
11596	CommentStatusTypeDraft = "DRAFT"
11597
11598	// CommentStatusTypePublished is a CommentStatusType enum value
11599	CommentStatusTypePublished = "PUBLISHED"
11600
11601	// CommentStatusTypeDeleted is a CommentStatusType enum value
11602	CommentStatusTypeDeleted = "DELETED"
11603)
11604
11605// CommentStatusType_Values returns all elements of the CommentStatusType enum
11606func CommentStatusType_Values() []string {
11607	return []string{
11608		CommentStatusTypeDraft,
11609		CommentStatusTypePublished,
11610		CommentStatusTypeDeleted,
11611	}
11612}
11613
11614const (
11615	// CommentVisibilityTypePublic is a CommentVisibilityType enum value
11616	CommentVisibilityTypePublic = "PUBLIC"
11617
11618	// CommentVisibilityTypePrivate is a CommentVisibilityType enum value
11619	CommentVisibilityTypePrivate = "PRIVATE"
11620)
11621
11622// CommentVisibilityType_Values returns all elements of the CommentVisibilityType enum
11623func CommentVisibilityType_Values() []string {
11624	return []string{
11625		CommentVisibilityTypePublic,
11626		CommentVisibilityTypePrivate,
11627	}
11628}
11629
11630const (
11631	// DocumentSourceTypeOriginal is a DocumentSourceType enum value
11632	DocumentSourceTypeOriginal = "ORIGINAL"
11633
11634	// DocumentSourceTypeWithComments is a DocumentSourceType enum value
11635	DocumentSourceTypeWithComments = "WITH_COMMENTS"
11636)
11637
11638// DocumentSourceType_Values returns all elements of the DocumentSourceType enum
11639func DocumentSourceType_Values() []string {
11640	return []string{
11641		DocumentSourceTypeOriginal,
11642		DocumentSourceTypeWithComments,
11643	}
11644}
11645
11646const (
11647	// DocumentStatusTypeInitialized is a DocumentStatusType enum value
11648	DocumentStatusTypeInitialized = "INITIALIZED"
11649
11650	// DocumentStatusTypeActive is a DocumentStatusType enum value
11651	DocumentStatusTypeActive = "ACTIVE"
11652)
11653
11654// DocumentStatusType_Values returns all elements of the DocumentStatusType enum
11655func DocumentStatusType_Values() []string {
11656	return []string{
11657		DocumentStatusTypeInitialized,
11658		DocumentStatusTypeActive,
11659	}
11660}
11661
11662const (
11663	// DocumentThumbnailTypeSmall is a DocumentThumbnailType enum value
11664	DocumentThumbnailTypeSmall = "SMALL"
11665
11666	// DocumentThumbnailTypeSmallHq is a DocumentThumbnailType enum value
11667	DocumentThumbnailTypeSmallHq = "SMALL_HQ"
11668
11669	// DocumentThumbnailTypeLarge is a DocumentThumbnailType enum value
11670	DocumentThumbnailTypeLarge = "LARGE"
11671)
11672
11673// DocumentThumbnailType_Values returns all elements of the DocumentThumbnailType enum
11674func DocumentThumbnailType_Values() []string {
11675	return []string{
11676		DocumentThumbnailTypeSmall,
11677		DocumentThumbnailTypeSmallHq,
11678		DocumentThumbnailTypeLarge,
11679	}
11680}
11681
11682const (
11683	// DocumentVersionStatusActive is a DocumentVersionStatus enum value
11684	DocumentVersionStatusActive = "ACTIVE"
11685)
11686
11687// DocumentVersionStatus_Values returns all elements of the DocumentVersionStatus enum
11688func DocumentVersionStatus_Values() []string {
11689	return []string{
11690		DocumentVersionStatusActive,
11691	}
11692}
11693
11694const (
11695	// FolderContentTypeAll is a FolderContentType enum value
11696	FolderContentTypeAll = "ALL"
11697
11698	// FolderContentTypeDocument is a FolderContentType enum value
11699	FolderContentTypeDocument = "DOCUMENT"
11700
11701	// FolderContentTypeFolder is a FolderContentType enum value
11702	FolderContentTypeFolder = "FOLDER"
11703)
11704
11705// FolderContentType_Values returns all elements of the FolderContentType enum
11706func FolderContentType_Values() []string {
11707	return []string{
11708		FolderContentTypeAll,
11709		FolderContentTypeDocument,
11710		FolderContentTypeFolder,
11711	}
11712}
11713
11714const (
11715	// LocaleTypeEn is a LocaleType enum value
11716	LocaleTypeEn = "en"
11717
11718	// LocaleTypeFr is a LocaleType enum value
11719	LocaleTypeFr = "fr"
11720
11721	// LocaleTypeKo is a LocaleType enum value
11722	LocaleTypeKo = "ko"
11723
11724	// LocaleTypeDe is a LocaleType enum value
11725	LocaleTypeDe = "de"
11726
11727	// LocaleTypeEs is a LocaleType enum value
11728	LocaleTypeEs = "es"
11729
11730	// LocaleTypeJa is a LocaleType enum value
11731	LocaleTypeJa = "ja"
11732
11733	// LocaleTypeRu is a LocaleType enum value
11734	LocaleTypeRu = "ru"
11735
11736	// LocaleTypeZhCn is a LocaleType enum value
11737	LocaleTypeZhCn = "zh_CN"
11738
11739	// LocaleTypeZhTw is a LocaleType enum value
11740	LocaleTypeZhTw = "zh_TW"
11741
11742	// LocaleTypePtBr is a LocaleType enum value
11743	LocaleTypePtBr = "pt_BR"
11744
11745	// LocaleTypeDefault is a LocaleType enum value
11746	LocaleTypeDefault = "default"
11747)
11748
11749// LocaleType_Values returns all elements of the LocaleType enum
11750func LocaleType_Values() []string {
11751	return []string{
11752		LocaleTypeEn,
11753		LocaleTypeFr,
11754		LocaleTypeKo,
11755		LocaleTypeDe,
11756		LocaleTypeEs,
11757		LocaleTypeJa,
11758		LocaleTypeRu,
11759		LocaleTypeZhCn,
11760		LocaleTypeZhTw,
11761		LocaleTypePtBr,
11762		LocaleTypeDefault,
11763	}
11764}
11765
11766const (
11767	// OrderTypeAscending is a OrderType enum value
11768	OrderTypeAscending = "ASCENDING"
11769
11770	// OrderTypeDescending is a OrderType enum value
11771	OrderTypeDescending = "DESCENDING"
11772)
11773
11774// OrderType_Values returns all elements of the OrderType enum
11775func OrderType_Values() []string {
11776	return []string{
11777		OrderTypeAscending,
11778		OrderTypeDescending,
11779	}
11780}
11781
11782const (
11783	// PrincipalTypeUser is a PrincipalType enum value
11784	PrincipalTypeUser = "USER"
11785
11786	// PrincipalTypeGroup is a PrincipalType enum value
11787	PrincipalTypeGroup = "GROUP"
11788
11789	// PrincipalTypeInvite is a PrincipalType enum value
11790	PrincipalTypeInvite = "INVITE"
11791
11792	// PrincipalTypeAnonymous is a PrincipalType enum value
11793	PrincipalTypeAnonymous = "ANONYMOUS"
11794
11795	// PrincipalTypeOrganization is a PrincipalType enum value
11796	PrincipalTypeOrganization = "ORGANIZATION"
11797)
11798
11799// PrincipalType_Values returns all elements of the PrincipalType enum
11800func PrincipalType_Values() []string {
11801	return []string{
11802		PrincipalTypeUser,
11803		PrincipalTypeGroup,
11804		PrincipalTypeInvite,
11805		PrincipalTypeAnonymous,
11806		PrincipalTypeOrganization,
11807	}
11808}
11809
11810const (
11811	// ResourceCollectionTypeSharedWithMe is a ResourceCollectionType enum value
11812	ResourceCollectionTypeSharedWithMe = "SHARED_WITH_ME"
11813)
11814
11815// ResourceCollectionType_Values returns all elements of the ResourceCollectionType enum
11816func ResourceCollectionType_Values() []string {
11817	return []string{
11818		ResourceCollectionTypeSharedWithMe,
11819	}
11820}
11821
11822const (
11823	// ResourceSortTypeDate is a ResourceSortType enum value
11824	ResourceSortTypeDate = "DATE"
11825
11826	// ResourceSortTypeName is a ResourceSortType enum value
11827	ResourceSortTypeName = "NAME"
11828)
11829
11830// ResourceSortType_Values returns all elements of the ResourceSortType enum
11831func ResourceSortType_Values() []string {
11832	return []string{
11833		ResourceSortTypeDate,
11834		ResourceSortTypeName,
11835	}
11836}
11837
11838const (
11839	// ResourceStateTypeActive is a ResourceStateType enum value
11840	ResourceStateTypeActive = "ACTIVE"
11841
11842	// ResourceStateTypeRestoring is a ResourceStateType enum value
11843	ResourceStateTypeRestoring = "RESTORING"
11844
11845	// ResourceStateTypeRecycling is a ResourceStateType enum value
11846	ResourceStateTypeRecycling = "RECYCLING"
11847
11848	// ResourceStateTypeRecycled is a ResourceStateType enum value
11849	ResourceStateTypeRecycled = "RECYCLED"
11850)
11851
11852// ResourceStateType_Values returns all elements of the ResourceStateType enum
11853func ResourceStateType_Values() []string {
11854	return []string{
11855		ResourceStateTypeActive,
11856		ResourceStateTypeRestoring,
11857		ResourceStateTypeRecycling,
11858		ResourceStateTypeRecycled,
11859	}
11860}
11861
11862const (
11863	// ResourceTypeFolder is a ResourceType enum value
11864	ResourceTypeFolder = "FOLDER"
11865
11866	// ResourceTypeDocument is a ResourceType enum value
11867	ResourceTypeDocument = "DOCUMENT"
11868)
11869
11870// ResourceType_Values returns all elements of the ResourceType enum
11871func ResourceType_Values() []string {
11872	return []string{
11873		ResourceTypeFolder,
11874		ResourceTypeDocument,
11875	}
11876}
11877
11878const (
11879	// RolePermissionTypeDirect is a RolePermissionType enum value
11880	RolePermissionTypeDirect = "DIRECT"
11881
11882	// RolePermissionTypeInherited is a RolePermissionType enum value
11883	RolePermissionTypeInherited = "INHERITED"
11884)
11885
11886// RolePermissionType_Values returns all elements of the RolePermissionType enum
11887func RolePermissionType_Values() []string {
11888	return []string{
11889		RolePermissionTypeDirect,
11890		RolePermissionTypeInherited,
11891	}
11892}
11893
11894const (
11895	// RoleTypeViewer is a RoleType enum value
11896	RoleTypeViewer = "VIEWER"
11897
11898	// RoleTypeContributor is a RoleType enum value
11899	RoleTypeContributor = "CONTRIBUTOR"
11900
11901	// RoleTypeOwner is a RoleType enum value
11902	RoleTypeOwner = "OWNER"
11903
11904	// RoleTypeCoowner is a RoleType enum value
11905	RoleTypeCoowner = "COOWNER"
11906)
11907
11908// RoleType_Values returns all elements of the RoleType enum
11909func RoleType_Values() []string {
11910	return []string{
11911		RoleTypeViewer,
11912		RoleTypeContributor,
11913		RoleTypeOwner,
11914		RoleTypeCoowner,
11915	}
11916}
11917
11918const (
11919	// ShareStatusTypeSuccess is a ShareStatusType enum value
11920	ShareStatusTypeSuccess = "SUCCESS"
11921
11922	// ShareStatusTypeFailure is a ShareStatusType enum value
11923	ShareStatusTypeFailure = "FAILURE"
11924)
11925
11926// ShareStatusType_Values returns all elements of the ShareStatusType enum
11927func ShareStatusType_Values() []string {
11928	return []string{
11929		ShareStatusTypeSuccess,
11930		ShareStatusTypeFailure,
11931	}
11932}
11933
11934const (
11935	// StorageTypeUnlimited is a StorageType enum value
11936	StorageTypeUnlimited = "UNLIMITED"
11937
11938	// StorageTypeQuota is a StorageType enum value
11939	StorageTypeQuota = "QUOTA"
11940)
11941
11942// StorageType_Values returns all elements of the StorageType enum
11943func StorageType_Values() []string {
11944	return []string{
11945		StorageTypeUnlimited,
11946		StorageTypeQuota,
11947	}
11948}
11949
11950const (
11951	// SubscriptionProtocolTypeHttps is a SubscriptionProtocolType enum value
11952	SubscriptionProtocolTypeHttps = "HTTPS"
11953)
11954
11955// SubscriptionProtocolType_Values returns all elements of the SubscriptionProtocolType enum
11956func SubscriptionProtocolType_Values() []string {
11957	return []string{
11958		SubscriptionProtocolTypeHttps,
11959	}
11960}
11961
11962const (
11963	// SubscriptionTypeAll is a SubscriptionType enum value
11964	SubscriptionTypeAll = "ALL"
11965)
11966
11967// SubscriptionType_Values returns all elements of the SubscriptionType enum
11968func SubscriptionType_Values() []string {
11969	return []string{
11970		SubscriptionTypeAll,
11971	}
11972}
11973
11974const (
11975	// UserFilterTypeAll is a UserFilterType enum value
11976	UserFilterTypeAll = "ALL"
11977
11978	// UserFilterTypeActivePending is a UserFilterType enum value
11979	UserFilterTypeActivePending = "ACTIVE_PENDING"
11980)
11981
11982// UserFilterType_Values returns all elements of the UserFilterType enum
11983func UserFilterType_Values() []string {
11984	return []string{
11985		UserFilterTypeAll,
11986		UserFilterTypeActivePending,
11987	}
11988}
11989
11990const (
11991	// UserSortTypeUserName is a UserSortType enum value
11992	UserSortTypeUserName = "USER_NAME"
11993
11994	// UserSortTypeFullName is a UserSortType enum value
11995	UserSortTypeFullName = "FULL_NAME"
11996
11997	// UserSortTypeStorageLimit is a UserSortType enum value
11998	UserSortTypeStorageLimit = "STORAGE_LIMIT"
11999
12000	// UserSortTypeUserStatus is a UserSortType enum value
12001	UserSortTypeUserStatus = "USER_STATUS"
12002
12003	// UserSortTypeStorageUsed is a UserSortType enum value
12004	UserSortTypeStorageUsed = "STORAGE_USED"
12005)
12006
12007// UserSortType_Values returns all elements of the UserSortType enum
12008func UserSortType_Values() []string {
12009	return []string{
12010		UserSortTypeUserName,
12011		UserSortTypeFullName,
12012		UserSortTypeStorageLimit,
12013		UserSortTypeUserStatus,
12014		UserSortTypeStorageUsed,
12015	}
12016}
12017
12018const (
12019	// UserStatusTypeActive is a UserStatusType enum value
12020	UserStatusTypeActive = "ACTIVE"
12021
12022	// UserStatusTypeInactive is a UserStatusType enum value
12023	UserStatusTypeInactive = "INACTIVE"
12024
12025	// UserStatusTypePending is a UserStatusType enum value
12026	UserStatusTypePending = "PENDING"
12027)
12028
12029// UserStatusType_Values returns all elements of the UserStatusType enum
12030func UserStatusType_Values() []string {
12031	return []string{
12032		UserStatusTypeActive,
12033		UserStatusTypeInactive,
12034		UserStatusTypePending,
12035	}
12036}
12037
12038const (
12039	// UserTypeUser is a UserType enum value
12040	UserTypeUser = "USER"
12041
12042	// UserTypeAdmin is a UserType enum value
12043	UserTypeAdmin = "ADMIN"
12044
12045	// UserTypePoweruser is a UserType enum value
12046	UserTypePoweruser = "POWERUSER"
12047
12048	// UserTypeMinimaluser is a UserType enum value
12049	UserTypeMinimaluser = "MINIMALUSER"
12050
12051	// UserTypeWorkspacesuser is a UserType enum value
12052	UserTypeWorkspacesuser = "WORKSPACESUSER"
12053)
12054
12055// UserType_Values returns all elements of the UserType enum
12056func UserType_Values() []string {
12057	return []string{
12058		UserTypeUser,
12059		UserTypeAdmin,
12060		UserTypePoweruser,
12061		UserTypeMinimaluser,
12062		UserTypeWorkspacesuser,
12063	}
12064}
12065