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