1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package workdocs
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/restjson"
14)
15
16const opAbortDocumentVersionUpload = "AbortDocumentVersionUpload"
17
18// AbortDocumentVersionUploadRequest generates a "aws/request.Request" representing the
19// client's request for the AbortDocumentVersionUpload operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See AbortDocumentVersionUpload for more information on using the AbortDocumentVersionUpload
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the AbortDocumentVersionUploadRequest method.
34//    req, resp := client.AbortDocumentVersionUploadRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/AbortDocumentVersionUpload
42func (c *WorkDocs) AbortDocumentVersionUploadRequest(input *AbortDocumentVersionUploadInput) (req *request.Request, output *AbortDocumentVersionUploadOutput) {
43	op := &request.Operation{
44		Name:       opAbortDocumentVersionUpload,
45		HTTPMethod: "DELETE",
46		HTTPPath:   "/api/v1/documents/{DocumentId}/versions/{VersionId}",
47	}
48
49	if input == nil {
50		input = &AbortDocumentVersionUploadInput{}
51	}
52
53	output = &AbortDocumentVersionUploadOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AbortDocumentVersionUpload API operation for Amazon WorkDocs.
60//
61// Aborts the upload of the specified document version that was previously initiated
62// by InitiateDocumentVersionUpload. The client should make this call only when
63// it no longer intends to upload the document version, or fails to do so.
64//
65// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
66// with awserr.Error's Code and Message methods to get detailed information about
67// the error.
68//
69// See the AWS API reference guide for Amazon WorkDocs's
70// API operation AbortDocumentVersionUpload for usage and error information.
71//
72// Returned Error Types:
73//   * EntityNotExistsException
74//   The resource does not exist.
75//
76//   * ProhibitedStateException
77//   The specified document version is not in the INITIALIZED state.
78//
79//   * UnauthorizedOperationException
80//   The operation is not permitted.
81//
82//   * UnauthorizedResourceAccessException
83//   The caller does not have access to perform the action on the resource.
84//
85//   * FailedDependencyException
86//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
87//   under the control of the organization is failing, such as a connected Active
88//   Directory.
89//
90//   * ServiceUnavailableException
91//   One or more of the dependencies is unavailable.
92//
93// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/AbortDocumentVersionUpload
94func (c *WorkDocs) AbortDocumentVersionUpload(input *AbortDocumentVersionUploadInput) (*AbortDocumentVersionUploadOutput, error) {
95	req, out := c.AbortDocumentVersionUploadRequest(input)
96	return out, req.Send()
97}
98
99// AbortDocumentVersionUploadWithContext is the same as AbortDocumentVersionUpload with the addition of
100// the ability to pass a context and additional request options.
101//
102// See AbortDocumentVersionUpload for details on how to use this API operation.
103//
104// The context must be non-nil and will be used for request cancellation. If
105// the context is nil a panic will occur. In the future the SDK may create
106// sub-contexts for http.Requests. See https://golang.org/pkg/context/
107// for more information on using Contexts.
108func (c *WorkDocs) AbortDocumentVersionUploadWithContext(ctx aws.Context, input *AbortDocumentVersionUploadInput, opts ...request.Option) (*AbortDocumentVersionUploadOutput, error) {
109	req, out := c.AbortDocumentVersionUploadRequest(input)
110	req.SetContext(ctx)
111	req.ApplyOptions(opts...)
112	return out, req.Send()
113}
114
115const opActivateUser = "ActivateUser"
116
117// ActivateUserRequest generates a "aws/request.Request" representing the
118// client's request for the ActivateUser operation. The "output" return
119// value will be populated with the request's response once the request completes
120// successfully.
121//
122// Use "Send" method on the returned Request to send the API call to the service.
123// the "output" return value is not valid until after Send returns without error.
124//
125// See ActivateUser for more information on using the ActivateUser
126// API call, and error handling.
127//
128// This method is useful when you want to inject custom logic or configuration
129// into the SDK's request lifecycle. Such as custom headers, or retry logic.
130//
131//
132//    // Example sending a request using the ActivateUserRequest method.
133//    req, resp := client.ActivateUserRequest(params)
134//
135//    err := req.Send()
136//    if err == nil { // resp is now filled
137//        fmt.Println(resp)
138//    }
139//
140// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/ActivateUser
141func (c *WorkDocs) ActivateUserRequest(input *ActivateUserInput) (req *request.Request, output *ActivateUserOutput) {
142	op := &request.Operation{
143		Name:       opActivateUser,
144		HTTPMethod: "POST",
145		HTTPPath:   "/api/v1/users/{UserId}/activation",
146	}
147
148	if input == nil {
149		input = &ActivateUserInput{}
150	}
151
152	output = &ActivateUserOutput{}
153	req = c.newRequest(op, input, output)
154	return
155}
156
157// ActivateUser API operation for Amazon WorkDocs.
158//
159// Activates the specified user. Only active users can access Amazon WorkDocs.
160//
161// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
162// with awserr.Error's Code and Message methods to get detailed information about
163// the error.
164//
165// See the AWS API reference guide for Amazon WorkDocs's
166// API operation ActivateUser for usage and error information.
167//
168// Returned Error Types:
169//   * EntityNotExistsException
170//   The resource does not exist.
171//
172//   * UnauthorizedOperationException
173//   The operation is not permitted.
174//
175//   * UnauthorizedResourceAccessException
176//   The caller does not have access to perform the action on the resource.
177//
178//   * FailedDependencyException
179//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
180//   under the control of the organization is failing, such as a connected Active
181//   Directory.
182//
183//   * ServiceUnavailableException
184//   One or more of the dependencies is unavailable.
185//
186// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/ActivateUser
187func (c *WorkDocs) ActivateUser(input *ActivateUserInput) (*ActivateUserOutput, error) {
188	req, out := c.ActivateUserRequest(input)
189	return out, req.Send()
190}
191
192// ActivateUserWithContext is the same as ActivateUser with the addition of
193// the ability to pass a context and additional request options.
194//
195// See ActivateUser for details on how to use this API operation.
196//
197// The context must be non-nil and will be used for request cancellation. If
198// the context is nil a panic will occur. In the future the SDK may create
199// sub-contexts for http.Requests. See https://golang.org/pkg/context/
200// for more information on using Contexts.
201func (c *WorkDocs) ActivateUserWithContext(ctx aws.Context, input *ActivateUserInput, opts ...request.Option) (*ActivateUserOutput, error) {
202	req, out := c.ActivateUserRequest(input)
203	req.SetContext(ctx)
204	req.ApplyOptions(opts...)
205	return out, req.Send()
206}
207
208const opAddResourcePermissions = "AddResourcePermissions"
209
210// AddResourcePermissionsRequest generates a "aws/request.Request" representing the
211// client's request for the AddResourcePermissions operation. The "output" return
212// value will be populated with the request's response once the request completes
213// successfully.
214//
215// Use "Send" method on the returned Request to send the API call to the service.
216// the "output" return value is not valid until after Send returns without error.
217//
218// See AddResourcePermissions for more information on using the AddResourcePermissions
219// API call, and error handling.
220//
221// This method is useful when you want to inject custom logic or configuration
222// into the SDK's request lifecycle. Such as custom headers, or retry logic.
223//
224//
225//    // Example sending a request using the AddResourcePermissionsRequest method.
226//    req, resp := client.AddResourcePermissionsRequest(params)
227//
228//    err := req.Send()
229//    if err == nil { // resp is now filled
230//        fmt.Println(resp)
231//    }
232//
233// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/AddResourcePermissions
234func (c *WorkDocs) AddResourcePermissionsRequest(input *AddResourcePermissionsInput) (req *request.Request, output *AddResourcePermissionsOutput) {
235	op := &request.Operation{
236		Name:       opAddResourcePermissions,
237		HTTPMethod: "POST",
238		HTTPPath:   "/api/v1/resources/{ResourceId}/permissions",
239	}
240
241	if input == nil {
242		input = &AddResourcePermissionsInput{}
243	}
244
245	output = &AddResourcePermissionsOutput{}
246	req = c.newRequest(op, input, output)
247	return
248}
249
250// AddResourcePermissions API operation for Amazon WorkDocs.
251//
252// Creates a set of permissions for the specified folder or document. The resource
253// permissions are overwritten if the principals already have different permissions.
254//
255// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
256// with awserr.Error's Code and Message methods to get detailed information about
257// the error.
258//
259// See the AWS API reference guide for Amazon WorkDocs's
260// API operation AddResourcePermissions for usage and error information.
261//
262// Returned Error Types:
263//   * UnauthorizedOperationException
264//   The operation is not permitted.
265//
266//   * UnauthorizedResourceAccessException
267//   The caller does not have access to perform the action on the resource.
268//
269//   * FailedDependencyException
270//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
271//   under the control of the organization is failing, such as a connected Active
272//   Directory.
273//
274//   * ServiceUnavailableException
275//   One or more of the dependencies is unavailable.
276//
277// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/AddResourcePermissions
278func (c *WorkDocs) AddResourcePermissions(input *AddResourcePermissionsInput) (*AddResourcePermissionsOutput, error) {
279	req, out := c.AddResourcePermissionsRequest(input)
280	return out, req.Send()
281}
282
283// AddResourcePermissionsWithContext is the same as AddResourcePermissions with the addition of
284// the ability to pass a context and additional request options.
285//
286// See AddResourcePermissions for details on how to use this API operation.
287//
288// The context must be non-nil and will be used for request cancellation. If
289// the context is nil a panic will occur. In the future the SDK may create
290// sub-contexts for http.Requests. See https://golang.org/pkg/context/
291// for more information on using Contexts.
292func (c *WorkDocs) AddResourcePermissionsWithContext(ctx aws.Context, input *AddResourcePermissionsInput, opts ...request.Option) (*AddResourcePermissionsOutput, error) {
293	req, out := c.AddResourcePermissionsRequest(input)
294	req.SetContext(ctx)
295	req.ApplyOptions(opts...)
296	return out, req.Send()
297}
298
299const opCreateComment = "CreateComment"
300
301// CreateCommentRequest generates a "aws/request.Request" representing the
302// client's request for the CreateComment operation. The "output" return
303// value will be populated with the request's response once the request completes
304// successfully.
305//
306// Use "Send" method on the returned Request to send the API call to the service.
307// the "output" return value is not valid until after Send returns without error.
308//
309// See CreateComment for more information on using the CreateComment
310// API call, and error handling.
311//
312// This method is useful when you want to inject custom logic or configuration
313// into the SDK's request lifecycle. Such as custom headers, or retry logic.
314//
315//
316//    // Example sending a request using the CreateCommentRequest method.
317//    req, resp := client.CreateCommentRequest(params)
318//
319//    err := req.Send()
320//    if err == nil { // resp is now filled
321//        fmt.Println(resp)
322//    }
323//
324// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/CreateComment
325func (c *WorkDocs) CreateCommentRequest(input *CreateCommentInput) (req *request.Request, output *CreateCommentOutput) {
326	op := &request.Operation{
327		Name:       opCreateComment,
328		HTTPMethod: "POST",
329		HTTPPath:   "/api/v1/documents/{DocumentId}/versions/{VersionId}/comment",
330	}
331
332	if input == nil {
333		input = &CreateCommentInput{}
334	}
335
336	output = &CreateCommentOutput{}
337	req = c.newRequest(op, input, output)
338	return
339}
340
341// CreateComment API operation for Amazon WorkDocs.
342//
343// Adds a new comment to the specified document version.
344//
345// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
346// with awserr.Error's Code and Message methods to get detailed information about
347// the error.
348//
349// See the AWS API reference guide for Amazon WorkDocs's
350// API operation CreateComment for usage and error information.
351//
352// Returned Error Types:
353//   * EntityNotExistsException
354//   The resource does not exist.
355//
356//   * ProhibitedStateException
357//   The specified document version is not in the INITIALIZED state.
358//
359//   * UnauthorizedOperationException
360//   The operation is not permitted.
361//
362//   * UnauthorizedResourceAccessException
363//   The caller does not have access to perform the action on the resource.
364//
365//   * FailedDependencyException
366//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
367//   under the control of the organization is failing, such as a connected Active
368//   Directory.
369//
370//   * ServiceUnavailableException
371//   One or more of the dependencies is unavailable.
372//
373//   * DocumentLockedForCommentsException
374//   This exception is thrown when the document is locked for comments and user
375//   tries to create or delete a comment on that document.
376//
377//   * InvalidCommentOperationException
378//   The requested operation is not allowed on the specified comment object.
379//
380// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/CreateComment
381func (c *WorkDocs) CreateComment(input *CreateCommentInput) (*CreateCommentOutput, error) {
382	req, out := c.CreateCommentRequest(input)
383	return out, req.Send()
384}
385
386// CreateCommentWithContext is the same as CreateComment with the addition of
387// the ability to pass a context and additional request options.
388//
389// See CreateComment for details on how to use this API operation.
390//
391// The context must be non-nil and will be used for request cancellation. If
392// the context is nil a panic will occur. In the future the SDK may create
393// sub-contexts for http.Requests. See https://golang.org/pkg/context/
394// for more information on using Contexts.
395func (c *WorkDocs) CreateCommentWithContext(ctx aws.Context, input *CreateCommentInput, opts ...request.Option) (*CreateCommentOutput, error) {
396	req, out := c.CreateCommentRequest(input)
397	req.SetContext(ctx)
398	req.ApplyOptions(opts...)
399	return out, req.Send()
400}
401
402const opCreateCustomMetadata = "CreateCustomMetadata"
403
404// CreateCustomMetadataRequest generates a "aws/request.Request" representing the
405// client's request for the CreateCustomMetadata operation. The "output" return
406// value will be populated with the request's response once the request completes
407// successfully.
408//
409// Use "Send" method on the returned Request to send the API call to the service.
410// the "output" return value is not valid until after Send returns without error.
411//
412// See CreateCustomMetadata for more information on using the CreateCustomMetadata
413// API call, and error handling.
414//
415// This method is useful when you want to inject custom logic or configuration
416// into the SDK's request lifecycle. Such as custom headers, or retry logic.
417//
418//
419//    // Example sending a request using the CreateCustomMetadataRequest method.
420//    req, resp := client.CreateCustomMetadataRequest(params)
421//
422//    err := req.Send()
423//    if err == nil { // resp is now filled
424//        fmt.Println(resp)
425//    }
426//
427// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/CreateCustomMetadata
428func (c *WorkDocs) CreateCustomMetadataRequest(input *CreateCustomMetadataInput) (req *request.Request, output *CreateCustomMetadataOutput) {
429	op := &request.Operation{
430		Name:       opCreateCustomMetadata,
431		HTTPMethod: "PUT",
432		HTTPPath:   "/api/v1/resources/{ResourceId}/customMetadata",
433	}
434
435	if input == nil {
436		input = &CreateCustomMetadataInput{}
437	}
438
439	output = &CreateCustomMetadataOutput{}
440	req = c.newRequest(op, input, output)
441	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
442	return
443}
444
445// CreateCustomMetadata API operation for Amazon WorkDocs.
446//
447// Adds one or more custom properties to the specified resource (a folder, document,
448// or version).
449//
450// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
451// with awserr.Error's Code and Message methods to get detailed information about
452// the error.
453//
454// See the AWS API reference guide for Amazon WorkDocs's
455// API operation CreateCustomMetadata for usage and error information.
456//
457// Returned Error Types:
458//   * EntityNotExistsException
459//   The resource does not exist.
460//
461//   * UnauthorizedOperationException
462//   The operation is not permitted.
463//
464//   * UnauthorizedResourceAccessException
465//   The caller does not have access to perform the action on the resource.
466//
467//   * ProhibitedStateException
468//   The specified document version is not in the INITIALIZED state.
469//
470//   * CustomMetadataLimitExceededException
471//   The limit has been reached on the number of custom properties for the specified
472//   resource.
473//
474//   * FailedDependencyException
475//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
476//   under the control of the organization is failing, such as a connected Active
477//   Directory.
478//
479//   * ServiceUnavailableException
480//   One or more of the dependencies is unavailable.
481//
482// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/CreateCustomMetadata
483func (c *WorkDocs) CreateCustomMetadata(input *CreateCustomMetadataInput) (*CreateCustomMetadataOutput, error) {
484	req, out := c.CreateCustomMetadataRequest(input)
485	return out, req.Send()
486}
487
488// CreateCustomMetadataWithContext is the same as CreateCustomMetadata with the addition of
489// the ability to pass a context and additional request options.
490//
491// See CreateCustomMetadata for details on how to use this API operation.
492//
493// The context must be non-nil and will be used for request cancellation. If
494// the context is nil a panic will occur. In the future the SDK may create
495// sub-contexts for http.Requests. See https://golang.org/pkg/context/
496// for more information on using Contexts.
497func (c *WorkDocs) CreateCustomMetadataWithContext(ctx aws.Context, input *CreateCustomMetadataInput, opts ...request.Option) (*CreateCustomMetadataOutput, error) {
498	req, out := c.CreateCustomMetadataRequest(input)
499	req.SetContext(ctx)
500	req.ApplyOptions(opts...)
501	return out, req.Send()
502}
503
504const opCreateFolder = "CreateFolder"
505
506// CreateFolderRequest generates a "aws/request.Request" representing the
507// client's request for the CreateFolder operation. The "output" return
508// value will be populated with the request's response once the request completes
509// successfully.
510//
511// Use "Send" method on the returned Request to send the API call to the service.
512// the "output" return value is not valid until after Send returns without error.
513//
514// See CreateFolder for more information on using the CreateFolder
515// API call, and error handling.
516//
517// This method is useful when you want to inject custom logic or configuration
518// into the SDK's request lifecycle. Such as custom headers, or retry logic.
519//
520//
521//    // Example sending a request using the CreateFolderRequest method.
522//    req, resp := client.CreateFolderRequest(params)
523//
524//    err := req.Send()
525//    if err == nil { // resp is now filled
526//        fmt.Println(resp)
527//    }
528//
529// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/CreateFolder
530func (c *WorkDocs) CreateFolderRequest(input *CreateFolderInput) (req *request.Request, output *CreateFolderOutput) {
531	op := &request.Operation{
532		Name:       opCreateFolder,
533		HTTPMethod: "POST",
534		HTTPPath:   "/api/v1/folders",
535	}
536
537	if input == nil {
538		input = &CreateFolderInput{}
539	}
540
541	output = &CreateFolderOutput{}
542	req = c.newRequest(op, input, output)
543	return
544}
545
546// CreateFolder API operation for Amazon WorkDocs.
547//
548// Creates a folder with the specified name and parent folder.
549//
550// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
551// with awserr.Error's Code and Message methods to get detailed information about
552// the error.
553//
554// See the AWS API reference guide for Amazon WorkDocs's
555// API operation CreateFolder for usage and error information.
556//
557// Returned Error Types:
558//   * EntityNotExistsException
559//   The resource does not exist.
560//
561//   * EntityAlreadyExistsException
562//   The resource already exists.
563//
564//   * ProhibitedStateException
565//   The specified document version is not in the INITIALIZED state.
566//
567//   * ConflictingOperationException
568//   Another operation is in progress on the resource that conflicts with the
569//   current operation.
570//
571//   * LimitExceededException
572//   The maximum of 100,000 folders under the parent folder has been exceeded.
573//
574//   * UnauthorizedOperationException
575//   The operation is not permitted.
576//
577//   * UnauthorizedResourceAccessException
578//   The caller does not have access to perform the action on the resource.
579//
580//   * FailedDependencyException
581//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
582//   under the control of the organization is failing, such as a connected Active
583//   Directory.
584//
585//   * ServiceUnavailableException
586//   One or more of the dependencies is unavailable.
587//
588// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/CreateFolder
589func (c *WorkDocs) CreateFolder(input *CreateFolderInput) (*CreateFolderOutput, error) {
590	req, out := c.CreateFolderRequest(input)
591	return out, req.Send()
592}
593
594// CreateFolderWithContext is the same as CreateFolder with the addition of
595// the ability to pass a context and additional request options.
596//
597// See CreateFolder for details on how to use this API operation.
598//
599// The context must be non-nil and will be used for request cancellation. If
600// the context is nil a panic will occur. In the future the SDK may create
601// sub-contexts for http.Requests. See https://golang.org/pkg/context/
602// for more information on using Contexts.
603func (c *WorkDocs) CreateFolderWithContext(ctx aws.Context, input *CreateFolderInput, opts ...request.Option) (*CreateFolderOutput, error) {
604	req, out := c.CreateFolderRequest(input)
605	req.SetContext(ctx)
606	req.ApplyOptions(opts...)
607	return out, req.Send()
608}
609
610const opCreateLabels = "CreateLabels"
611
612// CreateLabelsRequest generates a "aws/request.Request" representing the
613// client's request for the CreateLabels operation. The "output" return
614// value will be populated with the request's response once the request completes
615// successfully.
616//
617// Use "Send" method on the returned Request to send the API call to the service.
618// the "output" return value is not valid until after Send returns without error.
619//
620// See CreateLabels for more information on using the CreateLabels
621// API call, and error handling.
622//
623// This method is useful when you want to inject custom logic or configuration
624// into the SDK's request lifecycle. Such as custom headers, or retry logic.
625//
626//
627//    // Example sending a request using the CreateLabelsRequest method.
628//    req, resp := client.CreateLabelsRequest(params)
629//
630//    err := req.Send()
631//    if err == nil { // resp is now filled
632//        fmt.Println(resp)
633//    }
634//
635// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/CreateLabels
636func (c *WorkDocs) CreateLabelsRequest(input *CreateLabelsInput) (req *request.Request, output *CreateLabelsOutput) {
637	op := &request.Operation{
638		Name:       opCreateLabels,
639		HTTPMethod: "PUT",
640		HTTPPath:   "/api/v1/resources/{ResourceId}/labels",
641	}
642
643	if input == nil {
644		input = &CreateLabelsInput{}
645	}
646
647	output = &CreateLabelsOutput{}
648	req = c.newRequest(op, input, output)
649	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
650	return
651}
652
653// CreateLabels API operation for Amazon WorkDocs.
654//
655// Adds the specified list of labels to the given resource (a document or folder)
656//
657// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
658// with awserr.Error's Code and Message methods to get detailed information about
659// the error.
660//
661// See the AWS API reference guide for Amazon WorkDocs's
662// API operation CreateLabels for usage and error information.
663//
664// Returned Error Types:
665//   * EntityNotExistsException
666//   The resource does not exist.
667//
668//   * UnauthorizedOperationException
669//   The operation is not permitted.
670//
671//   * UnauthorizedResourceAccessException
672//   The caller does not have access to perform the action on the resource.
673//
674//   * FailedDependencyException
675//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
676//   under the control of the organization is failing, such as a connected Active
677//   Directory.
678//
679//   * ServiceUnavailableException
680//   One or more of the dependencies is unavailable.
681//
682//   * TooManyLabelsException
683//   The limit has been reached on the number of labels for the specified resource.
684//
685// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/CreateLabels
686func (c *WorkDocs) CreateLabels(input *CreateLabelsInput) (*CreateLabelsOutput, error) {
687	req, out := c.CreateLabelsRequest(input)
688	return out, req.Send()
689}
690
691// CreateLabelsWithContext is the same as CreateLabels with the addition of
692// the ability to pass a context and additional request options.
693//
694// See CreateLabels for details on how to use this API operation.
695//
696// The context must be non-nil and will be used for request cancellation. If
697// the context is nil a panic will occur. In the future the SDK may create
698// sub-contexts for http.Requests. See https://golang.org/pkg/context/
699// for more information on using Contexts.
700func (c *WorkDocs) CreateLabelsWithContext(ctx aws.Context, input *CreateLabelsInput, opts ...request.Option) (*CreateLabelsOutput, error) {
701	req, out := c.CreateLabelsRequest(input)
702	req.SetContext(ctx)
703	req.ApplyOptions(opts...)
704	return out, req.Send()
705}
706
707const opCreateNotificationSubscription = "CreateNotificationSubscription"
708
709// CreateNotificationSubscriptionRequest generates a "aws/request.Request" representing the
710// client's request for the CreateNotificationSubscription operation. The "output" return
711// value will be populated with the request's response once the request completes
712// successfully.
713//
714// Use "Send" method on the returned Request to send the API call to the service.
715// the "output" return value is not valid until after Send returns without error.
716//
717// See CreateNotificationSubscription for more information on using the CreateNotificationSubscription
718// API call, and error handling.
719//
720// This method is useful when you want to inject custom logic or configuration
721// into the SDK's request lifecycle. Such as custom headers, or retry logic.
722//
723//
724//    // Example sending a request using the CreateNotificationSubscriptionRequest method.
725//    req, resp := client.CreateNotificationSubscriptionRequest(params)
726//
727//    err := req.Send()
728//    if err == nil { // resp is now filled
729//        fmt.Println(resp)
730//    }
731//
732// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/CreateNotificationSubscription
733func (c *WorkDocs) CreateNotificationSubscriptionRequest(input *CreateNotificationSubscriptionInput) (req *request.Request, output *CreateNotificationSubscriptionOutput) {
734	op := &request.Operation{
735		Name:       opCreateNotificationSubscription,
736		HTTPMethod: "POST",
737		HTTPPath:   "/api/v1/organizations/{OrganizationId}/subscriptions",
738	}
739
740	if input == nil {
741		input = &CreateNotificationSubscriptionInput{}
742	}
743
744	output = &CreateNotificationSubscriptionOutput{}
745	req = c.newRequest(op, input, output)
746	return
747}
748
749// CreateNotificationSubscription API operation for Amazon WorkDocs.
750//
751// Configure Amazon WorkDocs to use Amazon SNS notifications. The endpoint receives
752// a confirmation message, and must confirm the subscription.
753//
754// For more information, see Subscribe to Notifications (https://docs.aws.amazon.com/workdocs/latest/developerguide/subscribe-notifications.html)
755// in the Amazon WorkDocs Developer Guide.
756//
757// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
758// with awserr.Error's Code and Message methods to get detailed information about
759// the error.
760//
761// See the AWS API reference guide for Amazon WorkDocs's
762// API operation CreateNotificationSubscription for usage and error information.
763//
764// Returned Error Types:
765//   * UnauthorizedResourceAccessException
766//   The caller does not have access to perform the action on the resource.
767//
768//   * TooManySubscriptionsException
769//   You've reached the limit on the number of subscriptions for the WorkDocs
770//   instance.
771//
772//   * ServiceUnavailableException
773//   One or more of the dependencies is unavailable.
774//
775// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/CreateNotificationSubscription
776func (c *WorkDocs) CreateNotificationSubscription(input *CreateNotificationSubscriptionInput) (*CreateNotificationSubscriptionOutput, error) {
777	req, out := c.CreateNotificationSubscriptionRequest(input)
778	return out, req.Send()
779}
780
781// CreateNotificationSubscriptionWithContext is the same as CreateNotificationSubscription with the addition of
782// the ability to pass a context and additional request options.
783//
784// See CreateNotificationSubscription for details on how to use this API operation.
785//
786// The context must be non-nil and will be used for request cancellation. If
787// the context is nil a panic will occur. In the future the SDK may create
788// sub-contexts for http.Requests. See https://golang.org/pkg/context/
789// for more information on using Contexts.
790func (c *WorkDocs) CreateNotificationSubscriptionWithContext(ctx aws.Context, input *CreateNotificationSubscriptionInput, opts ...request.Option) (*CreateNotificationSubscriptionOutput, error) {
791	req, out := c.CreateNotificationSubscriptionRequest(input)
792	req.SetContext(ctx)
793	req.ApplyOptions(opts...)
794	return out, req.Send()
795}
796
797const opCreateUser = "CreateUser"
798
799// CreateUserRequest generates a "aws/request.Request" representing the
800// client's request for the CreateUser operation. The "output" return
801// value will be populated with the request's response once the request completes
802// successfully.
803//
804// Use "Send" method on the returned Request to send the API call to the service.
805// the "output" return value is not valid until after Send returns without error.
806//
807// See CreateUser for more information on using the CreateUser
808// API call, and error handling.
809//
810// This method is useful when you want to inject custom logic or configuration
811// into the SDK's request lifecycle. Such as custom headers, or retry logic.
812//
813//
814//    // Example sending a request using the CreateUserRequest method.
815//    req, resp := client.CreateUserRequest(params)
816//
817//    err := req.Send()
818//    if err == nil { // resp is now filled
819//        fmt.Println(resp)
820//    }
821//
822// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/CreateUser
823func (c *WorkDocs) CreateUserRequest(input *CreateUserInput) (req *request.Request, output *CreateUserOutput) {
824	op := &request.Operation{
825		Name:       opCreateUser,
826		HTTPMethod: "POST",
827		HTTPPath:   "/api/v1/users",
828	}
829
830	if input == nil {
831		input = &CreateUserInput{}
832	}
833
834	output = &CreateUserOutput{}
835	req = c.newRequest(op, input, output)
836	return
837}
838
839// CreateUser API operation for Amazon WorkDocs.
840//
841// Creates a user in a Simple AD or Microsoft AD directory. The status of a
842// newly created user is "ACTIVE". New users can access Amazon WorkDocs.
843//
844// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
845// with awserr.Error's Code and Message methods to get detailed information about
846// the error.
847//
848// See the AWS API reference guide for Amazon WorkDocs's
849// API operation CreateUser for usage and error information.
850//
851// Returned Error Types:
852//   * EntityAlreadyExistsException
853//   The resource already exists.
854//
855//   * UnauthorizedOperationException
856//   The operation is not permitted.
857//
858//   * UnauthorizedResourceAccessException
859//   The caller does not have access to perform the action on the resource.
860//
861//   * FailedDependencyException
862//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
863//   under the control of the organization is failing, such as a connected Active
864//   Directory.
865//
866//   * ServiceUnavailableException
867//   One or more of the dependencies is unavailable.
868//
869// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/CreateUser
870func (c *WorkDocs) CreateUser(input *CreateUserInput) (*CreateUserOutput, error) {
871	req, out := c.CreateUserRequest(input)
872	return out, req.Send()
873}
874
875// CreateUserWithContext is the same as CreateUser with the addition of
876// the ability to pass a context and additional request options.
877//
878// See CreateUser for details on how to use this API operation.
879//
880// The context must be non-nil and will be used for request cancellation. If
881// the context is nil a panic will occur. In the future the SDK may create
882// sub-contexts for http.Requests. See https://golang.org/pkg/context/
883// for more information on using Contexts.
884func (c *WorkDocs) CreateUserWithContext(ctx aws.Context, input *CreateUserInput, opts ...request.Option) (*CreateUserOutput, error) {
885	req, out := c.CreateUserRequest(input)
886	req.SetContext(ctx)
887	req.ApplyOptions(opts...)
888	return out, req.Send()
889}
890
891const opDeactivateUser = "DeactivateUser"
892
893// DeactivateUserRequest generates a "aws/request.Request" representing the
894// client's request for the DeactivateUser operation. The "output" return
895// value will be populated with the request's response once the request completes
896// successfully.
897//
898// Use "Send" method on the returned Request to send the API call to the service.
899// the "output" return value is not valid until after Send returns without error.
900//
901// See DeactivateUser for more information on using the DeactivateUser
902// API call, and error handling.
903//
904// This method is useful when you want to inject custom logic or configuration
905// into the SDK's request lifecycle. Such as custom headers, or retry logic.
906//
907//
908//    // Example sending a request using the DeactivateUserRequest method.
909//    req, resp := client.DeactivateUserRequest(params)
910//
911//    err := req.Send()
912//    if err == nil { // resp is now filled
913//        fmt.Println(resp)
914//    }
915//
916// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeactivateUser
917func (c *WorkDocs) DeactivateUserRequest(input *DeactivateUserInput) (req *request.Request, output *DeactivateUserOutput) {
918	op := &request.Operation{
919		Name:       opDeactivateUser,
920		HTTPMethod: "DELETE",
921		HTTPPath:   "/api/v1/users/{UserId}/activation",
922	}
923
924	if input == nil {
925		input = &DeactivateUserInput{}
926	}
927
928	output = &DeactivateUserOutput{}
929	req = c.newRequest(op, input, output)
930	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
931	return
932}
933
934// DeactivateUser API operation for Amazon WorkDocs.
935//
936// Deactivates the specified user, which revokes the user's access to Amazon
937// WorkDocs.
938//
939// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
940// with awserr.Error's Code and Message methods to get detailed information about
941// the error.
942//
943// See the AWS API reference guide for Amazon WorkDocs's
944// API operation DeactivateUser for usage and error information.
945//
946// Returned Error Types:
947//   * EntityNotExistsException
948//   The resource does not exist.
949//
950//   * UnauthorizedOperationException
951//   The operation is not permitted.
952//
953//   * UnauthorizedResourceAccessException
954//   The caller does not have access to perform the action on the resource.
955//
956//   * FailedDependencyException
957//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
958//   under the control of the organization is failing, such as a connected Active
959//   Directory.
960//
961//   * ServiceUnavailableException
962//   One or more of the dependencies is unavailable.
963//
964// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeactivateUser
965func (c *WorkDocs) DeactivateUser(input *DeactivateUserInput) (*DeactivateUserOutput, error) {
966	req, out := c.DeactivateUserRequest(input)
967	return out, req.Send()
968}
969
970// DeactivateUserWithContext is the same as DeactivateUser with the addition of
971// the ability to pass a context and additional request options.
972//
973// See DeactivateUser for details on how to use this API operation.
974//
975// The context must be non-nil and will be used for request cancellation. If
976// the context is nil a panic will occur. In the future the SDK may create
977// sub-contexts for http.Requests. See https://golang.org/pkg/context/
978// for more information on using Contexts.
979func (c *WorkDocs) DeactivateUserWithContext(ctx aws.Context, input *DeactivateUserInput, opts ...request.Option) (*DeactivateUserOutput, error) {
980	req, out := c.DeactivateUserRequest(input)
981	req.SetContext(ctx)
982	req.ApplyOptions(opts...)
983	return out, req.Send()
984}
985
986const opDeleteComment = "DeleteComment"
987
988// DeleteCommentRequest generates a "aws/request.Request" representing the
989// client's request for the DeleteComment operation. The "output" return
990// value will be populated with the request's response once the request completes
991// successfully.
992//
993// Use "Send" method on the returned Request to send the API call to the service.
994// the "output" return value is not valid until after Send returns without error.
995//
996// See DeleteComment for more information on using the DeleteComment
997// API call, and error handling.
998//
999// This method is useful when you want to inject custom logic or configuration
1000// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1001//
1002//
1003//    // Example sending a request using the DeleteCommentRequest method.
1004//    req, resp := client.DeleteCommentRequest(params)
1005//
1006//    err := req.Send()
1007//    if err == nil { // resp is now filled
1008//        fmt.Println(resp)
1009//    }
1010//
1011// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteComment
1012func (c *WorkDocs) DeleteCommentRequest(input *DeleteCommentInput) (req *request.Request, output *DeleteCommentOutput) {
1013	op := &request.Operation{
1014		Name:       opDeleteComment,
1015		HTTPMethod: "DELETE",
1016		HTTPPath:   "/api/v1/documents/{DocumentId}/versions/{VersionId}/comment/{CommentId}",
1017	}
1018
1019	if input == nil {
1020		input = &DeleteCommentInput{}
1021	}
1022
1023	output = &DeleteCommentOutput{}
1024	req = c.newRequest(op, input, output)
1025	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1026	return
1027}
1028
1029// DeleteComment API operation for Amazon WorkDocs.
1030//
1031// Deletes the specified comment from the document version.
1032//
1033// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1034// with awserr.Error's Code and Message methods to get detailed information about
1035// the error.
1036//
1037// See the AWS API reference guide for Amazon WorkDocs's
1038// API operation DeleteComment for usage and error information.
1039//
1040// Returned Error Types:
1041//   * EntityNotExistsException
1042//   The resource does not exist.
1043//
1044//   * ProhibitedStateException
1045//   The specified document version is not in the INITIALIZED state.
1046//
1047//   * UnauthorizedOperationException
1048//   The operation is not permitted.
1049//
1050//   * UnauthorizedResourceAccessException
1051//   The caller does not have access to perform the action on the resource.
1052//
1053//   * FailedDependencyException
1054//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
1055//   under the control of the organization is failing, such as a connected Active
1056//   Directory.
1057//
1058//   * ServiceUnavailableException
1059//   One or more of the dependencies is unavailable.
1060//
1061//   * DocumentLockedForCommentsException
1062//   This exception is thrown when the document is locked for comments and user
1063//   tries to create or delete a comment on that document.
1064//
1065// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteComment
1066func (c *WorkDocs) DeleteComment(input *DeleteCommentInput) (*DeleteCommentOutput, error) {
1067	req, out := c.DeleteCommentRequest(input)
1068	return out, req.Send()
1069}
1070
1071// DeleteCommentWithContext is the same as DeleteComment with the addition of
1072// the ability to pass a context and additional request options.
1073//
1074// See DeleteComment for details on how to use this API operation.
1075//
1076// The context must be non-nil and will be used for request cancellation. If
1077// the context is nil a panic will occur. In the future the SDK may create
1078// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1079// for more information on using Contexts.
1080func (c *WorkDocs) DeleteCommentWithContext(ctx aws.Context, input *DeleteCommentInput, opts ...request.Option) (*DeleteCommentOutput, error) {
1081	req, out := c.DeleteCommentRequest(input)
1082	req.SetContext(ctx)
1083	req.ApplyOptions(opts...)
1084	return out, req.Send()
1085}
1086
1087const opDeleteCustomMetadata = "DeleteCustomMetadata"
1088
1089// DeleteCustomMetadataRequest generates a "aws/request.Request" representing the
1090// client's request for the DeleteCustomMetadata operation. The "output" return
1091// value will be populated with the request's response once the request completes
1092// successfully.
1093//
1094// Use "Send" method on the returned Request to send the API call to the service.
1095// the "output" return value is not valid until after Send returns without error.
1096//
1097// See DeleteCustomMetadata for more information on using the DeleteCustomMetadata
1098// API call, and error handling.
1099//
1100// This method is useful when you want to inject custom logic or configuration
1101// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1102//
1103//
1104//    // Example sending a request using the DeleteCustomMetadataRequest method.
1105//    req, resp := client.DeleteCustomMetadataRequest(params)
1106//
1107//    err := req.Send()
1108//    if err == nil { // resp is now filled
1109//        fmt.Println(resp)
1110//    }
1111//
1112// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteCustomMetadata
1113func (c *WorkDocs) DeleteCustomMetadataRequest(input *DeleteCustomMetadataInput) (req *request.Request, output *DeleteCustomMetadataOutput) {
1114	op := &request.Operation{
1115		Name:       opDeleteCustomMetadata,
1116		HTTPMethod: "DELETE",
1117		HTTPPath:   "/api/v1/resources/{ResourceId}/customMetadata",
1118	}
1119
1120	if input == nil {
1121		input = &DeleteCustomMetadataInput{}
1122	}
1123
1124	output = &DeleteCustomMetadataOutput{}
1125	req = c.newRequest(op, input, output)
1126	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1127	return
1128}
1129
1130// DeleteCustomMetadata API operation for Amazon WorkDocs.
1131//
1132// Deletes custom metadata from the specified resource.
1133//
1134// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1135// with awserr.Error's Code and Message methods to get detailed information about
1136// the error.
1137//
1138// See the AWS API reference guide for Amazon WorkDocs's
1139// API operation DeleteCustomMetadata for usage and error information.
1140//
1141// Returned Error Types:
1142//   * EntityNotExistsException
1143//   The resource does not exist.
1144//
1145//   * UnauthorizedOperationException
1146//   The operation is not permitted.
1147//
1148//   * UnauthorizedResourceAccessException
1149//   The caller does not have access to perform the action on the resource.
1150//
1151//   * ProhibitedStateException
1152//   The specified document version is not in the INITIALIZED state.
1153//
1154//   * FailedDependencyException
1155//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
1156//   under the control of the organization is failing, such as a connected Active
1157//   Directory.
1158//
1159//   * ServiceUnavailableException
1160//   One or more of the dependencies is unavailable.
1161//
1162// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteCustomMetadata
1163func (c *WorkDocs) DeleteCustomMetadata(input *DeleteCustomMetadataInput) (*DeleteCustomMetadataOutput, error) {
1164	req, out := c.DeleteCustomMetadataRequest(input)
1165	return out, req.Send()
1166}
1167
1168// DeleteCustomMetadataWithContext is the same as DeleteCustomMetadata with the addition of
1169// the ability to pass a context and additional request options.
1170//
1171// See DeleteCustomMetadata for details on how to use this API operation.
1172//
1173// The context must be non-nil and will be used for request cancellation. If
1174// the context is nil a panic will occur. In the future the SDK may create
1175// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1176// for more information on using Contexts.
1177func (c *WorkDocs) DeleteCustomMetadataWithContext(ctx aws.Context, input *DeleteCustomMetadataInput, opts ...request.Option) (*DeleteCustomMetadataOutput, error) {
1178	req, out := c.DeleteCustomMetadataRequest(input)
1179	req.SetContext(ctx)
1180	req.ApplyOptions(opts...)
1181	return out, req.Send()
1182}
1183
1184const opDeleteDocument = "DeleteDocument"
1185
1186// DeleteDocumentRequest generates a "aws/request.Request" representing the
1187// client's request for the DeleteDocument operation. The "output" return
1188// value will be populated with the request's response once the request completes
1189// successfully.
1190//
1191// Use "Send" method on the returned Request to send the API call to the service.
1192// the "output" return value is not valid until after Send returns without error.
1193//
1194// See DeleteDocument for more information on using the DeleteDocument
1195// API call, and error handling.
1196//
1197// This method is useful when you want to inject custom logic or configuration
1198// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1199//
1200//
1201//    // Example sending a request using the DeleteDocumentRequest method.
1202//    req, resp := client.DeleteDocumentRequest(params)
1203//
1204//    err := req.Send()
1205//    if err == nil { // resp is now filled
1206//        fmt.Println(resp)
1207//    }
1208//
1209// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteDocument
1210func (c *WorkDocs) DeleteDocumentRequest(input *DeleteDocumentInput) (req *request.Request, output *DeleteDocumentOutput) {
1211	op := &request.Operation{
1212		Name:       opDeleteDocument,
1213		HTTPMethod: "DELETE",
1214		HTTPPath:   "/api/v1/documents/{DocumentId}",
1215	}
1216
1217	if input == nil {
1218		input = &DeleteDocumentInput{}
1219	}
1220
1221	output = &DeleteDocumentOutput{}
1222	req = c.newRequest(op, input, output)
1223	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1224	return
1225}
1226
1227// DeleteDocument API operation for Amazon WorkDocs.
1228//
1229// Permanently deletes the specified document and its associated metadata.
1230//
1231// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1232// with awserr.Error's Code and Message methods to get detailed information about
1233// the error.
1234//
1235// See the AWS API reference guide for Amazon WorkDocs's
1236// API operation DeleteDocument for usage and error information.
1237//
1238// Returned Error Types:
1239//   * EntityNotExistsException
1240//   The resource does not exist.
1241//
1242//   * ProhibitedStateException
1243//   The specified document version is not in the INITIALIZED state.
1244//
1245//   * ConflictingOperationException
1246//   Another operation is in progress on the resource that conflicts with the
1247//   current operation.
1248//
1249//   * ConcurrentModificationException
1250//   The resource hierarchy is changing.
1251//
1252//   * UnauthorizedOperationException
1253//   The operation is not permitted.
1254//
1255//   * UnauthorizedResourceAccessException
1256//   The caller does not have access to perform the action on the resource.
1257//
1258//   * FailedDependencyException
1259//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
1260//   under the control of the organization is failing, such as a connected Active
1261//   Directory.
1262//
1263//   * ServiceUnavailableException
1264//   One or more of the dependencies is unavailable.
1265//
1266// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteDocument
1267func (c *WorkDocs) DeleteDocument(input *DeleteDocumentInput) (*DeleteDocumentOutput, error) {
1268	req, out := c.DeleteDocumentRequest(input)
1269	return out, req.Send()
1270}
1271
1272// DeleteDocumentWithContext is the same as DeleteDocument with the addition of
1273// the ability to pass a context and additional request options.
1274//
1275// See DeleteDocument for details on how to use this API operation.
1276//
1277// The context must be non-nil and will be used for request cancellation. If
1278// the context is nil a panic will occur. In the future the SDK may create
1279// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1280// for more information on using Contexts.
1281func (c *WorkDocs) DeleteDocumentWithContext(ctx aws.Context, input *DeleteDocumentInput, opts ...request.Option) (*DeleteDocumentOutput, error) {
1282	req, out := c.DeleteDocumentRequest(input)
1283	req.SetContext(ctx)
1284	req.ApplyOptions(opts...)
1285	return out, req.Send()
1286}
1287
1288const opDeleteFolder = "DeleteFolder"
1289
1290// DeleteFolderRequest generates a "aws/request.Request" representing the
1291// client's request for the DeleteFolder operation. The "output" return
1292// value will be populated with the request's response once the request completes
1293// successfully.
1294//
1295// Use "Send" method on the returned Request to send the API call to the service.
1296// the "output" return value is not valid until after Send returns without error.
1297//
1298// See DeleteFolder for more information on using the DeleteFolder
1299// API call, and error handling.
1300//
1301// This method is useful when you want to inject custom logic or configuration
1302// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1303//
1304//
1305//    // Example sending a request using the DeleteFolderRequest method.
1306//    req, resp := client.DeleteFolderRequest(params)
1307//
1308//    err := req.Send()
1309//    if err == nil { // resp is now filled
1310//        fmt.Println(resp)
1311//    }
1312//
1313// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteFolder
1314func (c *WorkDocs) DeleteFolderRequest(input *DeleteFolderInput) (req *request.Request, output *DeleteFolderOutput) {
1315	op := &request.Operation{
1316		Name:       opDeleteFolder,
1317		HTTPMethod: "DELETE",
1318		HTTPPath:   "/api/v1/folders/{FolderId}",
1319	}
1320
1321	if input == nil {
1322		input = &DeleteFolderInput{}
1323	}
1324
1325	output = &DeleteFolderOutput{}
1326	req = c.newRequest(op, input, output)
1327	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1328	return
1329}
1330
1331// DeleteFolder API operation for Amazon WorkDocs.
1332//
1333// Permanently deletes the specified folder and its contents.
1334//
1335// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1336// with awserr.Error's Code and Message methods to get detailed information about
1337// the error.
1338//
1339// See the AWS API reference guide for Amazon WorkDocs's
1340// API operation DeleteFolder for usage and error information.
1341//
1342// Returned Error Types:
1343//   * EntityNotExistsException
1344//   The resource does not exist.
1345//
1346//   * ProhibitedStateException
1347//   The specified document version is not in the INITIALIZED state.
1348//
1349//   * ConflictingOperationException
1350//   Another operation is in progress on the resource that conflicts with the
1351//   current operation.
1352//
1353//   * ConcurrentModificationException
1354//   The resource hierarchy is changing.
1355//
1356//   * UnauthorizedOperationException
1357//   The operation is not permitted.
1358//
1359//   * UnauthorizedResourceAccessException
1360//   The caller does not have access to perform the action on the resource.
1361//
1362//   * FailedDependencyException
1363//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
1364//   under the control of the organization is failing, such as a connected Active
1365//   Directory.
1366//
1367//   * ServiceUnavailableException
1368//   One or more of the dependencies is unavailable.
1369//
1370// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteFolder
1371func (c *WorkDocs) DeleteFolder(input *DeleteFolderInput) (*DeleteFolderOutput, error) {
1372	req, out := c.DeleteFolderRequest(input)
1373	return out, req.Send()
1374}
1375
1376// DeleteFolderWithContext is the same as DeleteFolder with the addition of
1377// the ability to pass a context and additional request options.
1378//
1379// See DeleteFolder for details on how to use this API operation.
1380//
1381// The context must be non-nil and will be used for request cancellation. If
1382// the context is nil a panic will occur. In the future the SDK may create
1383// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1384// for more information on using Contexts.
1385func (c *WorkDocs) DeleteFolderWithContext(ctx aws.Context, input *DeleteFolderInput, opts ...request.Option) (*DeleteFolderOutput, error) {
1386	req, out := c.DeleteFolderRequest(input)
1387	req.SetContext(ctx)
1388	req.ApplyOptions(opts...)
1389	return out, req.Send()
1390}
1391
1392const opDeleteFolderContents = "DeleteFolderContents"
1393
1394// DeleteFolderContentsRequest generates a "aws/request.Request" representing the
1395// client's request for the DeleteFolderContents operation. The "output" return
1396// value will be populated with the request's response once the request completes
1397// successfully.
1398//
1399// Use "Send" method on the returned Request to send the API call to the service.
1400// the "output" return value is not valid until after Send returns without error.
1401//
1402// See DeleteFolderContents for more information on using the DeleteFolderContents
1403// API call, and error handling.
1404//
1405// This method is useful when you want to inject custom logic or configuration
1406// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1407//
1408//
1409//    // Example sending a request using the DeleteFolderContentsRequest method.
1410//    req, resp := client.DeleteFolderContentsRequest(params)
1411//
1412//    err := req.Send()
1413//    if err == nil { // resp is now filled
1414//        fmt.Println(resp)
1415//    }
1416//
1417// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteFolderContents
1418func (c *WorkDocs) DeleteFolderContentsRequest(input *DeleteFolderContentsInput) (req *request.Request, output *DeleteFolderContentsOutput) {
1419	op := &request.Operation{
1420		Name:       opDeleteFolderContents,
1421		HTTPMethod: "DELETE",
1422		HTTPPath:   "/api/v1/folders/{FolderId}/contents",
1423	}
1424
1425	if input == nil {
1426		input = &DeleteFolderContentsInput{}
1427	}
1428
1429	output = &DeleteFolderContentsOutput{}
1430	req = c.newRequest(op, input, output)
1431	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1432	return
1433}
1434
1435// DeleteFolderContents API operation for Amazon WorkDocs.
1436//
1437// Deletes the contents of the specified folder.
1438//
1439// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1440// with awserr.Error's Code and Message methods to get detailed information about
1441// the error.
1442//
1443// See the AWS API reference guide for Amazon WorkDocs's
1444// API operation DeleteFolderContents for usage and error information.
1445//
1446// Returned Error Types:
1447//   * EntityNotExistsException
1448//   The resource does not exist.
1449//
1450//   * ProhibitedStateException
1451//   The specified document version is not in the INITIALIZED state.
1452//
1453//   * ConflictingOperationException
1454//   Another operation is in progress on the resource that conflicts with the
1455//   current operation.
1456//
1457//   * UnauthorizedOperationException
1458//   The operation is not permitted.
1459//
1460//   * UnauthorizedResourceAccessException
1461//   The caller does not have access to perform the action on the resource.
1462//
1463//   * FailedDependencyException
1464//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
1465//   under the control of the organization is failing, such as a connected Active
1466//   Directory.
1467//
1468//   * ServiceUnavailableException
1469//   One or more of the dependencies is unavailable.
1470//
1471// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteFolderContents
1472func (c *WorkDocs) DeleteFolderContents(input *DeleteFolderContentsInput) (*DeleteFolderContentsOutput, error) {
1473	req, out := c.DeleteFolderContentsRequest(input)
1474	return out, req.Send()
1475}
1476
1477// DeleteFolderContentsWithContext is the same as DeleteFolderContents with the addition of
1478// the ability to pass a context and additional request options.
1479//
1480// See DeleteFolderContents for details on how to use this API operation.
1481//
1482// The context must be non-nil and will be used for request cancellation. If
1483// the context is nil a panic will occur. In the future the SDK may create
1484// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1485// for more information on using Contexts.
1486func (c *WorkDocs) DeleteFolderContentsWithContext(ctx aws.Context, input *DeleteFolderContentsInput, opts ...request.Option) (*DeleteFolderContentsOutput, error) {
1487	req, out := c.DeleteFolderContentsRequest(input)
1488	req.SetContext(ctx)
1489	req.ApplyOptions(opts...)
1490	return out, req.Send()
1491}
1492
1493const opDeleteLabels = "DeleteLabels"
1494
1495// DeleteLabelsRequest generates a "aws/request.Request" representing the
1496// client's request for the DeleteLabels operation. The "output" return
1497// value will be populated with the request's response once the request completes
1498// successfully.
1499//
1500// Use "Send" method on the returned Request to send the API call to the service.
1501// the "output" return value is not valid until after Send returns without error.
1502//
1503// See DeleteLabels for more information on using the DeleteLabels
1504// API call, and error handling.
1505//
1506// This method is useful when you want to inject custom logic or configuration
1507// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1508//
1509//
1510//    // Example sending a request using the DeleteLabelsRequest method.
1511//    req, resp := client.DeleteLabelsRequest(params)
1512//
1513//    err := req.Send()
1514//    if err == nil { // resp is now filled
1515//        fmt.Println(resp)
1516//    }
1517//
1518// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteLabels
1519func (c *WorkDocs) DeleteLabelsRequest(input *DeleteLabelsInput) (req *request.Request, output *DeleteLabelsOutput) {
1520	op := &request.Operation{
1521		Name:       opDeleteLabels,
1522		HTTPMethod: "DELETE",
1523		HTTPPath:   "/api/v1/resources/{ResourceId}/labels",
1524	}
1525
1526	if input == nil {
1527		input = &DeleteLabelsInput{}
1528	}
1529
1530	output = &DeleteLabelsOutput{}
1531	req = c.newRequest(op, input, output)
1532	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1533	return
1534}
1535
1536// DeleteLabels API operation for Amazon WorkDocs.
1537//
1538// Deletes the specified list of labels from a resource.
1539//
1540// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1541// with awserr.Error's Code and Message methods to get detailed information about
1542// the error.
1543//
1544// See the AWS API reference guide for Amazon WorkDocs's
1545// API operation DeleteLabels for usage and error information.
1546//
1547// Returned Error Types:
1548//   * EntityNotExistsException
1549//   The resource does not exist.
1550//
1551//   * UnauthorizedOperationException
1552//   The operation is not permitted.
1553//
1554//   * UnauthorizedResourceAccessException
1555//   The caller does not have access to perform the action on the resource.
1556//
1557//   * FailedDependencyException
1558//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
1559//   under the control of the organization is failing, such as a connected Active
1560//   Directory.
1561//
1562//   * ServiceUnavailableException
1563//   One or more of the dependencies is unavailable.
1564//
1565// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteLabels
1566func (c *WorkDocs) DeleteLabels(input *DeleteLabelsInput) (*DeleteLabelsOutput, error) {
1567	req, out := c.DeleteLabelsRequest(input)
1568	return out, req.Send()
1569}
1570
1571// DeleteLabelsWithContext is the same as DeleteLabels with the addition of
1572// the ability to pass a context and additional request options.
1573//
1574// See DeleteLabels for details on how to use this API operation.
1575//
1576// The context must be non-nil and will be used for request cancellation. If
1577// the context is nil a panic will occur. In the future the SDK may create
1578// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1579// for more information on using Contexts.
1580func (c *WorkDocs) DeleteLabelsWithContext(ctx aws.Context, input *DeleteLabelsInput, opts ...request.Option) (*DeleteLabelsOutput, error) {
1581	req, out := c.DeleteLabelsRequest(input)
1582	req.SetContext(ctx)
1583	req.ApplyOptions(opts...)
1584	return out, req.Send()
1585}
1586
1587const opDeleteNotificationSubscription = "DeleteNotificationSubscription"
1588
1589// DeleteNotificationSubscriptionRequest generates a "aws/request.Request" representing the
1590// client's request for the DeleteNotificationSubscription operation. The "output" return
1591// value will be populated with the request's response once the request completes
1592// successfully.
1593//
1594// Use "Send" method on the returned Request to send the API call to the service.
1595// the "output" return value is not valid until after Send returns without error.
1596//
1597// See DeleteNotificationSubscription for more information on using the DeleteNotificationSubscription
1598// API call, and error handling.
1599//
1600// This method is useful when you want to inject custom logic or configuration
1601// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1602//
1603//
1604//    // Example sending a request using the DeleteNotificationSubscriptionRequest method.
1605//    req, resp := client.DeleteNotificationSubscriptionRequest(params)
1606//
1607//    err := req.Send()
1608//    if err == nil { // resp is now filled
1609//        fmt.Println(resp)
1610//    }
1611//
1612// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteNotificationSubscription
1613func (c *WorkDocs) DeleteNotificationSubscriptionRequest(input *DeleteNotificationSubscriptionInput) (req *request.Request, output *DeleteNotificationSubscriptionOutput) {
1614	op := &request.Operation{
1615		Name:       opDeleteNotificationSubscription,
1616		HTTPMethod: "DELETE",
1617		HTTPPath:   "/api/v1/organizations/{OrganizationId}/subscriptions/{SubscriptionId}",
1618	}
1619
1620	if input == nil {
1621		input = &DeleteNotificationSubscriptionInput{}
1622	}
1623
1624	output = &DeleteNotificationSubscriptionOutput{}
1625	req = c.newRequest(op, input, output)
1626	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1627	return
1628}
1629
1630// DeleteNotificationSubscription API operation for Amazon WorkDocs.
1631//
1632// Deletes the specified subscription from the specified organization.
1633//
1634// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1635// with awserr.Error's Code and Message methods to get detailed information about
1636// the error.
1637//
1638// See the AWS API reference guide for Amazon WorkDocs's
1639// API operation DeleteNotificationSubscription for usage and error information.
1640//
1641// Returned Error Types:
1642//   * UnauthorizedResourceAccessException
1643//   The caller does not have access to perform the action on the resource.
1644//
1645//   * EntityNotExistsException
1646//   The resource does not exist.
1647//
1648//   * ServiceUnavailableException
1649//   One or more of the dependencies is unavailable.
1650//
1651//   * ProhibitedStateException
1652//   The specified document version is not in the INITIALIZED state.
1653//
1654// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteNotificationSubscription
1655func (c *WorkDocs) DeleteNotificationSubscription(input *DeleteNotificationSubscriptionInput) (*DeleteNotificationSubscriptionOutput, error) {
1656	req, out := c.DeleteNotificationSubscriptionRequest(input)
1657	return out, req.Send()
1658}
1659
1660// DeleteNotificationSubscriptionWithContext is the same as DeleteNotificationSubscription with the addition of
1661// the ability to pass a context and additional request options.
1662//
1663// See DeleteNotificationSubscription for details on how to use this API operation.
1664//
1665// The context must be non-nil and will be used for request cancellation. If
1666// the context is nil a panic will occur. In the future the SDK may create
1667// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1668// for more information on using Contexts.
1669func (c *WorkDocs) DeleteNotificationSubscriptionWithContext(ctx aws.Context, input *DeleteNotificationSubscriptionInput, opts ...request.Option) (*DeleteNotificationSubscriptionOutput, error) {
1670	req, out := c.DeleteNotificationSubscriptionRequest(input)
1671	req.SetContext(ctx)
1672	req.ApplyOptions(opts...)
1673	return out, req.Send()
1674}
1675
1676const opDeleteUser = "DeleteUser"
1677
1678// DeleteUserRequest generates a "aws/request.Request" representing the
1679// client's request for the DeleteUser operation. The "output" return
1680// value will be populated with the request's response once the request completes
1681// successfully.
1682//
1683// Use "Send" method on the returned Request to send the API call to the service.
1684// the "output" return value is not valid until after Send returns without error.
1685//
1686// See DeleteUser for more information on using the DeleteUser
1687// API call, and error handling.
1688//
1689// This method is useful when you want to inject custom logic or configuration
1690// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1691//
1692//
1693//    // Example sending a request using the DeleteUserRequest method.
1694//    req, resp := client.DeleteUserRequest(params)
1695//
1696//    err := req.Send()
1697//    if err == nil { // resp is now filled
1698//        fmt.Println(resp)
1699//    }
1700//
1701// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteUser
1702func (c *WorkDocs) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) {
1703	op := &request.Operation{
1704		Name:       opDeleteUser,
1705		HTTPMethod: "DELETE",
1706		HTTPPath:   "/api/v1/users/{UserId}",
1707	}
1708
1709	if input == nil {
1710		input = &DeleteUserInput{}
1711	}
1712
1713	output = &DeleteUserOutput{}
1714	req = c.newRequest(op, input, output)
1715	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1716	return
1717}
1718
1719// DeleteUser API operation for Amazon WorkDocs.
1720//
1721// Deletes the specified user from a Simple AD or Microsoft AD directory.
1722//
1723// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1724// with awserr.Error's Code and Message methods to get detailed information about
1725// the error.
1726//
1727// See the AWS API reference guide for Amazon WorkDocs's
1728// API operation DeleteUser for usage and error information.
1729//
1730// Returned Error Types:
1731//   * EntityNotExistsException
1732//   The resource does not exist.
1733//
1734//   * UnauthorizedOperationException
1735//   The operation is not permitted.
1736//
1737//   * UnauthorizedResourceAccessException
1738//   The caller does not have access to perform the action on the resource.
1739//
1740//   * FailedDependencyException
1741//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
1742//   under the control of the organization is failing, such as a connected Active
1743//   Directory.
1744//
1745//   * ServiceUnavailableException
1746//   One or more of the dependencies is unavailable.
1747//
1748// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DeleteUser
1749func (c *WorkDocs) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) {
1750	req, out := c.DeleteUserRequest(input)
1751	return out, req.Send()
1752}
1753
1754// DeleteUserWithContext is the same as DeleteUser with the addition of
1755// the ability to pass a context and additional request options.
1756//
1757// See DeleteUser for details on how to use this API operation.
1758//
1759// The context must be non-nil and will be used for request cancellation. If
1760// the context is nil a panic will occur. In the future the SDK may create
1761// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1762// for more information on using Contexts.
1763func (c *WorkDocs) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput, opts ...request.Option) (*DeleteUserOutput, error) {
1764	req, out := c.DeleteUserRequest(input)
1765	req.SetContext(ctx)
1766	req.ApplyOptions(opts...)
1767	return out, req.Send()
1768}
1769
1770const opDescribeActivities = "DescribeActivities"
1771
1772// DescribeActivitiesRequest generates a "aws/request.Request" representing the
1773// client's request for the DescribeActivities operation. The "output" return
1774// value will be populated with the request's response once the request completes
1775// successfully.
1776//
1777// Use "Send" method on the returned Request to send the API call to the service.
1778// the "output" return value is not valid until after Send returns without error.
1779//
1780// See DescribeActivities for more information on using the DescribeActivities
1781// API call, and error handling.
1782//
1783// This method is useful when you want to inject custom logic or configuration
1784// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1785//
1786//
1787//    // Example sending a request using the DescribeActivitiesRequest method.
1788//    req, resp := client.DescribeActivitiesRequest(params)
1789//
1790//    err := req.Send()
1791//    if err == nil { // resp is now filled
1792//        fmt.Println(resp)
1793//    }
1794//
1795// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeActivities
1796func (c *WorkDocs) DescribeActivitiesRequest(input *DescribeActivitiesInput) (req *request.Request, output *DescribeActivitiesOutput) {
1797	op := &request.Operation{
1798		Name:       opDescribeActivities,
1799		HTTPMethod: "GET",
1800		HTTPPath:   "/api/v1/activities",
1801	}
1802
1803	if input == nil {
1804		input = &DescribeActivitiesInput{}
1805	}
1806
1807	output = &DescribeActivitiesOutput{}
1808	req = c.newRequest(op, input, output)
1809	return
1810}
1811
1812// DescribeActivities API operation for Amazon WorkDocs.
1813//
1814// Describes the user activities in a specified time period.
1815//
1816// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1817// with awserr.Error's Code and Message methods to get detailed information about
1818// the error.
1819//
1820// See the AWS API reference guide for Amazon WorkDocs's
1821// API operation DescribeActivities for usage and error information.
1822//
1823// Returned Error Types:
1824//   * UnauthorizedOperationException
1825//   The operation is not permitted.
1826//
1827//   * UnauthorizedResourceAccessException
1828//   The caller does not have access to perform the action on the resource.
1829//
1830//   * InvalidArgumentException
1831//   The pagination marker or limit fields are not valid.
1832//
1833//   * FailedDependencyException
1834//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
1835//   under the control of the organization is failing, such as a connected Active
1836//   Directory.
1837//
1838//   * ServiceUnavailableException
1839//   One or more of the dependencies is unavailable.
1840//
1841// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeActivities
1842func (c *WorkDocs) DescribeActivities(input *DescribeActivitiesInput) (*DescribeActivitiesOutput, error) {
1843	req, out := c.DescribeActivitiesRequest(input)
1844	return out, req.Send()
1845}
1846
1847// DescribeActivitiesWithContext is the same as DescribeActivities with the addition of
1848// the ability to pass a context and additional request options.
1849//
1850// See DescribeActivities for details on how to use this API operation.
1851//
1852// The context must be non-nil and will be used for request cancellation. If
1853// the context is nil a panic will occur. In the future the SDK may create
1854// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1855// for more information on using Contexts.
1856func (c *WorkDocs) DescribeActivitiesWithContext(ctx aws.Context, input *DescribeActivitiesInput, opts ...request.Option) (*DescribeActivitiesOutput, error) {
1857	req, out := c.DescribeActivitiesRequest(input)
1858	req.SetContext(ctx)
1859	req.ApplyOptions(opts...)
1860	return out, req.Send()
1861}
1862
1863const opDescribeComments = "DescribeComments"
1864
1865// DescribeCommentsRequest generates a "aws/request.Request" representing the
1866// client's request for the DescribeComments operation. The "output" return
1867// value will be populated with the request's response once the request completes
1868// successfully.
1869//
1870// Use "Send" method on the returned Request to send the API call to the service.
1871// the "output" return value is not valid until after Send returns without error.
1872//
1873// See DescribeComments for more information on using the DescribeComments
1874// API call, and error handling.
1875//
1876// This method is useful when you want to inject custom logic or configuration
1877// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1878//
1879//
1880//    // Example sending a request using the DescribeCommentsRequest method.
1881//    req, resp := client.DescribeCommentsRequest(params)
1882//
1883//    err := req.Send()
1884//    if err == nil { // resp is now filled
1885//        fmt.Println(resp)
1886//    }
1887//
1888// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeComments
1889func (c *WorkDocs) DescribeCommentsRequest(input *DescribeCommentsInput) (req *request.Request, output *DescribeCommentsOutput) {
1890	op := &request.Operation{
1891		Name:       opDescribeComments,
1892		HTTPMethod: "GET",
1893		HTTPPath:   "/api/v1/documents/{DocumentId}/versions/{VersionId}/comments",
1894	}
1895
1896	if input == nil {
1897		input = &DescribeCommentsInput{}
1898	}
1899
1900	output = &DescribeCommentsOutput{}
1901	req = c.newRequest(op, input, output)
1902	return
1903}
1904
1905// DescribeComments API operation for Amazon WorkDocs.
1906//
1907// List all the comments for the specified document version.
1908//
1909// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1910// with awserr.Error's Code and Message methods to get detailed information about
1911// the error.
1912//
1913// See the AWS API reference guide for Amazon WorkDocs's
1914// API operation DescribeComments for usage and error information.
1915//
1916// Returned Error Types:
1917//   * EntityNotExistsException
1918//   The resource does not exist.
1919//
1920//   * ProhibitedStateException
1921//   The specified document version is not in the INITIALIZED state.
1922//
1923//   * UnauthorizedOperationException
1924//   The operation is not permitted.
1925//
1926//   * UnauthorizedResourceAccessException
1927//   The caller does not have access to perform the action on the resource.
1928//
1929//   * FailedDependencyException
1930//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
1931//   under the control of the organization is failing, such as a connected Active
1932//   Directory.
1933//
1934//   * ServiceUnavailableException
1935//   One or more of the dependencies is unavailable.
1936//
1937// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeComments
1938func (c *WorkDocs) DescribeComments(input *DescribeCommentsInput) (*DescribeCommentsOutput, error) {
1939	req, out := c.DescribeCommentsRequest(input)
1940	return out, req.Send()
1941}
1942
1943// DescribeCommentsWithContext is the same as DescribeComments with the addition of
1944// the ability to pass a context and additional request options.
1945//
1946// See DescribeComments for details on how to use this API operation.
1947//
1948// The context must be non-nil and will be used for request cancellation. If
1949// the context is nil a panic will occur. In the future the SDK may create
1950// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1951// for more information on using Contexts.
1952func (c *WorkDocs) DescribeCommentsWithContext(ctx aws.Context, input *DescribeCommentsInput, opts ...request.Option) (*DescribeCommentsOutput, error) {
1953	req, out := c.DescribeCommentsRequest(input)
1954	req.SetContext(ctx)
1955	req.ApplyOptions(opts...)
1956	return out, req.Send()
1957}
1958
1959const opDescribeDocumentVersions = "DescribeDocumentVersions"
1960
1961// DescribeDocumentVersionsRequest generates a "aws/request.Request" representing the
1962// client's request for the DescribeDocumentVersions operation. The "output" return
1963// value will be populated with the request's response once the request completes
1964// successfully.
1965//
1966// Use "Send" method on the returned Request to send the API call to the service.
1967// the "output" return value is not valid until after Send returns without error.
1968//
1969// See DescribeDocumentVersions for more information on using the DescribeDocumentVersions
1970// API call, and error handling.
1971//
1972// This method is useful when you want to inject custom logic or configuration
1973// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1974//
1975//
1976//    // Example sending a request using the DescribeDocumentVersionsRequest method.
1977//    req, resp := client.DescribeDocumentVersionsRequest(params)
1978//
1979//    err := req.Send()
1980//    if err == nil { // resp is now filled
1981//        fmt.Println(resp)
1982//    }
1983//
1984// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeDocumentVersions
1985func (c *WorkDocs) DescribeDocumentVersionsRequest(input *DescribeDocumentVersionsInput) (req *request.Request, output *DescribeDocumentVersionsOutput) {
1986	op := &request.Operation{
1987		Name:       opDescribeDocumentVersions,
1988		HTTPMethod: "GET",
1989		HTTPPath:   "/api/v1/documents/{DocumentId}/versions",
1990		Paginator: &request.Paginator{
1991			InputTokens:     []string{"Marker"},
1992			OutputTokens:    []string{"Marker"},
1993			LimitToken:      "Limit",
1994			TruncationToken: "",
1995		},
1996	}
1997
1998	if input == nil {
1999		input = &DescribeDocumentVersionsInput{}
2000	}
2001
2002	output = &DescribeDocumentVersionsOutput{}
2003	req = c.newRequest(op, input, output)
2004	return
2005}
2006
2007// DescribeDocumentVersions API operation for Amazon WorkDocs.
2008//
2009// Retrieves the document versions for the specified document.
2010//
2011// By default, only active versions are returned.
2012//
2013// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2014// with awserr.Error's Code and Message methods to get detailed information about
2015// the error.
2016//
2017// See the AWS API reference guide for Amazon WorkDocs's
2018// API operation DescribeDocumentVersions for usage and error information.
2019//
2020// Returned Error Types:
2021//   * EntityNotExistsException
2022//   The resource does not exist.
2023//
2024//   * UnauthorizedOperationException
2025//   The operation is not permitted.
2026//
2027//   * UnauthorizedResourceAccessException
2028//   The caller does not have access to perform the action on the resource.
2029//
2030//   * InvalidArgumentException
2031//   The pagination marker or limit fields are not valid.
2032//
2033//   * FailedDependencyException
2034//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
2035//   under the control of the organization is failing, such as a connected Active
2036//   Directory.
2037//
2038//   * ServiceUnavailableException
2039//   One or more of the dependencies is unavailable.
2040//
2041//   * ProhibitedStateException
2042//   The specified document version is not in the INITIALIZED state.
2043//
2044// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeDocumentVersions
2045func (c *WorkDocs) DescribeDocumentVersions(input *DescribeDocumentVersionsInput) (*DescribeDocumentVersionsOutput, error) {
2046	req, out := c.DescribeDocumentVersionsRequest(input)
2047	return out, req.Send()
2048}
2049
2050// DescribeDocumentVersionsWithContext is the same as DescribeDocumentVersions with the addition of
2051// the ability to pass a context and additional request options.
2052//
2053// See DescribeDocumentVersions for details on how to use this API operation.
2054//
2055// The context must be non-nil and will be used for request cancellation. If
2056// the context is nil a panic will occur. In the future the SDK may create
2057// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2058// for more information on using Contexts.
2059func (c *WorkDocs) DescribeDocumentVersionsWithContext(ctx aws.Context, input *DescribeDocumentVersionsInput, opts ...request.Option) (*DescribeDocumentVersionsOutput, error) {
2060	req, out := c.DescribeDocumentVersionsRequest(input)
2061	req.SetContext(ctx)
2062	req.ApplyOptions(opts...)
2063	return out, req.Send()
2064}
2065
2066// DescribeDocumentVersionsPages iterates over the pages of a DescribeDocumentVersions operation,
2067// calling the "fn" function with the response data for each page. To stop
2068// iterating, return false from the fn function.
2069//
2070// See DescribeDocumentVersions method for more information on how to use this operation.
2071//
2072// Note: This operation can generate multiple requests to a service.
2073//
2074//    // Example iterating over at most 3 pages of a DescribeDocumentVersions operation.
2075//    pageNum := 0
2076//    err := client.DescribeDocumentVersionsPages(params,
2077//        func(page *workdocs.DescribeDocumentVersionsOutput, lastPage bool) bool {
2078//            pageNum++
2079//            fmt.Println(page)
2080//            return pageNum <= 3
2081//        })
2082//
2083func (c *WorkDocs) DescribeDocumentVersionsPages(input *DescribeDocumentVersionsInput, fn func(*DescribeDocumentVersionsOutput, bool) bool) error {
2084	return c.DescribeDocumentVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
2085}
2086
2087// DescribeDocumentVersionsPagesWithContext same as DescribeDocumentVersionsPages except
2088// it takes a Context and allows setting request options on the pages.
2089//
2090// The context must be non-nil and will be used for request cancellation. If
2091// the context is nil a panic will occur. In the future the SDK may create
2092// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2093// for more information on using Contexts.
2094func (c *WorkDocs) DescribeDocumentVersionsPagesWithContext(ctx aws.Context, input *DescribeDocumentVersionsInput, fn func(*DescribeDocumentVersionsOutput, bool) bool, opts ...request.Option) error {
2095	p := request.Pagination{
2096		NewRequest: func() (*request.Request, error) {
2097			var inCpy *DescribeDocumentVersionsInput
2098			if input != nil {
2099				tmp := *input
2100				inCpy = &tmp
2101			}
2102			req, _ := c.DescribeDocumentVersionsRequest(inCpy)
2103			req.SetContext(ctx)
2104			req.ApplyOptions(opts...)
2105			return req, nil
2106		},
2107	}
2108
2109	for p.Next() {
2110		if !fn(p.Page().(*DescribeDocumentVersionsOutput), !p.HasNextPage()) {
2111			break
2112		}
2113	}
2114
2115	return p.Err()
2116}
2117
2118const opDescribeFolderContents = "DescribeFolderContents"
2119
2120// DescribeFolderContentsRequest generates a "aws/request.Request" representing the
2121// client's request for the DescribeFolderContents operation. The "output" return
2122// value will be populated with the request's response once the request completes
2123// successfully.
2124//
2125// Use "Send" method on the returned Request to send the API call to the service.
2126// the "output" return value is not valid until after Send returns without error.
2127//
2128// See DescribeFolderContents for more information on using the DescribeFolderContents
2129// API call, and error handling.
2130//
2131// This method is useful when you want to inject custom logic or configuration
2132// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2133//
2134//
2135//    // Example sending a request using the DescribeFolderContentsRequest method.
2136//    req, resp := client.DescribeFolderContentsRequest(params)
2137//
2138//    err := req.Send()
2139//    if err == nil { // resp is now filled
2140//        fmt.Println(resp)
2141//    }
2142//
2143// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeFolderContents
2144func (c *WorkDocs) DescribeFolderContentsRequest(input *DescribeFolderContentsInput) (req *request.Request, output *DescribeFolderContentsOutput) {
2145	op := &request.Operation{
2146		Name:       opDescribeFolderContents,
2147		HTTPMethod: "GET",
2148		HTTPPath:   "/api/v1/folders/{FolderId}/contents",
2149		Paginator: &request.Paginator{
2150			InputTokens:     []string{"Marker"},
2151			OutputTokens:    []string{"Marker"},
2152			LimitToken:      "Limit",
2153			TruncationToken: "",
2154		},
2155	}
2156
2157	if input == nil {
2158		input = &DescribeFolderContentsInput{}
2159	}
2160
2161	output = &DescribeFolderContentsOutput{}
2162	req = c.newRequest(op, input, output)
2163	return
2164}
2165
2166// DescribeFolderContents API operation for Amazon WorkDocs.
2167//
2168// Describes the contents of the specified folder, including its documents and
2169// subfolders.
2170//
2171// By default, Amazon WorkDocs returns the first 100 active document and folder
2172// metadata items. If there are more results, the response includes a marker
2173// that you can use to request the next set of results. You can also request
2174// initialized documents.
2175//
2176// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2177// with awserr.Error's Code and Message methods to get detailed information about
2178// the error.
2179//
2180// See the AWS API reference guide for Amazon WorkDocs's
2181// API operation DescribeFolderContents for usage and error information.
2182//
2183// Returned Error Types:
2184//   * EntityNotExistsException
2185//   The resource does not exist.
2186//
2187//   * UnauthorizedResourceAccessException
2188//   The caller does not have access to perform the action on the resource.
2189//
2190//   * InvalidArgumentException
2191//   The pagination marker or limit fields are not valid.
2192//
2193//   * FailedDependencyException
2194//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
2195//   under the control of the organization is failing, such as a connected Active
2196//   Directory.
2197//
2198//   * ServiceUnavailableException
2199//   One or more of the dependencies is unavailable.
2200//
2201//   * ProhibitedStateException
2202//   The specified document version is not in the INITIALIZED state.
2203//
2204// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeFolderContents
2205func (c *WorkDocs) DescribeFolderContents(input *DescribeFolderContentsInput) (*DescribeFolderContentsOutput, error) {
2206	req, out := c.DescribeFolderContentsRequest(input)
2207	return out, req.Send()
2208}
2209
2210// DescribeFolderContentsWithContext is the same as DescribeFolderContents with the addition of
2211// the ability to pass a context and additional request options.
2212//
2213// See DescribeFolderContents for details on how to use this API operation.
2214//
2215// The context must be non-nil and will be used for request cancellation. If
2216// the context is nil a panic will occur. In the future the SDK may create
2217// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2218// for more information on using Contexts.
2219func (c *WorkDocs) DescribeFolderContentsWithContext(ctx aws.Context, input *DescribeFolderContentsInput, opts ...request.Option) (*DescribeFolderContentsOutput, error) {
2220	req, out := c.DescribeFolderContentsRequest(input)
2221	req.SetContext(ctx)
2222	req.ApplyOptions(opts...)
2223	return out, req.Send()
2224}
2225
2226// DescribeFolderContentsPages iterates over the pages of a DescribeFolderContents operation,
2227// calling the "fn" function with the response data for each page. To stop
2228// iterating, return false from the fn function.
2229//
2230// See DescribeFolderContents method for more information on how to use this operation.
2231//
2232// Note: This operation can generate multiple requests to a service.
2233//
2234//    // Example iterating over at most 3 pages of a DescribeFolderContents operation.
2235//    pageNum := 0
2236//    err := client.DescribeFolderContentsPages(params,
2237//        func(page *workdocs.DescribeFolderContentsOutput, lastPage bool) bool {
2238//            pageNum++
2239//            fmt.Println(page)
2240//            return pageNum <= 3
2241//        })
2242//
2243func (c *WorkDocs) DescribeFolderContentsPages(input *DescribeFolderContentsInput, fn func(*DescribeFolderContentsOutput, bool) bool) error {
2244	return c.DescribeFolderContentsPagesWithContext(aws.BackgroundContext(), input, fn)
2245}
2246
2247// DescribeFolderContentsPagesWithContext same as DescribeFolderContentsPages except
2248// it takes a Context and allows setting request options on the pages.
2249//
2250// The context must be non-nil and will be used for request cancellation. If
2251// the context is nil a panic will occur. In the future the SDK may create
2252// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2253// for more information on using Contexts.
2254func (c *WorkDocs) DescribeFolderContentsPagesWithContext(ctx aws.Context, input *DescribeFolderContentsInput, fn func(*DescribeFolderContentsOutput, bool) bool, opts ...request.Option) error {
2255	p := request.Pagination{
2256		NewRequest: func() (*request.Request, error) {
2257			var inCpy *DescribeFolderContentsInput
2258			if input != nil {
2259				tmp := *input
2260				inCpy = &tmp
2261			}
2262			req, _ := c.DescribeFolderContentsRequest(inCpy)
2263			req.SetContext(ctx)
2264			req.ApplyOptions(opts...)
2265			return req, nil
2266		},
2267	}
2268
2269	for p.Next() {
2270		if !fn(p.Page().(*DescribeFolderContentsOutput), !p.HasNextPage()) {
2271			break
2272		}
2273	}
2274
2275	return p.Err()
2276}
2277
2278const opDescribeGroups = "DescribeGroups"
2279
2280// DescribeGroupsRequest generates a "aws/request.Request" representing the
2281// client's request for the DescribeGroups operation. The "output" return
2282// value will be populated with the request's response once the request completes
2283// successfully.
2284//
2285// Use "Send" method on the returned Request to send the API call to the service.
2286// the "output" return value is not valid until after Send returns without error.
2287//
2288// See DescribeGroups for more information on using the DescribeGroups
2289// API call, and error handling.
2290//
2291// This method is useful when you want to inject custom logic or configuration
2292// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2293//
2294//
2295//    // Example sending a request using the DescribeGroupsRequest method.
2296//    req, resp := client.DescribeGroupsRequest(params)
2297//
2298//    err := req.Send()
2299//    if err == nil { // resp is now filled
2300//        fmt.Println(resp)
2301//    }
2302//
2303// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeGroups
2304func (c *WorkDocs) DescribeGroupsRequest(input *DescribeGroupsInput) (req *request.Request, output *DescribeGroupsOutput) {
2305	op := &request.Operation{
2306		Name:       opDescribeGroups,
2307		HTTPMethod: "GET",
2308		HTTPPath:   "/api/v1/groups",
2309	}
2310
2311	if input == nil {
2312		input = &DescribeGroupsInput{}
2313	}
2314
2315	output = &DescribeGroupsOutput{}
2316	req = c.newRequest(op, input, output)
2317	return
2318}
2319
2320// DescribeGroups API operation for Amazon WorkDocs.
2321//
2322// Describes the groups specified by the query. Groups are defined by the underlying
2323// Active Directory.
2324//
2325// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2326// with awserr.Error's Code and Message methods to get detailed information about
2327// the error.
2328//
2329// See the AWS API reference guide for Amazon WorkDocs's
2330// API operation DescribeGroups for usage and error information.
2331//
2332// Returned Error Types:
2333//   * UnauthorizedOperationException
2334//   The operation is not permitted.
2335//
2336//   * UnauthorizedResourceAccessException
2337//   The caller does not have access to perform the action on the resource.
2338//
2339//   * FailedDependencyException
2340//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
2341//   under the control of the organization is failing, such as a connected Active
2342//   Directory.
2343//
2344//   * ServiceUnavailableException
2345//   One or more of the dependencies is unavailable.
2346//
2347// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeGroups
2348func (c *WorkDocs) DescribeGroups(input *DescribeGroupsInput) (*DescribeGroupsOutput, error) {
2349	req, out := c.DescribeGroupsRequest(input)
2350	return out, req.Send()
2351}
2352
2353// DescribeGroupsWithContext is the same as DescribeGroups with the addition of
2354// the ability to pass a context and additional request options.
2355//
2356// See DescribeGroups for details on how to use this API operation.
2357//
2358// The context must be non-nil and will be used for request cancellation. If
2359// the context is nil a panic will occur. In the future the SDK may create
2360// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2361// for more information on using Contexts.
2362func (c *WorkDocs) DescribeGroupsWithContext(ctx aws.Context, input *DescribeGroupsInput, opts ...request.Option) (*DescribeGroupsOutput, error) {
2363	req, out := c.DescribeGroupsRequest(input)
2364	req.SetContext(ctx)
2365	req.ApplyOptions(opts...)
2366	return out, req.Send()
2367}
2368
2369const opDescribeNotificationSubscriptions = "DescribeNotificationSubscriptions"
2370
2371// DescribeNotificationSubscriptionsRequest generates a "aws/request.Request" representing the
2372// client's request for the DescribeNotificationSubscriptions operation. The "output" return
2373// value will be populated with the request's response once the request completes
2374// successfully.
2375//
2376// Use "Send" method on the returned Request to send the API call to the service.
2377// the "output" return value is not valid until after Send returns without error.
2378//
2379// See DescribeNotificationSubscriptions for more information on using the DescribeNotificationSubscriptions
2380// API call, and error handling.
2381//
2382// This method is useful when you want to inject custom logic or configuration
2383// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2384//
2385//
2386//    // Example sending a request using the DescribeNotificationSubscriptionsRequest method.
2387//    req, resp := client.DescribeNotificationSubscriptionsRequest(params)
2388//
2389//    err := req.Send()
2390//    if err == nil { // resp is now filled
2391//        fmt.Println(resp)
2392//    }
2393//
2394// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeNotificationSubscriptions
2395func (c *WorkDocs) DescribeNotificationSubscriptionsRequest(input *DescribeNotificationSubscriptionsInput) (req *request.Request, output *DescribeNotificationSubscriptionsOutput) {
2396	op := &request.Operation{
2397		Name:       opDescribeNotificationSubscriptions,
2398		HTTPMethod: "GET",
2399		HTTPPath:   "/api/v1/organizations/{OrganizationId}/subscriptions",
2400	}
2401
2402	if input == nil {
2403		input = &DescribeNotificationSubscriptionsInput{}
2404	}
2405
2406	output = &DescribeNotificationSubscriptionsOutput{}
2407	req = c.newRequest(op, input, output)
2408	return
2409}
2410
2411// DescribeNotificationSubscriptions API operation for Amazon WorkDocs.
2412//
2413// Lists the specified notification subscriptions.
2414//
2415// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2416// with awserr.Error's Code and Message methods to get detailed information about
2417// the error.
2418//
2419// See the AWS API reference guide for Amazon WorkDocs's
2420// API operation DescribeNotificationSubscriptions for usage and error information.
2421//
2422// Returned Error Types:
2423//   * UnauthorizedResourceAccessException
2424//   The caller does not have access to perform the action on the resource.
2425//
2426//   * EntityNotExistsException
2427//   The resource does not exist.
2428//
2429//   * ServiceUnavailableException
2430//   One or more of the dependencies is unavailable.
2431//
2432// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeNotificationSubscriptions
2433func (c *WorkDocs) DescribeNotificationSubscriptions(input *DescribeNotificationSubscriptionsInput) (*DescribeNotificationSubscriptionsOutput, error) {
2434	req, out := c.DescribeNotificationSubscriptionsRequest(input)
2435	return out, req.Send()
2436}
2437
2438// DescribeNotificationSubscriptionsWithContext is the same as DescribeNotificationSubscriptions with the addition of
2439// the ability to pass a context and additional request options.
2440//
2441// See DescribeNotificationSubscriptions for details on how to use this API operation.
2442//
2443// The context must be non-nil and will be used for request cancellation. If
2444// the context is nil a panic will occur. In the future the SDK may create
2445// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2446// for more information on using Contexts.
2447func (c *WorkDocs) DescribeNotificationSubscriptionsWithContext(ctx aws.Context, input *DescribeNotificationSubscriptionsInput, opts ...request.Option) (*DescribeNotificationSubscriptionsOutput, error) {
2448	req, out := c.DescribeNotificationSubscriptionsRequest(input)
2449	req.SetContext(ctx)
2450	req.ApplyOptions(opts...)
2451	return out, req.Send()
2452}
2453
2454const opDescribeResourcePermissions = "DescribeResourcePermissions"
2455
2456// DescribeResourcePermissionsRequest generates a "aws/request.Request" representing the
2457// client's request for the DescribeResourcePermissions operation. The "output" return
2458// value will be populated with the request's response once the request completes
2459// successfully.
2460//
2461// Use "Send" method on the returned Request to send the API call to the service.
2462// the "output" return value is not valid until after Send returns without error.
2463//
2464// See DescribeResourcePermissions for more information on using the DescribeResourcePermissions
2465// API call, and error handling.
2466//
2467// This method is useful when you want to inject custom logic or configuration
2468// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2469//
2470//
2471//    // Example sending a request using the DescribeResourcePermissionsRequest method.
2472//    req, resp := client.DescribeResourcePermissionsRequest(params)
2473//
2474//    err := req.Send()
2475//    if err == nil { // resp is now filled
2476//        fmt.Println(resp)
2477//    }
2478//
2479// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeResourcePermissions
2480func (c *WorkDocs) DescribeResourcePermissionsRequest(input *DescribeResourcePermissionsInput) (req *request.Request, output *DescribeResourcePermissionsOutput) {
2481	op := &request.Operation{
2482		Name:       opDescribeResourcePermissions,
2483		HTTPMethod: "GET",
2484		HTTPPath:   "/api/v1/resources/{ResourceId}/permissions",
2485	}
2486
2487	if input == nil {
2488		input = &DescribeResourcePermissionsInput{}
2489	}
2490
2491	output = &DescribeResourcePermissionsOutput{}
2492	req = c.newRequest(op, input, output)
2493	return
2494}
2495
2496// DescribeResourcePermissions API operation for Amazon WorkDocs.
2497//
2498// Describes the permissions of a specified resource.
2499//
2500// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2501// with awserr.Error's Code and Message methods to get detailed information about
2502// the error.
2503//
2504// See the AWS API reference guide for Amazon WorkDocs's
2505// API operation DescribeResourcePermissions for usage and error information.
2506//
2507// Returned Error Types:
2508//   * UnauthorizedOperationException
2509//   The operation is not permitted.
2510//
2511//   * UnauthorizedResourceAccessException
2512//   The caller does not have access to perform the action on the resource.
2513//
2514//   * FailedDependencyException
2515//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
2516//   under the control of the organization is failing, such as a connected Active
2517//   Directory.
2518//
2519//   * ServiceUnavailableException
2520//   One or more of the dependencies is unavailable.
2521//
2522// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeResourcePermissions
2523func (c *WorkDocs) DescribeResourcePermissions(input *DescribeResourcePermissionsInput) (*DescribeResourcePermissionsOutput, error) {
2524	req, out := c.DescribeResourcePermissionsRequest(input)
2525	return out, req.Send()
2526}
2527
2528// DescribeResourcePermissionsWithContext is the same as DescribeResourcePermissions with the addition of
2529// the ability to pass a context and additional request options.
2530//
2531// See DescribeResourcePermissions for details on how to use this API operation.
2532//
2533// The context must be non-nil and will be used for request cancellation. If
2534// the context is nil a panic will occur. In the future the SDK may create
2535// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2536// for more information on using Contexts.
2537func (c *WorkDocs) DescribeResourcePermissionsWithContext(ctx aws.Context, input *DescribeResourcePermissionsInput, opts ...request.Option) (*DescribeResourcePermissionsOutput, error) {
2538	req, out := c.DescribeResourcePermissionsRequest(input)
2539	req.SetContext(ctx)
2540	req.ApplyOptions(opts...)
2541	return out, req.Send()
2542}
2543
2544const opDescribeRootFolders = "DescribeRootFolders"
2545
2546// DescribeRootFoldersRequest generates a "aws/request.Request" representing the
2547// client's request for the DescribeRootFolders operation. The "output" return
2548// value will be populated with the request's response once the request completes
2549// successfully.
2550//
2551// Use "Send" method on the returned Request to send the API call to the service.
2552// the "output" return value is not valid until after Send returns without error.
2553//
2554// See DescribeRootFolders for more information on using the DescribeRootFolders
2555// API call, and error handling.
2556//
2557// This method is useful when you want to inject custom logic or configuration
2558// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2559//
2560//
2561//    // Example sending a request using the DescribeRootFoldersRequest method.
2562//    req, resp := client.DescribeRootFoldersRequest(params)
2563//
2564//    err := req.Send()
2565//    if err == nil { // resp is now filled
2566//        fmt.Println(resp)
2567//    }
2568//
2569// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeRootFolders
2570func (c *WorkDocs) DescribeRootFoldersRequest(input *DescribeRootFoldersInput) (req *request.Request, output *DescribeRootFoldersOutput) {
2571	op := &request.Operation{
2572		Name:       opDescribeRootFolders,
2573		HTTPMethod: "GET",
2574		HTTPPath:   "/api/v1/me/root",
2575	}
2576
2577	if input == nil {
2578		input = &DescribeRootFoldersInput{}
2579	}
2580
2581	output = &DescribeRootFoldersOutput{}
2582	req = c.newRequest(op, input, output)
2583	return
2584}
2585
2586// DescribeRootFolders API operation for Amazon WorkDocs.
2587//
2588// Describes the current user's special folders; the RootFolder and the RecycleBin.
2589// RootFolder is the root of user's files and folders and RecycleBin is the
2590// root of recycled items. This is not a valid action for SigV4 (administrative
2591// API) clients.
2592//
2593// This action requires an authentication token. To get an authentication token,
2594// register an application with Amazon WorkDocs. For more information, see Authentication
2595// and Access Control for User Applications (https://docs.aws.amazon.com/workdocs/latest/developerguide/wd-auth-user.html)
2596// in the Amazon WorkDocs Developer Guide.
2597//
2598// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2599// with awserr.Error's Code and Message methods to get detailed information about
2600// the error.
2601//
2602// See the AWS API reference guide for Amazon WorkDocs's
2603// API operation DescribeRootFolders for usage and error information.
2604//
2605// Returned Error Types:
2606//   * UnauthorizedOperationException
2607//   The operation is not permitted.
2608//
2609//   * UnauthorizedResourceAccessException
2610//   The caller does not have access to perform the action on the resource.
2611//
2612//   * InvalidArgumentException
2613//   The pagination marker or limit fields are not valid.
2614//
2615//   * FailedDependencyException
2616//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
2617//   under the control of the organization is failing, such as a connected Active
2618//   Directory.
2619//
2620//   * ServiceUnavailableException
2621//   One or more of the dependencies is unavailable.
2622//
2623// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeRootFolders
2624func (c *WorkDocs) DescribeRootFolders(input *DescribeRootFoldersInput) (*DescribeRootFoldersOutput, error) {
2625	req, out := c.DescribeRootFoldersRequest(input)
2626	return out, req.Send()
2627}
2628
2629// DescribeRootFoldersWithContext is the same as DescribeRootFolders with the addition of
2630// the ability to pass a context and additional request options.
2631//
2632// See DescribeRootFolders for details on how to use this API operation.
2633//
2634// The context must be non-nil and will be used for request cancellation. If
2635// the context is nil a panic will occur. In the future the SDK may create
2636// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2637// for more information on using Contexts.
2638func (c *WorkDocs) DescribeRootFoldersWithContext(ctx aws.Context, input *DescribeRootFoldersInput, opts ...request.Option) (*DescribeRootFoldersOutput, error) {
2639	req, out := c.DescribeRootFoldersRequest(input)
2640	req.SetContext(ctx)
2641	req.ApplyOptions(opts...)
2642	return out, req.Send()
2643}
2644
2645const opDescribeUsers = "DescribeUsers"
2646
2647// DescribeUsersRequest generates a "aws/request.Request" representing the
2648// client's request for the DescribeUsers operation. The "output" return
2649// value will be populated with the request's response once the request completes
2650// successfully.
2651//
2652// Use "Send" method on the returned Request to send the API call to the service.
2653// the "output" return value is not valid until after Send returns without error.
2654//
2655// See DescribeUsers for more information on using the DescribeUsers
2656// API call, and error handling.
2657//
2658// This method is useful when you want to inject custom logic or configuration
2659// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2660//
2661//
2662//    // Example sending a request using the DescribeUsersRequest method.
2663//    req, resp := client.DescribeUsersRequest(params)
2664//
2665//    err := req.Send()
2666//    if err == nil { // resp is now filled
2667//        fmt.Println(resp)
2668//    }
2669//
2670// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeUsers
2671func (c *WorkDocs) DescribeUsersRequest(input *DescribeUsersInput) (req *request.Request, output *DescribeUsersOutput) {
2672	op := &request.Operation{
2673		Name:       opDescribeUsers,
2674		HTTPMethod: "GET",
2675		HTTPPath:   "/api/v1/users",
2676		Paginator: &request.Paginator{
2677			InputTokens:     []string{"Marker"},
2678			OutputTokens:    []string{"Marker"},
2679			LimitToken:      "Limit",
2680			TruncationToken: "",
2681		},
2682	}
2683
2684	if input == nil {
2685		input = &DescribeUsersInput{}
2686	}
2687
2688	output = &DescribeUsersOutput{}
2689	req = c.newRequest(op, input, output)
2690	return
2691}
2692
2693// DescribeUsers API operation for Amazon WorkDocs.
2694//
2695// Describes the specified users. You can describe all users or filter the results
2696// (for example, by status or organization).
2697//
2698// By default, Amazon WorkDocs returns the first 24 active or pending users.
2699// If there are more results, the response includes a marker that you can use
2700// to request the next set of results.
2701//
2702// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2703// with awserr.Error's Code and Message methods to get detailed information about
2704// the error.
2705//
2706// See the AWS API reference guide for Amazon WorkDocs's
2707// API operation DescribeUsers for usage and error information.
2708//
2709// Returned Error Types:
2710//   * EntityNotExistsException
2711//   The resource does not exist.
2712//
2713//   * UnauthorizedOperationException
2714//   The operation is not permitted.
2715//
2716//   * UnauthorizedResourceAccessException
2717//   The caller does not have access to perform the action on the resource.
2718//
2719//   * FailedDependencyException
2720//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
2721//   under the control of the organization is failing, such as a connected Active
2722//   Directory.
2723//
2724//   * ServiceUnavailableException
2725//   One or more of the dependencies is unavailable.
2726//
2727//   * InvalidArgumentException
2728//   The pagination marker or limit fields are not valid.
2729//
2730//   * RequestedEntityTooLargeException
2731//   The response is too large to return. The request must include a filter to
2732//   reduce the size of the response.
2733//
2734// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/DescribeUsers
2735func (c *WorkDocs) DescribeUsers(input *DescribeUsersInput) (*DescribeUsersOutput, error) {
2736	req, out := c.DescribeUsersRequest(input)
2737	return out, req.Send()
2738}
2739
2740// DescribeUsersWithContext is the same as DescribeUsers with the addition of
2741// the ability to pass a context and additional request options.
2742//
2743// See DescribeUsers for details on how to use this API operation.
2744//
2745// The context must be non-nil and will be used for request cancellation. If
2746// the context is nil a panic will occur. In the future the SDK may create
2747// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2748// for more information on using Contexts.
2749func (c *WorkDocs) DescribeUsersWithContext(ctx aws.Context, input *DescribeUsersInput, opts ...request.Option) (*DescribeUsersOutput, error) {
2750	req, out := c.DescribeUsersRequest(input)
2751	req.SetContext(ctx)
2752	req.ApplyOptions(opts...)
2753	return out, req.Send()
2754}
2755
2756// DescribeUsersPages iterates over the pages of a DescribeUsers operation,
2757// calling the "fn" function with the response data for each page. To stop
2758// iterating, return false from the fn function.
2759//
2760// See DescribeUsers method for more information on how to use this operation.
2761//
2762// Note: This operation can generate multiple requests to a service.
2763//
2764//    // Example iterating over at most 3 pages of a DescribeUsers operation.
2765//    pageNum := 0
2766//    err := client.DescribeUsersPages(params,
2767//        func(page *workdocs.DescribeUsersOutput, lastPage bool) bool {
2768//            pageNum++
2769//            fmt.Println(page)
2770//            return pageNum <= 3
2771//        })
2772//
2773func (c *WorkDocs) DescribeUsersPages(input *DescribeUsersInput, fn func(*DescribeUsersOutput, bool) bool) error {
2774	return c.DescribeUsersPagesWithContext(aws.BackgroundContext(), input, fn)
2775}
2776
2777// DescribeUsersPagesWithContext same as DescribeUsersPages except
2778// it takes a Context and allows setting request options on the pages.
2779//
2780// The context must be non-nil and will be used for request cancellation. If
2781// the context is nil a panic will occur. In the future the SDK may create
2782// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2783// for more information on using Contexts.
2784func (c *WorkDocs) DescribeUsersPagesWithContext(ctx aws.Context, input *DescribeUsersInput, fn func(*DescribeUsersOutput, bool) bool, opts ...request.Option) error {
2785	p := request.Pagination{
2786		NewRequest: func() (*request.Request, error) {
2787			var inCpy *DescribeUsersInput
2788			if input != nil {
2789				tmp := *input
2790				inCpy = &tmp
2791			}
2792			req, _ := c.DescribeUsersRequest(inCpy)
2793			req.SetContext(ctx)
2794			req.ApplyOptions(opts...)
2795			return req, nil
2796		},
2797	}
2798
2799	for p.Next() {
2800		if !fn(p.Page().(*DescribeUsersOutput), !p.HasNextPage()) {
2801			break
2802		}
2803	}
2804
2805	return p.Err()
2806}
2807
2808const opGetCurrentUser = "GetCurrentUser"
2809
2810// GetCurrentUserRequest generates a "aws/request.Request" representing the
2811// client's request for the GetCurrentUser operation. The "output" return
2812// value will be populated with the request's response once the request completes
2813// successfully.
2814//
2815// Use "Send" method on the returned Request to send the API call to the service.
2816// the "output" return value is not valid until after Send returns without error.
2817//
2818// See GetCurrentUser for more information on using the GetCurrentUser
2819// API call, and error handling.
2820//
2821// This method is useful when you want to inject custom logic or configuration
2822// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2823//
2824//
2825//    // Example sending a request using the GetCurrentUserRequest method.
2826//    req, resp := client.GetCurrentUserRequest(params)
2827//
2828//    err := req.Send()
2829//    if err == nil { // resp is now filled
2830//        fmt.Println(resp)
2831//    }
2832//
2833// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetCurrentUser
2834func (c *WorkDocs) GetCurrentUserRequest(input *GetCurrentUserInput) (req *request.Request, output *GetCurrentUserOutput) {
2835	op := &request.Operation{
2836		Name:       opGetCurrentUser,
2837		HTTPMethod: "GET",
2838		HTTPPath:   "/api/v1/me",
2839	}
2840
2841	if input == nil {
2842		input = &GetCurrentUserInput{}
2843	}
2844
2845	output = &GetCurrentUserOutput{}
2846	req = c.newRequest(op, input, output)
2847	return
2848}
2849
2850// GetCurrentUser API operation for Amazon WorkDocs.
2851//
2852// Retrieves details of the current user for whom the authentication token was
2853// generated. This is not a valid action for SigV4 (administrative API) clients.
2854//
2855// This action requires an authentication token. To get an authentication token,
2856// register an application with Amazon WorkDocs. For more information, see Authentication
2857// and Access Control for User Applications (https://docs.aws.amazon.com/workdocs/latest/developerguide/wd-auth-user.html)
2858// in the Amazon WorkDocs Developer Guide.
2859//
2860// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2861// with awserr.Error's Code and Message methods to get detailed information about
2862// the error.
2863//
2864// See the AWS API reference guide for Amazon WorkDocs's
2865// API operation GetCurrentUser for usage and error information.
2866//
2867// Returned Error Types:
2868//   * EntityNotExistsException
2869//   The resource does not exist.
2870//
2871//   * UnauthorizedOperationException
2872//   The operation is not permitted.
2873//
2874//   * UnauthorizedResourceAccessException
2875//   The caller does not have access to perform the action on the resource.
2876//
2877//   * FailedDependencyException
2878//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
2879//   under the control of the organization is failing, such as a connected Active
2880//   Directory.
2881//
2882//   * ServiceUnavailableException
2883//   One or more of the dependencies is unavailable.
2884//
2885// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetCurrentUser
2886func (c *WorkDocs) GetCurrentUser(input *GetCurrentUserInput) (*GetCurrentUserOutput, error) {
2887	req, out := c.GetCurrentUserRequest(input)
2888	return out, req.Send()
2889}
2890
2891// GetCurrentUserWithContext is the same as GetCurrentUser with the addition of
2892// the ability to pass a context and additional request options.
2893//
2894// See GetCurrentUser for details on how to use this API operation.
2895//
2896// The context must be non-nil and will be used for request cancellation. If
2897// the context is nil a panic will occur. In the future the SDK may create
2898// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2899// for more information on using Contexts.
2900func (c *WorkDocs) GetCurrentUserWithContext(ctx aws.Context, input *GetCurrentUserInput, opts ...request.Option) (*GetCurrentUserOutput, error) {
2901	req, out := c.GetCurrentUserRequest(input)
2902	req.SetContext(ctx)
2903	req.ApplyOptions(opts...)
2904	return out, req.Send()
2905}
2906
2907const opGetDocument = "GetDocument"
2908
2909// GetDocumentRequest generates a "aws/request.Request" representing the
2910// client's request for the GetDocument operation. The "output" return
2911// value will be populated with the request's response once the request completes
2912// successfully.
2913//
2914// Use "Send" method on the returned Request to send the API call to the service.
2915// the "output" return value is not valid until after Send returns without error.
2916//
2917// See GetDocument for more information on using the GetDocument
2918// API call, and error handling.
2919//
2920// This method is useful when you want to inject custom logic or configuration
2921// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2922//
2923//
2924//    // Example sending a request using the GetDocumentRequest method.
2925//    req, resp := client.GetDocumentRequest(params)
2926//
2927//    err := req.Send()
2928//    if err == nil { // resp is now filled
2929//        fmt.Println(resp)
2930//    }
2931//
2932// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetDocument
2933func (c *WorkDocs) GetDocumentRequest(input *GetDocumentInput) (req *request.Request, output *GetDocumentOutput) {
2934	op := &request.Operation{
2935		Name:       opGetDocument,
2936		HTTPMethod: "GET",
2937		HTTPPath:   "/api/v1/documents/{DocumentId}",
2938	}
2939
2940	if input == nil {
2941		input = &GetDocumentInput{}
2942	}
2943
2944	output = &GetDocumentOutput{}
2945	req = c.newRequest(op, input, output)
2946	return
2947}
2948
2949// GetDocument API operation for Amazon WorkDocs.
2950//
2951// Retrieves details of a document.
2952//
2953// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2954// with awserr.Error's Code and Message methods to get detailed information about
2955// the error.
2956//
2957// See the AWS API reference guide for Amazon WorkDocs's
2958// API operation GetDocument for usage and error information.
2959//
2960// Returned Error Types:
2961//   * EntityNotExistsException
2962//   The resource does not exist.
2963//
2964//   * UnauthorizedOperationException
2965//   The operation is not permitted.
2966//
2967//   * UnauthorizedResourceAccessException
2968//   The caller does not have access to perform the action on the resource.
2969//
2970//   * InvalidArgumentException
2971//   The pagination marker or limit fields are not valid.
2972//
2973//   * FailedDependencyException
2974//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
2975//   under the control of the organization is failing, such as a connected Active
2976//   Directory.
2977//
2978//   * ServiceUnavailableException
2979//   One or more of the dependencies is unavailable.
2980//
2981//   * InvalidPasswordException
2982//   The password is invalid.
2983//
2984// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetDocument
2985func (c *WorkDocs) GetDocument(input *GetDocumentInput) (*GetDocumentOutput, error) {
2986	req, out := c.GetDocumentRequest(input)
2987	return out, req.Send()
2988}
2989
2990// GetDocumentWithContext is the same as GetDocument with the addition of
2991// the ability to pass a context and additional request options.
2992//
2993// See GetDocument for details on how to use this API operation.
2994//
2995// The context must be non-nil and will be used for request cancellation. If
2996// the context is nil a panic will occur. In the future the SDK may create
2997// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2998// for more information on using Contexts.
2999func (c *WorkDocs) GetDocumentWithContext(ctx aws.Context, input *GetDocumentInput, opts ...request.Option) (*GetDocumentOutput, error) {
3000	req, out := c.GetDocumentRequest(input)
3001	req.SetContext(ctx)
3002	req.ApplyOptions(opts...)
3003	return out, req.Send()
3004}
3005
3006const opGetDocumentPath = "GetDocumentPath"
3007
3008// GetDocumentPathRequest generates a "aws/request.Request" representing the
3009// client's request for the GetDocumentPath operation. The "output" return
3010// value will be populated with the request's response once the request completes
3011// successfully.
3012//
3013// Use "Send" method on the returned Request to send the API call to the service.
3014// the "output" return value is not valid until after Send returns without error.
3015//
3016// See GetDocumentPath for more information on using the GetDocumentPath
3017// API call, and error handling.
3018//
3019// This method is useful when you want to inject custom logic or configuration
3020// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3021//
3022//
3023//    // Example sending a request using the GetDocumentPathRequest method.
3024//    req, resp := client.GetDocumentPathRequest(params)
3025//
3026//    err := req.Send()
3027//    if err == nil { // resp is now filled
3028//        fmt.Println(resp)
3029//    }
3030//
3031// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetDocumentPath
3032func (c *WorkDocs) GetDocumentPathRequest(input *GetDocumentPathInput) (req *request.Request, output *GetDocumentPathOutput) {
3033	op := &request.Operation{
3034		Name:       opGetDocumentPath,
3035		HTTPMethod: "GET",
3036		HTTPPath:   "/api/v1/documents/{DocumentId}/path",
3037	}
3038
3039	if input == nil {
3040		input = &GetDocumentPathInput{}
3041	}
3042
3043	output = &GetDocumentPathOutput{}
3044	req = c.newRequest(op, input, output)
3045	return
3046}
3047
3048// GetDocumentPath API operation for Amazon WorkDocs.
3049//
3050// Retrieves the path information (the hierarchy from the root folder) for the
3051// requested document.
3052//
3053// By default, Amazon WorkDocs returns a maximum of 100 levels upwards from
3054// the requested document and only includes the IDs of the parent folders in
3055// the path. You can limit the maximum number of levels. You can also request
3056// the names of the parent folders.
3057//
3058// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3059// with awserr.Error's Code and Message methods to get detailed information about
3060// the error.
3061//
3062// See the AWS API reference guide for Amazon WorkDocs's
3063// API operation GetDocumentPath for usage and error information.
3064//
3065// Returned Error Types:
3066//   * EntityNotExistsException
3067//   The resource does not exist.
3068//
3069//   * UnauthorizedOperationException
3070//   The operation is not permitted.
3071//
3072//   * UnauthorizedResourceAccessException
3073//   The caller does not have access to perform the action on the resource.
3074//
3075//   * FailedDependencyException
3076//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3077//   under the control of the organization is failing, such as a connected Active
3078//   Directory.
3079//
3080//   * ServiceUnavailableException
3081//   One or more of the dependencies is unavailable.
3082//
3083// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetDocumentPath
3084func (c *WorkDocs) GetDocumentPath(input *GetDocumentPathInput) (*GetDocumentPathOutput, error) {
3085	req, out := c.GetDocumentPathRequest(input)
3086	return out, req.Send()
3087}
3088
3089// GetDocumentPathWithContext is the same as GetDocumentPath with the addition of
3090// the ability to pass a context and additional request options.
3091//
3092// See GetDocumentPath for details on how to use this API operation.
3093//
3094// The context must be non-nil and will be used for request cancellation. If
3095// the context is nil a panic will occur. In the future the SDK may create
3096// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3097// for more information on using Contexts.
3098func (c *WorkDocs) GetDocumentPathWithContext(ctx aws.Context, input *GetDocumentPathInput, opts ...request.Option) (*GetDocumentPathOutput, error) {
3099	req, out := c.GetDocumentPathRequest(input)
3100	req.SetContext(ctx)
3101	req.ApplyOptions(opts...)
3102	return out, req.Send()
3103}
3104
3105const opGetDocumentVersion = "GetDocumentVersion"
3106
3107// GetDocumentVersionRequest generates a "aws/request.Request" representing the
3108// client's request for the GetDocumentVersion operation. The "output" return
3109// value will be populated with the request's response once the request completes
3110// successfully.
3111//
3112// Use "Send" method on the returned Request to send the API call to the service.
3113// the "output" return value is not valid until after Send returns without error.
3114//
3115// See GetDocumentVersion for more information on using the GetDocumentVersion
3116// API call, and error handling.
3117//
3118// This method is useful when you want to inject custom logic or configuration
3119// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3120//
3121//
3122//    // Example sending a request using the GetDocumentVersionRequest method.
3123//    req, resp := client.GetDocumentVersionRequest(params)
3124//
3125//    err := req.Send()
3126//    if err == nil { // resp is now filled
3127//        fmt.Println(resp)
3128//    }
3129//
3130// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetDocumentVersion
3131func (c *WorkDocs) GetDocumentVersionRequest(input *GetDocumentVersionInput) (req *request.Request, output *GetDocumentVersionOutput) {
3132	op := &request.Operation{
3133		Name:       opGetDocumentVersion,
3134		HTTPMethod: "GET",
3135		HTTPPath:   "/api/v1/documents/{DocumentId}/versions/{VersionId}",
3136	}
3137
3138	if input == nil {
3139		input = &GetDocumentVersionInput{}
3140	}
3141
3142	output = &GetDocumentVersionOutput{}
3143	req = c.newRequest(op, input, output)
3144	return
3145}
3146
3147// GetDocumentVersion API operation for Amazon WorkDocs.
3148//
3149// Retrieves version metadata for the specified document.
3150//
3151// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3152// with awserr.Error's Code and Message methods to get detailed information about
3153// the error.
3154//
3155// See the AWS API reference guide for Amazon WorkDocs's
3156// API operation GetDocumentVersion for usage and error information.
3157//
3158// Returned Error Types:
3159//   * EntityNotExistsException
3160//   The resource does not exist.
3161//
3162//   * UnauthorizedOperationException
3163//   The operation is not permitted.
3164//
3165//   * UnauthorizedResourceAccessException
3166//   The caller does not have access to perform the action on the resource.
3167//
3168//   * FailedDependencyException
3169//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3170//   under the control of the organization is failing, such as a connected Active
3171//   Directory.
3172//
3173//   * ServiceUnavailableException
3174//   One or more of the dependencies is unavailable.
3175//
3176//   * ProhibitedStateException
3177//   The specified document version is not in the INITIALIZED state.
3178//
3179//   * InvalidPasswordException
3180//   The password is invalid.
3181//
3182// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetDocumentVersion
3183func (c *WorkDocs) GetDocumentVersion(input *GetDocumentVersionInput) (*GetDocumentVersionOutput, error) {
3184	req, out := c.GetDocumentVersionRequest(input)
3185	return out, req.Send()
3186}
3187
3188// GetDocumentVersionWithContext is the same as GetDocumentVersion with the addition of
3189// the ability to pass a context and additional request options.
3190//
3191// See GetDocumentVersion for details on how to use this API operation.
3192//
3193// The context must be non-nil and will be used for request cancellation. If
3194// the context is nil a panic will occur. In the future the SDK may create
3195// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3196// for more information on using Contexts.
3197func (c *WorkDocs) GetDocumentVersionWithContext(ctx aws.Context, input *GetDocumentVersionInput, opts ...request.Option) (*GetDocumentVersionOutput, error) {
3198	req, out := c.GetDocumentVersionRequest(input)
3199	req.SetContext(ctx)
3200	req.ApplyOptions(opts...)
3201	return out, req.Send()
3202}
3203
3204const opGetFolder = "GetFolder"
3205
3206// GetFolderRequest generates a "aws/request.Request" representing the
3207// client's request for the GetFolder operation. The "output" return
3208// value will be populated with the request's response once the request completes
3209// successfully.
3210//
3211// Use "Send" method on the returned Request to send the API call to the service.
3212// the "output" return value is not valid until after Send returns without error.
3213//
3214// See GetFolder for more information on using the GetFolder
3215// API call, and error handling.
3216//
3217// This method is useful when you want to inject custom logic or configuration
3218// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3219//
3220//
3221//    // Example sending a request using the GetFolderRequest method.
3222//    req, resp := client.GetFolderRequest(params)
3223//
3224//    err := req.Send()
3225//    if err == nil { // resp is now filled
3226//        fmt.Println(resp)
3227//    }
3228//
3229// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetFolder
3230func (c *WorkDocs) GetFolderRequest(input *GetFolderInput) (req *request.Request, output *GetFolderOutput) {
3231	op := &request.Operation{
3232		Name:       opGetFolder,
3233		HTTPMethod: "GET",
3234		HTTPPath:   "/api/v1/folders/{FolderId}",
3235	}
3236
3237	if input == nil {
3238		input = &GetFolderInput{}
3239	}
3240
3241	output = &GetFolderOutput{}
3242	req = c.newRequest(op, input, output)
3243	return
3244}
3245
3246// GetFolder API operation for Amazon WorkDocs.
3247//
3248// Retrieves the metadata of the specified folder.
3249//
3250// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3251// with awserr.Error's Code and Message methods to get detailed information about
3252// the error.
3253//
3254// See the AWS API reference guide for Amazon WorkDocs's
3255// API operation GetFolder for usage and error information.
3256//
3257// Returned Error Types:
3258//   * EntityNotExistsException
3259//   The resource does not exist.
3260//
3261//   * UnauthorizedOperationException
3262//   The operation is not permitted.
3263//
3264//   * UnauthorizedResourceAccessException
3265//   The caller does not have access to perform the action on the resource.
3266//
3267//   * InvalidArgumentException
3268//   The pagination marker or limit fields are not valid.
3269//
3270//   * FailedDependencyException
3271//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3272//   under the control of the organization is failing, such as a connected Active
3273//   Directory.
3274//
3275//   * ServiceUnavailableException
3276//   One or more of the dependencies is unavailable.
3277//
3278//   * ProhibitedStateException
3279//   The specified document version is not in the INITIALIZED state.
3280//
3281// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetFolder
3282func (c *WorkDocs) GetFolder(input *GetFolderInput) (*GetFolderOutput, error) {
3283	req, out := c.GetFolderRequest(input)
3284	return out, req.Send()
3285}
3286
3287// GetFolderWithContext is the same as GetFolder with the addition of
3288// the ability to pass a context and additional request options.
3289//
3290// See GetFolder for details on how to use this API operation.
3291//
3292// The context must be non-nil and will be used for request cancellation. If
3293// the context is nil a panic will occur. In the future the SDK may create
3294// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3295// for more information on using Contexts.
3296func (c *WorkDocs) GetFolderWithContext(ctx aws.Context, input *GetFolderInput, opts ...request.Option) (*GetFolderOutput, error) {
3297	req, out := c.GetFolderRequest(input)
3298	req.SetContext(ctx)
3299	req.ApplyOptions(opts...)
3300	return out, req.Send()
3301}
3302
3303const opGetFolderPath = "GetFolderPath"
3304
3305// GetFolderPathRequest generates a "aws/request.Request" representing the
3306// client's request for the GetFolderPath operation. The "output" return
3307// value will be populated with the request's response once the request completes
3308// successfully.
3309//
3310// Use "Send" method on the returned Request to send the API call to the service.
3311// the "output" return value is not valid until after Send returns without error.
3312//
3313// See GetFolderPath for more information on using the GetFolderPath
3314// API call, and error handling.
3315//
3316// This method is useful when you want to inject custom logic or configuration
3317// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3318//
3319//
3320//    // Example sending a request using the GetFolderPathRequest method.
3321//    req, resp := client.GetFolderPathRequest(params)
3322//
3323//    err := req.Send()
3324//    if err == nil { // resp is now filled
3325//        fmt.Println(resp)
3326//    }
3327//
3328// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetFolderPath
3329func (c *WorkDocs) GetFolderPathRequest(input *GetFolderPathInput) (req *request.Request, output *GetFolderPathOutput) {
3330	op := &request.Operation{
3331		Name:       opGetFolderPath,
3332		HTTPMethod: "GET",
3333		HTTPPath:   "/api/v1/folders/{FolderId}/path",
3334	}
3335
3336	if input == nil {
3337		input = &GetFolderPathInput{}
3338	}
3339
3340	output = &GetFolderPathOutput{}
3341	req = c.newRequest(op, input, output)
3342	return
3343}
3344
3345// GetFolderPath API operation for Amazon WorkDocs.
3346//
3347// Retrieves the path information (the hierarchy from the root folder) for the
3348// specified folder.
3349//
3350// By default, Amazon WorkDocs returns a maximum of 100 levels upwards from
3351// the requested folder and only includes the IDs of the parent folders in the
3352// path. You can limit the maximum number of levels. You can also request the
3353// parent folder names.
3354//
3355// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3356// with awserr.Error's Code and Message methods to get detailed information about
3357// the error.
3358//
3359// See the AWS API reference guide for Amazon WorkDocs's
3360// API operation GetFolderPath for usage and error information.
3361//
3362// Returned Error Types:
3363//   * EntityNotExistsException
3364//   The resource does not exist.
3365//
3366//   * UnauthorizedOperationException
3367//   The operation is not permitted.
3368//
3369//   * UnauthorizedResourceAccessException
3370//   The caller does not have access to perform the action on the resource.
3371//
3372//   * FailedDependencyException
3373//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3374//   under the control of the organization is failing, such as a connected Active
3375//   Directory.
3376//
3377//   * ServiceUnavailableException
3378//   One or more of the dependencies is unavailable.
3379//
3380// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetFolderPath
3381func (c *WorkDocs) GetFolderPath(input *GetFolderPathInput) (*GetFolderPathOutput, error) {
3382	req, out := c.GetFolderPathRequest(input)
3383	return out, req.Send()
3384}
3385
3386// GetFolderPathWithContext is the same as GetFolderPath with the addition of
3387// the ability to pass a context and additional request options.
3388//
3389// See GetFolderPath for details on how to use this API operation.
3390//
3391// The context must be non-nil and will be used for request cancellation. If
3392// the context is nil a panic will occur. In the future the SDK may create
3393// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3394// for more information on using Contexts.
3395func (c *WorkDocs) GetFolderPathWithContext(ctx aws.Context, input *GetFolderPathInput, opts ...request.Option) (*GetFolderPathOutput, error) {
3396	req, out := c.GetFolderPathRequest(input)
3397	req.SetContext(ctx)
3398	req.ApplyOptions(opts...)
3399	return out, req.Send()
3400}
3401
3402const opGetResources = "GetResources"
3403
3404// GetResourcesRequest generates a "aws/request.Request" representing the
3405// client's request for the GetResources operation. The "output" return
3406// value will be populated with the request's response once the request completes
3407// successfully.
3408//
3409// Use "Send" method on the returned Request to send the API call to the service.
3410// the "output" return value is not valid until after Send returns without error.
3411//
3412// See GetResources for more information on using the GetResources
3413// API call, and error handling.
3414//
3415// This method is useful when you want to inject custom logic or configuration
3416// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3417//
3418//
3419//    // Example sending a request using the GetResourcesRequest method.
3420//    req, resp := client.GetResourcesRequest(params)
3421//
3422//    err := req.Send()
3423//    if err == nil { // resp is now filled
3424//        fmt.Println(resp)
3425//    }
3426//
3427// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetResources
3428func (c *WorkDocs) GetResourcesRequest(input *GetResourcesInput) (req *request.Request, output *GetResourcesOutput) {
3429	op := &request.Operation{
3430		Name:       opGetResources,
3431		HTTPMethod: "GET",
3432		HTTPPath:   "/api/v1/resources",
3433	}
3434
3435	if input == nil {
3436		input = &GetResourcesInput{}
3437	}
3438
3439	output = &GetResourcesOutput{}
3440	req = c.newRequest(op, input, output)
3441	return
3442}
3443
3444// GetResources API operation for Amazon WorkDocs.
3445//
3446// Retrieves a collection of resources, including folders and documents. The
3447// only CollectionType supported is SHARED_WITH_ME.
3448//
3449// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3450// with awserr.Error's Code and Message methods to get detailed information about
3451// the error.
3452//
3453// See the AWS API reference guide for Amazon WorkDocs's
3454// API operation GetResources for usage and error information.
3455//
3456// Returned Error Types:
3457//   * UnauthorizedResourceAccessException
3458//   The caller does not have access to perform the action on the resource.
3459//
3460//   * UnauthorizedOperationException
3461//   The operation is not permitted.
3462//
3463//   * InvalidArgumentException
3464//   The pagination marker or limit fields are not valid.
3465//
3466//   * FailedDependencyException
3467//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3468//   under the control of the organization is failing, such as a connected Active
3469//   Directory.
3470//
3471//   * ServiceUnavailableException
3472//   One or more of the dependencies is unavailable.
3473//
3474// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/GetResources
3475func (c *WorkDocs) GetResources(input *GetResourcesInput) (*GetResourcesOutput, error) {
3476	req, out := c.GetResourcesRequest(input)
3477	return out, req.Send()
3478}
3479
3480// GetResourcesWithContext is the same as GetResources with the addition of
3481// the ability to pass a context and additional request options.
3482//
3483// See GetResources for details on how to use this API operation.
3484//
3485// The context must be non-nil and will be used for request cancellation. If
3486// the context is nil a panic will occur. In the future the SDK may create
3487// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3488// for more information on using Contexts.
3489func (c *WorkDocs) GetResourcesWithContext(ctx aws.Context, input *GetResourcesInput, opts ...request.Option) (*GetResourcesOutput, error) {
3490	req, out := c.GetResourcesRequest(input)
3491	req.SetContext(ctx)
3492	req.ApplyOptions(opts...)
3493	return out, req.Send()
3494}
3495
3496const opInitiateDocumentVersionUpload = "InitiateDocumentVersionUpload"
3497
3498// InitiateDocumentVersionUploadRequest generates a "aws/request.Request" representing the
3499// client's request for the InitiateDocumentVersionUpload operation. The "output" return
3500// value will be populated with the request's response once the request completes
3501// successfully.
3502//
3503// Use "Send" method on the returned Request to send the API call to the service.
3504// the "output" return value is not valid until after Send returns without error.
3505//
3506// See InitiateDocumentVersionUpload for more information on using the InitiateDocumentVersionUpload
3507// API call, and error handling.
3508//
3509// This method is useful when you want to inject custom logic or configuration
3510// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3511//
3512//
3513//    // Example sending a request using the InitiateDocumentVersionUploadRequest method.
3514//    req, resp := client.InitiateDocumentVersionUploadRequest(params)
3515//
3516//    err := req.Send()
3517//    if err == nil { // resp is now filled
3518//        fmt.Println(resp)
3519//    }
3520//
3521// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/InitiateDocumentVersionUpload
3522func (c *WorkDocs) InitiateDocumentVersionUploadRequest(input *InitiateDocumentVersionUploadInput) (req *request.Request, output *InitiateDocumentVersionUploadOutput) {
3523	op := &request.Operation{
3524		Name:       opInitiateDocumentVersionUpload,
3525		HTTPMethod: "POST",
3526		HTTPPath:   "/api/v1/documents",
3527	}
3528
3529	if input == nil {
3530		input = &InitiateDocumentVersionUploadInput{}
3531	}
3532
3533	output = &InitiateDocumentVersionUploadOutput{}
3534	req = c.newRequest(op, input, output)
3535	return
3536}
3537
3538// InitiateDocumentVersionUpload API operation for Amazon WorkDocs.
3539//
3540// Creates a new document object and version object.
3541//
3542// The client specifies the parent folder ID and name of the document to upload.
3543// The ID is optionally specified when creating a new version of an existing
3544// document. This is the first step to upload a document. Next, upload the document
3545// to the URL returned from the call, and then call UpdateDocumentVersion.
3546//
3547// To cancel the document upload, call AbortDocumentVersionUpload.
3548//
3549// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3550// with awserr.Error's Code and Message methods to get detailed information about
3551// the error.
3552//
3553// See the AWS API reference guide for Amazon WorkDocs's
3554// API operation InitiateDocumentVersionUpload for usage and error information.
3555//
3556// Returned Error Types:
3557//   * EntityNotExistsException
3558//   The resource does not exist.
3559//
3560//   * EntityAlreadyExistsException
3561//   The resource already exists.
3562//
3563//   * StorageLimitExceededException
3564//   The storage limit has been exceeded.
3565//
3566//   * StorageLimitWillExceedException
3567//   The storage limit will be exceeded.
3568//
3569//   * ProhibitedStateException
3570//   The specified document version is not in the INITIALIZED state.
3571//
3572//   * UnauthorizedOperationException
3573//   The operation is not permitted.
3574//
3575//   * UnauthorizedResourceAccessException
3576//   The caller does not have access to perform the action on the resource.
3577//
3578//   * FailedDependencyException
3579//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3580//   under the control of the organization is failing, such as a connected Active
3581//   Directory.
3582//
3583//   * ServiceUnavailableException
3584//   One or more of the dependencies is unavailable.
3585//
3586//   * DraftUploadOutOfSyncException
3587//   This exception is thrown when a valid checkout ID is not presented on document
3588//   version upload calls for a document that has been checked out from Web client.
3589//
3590//   * ResourceAlreadyCheckedOutException
3591//   The resource is already checked out.
3592//
3593// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/InitiateDocumentVersionUpload
3594func (c *WorkDocs) InitiateDocumentVersionUpload(input *InitiateDocumentVersionUploadInput) (*InitiateDocumentVersionUploadOutput, error) {
3595	req, out := c.InitiateDocumentVersionUploadRequest(input)
3596	return out, req.Send()
3597}
3598
3599// InitiateDocumentVersionUploadWithContext is the same as InitiateDocumentVersionUpload with the addition of
3600// the ability to pass a context and additional request options.
3601//
3602// See InitiateDocumentVersionUpload for details on how to use this API operation.
3603//
3604// The context must be non-nil and will be used for request cancellation. If
3605// the context is nil a panic will occur. In the future the SDK may create
3606// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3607// for more information on using Contexts.
3608func (c *WorkDocs) InitiateDocumentVersionUploadWithContext(ctx aws.Context, input *InitiateDocumentVersionUploadInput, opts ...request.Option) (*InitiateDocumentVersionUploadOutput, error) {
3609	req, out := c.InitiateDocumentVersionUploadRequest(input)
3610	req.SetContext(ctx)
3611	req.ApplyOptions(opts...)
3612	return out, req.Send()
3613}
3614
3615const opRemoveAllResourcePermissions = "RemoveAllResourcePermissions"
3616
3617// RemoveAllResourcePermissionsRequest generates a "aws/request.Request" representing the
3618// client's request for the RemoveAllResourcePermissions operation. The "output" return
3619// value will be populated with the request's response once the request completes
3620// successfully.
3621//
3622// Use "Send" method on the returned Request to send the API call to the service.
3623// the "output" return value is not valid until after Send returns without error.
3624//
3625// See RemoveAllResourcePermissions for more information on using the RemoveAllResourcePermissions
3626// API call, and error handling.
3627//
3628// This method is useful when you want to inject custom logic or configuration
3629// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3630//
3631//
3632//    // Example sending a request using the RemoveAllResourcePermissionsRequest method.
3633//    req, resp := client.RemoveAllResourcePermissionsRequest(params)
3634//
3635//    err := req.Send()
3636//    if err == nil { // resp is now filled
3637//        fmt.Println(resp)
3638//    }
3639//
3640// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/RemoveAllResourcePermissions
3641func (c *WorkDocs) RemoveAllResourcePermissionsRequest(input *RemoveAllResourcePermissionsInput) (req *request.Request, output *RemoveAllResourcePermissionsOutput) {
3642	op := &request.Operation{
3643		Name:       opRemoveAllResourcePermissions,
3644		HTTPMethod: "DELETE",
3645		HTTPPath:   "/api/v1/resources/{ResourceId}/permissions",
3646	}
3647
3648	if input == nil {
3649		input = &RemoveAllResourcePermissionsInput{}
3650	}
3651
3652	output = &RemoveAllResourcePermissionsOutput{}
3653	req = c.newRequest(op, input, output)
3654	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3655	return
3656}
3657
3658// RemoveAllResourcePermissions API operation for Amazon WorkDocs.
3659//
3660// Removes all the permissions from the specified resource.
3661//
3662// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3663// with awserr.Error's Code and Message methods to get detailed information about
3664// the error.
3665//
3666// See the AWS API reference guide for Amazon WorkDocs's
3667// API operation RemoveAllResourcePermissions for usage and error information.
3668//
3669// Returned Error Types:
3670//   * UnauthorizedOperationException
3671//   The operation is not permitted.
3672//
3673//   * UnauthorizedResourceAccessException
3674//   The caller does not have access to perform the action on the resource.
3675//
3676//   * FailedDependencyException
3677//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3678//   under the control of the organization is failing, such as a connected Active
3679//   Directory.
3680//
3681//   * ServiceUnavailableException
3682//   One or more of the dependencies is unavailable.
3683//
3684// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/RemoveAllResourcePermissions
3685func (c *WorkDocs) RemoveAllResourcePermissions(input *RemoveAllResourcePermissionsInput) (*RemoveAllResourcePermissionsOutput, error) {
3686	req, out := c.RemoveAllResourcePermissionsRequest(input)
3687	return out, req.Send()
3688}
3689
3690// RemoveAllResourcePermissionsWithContext is the same as RemoveAllResourcePermissions with the addition of
3691// the ability to pass a context and additional request options.
3692//
3693// See RemoveAllResourcePermissions for details on how to use this API operation.
3694//
3695// The context must be non-nil and will be used for request cancellation. If
3696// the context is nil a panic will occur. In the future the SDK may create
3697// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3698// for more information on using Contexts.
3699func (c *WorkDocs) RemoveAllResourcePermissionsWithContext(ctx aws.Context, input *RemoveAllResourcePermissionsInput, opts ...request.Option) (*RemoveAllResourcePermissionsOutput, error) {
3700	req, out := c.RemoveAllResourcePermissionsRequest(input)
3701	req.SetContext(ctx)
3702	req.ApplyOptions(opts...)
3703	return out, req.Send()
3704}
3705
3706const opRemoveResourcePermission = "RemoveResourcePermission"
3707
3708// RemoveResourcePermissionRequest generates a "aws/request.Request" representing the
3709// client's request for the RemoveResourcePermission operation. The "output" return
3710// value will be populated with the request's response once the request completes
3711// successfully.
3712//
3713// Use "Send" method on the returned Request to send the API call to the service.
3714// the "output" return value is not valid until after Send returns without error.
3715//
3716// See RemoveResourcePermission for more information on using the RemoveResourcePermission
3717// API call, and error handling.
3718//
3719// This method is useful when you want to inject custom logic or configuration
3720// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3721//
3722//
3723//    // Example sending a request using the RemoveResourcePermissionRequest method.
3724//    req, resp := client.RemoveResourcePermissionRequest(params)
3725//
3726//    err := req.Send()
3727//    if err == nil { // resp is now filled
3728//        fmt.Println(resp)
3729//    }
3730//
3731// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/RemoveResourcePermission
3732func (c *WorkDocs) RemoveResourcePermissionRequest(input *RemoveResourcePermissionInput) (req *request.Request, output *RemoveResourcePermissionOutput) {
3733	op := &request.Operation{
3734		Name:       opRemoveResourcePermission,
3735		HTTPMethod: "DELETE",
3736		HTTPPath:   "/api/v1/resources/{ResourceId}/permissions/{PrincipalId}",
3737	}
3738
3739	if input == nil {
3740		input = &RemoveResourcePermissionInput{}
3741	}
3742
3743	output = &RemoveResourcePermissionOutput{}
3744	req = c.newRequest(op, input, output)
3745	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3746	return
3747}
3748
3749// RemoveResourcePermission API operation for Amazon WorkDocs.
3750//
3751// Removes the permission for the specified principal from the specified resource.
3752//
3753// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3754// with awserr.Error's Code and Message methods to get detailed information about
3755// the error.
3756//
3757// See the AWS API reference guide for Amazon WorkDocs's
3758// API operation RemoveResourcePermission for usage and error information.
3759//
3760// Returned Error Types:
3761//   * UnauthorizedOperationException
3762//   The operation is not permitted.
3763//
3764//   * UnauthorizedResourceAccessException
3765//   The caller does not have access to perform the action on the resource.
3766//
3767//   * FailedDependencyException
3768//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3769//   under the control of the organization is failing, such as a connected Active
3770//   Directory.
3771//
3772//   * ServiceUnavailableException
3773//   One or more of the dependencies is unavailable.
3774//
3775// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/RemoveResourcePermission
3776func (c *WorkDocs) RemoveResourcePermission(input *RemoveResourcePermissionInput) (*RemoveResourcePermissionOutput, error) {
3777	req, out := c.RemoveResourcePermissionRequest(input)
3778	return out, req.Send()
3779}
3780
3781// RemoveResourcePermissionWithContext is the same as RemoveResourcePermission with the addition of
3782// the ability to pass a context and additional request options.
3783//
3784// See RemoveResourcePermission for details on how to use this API operation.
3785//
3786// The context must be non-nil and will be used for request cancellation. If
3787// the context is nil a panic will occur. In the future the SDK may create
3788// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3789// for more information on using Contexts.
3790func (c *WorkDocs) RemoveResourcePermissionWithContext(ctx aws.Context, input *RemoveResourcePermissionInput, opts ...request.Option) (*RemoveResourcePermissionOutput, error) {
3791	req, out := c.RemoveResourcePermissionRequest(input)
3792	req.SetContext(ctx)
3793	req.ApplyOptions(opts...)
3794	return out, req.Send()
3795}
3796
3797const opUpdateDocument = "UpdateDocument"
3798
3799// UpdateDocumentRequest generates a "aws/request.Request" representing the
3800// client's request for the UpdateDocument operation. The "output" return
3801// value will be populated with the request's response once the request completes
3802// successfully.
3803//
3804// Use "Send" method on the returned Request to send the API call to the service.
3805// the "output" return value is not valid until after Send returns without error.
3806//
3807// See UpdateDocument for more information on using the UpdateDocument
3808// API call, and error handling.
3809//
3810// This method is useful when you want to inject custom logic or configuration
3811// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3812//
3813//
3814//    // Example sending a request using the UpdateDocumentRequest method.
3815//    req, resp := client.UpdateDocumentRequest(params)
3816//
3817//    err := req.Send()
3818//    if err == nil { // resp is now filled
3819//        fmt.Println(resp)
3820//    }
3821//
3822// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/UpdateDocument
3823func (c *WorkDocs) UpdateDocumentRequest(input *UpdateDocumentInput) (req *request.Request, output *UpdateDocumentOutput) {
3824	op := &request.Operation{
3825		Name:       opUpdateDocument,
3826		HTTPMethod: "PATCH",
3827		HTTPPath:   "/api/v1/documents/{DocumentId}",
3828	}
3829
3830	if input == nil {
3831		input = &UpdateDocumentInput{}
3832	}
3833
3834	output = &UpdateDocumentOutput{}
3835	req = c.newRequest(op, input, output)
3836	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3837	return
3838}
3839
3840// UpdateDocument API operation for Amazon WorkDocs.
3841//
3842// Updates the specified attributes of a document. The user must have access
3843// to both the document and its parent folder, if applicable.
3844//
3845// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3846// with awserr.Error's Code and Message methods to get detailed information about
3847// the error.
3848//
3849// See the AWS API reference guide for Amazon WorkDocs's
3850// API operation UpdateDocument for usage and error information.
3851//
3852// Returned Error Types:
3853//   * EntityNotExistsException
3854//   The resource does not exist.
3855//
3856//   * EntityAlreadyExistsException
3857//   The resource already exists.
3858//
3859//   * LimitExceededException
3860//   The maximum of 100,000 folders under the parent folder has been exceeded.
3861//
3862//   * ProhibitedStateException
3863//   The specified document version is not in the INITIALIZED state.
3864//
3865//   * ConflictingOperationException
3866//   Another operation is in progress on the resource that conflicts with the
3867//   current operation.
3868//
3869//   * ConcurrentModificationException
3870//   The resource hierarchy is changing.
3871//
3872//   * UnauthorizedOperationException
3873//   The operation is not permitted.
3874//
3875//   * UnauthorizedResourceAccessException
3876//   The caller does not have access to perform the action on the resource.
3877//
3878//   * FailedDependencyException
3879//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3880//   under the control of the organization is failing, such as a connected Active
3881//   Directory.
3882//
3883//   * ServiceUnavailableException
3884//   One or more of the dependencies is unavailable.
3885//
3886// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/UpdateDocument
3887func (c *WorkDocs) UpdateDocument(input *UpdateDocumentInput) (*UpdateDocumentOutput, error) {
3888	req, out := c.UpdateDocumentRequest(input)
3889	return out, req.Send()
3890}
3891
3892// UpdateDocumentWithContext is the same as UpdateDocument with the addition of
3893// the ability to pass a context and additional request options.
3894//
3895// See UpdateDocument for details on how to use this API operation.
3896//
3897// The context must be non-nil and will be used for request cancellation. If
3898// the context is nil a panic will occur. In the future the SDK may create
3899// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3900// for more information on using Contexts.
3901func (c *WorkDocs) UpdateDocumentWithContext(ctx aws.Context, input *UpdateDocumentInput, opts ...request.Option) (*UpdateDocumentOutput, error) {
3902	req, out := c.UpdateDocumentRequest(input)
3903	req.SetContext(ctx)
3904	req.ApplyOptions(opts...)
3905	return out, req.Send()
3906}
3907
3908const opUpdateDocumentVersion = "UpdateDocumentVersion"
3909
3910// UpdateDocumentVersionRequest generates a "aws/request.Request" representing the
3911// client's request for the UpdateDocumentVersion operation. The "output" return
3912// value will be populated with the request's response once the request completes
3913// successfully.
3914//
3915// Use "Send" method on the returned Request to send the API call to the service.
3916// the "output" return value is not valid until after Send returns without error.
3917//
3918// See UpdateDocumentVersion for more information on using the UpdateDocumentVersion
3919// API call, and error handling.
3920//
3921// This method is useful when you want to inject custom logic or configuration
3922// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3923//
3924//
3925//    // Example sending a request using the UpdateDocumentVersionRequest method.
3926//    req, resp := client.UpdateDocumentVersionRequest(params)
3927//
3928//    err := req.Send()
3929//    if err == nil { // resp is now filled
3930//        fmt.Println(resp)
3931//    }
3932//
3933// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/UpdateDocumentVersion
3934func (c *WorkDocs) UpdateDocumentVersionRequest(input *UpdateDocumentVersionInput) (req *request.Request, output *UpdateDocumentVersionOutput) {
3935	op := &request.Operation{
3936		Name:       opUpdateDocumentVersion,
3937		HTTPMethod: "PATCH",
3938		HTTPPath:   "/api/v1/documents/{DocumentId}/versions/{VersionId}",
3939	}
3940
3941	if input == nil {
3942		input = &UpdateDocumentVersionInput{}
3943	}
3944
3945	output = &UpdateDocumentVersionOutput{}
3946	req = c.newRequest(op, input, output)
3947	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3948	return
3949}
3950
3951// UpdateDocumentVersion API operation for Amazon WorkDocs.
3952//
3953// Changes the status of the document version to ACTIVE.
3954//
3955// Amazon WorkDocs also sets its document container to ACTIVE. This is the last
3956// step in a document upload, after the client uploads the document to an S3-presigned
3957// URL returned by InitiateDocumentVersionUpload.
3958//
3959// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3960// with awserr.Error's Code and Message methods to get detailed information about
3961// the error.
3962//
3963// See the AWS API reference guide for Amazon WorkDocs's
3964// API operation UpdateDocumentVersion for usage and error information.
3965//
3966// Returned Error Types:
3967//   * EntityNotExistsException
3968//   The resource does not exist.
3969//
3970//   * ProhibitedStateException
3971//   The specified document version is not in the INITIALIZED state.
3972//
3973//   * ConcurrentModificationException
3974//   The resource hierarchy is changing.
3975//
3976//   * InvalidOperationException
3977//   The operation is invalid.
3978//
3979//   * UnauthorizedOperationException
3980//   The operation is not permitted.
3981//
3982//   * UnauthorizedResourceAccessException
3983//   The caller does not have access to perform the action on the resource.
3984//
3985//   * FailedDependencyException
3986//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
3987//   under the control of the organization is failing, such as a connected Active
3988//   Directory.
3989//
3990//   * ServiceUnavailableException
3991//   One or more of the dependencies is unavailable.
3992//
3993// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/UpdateDocumentVersion
3994func (c *WorkDocs) UpdateDocumentVersion(input *UpdateDocumentVersionInput) (*UpdateDocumentVersionOutput, error) {
3995	req, out := c.UpdateDocumentVersionRequest(input)
3996	return out, req.Send()
3997}
3998
3999// UpdateDocumentVersionWithContext is the same as UpdateDocumentVersion with the addition of
4000// the ability to pass a context and additional request options.
4001//
4002// See UpdateDocumentVersion for details on how to use this API operation.
4003//
4004// The context must be non-nil and will be used for request cancellation. If
4005// the context is nil a panic will occur. In the future the SDK may create
4006// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4007// for more information on using Contexts.
4008func (c *WorkDocs) UpdateDocumentVersionWithContext(ctx aws.Context, input *UpdateDocumentVersionInput, opts ...request.Option) (*UpdateDocumentVersionOutput, error) {
4009	req, out := c.UpdateDocumentVersionRequest(input)
4010	req.SetContext(ctx)
4011	req.ApplyOptions(opts...)
4012	return out, req.Send()
4013}
4014
4015const opUpdateFolder = "UpdateFolder"
4016
4017// UpdateFolderRequest generates a "aws/request.Request" representing the
4018// client's request for the UpdateFolder operation. The "output" return
4019// value will be populated with the request's response once the request completes
4020// successfully.
4021//
4022// Use "Send" method on the returned Request to send the API call to the service.
4023// the "output" return value is not valid until after Send returns without error.
4024//
4025// See UpdateFolder for more information on using the UpdateFolder
4026// API call, and error handling.
4027//
4028// This method is useful when you want to inject custom logic or configuration
4029// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4030//
4031//
4032//    // Example sending a request using the UpdateFolderRequest method.
4033//    req, resp := client.UpdateFolderRequest(params)
4034//
4035//    err := req.Send()
4036//    if err == nil { // resp is now filled
4037//        fmt.Println(resp)
4038//    }
4039//
4040// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/UpdateFolder
4041func (c *WorkDocs) UpdateFolderRequest(input *UpdateFolderInput) (req *request.Request, output *UpdateFolderOutput) {
4042	op := &request.Operation{
4043		Name:       opUpdateFolder,
4044		HTTPMethod: "PATCH",
4045		HTTPPath:   "/api/v1/folders/{FolderId}",
4046	}
4047
4048	if input == nil {
4049		input = &UpdateFolderInput{}
4050	}
4051
4052	output = &UpdateFolderOutput{}
4053	req = c.newRequest(op, input, output)
4054	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4055	return
4056}
4057
4058// UpdateFolder API operation for Amazon WorkDocs.
4059//
4060// Updates the specified attributes of the specified folder. The user must have
4061// access to both the folder and its parent folder, if applicable.
4062//
4063// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4064// with awserr.Error's Code and Message methods to get detailed information about
4065// the error.
4066//
4067// See the AWS API reference guide for Amazon WorkDocs's
4068// API operation UpdateFolder for usage and error information.
4069//
4070// Returned Error Types:
4071//   * EntityNotExistsException
4072//   The resource does not exist.
4073//
4074//   * EntityAlreadyExistsException
4075//   The resource already exists.
4076//
4077//   * ProhibitedStateException
4078//   The specified document version is not in the INITIALIZED state.
4079//
4080//   * ConflictingOperationException
4081//   Another operation is in progress on the resource that conflicts with the
4082//   current operation.
4083//
4084//   * ConcurrentModificationException
4085//   The resource hierarchy is changing.
4086//
4087//   * LimitExceededException
4088//   The maximum of 100,000 folders under the parent folder has been exceeded.
4089//
4090//   * UnauthorizedOperationException
4091//   The operation is not permitted.
4092//
4093//   * UnauthorizedResourceAccessException
4094//   The caller does not have access to perform the action on the resource.
4095//
4096//   * FailedDependencyException
4097//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
4098//   under the control of the organization is failing, such as a connected Active
4099//   Directory.
4100//
4101//   * ServiceUnavailableException
4102//   One or more of the dependencies is unavailable.
4103//
4104// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/UpdateFolder
4105func (c *WorkDocs) UpdateFolder(input *UpdateFolderInput) (*UpdateFolderOutput, error) {
4106	req, out := c.UpdateFolderRequest(input)
4107	return out, req.Send()
4108}
4109
4110// UpdateFolderWithContext is the same as UpdateFolder with the addition of
4111// the ability to pass a context and additional request options.
4112//
4113// See UpdateFolder for details on how to use this API operation.
4114//
4115// The context must be non-nil and will be used for request cancellation. If
4116// the context is nil a panic will occur. In the future the SDK may create
4117// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4118// for more information on using Contexts.
4119func (c *WorkDocs) UpdateFolderWithContext(ctx aws.Context, input *UpdateFolderInput, opts ...request.Option) (*UpdateFolderOutput, error) {
4120	req, out := c.UpdateFolderRequest(input)
4121	req.SetContext(ctx)
4122	req.ApplyOptions(opts...)
4123	return out, req.Send()
4124}
4125
4126const opUpdateUser = "UpdateUser"
4127
4128// UpdateUserRequest generates a "aws/request.Request" representing the
4129// client's request for the UpdateUser operation. The "output" return
4130// value will be populated with the request's response once the request completes
4131// successfully.
4132//
4133// Use "Send" method on the returned Request to send the API call to the service.
4134// the "output" return value is not valid until after Send returns without error.
4135//
4136// See UpdateUser for more information on using the UpdateUser
4137// API call, and error handling.
4138//
4139// This method is useful when you want to inject custom logic or configuration
4140// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4141//
4142//
4143//    // Example sending a request using the UpdateUserRequest method.
4144//    req, resp := client.UpdateUserRequest(params)
4145//
4146//    err := req.Send()
4147//    if err == nil { // resp is now filled
4148//        fmt.Println(resp)
4149//    }
4150//
4151// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/UpdateUser
4152func (c *WorkDocs) UpdateUserRequest(input *UpdateUserInput) (req *request.Request, output *UpdateUserOutput) {
4153	op := &request.Operation{
4154		Name:       opUpdateUser,
4155		HTTPMethod: "PATCH",
4156		HTTPPath:   "/api/v1/users/{UserId}",
4157	}
4158
4159	if input == nil {
4160		input = &UpdateUserInput{}
4161	}
4162
4163	output = &UpdateUserOutput{}
4164	req = c.newRequest(op, input, output)
4165	return
4166}
4167
4168// UpdateUser API operation for Amazon WorkDocs.
4169//
4170// Updates the specified attributes of the specified user, and grants or revokes
4171// administrative privileges to the Amazon WorkDocs site.
4172//
4173// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4174// with awserr.Error's Code and Message methods to get detailed information about
4175// the error.
4176//
4177// See the AWS API reference guide for Amazon WorkDocs's
4178// API operation UpdateUser for usage and error information.
4179//
4180// Returned Error Types:
4181//   * EntityNotExistsException
4182//   The resource does not exist.
4183//
4184//   * UnauthorizedOperationException
4185//   The operation is not permitted.
4186//
4187//   * UnauthorizedResourceAccessException
4188//   The caller does not have access to perform the action on the resource.
4189//
4190//   * IllegalUserStateException
4191//   The user is undergoing transfer of ownership.
4192//
4193//   * FailedDependencyException
4194//   The AWS Directory Service cannot reach an on-premises instance. Or a dependency
4195//   under the control of the organization is failing, such as a connected Active
4196//   Directory.
4197//
4198//   * ServiceUnavailableException
4199//   One or more of the dependencies is unavailable.
4200//
4201//   * DeactivatingLastSystemUserException
4202//   The last user in the organization is being deactivated.
4203//
4204//   * InvalidArgumentException
4205//   The pagination marker or limit fields are not valid.
4206//
4207// See also, https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01/UpdateUser
4208func (c *WorkDocs) UpdateUser(input *UpdateUserInput) (*UpdateUserOutput, error) {
4209	req, out := c.UpdateUserRequest(input)
4210	return out, req.Send()
4211}
4212
4213// UpdateUserWithContext is the same as UpdateUser with the addition of
4214// the ability to pass a context and additional request options.
4215//
4216// See UpdateUser for details on how to use this API operation.
4217//
4218// The context must be non-nil and will be used for request cancellation. If
4219// the context is nil a panic will occur. In the future the SDK may create
4220// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4221// for more information on using Contexts.
4222func (c *WorkDocs) UpdateUserWithContext(ctx aws.Context, input *UpdateUserInput, opts ...request.Option) (*UpdateUserOutput, error) {
4223	req, out := c.UpdateUserRequest(input)
4224	req.SetContext(ctx)
4225	req.ApplyOptions(opts...)
4226	return out, req.Send()
4227}
4228
4229type AbortDocumentVersionUploadInput struct {
4230	_ struct{} `type:"structure" nopayload:"true"`
4231
4232	// Amazon WorkDocs authentication token. Not required when using AWS administrator
4233	// credentials to access the API.
4234	//
4235	// AuthenticationToken is a sensitive parameter and its value will be
4236	// replaced with "sensitive" in string returned by AbortDocumentVersionUploadInput's
4237	// String and GoString methods.
4238	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
4239
4240	// The ID of the document.
4241	//
4242	// DocumentId is a required field
4243	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
4244
4245	// The ID of the version.
4246	//
4247	// VersionId is a required field
4248	VersionId *string `location:"uri" locationName:"VersionId" min:"1" type:"string" required:"true"`
4249}
4250
4251// String returns the string representation.
4252//
4253// API parameter values that are decorated as "sensitive" in the API will not
4254// be included in the string output. The member name will be present, but the
4255// value will be replaced with "sensitive".
4256func (s AbortDocumentVersionUploadInput) String() string {
4257	return awsutil.Prettify(s)
4258}
4259
4260// GoString returns the string representation.
4261//
4262// API parameter values that are decorated as "sensitive" in the API will not
4263// be included in the string output. The member name will be present, but the
4264// value will be replaced with "sensitive".
4265func (s AbortDocumentVersionUploadInput) GoString() string {
4266	return s.String()
4267}
4268
4269// Validate inspects the fields of the type to determine if they are valid.
4270func (s *AbortDocumentVersionUploadInput) Validate() error {
4271	invalidParams := request.ErrInvalidParams{Context: "AbortDocumentVersionUploadInput"}
4272	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
4273		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
4274	}
4275	if s.DocumentId == nil {
4276		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
4277	}
4278	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
4279		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
4280	}
4281	if s.VersionId == nil {
4282		invalidParams.Add(request.NewErrParamRequired("VersionId"))
4283	}
4284	if s.VersionId != nil && len(*s.VersionId) < 1 {
4285		invalidParams.Add(request.NewErrParamMinLen("VersionId", 1))
4286	}
4287
4288	if invalidParams.Len() > 0 {
4289		return invalidParams
4290	}
4291	return nil
4292}
4293
4294// SetAuthenticationToken sets the AuthenticationToken field's value.
4295func (s *AbortDocumentVersionUploadInput) SetAuthenticationToken(v string) *AbortDocumentVersionUploadInput {
4296	s.AuthenticationToken = &v
4297	return s
4298}
4299
4300// SetDocumentId sets the DocumentId field's value.
4301func (s *AbortDocumentVersionUploadInput) SetDocumentId(v string) *AbortDocumentVersionUploadInput {
4302	s.DocumentId = &v
4303	return s
4304}
4305
4306// SetVersionId sets the VersionId field's value.
4307func (s *AbortDocumentVersionUploadInput) SetVersionId(v string) *AbortDocumentVersionUploadInput {
4308	s.VersionId = &v
4309	return s
4310}
4311
4312type AbortDocumentVersionUploadOutput struct {
4313	_ struct{} `type:"structure"`
4314}
4315
4316// String returns the string representation.
4317//
4318// API parameter values that are decorated as "sensitive" in the API will not
4319// be included in the string output. The member name will be present, but the
4320// value will be replaced with "sensitive".
4321func (s AbortDocumentVersionUploadOutput) String() string {
4322	return awsutil.Prettify(s)
4323}
4324
4325// GoString returns the string representation.
4326//
4327// API parameter values that are decorated as "sensitive" in the API will not
4328// be included in the string output. The member name will be present, but the
4329// value will be replaced with "sensitive".
4330func (s AbortDocumentVersionUploadOutput) GoString() string {
4331	return s.String()
4332}
4333
4334type ActivateUserInput struct {
4335	_ struct{} `type:"structure" nopayload:"true"`
4336
4337	// Amazon WorkDocs authentication token. Not required when using AWS administrator
4338	// credentials to access the API.
4339	//
4340	// AuthenticationToken is a sensitive parameter and its value will be
4341	// replaced with "sensitive" in string returned by ActivateUserInput's
4342	// String and GoString methods.
4343	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
4344
4345	// The ID of the user.
4346	//
4347	// UserId is a required field
4348	UserId *string `location:"uri" locationName:"UserId" min:"1" type:"string" required:"true"`
4349}
4350
4351// String returns the string representation.
4352//
4353// API parameter values that are decorated as "sensitive" in the API will not
4354// be included in the string output. The member name will be present, but the
4355// value will be replaced with "sensitive".
4356func (s ActivateUserInput) String() string {
4357	return awsutil.Prettify(s)
4358}
4359
4360// GoString returns the string representation.
4361//
4362// API parameter values that are decorated as "sensitive" in the API will not
4363// be included in the string output. The member name will be present, but the
4364// value will be replaced with "sensitive".
4365func (s ActivateUserInput) GoString() string {
4366	return s.String()
4367}
4368
4369// Validate inspects the fields of the type to determine if they are valid.
4370func (s *ActivateUserInput) Validate() error {
4371	invalidParams := request.ErrInvalidParams{Context: "ActivateUserInput"}
4372	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
4373		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
4374	}
4375	if s.UserId == nil {
4376		invalidParams.Add(request.NewErrParamRequired("UserId"))
4377	}
4378	if s.UserId != nil && len(*s.UserId) < 1 {
4379		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
4380	}
4381
4382	if invalidParams.Len() > 0 {
4383		return invalidParams
4384	}
4385	return nil
4386}
4387
4388// SetAuthenticationToken sets the AuthenticationToken field's value.
4389func (s *ActivateUserInput) SetAuthenticationToken(v string) *ActivateUserInput {
4390	s.AuthenticationToken = &v
4391	return s
4392}
4393
4394// SetUserId sets the UserId field's value.
4395func (s *ActivateUserInput) SetUserId(v string) *ActivateUserInput {
4396	s.UserId = &v
4397	return s
4398}
4399
4400type ActivateUserOutput struct {
4401	_ struct{} `type:"structure"`
4402
4403	// The user information.
4404	User *User `type:"structure"`
4405}
4406
4407// String returns the string representation.
4408//
4409// API parameter values that are decorated as "sensitive" in the API will not
4410// be included in the string output. The member name will be present, but the
4411// value will be replaced with "sensitive".
4412func (s ActivateUserOutput) String() string {
4413	return awsutil.Prettify(s)
4414}
4415
4416// GoString returns the string representation.
4417//
4418// API parameter values that are decorated as "sensitive" in the API will not
4419// be included in the string output. The member name will be present, but the
4420// value will be replaced with "sensitive".
4421func (s ActivateUserOutput) GoString() string {
4422	return s.String()
4423}
4424
4425// SetUser sets the User field's value.
4426func (s *ActivateUserOutput) SetUser(v *User) *ActivateUserOutput {
4427	s.User = v
4428	return s
4429}
4430
4431// Describes the activity information.
4432type Activity struct {
4433	_ struct{} `type:"structure"`
4434
4435	// Metadata of the commenting activity. This is an optional field and is filled
4436	// for commenting activities.
4437	CommentMetadata *CommentMetadata `type:"structure"`
4438
4439	// The user who performed the action.
4440	Initiator *UserMetadata `type:"structure"`
4441
4442	// Indicates whether an activity is indirect or direct. An indirect activity
4443	// results from a direct activity performed on a parent resource. For example,
4444	// sharing a parent folder (the direct activity) shares all of the subfolders
4445	// and documents within the parent folder (the indirect activity).
4446	IsIndirectActivity *bool `type:"boolean"`
4447
4448	// The ID of the organization.
4449	OrganizationId *string `min:"1" type:"string"`
4450
4451	// The original parent of the resource. This is an optional field and is filled
4452	// for move activities.
4453	OriginalParent *ResourceMetadata `type:"structure"`
4454
4455	// The list of users or groups impacted by this action. This is an optional
4456	// field and is filled for the following sharing activities: DOCUMENT_SHARED,
4457	// DOCUMENT_SHARED, DOCUMENT_UNSHARED, FOLDER_SHARED, FOLDER_UNSHARED.
4458	Participants *Participants `type:"structure"`
4459
4460	// The metadata of the resource involved in the user action.
4461	ResourceMetadata *ResourceMetadata `type:"structure"`
4462
4463	// The timestamp when the action was performed.
4464	TimeStamp *time.Time `type:"timestamp"`
4465
4466	// The activity type.
4467	Type *string `type:"string" enum:"ActivityType"`
4468}
4469
4470// String returns the string representation.
4471//
4472// API parameter values that are decorated as "sensitive" in the API will not
4473// be included in the string output. The member name will be present, but the
4474// value will be replaced with "sensitive".
4475func (s Activity) String() string {
4476	return awsutil.Prettify(s)
4477}
4478
4479// GoString returns the string representation.
4480//
4481// API parameter values that are decorated as "sensitive" in the API will not
4482// be included in the string output. The member name will be present, but the
4483// value will be replaced with "sensitive".
4484func (s Activity) GoString() string {
4485	return s.String()
4486}
4487
4488// SetCommentMetadata sets the CommentMetadata field's value.
4489func (s *Activity) SetCommentMetadata(v *CommentMetadata) *Activity {
4490	s.CommentMetadata = v
4491	return s
4492}
4493
4494// SetInitiator sets the Initiator field's value.
4495func (s *Activity) SetInitiator(v *UserMetadata) *Activity {
4496	s.Initiator = v
4497	return s
4498}
4499
4500// SetIsIndirectActivity sets the IsIndirectActivity field's value.
4501func (s *Activity) SetIsIndirectActivity(v bool) *Activity {
4502	s.IsIndirectActivity = &v
4503	return s
4504}
4505
4506// SetOrganizationId sets the OrganizationId field's value.
4507func (s *Activity) SetOrganizationId(v string) *Activity {
4508	s.OrganizationId = &v
4509	return s
4510}
4511
4512// SetOriginalParent sets the OriginalParent field's value.
4513func (s *Activity) SetOriginalParent(v *ResourceMetadata) *Activity {
4514	s.OriginalParent = v
4515	return s
4516}
4517
4518// SetParticipants sets the Participants field's value.
4519func (s *Activity) SetParticipants(v *Participants) *Activity {
4520	s.Participants = v
4521	return s
4522}
4523
4524// SetResourceMetadata sets the ResourceMetadata field's value.
4525func (s *Activity) SetResourceMetadata(v *ResourceMetadata) *Activity {
4526	s.ResourceMetadata = v
4527	return s
4528}
4529
4530// SetTimeStamp sets the TimeStamp field's value.
4531func (s *Activity) SetTimeStamp(v time.Time) *Activity {
4532	s.TimeStamp = &v
4533	return s
4534}
4535
4536// SetType sets the Type field's value.
4537func (s *Activity) SetType(v string) *Activity {
4538	s.Type = &v
4539	return s
4540}
4541
4542type AddResourcePermissionsInput struct {
4543	_ struct{} `type:"structure"`
4544
4545	// Amazon WorkDocs authentication token. Not required when using AWS administrator
4546	// credentials to access the API.
4547	//
4548	// AuthenticationToken is a sensitive parameter and its value will be
4549	// replaced with "sensitive" in string returned by AddResourcePermissionsInput's
4550	// String and GoString methods.
4551	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
4552
4553	// The notification options.
4554	NotificationOptions *NotificationOptions `type:"structure"`
4555
4556	// The users, groups, or organization being granted permission.
4557	//
4558	// Principals is a required field
4559	Principals []*SharePrincipal `type:"list" required:"true"`
4560
4561	// The ID of the resource.
4562	//
4563	// ResourceId is a required field
4564	ResourceId *string `location:"uri" locationName:"ResourceId" min:"1" type:"string" required:"true"`
4565}
4566
4567// String returns the string representation.
4568//
4569// API parameter values that are decorated as "sensitive" in the API will not
4570// be included in the string output. The member name will be present, but the
4571// value will be replaced with "sensitive".
4572func (s AddResourcePermissionsInput) String() string {
4573	return awsutil.Prettify(s)
4574}
4575
4576// GoString returns the string representation.
4577//
4578// API parameter values that are decorated as "sensitive" in the API will not
4579// be included in the string output. The member name will be present, but the
4580// value will be replaced with "sensitive".
4581func (s AddResourcePermissionsInput) GoString() string {
4582	return s.String()
4583}
4584
4585// Validate inspects the fields of the type to determine if they are valid.
4586func (s *AddResourcePermissionsInput) Validate() error {
4587	invalidParams := request.ErrInvalidParams{Context: "AddResourcePermissionsInput"}
4588	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
4589		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
4590	}
4591	if s.Principals == nil {
4592		invalidParams.Add(request.NewErrParamRequired("Principals"))
4593	}
4594	if s.ResourceId == nil {
4595		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
4596	}
4597	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
4598		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
4599	}
4600	if s.Principals != nil {
4601		for i, v := range s.Principals {
4602			if v == nil {
4603				continue
4604			}
4605			if err := v.Validate(); err != nil {
4606				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Principals", i), err.(request.ErrInvalidParams))
4607			}
4608		}
4609	}
4610
4611	if invalidParams.Len() > 0 {
4612		return invalidParams
4613	}
4614	return nil
4615}
4616
4617// SetAuthenticationToken sets the AuthenticationToken field's value.
4618func (s *AddResourcePermissionsInput) SetAuthenticationToken(v string) *AddResourcePermissionsInput {
4619	s.AuthenticationToken = &v
4620	return s
4621}
4622
4623// SetNotificationOptions sets the NotificationOptions field's value.
4624func (s *AddResourcePermissionsInput) SetNotificationOptions(v *NotificationOptions) *AddResourcePermissionsInput {
4625	s.NotificationOptions = v
4626	return s
4627}
4628
4629// SetPrincipals sets the Principals field's value.
4630func (s *AddResourcePermissionsInput) SetPrincipals(v []*SharePrincipal) *AddResourcePermissionsInput {
4631	s.Principals = v
4632	return s
4633}
4634
4635// SetResourceId sets the ResourceId field's value.
4636func (s *AddResourcePermissionsInput) SetResourceId(v string) *AddResourcePermissionsInput {
4637	s.ResourceId = &v
4638	return s
4639}
4640
4641type AddResourcePermissionsOutput struct {
4642	_ struct{} `type:"structure"`
4643
4644	// The share results.
4645	ShareResults []*ShareResult `type:"list"`
4646}
4647
4648// String returns the string representation.
4649//
4650// API parameter values that are decorated as "sensitive" in the API will not
4651// be included in the string output. The member name will be present, but the
4652// value will be replaced with "sensitive".
4653func (s AddResourcePermissionsOutput) String() string {
4654	return awsutil.Prettify(s)
4655}
4656
4657// GoString returns the string representation.
4658//
4659// API parameter values that are decorated as "sensitive" in the API will not
4660// be included in the string output. The member name will be present, but the
4661// value will be replaced with "sensitive".
4662func (s AddResourcePermissionsOutput) GoString() string {
4663	return s.String()
4664}
4665
4666// SetShareResults sets the ShareResults field's value.
4667func (s *AddResourcePermissionsOutput) SetShareResults(v []*ShareResult) *AddResourcePermissionsOutput {
4668	s.ShareResults = v
4669	return s
4670}
4671
4672// Describes a comment.
4673type Comment struct {
4674	_ struct{} `type:"structure"`
4675
4676	// The ID of the comment.
4677	//
4678	// CommentId is a required field
4679	CommentId *string `min:"1" type:"string" required:"true"`
4680
4681	// The details of the user who made the comment.
4682	Contributor *User `type:"structure"`
4683
4684	// The time that the comment was created.
4685	CreatedTimestamp *time.Time `type:"timestamp"`
4686
4687	// The ID of the parent comment.
4688	ParentId *string `min:"1" type:"string"`
4689
4690	// If the comment is a reply to another user's comment, this field contains
4691	// the user ID of the user being replied to.
4692	RecipientId *string `min:"1" type:"string"`
4693
4694	// The status of the comment.
4695	Status *string `type:"string" enum:"CommentStatusType"`
4696
4697	// The text of the comment.
4698	//
4699	// Text is a sensitive parameter and its value will be
4700	// replaced with "sensitive" in string returned by Comment's
4701	// String and GoString methods.
4702	Text *string `min:"1" type:"string" sensitive:"true"`
4703
4704	// The ID of the root comment in the thread.
4705	ThreadId *string `min:"1" type:"string"`
4706
4707	// The visibility of the comment. Options are either PRIVATE, where the comment
4708	// is visible only to the comment author and document owner and co-owners, or
4709	// PUBLIC, where the comment is visible to document owners, co-owners, and contributors.
4710	Visibility *string `type:"string" enum:"CommentVisibilityType"`
4711}
4712
4713// String returns the string representation.
4714//
4715// API parameter values that are decorated as "sensitive" in the API will not
4716// be included in the string output. The member name will be present, but the
4717// value will be replaced with "sensitive".
4718func (s Comment) String() string {
4719	return awsutil.Prettify(s)
4720}
4721
4722// GoString returns the string representation.
4723//
4724// API parameter values that are decorated as "sensitive" in the API will not
4725// be included in the string output. The member name will be present, but the
4726// value will be replaced with "sensitive".
4727func (s Comment) GoString() string {
4728	return s.String()
4729}
4730
4731// SetCommentId sets the CommentId field's value.
4732func (s *Comment) SetCommentId(v string) *Comment {
4733	s.CommentId = &v
4734	return s
4735}
4736
4737// SetContributor sets the Contributor field's value.
4738func (s *Comment) SetContributor(v *User) *Comment {
4739	s.Contributor = v
4740	return s
4741}
4742
4743// SetCreatedTimestamp sets the CreatedTimestamp field's value.
4744func (s *Comment) SetCreatedTimestamp(v time.Time) *Comment {
4745	s.CreatedTimestamp = &v
4746	return s
4747}
4748
4749// SetParentId sets the ParentId field's value.
4750func (s *Comment) SetParentId(v string) *Comment {
4751	s.ParentId = &v
4752	return s
4753}
4754
4755// SetRecipientId sets the RecipientId field's value.
4756func (s *Comment) SetRecipientId(v string) *Comment {
4757	s.RecipientId = &v
4758	return s
4759}
4760
4761// SetStatus sets the Status field's value.
4762func (s *Comment) SetStatus(v string) *Comment {
4763	s.Status = &v
4764	return s
4765}
4766
4767// SetText sets the Text field's value.
4768func (s *Comment) SetText(v string) *Comment {
4769	s.Text = &v
4770	return s
4771}
4772
4773// SetThreadId sets the ThreadId field's value.
4774func (s *Comment) SetThreadId(v string) *Comment {
4775	s.ThreadId = &v
4776	return s
4777}
4778
4779// SetVisibility sets the Visibility field's value.
4780func (s *Comment) SetVisibility(v string) *Comment {
4781	s.Visibility = &v
4782	return s
4783}
4784
4785// Describes the metadata of a comment.
4786type CommentMetadata struct {
4787	_ struct{} `type:"structure"`
4788
4789	// The ID of the comment.
4790	CommentId *string `min:"1" type:"string"`
4791
4792	// The status of the comment.
4793	CommentStatus *string `type:"string" enum:"CommentStatusType"`
4794
4795	// The user who made the comment.
4796	Contributor *User `type:"structure"`
4797
4798	// The timestamp that the comment was created.
4799	CreatedTimestamp *time.Time `type:"timestamp"`
4800
4801	// The ID of the user being replied to.
4802	RecipientId *string `min:"1" type:"string"`
4803}
4804
4805// String returns the string representation.
4806//
4807// API parameter values that are decorated as "sensitive" in the API will not
4808// be included in the string output. The member name will be present, but the
4809// value will be replaced with "sensitive".
4810func (s CommentMetadata) String() string {
4811	return awsutil.Prettify(s)
4812}
4813
4814// GoString returns the string representation.
4815//
4816// API parameter values that are decorated as "sensitive" in the API will not
4817// be included in the string output. The member name will be present, but the
4818// value will be replaced with "sensitive".
4819func (s CommentMetadata) GoString() string {
4820	return s.String()
4821}
4822
4823// SetCommentId sets the CommentId field's value.
4824func (s *CommentMetadata) SetCommentId(v string) *CommentMetadata {
4825	s.CommentId = &v
4826	return s
4827}
4828
4829// SetCommentStatus sets the CommentStatus field's value.
4830func (s *CommentMetadata) SetCommentStatus(v string) *CommentMetadata {
4831	s.CommentStatus = &v
4832	return s
4833}
4834
4835// SetContributor sets the Contributor field's value.
4836func (s *CommentMetadata) SetContributor(v *User) *CommentMetadata {
4837	s.Contributor = v
4838	return s
4839}
4840
4841// SetCreatedTimestamp sets the CreatedTimestamp field's value.
4842func (s *CommentMetadata) SetCreatedTimestamp(v time.Time) *CommentMetadata {
4843	s.CreatedTimestamp = &v
4844	return s
4845}
4846
4847// SetRecipientId sets the RecipientId field's value.
4848func (s *CommentMetadata) SetRecipientId(v string) *CommentMetadata {
4849	s.RecipientId = &v
4850	return s
4851}
4852
4853// The resource hierarchy is changing.
4854type ConcurrentModificationException struct {
4855	_            struct{}                  `type:"structure"`
4856	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4857
4858	Message_ *string `locationName:"Message" type:"string"`
4859}
4860
4861// String returns the string representation.
4862//
4863// API parameter values that are decorated as "sensitive" in the API will not
4864// be included in the string output. The member name will be present, but the
4865// value will be replaced with "sensitive".
4866func (s ConcurrentModificationException) String() string {
4867	return awsutil.Prettify(s)
4868}
4869
4870// GoString returns the string representation.
4871//
4872// API parameter values that are decorated as "sensitive" in the API will not
4873// be included in the string output. The member name will be present, but the
4874// value will be replaced with "sensitive".
4875func (s ConcurrentModificationException) GoString() string {
4876	return s.String()
4877}
4878
4879func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error {
4880	return &ConcurrentModificationException{
4881		RespMetadata: v,
4882	}
4883}
4884
4885// Code returns the exception type name.
4886func (s *ConcurrentModificationException) Code() string {
4887	return "ConcurrentModificationException"
4888}
4889
4890// Message returns the exception's message.
4891func (s *ConcurrentModificationException) Message() string {
4892	if s.Message_ != nil {
4893		return *s.Message_
4894	}
4895	return ""
4896}
4897
4898// OrigErr always returns nil, satisfies awserr.Error interface.
4899func (s *ConcurrentModificationException) OrigErr() error {
4900	return nil
4901}
4902
4903func (s *ConcurrentModificationException) Error() string {
4904	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4905}
4906
4907// Status code returns the HTTP status code for the request's response error.
4908func (s *ConcurrentModificationException) StatusCode() int {
4909	return s.RespMetadata.StatusCode
4910}
4911
4912// RequestID returns the service's response RequestID for request.
4913func (s *ConcurrentModificationException) RequestID() string {
4914	return s.RespMetadata.RequestID
4915}
4916
4917// Another operation is in progress on the resource that conflicts with the
4918// current operation.
4919type ConflictingOperationException struct {
4920	_            struct{}                  `type:"structure"`
4921	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4922
4923	Message_ *string `locationName:"Message" type:"string"`
4924}
4925
4926// String returns the string representation.
4927//
4928// API parameter values that are decorated as "sensitive" in the API will not
4929// be included in the string output. The member name will be present, but the
4930// value will be replaced with "sensitive".
4931func (s ConflictingOperationException) String() string {
4932	return awsutil.Prettify(s)
4933}
4934
4935// GoString returns the string representation.
4936//
4937// API parameter values that are decorated as "sensitive" in the API will not
4938// be included in the string output. The member name will be present, but the
4939// value will be replaced with "sensitive".
4940func (s ConflictingOperationException) GoString() string {
4941	return s.String()
4942}
4943
4944func newErrorConflictingOperationException(v protocol.ResponseMetadata) error {
4945	return &ConflictingOperationException{
4946		RespMetadata: v,
4947	}
4948}
4949
4950// Code returns the exception type name.
4951func (s *ConflictingOperationException) Code() string {
4952	return "ConflictingOperationException"
4953}
4954
4955// Message returns the exception's message.
4956func (s *ConflictingOperationException) Message() string {
4957	if s.Message_ != nil {
4958		return *s.Message_
4959	}
4960	return ""
4961}
4962
4963// OrigErr always returns nil, satisfies awserr.Error interface.
4964func (s *ConflictingOperationException) OrigErr() error {
4965	return nil
4966}
4967
4968func (s *ConflictingOperationException) Error() string {
4969	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4970}
4971
4972// Status code returns the HTTP status code for the request's response error.
4973func (s *ConflictingOperationException) StatusCode() int {
4974	return s.RespMetadata.StatusCode
4975}
4976
4977// RequestID returns the service's response RequestID for request.
4978func (s *ConflictingOperationException) RequestID() string {
4979	return s.RespMetadata.RequestID
4980}
4981
4982type CreateCommentInput struct {
4983	_ struct{} `type:"structure"`
4984
4985	// Amazon WorkDocs authentication token. Not required when using AWS administrator
4986	// credentials to access the API.
4987	//
4988	// AuthenticationToken is a sensitive parameter and its value will be
4989	// replaced with "sensitive" in string returned by CreateCommentInput's
4990	// String and GoString methods.
4991	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
4992
4993	// The ID of the document.
4994	//
4995	// DocumentId is a required field
4996	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
4997
4998	// Set this parameter to TRUE to send an email out to the document collaborators
4999	// after the comment is created.
5000	NotifyCollaborators *bool `type:"boolean"`
5001
5002	// The ID of the parent comment.
5003	ParentId *string `min:"1" type:"string"`
5004
5005	// The text of the comment.
5006	//
5007	// Text is a sensitive parameter and its value will be
5008	// replaced with "sensitive" in string returned by CreateCommentInput's
5009	// String and GoString methods.
5010	//
5011	// Text is a required field
5012	Text *string `min:"1" type:"string" required:"true" sensitive:"true"`
5013
5014	// The ID of the root comment in the thread.
5015	ThreadId *string `min:"1" type:"string"`
5016
5017	// The ID of the document version.
5018	//
5019	// VersionId is a required field
5020	VersionId *string `location:"uri" locationName:"VersionId" min:"1" type:"string" required:"true"`
5021
5022	// The visibility of the comment. Options are either PRIVATE, where the comment
5023	// is visible only to the comment author and document owner and co-owners, or
5024	// PUBLIC, where the comment is visible to document owners, co-owners, and contributors.
5025	Visibility *string `type:"string" enum:"CommentVisibilityType"`
5026}
5027
5028// String returns the string representation.
5029//
5030// API parameter values that are decorated as "sensitive" in the API will not
5031// be included in the string output. The member name will be present, but the
5032// value will be replaced with "sensitive".
5033func (s CreateCommentInput) String() string {
5034	return awsutil.Prettify(s)
5035}
5036
5037// GoString returns the string representation.
5038//
5039// API parameter values that are decorated as "sensitive" in the API will not
5040// be included in the string output. The member name will be present, but the
5041// value will be replaced with "sensitive".
5042func (s CreateCommentInput) GoString() string {
5043	return s.String()
5044}
5045
5046// Validate inspects the fields of the type to determine if they are valid.
5047func (s *CreateCommentInput) Validate() error {
5048	invalidParams := request.ErrInvalidParams{Context: "CreateCommentInput"}
5049	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
5050		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
5051	}
5052	if s.DocumentId == nil {
5053		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
5054	}
5055	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
5056		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
5057	}
5058	if s.ParentId != nil && len(*s.ParentId) < 1 {
5059		invalidParams.Add(request.NewErrParamMinLen("ParentId", 1))
5060	}
5061	if s.Text == nil {
5062		invalidParams.Add(request.NewErrParamRequired("Text"))
5063	}
5064	if s.Text != nil && len(*s.Text) < 1 {
5065		invalidParams.Add(request.NewErrParamMinLen("Text", 1))
5066	}
5067	if s.ThreadId != nil && len(*s.ThreadId) < 1 {
5068		invalidParams.Add(request.NewErrParamMinLen("ThreadId", 1))
5069	}
5070	if s.VersionId == nil {
5071		invalidParams.Add(request.NewErrParamRequired("VersionId"))
5072	}
5073	if s.VersionId != nil && len(*s.VersionId) < 1 {
5074		invalidParams.Add(request.NewErrParamMinLen("VersionId", 1))
5075	}
5076
5077	if invalidParams.Len() > 0 {
5078		return invalidParams
5079	}
5080	return nil
5081}
5082
5083// SetAuthenticationToken sets the AuthenticationToken field's value.
5084func (s *CreateCommentInput) SetAuthenticationToken(v string) *CreateCommentInput {
5085	s.AuthenticationToken = &v
5086	return s
5087}
5088
5089// SetDocumentId sets the DocumentId field's value.
5090func (s *CreateCommentInput) SetDocumentId(v string) *CreateCommentInput {
5091	s.DocumentId = &v
5092	return s
5093}
5094
5095// SetNotifyCollaborators sets the NotifyCollaborators field's value.
5096func (s *CreateCommentInput) SetNotifyCollaborators(v bool) *CreateCommentInput {
5097	s.NotifyCollaborators = &v
5098	return s
5099}
5100
5101// SetParentId sets the ParentId field's value.
5102func (s *CreateCommentInput) SetParentId(v string) *CreateCommentInput {
5103	s.ParentId = &v
5104	return s
5105}
5106
5107// SetText sets the Text field's value.
5108func (s *CreateCommentInput) SetText(v string) *CreateCommentInput {
5109	s.Text = &v
5110	return s
5111}
5112
5113// SetThreadId sets the ThreadId field's value.
5114func (s *CreateCommentInput) SetThreadId(v string) *CreateCommentInput {
5115	s.ThreadId = &v
5116	return s
5117}
5118
5119// SetVersionId sets the VersionId field's value.
5120func (s *CreateCommentInput) SetVersionId(v string) *CreateCommentInput {
5121	s.VersionId = &v
5122	return s
5123}
5124
5125// SetVisibility sets the Visibility field's value.
5126func (s *CreateCommentInput) SetVisibility(v string) *CreateCommentInput {
5127	s.Visibility = &v
5128	return s
5129}
5130
5131type CreateCommentOutput struct {
5132	_ struct{} `type:"structure"`
5133
5134	// The comment that has been created.
5135	Comment *Comment `type:"structure"`
5136}
5137
5138// String returns the string representation.
5139//
5140// API parameter values that are decorated as "sensitive" in the API will not
5141// be included in the string output. The member name will be present, but the
5142// value will be replaced with "sensitive".
5143func (s CreateCommentOutput) String() string {
5144	return awsutil.Prettify(s)
5145}
5146
5147// GoString returns the string representation.
5148//
5149// API parameter values that are decorated as "sensitive" in the API will not
5150// be included in the string output. The member name will be present, but the
5151// value will be replaced with "sensitive".
5152func (s CreateCommentOutput) GoString() string {
5153	return s.String()
5154}
5155
5156// SetComment sets the Comment field's value.
5157func (s *CreateCommentOutput) SetComment(v *Comment) *CreateCommentOutput {
5158	s.Comment = v
5159	return s
5160}
5161
5162type CreateCustomMetadataInput struct {
5163	_ struct{} `type:"structure"`
5164
5165	// Amazon WorkDocs authentication token. Not required when using AWS administrator
5166	// credentials to access the API.
5167	//
5168	// AuthenticationToken is a sensitive parameter and its value will be
5169	// replaced with "sensitive" in string returned by CreateCustomMetadataInput's
5170	// String and GoString methods.
5171	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
5172
5173	// Custom metadata in the form of name-value pairs.
5174	//
5175	// CustomMetadata is a required field
5176	CustomMetadata map[string]*string `min:"1" type:"map" required:"true"`
5177
5178	// The ID of the resource.
5179	//
5180	// ResourceId is a required field
5181	ResourceId *string `location:"uri" locationName:"ResourceId" min:"1" type:"string" required:"true"`
5182
5183	// The ID of the version, if the custom metadata is being added to a document
5184	// version.
5185	VersionId *string `location:"querystring" locationName:"versionid" min:"1" type:"string"`
5186}
5187
5188// String returns the string representation.
5189//
5190// API parameter values that are decorated as "sensitive" in the API will not
5191// be included in the string output. The member name will be present, but the
5192// value will be replaced with "sensitive".
5193func (s CreateCustomMetadataInput) String() string {
5194	return awsutil.Prettify(s)
5195}
5196
5197// GoString returns the string representation.
5198//
5199// API parameter values that are decorated as "sensitive" in the API will not
5200// be included in the string output. The member name will be present, but the
5201// value will be replaced with "sensitive".
5202func (s CreateCustomMetadataInput) GoString() string {
5203	return s.String()
5204}
5205
5206// Validate inspects the fields of the type to determine if they are valid.
5207func (s *CreateCustomMetadataInput) Validate() error {
5208	invalidParams := request.ErrInvalidParams{Context: "CreateCustomMetadataInput"}
5209	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
5210		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
5211	}
5212	if s.CustomMetadata == nil {
5213		invalidParams.Add(request.NewErrParamRequired("CustomMetadata"))
5214	}
5215	if s.CustomMetadata != nil && len(s.CustomMetadata) < 1 {
5216		invalidParams.Add(request.NewErrParamMinLen("CustomMetadata", 1))
5217	}
5218	if s.ResourceId == nil {
5219		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
5220	}
5221	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
5222		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
5223	}
5224	if s.VersionId != nil && len(*s.VersionId) < 1 {
5225		invalidParams.Add(request.NewErrParamMinLen("VersionId", 1))
5226	}
5227
5228	if invalidParams.Len() > 0 {
5229		return invalidParams
5230	}
5231	return nil
5232}
5233
5234// SetAuthenticationToken sets the AuthenticationToken field's value.
5235func (s *CreateCustomMetadataInput) SetAuthenticationToken(v string) *CreateCustomMetadataInput {
5236	s.AuthenticationToken = &v
5237	return s
5238}
5239
5240// SetCustomMetadata sets the CustomMetadata field's value.
5241func (s *CreateCustomMetadataInput) SetCustomMetadata(v map[string]*string) *CreateCustomMetadataInput {
5242	s.CustomMetadata = v
5243	return s
5244}
5245
5246// SetResourceId sets the ResourceId field's value.
5247func (s *CreateCustomMetadataInput) SetResourceId(v string) *CreateCustomMetadataInput {
5248	s.ResourceId = &v
5249	return s
5250}
5251
5252// SetVersionId sets the VersionId field's value.
5253func (s *CreateCustomMetadataInput) SetVersionId(v string) *CreateCustomMetadataInput {
5254	s.VersionId = &v
5255	return s
5256}
5257
5258type CreateCustomMetadataOutput struct {
5259	_ struct{} `type:"structure"`
5260}
5261
5262// String returns the string representation.
5263//
5264// API parameter values that are decorated as "sensitive" in the API will not
5265// be included in the string output. The member name will be present, but the
5266// value will be replaced with "sensitive".
5267func (s CreateCustomMetadataOutput) String() string {
5268	return awsutil.Prettify(s)
5269}
5270
5271// GoString returns the string representation.
5272//
5273// API parameter values that are decorated as "sensitive" in the API will not
5274// be included in the string output. The member name will be present, but the
5275// value will be replaced with "sensitive".
5276func (s CreateCustomMetadataOutput) GoString() string {
5277	return s.String()
5278}
5279
5280type CreateFolderInput struct {
5281	_ struct{} `type:"structure"`
5282
5283	// Amazon WorkDocs authentication token. Not required when using AWS administrator
5284	// credentials to access the API.
5285	//
5286	// AuthenticationToken is a sensitive parameter and its value will be
5287	// replaced with "sensitive" in string returned by CreateFolderInput's
5288	// String and GoString methods.
5289	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
5290
5291	// The name of the new folder.
5292	Name *string `min:"1" type:"string"`
5293
5294	// The ID of the parent folder.
5295	//
5296	// ParentFolderId is a required field
5297	ParentFolderId *string `min:"1" type:"string" required:"true"`
5298}
5299
5300// String returns the string representation.
5301//
5302// API parameter values that are decorated as "sensitive" in the API will not
5303// be included in the string output. The member name will be present, but the
5304// value will be replaced with "sensitive".
5305func (s CreateFolderInput) String() string {
5306	return awsutil.Prettify(s)
5307}
5308
5309// GoString returns the string representation.
5310//
5311// API parameter values that are decorated as "sensitive" in the API will not
5312// be included in the string output. The member name will be present, but the
5313// value will be replaced with "sensitive".
5314func (s CreateFolderInput) GoString() string {
5315	return s.String()
5316}
5317
5318// Validate inspects the fields of the type to determine if they are valid.
5319func (s *CreateFolderInput) Validate() error {
5320	invalidParams := request.ErrInvalidParams{Context: "CreateFolderInput"}
5321	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
5322		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
5323	}
5324	if s.Name != nil && len(*s.Name) < 1 {
5325		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5326	}
5327	if s.ParentFolderId == nil {
5328		invalidParams.Add(request.NewErrParamRequired("ParentFolderId"))
5329	}
5330	if s.ParentFolderId != nil && len(*s.ParentFolderId) < 1 {
5331		invalidParams.Add(request.NewErrParamMinLen("ParentFolderId", 1))
5332	}
5333
5334	if invalidParams.Len() > 0 {
5335		return invalidParams
5336	}
5337	return nil
5338}
5339
5340// SetAuthenticationToken sets the AuthenticationToken field's value.
5341func (s *CreateFolderInput) SetAuthenticationToken(v string) *CreateFolderInput {
5342	s.AuthenticationToken = &v
5343	return s
5344}
5345
5346// SetName sets the Name field's value.
5347func (s *CreateFolderInput) SetName(v string) *CreateFolderInput {
5348	s.Name = &v
5349	return s
5350}
5351
5352// SetParentFolderId sets the ParentFolderId field's value.
5353func (s *CreateFolderInput) SetParentFolderId(v string) *CreateFolderInput {
5354	s.ParentFolderId = &v
5355	return s
5356}
5357
5358type CreateFolderOutput struct {
5359	_ struct{} `type:"structure"`
5360
5361	// The metadata of the folder.
5362	Metadata *FolderMetadata `type:"structure"`
5363}
5364
5365// String returns the string representation.
5366//
5367// API parameter values that are decorated as "sensitive" in the API will not
5368// be included in the string output. The member name will be present, but the
5369// value will be replaced with "sensitive".
5370func (s CreateFolderOutput) String() string {
5371	return awsutil.Prettify(s)
5372}
5373
5374// GoString returns the string representation.
5375//
5376// API parameter values that are decorated as "sensitive" in the API will not
5377// be included in the string output. The member name will be present, but the
5378// value will be replaced with "sensitive".
5379func (s CreateFolderOutput) GoString() string {
5380	return s.String()
5381}
5382
5383// SetMetadata sets the Metadata field's value.
5384func (s *CreateFolderOutput) SetMetadata(v *FolderMetadata) *CreateFolderOutput {
5385	s.Metadata = v
5386	return s
5387}
5388
5389type CreateLabelsInput struct {
5390	_ struct{} `type:"structure"`
5391
5392	// Amazon WorkDocs authentication token. Not required when using AWS administrator
5393	// credentials to access the API.
5394	//
5395	// AuthenticationToken is a sensitive parameter and its value will be
5396	// replaced with "sensitive" in string returned by CreateLabelsInput's
5397	// String and GoString methods.
5398	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
5399
5400	// List of labels to add to the resource.
5401	//
5402	// Labels is a required field
5403	Labels []*string `type:"list" required:"true"`
5404
5405	// The ID of the resource.
5406	//
5407	// ResourceId is a required field
5408	ResourceId *string `location:"uri" locationName:"ResourceId" min:"1" type:"string" required:"true"`
5409}
5410
5411// String returns the string representation.
5412//
5413// API parameter values that are decorated as "sensitive" in the API will not
5414// be included in the string output. The member name will be present, but the
5415// value will be replaced with "sensitive".
5416func (s CreateLabelsInput) String() string {
5417	return awsutil.Prettify(s)
5418}
5419
5420// GoString returns the string representation.
5421//
5422// API parameter values that are decorated as "sensitive" in the API will not
5423// be included in the string output. The member name will be present, but the
5424// value will be replaced with "sensitive".
5425func (s CreateLabelsInput) GoString() string {
5426	return s.String()
5427}
5428
5429// Validate inspects the fields of the type to determine if they are valid.
5430func (s *CreateLabelsInput) Validate() error {
5431	invalidParams := request.ErrInvalidParams{Context: "CreateLabelsInput"}
5432	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
5433		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
5434	}
5435	if s.Labels == nil {
5436		invalidParams.Add(request.NewErrParamRequired("Labels"))
5437	}
5438	if s.ResourceId == nil {
5439		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
5440	}
5441	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
5442		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
5443	}
5444
5445	if invalidParams.Len() > 0 {
5446		return invalidParams
5447	}
5448	return nil
5449}
5450
5451// SetAuthenticationToken sets the AuthenticationToken field's value.
5452func (s *CreateLabelsInput) SetAuthenticationToken(v string) *CreateLabelsInput {
5453	s.AuthenticationToken = &v
5454	return s
5455}
5456
5457// SetLabels sets the Labels field's value.
5458func (s *CreateLabelsInput) SetLabels(v []*string) *CreateLabelsInput {
5459	s.Labels = v
5460	return s
5461}
5462
5463// SetResourceId sets the ResourceId field's value.
5464func (s *CreateLabelsInput) SetResourceId(v string) *CreateLabelsInput {
5465	s.ResourceId = &v
5466	return s
5467}
5468
5469type CreateLabelsOutput struct {
5470	_ struct{} `type:"structure"`
5471}
5472
5473// String returns the string representation.
5474//
5475// API parameter values that are decorated as "sensitive" in the API will not
5476// be included in the string output. The member name will be present, but the
5477// value will be replaced with "sensitive".
5478func (s CreateLabelsOutput) String() string {
5479	return awsutil.Prettify(s)
5480}
5481
5482// GoString returns the string representation.
5483//
5484// API parameter values that are decorated as "sensitive" in the API will not
5485// be included in the string output. The member name will be present, but the
5486// value will be replaced with "sensitive".
5487func (s CreateLabelsOutput) GoString() string {
5488	return s.String()
5489}
5490
5491type CreateNotificationSubscriptionInput struct {
5492	_ struct{} `type:"structure"`
5493
5494	// The endpoint to receive the notifications. If the protocol is HTTPS, the
5495	// endpoint is a URL that begins with https.
5496	//
5497	// Endpoint is a required field
5498	Endpoint *string `min:"1" type:"string" required:"true"`
5499
5500	// The ID of the organization.
5501	//
5502	// OrganizationId is a required field
5503	OrganizationId *string `location:"uri" locationName:"OrganizationId" min:"1" type:"string" required:"true"`
5504
5505	// The protocol to use. The supported value is https, which delivers JSON-encoded
5506	// messages using HTTPS POST.
5507	//
5508	// Protocol is a required field
5509	Protocol *string `type:"string" required:"true" enum:"SubscriptionProtocolType"`
5510
5511	// The notification type.
5512	//
5513	// SubscriptionType is a required field
5514	SubscriptionType *string `type:"string" required:"true" enum:"SubscriptionType"`
5515}
5516
5517// String returns the string representation.
5518//
5519// API parameter values that are decorated as "sensitive" in the API will not
5520// be included in the string output. The member name will be present, but the
5521// value will be replaced with "sensitive".
5522func (s CreateNotificationSubscriptionInput) String() string {
5523	return awsutil.Prettify(s)
5524}
5525
5526// GoString returns the string representation.
5527//
5528// API parameter values that are decorated as "sensitive" in the API will not
5529// be included in the string output. The member name will be present, but the
5530// value will be replaced with "sensitive".
5531func (s CreateNotificationSubscriptionInput) GoString() string {
5532	return s.String()
5533}
5534
5535// Validate inspects the fields of the type to determine if they are valid.
5536func (s *CreateNotificationSubscriptionInput) Validate() error {
5537	invalidParams := request.ErrInvalidParams{Context: "CreateNotificationSubscriptionInput"}
5538	if s.Endpoint == nil {
5539		invalidParams.Add(request.NewErrParamRequired("Endpoint"))
5540	}
5541	if s.Endpoint != nil && len(*s.Endpoint) < 1 {
5542		invalidParams.Add(request.NewErrParamMinLen("Endpoint", 1))
5543	}
5544	if s.OrganizationId == nil {
5545		invalidParams.Add(request.NewErrParamRequired("OrganizationId"))
5546	}
5547	if s.OrganizationId != nil && len(*s.OrganizationId) < 1 {
5548		invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 1))
5549	}
5550	if s.Protocol == nil {
5551		invalidParams.Add(request.NewErrParamRequired("Protocol"))
5552	}
5553	if s.SubscriptionType == nil {
5554		invalidParams.Add(request.NewErrParamRequired("SubscriptionType"))
5555	}
5556
5557	if invalidParams.Len() > 0 {
5558		return invalidParams
5559	}
5560	return nil
5561}
5562
5563// SetEndpoint sets the Endpoint field's value.
5564func (s *CreateNotificationSubscriptionInput) SetEndpoint(v string) *CreateNotificationSubscriptionInput {
5565	s.Endpoint = &v
5566	return s
5567}
5568
5569// SetOrganizationId sets the OrganizationId field's value.
5570func (s *CreateNotificationSubscriptionInput) SetOrganizationId(v string) *CreateNotificationSubscriptionInput {
5571	s.OrganizationId = &v
5572	return s
5573}
5574
5575// SetProtocol sets the Protocol field's value.
5576func (s *CreateNotificationSubscriptionInput) SetProtocol(v string) *CreateNotificationSubscriptionInput {
5577	s.Protocol = &v
5578	return s
5579}
5580
5581// SetSubscriptionType sets the SubscriptionType field's value.
5582func (s *CreateNotificationSubscriptionInput) SetSubscriptionType(v string) *CreateNotificationSubscriptionInput {
5583	s.SubscriptionType = &v
5584	return s
5585}
5586
5587type CreateNotificationSubscriptionOutput struct {
5588	_ struct{} `type:"structure"`
5589
5590	// The subscription.
5591	Subscription *Subscription `type:"structure"`
5592}
5593
5594// String returns the string representation.
5595//
5596// API parameter values that are decorated as "sensitive" in the API will not
5597// be included in the string output. The member name will be present, but the
5598// value will be replaced with "sensitive".
5599func (s CreateNotificationSubscriptionOutput) String() string {
5600	return awsutil.Prettify(s)
5601}
5602
5603// GoString returns the string representation.
5604//
5605// API parameter values that are decorated as "sensitive" in the API will not
5606// be included in the string output. The member name will be present, but the
5607// value will be replaced with "sensitive".
5608func (s CreateNotificationSubscriptionOutput) GoString() string {
5609	return s.String()
5610}
5611
5612// SetSubscription sets the Subscription field's value.
5613func (s *CreateNotificationSubscriptionOutput) SetSubscription(v *Subscription) *CreateNotificationSubscriptionOutput {
5614	s.Subscription = v
5615	return s
5616}
5617
5618type CreateUserInput struct {
5619	_ struct{} `type:"structure"`
5620
5621	// Amazon WorkDocs authentication token. Not required when using AWS administrator
5622	// credentials to access the API.
5623	//
5624	// AuthenticationToken is a sensitive parameter and its value will be
5625	// replaced with "sensitive" in string returned by CreateUserInput's
5626	// String and GoString methods.
5627	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
5628
5629	// The email address of the user.
5630	EmailAddress *string `min:"1" type:"string"`
5631
5632	// The given name of the user.
5633	//
5634	// GivenName is a required field
5635	GivenName *string `min:"1" type:"string" required:"true"`
5636
5637	// The ID of the organization.
5638	OrganizationId *string `min:"1" type:"string"`
5639
5640	// The password of the user.
5641	//
5642	// Password is a sensitive parameter and its value will be
5643	// replaced with "sensitive" in string returned by CreateUserInput's
5644	// String and GoString methods.
5645	//
5646	// Password is a required field
5647	Password *string `min:"4" type:"string" required:"true" sensitive:"true"`
5648
5649	// The amount of storage for the user.
5650	StorageRule *StorageRuleType `type:"structure"`
5651
5652	// The surname of the user.
5653	//
5654	// Surname is a required field
5655	Surname *string `min:"1" type:"string" required:"true"`
5656
5657	// The time zone ID of the user.
5658	TimeZoneId *string `min:"1" type:"string"`
5659
5660	// The login name of the user.
5661	//
5662	// Username is a required field
5663	Username *string `min:"1" type:"string" required:"true"`
5664}
5665
5666// String returns the string representation.
5667//
5668// API parameter values that are decorated as "sensitive" in the API will not
5669// be included in the string output. The member name will be present, but the
5670// value will be replaced with "sensitive".
5671func (s CreateUserInput) String() string {
5672	return awsutil.Prettify(s)
5673}
5674
5675// GoString returns the string representation.
5676//
5677// API parameter values that are decorated as "sensitive" in the API will not
5678// be included in the string output. The member name will be present, but the
5679// value will be replaced with "sensitive".
5680func (s CreateUserInput) GoString() string {
5681	return s.String()
5682}
5683
5684// Validate inspects the fields of the type to determine if they are valid.
5685func (s *CreateUserInput) Validate() error {
5686	invalidParams := request.ErrInvalidParams{Context: "CreateUserInput"}
5687	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
5688		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
5689	}
5690	if s.EmailAddress != nil && len(*s.EmailAddress) < 1 {
5691		invalidParams.Add(request.NewErrParamMinLen("EmailAddress", 1))
5692	}
5693	if s.GivenName == nil {
5694		invalidParams.Add(request.NewErrParamRequired("GivenName"))
5695	}
5696	if s.GivenName != nil && len(*s.GivenName) < 1 {
5697		invalidParams.Add(request.NewErrParamMinLen("GivenName", 1))
5698	}
5699	if s.OrganizationId != nil && len(*s.OrganizationId) < 1 {
5700		invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 1))
5701	}
5702	if s.Password == nil {
5703		invalidParams.Add(request.NewErrParamRequired("Password"))
5704	}
5705	if s.Password != nil && len(*s.Password) < 4 {
5706		invalidParams.Add(request.NewErrParamMinLen("Password", 4))
5707	}
5708	if s.Surname == nil {
5709		invalidParams.Add(request.NewErrParamRequired("Surname"))
5710	}
5711	if s.Surname != nil && len(*s.Surname) < 1 {
5712		invalidParams.Add(request.NewErrParamMinLen("Surname", 1))
5713	}
5714	if s.TimeZoneId != nil && len(*s.TimeZoneId) < 1 {
5715		invalidParams.Add(request.NewErrParamMinLen("TimeZoneId", 1))
5716	}
5717	if s.Username == nil {
5718		invalidParams.Add(request.NewErrParamRequired("Username"))
5719	}
5720	if s.Username != nil && len(*s.Username) < 1 {
5721		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
5722	}
5723
5724	if invalidParams.Len() > 0 {
5725		return invalidParams
5726	}
5727	return nil
5728}
5729
5730// SetAuthenticationToken sets the AuthenticationToken field's value.
5731func (s *CreateUserInput) SetAuthenticationToken(v string) *CreateUserInput {
5732	s.AuthenticationToken = &v
5733	return s
5734}
5735
5736// SetEmailAddress sets the EmailAddress field's value.
5737func (s *CreateUserInput) SetEmailAddress(v string) *CreateUserInput {
5738	s.EmailAddress = &v
5739	return s
5740}
5741
5742// SetGivenName sets the GivenName field's value.
5743func (s *CreateUserInput) SetGivenName(v string) *CreateUserInput {
5744	s.GivenName = &v
5745	return s
5746}
5747
5748// SetOrganizationId sets the OrganizationId field's value.
5749func (s *CreateUserInput) SetOrganizationId(v string) *CreateUserInput {
5750	s.OrganizationId = &v
5751	return s
5752}
5753
5754// SetPassword sets the Password field's value.
5755func (s *CreateUserInput) SetPassword(v string) *CreateUserInput {
5756	s.Password = &v
5757	return s
5758}
5759
5760// SetStorageRule sets the StorageRule field's value.
5761func (s *CreateUserInput) SetStorageRule(v *StorageRuleType) *CreateUserInput {
5762	s.StorageRule = v
5763	return s
5764}
5765
5766// SetSurname sets the Surname field's value.
5767func (s *CreateUserInput) SetSurname(v string) *CreateUserInput {
5768	s.Surname = &v
5769	return s
5770}
5771
5772// SetTimeZoneId sets the TimeZoneId field's value.
5773func (s *CreateUserInput) SetTimeZoneId(v string) *CreateUserInput {
5774	s.TimeZoneId = &v
5775	return s
5776}
5777
5778// SetUsername sets the Username field's value.
5779func (s *CreateUserInput) SetUsername(v string) *CreateUserInput {
5780	s.Username = &v
5781	return s
5782}
5783
5784type CreateUserOutput struct {
5785	_ struct{} `type:"structure"`
5786
5787	// The user information.
5788	User *User `type:"structure"`
5789}
5790
5791// String returns the string representation.
5792//
5793// API parameter values that are decorated as "sensitive" in the API will not
5794// be included in the string output. The member name will be present, but the
5795// value will be replaced with "sensitive".
5796func (s CreateUserOutput) String() string {
5797	return awsutil.Prettify(s)
5798}
5799
5800// GoString returns the string representation.
5801//
5802// API parameter values that are decorated as "sensitive" in the API will not
5803// be included in the string output. The member name will be present, but the
5804// value will be replaced with "sensitive".
5805func (s CreateUserOutput) GoString() string {
5806	return s.String()
5807}
5808
5809// SetUser sets the User field's value.
5810func (s *CreateUserOutput) SetUser(v *User) *CreateUserOutput {
5811	s.User = v
5812	return s
5813}
5814
5815// The limit has been reached on the number of custom properties for the specified
5816// resource.
5817type CustomMetadataLimitExceededException struct {
5818	_            struct{}                  `type:"structure"`
5819	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5820
5821	Message_ *string `locationName:"Message" type:"string"`
5822}
5823
5824// String returns the string representation.
5825//
5826// API parameter values that are decorated as "sensitive" in the API will not
5827// be included in the string output. The member name will be present, but the
5828// value will be replaced with "sensitive".
5829func (s CustomMetadataLimitExceededException) String() string {
5830	return awsutil.Prettify(s)
5831}
5832
5833// GoString returns the string representation.
5834//
5835// API parameter values that are decorated as "sensitive" in the API will not
5836// be included in the string output. The member name will be present, but the
5837// value will be replaced with "sensitive".
5838func (s CustomMetadataLimitExceededException) GoString() string {
5839	return s.String()
5840}
5841
5842func newErrorCustomMetadataLimitExceededException(v protocol.ResponseMetadata) error {
5843	return &CustomMetadataLimitExceededException{
5844		RespMetadata: v,
5845	}
5846}
5847
5848// Code returns the exception type name.
5849func (s *CustomMetadataLimitExceededException) Code() string {
5850	return "CustomMetadataLimitExceededException"
5851}
5852
5853// Message returns the exception's message.
5854func (s *CustomMetadataLimitExceededException) Message() string {
5855	if s.Message_ != nil {
5856		return *s.Message_
5857	}
5858	return ""
5859}
5860
5861// OrigErr always returns nil, satisfies awserr.Error interface.
5862func (s *CustomMetadataLimitExceededException) OrigErr() error {
5863	return nil
5864}
5865
5866func (s *CustomMetadataLimitExceededException) Error() string {
5867	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5868}
5869
5870// Status code returns the HTTP status code for the request's response error.
5871func (s *CustomMetadataLimitExceededException) StatusCode() int {
5872	return s.RespMetadata.StatusCode
5873}
5874
5875// RequestID returns the service's response RequestID for request.
5876func (s *CustomMetadataLimitExceededException) RequestID() string {
5877	return s.RespMetadata.RequestID
5878}
5879
5880type DeactivateUserInput struct {
5881	_ struct{} `type:"structure" nopayload:"true"`
5882
5883	// Amazon WorkDocs authentication token. Not required when using AWS administrator
5884	// credentials to access the API.
5885	//
5886	// AuthenticationToken is a sensitive parameter and its value will be
5887	// replaced with "sensitive" in string returned by DeactivateUserInput's
5888	// String and GoString methods.
5889	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
5890
5891	// The ID of the user.
5892	//
5893	// UserId is a required field
5894	UserId *string `location:"uri" locationName:"UserId" min:"1" type:"string" required:"true"`
5895}
5896
5897// String returns the string representation.
5898//
5899// API parameter values that are decorated as "sensitive" in the API will not
5900// be included in the string output. The member name will be present, but the
5901// value will be replaced with "sensitive".
5902func (s DeactivateUserInput) String() string {
5903	return awsutil.Prettify(s)
5904}
5905
5906// GoString returns the string representation.
5907//
5908// API parameter values that are decorated as "sensitive" in the API will not
5909// be included in the string output. The member name will be present, but the
5910// value will be replaced with "sensitive".
5911func (s DeactivateUserInput) GoString() string {
5912	return s.String()
5913}
5914
5915// Validate inspects the fields of the type to determine if they are valid.
5916func (s *DeactivateUserInput) Validate() error {
5917	invalidParams := request.ErrInvalidParams{Context: "DeactivateUserInput"}
5918	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
5919		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
5920	}
5921	if s.UserId == nil {
5922		invalidParams.Add(request.NewErrParamRequired("UserId"))
5923	}
5924	if s.UserId != nil && len(*s.UserId) < 1 {
5925		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
5926	}
5927
5928	if invalidParams.Len() > 0 {
5929		return invalidParams
5930	}
5931	return nil
5932}
5933
5934// SetAuthenticationToken sets the AuthenticationToken field's value.
5935func (s *DeactivateUserInput) SetAuthenticationToken(v string) *DeactivateUserInput {
5936	s.AuthenticationToken = &v
5937	return s
5938}
5939
5940// SetUserId sets the UserId field's value.
5941func (s *DeactivateUserInput) SetUserId(v string) *DeactivateUserInput {
5942	s.UserId = &v
5943	return s
5944}
5945
5946type DeactivateUserOutput struct {
5947	_ struct{} `type:"structure"`
5948}
5949
5950// String returns the string representation.
5951//
5952// API parameter values that are decorated as "sensitive" in the API will not
5953// be included in the string output. The member name will be present, but the
5954// value will be replaced with "sensitive".
5955func (s DeactivateUserOutput) String() string {
5956	return awsutil.Prettify(s)
5957}
5958
5959// GoString returns the string representation.
5960//
5961// API parameter values that are decorated as "sensitive" in the API will not
5962// be included in the string output. The member name will be present, but the
5963// value will be replaced with "sensitive".
5964func (s DeactivateUserOutput) GoString() string {
5965	return s.String()
5966}
5967
5968// The last user in the organization is being deactivated.
5969type DeactivatingLastSystemUserException struct {
5970	_            struct{}                  `type:"structure"`
5971	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5972
5973	Message_ *string `locationName:"message" type:"string"`
5974}
5975
5976// String returns the string representation.
5977//
5978// API parameter values that are decorated as "sensitive" in the API will not
5979// be included in the string output. The member name will be present, but the
5980// value will be replaced with "sensitive".
5981func (s DeactivatingLastSystemUserException) String() string {
5982	return awsutil.Prettify(s)
5983}
5984
5985// GoString returns the string representation.
5986//
5987// API parameter values that are decorated as "sensitive" in the API will not
5988// be included in the string output. The member name will be present, but the
5989// value will be replaced with "sensitive".
5990func (s DeactivatingLastSystemUserException) GoString() string {
5991	return s.String()
5992}
5993
5994func newErrorDeactivatingLastSystemUserException(v protocol.ResponseMetadata) error {
5995	return &DeactivatingLastSystemUserException{
5996		RespMetadata: v,
5997	}
5998}
5999
6000// Code returns the exception type name.
6001func (s *DeactivatingLastSystemUserException) Code() string {
6002	return "DeactivatingLastSystemUserException"
6003}
6004
6005// Message returns the exception's message.
6006func (s *DeactivatingLastSystemUserException) Message() string {
6007	if s.Message_ != nil {
6008		return *s.Message_
6009	}
6010	return ""
6011}
6012
6013// OrigErr always returns nil, satisfies awserr.Error interface.
6014func (s *DeactivatingLastSystemUserException) OrigErr() error {
6015	return nil
6016}
6017
6018func (s *DeactivatingLastSystemUserException) Error() string {
6019	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6020}
6021
6022// Status code returns the HTTP status code for the request's response error.
6023func (s *DeactivatingLastSystemUserException) StatusCode() int {
6024	return s.RespMetadata.StatusCode
6025}
6026
6027// RequestID returns the service's response RequestID for request.
6028func (s *DeactivatingLastSystemUserException) RequestID() string {
6029	return s.RespMetadata.RequestID
6030}
6031
6032type DeleteCommentInput struct {
6033	_ struct{} `type:"structure" nopayload:"true"`
6034
6035	// Amazon WorkDocs authentication token. Not required when using AWS administrator
6036	// credentials to access the API.
6037	//
6038	// AuthenticationToken is a sensitive parameter and its value will be
6039	// replaced with "sensitive" in string returned by DeleteCommentInput's
6040	// String and GoString methods.
6041	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
6042
6043	// The ID of the comment.
6044	//
6045	// CommentId is a required field
6046	CommentId *string `location:"uri" locationName:"CommentId" min:"1" type:"string" required:"true"`
6047
6048	// The ID of the document.
6049	//
6050	// DocumentId is a required field
6051	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
6052
6053	// The ID of the document version.
6054	//
6055	// VersionId is a required field
6056	VersionId *string `location:"uri" locationName:"VersionId" min:"1" type:"string" required:"true"`
6057}
6058
6059// String returns the string representation.
6060//
6061// API parameter values that are decorated as "sensitive" in the API will not
6062// be included in the string output. The member name will be present, but the
6063// value will be replaced with "sensitive".
6064func (s DeleteCommentInput) String() string {
6065	return awsutil.Prettify(s)
6066}
6067
6068// GoString returns the string representation.
6069//
6070// API parameter values that are decorated as "sensitive" in the API will not
6071// be included in the string output. The member name will be present, but the
6072// value will be replaced with "sensitive".
6073func (s DeleteCommentInput) GoString() string {
6074	return s.String()
6075}
6076
6077// Validate inspects the fields of the type to determine if they are valid.
6078func (s *DeleteCommentInput) Validate() error {
6079	invalidParams := request.ErrInvalidParams{Context: "DeleteCommentInput"}
6080	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
6081		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
6082	}
6083	if s.CommentId == nil {
6084		invalidParams.Add(request.NewErrParamRequired("CommentId"))
6085	}
6086	if s.CommentId != nil && len(*s.CommentId) < 1 {
6087		invalidParams.Add(request.NewErrParamMinLen("CommentId", 1))
6088	}
6089	if s.DocumentId == nil {
6090		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
6091	}
6092	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
6093		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
6094	}
6095	if s.VersionId == nil {
6096		invalidParams.Add(request.NewErrParamRequired("VersionId"))
6097	}
6098	if s.VersionId != nil && len(*s.VersionId) < 1 {
6099		invalidParams.Add(request.NewErrParamMinLen("VersionId", 1))
6100	}
6101
6102	if invalidParams.Len() > 0 {
6103		return invalidParams
6104	}
6105	return nil
6106}
6107
6108// SetAuthenticationToken sets the AuthenticationToken field's value.
6109func (s *DeleteCommentInput) SetAuthenticationToken(v string) *DeleteCommentInput {
6110	s.AuthenticationToken = &v
6111	return s
6112}
6113
6114// SetCommentId sets the CommentId field's value.
6115func (s *DeleteCommentInput) SetCommentId(v string) *DeleteCommentInput {
6116	s.CommentId = &v
6117	return s
6118}
6119
6120// SetDocumentId sets the DocumentId field's value.
6121func (s *DeleteCommentInput) SetDocumentId(v string) *DeleteCommentInput {
6122	s.DocumentId = &v
6123	return s
6124}
6125
6126// SetVersionId sets the VersionId field's value.
6127func (s *DeleteCommentInput) SetVersionId(v string) *DeleteCommentInput {
6128	s.VersionId = &v
6129	return s
6130}
6131
6132type DeleteCommentOutput struct {
6133	_ struct{} `type:"structure"`
6134}
6135
6136// String returns the string representation.
6137//
6138// API parameter values that are decorated as "sensitive" in the API will not
6139// be included in the string output. The member name will be present, but the
6140// value will be replaced with "sensitive".
6141func (s DeleteCommentOutput) String() string {
6142	return awsutil.Prettify(s)
6143}
6144
6145// GoString returns the string representation.
6146//
6147// API parameter values that are decorated as "sensitive" in the API will not
6148// be included in the string output. The member name will be present, but the
6149// value will be replaced with "sensitive".
6150func (s DeleteCommentOutput) GoString() string {
6151	return s.String()
6152}
6153
6154type DeleteCustomMetadataInput struct {
6155	_ struct{} `type:"structure" nopayload:"true"`
6156
6157	// Amazon WorkDocs authentication token. Not required when using AWS administrator
6158	// credentials to access the API.
6159	//
6160	// AuthenticationToken is a sensitive parameter and its value will be
6161	// replaced with "sensitive" in string returned by DeleteCustomMetadataInput's
6162	// String and GoString methods.
6163	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
6164
6165	// Flag to indicate removal of all custom metadata properties from the specified
6166	// resource.
6167	DeleteAll *bool `location:"querystring" locationName:"deleteAll" type:"boolean"`
6168
6169	// List of properties to remove.
6170	Keys []*string `location:"querystring" locationName:"keys" type:"list"`
6171
6172	// The ID of the resource, either a document or folder.
6173	//
6174	// ResourceId is a required field
6175	ResourceId *string `location:"uri" locationName:"ResourceId" min:"1" type:"string" required:"true"`
6176
6177	// The ID of the version, if the custom metadata is being deleted from a document
6178	// version.
6179	VersionId *string `location:"querystring" locationName:"versionId" min:"1" type:"string"`
6180}
6181
6182// String returns the string representation.
6183//
6184// API parameter values that are decorated as "sensitive" in the API will not
6185// be included in the string output. The member name will be present, but the
6186// value will be replaced with "sensitive".
6187func (s DeleteCustomMetadataInput) String() string {
6188	return awsutil.Prettify(s)
6189}
6190
6191// GoString returns the string representation.
6192//
6193// API parameter values that are decorated as "sensitive" in the API will not
6194// be included in the string output. The member name will be present, but the
6195// value will be replaced with "sensitive".
6196func (s DeleteCustomMetadataInput) GoString() string {
6197	return s.String()
6198}
6199
6200// Validate inspects the fields of the type to determine if they are valid.
6201func (s *DeleteCustomMetadataInput) Validate() error {
6202	invalidParams := request.ErrInvalidParams{Context: "DeleteCustomMetadataInput"}
6203	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
6204		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
6205	}
6206	if s.ResourceId == nil {
6207		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
6208	}
6209	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
6210		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
6211	}
6212	if s.VersionId != nil && len(*s.VersionId) < 1 {
6213		invalidParams.Add(request.NewErrParamMinLen("VersionId", 1))
6214	}
6215
6216	if invalidParams.Len() > 0 {
6217		return invalidParams
6218	}
6219	return nil
6220}
6221
6222// SetAuthenticationToken sets the AuthenticationToken field's value.
6223func (s *DeleteCustomMetadataInput) SetAuthenticationToken(v string) *DeleteCustomMetadataInput {
6224	s.AuthenticationToken = &v
6225	return s
6226}
6227
6228// SetDeleteAll sets the DeleteAll field's value.
6229func (s *DeleteCustomMetadataInput) SetDeleteAll(v bool) *DeleteCustomMetadataInput {
6230	s.DeleteAll = &v
6231	return s
6232}
6233
6234// SetKeys sets the Keys field's value.
6235func (s *DeleteCustomMetadataInput) SetKeys(v []*string) *DeleteCustomMetadataInput {
6236	s.Keys = v
6237	return s
6238}
6239
6240// SetResourceId sets the ResourceId field's value.
6241func (s *DeleteCustomMetadataInput) SetResourceId(v string) *DeleteCustomMetadataInput {
6242	s.ResourceId = &v
6243	return s
6244}
6245
6246// SetVersionId sets the VersionId field's value.
6247func (s *DeleteCustomMetadataInput) SetVersionId(v string) *DeleteCustomMetadataInput {
6248	s.VersionId = &v
6249	return s
6250}
6251
6252type DeleteCustomMetadataOutput struct {
6253	_ struct{} `type:"structure"`
6254}
6255
6256// String returns the string representation.
6257//
6258// API parameter values that are decorated as "sensitive" in the API will not
6259// be included in the string output. The member name will be present, but the
6260// value will be replaced with "sensitive".
6261func (s DeleteCustomMetadataOutput) String() string {
6262	return awsutil.Prettify(s)
6263}
6264
6265// GoString returns the string representation.
6266//
6267// API parameter values that are decorated as "sensitive" in the API will not
6268// be included in the string output. The member name will be present, but the
6269// value will be replaced with "sensitive".
6270func (s DeleteCustomMetadataOutput) GoString() string {
6271	return s.String()
6272}
6273
6274type DeleteDocumentInput struct {
6275	_ struct{} `type:"structure" nopayload:"true"`
6276
6277	// Amazon WorkDocs authentication token. Not required when using AWS administrator
6278	// credentials to access the API.
6279	//
6280	// AuthenticationToken is a sensitive parameter and its value will be
6281	// replaced with "sensitive" in string returned by DeleteDocumentInput's
6282	// String and GoString methods.
6283	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
6284
6285	// The ID of the document.
6286	//
6287	// DocumentId is a required field
6288	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
6289}
6290
6291// String returns the string representation.
6292//
6293// API parameter values that are decorated as "sensitive" in the API will not
6294// be included in the string output. The member name will be present, but the
6295// value will be replaced with "sensitive".
6296func (s DeleteDocumentInput) String() string {
6297	return awsutil.Prettify(s)
6298}
6299
6300// GoString returns the string representation.
6301//
6302// API parameter values that are decorated as "sensitive" in the API will not
6303// be included in the string output. The member name will be present, but the
6304// value will be replaced with "sensitive".
6305func (s DeleteDocumentInput) GoString() string {
6306	return s.String()
6307}
6308
6309// Validate inspects the fields of the type to determine if they are valid.
6310func (s *DeleteDocumentInput) Validate() error {
6311	invalidParams := request.ErrInvalidParams{Context: "DeleteDocumentInput"}
6312	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
6313		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
6314	}
6315	if s.DocumentId == nil {
6316		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
6317	}
6318	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
6319		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
6320	}
6321
6322	if invalidParams.Len() > 0 {
6323		return invalidParams
6324	}
6325	return nil
6326}
6327
6328// SetAuthenticationToken sets the AuthenticationToken field's value.
6329func (s *DeleteDocumentInput) SetAuthenticationToken(v string) *DeleteDocumentInput {
6330	s.AuthenticationToken = &v
6331	return s
6332}
6333
6334// SetDocumentId sets the DocumentId field's value.
6335func (s *DeleteDocumentInput) SetDocumentId(v string) *DeleteDocumentInput {
6336	s.DocumentId = &v
6337	return s
6338}
6339
6340type DeleteDocumentOutput struct {
6341	_ struct{} `type:"structure"`
6342}
6343
6344// String returns the string representation.
6345//
6346// API parameter values that are decorated as "sensitive" in the API will not
6347// be included in the string output. The member name will be present, but the
6348// value will be replaced with "sensitive".
6349func (s DeleteDocumentOutput) String() string {
6350	return awsutil.Prettify(s)
6351}
6352
6353// GoString returns the string representation.
6354//
6355// API parameter values that are decorated as "sensitive" in the API will not
6356// be included in the string output. The member name will be present, but the
6357// value will be replaced with "sensitive".
6358func (s DeleteDocumentOutput) GoString() string {
6359	return s.String()
6360}
6361
6362type DeleteFolderContentsInput struct {
6363	_ struct{} `type:"structure" nopayload:"true"`
6364
6365	// Amazon WorkDocs authentication token. Not required when using AWS administrator
6366	// credentials to access the API.
6367	//
6368	// AuthenticationToken is a sensitive parameter and its value will be
6369	// replaced with "sensitive" in string returned by DeleteFolderContentsInput's
6370	// String and GoString methods.
6371	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
6372
6373	// The ID of the folder.
6374	//
6375	// FolderId is a required field
6376	FolderId *string `location:"uri" locationName:"FolderId" min:"1" type:"string" required:"true"`
6377}
6378
6379// String returns the string representation.
6380//
6381// API parameter values that are decorated as "sensitive" in the API will not
6382// be included in the string output. The member name will be present, but the
6383// value will be replaced with "sensitive".
6384func (s DeleteFolderContentsInput) String() string {
6385	return awsutil.Prettify(s)
6386}
6387
6388// GoString returns the string representation.
6389//
6390// API parameter values that are decorated as "sensitive" in the API will not
6391// be included in the string output. The member name will be present, but the
6392// value will be replaced with "sensitive".
6393func (s DeleteFolderContentsInput) GoString() string {
6394	return s.String()
6395}
6396
6397// Validate inspects the fields of the type to determine if they are valid.
6398func (s *DeleteFolderContentsInput) Validate() error {
6399	invalidParams := request.ErrInvalidParams{Context: "DeleteFolderContentsInput"}
6400	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
6401		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
6402	}
6403	if s.FolderId == nil {
6404		invalidParams.Add(request.NewErrParamRequired("FolderId"))
6405	}
6406	if s.FolderId != nil && len(*s.FolderId) < 1 {
6407		invalidParams.Add(request.NewErrParamMinLen("FolderId", 1))
6408	}
6409
6410	if invalidParams.Len() > 0 {
6411		return invalidParams
6412	}
6413	return nil
6414}
6415
6416// SetAuthenticationToken sets the AuthenticationToken field's value.
6417func (s *DeleteFolderContentsInput) SetAuthenticationToken(v string) *DeleteFolderContentsInput {
6418	s.AuthenticationToken = &v
6419	return s
6420}
6421
6422// SetFolderId sets the FolderId field's value.
6423func (s *DeleteFolderContentsInput) SetFolderId(v string) *DeleteFolderContentsInput {
6424	s.FolderId = &v
6425	return s
6426}
6427
6428type DeleteFolderContentsOutput struct {
6429	_ struct{} `type:"structure"`
6430}
6431
6432// String returns the string representation.
6433//
6434// API parameter values that are decorated as "sensitive" in the API will not
6435// be included in the string output. The member name will be present, but the
6436// value will be replaced with "sensitive".
6437func (s DeleteFolderContentsOutput) String() string {
6438	return awsutil.Prettify(s)
6439}
6440
6441// GoString returns the string representation.
6442//
6443// API parameter values that are decorated as "sensitive" in the API will not
6444// be included in the string output. The member name will be present, but the
6445// value will be replaced with "sensitive".
6446func (s DeleteFolderContentsOutput) GoString() string {
6447	return s.String()
6448}
6449
6450type DeleteFolderInput struct {
6451	_ struct{} `type:"structure" nopayload:"true"`
6452
6453	// Amazon WorkDocs authentication token. Not required when using AWS administrator
6454	// credentials to access the API.
6455	//
6456	// AuthenticationToken is a sensitive parameter and its value will be
6457	// replaced with "sensitive" in string returned by DeleteFolderInput's
6458	// String and GoString methods.
6459	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
6460
6461	// The ID of the folder.
6462	//
6463	// FolderId is a required field
6464	FolderId *string `location:"uri" locationName:"FolderId" min:"1" type:"string" required:"true"`
6465}
6466
6467// String returns the string representation.
6468//
6469// API parameter values that are decorated as "sensitive" in the API will not
6470// be included in the string output. The member name will be present, but the
6471// value will be replaced with "sensitive".
6472func (s DeleteFolderInput) String() string {
6473	return awsutil.Prettify(s)
6474}
6475
6476// GoString returns the string representation.
6477//
6478// API parameter values that are decorated as "sensitive" in the API will not
6479// be included in the string output. The member name will be present, but the
6480// value will be replaced with "sensitive".
6481func (s DeleteFolderInput) GoString() string {
6482	return s.String()
6483}
6484
6485// Validate inspects the fields of the type to determine if they are valid.
6486func (s *DeleteFolderInput) Validate() error {
6487	invalidParams := request.ErrInvalidParams{Context: "DeleteFolderInput"}
6488	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
6489		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
6490	}
6491	if s.FolderId == nil {
6492		invalidParams.Add(request.NewErrParamRequired("FolderId"))
6493	}
6494	if s.FolderId != nil && len(*s.FolderId) < 1 {
6495		invalidParams.Add(request.NewErrParamMinLen("FolderId", 1))
6496	}
6497
6498	if invalidParams.Len() > 0 {
6499		return invalidParams
6500	}
6501	return nil
6502}
6503
6504// SetAuthenticationToken sets the AuthenticationToken field's value.
6505func (s *DeleteFolderInput) SetAuthenticationToken(v string) *DeleteFolderInput {
6506	s.AuthenticationToken = &v
6507	return s
6508}
6509
6510// SetFolderId sets the FolderId field's value.
6511func (s *DeleteFolderInput) SetFolderId(v string) *DeleteFolderInput {
6512	s.FolderId = &v
6513	return s
6514}
6515
6516type DeleteFolderOutput struct {
6517	_ struct{} `type:"structure"`
6518}
6519
6520// String returns the string representation.
6521//
6522// API parameter values that are decorated as "sensitive" in the API will not
6523// be included in the string output. The member name will be present, but the
6524// value will be replaced with "sensitive".
6525func (s DeleteFolderOutput) String() string {
6526	return awsutil.Prettify(s)
6527}
6528
6529// GoString returns the string representation.
6530//
6531// API parameter values that are decorated as "sensitive" in the API will not
6532// be included in the string output. The member name will be present, but the
6533// value will be replaced with "sensitive".
6534func (s DeleteFolderOutput) GoString() string {
6535	return s.String()
6536}
6537
6538type DeleteLabelsInput struct {
6539	_ struct{} `type:"structure" nopayload:"true"`
6540
6541	// Amazon WorkDocs authentication token. Not required when using AWS administrator
6542	// credentials to access the API.
6543	//
6544	// AuthenticationToken is a sensitive parameter and its value will be
6545	// replaced with "sensitive" in string returned by DeleteLabelsInput's
6546	// String and GoString methods.
6547	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
6548
6549	// Flag to request removal of all labels from the specified resource.
6550	DeleteAll *bool `location:"querystring" locationName:"deleteAll" type:"boolean"`
6551
6552	// List of labels to delete from the resource.
6553	Labels []*string `location:"querystring" locationName:"labels" type:"list"`
6554
6555	// The ID of the resource.
6556	//
6557	// ResourceId is a required field
6558	ResourceId *string `location:"uri" locationName:"ResourceId" min:"1" type:"string" required:"true"`
6559}
6560
6561// String returns the string representation.
6562//
6563// API parameter values that are decorated as "sensitive" in the API will not
6564// be included in the string output. The member name will be present, but the
6565// value will be replaced with "sensitive".
6566func (s DeleteLabelsInput) String() string {
6567	return awsutil.Prettify(s)
6568}
6569
6570// GoString returns the string representation.
6571//
6572// API parameter values that are decorated as "sensitive" in the API will not
6573// be included in the string output. The member name will be present, but the
6574// value will be replaced with "sensitive".
6575func (s DeleteLabelsInput) GoString() string {
6576	return s.String()
6577}
6578
6579// Validate inspects the fields of the type to determine if they are valid.
6580func (s *DeleteLabelsInput) Validate() error {
6581	invalidParams := request.ErrInvalidParams{Context: "DeleteLabelsInput"}
6582	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
6583		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
6584	}
6585	if s.ResourceId == nil {
6586		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
6587	}
6588	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
6589		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
6590	}
6591
6592	if invalidParams.Len() > 0 {
6593		return invalidParams
6594	}
6595	return nil
6596}
6597
6598// SetAuthenticationToken sets the AuthenticationToken field's value.
6599func (s *DeleteLabelsInput) SetAuthenticationToken(v string) *DeleteLabelsInput {
6600	s.AuthenticationToken = &v
6601	return s
6602}
6603
6604// SetDeleteAll sets the DeleteAll field's value.
6605func (s *DeleteLabelsInput) SetDeleteAll(v bool) *DeleteLabelsInput {
6606	s.DeleteAll = &v
6607	return s
6608}
6609
6610// SetLabels sets the Labels field's value.
6611func (s *DeleteLabelsInput) SetLabels(v []*string) *DeleteLabelsInput {
6612	s.Labels = v
6613	return s
6614}
6615
6616// SetResourceId sets the ResourceId field's value.
6617func (s *DeleteLabelsInput) SetResourceId(v string) *DeleteLabelsInput {
6618	s.ResourceId = &v
6619	return s
6620}
6621
6622type DeleteLabelsOutput struct {
6623	_ struct{} `type:"structure"`
6624}
6625
6626// String returns the string representation.
6627//
6628// API parameter values that are decorated as "sensitive" in the API will not
6629// be included in the string output. The member name will be present, but the
6630// value will be replaced with "sensitive".
6631func (s DeleteLabelsOutput) String() string {
6632	return awsutil.Prettify(s)
6633}
6634
6635// GoString returns the string representation.
6636//
6637// API parameter values that are decorated as "sensitive" in the API will not
6638// be included in the string output. The member name will be present, but the
6639// value will be replaced with "sensitive".
6640func (s DeleteLabelsOutput) GoString() string {
6641	return s.String()
6642}
6643
6644type DeleteNotificationSubscriptionInput struct {
6645	_ struct{} `type:"structure" nopayload:"true"`
6646
6647	// The ID of the organization.
6648	//
6649	// OrganizationId is a required field
6650	OrganizationId *string `location:"uri" locationName:"OrganizationId" min:"1" type:"string" required:"true"`
6651
6652	// The ID of the subscription.
6653	//
6654	// SubscriptionId is a required field
6655	SubscriptionId *string `location:"uri" locationName:"SubscriptionId" min:"1" type:"string" required:"true"`
6656}
6657
6658// String returns the string representation.
6659//
6660// API parameter values that are decorated as "sensitive" in the API will not
6661// be included in the string output. The member name will be present, but the
6662// value will be replaced with "sensitive".
6663func (s DeleteNotificationSubscriptionInput) String() string {
6664	return awsutil.Prettify(s)
6665}
6666
6667// GoString returns the string representation.
6668//
6669// API parameter values that are decorated as "sensitive" in the API will not
6670// be included in the string output. The member name will be present, but the
6671// value will be replaced with "sensitive".
6672func (s DeleteNotificationSubscriptionInput) GoString() string {
6673	return s.String()
6674}
6675
6676// Validate inspects the fields of the type to determine if they are valid.
6677func (s *DeleteNotificationSubscriptionInput) Validate() error {
6678	invalidParams := request.ErrInvalidParams{Context: "DeleteNotificationSubscriptionInput"}
6679	if s.OrganizationId == nil {
6680		invalidParams.Add(request.NewErrParamRequired("OrganizationId"))
6681	}
6682	if s.OrganizationId != nil && len(*s.OrganizationId) < 1 {
6683		invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 1))
6684	}
6685	if s.SubscriptionId == nil {
6686		invalidParams.Add(request.NewErrParamRequired("SubscriptionId"))
6687	}
6688	if s.SubscriptionId != nil && len(*s.SubscriptionId) < 1 {
6689		invalidParams.Add(request.NewErrParamMinLen("SubscriptionId", 1))
6690	}
6691
6692	if invalidParams.Len() > 0 {
6693		return invalidParams
6694	}
6695	return nil
6696}
6697
6698// SetOrganizationId sets the OrganizationId field's value.
6699func (s *DeleteNotificationSubscriptionInput) SetOrganizationId(v string) *DeleteNotificationSubscriptionInput {
6700	s.OrganizationId = &v
6701	return s
6702}
6703
6704// SetSubscriptionId sets the SubscriptionId field's value.
6705func (s *DeleteNotificationSubscriptionInput) SetSubscriptionId(v string) *DeleteNotificationSubscriptionInput {
6706	s.SubscriptionId = &v
6707	return s
6708}
6709
6710type DeleteNotificationSubscriptionOutput struct {
6711	_ struct{} `type:"structure"`
6712}
6713
6714// String returns the string representation.
6715//
6716// API parameter values that are decorated as "sensitive" in the API will not
6717// be included in the string output. The member name will be present, but the
6718// value will be replaced with "sensitive".
6719func (s DeleteNotificationSubscriptionOutput) String() string {
6720	return awsutil.Prettify(s)
6721}
6722
6723// GoString returns the string representation.
6724//
6725// API parameter values that are decorated as "sensitive" in the API will not
6726// be included in the string output. The member name will be present, but the
6727// value will be replaced with "sensitive".
6728func (s DeleteNotificationSubscriptionOutput) GoString() string {
6729	return s.String()
6730}
6731
6732type DeleteUserInput struct {
6733	_ struct{} `type:"structure" nopayload:"true"`
6734
6735	// Amazon WorkDocs authentication token. Do not set this field when using administrative
6736	// API actions, as in accessing the API using AWS credentials.
6737	//
6738	// AuthenticationToken is a sensitive parameter and its value will be
6739	// replaced with "sensitive" in string returned by DeleteUserInput's
6740	// String and GoString methods.
6741	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
6742
6743	// The ID of the user.
6744	//
6745	// UserId is a required field
6746	UserId *string `location:"uri" locationName:"UserId" min:"1" type:"string" required:"true"`
6747}
6748
6749// String returns the string representation.
6750//
6751// API parameter values that are decorated as "sensitive" in the API will not
6752// be included in the string output. The member name will be present, but the
6753// value will be replaced with "sensitive".
6754func (s DeleteUserInput) String() string {
6755	return awsutil.Prettify(s)
6756}
6757
6758// GoString returns the string representation.
6759//
6760// API parameter values that are decorated as "sensitive" in the API will not
6761// be included in the string output. The member name will be present, but the
6762// value will be replaced with "sensitive".
6763func (s DeleteUserInput) GoString() string {
6764	return s.String()
6765}
6766
6767// Validate inspects the fields of the type to determine if they are valid.
6768func (s *DeleteUserInput) Validate() error {
6769	invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"}
6770	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
6771		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
6772	}
6773	if s.UserId == nil {
6774		invalidParams.Add(request.NewErrParamRequired("UserId"))
6775	}
6776	if s.UserId != nil && len(*s.UserId) < 1 {
6777		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
6778	}
6779
6780	if invalidParams.Len() > 0 {
6781		return invalidParams
6782	}
6783	return nil
6784}
6785
6786// SetAuthenticationToken sets the AuthenticationToken field's value.
6787func (s *DeleteUserInput) SetAuthenticationToken(v string) *DeleteUserInput {
6788	s.AuthenticationToken = &v
6789	return s
6790}
6791
6792// SetUserId sets the UserId field's value.
6793func (s *DeleteUserInput) SetUserId(v string) *DeleteUserInput {
6794	s.UserId = &v
6795	return s
6796}
6797
6798type DeleteUserOutput struct {
6799	_ struct{} `type:"structure"`
6800}
6801
6802// String returns the string representation.
6803//
6804// API parameter values that are decorated as "sensitive" in the API will not
6805// be included in the string output. The member name will be present, but the
6806// value will be replaced with "sensitive".
6807func (s DeleteUserOutput) String() string {
6808	return awsutil.Prettify(s)
6809}
6810
6811// GoString returns the string representation.
6812//
6813// API parameter values that are decorated as "sensitive" in the API will not
6814// be included in the string output. The member name will be present, but the
6815// value will be replaced with "sensitive".
6816func (s DeleteUserOutput) GoString() string {
6817	return s.String()
6818}
6819
6820type DescribeActivitiesInput struct {
6821	_ struct{} `type:"structure" nopayload:"true"`
6822
6823	// Specifies which activity types to include in the response. If this field
6824	// is left empty, all activity types are returned.
6825	ActivityTypes *string `location:"querystring" locationName:"activityTypes" min:"1" type:"string"`
6826
6827	// Amazon WorkDocs authentication token. Not required when using AWS administrator
6828	// credentials to access the API.
6829	//
6830	// AuthenticationToken is a sensitive parameter and its value will be
6831	// replaced with "sensitive" in string returned by DescribeActivitiesInput's
6832	// String and GoString methods.
6833	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
6834
6835	// The timestamp that determines the end time of the activities. The response
6836	// includes the activities performed before the specified timestamp.
6837	EndTime *time.Time `location:"querystring" locationName:"endTime" type:"timestamp"`
6838
6839	// Includes indirect activities. An indirect activity results from a direct
6840	// activity performed on a parent resource. For example, sharing a parent folder
6841	// (the direct activity) shares all of the subfolders and documents within the
6842	// parent folder (the indirect activity).
6843	IncludeIndirectActivities *bool `location:"querystring" locationName:"includeIndirectActivities" type:"boolean"`
6844
6845	// The maximum number of items to return.
6846	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
6847
6848	// The marker for the next set of results.
6849	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
6850
6851	// The ID of the organization. This is a mandatory parameter when using administrative
6852	// API (SigV4) requests.
6853	OrganizationId *string `location:"querystring" locationName:"organizationId" min:"1" type:"string"`
6854
6855	// The document or folder ID for which to describe activity types.
6856	ResourceId *string `location:"querystring" locationName:"resourceId" min:"1" type:"string"`
6857
6858	// The timestamp that determines the starting time of the activities. The response
6859	// includes the activities performed after the specified timestamp.
6860	StartTime *time.Time `location:"querystring" locationName:"startTime" type:"timestamp"`
6861
6862	// The ID of the user who performed the action. The response includes activities
6863	// pertaining to this user. This is an optional parameter and is only applicable
6864	// for administrative API (SigV4) requests.
6865	UserId *string `location:"querystring" locationName:"userId" min:"1" type:"string"`
6866}
6867
6868// String returns the string representation.
6869//
6870// API parameter values that are decorated as "sensitive" in the API will not
6871// be included in the string output. The member name will be present, but the
6872// value will be replaced with "sensitive".
6873func (s DescribeActivitiesInput) String() string {
6874	return awsutil.Prettify(s)
6875}
6876
6877// GoString returns the string representation.
6878//
6879// API parameter values that are decorated as "sensitive" in the API will not
6880// be included in the string output. The member name will be present, but the
6881// value will be replaced with "sensitive".
6882func (s DescribeActivitiesInput) GoString() string {
6883	return s.String()
6884}
6885
6886// Validate inspects the fields of the type to determine if they are valid.
6887func (s *DescribeActivitiesInput) Validate() error {
6888	invalidParams := request.ErrInvalidParams{Context: "DescribeActivitiesInput"}
6889	if s.ActivityTypes != nil && len(*s.ActivityTypes) < 1 {
6890		invalidParams.Add(request.NewErrParamMinLen("ActivityTypes", 1))
6891	}
6892	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
6893		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
6894	}
6895	if s.Limit != nil && *s.Limit < 1 {
6896		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
6897	}
6898	if s.Marker != nil && len(*s.Marker) < 1 {
6899		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
6900	}
6901	if s.OrganizationId != nil && len(*s.OrganizationId) < 1 {
6902		invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 1))
6903	}
6904	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
6905		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
6906	}
6907	if s.UserId != nil && len(*s.UserId) < 1 {
6908		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
6909	}
6910
6911	if invalidParams.Len() > 0 {
6912		return invalidParams
6913	}
6914	return nil
6915}
6916
6917// SetActivityTypes sets the ActivityTypes field's value.
6918func (s *DescribeActivitiesInput) SetActivityTypes(v string) *DescribeActivitiesInput {
6919	s.ActivityTypes = &v
6920	return s
6921}
6922
6923// SetAuthenticationToken sets the AuthenticationToken field's value.
6924func (s *DescribeActivitiesInput) SetAuthenticationToken(v string) *DescribeActivitiesInput {
6925	s.AuthenticationToken = &v
6926	return s
6927}
6928
6929// SetEndTime sets the EndTime field's value.
6930func (s *DescribeActivitiesInput) SetEndTime(v time.Time) *DescribeActivitiesInput {
6931	s.EndTime = &v
6932	return s
6933}
6934
6935// SetIncludeIndirectActivities sets the IncludeIndirectActivities field's value.
6936func (s *DescribeActivitiesInput) SetIncludeIndirectActivities(v bool) *DescribeActivitiesInput {
6937	s.IncludeIndirectActivities = &v
6938	return s
6939}
6940
6941// SetLimit sets the Limit field's value.
6942func (s *DescribeActivitiesInput) SetLimit(v int64) *DescribeActivitiesInput {
6943	s.Limit = &v
6944	return s
6945}
6946
6947// SetMarker sets the Marker field's value.
6948func (s *DescribeActivitiesInput) SetMarker(v string) *DescribeActivitiesInput {
6949	s.Marker = &v
6950	return s
6951}
6952
6953// SetOrganizationId sets the OrganizationId field's value.
6954func (s *DescribeActivitiesInput) SetOrganizationId(v string) *DescribeActivitiesInput {
6955	s.OrganizationId = &v
6956	return s
6957}
6958
6959// SetResourceId sets the ResourceId field's value.
6960func (s *DescribeActivitiesInput) SetResourceId(v string) *DescribeActivitiesInput {
6961	s.ResourceId = &v
6962	return s
6963}
6964
6965// SetStartTime sets the StartTime field's value.
6966func (s *DescribeActivitiesInput) SetStartTime(v time.Time) *DescribeActivitiesInput {
6967	s.StartTime = &v
6968	return s
6969}
6970
6971// SetUserId sets the UserId field's value.
6972func (s *DescribeActivitiesInput) SetUserId(v string) *DescribeActivitiesInput {
6973	s.UserId = &v
6974	return s
6975}
6976
6977type DescribeActivitiesOutput struct {
6978	_ struct{} `type:"structure"`
6979
6980	// The marker for the next set of results.
6981	Marker *string `min:"1" type:"string"`
6982
6983	// The list of activities for the specified user and time period.
6984	UserActivities []*Activity `type:"list"`
6985}
6986
6987// String returns the string representation.
6988//
6989// API parameter values that are decorated as "sensitive" in the API will not
6990// be included in the string output. The member name will be present, but the
6991// value will be replaced with "sensitive".
6992func (s DescribeActivitiesOutput) String() string {
6993	return awsutil.Prettify(s)
6994}
6995
6996// GoString returns the string representation.
6997//
6998// API parameter values that are decorated as "sensitive" in the API will not
6999// be included in the string output. The member name will be present, but the
7000// value will be replaced with "sensitive".
7001func (s DescribeActivitiesOutput) GoString() string {
7002	return s.String()
7003}
7004
7005// SetMarker sets the Marker field's value.
7006func (s *DescribeActivitiesOutput) SetMarker(v string) *DescribeActivitiesOutput {
7007	s.Marker = &v
7008	return s
7009}
7010
7011// SetUserActivities sets the UserActivities field's value.
7012func (s *DescribeActivitiesOutput) SetUserActivities(v []*Activity) *DescribeActivitiesOutput {
7013	s.UserActivities = v
7014	return s
7015}
7016
7017type DescribeCommentsInput struct {
7018	_ struct{} `type:"structure" nopayload:"true"`
7019
7020	// Amazon WorkDocs authentication token. Not required when using AWS administrator
7021	// credentials to access the API.
7022	//
7023	// AuthenticationToken is a sensitive parameter and its value will be
7024	// replaced with "sensitive" in string returned by DescribeCommentsInput's
7025	// String and GoString methods.
7026	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
7027
7028	// The ID of the document.
7029	//
7030	// DocumentId is a required field
7031	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
7032
7033	// The maximum number of items to return.
7034	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
7035
7036	// The marker for the next set of results. This marker was received from a previous
7037	// call.
7038	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
7039
7040	// The ID of the document version.
7041	//
7042	// VersionId is a required field
7043	VersionId *string `location:"uri" locationName:"VersionId" min:"1" type:"string" required:"true"`
7044}
7045
7046// String returns the string representation.
7047//
7048// API parameter values that are decorated as "sensitive" in the API will not
7049// be included in the string output. The member name will be present, but the
7050// value will be replaced with "sensitive".
7051func (s DescribeCommentsInput) String() string {
7052	return awsutil.Prettify(s)
7053}
7054
7055// GoString returns the string representation.
7056//
7057// API parameter values that are decorated as "sensitive" in the API will not
7058// be included in the string output. The member name will be present, but the
7059// value will be replaced with "sensitive".
7060func (s DescribeCommentsInput) GoString() string {
7061	return s.String()
7062}
7063
7064// Validate inspects the fields of the type to determine if they are valid.
7065func (s *DescribeCommentsInput) Validate() error {
7066	invalidParams := request.ErrInvalidParams{Context: "DescribeCommentsInput"}
7067	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
7068		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
7069	}
7070	if s.DocumentId == nil {
7071		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
7072	}
7073	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
7074		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
7075	}
7076	if s.Limit != nil && *s.Limit < 1 {
7077		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
7078	}
7079	if s.Marker != nil && len(*s.Marker) < 1 {
7080		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
7081	}
7082	if s.VersionId == nil {
7083		invalidParams.Add(request.NewErrParamRequired("VersionId"))
7084	}
7085	if s.VersionId != nil && len(*s.VersionId) < 1 {
7086		invalidParams.Add(request.NewErrParamMinLen("VersionId", 1))
7087	}
7088
7089	if invalidParams.Len() > 0 {
7090		return invalidParams
7091	}
7092	return nil
7093}
7094
7095// SetAuthenticationToken sets the AuthenticationToken field's value.
7096func (s *DescribeCommentsInput) SetAuthenticationToken(v string) *DescribeCommentsInput {
7097	s.AuthenticationToken = &v
7098	return s
7099}
7100
7101// SetDocumentId sets the DocumentId field's value.
7102func (s *DescribeCommentsInput) SetDocumentId(v string) *DescribeCommentsInput {
7103	s.DocumentId = &v
7104	return s
7105}
7106
7107// SetLimit sets the Limit field's value.
7108func (s *DescribeCommentsInput) SetLimit(v int64) *DescribeCommentsInput {
7109	s.Limit = &v
7110	return s
7111}
7112
7113// SetMarker sets the Marker field's value.
7114func (s *DescribeCommentsInput) SetMarker(v string) *DescribeCommentsInput {
7115	s.Marker = &v
7116	return s
7117}
7118
7119// SetVersionId sets the VersionId field's value.
7120func (s *DescribeCommentsInput) SetVersionId(v string) *DescribeCommentsInput {
7121	s.VersionId = &v
7122	return s
7123}
7124
7125type DescribeCommentsOutput struct {
7126	_ struct{} `type:"structure"`
7127
7128	// The list of comments for the specified document version.
7129	Comments []*Comment `type:"list"`
7130
7131	// The marker for the next set of results. This marker was received from a previous
7132	// call.
7133	Marker *string `min:"1" type:"string"`
7134}
7135
7136// String returns the string representation.
7137//
7138// API parameter values that are decorated as "sensitive" in the API will not
7139// be included in the string output. The member name will be present, but the
7140// value will be replaced with "sensitive".
7141func (s DescribeCommentsOutput) String() string {
7142	return awsutil.Prettify(s)
7143}
7144
7145// GoString returns the string representation.
7146//
7147// API parameter values that are decorated as "sensitive" in the API will not
7148// be included in the string output. The member name will be present, but the
7149// value will be replaced with "sensitive".
7150func (s DescribeCommentsOutput) GoString() string {
7151	return s.String()
7152}
7153
7154// SetComments sets the Comments field's value.
7155func (s *DescribeCommentsOutput) SetComments(v []*Comment) *DescribeCommentsOutput {
7156	s.Comments = v
7157	return s
7158}
7159
7160// SetMarker sets the Marker field's value.
7161func (s *DescribeCommentsOutput) SetMarker(v string) *DescribeCommentsOutput {
7162	s.Marker = &v
7163	return s
7164}
7165
7166type DescribeDocumentVersionsInput struct {
7167	_ struct{} `type:"structure" nopayload:"true"`
7168
7169	// Amazon WorkDocs authentication token. Not required when using AWS administrator
7170	// credentials to access the API.
7171	//
7172	// AuthenticationToken is a sensitive parameter and its value will be
7173	// replaced with "sensitive" in string returned by DescribeDocumentVersionsInput's
7174	// String and GoString methods.
7175	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
7176
7177	// The ID of the document.
7178	//
7179	// DocumentId is a required field
7180	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
7181
7182	// Specify "SOURCE" to include initialized versions and a URL for the source
7183	// document.
7184	Fields *string `location:"querystring" locationName:"fields" min:"1" type:"string"`
7185
7186	// A comma-separated list of values. Specify "INITIALIZED" to include incomplete
7187	// versions.
7188	Include *string `location:"querystring" locationName:"include" min:"1" type:"string"`
7189
7190	// The maximum number of versions to return with this call.
7191	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
7192
7193	// The marker for the next set of results. (You received this marker from a
7194	// previous call.)
7195	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
7196}
7197
7198// String returns the string representation.
7199//
7200// API parameter values that are decorated as "sensitive" in the API will not
7201// be included in the string output. The member name will be present, but the
7202// value will be replaced with "sensitive".
7203func (s DescribeDocumentVersionsInput) String() string {
7204	return awsutil.Prettify(s)
7205}
7206
7207// GoString returns the string representation.
7208//
7209// API parameter values that are decorated as "sensitive" in the API will not
7210// be included in the string output. The member name will be present, but the
7211// value will be replaced with "sensitive".
7212func (s DescribeDocumentVersionsInput) GoString() string {
7213	return s.String()
7214}
7215
7216// Validate inspects the fields of the type to determine if they are valid.
7217func (s *DescribeDocumentVersionsInput) Validate() error {
7218	invalidParams := request.ErrInvalidParams{Context: "DescribeDocumentVersionsInput"}
7219	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
7220		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
7221	}
7222	if s.DocumentId == nil {
7223		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
7224	}
7225	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
7226		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
7227	}
7228	if s.Fields != nil && len(*s.Fields) < 1 {
7229		invalidParams.Add(request.NewErrParamMinLen("Fields", 1))
7230	}
7231	if s.Include != nil && len(*s.Include) < 1 {
7232		invalidParams.Add(request.NewErrParamMinLen("Include", 1))
7233	}
7234	if s.Limit != nil && *s.Limit < 1 {
7235		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
7236	}
7237	if s.Marker != nil && len(*s.Marker) < 1 {
7238		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
7239	}
7240
7241	if invalidParams.Len() > 0 {
7242		return invalidParams
7243	}
7244	return nil
7245}
7246
7247// SetAuthenticationToken sets the AuthenticationToken field's value.
7248func (s *DescribeDocumentVersionsInput) SetAuthenticationToken(v string) *DescribeDocumentVersionsInput {
7249	s.AuthenticationToken = &v
7250	return s
7251}
7252
7253// SetDocumentId sets the DocumentId field's value.
7254func (s *DescribeDocumentVersionsInput) SetDocumentId(v string) *DescribeDocumentVersionsInput {
7255	s.DocumentId = &v
7256	return s
7257}
7258
7259// SetFields sets the Fields field's value.
7260func (s *DescribeDocumentVersionsInput) SetFields(v string) *DescribeDocumentVersionsInput {
7261	s.Fields = &v
7262	return s
7263}
7264
7265// SetInclude sets the Include field's value.
7266func (s *DescribeDocumentVersionsInput) SetInclude(v string) *DescribeDocumentVersionsInput {
7267	s.Include = &v
7268	return s
7269}
7270
7271// SetLimit sets the Limit field's value.
7272func (s *DescribeDocumentVersionsInput) SetLimit(v int64) *DescribeDocumentVersionsInput {
7273	s.Limit = &v
7274	return s
7275}
7276
7277// SetMarker sets the Marker field's value.
7278func (s *DescribeDocumentVersionsInput) SetMarker(v string) *DescribeDocumentVersionsInput {
7279	s.Marker = &v
7280	return s
7281}
7282
7283type DescribeDocumentVersionsOutput struct {
7284	_ struct{} `type:"structure"`
7285
7286	// The document versions.
7287	DocumentVersions []*DocumentVersionMetadata `type:"list"`
7288
7289	// The marker to use when requesting the next set of results. If there are no
7290	// additional results, the string is empty.
7291	Marker *string `min:"1" type:"string"`
7292}
7293
7294// String returns the string representation.
7295//
7296// API parameter values that are decorated as "sensitive" in the API will not
7297// be included in the string output. The member name will be present, but the
7298// value will be replaced with "sensitive".
7299func (s DescribeDocumentVersionsOutput) String() string {
7300	return awsutil.Prettify(s)
7301}
7302
7303// GoString returns the string representation.
7304//
7305// API parameter values that are decorated as "sensitive" in the API will not
7306// be included in the string output. The member name will be present, but the
7307// value will be replaced with "sensitive".
7308func (s DescribeDocumentVersionsOutput) GoString() string {
7309	return s.String()
7310}
7311
7312// SetDocumentVersions sets the DocumentVersions field's value.
7313func (s *DescribeDocumentVersionsOutput) SetDocumentVersions(v []*DocumentVersionMetadata) *DescribeDocumentVersionsOutput {
7314	s.DocumentVersions = v
7315	return s
7316}
7317
7318// SetMarker sets the Marker field's value.
7319func (s *DescribeDocumentVersionsOutput) SetMarker(v string) *DescribeDocumentVersionsOutput {
7320	s.Marker = &v
7321	return s
7322}
7323
7324type DescribeFolderContentsInput struct {
7325	_ struct{} `type:"structure" nopayload:"true"`
7326
7327	// Amazon WorkDocs authentication token. Not required when using AWS administrator
7328	// credentials to access the API.
7329	//
7330	// AuthenticationToken is a sensitive parameter and its value will be
7331	// replaced with "sensitive" in string returned by DescribeFolderContentsInput's
7332	// String and GoString methods.
7333	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
7334
7335	// The ID of the folder.
7336	//
7337	// FolderId is a required field
7338	FolderId *string `location:"uri" locationName:"FolderId" min:"1" type:"string" required:"true"`
7339
7340	// The contents to include. Specify "INITIALIZED" to include initialized documents.
7341	Include *string `location:"querystring" locationName:"include" min:"1" type:"string"`
7342
7343	// The maximum number of items to return with this call.
7344	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
7345
7346	// The marker for the next set of results. This marker was received from a previous
7347	// call.
7348	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
7349
7350	// The order for the contents of the folder.
7351	Order *string `location:"querystring" locationName:"order" type:"string" enum:"OrderType"`
7352
7353	// The sorting criteria.
7354	Sort *string `location:"querystring" locationName:"sort" type:"string" enum:"ResourceSortType"`
7355
7356	// The type of items.
7357	Type *string `location:"querystring" locationName:"type" type:"string" enum:"FolderContentType"`
7358}
7359
7360// String returns the string representation.
7361//
7362// API parameter values that are decorated as "sensitive" in the API will not
7363// be included in the string output. The member name will be present, but the
7364// value will be replaced with "sensitive".
7365func (s DescribeFolderContentsInput) String() string {
7366	return awsutil.Prettify(s)
7367}
7368
7369// GoString returns the string representation.
7370//
7371// API parameter values that are decorated as "sensitive" in the API will not
7372// be included in the string output. The member name will be present, but the
7373// value will be replaced with "sensitive".
7374func (s DescribeFolderContentsInput) GoString() string {
7375	return s.String()
7376}
7377
7378// Validate inspects the fields of the type to determine if they are valid.
7379func (s *DescribeFolderContentsInput) Validate() error {
7380	invalidParams := request.ErrInvalidParams{Context: "DescribeFolderContentsInput"}
7381	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
7382		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
7383	}
7384	if s.FolderId == nil {
7385		invalidParams.Add(request.NewErrParamRequired("FolderId"))
7386	}
7387	if s.FolderId != nil && len(*s.FolderId) < 1 {
7388		invalidParams.Add(request.NewErrParamMinLen("FolderId", 1))
7389	}
7390	if s.Include != nil && len(*s.Include) < 1 {
7391		invalidParams.Add(request.NewErrParamMinLen("Include", 1))
7392	}
7393	if s.Limit != nil && *s.Limit < 1 {
7394		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
7395	}
7396	if s.Marker != nil && len(*s.Marker) < 1 {
7397		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
7398	}
7399
7400	if invalidParams.Len() > 0 {
7401		return invalidParams
7402	}
7403	return nil
7404}
7405
7406// SetAuthenticationToken sets the AuthenticationToken field's value.
7407func (s *DescribeFolderContentsInput) SetAuthenticationToken(v string) *DescribeFolderContentsInput {
7408	s.AuthenticationToken = &v
7409	return s
7410}
7411
7412// SetFolderId sets the FolderId field's value.
7413func (s *DescribeFolderContentsInput) SetFolderId(v string) *DescribeFolderContentsInput {
7414	s.FolderId = &v
7415	return s
7416}
7417
7418// SetInclude sets the Include field's value.
7419func (s *DescribeFolderContentsInput) SetInclude(v string) *DescribeFolderContentsInput {
7420	s.Include = &v
7421	return s
7422}
7423
7424// SetLimit sets the Limit field's value.
7425func (s *DescribeFolderContentsInput) SetLimit(v int64) *DescribeFolderContentsInput {
7426	s.Limit = &v
7427	return s
7428}
7429
7430// SetMarker sets the Marker field's value.
7431func (s *DescribeFolderContentsInput) SetMarker(v string) *DescribeFolderContentsInput {
7432	s.Marker = &v
7433	return s
7434}
7435
7436// SetOrder sets the Order field's value.
7437func (s *DescribeFolderContentsInput) SetOrder(v string) *DescribeFolderContentsInput {
7438	s.Order = &v
7439	return s
7440}
7441
7442// SetSort sets the Sort field's value.
7443func (s *DescribeFolderContentsInput) SetSort(v string) *DescribeFolderContentsInput {
7444	s.Sort = &v
7445	return s
7446}
7447
7448// SetType sets the Type field's value.
7449func (s *DescribeFolderContentsInput) SetType(v string) *DescribeFolderContentsInput {
7450	s.Type = &v
7451	return s
7452}
7453
7454type DescribeFolderContentsOutput struct {
7455	_ struct{} `type:"structure"`
7456
7457	// The documents in the specified folder.
7458	Documents []*DocumentMetadata `type:"list"`
7459
7460	// The subfolders in the specified folder.
7461	Folders []*FolderMetadata `type:"list"`
7462
7463	// The marker to use when requesting the next set of results. If there are no
7464	// additional results, the string is empty.
7465	Marker *string `min:"1" type:"string"`
7466}
7467
7468// String returns the string representation.
7469//
7470// API parameter values that are decorated as "sensitive" in the API will not
7471// be included in the string output. The member name will be present, but the
7472// value will be replaced with "sensitive".
7473func (s DescribeFolderContentsOutput) String() string {
7474	return awsutil.Prettify(s)
7475}
7476
7477// GoString returns the string representation.
7478//
7479// API parameter values that are decorated as "sensitive" in the API will not
7480// be included in the string output. The member name will be present, but the
7481// value will be replaced with "sensitive".
7482func (s DescribeFolderContentsOutput) GoString() string {
7483	return s.String()
7484}
7485
7486// SetDocuments sets the Documents field's value.
7487func (s *DescribeFolderContentsOutput) SetDocuments(v []*DocumentMetadata) *DescribeFolderContentsOutput {
7488	s.Documents = v
7489	return s
7490}
7491
7492// SetFolders sets the Folders field's value.
7493func (s *DescribeFolderContentsOutput) SetFolders(v []*FolderMetadata) *DescribeFolderContentsOutput {
7494	s.Folders = v
7495	return s
7496}
7497
7498// SetMarker sets the Marker field's value.
7499func (s *DescribeFolderContentsOutput) SetMarker(v string) *DescribeFolderContentsOutput {
7500	s.Marker = &v
7501	return s
7502}
7503
7504type DescribeGroupsInput struct {
7505	_ struct{} `type:"structure" nopayload:"true"`
7506
7507	// Amazon WorkDocs authentication token. Not required when using AWS administrator
7508	// credentials to access the API.
7509	//
7510	// AuthenticationToken is a sensitive parameter and its value will be
7511	// replaced with "sensitive" in string returned by DescribeGroupsInput's
7512	// String and GoString methods.
7513	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
7514
7515	// The maximum number of items to return with this call.
7516	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
7517
7518	// The marker for the next set of results. (You received this marker from a
7519	// previous call.)
7520	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
7521
7522	// The ID of the organization.
7523	OrganizationId *string `location:"querystring" locationName:"organizationId" min:"1" type:"string"`
7524
7525	// A query to describe groups by group name.
7526	//
7527	// SearchQuery is a sensitive parameter and its value will be
7528	// replaced with "sensitive" in string returned by DescribeGroupsInput's
7529	// String and GoString methods.
7530	//
7531	// SearchQuery is a required field
7532	SearchQuery *string `location:"querystring" locationName:"searchQuery" min:"1" type:"string" required:"true" sensitive:"true"`
7533}
7534
7535// String returns the string representation.
7536//
7537// API parameter values that are decorated as "sensitive" in the API will not
7538// be included in the string output. The member name will be present, but the
7539// value will be replaced with "sensitive".
7540func (s DescribeGroupsInput) String() string {
7541	return awsutil.Prettify(s)
7542}
7543
7544// GoString returns the string representation.
7545//
7546// API parameter values that are decorated as "sensitive" in the API will not
7547// be included in the string output. The member name will be present, but the
7548// value will be replaced with "sensitive".
7549func (s DescribeGroupsInput) GoString() string {
7550	return s.String()
7551}
7552
7553// Validate inspects the fields of the type to determine if they are valid.
7554func (s *DescribeGroupsInput) Validate() error {
7555	invalidParams := request.ErrInvalidParams{Context: "DescribeGroupsInput"}
7556	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
7557		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
7558	}
7559	if s.Limit != nil && *s.Limit < 1 {
7560		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
7561	}
7562	if s.Marker != nil && len(*s.Marker) < 1 {
7563		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
7564	}
7565	if s.OrganizationId != nil && len(*s.OrganizationId) < 1 {
7566		invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 1))
7567	}
7568	if s.SearchQuery == nil {
7569		invalidParams.Add(request.NewErrParamRequired("SearchQuery"))
7570	}
7571	if s.SearchQuery != nil && len(*s.SearchQuery) < 1 {
7572		invalidParams.Add(request.NewErrParamMinLen("SearchQuery", 1))
7573	}
7574
7575	if invalidParams.Len() > 0 {
7576		return invalidParams
7577	}
7578	return nil
7579}
7580
7581// SetAuthenticationToken sets the AuthenticationToken field's value.
7582func (s *DescribeGroupsInput) SetAuthenticationToken(v string) *DescribeGroupsInput {
7583	s.AuthenticationToken = &v
7584	return s
7585}
7586
7587// SetLimit sets the Limit field's value.
7588func (s *DescribeGroupsInput) SetLimit(v int64) *DescribeGroupsInput {
7589	s.Limit = &v
7590	return s
7591}
7592
7593// SetMarker sets the Marker field's value.
7594func (s *DescribeGroupsInput) SetMarker(v string) *DescribeGroupsInput {
7595	s.Marker = &v
7596	return s
7597}
7598
7599// SetOrganizationId sets the OrganizationId field's value.
7600func (s *DescribeGroupsInput) SetOrganizationId(v string) *DescribeGroupsInput {
7601	s.OrganizationId = &v
7602	return s
7603}
7604
7605// SetSearchQuery sets the SearchQuery field's value.
7606func (s *DescribeGroupsInput) SetSearchQuery(v string) *DescribeGroupsInput {
7607	s.SearchQuery = &v
7608	return s
7609}
7610
7611type DescribeGroupsOutput struct {
7612	_ struct{} `type:"structure"`
7613
7614	// The list of groups.
7615	Groups []*GroupMetadata `type:"list"`
7616
7617	// The marker to use when requesting the next set of results. If there are no
7618	// additional results, the string is empty.
7619	Marker *string `min:"1" type:"string"`
7620}
7621
7622// String returns the string representation.
7623//
7624// API parameter values that are decorated as "sensitive" in the API will not
7625// be included in the string output. The member name will be present, but the
7626// value will be replaced with "sensitive".
7627func (s DescribeGroupsOutput) String() string {
7628	return awsutil.Prettify(s)
7629}
7630
7631// GoString returns the string representation.
7632//
7633// API parameter values that are decorated as "sensitive" in the API will not
7634// be included in the string output. The member name will be present, but the
7635// value will be replaced with "sensitive".
7636func (s DescribeGroupsOutput) GoString() string {
7637	return s.String()
7638}
7639
7640// SetGroups sets the Groups field's value.
7641func (s *DescribeGroupsOutput) SetGroups(v []*GroupMetadata) *DescribeGroupsOutput {
7642	s.Groups = v
7643	return s
7644}
7645
7646// SetMarker sets the Marker field's value.
7647func (s *DescribeGroupsOutput) SetMarker(v string) *DescribeGroupsOutput {
7648	s.Marker = &v
7649	return s
7650}
7651
7652type DescribeNotificationSubscriptionsInput struct {
7653	_ struct{} `type:"structure" nopayload:"true"`
7654
7655	// The maximum number of items to return with this call.
7656	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
7657
7658	// The marker for the next set of results. (You received this marker from a
7659	// previous call.)
7660	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
7661
7662	// The ID of the organization.
7663	//
7664	// OrganizationId is a required field
7665	OrganizationId *string `location:"uri" locationName:"OrganizationId" min:"1" type:"string" required:"true"`
7666}
7667
7668// String returns the string representation.
7669//
7670// API parameter values that are decorated as "sensitive" in the API will not
7671// be included in the string output. The member name will be present, but the
7672// value will be replaced with "sensitive".
7673func (s DescribeNotificationSubscriptionsInput) String() string {
7674	return awsutil.Prettify(s)
7675}
7676
7677// GoString returns the string representation.
7678//
7679// API parameter values that are decorated as "sensitive" in the API will not
7680// be included in the string output. The member name will be present, but the
7681// value will be replaced with "sensitive".
7682func (s DescribeNotificationSubscriptionsInput) GoString() string {
7683	return s.String()
7684}
7685
7686// Validate inspects the fields of the type to determine if they are valid.
7687func (s *DescribeNotificationSubscriptionsInput) Validate() error {
7688	invalidParams := request.ErrInvalidParams{Context: "DescribeNotificationSubscriptionsInput"}
7689	if s.Limit != nil && *s.Limit < 1 {
7690		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
7691	}
7692	if s.Marker != nil && len(*s.Marker) < 1 {
7693		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
7694	}
7695	if s.OrganizationId == nil {
7696		invalidParams.Add(request.NewErrParamRequired("OrganizationId"))
7697	}
7698	if s.OrganizationId != nil && len(*s.OrganizationId) < 1 {
7699		invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 1))
7700	}
7701
7702	if invalidParams.Len() > 0 {
7703		return invalidParams
7704	}
7705	return nil
7706}
7707
7708// SetLimit sets the Limit field's value.
7709func (s *DescribeNotificationSubscriptionsInput) SetLimit(v int64) *DescribeNotificationSubscriptionsInput {
7710	s.Limit = &v
7711	return s
7712}
7713
7714// SetMarker sets the Marker field's value.
7715func (s *DescribeNotificationSubscriptionsInput) SetMarker(v string) *DescribeNotificationSubscriptionsInput {
7716	s.Marker = &v
7717	return s
7718}
7719
7720// SetOrganizationId sets the OrganizationId field's value.
7721func (s *DescribeNotificationSubscriptionsInput) SetOrganizationId(v string) *DescribeNotificationSubscriptionsInput {
7722	s.OrganizationId = &v
7723	return s
7724}
7725
7726type DescribeNotificationSubscriptionsOutput struct {
7727	_ struct{} `type:"structure"`
7728
7729	// The marker to use when requesting the next set of results. If there are no
7730	// additional results, the string is empty.
7731	Marker *string `min:"1" type:"string"`
7732
7733	// The subscriptions.
7734	Subscriptions []*Subscription `type:"list"`
7735}
7736
7737// String returns the string representation.
7738//
7739// API parameter values that are decorated as "sensitive" in the API will not
7740// be included in the string output. The member name will be present, but the
7741// value will be replaced with "sensitive".
7742func (s DescribeNotificationSubscriptionsOutput) String() string {
7743	return awsutil.Prettify(s)
7744}
7745
7746// GoString returns the string representation.
7747//
7748// API parameter values that are decorated as "sensitive" in the API will not
7749// be included in the string output. The member name will be present, but the
7750// value will be replaced with "sensitive".
7751func (s DescribeNotificationSubscriptionsOutput) GoString() string {
7752	return s.String()
7753}
7754
7755// SetMarker sets the Marker field's value.
7756func (s *DescribeNotificationSubscriptionsOutput) SetMarker(v string) *DescribeNotificationSubscriptionsOutput {
7757	s.Marker = &v
7758	return s
7759}
7760
7761// SetSubscriptions sets the Subscriptions field's value.
7762func (s *DescribeNotificationSubscriptionsOutput) SetSubscriptions(v []*Subscription) *DescribeNotificationSubscriptionsOutput {
7763	s.Subscriptions = v
7764	return s
7765}
7766
7767type DescribeResourcePermissionsInput struct {
7768	_ struct{} `type:"structure" nopayload:"true"`
7769
7770	// Amazon WorkDocs authentication token. Not required when using AWS administrator
7771	// credentials to access the API.
7772	//
7773	// AuthenticationToken is a sensitive parameter and its value will be
7774	// replaced with "sensitive" in string returned by DescribeResourcePermissionsInput's
7775	// String and GoString methods.
7776	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
7777
7778	// The maximum number of items to return with this call.
7779	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
7780
7781	// The marker for the next set of results. (You received this marker from a
7782	// previous call)
7783	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
7784
7785	// The ID of the principal to filter permissions by.
7786	PrincipalId *string `location:"querystring" locationName:"principalId" min:"1" type:"string"`
7787
7788	// The ID of the resource.
7789	//
7790	// ResourceId is a required field
7791	ResourceId *string `location:"uri" locationName:"ResourceId" min:"1" type:"string" required:"true"`
7792}
7793
7794// String returns the string representation.
7795//
7796// API parameter values that are decorated as "sensitive" in the API will not
7797// be included in the string output. The member name will be present, but the
7798// value will be replaced with "sensitive".
7799func (s DescribeResourcePermissionsInput) String() string {
7800	return awsutil.Prettify(s)
7801}
7802
7803// GoString returns the string representation.
7804//
7805// API parameter values that are decorated as "sensitive" in the API will not
7806// be included in the string output. The member name will be present, but the
7807// value will be replaced with "sensitive".
7808func (s DescribeResourcePermissionsInput) GoString() string {
7809	return s.String()
7810}
7811
7812// Validate inspects the fields of the type to determine if they are valid.
7813func (s *DescribeResourcePermissionsInput) Validate() error {
7814	invalidParams := request.ErrInvalidParams{Context: "DescribeResourcePermissionsInput"}
7815	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
7816		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
7817	}
7818	if s.Limit != nil && *s.Limit < 1 {
7819		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
7820	}
7821	if s.Marker != nil && len(*s.Marker) < 1 {
7822		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
7823	}
7824	if s.PrincipalId != nil && len(*s.PrincipalId) < 1 {
7825		invalidParams.Add(request.NewErrParamMinLen("PrincipalId", 1))
7826	}
7827	if s.ResourceId == nil {
7828		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
7829	}
7830	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
7831		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
7832	}
7833
7834	if invalidParams.Len() > 0 {
7835		return invalidParams
7836	}
7837	return nil
7838}
7839
7840// SetAuthenticationToken sets the AuthenticationToken field's value.
7841func (s *DescribeResourcePermissionsInput) SetAuthenticationToken(v string) *DescribeResourcePermissionsInput {
7842	s.AuthenticationToken = &v
7843	return s
7844}
7845
7846// SetLimit sets the Limit field's value.
7847func (s *DescribeResourcePermissionsInput) SetLimit(v int64) *DescribeResourcePermissionsInput {
7848	s.Limit = &v
7849	return s
7850}
7851
7852// SetMarker sets the Marker field's value.
7853func (s *DescribeResourcePermissionsInput) SetMarker(v string) *DescribeResourcePermissionsInput {
7854	s.Marker = &v
7855	return s
7856}
7857
7858// SetPrincipalId sets the PrincipalId field's value.
7859func (s *DescribeResourcePermissionsInput) SetPrincipalId(v string) *DescribeResourcePermissionsInput {
7860	s.PrincipalId = &v
7861	return s
7862}
7863
7864// SetResourceId sets the ResourceId field's value.
7865func (s *DescribeResourcePermissionsInput) SetResourceId(v string) *DescribeResourcePermissionsInput {
7866	s.ResourceId = &v
7867	return s
7868}
7869
7870type DescribeResourcePermissionsOutput struct {
7871	_ struct{} `type:"structure"`
7872
7873	// The marker to use when requesting the next set of results. If there are no
7874	// additional results, the string is empty.
7875	Marker *string `min:"1" type:"string"`
7876
7877	// The principals.
7878	Principals []*Principal `type:"list"`
7879}
7880
7881// String returns the string representation.
7882//
7883// API parameter values that are decorated as "sensitive" in the API will not
7884// be included in the string output. The member name will be present, but the
7885// value will be replaced with "sensitive".
7886func (s DescribeResourcePermissionsOutput) String() string {
7887	return awsutil.Prettify(s)
7888}
7889
7890// GoString returns the string representation.
7891//
7892// API parameter values that are decorated as "sensitive" in the API will not
7893// be included in the string output. The member name will be present, but the
7894// value will be replaced with "sensitive".
7895func (s DescribeResourcePermissionsOutput) GoString() string {
7896	return s.String()
7897}
7898
7899// SetMarker sets the Marker field's value.
7900func (s *DescribeResourcePermissionsOutput) SetMarker(v string) *DescribeResourcePermissionsOutput {
7901	s.Marker = &v
7902	return s
7903}
7904
7905// SetPrincipals sets the Principals field's value.
7906func (s *DescribeResourcePermissionsOutput) SetPrincipals(v []*Principal) *DescribeResourcePermissionsOutput {
7907	s.Principals = v
7908	return s
7909}
7910
7911type DescribeRootFoldersInput struct {
7912	_ struct{} `type:"structure" nopayload:"true"`
7913
7914	// Amazon WorkDocs authentication token.
7915	//
7916	// AuthenticationToken is a sensitive parameter and its value will be
7917	// replaced with "sensitive" in string returned by DescribeRootFoldersInput's
7918	// String and GoString methods.
7919	//
7920	// AuthenticationToken is a required field
7921	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" required:"true" sensitive:"true"`
7922
7923	// The maximum number of items to return.
7924	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
7925
7926	// The marker for the next set of results. (You received this marker from a
7927	// previous call.)
7928	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
7929}
7930
7931// String returns the string representation.
7932//
7933// API parameter values that are decorated as "sensitive" in the API will not
7934// be included in the string output. The member name will be present, but the
7935// value will be replaced with "sensitive".
7936func (s DescribeRootFoldersInput) String() string {
7937	return awsutil.Prettify(s)
7938}
7939
7940// GoString returns the string representation.
7941//
7942// API parameter values that are decorated as "sensitive" in the API will not
7943// be included in the string output. The member name will be present, but the
7944// value will be replaced with "sensitive".
7945func (s DescribeRootFoldersInput) GoString() string {
7946	return s.String()
7947}
7948
7949// Validate inspects the fields of the type to determine if they are valid.
7950func (s *DescribeRootFoldersInput) Validate() error {
7951	invalidParams := request.ErrInvalidParams{Context: "DescribeRootFoldersInput"}
7952	if s.AuthenticationToken == nil {
7953		invalidParams.Add(request.NewErrParamRequired("AuthenticationToken"))
7954	}
7955	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
7956		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
7957	}
7958	if s.Limit != nil && *s.Limit < 1 {
7959		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
7960	}
7961	if s.Marker != nil && len(*s.Marker) < 1 {
7962		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
7963	}
7964
7965	if invalidParams.Len() > 0 {
7966		return invalidParams
7967	}
7968	return nil
7969}
7970
7971// SetAuthenticationToken sets the AuthenticationToken field's value.
7972func (s *DescribeRootFoldersInput) SetAuthenticationToken(v string) *DescribeRootFoldersInput {
7973	s.AuthenticationToken = &v
7974	return s
7975}
7976
7977// SetLimit sets the Limit field's value.
7978func (s *DescribeRootFoldersInput) SetLimit(v int64) *DescribeRootFoldersInput {
7979	s.Limit = &v
7980	return s
7981}
7982
7983// SetMarker sets the Marker field's value.
7984func (s *DescribeRootFoldersInput) SetMarker(v string) *DescribeRootFoldersInput {
7985	s.Marker = &v
7986	return s
7987}
7988
7989type DescribeRootFoldersOutput struct {
7990	_ struct{} `type:"structure"`
7991
7992	// The user's special folders.
7993	Folders []*FolderMetadata `type:"list"`
7994
7995	// The marker for the next set of results.
7996	Marker *string `min:"1" type:"string"`
7997}
7998
7999// String returns the string representation.
8000//
8001// API parameter values that are decorated as "sensitive" in the API will not
8002// be included in the string output. The member name will be present, but the
8003// value will be replaced with "sensitive".
8004func (s DescribeRootFoldersOutput) String() string {
8005	return awsutil.Prettify(s)
8006}
8007
8008// GoString returns the string representation.
8009//
8010// API parameter values that are decorated as "sensitive" in the API will not
8011// be included in the string output. The member name will be present, but the
8012// value will be replaced with "sensitive".
8013func (s DescribeRootFoldersOutput) GoString() string {
8014	return s.String()
8015}
8016
8017// SetFolders sets the Folders field's value.
8018func (s *DescribeRootFoldersOutput) SetFolders(v []*FolderMetadata) *DescribeRootFoldersOutput {
8019	s.Folders = v
8020	return s
8021}
8022
8023// SetMarker sets the Marker field's value.
8024func (s *DescribeRootFoldersOutput) SetMarker(v string) *DescribeRootFoldersOutput {
8025	s.Marker = &v
8026	return s
8027}
8028
8029type DescribeUsersInput struct {
8030	_ struct{} `type:"structure" nopayload:"true"`
8031
8032	// Amazon WorkDocs authentication token. Not required when using AWS administrator
8033	// credentials to access the API.
8034	//
8035	// AuthenticationToken is a sensitive parameter and its value will be
8036	// replaced with "sensitive" in string returned by DescribeUsersInput's
8037	// String and GoString methods.
8038	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
8039
8040	// A comma-separated list of values. Specify "STORAGE_METADATA" to include the
8041	// user storage quota and utilization information.
8042	Fields *string `location:"querystring" locationName:"fields" min:"1" type:"string"`
8043
8044	// The state of the users. Specify "ALL" to include inactive users.
8045	Include *string `location:"querystring" locationName:"include" type:"string" enum:"UserFilterType"`
8046
8047	// The maximum number of items to return.
8048	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
8049
8050	// The marker for the next set of results. (You received this marker from a
8051	// previous call.)
8052	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
8053
8054	// The order for the results.
8055	Order *string `location:"querystring" locationName:"order" type:"string" enum:"OrderType"`
8056
8057	// The ID of the organization.
8058	OrganizationId *string `location:"querystring" locationName:"organizationId" min:"1" type:"string"`
8059
8060	// A query to filter users by user name.
8061	//
8062	// Query is a sensitive parameter and its value will be
8063	// replaced with "sensitive" in string returned by DescribeUsersInput's
8064	// String and GoString methods.
8065	Query *string `location:"querystring" locationName:"query" min:"1" type:"string" sensitive:"true"`
8066
8067	// The sorting criteria.
8068	Sort *string `location:"querystring" locationName:"sort" type:"string" enum:"UserSortType"`
8069
8070	// The IDs of the users.
8071	UserIds *string `location:"querystring" locationName:"userIds" min:"1" type:"string"`
8072}
8073
8074// String returns the string representation.
8075//
8076// API parameter values that are decorated as "sensitive" in the API will not
8077// be included in the string output. The member name will be present, but the
8078// value will be replaced with "sensitive".
8079func (s DescribeUsersInput) String() string {
8080	return awsutil.Prettify(s)
8081}
8082
8083// GoString returns the string representation.
8084//
8085// API parameter values that are decorated as "sensitive" in the API will not
8086// be included in the string output. The member name will be present, but the
8087// value will be replaced with "sensitive".
8088func (s DescribeUsersInput) GoString() string {
8089	return s.String()
8090}
8091
8092// Validate inspects the fields of the type to determine if they are valid.
8093func (s *DescribeUsersInput) Validate() error {
8094	invalidParams := request.ErrInvalidParams{Context: "DescribeUsersInput"}
8095	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
8096		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
8097	}
8098	if s.Fields != nil && len(*s.Fields) < 1 {
8099		invalidParams.Add(request.NewErrParamMinLen("Fields", 1))
8100	}
8101	if s.Limit != nil && *s.Limit < 1 {
8102		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
8103	}
8104	if s.Marker != nil && len(*s.Marker) < 1 {
8105		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
8106	}
8107	if s.OrganizationId != nil && len(*s.OrganizationId) < 1 {
8108		invalidParams.Add(request.NewErrParamMinLen("OrganizationId", 1))
8109	}
8110	if s.Query != nil && len(*s.Query) < 1 {
8111		invalidParams.Add(request.NewErrParamMinLen("Query", 1))
8112	}
8113	if s.UserIds != nil && len(*s.UserIds) < 1 {
8114		invalidParams.Add(request.NewErrParamMinLen("UserIds", 1))
8115	}
8116
8117	if invalidParams.Len() > 0 {
8118		return invalidParams
8119	}
8120	return nil
8121}
8122
8123// SetAuthenticationToken sets the AuthenticationToken field's value.
8124func (s *DescribeUsersInput) SetAuthenticationToken(v string) *DescribeUsersInput {
8125	s.AuthenticationToken = &v
8126	return s
8127}
8128
8129// SetFields sets the Fields field's value.
8130func (s *DescribeUsersInput) SetFields(v string) *DescribeUsersInput {
8131	s.Fields = &v
8132	return s
8133}
8134
8135// SetInclude sets the Include field's value.
8136func (s *DescribeUsersInput) SetInclude(v string) *DescribeUsersInput {
8137	s.Include = &v
8138	return s
8139}
8140
8141// SetLimit sets the Limit field's value.
8142func (s *DescribeUsersInput) SetLimit(v int64) *DescribeUsersInput {
8143	s.Limit = &v
8144	return s
8145}
8146
8147// SetMarker sets the Marker field's value.
8148func (s *DescribeUsersInput) SetMarker(v string) *DescribeUsersInput {
8149	s.Marker = &v
8150	return s
8151}
8152
8153// SetOrder sets the Order field's value.
8154func (s *DescribeUsersInput) SetOrder(v string) *DescribeUsersInput {
8155	s.Order = &v
8156	return s
8157}
8158
8159// SetOrganizationId sets the OrganizationId field's value.
8160func (s *DescribeUsersInput) SetOrganizationId(v string) *DescribeUsersInput {
8161	s.OrganizationId = &v
8162	return s
8163}
8164
8165// SetQuery sets the Query field's value.
8166func (s *DescribeUsersInput) SetQuery(v string) *DescribeUsersInput {
8167	s.Query = &v
8168	return s
8169}
8170
8171// SetSort sets the Sort field's value.
8172func (s *DescribeUsersInput) SetSort(v string) *DescribeUsersInput {
8173	s.Sort = &v
8174	return s
8175}
8176
8177// SetUserIds sets the UserIds field's value.
8178func (s *DescribeUsersInput) SetUserIds(v string) *DescribeUsersInput {
8179	s.UserIds = &v
8180	return s
8181}
8182
8183type DescribeUsersOutput struct {
8184	_ struct{} `type:"structure"`
8185
8186	// The marker to use when requesting the next set of results. If there are no
8187	// additional results, the string is empty.
8188	Marker *string `min:"1" type:"string"`
8189
8190	// The total number of users included in the results.
8191	//
8192	// Deprecated: TotalNumberOfUsers has been deprecated
8193	TotalNumberOfUsers *int64 `deprecated:"true" type:"long"`
8194
8195	// The users.
8196	Users []*User `type:"list"`
8197}
8198
8199// String returns the string representation.
8200//
8201// API parameter values that are decorated as "sensitive" in the API will not
8202// be included in the string output. The member name will be present, but the
8203// value will be replaced with "sensitive".
8204func (s DescribeUsersOutput) String() string {
8205	return awsutil.Prettify(s)
8206}
8207
8208// GoString returns the string representation.
8209//
8210// API parameter values that are decorated as "sensitive" in the API will not
8211// be included in the string output. The member name will be present, but the
8212// value will be replaced with "sensitive".
8213func (s DescribeUsersOutput) GoString() string {
8214	return s.String()
8215}
8216
8217// SetMarker sets the Marker field's value.
8218func (s *DescribeUsersOutput) SetMarker(v string) *DescribeUsersOutput {
8219	s.Marker = &v
8220	return s
8221}
8222
8223// SetTotalNumberOfUsers sets the TotalNumberOfUsers field's value.
8224func (s *DescribeUsersOutput) SetTotalNumberOfUsers(v int64) *DescribeUsersOutput {
8225	s.TotalNumberOfUsers = &v
8226	return s
8227}
8228
8229// SetUsers sets the Users field's value.
8230func (s *DescribeUsersOutput) SetUsers(v []*User) *DescribeUsersOutput {
8231	s.Users = v
8232	return s
8233}
8234
8235// This exception is thrown when the document is locked for comments and user
8236// tries to create or delete a comment on that document.
8237type DocumentLockedForCommentsException struct {
8238	_            struct{}                  `type:"structure"`
8239	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8240
8241	Message_ *string `locationName:"Message" type:"string"`
8242}
8243
8244// String returns the string representation.
8245//
8246// API parameter values that are decorated as "sensitive" in the API will not
8247// be included in the string output. The member name will be present, but the
8248// value will be replaced with "sensitive".
8249func (s DocumentLockedForCommentsException) String() string {
8250	return awsutil.Prettify(s)
8251}
8252
8253// GoString returns the string representation.
8254//
8255// API parameter values that are decorated as "sensitive" in the API will not
8256// be included in the string output. The member name will be present, but the
8257// value will be replaced with "sensitive".
8258func (s DocumentLockedForCommentsException) GoString() string {
8259	return s.String()
8260}
8261
8262func newErrorDocumentLockedForCommentsException(v protocol.ResponseMetadata) error {
8263	return &DocumentLockedForCommentsException{
8264		RespMetadata: v,
8265	}
8266}
8267
8268// Code returns the exception type name.
8269func (s *DocumentLockedForCommentsException) Code() string {
8270	return "DocumentLockedForCommentsException"
8271}
8272
8273// Message returns the exception's message.
8274func (s *DocumentLockedForCommentsException) Message() string {
8275	if s.Message_ != nil {
8276		return *s.Message_
8277	}
8278	return ""
8279}
8280
8281// OrigErr always returns nil, satisfies awserr.Error interface.
8282func (s *DocumentLockedForCommentsException) OrigErr() error {
8283	return nil
8284}
8285
8286func (s *DocumentLockedForCommentsException) Error() string {
8287	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8288}
8289
8290// Status code returns the HTTP status code for the request's response error.
8291func (s *DocumentLockedForCommentsException) StatusCode() int {
8292	return s.RespMetadata.StatusCode
8293}
8294
8295// RequestID returns the service's response RequestID for request.
8296func (s *DocumentLockedForCommentsException) RequestID() string {
8297	return s.RespMetadata.RequestID
8298}
8299
8300// Describes the document.
8301type DocumentMetadata struct {
8302	_ struct{} `type:"structure"`
8303
8304	// The time when the document was created.
8305	CreatedTimestamp *time.Time `type:"timestamp"`
8306
8307	// The ID of the creator.
8308	CreatorId *string `min:"1" type:"string"`
8309
8310	// The ID of the document.
8311	Id *string `min:"1" type:"string"`
8312
8313	// List of labels on the document.
8314	Labels []*string `type:"list"`
8315
8316	// The latest version of the document.
8317	LatestVersionMetadata *DocumentVersionMetadata `type:"structure"`
8318
8319	// The time when the document was updated.
8320	ModifiedTimestamp *time.Time `type:"timestamp"`
8321
8322	// The ID of the parent folder.
8323	ParentFolderId *string `min:"1" type:"string"`
8324
8325	// The resource state.
8326	ResourceState *string `type:"string" enum:"ResourceStateType"`
8327}
8328
8329// String returns the string representation.
8330//
8331// API parameter values that are decorated as "sensitive" in the API will not
8332// be included in the string output. The member name will be present, but the
8333// value will be replaced with "sensitive".
8334func (s DocumentMetadata) String() string {
8335	return awsutil.Prettify(s)
8336}
8337
8338// GoString returns the string representation.
8339//
8340// API parameter values that are decorated as "sensitive" in the API will not
8341// be included in the string output. The member name will be present, but the
8342// value will be replaced with "sensitive".
8343func (s DocumentMetadata) GoString() string {
8344	return s.String()
8345}
8346
8347// SetCreatedTimestamp sets the CreatedTimestamp field's value.
8348func (s *DocumentMetadata) SetCreatedTimestamp(v time.Time) *DocumentMetadata {
8349	s.CreatedTimestamp = &v
8350	return s
8351}
8352
8353// SetCreatorId sets the CreatorId field's value.
8354func (s *DocumentMetadata) SetCreatorId(v string) *DocumentMetadata {
8355	s.CreatorId = &v
8356	return s
8357}
8358
8359// SetId sets the Id field's value.
8360func (s *DocumentMetadata) SetId(v string) *DocumentMetadata {
8361	s.Id = &v
8362	return s
8363}
8364
8365// SetLabels sets the Labels field's value.
8366func (s *DocumentMetadata) SetLabels(v []*string) *DocumentMetadata {
8367	s.Labels = v
8368	return s
8369}
8370
8371// SetLatestVersionMetadata sets the LatestVersionMetadata field's value.
8372func (s *DocumentMetadata) SetLatestVersionMetadata(v *DocumentVersionMetadata) *DocumentMetadata {
8373	s.LatestVersionMetadata = v
8374	return s
8375}
8376
8377// SetModifiedTimestamp sets the ModifiedTimestamp field's value.
8378func (s *DocumentMetadata) SetModifiedTimestamp(v time.Time) *DocumentMetadata {
8379	s.ModifiedTimestamp = &v
8380	return s
8381}
8382
8383// SetParentFolderId sets the ParentFolderId field's value.
8384func (s *DocumentMetadata) SetParentFolderId(v string) *DocumentMetadata {
8385	s.ParentFolderId = &v
8386	return s
8387}
8388
8389// SetResourceState sets the ResourceState field's value.
8390func (s *DocumentMetadata) SetResourceState(v string) *DocumentMetadata {
8391	s.ResourceState = &v
8392	return s
8393}
8394
8395// Describes a version of a document.
8396type DocumentVersionMetadata struct {
8397	_ struct{} `type:"structure"`
8398
8399	// The timestamp when the content of the document was originally created.
8400	ContentCreatedTimestamp *time.Time `type:"timestamp"`
8401
8402	// The timestamp when the content of the document was modified.
8403	ContentModifiedTimestamp *time.Time `type:"timestamp"`
8404
8405	// The content type of the document.
8406	ContentType *string `min:"1" type:"string"`
8407
8408	// The timestamp when the document was first uploaded.
8409	CreatedTimestamp *time.Time `type:"timestamp"`
8410
8411	// The ID of the creator.
8412	CreatorId *string `min:"1" type:"string"`
8413
8414	// The ID of the version.
8415	Id *string `min:"1" type:"string"`
8416
8417	// The timestamp when the document was last uploaded.
8418	ModifiedTimestamp *time.Time `type:"timestamp"`
8419
8420	// The name of the version.
8421	Name *string `min:"1" type:"string"`
8422
8423	// The signature of the document.
8424	Signature *string `type:"string"`
8425
8426	// The size of the document, in bytes.
8427	Size *int64 `type:"long"`
8428
8429	// The source of the document.
8430	Source map[string]*string `type:"map"`
8431
8432	// The status of the document.
8433	Status *string `type:"string" enum:"DocumentStatusType"`
8434
8435	// The thumbnail of the document.
8436	Thumbnail map[string]*string `type:"map"`
8437}
8438
8439// String returns the string representation.
8440//
8441// API parameter values that are decorated as "sensitive" in the API will not
8442// be included in the string output. The member name will be present, but the
8443// value will be replaced with "sensitive".
8444func (s DocumentVersionMetadata) String() string {
8445	return awsutil.Prettify(s)
8446}
8447
8448// GoString returns the string representation.
8449//
8450// API parameter values that are decorated as "sensitive" in the API will not
8451// be included in the string output. The member name will be present, but the
8452// value will be replaced with "sensitive".
8453func (s DocumentVersionMetadata) GoString() string {
8454	return s.String()
8455}
8456
8457// SetContentCreatedTimestamp sets the ContentCreatedTimestamp field's value.
8458func (s *DocumentVersionMetadata) SetContentCreatedTimestamp(v time.Time) *DocumentVersionMetadata {
8459	s.ContentCreatedTimestamp = &v
8460	return s
8461}
8462
8463// SetContentModifiedTimestamp sets the ContentModifiedTimestamp field's value.
8464func (s *DocumentVersionMetadata) SetContentModifiedTimestamp(v time.Time) *DocumentVersionMetadata {
8465	s.ContentModifiedTimestamp = &v
8466	return s
8467}
8468
8469// SetContentType sets the ContentType field's value.
8470func (s *DocumentVersionMetadata) SetContentType(v string) *DocumentVersionMetadata {
8471	s.ContentType = &v
8472	return s
8473}
8474
8475// SetCreatedTimestamp sets the CreatedTimestamp field's value.
8476func (s *DocumentVersionMetadata) SetCreatedTimestamp(v time.Time) *DocumentVersionMetadata {
8477	s.CreatedTimestamp = &v
8478	return s
8479}
8480
8481// SetCreatorId sets the CreatorId field's value.
8482func (s *DocumentVersionMetadata) SetCreatorId(v string) *DocumentVersionMetadata {
8483	s.CreatorId = &v
8484	return s
8485}
8486
8487// SetId sets the Id field's value.
8488func (s *DocumentVersionMetadata) SetId(v string) *DocumentVersionMetadata {
8489	s.Id = &v
8490	return s
8491}
8492
8493// SetModifiedTimestamp sets the ModifiedTimestamp field's value.
8494func (s *DocumentVersionMetadata) SetModifiedTimestamp(v time.Time) *DocumentVersionMetadata {
8495	s.ModifiedTimestamp = &v
8496	return s
8497}
8498
8499// SetName sets the Name field's value.
8500func (s *DocumentVersionMetadata) SetName(v string) *DocumentVersionMetadata {
8501	s.Name = &v
8502	return s
8503}
8504
8505// SetSignature sets the Signature field's value.
8506func (s *DocumentVersionMetadata) SetSignature(v string) *DocumentVersionMetadata {
8507	s.Signature = &v
8508	return s
8509}
8510
8511// SetSize sets the Size field's value.
8512func (s *DocumentVersionMetadata) SetSize(v int64) *DocumentVersionMetadata {
8513	s.Size = &v
8514	return s
8515}
8516
8517// SetSource sets the Source field's value.
8518func (s *DocumentVersionMetadata) SetSource(v map[string]*string) *DocumentVersionMetadata {
8519	s.Source = v
8520	return s
8521}
8522
8523// SetStatus sets the Status field's value.
8524func (s *DocumentVersionMetadata) SetStatus(v string) *DocumentVersionMetadata {
8525	s.Status = &v
8526	return s
8527}
8528
8529// SetThumbnail sets the Thumbnail field's value.
8530func (s *DocumentVersionMetadata) SetThumbnail(v map[string]*string) *DocumentVersionMetadata {
8531	s.Thumbnail = v
8532	return s
8533}
8534
8535// This exception is thrown when a valid checkout ID is not presented on document
8536// version upload calls for a document that has been checked out from Web client.
8537type DraftUploadOutOfSyncException struct {
8538	_            struct{}                  `type:"structure"`
8539	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8540
8541	Message_ *string `locationName:"Message" type:"string"`
8542}
8543
8544// String returns the string representation.
8545//
8546// API parameter values that are decorated as "sensitive" in the API will not
8547// be included in the string output. The member name will be present, but the
8548// value will be replaced with "sensitive".
8549func (s DraftUploadOutOfSyncException) String() string {
8550	return awsutil.Prettify(s)
8551}
8552
8553// GoString returns the string representation.
8554//
8555// API parameter values that are decorated as "sensitive" in the API will not
8556// be included in the string output. The member name will be present, but the
8557// value will be replaced with "sensitive".
8558func (s DraftUploadOutOfSyncException) GoString() string {
8559	return s.String()
8560}
8561
8562func newErrorDraftUploadOutOfSyncException(v protocol.ResponseMetadata) error {
8563	return &DraftUploadOutOfSyncException{
8564		RespMetadata: v,
8565	}
8566}
8567
8568// Code returns the exception type name.
8569func (s *DraftUploadOutOfSyncException) Code() string {
8570	return "DraftUploadOutOfSyncException"
8571}
8572
8573// Message returns the exception's message.
8574func (s *DraftUploadOutOfSyncException) Message() string {
8575	if s.Message_ != nil {
8576		return *s.Message_
8577	}
8578	return ""
8579}
8580
8581// OrigErr always returns nil, satisfies awserr.Error interface.
8582func (s *DraftUploadOutOfSyncException) OrigErr() error {
8583	return nil
8584}
8585
8586func (s *DraftUploadOutOfSyncException) Error() string {
8587	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8588}
8589
8590// Status code returns the HTTP status code for the request's response error.
8591func (s *DraftUploadOutOfSyncException) StatusCode() int {
8592	return s.RespMetadata.StatusCode
8593}
8594
8595// RequestID returns the service's response RequestID for request.
8596func (s *DraftUploadOutOfSyncException) RequestID() string {
8597	return s.RespMetadata.RequestID
8598}
8599
8600// The resource already exists.
8601type EntityAlreadyExistsException struct {
8602	_            struct{}                  `type:"structure"`
8603	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8604
8605	Message_ *string `locationName:"Message" type:"string"`
8606}
8607
8608// String returns the string representation.
8609//
8610// API parameter values that are decorated as "sensitive" in the API will not
8611// be included in the string output. The member name will be present, but the
8612// value will be replaced with "sensitive".
8613func (s EntityAlreadyExistsException) String() string {
8614	return awsutil.Prettify(s)
8615}
8616
8617// GoString returns the string representation.
8618//
8619// API parameter values that are decorated as "sensitive" in the API will not
8620// be included in the string output. The member name will be present, but the
8621// value will be replaced with "sensitive".
8622func (s EntityAlreadyExistsException) GoString() string {
8623	return s.String()
8624}
8625
8626func newErrorEntityAlreadyExistsException(v protocol.ResponseMetadata) error {
8627	return &EntityAlreadyExistsException{
8628		RespMetadata: v,
8629	}
8630}
8631
8632// Code returns the exception type name.
8633func (s *EntityAlreadyExistsException) Code() string {
8634	return "EntityAlreadyExistsException"
8635}
8636
8637// Message returns the exception's message.
8638func (s *EntityAlreadyExistsException) Message() string {
8639	if s.Message_ != nil {
8640		return *s.Message_
8641	}
8642	return ""
8643}
8644
8645// OrigErr always returns nil, satisfies awserr.Error interface.
8646func (s *EntityAlreadyExistsException) OrigErr() error {
8647	return nil
8648}
8649
8650func (s *EntityAlreadyExistsException) Error() string {
8651	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8652}
8653
8654// Status code returns the HTTP status code for the request's response error.
8655func (s *EntityAlreadyExistsException) StatusCode() int {
8656	return s.RespMetadata.StatusCode
8657}
8658
8659// RequestID returns the service's response RequestID for request.
8660func (s *EntityAlreadyExistsException) RequestID() string {
8661	return s.RespMetadata.RequestID
8662}
8663
8664// The resource does not exist.
8665type EntityNotExistsException struct {
8666	_            struct{}                  `type:"structure"`
8667	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8668
8669	EntityIds []*string `type:"list"`
8670
8671	Message_ *string `locationName:"Message" type:"string"`
8672}
8673
8674// String returns the string representation.
8675//
8676// API parameter values that are decorated as "sensitive" in the API will not
8677// be included in the string output. The member name will be present, but the
8678// value will be replaced with "sensitive".
8679func (s EntityNotExistsException) String() string {
8680	return awsutil.Prettify(s)
8681}
8682
8683// GoString returns the string representation.
8684//
8685// API parameter values that are decorated as "sensitive" in the API will not
8686// be included in the string output. The member name will be present, but the
8687// value will be replaced with "sensitive".
8688func (s EntityNotExistsException) GoString() string {
8689	return s.String()
8690}
8691
8692func newErrorEntityNotExistsException(v protocol.ResponseMetadata) error {
8693	return &EntityNotExistsException{
8694		RespMetadata: v,
8695	}
8696}
8697
8698// Code returns the exception type name.
8699func (s *EntityNotExistsException) Code() string {
8700	return "EntityNotExistsException"
8701}
8702
8703// Message returns the exception's message.
8704func (s *EntityNotExistsException) Message() string {
8705	if s.Message_ != nil {
8706		return *s.Message_
8707	}
8708	return ""
8709}
8710
8711// OrigErr always returns nil, satisfies awserr.Error interface.
8712func (s *EntityNotExistsException) OrigErr() error {
8713	return nil
8714}
8715
8716func (s *EntityNotExistsException) Error() string {
8717	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
8718}
8719
8720// Status code returns the HTTP status code for the request's response error.
8721func (s *EntityNotExistsException) StatusCode() int {
8722	return s.RespMetadata.StatusCode
8723}
8724
8725// RequestID returns the service's response RequestID for request.
8726func (s *EntityNotExistsException) RequestID() string {
8727	return s.RespMetadata.RequestID
8728}
8729
8730// The AWS Directory Service cannot reach an on-premises instance. Or a dependency
8731// under the control of the organization is failing, such as a connected Active
8732// Directory.
8733type FailedDependencyException struct {
8734	_            struct{}                  `type:"structure"`
8735	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8736
8737	Message_ *string `locationName:"Message" type:"string"`
8738}
8739
8740// String returns the string representation.
8741//
8742// API parameter values that are decorated as "sensitive" in the API will not
8743// be included in the string output. The member name will be present, but the
8744// value will be replaced with "sensitive".
8745func (s FailedDependencyException) String() string {
8746	return awsutil.Prettify(s)
8747}
8748
8749// GoString returns the string representation.
8750//
8751// API parameter values that are decorated as "sensitive" in the API will not
8752// be included in the string output. The member name will be present, but the
8753// value will be replaced with "sensitive".
8754func (s FailedDependencyException) GoString() string {
8755	return s.String()
8756}
8757
8758func newErrorFailedDependencyException(v protocol.ResponseMetadata) error {
8759	return &FailedDependencyException{
8760		RespMetadata: v,
8761	}
8762}
8763
8764// Code returns the exception type name.
8765func (s *FailedDependencyException) Code() string {
8766	return "FailedDependencyException"
8767}
8768
8769// Message returns the exception's message.
8770func (s *FailedDependencyException) Message() string {
8771	if s.Message_ != nil {
8772		return *s.Message_
8773	}
8774	return ""
8775}
8776
8777// OrigErr always returns nil, satisfies awserr.Error interface.
8778func (s *FailedDependencyException) OrigErr() error {
8779	return nil
8780}
8781
8782func (s *FailedDependencyException) Error() string {
8783	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8784}
8785
8786// Status code returns the HTTP status code for the request's response error.
8787func (s *FailedDependencyException) StatusCode() int {
8788	return s.RespMetadata.StatusCode
8789}
8790
8791// RequestID returns the service's response RequestID for request.
8792func (s *FailedDependencyException) RequestID() string {
8793	return s.RespMetadata.RequestID
8794}
8795
8796// Describes a folder.
8797type FolderMetadata struct {
8798	_ struct{} `type:"structure"`
8799
8800	// The time when the folder was created.
8801	CreatedTimestamp *time.Time `type:"timestamp"`
8802
8803	// The ID of the creator.
8804	CreatorId *string `min:"1" type:"string"`
8805
8806	// The ID of the folder.
8807	Id *string `min:"1" type:"string"`
8808
8809	// List of labels on the folder.
8810	Labels []*string `type:"list"`
8811
8812	// The size of the latest version of the folder metadata.
8813	LatestVersionSize *int64 `type:"long"`
8814
8815	// The time when the folder was updated.
8816	ModifiedTimestamp *time.Time `type:"timestamp"`
8817
8818	// The name of the folder.
8819	Name *string `min:"1" type:"string"`
8820
8821	// The ID of the parent folder.
8822	ParentFolderId *string `min:"1" type:"string"`
8823
8824	// The resource state of the folder.
8825	ResourceState *string `type:"string" enum:"ResourceStateType"`
8826
8827	// The unique identifier created from the subfolders and documents of the folder.
8828	Signature *string `type:"string"`
8829
8830	// The size of the folder metadata.
8831	Size *int64 `type:"long"`
8832}
8833
8834// String returns the string representation.
8835//
8836// API parameter values that are decorated as "sensitive" in the API will not
8837// be included in the string output. The member name will be present, but the
8838// value will be replaced with "sensitive".
8839func (s FolderMetadata) String() string {
8840	return awsutil.Prettify(s)
8841}
8842
8843// GoString returns the string representation.
8844//
8845// API parameter values that are decorated as "sensitive" in the API will not
8846// be included in the string output. The member name will be present, but the
8847// value will be replaced with "sensitive".
8848func (s FolderMetadata) GoString() string {
8849	return s.String()
8850}
8851
8852// SetCreatedTimestamp sets the CreatedTimestamp field's value.
8853func (s *FolderMetadata) SetCreatedTimestamp(v time.Time) *FolderMetadata {
8854	s.CreatedTimestamp = &v
8855	return s
8856}
8857
8858// SetCreatorId sets the CreatorId field's value.
8859func (s *FolderMetadata) SetCreatorId(v string) *FolderMetadata {
8860	s.CreatorId = &v
8861	return s
8862}
8863
8864// SetId sets the Id field's value.
8865func (s *FolderMetadata) SetId(v string) *FolderMetadata {
8866	s.Id = &v
8867	return s
8868}
8869
8870// SetLabels sets the Labels field's value.
8871func (s *FolderMetadata) SetLabels(v []*string) *FolderMetadata {
8872	s.Labels = v
8873	return s
8874}
8875
8876// SetLatestVersionSize sets the LatestVersionSize field's value.
8877func (s *FolderMetadata) SetLatestVersionSize(v int64) *FolderMetadata {
8878	s.LatestVersionSize = &v
8879	return s
8880}
8881
8882// SetModifiedTimestamp sets the ModifiedTimestamp field's value.
8883func (s *FolderMetadata) SetModifiedTimestamp(v time.Time) *FolderMetadata {
8884	s.ModifiedTimestamp = &v
8885	return s
8886}
8887
8888// SetName sets the Name field's value.
8889func (s *FolderMetadata) SetName(v string) *FolderMetadata {
8890	s.Name = &v
8891	return s
8892}
8893
8894// SetParentFolderId sets the ParentFolderId field's value.
8895func (s *FolderMetadata) SetParentFolderId(v string) *FolderMetadata {
8896	s.ParentFolderId = &v
8897	return s
8898}
8899
8900// SetResourceState sets the ResourceState field's value.
8901func (s *FolderMetadata) SetResourceState(v string) *FolderMetadata {
8902	s.ResourceState = &v
8903	return s
8904}
8905
8906// SetSignature sets the Signature field's value.
8907func (s *FolderMetadata) SetSignature(v string) *FolderMetadata {
8908	s.Signature = &v
8909	return s
8910}
8911
8912// SetSize sets the Size field's value.
8913func (s *FolderMetadata) SetSize(v int64) *FolderMetadata {
8914	s.Size = &v
8915	return s
8916}
8917
8918type GetCurrentUserInput struct {
8919	_ struct{} `type:"structure" nopayload:"true"`
8920
8921	// Amazon WorkDocs authentication token.
8922	//
8923	// AuthenticationToken is a sensitive parameter and its value will be
8924	// replaced with "sensitive" in string returned by GetCurrentUserInput's
8925	// String and GoString methods.
8926	//
8927	// AuthenticationToken is a required field
8928	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" required:"true" sensitive:"true"`
8929}
8930
8931// String returns the string representation.
8932//
8933// API parameter values that are decorated as "sensitive" in the API will not
8934// be included in the string output. The member name will be present, but the
8935// value will be replaced with "sensitive".
8936func (s GetCurrentUserInput) String() string {
8937	return awsutil.Prettify(s)
8938}
8939
8940// GoString returns the string representation.
8941//
8942// API parameter values that are decorated as "sensitive" in the API will not
8943// be included in the string output. The member name will be present, but the
8944// value will be replaced with "sensitive".
8945func (s GetCurrentUserInput) GoString() string {
8946	return s.String()
8947}
8948
8949// Validate inspects the fields of the type to determine if they are valid.
8950func (s *GetCurrentUserInput) Validate() error {
8951	invalidParams := request.ErrInvalidParams{Context: "GetCurrentUserInput"}
8952	if s.AuthenticationToken == nil {
8953		invalidParams.Add(request.NewErrParamRequired("AuthenticationToken"))
8954	}
8955	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
8956		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
8957	}
8958
8959	if invalidParams.Len() > 0 {
8960		return invalidParams
8961	}
8962	return nil
8963}
8964
8965// SetAuthenticationToken sets the AuthenticationToken field's value.
8966func (s *GetCurrentUserInput) SetAuthenticationToken(v string) *GetCurrentUserInput {
8967	s.AuthenticationToken = &v
8968	return s
8969}
8970
8971type GetCurrentUserOutput struct {
8972	_ struct{} `type:"structure"`
8973
8974	// Metadata of the user.
8975	User *User `type:"structure"`
8976}
8977
8978// String returns the string representation.
8979//
8980// API parameter values that are decorated as "sensitive" in the API will not
8981// be included in the string output. The member name will be present, but the
8982// value will be replaced with "sensitive".
8983func (s GetCurrentUserOutput) String() string {
8984	return awsutil.Prettify(s)
8985}
8986
8987// GoString returns the string representation.
8988//
8989// API parameter values that are decorated as "sensitive" in the API will not
8990// be included in the string output. The member name will be present, but the
8991// value will be replaced with "sensitive".
8992func (s GetCurrentUserOutput) GoString() string {
8993	return s.String()
8994}
8995
8996// SetUser sets the User field's value.
8997func (s *GetCurrentUserOutput) SetUser(v *User) *GetCurrentUserOutput {
8998	s.User = v
8999	return s
9000}
9001
9002type GetDocumentInput struct {
9003	_ struct{} `type:"structure" nopayload:"true"`
9004
9005	// Amazon WorkDocs authentication token. Not required when using AWS administrator
9006	// credentials to access the API.
9007	//
9008	// AuthenticationToken is a sensitive parameter and its value will be
9009	// replaced with "sensitive" in string returned by GetDocumentInput's
9010	// String and GoString methods.
9011	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
9012
9013	// The ID of the document.
9014	//
9015	// DocumentId is a required field
9016	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
9017
9018	// Set this to TRUE to include custom metadata in the response.
9019	IncludeCustomMetadata *bool `location:"querystring" locationName:"includeCustomMetadata" type:"boolean"`
9020}
9021
9022// String returns the string representation.
9023//
9024// API parameter values that are decorated as "sensitive" in the API will not
9025// be included in the string output. The member name will be present, but the
9026// value will be replaced with "sensitive".
9027func (s GetDocumentInput) String() string {
9028	return awsutil.Prettify(s)
9029}
9030
9031// GoString returns the string representation.
9032//
9033// API parameter values that are decorated as "sensitive" in the API will not
9034// be included in the string output. The member name will be present, but the
9035// value will be replaced with "sensitive".
9036func (s GetDocumentInput) GoString() string {
9037	return s.String()
9038}
9039
9040// Validate inspects the fields of the type to determine if they are valid.
9041func (s *GetDocumentInput) Validate() error {
9042	invalidParams := request.ErrInvalidParams{Context: "GetDocumentInput"}
9043	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
9044		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
9045	}
9046	if s.DocumentId == nil {
9047		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
9048	}
9049	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
9050		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
9051	}
9052
9053	if invalidParams.Len() > 0 {
9054		return invalidParams
9055	}
9056	return nil
9057}
9058
9059// SetAuthenticationToken sets the AuthenticationToken field's value.
9060func (s *GetDocumentInput) SetAuthenticationToken(v string) *GetDocumentInput {
9061	s.AuthenticationToken = &v
9062	return s
9063}
9064
9065// SetDocumentId sets the DocumentId field's value.
9066func (s *GetDocumentInput) SetDocumentId(v string) *GetDocumentInput {
9067	s.DocumentId = &v
9068	return s
9069}
9070
9071// SetIncludeCustomMetadata sets the IncludeCustomMetadata field's value.
9072func (s *GetDocumentInput) SetIncludeCustomMetadata(v bool) *GetDocumentInput {
9073	s.IncludeCustomMetadata = &v
9074	return s
9075}
9076
9077type GetDocumentOutput struct {
9078	_ struct{} `type:"structure"`
9079
9080	// The custom metadata on the document.
9081	CustomMetadata map[string]*string `min:"1" type:"map"`
9082
9083	// The metadata details of the document.
9084	Metadata *DocumentMetadata `type:"structure"`
9085}
9086
9087// String returns the string representation.
9088//
9089// API parameter values that are decorated as "sensitive" in the API will not
9090// be included in the string output. The member name will be present, but the
9091// value will be replaced with "sensitive".
9092func (s GetDocumentOutput) String() string {
9093	return awsutil.Prettify(s)
9094}
9095
9096// GoString returns the string representation.
9097//
9098// API parameter values that are decorated as "sensitive" in the API will not
9099// be included in the string output. The member name will be present, but the
9100// value will be replaced with "sensitive".
9101func (s GetDocumentOutput) GoString() string {
9102	return s.String()
9103}
9104
9105// SetCustomMetadata sets the CustomMetadata field's value.
9106func (s *GetDocumentOutput) SetCustomMetadata(v map[string]*string) *GetDocumentOutput {
9107	s.CustomMetadata = v
9108	return s
9109}
9110
9111// SetMetadata sets the Metadata field's value.
9112func (s *GetDocumentOutput) SetMetadata(v *DocumentMetadata) *GetDocumentOutput {
9113	s.Metadata = v
9114	return s
9115}
9116
9117type GetDocumentPathInput struct {
9118	_ struct{} `type:"structure" nopayload:"true"`
9119
9120	// Amazon WorkDocs authentication token. Not required when using AWS administrator
9121	// credentials to access the API.
9122	//
9123	// AuthenticationToken is a sensitive parameter and its value will be
9124	// replaced with "sensitive" in string returned by GetDocumentPathInput's
9125	// String and GoString methods.
9126	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
9127
9128	// The ID of the document.
9129	//
9130	// DocumentId is a required field
9131	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
9132
9133	// A comma-separated list of values. Specify NAME to include the names of the
9134	// parent folders.
9135	Fields *string `location:"querystring" locationName:"fields" min:"1" type:"string"`
9136
9137	// The maximum number of levels in the hierarchy to return.
9138	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
9139
9140	// This value is not supported.
9141	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
9142}
9143
9144// String returns the string representation.
9145//
9146// API parameter values that are decorated as "sensitive" in the API will not
9147// be included in the string output. The member name will be present, but the
9148// value will be replaced with "sensitive".
9149func (s GetDocumentPathInput) String() string {
9150	return awsutil.Prettify(s)
9151}
9152
9153// GoString returns the string representation.
9154//
9155// API parameter values that are decorated as "sensitive" in the API will not
9156// be included in the string output. The member name will be present, but the
9157// value will be replaced with "sensitive".
9158func (s GetDocumentPathInput) GoString() string {
9159	return s.String()
9160}
9161
9162// Validate inspects the fields of the type to determine if they are valid.
9163func (s *GetDocumentPathInput) Validate() error {
9164	invalidParams := request.ErrInvalidParams{Context: "GetDocumentPathInput"}
9165	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
9166		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
9167	}
9168	if s.DocumentId == nil {
9169		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
9170	}
9171	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
9172		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
9173	}
9174	if s.Fields != nil && len(*s.Fields) < 1 {
9175		invalidParams.Add(request.NewErrParamMinLen("Fields", 1))
9176	}
9177	if s.Limit != nil && *s.Limit < 1 {
9178		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
9179	}
9180	if s.Marker != nil && len(*s.Marker) < 1 {
9181		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
9182	}
9183
9184	if invalidParams.Len() > 0 {
9185		return invalidParams
9186	}
9187	return nil
9188}
9189
9190// SetAuthenticationToken sets the AuthenticationToken field's value.
9191func (s *GetDocumentPathInput) SetAuthenticationToken(v string) *GetDocumentPathInput {
9192	s.AuthenticationToken = &v
9193	return s
9194}
9195
9196// SetDocumentId sets the DocumentId field's value.
9197func (s *GetDocumentPathInput) SetDocumentId(v string) *GetDocumentPathInput {
9198	s.DocumentId = &v
9199	return s
9200}
9201
9202// SetFields sets the Fields field's value.
9203func (s *GetDocumentPathInput) SetFields(v string) *GetDocumentPathInput {
9204	s.Fields = &v
9205	return s
9206}
9207
9208// SetLimit sets the Limit field's value.
9209func (s *GetDocumentPathInput) SetLimit(v int64) *GetDocumentPathInput {
9210	s.Limit = &v
9211	return s
9212}
9213
9214// SetMarker sets the Marker field's value.
9215func (s *GetDocumentPathInput) SetMarker(v string) *GetDocumentPathInput {
9216	s.Marker = &v
9217	return s
9218}
9219
9220type GetDocumentPathOutput struct {
9221	_ struct{} `type:"structure"`
9222
9223	// The path information.
9224	Path *ResourcePath `type:"structure"`
9225}
9226
9227// String returns the string representation.
9228//
9229// API parameter values that are decorated as "sensitive" in the API will not
9230// be included in the string output. The member name will be present, but the
9231// value will be replaced with "sensitive".
9232func (s GetDocumentPathOutput) String() string {
9233	return awsutil.Prettify(s)
9234}
9235
9236// GoString returns the string representation.
9237//
9238// API parameter values that are decorated as "sensitive" in the API will not
9239// be included in the string output. The member name will be present, but the
9240// value will be replaced with "sensitive".
9241func (s GetDocumentPathOutput) GoString() string {
9242	return s.String()
9243}
9244
9245// SetPath sets the Path field's value.
9246func (s *GetDocumentPathOutput) SetPath(v *ResourcePath) *GetDocumentPathOutput {
9247	s.Path = v
9248	return s
9249}
9250
9251type GetDocumentVersionInput struct {
9252	_ struct{} `type:"structure" nopayload:"true"`
9253
9254	// Amazon WorkDocs authentication token. Not required when using AWS administrator
9255	// credentials to access the API.
9256	//
9257	// AuthenticationToken is a sensitive parameter and its value will be
9258	// replaced with "sensitive" in string returned by GetDocumentVersionInput's
9259	// String and GoString methods.
9260	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
9261
9262	// The ID of the document.
9263	//
9264	// DocumentId is a required field
9265	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
9266
9267	// A comma-separated list of values. Specify "SOURCE" to include a URL for the
9268	// source document.
9269	Fields *string `location:"querystring" locationName:"fields" min:"1" type:"string"`
9270
9271	// Set this to TRUE to include custom metadata in the response.
9272	IncludeCustomMetadata *bool `location:"querystring" locationName:"includeCustomMetadata" type:"boolean"`
9273
9274	// The version ID of the document.
9275	//
9276	// VersionId is a required field
9277	VersionId *string `location:"uri" locationName:"VersionId" min:"1" type:"string" required:"true"`
9278}
9279
9280// String returns the string representation.
9281//
9282// API parameter values that are decorated as "sensitive" in the API will not
9283// be included in the string output. The member name will be present, but the
9284// value will be replaced with "sensitive".
9285func (s GetDocumentVersionInput) String() string {
9286	return awsutil.Prettify(s)
9287}
9288
9289// GoString returns the string representation.
9290//
9291// API parameter values that are decorated as "sensitive" in the API will not
9292// be included in the string output. The member name will be present, but the
9293// value will be replaced with "sensitive".
9294func (s GetDocumentVersionInput) GoString() string {
9295	return s.String()
9296}
9297
9298// Validate inspects the fields of the type to determine if they are valid.
9299func (s *GetDocumentVersionInput) Validate() error {
9300	invalidParams := request.ErrInvalidParams{Context: "GetDocumentVersionInput"}
9301	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
9302		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
9303	}
9304	if s.DocumentId == nil {
9305		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
9306	}
9307	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
9308		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
9309	}
9310	if s.Fields != nil && len(*s.Fields) < 1 {
9311		invalidParams.Add(request.NewErrParamMinLen("Fields", 1))
9312	}
9313	if s.VersionId == nil {
9314		invalidParams.Add(request.NewErrParamRequired("VersionId"))
9315	}
9316	if s.VersionId != nil && len(*s.VersionId) < 1 {
9317		invalidParams.Add(request.NewErrParamMinLen("VersionId", 1))
9318	}
9319
9320	if invalidParams.Len() > 0 {
9321		return invalidParams
9322	}
9323	return nil
9324}
9325
9326// SetAuthenticationToken sets the AuthenticationToken field's value.
9327func (s *GetDocumentVersionInput) SetAuthenticationToken(v string) *GetDocumentVersionInput {
9328	s.AuthenticationToken = &v
9329	return s
9330}
9331
9332// SetDocumentId sets the DocumentId field's value.
9333func (s *GetDocumentVersionInput) SetDocumentId(v string) *GetDocumentVersionInput {
9334	s.DocumentId = &v
9335	return s
9336}
9337
9338// SetFields sets the Fields field's value.
9339func (s *GetDocumentVersionInput) SetFields(v string) *GetDocumentVersionInput {
9340	s.Fields = &v
9341	return s
9342}
9343
9344// SetIncludeCustomMetadata sets the IncludeCustomMetadata field's value.
9345func (s *GetDocumentVersionInput) SetIncludeCustomMetadata(v bool) *GetDocumentVersionInput {
9346	s.IncludeCustomMetadata = &v
9347	return s
9348}
9349
9350// SetVersionId sets the VersionId field's value.
9351func (s *GetDocumentVersionInput) SetVersionId(v string) *GetDocumentVersionInput {
9352	s.VersionId = &v
9353	return s
9354}
9355
9356type GetDocumentVersionOutput struct {
9357	_ struct{} `type:"structure"`
9358
9359	// The custom metadata on the document version.
9360	CustomMetadata map[string]*string `min:"1" type:"map"`
9361
9362	// The version metadata.
9363	Metadata *DocumentVersionMetadata `type:"structure"`
9364}
9365
9366// String returns the string representation.
9367//
9368// API parameter values that are decorated as "sensitive" in the API will not
9369// be included in the string output. The member name will be present, but the
9370// value will be replaced with "sensitive".
9371func (s GetDocumentVersionOutput) String() string {
9372	return awsutil.Prettify(s)
9373}
9374
9375// GoString returns the string representation.
9376//
9377// API parameter values that are decorated as "sensitive" in the API will not
9378// be included in the string output. The member name will be present, but the
9379// value will be replaced with "sensitive".
9380func (s GetDocumentVersionOutput) GoString() string {
9381	return s.String()
9382}
9383
9384// SetCustomMetadata sets the CustomMetadata field's value.
9385func (s *GetDocumentVersionOutput) SetCustomMetadata(v map[string]*string) *GetDocumentVersionOutput {
9386	s.CustomMetadata = v
9387	return s
9388}
9389
9390// SetMetadata sets the Metadata field's value.
9391func (s *GetDocumentVersionOutput) SetMetadata(v *DocumentVersionMetadata) *GetDocumentVersionOutput {
9392	s.Metadata = v
9393	return s
9394}
9395
9396type GetFolderInput struct {
9397	_ struct{} `type:"structure" nopayload:"true"`
9398
9399	// Amazon WorkDocs authentication token. Not required when using AWS administrator
9400	// credentials to access the API.
9401	//
9402	// AuthenticationToken is a sensitive parameter and its value will be
9403	// replaced with "sensitive" in string returned by GetFolderInput's
9404	// String and GoString methods.
9405	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
9406
9407	// The ID of the folder.
9408	//
9409	// FolderId is a required field
9410	FolderId *string `location:"uri" locationName:"FolderId" min:"1" type:"string" required:"true"`
9411
9412	// Set to TRUE to include custom metadata in the response.
9413	IncludeCustomMetadata *bool `location:"querystring" locationName:"includeCustomMetadata" type:"boolean"`
9414}
9415
9416// String returns the string representation.
9417//
9418// API parameter values that are decorated as "sensitive" in the API will not
9419// be included in the string output. The member name will be present, but the
9420// value will be replaced with "sensitive".
9421func (s GetFolderInput) String() string {
9422	return awsutil.Prettify(s)
9423}
9424
9425// GoString returns the string representation.
9426//
9427// API parameter values that are decorated as "sensitive" in the API will not
9428// be included in the string output. The member name will be present, but the
9429// value will be replaced with "sensitive".
9430func (s GetFolderInput) GoString() string {
9431	return s.String()
9432}
9433
9434// Validate inspects the fields of the type to determine if they are valid.
9435func (s *GetFolderInput) Validate() error {
9436	invalidParams := request.ErrInvalidParams{Context: "GetFolderInput"}
9437	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
9438		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
9439	}
9440	if s.FolderId == nil {
9441		invalidParams.Add(request.NewErrParamRequired("FolderId"))
9442	}
9443	if s.FolderId != nil && len(*s.FolderId) < 1 {
9444		invalidParams.Add(request.NewErrParamMinLen("FolderId", 1))
9445	}
9446
9447	if invalidParams.Len() > 0 {
9448		return invalidParams
9449	}
9450	return nil
9451}
9452
9453// SetAuthenticationToken sets the AuthenticationToken field's value.
9454func (s *GetFolderInput) SetAuthenticationToken(v string) *GetFolderInput {
9455	s.AuthenticationToken = &v
9456	return s
9457}
9458
9459// SetFolderId sets the FolderId field's value.
9460func (s *GetFolderInput) SetFolderId(v string) *GetFolderInput {
9461	s.FolderId = &v
9462	return s
9463}
9464
9465// SetIncludeCustomMetadata sets the IncludeCustomMetadata field's value.
9466func (s *GetFolderInput) SetIncludeCustomMetadata(v bool) *GetFolderInput {
9467	s.IncludeCustomMetadata = &v
9468	return s
9469}
9470
9471type GetFolderOutput struct {
9472	_ struct{} `type:"structure"`
9473
9474	// The custom metadata on the folder.
9475	CustomMetadata map[string]*string `min:"1" type:"map"`
9476
9477	// The metadata of the folder.
9478	Metadata *FolderMetadata `type:"structure"`
9479}
9480
9481// String returns the string representation.
9482//
9483// API parameter values that are decorated as "sensitive" in the API will not
9484// be included in the string output. The member name will be present, but the
9485// value will be replaced with "sensitive".
9486func (s GetFolderOutput) String() string {
9487	return awsutil.Prettify(s)
9488}
9489
9490// GoString returns the string representation.
9491//
9492// API parameter values that are decorated as "sensitive" in the API will not
9493// be included in the string output. The member name will be present, but the
9494// value will be replaced with "sensitive".
9495func (s GetFolderOutput) GoString() string {
9496	return s.String()
9497}
9498
9499// SetCustomMetadata sets the CustomMetadata field's value.
9500func (s *GetFolderOutput) SetCustomMetadata(v map[string]*string) *GetFolderOutput {
9501	s.CustomMetadata = v
9502	return s
9503}
9504
9505// SetMetadata sets the Metadata field's value.
9506func (s *GetFolderOutput) SetMetadata(v *FolderMetadata) *GetFolderOutput {
9507	s.Metadata = v
9508	return s
9509}
9510
9511type GetFolderPathInput struct {
9512	_ struct{} `type:"structure" nopayload:"true"`
9513
9514	// Amazon WorkDocs authentication token. Not required when using AWS administrator
9515	// credentials to access the API.
9516	//
9517	// AuthenticationToken is a sensitive parameter and its value will be
9518	// replaced with "sensitive" in string returned by GetFolderPathInput's
9519	// String and GoString methods.
9520	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
9521
9522	// A comma-separated list of values. Specify "NAME" to include the names of
9523	// the parent folders.
9524	Fields *string `location:"querystring" locationName:"fields" min:"1" type:"string"`
9525
9526	// The ID of the folder.
9527	//
9528	// FolderId is a required field
9529	FolderId *string `location:"uri" locationName:"FolderId" min:"1" type:"string" required:"true"`
9530
9531	// The maximum number of levels in the hierarchy to return.
9532	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
9533
9534	// This value is not supported.
9535	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
9536}
9537
9538// String returns the string representation.
9539//
9540// API parameter values that are decorated as "sensitive" in the API will not
9541// be included in the string output. The member name will be present, but the
9542// value will be replaced with "sensitive".
9543func (s GetFolderPathInput) String() string {
9544	return awsutil.Prettify(s)
9545}
9546
9547// GoString returns the string representation.
9548//
9549// API parameter values that are decorated as "sensitive" in the API will not
9550// be included in the string output. The member name will be present, but the
9551// value will be replaced with "sensitive".
9552func (s GetFolderPathInput) GoString() string {
9553	return s.String()
9554}
9555
9556// Validate inspects the fields of the type to determine if they are valid.
9557func (s *GetFolderPathInput) Validate() error {
9558	invalidParams := request.ErrInvalidParams{Context: "GetFolderPathInput"}
9559	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
9560		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
9561	}
9562	if s.Fields != nil && len(*s.Fields) < 1 {
9563		invalidParams.Add(request.NewErrParamMinLen("Fields", 1))
9564	}
9565	if s.FolderId == nil {
9566		invalidParams.Add(request.NewErrParamRequired("FolderId"))
9567	}
9568	if s.FolderId != nil && len(*s.FolderId) < 1 {
9569		invalidParams.Add(request.NewErrParamMinLen("FolderId", 1))
9570	}
9571	if s.Limit != nil && *s.Limit < 1 {
9572		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
9573	}
9574	if s.Marker != nil && len(*s.Marker) < 1 {
9575		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
9576	}
9577
9578	if invalidParams.Len() > 0 {
9579		return invalidParams
9580	}
9581	return nil
9582}
9583
9584// SetAuthenticationToken sets the AuthenticationToken field's value.
9585func (s *GetFolderPathInput) SetAuthenticationToken(v string) *GetFolderPathInput {
9586	s.AuthenticationToken = &v
9587	return s
9588}
9589
9590// SetFields sets the Fields field's value.
9591func (s *GetFolderPathInput) SetFields(v string) *GetFolderPathInput {
9592	s.Fields = &v
9593	return s
9594}
9595
9596// SetFolderId sets the FolderId field's value.
9597func (s *GetFolderPathInput) SetFolderId(v string) *GetFolderPathInput {
9598	s.FolderId = &v
9599	return s
9600}
9601
9602// SetLimit sets the Limit field's value.
9603func (s *GetFolderPathInput) SetLimit(v int64) *GetFolderPathInput {
9604	s.Limit = &v
9605	return s
9606}
9607
9608// SetMarker sets the Marker field's value.
9609func (s *GetFolderPathInput) SetMarker(v string) *GetFolderPathInput {
9610	s.Marker = &v
9611	return s
9612}
9613
9614type GetFolderPathOutput struct {
9615	_ struct{} `type:"structure"`
9616
9617	// The path information.
9618	Path *ResourcePath `type:"structure"`
9619}
9620
9621// String returns the string representation.
9622//
9623// API parameter values that are decorated as "sensitive" in the API will not
9624// be included in the string output. The member name will be present, but the
9625// value will be replaced with "sensitive".
9626func (s GetFolderPathOutput) String() string {
9627	return awsutil.Prettify(s)
9628}
9629
9630// GoString returns the string representation.
9631//
9632// API parameter values that are decorated as "sensitive" in the API will not
9633// be included in the string output. The member name will be present, but the
9634// value will be replaced with "sensitive".
9635func (s GetFolderPathOutput) GoString() string {
9636	return s.String()
9637}
9638
9639// SetPath sets the Path field's value.
9640func (s *GetFolderPathOutput) SetPath(v *ResourcePath) *GetFolderPathOutput {
9641	s.Path = v
9642	return s
9643}
9644
9645type GetResourcesInput struct {
9646	_ struct{} `type:"structure" nopayload:"true"`
9647
9648	// The Amazon WorkDocs authentication token. Not required when using AWS administrator
9649	// credentials to access the API.
9650	//
9651	// AuthenticationToken is a sensitive parameter and its value will be
9652	// replaced with "sensitive" in string returned by GetResourcesInput's
9653	// String and GoString methods.
9654	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
9655
9656	// The collection type.
9657	CollectionType *string `location:"querystring" locationName:"collectionType" type:"string" enum:"ResourceCollectionType"`
9658
9659	// The maximum number of resources to return.
9660	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
9661
9662	// The marker for the next set of results. This marker was received from a previous
9663	// call.
9664	Marker *string `location:"querystring" locationName:"marker" min:"1" type:"string"`
9665
9666	// The user ID for the resource collection. This is a required field for accessing
9667	// the API operation using IAM credentials.
9668	UserId *string `location:"querystring" locationName:"userId" min:"1" type:"string"`
9669}
9670
9671// String returns the string representation.
9672//
9673// API parameter values that are decorated as "sensitive" in the API will not
9674// be included in the string output. The member name will be present, but the
9675// value will be replaced with "sensitive".
9676func (s GetResourcesInput) String() string {
9677	return awsutil.Prettify(s)
9678}
9679
9680// GoString returns the string representation.
9681//
9682// API parameter values that are decorated as "sensitive" in the API will not
9683// be included in the string output. The member name will be present, but the
9684// value will be replaced with "sensitive".
9685func (s GetResourcesInput) GoString() string {
9686	return s.String()
9687}
9688
9689// Validate inspects the fields of the type to determine if they are valid.
9690func (s *GetResourcesInput) Validate() error {
9691	invalidParams := request.ErrInvalidParams{Context: "GetResourcesInput"}
9692	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
9693		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
9694	}
9695	if s.Limit != nil && *s.Limit < 1 {
9696		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
9697	}
9698	if s.Marker != nil && len(*s.Marker) < 1 {
9699		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
9700	}
9701	if s.UserId != nil && len(*s.UserId) < 1 {
9702		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
9703	}
9704
9705	if invalidParams.Len() > 0 {
9706		return invalidParams
9707	}
9708	return nil
9709}
9710
9711// SetAuthenticationToken sets the AuthenticationToken field's value.
9712func (s *GetResourcesInput) SetAuthenticationToken(v string) *GetResourcesInput {
9713	s.AuthenticationToken = &v
9714	return s
9715}
9716
9717// SetCollectionType sets the CollectionType field's value.
9718func (s *GetResourcesInput) SetCollectionType(v string) *GetResourcesInput {
9719	s.CollectionType = &v
9720	return s
9721}
9722
9723// SetLimit sets the Limit field's value.
9724func (s *GetResourcesInput) SetLimit(v int64) *GetResourcesInput {
9725	s.Limit = &v
9726	return s
9727}
9728
9729// SetMarker sets the Marker field's value.
9730func (s *GetResourcesInput) SetMarker(v string) *GetResourcesInput {
9731	s.Marker = &v
9732	return s
9733}
9734
9735// SetUserId sets the UserId field's value.
9736func (s *GetResourcesInput) SetUserId(v string) *GetResourcesInput {
9737	s.UserId = &v
9738	return s
9739}
9740
9741type GetResourcesOutput struct {
9742	_ struct{} `type:"structure"`
9743
9744	// The documents in the specified collection.
9745	Documents []*DocumentMetadata `type:"list"`
9746
9747	// The folders in the specified folder.
9748	Folders []*FolderMetadata `type:"list"`
9749
9750	// The marker to use when requesting the next set of results. If there are no
9751	// additional results, the string is empty.
9752	Marker *string `min:"1" type:"string"`
9753}
9754
9755// String returns the string representation.
9756//
9757// API parameter values that are decorated as "sensitive" in the API will not
9758// be included in the string output. The member name will be present, but the
9759// value will be replaced with "sensitive".
9760func (s GetResourcesOutput) String() string {
9761	return awsutil.Prettify(s)
9762}
9763
9764// GoString returns the string representation.
9765//
9766// API parameter values that are decorated as "sensitive" in the API will not
9767// be included in the string output. The member name will be present, but the
9768// value will be replaced with "sensitive".
9769func (s GetResourcesOutput) GoString() string {
9770	return s.String()
9771}
9772
9773// SetDocuments sets the Documents field's value.
9774func (s *GetResourcesOutput) SetDocuments(v []*DocumentMetadata) *GetResourcesOutput {
9775	s.Documents = v
9776	return s
9777}
9778
9779// SetFolders sets the Folders field's value.
9780func (s *GetResourcesOutput) SetFolders(v []*FolderMetadata) *GetResourcesOutput {
9781	s.Folders = v
9782	return s
9783}
9784
9785// SetMarker sets the Marker field's value.
9786func (s *GetResourcesOutput) SetMarker(v string) *GetResourcesOutput {
9787	s.Marker = &v
9788	return s
9789}
9790
9791// Describes the metadata of a user group.
9792type GroupMetadata struct {
9793	_ struct{} `type:"structure"`
9794
9795	// The ID of the user group.
9796	Id *string `min:"1" type:"string"`
9797
9798	// The name of the group.
9799	Name *string `type:"string"`
9800}
9801
9802// String returns the string representation.
9803//
9804// API parameter values that are decorated as "sensitive" in the API will not
9805// be included in the string output. The member name will be present, but the
9806// value will be replaced with "sensitive".
9807func (s GroupMetadata) String() string {
9808	return awsutil.Prettify(s)
9809}
9810
9811// GoString returns the string representation.
9812//
9813// API parameter values that are decorated as "sensitive" in the API will not
9814// be included in the string output. The member name will be present, but the
9815// value will be replaced with "sensitive".
9816func (s GroupMetadata) GoString() string {
9817	return s.String()
9818}
9819
9820// SetId sets the Id field's value.
9821func (s *GroupMetadata) SetId(v string) *GroupMetadata {
9822	s.Id = &v
9823	return s
9824}
9825
9826// SetName sets the Name field's value.
9827func (s *GroupMetadata) SetName(v string) *GroupMetadata {
9828	s.Name = &v
9829	return s
9830}
9831
9832// The user is undergoing transfer of ownership.
9833type IllegalUserStateException struct {
9834	_            struct{}                  `type:"structure"`
9835	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9836
9837	Message_ *string `locationName:"Message" type:"string"`
9838}
9839
9840// String returns the string representation.
9841//
9842// API parameter values that are decorated as "sensitive" in the API will not
9843// be included in the string output. The member name will be present, but the
9844// value will be replaced with "sensitive".
9845func (s IllegalUserStateException) String() string {
9846	return awsutil.Prettify(s)
9847}
9848
9849// GoString returns the string representation.
9850//
9851// API parameter values that are decorated as "sensitive" in the API will not
9852// be included in the string output. The member name will be present, but the
9853// value will be replaced with "sensitive".
9854func (s IllegalUserStateException) GoString() string {
9855	return s.String()
9856}
9857
9858func newErrorIllegalUserStateException(v protocol.ResponseMetadata) error {
9859	return &IllegalUserStateException{
9860		RespMetadata: v,
9861	}
9862}
9863
9864// Code returns the exception type name.
9865func (s *IllegalUserStateException) Code() string {
9866	return "IllegalUserStateException"
9867}
9868
9869// Message returns the exception's message.
9870func (s *IllegalUserStateException) Message() string {
9871	if s.Message_ != nil {
9872		return *s.Message_
9873	}
9874	return ""
9875}
9876
9877// OrigErr always returns nil, satisfies awserr.Error interface.
9878func (s *IllegalUserStateException) OrigErr() error {
9879	return nil
9880}
9881
9882func (s *IllegalUserStateException) Error() string {
9883	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9884}
9885
9886// Status code returns the HTTP status code for the request's response error.
9887func (s *IllegalUserStateException) StatusCode() int {
9888	return s.RespMetadata.StatusCode
9889}
9890
9891// RequestID returns the service's response RequestID for request.
9892func (s *IllegalUserStateException) RequestID() string {
9893	return s.RespMetadata.RequestID
9894}
9895
9896type InitiateDocumentVersionUploadInput struct {
9897	_ struct{} `type:"structure"`
9898
9899	// Amazon WorkDocs authentication token. Not required when using AWS administrator
9900	// credentials to access the API.
9901	//
9902	// AuthenticationToken is a sensitive parameter and its value will be
9903	// replaced with "sensitive" in string returned by InitiateDocumentVersionUploadInput's
9904	// String and GoString methods.
9905	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
9906
9907	// The timestamp when the content of the document was originally created.
9908	ContentCreatedTimestamp *time.Time `type:"timestamp"`
9909
9910	// The timestamp when the content of the document was modified.
9911	ContentModifiedTimestamp *time.Time `type:"timestamp"`
9912
9913	// The content type of the document.
9914	ContentType *string `min:"1" type:"string"`
9915
9916	// The size of the document, in bytes.
9917	DocumentSizeInBytes *int64 `type:"long"`
9918
9919	// The ID of the document.
9920	Id *string `min:"1" type:"string"`
9921
9922	// The name of the document.
9923	Name *string `min:"1" type:"string"`
9924
9925	// The ID of the parent folder.
9926	//
9927	// ParentFolderId is a required field
9928	ParentFolderId *string `min:"1" type:"string" required:"true"`
9929}
9930
9931// String returns the string representation.
9932//
9933// API parameter values that are decorated as "sensitive" in the API will not
9934// be included in the string output. The member name will be present, but the
9935// value will be replaced with "sensitive".
9936func (s InitiateDocumentVersionUploadInput) String() string {
9937	return awsutil.Prettify(s)
9938}
9939
9940// GoString returns the string representation.
9941//
9942// API parameter values that are decorated as "sensitive" in the API will not
9943// be included in the string output. The member name will be present, but the
9944// value will be replaced with "sensitive".
9945func (s InitiateDocumentVersionUploadInput) GoString() string {
9946	return s.String()
9947}
9948
9949// Validate inspects the fields of the type to determine if they are valid.
9950func (s *InitiateDocumentVersionUploadInput) Validate() error {
9951	invalidParams := request.ErrInvalidParams{Context: "InitiateDocumentVersionUploadInput"}
9952	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
9953		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
9954	}
9955	if s.ContentType != nil && len(*s.ContentType) < 1 {
9956		invalidParams.Add(request.NewErrParamMinLen("ContentType", 1))
9957	}
9958	if s.Id != nil && len(*s.Id) < 1 {
9959		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
9960	}
9961	if s.Name != nil && len(*s.Name) < 1 {
9962		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9963	}
9964	if s.ParentFolderId == nil {
9965		invalidParams.Add(request.NewErrParamRequired("ParentFolderId"))
9966	}
9967	if s.ParentFolderId != nil && len(*s.ParentFolderId) < 1 {
9968		invalidParams.Add(request.NewErrParamMinLen("ParentFolderId", 1))
9969	}
9970
9971	if invalidParams.Len() > 0 {
9972		return invalidParams
9973	}
9974	return nil
9975}
9976
9977// SetAuthenticationToken sets the AuthenticationToken field's value.
9978func (s *InitiateDocumentVersionUploadInput) SetAuthenticationToken(v string) *InitiateDocumentVersionUploadInput {
9979	s.AuthenticationToken = &v
9980	return s
9981}
9982
9983// SetContentCreatedTimestamp sets the ContentCreatedTimestamp field's value.
9984func (s *InitiateDocumentVersionUploadInput) SetContentCreatedTimestamp(v time.Time) *InitiateDocumentVersionUploadInput {
9985	s.ContentCreatedTimestamp = &v
9986	return s
9987}
9988
9989// SetContentModifiedTimestamp sets the ContentModifiedTimestamp field's value.
9990func (s *InitiateDocumentVersionUploadInput) SetContentModifiedTimestamp(v time.Time) *InitiateDocumentVersionUploadInput {
9991	s.ContentModifiedTimestamp = &v
9992	return s
9993}
9994
9995// SetContentType sets the ContentType field's value.
9996func (s *InitiateDocumentVersionUploadInput) SetContentType(v string) *InitiateDocumentVersionUploadInput {
9997	s.ContentType = &v
9998	return s
9999}
10000
10001// SetDocumentSizeInBytes sets the DocumentSizeInBytes field's value.
10002func (s *InitiateDocumentVersionUploadInput) SetDocumentSizeInBytes(v int64) *InitiateDocumentVersionUploadInput {
10003	s.DocumentSizeInBytes = &v
10004	return s
10005}
10006
10007// SetId sets the Id field's value.
10008func (s *InitiateDocumentVersionUploadInput) SetId(v string) *InitiateDocumentVersionUploadInput {
10009	s.Id = &v
10010	return s
10011}
10012
10013// SetName sets the Name field's value.
10014func (s *InitiateDocumentVersionUploadInput) SetName(v string) *InitiateDocumentVersionUploadInput {
10015	s.Name = &v
10016	return s
10017}
10018
10019// SetParentFolderId sets the ParentFolderId field's value.
10020func (s *InitiateDocumentVersionUploadInput) SetParentFolderId(v string) *InitiateDocumentVersionUploadInput {
10021	s.ParentFolderId = &v
10022	return s
10023}
10024
10025type InitiateDocumentVersionUploadOutput struct {
10026	_ struct{} `type:"structure"`
10027
10028	// The document metadata.
10029	Metadata *DocumentMetadata `type:"structure"`
10030
10031	// The upload metadata.
10032	UploadMetadata *UploadMetadata `type:"structure"`
10033}
10034
10035// String returns the string representation.
10036//
10037// API parameter values that are decorated as "sensitive" in the API will not
10038// be included in the string output. The member name will be present, but the
10039// value will be replaced with "sensitive".
10040func (s InitiateDocumentVersionUploadOutput) String() string {
10041	return awsutil.Prettify(s)
10042}
10043
10044// GoString returns the string representation.
10045//
10046// API parameter values that are decorated as "sensitive" in the API will not
10047// be included in the string output. The member name will be present, but the
10048// value will be replaced with "sensitive".
10049func (s InitiateDocumentVersionUploadOutput) GoString() string {
10050	return s.String()
10051}
10052
10053// SetMetadata sets the Metadata field's value.
10054func (s *InitiateDocumentVersionUploadOutput) SetMetadata(v *DocumentMetadata) *InitiateDocumentVersionUploadOutput {
10055	s.Metadata = v
10056	return s
10057}
10058
10059// SetUploadMetadata sets the UploadMetadata field's value.
10060func (s *InitiateDocumentVersionUploadOutput) SetUploadMetadata(v *UploadMetadata) *InitiateDocumentVersionUploadOutput {
10061	s.UploadMetadata = v
10062	return s
10063}
10064
10065// The pagination marker or limit fields are not valid.
10066type InvalidArgumentException struct {
10067	_            struct{}                  `type:"structure"`
10068	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10069
10070	Message_ *string `locationName:"Message" type:"string"`
10071}
10072
10073// String returns the string representation.
10074//
10075// API parameter values that are decorated as "sensitive" in the API will not
10076// be included in the string output. The member name will be present, but the
10077// value will be replaced with "sensitive".
10078func (s InvalidArgumentException) String() string {
10079	return awsutil.Prettify(s)
10080}
10081
10082// GoString returns the string representation.
10083//
10084// API parameter values that are decorated as "sensitive" in the API will not
10085// be included in the string output. The member name will be present, but the
10086// value will be replaced with "sensitive".
10087func (s InvalidArgumentException) GoString() string {
10088	return s.String()
10089}
10090
10091func newErrorInvalidArgumentException(v protocol.ResponseMetadata) error {
10092	return &InvalidArgumentException{
10093		RespMetadata: v,
10094	}
10095}
10096
10097// Code returns the exception type name.
10098func (s *InvalidArgumentException) Code() string {
10099	return "InvalidArgumentException"
10100}
10101
10102// Message returns the exception's message.
10103func (s *InvalidArgumentException) Message() string {
10104	if s.Message_ != nil {
10105		return *s.Message_
10106	}
10107	return ""
10108}
10109
10110// OrigErr always returns nil, satisfies awserr.Error interface.
10111func (s *InvalidArgumentException) OrigErr() error {
10112	return nil
10113}
10114
10115func (s *InvalidArgumentException) Error() string {
10116	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10117}
10118
10119// Status code returns the HTTP status code for the request's response error.
10120func (s *InvalidArgumentException) StatusCode() int {
10121	return s.RespMetadata.StatusCode
10122}
10123
10124// RequestID returns the service's response RequestID for request.
10125func (s *InvalidArgumentException) RequestID() string {
10126	return s.RespMetadata.RequestID
10127}
10128
10129// The requested operation is not allowed on the specified comment object.
10130type InvalidCommentOperationException struct {
10131	_            struct{}                  `type:"structure"`
10132	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10133
10134	Message_ *string `locationName:"Message" type:"string"`
10135}
10136
10137// String returns the string representation.
10138//
10139// API parameter values that are decorated as "sensitive" in the API will not
10140// be included in the string output. The member name will be present, but the
10141// value will be replaced with "sensitive".
10142func (s InvalidCommentOperationException) String() string {
10143	return awsutil.Prettify(s)
10144}
10145
10146// GoString returns the string representation.
10147//
10148// API parameter values that are decorated as "sensitive" in the API will not
10149// be included in the string output. The member name will be present, but the
10150// value will be replaced with "sensitive".
10151func (s InvalidCommentOperationException) GoString() string {
10152	return s.String()
10153}
10154
10155func newErrorInvalidCommentOperationException(v protocol.ResponseMetadata) error {
10156	return &InvalidCommentOperationException{
10157		RespMetadata: v,
10158	}
10159}
10160
10161// Code returns the exception type name.
10162func (s *InvalidCommentOperationException) Code() string {
10163	return "InvalidCommentOperationException"
10164}
10165
10166// Message returns the exception's message.
10167func (s *InvalidCommentOperationException) Message() string {
10168	if s.Message_ != nil {
10169		return *s.Message_
10170	}
10171	return ""
10172}
10173
10174// OrigErr always returns nil, satisfies awserr.Error interface.
10175func (s *InvalidCommentOperationException) OrigErr() error {
10176	return nil
10177}
10178
10179func (s *InvalidCommentOperationException) Error() string {
10180	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10181}
10182
10183// Status code returns the HTTP status code for the request's response error.
10184func (s *InvalidCommentOperationException) StatusCode() int {
10185	return s.RespMetadata.StatusCode
10186}
10187
10188// RequestID returns the service's response RequestID for request.
10189func (s *InvalidCommentOperationException) RequestID() string {
10190	return s.RespMetadata.RequestID
10191}
10192
10193// The operation is invalid.
10194type InvalidOperationException struct {
10195	_            struct{}                  `type:"structure"`
10196	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10197
10198	Message_ *string `locationName:"Message" type:"string"`
10199}
10200
10201// String returns the string representation.
10202//
10203// API parameter values that are decorated as "sensitive" in the API will not
10204// be included in the string output. The member name will be present, but the
10205// value will be replaced with "sensitive".
10206func (s InvalidOperationException) String() string {
10207	return awsutil.Prettify(s)
10208}
10209
10210// GoString returns the string representation.
10211//
10212// API parameter values that are decorated as "sensitive" in the API will not
10213// be included in the string output. The member name will be present, but the
10214// value will be replaced with "sensitive".
10215func (s InvalidOperationException) GoString() string {
10216	return s.String()
10217}
10218
10219func newErrorInvalidOperationException(v protocol.ResponseMetadata) error {
10220	return &InvalidOperationException{
10221		RespMetadata: v,
10222	}
10223}
10224
10225// Code returns the exception type name.
10226func (s *InvalidOperationException) Code() string {
10227	return "InvalidOperationException"
10228}
10229
10230// Message returns the exception's message.
10231func (s *InvalidOperationException) Message() string {
10232	if s.Message_ != nil {
10233		return *s.Message_
10234	}
10235	return ""
10236}
10237
10238// OrigErr always returns nil, satisfies awserr.Error interface.
10239func (s *InvalidOperationException) OrigErr() error {
10240	return nil
10241}
10242
10243func (s *InvalidOperationException) Error() string {
10244	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10245}
10246
10247// Status code returns the HTTP status code for the request's response error.
10248func (s *InvalidOperationException) StatusCode() int {
10249	return s.RespMetadata.StatusCode
10250}
10251
10252// RequestID returns the service's response RequestID for request.
10253func (s *InvalidOperationException) RequestID() string {
10254	return s.RespMetadata.RequestID
10255}
10256
10257// The password is invalid.
10258type InvalidPasswordException struct {
10259	_            struct{}                  `type:"structure"`
10260	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10261
10262	Message_ *string `locationName:"Message" type:"string"`
10263}
10264
10265// String returns the string representation.
10266//
10267// API parameter values that are decorated as "sensitive" in the API will not
10268// be included in the string output. The member name will be present, but the
10269// value will be replaced with "sensitive".
10270func (s InvalidPasswordException) String() string {
10271	return awsutil.Prettify(s)
10272}
10273
10274// GoString returns the string representation.
10275//
10276// API parameter values that are decorated as "sensitive" in the API will not
10277// be included in the string output. The member name will be present, but the
10278// value will be replaced with "sensitive".
10279func (s InvalidPasswordException) GoString() string {
10280	return s.String()
10281}
10282
10283func newErrorInvalidPasswordException(v protocol.ResponseMetadata) error {
10284	return &InvalidPasswordException{
10285		RespMetadata: v,
10286	}
10287}
10288
10289// Code returns the exception type name.
10290func (s *InvalidPasswordException) Code() string {
10291	return "InvalidPasswordException"
10292}
10293
10294// Message returns the exception's message.
10295func (s *InvalidPasswordException) Message() string {
10296	if s.Message_ != nil {
10297		return *s.Message_
10298	}
10299	return ""
10300}
10301
10302// OrigErr always returns nil, satisfies awserr.Error interface.
10303func (s *InvalidPasswordException) OrigErr() error {
10304	return nil
10305}
10306
10307func (s *InvalidPasswordException) Error() string {
10308	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10309}
10310
10311// Status code returns the HTTP status code for the request's response error.
10312func (s *InvalidPasswordException) StatusCode() int {
10313	return s.RespMetadata.StatusCode
10314}
10315
10316// RequestID returns the service's response RequestID for request.
10317func (s *InvalidPasswordException) RequestID() string {
10318	return s.RespMetadata.RequestID
10319}
10320
10321// The maximum of 100,000 folders under the parent folder has been exceeded.
10322type LimitExceededException struct {
10323	_            struct{}                  `type:"structure"`
10324	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10325
10326	Message_ *string `locationName:"Message" type:"string"`
10327}
10328
10329// String returns the string representation.
10330//
10331// API parameter values that are decorated as "sensitive" in the API will not
10332// be included in the string output. The member name will be present, but the
10333// value will be replaced with "sensitive".
10334func (s LimitExceededException) String() string {
10335	return awsutil.Prettify(s)
10336}
10337
10338// GoString returns the string representation.
10339//
10340// API parameter values that are decorated as "sensitive" in the API will not
10341// be included in the string output. The member name will be present, but the
10342// value will be replaced with "sensitive".
10343func (s LimitExceededException) GoString() string {
10344	return s.String()
10345}
10346
10347func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
10348	return &LimitExceededException{
10349		RespMetadata: v,
10350	}
10351}
10352
10353// Code returns the exception type name.
10354func (s *LimitExceededException) Code() string {
10355	return "LimitExceededException"
10356}
10357
10358// Message returns the exception's message.
10359func (s *LimitExceededException) Message() string {
10360	if s.Message_ != nil {
10361		return *s.Message_
10362	}
10363	return ""
10364}
10365
10366// OrigErr always returns nil, satisfies awserr.Error interface.
10367func (s *LimitExceededException) OrigErr() error {
10368	return nil
10369}
10370
10371func (s *LimitExceededException) Error() string {
10372	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10373}
10374
10375// Status code returns the HTTP status code for the request's response error.
10376func (s *LimitExceededException) StatusCode() int {
10377	return s.RespMetadata.StatusCode
10378}
10379
10380// RequestID returns the service's response RequestID for request.
10381func (s *LimitExceededException) RequestID() string {
10382	return s.RespMetadata.RequestID
10383}
10384
10385// Set of options which defines notification preferences of given action.
10386type NotificationOptions struct {
10387	_ struct{} `type:"structure"`
10388
10389	// Text value to be included in the email body.
10390	//
10391	// EmailMessage is a sensitive parameter and its value will be
10392	// replaced with "sensitive" in string returned by NotificationOptions's
10393	// String and GoString methods.
10394	EmailMessage *string `type:"string" sensitive:"true"`
10395
10396	// Boolean value to indicate an email notification should be sent to the receipients.
10397	SendEmail *bool `type:"boolean"`
10398}
10399
10400// String returns the string representation.
10401//
10402// API parameter values that are decorated as "sensitive" in the API will not
10403// be included in the string output. The member name will be present, but the
10404// value will be replaced with "sensitive".
10405func (s NotificationOptions) String() string {
10406	return awsutil.Prettify(s)
10407}
10408
10409// GoString returns the string representation.
10410//
10411// API parameter values that are decorated as "sensitive" in the API will not
10412// be included in the string output. The member name will be present, but the
10413// value will be replaced with "sensitive".
10414func (s NotificationOptions) GoString() string {
10415	return s.String()
10416}
10417
10418// SetEmailMessage sets the EmailMessage field's value.
10419func (s *NotificationOptions) SetEmailMessage(v string) *NotificationOptions {
10420	s.EmailMessage = &v
10421	return s
10422}
10423
10424// SetSendEmail sets the SendEmail field's value.
10425func (s *NotificationOptions) SetSendEmail(v bool) *NotificationOptions {
10426	s.SendEmail = &v
10427	return s
10428}
10429
10430// Describes the users or user groups.
10431type Participants struct {
10432	_ struct{} `type:"structure"`
10433
10434	// The list of user groups.
10435	Groups []*GroupMetadata `type:"list"`
10436
10437	// The list of users.
10438	Users []*UserMetadata `type:"list"`
10439}
10440
10441// String returns the string representation.
10442//
10443// API parameter values that are decorated as "sensitive" in the API will not
10444// be included in the string output. The member name will be present, but the
10445// value will be replaced with "sensitive".
10446func (s Participants) String() string {
10447	return awsutil.Prettify(s)
10448}
10449
10450// GoString returns the string representation.
10451//
10452// API parameter values that are decorated as "sensitive" in the API will not
10453// be included in the string output. The member name will be present, but the
10454// value will be replaced with "sensitive".
10455func (s Participants) GoString() string {
10456	return s.String()
10457}
10458
10459// SetGroups sets the Groups field's value.
10460func (s *Participants) SetGroups(v []*GroupMetadata) *Participants {
10461	s.Groups = v
10462	return s
10463}
10464
10465// SetUsers sets the Users field's value.
10466func (s *Participants) SetUsers(v []*UserMetadata) *Participants {
10467	s.Users = v
10468	return s
10469}
10470
10471// Describes the permissions.
10472type PermissionInfo struct {
10473	_ struct{} `type:"structure"`
10474
10475	// The role of the user.
10476	Role *string `type:"string" enum:"RoleType"`
10477
10478	// The type of permissions.
10479	Type *string `type:"string" enum:"RolePermissionType"`
10480}
10481
10482// String returns the string representation.
10483//
10484// API parameter values that are decorated as "sensitive" in the API will not
10485// be included in the string output. The member name will be present, but the
10486// value will be replaced with "sensitive".
10487func (s PermissionInfo) String() string {
10488	return awsutil.Prettify(s)
10489}
10490
10491// GoString returns the string representation.
10492//
10493// API parameter values that are decorated as "sensitive" in the API will not
10494// be included in the string output. The member name will be present, but the
10495// value will be replaced with "sensitive".
10496func (s PermissionInfo) GoString() string {
10497	return s.String()
10498}
10499
10500// SetRole sets the Role field's value.
10501func (s *PermissionInfo) SetRole(v string) *PermissionInfo {
10502	s.Role = &v
10503	return s
10504}
10505
10506// SetType sets the Type field's value.
10507func (s *PermissionInfo) SetType(v string) *PermissionInfo {
10508	s.Type = &v
10509	return s
10510}
10511
10512// Describes a resource.
10513type Principal struct {
10514	_ struct{} `type:"structure"`
10515
10516	// The ID of the resource.
10517	Id *string `min:"1" type:"string"`
10518
10519	// The permission information for the resource.
10520	Roles []*PermissionInfo `type:"list"`
10521
10522	// The type of resource.
10523	Type *string `type:"string" enum:"PrincipalType"`
10524}
10525
10526// String returns the string representation.
10527//
10528// API parameter values that are decorated as "sensitive" in the API will not
10529// be included in the string output. The member name will be present, but the
10530// value will be replaced with "sensitive".
10531func (s Principal) String() string {
10532	return awsutil.Prettify(s)
10533}
10534
10535// GoString returns the string representation.
10536//
10537// API parameter values that are decorated as "sensitive" in the API will not
10538// be included in the string output. The member name will be present, but the
10539// value will be replaced with "sensitive".
10540func (s Principal) GoString() string {
10541	return s.String()
10542}
10543
10544// SetId sets the Id field's value.
10545func (s *Principal) SetId(v string) *Principal {
10546	s.Id = &v
10547	return s
10548}
10549
10550// SetRoles sets the Roles field's value.
10551func (s *Principal) SetRoles(v []*PermissionInfo) *Principal {
10552	s.Roles = v
10553	return s
10554}
10555
10556// SetType sets the Type field's value.
10557func (s *Principal) SetType(v string) *Principal {
10558	s.Type = &v
10559	return s
10560}
10561
10562// The specified document version is not in the INITIALIZED state.
10563type ProhibitedStateException struct {
10564	_            struct{}                  `type:"structure"`
10565	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10566
10567	Message_ *string `locationName:"Message" type:"string"`
10568}
10569
10570// String returns the string representation.
10571//
10572// API parameter values that are decorated as "sensitive" in the API will not
10573// be included in the string output. The member name will be present, but the
10574// value will be replaced with "sensitive".
10575func (s ProhibitedStateException) String() string {
10576	return awsutil.Prettify(s)
10577}
10578
10579// GoString returns the string representation.
10580//
10581// API parameter values that are decorated as "sensitive" in the API will not
10582// be included in the string output. The member name will be present, but the
10583// value will be replaced with "sensitive".
10584func (s ProhibitedStateException) GoString() string {
10585	return s.String()
10586}
10587
10588func newErrorProhibitedStateException(v protocol.ResponseMetadata) error {
10589	return &ProhibitedStateException{
10590		RespMetadata: v,
10591	}
10592}
10593
10594// Code returns the exception type name.
10595func (s *ProhibitedStateException) Code() string {
10596	return "ProhibitedStateException"
10597}
10598
10599// Message returns the exception's message.
10600func (s *ProhibitedStateException) Message() string {
10601	if s.Message_ != nil {
10602		return *s.Message_
10603	}
10604	return ""
10605}
10606
10607// OrigErr always returns nil, satisfies awserr.Error interface.
10608func (s *ProhibitedStateException) OrigErr() error {
10609	return nil
10610}
10611
10612func (s *ProhibitedStateException) Error() string {
10613	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10614}
10615
10616// Status code returns the HTTP status code for the request's response error.
10617func (s *ProhibitedStateException) StatusCode() int {
10618	return s.RespMetadata.StatusCode
10619}
10620
10621// RequestID returns the service's response RequestID for request.
10622func (s *ProhibitedStateException) RequestID() string {
10623	return s.RespMetadata.RequestID
10624}
10625
10626type RemoveAllResourcePermissionsInput struct {
10627	_ struct{} `type:"structure" nopayload:"true"`
10628
10629	// Amazon WorkDocs authentication token. Not required when using AWS administrator
10630	// credentials to access the API.
10631	//
10632	// AuthenticationToken is a sensitive parameter and its value will be
10633	// replaced with "sensitive" in string returned by RemoveAllResourcePermissionsInput's
10634	// String and GoString methods.
10635	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
10636
10637	// The ID of the resource.
10638	//
10639	// ResourceId is a required field
10640	ResourceId *string `location:"uri" locationName:"ResourceId" min:"1" type:"string" required:"true"`
10641}
10642
10643// String returns the string representation.
10644//
10645// API parameter values that are decorated as "sensitive" in the API will not
10646// be included in the string output. The member name will be present, but the
10647// value will be replaced with "sensitive".
10648func (s RemoveAllResourcePermissionsInput) String() string {
10649	return awsutil.Prettify(s)
10650}
10651
10652// GoString returns the string representation.
10653//
10654// API parameter values that are decorated as "sensitive" in the API will not
10655// be included in the string output. The member name will be present, but the
10656// value will be replaced with "sensitive".
10657func (s RemoveAllResourcePermissionsInput) GoString() string {
10658	return s.String()
10659}
10660
10661// Validate inspects the fields of the type to determine if they are valid.
10662func (s *RemoveAllResourcePermissionsInput) Validate() error {
10663	invalidParams := request.ErrInvalidParams{Context: "RemoveAllResourcePermissionsInput"}
10664	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
10665		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
10666	}
10667	if s.ResourceId == nil {
10668		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
10669	}
10670	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
10671		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
10672	}
10673
10674	if invalidParams.Len() > 0 {
10675		return invalidParams
10676	}
10677	return nil
10678}
10679
10680// SetAuthenticationToken sets the AuthenticationToken field's value.
10681func (s *RemoveAllResourcePermissionsInput) SetAuthenticationToken(v string) *RemoveAllResourcePermissionsInput {
10682	s.AuthenticationToken = &v
10683	return s
10684}
10685
10686// SetResourceId sets the ResourceId field's value.
10687func (s *RemoveAllResourcePermissionsInput) SetResourceId(v string) *RemoveAllResourcePermissionsInput {
10688	s.ResourceId = &v
10689	return s
10690}
10691
10692type RemoveAllResourcePermissionsOutput struct {
10693	_ struct{} `type:"structure"`
10694}
10695
10696// String returns the string representation.
10697//
10698// API parameter values that are decorated as "sensitive" in the API will not
10699// be included in the string output. The member name will be present, but the
10700// value will be replaced with "sensitive".
10701func (s RemoveAllResourcePermissionsOutput) String() string {
10702	return awsutil.Prettify(s)
10703}
10704
10705// GoString returns the string representation.
10706//
10707// API parameter values that are decorated as "sensitive" in the API will not
10708// be included in the string output. The member name will be present, but the
10709// value will be replaced with "sensitive".
10710func (s RemoveAllResourcePermissionsOutput) GoString() string {
10711	return s.String()
10712}
10713
10714type RemoveResourcePermissionInput struct {
10715	_ struct{} `type:"structure" nopayload:"true"`
10716
10717	// Amazon WorkDocs authentication token. Not required when using AWS administrator
10718	// credentials to access the API.
10719	//
10720	// AuthenticationToken is a sensitive parameter and its value will be
10721	// replaced with "sensitive" in string returned by RemoveResourcePermissionInput's
10722	// String and GoString methods.
10723	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
10724
10725	// The principal ID of the resource.
10726	//
10727	// PrincipalId is a required field
10728	PrincipalId *string `location:"uri" locationName:"PrincipalId" min:"1" type:"string" required:"true"`
10729
10730	// The principal type of the resource.
10731	PrincipalType *string `location:"querystring" locationName:"type" type:"string" enum:"PrincipalType"`
10732
10733	// The ID of the resource.
10734	//
10735	// ResourceId is a required field
10736	ResourceId *string `location:"uri" locationName:"ResourceId" min:"1" type:"string" required:"true"`
10737}
10738
10739// String returns the string representation.
10740//
10741// API parameter values that are decorated as "sensitive" in the API will not
10742// be included in the string output. The member name will be present, but the
10743// value will be replaced with "sensitive".
10744func (s RemoveResourcePermissionInput) String() string {
10745	return awsutil.Prettify(s)
10746}
10747
10748// GoString returns the string representation.
10749//
10750// API parameter values that are decorated as "sensitive" in the API will not
10751// be included in the string output. The member name will be present, but the
10752// value will be replaced with "sensitive".
10753func (s RemoveResourcePermissionInput) GoString() string {
10754	return s.String()
10755}
10756
10757// Validate inspects the fields of the type to determine if they are valid.
10758func (s *RemoveResourcePermissionInput) Validate() error {
10759	invalidParams := request.ErrInvalidParams{Context: "RemoveResourcePermissionInput"}
10760	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
10761		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
10762	}
10763	if s.PrincipalId == nil {
10764		invalidParams.Add(request.NewErrParamRequired("PrincipalId"))
10765	}
10766	if s.PrincipalId != nil && len(*s.PrincipalId) < 1 {
10767		invalidParams.Add(request.NewErrParamMinLen("PrincipalId", 1))
10768	}
10769	if s.ResourceId == nil {
10770		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
10771	}
10772	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
10773		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
10774	}
10775
10776	if invalidParams.Len() > 0 {
10777		return invalidParams
10778	}
10779	return nil
10780}
10781
10782// SetAuthenticationToken sets the AuthenticationToken field's value.
10783func (s *RemoveResourcePermissionInput) SetAuthenticationToken(v string) *RemoveResourcePermissionInput {
10784	s.AuthenticationToken = &v
10785	return s
10786}
10787
10788// SetPrincipalId sets the PrincipalId field's value.
10789func (s *RemoveResourcePermissionInput) SetPrincipalId(v string) *RemoveResourcePermissionInput {
10790	s.PrincipalId = &v
10791	return s
10792}
10793
10794// SetPrincipalType sets the PrincipalType field's value.
10795func (s *RemoveResourcePermissionInput) SetPrincipalType(v string) *RemoveResourcePermissionInput {
10796	s.PrincipalType = &v
10797	return s
10798}
10799
10800// SetResourceId sets the ResourceId field's value.
10801func (s *RemoveResourcePermissionInput) SetResourceId(v string) *RemoveResourcePermissionInput {
10802	s.ResourceId = &v
10803	return s
10804}
10805
10806type RemoveResourcePermissionOutput struct {
10807	_ struct{} `type:"structure"`
10808}
10809
10810// String returns the string representation.
10811//
10812// API parameter values that are decorated as "sensitive" in the API will not
10813// be included in the string output. The member name will be present, but the
10814// value will be replaced with "sensitive".
10815func (s RemoveResourcePermissionOutput) String() string {
10816	return awsutil.Prettify(s)
10817}
10818
10819// GoString returns the string representation.
10820//
10821// API parameter values that are decorated as "sensitive" in the API will not
10822// be included in the string output. The member name will be present, but the
10823// value will be replaced with "sensitive".
10824func (s RemoveResourcePermissionOutput) GoString() string {
10825	return s.String()
10826}
10827
10828// The response is too large to return. The request must include a filter to
10829// reduce the size of the response.
10830type RequestedEntityTooLargeException struct {
10831	_            struct{}                  `type:"structure"`
10832	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10833
10834	Message_ *string `locationName:"Message" type:"string"`
10835}
10836
10837// String returns the string representation.
10838//
10839// API parameter values that are decorated as "sensitive" in the API will not
10840// be included in the string output. The member name will be present, but the
10841// value will be replaced with "sensitive".
10842func (s RequestedEntityTooLargeException) String() string {
10843	return awsutil.Prettify(s)
10844}
10845
10846// GoString returns the string representation.
10847//
10848// API parameter values that are decorated as "sensitive" in the API will not
10849// be included in the string output. The member name will be present, but the
10850// value will be replaced with "sensitive".
10851func (s RequestedEntityTooLargeException) GoString() string {
10852	return s.String()
10853}
10854
10855func newErrorRequestedEntityTooLargeException(v protocol.ResponseMetadata) error {
10856	return &RequestedEntityTooLargeException{
10857		RespMetadata: v,
10858	}
10859}
10860
10861// Code returns the exception type name.
10862func (s *RequestedEntityTooLargeException) Code() string {
10863	return "RequestedEntityTooLargeException"
10864}
10865
10866// Message returns the exception's message.
10867func (s *RequestedEntityTooLargeException) Message() string {
10868	if s.Message_ != nil {
10869		return *s.Message_
10870	}
10871	return ""
10872}
10873
10874// OrigErr always returns nil, satisfies awserr.Error interface.
10875func (s *RequestedEntityTooLargeException) OrigErr() error {
10876	return nil
10877}
10878
10879func (s *RequestedEntityTooLargeException) Error() string {
10880	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10881}
10882
10883// Status code returns the HTTP status code for the request's response error.
10884func (s *RequestedEntityTooLargeException) StatusCode() int {
10885	return s.RespMetadata.StatusCode
10886}
10887
10888// RequestID returns the service's response RequestID for request.
10889func (s *RequestedEntityTooLargeException) RequestID() string {
10890	return s.RespMetadata.RequestID
10891}
10892
10893// The resource is already checked out.
10894type ResourceAlreadyCheckedOutException struct {
10895	_            struct{}                  `type:"structure"`
10896	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10897
10898	Message_ *string `locationName:"Message" type:"string"`
10899}
10900
10901// String returns the string representation.
10902//
10903// API parameter values that are decorated as "sensitive" in the API will not
10904// be included in the string output. The member name will be present, but the
10905// value will be replaced with "sensitive".
10906func (s ResourceAlreadyCheckedOutException) String() string {
10907	return awsutil.Prettify(s)
10908}
10909
10910// GoString returns the string representation.
10911//
10912// API parameter values that are decorated as "sensitive" in the API will not
10913// be included in the string output. The member name will be present, but the
10914// value will be replaced with "sensitive".
10915func (s ResourceAlreadyCheckedOutException) GoString() string {
10916	return s.String()
10917}
10918
10919func newErrorResourceAlreadyCheckedOutException(v protocol.ResponseMetadata) error {
10920	return &ResourceAlreadyCheckedOutException{
10921		RespMetadata: v,
10922	}
10923}
10924
10925// Code returns the exception type name.
10926func (s *ResourceAlreadyCheckedOutException) Code() string {
10927	return "ResourceAlreadyCheckedOutException"
10928}
10929
10930// Message returns the exception's message.
10931func (s *ResourceAlreadyCheckedOutException) Message() string {
10932	if s.Message_ != nil {
10933		return *s.Message_
10934	}
10935	return ""
10936}
10937
10938// OrigErr always returns nil, satisfies awserr.Error interface.
10939func (s *ResourceAlreadyCheckedOutException) OrigErr() error {
10940	return nil
10941}
10942
10943func (s *ResourceAlreadyCheckedOutException) Error() string {
10944	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10945}
10946
10947// Status code returns the HTTP status code for the request's response error.
10948func (s *ResourceAlreadyCheckedOutException) StatusCode() int {
10949	return s.RespMetadata.StatusCode
10950}
10951
10952// RequestID returns the service's response RequestID for request.
10953func (s *ResourceAlreadyCheckedOutException) RequestID() string {
10954	return s.RespMetadata.RequestID
10955}
10956
10957// Describes the metadata of a resource.
10958type ResourceMetadata struct {
10959	_ struct{} `type:"structure"`
10960
10961	// The ID of the resource.
10962	Id *string `min:"1" type:"string"`
10963
10964	// The name of the resource.
10965	Name *string `min:"1" type:"string"`
10966
10967	// The original name of the resource before a rename operation.
10968	OriginalName *string `min:"1" type:"string"`
10969
10970	// The owner of the resource.
10971	Owner *UserMetadata `type:"structure"`
10972
10973	// The parent ID of the resource before a rename operation.
10974	ParentId *string `min:"1" type:"string"`
10975
10976	// The type of resource.
10977	Type *string `type:"string" enum:"ResourceType"`
10978
10979	// The version ID of the resource. This is an optional field and is filled for
10980	// action on document version.
10981	VersionId *string `min:"1" type:"string"`
10982}
10983
10984// String returns the string representation.
10985//
10986// API parameter values that are decorated as "sensitive" in the API will not
10987// be included in the string output. The member name will be present, but the
10988// value will be replaced with "sensitive".
10989func (s ResourceMetadata) String() string {
10990	return awsutil.Prettify(s)
10991}
10992
10993// GoString returns the string representation.
10994//
10995// API parameter values that are decorated as "sensitive" in the API will not
10996// be included in the string output. The member name will be present, but the
10997// value will be replaced with "sensitive".
10998func (s ResourceMetadata) GoString() string {
10999	return s.String()
11000}
11001
11002// SetId sets the Id field's value.
11003func (s *ResourceMetadata) SetId(v string) *ResourceMetadata {
11004	s.Id = &v
11005	return s
11006}
11007
11008// SetName sets the Name field's value.
11009func (s *ResourceMetadata) SetName(v string) *ResourceMetadata {
11010	s.Name = &v
11011	return s
11012}
11013
11014// SetOriginalName sets the OriginalName field's value.
11015func (s *ResourceMetadata) SetOriginalName(v string) *ResourceMetadata {
11016	s.OriginalName = &v
11017	return s
11018}
11019
11020// SetOwner sets the Owner field's value.
11021func (s *ResourceMetadata) SetOwner(v *UserMetadata) *ResourceMetadata {
11022	s.Owner = v
11023	return s
11024}
11025
11026// SetParentId sets the ParentId field's value.
11027func (s *ResourceMetadata) SetParentId(v string) *ResourceMetadata {
11028	s.ParentId = &v
11029	return s
11030}
11031
11032// SetType sets the Type field's value.
11033func (s *ResourceMetadata) SetType(v string) *ResourceMetadata {
11034	s.Type = &v
11035	return s
11036}
11037
11038// SetVersionId sets the VersionId field's value.
11039func (s *ResourceMetadata) SetVersionId(v string) *ResourceMetadata {
11040	s.VersionId = &v
11041	return s
11042}
11043
11044// Describes the path information of a resource.
11045type ResourcePath struct {
11046	_ struct{} `type:"structure"`
11047
11048	// The components of the resource path.
11049	Components []*ResourcePathComponent `type:"list"`
11050}
11051
11052// String returns the string representation.
11053//
11054// API parameter values that are decorated as "sensitive" in the API will not
11055// be included in the string output. The member name will be present, but the
11056// value will be replaced with "sensitive".
11057func (s ResourcePath) String() string {
11058	return awsutil.Prettify(s)
11059}
11060
11061// GoString returns the string representation.
11062//
11063// API parameter values that are decorated as "sensitive" in the API will not
11064// be included in the string output. The member name will be present, but the
11065// value will be replaced with "sensitive".
11066func (s ResourcePath) GoString() string {
11067	return s.String()
11068}
11069
11070// SetComponents sets the Components field's value.
11071func (s *ResourcePath) SetComponents(v []*ResourcePathComponent) *ResourcePath {
11072	s.Components = v
11073	return s
11074}
11075
11076// Describes the resource path.
11077type ResourcePathComponent struct {
11078	_ struct{} `type:"structure"`
11079
11080	// The ID of the resource path.
11081	Id *string `min:"1" type:"string"`
11082
11083	// The name of the resource path.
11084	Name *string `min:"1" type:"string"`
11085}
11086
11087// String returns the string representation.
11088//
11089// API parameter values that are decorated as "sensitive" in the API will not
11090// be included in the string output. The member name will be present, but the
11091// value will be replaced with "sensitive".
11092func (s ResourcePathComponent) String() string {
11093	return awsutil.Prettify(s)
11094}
11095
11096// GoString returns the string representation.
11097//
11098// API parameter values that are decorated as "sensitive" in the API will not
11099// be included in the string output. The member name will be present, but the
11100// value will be replaced with "sensitive".
11101func (s ResourcePathComponent) GoString() string {
11102	return s.String()
11103}
11104
11105// SetId sets the Id field's value.
11106func (s *ResourcePathComponent) SetId(v string) *ResourcePathComponent {
11107	s.Id = &v
11108	return s
11109}
11110
11111// SetName sets the Name field's value.
11112func (s *ResourcePathComponent) SetName(v string) *ResourcePathComponent {
11113	s.Name = &v
11114	return s
11115}
11116
11117// One or more of the dependencies is unavailable.
11118type ServiceUnavailableException struct {
11119	_            struct{}                  `type:"structure"`
11120	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11121
11122	Message_ *string `locationName:"Message" type:"string"`
11123}
11124
11125// String returns the string representation.
11126//
11127// API parameter values that are decorated as "sensitive" in the API will not
11128// be included in the string output. The member name will be present, but the
11129// value will be replaced with "sensitive".
11130func (s ServiceUnavailableException) String() string {
11131	return awsutil.Prettify(s)
11132}
11133
11134// GoString returns the string representation.
11135//
11136// API parameter values that are decorated as "sensitive" in the API will not
11137// be included in the string output. The member name will be present, but the
11138// value will be replaced with "sensitive".
11139func (s ServiceUnavailableException) GoString() string {
11140	return s.String()
11141}
11142
11143func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
11144	return &ServiceUnavailableException{
11145		RespMetadata: v,
11146	}
11147}
11148
11149// Code returns the exception type name.
11150func (s *ServiceUnavailableException) Code() string {
11151	return "ServiceUnavailableException"
11152}
11153
11154// Message returns the exception's message.
11155func (s *ServiceUnavailableException) Message() string {
11156	if s.Message_ != nil {
11157		return *s.Message_
11158	}
11159	return ""
11160}
11161
11162// OrigErr always returns nil, satisfies awserr.Error interface.
11163func (s *ServiceUnavailableException) OrigErr() error {
11164	return nil
11165}
11166
11167func (s *ServiceUnavailableException) Error() string {
11168	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11169}
11170
11171// Status code returns the HTTP status code for the request's response error.
11172func (s *ServiceUnavailableException) StatusCode() int {
11173	return s.RespMetadata.StatusCode
11174}
11175
11176// RequestID returns the service's response RequestID for request.
11177func (s *ServiceUnavailableException) RequestID() string {
11178	return s.RespMetadata.RequestID
11179}
11180
11181// Describes the recipient type and ID, if available.
11182type SharePrincipal struct {
11183	_ struct{} `type:"structure"`
11184
11185	// The ID of the recipient.
11186	//
11187	// Id is a required field
11188	Id *string `min:"1" type:"string" required:"true"`
11189
11190	// The role of the recipient.
11191	//
11192	// Role is a required field
11193	Role *string `type:"string" required:"true" enum:"RoleType"`
11194
11195	// The type of the recipient.
11196	//
11197	// Type is a required field
11198	Type *string `type:"string" required:"true" enum:"PrincipalType"`
11199}
11200
11201// String returns the string representation.
11202//
11203// API parameter values that are decorated as "sensitive" in the API will not
11204// be included in the string output. The member name will be present, but the
11205// value will be replaced with "sensitive".
11206func (s SharePrincipal) String() string {
11207	return awsutil.Prettify(s)
11208}
11209
11210// GoString returns the string representation.
11211//
11212// API parameter values that are decorated as "sensitive" in the API will not
11213// be included in the string output. The member name will be present, but the
11214// value will be replaced with "sensitive".
11215func (s SharePrincipal) GoString() string {
11216	return s.String()
11217}
11218
11219// Validate inspects the fields of the type to determine if they are valid.
11220func (s *SharePrincipal) Validate() error {
11221	invalidParams := request.ErrInvalidParams{Context: "SharePrincipal"}
11222	if s.Id == nil {
11223		invalidParams.Add(request.NewErrParamRequired("Id"))
11224	}
11225	if s.Id != nil && len(*s.Id) < 1 {
11226		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11227	}
11228	if s.Role == nil {
11229		invalidParams.Add(request.NewErrParamRequired("Role"))
11230	}
11231	if s.Type == nil {
11232		invalidParams.Add(request.NewErrParamRequired("Type"))
11233	}
11234
11235	if invalidParams.Len() > 0 {
11236		return invalidParams
11237	}
11238	return nil
11239}
11240
11241// SetId sets the Id field's value.
11242func (s *SharePrincipal) SetId(v string) *SharePrincipal {
11243	s.Id = &v
11244	return s
11245}
11246
11247// SetRole sets the Role field's value.
11248func (s *SharePrincipal) SetRole(v string) *SharePrincipal {
11249	s.Role = &v
11250	return s
11251}
11252
11253// SetType sets the Type field's value.
11254func (s *SharePrincipal) SetType(v string) *SharePrincipal {
11255	s.Type = &v
11256	return s
11257}
11258
11259// Describes the share results of a resource.
11260type ShareResult struct {
11261	_ struct{} `type:"structure"`
11262
11263	// The ID of the invited user.
11264	InviteePrincipalId *string `min:"1" type:"string"`
11265
11266	// The ID of the principal.
11267	PrincipalId *string `min:"1" type:"string"`
11268
11269	// The role.
11270	Role *string `type:"string" enum:"RoleType"`
11271
11272	// The ID of the resource that was shared.
11273	ShareId *string `min:"1" type:"string"`
11274
11275	// The status.
11276	Status *string `type:"string" enum:"ShareStatusType"`
11277
11278	// The status message.
11279	//
11280	// StatusMessage is a sensitive parameter and its value will be
11281	// replaced with "sensitive" in string returned by ShareResult's
11282	// String and GoString methods.
11283	StatusMessage *string `type:"string" sensitive:"true"`
11284}
11285
11286// String returns the string representation.
11287//
11288// API parameter values that are decorated as "sensitive" in the API will not
11289// be included in the string output. The member name will be present, but the
11290// value will be replaced with "sensitive".
11291func (s ShareResult) String() string {
11292	return awsutil.Prettify(s)
11293}
11294
11295// GoString returns the string representation.
11296//
11297// API parameter values that are decorated as "sensitive" in the API will not
11298// be included in the string output. The member name will be present, but the
11299// value will be replaced with "sensitive".
11300func (s ShareResult) GoString() string {
11301	return s.String()
11302}
11303
11304// SetInviteePrincipalId sets the InviteePrincipalId field's value.
11305func (s *ShareResult) SetInviteePrincipalId(v string) *ShareResult {
11306	s.InviteePrincipalId = &v
11307	return s
11308}
11309
11310// SetPrincipalId sets the PrincipalId field's value.
11311func (s *ShareResult) SetPrincipalId(v string) *ShareResult {
11312	s.PrincipalId = &v
11313	return s
11314}
11315
11316// SetRole sets the Role field's value.
11317func (s *ShareResult) SetRole(v string) *ShareResult {
11318	s.Role = &v
11319	return s
11320}
11321
11322// SetShareId sets the ShareId field's value.
11323func (s *ShareResult) SetShareId(v string) *ShareResult {
11324	s.ShareId = &v
11325	return s
11326}
11327
11328// SetStatus sets the Status field's value.
11329func (s *ShareResult) SetStatus(v string) *ShareResult {
11330	s.Status = &v
11331	return s
11332}
11333
11334// SetStatusMessage sets the StatusMessage field's value.
11335func (s *ShareResult) SetStatusMessage(v string) *ShareResult {
11336	s.StatusMessage = &v
11337	return s
11338}
11339
11340// The storage limit has been exceeded.
11341type StorageLimitExceededException struct {
11342	_            struct{}                  `type:"structure"`
11343	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11344
11345	Message_ *string `locationName:"Message" type:"string"`
11346}
11347
11348// String returns the string representation.
11349//
11350// API parameter values that are decorated as "sensitive" in the API will not
11351// be included in the string output. The member name will be present, but the
11352// value will be replaced with "sensitive".
11353func (s StorageLimitExceededException) String() string {
11354	return awsutil.Prettify(s)
11355}
11356
11357// GoString returns the string representation.
11358//
11359// API parameter values that are decorated as "sensitive" in the API will not
11360// be included in the string output. The member name will be present, but the
11361// value will be replaced with "sensitive".
11362func (s StorageLimitExceededException) GoString() string {
11363	return s.String()
11364}
11365
11366func newErrorStorageLimitExceededException(v protocol.ResponseMetadata) error {
11367	return &StorageLimitExceededException{
11368		RespMetadata: v,
11369	}
11370}
11371
11372// Code returns the exception type name.
11373func (s *StorageLimitExceededException) Code() string {
11374	return "StorageLimitExceededException"
11375}
11376
11377// Message returns the exception's message.
11378func (s *StorageLimitExceededException) Message() string {
11379	if s.Message_ != nil {
11380		return *s.Message_
11381	}
11382	return ""
11383}
11384
11385// OrigErr always returns nil, satisfies awserr.Error interface.
11386func (s *StorageLimitExceededException) OrigErr() error {
11387	return nil
11388}
11389
11390func (s *StorageLimitExceededException) Error() string {
11391	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11392}
11393
11394// Status code returns the HTTP status code for the request's response error.
11395func (s *StorageLimitExceededException) StatusCode() int {
11396	return s.RespMetadata.StatusCode
11397}
11398
11399// RequestID returns the service's response RequestID for request.
11400func (s *StorageLimitExceededException) RequestID() string {
11401	return s.RespMetadata.RequestID
11402}
11403
11404// The storage limit will be exceeded.
11405type StorageLimitWillExceedException struct {
11406	_            struct{}                  `type:"structure"`
11407	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11408
11409	Message_ *string `locationName:"Message" type:"string"`
11410}
11411
11412// String returns the string representation.
11413//
11414// API parameter values that are decorated as "sensitive" in the API will not
11415// be included in the string output. The member name will be present, but the
11416// value will be replaced with "sensitive".
11417func (s StorageLimitWillExceedException) String() string {
11418	return awsutil.Prettify(s)
11419}
11420
11421// GoString returns the string representation.
11422//
11423// API parameter values that are decorated as "sensitive" in the API will not
11424// be included in the string output. The member name will be present, but the
11425// value will be replaced with "sensitive".
11426func (s StorageLimitWillExceedException) GoString() string {
11427	return s.String()
11428}
11429
11430func newErrorStorageLimitWillExceedException(v protocol.ResponseMetadata) error {
11431	return &StorageLimitWillExceedException{
11432		RespMetadata: v,
11433	}
11434}
11435
11436// Code returns the exception type name.
11437func (s *StorageLimitWillExceedException) Code() string {
11438	return "StorageLimitWillExceedException"
11439}
11440
11441// Message returns the exception's message.
11442func (s *StorageLimitWillExceedException) Message() string {
11443	if s.Message_ != nil {
11444		return *s.Message_
11445	}
11446	return ""
11447}
11448
11449// OrigErr always returns nil, satisfies awserr.Error interface.
11450func (s *StorageLimitWillExceedException) OrigErr() error {
11451	return nil
11452}
11453
11454func (s *StorageLimitWillExceedException) Error() string {
11455	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11456}
11457
11458// Status code returns the HTTP status code for the request's response error.
11459func (s *StorageLimitWillExceedException) StatusCode() int {
11460	return s.RespMetadata.StatusCode
11461}
11462
11463// RequestID returns the service's response RequestID for request.
11464func (s *StorageLimitWillExceedException) RequestID() string {
11465	return s.RespMetadata.RequestID
11466}
11467
11468// Describes the storage for a user.
11469type StorageRuleType struct {
11470	_ struct{} `type:"structure"`
11471
11472	// The amount of storage allocated, in bytes.
11473	StorageAllocatedInBytes *int64 `type:"long"`
11474
11475	// The type of storage.
11476	StorageType *string `type:"string" enum:"StorageType"`
11477}
11478
11479// String returns the string representation.
11480//
11481// API parameter values that are decorated as "sensitive" in the API will not
11482// be included in the string output. The member name will be present, but the
11483// value will be replaced with "sensitive".
11484func (s StorageRuleType) String() string {
11485	return awsutil.Prettify(s)
11486}
11487
11488// GoString returns the string representation.
11489//
11490// API parameter values that are decorated as "sensitive" in the API will not
11491// be included in the string output. The member name will be present, but the
11492// value will be replaced with "sensitive".
11493func (s StorageRuleType) GoString() string {
11494	return s.String()
11495}
11496
11497// SetStorageAllocatedInBytes sets the StorageAllocatedInBytes field's value.
11498func (s *StorageRuleType) SetStorageAllocatedInBytes(v int64) *StorageRuleType {
11499	s.StorageAllocatedInBytes = &v
11500	return s
11501}
11502
11503// SetStorageType sets the StorageType field's value.
11504func (s *StorageRuleType) SetStorageType(v string) *StorageRuleType {
11505	s.StorageType = &v
11506	return s
11507}
11508
11509// Describes a subscription.
11510type Subscription struct {
11511	_ struct{} `type:"structure"`
11512
11513	// The endpoint of the subscription.
11514	EndPoint *string `min:"1" type:"string"`
11515
11516	// The protocol of the subscription.
11517	Protocol *string `type:"string" enum:"SubscriptionProtocolType"`
11518
11519	// The ID of the subscription.
11520	SubscriptionId *string `min:"1" type:"string"`
11521}
11522
11523// String returns the string representation.
11524//
11525// API parameter values that are decorated as "sensitive" in the API will not
11526// be included in the string output. The member name will be present, but the
11527// value will be replaced with "sensitive".
11528func (s Subscription) String() string {
11529	return awsutil.Prettify(s)
11530}
11531
11532// GoString returns the string representation.
11533//
11534// API parameter values that are decorated as "sensitive" in the API will not
11535// be included in the string output. The member name will be present, but the
11536// value will be replaced with "sensitive".
11537func (s Subscription) GoString() string {
11538	return s.String()
11539}
11540
11541// SetEndPoint sets the EndPoint field's value.
11542func (s *Subscription) SetEndPoint(v string) *Subscription {
11543	s.EndPoint = &v
11544	return s
11545}
11546
11547// SetProtocol sets the Protocol field's value.
11548func (s *Subscription) SetProtocol(v string) *Subscription {
11549	s.Protocol = &v
11550	return s
11551}
11552
11553// SetSubscriptionId sets the SubscriptionId field's value.
11554func (s *Subscription) SetSubscriptionId(v string) *Subscription {
11555	s.SubscriptionId = &v
11556	return s
11557}
11558
11559// The limit has been reached on the number of labels for the specified resource.
11560type TooManyLabelsException struct {
11561	_            struct{}                  `type:"structure"`
11562	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11563
11564	Message_ *string `locationName:"Message" type:"string"`
11565}
11566
11567// String returns the string representation.
11568//
11569// API parameter values that are decorated as "sensitive" in the API will not
11570// be included in the string output. The member name will be present, but the
11571// value will be replaced with "sensitive".
11572func (s TooManyLabelsException) String() string {
11573	return awsutil.Prettify(s)
11574}
11575
11576// GoString returns the string representation.
11577//
11578// API parameter values that are decorated as "sensitive" in the API will not
11579// be included in the string output. The member name will be present, but the
11580// value will be replaced with "sensitive".
11581func (s TooManyLabelsException) GoString() string {
11582	return s.String()
11583}
11584
11585func newErrorTooManyLabelsException(v protocol.ResponseMetadata) error {
11586	return &TooManyLabelsException{
11587		RespMetadata: v,
11588	}
11589}
11590
11591// Code returns the exception type name.
11592func (s *TooManyLabelsException) Code() string {
11593	return "TooManyLabelsException"
11594}
11595
11596// Message returns the exception's message.
11597func (s *TooManyLabelsException) Message() string {
11598	if s.Message_ != nil {
11599		return *s.Message_
11600	}
11601	return ""
11602}
11603
11604// OrigErr always returns nil, satisfies awserr.Error interface.
11605func (s *TooManyLabelsException) OrigErr() error {
11606	return nil
11607}
11608
11609func (s *TooManyLabelsException) Error() string {
11610	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11611}
11612
11613// Status code returns the HTTP status code for the request's response error.
11614func (s *TooManyLabelsException) StatusCode() int {
11615	return s.RespMetadata.StatusCode
11616}
11617
11618// RequestID returns the service's response RequestID for request.
11619func (s *TooManyLabelsException) RequestID() string {
11620	return s.RespMetadata.RequestID
11621}
11622
11623// You've reached the limit on the number of subscriptions for the WorkDocs
11624// instance.
11625type TooManySubscriptionsException struct {
11626	_            struct{}                  `type:"structure"`
11627	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11628
11629	Message_ *string `locationName:"Message" type:"string"`
11630}
11631
11632// String returns the string representation.
11633//
11634// API parameter values that are decorated as "sensitive" in the API will not
11635// be included in the string output. The member name will be present, but the
11636// value will be replaced with "sensitive".
11637func (s TooManySubscriptionsException) String() string {
11638	return awsutil.Prettify(s)
11639}
11640
11641// GoString returns the string representation.
11642//
11643// API parameter values that are decorated as "sensitive" in the API will not
11644// be included in the string output. The member name will be present, but the
11645// value will be replaced with "sensitive".
11646func (s TooManySubscriptionsException) GoString() string {
11647	return s.String()
11648}
11649
11650func newErrorTooManySubscriptionsException(v protocol.ResponseMetadata) error {
11651	return &TooManySubscriptionsException{
11652		RespMetadata: v,
11653	}
11654}
11655
11656// Code returns the exception type name.
11657func (s *TooManySubscriptionsException) Code() string {
11658	return "TooManySubscriptionsException"
11659}
11660
11661// Message returns the exception's message.
11662func (s *TooManySubscriptionsException) Message() string {
11663	if s.Message_ != nil {
11664		return *s.Message_
11665	}
11666	return ""
11667}
11668
11669// OrigErr always returns nil, satisfies awserr.Error interface.
11670func (s *TooManySubscriptionsException) OrigErr() error {
11671	return nil
11672}
11673
11674func (s *TooManySubscriptionsException) Error() string {
11675	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11676}
11677
11678// Status code returns the HTTP status code for the request's response error.
11679func (s *TooManySubscriptionsException) StatusCode() int {
11680	return s.RespMetadata.StatusCode
11681}
11682
11683// RequestID returns the service's response RequestID for request.
11684func (s *TooManySubscriptionsException) RequestID() string {
11685	return s.RespMetadata.RequestID
11686}
11687
11688// The operation is not permitted.
11689type UnauthorizedOperationException struct {
11690	_            struct{}                  `type:"structure"`
11691	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11692
11693	Message_ *string `locationName:"message" type:"string"`
11694}
11695
11696// String returns the string representation.
11697//
11698// API parameter values that are decorated as "sensitive" in the API will not
11699// be included in the string output. The member name will be present, but the
11700// value will be replaced with "sensitive".
11701func (s UnauthorizedOperationException) String() string {
11702	return awsutil.Prettify(s)
11703}
11704
11705// GoString returns the string representation.
11706//
11707// API parameter values that are decorated as "sensitive" in the API will not
11708// be included in the string output. The member name will be present, but the
11709// value will be replaced with "sensitive".
11710func (s UnauthorizedOperationException) GoString() string {
11711	return s.String()
11712}
11713
11714func newErrorUnauthorizedOperationException(v protocol.ResponseMetadata) error {
11715	return &UnauthorizedOperationException{
11716		RespMetadata: v,
11717	}
11718}
11719
11720// Code returns the exception type name.
11721func (s *UnauthorizedOperationException) Code() string {
11722	return "UnauthorizedOperationException"
11723}
11724
11725// Message returns the exception's message.
11726func (s *UnauthorizedOperationException) Message() string {
11727	if s.Message_ != nil {
11728		return *s.Message_
11729	}
11730	return ""
11731}
11732
11733// OrigErr always returns nil, satisfies awserr.Error interface.
11734func (s *UnauthorizedOperationException) OrigErr() error {
11735	return nil
11736}
11737
11738func (s *UnauthorizedOperationException) Error() string {
11739	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11740}
11741
11742// Status code returns the HTTP status code for the request's response error.
11743func (s *UnauthorizedOperationException) StatusCode() int {
11744	return s.RespMetadata.StatusCode
11745}
11746
11747// RequestID returns the service's response RequestID for request.
11748func (s *UnauthorizedOperationException) RequestID() string {
11749	return s.RespMetadata.RequestID
11750}
11751
11752// The caller does not have access to perform the action on the resource.
11753type UnauthorizedResourceAccessException struct {
11754	_            struct{}                  `type:"structure"`
11755	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11756
11757	Message_ *string `locationName:"Message" type:"string"`
11758}
11759
11760// String returns the string representation.
11761//
11762// API parameter values that are decorated as "sensitive" in the API will not
11763// be included in the string output. The member name will be present, but the
11764// value will be replaced with "sensitive".
11765func (s UnauthorizedResourceAccessException) String() string {
11766	return awsutil.Prettify(s)
11767}
11768
11769// GoString returns the string representation.
11770//
11771// API parameter values that are decorated as "sensitive" in the API will not
11772// be included in the string output. The member name will be present, but the
11773// value will be replaced with "sensitive".
11774func (s UnauthorizedResourceAccessException) GoString() string {
11775	return s.String()
11776}
11777
11778func newErrorUnauthorizedResourceAccessException(v protocol.ResponseMetadata) error {
11779	return &UnauthorizedResourceAccessException{
11780		RespMetadata: v,
11781	}
11782}
11783
11784// Code returns the exception type name.
11785func (s *UnauthorizedResourceAccessException) Code() string {
11786	return "UnauthorizedResourceAccessException"
11787}
11788
11789// Message returns the exception's message.
11790func (s *UnauthorizedResourceAccessException) Message() string {
11791	if s.Message_ != nil {
11792		return *s.Message_
11793	}
11794	return ""
11795}
11796
11797// OrigErr always returns nil, satisfies awserr.Error interface.
11798func (s *UnauthorizedResourceAccessException) OrigErr() error {
11799	return nil
11800}
11801
11802func (s *UnauthorizedResourceAccessException) Error() string {
11803	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11804}
11805
11806// Status code returns the HTTP status code for the request's response error.
11807func (s *UnauthorizedResourceAccessException) StatusCode() int {
11808	return s.RespMetadata.StatusCode
11809}
11810
11811// RequestID returns the service's response RequestID for request.
11812func (s *UnauthorizedResourceAccessException) RequestID() string {
11813	return s.RespMetadata.RequestID
11814}
11815
11816type UpdateDocumentInput struct {
11817	_ struct{} `type:"structure"`
11818
11819	// Amazon WorkDocs authentication token. Not required when using AWS administrator
11820	// credentials to access the API.
11821	//
11822	// AuthenticationToken is a sensitive parameter and its value will be
11823	// replaced with "sensitive" in string returned by UpdateDocumentInput's
11824	// String and GoString methods.
11825	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
11826
11827	// The ID of the document.
11828	//
11829	// DocumentId is a required field
11830	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
11831
11832	// The name of the document.
11833	Name *string `min:"1" type:"string"`
11834
11835	// The ID of the parent folder.
11836	ParentFolderId *string `min:"1" type:"string"`
11837
11838	// The resource state of the document. Only ACTIVE and RECYCLED are supported.
11839	ResourceState *string `type:"string" enum:"ResourceStateType"`
11840}
11841
11842// String returns the string representation.
11843//
11844// API parameter values that are decorated as "sensitive" in the API will not
11845// be included in the string output. The member name will be present, but the
11846// value will be replaced with "sensitive".
11847func (s UpdateDocumentInput) String() string {
11848	return awsutil.Prettify(s)
11849}
11850
11851// GoString returns the string representation.
11852//
11853// API parameter values that are decorated as "sensitive" in the API will not
11854// be included in the string output. The member name will be present, but the
11855// value will be replaced with "sensitive".
11856func (s UpdateDocumentInput) GoString() string {
11857	return s.String()
11858}
11859
11860// Validate inspects the fields of the type to determine if they are valid.
11861func (s *UpdateDocumentInput) Validate() error {
11862	invalidParams := request.ErrInvalidParams{Context: "UpdateDocumentInput"}
11863	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
11864		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
11865	}
11866	if s.DocumentId == nil {
11867		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
11868	}
11869	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
11870		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
11871	}
11872	if s.Name != nil && len(*s.Name) < 1 {
11873		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
11874	}
11875	if s.ParentFolderId != nil && len(*s.ParentFolderId) < 1 {
11876		invalidParams.Add(request.NewErrParamMinLen("ParentFolderId", 1))
11877	}
11878
11879	if invalidParams.Len() > 0 {
11880		return invalidParams
11881	}
11882	return nil
11883}
11884
11885// SetAuthenticationToken sets the AuthenticationToken field's value.
11886func (s *UpdateDocumentInput) SetAuthenticationToken(v string) *UpdateDocumentInput {
11887	s.AuthenticationToken = &v
11888	return s
11889}
11890
11891// SetDocumentId sets the DocumentId field's value.
11892func (s *UpdateDocumentInput) SetDocumentId(v string) *UpdateDocumentInput {
11893	s.DocumentId = &v
11894	return s
11895}
11896
11897// SetName sets the Name field's value.
11898func (s *UpdateDocumentInput) SetName(v string) *UpdateDocumentInput {
11899	s.Name = &v
11900	return s
11901}
11902
11903// SetParentFolderId sets the ParentFolderId field's value.
11904func (s *UpdateDocumentInput) SetParentFolderId(v string) *UpdateDocumentInput {
11905	s.ParentFolderId = &v
11906	return s
11907}
11908
11909// SetResourceState sets the ResourceState field's value.
11910func (s *UpdateDocumentInput) SetResourceState(v string) *UpdateDocumentInput {
11911	s.ResourceState = &v
11912	return s
11913}
11914
11915type UpdateDocumentOutput struct {
11916	_ struct{} `type:"structure"`
11917}
11918
11919// String returns the string representation.
11920//
11921// API parameter values that are decorated as "sensitive" in the API will not
11922// be included in the string output. The member name will be present, but the
11923// value will be replaced with "sensitive".
11924func (s UpdateDocumentOutput) String() string {
11925	return awsutil.Prettify(s)
11926}
11927
11928// GoString returns the string representation.
11929//
11930// API parameter values that are decorated as "sensitive" in the API will not
11931// be included in the string output. The member name will be present, but the
11932// value will be replaced with "sensitive".
11933func (s UpdateDocumentOutput) GoString() string {
11934	return s.String()
11935}
11936
11937type UpdateDocumentVersionInput struct {
11938	_ struct{} `type:"structure"`
11939
11940	// Amazon WorkDocs authentication token. Not required when using AWS administrator
11941	// credentials to access the API.
11942	//
11943	// AuthenticationToken is a sensitive parameter and its value will be
11944	// replaced with "sensitive" in string returned by UpdateDocumentVersionInput's
11945	// String and GoString methods.
11946	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
11947
11948	// The ID of the document.
11949	//
11950	// DocumentId is a required field
11951	DocumentId *string `location:"uri" locationName:"DocumentId" min:"1" type:"string" required:"true"`
11952
11953	// The version ID of the document.
11954	//
11955	// VersionId is a required field
11956	VersionId *string `location:"uri" locationName:"VersionId" min:"1" type:"string" required:"true"`
11957
11958	// The status of the version.
11959	VersionStatus *string `type:"string" enum:"DocumentVersionStatus"`
11960}
11961
11962// String returns the string representation.
11963//
11964// API parameter values that are decorated as "sensitive" in the API will not
11965// be included in the string output. The member name will be present, but the
11966// value will be replaced with "sensitive".
11967func (s UpdateDocumentVersionInput) String() string {
11968	return awsutil.Prettify(s)
11969}
11970
11971// GoString returns the string representation.
11972//
11973// API parameter values that are decorated as "sensitive" in the API will not
11974// be included in the string output. The member name will be present, but the
11975// value will be replaced with "sensitive".
11976func (s UpdateDocumentVersionInput) GoString() string {
11977	return s.String()
11978}
11979
11980// Validate inspects the fields of the type to determine if they are valid.
11981func (s *UpdateDocumentVersionInput) Validate() error {
11982	invalidParams := request.ErrInvalidParams{Context: "UpdateDocumentVersionInput"}
11983	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
11984		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
11985	}
11986	if s.DocumentId == nil {
11987		invalidParams.Add(request.NewErrParamRequired("DocumentId"))
11988	}
11989	if s.DocumentId != nil && len(*s.DocumentId) < 1 {
11990		invalidParams.Add(request.NewErrParamMinLen("DocumentId", 1))
11991	}
11992	if s.VersionId == nil {
11993		invalidParams.Add(request.NewErrParamRequired("VersionId"))
11994	}
11995	if s.VersionId != nil && len(*s.VersionId) < 1 {
11996		invalidParams.Add(request.NewErrParamMinLen("VersionId", 1))
11997	}
11998
11999	if invalidParams.Len() > 0 {
12000		return invalidParams
12001	}
12002	return nil
12003}
12004
12005// SetAuthenticationToken sets the AuthenticationToken field's value.
12006func (s *UpdateDocumentVersionInput) SetAuthenticationToken(v string) *UpdateDocumentVersionInput {
12007	s.AuthenticationToken = &v
12008	return s
12009}
12010
12011// SetDocumentId sets the DocumentId field's value.
12012func (s *UpdateDocumentVersionInput) SetDocumentId(v string) *UpdateDocumentVersionInput {
12013	s.DocumentId = &v
12014	return s
12015}
12016
12017// SetVersionId sets the VersionId field's value.
12018func (s *UpdateDocumentVersionInput) SetVersionId(v string) *UpdateDocumentVersionInput {
12019	s.VersionId = &v
12020	return s
12021}
12022
12023// SetVersionStatus sets the VersionStatus field's value.
12024func (s *UpdateDocumentVersionInput) SetVersionStatus(v string) *UpdateDocumentVersionInput {
12025	s.VersionStatus = &v
12026	return s
12027}
12028
12029type UpdateDocumentVersionOutput struct {
12030	_ struct{} `type:"structure"`
12031}
12032
12033// String returns the string representation.
12034//
12035// API parameter values that are decorated as "sensitive" in the API will not
12036// be included in the string output. The member name will be present, but the
12037// value will be replaced with "sensitive".
12038func (s UpdateDocumentVersionOutput) String() string {
12039	return awsutil.Prettify(s)
12040}
12041
12042// GoString returns the string representation.
12043//
12044// API parameter values that are decorated as "sensitive" in the API will not
12045// be included in the string output. The member name will be present, but the
12046// value will be replaced with "sensitive".
12047func (s UpdateDocumentVersionOutput) GoString() string {
12048	return s.String()
12049}
12050
12051type UpdateFolderInput struct {
12052	_ struct{} `type:"structure"`
12053
12054	// Amazon WorkDocs authentication token. Not required when using AWS administrator
12055	// credentials to access the API.
12056	//
12057	// AuthenticationToken is a sensitive parameter and its value will be
12058	// replaced with "sensitive" in string returned by UpdateFolderInput's
12059	// String and GoString methods.
12060	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
12061
12062	// The ID of the folder.
12063	//
12064	// FolderId is a required field
12065	FolderId *string `location:"uri" locationName:"FolderId" min:"1" type:"string" required:"true"`
12066
12067	// The name of the folder.
12068	Name *string `min:"1" type:"string"`
12069
12070	// The ID of the parent folder.
12071	ParentFolderId *string `min:"1" type:"string"`
12072
12073	// The resource state of the folder. Only ACTIVE and RECYCLED are accepted values
12074	// from the API.
12075	ResourceState *string `type:"string" enum:"ResourceStateType"`
12076}
12077
12078// String returns the string representation.
12079//
12080// API parameter values that are decorated as "sensitive" in the API will not
12081// be included in the string output. The member name will be present, but the
12082// value will be replaced with "sensitive".
12083func (s UpdateFolderInput) String() string {
12084	return awsutil.Prettify(s)
12085}
12086
12087// GoString returns the string representation.
12088//
12089// API parameter values that are decorated as "sensitive" in the API will not
12090// be included in the string output. The member name will be present, but the
12091// value will be replaced with "sensitive".
12092func (s UpdateFolderInput) GoString() string {
12093	return s.String()
12094}
12095
12096// Validate inspects the fields of the type to determine if they are valid.
12097func (s *UpdateFolderInput) Validate() error {
12098	invalidParams := request.ErrInvalidParams{Context: "UpdateFolderInput"}
12099	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
12100		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
12101	}
12102	if s.FolderId == nil {
12103		invalidParams.Add(request.NewErrParamRequired("FolderId"))
12104	}
12105	if s.FolderId != nil && len(*s.FolderId) < 1 {
12106		invalidParams.Add(request.NewErrParamMinLen("FolderId", 1))
12107	}
12108	if s.Name != nil && len(*s.Name) < 1 {
12109		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
12110	}
12111	if s.ParentFolderId != nil && len(*s.ParentFolderId) < 1 {
12112		invalidParams.Add(request.NewErrParamMinLen("ParentFolderId", 1))
12113	}
12114
12115	if invalidParams.Len() > 0 {
12116		return invalidParams
12117	}
12118	return nil
12119}
12120
12121// SetAuthenticationToken sets the AuthenticationToken field's value.
12122func (s *UpdateFolderInput) SetAuthenticationToken(v string) *UpdateFolderInput {
12123	s.AuthenticationToken = &v
12124	return s
12125}
12126
12127// SetFolderId sets the FolderId field's value.
12128func (s *UpdateFolderInput) SetFolderId(v string) *UpdateFolderInput {
12129	s.FolderId = &v
12130	return s
12131}
12132
12133// SetName sets the Name field's value.
12134func (s *UpdateFolderInput) SetName(v string) *UpdateFolderInput {
12135	s.Name = &v
12136	return s
12137}
12138
12139// SetParentFolderId sets the ParentFolderId field's value.
12140func (s *UpdateFolderInput) SetParentFolderId(v string) *UpdateFolderInput {
12141	s.ParentFolderId = &v
12142	return s
12143}
12144
12145// SetResourceState sets the ResourceState field's value.
12146func (s *UpdateFolderInput) SetResourceState(v string) *UpdateFolderInput {
12147	s.ResourceState = &v
12148	return s
12149}
12150
12151type UpdateFolderOutput struct {
12152	_ struct{} `type:"structure"`
12153}
12154
12155// String returns the string representation.
12156//
12157// API parameter values that are decorated as "sensitive" in the API will not
12158// be included in the string output. The member name will be present, but the
12159// value will be replaced with "sensitive".
12160func (s UpdateFolderOutput) String() string {
12161	return awsutil.Prettify(s)
12162}
12163
12164// GoString returns the string representation.
12165//
12166// API parameter values that are decorated as "sensitive" in the API will not
12167// be included in the string output. The member name will be present, but the
12168// value will be replaced with "sensitive".
12169func (s UpdateFolderOutput) GoString() string {
12170	return s.String()
12171}
12172
12173type UpdateUserInput struct {
12174	_ struct{} `type:"structure"`
12175
12176	// Amazon WorkDocs authentication token. Not required when using AWS administrator
12177	// credentials to access the API.
12178	//
12179	// AuthenticationToken is a sensitive parameter and its value will be
12180	// replaced with "sensitive" in string returned by UpdateUserInput's
12181	// String and GoString methods.
12182	AuthenticationToken *string `location:"header" locationName:"Authentication" min:"1" type:"string" sensitive:"true"`
12183
12184	// The given name of the user.
12185	GivenName *string `min:"1" type:"string"`
12186
12187	// Boolean value to determine whether the user is granted Poweruser privileges.
12188	GrantPoweruserPrivileges *string `type:"string" enum:"BooleanEnumType"`
12189
12190	// The locale of the user.
12191	Locale *string `type:"string" enum:"LocaleType"`
12192
12193	// The amount of storage for the user.
12194	StorageRule *StorageRuleType `type:"structure"`
12195
12196	// The surname of the user.
12197	Surname *string `min:"1" type:"string"`
12198
12199	// The time zone ID of the user.
12200	TimeZoneId *string `min:"1" type:"string"`
12201
12202	// The type of the user.
12203	Type *string `type:"string" enum:"UserType"`
12204
12205	// The ID of the user.
12206	//
12207	// UserId is a required field
12208	UserId *string `location:"uri" locationName:"UserId" min:"1" type:"string" required:"true"`
12209}
12210
12211// String returns the string representation.
12212//
12213// API parameter values that are decorated as "sensitive" in the API will not
12214// be included in the string output. The member name will be present, but the
12215// value will be replaced with "sensitive".
12216func (s UpdateUserInput) String() string {
12217	return awsutil.Prettify(s)
12218}
12219
12220// GoString returns the string representation.
12221//
12222// API parameter values that are decorated as "sensitive" in the API will not
12223// be included in the string output. The member name will be present, but the
12224// value will be replaced with "sensitive".
12225func (s UpdateUserInput) GoString() string {
12226	return s.String()
12227}
12228
12229// Validate inspects the fields of the type to determine if they are valid.
12230func (s *UpdateUserInput) Validate() error {
12231	invalidParams := request.ErrInvalidParams{Context: "UpdateUserInput"}
12232	if s.AuthenticationToken != nil && len(*s.AuthenticationToken) < 1 {
12233		invalidParams.Add(request.NewErrParamMinLen("AuthenticationToken", 1))
12234	}
12235	if s.GivenName != nil && len(*s.GivenName) < 1 {
12236		invalidParams.Add(request.NewErrParamMinLen("GivenName", 1))
12237	}
12238	if s.Surname != nil && len(*s.Surname) < 1 {
12239		invalidParams.Add(request.NewErrParamMinLen("Surname", 1))
12240	}
12241	if s.TimeZoneId != nil && len(*s.TimeZoneId) < 1 {
12242		invalidParams.Add(request.NewErrParamMinLen("TimeZoneId", 1))
12243	}
12244	if s.UserId == nil {
12245		invalidParams.Add(request.NewErrParamRequired("UserId"))
12246	}
12247	if s.UserId != nil && len(*s.UserId) < 1 {
12248		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
12249	}
12250
12251	if invalidParams.Len() > 0 {
12252		return invalidParams
12253	}
12254	return nil
12255}
12256
12257// SetAuthenticationToken sets the AuthenticationToken field's value.
12258func (s *UpdateUserInput) SetAuthenticationToken(v string) *UpdateUserInput {
12259	s.AuthenticationToken = &v
12260	return s
12261}
12262
12263// SetGivenName sets the GivenName field's value.
12264func (s *UpdateUserInput) SetGivenName(v string) *UpdateUserInput {
12265	s.GivenName = &v
12266	return s
12267}
12268
12269// SetGrantPoweruserPrivileges sets the GrantPoweruserPrivileges field's value.
12270func (s *UpdateUserInput) SetGrantPoweruserPrivileges(v string) *UpdateUserInput {
12271	s.GrantPoweruserPrivileges = &v
12272	return s
12273}
12274
12275// SetLocale sets the Locale field's value.
12276func (s *UpdateUserInput) SetLocale(v string) *UpdateUserInput {
12277	s.Locale = &v
12278	return s
12279}
12280
12281// SetStorageRule sets the StorageRule field's value.
12282func (s *UpdateUserInput) SetStorageRule(v *StorageRuleType) *UpdateUserInput {
12283	s.StorageRule = v
12284	return s
12285}
12286
12287// SetSurname sets the Surname field's value.
12288func (s *UpdateUserInput) SetSurname(v string) *UpdateUserInput {
12289	s.Surname = &v
12290	return s
12291}
12292
12293// SetTimeZoneId sets the TimeZoneId field's value.
12294func (s *UpdateUserInput) SetTimeZoneId(v string) *UpdateUserInput {
12295	s.TimeZoneId = &v
12296	return s
12297}
12298
12299// SetType sets the Type field's value.
12300func (s *UpdateUserInput) SetType(v string) *UpdateUserInput {
12301	s.Type = &v
12302	return s
12303}
12304
12305// SetUserId sets the UserId field's value.
12306func (s *UpdateUserInput) SetUserId(v string) *UpdateUserInput {
12307	s.UserId = &v
12308	return s
12309}
12310
12311type UpdateUserOutput struct {
12312	_ struct{} `type:"structure"`
12313
12314	// The user information.
12315	User *User `type:"structure"`
12316}
12317
12318// String returns the string representation.
12319//
12320// API parameter values that are decorated as "sensitive" in the API will not
12321// be included in the string output. The member name will be present, but the
12322// value will be replaced with "sensitive".
12323func (s UpdateUserOutput) String() string {
12324	return awsutil.Prettify(s)
12325}
12326
12327// GoString returns the string representation.
12328//
12329// API parameter values that are decorated as "sensitive" in the API will not
12330// be included in the string output. The member name will be present, but the
12331// value will be replaced with "sensitive".
12332func (s UpdateUserOutput) GoString() string {
12333	return s.String()
12334}
12335
12336// SetUser sets the User field's value.
12337func (s *UpdateUserOutput) SetUser(v *User) *UpdateUserOutput {
12338	s.User = v
12339	return s
12340}
12341
12342// Describes the upload.
12343type UploadMetadata struct {
12344	_ struct{} `type:"structure"`
12345
12346	// The signed headers.
12347	SignedHeaders map[string]*string `type:"map"`
12348
12349	// The URL of the upload.
12350	//
12351	// UploadUrl is a sensitive parameter and its value will be
12352	// replaced with "sensitive" in string returned by UploadMetadata's
12353	// String and GoString methods.
12354	UploadUrl *string `min:"1" type:"string" sensitive:"true"`
12355}
12356
12357// String returns the string representation.
12358//
12359// API parameter values that are decorated as "sensitive" in the API will not
12360// be included in the string output. The member name will be present, but the
12361// value will be replaced with "sensitive".
12362func (s UploadMetadata) String() string {
12363	return awsutil.Prettify(s)
12364}
12365
12366// GoString returns the string representation.
12367//
12368// API parameter values that are decorated as "sensitive" in the API will not
12369// be included in the string output. The member name will be present, but the
12370// value will be replaced with "sensitive".
12371func (s UploadMetadata) GoString() string {
12372	return s.String()
12373}
12374
12375// SetSignedHeaders sets the SignedHeaders field's value.
12376func (s *UploadMetadata) SetSignedHeaders(v map[string]*string) *UploadMetadata {
12377	s.SignedHeaders = v
12378	return s
12379}
12380
12381// SetUploadUrl sets the UploadUrl field's value.
12382func (s *UploadMetadata) SetUploadUrl(v string) *UploadMetadata {
12383	s.UploadUrl = &v
12384	return s
12385}
12386
12387// Describes a user.
12388type User struct {
12389	_ struct{} `type:"structure"`
12390
12391	// The time when the user was created.
12392	CreatedTimestamp *time.Time `type:"timestamp"`
12393
12394	// The email address of the user.
12395	EmailAddress *string `min:"1" type:"string"`
12396
12397	// The given name of the user.
12398	GivenName *string `min:"1" type:"string"`
12399
12400	// The ID of the user.
12401	Id *string `min:"1" type:"string"`
12402
12403	// The locale of the user.
12404	Locale *string `type:"string" enum:"LocaleType"`
12405
12406	// The time when the user was modified.
12407	ModifiedTimestamp *time.Time `type:"timestamp"`
12408
12409	// The ID of the organization.
12410	OrganizationId *string `min:"1" type:"string"`
12411
12412	// The ID of the recycle bin folder.
12413	RecycleBinFolderId *string `min:"1" type:"string"`
12414
12415	// The ID of the root folder.
12416	RootFolderId *string `min:"1" type:"string"`
12417
12418	// The status of the user.
12419	Status *string `type:"string" enum:"UserStatusType"`
12420
12421	// The storage for the user.
12422	Storage *UserStorageMetadata `type:"structure"`
12423
12424	// The surname of the user.
12425	Surname *string `min:"1" type:"string"`
12426
12427	// The time zone ID of the user.
12428	TimeZoneId *string `min:"1" type:"string"`
12429
12430	// The type of user.
12431	Type *string `type:"string" enum:"UserType"`
12432
12433	// The login name of the user.
12434	Username *string `min:"1" type:"string"`
12435}
12436
12437// String returns the string representation.
12438//
12439// API parameter values that are decorated as "sensitive" in the API will not
12440// be included in the string output. The member name will be present, but the
12441// value will be replaced with "sensitive".
12442func (s User) String() string {
12443	return awsutil.Prettify(s)
12444}
12445
12446// GoString returns the string representation.
12447//
12448// API parameter values that are decorated as "sensitive" in the API will not
12449// be included in the string output. The member name will be present, but the
12450// value will be replaced with "sensitive".
12451func (s User) GoString() string {
12452	return s.String()
12453}
12454
12455// SetCreatedTimestamp sets the CreatedTimestamp field's value.
12456func (s *User) SetCreatedTimestamp(v time.Time) *User {
12457	s.CreatedTimestamp = &v
12458	return s
12459}
12460
12461// SetEmailAddress sets the EmailAddress field's value.
12462func (s *User) SetEmailAddress(v string) *User {
12463	s.EmailAddress = &v
12464	return s
12465}
12466
12467// SetGivenName sets the GivenName field's value.
12468func (s *User) SetGivenName(v string) *User {
12469	s.GivenName = &v
12470	return s
12471}
12472
12473// SetId sets the Id field's value.
12474func (s *User) SetId(v string) *User {
12475	s.Id = &v
12476	return s
12477}
12478
12479// SetLocale sets the Locale field's value.
12480func (s *User) SetLocale(v string) *User {
12481	s.Locale = &v
12482	return s
12483}
12484
12485// SetModifiedTimestamp sets the ModifiedTimestamp field's value.
12486func (s *User) SetModifiedTimestamp(v time.Time) *User {
12487	s.ModifiedTimestamp = &v
12488	return s
12489}
12490
12491// SetOrganizationId sets the OrganizationId field's value.
12492func (s *User) SetOrganizationId(v string) *User {
12493	s.OrganizationId = &v
12494	return s
12495}
12496
12497// SetRecycleBinFolderId sets the RecycleBinFolderId field's value.
12498func (s *User) SetRecycleBinFolderId(v string) *User {
12499	s.RecycleBinFolderId = &v
12500	return s
12501}
12502
12503// SetRootFolderId sets the RootFolderId field's value.
12504func (s *User) SetRootFolderId(v string) *User {
12505	s.RootFolderId = &v
12506	return s
12507}
12508
12509// SetStatus sets the Status field's value.
12510func (s *User) SetStatus(v string) *User {
12511	s.Status = &v
12512	return s
12513}
12514
12515// SetStorage sets the Storage field's value.
12516func (s *User) SetStorage(v *UserStorageMetadata) *User {
12517	s.Storage = v
12518	return s
12519}
12520
12521// SetSurname sets the Surname field's value.
12522func (s *User) SetSurname(v string) *User {
12523	s.Surname = &v
12524	return s
12525}
12526
12527// SetTimeZoneId sets the TimeZoneId field's value.
12528func (s *User) SetTimeZoneId(v string) *User {
12529	s.TimeZoneId = &v
12530	return s
12531}
12532
12533// SetType sets the Type field's value.
12534func (s *User) SetType(v string) *User {
12535	s.Type = &v
12536	return s
12537}
12538
12539// SetUsername sets the Username field's value.
12540func (s *User) SetUsername(v string) *User {
12541	s.Username = &v
12542	return s
12543}
12544
12545// Describes the metadata of the user.
12546type UserMetadata struct {
12547	_ struct{} `type:"structure"`
12548
12549	// The email address of the user.
12550	EmailAddress *string `min:"1" type:"string"`
12551
12552	// The given name of the user before a rename operation.
12553	GivenName *string `min:"1" type:"string"`
12554
12555	// The ID of the user.
12556	Id *string `min:"1" type:"string"`
12557
12558	// The surname of the user.
12559	Surname *string `min:"1" type:"string"`
12560
12561	// The name of the user.
12562	Username *string `min:"1" type:"string"`
12563}
12564
12565// String returns the string representation.
12566//
12567// API parameter values that are decorated as "sensitive" in the API will not
12568// be included in the string output. The member name will be present, but the
12569// value will be replaced with "sensitive".
12570func (s UserMetadata) String() string {
12571	return awsutil.Prettify(s)
12572}
12573
12574// GoString returns the string representation.
12575//
12576// API parameter values that are decorated as "sensitive" in the API will not
12577// be included in the string output. The member name will be present, but the
12578// value will be replaced with "sensitive".
12579func (s UserMetadata) GoString() string {
12580	return s.String()
12581}
12582
12583// SetEmailAddress sets the EmailAddress field's value.
12584func (s *UserMetadata) SetEmailAddress(v string) *UserMetadata {
12585	s.EmailAddress = &v
12586	return s
12587}
12588
12589// SetGivenName sets the GivenName field's value.
12590func (s *UserMetadata) SetGivenName(v string) *UserMetadata {
12591	s.GivenName = &v
12592	return s
12593}
12594
12595// SetId sets the Id field's value.
12596func (s *UserMetadata) SetId(v string) *UserMetadata {
12597	s.Id = &v
12598	return s
12599}
12600
12601// SetSurname sets the Surname field's value.
12602func (s *UserMetadata) SetSurname(v string) *UserMetadata {
12603	s.Surname = &v
12604	return s
12605}
12606
12607// SetUsername sets the Username field's value.
12608func (s *UserMetadata) SetUsername(v string) *UserMetadata {
12609	s.Username = &v
12610	return s
12611}
12612
12613// Describes the storage for a user.
12614type UserStorageMetadata struct {
12615	_ struct{} `type:"structure"`
12616
12617	// The storage for a user.
12618	StorageRule *StorageRuleType `type:"structure"`
12619
12620	// The amount of storage used, in bytes.
12621	StorageUtilizedInBytes *int64 `type:"long"`
12622}
12623
12624// String returns the string representation.
12625//
12626// API parameter values that are decorated as "sensitive" in the API will not
12627// be included in the string output. The member name will be present, but the
12628// value will be replaced with "sensitive".
12629func (s UserStorageMetadata) String() string {
12630	return awsutil.Prettify(s)
12631}
12632
12633// GoString returns the string representation.
12634//
12635// API parameter values that are decorated as "sensitive" in the API will not
12636// be included in the string output. The member name will be present, but the
12637// value will be replaced with "sensitive".
12638func (s UserStorageMetadata) GoString() string {
12639	return s.String()
12640}
12641
12642// SetStorageRule sets the StorageRule field's value.
12643func (s *UserStorageMetadata) SetStorageRule(v *StorageRuleType) *UserStorageMetadata {
12644	s.StorageRule = v
12645	return s
12646}
12647
12648// SetStorageUtilizedInBytes sets the StorageUtilizedInBytes field's value.
12649func (s *UserStorageMetadata) SetStorageUtilizedInBytes(v int64) *UserStorageMetadata {
12650	s.StorageUtilizedInBytes = &v
12651	return s
12652}
12653
12654const (
12655	// ActivityTypeDocumentCheckedIn is a ActivityType enum value
12656	ActivityTypeDocumentCheckedIn = "DOCUMENT_CHECKED_IN"
12657
12658	// ActivityTypeDocumentCheckedOut is a ActivityType enum value
12659	ActivityTypeDocumentCheckedOut = "DOCUMENT_CHECKED_OUT"
12660
12661	// ActivityTypeDocumentRenamed is a ActivityType enum value
12662	ActivityTypeDocumentRenamed = "DOCUMENT_RENAMED"
12663
12664	// ActivityTypeDocumentVersionUploaded is a ActivityType enum value
12665	ActivityTypeDocumentVersionUploaded = "DOCUMENT_VERSION_UPLOADED"
12666
12667	// ActivityTypeDocumentVersionDeleted is a ActivityType enum value
12668	ActivityTypeDocumentVersionDeleted = "DOCUMENT_VERSION_DELETED"
12669
12670	// ActivityTypeDocumentVersionViewed is a ActivityType enum value
12671	ActivityTypeDocumentVersionViewed = "DOCUMENT_VERSION_VIEWED"
12672
12673	// ActivityTypeDocumentVersionDownloaded is a ActivityType enum value
12674	ActivityTypeDocumentVersionDownloaded = "DOCUMENT_VERSION_DOWNLOADED"
12675
12676	// ActivityTypeDocumentRecycled is a ActivityType enum value
12677	ActivityTypeDocumentRecycled = "DOCUMENT_RECYCLED"
12678
12679	// ActivityTypeDocumentRestored is a ActivityType enum value
12680	ActivityTypeDocumentRestored = "DOCUMENT_RESTORED"
12681
12682	// ActivityTypeDocumentReverted is a ActivityType enum value
12683	ActivityTypeDocumentReverted = "DOCUMENT_REVERTED"
12684
12685	// ActivityTypeDocumentShared is a ActivityType enum value
12686	ActivityTypeDocumentShared = "DOCUMENT_SHARED"
12687
12688	// ActivityTypeDocumentUnshared is a ActivityType enum value
12689	ActivityTypeDocumentUnshared = "DOCUMENT_UNSHARED"
12690
12691	// ActivityTypeDocumentSharePermissionChanged is a ActivityType enum value
12692	ActivityTypeDocumentSharePermissionChanged = "DOCUMENT_SHARE_PERMISSION_CHANGED"
12693
12694	// ActivityTypeDocumentShareableLinkCreated is a ActivityType enum value
12695	ActivityTypeDocumentShareableLinkCreated = "DOCUMENT_SHAREABLE_LINK_CREATED"
12696
12697	// ActivityTypeDocumentShareableLinkRemoved is a ActivityType enum value
12698	ActivityTypeDocumentShareableLinkRemoved = "DOCUMENT_SHAREABLE_LINK_REMOVED"
12699
12700	// ActivityTypeDocumentShareableLinkPermissionChanged is a ActivityType enum value
12701	ActivityTypeDocumentShareableLinkPermissionChanged = "DOCUMENT_SHAREABLE_LINK_PERMISSION_CHANGED"
12702
12703	// ActivityTypeDocumentMoved is a ActivityType enum value
12704	ActivityTypeDocumentMoved = "DOCUMENT_MOVED"
12705
12706	// ActivityTypeDocumentCommentAdded is a ActivityType enum value
12707	ActivityTypeDocumentCommentAdded = "DOCUMENT_COMMENT_ADDED"
12708
12709	// ActivityTypeDocumentCommentDeleted is a ActivityType enum value
12710	ActivityTypeDocumentCommentDeleted = "DOCUMENT_COMMENT_DELETED"
12711
12712	// ActivityTypeDocumentAnnotationAdded is a ActivityType enum value
12713	ActivityTypeDocumentAnnotationAdded = "DOCUMENT_ANNOTATION_ADDED"
12714
12715	// ActivityTypeDocumentAnnotationDeleted is a ActivityType enum value
12716	ActivityTypeDocumentAnnotationDeleted = "DOCUMENT_ANNOTATION_DELETED"
12717
12718	// ActivityTypeFolderCreated is a ActivityType enum value
12719	ActivityTypeFolderCreated = "FOLDER_CREATED"
12720
12721	// ActivityTypeFolderDeleted is a ActivityType enum value
12722	ActivityTypeFolderDeleted = "FOLDER_DELETED"
12723
12724	// ActivityTypeFolderRenamed is a ActivityType enum value
12725	ActivityTypeFolderRenamed = "FOLDER_RENAMED"
12726
12727	// ActivityTypeFolderRecycled is a ActivityType enum value
12728	ActivityTypeFolderRecycled = "FOLDER_RECYCLED"
12729
12730	// ActivityTypeFolderRestored is a ActivityType enum value
12731	ActivityTypeFolderRestored = "FOLDER_RESTORED"
12732
12733	// ActivityTypeFolderShared is a ActivityType enum value
12734	ActivityTypeFolderShared = "FOLDER_SHARED"
12735
12736	// ActivityTypeFolderUnshared is a ActivityType enum value
12737	ActivityTypeFolderUnshared = "FOLDER_UNSHARED"
12738
12739	// ActivityTypeFolderSharePermissionChanged is a ActivityType enum value
12740	ActivityTypeFolderSharePermissionChanged = "FOLDER_SHARE_PERMISSION_CHANGED"
12741
12742	// ActivityTypeFolderShareableLinkCreated is a ActivityType enum value
12743	ActivityTypeFolderShareableLinkCreated = "FOLDER_SHAREABLE_LINK_CREATED"
12744
12745	// ActivityTypeFolderShareableLinkRemoved is a ActivityType enum value
12746	ActivityTypeFolderShareableLinkRemoved = "FOLDER_SHAREABLE_LINK_REMOVED"
12747
12748	// ActivityTypeFolderShareableLinkPermissionChanged is a ActivityType enum value
12749	ActivityTypeFolderShareableLinkPermissionChanged = "FOLDER_SHAREABLE_LINK_PERMISSION_CHANGED"
12750
12751	// ActivityTypeFolderMoved is a ActivityType enum value
12752	ActivityTypeFolderMoved = "FOLDER_MOVED"
12753)
12754
12755// ActivityType_Values returns all elements of the ActivityType enum
12756func ActivityType_Values() []string {
12757	return []string{
12758		ActivityTypeDocumentCheckedIn,
12759		ActivityTypeDocumentCheckedOut,
12760		ActivityTypeDocumentRenamed,
12761		ActivityTypeDocumentVersionUploaded,
12762		ActivityTypeDocumentVersionDeleted,
12763		ActivityTypeDocumentVersionViewed,
12764		ActivityTypeDocumentVersionDownloaded,
12765		ActivityTypeDocumentRecycled,
12766		ActivityTypeDocumentRestored,
12767		ActivityTypeDocumentReverted,
12768		ActivityTypeDocumentShared,
12769		ActivityTypeDocumentUnshared,
12770		ActivityTypeDocumentSharePermissionChanged,
12771		ActivityTypeDocumentShareableLinkCreated,
12772		ActivityTypeDocumentShareableLinkRemoved,
12773		ActivityTypeDocumentShareableLinkPermissionChanged,
12774		ActivityTypeDocumentMoved,
12775		ActivityTypeDocumentCommentAdded,
12776		ActivityTypeDocumentCommentDeleted,
12777		ActivityTypeDocumentAnnotationAdded,
12778		ActivityTypeDocumentAnnotationDeleted,
12779		ActivityTypeFolderCreated,
12780		ActivityTypeFolderDeleted,
12781		ActivityTypeFolderRenamed,
12782		ActivityTypeFolderRecycled,
12783		ActivityTypeFolderRestored,
12784		ActivityTypeFolderShared,
12785		ActivityTypeFolderUnshared,
12786		ActivityTypeFolderSharePermissionChanged,
12787		ActivityTypeFolderShareableLinkCreated,
12788		ActivityTypeFolderShareableLinkRemoved,
12789		ActivityTypeFolderShareableLinkPermissionChanged,
12790		ActivityTypeFolderMoved,
12791	}
12792}
12793
12794const (
12795	// BooleanEnumTypeTrue is a BooleanEnumType enum value
12796	BooleanEnumTypeTrue = "TRUE"
12797
12798	// BooleanEnumTypeFalse is a BooleanEnumType enum value
12799	BooleanEnumTypeFalse = "FALSE"
12800)
12801
12802// BooleanEnumType_Values returns all elements of the BooleanEnumType enum
12803func BooleanEnumType_Values() []string {
12804	return []string{
12805		BooleanEnumTypeTrue,
12806		BooleanEnumTypeFalse,
12807	}
12808}
12809
12810const (
12811	// CommentStatusTypeDraft is a CommentStatusType enum value
12812	CommentStatusTypeDraft = "DRAFT"
12813
12814	// CommentStatusTypePublished is a CommentStatusType enum value
12815	CommentStatusTypePublished = "PUBLISHED"
12816
12817	// CommentStatusTypeDeleted is a CommentStatusType enum value
12818	CommentStatusTypeDeleted = "DELETED"
12819)
12820
12821// CommentStatusType_Values returns all elements of the CommentStatusType enum
12822func CommentStatusType_Values() []string {
12823	return []string{
12824		CommentStatusTypeDraft,
12825		CommentStatusTypePublished,
12826		CommentStatusTypeDeleted,
12827	}
12828}
12829
12830const (
12831	// CommentVisibilityTypePublic is a CommentVisibilityType enum value
12832	CommentVisibilityTypePublic = "PUBLIC"
12833
12834	// CommentVisibilityTypePrivate is a CommentVisibilityType enum value
12835	CommentVisibilityTypePrivate = "PRIVATE"
12836)
12837
12838// CommentVisibilityType_Values returns all elements of the CommentVisibilityType enum
12839func CommentVisibilityType_Values() []string {
12840	return []string{
12841		CommentVisibilityTypePublic,
12842		CommentVisibilityTypePrivate,
12843	}
12844}
12845
12846const (
12847	// DocumentSourceTypeOriginal is a DocumentSourceType enum value
12848	DocumentSourceTypeOriginal = "ORIGINAL"
12849
12850	// DocumentSourceTypeWithComments is a DocumentSourceType enum value
12851	DocumentSourceTypeWithComments = "WITH_COMMENTS"
12852)
12853
12854// DocumentSourceType_Values returns all elements of the DocumentSourceType enum
12855func DocumentSourceType_Values() []string {
12856	return []string{
12857		DocumentSourceTypeOriginal,
12858		DocumentSourceTypeWithComments,
12859	}
12860}
12861
12862const (
12863	// DocumentStatusTypeInitialized is a DocumentStatusType enum value
12864	DocumentStatusTypeInitialized = "INITIALIZED"
12865
12866	// DocumentStatusTypeActive is a DocumentStatusType enum value
12867	DocumentStatusTypeActive = "ACTIVE"
12868)
12869
12870// DocumentStatusType_Values returns all elements of the DocumentStatusType enum
12871func DocumentStatusType_Values() []string {
12872	return []string{
12873		DocumentStatusTypeInitialized,
12874		DocumentStatusTypeActive,
12875	}
12876}
12877
12878const (
12879	// DocumentThumbnailTypeSmall is a DocumentThumbnailType enum value
12880	DocumentThumbnailTypeSmall = "SMALL"
12881
12882	// DocumentThumbnailTypeSmallHq is a DocumentThumbnailType enum value
12883	DocumentThumbnailTypeSmallHq = "SMALL_HQ"
12884
12885	// DocumentThumbnailTypeLarge is a DocumentThumbnailType enum value
12886	DocumentThumbnailTypeLarge = "LARGE"
12887)
12888
12889// DocumentThumbnailType_Values returns all elements of the DocumentThumbnailType enum
12890func DocumentThumbnailType_Values() []string {
12891	return []string{
12892		DocumentThumbnailTypeSmall,
12893		DocumentThumbnailTypeSmallHq,
12894		DocumentThumbnailTypeLarge,
12895	}
12896}
12897
12898const (
12899	// DocumentVersionStatusActive is a DocumentVersionStatus enum value
12900	DocumentVersionStatusActive = "ACTIVE"
12901)
12902
12903// DocumentVersionStatus_Values returns all elements of the DocumentVersionStatus enum
12904func DocumentVersionStatus_Values() []string {
12905	return []string{
12906		DocumentVersionStatusActive,
12907	}
12908}
12909
12910const (
12911	// FolderContentTypeAll is a FolderContentType enum value
12912	FolderContentTypeAll = "ALL"
12913
12914	// FolderContentTypeDocument is a FolderContentType enum value
12915	FolderContentTypeDocument = "DOCUMENT"
12916
12917	// FolderContentTypeFolder is a FolderContentType enum value
12918	FolderContentTypeFolder = "FOLDER"
12919)
12920
12921// FolderContentType_Values returns all elements of the FolderContentType enum
12922func FolderContentType_Values() []string {
12923	return []string{
12924		FolderContentTypeAll,
12925		FolderContentTypeDocument,
12926		FolderContentTypeFolder,
12927	}
12928}
12929
12930const (
12931	// LocaleTypeEn is a LocaleType enum value
12932	LocaleTypeEn = "en"
12933
12934	// LocaleTypeFr is a LocaleType enum value
12935	LocaleTypeFr = "fr"
12936
12937	// LocaleTypeKo is a LocaleType enum value
12938	LocaleTypeKo = "ko"
12939
12940	// LocaleTypeDe is a LocaleType enum value
12941	LocaleTypeDe = "de"
12942
12943	// LocaleTypeEs is a LocaleType enum value
12944	LocaleTypeEs = "es"
12945
12946	// LocaleTypeJa is a LocaleType enum value
12947	LocaleTypeJa = "ja"
12948
12949	// LocaleTypeRu is a LocaleType enum value
12950	LocaleTypeRu = "ru"
12951
12952	// LocaleTypeZhCn is a LocaleType enum value
12953	LocaleTypeZhCn = "zh_CN"
12954
12955	// LocaleTypeZhTw is a LocaleType enum value
12956	LocaleTypeZhTw = "zh_TW"
12957
12958	// LocaleTypePtBr is a LocaleType enum value
12959	LocaleTypePtBr = "pt_BR"
12960
12961	// LocaleTypeDefault is a LocaleType enum value
12962	LocaleTypeDefault = "default"
12963)
12964
12965// LocaleType_Values returns all elements of the LocaleType enum
12966func LocaleType_Values() []string {
12967	return []string{
12968		LocaleTypeEn,
12969		LocaleTypeFr,
12970		LocaleTypeKo,
12971		LocaleTypeDe,
12972		LocaleTypeEs,
12973		LocaleTypeJa,
12974		LocaleTypeRu,
12975		LocaleTypeZhCn,
12976		LocaleTypeZhTw,
12977		LocaleTypePtBr,
12978		LocaleTypeDefault,
12979	}
12980}
12981
12982const (
12983	// OrderTypeAscending is a OrderType enum value
12984	OrderTypeAscending = "ASCENDING"
12985
12986	// OrderTypeDescending is a OrderType enum value
12987	OrderTypeDescending = "DESCENDING"
12988)
12989
12990// OrderType_Values returns all elements of the OrderType enum
12991func OrderType_Values() []string {
12992	return []string{
12993		OrderTypeAscending,
12994		OrderTypeDescending,
12995	}
12996}
12997
12998const (
12999	// PrincipalTypeUser is a PrincipalType enum value
13000	PrincipalTypeUser = "USER"
13001
13002	// PrincipalTypeGroup is a PrincipalType enum value
13003	PrincipalTypeGroup = "GROUP"
13004
13005	// PrincipalTypeInvite is a PrincipalType enum value
13006	PrincipalTypeInvite = "INVITE"
13007
13008	// PrincipalTypeAnonymous is a PrincipalType enum value
13009	PrincipalTypeAnonymous = "ANONYMOUS"
13010
13011	// PrincipalTypeOrganization is a PrincipalType enum value
13012	PrincipalTypeOrganization = "ORGANIZATION"
13013)
13014
13015// PrincipalType_Values returns all elements of the PrincipalType enum
13016func PrincipalType_Values() []string {
13017	return []string{
13018		PrincipalTypeUser,
13019		PrincipalTypeGroup,
13020		PrincipalTypeInvite,
13021		PrincipalTypeAnonymous,
13022		PrincipalTypeOrganization,
13023	}
13024}
13025
13026const (
13027	// ResourceCollectionTypeSharedWithMe is a ResourceCollectionType enum value
13028	ResourceCollectionTypeSharedWithMe = "SHARED_WITH_ME"
13029)
13030
13031// ResourceCollectionType_Values returns all elements of the ResourceCollectionType enum
13032func ResourceCollectionType_Values() []string {
13033	return []string{
13034		ResourceCollectionTypeSharedWithMe,
13035	}
13036}
13037
13038const (
13039	// ResourceSortTypeDate is a ResourceSortType enum value
13040	ResourceSortTypeDate = "DATE"
13041
13042	// ResourceSortTypeName is a ResourceSortType enum value
13043	ResourceSortTypeName = "NAME"
13044)
13045
13046// ResourceSortType_Values returns all elements of the ResourceSortType enum
13047func ResourceSortType_Values() []string {
13048	return []string{
13049		ResourceSortTypeDate,
13050		ResourceSortTypeName,
13051	}
13052}
13053
13054const (
13055	// ResourceStateTypeActive is a ResourceStateType enum value
13056	ResourceStateTypeActive = "ACTIVE"
13057
13058	// ResourceStateTypeRestoring is a ResourceStateType enum value
13059	ResourceStateTypeRestoring = "RESTORING"
13060
13061	// ResourceStateTypeRecycling is a ResourceStateType enum value
13062	ResourceStateTypeRecycling = "RECYCLING"
13063
13064	// ResourceStateTypeRecycled is a ResourceStateType enum value
13065	ResourceStateTypeRecycled = "RECYCLED"
13066)
13067
13068// ResourceStateType_Values returns all elements of the ResourceStateType enum
13069func ResourceStateType_Values() []string {
13070	return []string{
13071		ResourceStateTypeActive,
13072		ResourceStateTypeRestoring,
13073		ResourceStateTypeRecycling,
13074		ResourceStateTypeRecycled,
13075	}
13076}
13077
13078const (
13079	// ResourceTypeFolder is a ResourceType enum value
13080	ResourceTypeFolder = "FOLDER"
13081
13082	// ResourceTypeDocument is a ResourceType enum value
13083	ResourceTypeDocument = "DOCUMENT"
13084)
13085
13086// ResourceType_Values returns all elements of the ResourceType enum
13087func ResourceType_Values() []string {
13088	return []string{
13089		ResourceTypeFolder,
13090		ResourceTypeDocument,
13091	}
13092}
13093
13094const (
13095	// RolePermissionTypeDirect is a RolePermissionType enum value
13096	RolePermissionTypeDirect = "DIRECT"
13097
13098	// RolePermissionTypeInherited is a RolePermissionType enum value
13099	RolePermissionTypeInherited = "INHERITED"
13100)
13101
13102// RolePermissionType_Values returns all elements of the RolePermissionType enum
13103func RolePermissionType_Values() []string {
13104	return []string{
13105		RolePermissionTypeDirect,
13106		RolePermissionTypeInherited,
13107	}
13108}
13109
13110const (
13111	// RoleTypeViewer is a RoleType enum value
13112	RoleTypeViewer = "VIEWER"
13113
13114	// RoleTypeContributor is a RoleType enum value
13115	RoleTypeContributor = "CONTRIBUTOR"
13116
13117	// RoleTypeOwner is a RoleType enum value
13118	RoleTypeOwner = "OWNER"
13119
13120	// RoleTypeCoowner is a RoleType enum value
13121	RoleTypeCoowner = "COOWNER"
13122)
13123
13124// RoleType_Values returns all elements of the RoleType enum
13125func RoleType_Values() []string {
13126	return []string{
13127		RoleTypeViewer,
13128		RoleTypeContributor,
13129		RoleTypeOwner,
13130		RoleTypeCoowner,
13131	}
13132}
13133
13134const (
13135	// ShareStatusTypeSuccess is a ShareStatusType enum value
13136	ShareStatusTypeSuccess = "SUCCESS"
13137
13138	// ShareStatusTypeFailure is a ShareStatusType enum value
13139	ShareStatusTypeFailure = "FAILURE"
13140)
13141
13142// ShareStatusType_Values returns all elements of the ShareStatusType enum
13143func ShareStatusType_Values() []string {
13144	return []string{
13145		ShareStatusTypeSuccess,
13146		ShareStatusTypeFailure,
13147	}
13148}
13149
13150const (
13151	// StorageTypeUnlimited is a StorageType enum value
13152	StorageTypeUnlimited = "UNLIMITED"
13153
13154	// StorageTypeQuota is a StorageType enum value
13155	StorageTypeQuota = "QUOTA"
13156)
13157
13158// StorageType_Values returns all elements of the StorageType enum
13159func StorageType_Values() []string {
13160	return []string{
13161		StorageTypeUnlimited,
13162		StorageTypeQuota,
13163	}
13164}
13165
13166const (
13167	// SubscriptionProtocolTypeHttps is a SubscriptionProtocolType enum value
13168	SubscriptionProtocolTypeHttps = "HTTPS"
13169)
13170
13171// SubscriptionProtocolType_Values returns all elements of the SubscriptionProtocolType enum
13172func SubscriptionProtocolType_Values() []string {
13173	return []string{
13174		SubscriptionProtocolTypeHttps,
13175	}
13176}
13177
13178const (
13179	// SubscriptionTypeAll is a SubscriptionType enum value
13180	SubscriptionTypeAll = "ALL"
13181)
13182
13183// SubscriptionType_Values returns all elements of the SubscriptionType enum
13184func SubscriptionType_Values() []string {
13185	return []string{
13186		SubscriptionTypeAll,
13187	}
13188}
13189
13190const (
13191	// UserFilterTypeAll is a UserFilterType enum value
13192	UserFilterTypeAll = "ALL"
13193
13194	// UserFilterTypeActivePending is a UserFilterType enum value
13195	UserFilterTypeActivePending = "ACTIVE_PENDING"
13196)
13197
13198// UserFilterType_Values returns all elements of the UserFilterType enum
13199func UserFilterType_Values() []string {
13200	return []string{
13201		UserFilterTypeAll,
13202		UserFilterTypeActivePending,
13203	}
13204}
13205
13206const (
13207	// UserSortTypeUserName is a UserSortType enum value
13208	UserSortTypeUserName = "USER_NAME"
13209
13210	// UserSortTypeFullName is a UserSortType enum value
13211	UserSortTypeFullName = "FULL_NAME"
13212
13213	// UserSortTypeStorageLimit is a UserSortType enum value
13214	UserSortTypeStorageLimit = "STORAGE_LIMIT"
13215
13216	// UserSortTypeUserStatus is a UserSortType enum value
13217	UserSortTypeUserStatus = "USER_STATUS"
13218
13219	// UserSortTypeStorageUsed is a UserSortType enum value
13220	UserSortTypeStorageUsed = "STORAGE_USED"
13221)
13222
13223// UserSortType_Values returns all elements of the UserSortType enum
13224func UserSortType_Values() []string {
13225	return []string{
13226		UserSortTypeUserName,
13227		UserSortTypeFullName,
13228		UserSortTypeStorageLimit,
13229		UserSortTypeUserStatus,
13230		UserSortTypeStorageUsed,
13231	}
13232}
13233
13234const (
13235	// UserStatusTypeActive is a UserStatusType enum value
13236	UserStatusTypeActive = "ACTIVE"
13237
13238	// UserStatusTypeInactive is a UserStatusType enum value
13239	UserStatusTypeInactive = "INACTIVE"
13240
13241	// UserStatusTypePending is a UserStatusType enum value
13242	UserStatusTypePending = "PENDING"
13243)
13244
13245// UserStatusType_Values returns all elements of the UserStatusType enum
13246func UserStatusType_Values() []string {
13247	return []string{
13248		UserStatusTypeActive,
13249		UserStatusTypeInactive,
13250		UserStatusTypePending,
13251	}
13252}
13253
13254const (
13255	// UserTypeUser is a UserType enum value
13256	UserTypeUser = "USER"
13257
13258	// UserTypeAdmin is a UserType enum value
13259	UserTypeAdmin = "ADMIN"
13260
13261	// UserTypePoweruser is a UserType enum value
13262	UserTypePoweruser = "POWERUSER"
13263
13264	// UserTypeMinimaluser is a UserType enum value
13265	UserTypeMinimaluser = "MINIMALUSER"
13266
13267	// UserTypeWorkspacesuser is a UserType enum value
13268	UserTypeWorkspacesuser = "WORKSPACESUSER"
13269)
13270
13271// UserType_Values returns all elements of the UserType enum
13272func UserType_Values() []string {
13273	return []string{
13274		UserTypeUser,
13275		UserTypeAdmin,
13276		UserTypePoweruser,
13277		UserTypeMinimaluser,
13278		UserTypeWorkspacesuser,
13279	}
13280}
13281