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 Codes:
73//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
74//   The resource does not exist.
75//
76//   * ErrCodeProhibitedStateException "ProhibitedStateException"
77//   The specified document version is not in the INITIALIZED state.
78//
79//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
80//   The operation is not permitted.
81//
82//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
83//   The caller does not have access to perform the action on the resource.
84//
85//   * ErrCodeFailedDependencyException "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//   * ErrCodeServiceUnavailableException "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 Codes:
169//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
170//   The resource does not exist.
171//
172//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
173//   The operation is not permitted.
174//
175//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
176//   The caller does not have access to perform the action on the resource.
177//
178//   * ErrCodeFailedDependencyException "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//   * ErrCodeServiceUnavailableException "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 Codes:
263//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
264//   The operation is not permitted.
265//
266//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
267//   The caller does not have access to perform the action on the resource.
268//
269//   * ErrCodeFailedDependencyException "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//   * ErrCodeServiceUnavailableException "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 Codes:
353//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
354//   The resource does not exist.
355//
356//   * ErrCodeProhibitedStateException "ProhibitedStateException"
357//   The specified document version is not in the INITIALIZED state.
358//
359//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
360//   The operation is not permitted.
361//
362//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
363//   The caller does not have access to perform the action on the resource.
364//
365//   * ErrCodeFailedDependencyException "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//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
371//   One or more of the dependencies is unavailable.
372//
373//   * ErrCodeDocumentLockedForCommentsException "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//   * ErrCodeInvalidCommentOperationException "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 Codes:
458//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
459//   The resource does not exist.
460//
461//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
462//   The operation is not permitted.
463//
464//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
465//   The caller does not have access to perform the action on the resource.
466//
467//   * ErrCodeProhibitedStateException "ProhibitedStateException"
468//   The specified document version is not in the INITIALIZED state.
469//
470//   * ErrCodeCustomMetadataLimitExceededException "CustomMetadataLimitExceededException"
471//   The limit has been reached on the number of custom properties for the specified
472//   resource.
473//
474//   * ErrCodeFailedDependencyException "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//   * ErrCodeServiceUnavailableException "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 Codes:
558//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
559//   The resource does not exist.
560//
561//   * ErrCodeEntityAlreadyExistsException "EntityAlreadyExistsException"
562//   The resource already exists.
563//
564//   * ErrCodeProhibitedStateException "ProhibitedStateException"
565//   The specified document version is not in the INITIALIZED state.
566//
567//   * ErrCodeConflictingOperationException "ConflictingOperationException"
568//   Another operation is in progress on the resource that conflicts with the
569//   current operation.
570//
571//   * ErrCodeLimitExceededException "LimitExceededException"
572//   The maximum of 100,000 folders under the parent folder has been exceeded.
573//
574//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
575//   The operation is not permitted.
576//
577//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
578//   The caller does not have access to perform the action on the resource.
579//
580//   * ErrCodeFailedDependencyException "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//   * ErrCodeServiceUnavailableException "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 Codes:
665//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
666//   The resource does not exist.
667//
668//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
669//   The operation is not permitted.
670//
671//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
672//   The caller does not have access to perform the action on the resource.
673//
674//   * ErrCodeFailedDependencyException "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//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
680//   One or more of the dependencies is unavailable.
681//
682//   * ErrCodeTooManyLabelsException "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 Codes:
765//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
766//   The caller does not have access to perform the action on the resource.
767//
768//   * ErrCodeTooManySubscriptionsException "TooManySubscriptionsException"
769//   You've reached the limit on the number of subscriptions for the WorkDocs
770//   instance.
771//
772//   * ErrCodeServiceUnavailableException "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 Codes:
852//   * ErrCodeEntityAlreadyExistsException "EntityAlreadyExistsException"
853//   The resource already exists.
854//
855//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
856//   The operation is not permitted.
857//
858//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
859//   The caller does not have access to perform the action on the resource.
860//
861//   * ErrCodeFailedDependencyException "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//   * ErrCodeServiceUnavailableException "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 Codes:
947//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
948//   The resource does not exist.
949//
950//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
951//   The operation is not permitted.
952//
953//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
954//   The caller does not have access to perform the action on the resource.
955//
956//   * ErrCodeFailedDependencyException "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//   * ErrCodeServiceUnavailableException "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 Codes:
1041//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
1042//   The resource does not exist.
1043//
1044//   * ErrCodeProhibitedStateException "ProhibitedStateException"
1045//   The specified document version is not in the INITIALIZED state.
1046//
1047//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
1048//   The operation is not permitted.
1049//
1050//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
1051//   The caller does not have access to perform the action on the resource.
1052//
1053//   * ErrCodeFailedDependencyException "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//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
1059//   One or more of the dependencies is unavailable.
1060//
1061//   * ErrCodeDocumentLockedForCommentsException "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 Codes:
1142//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
1143//   The resource does not exist.
1144//
1145//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
1146//   The operation is not permitted.
1147//
1148//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
1149//   The caller does not have access to perform the action on the resource.
1150//
1151//   * ErrCodeProhibitedStateException "ProhibitedStateException"
1152//   The specified document version is not in the INITIALIZED state.
1153//
1154//   * ErrCodeFailedDependencyException "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//   * ErrCodeServiceUnavailableException "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 Codes:
1239//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
1240//   The resource does not exist.
1241//
1242//   * ErrCodeProhibitedStateException "ProhibitedStateException"
1243//   The specified document version is not in the INITIALIZED state.
1244//
1245//   * ErrCodeConflictingOperationException "ConflictingOperationException"
1246//   Another operation is in progress on the resource that conflicts with the
1247//   current operation.
1248//
1249//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
1250//   The resource hierarchy is changing.
1251//
1252//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
1253//   The operation is not permitted.
1254//
1255//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
1256//   The caller does not have access to perform the action on the resource.
1257//
1258//   * ErrCodeFailedDependencyException "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//   * ErrCodeServiceUnavailableException "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 Codes:
1343//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
1344//   The resource does not exist.
1345//
1346//   * ErrCodeProhibitedStateException "ProhibitedStateException"
1347//   The specified document version is not in the INITIALIZED state.
1348//
1349//   * ErrCodeConflictingOperationException "ConflictingOperationException"
1350//   Another operation is in progress on the resource that conflicts with the
1351//   current operation.
1352//
1353//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
1354//   The resource hierarchy is changing.
1355//
1356//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
1357//   The operation is not permitted.
1358//
1359//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
1360//   The caller does not have access to perform the action on the resource.
1361//
1362//   * ErrCodeFailedDependencyException "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//   * ErrCodeServiceUnavailableException "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 Codes:
1447//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
1448//   The resource does not exist.
1449//
1450//   * ErrCodeProhibitedStateException "ProhibitedStateException"
1451//   The specified document version is not in the INITIALIZED state.
1452//
1453//   * ErrCodeConflictingOperationException "ConflictingOperationException"
1454//   Another operation is in progress on the resource that conflicts with the
1455//   current operation.
1456//
1457//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
1458//   The operation is not permitted.
1459//
1460//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
1461//   The caller does not have access to perform the action on the resource.
1462//
1463//   * ErrCodeFailedDependencyException "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//   * ErrCodeServiceUnavailableException "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 Codes:
1548//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
1549//   The resource does not exist.
1550//
1551//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
1552//   The operation is not permitted.
1553//
1554//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
1555//   The caller does not have access to perform the action on the resource.
1556//
1557//   * ErrCodeFailedDependencyException "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//   * ErrCodeServiceUnavailableException "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 Codes:
1642//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
1643//   The caller does not have access to perform the action on the resource.
1644//
1645//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
1646//   The resource does not exist.
1647//
1648//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
1649//   One or more of the dependencies is unavailable.
1650//
1651//   * ErrCodeProhibitedStateException "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 Codes:
1731//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
1732//   The resource does not exist.
1733//
1734//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
1735//   The operation is not permitted.
1736//
1737//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
1738//   The caller does not have access to perform the action on the resource.
1739//
1740//   * ErrCodeFailedDependencyException "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//   * ErrCodeServiceUnavailableException "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 Codes:
1824//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
1825//   The operation is not permitted.
1826//
1827//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
1828//   The caller does not have access to perform the action on the resource.
1829//
1830//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
1831//   The pagination marker or limit fields are not valid.
1832//
1833//   * ErrCodeFailedDependencyException "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//   * ErrCodeServiceUnavailableException "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 Codes:
1917//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
1918//   The resource does not exist.
1919//
1920//   * ErrCodeProhibitedStateException "ProhibitedStateException"
1921//   The specified document version is not in the INITIALIZED state.
1922//
1923//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
1924//   The operation is not permitted.
1925//
1926//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
1927//   The caller does not have access to perform the action on the resource.
1928//
1929//   * ErrCodeFailedDependencyException "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//   * ErrCodeServiceUnavailableException "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 Codes:
2021//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
2022//   The resource does not exist.
2023//
2024//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
2025//   The operation is not permitted.
2026//
2027//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
2028//   The caller does not have access to perform the action on the resource.
2029//
2030//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
2031//   The pagination marker or limit fields are not valid.
2032//
2033//   * ErrCodeFailedDependencyException "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//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
2039//   One or more of the dependencies is unavailable.
2040//
2041//   * ErrCodeProhibitedStateException "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	cont := true
2110	for p.Next() && cont {
2111		cont = fn(p.Page().(*DescribeDocumentVersionsOutput), !p.HasNextPage())
2112	}
2113	return p.Err()
2114}
2115
2116const opDescribeFolderContents = "DescribeFolderContents"
2117
2118// DescribeFolderContentsRequest generates a "aws/request.Request" representing the
2119// client's request for the DescribeFolderContents operation. The "output" return
2120// value will be populated with the request's response once the request completes
2121// successfully.
2122//
2123// Use "Send" method on the returned Request to send the API call to the service.
2124// the "output" return value is not valid until after Send returns without error.
2125//
2126// See DescribeFolderContents for more information on using the DescribeFolderContents
2127// API call, and error handling.
2128//
2129// This method is useful when you want to inject custom logic or configuration
2130// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2131//
2132//
2133//    // Example sending a request using the DescribeFolderContentsRequest method.
2134//    req, resp := client.DescribeFolderContentsRequest(params)
2135//
2136//    err := req.Send()
2137//    if err == nil { // resp is now filled
2138//        fmt.Println(resp)
2139//    }
2140//
2141// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeFolderContents
2142func (c *WorkDocs) DescribeFolderContentsRequest(input *DescribeFolderContentsInput) (req *request.Request, output *DescribeFolderContentsOutput) {
2143	op := &request.Operation{
2144		Name:       opDescribeFolderContents,
2145		HTTPMethod: "GET",
2146		HTTPPath:   "/api/v1/folders/{FolderId}/contents",
2147		Paginator: &request.Paginator{
2148			InputTokens:     []string{"Marker"},
2149			OutputTokens:    []string{"Marker"},
2150			LimitToken:      "Limit",
2151			TruncationToken: "",
2152		},
2153	}
2154
2155	if input == nil {
2156		input = &DescribeFolderContentsInput{}
2157	}
2158
2159	output = &DescribeFolderContentsOutput{}
2160	req = c.newRequest(op, input, output)
2161	return
2162}
2163
2164// DescribeFolderContents API operation for Amazon WorkDocs.
2165//
2166// Describes the contents of the specified folder, including its documents and
2167// subfolders.
2168//
2169// By default, Amazon WorkDocs returns the first 100 active document and folder
2170// metadata items. If there are more results, the response includes a marker
2171// that you can use to request the next set of results. You can also request
2172// initialized documents.
2173//
2174// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2175// with awserr.Error's Code and Message methods to get detailed information about
2176// the error.
2177//
2178// See the AWS API reference guide for Amazon WorkDocs's
2179// API operation DescribeFolderContents for usage and error information.
2180//
2181// Returned Error Codes:
2182//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
2183//   The resource does not exist.
2184//
2185//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
2186//   The caller does not have access to perform the action on the resource.
2187//
2188//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
2189//   The pagination marker or limit fields are not valid.
2190//
2191//   * ErrCodeFailedDependencyException "FailedDependencyException"
2192//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
2193//   under the control of the organization is failing, such as a connected Active
2194//   Directory.
2195//
2196//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
2197//   One or more of the dependencies is unavailable.
2198//
2199//   * ErrCodeProhibitedStateException "ProhibitedStateException"
2200//   The specified document version is not in the INITIALIZED state.
2201//
2202// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeFolderContents
2203func (c *WorkDocs) DescribeFolderContents(input *DescribeFolderContentsInput) (*DescribeFolderContentsOutput, error) {
2204	req, out := c.DescribeFolderContentsRequest(input)
2205	return out, req.Send()
2206}
2207
2208// DescribeFolderContentsWithContext is the same as DescribeFolderContents with the addition of
2209// the ability to pass a context and additional request options.
2210//
2211// See DescribeFolderContents for details on how to use this API operation.
2212//
2213// The context must be non-nil and will be used for request cancellation. If
2214// the context is nil a panic will occur. In the future the SDK may create
2215// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2216// for more information on using Contexts.
2217func (c *WorkDocs) DescribeFolderContentsWithContext(ctx aws.Context, input *DescribeFolderContentsInput, opts ...request.Option) (*DescribeFolderContentsOutput, error) {
2218	req, out := c.DescribeFolderContentsRequest(input)
2219	req.SetContext(ctx)
2220	req.ApplyOptions(opts...)
2221	return out, req.Send()
2222}
2223
2224// DescribeFolderContentsPages iterates over the pages of a DescribeFolderContents operation,
2225// calling the "fn" function with the response data for each page. To stop
2226// iterating, return false from the fn function.
2227//
2228// See DescribeFolderContents method for more information on how to use this operation.
2229//
2230// Note: This operation can generate multiple requests to a service.
2231//
2232//    // Example iterating over at most 3 pages of a DescribeFolderContents operation.
2233//    pageNum := 0
2234//    err := client.DescribeFolderContentsPages(params,
2235//        func(page *workdocs.DescribeFolderContentsOutput, lastPage bool) bool {
2236//            pageNum++
2237//            fmt.Println(page)
2238//            return pageNum <= 3
2239//        })
2240//
2241func (c *WorkDocs) DescribeFolderContentsPages(input *DescribeFolderContentsInput, fn func(*DescribeFolderContentsOutput, bool) bool) error {
2242	return c.DescribeFolderContentsPagesWithContext(aws.BackgroundContext(), input, fn)
2243}
2244
2245// DescribeFolderContentsPagesWithContext same as DescribeFolderContentsPages except
2246// it takes a Context and allows setting request options on the pages.
2247//
2248// The context must be non-nil and will be used for request cancellation. If
2249// the context is nil a panic will occur. In the future the SDK may create
2250// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2251// for more information on using Contexts.
2252func (c *WorkDocs) DescribeFolderContentsPagesWithContext(ctx aws.Context, input *DescribeFolderContentsInput, fn func(*DescribeFolderContentsOutput, bool) bool, opts ...request.Option) error {
2253	p := request.Pagination{
2254		NewRequest: func() (*request.Request, error) {
2255			var inCpy *DescribeFolderContentsInput
2256			if input != nil {
2257				tmp := *input
2258				inCpy = &tmp
2259			}
2260			req, _ := c.DescribeFolderContentsRequest(inCpy)
2261			req.SetContext(ctx)
2262			req.ApplyOptions(opts...)
2263			return req, nil
2264		},
2265	}
2266
2267	cont := true
2268	for p.Next() && cont {
2269		cont = fn(p.Page().(*DescribeFolderContentsOutput), !p.HasNextPage())
2270	}
2271	return p.Err()
2272}
2273
2274const opDescribeGroups = "DescribeGroups"
2275
2276// DescribeGroupsRequest generates a "aws/request.Request" representing the
2277// client's request for the DescribeGroups operation. The "output" return
2278// value will be populated with the request's response once the request completes
2279// successfully.
2280//
2281// Use "Send" method on the returned Request to send the API call to the service.
2282// the "output" return value is not valid until after Send returns without error.
2283//
2284// See DescribeGroups for more information on using the DescribeGroups
2285// API call, and error handling.
2286//
2287// This method is useful when you want to inject custom logic or configuration
2288// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2289//
2290//
2291//    // Example sending a request using the DescribeGroupsRequest method.
2292//    req, resp := client.DescribeGroupsRequest(params)
2293//
2294//    err := req.Send()
2295//    if err == nil { // resp is now filled
2296//        fmt.Println(resp)
2297//    }
2298//
2299// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeGroups
2300func (c *WorkDocs) DescribeGroupsRequest(input *DescribeGroupsInput) (req *request.Request, output *DescribeGroupsOutput) {
2301	op := &request.Operation{
2302		Name:       opDescribeGroups,
2303		HTTPMethod: "GET",
2304		HTTPPath:   "/api/v1/groups",
2305	}
2306
2307	if input == nil {
2308		input = &DescribeGroupsInput{}
2309	}
2310
2311	output = &DescribeGroupsOutput{}
2312	req = c.newRequest(op, input, output)
2313	return
2314}
2315
2316// DescribeGroups API operation for Amazon WorkDocs.
2317//
2318// Describes the groups specified by the query. Groups are defined by the underlying
2319// Active Directory.
2320//
2321// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2322// with awserr.Error's Code and Message methods to get detailed information about
2323// the error.
2324//
2325// See the AWS API reference guide for Amazon WorkDocs's
2326// API operation DescribeGroups for usage and error information.
2327//
2328// Returned Error Codes:
2329//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
2330//   The operation is not permitted.
2331//
2332//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
2333//   The caller does not have access to perform the action on the resource.
2334//
2335//   * ErrCodeFailedDependencyException "FailedDependencyException"
2336//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
2337//   under the control of the organization is failing, such as a connected Active
2338//   Directory.
2339//
2340//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
2341//   One or more of the dependencies is unavailable.
2342//
2343// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeGroups
2344func (c *WorkDocs) DescribeGroups(input *DescribeGroupsInput) (*DescribeGroupsOutput, error) {
2345	req, out := c.DescribeGroupsRequest(input)
2346	return out, req.Send()
2347}
2348
2349// DescribeGroupsWithContext is the same as DescribeGroups with the addition of
2350// the ability to pass a context and additional request options.
2351//
2352// See DescribeGroups for details on how to use this API operation.
2353//
2354// The context must be non-nil and will be used for request cancellation. If
2355// the context is nil a panic will occur. In the future the SDK may create
2356// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2357// for more information on using Contexts.
2358func (c *WorkDocs) DescribeGroupsWithContext(ctx aws.Context, input *DescribeGroupsInput, opts ...request.Option) (*DescribeGroupsOutput, error) {
2359	req, out := c.DescribeGroupsRequest(input)
2360	req.SetContext(ctx)
2361	req.ApplyOptions(opts...)
2362	return out, req.Send()
2363}
2364
2365const opDescribeNotificationSubscriptions = "DescribeNotificationSubscriptions"
2366
2367// DescribeNotificationSubscriptionsRequest generates a "aws/request.Request" representing the
2368// client's request for the DescribeNotificationSubscriptions operation. The "output" return
2369// value will be populated with the request's response once the request completes
2370// successfully.
2371//
2372// Use "Send" method on the returned Request to send the API call to the service.
2373// the "output" return value is not valid until after Send returns without error.
2374//
2375// See DescribeNotificationSubscriptions for more information on using the DescribeNotificationSubscriptions
2376// API call, and error handling.
2377//
2378// This method is useful when you want to inject custom logic or configuration
2379// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2380//
2381//
2382//    // Example sending a request using the DescribeNotificationSubscriptionsRequest method.
2383//    req, resp := client.DescribeNotificationSubscriptionsRequest(params)
2384//
2385//    err := req.Send()
2386//    if err == nil { // resp is now filled
2387//        fmt.Println(resp)
2388//    }
2389//
2390// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeNotificationSubscriptions
2391func (c *WorkDocs) DescribeNotificationSubscriptionsRequest(input *DescribeNotificationSubscriptionsInput) (req *request.Request, output *DescribeNotificationSubscriptionsOutput) {
2392	op := &request.Operation{
2393		Name:       opDescribeNotificationSubscriptions,
2394		HTTPMethod: "GET",
2395		HTTPPath:   "/api/v1/organizations/{OrganizationId}/subscriptions",
2396	}
2397
2398	if input == nil {
2399		input = &DescribeNotificationSubscriptionsInput{}
2400	}
2401
2402	output = &DescribeNotificationSubscriptionsOutput{}
2403	req = c.newRequest(op, input, output)
2404	return
2405}
2406
2407// DescribeNotificationSubscriptions API operation for Amazon WorkDocs.
2408//
2409// Lists the specified notification subscriptions.
2410//
2411// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2412// with awserr.Error's Code and Message methods to get detailed information about
2413// the error.
2414//
2415// See the AWS API reference guide for Amazon WorkDocs's
2416// API operation DescribeNotificationSubscriptions for usage and error information.
2417//
2418// Returned Error Codes:
2419//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
2420//   The caller does not have access to perform the action on the resource.
2421//
2422//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
2423//   The resource does not exist.
2424//
2425//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
2426//   One or more of the dependencies is unavailable.
2427//
2428// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeNotificationSubscriptions
2429func (c *WorkDocs) DescribeNotificationSubscriptions(input *DescribeNotificationSubscriptionsInput) (*DescribeNotificationSubscriptionsOutput, error) {
2430	req, out := c.DescribeNotificationSubscriptionsRequest(input)
2431	return out, req.Send()
2432}
2433
2434// DescribeNotificationSubscriptionsWithContext is the same as DescribeNotificationSubscriptions with the addition of
2435// the ability to pass a context and additional request options.
2436//
2437// See DescribeNotificationSubscriptions for details on how to use this API operation.
2438//
2439// The context must be non-nil and will be used for request cancellation. If
2440// the context is nil a panic will occur. In the future the SDK may create
2441// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2442// for more information on using Contexts.
2443func (c *WorkDocs) DescribeNotificationSubscriptionsWithContext(ctx aws.Context, input *DescribeNotificationSubscriptionsInput, opts ...request.Option) (*DescribeNotificationSubscriptionsOutput, error) {
2444	req, out := c.DescribeNotificationSubscriptionsRequest(input)
2445	req.SetContext(ctx)
2446	req.ApplyOptions(opts...)
2447	return out, req.Send()
2448}
2449
2450const opDescribeResourcePermissions = "DescribeResourcePermissions"
2451
2452// DescribeResourcePermissionsRequest generates a "aws/request.Request" representing the
2453// client's request for the DescribeResourcePermissions operation. The "output" return
2454// value will be populated with the request's response once the request completes
2455// successfully.
2456//
2457// Use "Send" method on the returned Request to send the API call to the service.
2458// the "output" return value is not valid until after Send returns without error.
2459//
2460// See DescribeResourcePermissions for more information on using the DescribeResourcePermissions
2461// API call, and error handling.
2462//
2463// This method is useful when you want to inject custom logic or configuration
2464// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2465//
2466//
2467//    // Example sending a request using the DescribeResourcePermissionsRequest method.
2468//    req, resp := client.DescribeResourcePermissionsRequest(params)
2469//
2470//    err := req.Send()
2471//    if err == nil { // resp is now filled
2472//        fmt.Println(resp)
2473//    }
2474//
2475// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeResourcePermissions
2476func (c *WorkDocs) DescribeResourcePermissionsRequest(input *DescribeResourcePermissionsInput) (req *request.Request, output *DescribeResourcePermissionsOutput) {
2477	op := &request.Operation{
2478		Name:       opDescribeResourcePermissions,
2479		HTTPMethod: "GET",
2480		HTTPPath:   "/api/v1/resources/{ResourceId}/permissions",
2481	}
2482
2483	if input == nil {
2484		input = &DescribeResourcePermissionsInput{}
2485	}
2486
2487	output = &DescribeResourcePermissionsOutput{}
2488	req = c.newRequest(op, input, output)
2489	return
2490}
2491
2492// DescribeResourcePermissions API operation for Amazon WorkDocs.
2493//
2494// Describes the permissions of a specified resource.
2495//
2496// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2497// with awserr.Error's Code and Message methods to get detailed information about
2498// the error.
2499//
2500// See the AWS API reference guide for Amazon WorkDocs's
2501// API operation DescribeResourcePermissions for usage and error information.
2502//
2503// Returned Error Codes:
2504//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
2505//   The operation is not permitted.
2506//
2507//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
2508//   The caller does not have access to perform the action on the resource.
2509//
2510//   * ErrCodeFailedDependencyException "FailedDependencyException"
2511//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
2512//   under the control of the organization is failing, such as a connected Active
2513//   Directory.
2514//
2515//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
2516//   One or more of the dependencies is unavailable.
2517//
2518// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeResourcePermissions
2519func (c *WorkDocs) DescribeResourcePermissions(input *DescribeResourcePermissionsInput) (*DescribeResourcePermissionsOutput, error) {
2520	req, out := c.DescribeResourcePermissionsRequest(input)
2521	return out, req.Send()
2522}
2523
2524// DescribeResourcePermissionsWithContext is the same as DescribeResourcePermissions with the addition of
2525// the ability to pass a context and additional request options.
2526//
2527// See DescribeResourcePermissions for details on how to use this API operation.
2528//
2529// The context must be non-nil and will be used for request cancellation. If
2530// the context is nil a panic will occur. In the future the SDK may create
2531// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2532// for more information on using Contexts.
2533func (c *WorkDocs) DescribeResourcePermissionsWithContext(ctx aws.Context, input *DescribeResourcePermissionsInput, opts ...request.Option) (*DescribeResourcePermissionsOutput, error) {
2534	req, out := c.DescribeResourcePermissionsRequest(input)
2535	req.SetContext(ctx)
2536	req.ApplyOptions(opts...)
2537	return out, req.Send()
2538}
2539
2540const opDescribeRootFolders = "DescribeRootFolders"
2541
2542// DescribeRootFoldersRequest generates a "aws/request.Request" representing the
2543// client's request for the DescribeRootFolders operation. The "output" return
2544// value will be populated with the request's response once the request completes
2545// successfully.
2546//
2547// Use "Send" method on the returned Request to send the API call to the service.
2548// the "output" return value is not valid until after Send returns without error.
2549//
2550// See DescribeRootFolders for more information on using the DescribeRootFolders
2551// API call, and error handling.
2552//
2553// This method is useful when you want to inject custom logic or configuration
2554// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2555//
2556//
2557//    // Example sending a request using the DescribeRootFoldersRequest method.
2558//    req, resp := client.DescribeRootFoldersRequest(params)
2559//
2560//    err := req.Send()
2561//    if err == nil { // resp is now filled
2562//        fmt.Println(resp)
2563//    }
2564//
2565// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeRootFolders
2566func (c *WorkDocs) DescribeRootFoldersRequest(input *DescribeRootFoldersInput) (req *request.Request, output *DescribeRootFoldersOutput) {
2567	op := &request.Operation{
2568		Name:       opDescribeRootFolders,
2569		HTTPMethod: "GET",
2570		HTTPPath:   "/api/v1/me/root",
2571	}
2572
2573	if input == nil {
2574		input = &DescribeRootFoldersInput{}
2575	}
2576
2577	output = &DescribeRootFoldersOutput{}
2578	req = c.newRequest(op, input, output)
2579	return
2580}
2581
2582// DescribeRootFolders API operation for Amazon WorkDocs.
2583//
2584// Describes the current user's special folders; the RootFolder and the RecycleBin.
2585// RootFolder is the root of user's files and folders and RecycleBin is the
2586// root of recycled items. This is not a valid action for SigV4 (administrative
2587// API) clients.
2588//
2589// This action requires an authentication token. To get an authentication token,
2590// register an application with Amazon WorkDocs. For more information, see Authentication
2591// and Access Control for User Applications (https://docs.aws.amazon.com/workdocs/latest/developerguide/wd-auth-user.html)
2592// in the Amazon WorkDocs Developer Guide.
2593//
2594// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2595// with awserr.Error's Code and Message methods to get detailed information about
2596// the error.
2597//
2598// See the AWS API reference guide for Amazon WorkDocs's
2599// API operation DescribeRootFolders for usage and error information.
2600//
2601// Returned Error Codes:
2602//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
2603//   The operation is not permitted.
2604//
2605//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
2606//   The caller does not have access to perform the action on the resource.
2607//
2608//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
2609//   The pagination marker or limit fields are not valid.
2610//
2611//   * ErrCodeFailedDependencyException "FailedDependencyException"
2612//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
2613//   under the control of the organization is failing, such as a connected Active
2614//   Directory.
2615//
2616//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
2617//   One or more of the dependencies is unavailable.
2618//
2619// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeRootFolders
2620func (c *WorkDocs) DescribeRootFolders(input *DescribeRootFoldersInput) (*DescribeRootFoldersOutput, error) {
2621	req, out := c.DescribeRootFoldersRequest(input)
2622	return out, req.Send()
2623}
2624
2625// DescribeRootFoldersWithContext is the same as DescribeRootFolders with the addition of
2626// the ability to pass a context and additional request options.
2627//
2628// See DescribeRootFolders for details on how to use this API operation.
2629//
2630// The context must be non-nil and will be used for request cancellation. If
2631// the context is nil a panic will occur. In the future the SDK may create
2632// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2633// for more information on using Contexts.
2634func (c *WorkDocs) DescribeRootFoldersWithContext(ctx aws.Context, input *DescribeRootFoldersInput, opts ...request.Option) (*DescribeRootFoldersOutput, error) {
2635	req, out := c.DescribeRootFoldersRequest(input)
2636	req.SetContext(ctx)
2637	req.ApplyOptions(opts...)
2638	return out, req.Send()
2639}
2640
2641const opDescribeUsers = "DescribeUsers"
2642
2643// DescribeUsersRequest generates a "aws/request.Request" representing the
2644// client's request for the DescribeUsers operation. The "output" return
2645// value will be populated with the request's response once the request completes
2646// successfully.
2647//
2648// Use "Send" method on the returned Request to send the API call to the service.
2649// the "output" return value is not valid until after Send returns without error.
2650//
2651// See DescribeUsers for more information on using the DescribeUsers
2652// API call, and error handling.
2653//
2654// This method is useful when you want to inject custom logic or configuration
2655// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2656//
2657//
2658//    // Example sending a request using the DescribeUsersRequest method.
2659//    req, resp := client.DescribeUsersRequest(params)
2660//
2661//    err := req.Send()
2662//    if err == nil { // resp is now filled
2663//        fmt.Println(resp)
2664//    }
2665//
2666// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeUsers
2667func (c *WorkDocs) DescribeUsersRequest(input *DescribeUsersInput) (req *request.Request, output *DescribeUsersOutput) {
2668	op := &request.Operation{
2669		Name:       opDescribeUsers,
2670		HTTPMethod: "GET",
2671		HTTPPath:   "/api/v1/users",
2672		Paginator: &request.Paginator{
2673			InputTokens:     []string{"Marker"},
2674			OutputTokens:    []string{"Marker"},
2675			LimitToken:      "Limit",
2676			TruncationToken: "",
2677		},
2678	}
2679
2680	if input == nil {
2681		input = &DescribeUsersInput{}
2682	}
2683
2684	output = &DescribeUsersOutput{}
2685	req = c.newRequest(op, input, output)
2686	return
2687}
2688
2689// DescribeUsers API operation for Amazon WorkDocs.
2690//
2691// Describes the specified users. You can describe all users or filter the results
2692// (for example, by status or organization).
2693//
2694// By default, Amazon WorkDocs returns the first 24 active or pending users.
2695// If there are more results, the response includes a marker that you can use
2696// to request the next set of results.
2697//
2698// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2699// with awserr.Error's Code and Message methods to get detailed information about
2700// the error.
2701//
2702// See the AWS API reference guide for Amazon WorkDocs's
2703// API operation DescribeUsers for usage and error information.
2704//
2705// Returned Error Codes:
2706//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
2707//   The resource does not exist.
2708//
2709//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
2710//   The operation is not permitted.
2711//
2712//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
2713//   The caller does not have access to perform the action on the resource.
2714//
2715//   * ErrCodeFailedDependencyException "FailedDependencyException"
2716//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
2717//   under the control of the organization is failing, such as a connected Active
2718//   Directory.
2719//
2720//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
2721//   One or more of the dependencies is unavailable.
2722//
2723//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
2724//   The pagination marker or limit fields are not valid.
2725//
2726//   * ErrCodeRequestedEntityTooLargeException "RequestedEntityTooLargeException"
2727//   The response is too large to return. The request must include a filter to
2728//   reduce the size of the response.
2729//
2730// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeUsers
2731func (c *WorkDocs) DescribeUsers(input *DescribeUsersInput) (*DescribeUsersOutput, error) {
2732	req, out := c.DescribeUsersRequest(input)
2733	return out, req.Send()
2734}
2735
2736// DescribeUsersWithContext is the same as DescribeUsers with the addition of
2737// the ability to pass a context and additional request options.
2738//
2739// See DescribeUsers for details on how to use this API operation.
2740//
2741// The context must be non-nil and will be used for request cancellation. If
2742// the context is nil a panic will occur. In the future the SDK may create
2743// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2744// for more information on using Contexts.
2745func (c *WorkDocs) DescribeUsersWithContext(ctx aws.Context, input *DescribeUsersInput, opts ...request.Option) (*DescribeUsersOutput, error) {
2746	req, out := c.DescribeUsersRequest(input)
2747	req.SetContext(ctx)
2748	req.ApplyOptions(opts...)
2749	return out, req.Send()
2750}
2751
2752// DescribeUsersPages iterates over the pages of a DescribeUsers operation,
2753// calling the "fn" function with the response data for each page. To stop
2754// iterating, return false from the fn function.
2755//
2756// See DescribeUsers method for more information on how to use this operation.
2757//
2758// Note: This operation can generate multiple requests to a service.
2759//
2760//    // Example iterating over at most 3 pages of a DescribeUsers operation.
2761//    pageNum := 0
2762//    err := client.DescribeUsersPages(params,
2763//        func(page *workdocs.DescribeUsersOutput, lastPage bool) bool {
2764//            pageNum++
2765//            fmt.Println(page)
2766//            return pageNum <= 3
2767//        })
2768//
2769func (c *WorkDocs) DescribeUsersPages(input *DescribeUsersInput, fn func(*DescribeUsersOutput, bool) bool) error {
2770	return c.DescribeUsersPagesWithContext(aws.BackgroundContext(), input, fn)
2771}
2772
2773// DescribeUsersPagesWithContext same as DescribeUsersPages except
2774// it takes a Context and allows setting request options on the pages.
2775//
2776// The context must be non-nil and will be used for request cancellation. If
2777// the context is nil a panic will occur. In the future the SDK may create
2778// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2779// for more information on using Contexts.
2780func (c *WorkDocs) DescribeUsersPagesWithContext(ctx aws.Context, input *DescribeUsersInput, fn func(*DescribeUsersOutput, bool) bool, opts ...request.Option) error {
2781	p := request.Pagination{
2782		NewRequest: func() (*request.Request, error) {
2783			var inCpy *DescribeUsersInput
2784			if input != nil {
2785				tmp := *input
2786				inCpy = &tmp
2787			}
2788			req, _ := c.DescribeUsersRequest(inCpy)
2789			req.SetContext(ctx)
2790			req.ApplyOptions(opts...)
2791			return req, nil
2792		},
2793	}
2794
2795	cont := true
2796	for p.Next() && cont {
2797		cont = fn(p.Page().(*DescribeUsersOutput), !p.HasNextPage())
2798	}
2799	return p.Err()
2800}
2801
2802const opGetCurrentUser = "GetCurrentUser"
2803
2804// GetCurrentUserRequest generates a "aws/request.Request" representing the
2805// client's request for the GetCurrentUser operation. The "output" return
2806// value will be populated with the request's response once the request completes
2807// successfully.
2808//
2809// Use "Send" method on the returned Request to send the API call to the service.
2810// the "output" return value is not valid until after Send returns without error.
2811//
2812// See GetCurrentUser for more information on using the GetCurrentUser
2813// API call, and error handling.
2814//
2815// This method is useful when you want to inject custom logic or configuration
2816// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2817//
2818//
2819//    // Example sending a request using the GetCurrentUserRequest method.
2820//    req, resp := client.GetCurrentUserRequest(params)
2821//
2822//    err := req.Send()
2823//    if err == nil { // resp is now filled
2824//        fmt.Println(resp)
2825//    }
2826//
2827// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetCurrentUser
2828func (c *WorkDocs) GetCurrentUserRequest(input *GetCurrentUserInput) (req *request.Request, output *GetCurrentUserOutput) {
2829	op := &request.Operation{
2830		Name:       opGetCurrentUser,
2831		HTTPMethod: "GET",
2832		HTTPPath:   "/api/v1/me",
2833	}
2834
2835	if input == nil {
2836		input = &GetCurrentUserInput{}
2837	}
2838
2839	output = &GetCurrentUserOutput{}
2840	req = c.newRequest(op, input, output)
2841	return
2842}
2843
2844// GetCurrentUser API operation for Amazon WorkDocs.
2845//
2846// Retrieves details of the current user for whom the authentication token was
2847// generated. This is not a valid action for SigV4 (administrative API) clients.
2848//
2849// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2850// with awserr.Error's Code and Message methods to get detailed information about
2851// the error.
2852//
2853// See the AWS API reference guide for Amazon WorkDocs's
2854// API operation GetCurrentUser for usage and error information.
2855//
2856// Returned Error Codes:
2857//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
2858//   The resource does not exist.
2859//
2860//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
2861//   The operation is not permitted.
2862//
2863//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
2864//   The caller does not have access to perform the action on the resource.
2865//
2866//   * ErrCodeFailedDependencyException "FailedDependencyException"
2867//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
2868//   under the control of the organization is failing, such as a connected Active
2869//   Directory.
2870//
2871//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
2872//   One or more of the dependencies is unavailable.
2873//
2874// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetCurrentUser
2875func (c *WorkDocs) GetCurrentUser(input *GetCurrentUserInput) (*GetCurrentUserOutput, error) {
2876	req, out := c.GetCurrentUserRequest(input)
2877	return out, req.Send()
2878}
2879
2880// GetCurrentUserWithContext is the same as GetCurrentUser with the addition of
2881// the ability to pass a context and additional request options.
2882//
2883// See GetCurrentUser for details on how to use this API operation.
2884//
2885// The context must be non-nil and will be used for request cancellation. If
2886// the context is nil a panic will occur. In the future the SDK may create
2887// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2888// for more information on using Contexts.
2889func (c *WorkDocs) GetCurrentUserWithContext(ctx aws.Context, input *GetCurrentUserInput, opts ...request.Option) (*GetCurrentUserOutput, error) {
2890	req, out := c.GetCurrentUserRequest(input)
2891	req.SetContext(ctx)
2892	req.ApplyOptions(opts...)
2893	return out, req.Send()
2894}
2895
2896const opGetDocument = "GetDocument"
2897
2898// GetDocumentRequest generates a "aws/request.Request" representing the
2899// client's request for the GetDocument operation. The "output" return
2900// value will be populated with the request's response once the request completes
2901// successfully.
2902//
2903// Use "Send" method on the returned Request to send the API call to the service.
2904// the "output" return value is not valid until after Send returns without error.
2905//
2906// See GetDocument for more information on using the GetDocument
2907// API call, and error handling.
2908//
2909// This method is useful when you want to inject custom logic or configuration
2910// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2911//
2912//
2913//    // Example sending a request using the GetDocumentRequest method.
2914//    req, resp := client.GetDocumentRequest(params)
2915//
2916//    err := req.Send()
2917//    if err == nil { // resp is now filled
2918//        fmt.Println(resp)
2919//    }
2920//
2921// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetDocument
2922func (c *WorkDocs) GetDocumentRequest(input *GetDocumentInput) (req *request.Request, output *GetDocumentOutput) {
2923	op := &request.Operation{
2924		Name:       opGetDocument,
2925		HTTPMethod: "GET",
2926		HTTPPath:   "/api/v1/documents/{DocumentId}",
2927	}
2928
2929	if input == nil {
2930		input = &GetDocumentInput{}
2931	}
2932
2933	output = &GetDocumentOutput{}
2934	req = c.newRequest(op, input, output)
2935	return
2936}
2937
2938// GetDocument API operation for Amazon WorkDocs.
2939//
2940// Retrieves details of a document.
2941//
2942// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2943// with awserr.Error's Code and Message methods to get detailed information about
2944// the error.
2945//
2946// See the AWS API reference guide for Amazon WorkDocs's
2947// API operation GetDocument for usage and error information.
2948//
2949// Returned Error Codes:
2950//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
2951//   The resource does not exist.
2952//
2953//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
2954//   The operation is not permitted.
2955//
2956//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
2957//   The caller does not have access to perform the action on the resource.
2958//
2959//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
2960//   The pagination marker or limit fields are not valid.
2961//
2962//   * ErrCodeFailedDependencyException "FailedDependencyException"
2963//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
2964//   under the control of the organization is failing, such as a connected Active
2965//   Directory.
2966//
2967//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
2968//   One or more of the dependencies is unavailable.
2969//
2970//   * ErrCodeInvalidPasswordException "InvalidPasswordException"
2971//   The password is invalid.
2972//
2973// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetDocument
2974func (c *WorkDocs) GetDocument(input *GetDocumentInput) (*GetDocumentOutput, error) {
2975	req, out := c.GetDocumentRequest(input)
2976	return out, req.Send()
2977}
2978
2979// GetDocumentWithContext is the same as GetDocument with the addition of
2980// the ability to pass a context and additional request options.
2981//
2982// See GetDocument for details on how to use this API operation.
2983//
2984// The context must be non-nil and will be used for request cancellation. If
2985// the context is nil a panic will occur. In the future the SDK may create
2986// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2987// for more information on using Contexts.
2988func (c *WorkDocs) GetDocumentWithContext(ctx aws.Context, input *GetDocumentInput, opts ...request.Option) (*GetDocumentOutput, error) {
2989	req, out := c.GetDocumentRequest(input)
2990	req.SetContext(ctx)
2991	req.ApplyOptions(opts...)
2992	return out, req.Send()
2993}
2994
2995const opGetDocumentPath = "GetDocumentPath"
2996
2997// GetDocumentPathRequest generates a "aws/request.Request" representing the
2998// client's request for the GetDocumentPath operation. The "output" return
2999// value will be populated with the request's response once the request completes
3000// successfully.
3001//
3002// Use "Send" method on the returned Request to send the API call to the service.
3003// the "output" return value is not valid until after Send returns without error.
3004//
3005// See GetDocumentPath for more information on using the GetDocumentPath
3006// API call, and error handling.
3007//
3008// This method is useful when you want to inject custom logic or configuration
3009// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3010//
3011//
3012//    // Example sending a request using the GetDocumentPathRequest method.
3013//    req, resp := client.GetDocumentPathRequest(params)
3014//
3015//    err := req.Send()
3016//    if err == nil { // resp is now filled
3017//        fmt.Println(resp)
3018//    }
3019//
3020// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetDocumentPath
3021func (c *WorkDocs) GetDocumentPathRequest(input *GetDocumentPathInput) (req *request.Request, output *GetDocumentPathOutput) {
3022	op := &request.Operation{
3023		Name:       opGetDocumentPath,
3024		HTTPMethod: "GET",
3025		HTTPPath:   "/api/v1/documents/{DocumentId}/path",
3026	}
3027
3028	if input == nil {
3029		input = &GetDocumentPathInput{}
3030	}
3031
3032	output = &GetDocumentPathOutput{}
3033	req = c.newRequest(op, input, output)
3034	return
3035}
3036
3037// GetDocumentPath API operation for Amazon WorkDocs.
3038//
3039// Retrieves the path information (the hierarchy from the root folder) for the
3040// requested document.
3041//
3042// By default, Amazon WorkDocs returns a maximum of 100 levels upwards from
3043// the requested document and only includes the IDs of the parent folders in
3044// the path. You can limit the maximum number of levels. You can also request
3045// the names of the parent folders.
3046//
3047// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3048// with awserr.Error's Code and Message methods to get detailed information about
3049// the error.
3050//
3051// See the AWS API reference guide for Amazon WorkDocs's
3052// API operation GetDocumentPath for usage and error information.
3053//
3054// Returned Error Codes:
3055//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
3056//   The resource does not exist.
3057//
3058//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
3059//   The operation is not permitted.
3060//
3061//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
3062//   The caller does not have access to perform the action on the resource.
3063//
3064//   * ErrCodeFailedDependencyException "FailedDependencyException"
3065//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3066//   under the control of the organization is failing, such as a connected Active
3067//   Directory.
3068//
3069//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
3070//   One or more of the dependencies is unavailable.
3071//
3072// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetDocumentPath
3073func (c *WorkDocs) GetDocumentPath(input *GetDocumentPathInput) (*GetDocumentPathOutput, error) {
3074	req, out := c.GetDocumentPathRequest(input)
3075	return out, req.Send()
3076}
3077
3078// GetDocumentPathWithContext is the same as GetDocumentPath with the addition of
3079// the ability to pass a context and additional request options.
3080//
3081// See GetDocumentPath for details on how to use this API operation.
3082//
3083// The context must be non-nil and will be used for request cancellation. If
3084// the context is nil a panic will occur. In the future the SDK may create
3085// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3086// for more information on using Contexts.
3087func (c *WorkDocs) GetDocumentPathWithContext(ctx aws.Context, input *GetDocumentPathInput, opts ...request.Option) (*GetDocumentPathOutput, error) {
3088	req, out := c.GetDocumentPathRequest(input)
3089	req.SetContext(ctx)
3090	req.ApplyOptions(opts...)
3091	return out, req.Send()
3092}
3093
3094const opGetDocumentVersion = "GetDocumentVersion"
3095
3096// GetDocumentVersionRequest generates a "aws/request.Request" representing the
3097// client's request for the GetDocumentVersion operation. The "output" return
3098// value will be populated with the request's response once the request completes
3099// successfully.
3100//
3101// Use "Send" method on the returned Request to send the API call to the service.
3102// the "output" return value is not valid until after Send returns without error.
3103//
3104// See GetDocumentVersion for more information on using the GetDocumentVersion
3105// API call, and error handling.
3106//
3107// This method is useful when you want to inject custom logic or configuration
3108// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3109//
3110//
3111//    // Example sending a request using the GetDocumentVersionRequest method.
3112//    req, resp := client.GetDocumentVersionRequest(params)
3113//
3114//    err := req.Send()
3115//    if err == nil { // resp is now filled
3116//        fmt.Println(resp)
3117//    }
3118//
3119// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetDocumentVersion
3120func (c *WorkDocs) GetDocumentVersionRequest(input *GetDocumentVersionInput) (req *request.Request, output *GetDocumentVersionOutput) {
3121	op := &request.Operation{
3122		Name:       opGetDocumentVersion,
3123		HTTPMethod: "GET",
3124		HTTPPath:   "/api/v1/documents/{DocumentId}/versions/{VersionId}",
3125	}
3126
3127	if input == nil {
3128		input = &GetDocumentVersionInput{}
3129	}
3130
3131	output = &GetDocumentVersionOutput{}
3132	req = c.newRequest(op, input, output)
3133	return
3134}
3135
3136// GetDocumentVersion API operation for Amazon WorkDocs.
3137//
3138// Retrieves version metadata for the specified document.
3139//
3140// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3141// with awserr.Error's Code and Message methods to get detailed information about
3142// the error.
3143//
3144// See the AWS API reference guide for Amazon WorkDocs's
3145// API operation GetDocumentVersion for usage and error information.
3146//
3147// Returned Error Codes:
3148//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
3149//   The resource does not exist.
3150//
3151//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
3152//   The operation is not permitted.
3153//
3154//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
3155//   The caller does not have access to perform the action on the resource.
3156//
3157//   * ErrCodeFailedDependencyException "FailedDependencyException"
3158//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3159//   under the control of the organization is failing, such as a connected Active
3160//   Directory.
3161//
3162//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
3163//   One or more of the dependencies is unavailable.
3164//
3165//   * ErrCodeProhibitedStateException "ProhibitedStateException"
3166//   The specified document version is not in the INITIALIZED state.
3167//
3168//   * ErrCodeInvalidPasswordException "InvalidPasswordException"
3169//   The password is invalid.
3170//
3171// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetDocumentVersion
3172func (c *WorkDocs) GetDocumentVersion(input *GetDocumentVersionInput) (*GetDocumentVersionOutput, error) {
3173	req, out := c.GetDocumentVersionRequest(input)
3174	return out, req.Send()
3175}
3176
3177// GetDocumentVersionWithContext is the same as GetDocumentVersion with the addition of
3178// the ability to pass a context and additional request options.
3179//
3180// See GetDocumentVersion for details on how to use this API operation.
3181//
3182// The context must be non-nil and will be used for request cancellation. If
3183// the context is nil a panic will occur. In the future the SDK may create
3184// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3185// for more information on using Contexts.
3186func (c *WorkDocs) GetDocumentVersionWithContext(ctx aws.Context, input *GetDocumentVersionInput, opts ...request.Option) (*GetDocumentVersionOutput, error) {
3187	req, out := c.GetDocumentVersionRequest(input)
3188	req.SetContext(ctx)
3189	req.ApplyOptions(opts...)
3190	return out, req.Send()
3191}
3192
3193const opGetFolder = "GetFolder"
3194
3195// GetFolderRequest generates a "aws/request.Request" representing the
3196// client's request for the GetFolder operation. The "output" return
3197// value will be populated with the request's response once the request completes
3198// successfully.
3199//
3200// Use "Send" method on the returned Request to send the API call to the service.
3201// the "output" return value is not valid until after Send returns without error.
3202//
3203// See GetFolder for more information on using the GetFolder
3204// API call, and error handling.
3205//
3206// This method is useful when you want to inject custom logic or configuration
3207// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3208//
3209//
3210//    // Example sending a request using the GetFolderRequest method.
3211//    req, resp := client.GetFolderRequest(params)
3212//
3213//    err := req.Send()
3214//    if err == nil { // resp is now filled
3215//        fmt.Println(resp)
3216//    }
3217//
3218// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetFolder
3219func (c *WorkDocs) GetFolderRequest(input *GetFolderInput) (req *request.Request, output *GetFolderOutput) {
3220	op := &request.Operation{
3221		Name:       opGetFolder,
3222		HTTPMethod: "GET",
3223		HTTPPath:   "/api/v1/folders/{FolderId}",
3224	}
3225
3226	if input == nil {
3227		input = &GetFolderInput{}
3228	}
3229
3230	output = &GetFolderOutput{}
3231	req = c.newRequest(op, input, output)
3232	return
3233}
3234
3235// GetFolder API operation for Amazon WorkDocs.
3236//
3237// Retrieves the metadata of the specified folder.
3238//
3239// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3240// with awserr.Error's Code and Message methods to get detailed information about
3241// the error.
3242//
3243// See the AWS API reference guide for Amazon WorkDocs's
3244// API operation GetFolder for usage and error information.
3245//
3246// Returned Error Codes:
3247//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
3248//   The resource does not exist.
3249//
3250//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
3251//   The operation is not permitted.
3252//
3253//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
3254//   The caller does not have access to perform the action on the resource.
3255//
3256//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
3257//   The pagination marker or limit fields are not valid.
3258//
3259//   * ErrCodeFailedDependencyException "FailedDependencyException"
3260//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3261//   under the control of the organization is failing, such as a connected Active
3262//   Directory.
3263//
3264//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
3265//   One or more of the dependencies is unavailable.
3266//
3267//   * ErrCodeProhibitedStateException "ProhibitedStateException"
3268//   The specified document version is not in the INITIALIZED state.
3269//
3270// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetFolder
3271func (c *WorkDocs) GetFolder(input *GetFolderInput) (*GetFolderOutput, error) {
3272	req, out := c.GetFolderRequest(input)
3273	return out, req.Send()
3274}
3275
3276// GetFolderWithContext is the same as GetFolder with the addition of
3277// the ability to pass a context and additional request options.
3278//
3279// See GetFolder for details on how to use this API operation.
3280//
3281// The context must be non-nil and will be used for request cancellation. If
3282// the context is nil a panic will occur. In the future the SDK may create
3283// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3284// for more information on using Contexts.
3285func (c *WorkDocs) GetFolderWithContext(ctx aws.Context, input *GetFolderInput, opts ...request.Option) (*GetFolderOutput, error) {
3286	req, out := c.GetFolderRequest(input)
3287	req.SetContext(ctx)
3288	req.ApplyOptions(opts...)
3289	return out, req.Send()
3290}
3291
3292const opGetFolderPath = "GetFolderPath"
3293
3294// GetFolderPathRequest generates a "aws/request.Request" representing the
3295// client's request for the GetFolderPath operation. The "output" return
3296// value will be populated with the request's response once the request completes
3297// successfully.
3298//
3299// Use "Send" method on the returned Request to send the API call to the service.
3300// the "output" return value is not valid until after Send returns without error.
3301//
3302// See GetFolderPath for more information on using the GetFolderPath
3303// API call, and error handling.
3304//
3305// This method is useful when you want to inject custom logic or configuration
3306// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3307//
3308//
3309//    // Example sending a request using the GetFolderPathRequest method.
3310//    req, resp := client.GetFolderPathRequest(params)
3311//
3312//    err := req.Send()
3313//    if err == nil { // resp is now filled
3314//        fmt.Println(resp)
3315//    }
3316//
3317// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetFolderPath
3318func (c *WorkDocs) GetFolderPathRequest(input *GetFolderPathInput) (req *request.Request, output *GetFolderPathOutput) {
3319	op := &request.Operation{
3320		Name:       opGetFolderPath,
3321		HTTPMethod: "GET",
3322		HTTPPath:   "/api/v1/folders/{FolderId}/path",
3323	}
3324
3325	if input == nil {
3326		input = &GetFolderPathInput{}
3327	}
3328
3329	output = &GetFolderPathOutput{}
3330	req = c.newRequest(op, input, output)
3331	return
3332}
3333
3334// GetFolderPath API operation for Amazon WorkDocs.
3335//
3336// Retrieves the path information (the hierarchy from the root folder) for the
3337// specified folder.
3338//
3339// By default, Amazon WorkDocs returns a maximum of 100 levels upwards from
3340// the requested folder and only includes the IDs of the parent folders in the
3341// path. You can limit the maximum number of levels. You can also request the
3342// parent folder names.
3343//
3344// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3345// with awserr.Error's Code and Message methods to get detailed information about
3346// the error.
3347//
3348// See the AWS API reference guide for Amazon WorkDocs's
3349// API operation GetFolderPath for usage and error information.
3350//
3351// Returned Error Codes:
3352//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
3353//   The resource does not exist.
3354//
3355//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
3356//   The operation is not permitted.
3357//
3358//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
3359//   The caller does not have access to perform the action on the resource.
3360//
3361//   * ErrCodeFailedDependencyException "FailedDependencyException"
3362//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3363//   under the control of the organization is failing, such as a connected Active
3364//   Directory.
3365//
3366//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
3367//   One or more of the dependencies is unavailable.
3368//
3369// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetFolderPath
3370func (c *WorkDocs) GetFolderPath(input *GetFolderPathInput) (*GetFolderPathOutput, error) {
3371	req, out := c.GetFolderPathRequest(input)
3372	return out, req.Send()
3373}
3374
3375// GetFolderPathWithContext is the same as GetFolderPath with the addition of
3376// the ability to pass a context and additional request options.
3377//
3378// See GetFolderPath for details on how to use this API operation.
3379//
3380// The context must be non-nil and will be used for request cancellation. If
3381// the context is nil a panic will occur. In the future the SDK may create
3382// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3383// for more information on using Contexts.
3384func (c *WorkDocs) GetFolderPathWithContext(ctx aws.Context, input *GetFolderPathInput, opts ...request.Option) (*GetFolderPathOutput, error) {
3385	req, out := c.GetFolderPathRequest(input)
3386	req.SetContext(ctx)
3387	req.ApplyOptions(opts...)
3388	return out, req.Send()
3389}
3390
3391const opGetResources = "GetResources"
3392
3393// GetResourcesRequest generates a "aws/request.Request" representing the
3394// client's request for the GetResources operation. The "output" return
3395// value will be populated with the request's response once the request completes
3396// successfully.
3397//
3398// Use "Send" method on the returned Request to send the API call to the service.
3399// the "output" return value is not valid until after Send returns without error.
3400//
3401// See GetResources for more information on using the GetResources
3402// API call, and error handling.
3403//
3404// This method is useful when you want to inject custom logic or configuration
3405// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3406//
3407//
3408//    // Example sending a request using the GetResourcesRequest method.
3409//    req, resp := client.GetResourcesRequest(params)
3410//
3411//    err := req.Send()
3412//    if err == nil { // resp is now filled
3413//        fmt.Println(resp)
3414//    }
3415//
3416// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetResources
3417func (c *WorkDocs) GetResourcesRequest(input *GetResourcesInput) (req *request.Request, output *GetResourcesOutput) {
3418	op := &request.Operation{
3419		Name:       opGetResources,
3420		HTTPMethod: "GET",
3421		HTTPPath:   "/api/v1/resources",
3422	}
3423
3424	if input == nil {
3425		input = &GetResourcesInput{}
3426	}
3427
3428	output = &GetResourcesOutput{}
3429	req = c.newRequest(op, input, output)
3430	return
3431}
3432
3433// GetResources API operation for Amazon WorkDocs.
3434//
3435// Retrieves a collection of resources, including folders and documents. The
3436// only CollectionType supported is SHARED_WITH_ME.
3437//
3438// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3439// with awserr.Error's Code and Message methods to get detailed information about
3440// the error.
3441//
3442// See the AWS API reference guide for Amazon WorkDocs's
3443// API operation GetResources for usage and error information.
3444//
3445// Returned Error Codes:
3446//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
3447//   The caller does not have access to perform the action on the resource.
3448//
3449//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
3450//   The operation is not permitted.
3451//
3452//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
3453//   The pagination marker or limit fields are not valid.
3454//
3455//   * ErrCodeFailedDependencyException "FailedDependencyException"
3456//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3457//   under the control of the organization is failing, such as a connected Active
3458//   Directory.
3459//
3460//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
3461//   One or more of the dependencies is unavailable.
3462//
3463// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetResources
3464func (c *WorkDocs) GetResources(input *GetResourcesInput) (*GetResourcesOutput, error) {
3465	req, out := c.GetResourcesRequest(input)
3466	return out, req.Send()
3467}
3468
3469// GetResourcesWithContext is the same as GetResources with the addition of
3470// the ability to pass a context and additional request options.
3471//
3472// See GetResources for details on how to use this API operation.
3473//
3474// The context must be non-nil and will be used for request cancellation. If
3475// the context is nil a panic will occur. In the future the SDK may create
3476// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3477// for more information on using Contexts.
3478func (c *WorkDocs) GetResourcesWithContext(ctx aws.Context, input *GetResourcesInput, opts ...request.Option) (*GetResourcesOutput, error) {
3479	req, out := c.GetResourcesRequest(input)
3480	req.SetContext(ctx)
3481	req.ApplyOptions(opts...)
3482	return out, req.Send()
3483}
3484
3485const opInitiateDocumentVersionUpload = "InitiateDocumentVersionUpload"
3486
3487// InitiateDocumentVersionUploadRequest generates a "aws/request.Request" representing the
3488// client's request for the InitiateDocumentVersionUpload operation. The "output" return
3489// value will be populated with the request's response once the request completes
3490// successfully.
3491//
3492// Use "Send" method on the returned Request to send the API call to the service.
3493// the "output" return value is not valid until after Send returns without error.
3494//
3495// See InitiateDocumentVersionUpload for more information on using the InitiateDocumentVersionUpload
3496// API call, and error handling.
3497//
3498// This method is useful when you want to inject custom logic or configuration
3499// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3500//
3501//
3502//    // Example sending a request using the InitiateDocumentVersionUploadRequest method.
3503//    req, resp := client.InitiateDocumentVersionUploadRequest(params)
3504//
3505//    err := req.Send()
3506//    if err == nil { // resp is now filled
3507//        fmt.Println(resp)
3508//    }
3509//
3510// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/InitiateDocumentVersionUpload
3511func (c *WorkDocs) InitiateDocumentVersionUploadRequest(input *InitiateDocumentVersionUploadInput) (req *request.Request, output *InitiateDocumentVersionUploadOutput) {
3512	op := &request.Operation{
3513		Name:       opInitiateDocumentVersionUpload,
3514		HTTPMethod: "POST",
3515		HTTPPath:   "/api/v1/documents",
3516	}
3517
3518	if input == nil {
3519		input = &InitiateDocumentVersionUploadInput{}
3520	}
3521
3522	output = &InitiateDocumentVersionUploadOutput{}
3523	req = c.newRequest(op, input, output)
3524	return
3525}
3526
3527// InitiateDocumentVersionUpload API operation for Amazon WorkDocs.
3528//
3529// Creates a new document object and version object.
3530//
3531// The client specifies the parent folder ID and name of the document to upload.
3532// The ID is optionally specified when creating a new version of an existing
3533// document. This is the first step to upload a document. Next, upload the document
3534// to the URL returned from the call, and then call UpdateDocumentVersion.
3535//
3536// To cancel the document upload, call AbortDocumentVersionUpload.
3537//
3538// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3539// with awserr.Error's Code and Message methods to get detailed information about
3540// the error.
3541//
3542// See the AWS API reference guide for Amazon WorkDocs's
3543// API operation InitiateDocumentVersionUpload for usage and error information.
3544//
3545// Returned Error Codes:
3546//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
3547//   The resource does not exist.
3548//
3549//   * ErrCodeEntityAlreadyExistsException "EntityAlreadyExistsException"
3550//   The resource already exists.
3551//
3552//   * ErrCodeStorageLimitExceededException "StorageLimitExceededException"
3553//   The storage limit has been exceeded.
3554//
3555//   * ErrCodeStorageLimitWillExceedException "StorageLimitWillExceedException"
3556//   The storage limit will be exceeded.
3557//
3558//   * ErrCodeProhibitedStateException "ProhibitedStateException"
3559//   The specified document version is not in the INITIALIZED state.
3560//
3561//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
3562//   The operation is not permitted.
3563//
3564//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
3565//   The caller does not have access to perform the action on the resource.
3566//
3567//   * ErrCodeFailedDependencyException "FailedDependencyException"
3568//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3569//   under the control of the organization is failing, such as a connected Active
3570//   Directory.
3571//
3572//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
3573//   One or more of the dependencies is unavailable.
3574//
3575//   * ErrCodeDraftUploadOutOfSyncException "DraftUploadOutOfSyncException"
3576//   This exception is thrown when a valid checkout ID is not presented on document
3577//   version upload calls for a document that has been checked out from Web client.
3578//
3579//   * ErrCodeResourceAlreadyCheckedOutException "ResourceAlreadyCheckedOutException"
3580//   The resource is already checked out.
3581//
3582// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/InitiateDocumentVersionUpload
3583func (c *WorkDocs) InitiateDocumentVersionUpload(input *InitiateDocumentVersionUploadInput) (*InitiateDocumentVersionUploadOutput, error) {
3584	req, out := c.InitiateDocumentVersionUploadRequest(input)
3585	return out, req.Send()
3586}
3587
3588// InitiateDocumentVersionUploadWithContext is the same as InitiateDocumentVersionUpload with the addition of
3589// the ability to pass a context and additional request options.
3590//
3591// See InitiateDocumentVersionUpload for details on how to use this API operation.
3592//
3593// The context must be non-nil and will be used for request cancellation. If
3594// the context is nil a panic will occur. In the future the SDK may create
3595// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3596// for more information on using Contexts.
3597func (c *WorkDocs) InitiateDocumentVersionUploadWithContext(ctx aws.Context, input *InitiateDocumentVersionUploadInput, opts ...request.Option) (*InitiateDocumentVersionUploadOutput, error) {
3598	req, out := c.InitiateDocumentVersionUploadRequest(input)
3599	req.SetContext(ctx)
3600	req.ApplyOptions(opts...)
3601	return out, req.Send()
3602}
3603
3604const opRemoveAllResourcePermissions = "RemoveAllResourcePermissions"
3605
3606// RemoveAllResourcePermissionsRequest generates a "aws/request.Request" representing the
3607// client's request for the RemoveAllResourcePermissions operation. The "output" return
3608// value will be populated with the request's response once the request completes
3609// successfully.
3610//
3611// Use "Send" method on the returned Request to send the API call to the service.
3612// the "output" return value is not valid until after Send returns without error.
3613//
3614// See RemoveAllResourcePermissions for more information on using the RemoveAllResourcePermissions
3615// API call, and error handling.
3616//
3617// This method is useful when you want to inject custom logic or configuration
3618// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3619//
3620//
3621//    // Example sending a request using the RemoveAllResourcePermissionsRequest method.
3622//    req, resp := client.RemoveAllResourcePermissionsRequest(params)
3623//
3624//    err := req.Send()
3625//    if err == nil { // resp is now filled
3626//        fmt.Println(resp)
3627//    }
3628//
3629// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/RemoveAllResourcePermissions
3630func (c *WorkDocs) RemoveAllResourcePermissionsRequest(input *RemoveAllResourcePermissionsInput) (req *request.Request, output *RemoveAllResourcePermissionsOutput) {
3631	op := &request.Operation{
3632		Name:       opRemoveAllResourcePermissions,
3633		HTTPMethod: "DELETE",
3634		HTTPPath:   "/api/v1/resources/{ResourceId}/permissions",
3635	}
3636
3637	if input == nil {
3638		input = &RemoveAllResourcePermissionsInput{}
3639	}
3640
3641	output = &RemoveAllResourcePermissionsOutput{}
3642	req = c.newRequest(op, input, output)
3643	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3644	return
3645}
3646
3647// RemoveAllResourcePermissions API operation for Amazon WorkDocs.
3648//
3649// Removes all the permissions from the specified resource.
3650//
3651// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3652// with awserr.Error's Code and Message methods to get detailed information about
3653// the error.
3654//
3655// See the AWS API reference guide for Amazon WorkDocs's
3656// API operation RemoveAllResourcePermissions for usage and error information.
3657//
3658// Returned Error Codes:
3659//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
3660//   The operation is not permitted.
3661//
3662//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
3663//   The caller does not have access to perform the action on the resource.
3664//
3665//   * ErrCodeFailedDependencyException "FailedDependencyException"
3666//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3667//   under the control of the organization is failing, such as a connected Active
3668//   Directory.
3669//
3670//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
3671//   One or more of the dependencies is unavailable.
3672//
3673// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/RemoveAllResourcePermissions
3674func (c *WorkDocs) RemoveAllResourcePermissions(input *RemoveAllResourcePermissionsInput) (*RemoveAllResourcePermissionsOutput, error) {
3675	req, out := c.RemoveAllResourcePermissionsRequest(input)
3676	return out, req.Send()
3677}
3678
3679// RemoveAllResourcePermissionsWithContext is the same as RemoveAllResourcePermissions with the addition of
3680// the ability to pass a context and additional request options.
3681//
3682// See RemoveAllResourcePermissions for details on how to use this API operation.
3683//
3684// The context must be non-nil and will be used for request cancellation. If
3685// the context is nil a panic will occur. In the future the SDK may create
3686// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3687// for more information on using Contexts.
3688func (c *WorkDocs) RemoveAllResourcePermissionsWithContext(ctx aws.Context, input *RemoveAllResourcePermissionsInput, opts ...request.Option) (*RemoveAllResourcePermissionsOutput, error) {
3689	req, out := c.RemoveAllResourcePermissionsRequest(input)
3690	req.SetContext(ctx)
3691	req.ApplyOptions(opts...)
3692	return out, req.Send()
3693}
3694
3695const opRemoveResourcePermission = "RemoveResourcePermission"
3696
3697// RemoveResourcePermissionRequest generates a "aws/request.Request" representing the
3698// client's request for the RemoveResourcePermission operation. The "output" return
3699// value will be populated with the request's response once the request completes
3700// successfully.
3701//
3702// Use "Send" method on the returned Request to send the API call to the service.
3703// the "output" return value is not valid until after Send returns without error.
3704//
3705// See RemoveResourcePermission for more information on using the RemoveResourcePermission
3706// API call, and error handling.
3707//
3708// This method is useful when you want to inject custom logic or configuration
3709// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3710//
3711//
3712//    // Example sending a request using the RemoveResourcePermissionRequest method.
3713//    req, resp := client.RemoveResourcePermissionRequest(params)
3714//
3715//    err := req.Send()
3716//    if err == nil { // resp is now filled
3717//        fmt.Println(resp)
3718//    }
3719//
3720// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/RemoveResourcePermission
3721func (c *WorkDocs) RemoveResourcePermissionRequest(input *RemoveResourcePermissionInput) (req *request.Request, output *RemoveResourcePermissionOutput) {
3722	op := &request.Operation{
3723		Name:       opRemoveResourcePermission,
3724		HTTPMethod: "DELETE",
3725		HTTPPath:   "/api/v1/resources/{ResourceId}/permissions/{PrincipalId}",
3726	}
3727
3728	if input == nil {
3729		input = &RemoveResourcePermissionInput{}
3730	}
3731
3732	output = &RemoveResourcePermissionOutput{}
3733	req = c.newRequest(op, input, output)
3734	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3735	return
3736}
3737
3738// RemoveResourcePermission API operation for Amazon WorkDocs.
3739//
3740// Removes the permission for the specified principal from the specified resource.
3741//
3742// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3743// with awserr.Error's Code and Message methods to get detailed information about
3744// the error.
3745//
3746// See the AWS API reference guide for Amazon WorkDocs's
3747// API operation RemoveResourcePermission for usage and error information.
3748//
3749// Returned Error Codes:
3750//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
3751//   The operation is not permitted.
3752//
3753//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
3754//   The caller does not have access to perform the action on the resource.
3755//
3756//   * ErrCodeFailedDependencyException "FailedDependencyException"
3757//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3758//   under the control of the organization is failing, such as a connected Active
3759//   Directory.
3760//
3761//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
3762//   One or more of the dependencies is unavailable.
3763//
3764// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/RemoveResourcePermission
3765func (c *WorkDocs) RemoveResourcePermission(input *RemoveResourcePermissionInput) (*RemoveResourcePermissionOutput, error) {
3766	req, out := c.RemoveResourcePermissionRequest(input)
3767	return out, req.Send()
3768}
3769
3770// RemoveResourcePermissionWithContext is the same as RemoveResourcePermission with the addition of
3771// the ability to pass a context and additional request options.
3772//
3773// See RemoveResourcePermission for details on how to use this API operation.
3774//
3775// The context must be non-nil and will be used for request cancellation. If
3776// the context is nil a panic will occur. In the future the SDK may create
3777// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3778// for more information on using Contexts.
3779func (c *WorkDocs) RemoveResourcePermissionWithContext(ctx aws.Context, input *RemoveResourcePermissionInput, opts ...request.Option) (*RemoveResourcePermissionOutput, error) {
3780	req, out := c.RemoveResourcePermissionRequest(input)
3781	req.SetContext(ctx)
3782	req.ApplyOptions(opts...)
3783	return out, req.Send()
3784}
3785
3786const opUpdateDocument = "UpdateDocument"
3787
3788// UpdateDocumentRequest generates a "aws/request.Request" representing the
3789// client's request for the UpdateDocument operation. The "output" return
3790// value will be populated with the request's response once the request completes
3791// successfully.
3792//
3793// Use "Send" method on the returned Request to send the API call to the service.
3794// the "output" return value is not valid until after Send returns without error.
3795//
3796// See UpdateDocument for more information on using the UpdateDocument
3797// API call, and error handling.
3798//
3799// This method is useful when you want to inject custom logic or configuration
3800// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3801//
3802//
3803//    // Example sending a request using the UpdateDocumentRequest method.
3804//    req, resp := client.UpdateDocumentRequest(params)
3805//
3806//    err := req.Send()
3807//    if err == nil { // resp is now filled
3808//        fmt.Println(resp)
3809//    }
3810//
3811// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/UpdateDocument
3812func (c *WorkDocs) UpdateDocumentRequest(input *UpdateDocumentInput) (req *request.Request, output *UpdateDocumentOutput) {
3813	op := &request.Operation{
3814		Name:       opUpdateDocument,
3815		HTTPMethod: "PATCH",
3816		HTTPPath:   "/api/v1/documents/{DocumentId}",
3817	}
3818
3819	if input == nil {
3820		input = &UpdateDocumentInput{}
3821	}
3822
3823	output = &UpdateDocumentOutput{}
3824	req = c.newRequest(op, input, output)
3825	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3826	return
3827}
3828
3829// UpdateDocument API operation for Amazon WorkDocs.
3830//
3831// Updates the specified attributes of a document. The user must have access
3832// to both the document and its parent folder, if applicable.
3833//
3834// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3835// with awserr.Error's Code and Message methods to get detailed information about
3836// the error.
3837//
3838// See the AWS API reference guide for Amazon WorkDocs's
3839// API operation UpdateDocument for usage and error information.
3840//
3841// Returned Error Codes:
3842//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
3843//   The resource does not exist.
3844//
3845//   * ErrCodeEntityAlreadyExistsException "EntityAlreadyExistsException"
3846//   The resource already exists.
3847//
3848//   * ErrCodeLimitExceededException "LimitExceededException"
3849//   The maximum of 100,000 folders under the parent folder has been exceeded.
3850//
3851//   * ErrCodeProhibitedStateException "ProhibitedStateException"
3852//   The specified document version is not in the INITIALIZED state.
3853//
3854//   * ErrCodeConflictingOperationException "ConflictingOperationException"
3855//   Another operation is in progress on the resource that conflicts with the
3856//   current operation.
3857//
3858//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
3859//   The resource hierarchy is changing.
3860//
3861//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
3862//   The operation is not permitted.
3863//
3864//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
3865//   The caller does not have access to perform the action on the resource.
3866//
3867//   * ErrCodeFailedDependencyException "FailedDependencyException"
3868//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3869//   under the control of the organization is failing, such as a connected Active
3870//   Directory.
3871//
3872//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
3873//   One or more of the dependencies is unavailable.
3874//
3875// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/UpdateDocument
3876func (c *WorkDocs) UpdateDocument(input *UpdateDocumentInput) (*UpdateDocumentOutput, error) {
3877	req, out := c.UpdateDocumentRequest(input)
3878	return out, req.Send()
3879}
3880
3881// UpdateDocumentWithContext is the same as UpdateDocument with the addition of
3882// the ability to pass a context and additional request options.
3883//
3884// See UpdateDocument for details on how to use this API operation.
3885//
3886// The context must be non-nil and will be used for request cancellation. If
3887// the context is nil a panic will occur. In the future the SDK may create
3888// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3889// for more information on using Contexts.
3890func (c *WorkDocs) UpdateDocumentWithContext(ctx aws.Context, input *UpdateDocumentInput, opts ...request.Option) (*UpdateDocumentOutput, error) {
3891	req, out := c.UpdateDocumentRequest(input)
3892	req.SetContext(ctx)
3893	req.ApplyOptions(opts...)
3894	return out, req.Send()
3895}
3896
3897const opUpdateDocumentVersion = "UpdateDocumentVersion"
3898
3899// UpdateDocumentVersionRequest generates a "aws/request.Request" representing the
3900// client's request for the UpdateDocumentVersion operation. The "output" return
3901// value will be populated with the request's response once the request completes
3902// successfully.
3903//
3904// Use "Send" method on the returned Request to send the API call to the service.
3905// the "output" return value is not valid until after Send returns without error.
3906//
3907// See UpdateDocumentVersion for more information on using the UpdateDocumentVersion
3908// API call, and error handling.
3909//
3910// This method is useful when you want to inject custom logic or configuration
3911// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3912//
3913//
3914//    // Example sending a request using the UpdateDocumentVersionRequest method.
3915//    req, resp := client.UpdateDocumentVersionRequest(params)
3916//
3917//    err := req.Send()
3918//    if err == nil { // resp is now filled
3919//        fmt.Println(resp)
3920//    }
3921//
3922// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/UpdateDocumentVersion
3923func (c *WorkDocs) UpdateDocumentVersionRequest(input *UpdateDocumentVersionInput) (req *request.Request, output *UpdateDocumentVersionOutput) {
3924	op := &request.Operation{
3925		Name:       opUpdateDocumentVersion,
3926		HTTPMethod: "PATCH",
3927		HTTPPath:   "/api/v1/documents/{DocumentId}/versions/{VersionId}",
3928	}
3929
3930	if input == nil {
3931		input = &UpdateDocumentVersionInput{}
3932	}
3933
3934	output = &UpdateDocumentVersionOutput{}
3935	req = c.newRequest(op, input, output)
3936	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3937	return
3938}
3939
3940// UpdateDocumentVersion API operation for Amazon WorkDocs.
3941//
3942// Changes the status of the document version to ACTIVE.
3943//
3944// Amazon WorkDocs also sets its document container to ACTIVE. This is the last
3945// step in a document upload, after the client uploads the document to an S3-presigned
3946// URL returned by InitiateDocumentVersionUpload.
3947//
3948// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3949// with awserr.Error's Code and Message methods to get detailed information about
3950// the error.
3951//
3952// See the AWS API reference guide for Amazon WorkDocs's
3953// API operation UpdateDocumentVersion for usage and error information.
3954//
3955// Returned Error Codes:
3956//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
3957//   The resource does not exist.
3958//
3959//   * ErrCodeProhibitedStateException "ProhibitedStateException"
3960//   The specified document version is not in the INITIALIZED state.
3961//
3962//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
3963//   The resource hierarchy is changing.
3964//
3965//   * ErrCodeInvalidOperationException "InvalidOperationException"
3966//   The operation is invalid.
3967//
3968//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
3969//   The operation is not permitted.
3970//
3971//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
3972//   The caller does not have access to perform the action on the resource.
3973//
3974//   * ErrCodeFailedDependencyException "FailedDependencyException"
3975//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3976//   under the control of the organization is failing, such as a connected Active
3977//   Directory.
3978//
3979//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
3980//   One or more of the dependencies is unavailable.
3981//
3982// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/UpdateDocumentVersion
3983func (c *WorkDocs) UpdateDocumentVersion(input *UpdateDocumentVersionInput) (*UpdateDocumentVersionOutput, error) {
3984	req, out := c.UpdateDocumentVersionRequest(input)
3985	return out, req.Send()
3986}
3987
3988// UpdateDocumentVersionWithContext is the same as UpdateDocumentVersion with the addition of
3989// the ability to pass a context and additional request options.
3990//
3991// See UpdateDocumentVersion for details on how to use this API operation.
3992//
3993// The context must be non-nil and will be used for request cancellation. If
3994// the context is nil a panic will occur. In the future the SDK may create
3995// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3996// for more information on using Contexts.
3997func (c *WorkDocs) UpdateDocumentVersionWithContext(ctx aws.Context, input *UpdateDocumentVersionInput, opts ...request.Option) (*UpdateDocumentVersionOutput, error) {
3998	req, out := c.UpdateDocumentVersionRequest(input)
3999	req.SetContext(ctx)
4000	req.ApplyOptions(opts...)
4001	return out, req.Send()
4002}
4003
4004const opUpdateFolder = "UpdateFolder"
4005
4006// UpdateFolderRequest generates a "aws/request.Request" representing the
4007// client's request for the UpdateFolder operation. The "output" return
4008// value will be populated with the request's response once the request completes
4009// successfully.
4010//
4011// Use "Send" method on the returned Request to send the API call to the service.
4012// the "output" return value is not valid until after Send returns without error.
4013//
4014// See UpdateFolder for more information on using the UpdateFolder
4015// API call, and error handling.
4016//
4017// This method is useful when you want to inject custom logic or configuration
4018// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4019//
4020//
4021//    // Example sending a request using the UpdateFolderRequest method.
4022//    req, resp := client.UpdateFolderRequest(params)
4023//
4024//    err := req.Send()
4025//    if err == nil { // resp is now filled
4026//        fmt.Println(resp)
4027//    }
4028//
4029// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/UpdateFolder
4030func (c *WorkDocs) UpdateFolderRequest(input *UpdateFolderInput) (req *request.Request, output *UpdateFolderOutput) {
4031	op := &request.Operation{
4032		Name:       opUpdateFolder,
4033		HTTPMethod: "PATCH",
4034		HTTPPath:   "/api/v1/folders/{FolderId}",
4035	}
4036
4037	if input == nil {
4038		input = &UpdateFolderInput{}
4039	}
4040
4041	output = &UpdateFolderOutput{}
4042	req = c.newRequest(op, input, output)
4043	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4044	return
4045}
4046
4047// UpdateFolder API operation for Amazon WorkDocs.
4048//
4049// Updates the specified attributes of the specified folder. The user must have
4050// access to both the folder and its parent folder, if applicable.
4051//
4052// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4053// with awserr.Error's Code and Message methods to get detailed information about
4054// the error.
4055//
4056// See the AWS API reference guide for Amazon WorkDocs's
4057// API operation UpdateFolder for usage and error information.
4058//
4059// Returned Error Codes:
4060//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
4061//   The resource does not exist.
4062//
4063//   * ErrCodeEntityAlreadyExistsException "EntityAlreadyExistsException"
4064//   The resource already exists.
4065//
4066//   * ErrCodeProhibitedStateException "ProhibitedStateException"
4067//   The specified document version is not in the INITIALIZED state.
4068//
4069//   * ErrCodeConflictingOperationException "ConflictingOperationException"
4070//   Another operation is in progress on the resource that conflicts with the
4071//   current operation.
4072//
4073//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
4074//   The resource hierarchy is changing.
4075//
4076//   * ErrCodeLimitExceededException "LimitExceededException"
4077//   The maximum of 100,000 folders under the parent folder has been exceeded.
4078//
4079//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
4080//   The operation is not permitted.
4081//
4082//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
4083//   The caller does not have access to perform the action on the resource.
4084//
4085//   * ErrCodeFailedDependencyException "FailedDependencyException"
4086//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
4087//   under the control of the organization is failing, such as a connected Active
4088//   Directory.
4089//
4090//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
4091//   One or more of the dependencies is unavailable.
4092//
4093// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/UpdateFolder
4094func (c *WorkDocs) UpdateFolder(input *UpdateFolderInput) (*UpdateFolderOutput, error) {
4095	req, out := c.UpdateFolderRequest(input)
4096	return out, req.Send()
4097}
4098
4099// UpdateFolderWithContext is the same as UpdateFolder with the addition of
4100// the ability to pass a context and additional request options.
4101//
4102// See UpdateFolder for details on how to use this API operation.
4103//
4104// The context must be non-nil and will be used for request cancellation. If
4105// the context is nil a panic will occur. In the future the SDK may create
4106// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4107// for more information on using Contexts.
4108func (c *WorkDocs) UpdateFolderWithContext(ctx aws.Context, input *UpdateFolderInput, opts ...request.Option) (*UpdateFolderOutput, error) {
4109	req, out := c.UpdateFolderRequest(input)
4110	req.SetContext(ctx)
4111	req.ApplyOptions(opts...)
4112	return out, req.Send()
4113}
4114
4115const opUpdateUser = "UpdateUser"
4116
4117// UpdateUserRequest generates a "aws/request.Request" representing the
4118// client's request for the UpdateUser operation. The "output" return
4119// value will be populated with the request's response once the request completes
4120// successfully.
4121//
4122// Use "Send" method on the returned Request to send the API call to the service.
4123// the "output" return value is not valid until after Send returns without error.
4124//
4125// See UpdateUser for more information on using the UpdateUser
4126// API call, and error handling.
4127//
4128// This method is useful when you want to inject custom logic or configuration
4129// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4130//
4131//
4132//    // Example sending a request using the UpdateUserRequest method.
4133//    req, resp := client.UpdateUserRequest(params)
4134//
4135//    err := req.Send()
4136//    if err == nil { // resp is now filled
4137//        fmt.Println(resp)
4138//    }
4139//
4140// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/UpdateUser
4141func (c *WorkDocs) UpdateUserRequest(input *UpdateUserInput) (req *request.Request, output *UpdateUserOutput) {
4142	op := &request.Operation{
4143		Name:       opUpdateUser,
4144		HTTPMethod: "PATCH",
4145		HTTPPath:   "/api/v1/users/{UserId}",
4146	}
4147
4148	if input == nil {
4149		input = &UpdateUserInput{}
4150	}
4151
4152	output = &UpdateUserOutput{}
4153	req = c.newRequest(op, input, output)
4154	return
4155}
4156
4157// UpdateUser API operation for Amazon WorkDocs.
4158//
4159// Updates the specified attributes of the specified user, and grants or revokes
4160// administrative privileges to the Amazon WorkDocs site.
4161//
4162// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4163// with awserr.Error's Code and Message methods to get detailed information about
4164// the error.
4165//
4166// See the AWS API reference guide for Amazon WorkDocs's
4167// API operation UpdateUser for usage and error information.
4168//
4169// Returned Error Codes:
4170//   * ErrCodeEntityNotExistsException "EntityNotExistsException"
4171//   The resource does not exist.
4172//
4173//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
4174//   The operation is not permitted.
4175//
4176//   * ErrCodeUnauthorizedResourceAccessException "UnauthorizedResourceAccessException"
4177//   The caller does not have access to perform the action on the resource.
4178//
4179//   * ErrCodeIllegalUserStateException "IllegalUserStateException"
4180//   The user is undergoing transfer of ownership.
4181//
4182//   * ErrCodeFailedDependencyException "FailedDependencyException"
4183//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
4184//   under the control of the organization is failing, such as a connected Active
4185//   Directory.
4186//
4187//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
4188//   One or more of the dependencies is unavailable.
4189//
4190//   * ErrCodeDeactivatingLastSystemUserException "DeactivatingLastSystemUserException"
4191//   The last user in the organization is being deactivated.
4192//
4193//   * ErrCodeInvalidArgumentException "InvalidArgumentException"
4194//   The pagination marker or limit fields are not valid.
4195//
4196// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/UpdateUser
4197func (c *WorkDocs) UpdateUser(input *UpdateUserInput) (*UpdateUserOutput, error) {
4198	req, out := c.UpdateUserRequest(input)
4199	return out, req.Send()
4200}
4201
4202// UpdateUserWithContext is the same as UpdateUser with the addition of
4203// the ability to pass a context and additional request options.
4204//
4205// See UpdateUser for details on how to use this API operation.
4206//
4207// The context must be non-nil and will be used for request cancellation. If
4208// the context is nil a panic will occur. In the future the SDK may create
4209// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4210// for more information on using Contexts.
4211func (c *WorkDocs) UpdateUserWithContext(ctx aws.Context, input *UpdateUserInput, opts ...request.Option) (*UpdateUserOutput, error) {
4212	req, out := c.UpdateUserRequest(input)
4213	req.SetContext(ctx)
4214	req.ApplyOptions(opts...)
4215	return out, req.Send()
4216}
4217
4218type AbortDocumentVersionUploadInput struct {
4219	_ struct{} `type:"structure"`
4220
4221	// Amazon WorkDocs authentication token. Do not set this field when using administrative
4222	// API actions, as in accessing the API using AWS credentials.
4223	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
4224
4225	// The ID of the document.
4226	//
4227	// DocumentId is a required field
4228	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
4229
4230	// The ID of the version.
4231	//
4232	// VersionId is a required field
4233	VersionId *string `location:"uri" locationName:"VersionId" min:"1" type:"string" required:"true"`
4234}
4235
4236// String returns the string representation
4237func (s AbortDocumentVersionUploadInput) String() string {
4238	return awsutil.Prettify(s)
4239}
4240
4241// GoString returns the string representation
4242func (s AbortDocumentVersionUploadInput) GoString() string {
4243	return s.String()
4244}
4245
4246// Validate inspects the fields of the type to determine if they are valid.
4247func (s *AbortDocumentVersionUploadInput) Validate() error {
4248	invalidParams := request.ErrInvalidParams{Context: "AbortDocumentVersionUploadInput"}
4249	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
4250		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
4251	}
4252	if s.DocumentId == nil {
4253		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
4254	}
4255	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
4256		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
4257	}
4258	if s.VersionId == nil {
4259		invalidParams.Add(request.NewErrParamRequired("VersionId"))
4260	}
4261	if s.VersionId != nil && len(*s.VersionId) < 1 {
4262		invalidParams.Add(request.NewErrParamMinLen("VersionId", 1))
4263	}
4264
4265	if invalidParams.Len() > 0 {
4266		return invalidParams
4267	}
4268	return nil
4269}
4270
4271// SetAuthenticationToken sets the AuthenticationToken field's value.
4272func (s *AbortDocumentVersionUploadInput) SetAuthenticationToken(v string) *AbortDocumentVersionUploadInput {
4273	s.AuthenticationToken = &v
4274	return s
4275}
4276
4277// SetDocumentId sets the DocumentId field's value.
4278func (s *AbortDocumentVersionUploadInput) SetDocumentId(v string) *AbortDocumentVersionUploadInput {
4279	s.DocumentId = &v
4280	return s
4281}
4282
4283// SetVersionId sets the VersionId field's value.
4284func (s *AbortDocumentVersionUploadInput) SetVersionId(v string) *AbortDocumentVersionUploadInput {
4285	s.VersionId = &v
4286	return s
4287}
4288
4289type AbortDocumentVersionUploadOutput struct {
4290	_ struct{} `type:"structure"`
4291}
4292
4293// String returns the string representation
4294func (s AbortDocumentVersionUploadOutput) String() string {
4295	return awsutil.Prettify(s)
4296}
4297
4298// GoString returns the string representation
4299func (s AbortDocumentVersionUploadOutput) GoString() string {
4300	return s.String()
4301}
4302
4303type ActivateUserInput struct {
4304	_ struct{} `type:"structure"`
4305
4306	// Amazon WorkDocs authentication token. Do not set this field when using administrative
4307	// API actions, as in accessing the API using AWS credentials.
4308	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
4309
4310	// The ID of the user.
4311	//
4312	// UserId is a required field
4313	UserId *string `location:"uri" locationName:"UserId" min:"1" type:"string" required:"true"`
4314}
4315
4316// String returns the string representation
4317func (s ActivateUserInput) String() string {
4318	return awsutil.Prettify(s)
4319}
4320
4321// GoString returns the string representation
4322func (s ActivateUserInput) GoString() string {
4323	return s.String()
4324}
4325
4326// Validate inspects the fields of the type to determine if they are valid.
4327func (s *ActivateUserInput) Validate() error {
4328	invalidParams := request.ErrInvalidParams{Context: "ActivateUserInput"}
4329	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
4330		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
4331	}
4332	if s.UserId == nil {
4333		invalidParams.Add(request.NewErrParamRequired("UserId"))
4334	}
4335	if s.UserId != nil && len(*s.UserId) < 1 {
4336		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
4337	}
4338
4339	if invalidParams.Len() > 0 {
4340		return invalidParams
4341	}
4342	return nil
4343}
4344
4345// SetAuthenticationToken sets the AuthenticationToken field's value.
4346func (s *ActivateUserInput) SetAuthenticationToken(v string) *ActivateUserInput {
4347	s.AuthenticationToken = &v
4348	return s
4349}
4350
4351// SetUserId sets the UserId field's value.
4352func (s *ActivateUserInput) SetUserId(v string) *ActivateUserInput {
4353	s.UserId = &v
4354	return s
4355}
4356
4357type ActivateUserOutput struct {
4358	_ struct{} `type:"structure"`
4359
4360	// The user information.
4361	User *User `type:"structure"`
4362}
4363
4364// String returns the string representation
4365func (s ActivateUserOutput) String() string {
4366	return awsutil.Prettify(s)
4367}
4368
4369// GoString returns the string representation
4370func (s ActivateUserOutput) GoString() string {
4371	return s.String()
4372}
4373
4374// SetUser sets the User field's value.
4375func (s *ActivateUserOutput) SetUser(v *User) *ActivateUserOutput {
4376	s.User = v
4377	return s
4378}
4379
4380// Describes the activity information.
4381type Activity struct {
4382	_ struct{} `type:"structure"`
4383
4384	// Metadata of the commenting activity. This is an optional field and is filled
4385	// for commenting activities.
4386	CommentMetadata *CommentMetadata `type:"structure"`
4387
4388	// The user who performed the action.
4389	Initiator *UserMetadata `type:"structure"`
4390
4391	// Indicates whether an activity is indirect or direct. An indirect activity
4392	// results from a direct activity performed on a parent resource. For example,
4393	// sharing a parent folder (the direct activity) shares all of the subfolders
4394	// and documents within the parent folder (the indirect activity).
4395	IsIndirectActivity *bool `type:"boolean"`
4396
4397	// The ID of the organization.
4398	OrganizationId *string `min:"1" type:"string"`
4399
4400	// The original parent of the resource. This is an optional field and is filled
4401	// for move activities.
4402	OriginalParent *ResourceMetadata `type:"structure"`
4403
4404	// The list of users or groups impacted by this action. This is an optional
4405	// field and is filled for the following sharing activities: DOCUMENT_SHARED,
4406	// DOCUMENT_SHARED, DOCUMENT_UNSHARED, FOLDER_SHARED, FOLDER_UNSHARED.
4407	Participants *Participants `type:"structure"`
4408
4409	// The metadata of the resource involved in the user action.
4410	ResourceMetadata *ResourceMetadata `type:"structure"`
4411
4412	// The timestamp when the action was performed.
4413	TimeStamp *time.Time `type:"timestamp"`
4414
4415	// The activity type.
4416	Type *string `type:"string" enum:"ActivityType"`
4417}
4418
4419// String returns the string representation
4420func (s Activity) String() string {
4421	return awsutil.Prettify(s)
4422}
4423
4424// GoString returns the string representation
4425func (s Activity) GoString() string {
4426	return s.String()
4427}
4428
4429// SetCommentMetadata sets the CommentMetadata field's value.
4430func (s *Activity) SetCommentMetadata(v *CommentMetadata) *Activity {
4431	s.CommentMetadata = v
4432	return s
4433}
4434
4435// SetInitiator sets the Initiator field's value.
4436func (s *Activity) SetInitiator(v *UserMetadata) *Activity {
4437	s.Initiator = v
4438	return s
4439}
4440
4441// SetIsIndirectActivity sets the IsIndirectActivity field's value.
4442func (s *Activity) SetIsIndirectActivity(v bool) *Activity {
4443	s.IsIndirectActivity = &v
4444	return s
4445}
4446
4447// SetOrganizationId sets the OrganizationId field's value.
4448func (s *Activity) SetOrganizationId(v string) *Activity {
4449	s.OrganizationId = &v
4450	return s
4451}
4452
4453// SetOriginalParent sets the OriginalParent field's value.
4454func (s *Activity) SetOriginalParent(v *ResourceMetadata) *Activity {
4455	s.OriginalParent = v
4456	return s
4457}
4458
4459// SetParticipants sets the Participants field's value.
4460func (s *Activity) SetParticipants(v *Participants) *Activity {
4461	s.Participants = v
4462	return s
4463}
4464
4465// SetResourceMetadata sets the ResourceMetadata field's value.
4466func (s *Activity) SetResourceMetadata(v *ResourceMetadata) *Activity {
4467	s.ResourceMetadata = v
4468	return s
4469}
4470
4471// SetTimeStamp sets the TimeStamp field's value.
4472func (s *Activity) SetTimeStamp(v time.Time) *Activity {
4473	s.TimeStamp = &v
4474	return s
4475}
4476
4477// SetType sets the Type field's value.
4478func (s *Activity) SetType(v string) *Activity {
4479	s.Type = &v
4480	return s
4481}
4482
4483type AddResourcePermissionsInput struct {
4484	_ struct{} `type:"structure"`
4485
4486	// Amazon WorkDocs authentication token. Do not set this field when using administrative
4487	// API actions, as in accessing the API using AWS credentials.
4488	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
4489
4490	// The notification options.
4491	NotificationOptions *NotificationOptions `type:"structure"`
4492
4493	// The users, groups, or organization being granted permission.
4494	//
4495	// Principals is a required field
4496	Principals []*SharePrincipal `type:"list" required:"true"`
4497
4498	// The ID of the resource.
4499	//
4500	// ResourceId is a required field
4501	ResourceId *string `location:"uri" locationName:"ResourceId" min:"1" type:"string" required:"true"`
4502}
4503
4504// String returns the string representation
4505func (s AddResourcePermissionsInput) String() string {
4506	return awsutil.Prettify(s)
4507}
4508
4509// GoString returns the string representation
4510func (s AddResourcePermissionsInput) GoString() string {
4511	return s.String()
4512}
4513
4514// Validate inspects the fields of the type to determine if they are valid.
4515func (s *AddResourcePermissionsInput) Validate() error {
4516	invalidParams := request.ErrInvalidParams{Context: "AddResourcePermissionsInput"}
4517	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
4518		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
4519	}
4520	if s.Principals == nil {
4521		invalidParams.Add(request.NewErrParamRequired("Principals"))
4522	}
4523	if s.ResourceId == nil {
4524		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
4525	}
4526	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
4527		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
4528	}
4529	if s.Principals != nil {
4530		for i, v := range s.Principals {
4531			if v == nil {
4532				continue
4533			}
4534			if err := v.Validate(); err != nil {
4535				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Principals", i), err.(request.ErrInvalidParams))
4536			}
4537		}
4538	}
4539
4540	if invalidParams.Len() > 0 {
4541		return invalidParams
4542	}
4543	return nil
4544}
4545
4546// SetAuthenticationToken sets the AuthenticationToken field's value.
4547func (s *AddResourcePermissionsInput) SetAuthenticationToken(v string) *AddResourcePermissionsInput {
4548	s.AuthenticationToken = &v
4549	return s
4550}
4551
4552// SetNotificationOptions sets the NotificationOptions field's value.
4553func (s *AddResourcePermissionsInput) SetNotificationOptions(v *NotificationOptions) *AddResourcePermissionsInput {
4554	s.NotificationOptions = v
4555	return s
4556}
4557
4558// SetPrincipals sets the Principals field's value.
4559func (s *AddResourcePermissionsInput) SetPrincipals(v []*SharePrincipal) *AddResourcePermissionsInput {
4560	s.Principals = v
4561	return s
4562}
4563
4564// SetResourceId sets the ResourceId field's value.
4565func (s *AddResourcePermissionsInput) SetResourceId(v string) *AddResourcePermissionsInput {
4566	s.ResourceId = &v
4567	return s
4568}
4569
4570type AddResourcePermissionsOutput struct {
4571	_ struct{} `type:"structure"`
4572
4573	// The share results.
4574	ShareResults []*ShareResult `type:"list"`
4575}
4576
4577// String returns the string representation
4578func (s AddResourcePermissionsOutput) String() string {
4579	return awsutil.Prettify(s)
4580}
4581
4582// GoString returns the string representation
4583func (s AddResourcePermissionsOutput) GoString() string {
4584	return s.String()
4585}
4586
4587// SetShareResults sets the ShareResults field's value.
4588func (s *AddResourcePermissionsOutput) SetShareResults(v []*ShareResult) *AddResourcePermissionsOutput {
4589	s.ShareResults = v
4590	return s
4591}
4592
4593// Describes a comment.
4594type Comment struct {
4595	_ struct{} `type:"structure"`
4596
4597	// The ID of the comment.
4598	//
4599	// CommentId is a required field
4600	CommentId *string `min:"1" type:"string" required:"true"`
4601
4602	// The details of the user who made the comment.
4603	Contributor *User `type:"structure"`
4604
4605	// The time that the comment was created.
4606	CreatedTimestamp *time.Time `type:"timestamp"`
4607
4608	// The ID of the parent comment.
4609	ParentId *string `min:"1" type:"string"`
4610
4611	// If the comment is a reply to another user's comment, this field contains
4612	// the user ID of the user being replied to.
4613	RecipientId *string `min:"1" type:"string"`
4614
4615	// The status of the comment.
4616	Status *string `type:"string" enum:"CommentStatusType"`
4617
4618	// The text of the comment.
4619	Text *string `min:"1" type:"string" sensitive:"true"`
4620
4621	// The ID of the root comment in the thread.
4622	ThreadId *string `min:"1" type:"string"`
4623
4624	// The visibility of the comment. Options are either PRIVATE, where the comment
4625	// is visible only to the comment author and document owner and co-owners, or
4626	// PUBLIC, where the comment is visible to document owners, co-owners, and contributors.
4627	Visibility *string `type:"string" enum:"CommentVisibilityType"`
4628}
4629
4630// String returns the string representation
4631func (s Comment) String() string {
4632	return awsutil.Prettify(s)
4633}
4634
4635// GoString returns the string representation
4636func (s Comment) GoString() string {
4637	return s.String()
4638}
4639
4640// SetCommentId sets the CommentId field's value.
4641func (s *Comment) SetCommentId(v string) *Comment {
4642	s.CommentId = &v
4643	return s
4644}
4645
4646// SetContributor sets the Contributor field's value.
4647func (s *Comment) SetContributor(v *User) *Comment {
4648	s.Contributor = v
4649	return s
4650}
4651
4652// SetCreatedTimestamp sets the CreatedTimestamp field's value.
4653func (s *Comment) SetCreatedTimestamp(v time.Time) *Comment {
4654	s.CreatedTimestamp = &v
4655	return s
4656}
4657
4658// SetParentId sets the ParentId field's value.
4659func (s *Comment) SetParentId(v string) *Comment {
4660	s.ParentId = &v
4661	return s
4662}
4663
4664// SetRecipientId sets the RecipientId field's value.
4665func (s *Comment) SetRecipientId(v string) *Comment {
4666	s.RecipientId = &v
4667	return s
4668}
4669
4670// SetStatus sets the Status field's value.
4671func (s *Comment) SetStatus(v string) *Comment {
4672	s.Status = &v
4673	return s
4674}
4675
4676// SetText sets the Text field's value.
4677func (s *Comment) SetText(v string) *Comment {
4678	s.Text = &v
4679	return s
4680}
4681
4682// SetThreadId sets the ThreadId field's value.
4683func (s *Comment) SetThreadId(v string) *Comment {
4684	s.ThreadId = &v
4685	return s
4686}
4687
4688// SetVisibility sets the Visibility field's value.
4689func (s *Comment) SetVisibility(v string) *Comment {
4690	s.Visibility = &v
4691	return s
4692}
4693
4694// Describes the metadata of a comment.
4695type CommentMetadata struct {
4696	_ struct{} `type:"structure"`
4697
4698	// The ID of the comment.
4699	CommentId *string `min:"1" type:"string"`
4700
4701	// The status of the comment.
4702	CommentStatus *string `type:"string" enum:"CommentStatusType"`
4703
4704	// The user who made the comment.
4705	Contributor *User `type:"structure"`
4706
4707	// The timestamp that the comment was created.
4708	CreatedTimestamp *time.Time `type:"timestamp"`
4709
4710	// The ID of the user being replied to.
4711	RecipientId *string `min:"1" type:"string"`
4712}
4713
4714// String returns the string representation
4715func (s CommentMetadata) String() string {
4716	return awsutil.Prettify(s)
4717}
4718
4719// GoString returns the string representation
4720func (s CommentMetadata) GoString() string {
4721	return s.String()
4722}
4723
4724// SetCommentId sets the CommentId field's value.
4725func (s *CommentMetadata) SetCommentId(v string) *CommentMetadata {
4726	s.CommentId = &v
4727	return s
4728}
4729
4730// SetCommentStatus sets the CommentStatus field's value.
4731func (s *CommentMetadata) SetCommentStatus(v string) *CommentMetadata {
4732	s.CommentStatus = &v
4733	return s
4734}
4735
4736// SetContributor sets the Contributor field's value.
4737func (s *CommentMetadata) SetContributor(v *User) *CommentMetadata {
4738	s.Contributor = v
4739	return s
4740}
4741
4742// SetCreatedTimestamp sets the CreatedTimestamp field's value.
4743func (s *CommentMetadata) SetCreatedTimestamp(v time.Time) *CommentMetadata {
4744	s.CreatedTimestamp = &v
4745	return s
4746}
4747
4748// SetRecipientId sets the RecipientId field's value.
4749func (s *CommentMetadata) SetRecipientId(v string) *CommentMetadata {
4750	s.RecipientId = &v
4751	return s
4752}
4753
4754type CreateCommentInput struct {
4755	_ struct{} `type:"structure"`
4756
4757	// Amazon WorkDocs authentication token. Do not set this field when using administrative
4758	// API actions, as in accessing the API using AWS credentials.
4759	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
4760
4761	// The ID of the document.
4762	//
4763	// DocumentId is a required field
4764	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
4765
4766	// Set this parameter to TRUE to send an email out to the document collaborators
4767	// after the comment is created.
4768	NotifyCollaborators *bool `type:"boolean"`
4769
4770	// The ID of the parent comment.
4771	ParentId *string `min:"1" type:"string"`
4772
4773	// The text of the comment.
4774	//
4775	// Text is a required field
4776	Text *string `min:"1" type:"string" required:"true" sensitive:"true"`
4777
4778	// The ID of the root comment in the thread.
4779	ThreadId *string `min:"1" type:"string"`
4780
4781	// The ID of the document version.
4782	//
4783	// VersionId is a required field
4784	VersionId *string `location:"uri" locationName:"VersionId" min:"1" type:"string" required:"true"`
4785
4786	// The visibility of the comment. Options are either PRIVATE, where the comment
4787	// is visible only to the comment author and document owner and co-owners, or
4788	// PUBLIC, where the comment is visible to document owners, co-owners, and contributors.
4789	Visibility *string `type:"string" enum:"CommentVisibilityType"`
4790}
4791
4792// String returns the string representation
4793func (s CreateCommentInput) String() string {
4794	return awsutil.Prettify(s)
4795}
4796
4797// GoString returns the string representation
4798func (s CreateCommentInput) GoString() string {
4799	return s.String()
4800}
4801
4802// Validate inspects the fields of the type to determine if they are valid.
4803func (s *CreateCommentInput) Validate() error {
4804	invalidParams := request.ErrInvalidParams{Context: "CreateCommentInput"}
4805	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
4806		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
4807	}
4808	if s.DocumentId == nil {
4809		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
4810	}
4811	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
4812		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
4813	}
4814	if s.ParentId != nil && len(*s.ParentId) < 1 {
4815		invalidParams.Add(request.NewErrParamMinLen("ParentId", 1))
4816	}
4817	if s.Text == nil {
4818		invalidParams.Add(request.NewErrParamRequired("Text"))
4819	}
4820	if s.Text != nil && len(*s.Text) < 1 {
4821		invalidParams.Add(request.NewErrParamMinLen("Text", 1))
4822	}
4823	if s.ThreadId != nil && len(*s.ThreadId) < 1 {
4824		invalidParams.Add(request.NewErrParamMinLen("ThreadId", 1))
4825	}
4826	if s.VersionId == nil {
4827		invalidParams.Add(request.NewErrParamRequired("VersionId"))
4828	}
4829	if s.VersionId != nil && len(*s.VersionId) < 1 {
4830		invalidParams.Add(request.NewErrParamMinLen("VersionId", 1))
4831	}
4832
4833	if invalidParams.Len() > 0 {
4834		return invalidParams
4835	}
4836	return nil
4837}
4838
4839// SetAuthenticationToken sets the AuthenticationToken field's value.
4840func (s *CreateCommentInput) SetAuthenticationToken(v string) *CreateCommentInput {
4841	s.AuthenticationToken = &v
4842	return s
4843}
4844
4845// SetDocumentId sets the DocumentId field's value.
4846func (s *CreateCommentInput) SetDocumentId(v string) *CreateCommentInput {
4847	s.DocumentId = &v
4848	return s
4849}
4850
4851// SetNotifyCollaborators sets the NotifyCollaborators field's value.
4852func (s *CreateCommentInput) SetNotifyCollaborators(v bool) *CreateCommentInput {
4853	s.NotifyCollaborators = &v
4854	return s
4855}
4856
4857// SetParentId sets the ParentId field's value.
4858func (s *CreateCommentInput) SetParentId(v string) *CreateCommentInput {
4859	s.ParentId = &v
4860	return s
4861}
4862
4863// SetText sets the Text field's value.
4864func (s *CreateCommentInput) SetText(v string) *CreateCommentInput {
4865	s.Text = &v
4866	return s
4867}
4868
4869// SetThreadId sets the ThreadId field's value.
4870func (s *CreateCommentInput) SetThreadId(v string) *CreateCommentInput {
4871	s.ThreadId = &v
4872	return s
4873}
4874
4875// SetVersionId sets the VersionId field's value.
4876func (s *CreateCommentInput) SetVersionId(v string) *CreateCommentInput {
4877	s.VersionId = &v
4878	return s
4879}
4880
4881// SetVisibility sets the Visibility field's value.
4882func (s *CreateCommentInput) SetVisibility(v string) *CreateCommentInput {
4883	s.Visibility = &v
4884	return s
4885}
4886
4887type CreateCommentOutput struct {
4888	_ struct{} `type:"structure"`
4889
4890	// The comment that has been created.
4891	Comment *Comment `type:"structure"`
4892}
4893
4894// String returns the string representation
4895func (s CreateCommentOutput) String() string {
4896	return awsutil.Prettify(s)
4897}
4898
4899// GoString returns the string representation
4900func (s CreateCommentOutput) GoString() string {
4901	return s.String()
4902}
4903
4904// SetComment sets the Comment field's value.
4905func (s *CreateCommentOutput) SetComment(v *Comment) *CreateCommentOutput {
4906	s.Comment = v
4907	return s
4908}
4909
4910type CreateCustomMetadataInput struct {
4911	_ struct{} `type:"structure"`
4912
4913	// Amazon WorkDocs authentication token. Do not set this field when using administrative
4914	// API actions, as in accessing the API using AWS credentials.
4915	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
4916
4917	// Custom metadata in the form of name-value pairs.
4918	//
4919	// CustomMetadata is a required field
4920	CustomMetadata map[string]*string `min:"1" type:"map" required:"true"`
4921
4922	// The ID of the resource.
4923	//
4924	// ResourceId is a required field
4925	ResourceId *string `location:"uri" locationName:"ResourceId" min:"1" type:"string" required:"true"`
4926
4927	// The ID of the version, if the custom metadata is being added to a document
4928	// version.
4929	VersionId *string `location:"querystring" locationName:"versionid" min:"1" type:"string"`
4930}
4931
4932// String returns the string representation
4933func (s CreateCustomMetadataInput) String() string {
4934	return awsutil.Prettify(s)
4935}
4936
4937// GoString returns the string representation
4938func (s CreateCustomMetadataInput) GoString() string {
4939	return s.String()
4940}
4941
4942// Validate inspects the fields of the type to determine if they are valid.
4943func (s *CreateCustomMetadataInput) Validate() error {
4944	invalidParams := request.ErrInvalidParams{Context: "CreateCustomMetadataInput"}
4945	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
4946		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
4947	}
4948	if s.CustomMetadata == nil {
4949		invalidParams.Add(request.NewErrParamRequired("CustomMetadata"))
4950	}
4951	if s.CustomMetadata != nil && len(s.CustomMetadata) < 1 {
4952		invalidParams.Add(request.NewErrParamMinLen("CustomMetadata", 1))
4953	}
4954	if s.ResourceId == nil {
4955		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
4956	}
4957	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
4958		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
4959	}
4960	if s.VersionId != nil && len(*s.VersionId) < 1 {
4961		invalidParams.Add(request.NewErrParamMinLen("VersionId", 1))
4962	}
4963
4964	if invalidParams.Len() > 0 {
4965		return invalidParams
4966	}
4967	return nil
4968}
4969
4970// SetAuthenticationToken sets the AuthenticationToken field's value.
4971func (s *CreateCustomMetadataInput) SetAuthenticationToken(v string) *CreateCustomMetadataInput {
4972	s.AuthenticationToken = &v
4973	return s
4974}
4975
4976// SetCustomMetadata sets the CustomMetadata field's value.
4977func (s *CreateCustomMetadataInput) SetCustomMetadata(v map[string]*string) *CreateCustomMetadataInput {
4978	s.CustomMetadata = v
4979	return s
4980}
4981
4982// SetResourceId sets the ResourceId field's value.
4983func (s *CreateCustomMetadataInput) SetResourceId(v string) *CreateCustomMetadataInput {
4984	s.ResourceId = &v
4985	return s
4986}
4987
4988// SetVersionId sets the VersionId field's value.
4989func (s *CreateCustomMetadataInput) SetVersionId(v string) *CreateCustomMetadataInput {
4990	s.VersionId = &v
4991	return s
4992}
4993
4994type CreateCustomMetadataOutput struct {
4995	_ struct{} `type:"structure"`
4996}
4997
4998// String returns the string representation
4999func (s CreateCustomMetadataOutput) String() string {
5000	return awsutil.Prettify(s)
5001}
5002
5003// GoString returns the string representation
5004func (s CreateCustomMetadataOutput) GoString() string {
5005	return s.String()
5006}
5007
5008type CreateFolderInput struct {
5009	_ struct{} `type:"structure"`
5010
5011	// Amazon WorkDocs authentication token. Do not set this field when using administrative
5012	// API actions, as in accessing the API using AWS credentials.
5013	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
5014
5015	// The name of the new folder.
5016	Name *string `min:"1" type:"string"`
5017
5018	// The ID of the parent folder.
5019	//
5020	// ParentFolderId is a required field
5021	ParentFolderId *string `min:"1" type:"string" required:"true"`
5022}
5023
5024// String returns the string representation
5025func (s CreateFolderInput) String() string {
5026	return awsutil.Prettify(s)
5027}
5028
5029// GoString returns the string representation
5030func (s CreateFolderInput) GoString() string {
5031	return s.String()
5032}
5033
5034// Validate inspects the fields of the type to determine if they are valid.
5035func (s *CreateFolderInput) Validate() error {
5036	invalidParams := request.ErrInvalidParams{Context: "CreateFolderInput"}
5037	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
5038		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
5039	}
5040	if s.Name != nil && len(*s.Name) < 1 {
5041		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5042	}
5043	if s.ParentFolderId == nil {
5044		invalidParams.Add(request.NewErrParamRequired("ParentFolderId"))
5045	}
5046	if s.ParentFolderId != nil && len(*s.ParentFolderId) < 1 {
5047		invalidParams.Add(request.NewErrParamMinLen("ParentFolderId", 1))
5048	}
5049
5050	if invalidParams.Len() > 0 {
5051		return invalidParams
5052	}
5053	return nil
5054}
5055
5056// SetAuthenticationToken sets the AuthenticationToken field's value.
5057func (s *CreateFolderInput) SetAuthenticationToken(v string) *CreateFolderInput {
5058	s.AuthenticationToken = &v
5059	return s
5060}
5061
5062// SetName sets the Name field's value.
5063func (s *CreateFolderInput) SetName(v string) *CreateFolderInput {
5064	s.Name = &v
5065	return s
5066}
5067
5068// SetParentFolderId sets the ParentFolderId field's value.
5069func (s *CreateFolderInput) SetParentFolderId(v string) *CreateFolderInput {
5070	s.ParentFolderId = &v
5071	return s
5072}
5073
5074type CreateFolderOutput struct {
5075	_ struct{} `type:"structure"`
5076
5077	// The metadata of the folder.
5078	Metadata *FolderMetadata `type:"structure"`
5079}
5080
5081// String returns the string representation
5082func (s CreateFolderOutput) String() string {
5083	return awsutil.Prettify(s)
5084}
5085
5086// GoString returns the string representation
5087func (s CreateFolderOutput) GoString() string {
5088	return s.String()
5089}
5090
5091// SetMetadata sets the Metadata field's value.
5092func (s *CreateFolderOutput) SetMetadata(v *FolderMetadata) *CreateFolderOutput {
5093	s.Metadata = v
5094	return s
5095}
5096
5097type CreateLabelsInput struct {
5098	_ struct{} `type:"structure"`
5099
5100	// Amazon WorkDocs authentication token. Do not set this field when using administrative
5101	// API actions, as in accessing the API using AWS credentials.
5102	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
5103
5104	// List of labels to add to the resource.
5105	//
5106	// Labels is a required field
5107	Labels []*string `type:"list" required:"true"`
5108
5109	// The ID of the resource.
5110	//
5111	// ResourceId is a required field
5112	ResourceId *string `location:"uri" locationName:"ResourceId" min:"1" type:"string" required:"true"`
5113}
5114
5115// String returns the string representation
5116func (s CreateLabelsInput) String() string {
5117	return awsutil.Prettify(s)
5118}
5119
5120// GoString returns the string representation
5121func (s CreateLabelsInput) GoString() string {
5122	return s.String()
5123}
5124
5125// Validate inspects the fields of the type to determine if they are valid.
5126func (s *CreateLabelsInput) Validate() error {
5127	invalidParams := request.ErrInvalidParams{Context: "CreateLabelsInput"}
5128	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
5129		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
5130	}
5131	if s.Labels == nil {
5132		invalidParams.Add(request.NewErrParamRequired("Labels"))
5133	}
5134	if s.ResourceId == nil {
5135		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
5136	}
5137	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
5138		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
5139	}
5140
5141	if invalidParams.Len() > 0 {
5142		return invalidParams
5143	}
5144	return nil
5145}
5146
5147// SetAuthenticationToken sets the AuthenticationToken field's value.
5148func (s *CreateLabelsInput) SetAuthenticationToken(v string) *CreateLabelsInput {
5149	s.AuthenticationToken = &v
5150	return s
5151}
5152
5153// SetLabels sets the Labels field's value.
5154func (s *CreateLabelsInput) SetLabels(v []*string) *CreateLabelsInput {
5155	s.Labels = v
5156	return s
5157}
5158
5159// SetResourceId sets the ResourceId field's value.
5160func (s *CreateLabelsInput) SetResourceId(v string) *CreateLabelsInput {
5161	s.ResourceId = &v
5162	return s
5163}
5164
5165type CreateLabelsOutput struct {
5166	_ struct{} `type:"structure"`
5167}
5168
5169// String returns the string representation
5170func (s CreateLabelsOutput) String() string {
5171	return awsutil.Prettify(s)
5172}
5173
5174// GoString returns the string representation
5175func (s CreateLabelsOutput) GoString() string {
5176	return s.String()
5177}
5178
5179type CreateNotificationSubscriptionInput struct {
5180	_ struct{} `type:"structure"`
5181
5182	// The endpoint to receive the notifications. If the protocol is HTTPS, the
5183	// endpoint is a URL that begins with https.
5184	//
5185	// Endpoint is a required field
5186	Endpoint *string `min:"1" type:"string" required:"true"`
5187
5188	// The ID of the organization.
5189	//
5190	// OrganizationId is a required field
5191	OrganizationId *string `location:"uri" locationName:"OrganizationId" min:"1" type:"string" required:"true"`
5192
5193	// The protocol to use. The supported value is https, which delivers JSON-encoded
5194	// messages using HTTPS POST.
5195	//
5196	// Protocol is a required field
5197	Protocol *string `type:"string" required:"true" enum:"SubscriptionProtocolType"`
5198
5199	// The notification type.
5200	//
5201	// SubscriptionType is a required field
5202	SubscriptionType *string `type:"string" required:"true" enum:"SubscriptionType"`
5203}
5204
5205// String returns the string representation
5206func (s CreateNotificationSubscriptionInput) String() string {
5207	return awsutil.Prettify(s)
5208}
5209
5210// GoString returns the string representation
5211func (s CreateNotificationSubscriptionInput) GoString() string {
5212	return s.String()
5213}
5214
5215// Validate inspects the fields of the type to determine if they are valid.
5216func (s *CreateNotificationSubscriptionInput) Validate() error {
5217	invalidParams := request.ErrInvalidParams{Context: "CreateNotificationSubscriptionInput"}
5218	if s.Endpoint == nil {
5219		invalidParams.Add(request.NewErrParamRequired("Endpoint"))
5220	}
5221	if s.Endpoint != nil && len(*s.Endpoint) < 1 {
5222		invalidParams.Add(request.NewErrParamMinLen("Endpoint", 1))
5223	}
5224	if s.OrganizationId == nil {
5225		invalidParams.Add(request.NewErrParamRequired("OrganizationId"))
5226	}
5227	if s.OrganizationId != nil && len(*s.OrganizationId) < 1 {
5228		invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 1))
5229	}
5230	if s.Protocol == nil {
5231		invalidParams.Add(request.NewErrParamRequired("Protocol"))
5232	}
5233	if s.SubscriptionType == nil {
5234		invalidParams.Add(request.NewErrParamRequired("SubscriptionType"))
5235	}
5236
5237	if invalidParams.Len() > 0 {
5238		return invalidParams
5239	}
5240	return nil
5241}
5242
5243// SetEndpoint sets the Endpoint field's value.
5244func (s *CreateNotificationSubscriptionInput) SetEndpoint(v string) *CreateNotificationSubscriptionInput {
5245	s.Endpoint = &v
5246	return s
5247}
5248
5249// SetOrganizationId sets the OrganizationId field's value.
5250func (s *CreateNotificationSubscriptionInput) SetOrganizationId(v string) *CreateNotificationSubscriptionInput {
5251	s.OrganizationId = &v
5252	return s
5253}
5254
5255// SetProtocol sets the Protocol field's value.
5256func (s *CreateNotificationSubscriptionInput) SetProtocol(v string) *CreateNotificationSubscriptionInput {
5257	s.Protocol = &v
5258	return s
5259}
5260
5261// SetSubscriptionType sets the SubscriptionType field's value.
5262func (s *CreateNotificationSubscriptionInput) SetSubscriptionType(v string) *CreateNotificationSubscriptionInput {
5263	s.SubscriptionType = &v
5264	return s
5265}
5266
5267type CreateNotificationSubscriptionOutput struct {
5268	_ struct{} `type:"structure"`
5269
5270	// The subscription.
5271	Subscription *Subscription `type:"structure"`
5272}
5273
5274// String returns the string representation
5275func (s CreateNotificationSubscriptionOutput) String() string {
5276	return awsutil.Prettify(s)
5277}
5278
5279// GoString returns the string representation
5280func (s CreateNotificationSubscriptionOutput) GoString() string {
5281	return s.String()
5282}
5283
5284// SetSubscription sets the Subscription field's value.
5285func (s *CreateNotificationSubscriptionOutput) SetSubscription(v *Subscription) *CreateNotificationSubscriptionOutput {
5286	s.Subscription = v
5287	return s
5288}
5289
5290type CreateUserInput struct {
5291	_ struct{} `type:"structure"`
5292
5293	// Amazon WorkDocs authentication token. Do not set this field when using administrative
5294	// API actions, as in accessing the API using AWS credentials.
5295	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
5296
5297	// The email address of the user.
5298	EmailAddress *string `min:"1" type:"string"`
5299
5300	// The given name of the user.
5301	//
5302	// GivenName is a required field
5303	GivenName *string `min:"1" type:"string" required:"true"`
5304
5305	// The ID of the organization.
5306	OrganizationId *string `min:"1" type:"string"`
5307
5308	// The password of the user.
5309	//
5310	// Password is a required field
5311	Password *string `min:"4" type:"string" required:"true" sensitive:"true"`
5312
5313	// The amount of storage for the user.
5314	StorageRule *StorageRuleType `type:"structure"`
5315
5316	// The surname of the user.
5317	//
5318	// Surname is a required field
5319	Surname *string `min:"1" type:"string" required:"true"`
5320
5321	// The time zone ID of the user.
5322	TimeZoneId *string `min:"1" type:"string"`
5323
5324	// The login name of the user.
5325	//
5326	// Username is a required field
5327	Username *string `min:"1" type:"string" required:"true"`
5328}
5329
5330// String returns the string representation
5331func (s CreateUserInput) String() string {
5332	return awsutil.Prettify(s)
5333}
5334
5335// GoString returns the string representation
5336func (s CreateUserInput) GoString() string {
5337	return s.String()
5338}
5339
5340// Validate inspects the fields of the type to determine if they are valid.
5341func (s *CreateUserInput) Validate() error {
5342	invalidParams := request.ErrInvalidParams{Context: "CreateUserInput"}
5343	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
5344		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
5345	}
5346	if s.EmailAddress != nil && len(*s.EmailAddress) < 1 {
5347		invalidParams.Add(request.NewErrParamMinLen("EmailAddress", 1))
5348	}
5349	if s.GivenName == nil {
5350		invalidParams.Add(request.NewErrParamRequired("GivenName"))
5351	}
5352	if s.GivenName != nil && len(*s.GivenName) < 1 {
5353		invalidParams.Add(request.NewErrParamMinLen("GivenName", 1))
5354	}
5355	if s.OrganizationId != nil && len(*s.OrganizationId) < 1 {
5356		invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 1))
5357	}
5358	if s.Password == nil {
5359		invalidParams.Add(request.NewErrParamRequired("Password"))
5360	}
5361	if s.Password != nil && len(*s.Password) < 4 {
5362		invalidParams.Add(request.NewErrParamMinLen("Password", 4))
5363	}
5364	if s.Surname == nil {
5365		invalidParams.Add(request.NewErrParamRequired("Surname"))
5366	}
5367	if s.Surname != nil && len(*s.Surname) < 1 {
5368		invalidParams.Add(request.NewErrParamMinLen("Surname", 1))
5369	}
5370	if s.TimeZoneId != nil && len(*s.TimeZoneId) < 1 {
5371		invalidParams.Add(request.NewErrParamMinLen("TimeZoneId", 1))
5372	}
5373	if s.Username == nil {
5374		invalidParams.Add(request.NewErrParamRequired("Username"))
5375	}
5376	if s.Username != nil && len(*s.Username) < 1 {
5377		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
5378	}
5379
5380	if invalidParams.Len() > 0 {
5381		return invalidParams
5382	}
5383	return nil
5384}
5385
5386// SetAuthenticationToken sets the AuthenticationToken field's value.
5387func (s *CreateUserInput) SetAuthenticationToken(v string) *CreateUserInput {
5388	s.AuthenticationToken = &v
5389	return s
5390}
5391
5392// SetEmailAddress sets the EmailAddress field's value.
5393func (s *CreateUserInput) SetEmailAddress(v string) *CreateUserInput {
5394	s.EmailAddress = &v
5395	return s
5396}
5397
5398// SetGivenName sets the GivenName field's value.
5399func (s *CreateUserInput) SetGivenName(v string) *CreateUserInput {
5400	s.GivenName = &v
5401	return s
5402}
5403
5404// SetOrganizationId sets the OrganizationId field's value.
5405func (s *CreateUserInput) SetOrganizationId(v string) *CreateUserInput {
5406	s.OrganizationId = &v
5407	return s
5408}
5409
5410// SetPassword sets the Password field's value.
5411func (s *CreateUserInput) SetPassword(v string) *CreateUserInput {
5412	s.Password = &v
5413	return s
5414}
5415
5416// SetStorageRule sets the StorageRule field's value.
5417func (s *CreateUserInput) SetStorageRule(v *StorageRuleType) *CreateUserInput {
5418	s.StorageRule = v
5419	return s
5420}
5421
5422// SetSurname sets the Surname field's value.
5423func (s *CreateUserInput) SetSurname(v string) *CreateUserInput {
5424	s.Surname = &v
5425	return s
5426}
5427
5428// SetTimeZoneId sets the TimeZoneId field's value.
5429func (s *CreateUserInput) SetTimeZoneId(v string) *CreateUserInput {
5430	s.TimeZoneId = &v
5431	return s
5432}
5433
5434// SetUsername sets the Username field's value.
5435func (s *CreateUserInput) SetUsername(v string) *CreateUserInput {
5436	s.Username = &v
5437	return s
5438}
5439
5440type CreateUserOutput struct {
5441	_ struct{} `type:"structure"`
5442
5443	// The user information.
5444	User *User `type:"structure"`
5445}
5446
5447// String returns the string representation
5448func (s CreateUserOutput) String() string {
5449	return awsutil.Prettify(s)
5450}
5451
5452// GoString returns the string representation
5453func (s CreateUserOutput) GoString() string {
5454	return s.String()
5455}
5456
5457// SetUser sets the User field's value.
5458func (s *CreateUserOutput) SetUser(v *User) *CreateUserOutput {
5459	s.User = v
5460	return s
5461}
5462
5463type DeactivateUserInput struct {
5464	_ struct{} `type:"structure"`
5465
5466	// Amazon WorkDocs authentication token. Do not set this field when using administrative
5467	// API actions, as in accessing the API using AWS credentials.
5468	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
5469
5470	// The ID of the user.
5471	//
5472	// UserId is a required field
5473	UserId *string `location:"uri" locationName:"UserId" min:"1" type:"string" required:"true"`
5474}
5475
5476// String returns the string representation
5477func (s DeactivateUserInput) String() string {
5478	return awsutil.Prettify(s)
5479}
5480
5481// GoString returns the string representation
5482func (s DeactivateUserInput) GoString() string {
5483	return s.String()
5484}
5485
5486// Validate inspects the fields of the type to determine if they are valid.
5487func (s *DeactivateUserInput) Validate() error {
5488	invalidParams := request.ErrInvalidParams{Context: "DeactivateUserInput"}
5489	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
5490		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
5491	}
5492	if s.UserId == nil {
5493		invalidParams.Add(request.NewErrParamRequired("UserId"))
5494	}
5495	if s.UserId != nil && len(*s.UserId) < 1 {
5496		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
5497	}
5498
5499	if invalidParams.Len() > 0 {
5500		return invalidParams
5501	}
5502	return nil
5503}
5504
5505// SetAuthenticationToken sets the AuthenticationToken field's value.
5506func (s *DeactivateUserInput) SetAuthenticationToken(v string) *DeactivateUserInput {
5507	s.AuthenticationToken = &v
5508	return s
5509}
5510
5511// SetUserId sets the UserId field's value.
5512func (s *DeactivateUserInput) SetUserId(v string) *DeactivateUserInput {
5513	s.UserId = &v
5514	return s
5515}
5516
5517type DeactivateUserOutput struct {
5518	_ struct{} `type:"structure"`
5519}
5520
5521// String returns the string representation
5522func (s DeactivateUserOutput) String() string {
5523	return awsutil.Prettify(s)
5524}
5525
5526// GoString returns the string representation
5527func (s DeactivateUserOutput) GoString() string {
5528	return s.String()
5529}
5530
5531type DeleteCommentInput struct {
5532	_ struct{} `type:"structure"`
5533
5534	// Amazon WorkDocs authentication token. Do not set this field when using administrative
5535	// API actions, as in accessing the API using AWS credentials.
5536	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
5537
5538	// The ID of the comment.
5539	//
5540	// CommentId is a required field
5541	CommentId *string `location:"uri" locationName:"CommentId" min:"1" type:"string" required:"true"`
5542
5543	// The ID of the document.
5544	//
5545	// DocumentId is a required field
5546	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
5547
5548	// The ID of the document version.
5549	//
5550	// VersionId is a required field
5551	VersionId *string `location:"uri" locationName:"VersionId" min:"1" type:"string" required:"true"`
5552}
5553
5554// String returns the string representation
5555func (s DeleteCommentInput) String() string {
5556	return awsutil.Prettify(s)
5557}
5558
5559// GoString returns the string representation
5560func (s DeleteCommentInput) GoString() string {
5561	return s.String()
5562}
5563
5564// Validate inspects the fields of the type to determine if they are valid.
5565func (s *DeleteCommentInput) Validate() error {
5566	invalidParams := request.ErrInvalidParams{Context: "DeleteCommentInput"}
5567	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
5568		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
5569	}
5570	if s.CommentId == nil {
5571		invalidParams.Add(request.NewErrParamRequired("CommentId"))
5572	}
5573	if s.CommentId != nil && len(*s.CommentId) < 1 {
5574		invalidParams.Add(request.NewErrParamMinLen("CommentId", 1))
5575	}
5576	if s.DocumentId == nil {
5577		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
5578	}
5579	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
5580		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
5581	}
5582	if s.VersionId == nil {
5583		invalidParams.Add(request.NewErrParamRequired("VersionId"))
5584	}
5585	if s.VersionId != nil && len(*s.VersionId) < 1 {
5586		invalidParams.Add(request.NewErrParamMinLen("VersionId", 1))
5587	}
5588
5589	if invalidParams.Len() > 0 {
5590		return invalidParams
5591	}
5592	return nil
5593}
5594
5595// SetAuthenticationToken sets the AuthenticationToken field's value.
5596func (s *DeleteCommentInput) SetAuthenticationToken(v string) *DeleteCommentInput {
5597	s.AuthenticationToken = &v
5598	return s
5599}
5600
5601// SetCommentId sets the CommentId field's value.
5602func (s *DeleteCommentInput) SetCommentId(v string) *DeleteCommentInput {
5603	s.CommentId = &v
5604	return s
5605}
5606
5607// SetDocumentId sets the DocumentId field's value.
5608func (s *DeleteCommentInput) SetDocumentId(v string) *DeleteCommentInput {
5609	s.DocumentId = &v
5610	return s
5611}
5612
5613// SetVersionId sets the VersionId field's value.
5614func (s *DeleteCommentInput) SetVersionId(v string) *DeleteCommentInput {
5615	s.VersionId = &v
5616	return s
5617}
5618
5619type DeleteCommentOutput struct {
5620	_ struct{} `type:"structure"`
5621}
5622
5623// String returns the string representation
5624func (s DeleteCommentOutput) String() string {
5625	return awsutil.Prettify(s)
5626}
5627
5628// GoString returns the string representation
5629func (s DeleteCommentOutput) GoString() string {
5630	return s.String()
5631}
5632
5633type DeleteCustomMetadataInput struct {
5634	_ struct{} `type:"structure"`
5635
5636	// Amazon WorkDocs authentication token. Do not set this field when using administrative
5637	// API actions, as in accessing the API using AWS credentials.
5638	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
5639
5640	// Flag to indicate removal of all custom metadata properties from the specified
5641	// resource.
5642	DeleteAll *bool `location:"querystring" locationName:"deleteAll" type:"boolean"`
5643
5644	// List of properties to remove.
5645	Keys []*string `location:"querystring" locationName:"keys" type:"list"`
5646
5647	// The ID of the resource, either a document or folder.
5648	//
5649	// ResourceId is a required field
5650	ResourceId *string `location:"uri" locationName:"ResourceId" min:"1" type:"string" required:"true"`
5651
5652	// The ID of the version, if the custom metadata is being deleted from a document
5653	// version.
5654	VersionId *string `location:"querystring" locationName:"versionId" min:"1" type:"string"`
5655}
5656
5657// String returns the string representation
5658func (s DeleteCustomMetadataInput) String() string {
5659	return awsutil.Prettify(s)
5660}
5661
5662// GoString returns the string representation
5663func (s DeleteCustomMetadataInput) GoString() string {
5664	return s.String()
5665}
5666
5667// Validate inspects the fields of the type to determine if they are valid.
5668func (s *DeleteCustomMetadataInput) Validate() error {
5669	invalidParams := request.ErrInvalidParams{Context: "DeleteCustomMetadataInput"}
5670	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
5671		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
5672	}
5673	if s.ResourceId == nil {
5674		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
5675	}
5676	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
5677		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
5678	}
5679	if s.VersionId != nil && len(*s.VersionId) < 1 {
5680		invalidParams.Add(request.NewErrParamMinLen("VersionId", 1))
5681	}
5682
5683	if invalidParams.Len() > 0 {
5684		return invalidParams
5685	}
5686	return nil
5687}
5688
5689// SetAuthenticationToken sets the AuthenticationToken field's value.
5690func (s *DeleteCustomMetadataInput) SetAuthenticationToken(v string) *DeleteCustomMetadataInput {
5691	s.AuthenticationToken = &v
5692	return s
5693}
5694
5695// SetDeleteAll sets the DeleteAll field's value.
5696func (s *DeleteCustomMetadataInput) SetDeleteAll(v bool) *DeleteCustomMetadataInput {
5697	s.DeleteAll = &v
5698	return s
5699}
5700
5701// SetKeys sets the Keys field's value.
5702func (s *DeleteCustomMetadataInput) SetKeys(v []*string) *DeleteCustomMetadataInput {
5703	s.Keys = v
5704	return s
5705}
5706
5707// SetResourceId sets the ResourceId field's value.
5708func (s *DeleteCustomMetadataInput) SetResourceId(v string) *DeleteCustomMetadataInput {
5709	s.ResourceId = &v
5710	return s
5711}
5712
5713// SetVersionId sets the VersionId field's value.
5714func (s *DeleteCustomMetadataInput) SetVersionId(v string) *DeleteCustomMetadataInput {
5715	s.VersionId = &v
5716	return s
5717}
5718
5719type DeleteCustomMetadataOutput struct {
5720	_ struct{} `type:"structure"`
5721}
5722
5723// String returns the string representation
5724func (s DeleteCustomMetadataOutput) String() string {
5725	return awsutil.Prettify(s)
5726}
5727
5728// GoString returns the string representation
5729func (s DeleteCustomMetadataOutput) GoString() string {
5730	return s.String()
5731}
5732
5733type DeleteDocumentInput struct {
5734	_ struct{} `type:"structure"`
5735
5736	// Amazon WorkDocs authentication token. Do not set this field when using administrative
5737	// API actions, as in accessing the API using AWS credentials.
5738	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
5739
5740	// The ID of the document.
5741	//
5742	// DocumentId is a required field
5743	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
5744}
5745
5746// String returns the string representation
5747func (s DeleteDocumentInput) String() string {
5748	return awsutil.Prettify(s)
5749}
5750
5751// GoString returns the string representation
5752func (s DeleteDocumentInput) GoString() string {
5753	return s.String()
5754}
5755
5756// Validate inspects the fields of the type to determine if they are valid.
5757func (s *DeleteDocumentInput) Validate() error {
5758	invalidParams := request.ErrInvalidParams{Context: "DeleteDocumentInput"}
5759	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
5760		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
5761	}
5762	if s.DocumentId == nil {
5763		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
5764	}
5765	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
5766		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
5767	}
5768
5769	if invalidParams.Len() > 0 {
5770		return invalidParams
5771	}
5772	return nil
5773}
5774
5775// SetAuthenticationToken sets the AuthenticationToken field's value.
5776func (s *DeleteDocumentInput) SetAuthenticationToken(v string) *DeleteDocumentInput {
5777	s.AuthenticationToken = &v
5778	return s
5779}
5780
5781// SetDocumentId sets the DocumentId field's value.
5782func (s *DeleteDocumentInput) SetDocumentId(v string) *DeleteDocumentInput {
5783	s.DocumentId = &v
5784	return s
5785}
5786
5787type DeleteDocumentOutput struct {
5788	_ struct{} `type:"structure"`
5789}
5790
5791// String returns the string representation
5792func (s DeleteDocumentOutput) String() string {
5793	return awsutil.Prettify(s)
5794}
5795
5796// GoString returns the string representation
5797func (s DeleteDocumentOutput) GoString() string {
5798	return s.String()
5799}
5800
5801type DeleteFolderContentsInput struct {
5802	_ struct{} `type:"structure"`
5803
5804	// Amazon WorkDocs authentication token. Do not set this field when using administrative
5805	// API actions, as in accessing the API using AWS credentials.
5806	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
5807
5808	// The ID of the folder.
5809	//
5810	// FolderId is a required field
5811	FolderId *string `location:"uri" locationName:"FolderId" min:"1" type:"string" required:"true"`
5812}
5813
5814// String returns the string representation
5815func (s DeleteFolderContentsInput) String() string {
5816	return awsutil.Prettify(s)
5817}
5818
5819// GoString returns the string representation
5820func (s DeleteFolderContentsInput) GoString() string {
5821	return s.String()
5822}
5823
5824// Validate inspects the fields of the type to determine if they are valid.
5825func (s *DeleteFolderContentsInput) Validate() error {
5826	invalidParams := request.ErrInvalidParams{Context: "DeleteFolderContentsInput"}
5827	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
5828		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
5829	}
5830	if s.FolderId == nil {
5831		invalidParams.Add(request.NewErrParamRequired("FolderId"))
5832	}
5833	if s.FolderId != nil && len(*s.FolderId) < 1 {
5834		invalidParams.Add(request.NewErrParamMinLen("FolderId", 1))
5835	}
5836
5837	if invalidParams.Len() > 0 {
5838		return invalidParams
5839	}
5840	return nil
5841}
5842
5843// SetAuthenticationToken sets the AuthenticationToken field's value.
5844func (s *DeleteFolderContentsInput) SetAuthenticationToken(v string) *DeleteFolderContentsInput {
5845	s.AuthenticationToken = &v
5846	return s
5847}
5848
5849// SetFolderId sets the FolderId field's value.
5850func (s *DeleteFolderContentsInput) SetFolderId(v string) *DeleteFolderContentsInput {
5851	s.FolderId = &v
5852	return s
5853}
5854
5855type DeleteFolderContentsOutput struct {
5856	_ struct{} `type:"structure"`
5857}
5858
5859// String returns the string representation
5860func (s DeleteFolderContentsOutput) String() string {
5861	return awsutil.Prettify(s)
5862}
5863
5864// GoString returns the string representation
5865func (s DeleteFolderContentsOutput) GoString() string {
5866	return s.String()
5867}
5868
5869type DeleteFolderInput struct {
5870	_ struct{} `type:"structure"`
5871
5872	// Amazon WorkDocs authentication token. Do not set this field when using administrative
5873	// API actions, as in accessing the API using AWS credentials.
5874	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
5875
5876	// The ID of the folder.
5877	//
5878	// FolderId is a required field
5879	FolderId *string `location:"uri" locationName:"FolderId" min:"1" type:"string" required:"true"`
5880}
5881
5882// String returns the string representation
5883func (s DeleteFolderInput) String() string {
5884	return awsutil.Prettify(s)
5885}
5886
5887// GoString returns the string representation
5888func (s DeleteFolderInput) GoString() string {
5889	return s.String()
5890}
5891
5892// Validate inspects the fields of the type to determine if they are valid.
5893func (s *DeleteFolderInput) Validate() error {
5894	invalidParams := request.ErrInvalidParams{Context: "DeleteFolderInput"}
5895	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
5896		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
5897	}
5898	if s.FolderId == nil {
5899		invalidParams.Add(request.NewErrParamRequired("FolderId"))
5900	}
5901	if s.FolderId != nil && len(*s.FolderId) < 1 {
5902		invalidParams.Add(request.NewErrParamMinLen("FolderId", 1))
5903	}
5904
5905	if invalidParams.Len() > 0 {
5906		return invalidParams
5907	}
5908	return nil
5909}
5910
5911// SetAuthenticationToken sets the AuthenticationToken field's value.
5912func (s *DeleteFolderInput) SetAuthenticationToken(v string) *DeleteFolderInput {
5913	s.AuthenticationToken = &v
5914	return s
5915}
5916
5917// SetFolderId sets the FolderId field's value.
5918func (s *DeleteFolderInput) SetFolderId(v string) *DeleteFolderInput {
5919	s.FolderId = &v
5920	return s
5921}
5922
5923type DeleteFolderOutput struct {
5924	_ struct{} `type:"structure"`
5925}
5926
5927// String returns the string representation
5928func (s DeleteFolderOutput) String() string {
5929	return awsutil.Prettify(s)
5930}
5931
5932// GoString returns the string representation
5933func (s DeleteFolderOutput) GoString() string {
5934	return s.String()
5935}
5936
5937type DeleteLabelsInput struct {
5938	_ struct{} `type:"structure"`
5939
5940	// Amazon WorkDocs authentication token. Do not set this field when using administrative
5941	// API actions, as in accessing the API using AWS credentials.
5942	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
5943
5944	// Flag to request removal of all labels from the specified resource.
5945	DeleteAll *bool `location:"querystring" locationName:"deleteAll" type:"boolean"`
5946
5947	// List of labels to delete from the resource.
5948	Labels []*string `location:"querystring" locationName:"labels" type:"list"`
5949
5950	// The ID of the resource.
5951	//
5952	// ResourceId is a required field
5953	ResourceId *string `location:"uri" locationName:"ResourceId" min:"1" type:"string" required:"true"`
5954}
5955
5956// String returns the string representation
5957func (s DeleteLabelsInput) String() string {
5958	return awsutil.Prettify(s)
5959}
5960
5961// GoString returns the string representation
5962func (s DeleteLabelsInput) GoString() string {
5963	return s.String()
5964}
5965
5966// Validate inspects the fields of the type to determine if they are valid.
5967func (s *DeleteLabelsInput) Validate() error {
5968	invalidParams := request.ErrInvalidParams{Context: "DeleteLabelsInput"}
5969	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
5970		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
5971	}
5972	if s.ResourceId == nil {
5973		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
5974	}
5975	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
5976		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
5977	}
5978
5979	if invalidParams.Len() > 0 {
5980		return invalidParams
5981	}
5982	return nil
5983}
5984
5985// SetAuthenticationToken sets the AuthenticationToken field's value.
5986func (s *DeleteLabelsInput) SetAuthenticationToken(v string) *DeleteLabelsInput {
5987	s.AuthenticationToken = &v
5988	return s
5989}
5990
5991// SetDeleteAll sets the DeleteAll field's value.
5992func (s *DeleteLabelsInput) SetDeleteAll(v bool) *DeleteLabelsInput {
5993	s.DeleteAll = &v
5994	return s
5995}
5996
5997// SetLabels sets the Labels field's value.
5998func (s *DeleteLabelsInput) SetLabels(v []*string) *DeleteLabelsInput {
5999	s.Labels = v
6000	return s
6001}
6002
6003// SetResourceId sets the ResourceId field's value.
6004func (s *DeleteLabelsInput) SetResourceId(v string) *DeleteLabelsInput {
6005	s.ResourceId = &v
6006	return s
6007}
6008
6009type DeleteLabelsOutput struct {
6010	_ struct{} `type:"structure"`
6011}
6012
6013// String returns the string representation
6014func (s DeleteLabelsOutput) String() string {
6015	return awsutil.Prettify(s)
6016}
6017
6018// GoString returns the string representation
6019func (s DeleteLabelsOutput) GoString() string {
6020	return s.String()
6021}
6022
6023type DeleteNotificationSubscriptionInput struct {
6024	_ struct{} `type:"structure"`
6025
6026	// The ID of the organization.
6027	//
6028	// OrganizationId is a required field
6029	OrganizationId *string `location:"uri" locationName:"OrganizationId" min:"1" type:"string" required:"true"`
6030
6031	// The ID of the subscription.
6032	//
6033	// SubscriptionId is a required field
6034	SubscriptionId *string `location:"uri" locationName:"SubscriptionId" min:"1" type:"string" required:"true"`
6035}
6036
6037// String returns the string representation
6038func (s DeleteNotificationSubscriptionInput) String() string {
6039	return awsutil.Prettify(s)
6040}
6041
6042// GoString returns the string representation
6043func (s DeleteNotificationSubscriptionInput) GoString() string {
6044	return s.String()
6045}
6046
6047// Validate inspects the fields of the type to determine if they are valid.
6048func (s *DeleteNotificationSubscriptionInput) Validate() error {
6049	invalidParams := request.ErrInvalidParams{Context: "DeleteNotificationSubscriptionInput"}
6050	if s.OrganizationId == nil {
6051		invalidParams.Add(request.NewErrParamRequired("OrganizationId"))
6052	}
6053	if s.OrganizationId != nil && len(*s.OrganizationId) < 1 {
6054		invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 1))
6055	}
6056	if s.SubscriptionId == nil {
6057		invalidParams.Add(request.NewErrParamRequired("SubscriptionId"))
6058	}
6059	if s.SubscriptionId != nil && len(*s.SubscriptionId) < 1 {
6060		invalidParams.Add(request.NewErrParamMinLen("SubscriptionId", 1))
6061	}
6062
6063	if invalidParams.Len() > 0 {
6064		return invalidParams
6065	}
6066	return nil
6067}
6068
6069// SetOrganizationId sets the OrganizationId field's value.
6070func (s *DeleteNotificationSubscriptionInput) SetOrganizationId(v string) *DeleteNotificationSubscriptionInput {
6071	s.OrganizationId = &v
6072	return s
6073}
6074
6075// SetSubscriptionId sets the SubscriptionId field's value.
6076func (s *DeleteNotificationSubscriptionInput) SetSubscriptionId(v string) *DeleteNotificationSubscriptionInput {
6077	s.SubscriptionId = &v
6078	return s
6079}
6080
6081type DeleteNotificationSubscriptionOutput struct {
6082	_ struct{} `type:"structure"`
6083}
6084
6085// String returns the string representation
6086func (s DeleteNotificationSubscriptionOutput) String() string {
6087	return awsutil.Prettify(s)
6088}
6089
6090// GoString returns the string representation
6091func (s DeleteNotificationSubscriptionOutput) GoString() string {
6092	return s.String()
6093}
6094
6095type DeleteUserInput struct {
6096	_ struct{} `type:"structure"`
6097
6098	// Amazon WorkDocs authentication token. Do not set this field when using administrative
6099	// API actions, as in accessing the API using AWS credentials.
6100	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
6101
6102	// The ID of the user.
6103	//
6104	// UserId is a required field
6105	UserId *string `location:"uri" locationName:"UserId" min:"1" type:"string" required:"true"`
6106}
6107
6108// String returns the string representation
6109func (s DeleteUserInput) String() string {
6110	return awsutil.Prettify(s)
6111}
6112
6113// GoString returns the string representation
6114func (s DeleteUserInput) GoString() string {
6115	return s.String()
6116}
6117
6118// Validate inspects the fields of the type to determine if they are valid.
6119func (s *DeleteUserInput) Validate() error {
6120	invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"}
6121	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
6122		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
6123	}
6124	if s.UserId == nil {
6125		invalidParams.Add(request.NewErrParamRequired("UserId"))
6126	}
6127	if s.UserId != nil && len(*s.UserId) < 1 {
6128		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
6129	}
6130
6131	if invalidParams.Len() > 0 {
6132		return invalidParams
6133	}
6134	return nil
6135}
6136
6137// SetAuthenticationToken sets the AuthenticationToken field's value.
6138func (s *DeleteUserInput) SetAuthenticationToken(v string) *DeleteUserInput {
6139	s.AuthenticationToken = &v
6140	return s
6141}
6142
6143// SetUserId sets the UserId field's value.
6144func (s *DeleteUserInput) SetUserId(v string) *DeleteUserInput {
6145	s.UserId = &v
6146	return s
6147}
6148
6149type DeleteUserOutput struct {
6150	_ struct{} `type:"structure"`
6151}
6152
6153// String returns the string representation
6154func (s DeleteUserOutput) String() string {
6155	return awsutil.Prettify(s)
6156}
6157
6158// GoString returns the string representation
6159func (s DeleteUserOutput) GoString() string {
6160	return s.String()
6161}
6162
6163type DescribeActivitiesInput struct {
6164	_ struct{} `type:"structure"`
6165
6166	// Specifies which activity types to include in the response. If this field
6167	// is left empty, all activity types are returned.
6168	ActivityTypes *string `location:"querystring" locationName:"activityTypes" min:"1" type:"string"`
6169
6170	// Amazon WorkDocs authentication token. Do not set this field when using administrative
6171	// API actions, as in accessing the API using AWS credentials.
6172	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
6173
6174	// The timestamp that determines the end time of the activities. The response
6175	// includes the activities performed before the specified timestamp.
6176	EndTime *time.Time `location:"querystring" locationName:"endTime" type:"timestamp"`
6177
6178	// Includes indirect activities. An indirect activity results from a direct
6179	// activity performed on a parent resource. For example, sharing a parent folder
6180	// (the direct activity) shares all of the subfolders and documents within the
6181	// parent folder (the indirect activity).
6182	IncludeIndirectActivities *bool `location:"querystring" locationName:"includeIndirectActivities" type:"boolean"`
6183
6184	// The maximum number of items to return.
6185	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
6186
6187	// The marker for the next set of results.
6188	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
6189
6190	// The ID of the organization. This is a mandatory parameter when using administrative
6191	// API (SigV4) requests.
6192	OrganizationId *string `location:"querystring" locationName:"organizationId" min:"1" type:"string"`
6193
6194	// The document or folder ID for which to describe activity types.
6195	ResourceId *string `location:"querystring" locationName:"resourceId" min:"1" type:"string"`
6196
6197	// The timestamp that determines the starting time of the activities. The response
6198	// includes the activities performed after the specified timestamp.
6199	StartTime *time.Time `location:"querystring" locationName:"startTime" type:"timestamp"`
6200
6201	// The ID of the user who performed the action. The response includes activities
6202	// pertaining to this user. This is an optional parameter and is only applicable
6203	// for administrative API (SigV4) requests.
6204	UserId *string `location:"querystring" locationName:"userId" min:"1" type:"string"`
6205}
6206
6207// String returns the string representation
6208func (s DescribeActivitiesInput) String() string {
6209	return awsutil.Prettify(s)
6210}
6211
6212// GoString returns the string representation
6213func (s DescribeActivitiesInput) GoString() string {
6214	return s.String()
6215}
6216
6217// Validate inspects the fields of the type to determine if they are valid.
6218func (s *DescribeActivitiesInput) Validate() error {
6219	invalidParams := request.ErrInvalidParams{Context: "DescribeActivitiesInput"}
6220	if s.ActivityTypes != nil && len(*s.ActivityTypes) < 1 {
6221		invalidParams.Add(request.NewErrParamMinLen("ActivityTypes", 1))
6222	}
6223	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
6224		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
6225	}
6226	if s.Limit != nil && *s.Limit < 1 {
6227		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
6228	}
6229	if s.Marker != nil && len(*s.Marker) < 1 {
6230		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
6231	}
6232	if s.OrganizationId != nil && len(*s.OrganizationId) < 1 {
6233		invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 1))
6234	}
6235	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
6236		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
6237	}
6238	if s.UserId != nil && len(*s.UserId) < 1 {
6239		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
6240	}
6241
6242	if invalidParams.Len() > 0 {
6243		return invalidParams
6244	}
6245	return nil
6246}
6247
6248// SetActivityTypes sets the ActivityTypes field's value.
6249func (s *DescribeActivitiesInput) SetActivityTypes(v string) *DescribeActivitiesInput {
6250	s.ActivityTypes = &v
6251	return s
6252}
6253
6254// SetAuthenticationToken sets the AuthenticationToken field's value.
6255func (s *DescribeActivitiesInput) SetAuthenticationToken(v string) *DescribeActivitiesInput {
6256	s.AuthenticationToken = &v
6257	return s
6258}
6259
6260// SetEndTime sets the EndTime field's value.
6261func (s *DescribeActivitiesInput) SetEndTime(v time.Time) *DescribeActivitiesInput {
6262	s.EndTime = &v
6263	return s
6264}
6265
6266// SetIncludeIndirectActivities sets the IncludeIndirectActivities field's value.
6267func (s *DescribeActivitiesInput) SetIncludeIndirectActivities(v bool) *DescribeActivitiesInput {
6268	s.IncludeIndirectActivities = &v
6269	return s
6270}
6271
6272// SetLimit sets the Limit field's value.
6273func (s *DescribeActivitiesInput) SetLimit(v int64) *DescribeActivitiesInput {
6274	s.Limit = &v
6275	return s
6276}
6277
6278// SetMarker sets the Marker field's value.
6279func (s *DescribeActivitiesInput) SetMarker(v string) *DescribeActivitiesInput {
6280	s.Marker = &v
6281	return s
6282}
6283
6284// SetOrganizationId sets the OrganizationId field's value.
6285func (s *DescribeActivitiesInput) SetOrganizationId(v string) *DescribeActivitiesInput {
6286	s.OrganizationId = &v
6287	return s
6288}
6289
6290// SetResourceId sets the ResourceId field's value.
6291func (s *DescribeActivitiesInput) SetResourceId(v string) *DescribeActivitiesInput {
6292	s.ResourceId = &v
6293	return s
6294}
6295
6296// SetStartTime sets the StartTime field's value.
6297func (s *DescribeActivitiesInput) SetStartTime(v time.Time) *DescribeActivitiesInput {
6298	s.StartTime = &v
6299	return s
6300}
6301
6302// SetUserId sets the UserId field's value.
6303func (s *DescribeActivitiesInput) SetUserId(v string) *DescribeActivitiesInput {
6304	s.UserId = &v
6305	return s
6306}
6307
6308type DescribeActivitiesOutput struct {
6309	_ struct{} `type:"structure"`
6310
6311	// The marker for the next set of results.
6312	Marker *string `min:"1" type:"string"`
6313
6314	// The list of activities for the specified user and time period.
6315	UserActivities []*Activity `type:"list"`
6316}
6317
6318// String returns the string representation
6319func (s DescribeActivitiesOutput) String() string {
6320	return awsutil.Prettify(s)
6321}
6322
6323// GoString returns the string representation
6324func (s DescribeActivitiesOutput) GoString() string {
6325	return s.String()
6326}
6327
6328// SetMarker sets the Marker field's value.
6329func (s *DescribeActivitiesOutput) SetMarker(v string) *DescribeActivitiesOutput {
6330	s.Marker = &v
6331	return s
6332}
6333
6334// SetUserActivities sets the UserActivities field's value.
6335func (s *DescribeActivitiesOutput) SetUserActivities(v []*Activity) *DescribeActivitiesOutput {
6336	s.UserActivities = v
6337	return s
6338}
6339
6340type DescribeCommentsInput struct {
6341	_ struct{} `type:"structure"`
6342
6343	// Amazon WorkDocs authentication token. Do not set this field when using administrative
6344	// API actions, as in accessing the API using AWS credentials.
6345	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
6346
6347	// The ID of the document.
6348	//
6349	// DocumentId is a required field
6350	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
6351
6352	// The maximum number of items to return.
6353	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
6354
6355	// The marker for the next set of results. This marker was received from a previous
6356	// call.
6357	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
6358
6359	// The ID of the document version.
6360	//
6361	// VersionId is a required field
6362	VersionId *string `location:"uri" locationName:"VersionId" min:"1" type:"string" required:"true"`
6363}
6364
6365// String returns the string representation
6366func (s DescribeCommentsInput) String() string {
6367	return awsutil.Prettify(s)
6368}
6369
6370// GoString returns the string representation
6371func (s DescribeCommentsInput) GoString() string {
6372	return s.String()
6373}
6374
6375// Validate inspects the fields of the type to determine if they are valid.
6376func (s *DescribeCommentsInput) Validate() error {
6377	invalidParams := request.ErrInvalidParams{Context: "DescribeCommentsInput"}
6378	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
6379		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
6380	}
6381	if s.DocumentId == nil {
6382		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
6383	}
6384	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
6385		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
6386	}
6387	if s.Limit != nil && *s.Limit < 1 {
6388		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
6389	}
6390	if s.Marker != nil && len(*s.Marker) < 1 {
6391		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
6392	}
6393	if s.VersionId == nil {
6394		invalidParams.Add(request.NewErrParamRequired("VersionId"))
6395	}
6396	if s.VersionId != nil && len(*s.VersionId) < 1 {
6397		invalidParams.Add(request.NewErrParamMinLen("VersionId", 1))
6398	}
6399
6400	if invalidParams.Len() > 0 {
6401		return invalidParams
6402	}
6403	return nil
6404}
6405
6406// SetAuthenticationToken sets the AuthenticationToken field's value.
6407func (s *DescribeCommentsInput) SetAuthenticationToken(v string) *DescribeCommentsInput {
6408	s.AuthenticationToken = &v
6409	return s
6410}
6411
6412// SetDocumentId sets the DocumentId field's value.
6413func (s *DescribeCommentsInput) SetDocumentId(v string) *DescribeCommentsInput {
6414	s.DocumentId = &v
6415	return s
6416}
6417
6418// SetLimit sets the Limit field's value.
6419func (s *DescribeCommentsInput) SetLimit(v int64) *DescribeCommentsInput {
6420	s.Limit = &v
6421	return s
6422}
6423
6424// SetMarker sets the Marker field's value.
6425func (s *DescribeCommentsInput) SetMarker(v string) *DescribeCommentsInput {
6426	s.Marker = &v
6427	return s
6428}
6429
6430// SetVersionId sets the VersionId field's value.
6431func (s *DescribeCommentsInput) SetVersionId(v string) *DescribeCommentsInput {
6432	s.VersionId = &v
6433	return s
6434}
6435
6436type DescribeCommentsOutput struct {
6437	_ struct{} `type:"structure"`
6438
6439	// The list of comments for the specified document version.
6440	Comments []*Comment `type:"list"`
6441
6442	// The marker for the next set of results. This marker was received from a previous
6443	// call.
6444	Marker *string `min:"1" type:"string"`
6445}
6446
6447// String returns the string representation
6448func (s DescribeCommentsOutput) String() string {
6449	return awsutil.Prettify(s)
6450}
6451
6452// GoString returns the string representation
6453func (s DescribeCommentsOutput) GoString() string {
6454	return s.String()
6455}
6456
6457// SetComments sets the Comments field's value.
6458func (s *DescribeCommentsOutput) SetComments(v []*Comment) *DescribeCommentsOutput {
6459	s.Comments = v
6460	return s
6461}
6462
6463// SetMarker sets the Marker field's value.
6464func (s *DescribeCommentsOutput) SetMarker(v string) *DescribeCommentsOutput {
6465	s.Marker = &v
6466	return s
6467}
6468
6469type DescribeDocumentVersionsInput struct {
6470	_ struct{} `type:"structure"`
6471
6472	// Amazon WorkDocs authentication token. Do not set this field when using administrative
6473	// API actions, as in accessing the API using AWS credentials.
6474	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
6475
6476	// The ID of the document.
6477	//
6478	// DocumentId is a required field
6479	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
6480
6481	// Specify "SOURCE" to include initialized versions and a URL for the source
6482	// document.
6483	Fields *string `location:"querystring" locationName:"fields" min:"1" type:"string"`
6484
6485	// A comma-separated list of values. Specify "INITIALIZED" to include incomplete
6486	// versions.
6487	Include *string `location:"querystring" locationName:"include" min:"1" type:"string"`
6488
6489	// The maximum number of versions to return with this call.
6490	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
6491
6492	// The marker for the next set of results. (You received this marker from a
6493	// previous call.)
6494	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
6495}
6496
6497// String returns the string representation
6498func (s DescribeDocumentVersionsInput) String() string {
6499	return awsutil.Prettify(s)
6500}
6501
6502// GoString returns the string representation
6503func (s DescribeDocumentVersionsInput) GoString() string {
6504	return s.String()
6505}
6506
6507// Validate inspects the fields of the type to determine if they are valid.
6508func (s *DescribeDocumentVersionsInput) Validate() error {
6509	invalidParams := request.ErrInvalidParams{Context: "DescribeDocumentVersionsInput"}
6510	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
6511		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
6512	}
6513	if s.DocumentId == nil {
6514		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
6515	}
6516	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
6517		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
6518	}
6519	if s.Fields != nil && len(*s.Fields) < 1 {
6520		invalidParams.Add(request.NewErrParamMinLen("Fields", 1))
6521	}
6522	if s.Include != nil && len(*s.Include) < 1 {
6523		invalidParams.Add(request.NewErrParamMinLen("Include", 1))
6524	}
6525	if s.Limit != nil && *s.Limit < 1 {
6526		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
6527	}
6528	if s.Marker != nil && len(*s.Marker) < 1 {
6529		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
6530	}
6531
6532	if invalidParams.Len() > 0 {
6533		return invalidParams
6534	}
6535	return nil
6536}
6537
6538// SetAuthenticationToken sets the AuthenticationToken field's value.
6539func (s *DescribeDocumentVersionsInput) SetAuthenticationToken(v string) *DescribeDocumentVersionsInput {
6540	s.AuthenticationToken = &v
6541	return s
6542}
6543
6544// SetDocumentId sets the DocumentId field's value.
6545func (s *DescribeDocumentVersionsInput) SetDocumentId(v string) *DescribeDocumentVersionsInput {
6546	s.DocumentId = &v
6547	return s
6548}
6549
6550// SetFields sets the Fields field's value.
6551func (s *DescribeDocumentVersionsInput) SetFields(v string) *DescribeDocumentVersionsInput {
6552	s.Fields = &v
6553	return s
6554}
6555
6556// SetInclude sets the Include field's value.
6557func (s *DescribeDocumentVersionsInput) SetInclude(v string) *DescribeDocumentVersionsInput {
6558	s.Include = &v
6559	return s
6560}
6561
6562// SetLimit sets the Limit field's value.
6563func (s *DescribeDocumentVersionsInput) SetLimit(v int64) *DescribeDocumentVersionsInput {
6564	s.Limit = &v
6565	return s
6566}
6567
6568// SetMarker sets the Marker field's value.
6569func (s *DescribeDocumentVersionsInput) SetMarker(v string) *DescribeDocumentVersionsInput {
6570	s.Marker = &v
6571	return s
6572}
6573
6574type DescribeDocumentVersionsOutput struct {
6575	_ struct{} `type:"structure"`
6576
6577	// The document versions.
6578	DocumentVersions []*DocumentVersionMetadata `type:"list"`
6579
6580	// The marker to use when requesting the next set of results. If there are no
6581	// additional results, the string is empty.
6582	Marker *string `min:"1" type:"string"`
6583}
6584
6585// String returns the string representation
6586func (s DescribeDocumentVersionsOutput) String() string {
6587	return awsutil.Prettify(s)
6588}
6589
6590// GoString returns the string representation
6591func (s DescribeDocumentVersionsOutput) GoString() string {
6592	return s.String()
6593}
6594
6595// SetDocumentVersions sets the DocumentVersions field's value.
6596func (s *DescribeDocumentVersionsOutput) SetDocumentVersions(v []*DocumentVersionMetadata) *DescribeDocumentVersionsOutput {
6597	s.DocumentVersions = v
6598	return s
6599}
6600
6601// SetMarker sets the Marker field's value.
6602func (s *DescribeDocumentVersionsOutput) SetMarker(v string) *DescribeDocumentVersionsOutput {
6603	s.Marker = &v
6604	return s
6605}
6606
6607type DescribeFolderContentsInput struct {
6608	_ struct{} `type:"structure"`
6609
6610	// Amazon WorkDocs authentication token. Do not set this field when using administrative
6611	// API actions, as in accessing the API using AWS credentials.
6612	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
6613
6614	// The ID of the folder.
6615	//
6616	// FolderId is a required field
6617	FolderId *string `location:"uri" locationName:"FolderId" min:"1" type:"string" required:"true"`
6618
6619	// The contents to include. Specify "INITIALIZED" to include initialized documents.
6620	Include *string `location:"querystring" locationName:"include" min:"1" type:"string"`
6621
6622	// The maximum number of items to return with this call.
6623	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
6624
6625	// The marker for the next set of results. This marker was received from a previous
6626	// call.
6627	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
6628
6629	// The order for the contents of the folder.
6630	Order *string `location:"querystring" locationName:"order" type:"string" enum:"OrderType"`
6631
6632	// The sorting criteria.
6633	Sort *string `location:"querystring" locationName:"sort" type:"string" enum:"ResourceSortType"`
6634
6635	// The type of items.
6636	Type *string `location:"querystring" locationName:"type" type:"string" enum:"FolderContentType"`
6637}
6638
6639// String returns the string representation
6640func (s DescribeFolderContentsInput) String() string {
6641	return awsutil.Prettify(s)
6642}
6643
6644// GoString returns the string representation
6645func (s DescribeFolderContentsInput) GoString() string {
6646	return s.String()
6647}
6648
6649// Validate inspects the fields of the type to determine if they are valid.
6650func (s *DescribeFolderContentsInput) Validate() error {
6651	invalidParams := request.ErrInvalidParams{Context: "DescribeFolderContentsInput"}
6652	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
6653		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
6654	}
6655	if s.FolderId == nil {
6656		invalidParams.Add(request.NewErrParamRequired("FolderId"))
6657	}
6658	if s.FolderId != nil && len(*s.FolderId) < 1 {
6659		invalidParams.Add(request.NewErrParamMinLen("FolderId", 1))
6660	}
6661	if s.Include != nil && len(*s.Include) < 1 {
6662		invalidParams.Add(request.NewErrParamMinLen("Include", 1))
6663	}
6664	if s.Limit != nil && *s.Limit < 1 {
6665		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
6666	}
6667	if s.Marker != nil && len(*s.Marker) < 1 {
6668		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
6669	}
6670
6671	if invalidParams.Len() > 0 {
6672		return invalidParams
6673	}
6674	return nil
6675}
6676
6677// SetAuthenticationToken sets the AuthenticationToken field's value.
6678func (s *DescribeFolderContentsInput) SetAuthenticationToken(v string) *DescribeFolderContentsInput {
6679	s.AuthenticationToken = &v
6680	return s
6681}
6682
6683// SetFolderId sets the FolderId field's value.
6684func (s *DescribeFolderContentsInput) SetFolderId(v string) *DescribeFolderContentsInput {
6685	s.FolderId = &v
6686	return s
6687}
6688
6689// SetInclude sets the Include field's value.
6690func (s *DescribeFolderContentsInput) SetInclude(v string) *DescribeFolderContentsInput {
6691	s.Include = &v
6692	return s
6693}
6694
6695// SetLimit sets the Limit field's value.
6696func (s *DescribeFolderContentsInput) SetLimit(v int64) *DescribeFolderContentsInput {
6697	s.Limit = &v
6698	return s
6699}
6700
6701// SetMarker sets the Marker field's value.
6702func (s *DescribeFolderContentsInput) SetMarker(v string) *DescribeFolderContentsInput {
6703	s.Marker = &v
6704	return s
6705}
6706
6707// SetOrder sets the Order field's value.
6708func (s *DescribeFolderContentsInput) SetOrder(v string) *DescribeFolderContentsInput {
6709	s.Order = &v
6710	return s
6711}
6712
6713// SetSort sets the Sort field's value.
6714func (s *DescribeFolderContentsInput) SetSort(v string) *DescribeFolderContentsInput {
6715	s.Sort = &v
6716	return s
6717}
6718
6719// SetType sets the Type field's value.
6720func (s *DescribeFolderContentsInput) SetType(v string) *DescribeFolderContentsInput {
6721	s.Type = &v
6722	return s
6723}
6724
6725type DescribeFolderContentsOutput struct {
6726	_ struct{} `type:"structure"`
6727
6728	// The documents in the specified folder.
6729	Documents []*DocumentMetadata `type:"list"`
6730
6731	// The subfolders in the specified folder.
6732	Folders []*FolderMetadata `type:"list"`
6733
6734	// The marker to use when requesting the next set of results. If there are no
6735	// additional results, the string is empty.
6736	Marker *string `min:"1" type:"string"`
6737}
6738
6739// String returns the string representation
6740func (s DescribeFolderContentsOutput) String() string {
6741	return awsutil.Prettify(s)
6742}
6743
6744// GoString returns the string representation
6745func (s DescribeFolderContentsOutput) GoString() string {
6746	return s.String()
6747}
6748
6749// SetDocuments sets the Documents field's value.
6750func (s *DescribeFolderContentsOutput) SetDocuments(v []*DocumentMetadata) *DescribeFolderContentsOutput {
6751	s.Documents = v
6752	return s
6753}
6754
6755// SetFolders sets the Folders field's value.
6756func (s *DescribeFolderContentsOutput) SetFolders(v []*FolderMetadata) *DescribeFolderContentsOutput {
6757	s.Folders = v
6758	return s
6759}
6760
6761// SetMarker sets the Marker field's value.
6762func (s *DescribeFolderContentsOutput) SetMarker(v string) *DescribeFolderContentsOutput {
6763	s.Marker = &v
6764	return s
6765}
6766
6767type DescribeGroupsInput struct {
6768	_ struct{} `type:"structure"`
6769
6770	// Amazon WorkDocs authentication token. Do not set this field when using administrative
6771	// API actions, as in accessing the API using AWS credentials.
6772	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
6773
6774	// The maximum number of items to return with this call.
6775	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
6776
6777	// The marker for the next set of results. (You received this marker from a
6778	// previous call.)
6779	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
6780
6781	// The ID of the organization.
6782	OrganizationId *string `location:"querystring" locationName:"organizationId" min:"1" type:"string"`
6783
6784	// A query to describe groups by group name.
6785	//
6786	// SearchQuery is a required field
6787	SearchQuery *string `location:"querystring" locationName:"searchQuery" min:"1" type:"string" required:"true" sensitive:"true"`
6788}
6789
6790// String returns the string representation
6791func (s DescribeGroupsInput) String() string {
6792	return awsutil.Prettify(s)
6793}
6794
6795// GoString returns the string representation
6796func (s DescribeGroupsInput) GoString() string {
6797	return s.String()
6798}
6799
6800// Validate inspects the fields of the type to determine if they are valid.
6801func (s *DescribeGroupsInput) Validate() error {
6802	invalidParams := request.ErrInvalidParams{Context: "DescribeGroupsInput"}
6803	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
6804		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
6805	}
6806	if s.Limit != nil && *s.Limit < 1 {
6807		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
6808	}
6809	if s.Marker != nil && len(*s.Marker) < 1 {
6810		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
6811	}
6812	if s.OrganizationId != nil && len(*s.OrganizationId) < 1 {
6813		invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 1))
6814	}
6815	if s.SearchQuery == nil {
6816		invalidParams.Add(request.NewErrParamRequired("SearchQuery"))
6817	}
6818	if s.SearchQuery != nil && len(*s.SearchQuery) < 1 {
6819		invalidParams.Add(request.NewErrParamMinLen("SearchQuery", 1))
6820	}
6821
6822	if invalidParams.Len() > 0 {
6823		return invalidParams
6824	}
6825	return nil
6826}
6827
6828// SetAuthenticationToken sets the AuthenticationToken field's value.
6829func (s *DescribeGroupsInput) SetAuthenticationToken(v string) *DescribeGroupsInput {
6830	s.AuthenticationToken = &v
6831	return s
6832}
6833
6834// SetLimit sets the Limit field's value.
6835func (s *DescribeGroupsInput) SetLimit(v int64) *DescribeGroupsInput {
6836	s.Limit = &v
6837	return s
6838}
6839
6840// SetMarker sets the Marker field's value.
6841func (s *DescribeGroupsInput) SetMarker(v string) *DescribeGroupsInput {
6842	s.Marker = &v
6843	return s
6844}
6845
6846// SetOrganizationId sets the OrganizationId field's value.
6847func (s *DescribeGroupsInput) SetOrganizationId(v string) *DescribeGroupsInput {
6848	s.OrganizationId = &v
6849	return s
6850}
6851
6852// SetSearchQuery sets the SearchQuery field's value.
6853func (s *DescribeGroupsInput) SetSearchQuery(v string) *DescribeGroupsInput {
6854	s.SearchQuery = &v
6855	return s
6856}
6857
6858type DescribeGroupsOutput struct {
6859	_ struct{} `type:"structure"`
6860
6861	// The list of groups.
6862	Groups []*GroupMetadata `type:"list"`
6863
6864	// The marker to use when requesting the next set of results. If there are no
6865	// additional results, the string is empty.
6866	Marker *string `min:"1" type:"string"`
6867}
6868
6869// String returns the string representation
6870func (s DescribeGroupsOutput) String() string {
6871	return awsutil.Prettify(s)
6872}
6873
6874// GoString returns the string representation
6875func (s DescribeGroupsOutput) GoString() string {
6876	return s.String()
6877}
6878
6879// SetGroups sets the Groups field's value.
6880func (s *DescribeGroupsOutput) SetGroups(v []*GroupMetadata) *DescribeGroupsOutput {
6881	s.Groups = v
6882	return s
6883}
6884
6885// SetMarker sets the Marker field's value.
6886func (s *DescribeGroupsOutput) SetMarker(v string) *DescribeGroupsOutput {
6887	s.Marker = &v
6888	return s
6889}
6890
6891type DescribeNotificationSubscriptionsInput struct {
6892	_ struct{} `type:"structure"`
6893
6894	// The maximum number of items to return with this call.
6895	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
6896
6897	// The marker for the next set of results. (You received this marker from a
6898	// previous call.)
6899	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
6900
6901	// The ID of the organization.
6902	//
6903	// OrganizationId is a required field
6904	OrganizationId *string `location:"uri" locationName:"OrganizationId" min:"1" type:"string" required:"true"`
6905}
6906
6907// String returns the string representation
6908func (s DescribeNotificationSubscriptionsInput) String() string {
6909	return awsutil.Prettify(s)
6910}
6911
6912// GoString returns the string representation
6913func (s DescribeNotificationSubscriptionsInput) GoString() string {
6914	return s.String()
6915}
6916
6917// Validate inspects the fields of the type to determine if they are valid.
6918func (s *DescribeNotificationSubscriptionsInput) Validate() error {
6919	invalidParams := request.ErrInvalidParams{Context: "DescribeNotificationSubscriptionsInput"}
6920	if s.Limit != nil && *s.Limit < 1 {
6921		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
6922	}
6923	if s.Marker != nil && len(*s.Marker) < 1 {
6924		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
6925	}
6926	if s.OrganizationId == nil {
6927		invalidParams.Add(request.NewErrParamRequired("OrganizationId"))
6928	}
6929	if s.OrganizationId != nil && len(*s.OrganizationId) < 1 {
6930		invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 1))
6931	}
6932
6933	if invalidParams.Len() > 0 {
6934		return invalidParams
6935	}
6936	return nil
6937}
6938
6939// SetLimit sets the Limit field's value.
6940func (s *DescribeNotificationSubscriptionsInput) SetLimit(v int64) *DescribeNotificationSubscriptionsInput {
6941	s.Limit = &v
6942	return s
6943}
6944
6945// SetMarker sets the Marker field's value.
6946func (s *DescribeNotificationSubscriptionsInput) SetMarker(v string) *DescribeNotificationSubscriptionsInput {
6947	s.Marker = &v
6948	return s
6949}
6950
6951// SetOrganizationId sets the OrganizationId field's value.
6952func (s *DescribeNotificationSubscriptionsInput) SetOrganizationId(v string) *DescribeNotificationSubscriptionsInput {
6953	s.OrganizationId = &v
6954	return s
6955}
6956
6957type DescribeNotificationSubscriptionsOutput struct {
6958	_ struct{} `type:"structure"`
6959
6960	// The marker to use when requesting the next set of results. If there are no
6961	// additional results, the string is empty.
6962	Marker *string `min:"1" type:"string"`
6963
6964	// The subscriptions.
6965	Subscriptions []*Subscription `type:"list"`
6966}
6967
6968// String returns the string representation
6969func (s DescribeNotificationSubscriptionsOutput) String() string {
6970	return awsutil.Prettify(s)
6971}
6972
6973// GoString returns the string representation
6974func (s DescribeNotificationSubscriptionsOutput) GoString() string {
6975	return s.String()
6976}
6977
6978// SetMarker sets the Marker field's value.
6979func (s *DescribeNotificationSubscriptionsOutput) SetMarker(v string) *DescribeNotificationSubscriptionsOutput {
6980	s.Marker = &v
6981	return s
6982}
6983
6984// SetSubscriptions sets the Subscriptions field's value.
6985func (s *DescribeNotificationSubscriptionsOutput) SetSubscriptions(v []*Subscription) *DescribeNotificationSubscriptionsOutput {
6986	s.Subscriptions = v
6987	return s
6988}
6989
6990type DescribeResourcePermissionsInput struct {
6991	_ struct{} `type:"structure"`
6992
6993	// Amazon WorkDocs authentication token. Do not set this field when using administrative
6994	// API actions, as in accessing the API using AWS credentials.
6995	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
6996
6997	// The maximum number of items to return with this call.
6998	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
6999
7000	// The marker for the next set of results. (You received this marker from a
7001	// previous call)
7002	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
7003
7004	// The ID of the principal to filter permissions by.
7005	PrincipalId *string `location:"querystring" locationName:"principalId" min:"1" type:"string"`
7006
7007	// The ID of the resource.
7008	//
7009	// ResourceId is a required field
7010	ResourceId *string `location:"uri" locationName:"ResourceId" min:"1" type:"string" required:"true"`
7011}
7012
7013// String returns the string representation
7014func (s DescribeResourcePermissionsInput) String() string {
7015	return awsutil.Prettify(s)
7016}
7017
7018// GoString returns the string representation
7019func (s DescribeResourcePermissionsInput) GoString() string {
7020	return s.String()
7021}
7022
7023// Validate inspects the fields of the type to determine if they are valid.
7024func (s *DescribeResourcePermissionsInput) Validate() error {
7025	invalidParams := request.ErrInvalidParams{Context: "DescribeResourcePermissionsInput"}
7026	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
7027		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
7028	}
7029	if s.Limit != nil && *s.Limit < 1 {
7030		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
7031	}
7032	if s.Marker != nil && len(*s.Marker) < 1 {
7033		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
7034	}
7035	if s.PrincipalId != nil && len(*s.PrincipalId) < 1 {
7036		invalidParams.Add(request.NewErrParamMinLen("PrincipalId", 1))
7037	}
7038	if s.ResourceId == nil {
7039		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
7040	}
7041	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
7042		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
7043	}
7044
7045	if invalidParams.Len() > 0 {
7046		return invalidParams
7047	}
7048	return nil
7049}
7050
7051// SetAuthenticationToken sets the AuthenticationToken field's value.
7052func (s *DescribeResourcePermissionsInput) SetAuthenticationToken(v string) *DescribeResourcePermissionsInput {
7053	s.AuthenticationToken = &v
7054	return s
7055}
7056
7057// SetLimit sets the Limit field's value.
7058func (s *DescribeResourcePermissionsInput) SetLimit(v int64) *DescribeResourcePermissionsInput {
7059	s.Limit = &v
7060	return s
7061}
7062
7063// SetMarker sets the Marker field's value.
7064func (s *DescribeResourcePermissionsInput) SetMarker(v string) *DescribeResourcePermissionsInput {
7065	s.Marker = &v
7066	return s
7067}
7068
7069// SetPrincipalId sets the PrincipalId field's value.
7070func (s *DescribeResourcePermissionsInput) SetPrincipalId(v string) *DescribeResourcePermissionsInput {
7071	s.PrincipalId = &v
7072	return s
7073}
7074
7075// SetResourceId sets the ResourceId field's value.
7076func (s *DescribeResourcePermissionsInput) SetResourceId(v string) *DescribeResourcePermissionsInput {
7077	s.ResourceId = &v
7078	return s
7079}
7080
7081type DescribeResourcePermissionsOutput struct {
7082	_ struct{} `type:"structure"`
7083
7084	// The marker to use when requesting the next set of results. If there are no
7085	// additional results, the string is empty.
7086	Marker *string `min:"1" type:"string"`
7087
7088	// The principals.
7089	Principals []*Principal `type:"list"`
7090}
7091
7092// String returns the string representation
7093func (s DescribeResourcePermissionsOutput) String() string {
7094	return awsutil.Prettify(s)
7095}
7096
7097// GoString returns the string representation
7098func (s DescribeResourcePermissionsOutput) GoString() string {
7099	return s.String()
7100}
7101
7102// SetMarker sets the Marker field's value.
7103func (s *DescribeResourcePermissionsOutput) SetMarker(v string) *DescribeResourcePermissionsOutput {
7104	s.Marker = &v
7105	return s
7106}
7107
7108// SetPrincipals sets the Principals field's value.
7109func (s *DescribeResourcePermissionsOutput) SetPrincipals(v []*Principal) *DescribeResourcePermissionsOutput {
7110	s.Principals = v
7111	return s
7112}
7113
7114type DescribeRootFoldersInput struct {
7115	_ struct{} `type:"structure"`
7116
7117	// Amazon WorkDocs authentication token. Do not set this field when using administrative
7118	// API actions, as in accessing the API using AWS credentials.
7119	//
7120	// AuthenticationToken is a required field
7121	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" required:"true" sensitive:"true"`
7122
7123	// The maximum number of items to return.
7124	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
7125
7126	// The marker for the next set of results. (You received this marker from a
7127	// previous call.)
7128	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
7129}
7130
7131// String returns the string representation
7132func (s DescribeRootFoldersInput) String() string {
7133	return awsutil.Prettify(s)
7134}
7135
7136// GoString returns the string representation
7137func (s DescribeRootFoldersInput) GoString() string {
7138	return s.String()
7139}
7140
7141// Validate inspects the fields of the type to determine if they are valid.
7142func (s *DescribeRootFoldersInput) Validate() error {
7143	invalidParams := request.ErrInvalidParams{Context: "DescribeRootFoldersInput"}
7144	if s.AuthenticationToken == nil {
7145		invalidParams.Add(request.NewErrParamRequired("AuthenticationToken"))
7146	}
7147	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
7148		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
7149	}
7150	if s.Limit != nil && *s.Limit < 1 {
7151		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
7152	}
7153	if s.Marker != nil && len(*s.Marker) < 1 {
7154		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
7155	}
7156
7157	if invalidParams.Len() > 0 {
7158		return invalidParams
7159	}
7160	return nil
7161}
7162
7163// SetAuthenticationToken sets the AuthenticationToken field's value.
7164func (s *DescribeRootFoldersInput) SetAuthenticationToken(v string) *DescribeRootFoldersInput {
7165	s.AuthenticationToken = &v
7166	return s
7167}
7168
7169// SetLimit sets the Limit field's value.
7170func (s *DescribeRootFoldersInput) SetLimit(v int64) *DescribeRootFoldersInput {
7171	s.Limit = &v
7172	return s
7173}
7174
7175// SetMarker sets the Marker field's value.
7176func (s *DescribeRootFoldersInput) SetMarker(v string) *DescribeRootFoldersInput {
7177	s.Marker = &v
7178	return s
7179}
7180
7181type DescribeRootFoldersOutput struct {
7182	_ struct{} `type:"structure"`
7183
7184	// The user's special folders.
7185	Folders []*FolderMetadata `type:"list"`
7186
7187	// The marker for the next set of results.
7188	Marker *string `min:"1" type:"string"`
7189}
7190
7191// String returns the string representation
7192func (s DescribeRootFoldersOutput) String() string {
7193	return awsutil.Prettify(s)
7194}
7195
7196// GoString returns the string representation
7197func (s DescribeRootFoldersOutput) GoString() string {
7198	return s.String()
7199}
7200
7201// SetFolders sets the Folders field's value.
7202func (s *DescribeRootFoldersOutput) SetFolders(v []*FolderMetadata) *DescribeRootFoldersOutput {
7203	s.Folders = v
7204	return s
7205}
7206
7207// SetMarker sets the Marker field's value.
7208func (s *DescribeRootFoldersOutput) SetMarker(v string) *DescribeRootFoldersOutput {
7209	s.Marker = &v
7210	return s
7211}
7212
7213type DescribeUsersInput struct {
7214	_ struct{} `type:"structure"`
7215
7216	// Amazon WorkDocs authentication token. Do not set this field when using administrative
7217	// API actions, as in accessing the API using AWS credentials.
7218	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
7219
7220	// A comma-separated list of values. Specify "STORAGE_METADATA" to include the
7221	// user storage quota and utilization information.
7222	Fields *string `location:"querystring" locationName:"fields" min:"1" type:"string"`
7223
7224	// The state of the users. Specify "ALL" to include inactive users.
7225	Include *string `location:"querystring" locationName:"include" type:"string" enum:"UserFilterType"`
7226
7227	// The maximum number of items to return.
7228	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
7229
7230	// The marker for the next set of results. (You received this marker from a
7231	// previous call.)
7232	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
7233
7234	// The order for the results.
7235	Order *string `location:"querystring" locationName:"order" type:"string" enum:"OrderType"`
7236
7237	// The ID of the organization.
7238	OrganizationId *string `location:"querystring" locationName:"organizationId" min:"1" type:"string"`
7239
7240	// A query to filter users by user name.
7241	Query *string `location:"querystring" locationName:"query" min:"1" type:"string" sensitive:"true"`
7242
7243	// The sorting criteria.
7244	Sort *string `location:"querystring" locationName:"sort" type:"string" enum:"UserSortType"`
7245
7246	// The IDs of the users.
7247	UserIds *string `location:"querystring" locationName:"userIds" min:"1" type:"string"`
7248}
7249
7250// String returns the string representation
7251func (s DescribeUsersInput) String() string {
7252	return awsutil.Prettify(s)
7253}
7254
7255// GoString returns the string representation
7256func (s DescribeUsersInput) GoString() string {
7257	return s.String()
7258}
7259
7260// Validate inspects the fields of the type to determine if they are valid.
7261func (s *DescribeUsersInput) Validate() error {
7262	invalidParams := request.ErrInvalidParams{Context: "DescribeUsersInput"}
7263	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
7264		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
7265	}
7266	if s.Fields != nil && len(*s.Fields) < 1 {
7267		invalidParams.Add(request.NewErrParamMinLen("Fields", 1))
7268	}
7269	if s.Limit != nil && *s.Limit < 1 {
7270		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
7271	}
7272	if s.Marker != nil && len(*s.Marker) < 1 {
7273		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
7274	}
7275	if s.OrganizationId != nil && len(*s.OrganizationId) < 1 {
7276		invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 1))
7277	}
7278	if s.Query != nil && len(*s.Query) < 1 {
7279		invalidParams.Add(request.NewErrParamMinLen("Query", 1))
7280	}
7281	if s.UserIds != nil && len(*s.UserIds) < 1 {
7282		invalidParams.Add(request.NewErrParamMinLen("UserIds", 1))
7283	}
7284
7285	if invalidParams.Len() > 0 {
7286		return invalidParams
7287	}
7288	return nil
7289}
7290
7291// SetAuthenticationToken sets the AuthenticationToken field's value.
7292func (s *DescribeUsersInput) SetAuthenticationToken(v string) *DescribeUsersInput {
7293	s.AuthenticationToken = &v
7294	return s
7295}
7296
7297// SetFields sets the Fields field's value.
7298func (s *DescribeUsersInput) SetFields(v string) *DescribeUsersInput {
7299	s.Fields = &v
7300	return s
7301}
7302
7303// SetInclude sets the Include field's value.
7304func (s *DescribeUsersInput) SetInclude(v string) *DescribeUsersInput {
7305	s.Include = &v
7306	return s
7307}
7308
7309// SetLimit sets the Limit field's value.
7310func (s *DescribeUsersInput) SetLimit(v int64) *DescribeUsersInput {
7311	s.Limit = &v
7312	return s
7313}
7314
7315// SetMarker sets the Marker field's value.
7316func (s *DescribeUsersInput) SetMarker(v string) *DescribeUsersInput {
7317	s.Marker = &v
7318	return s
7319}
7320
7321// SetOrder sets the Order field's value.
7322func (s *DescribeUsersInput) SetOrder(v string) *DescribeUsersInput {
7323	s.Order = &v
7324	return s
7325}
7326
7327// SetOrganizationId sets the OrganizationId field's value.
7328func (s *DescribeUsersInput) SetOrganizationId(v string) *DescribeUsersInput {
7329	s.OrganizationId = &v
7330	return s
7331}
7332
7333// SetQuery sets the Query field's value.
7334func (s *DescribeUsersInput) SetQuery(v string) *DescribeUsersInput {
7335	s.Query = &v
7336	return s
7337}
7338
7339// SetSort sets the Sort field's value.
7340func (s *DescribeUsersInput) SetSort(v string) *DescribeUsersInput {
7341	s.Sort = &v
7342	return s
7343}
7344
7345// SetUserIds sets the UserIds field's value.
7346func (s *DescribeUsersInput) SetUserIds(v string) *DescribeUsersInput {
7347	s.UserIds = &v
7348	return s
7349}
7350
7351type DescribeUsersOutput struct {
7352	_ struct{} `type:"structure"`
7353
7354	// The marker to use when requesting the next set of results. If there are no
7355	// additional results, the string is empty.
7356	Marker *string `min:"1" type:"string"`
7357
7358	// The total number of users included in the results.
7359	//
7360	// Deprecated: TotalNumberOfUsers has been deprecated
7361	TotalNumberOfUsers *int64 `deprecated:"true" type:"long"`
7362
7363	// The users.
7364	Users []*User `type:"list"`
7365}
7366
7367// String returns the string representation
7368func (s DescribeUsersOutput) String() string {
7369	return awsutil.Prettify(s)
7370}
7371
7372// GoString returns the string representation
7373func (s DescribeUsersOutput) GoString() string {
7374	return s.String()
7375}
7376
7377// SetMarker sets the Marker field's value.
7378func (s *DescribeUsersOutput) SetMarker(v string) *DescribeUsersOutput {
7379	s.Marker = &v
7380	return s
7381}
7382
7383// SetTotalNumberOfUsers sets the TotalNumberOfUsers field's value.
7384func (s *DescribeUsersOutput) SetTotalNumberOfUsers(v int64) *DescribeUsersOutput {
7385	s.TotalNumberOfUsers = &v
7386	return s
7387}
7388
7389// SetUsers sets the Users field's value.
7390func (s *DescribeUsersOutput) SetUsers(v []*User) *DescribeUsersOutput {
7391	s.Users = v
7392	return s
7393}
7394
7395// Describes the document.
7396type DocumentMetadata struct {
7397	_ struct{} `type:"structure"`
7398
7399	// The time when the document was created.
7400	CreatedTimestamp *time.Time `type:"timestamp"`
7401
7402	// The ID of the creator.
7403	CreatorId *string `min:"1" type:"string"`
7404
7405	// The ID of the document.
7406	Id *string `min:"1" type:"string"`
7407
7408	// List of labels on the document.
7409	Labels []*string `type:"list"`
7410
7411	// The latest version of the document.
7412	LatestVersionMetadata *DocumentVersionMetadata `type:"structure"`
7413
7414	// The time when the document was updated.
7415	ModifiedTimestamp *time.Time `type:"timestamp"`
7416
7417	// The ID of the parent folder.
7418	ParentFolderId *string `min:"1" type:"string"`
7419
7420	// The resource state.
7421	ResourceState *string `type:"string" enum:"ResourceStateType"`
7422}
7423
7424// String returns the string representation
7425func (s DocumentMetadata) String() string {
7426	return awsutil.Prettify(s)
7427}
7428
7429// GoString returns the string representation
7430func (s DocumentMetadata) GoString() string {
7431	return s.String()
7432}
7433
7434// SetCreatedTimestamp sets the CreatedTimestamp field's value.
7435func (s *DocumentMetadata) SetCreatedTimestamp(v time.Time) *DocumentMetadata {
7436	s.CreatedTimestamp = &v
7437	return s
7438}
7439
7440// SetCreatorId sets the CreatorId field's value.
7441func (s *DocumentMetadata) SetCreatorId(v string) *DocumentMetadata {
7442	s.CreatorId = &v
7443	return s
7444}
7445
7446// SetId sets the Id field's value.
7447func (s *DocumentMetadata) SetId(v string) *DocumentMetadata {
7448	s.Id = &v
7449	return s
7450}
7451
7452// SetLabels sets the Labels field's value.
7453func (s *DocumentMetadata) SetLabels(v []*string) *DocumentMetadata {
7454	s.Labels = v
7455	return s
7456}
7457
7458// SetLatestVersionMetadata sets the LatestVersionMetadata field's value.
7459func (s *DocumentMetadata) SetLatestVersionMetadata(v *DocumentVersionMetadata) *DocumentMetadata {
7460	s.LatestVersionMetadata = v
7461	return s
7462}
7463
7464// SetModifiedTimestamp sets the ModifiedTimestamp field's value.
7465func (s *DocumentMetadata) SetModifiedTimestamp(v time.Time) *DocumentMetadata {
7466	s.ModifiedTimestamp = &v
7467	return s
7468}
7469
7470// SetParentFolderId sets the ParentFolderId field's value.
7471func (s *DocumentMetadata) SetParentFolderId(v string) *DocumentMetadata {
7472	s.ParentFolderId = &v
7473	return s
7474}
7475
7476// SetResourceState sets the ResourceState field's value.
7477func (s *DocumentMetadata) SetResourceState(v string) *DocumentMetadata {
7478	s.ResourceState = &v
7479	return s
7480}
7481
7482// Describes a version of a document.
7483type DocumentVersionMetadata struct {
7484	_ struct{} `type:"structure"`
7485
7486	// The timestamp when the content of the document was originally created.
7487	ContentCreatedTimestamp *time.Time `type:"timestamp"`
7488
7489	// The timestamp when the content of the document was modified.
7490	ContentModifiedTimestamp *time.Time `type:"timestamp"`
7491
7492	// The content type of the document.
7493	ContentType *string `min:"1" type:"string"`
7494
7495	// The timestamp when the document was first uploaded.
7496	CreatedTimestamp *time.Time `type:"timestamp"`
7497
7498	// The ID of the creator.
7499	CreatorId *string `min:"1" type:"string"`
7500
7501	// The ID of the version.
7502	Id *string `min:"1" type:"string"`
7503
7504	// The timestamp when the document was last uploaded.
7505	ModifiedTimestamp *time.Time `type:"timestamp"`
7506
7507	// The name of the version.
7508	Name *string `min:"1" type:"string"`
7509
7510	// The signature of the document.
7511	Signature *string `type:"string"`
7512
7513	// The size of the document, in bytes.
7514	Size *int64 `type:"long"`
7515
7516	// The source of the document.
7517	Source map[string]*string `type:"map"`
7518
7519	// The status of the document.
7520	Status *string `type:"string" enum:"DocumentStatusType"`
7521
7522	// The thumbnail of the document.
7523	Thumbnail map[string]*string `type:"map"`
7524}
7525
7526// String returns the string representation
7527func (s DocumentVersionMetadata) String() string {
7528	return awsutil.Prettify(s)
7529}
7530
7531// GoString returns the string representation
7532func (s DocumentVersionMetadata) GoString() string {
7533	return s.String()
7534}
7535
7536// SetContentCreatedTimestamp sets the ContentCreatedTimestamp field's value.
7537func (s *DocumentVersionMetadata) SetContentCreatedTimestamp(v time.Time) *DocumentVersionMetadata {
7538	s.ContentCreatedTimestamp = &v
7539	return s
7540}
7541
7542// SetContentModifiedTimestamp sets the ContentModifiedTimestamp field's value.
7543func (s *DocumentVersionMetadata) SetContentModifiedTimestamp(v time.Time) *DocumentVersionMetadata {
7544	s.ContentModifiedTimestamp = &v
7545	return s
7546}
7547
7548// SetContentType sets the ContentType field's value.
7549func (s *DocumentVersionMetadata) SetContentType(v string) *DocumentVersionMetadata {
7550	s.ContentType = &v
7551	return s
7552}
7553
7554// SetCreatedTimestamp sets the CreatedTimestamp field's value.
7555func (s *DocumentVersionMetadata) SetCreatedTimestamp(v time.Time) *DocumentVersionMetadata {
7556	s.CreatedTimestamp = &v
7557	return s
7558}
7559
7560// SetCreatorId sets the CreatorId field's value.
7561func (s *DocumentVersionMetadata) SetCreatorId(v string) *DocumentVersionMetadata {
7562	s.CreatorId = &v
7563	return s
7564}
7565
7566// SetId sets the Id field's value.
7567func (s *DocumentVersionMetadata) SetId(v string) *DocumentVersionMetadata {
7568	s.Id = &v
7569	return s
7570}
7571
7572// SetModifiedTimestamp sets the ModifiedTimestamp field's value.
7573func (s *DocumentVersionMetadata) SetModifiedTimestamp(v time.Time) *DocumentVersionMetadata {
7574	s.ModifiedTimestamp = &v
7575	return s
7576}
7577
7578// SetName sets the Name field's value.
7579func (s *DocumentVersionMetadata) SetName(v string) *DocumentVersionMetadata {
7580	s.Name = &v
7581	return s
7582}
7583
7584// SetSignature sets the Signature field's value.
7585func (s *DocumentVersionMetadata) SetSignature(v string) *DocumentVersionMetadata {
7586	s.Signature = &v
7587	return s
7588}
7589
7590// SetSize sets the Size field's value.
7591func (s *DocumentVersionMetadata) SetSize(v int64) *DocumentVersionMetadata {
7592	s.Size = &v
7593	return s
7594}
7595
7596// SetSource sets the Source field's value.
7597func (s *DocumentVersionMetadata) SetSource(v map[string]*string) *DocumentVersionMetadata {
7598	s.Source = v
7599	return s
7600}
7601
7602// SetStatus sets the Status field's value.
7603func (s *DocumentVersionMetadata) SetStatus(v string) *DocumentVersionMetadata {
7604	s.Status = &v
7605	return s
7606}
7607
7608// SetThumbnail sets the Thumbnail field's value.
7609func (s *DocumentVersionMetadata) SetThumbnail(v map[string]*string) *DocumentVersionMetadata {
7610	s.Thumbnail = v
7611	return s
7612}
7613
7614// Describes a folder.
7615type FolderMetadata struct {
7616	_ struct{} `type:"structure"`
7617
7618	// The time when the folder was created.
7619	CreatedTimestamp *time.Time `type:"timestamp"`
7620
7621	// The ID of the creator.
7622	CreatorId *string `min:"1" type:"string"`
7623
7624	// The ID of the folder.
7625	Id *string `min:"1" type:"string"`
7626
7627	// List of labels on the folder.
7628	Labels []*string `type:"list"`
7629
7630	// The size of the latest version of the folder metadata.
7631	LatestVersionSize *int64 `type:"long"`
7632
7633	// The time when the folder was updated.
7634	ModifiedTimestamp *time.Time `type:"timestamp"`
7635
7636	// The name of the folder.
7637	Name *string `min:"1" type:"string"`
7638
7639	// The ID of the parent folder.
7640	ParentFolderId *string `min:"1" type:"string"`
7641
7642	// The resource state of the folder.
7643	ResourceState *string `type:"string" enum:"ResourceStateType"`
7644
7645	// The unique identifier created from the subfolders and documents of the folder.
7646	Signature *string `type:"string"`
7647
7648	// The size of the folder metadata.
7649	Size *int64 `type:"long"`
7650}
7651
7652// String returns the string representation
7653func (s FolderMetadata) String() string {
7654	return awsutil.Prettify(s)
7655}
7656
7657// GoString returns the string representation
7658func (s FolderMetadata) GoString() string {
7659	return s.String()
7660}
7661
7662// SetCreatedTimestamp sets the CreatedTimestamp field's value.
7663func (s *FolderMetadata) SetCreatedTimestamp(v time.Time) *FolderMetadata {
7664	s.CreatedTimestamp = &v
7665	return s
7666}
7667
7668// SetCreatorId sets the CreatorId field's value.
7669func (s *FolderMetadata) SetCreatorId(v string) *FolderMetadata {
7670	s.CreatorId = &v
7671	return s
7672}
7673
7674// SetId sets the Id field's value.
7675func (s *FolderMetadata) SetId(v string) *FolderMetadata {
7676	s.Id = &v
7677	return s
7678}
7679
7680// SetLabels sets the Labels field's value.
7681func (s *FolderMetadata) SetLabels(v []*string) *FolderMetadata {
7682	s.Labels = v
7683	return s
7684}
7685
7686// SetLatestVersionSize sets the LatestVersionSize field's value.
7687func (s *FolderMetadata) SetLatestVersionSize(v int64) *FolderMetadata {
7688	s.LatestVersionSize = &v
7689	return s
7690}
7691
7692// SetModifiedTimestamp sets the ModifiedTimestamp field's value.
7693func (s *FolderMetadata) SetModifiedTimestamp(v time.Time) *FolderMetadata {
7694	s.ModifiedTimestamp = &v
7695	return s
7696}
7697
7698// SetName sets the Name field's value.
7699func (s *FolderMetadata) SetName(v string) *FolderMetadata {
7700	s.Name = &v
7701	return s
7702}
7703
7704// SetParentFolderId sets the ParentFolderId field's value.
7705func (s *FolderMetadata) SetParentFolderId(v string) *FolderMetadata {
7706	s.ParentFolderId = &v
7707	return s
7708}
7709
7710// SetResourceState sets the ResourceState field's value.
7711func (s *FolderMetadata) SetResourceState(v string) *FolderMetadata {
7712	s.ResourceState = &v
7713	return s
7714}
7715
7716// SetSignature sets the Signature field's value.
7717func (s *FolderMetadata) SetSignature(v string) *FolderMetadata {
7718	s.Signature = &v
7719	return s
7720}
7721
7722// SetSize sets the Size field's value.
7723func (s *FolderMetadata) SetSize(v int64) *FolderMetadata {
7724	s.Size = &v
7725	return s
7726}
7727
7728type GetCurrentUserInput struct {
7729	_ struct{} `type:"structure"`
7730
7731	// Amazon WorkDocs authentication token. Do not set this field when using administrative
7732	// API actions, as in accessing the API using AWS credentials.
7733	//
7734	// AuthenticationToken is a required field
7735	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" required:"true" sensitive:"true"`
7736}
7737
7738// String returns the string representation
7739func (s GetCurrentUserInput) String() string {
7740	return awsutil.Prettify(s)
7741}
7742
7743// GoString returns the string representation
7744func (s GetCurrentUserInput) GoString() string {
7745	return s.String()
7746}
7747
7748// Validate inspects the fields of the type to determine if they are valid.
7749func (s *GetCurrentUserInput) Validate() error {
7750	invalidParams := request.ErrInvalidParams{Context: "GetCurrentUserInput"}
7751	if s.AuthenticationToken == nil {
7752		invalidParams.Add(request.NewErrParamRequired("AuthenticationToken"))
7753	}
7754	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
7755		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
7756	}
7757
7758	if invalidParams.Len() > 0 {
7759		return invalidParams
7760	}
7761	return nil
7762}
7763
7764// SetAuthenticationToken sets the AuthenticationToken field's value.
7765func (s *GetCurrentUserInput) SetAuthenticationToken(v string) *GetCurrentUserInput {
7766	s.AuthenticationToken = &v
7767	return s
7768}
7769
7770type GetCurrentUserOutput struct {
7771	_ struct{} `type:"structure"`
7772
7773	// Metadata of the user.
7774	User *User `type:"structure"`
7775}
7776
7777// String returns the string representation
7778func (s GetCurrentUserOutput) String() string {
7779	return awsutil.Prettify(s)
7780}
7781
7782// GoString returns the string representation
7783func (s GetCurrentUserOutput) GoString() string {
7784	return s.String()
7785}
7786
7787// SetUser sets the User field's value.
7788func (s *GetCurrentUserOutput) SetUser(v *User) *GetCurrentUserOutput {
7789	s.User = v
7790	return s
7791}
7792
7793type GetDocumentInput struct {
7794	_ struct{} `type:"structure"`
7795
7796	// Amazon WorkDocs authentication token. Do not set this field when using administrative
7797	// API actions, as in accessing the API using AWS credentials.
7798	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
7799
7800	// The ID of the document.
7801	//
7802	// DocumentId is a required field
7803	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
7804
7805	// Set this to TRUE to include custom metadata in the response.
7806	IncludeCustomMetadata *bool `location:"querystring" locationName:"includeCustomMetadata" type:"boolean"`
7807}
7808
7809// String returns the string representation
7810func (s GetDocumentInput) String() string {
7811	return awsutil.Prettify(s)
7812}
7813
7814// GoString returns the string representation
7815func (s GetDocumentInput) GoString() string {
7816	return s.String()
7817}
7818
7819// Validate inspects the fields of the type to determine if they are valid.
7820func (s *GetDocumentInput) Validate() error {
7821	invalidParams := request.ErrInvalidParams{Context: "GetDocumentInput"}
7822	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
7823		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
7824	}
7825	if s.DocumentId == nil {
7826		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
7827	}
7828	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
7829		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
7830	}
7831
7832	if invalidParams.Len() > 0 {
7833		return invalidParams
7834	}
7835	return nil
7836}
7837
7838// SetAuthenticationToken sets the AuthenticationToken field's value.
7839func (s *GetDocumentInput) SetAuthenticationToken(v string) *GetDocumentInput {
7840	s.AuthenticationToken = &v
7841	return s
7842}
7843
7844// SetDocumentId sets the DocumentId field's value.
7845func (s *GetDocumentInput) SetDocumentId(v string) *GetDocumentInput {
7846	s.DocumentId = &v
7847	return s
7848}
7849
7850// SetIncludeCustomMetadata sets the IncludeCustomMetadata field's value.
7851func (s *GetDocumentInput) SetIncludeCustomMetadata(v bool) *GetDocumentInput {
7852	s.IncludeCustomMetadata = &v
7853	return s
7854}
7855
7856type GetDocumentOutput struct {
7857	_ struct{} `type:"structure"`
7858
7859	// The custom metadata on the document.
7860	CustomMetadata map[string]*string `min:"1" type:"map"`
7861
7862	// The metadata details of the document.
7863	Metadata *DocumentMetadata `type:"structure"`
7864}
7865
7866// String returns the string representation
7867func (s GetDocumentOutput) String() string {
7868	return awsutil.Prettify(s)
7869}
7870
7871// GoString returns the string representation
7872func (s GetDocumentOutput) GoString() string {
7873	return s.String()
7874}
7875
7876// SetCustomMetadata sets the CustomMetadata field's value.
7877func (s *GetDocumentOutput) SetCustomMetadata(v map[string]*string) *GetDocumentOutput {
7878	s.CustomMetadata = v
7879	return s
7880}
7881
7882// SetMetadata sets the Metadata field's value.
7883func (s *GetDocumentOutput) SetMetadata(v *DocumentMetadata) *GetDocumentOutput {
7884	s.Metadata = v
7885	return s
7886}
7887
7888type GetDocumentPathInput struct {
7889	_ struct{} `type:"structure"`
7890
7891	// Amazon WorkDocs authentication token. Do not set this field when using administrative
7892	// API actions, as in accessing the API using AWS credentials.
7893	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
7894
7895	// The ID of the document.
7896	//
7897	// DocumentId is a required field
7898	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
7899
7900	// A comma-separated list of values. Specify NAME to include the names of the
7901	// parent folders.
7902	Fields *string `location:"querystring" locationName:"fields" min:"1" type:"string"`
7903
7904	// The maximum number of levels in the hierarchy to return.
7905	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
7906
7907	// This value is not supported.
7908	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
7909}
7910
7911// String returns the string representation
7912func (s GetDocumentPathInput) String() string {
7913	return awsutil.Prettify(s)
7914}
7915
7916// GoString returns the string representation
7917func (s GetDocumentPathInput) GoString() string {
7918	return s.String()
7919}
7920
7921// Validate inspects the fields of the type to determine if they are valid.
7922func (s *GetDocumentPathInput) Validate() error {
7923	invalidParams := request.ErrInvalidParams{Context: "GetDocumentPathInput"}
7924	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
7925		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
7926	}
7927	if s.DocumentId == nil {
7928		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
7929	}
7930	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
7931		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
7932	}
7933	if s.Fields != nil && len(*s.Fields) < 1 {
7934		invalidParams.Add(request.NewErrParamMinLen("Fields", 1))
7935	}
7936	if s.Limit != nil && *s.Limit < 1 {
7937		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
7938	}
7939	if s.Marker != nil && len(*s.Marker) < 1 {
7940		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
7941	}
7942
7943	if invalidParams.Len() > 0 {
7944		return invalidParams
7945	}
7946	return nil
7947}
7948
7949// SetAuthenticationToken sets the AuthenticationToken field's value.
7950func (s *GetDocumentPathInput) SetAuthenticationToken(v string) *GetDocumentPathInput {
7951	s.AuthenticationToken = &v
7952	return s
7953}
7954
7955// SetDocumentId sets the DocumentId field's value.
7956func (s *GetDocumentPathInput) SetDocumentId(v string) *GetDocumentPathInput {
7957	s.DocumentId = &v
7958	return s
7959}
7960
7961// SetFields sets the Fields field's value.
7962func (s *GetDocumentPathInput) SetFields(v string) *GetDocumentPathInput {
7963	s.Fields = &v
7964	return s
7965}
7966
7967// SetLimit sets the Limit field's value.
7968func (s *GetDocumentPathInput) SetLimit(v int64) *GetDocumentPathInput {
7969	s.Limit = &v
7970	return s
7971}
7972
7973// SetMarker sets the Marker field's value.
7974func (s *GetDocumentPathInput) SetMarker(v string) *GetDocumentPathInput {
7975	s.Marker = &v
7976	return s
7977}
7978
7979type GetDocumentPathOutput struct {
7980	_ struct{} `type:"structure"`
7981
7982	// The path information.
7983	Path *ResourcePath `type:"structure"`
7984}
7985
7986// String returns the string representation
7987func (s GetDocumentPathOutput) String() string {
7988	return awsutil.Prettify(s)
7989}
7990
7991// GoString returns the string representation
7992func (s GetDocumentPathOutput) GoString() string {
7993	return s.String()
7994}
7995
7996// SetPath sets the Path field's value.
7997func (s *GetDocumentPathOutput) SetPath(v *ResourcePath) *GetDocumentPathOutput {
7998	s.Path = v
7999	return s
8000}
8001
8002type GetDocumentVersionInput struct {
8003	_ struct{} `type:"structure"`
8004
8005	// Amazon WorkDocs authentication token. Do not set this field when using administrative
8006	// API actions, as in accessing the API using AWS credentials.
8007	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
8008
8009	// The ID of the document.
8010	//
8011	// DocumentId is a required field
8012	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
8013
8014	// A comma-separated list of values. Specify "SOURCE" to include a URL for the
8015	// source document.
8016	Fields *string `location:"querystring" locationName:"fields" min:"1" type:"string"`
8017
8018	// Set this to TRUE to include custom metadata in the response.
8019	IncludeCustomMetadata *bool `location:"querystring" locationName:"includeCustomMetadata" type:"boolean"`
8020
8021	// The version ID of the document.
8022	//
8023	// VersionId is a required field
8024	VersionId *string `location:"uri" locationName:"VersionId" min:"1" type:"string" required:"true"`
8025}
8026
8027// String returns the string representation
8028func (s GetDocumentVersionInput) String() string {
8029	return awsutil.Prettify(s)
8030}
8031
8032// GoString returns the string representation
8033func (s GetDocumentVersionInput) GoString() string {
8034	return s.String()
8035}
8036
8037// Validate inspects the fields of the type to determine if they are valid.
8038func (s *GetDocumentVersionInput) Validate() error {
8039	invalidParams := request.ErrInvalidParams{Context: "GetDocumentVersionInput"}
8040	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
8041		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
8042	}
8043	if s.DocumentId == nil {
8044		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
8045	}
8046	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
8047		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
8048	}
8049	if s.Fields != nil && len(*s.Fields) < 1 {
8050		invalidParams.Add(request.NewErrParamMinLen("Fields", 1))
8051	}
8052	if s.VersionId == nil {
8053		invalidParams.Add(request.NewErrParamRequired("VersionId"))
8054	}
8055	if s.VersionId != nil && len(*s.VersionId) < 1 {
8056		invalidParams.Add(request.NewErrParamMinLen("VersionId", 1))
8057	}
8058
8059	if invalidParams.Len() > 0 {
8060		return invalidParams
8061	}
8062	return nil
8063}
8064
8065// SetAuthenticationToken sets the AuthenticationToken field's value.
8066func (s *GetDocumentVersionInput) SetAuthenticationToken(v string) *GetDocumentVersionInput {
8067	s.AuthenticationToken = &v
8068	return s
8069}
8070
8071// SetDocumentId sets the DocumentId field's value.
8072func (s *GetDocumentVersionInput) SetDocumentId(v string) *GetDocumentVersionInput {
8073	s.DocumentId = &v
8074	return s
8075}
8076
8077// SetFields sets the Fields field's value.
8078func (s *GetDocumentVersionInput) SetFields(v string) *GetDocumentVersionInput {
8079	s.Fields = &v
8080	return s
8081}
8082
8083// SetIncludeCustomMetadata sets the IncludeCustomMetadata field's value.
8084func (s *GetDocumentVersionInput) SetIncludeCustomMetadata(v bool) *GetDocumentVersionInput {
8085	s.IncludeCustomMetadata = &v
8086	return s
8087}
8088
8089// SetVersionId sets the VersionId field's value.
8090func (s *GetDocumentVersionInput) SetVersionId(v string) *GetDocumentVersionInput {
8091	s.VersionId = &v
8092	return s
8093}
8094
8095type GetDocumentVersionOutput struct {
8096	_ struct{} `type:"structure"`
8097
8098	// The custom metadata on the document version.
8099	CustomMetadata map[string]*string `min:"1" type:"map"`
8100
8101	// The version metadata.
8102	Metadata *DocumentVersionMetadata `type:"structure"`
8103}
8104
8105// String returns the string representation
8106func (s GetDocumentVersionOutput) String() string {
8107	return awsutil.Prettify(s)
8108}
8109
8110// GoString returns the string representation
8111func (s GetDocumentVersionOutput) GoString() string {
8112	return s.String()
8113}
8114
8115// SetCustomMetadata sets the CustomMetadata field's value.
8116func (s *GetDocumentVersionOutput) SetCustomMetadata(v map[string]*string) *GetDocumentVersionOutput {
8117	s.CustomMetadata = v
8118	return s
8119}
8120
8121// SetMetadata sets the Metadata field's value.
8122func (s *GetDocumentVersionOutput) SetMetadata(v *DocumentVersionMetadata) *GetDocumentVersionOutput {
8123	s.Metadata = v
8124	return s
8125}
8126
8127type GetFolderInput struct {
8128	_ struct{} `type:"structure"`
8129
8130	// Amazon WorkDocs authentication token. Do not set this field when using administrative
8131	// API actions, as in accessing the API using AWS credentials.
8132	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
8133
8134	// The ID of the folder.
8135	//
8136	// FolderId is a required field
8137	FolderId *string `location:"uri" locationName:"FolderId" min:"1" type:"string" required:"true"`
8138
8139	// Set to TRUE to include custom metadata in the response.
8140	IncludeCustomMetadata *bool `location:"querystring" locationName:"includeCustomMetadata" type:"boolean"`
8141}
8142
8143// String returns the string representation
8144func (s GetFolderInput) String() string {
8145	return awsutil.Prettify(s)
8146}
8147
8148// GoString returns the string representation
8149func (s GetFolderInput) GoString() string {
8150	return s.String()
8151}
8152
8153// Validate inspects the fields of the type to determine if they are valid.
8154func (s *GetFolderInput) Validate() error {
8155	invalidParams := request.ErrInvalidParams{Context: "GetFolderInput"}
8156	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
8157		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
8158	}
8159	if s.FolderId == nil {
8160		invalidParams.Add(request.NewErrParamRequired("FolderId"))
8161	}
8162	if s.FolderId != nil && len(*s.FolderId) < 1 {
8163		invalidParams.Add(request.NewErrParamMinLen("FolderId", 1))
8164	}
8165
8166	if invalidParams.Len() > 0 {
8167		return invalidParams
8168	}
8169	return nil
8170}
8171
8172// SetAuthenticationToken sets the AuthenticationToken field's value.
8173func (s *GetFolderInput) SetAuthenticationToken(v string) *GetFolderInput {
8174	s.AuthenticationToken = &v
8175	return s
8176}
8177
8178// SetFolderId sets the FolderId field's value.
8179func (s *GetFolderInput) SetFolderId(v string) *GetFolderInput {
8180	s.FolderId = &v
8181	return s
8182}
8183
8184// SetIncludeCustomMetadata sets the IncludeCustomMetadata field's value.
8185func (s *GetFolderInput) SetIncludeCustomMetadata(v bool) *GetFolderInput {
8186	s.IncludeCustomMetadata = &v
8187	return s
8188}
8189
8190type GetFolderOutput struct {
8191	_ struct{} `type:"structure"`
8192
8193	// The custom metadata on the folder.
8194	CustomMetadata map[string]*string `min:"1" type:"map"`
8195
8196	// The metadata of the folder.
8197	Metadata *FolderMetadata `type:"structure"`
8198}
8199
8200// String returns the string representation
8201func (s GetFolderOutput) String() string {
8202	return awsutil.Prettify(s)
8203}
8204
8205// GoString returns the string representation
8206func (s GetFolderOutput) GoString() string {
8207	return s.String()
8208}
8209
8210// SetCustomMetadata sets the CustomMetadata field's value.
8211func (s *GetFolderOutput) SetCustomMetadata(v map[string]*string) *GetFolderOutput {
8212	s.CustomMetadata = v
8213	return s
8214}
8215
8216// SetMetadata sets the Metadata field's value.
8217func (s *GetFolderOutput) SetMetadata(v *FolderMetadata) *GetFolderOutput {
8218	s.Metadata = v
8219	return s
8220}
8221
8222type GetFolderPathInput struct {
8223	_ struct{} `type:"structure"`
8224
8225	// Amazon WorkDocs authentication token. Do not set this field when using administrative
8226	// API actions, as in accessing the API using AWS credentials.
8227	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
8228
8229	// A comma-separated list of values. Specify "NAME" to include the names of
8230	// the parent folders.
8231	Fields *string `location:"querystring" locationName:"fields" min:"1" type:"string"`
8232
8233	// The ID of the folder.
8234	//
8235	// FolderId is a required field
8236	FolderId *string `location:"uri" locationName:"FolderId" min:"1" type:"string" required:"true"`
8237
8238	// The maximum number of levels in the hierarchy to return.
8239	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
8240
8241	// This value is not supported.
8242	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
8243}
8244
8245// String returns the string representation
8246func (s GetFolderPathInput) String() string {
8247	return awsutil.Prettify(s)
8248}
8249
8250// GoString returns the string representation
8251func (s GetFolderPathInput) GoString() string {
8252	return s.String()
8253}
8254
8255// Validate inspects the fields of the type to determine if they are valid.
8256func (s *GetFolderPathInput) Validate() error {
8257	invalidParams := request.ErrInvalidParams{Context: "GetFolderPathInput"}
8258	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
8259		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
8260	}
8261	if s.Fields != nil && len(*s.Fields) < 1 {
8262		invalidParams.Add(request.NewErrParamMinLen("Fields", 1))
8263	}
8264	if s.FolderId == nil {
8265		invalidParams.Add(request.NewErrParamRequired("FolderId"))
8266	}
8267	if s.FolderId != nil && len(*s.FolderId) < 1 {
8268		invalidParams.Add(request.NewErrParamMinLen("FolderId", 1))
8269	}
8270	if s.Limit != nil && *s.Limit < 1 {
8271		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
8272	}
8273	if s.Marker != nil && len(*s.Marker) < 1 {
8274		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
8275	}
8276
8277	if invalidParams.Len() > 0 {
8278		return invalidParams
8279	}
8280	return nil
8281}
8282
8283// SetAuthenticationToken sets the AuthenticationToken field's value.
8284func (s *GetFolderPathInput) SetAuthenticationToken(v string) *GetFolderPathInput {
8285	s.AuthenticationToken = &v
8286	return s
8287}
8288
8289// SetFields sets the Fields field's value.
8290func (s *GetFolderPathInput) SetFields(v string) *GetFolderPathInput {
8291	s.Fields = &v
8292	return s
8293}
8294
8295// SetFolderId sets the FolderId field's value.
8296func (s *GetFolderPathInput) SetFolderId(v string) *GetFolderPathInput {
8297	s.FolderId = &v
8298	return s
8299}
8300
8301// SetLimit sets the Limit field's value.
8302func (s *GetFolderPathInput) SetLimit(v int64) *GetFolderPathInput {
8303	s.Limit = &v
8304	return s
8305}
8306
8307// SetMarker sets the Marker field's value.
8308func (s *GetFolderPathInput) SetMarker(v string) *GetFolderPathInput {
8309	s.Marker = &v
8310	return s
8311}
8312
8313type GetFolderPathOutput struct {
8314	_ struct{} `type:"structure"`
8315
8316	// The path information.
8317	Path *ResourcePath `type:"structure"`
8318}
8319
8320// String returns the string representation
8321func (s GetFolderPathOutput) String() string {
8322	return awsutil.Prettify(s)
8323}
8324
8325// GoString returns the string representation
8326func (s GetFolderPathOutput) GoString() string {
8327	return s.String()
8328}
8329
8330// SetPath sets the Path field's value.
8331func (s *GetFolderPathOutput) SetPath(v *ResourcePath) *GetFolderPathOutput {
8332	s.Path = v
8333	return s
8334}
8335
8336type GetResourcesInput struct {
8337	_ struct{} `type:"structure"`
8338
8339	// The Amazon WorkDocs authentication token. Do not set this field when using
8340	// administrative API actions, as in accessing the API operation using AWS credentials.
8341	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
8342
8343	// The collection type.
8344	CollectionType *string `location:"querystring" locationName:"collectionType" type:"string" enum:"ResourceCollectionType"`
8345
8346	// The maximum number of resources to return.
8347	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
8348
8349	// The marker for the next set of results. This marker was received from a previous
8350	// call.
8351	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
8352
8353	// The user ID for the resource collection. This is a required field for accessing
8354	// the API operation using IAM credentials.
8355	UserId *string `location:"querystring" locationName:"userId" min:"1" type:"string"`
8356}
8357
8358// String returns the string representation
8359func (s GetResourcesInput) String() string {
8360	return awsutil.Prettify(s)
8361}
8362
8363// GoString returns the string representation
8364func (s GetResourcesInput) GoString() string {
8365	return s.String()
8366}
8367
8368// Validate inspects the fields of the type to determine if they are valid.
8369func (s *GetResourcesInput) Validate() error {
8370	invalidParams := request.ErrInvalidParams{Context: "GetResourcesInput"}
8371	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
8372		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
8373	}
8374	if s.Limit != nil && *s.Limit < 1 {
8375		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
8376	}
8377	if s.Marker != nil && len(*s.Marker) < 1 {
8378		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
8379	}
8380	if s.UserId != nil && len(*s.UserId) < 1 {
8381		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
8382	}
8383
8384	if invalidParams.Len() > 0 {
8385		return invalidParams
8386	}
8387	return nil
8388}
8389
8390// SetAuthenticationToken sets the AuthenticationToken field's value.
8391func (s *GetResourcesInput) SetAuthenticationToken(v string) *GetResourcesInput {
8392	s.AuthenticationToken = &v
8393	return s
8394}
8395
8396// SetCollectionType sets the CollectionType field's value.
8397func (s *GetResourcesInput) SetCollectionType(v string) *GetResourcesInput {
8398	s.CollectionType = &v
8399	return s
8400}
8401
8402// SetLimit sets the Limit field's value.
8403func (s *GetResourcesInput) SetLimit(v int64) *GetResourcesInput {
8404	s.Limit = &v
8405	return s
8406}
8407
8408// SetMarker sets the Marker field's value.
8409func (s *GetResourcesInput) SetMarker(v string) *GetResourcesInput {
8410	s.Marker = &v
8411	return s
8412}
8413
8414// SetUserId sets the UserId field's value.
8415func (s *GetResourcesInput) SetUserId(v string) *GetResourcesInput {
8416	s.UserId = &v
8417	return s
8418}
8419
8420type GetResourcesOutput struct {
8421	_ struct{} `type:"structure"`
8422
8423	// The documents in the specified collection.
8424	Documents []*DocumentMetadata `type:"list"`
8425
8426	// The folders in the specified folder.
8427	Folders []*FolderMetadata `type:"list"`
8428
8429	// The marker to use when requesting the next set of results. If there are no
8430	// additional results, the string is empty.
8431	Marker *string `min:"1" type:"string"`
8432}
8433
8434// String returns the string representation
8435func (s GetResourcesOutput) String() string {
8436	return awsutil.Prettify(s)
8437}
8438
8439// GoString returns the string representation
8440func (s GetResourcesOutput) GoString() string {
8441	return s.String()
8442}
8443
8444// SetDocuments sets the Documents field's value.
8445func (s *GetResourcesOutput) SetDocuments(v []*DocumentMetadata) *GetResourcesOutput {
8446	s.Documents = v
8447	return s
8448}
8449
8450// SetFolders sets the Folders field's value.
8451func (s *GetResourcesOutput) SetFolders(v []*FolderMetadata) *GetResourcesOutput {
8452	s.Folders = v
8453	return s
8454}
8455
8456// SetMarker sets the Marker field's value.
8457func (s *GetResourcesOutput) SetMarker(v string) *GetResourcesOutput {
8458	s.Marker = &v
8459	return s
8460}
8461
8462// Describes the metadata of a user group.
8463type GroupMetadata struct {
8464	_ struct{} `type:"structure"`
8465
8466	// The ID of the user group.
8467	Id *string `min:"1" type:"string"`
8468
8469	// The name of the group.
8470	Name *string `type:"string"`
8471}
8472
8473// String returns the string representation
8474func (s GroupMetadata) String() string {
8475	return awsutil.Prettify(s)
8476}
8477
8478// GoString returns the string representation
8479func (s GroupMetadata) GoString() string {
8480	return s.String()
8481}
8482
8483// SetId sets the Id field's value.
8484func (s *GroupMetadata) SetId(v string) *GroupMetadata {
8485	s.Id = &v
8486	return s
8487}
8488
8489// SetName sets the Name field's value.
8490func (s *GroupMetadata) SetName(v string) *GroupMetadata {
8491	s.Name = &v
8492	return s
8493}
8494
8495type InitiateDocumentVersionUploadInput struct {
8496	_ struct{} `type:"structure"`
8497
8498	// Amazon WorkDocs authentication token. Do not set this field when using administrative
8499	// API actions, as in accessing the API using AWS credentials.
8500	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
8501
8502	// The timestamp when the content of the document was originally created.
8503	ContentCreatedTimestamp *time.Time `type:"timestamp"`
8504
8505	// The timestamp when the content of the document was modified.
8506	ContentModifiedTimestamp *time.Time `type:"timestamp"`
8507
8508	// The content type of the document.
8509	ContentType *string `min:"1" type:"string"`
8510
8511	// The size of the document, in bytes.
8512	DocumentSizeInBytes *int64 `type:"long"`
8513
8514	// The ID of the document.
8515	Id *string `min:"1" type:"string"`
8516
8517	// The name of the document.
8518	Name *string `min:"1" type:"string"`
8519
8520	// The ID of the parent folder.
8521	//
8522	// ParentFolderId is a required field
8523	ParentFolderId *string `min:"1" type:"string" required:"true"`
8524}
8525
8526// String returns the string representation
8527func (s InitiateDocumentVersionUploadInput) String() string {
8528	return awsutil.Prettify(s)
8529}
8530
8531// GoString returns the string representation
8532func (s InitiateDocumentVersionUploadInput) GoString() string {
8533	return s.String()
8534}
8535
8536// Validate inspects the fields of the type to determine if they are valid.
8537func (s *InitiateDocumentVersionUploadInput) Validate() error {
8538	invalidParams := request.ErrInvalidParams{Context: "InitiateDocumentVersionUploadInput"}
8539	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
8540		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
8541	}
8542	if s.ContentType != nil && len(*s.ContentType) < 1 {
8543		invalidParams.Add(request.NewErrParamMinLen("ContentType", 1))
8544	}
8545	if s.Id != nil && len(*s.Id) < 1 {
8546		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
8547	}
8548	if s.Name != nil && len(*s.Name) < 1 {
8549		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8550	}
8551	if s.ParentFolderId == nil {
8552		invalidParams.Add(request.NewErrParamRequired("ParentFolderId"))
8553	}
8554	if s.ParentFolderId != nil && len(*s.ParentFolderId) < 1 {
8555		invalidParams.Add(request.NewErrParamMinLen("ParentFolderId", 1))
8556	}
8557
8558	if invalidParams.Len() > 0 {
8559		return invalidParams
8560	}
8561	return nil
8562}
8563
8564// SetAuthenticationToken sets the AuthenticationToken field's value.
8565func (s *InitiateDocumentVersionUploadInput) SetAuthenticationToken(v string) *InitiateDocumentVersionUploadInput {
8566	s.AuthenticationToken = &v
8567	return s
8568}
8569
8570// SetContentCreatedTimestamp sets the ContentCreatedTimestamp field's value.
8571func (s *InitiateDocumentVersionUploadInput) SetContentCreatedTimestamp(v time.Time) *InitiateDocumentVersionUploadInput {
8572	s.ContentCreatedTimestamp = &v
8573	return s
8574}
8575
8576// SetContentModifiedTimestamp sets the ContentModifiedTimestamp field's value.
8577func (s *InitiateDocumentVersionUploadInput) SetContentModifiedTimestamp(v time.Time) *InitiateDocumentVersionUploadInput {
8578	s.ContentModifiedTimestamp = &v
8579	return s
8580}
8581
8582// SetContentType sets the ContentType field's value.
8583func (s *InitiateDocumentVersionUploadInput) SetContentType(v string) *InitiateDocumentVersionUploadInput {
8584	s.ContentType = &v
8585	return s
8586}
8587
8588// SetDocumentSizeInBytes sets the DocumentSizeInBytes field's value.
8589func (s *InitiateDocumentVersionUploadInput) SetDocumentSizeInBytes(v int64) *InitiateDocumentVersionUploadInput {
8590	s.DocumentSizeInBytes = &v
8591	return s
8592}
8593
8594// SetId sets the Id field's value.
8595func (s *InitiateDocumentVersionUploadInput) SetId(v string) *InitiateDocumentVersionUploadInput {
8596	s.Id = &v
8597	return s
8598}
8599
8600// SetName sets the Name field's value.
8601func (s *InitiateDocumentVersionUploadInput) SetName(v string) *InitiateDocumentVersionUploadInput {
8602	s.Name = &v
8603	return s
8604}
8605
8606// SetParentFolderId sets the ParentFolderId field's value.
8607func (s *InitiateDocumentVersionUploadInput) SetParentFolderId(v string) *InitiateDocumentVersionUploadInput {
8608	s.ParentFolderId = &v
8609	return s
8610}
8611
8612type InitiateDocumentVersionUploadOutput struct {
8613	_ struct{} `type:"structure"`
8614
8615	// The document metadata.
8616	Metadata *DocumentMetadata `type:"structure"`
8617
8618	// The upload metadata.
8619	UploadMetadata *UploadMetadata `type:"structure"`
8620}
8621
8622// String returns the string representation
8623func (s InitiateDocumentVersionUploadOutput) String() string {
8624	return awsutil.Prettify(s)
8625}
8626
8627// GoString returns the string representation
8628func (s InitiateDocumentVersionUploadOutput) GoString() string {
8629	return s.String()
8630}
8631
8632// SetMetadata sets the Metadata field's value.
8633func (s *InitiateDocumentVersionUploadOutput) SetMetadata(v *DocumentMetadata) *InitiateDocumentVersionUploadOutput {
8634	s.Metadata = v
8635	return s
8636}
8637
8638// SetUploadMetadata sets the UploadMetadata field's value.
8639func (s *InitiateDocumentVersionUploadOutput) SetUploadMetadata(v *UploadMetadata) *InitiateDocumentVersionUploadOutput {
8640	s.UploadMetadata = v
8641	return s
8642}
8643
8644// Set of options which defines notification preferences of given action.
8645type NotificationOptions struct {
8646	_ struct{} `type:"structure"`
8647
8648	// Text value to be included in the email body.
8649	EmailMessage *string `type:"string" sensitive:"true"`
8650
8651	// Boolean value to indicate an email notification should be sent to the receipients.
8652	SendEmail *bool `type:"boolean"`
8653}
8654
8655// String returns the string representation
8656func (s NotificationOptions) String() string {
8657	return awsutil.Prettify(s)
8658}
8659
8660// GoString returns the string representation
8661func (s NotificationOptions) GoString() string {
8662	return s.String()
8663}
8664
8665// SetEmailMessage sets the EmailMessage field's value.
8666func (s *NotificationOptions) SetEmailMessage(v string) *NotificationOptions {
8667	s.EmailMessage = &v
8668	return s
8669}
8670
8671// SetSendEmail sets the SendEmail field's value.
8672func (s *NotificationOptions) SetSendEmail(v bool) *NotificationOptions {
8673	s.SendEmail = &v
8674	return s
8675}
8676
8677// Describes the users or user groups.
8678type Participants struct {
8679	_ struct{} `type:"structure"`
8680
8681	// The list of user groups.
8682	Groups []*GroupMetadata `type:"list"`
8683
8684	// The list of users.
8685	Users []*UserMetadata `type:"list"`
8686}
8687
8688// String returns the string representation
8689func (s Participants) String() string {
8690	return awsutil.Prettify(s)
8691}
8692
8693// GoString returns the string representation
8694func (s Participants) GoString() string {
8695	return s.String()
8696}
8697
8698// SetGroups sets the Groups field's value.
8699func (s *Participants) SetGroups(v []*GroupMetadata) *Participants {
8700	s.Groups = v
8701	return s
8702}
8703
8704// SetUsers sets the Users field's value.
8705func (s *Participants) SetUsers(v []*UserMetadata) *Participants {
8706	s.Users = v
8707	return s
8708}
8709
8710// Describes the permissions.
8711type PermissionInfo struct {
8712	_ struct{} `type:"structure"`
8713
8714	// The role of the user.
8715	Role *string `type:"string" enum:"RoleType"`
8716
8717	// The type of permissions.
8718	Type *string `type:"string" enum:"RolePermissionType"`
8719}
8720
8721// String returns the string representation
8722func (s PermissionInfo) String() string {
8723	return awsutil.Prettify(s)
8724}
8725
8726// GoString returns the string representation
8727func (s PermissionInfo) GoString() string {
8728	return s.String()
8729}
8730
8731// SetRole sets the Role field's value.
8732func (s *PermissionInfo) SetRole(v string) *PermissionInfo {
8733	s.Role = &v
8734	return s
8735}
8736
8737// SetType sets the Type field's value.
8738func (s *PermissionInfo) SetType(v string) *PermissionInfo {
8739	s.Type = &v
8740	return s
8741}
8742
8743// Describes a resource.
8744type Principal struct {
8745	_ struct{} `type:"structure"`
8746
8747	// The ID of the resource.
8748	Id *string `min:"1" type:"string"`
8749
8750	// The permission information for the resource.
8751	Roles []*PermissionInfo `type:"list"`
8752
8753	// The type of resource.
8754	Type *string `type:"string" enum:"PrincipalType"`
8755}
8756
8757// String returns the string representation
8758func (s Principal) String() string {
8759	return awsutil.Prettify(s)
8760}
8761
8762// GoString returns the string representation
8763func (s Principal) GoString() string {
8764	return s.String()
8765}
8766
8767// SetId sets the Id field's value.
8768func (s *Principal) SetId(v string) *Principal {
8769	s.Id = &v
8770	return s
8771}
8772
8773// SetRoles sets the Roles field's value.
8774func (s *Principal) SetRoles(v []*PermissionInfo) *Principal {
8775	s.Roles = v
8776	return s
8777}
8778
8779// SetType sets the Type field's value.
8780func (s *Principal) SetType(v string) *Principal {
8781	s.Type = &v
8782	return s
8783}
8784
8785type RemoveAllResourcePermissionsInput struct {
8786	_ struct{} `type:"structure"`
8787
8788	// Amazon WorkDocs authentication token. Do not set this field when using administrative
8789	// API actions, as in accessing the API using AWS credentials.
8790	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
8791
8792	// The ID of the resource.
8793	//
8794	// ResourceId is a required field
8795	ResourceId *string `location:"uri" locationName:"ResourceId" min:"1" type:"string" required:"true"`
8796}
8797
8798// String returns the string representation
8799func (s RemoveAllResourcePermissionsInput) String() string {
8800	return awsutil.Prettify(s)
8801}
8802
8803// GoString returns the string representation
8804func (s RemoveAllResourcePermissionsInput) GoString() string {
8805	return s.String()
8806}
8807
8808// Validate inspects the fields of the type to determine if they are valid.
8809func (s *RemoveAllResourcePermissionsInput) Validate() error {
8810	invalidParams := request.ErrInvalidParams{Context: "RemoveAllResourcePermissionsInput"}
8811	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
8812		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
8813	}
8814	if s.ResourceId == nil {
8815		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
8816	}
8817	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
8818		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
8819	}
8820
8821	if invalidParams.Len() > 0 {
8822		return invalidParams
8823	}
8824	return nil
8825}
8826
8827// SetAuthenticationToken sets the AuthenticationToken field's value.
8828func (s *RemoveAllResourcePermissionsInput) SetAuthenticationToken(v string) *RemoveAllResourcePermissionsInput {
8829	s.AuthenticationToken = &v
8830	return s
8831}
8832
8833// SetResourceId sets the ResourceId field's value.
8834func (s *RemoveAllResourcePermissionsInput) SetResourceId(v string) *RemoveAllResourcePermissionsInput {
8835	s.ResourceId = &v
8836	return s
8837}
8838
8839type RemoveAllResourcePermissionsOutput struct {
8840	_ struct{} `type:"structure"`
8841}
8842
8843// String returns the string representation
8844func (s RemoveAllResourcePermissionsOutput) String() string {
8845	return awsutil.Prettify(s)
8846}
8847
8848// GoString returns the string representation
8849func (s RemoveAllResourcePermissionsOutput) GoString() string {
8850	return s.String()
8851}
8852
8853type RemoveResourcePermissionInput struct {
8854	_ struct{} `type:"structure"`
8855
8856	// Amazon WorkDocs authentication token. Do not set this field when using administrative
8857	// API actions, as in accessing the API using AWS credentials.
8858	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
8859
8860	// The principal ID of the resource.
8861	//
8862	// PrincipalId is a required field
8863	PrincipalId *string `location:"uri" locationName:"PrincipalId" min:"1" type:"string" required:"true"`
8864
8865	// The principal type of the resource.
8866	PrincipalType *string `location:"querystring" locationName:"type" type:"string" enum:"PrincipalType"`
8867
8868	// The ID of the resource.
8869	//
8870	// ResourceId is a required field
8871	ResourceId *string `location:"uri" locationName:"ResourceId" min:"1" type:"string" required:"true"`
8872}
8873
8874// String returns the string representation
8875func (s RemoveResourcePermissionInput) String() string {
8876	return awsutil.Prettify(s)
8877}
8878
8879// GoString returns the string representation
8880func (s RemoveResourcePermissionInput) GoString() string {
8881	return s.String()
8882}
8883
8884// Validate inspects the fields of the type to determine if they are valid.
8885func (s *RemoveResourcePermissionInput) Validate() error {
8886	invalidParams := request.ErrInvalidParams{Context: "RemoveResourcePermissionInput"}
8887	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
8888		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
8889	}
8890	if s.PrincipalId == nil {
8891		invalidParams.Add(request.NewErrParamRequired("PrincipalId"))
8892	}
8893	if s.PrincipalId != nil && len(*s.PrincipalId) < 1 {
8894		invalidParams.Add(request.NewErrParamMinLen("PrincipalId", 1))
8895	}
8896	if s.ResourceId == nil {
8897		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
8898	}
8899	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
8900		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
8901	}
8902
8903	if invalidParams.Len() > 0 {
8904		return invalidParams
8905	}
8906	return nil
8907}
8908
8909// SetAuthenticationToken sets the AuthenticationToken field's value.
8910func (s *RemoveResourcePermissionInput) SetAuthenticationToken(v string) *RemoveResourcePermissionInput {
8911	s.AuthenticationToken = &v
8912	return s
8913}
8914
8915// SetPrincipalId sets the PrincipalId field's value.
8916func (s *RemoveResourcePermissionInput) SetPrincipalId(v string) *RemoveResourcePermissionInput {
8917	s.PrincipalId = &v
8918	return s
8919}
8920
8921// SetPrincipalType sets the PrincipalType field's value.
8922func (s *RemoveResourcePermissionInput) SetPrincipalType(v string) *RemoveResourcePermissionInput {
8923	s.PrincipalType = &v
8924	return s
8925}
8926
8927// SetResourceId sets the ResourceId field's value.
8928func (s *RemoveResourcePermissionInput) SetResourceId(v string) *RemoveResourcePermissionInput {
8929	s.ResourceId = &v
8930	return s
8931}
8932
8933type RemoveResourcePermissionOutput struct {
8934	_ struct{} `type:"structure"`
8935}
8936
8937// String returns the string representation
8938func (s RemoveResourcePermissionOutput) String() string {
8939	return awsutil.Prettify(s)
8940}
8941
8942// GoString returns the string representation
8943func (s RemoveResourcePermissionOutput) GoString() string {
8944	return s.String()
8945}
8946
8947// Describes the metadata of a resource.
8948type ResourceMetadata struct {
8949	_ struct{} `type:"structure"`
8950
8951	// The ID of the resource.
8952	Id *string `min:"1" type:"string"`
8953
8954	// The name of the resource.
8955	Name *string `min:"1" type:"string"`
8956
8957	// The original name of the resource before a rename operation.
8958	OriginalName *string `min:"1" type:"string"`
8959
8960	// The owner of the resource.
8961	Owner *UserMetadata `type:"structure"`
8962
8963	// The parent ID of the resource before a rename operation.
8964	ParentId *string `min:"1" type:"string"`
8965
8966	// The type of resource.
8967	Type *string `type:"string" enum:"ResourceType"`
8968
8969	// The version ID of the resource. This is an optional field and is filled for
8970	// action on document version.
8971	VersionId *string `min:"1" type:"string"`
8972}
8973
8974// String returns the string representation
8975func (s ResourceMetadata) String() string {
8976	return awsutil.Prettify(s)
8977}
8978
8979// GoString returns the string representation
8980func (s ResourceMetadata) GoString() string {
8981	return s.String()
8982}
8983
8984// SetId sets the Id field's value.
8985func (s *ResourceMetadata) SetId(v string) *ResourceMetadata {
8986	s.Id = &v
8987	return s
8988}
8989
8990// SetName sets the Name field's value.
8991func (s *ResourceMetadata) SetName(v string) *ResourceMetadata {
8992	s.Name = &v
8993	return s
8994}
8995
8996// SetOriginalName sets the OriginalName field's value.
8997func (s *ResourceMetadata) SetOriginalName(v string) *ResourceMetadata {
8998	s.OriginalName = &v
8999	return s
9000}
9001
9002// SetOwner sets the Owner field's value.
9003func (s *ResourceMetadata) SetOwner(v *UserMetadata) *ResourceMetadata {
9004	s.Owner = v
9005	return s
9006}
9007
9008// SetParentId sets the ParentId field's value.
9009func (s *ResourceMetadata) SetParentId(v string) *ResourceMetadata {
9010	s.ParentId = &v
9011	return s
9012}
9013
9014// SetType sets the Type field's value.
9015func (s *ResourceMetadata) SetType(v string) *ResourceMetadata {
9016	s.Type = &v
9017	return s
9018}
9019
9020// SetVersionId sets the VersionId field's value.
9021func (s *ResourceMetadata) SetVersionId(v string) *ResourceMetadata {
9022	s.VersionId = &v
9023	return s
9024}
9025
9026// Describes the path information of a resource.
9027type ResourcePath struct {
9028	_ struct{} `type:"structure"`
9029
9030	// The components of the resource path.
9031	Components []*ResourcePathComponent `type:"list"`
9032}
9033
9034// String returns the string representation
9035func (s ResourcePath) String() string {
9036	return awsutil.Prettify(s)
9037}
9038
9039// GoString returns the string representation
9040func (s ResourcePath) GoString() string {
9041	return s.String()
9042}
9043
9044// SetComponents sets the Components field's value.
9045func (s *ResourcePath) SetComponents(v []*ResourcePathComponent) *ResourcePath {
9046	s.Components = v
9047	return s
9048}
9049
9050// Describes the resource path.
9051type ResourcePathComponent struct {
9052	_ struct{} `type:"structure"`
9053
9054	// The ID of the resource path.
9055	Id *string `min:"1" type:"string"`
9056
9057	// The name of the resource path.
9058	Name *string `min:"1" type:"string"`
9059}
9060
9061// String returns the string representation
9062func (s ResourcePathComponent) String() string {
9063	return awsutil.Prettify(s)
9064}
9065
9066// GoString returns the string representation
9067func (s ResourcePathComponent) GoString() string {
9068	return s.String()
9069}
9070
9071// SetId sets the Id field's value.
9072func (s *ResourcePathComponent) SetId(v string) *ResourcePathComponent {
9073	s.Id = &v
9074	return s
9075}
9076
9077// SetName sets the Name field's value.
9078func (s *ResourcePathComponent) SetName(v string) *ResourcePathComponent {
9079	s.Name = &v
9080	return s
9081}
9082
9083// Describes the recipient type and ID, if available.
9084type SharePrincipal struct {
9085	_ struct{} `type:"structure"`
9086
9087	// The ID of the recipient.
9088	//
9089	// Id is a required field
9090	Id *string `min:"1" type:"string" required:"true"`
9091
9092	// The role of the recipient.
9093	//
9094	// Role is a required field
9095	Role *string `type:"string" required:"true" enum:"RoleType"`
9096
9097	// The type of the recipient.
9098	//
9099	// Type is a required field
9100	Type *string `type:"string" required:"true" enum:"PrincipalType"`
9101}
9102
9103// String returns the string representation
9104func (s SharePrincipal) String() string {
9105	return awsutil.Prettify(s)
9106}
9107
9108// GoString returns the string representation
9109func (s SharePrincipal) GoString() string {
9110	return s.String()
9111}
9112
9113// Validate inspects the fields of the type to determine if they are valid.
9114func (s *SharePrincipal) Validate() error {
9115	invalidParams := request.ErrInvalidParams{Context: "SharePrincipal"}
9116	if s.Id == nil {
9117		invalidParams.Add(request.NewErrParamRequired("Id"))
9118	}
9119	if s.Id != nil && len(*s.Id) < 1 {
9120		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
9121	}
9122	if s.Role == nil {
9123		invalidParams.Add(request.NewErrParamRequired("Role"))
9124	}
9125	if s.Type == nil {
9126		invalidParams.Add(request.NewErrParamRequired("Type"))
9127	}
9128
9129	if invalidParams.Len() > 0 {
9130		return invalidParams
9131	}
9132	return nil
9133}
9134
9135// SetId sets the Id field's value.
9136func (s *SharePrincipal) SetId(v string) *SharePrincipal {
9137	s.Id = &v
9138	return s
9139}
9140
9141// SetRole sets the Role field's value.
9142func (s *SharePrincipal) SetRole(v string) *SharePrincipal {
9143	s.Role = &v
9144	return s
9145}
9146
9147// SetType sets the Type field's value.
9148func (s *SharePrincipal) SetType(v string) *SharePrincipal {
9149	s.Type = &v
9150	return s
9151}
9152
9153// Describes the share results of a resource.
9154type ShareResult struct {
9155	_ struct{} `type:"structure"`
9156
9157	// The ID of the invited user.
9158	InviteePrincipalId *string `min:"1" type:"string"`
9159
9160	// The ID of the principal.
9161	PrincipalId *string `min:"1" type:"string"`
9162
9163	// The role.
9164	Role *string `type:"string" enum:"RoleType"`
9165
9166	// The ID of the resource that was shared.
9167	ShareId *string `min:"1" type:"string"`
9168
9169	// The status.
9170	Status *string `type:"string" enum:"ShareStatusType"`
9171
9172	// The status message.
9173	StatusMessage *string `type:"string" sensitive:"true"`
9174}
9175
9176// String returns the string representation
9177func (s ShareResult) String() string {
9178	return awsutil.Prettify(s)
9179}
9180
9181// GoString returns the string representation
9182func (s ShareResult) GoString() string {
9183	return s.String()
9184}
9185
9186// SetInviteePrincipalId sets the InviteePrincipalId field's value.
9187func (s *ShareResult) SetInviteePrincipalId(v string) *ShareResult {
9188	s.InviteePrincipalId = &v
9189	return s
9190}
9191
9192// SetPrincipalId sets the PrincipalId field's value.
9193func (s *ShareResult) SetPrincipalId(v string) *ShareResult {
9194	s.PrincipalId = &v
9195	return s
9196}
9197
9198// SetRole sets the Role field's value.
9199func (s *ShareResult) SetRole(v string) *ShareResult {
9200	s.Role = &v
9201	return s
9202}
9203
9204// SetShareId sets the ShareId field's value.
9205func (s *ShareResult) SetShareId(v string) *ShareResult {
9206	s.ShareId = &v
9207	return s
9208}
9209
9210// SetStatus sets the Status field's value.
9211func (s *ShareResult) SetStatus(v string) *ShareResult {
9212	s.Status = &v
9213	return s
9214}
9215
9216// SetStatusMessage sets the StatusMessage field's value.
9217func (s *ShareResult) SetStatusMessage(v string) *ShareResult {
9218	s.StatusMessage = &v
9219	return s
9220}
9221
9222// Describes the storage for a user.
9223type StorageRuleType struct {
9224	_ struct{} `type:"structure"`
9225
9226	// The amount of storage allocated, in bytes.
9227	StorageAllocatedInBytes *int64 `type:"long"`
9228
9229	// The type of storage.
9230	StorageType *string `type:"string" enum:"StorageType"`
9231}
9232
9233// String returns the string representation
9234func (s StorageRuleType) String() string {
9235	return awsutil.Prettify(s)
9236}
9237
9238// GoString returns the string representation
9239func (s StorageRuleType) GoString() string {
9240	return s.String()
9241}
9242
9243// SetStorageAllocatedInBytes sets the StorageAllocatedInBytes field's value.
9244func (s *StorageRuleType) SetStorageAllocatedInBytes(v int64) *StorageRuleType {
9245	s.StorageAllocatedInBytes = &v
9246	return s
9247}
9248
9249// SetStorageType sets the StorageType field's value.
9250func (s *StorageRuleType) SetStorageType(v string) *StorageRuleType {
9251	s.StorageType = &v
9252	return s
9253}
9254
9255// Describes a subscription.
9256type Subscription struct {
9257	_ struct{} `type:"structure"`
9258
9259	// The endpoint of the subscription.
9260	EndPoint *string `min:"1" type:"string"`
9261
9262	// The protocol of the subscription.
9263	Protocol *string `type:"string" enum:"SubscriptionProtocolType"`
9264
9265	// The ID of the subscription.
9266	SubscriptionId *string `min:"1" type:"string"`
9267}
9268
9269// String returns the string representation
9270func (s Subscription) String() string {
9271	return awsutil.Prettify(s)
9272}
9273
9274// GoString returns the string representation
9275func (s Subscription) GoString() string {
9276	return s.String()
9277}
9278
9279// SetEndPoint sets the EndPoint field's value.
9280func (s *Subscription) SetEndPoint(v string) *Subscription {
9281	s.EndPoint = &v
9282	return s
9283}
9284
9285// SetProtocol sets the Protocol field's value.
9286func (s *Subscription) SetProtocol(v string) *Subscription {
9287	s.Protocol = &v
9288	return s
9289}
9290
9291// SetSubscriptionId sets the SubscriptionId field's value.
9292func (s *Subscription) SetSubscriptionId(v string) *Subscription {
9293	s.SubscriptionId = &v
9294	return s
9295}
9296
9297type UpdateDocumentInput struct {
9298	_ struct{} `type:"structure"`
9299
9300	// Amazon WorkDocs authentication token. Do not set this field when using administrative
9301	// API actions, as in accessing the API using AWS credentials.
9302	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
9303
9304	// The ID of the document.
9305	//
9306	// DocumentId is a required field
9307	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
9308
9309	// The name of the document.
9310	Name *string `min:"1" type:"string"`
9311
9312	// The ID of the parent folder.
9313	ParentFolderId *string `min:"1" type:"string"`
9314
9315	// The resource state of the document. Only ACTIVE and RECYCLED are supported.
9316	ResourceState *string `type:"string" enum:"ResourceStateType"`
9317}
9318
9319// String returns the string representation
9320func (s UpdateDocumentInput) String() string {
9321	return awsutil.Prettify(s)
9322}
9323
9324// GoString returns the string representation
9325func (s UpdateDocumentInput) GoString() string {
9326	return s.String()
9327}
9328
9329// Validate inspects the fields of the type to determine if they are valid.
9330func (s *UpdateDocumentInput) Validate() error {
9331	invalidParams := request.ErrInvalidParams{Context: "UpdateDocumentInput"}
9332	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
9333		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
9334	}
9335	if s.DocumentId == nil {
9336		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
9337	}
9338	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
9339		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
9340	}
9341	if s.Name != nil && len(*s.Name) < 1 {
9342		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9343	}
9344	if s.ParentFolderId != nil && len(*s.ParentFolderId) < 1 {
9345		invalidParams.Add(request.NewErrParamMinLen("ParentFolderId", 1))
9346	}
9347
9348	if invalidParams.Len() > 0 {
9349		return invalidParams
9350	}
9351	return nil
9352}
9353
9354// SetAuthenticationToken sets the AuthenticationToken field's value.
9355func (s *UpdateDocumentInput) SetAuthenticationToken(v string) *UpdateDocumentInput {
9356	s.AuthenticationToken = &v
9357	return s
9358}
9359
9360// SetDocumentId sets the DocumentId field's value.
9361func (s *UpdateDocumentInput) SetDocumentId(v string) *UpdateDocumentInput {
9362	s.DocumentId = &v
9363	return s
9364}
9365
9366// SetName sets the Name field's value.
9367func (s *UpdateDocumentInput) SetName(v string) *UpdateDocumentInput {
9368	s.Name = &v
9369	return s
9370}
9371
9372// SetParentFolderId sets the ParentFolderId field's value.
9373func (s *UpdateDocumentInput) SetParentFolderId(v string) *UpdateDocumentInput {
9374	s.ParentFolderId = &v
9375	return s
9376}
9377
9378// SetResourceState sets the ResourceState field's value.
9379func (s *UpdateDocumentInput) SetResourceState(v string) *UpdateDocumentInput {
9380	s.ResourceState = &v
9381	return s
9382}
9383
9384type UpdateDocumentOutput struct {
9385	_ struct{} `type:"structure"`
9386}
9387
9388// String returns the string representation
9389func (s UpdateDocumentOutput) String() string {
9390	return awsutil.Prettify(s)
9391}
9392
9393// GoString returns the string representation
9394func (s UpdateDocumentOutput) GoString() string {
9395	return s.String()
9396}
9397
9398type UpdateDocumentVersionInput struct {
9399	_ struct{} `type:"structure"`
9400
9401	// Amazon WorkDocs authentication token. Do not set this field when using administrative
9402	// API actions, as in accessing the API using AWS credentials.
9403	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
9404
9405	// The ID of the document.
9406	//
9407	// DocumentId is a required field
9408	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
9409
9410	// The version ID of the document.
9411	//
9412	// VersionId is a required field
9413	VersionId *string `location:"uri" locationName:"VersionId" min:"1" type:"string" required:"true"`
9414
9415	// The status of the version.
9416	VersionStatus *string `type:"string" enum:"DocumentVersionStatus"`
9417}
9418
9419// String returns the string representation
9420func (s UpdateDocumentVersionInput) String() string {
9421	return awsutil.Prettify(s)
9422}
9423
9424// GoString returns the string representation
9425func (s UpdateDocumentVersionInput) GoString() string {
9426	return s.String()
9427}
9428
9429// Validate inspects the fields of the type to determine if they are valid.
9430func (s *UpdateDocumentVersionInput) Validate() error {
9431	invalidParams := request.ErrInvalidParams{Context: "UpdateDocumentVersionInput"}
9432	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
9433		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
9434	}
9435	if s.DocumentId == nil {
9436		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
9437	}
9438	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
9439		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
9440	}
9441	if s.VersionId == nil {
9442		invalidParams.Add(request.NewErrParamRequired("VersionId"))
9443	}
9444	if s.VersionId != nil && len(*s.VersionId) < 1 {
9445		invalidParams.Add(request.NewErrParamMinLen("VersionId", 1))
9446	}
9447
9448	if invalidParams.Len() > 0 {
9449		return invalidParams
9450	}
9451	return nil
9452}
9453
9454// SetAuthenticationToken sets the AuthenticationToken field's value.
9455func (s *UpdateDocumentVersionInput) SetAuthenticationToken(v string) *UpdateDocumentVersionInput {
9456	s.AuthenticationToken = &v
9457	return s
9458}
9459
9460// SetDocumentId sets the DocumentId field's value.
9461func (s *UpdateDocumentVersionInput) SetDocumentId(v string) *UpdateDocumentVersionInput {
9462	s.DocumentId = &v
9463	return s
9464}
9465
9466// SetVersionId sets the VersionId field's value.
9467func (s *UpdateDocumentVersionInput) SetVersionId(v string) *UpdateDocumentVersionInput {
9468	s.VersionId = &v
9469	return s
9470}
9471
9472// SetVersionStatus sets the VersionStatus field's value.
9473func (s *UpdateDocumentVersionInput) SetVersionStatus(v string) *UpdateDocumentVersionInput {
9474	s.VersionStatus = &v
9475	return s
9476}
9477
9478type UpdateDocumentVersionOutput struct {
9479	_ struct{} `type:"structure"`
9480}
9481
9482// String returns the string representation
9483func (s UpdateDocumentVersionOutput) String() string {
9484	return awsutil.Prettify(s)
9485}
9486
9487// GoString returns the string representation
9488func (s UpdateDocumentVersionOutput) GoString() string {
9489	return s.String()
9490}
9491
9492type UpdateFolderInput struct {
9493	_ struct{} `type:"structure"`
9494
9495	// Amazon WorkDocs authentication token. Do not set this field when using administrative
9496	// API actions, as in accessing the API using AWS credentials.
9497	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
9498
9499	// The ID of the folder.
9500	//
9501	// FolderId is a required field
9502	FolderId *string `location:"uri" locationName:"FolderId" min:"1" type:"string" required:"true"`
9503
9504	// The name of the folder.
9505	Name *string `min:"1" type:"string"`
9506
9507	// The ID of the parent folder.
9508	ParentFolderId *string `min:"1" type:"string"`
9509
9510	// The resource state of the folder. Only ACTIVE and RECYCLED are accepted values
9511	// from the API.
9512	ResourceState *string `type:"string" enum:"ResourceStateType"`
9513}
9514
9515// String returns the string representation
9516func (s UpdateFolderInput) String() string {
9517	return awsutil.Prettify(s)
9518}
9519
9520// GoString returns the string representation
9521func (s UpdateFolderInput) GoString() string {
9522	return s.String()
9523}
9524
9525// Validate inspects the fields of the type to determine if they are valid.
9526func (s *UpdateFolderInput) Validate() error {
9527	invalidParams := request.ErrInvalidParams{Context: "UpdateFolderInput"}
9528	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
9529		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
9530	}
9531	if s.FolderId == nil {
9532		invalidParams.Add(request.NewErrParamRequired("FolderId"))
9533	}
9534	if s.FolderId != nil && len(*s.FolderId) < 1 {
9535		invalidParams.Add(request.NewErrParamMinLen("FolderId", 1))
9536	}
9537	if s.Name != nil && len(*s.Name) < 1 {
9538		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9539	}
9540	if s.ParentFolderId != nil && len(*s.ParentFolderId) < 1 {
9541		invalidParams.Add(request.NewErrParamMinLen("ParentFolderId", 1))
9542	}
9543
9544	if invalidParams.Len() > 0 {
9545		return invalidParams
9546	}
9547	return nil
9548}
9549
9550// SetAuthenticationToken sets the AuthenticationToken field's value.
9551func (s *UpdateFolderInput) SetAuthenticationToken(v string) *UpdateFolderInput {
9552	s.AuthenticationToken = &v
9553	return s
9554}
9555
9556// SetFolderId sets the FolderId field's value.
9557func (s *UpdateFolderInput) SetFolderId(v string) *UpdateFolderInput {
9558	s.FolderId = &v
9559	return s
9560}
9561
9562// SetName sets the Name field's value.
9563func (s *UpdateFolderInput) SetName(v string) *UpdateFolderInput {
9564	s.Name = &v
9565	return s
9566}
9567
9568// SetParentFolderId sets the ParentFolderId field's value.
9569func (s *UpdateFolderInput) SetParentFolderId(v string) *UpdateFolderInput {
9570	s.ParentFolderId = &v
9571	return s
9572}
9573
9574// SetResourceState sets the ResourceState field's value.
9575func (s *UpdateFolderInput) SetResourceState(v string) *UpdateFolderInput {
9576	s.ResourceState = &v
9577	return s
9578}
9579
9580type UpdateFolderOutput struct {
9581	_ struct{} `type:"structure"`
9582}
9583
9584// String returns the string representation
9585func (s UpdateFolderOutput) String() string {
9586	return awsutil.Prettify(s)
9587}
9588
9589// GoString returns the string representation
9590func (s UpdateFolderOutput) GoString() string {
9591	return s.String()
9592}
9593
9594type UpdateUserInput struct {
9595	_ struct{} `type:"structure"`
9596
9597	// Amazon WorkDocs authentication token. Do not set this field when using administrative
9598	// API actions, as in accessing the API using AWS credentials.
9599	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
9600
9601	// The given name of the user.
9602	GivenName *string `min:"1" type:"string"`
9603
9604	// Boolean value to determine whether the user is granted Poweruser privileges.
9605	GrantPoweruserPrivileges *string `type:"string" enum:"BooleanEnumType"`
9606
9607	// The locale of the user.
9608	Locale *string `type:"string" enum:"LocaleType"`
9609
9610	// The amount of storage for the user.
9611	StorageRule *StorageRuleType `type:"structure"`
9612
9613	// The surname of the user.
9614	Surname *string `min:"1" type:"string"`
9615
9616	// The time zone ID of the user.
9617	TimeZoneId *string `min:"1" type:"string"`
9618
9619	// The type of the user.
9620	Type *string `type:"string" enum:"UserType"`
9621
9622	// The ID of the user.
9623	//
9624	// UserId is a required field
9625	UserId *string `location:"uri" locationName:"UserId" min:"1" type:"string" required:"true"`
9626}
9627
9628// String returns the string representation
9629func (s UpdateUserInput) String() string {
9630	return awsutil.Prettify(s)
9631}
9632
9633// GoString returns the string representation
9634func (s UpdateUserInput) GoString() string {
9635	return s.String()
9636}
9637
9638// Validate inspects the fields of the type to determine if they are valid.
9639func (s *UpdateUserInput) Validate() error {
9640	invalidParams := request.ErrInvalidParams{Context: "UpdateUserInput"}
9641	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
9642		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
9643	}
9644	if s.GivenName != nil && len(*s.GivenName) < 1 {
9645		invalidParams.Add(request.NewErrParamMinLen("GivenName", 1))
9646	}
9647	if s.Surname != nil && len(*s.Surname) < 1 {
9648		invalidParams.Add(request.NewErrParamMinLen("Surname", 1))
9649	}
9650	if s.TimeZoneId != nil && len(*s.TimeZoneId) < 1 {
9651		invalidParams.Add(request.NewErrParamMinLen("TimeZoneId", 1))
9652	}
9653	if s.UserId == nil {
9654		invalidParams.Add(request.NewErrParamRequired("UserId"))
9655	}
9656	if s.UserId != nil && len(*s.UserId) < 1 {
9657		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
9658	}
9659
9660	if invalidParams.Len() > 0 {
9661		return invalidParams
9662	}
9663	return nil
9664}
9665
9666// SetAuthenticationToken sets the AuthenticationToken field's value.
9667func (s *UpdateUserInput) SetAuthenticationToken(v string) *UpdateUserInput {
9668	s.AuthenticationToken = &v
9669	return s
9670}
9671
9672// SetGivenName sets the GivenName field's value.
9673func (s *UpdateUserInput) SetGivenName(v string) *UpdateUserInput {
9674	s.GivenName = &v
9675	return s
9676}
9677
9678// SetGrantPoweruserPrivileges sets the GrantPoweruserPrivileges field's value.
9679func (s *UpdateUserInput) SetGrantPoweruserPrivileges(v string) *UpdateUserInput {
9680	s.GrantPoweruserPrivileges = &v
9681	return s
9682}
9683
9684// SetLocale sets the Locale field's value.
9685func (s *UpdateUserInput) SetLocale(v string) *UpdateUserInput {
9686	s.Locale = &v
9687	return s
9688}
9689
9690// SetStorageRule sets the StorageRule field's value.
9691func (s *UpdateUserInput) SetStorageRule(v *StorageRuleType) *UpdateUserInput {
9692	s.StorageRule = v
9693	return s
9694}
9695
9696// SetSurname sets the Surname field's value.
9697func (s *UpdateUserInput) SetSurname(v string) *UpdateUserInput {
9698	s.Surname = &v
9699	return s
9700}
9701
9702// SetTimeZoneId sets the TimeZoneId field's value.
9703func (s *UpdateUserInput) SetTimeZoneId(v string) *UpdateUserInput {
9704	s.TimeZoneId = &v
9705	return s
9706}
9707
9708// SetType sets the Type field's value.
9709func (s *UpdateUserInput) SetType(v string) *UpdateUserInput {
9710	s.Type = &v
9711	return s
9712}
9713
9714// SetUserId sets the UserId field's value.
9715func (s *UpdateUserInput) SetUserId(v string) *UpdateUserInput {
9716	s.UserId = &v
9717	return s
9718}
9719
9720type UpdateUserOutput struct {
9721	_ struct{} `type:"structure"`
9722
9723	// The user information.
9724	User *User `type:"structure"`
9725}
9726
9727// String returns the string representation
9728func (s UpdateUserOutput) String() string {
9729	return awsutil.Prettify(s)
9730}
9731
9732// GoString returns the string representation
9733func (s UpdateUserOutput) GoString() string {
9734	return s.String()
9735}
9736
9737// SetUser sets the User field's value.
9738func (s *UpdateUserOutput) SetUser(v *User) *UpdateUserOutput {
9739	s.User = v
9740	return s
9741}
9742
9743// Describes the upload.
9744type UploadMetadata struct {
9745	_ struct{} `type:"structure"`
9746
9747	// The signed headers.
9748	SignedHeaders map[string]*string `type:"map"`
9749
9750	// The URL of the upload.
9751	UploadUrl *string `min:"1" type:"string" sensitive:"true"`
9752}
9753
9754// String returns the string representation
9755func (s UploadMetadata) String() string {
9756	return awsutil.Prettify(s)
9757}
9758
9759// GoString returns the string representation
9760func (s UploadMetadata) GoString() string {
9761	return s.String()
9762}
9763
9764// SetSignedHeaders sets the SignedHeaders field's value.
9765func (s *UploadMetadata) SetSignedHeaders(v map[string]*string) *UploadMetadata {
9766	s.SignedHeaders = v
9767	return s
9768}
9769
9770// SetUploadUrl sets the UploadUrl field's value.
9771func (s *UploadMetadata) SetUploadUrl(v string) *UploadMetadata {
9772	s.UploadUrl = &v
9773	return s
9774}
9775
9776// Describes a user.
9777type User struct {
9778	_ struct{} `type:"structure"`
9779
9780	// The time when the user was created.
9781	CreatedTimestamp *time.Time `type:"timestamp"`
9782
9783	// The email address of the user.
9784	EmailAddress *string `min:"1" type:"string"`
9785
9786	// The given name of the user.
9787	GivenName *string `min:"1" type:"string"`
9788
9789	// The ID of the user.
9790	Id *string `min:"1" type:"string"`
9791
9792	// The locale of the user.
9793	Locale *string `type:"string" enum:"LocaleType"`
9794
9795	// The time when the user was modified.
9796	ModifiedTimestamp *time.Time `type:"timestamp"`
9797
9798	// The ID of the organization.
9799	OrganizationId *string `min:"1" type:"string"`
9800
9801	// The ID of the recycle bin folder.
9802	RecycleBinFolderId *string `min:"1" type:"string"`
9803
9804	// The ID of the root folder.
9805	RootFolderId *string `min:"1" type:"string"`
9806
9807	// The status of the user.
9808	Status *string `type:"string" enum:"UserStatusType"`
9809
9810	// The storage for the user.
9811	Storage *UserStorageMetadata `type:"structure"`
9812
9813	// The surname of the user.
9814	Surname *string `min:"1" type:"string"`
9815
9816	// The time zone ID of the user.
9817	TimeZoneId *string `min:"1" type:"string"`
9818
9819	// The type of user.
9820	Type *string `type:"string" enum:"UserType"`
9821
9822	// The login name of the user.
9823	Username *string `min:"1" type:"string"`
9824}
9825
9826// String returns the string representation
9827func (s User) String() string {
9828	return awsutil.Prettify(s)
9829}
9830
9831// GoString returns the string representation
9832func (s User) GoString() string {
9833	return s.String()
9834}
9835
9836// SetCreatedTimestamp sets the CreatedTimestamp field's value.
9837func (s *User) SetCreatedTimestamp(v time.Time) *User {
9838	s.CreatedTimestamp = &v
9839	return s
9840}
9841
9842// SetEmailAddress sets the EmailAddress field's value.
9843func (s *User) SetEmailAddress(v string) *User {
9844	s.EmailAddress = &v
9845	return s
9846}
9847
9848// SetGivenName sets the GivenName field's value.
9849func (s *User) SetGivenName(v string) *User {
9850	s.GivenName = &v
9851	return s
9852}
9853
9854// SetId sets the Id field's value.
9855func (s *User) SetId(v string) *User {
9856	s.Id = &v
9857	return s
9858}
9859
9860// SetLocale sets the Locale field's value.
9861func (s *User) SetLocale(v string) *User {
9862	s.Locale = &v
9863	return s
9864}
9865
9866// SetModifiedTimestamp sets the ModifiedTimestamp field's value.
9867func (s *User) SetModifiedTimestamp(v time.Time) *User {
9868	s.ModifiedTimestamp = &v
9869	return s
9870}
9871
9872// SetOrganizationId sets the OrganizationId field's value.
9873func (s *User) SetOrganizationId(v string) *User {
9874	s.OrganizationId = &v
9875	return s
9876}
9877
9878// SetRecycleBinFolderId sets the RecycleBinFolderId field's value.
9879func (s *User) SetRecycleBinFolderId(v string) *User {
9880	s.RecycleBinFolderId = &v
9881	return s
9882}
9883
9884// SetRootFolderId sets the RootFolderId field's value.
9885func (s *User) SetRootFolderId(v string) *User {
9886	s.RootFolderId = &v
9887	return s
9888}
9889
9890// SetStatus sets the Status field's value.
9891func (s *User) SetStatus(v string) *User {
9892	s.Status = &v
9893	return s
9894}
9895
9896// SetStorage sets the Storage field's value.
9897func (s *User) SetStorage(v *UserStorageMetadata) *User {
9898	s.Storage = v
9899	return s
9900}
9901
9902// SetSurname sets the Surname field's value.
9903func (s *User) SetSurname(v string) *User {
9904	s.Surname = &v
9905	return s
9906}
9907
9908// SetTimeZoneId sets the TimeZoneId field's value.
9909func (s *User) SetTimeZoneId(v string) *User {
9910	s.TimeZoneId = &v
9911	return s
9912}
9913
9914// SetType sets the Type field's value.
9915func (s *User) SetType(v string) *User {
9916	s.Type = &v
9917	return s
9918}
9919
9920// SetUsername sets the Username field's value.
9921func (s *User) SetUsername(v string) *User {
9922	s.Username = &v
9923	return s
9924}
9925
9926// Describes the metadata of the user.
9927type UserMetadata struct {
9928	_ struct{} `type:"structure"`
9929
9930	// The email address of the user.
9931	EmailAddress *string `min:"1" type:"string"`
9932
9933	// The given name of the user before a rename operation.
9934	GivenName *string `min:"1" type:"string"`
9935
9936	// The ID of the user.
9937	Id *string `min:"1" type:"string"`
9938
9939	// The surname of the user.
9940	Surname *string `min:"1" type:"string"`
9941
9942	// The name of the user.
9943	Username *string `min:"1" type:"string"`
9944}
9945
9946// String returns the string representation
9947func (s UserMetadata) String() string {
9948	return awsutil.Prettify(s)
9949}
9950
9951// GoString returns the string representation
9952func (s UserMetadata) GoString() string {
9953	return s.String()
9954}
9955
9956// SetEmailAddress sets the EmailAddress field's value.
9957func (s *UserMetadata) SetEmailAddress(v string) *UserMetadata {
9958	s.EmailAddress = &v
9959	return s
9960}
9961
9962// SetGivenName sets the GivenName field's value.
9963func (s *UserMetadata) SetGivenName(v string) *UserMetadata {
9964	s.GivenName = &v
9965	return s
9966}
9967
9968// SetId sets the Id field's value.
9969func (s *UserMetadata) SetId(v string) *UserMetadata {
9970	s.Id = &v
9971	return s
9972}
9973
9974// SetSurname sets the Surname field's value.
9975func (s *UserMetadata) SetSurname(v string) *UserMetadata {
9976	s.Surname = &v
9977	return s
9978}
9979
9980// SetUsername sets the Username field's value.
9981func (s *UserMetadata) SetUsername(v string) *UserMetadata {
9982	s.Username = &v
9983	return s
9984}
9985
9986// Describes the storage for a user.
9987type UserStorageMetadata struct {
9988	_ struct{} `type:"structure"`
9989
9990	// The storage for a user.
9991	StorageRule *StorageRuleType `type:"structure"`
9992
9993	// The amount of storage used, in bytes.
9994	StorageUtilizedInBytes *int64 `type:"long"`
9995}
9996
9997// String returns the string representation
9998func (s UserStorageMetadata) String() string {
9999	return awsutil.Prettify(s)
10000}
10001
10002// GoString returns the string representation
10003func (s UserStorageMetadata) GoString() string {
10004	return s.String()
10005}
10006
10007// SetStorageRule sets the StorageRule field's value.
10008func (s *UserStorageMetadata) SetStorageRule(v *StorageRuleType) *UserStorageMetadata {
10009	s.StorageRule = v
10010	return s
10011}
10012
10013// SetStorageUtilizedInBytes sets the StorageUtilizedInBytes field's value.
10014func (s *UserStorageMetadata) SetStorageUtilizedInBytes(v int64) *UserStorageMetadata {
10015	s.StorageUtilizedInBytes = &v
10016	return s
10017}
10018
10019const (
10020	// ActivityTypeDocumentCheckedIn is a ActivityType enum value
10021	ActivityTypeDocumentCheckedIn = "DOCUMENT_CHECKED_IN"
10022
10023	// ActivityTypeDocumentCheckedOut is a ActivityType enum value
10024	ActivityTypeDocumentCheckedOut = "DOCUMENT_CHECKED_OUT"
10025
10026	// ActivityTypeDocumentRenamed is a ActivityType enum value
10027	ActivityTypeDocumentRenamed = "DOCUMENT_RENAMED"
10028
10029	// ActivityTypeDocumentVersionUploaded is a ActivityType enum value
10030	ActivityTypeDocumentVersionUploaded = "DOCUMENT_VERSION_UPLOADED"
10031
10032	// ActivityTypeDocumentVersionDeleted is a ActivityType enum value
10033	ActivityTypeDocumentVersionDeleted = "DOCUMENT_VERSION_DELETED"
10034
10035	// ActivityTypeDocumentVersionViewed is a ActivityType enum value
10036	ActivityTypeDocumentVersionViewed = "DOCUMENT_VERSION_VIEWED"
10037
10038	// ActivityTypeDocumentVersionDownloaded is a ActivityType enum value
10039	ActivityTypeDocumentVersionDownloaded = "DOCUMENT_VERSION_DOWNLOADED"
10040
10041	// ActivityTypeDocumentRecycled is a ActivityType enum value
10042	ActivityTypeDocumentRecycled = "DOCUMENT_RECYCLED"
10043
10044	// ActivityTypeDocumentRestored is a ActivityType enum value
10045	ActivityTypeDocumentRestored = "DOCUMENT_RESTORED"
10046
10047	// ActivityTypeDocumentReverted is a ActivityType enum value
10048	ActivityTypeDocumentReverted = "DOCUMENT_REVERTED"
10049
10050	// ActivityTypeDocumentShared is a ActivityType enum value
10051	ActivityTypeDocumentShared = "DOCUMENT_SHARED"
10052
10053	// ActivityTypeDocumentUnshared is a ActivityType enum value
10054	ActivityTypeDocumentUnshared = "DOCUMENT_UNSHARED"
10055
10056	// ActivityTypeDocumentSharePermissionChanged is a ActivityType enum value
10057	ActivityTypeDocumentSharePermissionChanged = "DOCUMENT_SHARE_PERMISSION_CHANGED"
10058
10059	// ActivityTypeDocumentShareableLinkCreated is a ActivityType enum value
10060	ActivityTypeDocumentShareableLinkCreated = "DOCUMENT_SHAREABLE_LINK_CREATED"
10061
10062	// ActivityTypeDocumentShareableLinkRemoved is a ActivityType enum value
10063	ActivityTypeDocumentShareableLinkRemoved = "DOCUMENT_SHAREABLE_LINK_REMOVED"
10064
10065	// ActivityTypeDocumentShareableLinkPermissionChanged is a ActivityType enum value
10066	ActivityTypeDocumentShareableLinkPermissionChanged = "DOCUMENT_SHAREABLE_LINK_PERMISSION_CHANGED"
10067
10068	// ActivityTypeDocumentMoved is a ActivityType enum value
10069	ActivityTypeDocumentMoved = "DOCUMENT_MOVED"
10070
10071	// ActivityTypeDocumentCommentAdded is a ActivityType enum value
10072	ActivityTypeDocumentCommentAdded = "DOCUMENT_COMMENT_ADDED"
10073
10074	// ActivityTypeDocumentCommentDeleted is a ActivityType enum value
10075	ActivityTypeDocumentCommentDeleted = "DOCUMENT_COMMENT_DELETED"
10076
10077	// ActivityTypeDocumentAnnotationAdded is a ActivityType enum value
10078	ActivityTypeDocumentAnnotationAdded = "DOCUMENT_ANNOTATION_ADDED"
10079
10080	// ActivityTypeDocumentAnnotationDeleted is a ActivityType enum value
10081	ActivityTypeDocumentAnnotationDeleted = "DOCUMENT_ANNOTATION_DELETED"
10082
10083	// ActivityTypeFolderCreated is a ActivityType enum value
10084	ActivityTypeFolderCreated = "FOLDER_CREATED"
10085
10086	// ActivityTypeFolderDeleted is a ActivityType enum value
10087	ActivityTypeFolderDeleted = "FOLDER_DELETED"
10088
10089	// ActivityTypeFolderRenamed is a ActivityType enum value
10090	ActivityTypeFolderRenamed = "FOLDER_RENAMED"
10091
10092	// ActivityTypeFolderRecycled is a ActivityType enum value
10093	ActivityTypeFolderRecycled = "FOLDER_RECYCLED"
10094
10095	// ActivityTypeFolderRestored is a ActivityType enum value
10096	ActivityTypeFolderRestored = "FOLDER_RESTORED"
10097
10098	// ActivityTypeFolderShared is a ActivityType enum value
10099	ActivityTypeFolderShared = "FOLDER_SHARED"
10100
10101	// ActivityTypeFolderUnshared is a ActivityType enum value
10102	ActivityTypeFolderUnshared = "FOLDER_UNSHARED"
10103
10104	// ActivityTypeFolderSharePermissionChanged is a ActivityType enum value
10105	ActivityTypeFolderSharePermissionChanged = "FOLDER_SHARE_PERMISSION_CHANGED"
10106
10107	// ActivityTypeFolderShareableLinkCreated is a ActivityType enum value
10108	ActivityTypeFolderShareableLinkCreated = "FOLDER_SHAREABLE_LINK_CREATED"
10109
10110	// ActivityTypeFolderShareableLinkRemoved is a ActivityType enum value
10111	ActivityTypeFolderShareableLinkRemoved = "FOLDER_SHAREABLE_LINK_REMOVED"
10112
10113	// ActivityTypeFolderShareableLinkPermissionChanged is a ActivityType enum value
10114	ActivityTypeFolderShareableLinkPermissionChanged = "FOLDER_SHAREABLE_LINK_PERMISSION_CHANGED"
10115
10116	// ActivityTypeFolderMoved is a ActivityType enum value
10117	ActivityTypeFolderMoved = "FOLDER_MOVED"
10118)
10119
10120const (
10121	// BooleanEnumTypeTrue is a BooleanEnumType enum value
10122	BooleanEnumTypeTrue = "TRUE"
10123
10124	// BooleanEnumTypeFalse is a BooleanEnumType enum value
10125	BooleanEnumTypeFalse = "FALSE"
10126)
10127
10128const (
10129	// CommentStatusTypeDraft is a CommentStatusType enum value
10130	CommentStatusTypeDraft = "DRAFT"
10131
10132	// CommentStatusTypePublished is a CommentStatusType enum value
10133	CommentStatusTypePublished = "PUBLISHED"
10134
10135	// CommentStatusTypeDeleted is a CommentStatusType enum value
10136	CommentStatusTypeDeleted = "DELETED"
10137)
10138
10139const (
10140	// CommentVisibilityTypePublic is a CommentVisibilityType enum value
10141	CommentVisibilityTypePublic = "PUBLIC"
10142
10143	// CommentVisibilityTypePrivate is a CommentVisibilityType enum value
10144	CommentVisibilityTypePrivate = "PRIVATE"
10145)
10146
10147const (
10148	// DocumentSourceTypeOriginal is a DocumentSourceType enum value
10149	DocumentSourceTypeOriginal = "ORIGINAL"
10150
10151	// DocumentSourceTypeWithComments is a DocumentSourceType enum value
10152	DocumentSourceTypeWithComments = "WITH_COMMENTS"
10153)
10154
10155const (
10156	// DocumentStatusTypeInitialized is a DocumentStatusType enum value
10157	DocumentStatusTypeInitialized = "INITIALIZED"
10158
10159	// DocumentStatusTypeActive is a DocumentStatusType enum value
10160	DocumentStatusTypeActive = "ACTIVE"
10161)
10162
10163const (
10164	// DocumentThumbnailTypeSmall is a DocumentThumbnailType enum value
10165	DocumentThumbnailTypeSmall = "SMALL"
10166
10167	// DocumentThumbnailTypeSmallHq is a DocumentThumbnailType enum value
10168	DocumentThumbnailTypeSmallHq = "SMALL_HQ"
10169
10170	// DocumentThumbnailTypeLarge is a DocumentThumbnailType enum value
10171	DocumentThumbnailTypeLarge = "LARGE"
10172)
10173
10174const (
10175	// DocumentVersionStatusActive is a DocumentVersionStatus enum value
10176	DocumentVersionStatusActive = "ACTIVE"
10177)
10178
10179const (
10180	// FolderContentTypeAll is a FolderContentType enum value
10181	FolderContentTypeAll = "ALL"
10182
10183	// FolderContentTypeDocument is a FolderContentType enum value
10184	FolderContentTypeDocument = "DOCUMENT"
10185
10186	// FolderContentTypeFolder is a FolderContentType enum value
10187	FolderContentTypeFolder = "FOLDER"
10188)
10189
10190const (
10191	// LocaleTypeEn is a LocaleType enum value
10192	LocaleTypeEn = "en"
10193
10194	// LocaleTypeFr is a LocaleType enum value
10195	LocaleTypeFr = "fr"
10196
10197	// LocaleTypeKo is a LocaleType enum value
10198	LocaleTypeKo = "ko"
10199
10200	// LocaleTypeDe is a LocaleType enum value
10201	LocaleTypeDe = "de"
10202
10203	// LocaleTypeEs is a LocaleType enum value
10204	LocaleTypeEs = "es"
10205
10206	// LocaleTypeJa is a LocaleType enum value
10207	LocaleTypeJa = "ja"
10208
10209	// LocaleTypeRu is a LocaleType enum value
10210	LocaleTypeRu = "ru"
10211
10212	// LocaleTypeZhCn is a LocaleType enum value
10213	LocaleTypeZhCn = "zh_CN"
10214
10215	// LocaleTypeZhTw is a LocaleType enum value
10216	LocaleTypeZhTw = "zh_TW"
10217
10218	// LocaleTypePtBr is a LocaleType enum value
10219	LocaleTypePtBr = "pt_BR"
10220
10221	// LocaleTypeDefault is a LocaleType enum value
10222	LocaleTypeDefault = "default"
10223)
10224
10225const (
10226	// OrderTypeAscending is a OrderType enum value
10227	OrderTypeAscending = "ASCENDING"
10228
10229	// OrderTypeDescending is a OrderType enum value
10230	OrderTypeDescending = "DESCENDING"
10231)
10232
10233const (
10234	// PrincipalTypeUser is a PrincipalType enum value
10235	PrincipalTypeUser = "USER"
10236
10237	// PrincipalTypeGroup is a PrincipalType enum value
10238	PrincipalTypeGroup = "GROUP"
10239
10240	// PrincipalTypeInvite is a PrincipalType enum value
10241	PrincipalTypeInvite = "INVITE"
10242
10243	// PrincipalTypeAnonymous is a PrincipalType enum value
10244	PrincipalTypeAnonymous = "ANONYMOUS"
10245
10246	// PrincipalTypeOrganization is a PrincipalType enum value
10247	PrincipalTypeOrganization = "ORGANIZATION"
10248)
10249
10250const (
10251	// ResourceCollectionTypeSharedWithMe is a ResourceCollectionType enum value
10252	ResourceCollectionTypeSharedWithMe = "SHARED_WITH_ME"
10253)
10254
10255const (
10256	// ResourceSortTypeDate is a ResourceSortType enum value
10257	ResourceSortTypeDate = "DATE"
10258
10259	// ResourceSortTypeName is a ResourceSortType enum value
10260	ResourceSortTypeName = "NAME"
10261)
10262
10263const (
10264	// ResourceStateTypeActive is a ResourceStateType enum value
10265	ResourceStateTypeActive = "ACTIVE"
10266
10267	// ResourceStateTypeRestoring is a ResourceStateType enum value
10268	ResourceStateTypeRestoring = "RESTORING"
10269
10270	// ResourceStateTypeRecycling is a ResourceStateType enum value
10271	ResourceStateTypeRecycling = "RECYCLING"
10272
10273	// ResourceStateTypeRecycled is a ResourceStateType enum value
10274	ResourceStateTypeRecycled = "RECYCLED"
10275)
10276
10277const (
10278	// ResourceTypeFolder is a ResourceType enum value
10279	ResourceTypeFolder = "FOLDER"
10280
10281	// ResourceTypeDocument is a ResourceType enum value
10282	ResourceTypeDocument = "DOCUMENT"
10283)
10284
10285const (
10286	// RolePermissionTypeDirect is a RolePermissionType enum value
10287	RolePermissionTypeDirect = "DIRECT"
10288
10289	// RolePermissionTypeInherited is a RolePermissionType enum value
10290	RolePermissionTypeInherited = "INHERITED"
10291)
10292
10293const (
10294	// RoleTypeViewer is a RoleType enum value
10295	RoleTypeViewer = "VIEWER"
10296
10297	// RoleTypeContributor is a RoleType enum value
10298	RoleTypeContributor = "CONTRIBUTOR"
10299
10300	// RoleTypeOwner is a RoleType enum value
10301	RoleTypeOwner = "OWNER"
10302
10303	// RoleTypeCoowner is a RoleType enum value
10304	RoleTypeCoowner = "COOWNER"
10305)
10306
10307const (
10308	// ShareStatusTypeSuccess is a ShareStatusType enum value
10309	ShareStatusTypeSuccess = "SUCCESS"
10310
10311	// ShareStatusTypeFailure is a ShareStatusType enum value
10312	ShareStatusTypeFailure = "FAILURE"
10313)
10314
10315const (
10316	// StorageTypeUnlimited is a StorageType enum value
10317	StorageTypeUnlimited = "UNLIMITED"
10318
10319	// StorageTypeQuota is a StorageType enum value
10320	StorageTypeQuota = "QUOTA"
10321)
10322
10323const (
10324	// SubscriptionProtocolTypeHttps is a SubscriptionProtocolType enum value
10325	SubscriptionProtocolTypeHttps = "HTTPS"
10326)
10327
10328const (
10329	// SubscriptionTypeAll is a SubscriptionType enum value
10330	SubscriptionTypeAll = "ALL"
10331)
10332
10333const (
10334	// UserFilterTypeAll is a UserFilterType enum value
10335	UserFilterTypeAll = "ALL"
10336
10337	// UserFilterTypeActivePending is a UserFilterType enum value
10338	UserFilterTypeActivePending = "ACTIVE_PENDING"
10339)
10340
10341const (
10342	// UserSortTypeUserName is a UserSortType enum value
10343	UserSortTypeUserName = "USER_NAME"
10344
10345	// UserSortTypeFullName is a UserSortType enum value
10346	UserSortTypeFullName = "FULL_NAME"
10347
10348	// UserSortTypeStorageLimit is a UserSortType enum value
10349	UserSortTypeStorageLimit = "STORAGE_LIMIT"
10350
10351	// UserSortTypeUserStatus is a UserSortType enum value
10352	UserSortTypeUserStatus = "USER_STATUS"
10353
10354	// UserSortTypeStorageUsed is a UserSortType enum value
10355	UserSortTypeStorageUsed = "STORAGE_USED"
10356)
10357
10358const (
10359	// UserStatusTypeActive is a UserStatusType enum value
10360	UserStatusTypeActive = "ACTIVE"
10361
10362	// UserStatusTypeInactive is a UserStatusType enum value
10363	UserStatusTypeInactive = "INACTIVE"
10364
10365	// UserStatusTypePending is a UserStatusType enum value
10366	UserStatusTypePending = "PENDING"
10367)
10368
10369const (
10370	// UserTypeUser is a UserType enum value
10371	UserTypeUser = "USER"
10372
10373	// UserTypeAdmin is a UserType enum value
10374	UserTypeAdmin = "ADMIN"
10375
10376	// UserTypePoweruser is a UserType enum value
10377	UserTypePoweruser = "POWERUSER"
10378
10379	// UserTypeMinimaluser is a UserType enum value
10380	UserTypeMinimaluser = "MINIMALUSER"
10381
10382	// UserTypeWorkspacesuser is a UserType enum value
10383	UserTypeWorkspacesuser = "WORKSPACESUSER"
10384)
10385