github.com/aavshr/aws-sdk-go@v1.41.3/service/workdocs/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package workdocs
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    14  )
    15  
    16  const 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
    42  func (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
    94  func (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.
   108  func (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  
   115  const 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
   141  func (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
   187  func (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.
   201  func (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  
   208  const 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
   234  func (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
   278  func (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.
   292  func (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  
   299  const 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
   325  func (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
   381  func (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.
   395  func (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  
   402  const 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
   428  func (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
   483  func (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.
   497  func (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  
   504  const 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
   530  func (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
   589  func (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.
   603  func (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  
   610  const 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
   636  func (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
   686  func (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.
   700  func (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  
   707  const 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
   733  func (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
   776  func (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.
   790  func (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  
   797  const 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
   823  func (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
   870  func (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.
   884  func (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  
   891  const 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
   917  func (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
   965  func (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.
   979  func (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  
   986  const 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
  1012  func (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
  1066  func (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.
  1080  func (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  
  1087  const 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
  1113  func (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
  1163  func (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.
  1177  func (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  
  1184  const 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
  1210  func (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
  1267  func (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.
  1281  func (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  
  1288  const 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
  1314  func (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
  1371  func (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.
  1385  func (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  
  1392  const 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
  1418  func (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
  1472  func (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.
  1486  func (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  
  1493  const 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
  1519  func (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
  1566  func (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.
  1580  func (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  
  1587  const 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
  1613  func (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
  1655  func (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.
  1669  func (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  
  1676  const 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
  1702  func (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
  1749  func (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.
  1763  func (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  
  1770  const 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
  1796  func (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
  1842  func (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.
  1856  func (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  
  1863  const 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
  1889  func (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
  1938  func (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.
  1952  func (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  
  1959  const 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
  1985  func (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
  2045  func (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.
  2059  func (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  //
  2083  func (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.
  2094  func (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  
  2118  const 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
  2144  func (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
  2205  func (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.
  2219  func (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  //
  2243  func (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.
  2254  func (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  
  2278  const 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
  2304  func (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
  2348  func (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.
  2362  func (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  
  2369  const 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
  2395  func (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
  2433  func (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.
  2447  func (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  
  2454  const 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
  2480  func (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
  2523  func (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.
  2537  func (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  
  2544  const 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
  2570  func (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
  2624  func (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.
  2638  func (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  
  2645  const 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
  2671  func (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
  2735  func (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.
  2749  func (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  //
  2773  func (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.
  2784  func (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  
  2808  const 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
  2834  func (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
  2886  func (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.
  2900  func (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  
  2907  const 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
  2933  func (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
  2985  func (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.
  2999  func (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  
  3006  const 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
  3032  func (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
  3084  func (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.
  3098  func (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  
  3105  const 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
  3131  func (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
  3183  func (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.
  3197  func (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  
  3204  const 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
  3230  func (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
  3282  func (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.
  3296  func (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  
  3303  const 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
  3329  func (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
  3381  func (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.
  3395  func (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  
  3402  const 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
  3428  func (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
  3475  func (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.
  3489  func (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  
  3496  const 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
  3522  func (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
  3594  func (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.
  3608  func (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  
  3615  const 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
  3641  func (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
  3685  func (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.
  3699  func (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  
  3706  const 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
  3732  func (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
  3776  func (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.
  3790  func (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  
  3797  const 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
  3823  func (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
  3887  func (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.
  3901  func (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  
  3908  const 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
  3934  func (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
  3994  func (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.
  4008  func (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  
  4015  const 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
  4041  func (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
  4105  func (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.
  4119  func (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  
  4126  const 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
  4152  func (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
  4208  func (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.
  4222  func (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  
  4229  type 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".
  4256  func (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".
  4265  func (s AbortDocumentVersionUploadInput) GoString() string {
  4266  	return s.String()
  4267  }
  4268  
  4269  // Validate inspects the fields of the type to determine if they are valid.
  4270  func (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.
  4295  func (s *AbortDocumentVersionUploadInput) SetAuthenticationToken(v string) *AbortDocumentVersionUploadInput {
  4296  	s.AuthenticationToken = &v
  4297  	return s
  4298  }
  4299  
  4300  // SetDocumentId sets the DocumentId field's value.
  4301  func (s *AbortDocumentVersionUploadInput) SetDocumentId(v string) *AbortDocumentVersionUploadInput {
  4302  	s.DocumentId = &v
  4303  	return s
  4304  }
  4305  
  4306  // SetVersionId sets the VersionId field's value.
  4307  func (s *AbortDocumentVersionUploadInput) SetVersionId(v string) *AbortDocumentVersionUploadInput {
  4308  	s.VersionId = &v
  4309  	return s
  4310  }
  4311  
  4312  type AbortDocumentVersionUploadOutput struct {
  4313  	_ struct{} `type:"structure" nopayload:"true"`
  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".
  4321  func (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".
  4330  func (s AbortDocumentVersionUploadOutput) GoString() string {
  4331  	return s.String()
  4332  }
  4333  
  4334  type 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".
  4356  func (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".
  4365  func (s ActivateUserInput) GoString() string {
  4366  	return s.String()
  4367  }
  4368  
  4369  // Validate inspects the fields of the type to determine if they are valid.
  4370  func (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.
  4389  func (s *ActivateUserInput) SetAuthenticationToken(v string) *ActivateUserInput {
  4390  	s.AuthenticationToken = &v
  4391  	return s
  4392  }
  4393  
  4394  // SetUserId sets the UserId field's value.
  4395  func (s *ActivateUserInput) SetUserId(v string) *ActivateUserInput {
  4396  	s.UserId = &v
  4397  	return s
  4398  }
  4399  
  4400  type 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".
  4412  func (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".
  4421  func (s ActivateUserOutput) GoString() string {
  4422  	return s.String()
  4423  }
  4424  
  4425  // SetUser sets the User field's value.
  4426  func (s *ActivateUserOutput) SetUser(v *User) *ActivateUserOutput {
  4427  	s.User = v
  4428  	return s
  4429  }
  4430  
  4431  // Describes the activity information.
  4432  type 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".
  4475  func (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".
  4484  func (s Activity) GoString() string {
  4485  	return s.String()
  4486  }
  4487  
  4488  // SetCommentMetadata sets the CommentMetadata field's value.
  4489  func (s *Activity) SetCommentMetadata(v *CommentMetadata) *Activity {
  4490  	s.CommentMetadata = v
  4491  	return s
  4492  }
  4493  
  4494  // SetInitiator sets the Initiator field's value.
  4495  func (s *Activity) SetInitiator(v *UserMetadata) *Activity {
  4496  	s.Initiator = v
  4497  	return s
  4498  }
  4499  
  4500  // SetIsIndirectActivity sets the IsIndirectActivity field's value.
  4501  func (s *Activity) SetIsIndirectActivity(v bool) *Activity {
  4502  	s.IsIndirectActivity = &v
  4503  	return s
  4504  }
  4505  
  4506  // SetOrganizationId sets the OrganizationId field's value.
  4507  func (s *Activity) SetOrganizationId(v string) *Activity {
  4508  	s.OrganizationId = &v
  4509  	return s
  4510  }
  4511  
  4512  // SetOriginalParent sets the OriginalParent field's value.
  4513  func (s *Activity) SetOriginalParent(v *ResourceMetadata) *Activity {
  4514  	s.OriginalParent = v
  4515  	return s
  4516  }
  4517  
  4518  // SetParticipants sets the Participants field's value.
  4519  func (s *Activity) SetParticipants(v *Participants) *Activity {
  4520  	s.Participants = v
  4521  	return s
  4522  }
  4523  
  4524  // SetResourceMetadata sets the ResourceMetadata field's value.
  4525  func (s *Activity) SetResourceMetadata(v *ResourceMetadata) *Activity {
  4526  	s.ResourceMetadata = v
  4527  	return s
  4528  }
  4529  
  4530  // SetTimeStamp sets the TimeStamp field's value.
  4531  func (s *Activity) SetTimeStamp(v time.Time) *Activity {
  4532  	s.TimeStamp = &v
  4533  	return s
  4534  }
  4535  
  4536  // SetType sets the Type field's value.
  4537  func (s *Activity) SetType(v string) *Activity {
  4538  	s.Type = &v
  4539  	return s
  4540  }
  4541  
  4542  type 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".
  4572  func (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".
  4581  func (s AddResourcePermissionsInput) GoString() string {
  4582  	return s.String()
  4583  }
  4584  
  4585  // Validate inspects the fields of the type to determine if they are valid.
  4586  func (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.
  4618  func (s *AddResourcePermissionsInput) SetAuthenticationToken(v string) *AddResourcePermissionsInput {
  4619  	s.AuthenticationToken = &v
  4620  	return s
  4621  }
  4622  
  4623  // SetNotificationOptions sets the NotificationOptions field's value.
  4624  func (s *AddResourcePermissionsInput) SetNotificationOptions(v *NotificationOptions) *AddResourcePermissionsInput {
  4625  	s.NotificationOptions = v
  4626  	return s
  4627  }
  4628  
  4629  // SetPrincipals sets the Principals field's value.
  4630  func (s *AddResourcePermissionsInput) SetPrincipals(v []*SharePrincipal) *AddResourcePermissionsInput {
  4631  	s.Principals = v
  4632  	return s
  4633  }
  4634  
  4635  // SetResourceId sets the ResourceId field's value.
  4636  func (s *AddResourcePermissionsInput) SetResourceId(v string) *AddResourcePermissionsInput {
  4637  	s.ResourceId = &v
  4638  	return s
  4639  }
  4640  
  4641  type 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".
  4653  func (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".
  4662  func (s AddResourcePermissionsOutput) GoString() string {
  4663  	return s.String()
  4664  }
  4665  
  4666  // SetShareResults sets the ShareResults field's value.
  4667  func (s *AddResourcePermissionsOutput) SetShareResults(v []*ShareResult) *AddResourcePermissionsOutput {
  4668  	s.ShareResults = v
  4669  	return s
  4670  }
  4671  
  4672  // Describes a comment.
  4673  type 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".
  4718  func (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".
  4727  func (s Comment) GoString() string {
  4728  	return s.String()
  4729  }
  4730  
  4731  // SetCommentId sets the CommentId field's value.
  4732  func (s *Comment) SetCommentId(v string) *Comment {
  4733  	s.CommentId = &v
  4734  	return s
  4735  }
  4736  
  4737  // SetContributor sets the Contributor field's value.
  4738  func (s *Comment) SetContributor(v *User) *Comment {
  4739  	s.Contributor = v
  4740  	return s
  4741  }
  4742  
  4743  // SetCreatedTimestamp sets the CreatedTimestamp field's value.
  4744  func (s *Comment) SetCreatedTimestamp(v time.Time) *Comment {
  4745  	s.CreatedTimestamp = &v
  4746  	return s
  4747  }
  4748  
  4749  // SetParentId sets the ParentId field's value.
  4750  func (s *Comment) SetParentId(v string) *Comment {
  4751  	s.ParentId = &v
  4752  	return s
  4753  }
  4754  
  4755  // SetRecipientId sets the RecipientId field's value.
  4756  func (s *Comment) SetRecipientId(v string) *Comment {
  4757  	s.RecipientId = &v
  4758  	return s
  4759  }
  4760  
  4761  // SetStatus sets the Status field's value.
  4762  func (s *Comment) SetStatus(v string) *Comment {
  4763  	s.Status = &v
  4764  	return s
  4765  }
  4766  
  4767  // SetText sets the Text field's value.
  4768  func (s *Comment) SetText(v string) *Comment {
  4769  	s.Text = &v
  4770  	return s
  4771  }
  4772  
  4773  // SetThreadId sets the ThreadId field's value.
  4774  func (s *Comment) SetThreadId(v string) *Comment {
  4775  	s.ThreadId = &v
  4776  	return s
  4777  }
  4778  
  4779  // SetVisibility sets the Visibility field's value.
  4780  func (s *Comment) SetVisibility(v string) *Comment {
  4781  	s.Visibility = &v
  4782  	return s
  4783  }
  4784  
  4785  // Describes the metadata of a comment.
  4786  type 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".
  4810  func (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".
  4819  func (s CommentMetadata) GoString() string {
  4820  	return s.String()
  4821  }
  4822  
  4823  // SetCommentId sets the CommentId field's value.
  4824  func (s *CommentMetadata) SetCommentId(v string) *CommentMetadata {
  4825  	s.CommentId = &v
  4826  	return s
  4827  }
  4828  
  4829  // SetCommentStatus sets the CommentStatus field's value.
  4830  func (s *CommentMetadata) SetCommentStatus(v string) *CommentMetadata {
  4831  	s.CommentStatus = &v
  4832  	return s
  4833  }
  4834  
  4835  // SetContributor sets the Contributor field's value.
  4836  func (s *CommentMetadata) SetContributor(v *User) *CommentMetadata {
  4837  	s.Contributor = v
  4838  	return s
  4839  }
  4840  
  4841  // SetCreatedTimestamp sets the CreatedTimestamp field's value.
  4842  func (s *CommentMetadata) SetCreatedTimestamp(v time.Time) *CommentMetadata {
  4843  	s.CreatedTimestamp = &v
  4844  	return s
  4845  }
  4846  
  4847  // SetRecipientId sets the RecipientId field's value.
  4848  func (s *CommentMetadata) SetRecipientId(v string) *CommentMetadata {
  4849  	s.RecipientId = &v
  4850  	return s
  4851  }
  4852  
  4853  // The resource hierarchy is changing.
  4854  type 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".
  4866  func (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".
  4875  func (s ConcurrentModificationException) GoString() string {
  4876  	return s.String()
  4877  }
  4878  
  4879  func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error {
  4880  	return &ConcurrentModificationException{
  4881  		RespMetadata: v,
  4882  	}
  4883  }
  4884  
  4885  // Code returns the exception type name.
  4886  func (s *ConcurrentModificationException) Code() string {
  4887  	return "ConcurrentModificationException"
  4888  }
  4889  
  4890  // Message returns the exception's message.
  4891  func (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.
  4899  func (s *ConcurrentModificationException) OrigErr() error {
  4900  	return nil
  4901  }
  4902  
  4903  func (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.
  4908  func (s *ConcurrentModificationException) StatusCode() int {
  4909  	return s.RespMetadata.StatusCode
  4910  }
  4911  
  4912  // RequestID returns the service's response RequestID for request.
  4913  func (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.
  4919  type 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".
  4931  func (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".
  4940  func (s ConflictingOperationException) GoString() string {
  4941  	return s.String()
  4942  }
  4943  
  4944  func newErrorConflictingOperationException(v protocol.ResponseMetadata) error {
  4945  	return &ConflictingOperationException{
  4946  		RespMetadata: v,
  4947  	}
  4948  }
  4949  
  4950  // Code returns the exception type name.
  4951  func (s *ConflictingOperationException) Code() string {
  4952  	return "ConflictingOperationException"
  4953  }
  4954  
  4955  // Message returns the exception's message.
  4956  func (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.
  4964  func (s *ConflictingOperationException) OrigErr() error {
  4965  	return nil
  4966  }
  4967  
  4968  func (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.
  4973  func (s *ConflictingOperationException) StatusCode() int {
  4974  	return s.RespMetadata.StatusCode
  4975  }
  4976  
  4977  // RequestID returns the service's response RequestID for request.
  4978  func (s *ConflictingOperationException) RequestID() string {
  4979  	return s.RespMetadata.RequestID
  4980  }
  4981  
  4982  type 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".
  5033  func (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".
  5042  func (s CreateCommentInput) GoString() string {
  5043  	return s.String()
  5044  }
  5045  
  5046  // Validate inspects the fields of the type to determine if they are valid.
  5047  func (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.
  5084  func (s *CreateCommentInput) SetAuthenticationToken(v string) *CreateCommentInput {
  5085  	s.AuthenticationToken = &v
  5086  	return s
  5087  }
  5088  
  5089  // SetDocumentId sets the DocumentId field's value.
  5090  func (s *CreateCommentInput) SetDocumentId(v string) *CreateCommentInput {
  5091  	s.DocumentId = &v
  5092  	return s
  5093  }
  5094  
  5095  // SetNotifyCollaborators sets the NotifyCollaborators field's value.
  5096  func (s *CreateCommentInput) SetNotifyCollaborators(v bool) *CreateCommentInput {
  5097  	s.NotifyCollaborators = &v
  5098  	return s
  5099  }
  5100  
  5101  // SetParentId sets the ParentId field's value.
  5102  func (s *CreateCommentInput) SetParentId(v string) *CreateCommentInput {
  5103  	s.ParentId = &v
  5104  	return s
  5105  }
  5106  
  5107  // SetText sets the Text field's value.
  5108  func (s *CreateCommentInput) SetText(v string) *CreateCommentInput {
  5109  	s.Text = &v
  5110  	return s
  5111  }
  5112  
  5113  // SetThreadId sets the ThreadId field's value.
  5114  func (s *CreateCommentInput) SetThreadId(v string) *CreateCommentInput {
  5115  	s.ThreadId = &v
  5116  	return s
  5117  }
  5118  
  5119  // SetVersionId sets the VersionId field's value.
  5120  func (s *CreateCommentInput) SetVersionId(v string) *CreateCommentInput {
  5121  	s.VersionId = &v
  5122  	return s
  5123  }
  5124  
  5125  // SetVisibility sets the Visibility field's value.
  5126  func (s *CreateCommentInput) SetVisibility(v string) *CreateCommentInput {
  5127  	s.Visibility = &v
  5128  	return s
  5129  }
  5130  
  5131  type 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".
  5143  func (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".
  5152  func (s CreateCommentOutput) GoString() string {
  5153  	return s.String()
  5154  }
  5155  
  5156  // SetComment sets the Comment field's value.
  5157  func (s *CreateCommentOutput) SetComment(v *Comment) *CreateCommentOutput {
  5158  	s.Comment = v
  5159  	return s
  5160  }
  5161  
  5162  type 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".
  5193  func (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".
  5202  func (s CreateCustomMetadataInput) GoString() string {
  5203  	return s.String()
  5204  }
  5205  
  5206  // Validate inspects the fields of the type to determine if they are valid.
  5207  func (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.
  5235  func (s *CreateCustomMetadataInput) SetAuthenticationToken(v string) *CreateCustomMetadataInput {
  5236  	s.AuthenticationToken = &v
  5237  	return s
  5238  }
  5239  
  5240  // SetCustomMetadata sets the CustomMetadata field's value.
  5241  func (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.
  5247  func (s *CreateCustomMetadataInput) SetResourceId(v string) *CreateCustomMetadataInput {
  5248  	s.ResourceId = &v
  5249  	return s
  5250  }
  5251  
  5252  // SetVersionId sets the VersionId field's value.
  5253  func (s *CreateCustomMetadataInput) SetVersionId(v string) *CreateCustomMetadataInput {
  5254  	s.VersionId = &v
  5255  	return s
  5256  }
  5257  
  5258  type CreateCustomMetadataOutput struct {
  5259  	_ struct{} `type:"structure" nopayload:"true"`
  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".
  5267  func (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".
  5276  func (s CreateCustomMetadataOutput) GoString() string {
  5277  	return s.String()
  5278  }
  5279  
  5280  type 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".
  5305  func (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".
  5314  func (s CreateFolderInput) GoString() string {
  5315  	return s.String()
  5316  }
  5317  
  5318  // Validate inspects the fields of the type to determine if they are valid.
  5319  func (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.
  5341  func (s *CreateFolderInput) SetAuthenticationToken(v string) *CreateFolderInput {
  5342  	s.AuthenticationToken = &v
  5343  	return s
  5344  }
  5345  
  5346  // SetName sets the Name field's value.
  5347  func (s *CreateFolderInput) SetName(v string) *CreateFolderInput {
  5348  	s.Name = &v
  5349  	return s
  5350  }
  5351  
  5352  // SetParentFolderId sets the ParentFolderId field's value.
  5353  func (s *CreateFolderInput) SetParentFolderId(v string) *CreateFolderInput {
  5354  	s.ParentFolderId = &v
  5355  	return s
  5356  }
  5357  
  5358  type 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".
  5370  func (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".
  5379  func (s CreateFolderOutput) GoString() string {
  5380  	return s.String()
  5381  }
  5382  
  5383  // SetMetadata sets the Metadata field's value.
  5384  func (s *CreateFolderOutput) SetMetadata(v *FolderMetadata) *CreateFolderOutput {
  5385  	s.Metadata = v
  5386  	return s
  5387  }
  5388  
  5389  type 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".
  5416  func (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".
  5425  func (s CreateLabelsInput) GoString() string {
  5426  	return s.String()
  5427  }
  5428  
  5429  // Validate inspects the fields of the type to determine if they are valid.
  5430  func (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.
  5452  func (s *CreateLabelsInput) SetAuthenticationToken(v string) *CreateLabelsInput {
  5453  	s.AuthenticationToken = &v
  5454  	return s
  5455  }
  5456  
  5457  // SetLabels sets the Labels field's value.
  5458  func (s *CreateLabelsInput) SetLabels(v []*string) *CreateLabelsInput {
  5459  	s.Labels = v
  5460  	return s
  5461  }
  5462  
  5463  // SetResourceId sets the ResourceId field's value.
  5464  func (s *CreateLabelsInput) SetResourceId(v string) *CreateLabelsInput {
  5465  	s.ResourceId = &v
  5466  	return s
  5467  }
  5468  
  5469  type CreateLabelsOutput struct {
  5470  	_ struct{} `type:"structure" nopayload:"true"`
  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".
  5478  func (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".
  5487  func (s CreateLabelsOutput) GoString() string {
  5488  	return s.String()
  5489  }
  5490  
  5491  type 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".
  5522  func (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".
  5531  func (s CreateNotificationSubscriptionInput) GoString() string {
  5532  	return s.String()
  5533  }
  5534  
  5535  // Validate inspects the fields of the type to determine if they are valid.
  5536  func (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.
  5564  func (s *CreateNotificationSubscriptionInput) SetEndpoint(v string) *CreateNotificationSubscriptionInput {
  5565  	s.Endpoint = &v
  5566  	return s
  5567  }
  5568  
  5569  // SetOrganizationId sets the OrganizationId field's value.
  5570  func (s *CreateNotificationSubscriptionInput) SetOrganizationId(v string) *CreateNotificationSubscriptionInput {
  5571  	s.OrganizationId = &v
  5572  	return s
  5573  }
  5574  
  5575  // SetProtocol sets the Protocol field's value.
  5576  func (s *CreateNotificationSubscriptionInput) SetProtocol(v string) *CreateNotificationSubscriptionInput {
  5577  	s.Protocol = &v
  5578  	return s
  5579  }
  5580  
  5581  // SetSubscriptionType sets the SubscriptionType field's value.
  5582  func (s *CreateNotificationSubscriptionInput) SetSubscriptionType(v string) *CreateNotificationSubscriptionInput {
  5583  	s.SubscriptionType = &v
  5584  	return s
  5585  }
  5586  
  5587  type 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".
  5599  func (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".
  5608  func (s CreateNotificationSubscriptionOutput) GoString() string {
  5609  	return s.String()
  5610  }
  5611  
  5612  // SetSubscription sets the Subscription field's value.
  5613  func (s *CreateNotificationSubscriptionOutput) SetSubscription(v *Subscription) *CreateNotificationSubscriptionOutput {
  5614  	s.Subscription = v
  5615  	return s
  5616  }
  5617  
  5618  type 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".
  5671  func (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".
  5680  func (s CreateUserInput) GoString() string {
  5681  	return s.String()
  5682  }
  5683  
  5684  // Validate inspects the fields of the type to determine if they are valid.
  5685  func (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.
  5731  func (s *CreateUserInput) SetAuthenticationToken(v string) *CreateUserInput {
  5732  	s.AuthenticationToken = &v
  5733  	return s
  5734  }
  5735  
  5736  // SetEmailAddress sets the EmailAddress field's value.
  5737  func (s *CreateUserInput) SetEmailAddress(v string) *CreateUserInput {
  5738  	s.EmailAddress = &v
  5739  	return s
  5740  }
  5741  
  5742  // SetGivenName sets the GivenName field's value.
  5743  func (s *CreateUserInput) SetGivenName(v string) *CreateUserInput {
  5744  	s.GivenName = &v
  5745  	return s
  5746  }
  5747  
  5748  // SetOrganizationId sets the OrganizationId field's value.
  5749  func (s *CreateUserInput) SetOrganizationId(v string) *CreateUserInput {
  5750  	s.OrganizationId = &v
  5751  	return s
  5752  }
  5753  
  5754  // SetPassword sets the Password field's value.
  5755  func (s *CreateUserInput) SetPassword(v string) *CreateUserInput {
  5756  	s.Password = &v
  5757  	return s
  5758  }
  5759  
  5760  // SetStorageRule sets the StorageRule field's value.
  5761  func (s *CreateUserInput) SetStorageRule(v *StorageRuleType) *CreateUserInput {
  5762  	s.StorageRule = v
  5763  	return s
  5764  }
  5765  
  5766  // SetSurname sets the Surname field's value.
  5767  func (s *CreateUserInput) SetSurname(v string) *CreateUserInput {
  5768  	s.Surname = &v
  5769  	return s
  5770  }
  5771  
  5772  // SetTimeZoneId sets the TimeZoneId field's value.
  5773  func (s *CreateUserInput) SetTimeZoneId(v string) *CreateUserInput {
  5774  	s.TimeZoneId = &v
  5775  	return s
  5776  }
  5777  
  5778  // SetUsername sets the Username field's value.
  5779  func (s *CreateUserInput) SetUsername(v string) *CreateUserInput {
  5780  	s.Username = &v
  5781  	return s
  5782  }
  5783  
  5784  type 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".
  5796  func (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".
  5805  func (s CreateUserOutput) GoString() string {
  5806  	return s.String()
  5807  }
  5808  
  5809  // SetUser sets the User field's value.
  5810  func (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.
  5817  type 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".
  5829  func (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".
  5838  func (s CustomMetadataLimitExceededException) GoString() string {
  5839  	return s.String()
  5840  }
  5841  
  5842  func newErrorCustomMetadataLimitExceededException(v protocol.ResponseMetadata) error {
  5843  	return &CustomMetadataLimitExceededException{
  5844  		RespMetadata: v,
  5845  	}
  5846  }
  5847  
  5848  // Code returns the exception type name.
  5849  func (s *CustomMetadataLimitExceededException) Code() string {
  5850  	return "CustomMetadataLimitExceededException"
  5851  }
  5852  
  5853  // Message returns the exception's message.
  5854  func (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.
  5862  func (s *CustomMetadataLimitExceededException) OrigErr() error {
  5863  	return nil
  5864  }
  5865  
  5866  func (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.
  5871  func (s *CustomMetadataLimitExceededException) StatusCode() int {
  5872  	return s.RespMetadata.StatusCode
  5873  }
  5874  
  5875  // RequestID returns the service's response RequestID for request.
  5876  func (s *CustomMetadataLimitExceededException) RequestID() string {
  5877  	return s.RespMetadata.RequestID
  5878  }
  5879  
  5880  type 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".
  5902  func (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".
  5911  func (s DeactivateUserInput) GoString() string {
  5912  	return s.String()
  5913  }
  5914  
  5915  // Validate inspects the fields of the type to determine if they are valid.
  5916  func (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.
  5935  func (s *DeactivateUserInput) SetAuthenticationToken(v string) *DeactivateUserInput {
  5936  	s.AuthenticationToken = &v
  5937  	return s
  5938  }
  5939  
  5940  // SetUserId sets the UserId field's value.
  5941  func (s *DeactivateUserInput) SetUserId(v string) *DeactivateUserInput {
  5942  	s.UserId = &v
  5943  	return s
  5944  }
  5945  
  5946  type DeactivateUserOutput struct {
  5947  	_ struct{} `type:"structure" nopayload:"true"`
  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".
  5955  func (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".
  5964  func (s DeactivateUserOutput) GoString() string {
  5965  	return s.String()
  5966  }
  5967  
  5968  // The last user in the organization is being deactivated.
  5969  type 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".
  5981  func (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".
  5990  func (s DeactivatingLastSystemUserException) GoString() string {
  5991  	return s.String()
  5992  }
  5993  
  5994  func newErrorDeactivatingLastSystemUserException(v protocol.ResponseMetadata) error {
  5995  	return &DeactivatingLastSystemUserException{
  5996  		RespMetadata: v,
  5997  	}
  5998  }
  5999  
  6000  // Code returns the exception type name.
  6001  func (s *DeactivatingLastSystemUserException) Code() string {
  6002  	return "DeactivatingLastSystemUserException"
  6003  }
  6004  
  6005  // Message returns the exception's message.
  6006  func (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.
  6014  func (s *DeactivatingLastSystemUserException) OrigErr() error {
  6015  	return nil
  6016  }
  6017  
  6018  func (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.
  6023  func (s *DeactivatingLastSystemUserException) StatusCode() int {
  6024  	return s.RespMetadata.StatusCode
  6025  }
  6026  
  6027  // RequestID returns the service's response RequestID for request.
  6028  func (s *DeactivatingLastSystemUserException) RequestID() string {
  6029  	return s.RespMetadata.RequestID
  6030  }
  6031  
  6032  type 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".
  6064  func (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".
  6073  func (s DeleteCommentInput) GoString() string {
  6074  	return s.String()
  6075  }
  6076  
  6077  // Validate inspects the fields of the type to determine if they are valid.
  6078  func (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.
  6109  func (s *DeleteCommentInput) SetAuthenticationToken(v string) *DeleteCommentInput {
  6110  	s.AuthenticationToken = &v
  6111  	return s
  6112  }
  6113  
  6114  // SetCommentId sets the CommentId field's value.
  6115  func (s *DeleteCommentInput) SetCommentId(v string) *DeleteCommentInput {
  6116  	s.CommentId = &v
  6117  	return s
  6118  }
  6119  
  6120  // SetDocumentId sets the DocumentId field's value.
  6121  func (s *DeleteCommentInput) SetDocumentId(v string) *DeleteCommentInput {
  6122  	s.DocumentId = &v
  6123  	return s
  6124  }
  6125  
  6126  // SetVersionId sets the VersionId field's value.
  6127  func (s *DeleteCommentInput) SetVersionId(v string) *DeleteCommentInput {
  6128  	s.VersionId = &v
  6129  	return s
  6130  }
  6131  
  6132  type DeleteCommentOutput struct {
  6133  	_ struct{} `type:"structure" nopayload:"true"`
  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".
  6141  func (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".
  6150  func (s DeleteCommentOutput) GoString() string {
  6151  	return s.String()
  6152  }
  6153  
  6154  type 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".
  6187  func (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".
  6196  func (s DeleteCustomMetadataInput) GoString() string {
  6197  	return s.String()
  6198  }
  6199  
  6200  // Validate inspects the fields of the type to determine if they are valid.
  6201  func (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.
  6223  func (s *DeleteCustomMetadataInput) SetAuthenticationToken(v string) *DeleteCustomMetadataInput {
  6224  	s.AuthenticationToken = &v
  6225  	return s
  6226  }
  6227  
  6228  // SetDeleteAll sets the DeleteAll field's value.
  6229  func (s *DeleteCustomMetadataInput) SetDeleteAll(v bool) *DeleteCustomMetadataInput {
  6230  	s.DeleteAll = &v
  6231  	return s
  6232  }
  6233  
  6234  // SetKeys sets the Keys field's value.
  6235  func (s *DeleteCustomMetadataInput) SetKeys(v []*string) *DeleteCustomMetadataInput {
  6236  	s.Keys = v
  6237  	return s
  6238  }
  6239  
  6240  // SetResourceId sets the ResourceId field's value.
  6241  func (s *DeleteCustomMetadataInput) SetResourceId(v string) *DeleteCustomMetadataInput {
  6242  	s.ResourceId = &v
  6243  	return s
  6244  }
  6245  
  6246  // SetVersionId sets the VersionId field's value.
  6247  func (s *DeleteCustomMetadataInput) SetVersionId(v string) *DeleteCustomMetadataInput {
  6248  	s.VersionId = &v
  6249  	return s
  6250  }
  6251  
  6252  type DeleteCustomMetadataOutput struct {
  6253  	_ struct{} `type:"structure" nopayload:"true"`
  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".
  6261  func (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".
  6270  func (s DeleteCustomMetadataOutput) GoString() string {
  6271  	return s.String()
  6272  }
  6273  
  6274  type 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".
  6296  func (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".
  6305  func (s DeleteDocumentInput) GoString() string {
  6306  	return s.String()
  6307  }
  6308  
  6309  // Validate inspects the fields of the type to determine if they are valid.
  6310  func (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.
  6329  func (s *DeleteDocumentInput) SetAuthenticationToken(v string) *DeleteDocumentInput {
  6330  	s.AuthenticationToken = &v
  6331  	return s
  6332  }
  6333  
  6334  // SetDocumentId sets the DocumentId field's value.
  6335  func (s *DeleteDocumentInput) SetDocumentId(v string) *DeleteDocumentInput {
  6336  	s.DocumentId = &v
  6337  	return s
  6338  }
  6339  
  6340  type DeleteDocumentOutput struct {
  6341  	_ struct{} `type:"structure" nopayload:"true"`
  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".
  6349  func (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".
  6358  func (s DeleteDocumentOutput) GoString() string {
  6359  	return s.String()
  6360  }
  6361  
  6362  type 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".
  6384  func (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".
  6393  func (s DeleteFolderContentsInput) GoString() string {
  6394  	return s.String()
  6395  }
  6396  
  6397  // Validate inspects the fields of the type to determine if they are valid.
  6398  func (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.
  6417  func (s *DeleteFolderContentsInput) SetAuthenticationToken(v string) *DeleteFolderContentsInput {
  6418  	s.AuthenticationToken = &v
  6419  	return s
  6420  }
  6421  
  6422  // SetFolderId sets the FolderId field's value.
  6423  func (s *DeleteFolderContentsInput) SetFolderId(v string) *DeleteFolderContentsInput {
  6424  	s.FolderId = &v
  6425  	return s
  6426  }
  6427  
  6428  type DeleteFolderContentsOutput struct {
  6429  	_ struct{} `type:"structure" nopayload:"true"`
  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".
  6437  func (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".
  6446  func (s DeleteFolderContentsOutput) GoString() string {
  6447  	return s.String()
  6448  }
  6449  
  6450  type 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".
  6472  func (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".
  6481  func (s DeleteFolderInput) GoString() string {
  6482  	return s.String()
  6483  }
  6484  
  6485  // Validate inspects the fields of the type to determine if they are valid.
  6486  func (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.
  6505  func (s *DeleteFolderInput) SetAuthenticationToken(v string) *DeleteFolderInput {
  6506  	s.AuthenticationToken = &v
  6507  	return s
  6508  }
  6509  
  6510  // SetFolderId sets the FolderId field's value.
  6511  func (s *DeleteFolderInput) SetFolderId(v string) *DeleteFolderInput {
  6512  	s.FolderId = &v
  6513  	return s
  6514  }
  6515  
  6516  type DeleteFolderOutput struct {
  6517  	_ struct{} `type:"structure" nopayload:"true"`
  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".
  6525  func (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".
  6534  func (s DeleteFolderOutput) GoString() string {
  6535  	return s.String()
  6536  }
  6537  
  6538  type 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".
  6566  func (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".
  6575  func (s DeleteLabelsInput) GoString() string {
  6576  	return s.String()
  6577  }
  6578  
  6579  // Validate inspects the fields of the type to determine if they are valid.
  6580  func (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.
  6599  func (s *DeleteLabelsInput) SetAuthenticationToken(v string) *DeleteLabelsInput {
  6600  	s.AuthenticationToken = &v
  6601  	return s
  6602  }
  6603  
  6604  // SetDeleteAll sets the DeleteAll field's value.
  6605  func (s *DeleteLabelsInput) SetDeleteAll(v bool) *DeleteLabelsInput {
  6606  	s.DeleteAll = &v
  6607  	return s
  6608  }
  6609  
  6610  // SetLabels sets the Labels field's value.
  6611  func (s *DeleteLabelsInput) SetLabels(v []*string) *DeleteLabelsInput {
  6612  	s.Labels = v
  6613  	return s
  6614  }
  6615  
  6616  // SetResourceId sets the ResourceId field's value.
  6617  func (s *DeleteLabelsInput) SetResourceId(v string) *DeleteLabelsInput {
  6618  	s.ResourceId = &v
  6619  	return s
  6620  }
  6621  
  6622  type DeleteLabelsOutput struct {
  6623  	_ struct{} `type:"structure" nopayload:"true"`
  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".
  6631  func (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".
  6640  func (s DeleteLabelsOutput) GoString() string {
  6641  	return s.String()
  6642  }
  6643  
  6644  type 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".
  6663  func (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".
  6672  func (s DeleteNotificationSubscriptionInput) GoString() string {
  6673  	return s.String()
  6674  }
  6675  
  6676  // Validate inspects the fields of the type to determine if they are valid.
  6677  func (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.
  6699  func (s *DeleteNotificationSubscriptionInput) SetOrganizationId(v string) *DeleteNotificationSubscriptionInput {
  6700  	s.OrganizationId = &v
  6701  	return s
  6702  }
  6703  
  6704  // SetSubscriptionId sets the SubscriptionId field's value.
  6705  func (s *DeleteNotificationSubscriptionInput) SetSubscriptionId(v string) *DeleteNotificationSubscriptionInput {
  6706  	s.SubscriptionId = &v
  6707  	return s
  6708  }
  6709  
  6710  type DeleteNotificationSubscriptionOutput struct {
  6711  	_ struct{} `type:"structure" nopayload:"true"`
  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".
  6719  func (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".
  6728  func (s DeleteNotificationSubscriptionOutput) GoString() string {
  6729  	return s.String()
  6730  }
  6731  
  6732  type 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".
  6754  func (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".
  6763  func (s DeleteUserInput) GoString() string {
  6764  	return s.String()
  6765  }
  6766  
  6767  // Validate inspects the fields of the type to determine if they are valid.
  6768  func (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.
  6787  func (s *DeleteUserInput) SetAuthenticationToken(v string) *DeleteUserInput {
  6788  	s.AuthenticationToken = &v
  6789  	return s
  6790  }
  6791  
  6792  // SetUserId sets the UserId field's value.
  6793  func (s *DeleteUserInput) SetUserId(v string) *DeleteUserInput {
  6794  	s.UserId = &v
  6795  	return s
  6796  }
  6797  
  6798  type DeleteUserOutput struct {
  6799  	_ struct{} `type:"structure" nopayload:"true"`
  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".
  6807  func (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".
  6816  func (s DeleteUserOutput) GoString() string {
  6817  	return s.String()
  6818  }
  6819  
  6820  type 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".
  6873  func (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".
  6882  func (s DescribeActivitiesInput) GoString() string {
  6883  	return s.String()
  6884  }
  6885  
  6886  // Validate inspects the fields of the type to determine if they are valid.
  6887  func (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.
  6918  func (s *DescribeActivitiesInput) SetActivityTypes(v string) *DescribeActivitiesInput {
  6919  	s.ActivityTypes = &v
  6920  	return s
  6921  }
  6922  
  6923  // SetAuthenticationToken sets the AuthenticationToken field's value.
  6924  func (s *DescribeActivitiesInput) SetAuthenticationToken(v string) *DescribeActivitiesInput {
  6925  	s.AuthenticationToken = &v
  6926  	return s
  6927  }
  6928  
  6929  // SetEndTime sets the EndTime field's value.
  6930  func (s *DescribeActivitiesInput) SetEndTime(v time.Time) *DescribeActivitiesInput {
  6931  	s.EndTime = &v
  6932  	return s
  6933  }
  6934  
  6935  // SetIncludeIndirectActivities sets the IncludeIndirectActivities field's value.
  6936  func (s *DescribeActivitiesInput) SetIncludeIndirectActivities(v bool) *DescribeActivitiesInput {
  6937  	s.IncludeIndirectActivities = &v
  6938  	return s
  6939  }
  6940  
  6941  // SetLimit sets the Limit field's value.
  6942  func (s *DescribeActivitiesInput) SetLimit(v int64) *DescribeActivitiesInput {
  6943  	s.Limit = &v
  6944  	return s
  6945  }
  6946  
  6947  // SetMarker sets the Marker field's value.
  6948  func (s *DescribeActivitiesInput) SetMarker(v string) *DescribeActivitiesInput {
  6949  	s.Marker = &v
  6950  	return s
  6951  }
  6952  
  6953  // SetOrganizationId sets the OrganizationId field's value.
  6954  func (s *DescribeActivitiesInput) SetOrganizationId(v string) *DescribeActivitiesInput {
  6955  	s.OrganizationId = &v
  6956  	return s
  6957  }
  6958  
  6959  // SetResourceId sets the ResourceId field's value.
  6960  func (s *DescribeActivitiesInput) SetResourceId(v string) *DescribeActivitiesInput {
  6961  	s.ResourceId = &v
  6962  	return s
  6963  }
  6964  
  6965  // SetStartTime sets the StartTime field's value.
  6966  func (s *DescribeActivitiesInput) SetStartTime(v time.Time) *DescribeActivitiesInput {
  6967  	s.StartTime = &v
  6968  	return s
  6969  }
  6970  
  6971  // SetUserId sets the UserId field's value.
  6972  func (s *DescribeActivitiesInput) SetUserId(v string) *DescribeActivitiesInput {
  6973  	s.UserId = &v
  6974  	return s
  6975  }
  6976  
  6977  type 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".
  6992  func (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".
  7001  func (s DescribeActivitiesOutput) GoString() string {
  7002  	return s.String()
  7003  }
  7004  
  7005  // SetMarker sets the Marker field's value.
  7006  func (s *DescribeActivitiesOutput) SetMarker(v string) *DescribeActivitiesOutput {
  7007  	s.Marker = &v
  7008  	return s
  7009  }
  7010  
  7011  // SetUserActivities sets the UserActivities field's value.
  7012  func (s *DescribeActivitiesOutput) SetUserActivities(v []*Activity) *DescribeActivitiesOutput {
  7013  	s.UserActivities = v
  7014  	return s
  7015  }
  7016  
  7017  type 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".
  7051  func (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".
  7060  func (s DescribeCommentsInput) GoString() string {
  7061  	return s.String()
  7062  }
  7063  
  7064  // Validate inspects the fields of the type to determine if they are valid.
  7065  func (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.
  7096  func (s *DescribeCommentsInput) SetAuthenticationToken(v string) *DescribeCommentsInput {
  7097  	s.AuthenticationToken = &v
  7098  	return s
  7099  }
  7100  
  7101  // SetDocumentId sets the DocumentId field's value.
  7102  func (s *DescribeCommentsInput) SetDocumentId(v string) *DescribeCommentsInput {
  7103  	s.DocumentId = &v
  7104  	return s
  7105  }
  7106  
  7107  // SetLimit sets the Limit field's value.
  7108  func (s *DescribeCommentsInput) SetLimit(v int64) *DescribeCommentsInput {
  7109  	s.Limit = &v
  7110  	return s
  7111  }
  7112  
  7113  // SetMarker sets the Marker field's value.
  7114  func (s *DescribeCommentsInput) SetMarker(v string) *DescribeCommentsInput {
  7115  	s.Marker = &v
  7116  	return s
  7117  }
  7118  
  7119  // SetVersionId sets the VersionId field's value.
  7120  func (s *DescribeCommentsInput) SetVersionId(v string) *DescribeCommentsInput {
  7121  	s.VersionId = &v
  7122  	return s
  7123  }
  7124  
  7125  type 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".
  7141  func (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".
  7150  func (s DescribeCommentsOutput) GoString() string {
  7151  	return s.String()
  7152  }
  7153  
  7154  // SetComments sets the Comments field's value.
  7155  func (s *DescribeCommentsOutput) SetComments(v []*Comment) *DescribeCommentsOutput {
  7156  	s.Comments = v
  7157  	return s
  7158  }
  7159  
  7160  // SetMarker sets the Marker field's value.
  7161  func (s *DescribeCommentsOutput) SetMarker(v string) *DescribeCommentsOutput {
  7162  	s.Marker = &v
  7163  	return s
  7164  }
  7165  
  7166  type 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".
  7203  func (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".
  7212  func (s DescribeDocumentVersionsInput) GoString() string {
  7213  	return s.String()
  7214  }
  7215  
  7216  // Validate inspects the fields of the type to determine if they are valid.
  7217  func (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.
  7248  func (s *DescribeDocumentVersionsInput) SetAuthenticationToken(v string) *DescribeDocumentVersionsInput {
  7249  	s.AuthenticationToken = &v
  7250  	return s
  7251  }
  7252  
  7253  // SetDocumentId sets the DocumentId field's value.
  7254  func (s *DescribeDocumentVersionsInput) SetDocumentId(v string) *DescribeDocumentVersionsInput {
  7255  	s.DocumentId = &v
  7256  	return s
  7257  }
  7258  
  7259  // SetFields sets the Fields field's value.
  7260  func (s *DescribeDocumentVersionsInput) SetFields(v string) *DescribeDocumentVersionsInput {
  7261  	s.Fields = &v
  7262  	return s
  7263  }
  7264  
  7265  // SetInclude sets the Include field's value.
  7266  func (s *DescribeDocumentVersionsInput) SetInclude(v string) *DescribeDocumentVersionsInput {
  7267  	s.Include = &v
  7268  	return s
  7269  }
  7270  
  7271  // SetLimit sets the Limit field's value.
  7272  func (s *DescribeDocumentVersionsInput) SetLimit(v int64) *DescribeDocumentVersionsInput {
  7273  	s.Limit = &v
  7274  	return s
  7275  }
  7276  
  7277  // SetMarker sets the Marker field's value.
  7278  func (s *DescribeDocumentVersionsInput) SetMarker(v string) *DescribeDocumentVersionsInput {
  7279  	s.Marker = &v
  7280  	return s
  7281  }
  7282  
  7283  type 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".
  7299  func (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".
  7308  func (s DescribeDocumentVersionsOutput) GoString() string {
  7309  	return s.String()
  7310  }
  7311  
  7312  // SetDocumentVersions sets the DocumentVersions field's value.
  7313  func (s *DescribeDocumentVersionsOutput) SetDocumentVersions(v []*DocumentVersionMetadata) *DescribeDocumentVersionsOutput {
  7314  	s.DocumentVersions = v
  7315  	return s
  7316  }
  7317  
  7318  // SetMarker sets the Marker field's value.
  7319  func (s *DescribeDocumentVersionsOutput) SetMarker(v string) *DescribeDocumentVersionsOutput {
  7320  	s.Marker = &v
  7321  	return s
  7322  }
  7323  
  7324  type 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".
  7365  func (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".
  7374  func (s DescribeFolderContentsInput) GoString() string {
  7375  	return s.String()
  7376  }
  7377  
  7378  // Validate inspects the fields of the type to determine if they are valid.
  7379  func (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.
  7407  func (s *DescribeFolderContentsInput) SetAuthenticationToken(v string) *DescribeFolderContentsInput {
  7408  	s.AuthenticationToken = &v
  7409  	return s
  7410  }
  7411  
  7412  // SetFolderId sets the FolderId field's value.
  7413  func (s *DescribeFolderContentsInput) SetFolderId(v string) *DescribeFolderContentsInput {
  7414  	s.FolderId = &v
  7415  	return s
  7416  }
  7417  
  7418  // SetInclude sets the Include field's value.
  7419  func (s *DescribeFolderContentsInput) SetInclude(v string) *DescribeFolderContentsInput {
  7420  	s.Include = &v
  7421  	return s
  7422  }
  7423  
  7424  // SetLimit sets the Limit field's value.
  7425  func (s *DescribeFolderContentsInput) SetLimit(v int64) *DescribeFolderContentsInput {
  7426  	s.Limit = &v
  7427  	return s
  7428  }
  7429  
  7430  // SetMarker sets the Marker field's value.
  7431  func (s *DescribeFolderContentsInput) SetMarker(v string) *DescribeFolderContentsInput {
  7432  	s.Marker = &v
  7433  	return s
  7434  }
  7435  
  7436  // SetOrder sets the Order field's value.
  7437  func (s *DescribeFolderContentsInput) SetOrder(v string) *DescribeFolderContentsInput {
  7438  	s.Order = &v
  7439  	return s
  7440  }
  7441  
  7442  // SetSort sets the Sort field's value.
  7443  func (s *DescribeFolderContentsInput) SetSort(v string) *DescribeFolderContentsInput {
  7444  	s.Sort = &v
  7445  	return s
  7446  }
  7447  
  7448  // SetType sets the Type field's value.
  7449  func (s *DescribeFolderContentsInput) SetType(v string) *DescribeFolderContentsInput {
  7450  	s.Type = &v
  7451  	return s
  7452  }
  7453  
  7454  type 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".
  7473  func (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".
  7482  func (s DescribeFolderContentsOutput) GoString() string {
  7483  	return s.String()
  7484  }
  7485  
  7486  // SetDocuments sets the Documents field's value.
  7487  func (s *DescribeFolderContentsOutput) SetDocuments(v []*DocumentMetadata) *DescribeFolderContentsOutput {
  7488  	s.Documents = v
  7489  	return s
  7490  }
  7491  
  7492  // SetFolders sets the Folders field's value.
  7493  func (s *DescribeFolderContentsOutput) SetFolders(v []*FolderMetadata) *DescribeFolderContentsOutput {
  7494  	s.Folders = v
  7495  	return s
  7496  }
  7497  
  7498  // SetMarker sets the Marker field's value.
  7499  func (s *DescribeFolderContentsOutput) SetMarker(v string) *DescribeFolderContentsOutput {
  7500  	s.Marker = &v
  7501  	return s
  7502  }
  7503  
  7504  type 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".
  7540  func (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".
  7549  func (s DescribeGroupsInput) GoString() string {
  7550  	return s.String()
  7551  }
  7552  
  7553  // Validate inspects the fields of the type to determine if they are valid.
  7554  func (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.
  7582  func (s *DescribeGroupsInput) SetAuthenticationToken(v string) *DescribeGroupsInput {
  7583  	s.AuthenticationToken = &v
  7584  	return s
  7585  }
  7586  
  7587  // SetLimit sets the Limit field's value.
  7588  func (s *DescribeGroupsInput) SetLimit(v int64) *DescribeGroupsInput {
  7589  	s.Limit = &v
  7590  	return s
  7591  }
  7592  
  7593  // SetMarker sets the Marker field's value.
  7594  func (s *DescribeGroupsInput) SetMarker(v string) *DescribeGroupsInput {
  7595  	s.Marker = &v
  7596  	return s
  7597  }
  7598  
  7599  // SetOrganizationId sets the OrganizationId field's value.
  7600  func (s *DescribeGroupsInput) SetOrganizationId(v string) *DescribeGroupsInput {
  7601  	s.OrganizationId = &v
  7602  	return s
  7603  }
  7604  
  7605  // SetSearchQuery sets the SearchQuery field's value.
  7606  func (s *DescribeGroupsInput) SetSearchQuery(v string) *DescribeGroupsInput {
  7607  	s.SearchQuery = &v
  7608  	return s
  7609  }
  7610  
  7611  type 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".
  7627  func (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".
  7636  func (s DescribeGroupsOutput) GoString() string {
  7637  	return s.String()
  7638  }
  7639  
  7640  // SetGroups sets the Groups field's value.
  7641  func (s *DescribeGroupsOutput) SetGroups(v []*GroupMetadata) *DescribeGroupsOutput {
  7642  	s.Groups = v
  7643  	return s
  7644  }
  7645  
  7646  // SetMarker sets the Marker field's value.
  7647  func (s *DescribeGroupsOutput) SetMarker(v string) *DescribeGroupsOutput {
  7648  	s.Marker = &v
  7649  	return s
  7650  }
  7651  
  7652  type 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".
  7673  func (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".
  7682  func (s DescribeNotificationSubscriptionsInput) GoString() string {
  7683  	return s.String()
  7684  }
  7685  
  7686  // Validate inspects the fields of the type to determine if they are valid.
  7687  func (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.
  7709  func (s *DescribeNotificationSubscriptionsInput) SetLimit(v int64) *DescribeNotificationSubscriptionsInput {
  7710  	s.Limit = &v
  7711  	return s
  7712  }
  7713  
  7714  // SetMarker sets the Marker field's value.
  7715  func (s *DescribeNotificationSubscriptionsInput) SetMarker(v string) *DescribeNotificationSubscriptionsInput {
  7716  	s.Marker = &v
  7717  	return s
  7718  }
  7719  
  7720  // SetOrganizationId sets the OrganizationId field's value.
  7721  func (s *DescribeNotificationSubscriptionsInput) SetOrganizationId(v string) *DescribeNotificationSubscriptionsInput {
  7722  	s.OrganizationId = &v
  7723  	return s
  7724  }
  7725  
  7726  type 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".
  7742  func (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".
  7751  func (s DescribeNotificationSubscriptionsOutput) GoString() string {
  7752  	return s.String()
  7753  }
  7754  
  7755  // SetMarker sets the Marker field's value.
  7756  func (s *DescribeNotificationSubscriptionsOutput) SetMarker(v string) *DescribeNotificationSubscriptionsOutput {
  7757  	s.Marker = &v
  7758  	return s
  7759  }
  7760  
  7761  // SetSubscriptions sets the Subscriptions field's value.
  7762  func (s *DescribeNotificationSubscriptionsOutput) SetSubscriptions(v []*Subscription) *DescribeNotificationSubscriptionsOutput {
  7763  	s.Subscriptions = v
  7764  	return s
  7765  }
  7766  
  7767  type 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".
  7799  func (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".
  7808  func (s DescribeResourcePermissionsInput) GoString() string {
  7809  	return s.String()
  7810  }
  7811  
  7812  // Validate inspects the fields of the type to determine if they are valid.
  7813  func (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.
  7841  func (s *DescribeResourcePermissionsInput) SetAuthenticationToken(v string) *DescribeResourcePermissionsInput {
  7842  	s.AuthenticationToken = &v
  7843  	return s
  7844  }
  7845  
  7846  // SetLimit sets the Limit field's value.
  7847  func (s *DescribeResourcePermissionsInput) SetLimit(v int64) *DescribeResourcePermissionsInput {
  7848  	s.Limit = &v
  7849  	return s
  7850  }
  7851  
  7852  // SetMarker sets the Marker field's value.
  7853  func (s *DescribeResourcePermissionsInput) SetMarker(v string) *DescribeResourcePermissionsInput {
  7854  	s.Marker = &v
  7855  	return s
  7856  }
  7857  
  7858  // SetPrincipalId sets the PrincipalId field's value.
  7859  func (s *DescribeResourcePermissionsInput) SetPrincipalId(v string) *DescribeResourcePermissionsInput {
  7860  	s.PrincipalId = &v
  7861  	return s
  7862  }
  7863  
  7864  // SetResourceId sets the ResourceId field's value.
  7865  func (s *DescribeResourcePermissionsInput) SetResourceId(v string) *DescribeResourcePermissionsInput {
  7866  	s.ResourceId = &v
  7867  	return s
  7868  }
  7869  
  7870  type 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".
  7886  func (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".
  7895  func (s DescribeResourcePermissionsOutput) GoString() string {
  7896  	return s.String()
  7897  }
  7898  
  7899  // SetMarker sets the Marker field's value.
  7900  func (s *DescribeResourcePermissionsOutput) SetMarker(v string) *DescribeResourcePermissionsOutput {
  7901  	s.Marker = &v
  7902  	return s
  7903  }
  7904  
  7905  // SetPrincipals sets the Principals field's value.
  7906  func (s *DescribeResourcePermissionsOutput) SetPrincipals(v []*Principal) *DescribeResourcePermissionsOutput {
  7907  	s.Principals = v
  7908  	return s
  7909  }
  7910  
  7911  type 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".
  7936  func (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".
  7945  func (s DescribeRootFoldersInput) GoString() string {
  7946  	return s.String()
  7947  }
  7948  
  7949  // Validate inspects the fields of the type to determine if they are valid.
  7950  func (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.
  7972  func (s *DescribeRootFoldersInput) SetAuthenticationToken(v string) *DescribeRootFoldersInput {
  7973  	s.AuthenticationToken = &v
  7974  	return s
  7975  }
  7976  
  7977  // SetLimit sets the Limit field's value.
  7978  func (s *DescribeRootFoldersInput) SetLimit(v int64) *DescribeRootFoldersInput {
  7979  	s.Limit = &v
  7980  	return s
  7981  }
  7982  
  7983  // SetMarker sets the Marker field's value.
  7984  func (s *DescribeRootFoldersInput) SetMarker(v string) *DescribeRootFoldersInput {
  7985  	s.Marker = &v
  7986  	return s
  7987  }
  7988  
  7989  type 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".
  8004  func (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".
  8013  func (s DescribeRootFoldersOutput) GoString() string {
  8014  	return s.String()
  8015  }
  8016  
  8017  // SetFolders sets the Folders field's value.
  8018  func (s *DescribeRootFoldersOutput) SetFolders(v []*FolderMetadata) *DescribeRootFoldersOutput {
  8019  	s.Folders = v
  8020  	return s
  8021  }
  8022  
  8023  // SetMarker sets the Marker field's value.
  8024  func (s *DescribeRootFoldersOutput) SetMarker(v string) *DescribeRootFoldersOutput {
  8025  	s.Marker = &v
  8026  	return s
  8027  }
  8028  
  8029  type 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".
  8079  func (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".
  8088  func (s DescribeUsersInput) GoString() string {
  8089  	return s.String()
  8090  }
  8091  
  8092  // Validate inspects the fields of the type to determine if they are valid.
  8093  func (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.
  8124  func (s *DescribeUsersInput) SetAuthenticationToken(v string) *DescribeUsersInput {
  8125  	s.AuthenticationToken = &v
  8126  	return s
  8127  }
  8128  
  8129  // SetFields sets the Fields field's value.
  8130  func (s *DescribeUsersInput) SetFields(v string) *DescribeUsersInput {
  8131  	s.Fields = &v
  8132  	return s
  8133  }
  8134  
  8135  // SetInclude sets the Include field's value.
  8136  func (s *DescribeUsersInput) SetInclude(v string) *DescribeUsersInput {
  8137  	s.Include = &v
  8138  	return s
  8139  }
  8140  
  8141  // SetLimit sets the Limit field's value.
  8142  func (s *DescribeUsersInput) SetLimit(v int64) *DescribeUsersInput {
  8143  	s.Limit = &v
  8144  	return s
  8145  }
  8146  
  8147  // SetMarker sets the Marker field's value.
  8148  func (s *DescribeUsersInput) SetMarker(v string) *DescribeUsersInput {
  8149  	s.Marker = &v
  8150  	return s
  8151  }
  8152  
  8153  // SetOrder sets the Order field's value.
  8154  func (s *DescribeUsersInput) SetOrder(v string) *DescribeUsersInput {
  8155  	s.Order = &v
  8156  	return s
  8157  }
  8158  
  8159  // SetOrganizationId sets the OrganizationId field's value.
  8160  func (s *DescribeUsersInput) SetOrganizationId(v string) *DescribeUsersInput {
  8161  	s.OrganizationId = &v
  8162  	return s
  8163  }
  8164  
  8165  // SetQuery sets the Query field's value.
  8166  func (s *DescribeUsersInput) SetQuery(v string) *DescribeUsersInput {
  8167  	s.Query = &v
  8168  	return s
  8169  }
  8170  
  8171  // SetSort sets the Sort field's value.
  8172  func (s *DescribeUsersInput) SetSort(v string) *DescribeUsersInput {
  8173  	s.Sort = &v
  8174  	return s
  8175  }
  8176  
  8177  // SetUserIds sets the UserIds field's value.
  8178  func (s *DescribeUsersInput) SetUserIds(v string) *DescribeUsersInput {
  8179  	s.UserIds = &v
  8180  	return s
  8181  }
  8182  
  8183  type 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".
  8204  func (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".
  8213  func (s DescribeUsersOutput) GoString() string {
  8214  	return s.String()
  8215  }
  8216  
  8217  // SetMarker sets the Marker field's value.
  8218  func (s *DescribeUsersOutput) SetMarker(v string) *DescribeUsersOutput {
  8219  	s.Marker = &v
  8220  	return s
  8221  }
  8222  
  8223  // SetTotalNumberOfUsers sets the TotalNumberOfUsers field's value.
  8224  func (s *DescribeUsersOutput) SetTotalNumberOfUsers(v int64) *DescribeUsersOutput {
  8225  	s.TotalNumberOfUsers = &v
  8226  	return s
  8227  }
  8228  
  8229  // SetUsers sets the Users field's value.
  8230  func (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.
  8237  type 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".
  8249  func (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".
  8258  func (s DocumentLockedForCommentsException) GoString() string {
  8259  	return s.String()
  8260  }
  8261  
  8262  func newErrorDocumentLockedForCommentsException(v protocol.ResponseMetadata) error {
  8263  	return &DocumentLockedForCommentsException{
  8264  		RespMetadata: v,
  8265  	}
  8266  }
  8267  
  8268  // Code returns the exception type name.
  8269  func (s *DocumentLockedForCommentsException) Code() string {
  8270  	return "DocumentLockedForCommentsException"
  8271  }
  8272  
  8273  // Message returns the exception's message.
  8274  func (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.
  8282  func (s *DocumentLockedForCommentsException) OrigErr() error {
  8283  	return nil
  8284  }
  8285  
  8286  func (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.
  8291  func (s *DocumentLockedForCommentsException) StatusCode() int {
  8292  	return s.RespMetadata.StatusCode
  8293  }
  8294  
  8295  // RequestID returns the service's response RequestID for request.
  8296  func (s *DocumentLockedForCommentsException) RequestID() string {
  8297  	return s.RespMetadata.RequestID
  8298  }
  8299  
  8300  // Describes the document.
  8301  type 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".
  8334  func (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".
  8343  func (s DocumentMetadata) GoString() string {
  8344  	return s.String()
  8345  }
  8346  
  8347  // SetCreatedTimestamp sets the CreatedTimestamp field's value.
  8348  func (s *DocumentMetadata) SetCreatedTimestamp(v time.Time) *DocumentMetadata {
  8349  	s.CreatedTimestamp = &v
  8350  	return s
  8351  }
  8352  
  8353  // SetCreatorId sets the CreatorId field's value.
  8354  func (s *DocumentMetadata) SetCreatorId(v string) *DocumentMetadata {
  8355  	s.CreatorId = &v
  8356  	return s
  8357  }
  8358  
  8359  // SetId sets the Id field's value.
  8360  func (s *DocumentMetadata) SetId(v string) *DocumentMetadata {
  8361  	s.Id = &v
  8362  	return s
  8363  }
  8364  
  8365  // SetLabels sets the Labels field's value.
  8366  func (s *DocumentMetadata) SetLabels(v []*string) *DocumentMetadata {
  8367  	s.Labels = v
  8368  	return s
  8369  }
  8370  
  8371  // SetLatestVersionMetadata sets the LatestVersionMetadata field's value.
  8372  func (s *DocumentMetadata) SetLatestVersionMetadata(v *DocumentVersionMetadata) *DocumentMetadata {
  8373  	s.LatestVersionMetadata = v
  8374  	return s
  8375  }
  8376  
  8377  // SetModifiedTimestamp sets the ModifiedTimestamp field's value.
  8378  func (s *DocumentMetadata) SetModifiedTimestamp(v time.Time) *DocumentMetadata {
  8379  	s.ModifiedTimestamp = &v
  8380  	return s
  8381  }
  8382  
  8383  // SetParentFolderId sets the ParentFolderId field's value.
  8384  func (s *DocumentMetadata) SetParentFolderId(v string) *DocumentMetadata {
  8385  	s.ParentFolderId = &v
  8386  	return s
  8387  }
  8388  
  8389  // SetResourceState sets the ResourceState field's value.
  8390  func (s *DocumentMetadata) SetResourceState(v string) *DocumentMetadata {
  8391  	s.ResourceState = &v
  8392  	return s
  8393  }
  8394  
  8395  // Describes a version of a document.
  8396  type 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".
  8444  func (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".
  8453  func (s DocumentVersionMetadata) GoString() string {
  8454  	return s.String()
  8455  }
  8456  
  8457  // SetContentCreatedTimestamp sets the ContentCreatedTimestamp field's value.
  8458  func (s *DocumentVersionMetadata) SetContentCreatedTimestamp(v time.Time) *DocumentVersionMetadata {
  8459  	s.ContentCreatedTimestamp = &v
  8460  	return s
  8461  }
  8462  
  8463  // SetContentModifiedTimestamp sets the ContentModifiedTimestamp field's value.
  8464  func (s *DocumentVersionMetadata) SetContentModifiedTimestamp(v time.Time) *DocumentVersionMetadata {
  8465  	s.ContentModifiedTimestamp = &v
  8466  	return s
  8467  }
  8468  
  8469  // SetContentType sets the ContentType field's value.
  8470  func (s *DocumentVersionMetadata) SetContentType(v string) *DocumentVersionMetadata {
  8471  	s.ContentType = &v
  8472  	return s
  8473  }
  8474  
  8475  // SetCreatedTimestamp sets the CreatedTimestamp field's value.
  8476  func (s *DocumentVersionMetadata) SetCreatedTimestamp(v time.Time) *DocumentVersionMetadata {
  8477  	s.CreatedTimestamp = &v
  8478  	return s
  8479  }
  8480  
  8481  // SetCreatorId sets the CreatorId field's value.
  8482  func (s *DocumentVersionMetadata) SetCreatorId(v string) *DocumentVersionMetadata {
  8483  	s.CreatorId = &v
  8484  	return s
  8485  }
  8486  
  8487  // SetId sets the Id field's value.
  8488  func (s *DocumentVersionMetadata) SetId(v string) *DocumentVersionMetadata {
  8489  	s.Id = &v
  8490  	return s
  8491  }
  8492  
  8493  // SetModifiedTimestamp sets the ModifiedTimestamp field's value.
  8494  func (s *DocumentVersionMetadata) SetModifiedTimestamp(v time.Time) *DocumentVersionMetadata {
  8495  	s.ModifiedTimestamp = &v
  8496  	return s
  8497  }
  8498  
  8499  // SetName sets the Name field's value.
  8500  func (s *DocumentVersionMetadata) SetName(v string) *DocumentVersionMetadata {
  8501  	s.Name = &v
  8502  	return s
  8503  }
  8504  
  8505  // SetSignature sets the Signature field's value.
  8506  func (s *DocumentVersionMetadata) SetSignature(v string) *DocumentVersionMetadata {
  8507  	s.Signature = &v
  8508  	return s
  8509  }
  8510  
  8511  // SetSize sets the Size field's value.
  8512  func (s *DocumentVersionMetadata) SetSize(v int64) *DocumentVersionMetadata {
  8513  	s.Size = &v
  8514  	return s
  8515  }
  8516  
  8517  // SetSource sets the Source field's value.
  8518  func (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.
  8524  func (s *DocumentVersionMetadata) SetStatus(v string) *DocumentVersionMetadata {
  8525  	s.Status = &v
  8526  	return s
  8527  }
  8528  
  8529  // SetThumbnail sets the Thumbnail field's value.
  8530  func (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.
  8537  type 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".
  8549  func (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".
  8558  func (s DraftUploadOutOfSyncException) GoString() string {
  8559  	return s.String()
  8560  }
  8561  
  8562  func newErrorDraftUploadOutOfSyncException(v protocol.ResponseMetadata) error {
  8563  	return &DraftUploadOutOfSyncException{
  8564  		RespMetadata: v,
  8565  	}
  8566  }
  8567  
  8568  // Code returns the exception type name.
  8569  func (s *DraftUploadOutOfSyncException) Code() string {
  8570  	return "DraftUploadOutOfSyncException"
  8571  }
  8572  
  8573  // Message returns the exception's message.
  8574  func (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.
  8582  func (s *DraftUploadOutOfSyncException) OrigErr() error {
  8583  	return nil
  8584  }
  8585  
  8586  func (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.
  8591  func (s *DraftUploadOutOfSyncException) StatusCode() int {
  8592  	return s.RespMetadata.StatusCode
  8593  }
  8594  
  8595  // RequestID returns the service's response RequestID for request.
  8596  func (s *DraftUploadOutOfSyncException) RequestID() string {
  8597  	return s.RespMetadata.RequestID
  8598  }
  8599  
  8600  // The resource already exists.
  8601  type 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".
  8613  func (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".
  8622  func (s EntityAlreadyExistsException) GoString() string {
  8623  	return s.String()
  8624  }
  8625  
  8626  func newErrorEntityAlreadyExistsException(v protocol.ResponseMetadata) error {
  8627  	return &EntityAlreadyExistsException{
  8628  		RespMetadata: v,
  8629  	}
  8630  }
  8631  
  8632  // Code returns the exception type name.
  8633  func (s *EntityAlreadyExistsException) Code() string {
  8634  	return "EntityAlreadyExistsException"
  8635  }
  8636  
  8637  // Message returns the exception's message.
  8638  func (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.
  8646  func (s *EntityAlreadyExistsException) OrigErr() error {
  8647  	return nil
  8648  }
  8649  
  8650  func (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.
  8655  func (s *EntityAlreadyExistsException) StatusCode() int {
  8656  	return s.RespMetadata.StatusCode
  8657  }
  8658  
  8659  // RequestID returns the service's response RequestID for request.
  8660  func (s *EntityAlreadyExistsException) RequestID() string {
  8661  	return s.RespMetadata.RequestID
  8662  }
  8663  
  8664  // The resource does not exist.
  8665  type 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".
  8679  func (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".
  8688  func (s EntityNotExistsException) GoString() string {
  8689  	return s.String()
  8690  }
  8691  
  8692  func newErrorEntityNotExistsException(v protocol.ResponseMetadata) error {
  8693  	return &EntityNotExistsException{
  8694  		RespMetadata: v,
  8695  	}
  8696  }
  8697  
  8698  // Code returns the exception type name.
  8699  func (s *EntityNotExistsException) Code() string {
  8700  	return "EntityNotExistsException"
  8701  }
  8702  
  8703  // Message returns the exception's message.
  8704  func (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.
  8712  func (s *EntityNotExistsException) OrigErr() error {
  8713  	return nil
  8714  }
  8715  
  8716  func (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.
  8721  func (s *EntityNotExistsException) StatusCode() int {
  8722  	return s.RespMetadata.StatusCode
  8723  }
  8724  
  8725  // RequestID returns the service's response RequestID for request.
  8726  func (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.
  8733  type 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".
  8745  func (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".
  8754  func (s FailedDependencyException) GoString() string {
  8755  	return s.String()
  8756  }
  8757  
  8758  func newErrorFailedDependencyException(v protocol.ResponseMetadata) error {
  8759  	return &FailedDependencyException{
  8760  		RespMetadata: v,
  8761  	}
  8762  }
  8763  
  8764  // Code returns the exception type name.
  8765  func (s *FailedDependencyException) Code() string {
  8766  	return "FailedDependencyException"
  8767  }
  8768  
  8769  // Message returns the exception's message.
  8770  func (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.
  8778  func (s *FailedDependencyException) OrigErr() error {
  8779  	return nil
  8780  }
  8781  
  8782  func (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.
  8787  func (s *FailedDependencyException) StatusCode() int {
  8788  	return s.RespMetadata.StatusCode
  8789  }
  8790  
  8791  // RequestID returns the service's response RequestID for request.
  8792  func (s *FailedDependencyException) RequestID() string {
  8793  	return s.RespMetadata.RequestID
  8794  }
  8795  
  8796  // Describes a folder.
  8797  type 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".
  8839  func (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".
  8848  func (s FolderMetadata) GoString() string {
  8849  	return s.String()
  8850  }
  8851  
  8852  // SetCreatedTimestamp sets the CreatedTimestamp field's value.
  8853  func (s *FolderMetadata) SetCreatedTimestamp(v time.Time) *FolderMetadata {
  8854  	s.CreatedTimestamp = &v
  8855  	return s
  8856  }
  8857  
  8858  // SetCreatorId sets the CreatorId field's value.
  8859  func (s *FolderMetadata) SetCreatorId(v string) *FolderMetadata {
  8860  	s.CreatorId = &v
  8861  	return s
  8862  }
  8863  
  8864  // SetId sets the Id field's value.
  8865  func (s *FolderMetadata) SetId(v string) *FolderMetadata {
  8866  	s.Id = &v
  8867  	return s
  8868  }
  8869  
  8870  // SetLabels sets the Labels field's value.
  8871  func (s *FolderMetadata) SetLabels(v []*string) *FolderMetadata {
  8872  	s.Labels = v
  8873  	return s
  8874  }
  8875  
  8876  // SetLatestVersionSize sets the LatestVersionSize field's value.
  8877  func (s *FolderMetadata) SetLatestVersionSize(v int64) *FolderMetadata {
  8878  	s.LatestVersionSize = &v
  8879  	return s
  8880  }
  8881  
  8882  // SetModifiedTimestamp sets the ModifiedTimestamp field's value.
  8883  func (s *FolderMetadata) SetModifiedTimestamp(v time.Time) *FolderMetadata {
  8884  	s.ModifiedTimestamp = &v
  8885  	return s
  8886  }
  8887  
  8888  // SetName sets the Name field's value.
  8889  func (s *FolderMetadata) SetName(v string) *FolderMetadata {
  8890  	s.Name = &v
  8891  	return s
  8892  }
  8893  
  8894  // SetParentFolderId sets the ParentFolderId field's value.
  8895  func (s *FolderMetadata) SetParentFolderId(v string) *FolderMetadata {
  8896  	s.ParentFolderId = &v
  8897  	return s
  8898  }
  8899  
  8900  // SetResourceState sets the ResourceState field's value.
  8901  func (s *FolderMetadata) SetResourceState(v string) *FolderMetadata {
  8902  	s.ResourceState = &v
  8903  	return s
  8904  }
  8905  
  8906  // SetSignature sets the Signature field's value.
  8907  func (s *FolderMetadata) SetSignature(v string) *FolderMetadata {
  8908  	s.Signature = &v
  8909  	return s
  8910  }
  8911  
  8912  // SetSize sets the Size field's value.
  8913  func (s *FolderMetadata) SetSize(v int64) *FolderMetadata {
  8914  	s.Size = &v
  8915  	return s
  8916  }
  8917  
  8918  type 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".
  8936  func (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".
  8945  func (s GetCurrentUserInput) GoString() string {
  8946  	return s.String()
  8947  }
  8948  
  8949  // Validate inspects the fields of the type to determine if they are valid.
  8950  func (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.
  8966  func (s *GetCurrentUserInput) SetAuthenticationToken(v string) *GetCurrentUserInput {
  8967  	s.AuthenticationToken = &v
  8968  	return s
  8969  }
  8970  
  8971  type 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".
  8983  func (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".
  8992  func (s GetCurrentUserOutput) GoString() string {
  8993  	return s.String()
  8994  }
  8995  
  8996  // SetUser sets the User field's value.
  8997  func (s *GetCurrentUserOutput) SetUser(v *User) *GetCurrentUserOutput {
  8998  	s.User = v
  8999  	return s
  9000  }
  9001  
  9002  type 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".
  9027  func (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".
  9036  func (s GetDocumentInput) GoString() string {
  9037  	return s.String()
  9038  }
  9039  
  9040  // Validate inspects the fields of the type to determine if they are valid.
  9041  func (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.
  9060  func (s *GetDocumentInput) SetAuthenticationToken(v string) *GetDocumentInput {
  9061  	s.AuthenticationToken = &v
  9062  	return s
  9063  }
  9064  
  9065  // SetDocumentId sets the DocumentId field's value.
  9066  func (s *GetDocumentInput) SetDocumentId(v string) *GetDocumentInput {
  9067  	s.DocumentId = &v
  9068  	return s
  9069  }
  9070  
  9071  // SetIncludeCustomMetadata sets the IncludeCustomMetadata field's value.
  9072  func (s *GetDocumentInput) SetIncludeCustomMetadata(v bool) *GetDocumentInput {
  9073  	s.IncludeCustomMetadata = &v
  9074  	return s
  9075  }
  9076  
  9077  type 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".
  9092  func (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".
  9101  func (s GetDocumentOutput) GoString() string {
  9102  	return s.String()
  9103  }
  9104  
  9105  // SetCustomMetadata sets the CustomMetadata field's value.
  9106  func (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.
  9112  func (s *GetDocumentOutput) SetMetadata(v *DocumentMetadata) *GetDocumentOutput {
  9113  	s.Metadata = v
  9114  	return s
  9115  }
  9116  
  9117  type 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".
  9149  func (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".
  9158  func (s GetDocumentPathInput) GoString() string {
  9159  	return s.String()
  9160  }
  9161  
  9162  // Validate inspects the fields of the type to determine if they are valid.
  9163  func (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.
  9191  func (s *GetDocumentPathInput) SetAuthenticationToken(v string) *GetDocumentPathInput {
  9192  	s.AuthenticationToken = &v
  9193  	return s
  9194  }
  9195  
  9196  // SetDocumentId sets the DocumentId field's value.
  9197  func (s *GetDocumentPathInput) SetDocumentId(v string) *GetDocumentPathInput {
  9198  	s.DocumentId = &v
  9199  	return s
  9200  }
  9201  
  9202  // SetFields sets the Fields field's value.
  9203  func (s *GetDocumentPathInput) SetFields(v string) *GetDocumentPathInput {
  9204  	s.Fields = &v
  9205  	return s
  9206  }
  9207  
  9208  // SetLimit sets the Limit field's value.
  9209  func (s *GetDocumentPathInput) SetLimit(v int64) *GetDocumentPathInput {
  9210  	s.Limit = &v
  9211  	return s
  9212  }
  9213  
  9214  // SetMarker sets the Marker field's value.
  9215  func (s *GetDocumentPathInput) SetMarker(v string) *GetDocumentPathInput {
  9216  	s.Marker = &v
  9217  	return s
  9218  }
  9219  
  9220  type 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".
  9232  func (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".
  9241  func (s GetDocumentPathOutput) GoString() string {
  9242  	return s.String()
  9243  }
  9244  
  9245  // SetPath sets the Path field's value.
  9246  func (s *GetDocumentPathOutput) SetPath(v *ResourcePath) *GetDocumentPathOutput {
  9247  	s.Path = v
  9248  	return s
  9249  }
  9250  
  9251  type 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".
  9285  func (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".
  9294  func (s GetDocumentVersionInput) GoString() string {
  9295  	return s.String()
  9296  }
  9297  
  9298  // Validate inspects the fields of the type to determine if they are valid.
  9299  func (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.
  9327  func (s *GetDocumentVersionInput) SetAuthenticationToken(v string) *GetDocumentVersionInput {
  9328  	s.AuthenticationToken = &v
  9329  	return s
  9330  }
  9331  
  9332  // SetDocumentId sets the DocumentId field's value.
  9333  func (s *GetDocumentVersionInput) SetDocumentId(v string) *GetDocumentVersionInput {
  9334  	s.DocumentId = &v
  9335  	return s
  9336  }
  9337  
  9338  // SetFields sets the Fields field's value.
  9339  func (s *GetDocumentVersionInput) SetFields(v string) *GetDocumentVersionInput {
  9340  	s.Fields = &v
  9341  	return s
  9342  }
  9343  
  9344  // SetIncludeCustomMetadata sets the IncludeCustomMetadata field's value.
  9345  func (s *GetDocumentVersionInput) SetIncludeCustomMetadata(v bool) *GetDocumentVersionInput {
  9346  	s.IncludeCustomMetadata = &v
  9347  	return s
  9348  }
  9349  
  9350  // SetVersionId sets the VersionId field's value.
  9351  func (s *GetDocumentVersionInput) SetVersionId(v string) *GetDocumentVersionInput {
  9352  	s.VersionId = &v
  9353  	return s
  9354  }
  9355  
  9356  type 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".
  9371  func (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".
  9380  func (s GetDocumentVersionOutput) GoString() string {
  9381  	return s.String()
  9382  }
  9383  
  9384  // SetCustomMetadata sets the CustomMetadata field's value.
  9385  func (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.
  9391  func (s *GetDocumentVersionOutput) SetMetadata(v *DocumentVersionMetadata) *GetDocumentVersionOutput {
  9392  	s.Metadata = v
  9393  	return s
  9394  }
  9395  
  9396  type 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".
  9421  func (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".
  9430  func (s GetFolderInput) GoString() string {
  9431  	return s.String()
  9432  }
  9433  
  9434  // Validate inspects the fields of the type to determine if they are valid.
  9435  func (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.
  9454  func (s *GetFolderInput) SetAuthenticationToken(v string) *GetFolderInput {
  9455  	s.AuthenticationToken = &v
  9456  	return s
  9457  }
  9458  
  9459  // SetFolderId sets the FolderId field's value.
  9460  func (s *GetFolderInput) SetFolderId(v string) *GetFolderInput {
  9461  	s.FolderId = &v
  9462  	return s
  9463  }
  9464  
  9465  // SetIncludeCustomMetadata sets the IncludeCustomMetadata field's value.
  9466  func (s *GetFolderInput) SetIncludeCustomMetadata(v bool) *GetFolderInput {
  9467  	s.IncludeCustomMetadata = &v
  9468  	return s
  9469  }
  9470  
  9471  type 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".
  9486  func (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".
  9495  func (s GetFolderOutput) GoString() string {
  9496  	return s.String()
  9497  }
  9498  
  9499  // SetCustomMetadata sets the CustomMetadata field's value.
  9500  func (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.
  9506  func (s *GetFolderOutput) SetMetadata(v *FolderMetadata) *GetFolderOutput {
  9507  	s.Metadata = v
  9508  	return s
  9509  }
  9510  
  9511  type 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".
  9543  func (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".
  9552  func (s GetFolderPathInput) GoString() string {
  9553  	return s.String()
  9554  }
  9555  
  9556  // Validate inspects the fields of the type to determine if they are valid.
  9557  func (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.
  9585  func (s *GetFolderPathInput) SetAuthenticationToken(v string) *GetFolderPathInput {
  9586  	s.AuthenticationToken = &v
  9587  	return s
  9588  }
  9589  
  9590  // SetFields sets the Fields field's value.
  9591  func (s *GetFolderPathInput) SetFields(v string) *GetFolderPathInput {
  9592  	s.Fields = &v
  9593  	return s
  9594  }
  9595  
  9596  // SetFolderId sets the FolderId field's value.
  9597  func (s *GetFolderPathInput) SetFolderId(v string) *GetFolderPathInput {
  9598  	s.FolderId = &v
  9599  	return s
  9600  }
  9601  
  9602  // SetLimit sets the Limit field's value.
  9603  func (s *GetFolderPathInput) SetLimit(v int64) *GetFolderPathInput {
  9604  	s.Limit = &v
  9605  	return s
  9606  }
  9607  
  9608  // SetMarker sets the Marker field's value.
  9609  func (s *GetFolderPathInput) SetMarker(v string) *GetFolderPathInput {
  9610  	s.Marker = &v
  9611  	return s
  9612  }
  9613  
  9614  type 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".
  9626  func (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".
  9635  func (s GetFolderPathOutput) GoString() string {
  9636  	return s.String()
  9637  }
  9638  
  9639  // SetPath sets the Path field's value.
  9640  func (s *GetFolderPathOutput) SetPath(v *ResourcePath) *GetFolderPathOutput {
  9641  	s.Path = v
  9642  	return s
  9643  }
  9644  
  9645  type 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".
  9676  func (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".
  9685  func (s GetResourcesInput) GoString() string {
  9686  	return s.String()
  9687  }
  9688  
  9689  // Validate inspects the fields of the type to determine if they are valid.
  9690  func (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.
  9712  func (s *GetResourcesInput) SetAuthenticationToken(v string) *GetResourcesInput {
  9713  	s.AuthenticationToken = &v
  9714  	return s
  9715  }
  9716  
  9717  // SetCollectionType sets the CollectionType field's value.
  9718  func (s *GetResourcesInput) SetCollectionType(v string) *GetResourcesInput {
  9719  	s.CollectionType = &v
  9720  	return s
  9721  }
  9722  
  9723  // SetLimit sets the Limit field's value.
  9724  func (s *GetResourcesInput) SetLimit(v int64) *GetResourcesInput {
  9725  	s.Limit = &v
  9726  	return s
  9727  }
  9728  
  9729  // SetMarker sets the Marker field's value.
  9730  func (s *GetResourcesInput) SetMarker(v string) *GetResourcesInput {
  9731  	s.Marker = &v
  9732  	return s
  9733  }
  9734  
  9735  // SetUserId sets the UserId field's value.
  9736  func (s *GetResourcesInput) SetUserId(v string) *GetResourcesInput {
  9737  	s.UserId = &v
  9738  	return s
  9739  }
  9740  
  9741  type 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".
  9760  func (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".
  9769  func (s GetResourcesOutput) GoString() string {
  9770  	return s.String()
  9771  }
  9772  
  9773  // SetDocuments sets the Documents field's value.
  9774  func (s *GetResourcesOutput) SetDocuments(v []*DocumentMetadata) *GetResourcesOutput {
  9775  	s.Documents = v
  9776  	return s
  9777  }
  9778  
  9779  // SetFolders sets the Folders field's value.
  9780  func (s *GetResourcesOutput) SetFolders(v []*FolderMetadata) *GetResourcesOutput {
  9781  	s.Folders = v
  9782  	return s
  9783  }
  9784  
  9785  // SetMarker sets the Marker field's value.
  9786  func (s *GetResourcesOutput) SetMarker(v string) *GetResourcesOutput {
  9787  	s.Marker = &v
  9788  	return s
  9789  }
  9790  
  9791  // Describes the metadata of a user group.
  9792  type 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".
  9807  func (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".
  9816  func (s GroupMetadata) GoString() string {
  9817  	return s.String()
  9818  }
  9819  
  9820  // SetId sets the Id field's value.
  9821  func (s *GroupMetadata) SetId(v string) *GroupMetadata {
  9822  	s.Id = &v
  9823  	return s
  9824  }
  9825  
  9826  // SetName sets the Name field's value.
  9827  func (s *GroupMetadata) SetName(v string) *GroupMetadata {
  9828  	s.Name = &v
  9829  	return s
  9830  }
  9831  
  9832  // The user is undergoing transfer of ownership.
  9833  type 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".
  9845  func (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".
  9854  func (s IllegalUserStateException) GoString() string {
  9855  	return s.String()
  9856  }
  9857  
  9858  func newErrorIllegalUserStateException(v protocol.ResponseMetadata) error {
  9859  	return &IllegalUserStateException{
  9860  		RespMetadata: v,
  9861  	}
  9862  }
  9863  
  9864  // Code returns the exception type name.
  9865  func (s *IllegalUserStateException) Code() string {
  9866  	return "IllegalUserStateException"
  9867  }
  9868  
  9869  // Message returns the exception's message.
  9870  func (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.
  9878  func (s *IllegalUserStateException) OrigErr() error {
  9879  	return nil
  9880  }
  9881  
  9882  func (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.
  9887  func (s *IllegalUserStateException) StatusCode() int {
  9888  	return s.RespMetadata.StatusCode
  9889  }
  9890  
  9891  // RequestID returns the service's response RequestID for request.
  9892  func (s *IllegalUserStateException) RequestID() string {
  9893  	return s.RespMetadata.RequestID
  9894  }
  9895  
  9896  type 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".
  9936  func (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".
  9945  func (s InitiateDocumentVersionUploadInput) GoString() string {
  9946  	return s.String()
  9947  }
  9948  
  9949  // Validate inspects the fields of the type to determine if they are valid.
  9950  func (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.
  9978  func (s *InitiateDocumentVersionUploadInput) SetAuthenticationToken(v string) *InitiateDocumentVersionUploadInput {
  9979  	s.AuthenticationToken = &v
  9980  	return s
  9981  }
  9982  
  9983  // SetContentCreatedTimestamp sets the ContentCreatedTimestamp field's value.
  9984  func (s *InitiateDocumentVersionUploadInput) SetContentCreatedTimestamp(v time.Time) *InitiateDocumentVersionUploadInput {
  9985  	s.ContentCreatedTimestamp = &v
  9986  	return s
  9987  }
  9988  
  9989  // SetContentModifiedTimestamp sets the ContentModifiedTimestamp field's value.
  9990  func (s *InitiateDocumentVersionUploadInput) SetContentModifiedTimestamp(v time.Time) *InitiateDocumentVersionUploadInput {
  9991  	s.ContentModifiedTimestamp = &v
  9992  	return s
  9993  }
  9994  
  9995  // SetContentType sets the ContentType field's value.
  9996  func (s *InitiateDocumentVersionUploadInput) SetContentType(v string) *InitiateDocumentVersionUploadInput {
  9997  	s.ContentType = &v
  9998  	return s
  9999  }
 10000  
 10001  // SetDocumentSizeInBytes sets the DocumentSizeInBytes field's value.
 10002  func (s *InitiateDocumentVersionUploadInput) SetDocumentSizeInBytes(v int64) *InitiateDocumentVersionUploadInput {
 10003  	s.DocumentSizeInBytes = &v
 10004  	return s
 10005  }
 10006  
 10007  // SetId sets the Id field's value.
 10008  func (s *InitiateDocumentVersionUploadInput) SetId(v string) *InitiateDocumentVersionUploadInput {
 10009  	s.Id = &v
 10010  	return s
 10011  }
 10012  
 10013  // SetName sets the Name field's value.
 10014  func (s *InitiateDocumentVersionUploadInput) SetName(v string) *InitiateDocumentVersionUploadInput {
 10015  	s.Name = &v
 10016  	return s
 10017  }
 10018  
 10019  // SetParentFolderId sets the ParentFolderId field's value.
 10020  func (s *InitiateDocumentVersionUploadInput) SetParentFolderId(v string) *InitiateDocumentVersionUploadInput {
 10021  	s.ParentFolderId = &v
 10022  	return s
 10023  }
 10024  
 10025  type 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".
 10040  func (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".
 10049  func (s InitiateDocumentVersionUploadOutput) GoString() string {
 10050  	return s.String()
 10051  }
 10052  
 10053  // SetMetadata sets the Metadata field's value.
 10054  func (s *InitiateDocumentVersionUploadOutput) SetMetadata(v *DocumentMetadata) *InitiateDocumentVersionUploadOutput {
 10055  	s.Metadata = v
 10056  	return s
 10057  }
 10058  
 10059  // SetUploadMetadata sets the UploadMetadata field's value.
 10060  func (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.
 10066  type 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".
 10078  func (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".
 10087  func (s InvalidArgumentException) GoString() string {
 10088  	return s.String()
 10089  }
 10090  
 10091  func newErrorInvalidArgumentException(v protocol.ResponseMetadata) error {
 10092  	return &InvalidArgumentException{
 10093  		RespMetadata: v,
 10094  	}
 10095  }
 10096  
 10097  // Code returns the exception type name.
 10098  func (s *InvalidArgumentException) Code() string {
 10099  	return "InvalidArgumentException"
 10100  }
 10101  
 10102  // Message returns the exception's message.
 10103  func (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.
 10111  func (s *InvalidArgumentException) OrigErr() error {
 10112  	return nil
 10113  }
 10114  
 10115  func (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.
 10120  func (s *InvalidArgumentException) StatusCode() int {
 10121  	return s.RespMetadata.StatusCode
 10122  }
 10123  
 10124  // RequestID returns the service's response RequestID for request.
 10125  func (s *InvalidArgumentException) RequestID() string {
 10126  	return s.RespMetadata.RequestID
 10127  }
 10128  
 10129  // The requested operation is not allowed on the specified comment object.
 10130  type 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".
 10142  func (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".
 10151  func (s InvalidCommentOperationException) GoString() string {
 10152  	return s.String()
 10153  }
 10154  
 10155  func newErrorInvalidCommentOperationException(v protocol.ResponseMetadata) error {
 10156  	return &InvalidCommentOperationException{
 10157  		RespMetadata: v,
 10158  	}
 10159  }
 10160  
 10161  // Code returns the exception type name.
 10162  func (s *InvalidCommentOperationException) Code() string {
 10163  	return "InvalidCommentOperationException"
 10164  }
 10165  
 10166  // Message returns the exception's message.
 10167  func (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.
 10175  func (s *InvalidCommentOperationException) OrigErr() error {
 10176  	return nil
 10177  }
 10178  
 10179  func (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.
 10184  func (s *InvalidCommentOperationException) StatusCode() int {
 10185  	return s.RespMetadata.StatusCode
 10186  }
 10187  
 10188  // RequestID returns the service's response RequestID for request.
 10189  func (s *InvalidCommentOperationException) RequestID() string {
 10190  	return s.RespMetadata.RequestID
 10191  }
 10192  
 10193  // The operation is invalid.
 10194  type 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".
 10206  func (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".
 10215  func (s InvalidOperationException) GoString() string {
 10216  	return s.String()
 10217  }
 10218  
 10219  func newErrorInvalidOperationException(v protocol.ResponseMetadata) error {
 10220  	return &InvalidOperationException{
 10221  		RespMetadata: v,
 10222  	}
 10223  }
 10224  
 10225  // Code returns the exception type name.
 10226  func (s *InvalidOperationException) Code() string {
 10227  	return "InvalidOperationException"
 10228  }
 10229  
 10230  // Message returns the exception's message.
 10231  func (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.
 10239  func (s *InvalidOperationException) OrigErr() error {
 10240  	return nil
 10241  }
 10242  
 10243  func (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.
 10248  func (s *InvalidOperationException) StatusCode() int {
 10249  	return s.RespMetadata.StatusCode
 10250  }
 10251  
 10252  // RequestID returns the service's response RequestID for request.
 10253  func (s *InvalidOperationException) RequestID() string {
 10254  	return s.RespMetadata.RequestID
 10255  }
 10256  
 10257  // The password is invalid.
 10258  type 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".
 10270  func (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".
 10279  func (s InvalidPasswordException) GoString() string {
 10280  	return s.String()
 10281  }
 10282  
 10283  func newErrorInvalidPasswordException(v protocol.ResponseMetadata) error {
 10284  	return &InvalidPasswordException{
 10285  		RespMetadata: v,
 10286  	}
 10287  }
 10288  
 10289  // Code returns the exception type name.
 10290  func (s *InvalidPasswordException) Code() string {
 10291  	return "InvalidPasswordException"
 10292  }
 10293  
 10294  // Message returns the exception's message.
 10295  func (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.
 10303  func (s *InvalidPasswordException) OrigErr() error {
 10304  	return nil
 10305  }
 10306  
 10307  func (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.
 10312  func (s *InvalidPasswordException) StatusCode() int {
 10313  	return s.RespMetadata.StatusCode
 10314  }
 10315  
 10316  // RequestID returns the service's response RequestID for request.
 10317  func (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.
 10322  type 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".
 10334  func (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".
 10343  func (s LimitExceededException) GoString() string {
 10344  	return s.String()
 10345  }
 10346  
 10347  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
 10348  	return &LimitExceededException{
 10349  		RespMetadata: v,
 10350  	}
 10351  }
 10352  
 10353  // Code returns the exception type name.
 10354  func (s *LimitExceededException) Code() string {
 10355  	return "LimitExceededException"
 10356  }
 10357  
 10358  // Message returns the exception's message.
 10359  func (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.
 10367  func (s *LimitExceededException) OrigErr() error {
 10368  	return nil
 10369  }
 10370  
 10371  func (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.
 10376  func (s *LimitExceededException) StatusCode() int {
 10377  	return s.RespMetadata.StatusCode
 10378  }
 10379  
 10380  // RequestID returns the service's response RequestID for request.
 10381  func (s *LimitExceededException) RequestID() string {
 10382  	return s.RespMetadata.RequestID
 10383  }
 10384  
 10385  // Set of options which defines notification preferences of given action.
 10386  type 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".
 10405  func (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".
 10414  func (s NotificationOptions) GoString() string {
 10415  	return s.String()
 10416  }
 10417  
 10418  // SetEmailMessage sets the EmailMessage field's value.
 10419  func (s *NotificationOptions) SetEmailMessage(v string) *NotificationOptions {
 10420  	s.EmailMessage = &v
 10421  	return s
 10422  }
 10423  
 10424  // SetSendEmail sets the SendEmail field's value.
 10425  func (s *NotificationOptions) SetSendEmail(v bool) *NotificationOptions {
 10426  	s.SendEmail = &v
 10427  	return s
 10428  }
 10429  
 10430  // Describes the users or user groups.
 10431  type 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".
 10446  func (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".
 10455  func (s Participants) GoString() string {
 10456  	return s.String()
 10457  }
 10458  
 10459  // SetGroups sets the Groups field's value.
 10460  func (s *Participants) SetGroups(v []*GroupMetadata) *Participants {
 10461  	s.Groups = v
 10462  	return s
 10463  }
 10464  
 10465  // SetUsers sets the Users field's value.
 10466  func (s *Participants) SetUsers(v []*UserMetadata) *Participants {
 10467  	s.Users = v
 10468  	return s
 10469  }
 10470  
 10471  // Describes the permissions.
 10472  type 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".
 10487  func (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".
 10496  func (s PermissionInfo) GoString() string {
 10497  	return s.String()
 10498  }
 10499  
 10500  // SetRole sets the Role field's value.
 10501  func (s *PermissionInfo) SetRole(v string) *PermissionInfo {
 10502  	s.Role = &v
 10503  	return s
 10504  }
 10505  
 10506  // SetType sets the Type field's value.
 10507  func (s *PermissionInfo) SetType(v string) *PermissionInfo {
 10508  	s.Type = &v
 10509  	return s
 10510  }
 10511  
 10512  // Describes a resource.
 10513  type 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".
 10531  func (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".
 10540  func (s Principal) GoString() string {
 10541  	return s.String()
 10542  }
 10543  
 10544  // SetId sets the Id field's value.
 10545  func (s *Principal) SetId(v string) *Principal {
 10546  	s.Id = &v
 10547  	return s
 10548  }
 10549  
 10550  // SetRoles sets the Roles field's value.
 10551  func (s *Principal) SetRoles(v []*PermissionInfo) *Principal {
 10552  	s.Roles = v
 10553  	return s
 10554  }
 10555  
 10556  // SetType sets the Type field's value.
 10557  func (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.
 10563  type 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".
 10575  func (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".
 10584  func (s ProhibitedStateException) GoString() string {
 10585  	return s.String()
 10586  }
 10587  
 10588  func newErrorProhibitedStateException(v protocol.ResponseMetadata) error {
 10589  	return &ProhibitedStateException{
 10590  		RespMetadata: v,
 10591  	}
 10592  }
 10593  
 10594  // Code returns the exception type name.
 10595  func (s *ProhibitedStateException) Code() string {
 10596  	return "ProhibitedStateException"
 10597  }
 10598  
 10599  // Message returns the exception's message.
 10600  func (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.
 10608  func (s *ProhibitedStateException) OrigErr() error {
 10609  	return nil
 10610  }
 10611  
 10612  func (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.
 10617  func (s *ProhibitedStateException) StatusCode() int {
 10618  	return s.RespMetadata.StatusCode
 10619  }
 10620  
 10621  // RequestID returns the service's response RequestID for request.
 10622  func (s *ProhibitedStateException) RequestID() string {
 10623  	return s.RespMetadata.RequestID
 10624  }
 10625  
 10626  type 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".
 10648  func (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".
 10657  func (s RemoveAllResourcePermissionsInput) GoString() string {
 10658  	return s.String()
 10659  }
 10660  
 10661  // Validate inspects the fields of the type to determine if they are valid.
 10662  func (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.
 10681  func (s *RemoveAllResourcePermissionsInput) SetAuthenticationToken(v string) *RemoveAllResourcePermissionsInput {
 10682  	s.AuthenticationToken = &v
 10683  	return s
 10684  }
 10685  
 10686  // SetResourceId sets the ResourceId field's value.
 10687  func (s *RemoveAllResourcePermissionsInput) SetResourceId(v string) *RemoveAllResourcePermissionsInput {
 10688  	s.ResourceId = &v
 10689  	return s
 10690  }
 10691  
 10692  type RemoveAllResourcePermissionsOutput struct {
 10693  	_ struct{} `type:"structure" nopayload:"true"`
 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".
 10701  func (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".
 10710  func (s RemoveAllResourcePermissionsOutput) GoString() string {
 10711  	return s.String()
 10712  }
 10713  
 10714  type 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".
 10744  func (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".
 10753  func (s RemoveResourcePermissionInput) GoString() string {
 10754  	return s.String()
 10755  }
 10756  
 10757  // Validate inspects the fields of the type to determine if they are valid.
 10758  func (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.
 10783  func (s *RemoveResourcePermissionInput) SetAuthenticationToken(v string) *RemoveResourcePermissionInput {
 10784  	s.AuthenticationToken = &v
 10785  	return s
 10786  }
 10787  
 10788  // SetPrincipalId sets the PrincipalId field's value.
 10789  func (s *RemoveResourcePermissionInput) SetPrincipalId(v string) *RemoveResourcePermissionInput {
 10790  	s.PrincipalId = &v
 10791  	return s
 10792  }
 10793  
 10794  // SetPrincipalType sets the PrincipalType field's value.
 10795  func (s *RemoveResourcePermissionInput) SetPrincipalType(v string) *RemoveResourcePermissionInput {
 10796  	s.PrincipalType = &v
 10797  	return s
 10798  }
 10799  
 10800  // SetResourceId sets the ResourceId field's value.
 10801  func (s *RemoveResourcePermissionInput) SetResourceId(v string) *RemoveResourcePermissionInput {
 10802  	s.ResourceId = &v
 10803  	return s
 10804  }
 10805  
 10806  type RemoveResourcePermissionOutput struct {
 10807  	_ struct{} `type:"structure" nopayload:"true"`
 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".
 10815  func (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".
 10824  func (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.
 10830  type 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".
 10842  func (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".
 10851  func (s RequestedEntityTooLargeException) GoString() string {
 10852  	return s.String()
 10853  }
 10854  
 10855  func newErrorRequestedEntityTooLargeException(v protocol.ResponseMetadata) error {
 10856  	return &RequestedEntityTooLargeException{
 10857  		RespMetadata: v,
 10858  	}
 10859  }
 10860  
 10861  // Code returns the exception type name.
 10862  func (s *RequestedEntityTooLargeException) Code() string {
 10863  	return "RequestedEntityTooLargeException"
 10864  }
 10865  
 10866  // Message returns the exception's message.
 10867  func (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.
 10875  func (s *RequestedEntityTooLargeException) OrigErr() error {
 10876  	return nil
 10877  }
 10878  
 10879  func (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.
 10884  func (s *RequestedEntityTooLargeException) StatusCode() int {
 10885  	return s.RespMetadata.StatusCode
 10886  }
 10887  
 10888  // RequestID returns the service's response RequestID for request.
 10889  func (s *RequestedEntityTooLargeException) RequestID() string {
 10890  	return s.RespMetadata.RequestID
 10891  }
 10892  
 10893  // The resource is already checked out.
 10894  type 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".
 10906  func (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".
 10915  func (s ResourceAlreadyCheckedOutException) GoString() string {
 10916  	return s.String()
 10917  }
 10918  
 10919  func newErrorResourceAlreadyCheckedOutException(v protocol.ResponseMetadata) error {
 10920  	return &ResourceAlreadyCheckedOutException{
 10921  		RespMetadata: v,
 10922  	}
 10923  }
 10924  
 10925  // Code returns the exception type name.
 10926  func (s *ResourceAlreadyCheckedOutException) Code() string {
 10927  	return "ResourceAlreadyCheckedOutException"
 10928  }
 10929  
 10930  // Message returns the exception's message.
 10931  func (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.
 10939  func (s *ResourceAlreadyCheckedOutException) OrigErr() error {
 10940  	return nil
 10941  }
 10942  
 10943  func (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.
 10948  func (s *ResourceAlreadyCheckedOutException) StatusCode() int {
 10949  	return s.RespMetadata.StatusCode
 10950  }
 10951  
 10952  // RequestID returns the service's response RequestID for request.
 10953  func (s *ResourceAlreadyCheckedOutException) RequestID() string {
 10954  	return s.RespMetadata.RequestID
 10955  }
 10956  
 10957  // Describes the metadata of a resource.
 10958  type 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".
 10989  func (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".
 10998  func (s ResourceMetadata) GoString() string {
 10999  	return s.String()
 11000  }
 11001  
 11002  // SetId sets the Id field's value.
 11003  func (s *ResourceMetadata) SetId(v string) *ResourceMetadata {
 11004  	s.Id = &v
 11005  	return s
 11006  }
 11007  
 11008  // SetName sets the Name field's value.
 11009  func (s *ResourceMetadata) SetName(v string) *ResourceMetadata {
 11010  	s.Name = &v
 11011  	return s
 11012  }
 11013  
 11014  // SetOriginalName sets the OriginalName field's value.
 11015  func (s *ResourceMetadata) SetOriginalName(v string) *ResourceMetadata {
 11016  	s.OriginalName = &v
 11017  	return s
 11018  }
 11019  
 11020  // SetOwner sets the Owner field's value.
 11021  func (s *ResourceMetadata) SetOwner(v *UserMetadata) *ResourceMetadata {
 11022  	s.Owner = v
 11023  	return s
 11024  }
 11025  
 11026  // SetParentId sets the ParentId field's value.
 11027  func (s *ResourceMetadata) SetParentId(v string) *ResourceMetadata {
 11028  	s.ParentId = &v
 11029  	return s
 11030  }
 11031  
 11032  // SetType sets the Type field's value.
 11033  func (s *ResourceMetadata) SetType(v string) *ResourceMetadata {
 11034  	s.Type = &v
 11035  	return s
 11036  }
 11037  
 11038  // SetVersionId sets the VersionId field's value.
 11039  func (s *ResourceMetadata) SetVersionId(v string) *ResourceMetadata {
 11040  	s.VersionId = &v
 11041  	return s
 11042  }
 11043  
 11044  // Describes the path information of a resource.
 11045  type 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".
 11057  func (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".
 11066  func (s ResourcePath) GoString() string {
 11067  	return s.String()
 11068  }
 11069  
 11070  // SetComponents sets the Components field's value.
 11071  func (s *ResourcePath) SetComponents(v []*ResourcePathComponent) *ResourcePath {
 11072  	s.Components = v
 11073  	return s
 11074  }
 11075  
 11076  // Describes the resource path.
 11077  type 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".
 11092  func (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".
 11101  func (s ResourcePathComponent) GoString() string {
 11102  	return s.String()
 11103  }
 11104  
 11105  // SetId sets the Id field's value.
 11106  func (s *ResourcePathComponent) SetId(v string) *ResourcePathComponent {
 11107  	s.Id = &v
 11108  	return s
 11109  }
 11110  
 11111  // SetName sets the Name field's value.
 11112  func (s *ResourcePathComponent) SetName(v string) *ResourcePathComponent {
 11113  	s.Name = &v
 11114  	return s
 11115  }
 11116  
 11117  // One or more of the dependencies is unavailable.
 11118  type 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".
 11130  func (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".
 11139  func (s ServiceUnavailableException) GoString() string {
 11140  	return s.String()
 11141  }
 11142  
 11143  func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
 11144  	return &ServiceUnavailableException{
 11145  		RespMetadata: v,
 11146  	}
 11147  }
 11148  
 11149  // Code returns the exception type name.
 11150  func (s *ServiceUnavailableException) Code() string {
 11151  	return "ServiceUnavailableException"
 11152  }
 11153  
 11154  // Message returns the exception's message.
 11155  func (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.
 11163  func (s *ServiceUnavailableException) OrigErr() error {
 11164  	return nil
 11165  }
 11166  
 11167  func (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.
 11172  func (s *ServiceUnavailableException) StatusCode() int {
 11173  	return s.RespMetadata.StatusCode
 11174  }
 11175  
 11176  // RequestID returns the service's response RequestID for request.
 11177  func (s *ServiceUnavailableException) RequestID() string {
 11178  	return s.RespMetadata.RequestID
 11179  }
 11180  
 11181  // Describes the recipient type and ID, if available.
 11182  type 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".
 11206  func (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".
 11215  func (s SharePrincipal) GoString() string {
 11216  	return s.String()
 11217  }
 11218  
 11219  // Validate inspects the fields of the type to determine if they are valid.
 11220  func (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.
 11242  func (s *SharePrincipal) SetId(v string) *SharePrincipal {
 11243  	s.Id = &v
 11244  	return s
 11245  }
 11246  
 11247  // SetRole sets the Role field's value.
 11248  func (s *SharePrincipal) SetRole(v string) *SharePrincipal {
 11249  	s.Role = &v
 11250  	return s
 11251  }
 11252  
 11253  // SetType sets the Type field's value.
 11254  func (s *SharePrincipal) SetType(v string) *SharePrincipal {
 11255  	s.Type = &v
 11256  	return s
 11257  }
 11258  
 11259  // Describes the share results of a resource.
 11260  type 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".
 11291  func (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".
 11300  func (s ShareResult) GoString() string {
 11301  	return s.String()
 11302  }
 11303  
 11304  // SetInviteePrincipalId sets the InviteePrincipalId field's value.
 11305  func (s *ShareResult) SetInviteePrincipalId(v string) *ShareResult {
 11306  	s.InviteePrincipalId = &v
 11307  	return s
 11308  }
 11309  
 11310  // SetPrincipalId sets the PrincipalId field's value.
 11311  func (s *ShareResult) SetPrincipalId(v string) *ShareResult {
 11312  	s.PrincipalId = &v
 11313  	return s
 11314  }
 11315  
 11316  // SetRole sets the Role field's value.
 11317  func (s *ShareResult) SetRole(v string) *ShareResult {
 11318  	s.Role = &v
 11319  	return s
 11320  }
 11321  
 11322  // SetShareId sets the ShareId field's value.
 11323  func (s *ShareResult) SetShareId(v string) *ShareResult {
 11324  	s.ShareId = &v
 11325  	return s
 11326  }
 11327  
 11328  // SetStatus sets the Status field's value.
 11329  func (s *ShareResult) SetStatus(v string) *ShareResult {
 11330  	s.Status = &v
 11331  	return s
 11332  }
 11333  
 11334  // SetStatusMessage sets the StatusMessage field's value.
 11335  func (s *ShareResult) SetStatusMessage(v string) *ShareResult {
 11336  	s.StatusMessage = &v
 11337  	return s
 11338  }
 11339  
 11340  // The storage limit has been exceeded.
 11341  type 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".
 11353  func (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".
 11362  func (s StorageLimitExceededException) GoString() string {
 11363  	return s.String()
 11364  }
 11365  
 11366  func newErrorStorageLimitExceededException(v protocol.ResponseMetadata) error {
 11367  	return &StorageLimitExceededException{
 11368  		RespMetadata: v,
 11369  	}
 11370  }
 11371  
 11372  // Code returns the exception type name.
 11373  func (s *StorageLimitExceededException) Code() string {
 11374  	return "StorageLimitExceededException"
 11375  }
 11376  
 11377  // Message returns the exception's message.
 11378  func (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.
 11386  func (s *StorageLimitExceededException) OrigErr() error {
 11387  	return nil
 11388  }
 11389  
 11390  func (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.
 11395  func (s *StorageLimitExceededException) StatusCode() int {
 11396  	return s.RespMetadata.StatusCode
 11397  }
 11398  
 11399  // RequestID returns the service's response RequestID for request.
 11400  func (s *StorageLimitExceededException) RequestID() string {
 11401  	return s.RespMetadata.RequestID
 11402  }
 11403  
 11404  // The storage limit will be exceeded.
 11405  type 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".
 11417  func (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".
 11426  func (s StorageLimitWillExceedException) GoString() string {
 11427  	return s.String()
 11428  }
 11429  
 11430  func newErrorStorageLimitWillExceedException(v protocol.ResponseMetadata) error {
 11431  	return &StorageLimitWillExceedException{
 11432  		RespMetadata: v,
 11433  	}
 11434  }
 11435  
 11436  // Code returns the exception type name.
 11437  func (s *StorageLimitWillExceedException) Code() string {
 11438  	return "StorageLimitWillExceedException"
 11439  }
 11440  
 11441  // Message returns the exception's message.
 11442  func (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.
 11450  func (s *StorageLimitWillExceedException) OrigErr() error {
 11451  	return nil
 11452  }
 11453  
 11454  func (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.
 11459  func (s *StorageLimitWillExceedException) StatusCode() int {
 11460  	return s.RespMetadata.StatusCode
 11461  }
 11462  
 11463  // RequestID returns the service's response RequestID for request.
 11464  func (s *StorageLimitWillExceedException) RequestID() string {
 11465  	return s.RespMetadata.RequestID
 11466  }
 11467  
 11468  // Describes the storage for a user.
 11469  type 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".
 11484  func (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".
 11493  func (s StorageRuleType) GoString() string {
 11494  	return s.String()
 11495  }
 11496  
 11497  // SetStorageAllocatedInBytes sets the StorageAllocatedInBytes field's value.
 11498  func (s *StorageRuleType) SetStorageAllocatedInBytes(v int64) *StorageRuleType {
 11499  	s.StorageAllocatedInBytes = &v
 11500  	return s
 11501  }
 11502  
 11503  // SetStorageType sets the StorageType field's value.
 11504  func (s *StorageRuleType) SetStorageType(v string) *StorageRuleType {
 11505  	s.StorageType = &v
 11506  	return s
 11507  }
 11508  
 11509  // Describes a subscription.
 11510  type 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".
 11528  func (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".
 11537  func (s Subscription) GoString() string {
 11538  	return s.String()
 11539  }
 11540  
 11541  // SetEndPoint sets the EndPoint field's value.
 11542  func (s *Subscription) SetEndPoint(v string) *Subscription {
 11543  	s.EndPoint = &v
 11544  	return s
 11545  }
 11546  
 11547  // SetProtocol sets the Protocol field's value.
 11548  func (s *Subscription) SetProtocol(v string) *Subscription {
 11549  	s.Protocol = &v
 11550  	return s
 11551  }
 11552  
 11553  // SetSubscriptionId sets the SubscriptionId field's value.
 11554  func (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.
 11560  type 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".
 11572  func (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".
 11581  func (s TooManyLabelsException) GoString() string {
 11582  	return s.String()
 11583  }
 11584  
 11585  func newErrorTooManyLabelsException(v protocol.ResponseMetadata) error {
 11586  	return &TooManyLabelsException{
 11587  		RespMetadata: v,
 11588  	}
 11589  }
 11590  
 11591  // Code returns the exception type name.
 11592  func (s *TooManyLabelsException) Code() string {
 11593  	return "TooManyLabelsException"
 11594  }
 11595  
 11596  // Message returns the exception's message.
 11597  func (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.
 11605  func (s *TooManyLabelsException) OrigErr() error {
 11606  	return nil
 11607  }
 11608  
 11609  func (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.
 11614  func (s *TooManyLabelsException) StatusCode() int {
 11615  	return s.RespMetadata.StatusCode
 11616  }
 11617  
 11618  // RequestID returns the service's response RequestID for request.
 11619  func (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.
 11625  type 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".
 11637  func (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".
 11646  func (s TooManySubscriptionsException) GoString() string {
 11647  	return s.String()
 11648  }
 11649  
 11650  func newErrorTooManySubscriptionsException(v protocol.ResponseMetadata) error {
 11651  	return &TooManySubscriptionsException{
 11652  		RespMetadata: v,
 11653  	}
 11654  }
 11655  
 11656  // Code returns the exception type name.
 11657  func (s *TooManySubscriptionsException) Code() string {
 11658  	return "TooManySubscriptionsException"
 11659  }
 11660  
 11661  // Message returns the exception's message.
 11662  func (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.
 11670  func (s *TooManySubscriptionsException) OrigErr() error {
 11671  	return nil
 11672  }
 11673  
 11674  func (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.
 11679  func (s *TooManySubscriptionsException) StatusCode() int {
 11680  	return s.RespMetadata.StatusCode
 11681  }
 11682  
 11683  // RequestID returns the service's response RequestID for request.
 11684  func (s *TooManySubscriptionsException) RequestID() string {
 11685  	return s.RespMetadata.RequestID
 11686  }
 11687  
 11688  // The operation is not permitted.
 11689  type 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".
 11701  func (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".
 11710  func (s UnauthorizedOperationException) GoString() string {
 11711  	return s.String()
 11712  }
 11713  
 11714  func newErrorUnauthorizedOperationException(v protocol.ResponseMetadata) error {
 11715  	return &UnauthorizedOperationException{
 11716  		RespMetadata: v,
 11717  	}
 11718  }
 11719  
 11720  // Code returns the exception type name.
 11721  func (s *UnauthorizedOperationException) Code() string {
 11722  	return "UnauthorizedOperationException"
 11723  }
 11724  
 11725  // Message returns the exception's message.
 11726  func (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.
 11734  func (s *UnauthorizedOperationException) OrigErr() error {
 11735  	return nil
 11736  }
 11737  
 11738  func (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.
 11743  func (s *UnauthorizedOperationException) StatusCode() int {
 11744  	return s.RespMetadata.StatusCode
 11745  }
 11746  
 11747  // RequestID returns the service's response RequestID for request.
 11748  func (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.
 11753  type 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".
 11765  func (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".
 11774  func (s UnauthorizedResourceAccessException) GoString() string {
 11775  	return s.String()
 11776  }
 11777  
 11778  func newErrorUnauthorizedResourceAccessException(v protocol.ResponseMetadata) error {
 11779  	return &UnauthorizedResourceAccessException{
 11780  		RespMetadata: v,
 11781  	}
 11782  }
 11783  
 11784  // Code returns the exception type name.
 11785  func (s *UnauthorizedResourceAccessException) Code() string {
 11786  	return "UnauthorizedResourceAccessException"
 11787  }
 11788  
 11789  // Message returns the exception's message.
 11790  func (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.
 11798  func (s *UnauthorizedResourceAccessException) OrigErr() error {
 11799  	return nil
 11800  }
 11801  
 11802  func (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.
 11807  func (s *UnauthorizedResourceAccessException) StatusCode() int {
 11808  	return s.RespMetadata.StatusCode
 11809  }
 11810  
 11811  // RequestID returns the service's response RequestID for request.
 11812  func (s *UnauthorizedResourceAccessException) RequestID() string {
 11813  	return s.RespMetadata.RequestID
 11814  }
 11815  
 11816  type 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".
 11847  func (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".
 11856  func (s UpdateDocumentInput) GoString() string {
 11857  	return s.String()
 11858  }
 11859  
 11860  // Validate inspects the fields of the type to determine if they are valid.
 11861  func (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.
 11886  func (s *UpdateDocumentInput) SetAuthenticationToken(v string) *UpdateDocumentInput {
 11887  	s.AuthenticationToken = &v
 11888  	return s
 11889  }
 11890  
 11891  // SetDocumentId sets the DocumentId field's value.
 11892  func (s *UpdateDocumentInput) SetDocumentId(v string) *UpdateDocumentInput {
 11893  	s.DocumentId = &v
 11894  	return s
 11895  }
 11896  
 11897  // SetName sets the Name field's value.
 11898  func (s *UpdateDocumentInput) SetName(v string) *UpdateDocumentInput {
 11899  	s.Name = &v
 11900  	return s
 11901  }
 11902  
 11903  // SetParentFolderId sets the ParentFolderId field's value.
 11904  func (s *UpdateDocumentInput) SetParentFolderId(v string) *UpdateDocumentInput {
 11905  	s.ParentFolderId = &v
 11906  	return s
 11907  }
 11908  
 11909  // SetResourceState sets the ResourceState field's value.
 11910  func (s *UpdateDocumentInput) SetResourceState(v string) *UpdateDocumentInput {
 11911  	s.ResourceState = &v
 11912  	return s
 11913  }
 11914  
 11915  type UpdateDocumentOutput struct {
 11916  	_ struct{} `type:"structure" nopayload:"true"`
 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".
 11924  func (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".
 11933  func (s UpdateDocumentOutput) GoString() string {
 11934  	return s.String()
 11935  }
 11936  
 11937  type 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".
 11967  func (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".
 11976  func (s UpdateDocumentVersionInput) GoString() string {
 11977  	return s.String()
 11978  }
 11979  
 11980  // Validate inspects the fields of the type to determine if they are valid.
 11981  func (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.
 12006  func (s *UpdateDocumentVersionInput) SetAuthenticationToken(v string) *UpdateDocumentVersionInput {
 12007  	s.AuthenticationToken = &v
 12008  	return s
 12009  }
 12010  
 12011  // SetDocumentId sets the DocumentId field's value.
 12012  func (s *UpdateDocumentVersionInput) SetDocumentId(v string) *UpdateDocumentVersionInput {
 12013  	s.DocumentId = &v
 12014  	return s
 12015  }
 12016  
 12017  // SetVersionId sets the VersionId field's value.
 12018  func (s *UpdateDocumentVersionInput) SetVersionId(v string) *UpdateDocumentVersionInput {
 12019  	s.VersionId = &v
 12020  	return s
 12021  }
 12022  
 12023  // SetVersionStatus sets the VersionStatus field's value.
 12024  func (s *UpdateDocumentVersionInput) SetVersionStatus(v string) *UpdateDocumentVersionInput {
 12025  	s.VersionStatus = &v
 12026  	return s
 12027  }
 12028  
 12029  type UpdateDocumentVersionOutput struct {
 12030  	_ struct{} `type:"structure" nopayload:"true"`
 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".
 12038  func (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".
 12047  func (s UpdateDocumentVersionOutput) GoString() string {
 12048  	return s.String()
 12049  }
 12050  
 12051  type 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".
 12083  func (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".
 12092  func (s UpdateFolderInput) GoString() string {
 12093  	return s.String()
 12094  }
 12095  
 12096  // Validate inspects the fields of the type to determine if they are valid.
 12097  func (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.
 12122  func (s *UpdateFolderInput) SetAuthenticationToken(v string) *UpdateFolderInput {
 12123  	s.AuthenticationToken = &v
 12124  	return s
 12125  }
 12126  
 12127  // SetFolderId sets the FolderId field's value.
 12128  func (s *UpdateFolderInput) SetFolderId(v string) *UpdateFolderInput {
 12129  	s.FolderId = &v
 12130  	return s
 12131  }
 12132  
 12133  // SetName sets the Name field's value.
 12134  func (s *UpdateFolderInput) SetName(v string) *UpdateFolderInput {
 12135  	s.Name = &v
 12136  	return s
 12137  }
 12138  
 12139  // SetParentFolderId sets the ParentFolderId field's value.
 12140  func (s *UpdateFolderInput) SetParentFolderId(v string) *UpdateFolderInput {
 12141  	s.ParentFolderId = &v
 12142  	return s
 12143  }
 12144  
 12145  // SetResourceState sets the ResourceState field's value.
 12146  func (s *UpdateFolderInput) SetResourceState(v string) *UpdateFolderInput {
 12147  	s.ResourceState = &v
 12148  	return s
 12149  }
 12150  
 12151  type UpdateFolderOutput struct {
 12152  	_ struct{} `type:"structure" nopayload:"true"`
 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".
 12160  func (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".
 12169  func (s UpdateFolderOutput) GoString() string {
 12170  	return s.String()
 12171  }
 12172  
 12173  type 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".
 12216  func (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".
 12225  func (s UpdateUserInput) GoString() string {
 12226  	return s.String()
 12227  }
 12228  
 12229  // Validate inspects the fields of the type to determine if they are valid.
 12230  func (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.
 12258  func (s *UpdateUserInput) SetAuthenticationToken(v string) *UpdateUserInput {
 12259  	s.AuthenticationToken = &v
 12260  	return s
 12261  }
 12262  
 12263  // SetGivenName sets the GivenName field's value.
 12264  func (s *UpdateUserInput) SetGivenName(v string) *UpdateUserInput {
 12265  	s.GivenName = &v
 12266  	return s
 12267  }
 12268  
 12269  // SetGrantPoweruserPrivileges sets the GrantPoweruserPrivileges field's value.
 12270  func (s *UpdateUserInput) SetGrantPoweruserPrivileges(v string) *UpdateUserInput {
 12271  	s.GrantPoweruserPrivileges = &v
 12272  	return s
 12273  }
 12274  
 12275  // SetLocale sets the Locale field's value.
 12276  func (s *UpdateUserInput) SetLocale(v string) *UpdateUserInput {
 12277  	s.Locale = &v
 12278  	return s
 12279  }
 12280  
 12281  // SetStorageRule sets the StorageRule field's value.
 12282  func (s *UpdateUserInput) SetStorageRule(v *StorageRuleType) *UpdateUserInput {
 12283  	s.StorageRule = v
 12284  	return s
 12285  }
 12286  
 12287  // SetSurname sets the Surname field's value.
 12288  func (s *UpdateUserInput) SetSurname(v string) *UpdateUserInput {
 12289  	s.Surname = &v
 12290  	return s
 12291  }
 12292  
 12293  // SetTimeZoneId sets the TimeZoneId field's value.
 12294  func (s *UpdateUserInput) SetTimeZoneId(v string) *UpdateUserInput {
 12295  	s.TimeZoneId = &v
 12296  	return s
 12297  }
 12298  
 12299  // SetType sets the Type field's value.
 12300  func (s *UpdateUserInput) SetType(v string) *UpdateUserInput {
 12301  	s.Type = &v
 12302  	return s
 12303  }
 12304  
 12305  // SetUserId sets the UserId field's value.
 12306  func (s *UpdateUserInput) SetUserId(v string) *UpdateUserInput {
 12307  	s.UserId = &v
 12308  	return s
 12309  }
 12310  
 12311  type 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".
 12323  func (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".
 12332  func (s UpdateUserOutput) GoString() string {
 12333  	return s.String()
 12334  }
 12335  
 12336  // SetUser sets the User field's value.
 12337  func (s *UpdateUserOutput) SetUser(v *User) *UpdateUserOutput {
 12338  	s.User = v
 12339  	return s
 12340  }
 12341  
 12342  // Describes the upload.
 12343  type 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".
 12362  func (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".
 12371  func (s UploadMetadata) GoString() string {
 12372  	return s.String()
 12373  }
 12374  
 12375  // SetSignedHeaders sets the SignedHeaders field's value.
 12376  func (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.
 12382  func (s *UploadMetadata) SetUploadUrl(v string) *UploadMetadata {
 12383  	s.UploadUrl = &v
 12384  	return s
 12385  }
 12386  
 12387  // Describes a user.
 12388  type 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".
 12442  func (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".
 12451  func (s User) GoString() string {
 12452  	return s.String()
 12453  }
 12454  
 12455  // SetCreatedTimestamp sets the CreatedTimestamp field's value.
 12456  func (s *User) SetCreatedTimestamp(v time.Time) *User {
 12457  	s.CreatedTimestamp = &v
 12458  	return s
 12459  }
 12460  
 12461  // SetEmailAddress sets the EmailAddress field's value.
 12462  func (s *User) SetEmailAddress(v string) *User {
 12463  	s.EmailAddress = &v
 12464  	return s
 12465  }
 12466  
 12467  // SetGivenName sets the GivenName field's value.
 12468  func (s *User) SetGivenName(v string) *User {
 12469  	s.GivenName = &v
 12470  	return s
 12471  }
 12472  
 12473  // SetId sets the Id field's value.
 12474  func (s *User) SetId(v string) *User {
 12475  	s.Id = &v
 12476  	return s
 12477  }
 12478  
 12479  // SetLocale sets the Locale field's value.
 12480  func (s *User) SetLocale(v string) *User {
 12481  	s.Locale = &v
 12482  	return s
 12483  }
 12484  
 12485  // SetModifiedTimestamp sets the ModifiedTimestamp field's value.
 12486  func (s *User) SetModifiedTimestamp(v time.Time) *User {
 12487  	s.ModifiedTimestamp = &v
 12488  	return s
 12489  }
 12490  
 12491  // SetOrganizationId sets the OrganizationId field's value.
 12492  func (s *User) SetOrganizationId(v string) *User {
 12493  	s.OrganizationId = &v
 12494  	return s
 12495  }
 12496  
 12497  // SetRecycleBinFolderId sets the RecycleBinFolderId field's value.
 12498  func (s *User) SetRecycleBinFolderId(v string) *User {
 12499  	s.RecycleBinFolderId = &v
 12500  	return s
 12501  }
 12502  
 12503  // SetRootFolderId sets the RootFolderId field's value.
 12504  func (s *User) SetRootFolderId(v string) *User {
 12505  	s.RootFolderId = &v
 12506  	return s
 12507  }
 12508  
 12509  // SetStatus sets the Status field's value.
 12510  func (s *User) SetStatus(v string) *User {
 12511  	s.Status = &v
 12512  	return s
 12513  }
 12514  
 12515  // SetStorage sets the Storage field's value.
 12516  func (s *User) SetStorage(v *UserStorageMetadata) *User {
 12517  	s.Storage = v
 12518  	return s
 12519  }
 12520  
 12521  // SetSurname sets the Surname field's value.
 12522  func (s *User) SetSurname(v string) *User {
 12523  	s.Surname = &v
 12524  	return s
 12525  }
 12526  
 12527  // SetTimeZoneId sets the TimeZoneId field's value.
 12528  func (s *User) SetTimeZoneId(v string) *User {
 12529  	s.TimeZoneId = &v
 12530  	return s
 12531  }
 12532  
 12533  // SetType sets the Type field's value.
 12534  func (s *User) SetType(v string) *User {
 12535  	s.Type = &v
 12536  	return s
 12537  }
 12538  
 12539  // SetUsername sets the Username field's value.
 12540  func (s *User) SetUsername(v string) *User {
 12541  	s.Username = &v
 12542  	return s
 12543  }
 12544  
 12545  // Describes the metadata of the user.
 12546  type 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".
 12570  func (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".
 12579  func (s UserMetadata) GoString() string {
 12580  	return s.String()
 12581  }
 12582  
 12583  // SetEmailAddress sets the EmailAddress field's value.
 12584  func (s *UserMetadata) SetEmailAddress(v string) *UserMetadata {
 12585  	s.EmailAddress = &v
 12586  	return s
 12587  }
 12588  
 12589  // SetGivenName sets the GivenName field's value.
 12590  func (s *UserMetadata) SetGivenName(v string) *UserMetadata {
 12591  	s.GivenName = &v
 12592  	return s
 12593  }
 12594  
 12595  // SetId sets the Id field's value.
 12596  func (s *UserMetadata) SetId(v string) *UserMetadata {
 12597  	s.Id = &v
 12598  	return s
 12599  }
 12600  
 12601  // SetSurname sets the Surname field's value.
 12602  func (s *UserMetadata) SetSurname(v string) *UserMetadata {
 12603  	s.Surname = &v
 12604  	return s
 12605  }
 12606  
 12607  // SetUsername sets the Username field's value.
 12608  func (s *UserMetadata) SetUsername(v string) *UserMetadata {
 12609  	s.Username = &v
 12610  	return s
 12611  }
 12612  
 12613  // Describes the storage for a user.
 12614  type 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".
 12629  func (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".
 12638  func (s UserStorageMetadata) GoString() string {
 12639  	return s.String()
 12640  }
 12641  
 12642  // SetStorageRule sets the StorageRule field's value.
 12643  func (s *UserStorageMetadata) SetStorageRule(v *StorageRuleType) *UserStorageMetadata {
 12644  	s.StorageRule = v
 12645  	return s
 12646  }
 12647  
 12648  // SetStorageUtilizedInBytes sets the StorageUtilizedInBytes field's value.
 12649  func (s *UserStorageMetadata) SetStorageUtilizedInBytes(v int64) *UserStorageMetadata {
 12650  	s.StorageUtilizedInBytes = &v
 12651  	return s
 12652  }
 12653  
 12654  const (
 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
 12756  func 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  
 12794  const (
 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
 12803  func BooleanEnumType_Values() []string {
 12804  	return []string{
 12805  		BooleanEnumTypeTrue,
 12806  		BooleanEnumTypeFalse,
 12807  	}
 12808  }
 12809  
 12810  const (
 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
 12822  func CommentStatusType_Values() []string {
 12823  	return []string{
 12824  		CommentStatusTypeDraft,
 12825  		CommentStatusTypePublished,
 12826  		CommentStatusTypeDeleted,
 12827  	}
 12828  }
 12829  
 12830  const (
 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
 12839  func CommentVisibilityType_Values() []string {
 12840  	return []string{
 12841  		CommentVisibilityTypePublic,
 12842  		CommentVisibilityTypePrivate,
 12843  	}
 12844  }
 12845  
 12846  const (
 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
 12855  func DocumentSourceType_Values() []string {
 12856  	return []string{
 12857  		DocumentSourceTypeOriginal,
 12858  		DocumentSourceTypeWithComments,
 12859  	}
 12860  }
 12861  
 12862  const (
 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
 12871  func DocumentStatusType_Values() []string {
 12872  	return []string{
 12873  		DocumentStatusTypeInitialized,
 12874  		DocumentStatusTypeActive,
 12875  	}
 12876  }
 12877  
 12878  const (
 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
 12890  func DocumentThumbnailType_Values() []string {
 12891  	return []string{
 12892  		DocumentThumbnailTypeSmall,
 12893  		DocumentThumbnailTypeSmallHq,
 12894  		DocumentThumbnailTypeLarge,
 12895  	}
 12896  }
 12897  
 12898  const (
 12899  	// DocumentVersionStatusActive is a DocumentVersionStatus enum value
 12900  	DocumentVersionStatusActive = "ACTIVE"
 12901  )
 12902  
 12903  // DocumentVersionStatus_Values returns all elements of the DocumentVersionStatus enum
 12904  func DocumentVersionStatus_Values() []string {
 12905  	return []string{
 12906  		DocumentVersionStatusActive,
 12907  	}
 12908  }
 12909  
 12910  const (
 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
 12922  func FolderContentType_Values() []string {
 12923  	return []string{
 12924  		FolderContentTypeAll,
 12925  		FolderContentTypeDocument,
 12926  		FolderContentTypeFolder,
 12927  	}
 12928  }
 12929  
 12930  const (
 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
 12966  func 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  
 12982  const (
 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
 12991  func OrderType_Values() []string {
 12992  	return []string{
 12993  		OrderTypeAscending,
 12994  		OrderTypeDescending,
 12995  	}
 12996  }
 12997  
 12998  const (
 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
 13016  func PrincipalType_Values() []string {
 13017  	return []string{
 13018  		PrincipalTypeUser,
 13019  		PrincipalTypeGroup,
 13020  		PrincipalTypeInvite,
 13021  		PrincipalTypeAnonymous,
 13022  		PrincipalTypeOrganization,
 13023  	}
 13024  }
 13025  
 13026  const (
 13027  	// ResourceCollectionTypeSharedWithMe is a ResourceCollectionType enum value
 13028  	ResourceCollectionTypeSharedWithMe = "SHARED_WITH_ME"
 13029  )
 13030  
 13031  // ResourceCollectionType_Values returns all elements of the ResourceCollectionType enum
 13032  func ResourceCollectionType_Values() []string {
 13033  	return []string{
 13034  		ResourceCollectionTypeSharedWithMe,
 13035  	}
 13036  }
 13037  
 13038  const (
 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
 13047  func ResourceSortType_Values() []string {
 13048  	return []string{
 13049  		ResourceSortTypeDate,
 13050  		ResourceSortTypeName,
 13051  	}
 13052  }
 13053  
 13054  const (
 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
 13069  func ResourceStateType_Values() []string {
 13070  	return []string{
 13071  		ResourceStateTypeActive,
 13072  		ResourceStateTypeRestoring,
 13073  		ResourceStateTypeRecycling,
 13074  		ResourceStateTypeRecycled,
 13075  	}
 13076  }
 13077  
 13078  const (
 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
 13087  func ResourceType_Values() []string {
 13088  	return []string{
 13089  		ResourceTypeFolder,
 13090  		ResourceTypeDocument,
 13091  	}
 13092  }
 13093  
 13094  const (
 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
 13103  func RolePermissionType_Values() []string {
 13104  	return []string{
 13105  		RolePermissionTypeDirect,
 13106  		RolePermissionTypeInherited,
 13107  	}
 13108  }
 13109  
 13110  const (
 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
 13125  func RoleType_Values() []string {
 13126  	return []string{
 13127  		RoleTypeViewer,
 13128  		RoleTypeContributor,
 13129  		RoleTypeOwner,
 13130  		RoleTypeCoowner,
 13131  	}
 13132  }
 13133  
 13134  const (
 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
 13143  func ShareStatusType_Values() []string {
 13144  	return []string{
 13145  		ShareStatusTypeSuccess,
 13146  		ShareStatusTypeFailure,
 13147  	}
 13148  }
 13149  
 13150  const (
 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
 13159  func StorageType_Values() []string {
 13160  	return []string{
 13161  		StorageTypeUnlimited,
 13162  		StorageTypeQuota,
 13163  	}
 13164  }
 13165  
 13166  const (
 13167  	// SubscriptionProtocolTypeHttps is a SubscriptionProtocolType enum value
 13168  	SubscriptionProtocolTypeHttps = "HTTPS"
 13169  )
 13170  
 13171  // SubscriptionProtocolType_Values returns all elements of the SubscriptionProtocolType enum
 13172  func SubscriptionProtocolType_Values() []string {
 13173  	return []string{
 13174  		SubscriptionProtocolTypeHttps,
 13175  	}
 13176  }
 13177  
 13178  const (
 13179  	// SubscriptionTypeAll is a SubscriptionType enum value
 13180  	SubscriptionTypeAll = "ALL"
 13181  )
 13182  
 13183  // SubscriptionType_Values returns all elements of the SubscriptionType enum
 13184  func SubscriptionType_Values() []string {
 13185  	return []string{
 13186  		SubscriptionTypeAll,
 13187  	}
 13188  }
 13189  
 13190  const (
 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
 13199  func UserFilterType_Values() []string {
 13200  	return []string{
 13201  		UserFilterTypeAll,
 13202  		UserFilterTypeActivePending,
 13203  	}
 13204  }
 13205  
 13206  const (
 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
 13224  func UserSortType_Values() []string {
 13225  	return []string{
 13226  		UserSortTypeUserName,
 13227  		UserSortTypeFullName,
 13228  		UserSortTypeStorageLimit,
 13229  		UserSortTypeUserStatus,
 13230  		UserSortTypeStorageUsed,
 13231  	}
 13232  }
 13233  
 13234  const (
 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
 13246  func UserStatusType_Values() []string {
 13247  	return []string{
 13248  		UserStatusTypeActive,
 13249  		UserStatusTypeInactive,
 13250  		UserStatusTypePending,
 13251  	}
 13252  }
 13253  
 13254  const (
 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
 13272  func UserType_Values() []string {
 13273  	return []string{
 13274  		UserTypeUser,
 13275  		UserTypeAdmin,
 13276  		UserTypePoweruser,
 13277  		UserTypeMinimaluser,
 13278  		UserTypeWorkspacesuser,
 13279  	}
 13280  }