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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package datasync
     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/jsonrpc"
    14  )
    15  
    16  const opCancelTaskExecution = "CancelTaskExecution"
    17  
    18  // CancelTaskExecutionRequest generates a "aws/request.Request" representing the
    19  // client's request for the CancelTaskExecution 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 CancelTaskExecution for more information on using the CancelTaskExecution
    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 CancelTaskExecutionRequest method.
    34  //    req, resp := client.CancelTaskExecutionRequest(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/datasync-2018-11-09/CancelTaskExecution
    42  func (c *DataSync) CancelTaskExecutionRequest(input *CancelTaskExecutionInput) (req *request.Request, output *CancelTaskExecutionOutput) {
    43  	op := &request.Operation{
    44  		Name:       opCancelTaskExecution,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &CancelTaskExecutionInput{}
    51  	}
    52  
    53  	output = &CancelTaskExecutionOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
    56  	return
    57  }
    58  
    59  // CancelTaskExecution API operation for AWS DataSync.
    60  //
    61  // Cancels execution of a task.
    62  //
    63  // When you cancel a task execution, the transfer of some files is abruptly
    64  // interrupted. The contents of files that are transferred to the destination
    65  // might be incomplete or inconsistent with the source files. However, if you
    66  // start a new task execution on the same task and you allow the task execution
    67  // to complete, file content on the destination is complete and consistent.
    68  // This applies to other unexpected failures that interrupt a task execution.
    69  // In all of these cases, DataSync successfully complete the transfer when you
    70  // start the next task execution.
    71  //
    72  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    73  // with awserr.Error's Code and Message methods to get detailed information about
    74  // the error.
    75  //
    76  // See the AWS API reference guide for AWS DataSync's
    77  // API operation CancelTaskExecution for usage and error information.
    78  //
    79  // Returned Error Types:
    80  //   * InvalidRequestException
    81  //   This exception is thrown when the client submits a malformed request.
    82  //
    83  //   * InternalException
    84  //   This exception is thrown when an error occurs in the DataSync service.
    85  //
    86  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CancelTaskExecution
    87  func (c *DataSync) CancelTaskExecution(input *CancelTaskExecutionInput) (*CancelTaskExecutionOutput, error) {
    88  	req, out := c.CancelTaskExecutionRequest(input)
    89  	return out, req.Send()
    90  }
    91  
    92  // CancelTaskExecutionWithContext is the same as CancelTaskExecution with the addition of
    93  // the ability to pass a context and additional request options.
    94  //
    95  // See CancelTaskExecution for details on how to use this API operation.
    96  //
    97  // The context must be non-nil and will be used for request cancellation. If
    98  // the context is nil a panic will occur. In the future the SDK may create
    99  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   100  // for more information on using Contexts.
   101  func (c *DataSync) CancelTaskExecutionWithContext(ctx aws.Context, input *CancelTaskExecutionInput, opts ...request.Option) (*CancelTaskExecutionOutput, error) {
   102  	req, out := c.CancelTaskExecutionRequest(input)
   103  	req.SetContext(ctx)
   104  	req.ApplyOptions(opts...)
   105  	return out, req.Send()
   106  }
   107  
   108  const opCreateAgent = "CreateAgent"
   109  
   110  // CreateAgentRequest generates a "aws/request.Request" representing the
   111  // client's request for the CreateAgent operation. The "output" return
   112  // value will be populated with the request's response once the request completes
   113  // successfully.
   114  //
   115  // Use "Send" method on the returned Request to send the API call to the service.
   116  // the "output" return value is not valid until after Send returns without error.
   117  //
   118  // See CreateAgent for more information on using the CreateAgent
   119  // API call, and error handling.
   120  //
   121  // This method is useful when you want to inject custom logic or configuration
   122  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   123  //
   124  //
   125  //    // Example sending a request using the CreateAgentRequest method.
   126  //    req, resp := client.CreateAgentRequest(params)
   127  //
   128  //    err := req.Send()
   129  //    if err == nil { // resp is now filled
   130  //        fmt.Println(resp)
   131  //    }
   132  //
   133  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateAgent
   134  func (c *DataSync) CreateAgentRequest(input *CreateAgentInput) (req *request.Request, output *CreateAgentOutput) {
   135  	op := &request.Operation{
   136  		Name:       opCreateAgent,
   137  		HTTPMethod: "POST",
   138  		HTTPPath:   "/",
   139  	}
   140  
   141  	if input == nil {
   142  		input = &CreateAgentInput{}
   143  	}
   144  
   145  	output = &CreateAgentOutput{}
   146  	req = c.newRequest(op, input, output)
   147  	return
   148  }
   149  
   150  // CreateAgent API operation for AWS DataSync.
   151  //
   152  // Activates an DataSync agent that you have deployed on your host. The activation
   153  // process associates your agent with your account. In the activation process,
   154  // you specify information such as the Amazon Web Services Region that you want
   155  // to activate the agent in. You activate the agent in the Amazon Web Services
   156  // Region where your target locations (in Amazon S3 or Amazon EFS) reside. Your
   157  // tasks are created in this Amazon Web Services Region.
   158  //
   159  // You can activate the agent in a VPC (virtual private cloud) or provide the
   160  // agent access to a VPC endpoint so you can run tasks without going over the
   161  // public internet.
   162  //
   163  // You can use an agent for more than one location. If a task uses multiple
   164  // agents, all of them need to have status AVAILABLE for the task to run. If
   165  // you use multiple agents for a source location, the status of all the agents
   166  // must be AVAILABLE for the task to run.
   167  //
   168  // Agents are automatically updated by Amazon Web Services on a regular basis,
   169  // using a mechanism that ensures minimal interruption to your tasks.
   170  //
   171  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   172  // with awserr.Error's Code and Message methods to get detailed information about
   173  // the error.
   174  //
   175  // See the AWS API reference guide for AWS DataSync's
   176  // API operation CreateAgent for usage and error information.
   177  //
   178  // Returned Error Types:
   179  //   * InvalidRequestException
   180  //   This exception is thrown when the client submits a malformed request.
   181  //
   182  //   * InternalException
   183  //   This exception is thrown when an error occurs in the DataSync service.
   184  //
   185  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateAgent
   186  func (c *DataSync) CreateAgent(input *CreateAgentInput) (*CreateAgentOutput, error) {
   187  	req, out := c.CreateAgentRequest(input)
   188  	return out, req.Send()
   189  }
   190  
   191  // CreateAgentWithContext is the same as CreateAgent with the addition of
   192  // the ability to pass a context and additional request options.
   193  //
   194  // See CreateAgent for details on how to use this API operation.
   195  //
   196  // The context must be non-nil and will be used for request cancellation. If
   197  // the context is nil a panic will occur. In the future the SDK may create
   198  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   199  // for more information on using Contexts.
   200  func (c *DataSync) CreateAgentWithContext(ctx aws.Context, input *CreateAgentInput, opts ...request.Option) (*CreateAgentOutput, error) {
   201  	req, out := c.CreateAgentRequest(input)
   202  	req.SetContext(ctx)
   203  	req.ApplyOptions(opts...)
   204  	return out, req.Send()
   205  }
   206  
   207  const opCreateLocationEfs = "CreateLocationEfs"
   208  
   209  // CreateLocationEfsRequest generates a "aws/request.Request" representing the
   210  // client's request for the CreateLocationEfs operation. The "output" return
   211  // value will be populated with the request's response once the request completes
   212  // successfully.
   213  //
   214  // Use "Send" method on the returned Request to send the API call to the service.
   215  // the "output" return value is not valid until after Send returns without error.
   216  //
   217  // See CreateLocationEfs for more information on using the CreateLocationEfs
   218  // API call, and error handling.
   219  //
   220  // This method is useful when you want to inject custom logic or configuration
   221  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   222  //
   223  //
   224  //    // Example sending a request using the CreateLocationEfsRequest method.
   225  //    req, resp := client.CreateLocationEfsRequest(params)
   226  //
   227  //    err := req.Send()
   228  //    if err == nil { // resp is now filled
   229  //        fmt.Println(resp)
   230  //    }
   231  //
   232  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationEfs
   233  func (c *DataSync) CreateLocationEfsRequest(input *CreateLocationEfsInput) (req *request.Request, output *CreateLocationEfsOutput) {
   234  	op := &request.Operation{
   235  		Name:       opCreateLocationEfs,
   236  		HTTPMethod: "POST",
   237  		HTTPPath:   "/",
   238  	}
   239  
   240  	if input == nil {
   241  		input = &CreateLocationEfsInput{}
   242  	}
   243  
   244  	output = &CreateLocationEfsOutput{}
   245  	req = c.newRequest(op, input, output)
   246  	return
   247  }
   248  
   249  // CreateLocationEfs API operation for AWS DataSync.
   250  //
   251  // Creates an endpoint for an Amazon EFS file system.
   252  //
   253  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   254  // with awserr.Error's Code and Message methods to get detailed information about
   255  // the error.
   256  //
   257  // See the AWS API reference guide for AWS DataSync's
   258  // API operation CreateLocationEfs for usage and error information.
   259  //
   260  // Returned Error Types:
   261  //   * InvalidRequestException
   262  //   This exception is thrown when the client submits a malformed request.
   263  //
   264  //   * InternalException
   265  //   This exception is thrown when an error occurs in the DataSync service.
   266  //
   267  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationEfs
   268  func (c *DataSync) CreateLocationEfs(input *CreateLocationEfsInput) (*CreateLocationEfsOutput, error) {
   269  	req, out := c.CreateLocationEfsRequest(input)
   270  	return out, req.Send()
   271  }
   272  
   273  // CreateLocationEfsWithContext is the same as CreateLocationEfs with the addition of
   274  // the ability to pass a context and additional request options.
   275  //
   276  // See CreateLocationEfs for details on how to use this API operation.
   277  //
   278  // The context must be non-nil and will be used for request cancellation. If
   279  // the context is nil a panic will occur. In the future the SDK may create
   280  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   281  // for more information on using Contexts.
   282  func (c *DataSync) CreateLocationEfsWithContext(ctx aws.Context, input *CreateLocationEfsInput, opts ...request.Option) (*CreateLocationEfsOutput, error) {
   283  	req, out := c.CreateLocationEfsRequest(input)
   284  	req.SetContext(ctx)
   285  	req.ApplyOptions(opts...)
   286  	return out, req.Send()
   287  }
   288  
   289  const opCreateLocationFsxWindows = "CreateLocationFsxWindows"
   290  
   291  // CreateLocationFsxWindowsRequest generates a "aws/request.Request" representing the
   292  // client's request for the CreateLocationFsxWindows operation. The "output" return
   293  // value will be populated with the request's response once the request completes
   294  // successfully.
   295  //
   296  // Use "Send" method on the returned Request to send the API call to the service.
   297  // the "output" return value is not valid until after Send returns without error.
   298  //
   299  // See CreateLocationFsxWindows for more information on using the CreateLocationFsxWindows
   300  // API call, and error handling.
   301  //
   302  // This method is useful when you want to inject custom logic or configuration
   303  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   304  //
   305  //
   306  //    // Example sending a request using the CreateLocationFsxWindowsRequest method.
   307  //    req, resp := client.CreateLocationFsxWindowsRequest(params)
   308  //
   309  //    err := req.Send()
   310  //    if err == nil { // resp is now filled
   311  //        fmt.Println(resp)
   312  //    }
   313  //
   314  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationFsxWindows
   315  func (c *DataSync) CreateLocationFsxWindowsRequest(input *CreateLocationFsxWindowsInput) (req *request.Request, output *CreateLocationFsxWindowsOutput) {
   316  	op := &request.Operation{
   317  		Name:       opCreateLocationFsxWindows,
   318  		HTTPMethod: "POST",
   319  		HTTPPath:   "/",
   320  	}
   321  
   322  	if input == nil {
   323  		input = &CreateLocationFsxWindowsInput{}
   324  	}
   325  
   326  	output = &CreateLocationFsxWindowsOutput{}
   327  	req = c.newRequest(op, input, output)
   328  	return
   329  }
   330  
   331  // CreateLocationFsxWindows API operation for AWS DataSync.
   332  //
   333  // Creates an endpoint for an Amazon FSx for Windows File Server file system.
   334  //
   335  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   336  // with awserr.Error's Code and Message methods to get detailed information about
   337  // the error.
   338  //
   339  // See the AWS API reference guide for AWS DataSync's
   340  // API operation CreateLocationFsxWindows for usage and error information.
   341  //
   342  // Returned Error Types:
   343  //   * InvalidRequestException
   344  //   This exception is thrown when the client submits a malformed request.
   345  //
   346  //   * InternalException
   347  //   This exception is thrown when an error occurs in the DataSync service.
   348  //
   349  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationFsxWindows
   350  func (c *DataSync) CreateLocationFsxWindows(input *CreateLocationFsxWindowsInput) (*CreateLocationFsxWindowsOutput, error) {
   351  	req, out := c.CreateLocationFsxWindowsRequest(input)
   352  	return out, req.Send()
   353  }
   354  
   355  // CreateLocationFsxWindowsWithContext is the same as CreateLocationFsxWindows with the addition of
   356  // the ability to pass a context and additional request options.
   357  //
   358  // See CreateLocationFsxWindows for details on how to use this API operation.
   359  //
   360  // The context must be non-nil and will be used for request cancellation. If
   361  // the context is nil a panic will occur. In the future the SDK may create
   362  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   363  // for more information on using Contexts.
   364  func (c *DataSync) CreateLocationFsxWindowsWithContext(ctx aws.Context, input *CreateLocationFsxWindowsInput, opts ...request.Option) (*CreateLocationFsxWindowsOutput, error) {
   365  	req, out := c.CreateLocationFsxWindowsRequest(input)
   366  	req.SetContext(ctx)
   367  	req.ApplyOptions(opts...)
   368  	return out, req.Send()
   369  }
   370  
   371  const opCreateLocationNfs = "CreateLocationNfs"
   372  
   373  // CreateLocationNfsRequest generates a "aws/request.Request" representing the
   374  // client's request for the CreateLocationNfs operation. The "output" return
   375  // value will be populated with the request's response once the request completes
   376  // successfully.
   377  //
   378  // Use "Send" method on the returned Request to send the API call to the service.
   379  // the "output" return value is not valid until after Send returns without error.
   380  //
   381  // See CreateLocationNfs for more information on using the CreateLocationNfs
   382  // API call, and error handling.
   383  //
   384  // This method is useful when you want to inject custom logic or configuration
   385  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   386  //
   387  //
   388  //    // Example sending a request using the CreateLocationNfsRequest method.
   389  //    req, resp := client.CreateLocationNfsRequest(params)
   390  //
   391  //    err := req.Send()
   392  //    if err == nil { // resp is now filled
   393  //        fmt.Println(resp)
   394  //    }
   395  //
   396  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationNfs
   397  func (c *DataSync) CreateLocationNfsRequest(input *CreateLocationNfsInput) (req *request.Request, output *CreateLocationNfsOutput) {
   398  	op := &request.Operation{
   399  		Name:       opCreateLocationNfs,
   400  		HTTPMethod: "POST",
   401  		HTTPPath:   "/",
   402  	}
   403  
   404  	if input == nil {
   405  		input = &CreateLocationNfsInput{}
   406  	}
   407  
   408  	output = &CreateLocationNfsOutput{}
   409  	req = c.newRequest(op, input, output)
   410  	return
   411  }
   412  
   413  // CreateLocationNfs API operation for AWS DataSync.
   414  //
   415  // Defines a file system on a Network File System (NFS) server that can be read
   416  // from or written to.
   417  //
   418  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   419  // with awserr.Error's Code and Message methods to get detailed information about
   420  // the error.
   421  //
   422  // See the AWS API reference guide for AWS DataSync's
   423  // API operation CreateLocationNfs for usage and error information.
   424  //
   425  // Returned Error Types:
   426  //   * InvalidRequestException
   427  //   This exception is thrown when the client submits a malformed request.
   428  //
   429  //   * InternalException
   430  //   This exception is thrown when an error occurs in the DataSync service.
   431  //
   432  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationNfs
   433  func (c *DataSync) CreateLocationNfs(input *CreateLocationNfsInput) (*CreateLocationNfsOutput, error) {
   434  	req, out := c.CreateLocationNfsRequest(input)
   435  	return out, req.Send()
   436  }
   437  
   438  // CreateLocationNfsWithContext is the same as CreateLocationNfs with the addition of
   439  // the ability to pass a context and additional request options.
   440  //
   441  // See CreateLocationNfs for details on how to use this API operation.
   442  //
   443  // The context must be non-nil and will be used for request cancellation. If
   444  // the context is nil a panic will occur. In the future the SDK may create
   445  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   446  // for more information on using Contexts.
   447  func (c *DataSync) CreateLocationNfsWithContext(ctx aws.Context, input *CreateLocationNfsInput, opts ...request.Option) (*CreateLocationNfsOutput, error) {
   448  	req, out := c.CreateLocationNfsRequest(input)
   449  	req.SetContext(ctx)
   450  	req.ApplyOptions(opts...)
   451  	return out, req.Send()
   452  }
   453  
   454  const opCreateLocationObjectStorage = "CreateLocationObjectStorage"
   455  
   456  // CreateLocationObjectStorageRequest generates a "aws/request.Request" representing the
   457  // client's request for the CreateLocationObjectStorage operation. The "output" return
   458  // value will be populated with the request's response once the request completes
   459  // successfully.
   460  //
   461  // Use "Send" method on the returned Request to send the API call to the service.
   462  // the "output" return value is not valid until after Send returns without error.
   463  //
   464  // See CreateLocationObjectStorage for more information on using the CreateLocationObjectStorage
   465  // API call, and error handling.
   466  //
   467  // This method is useful when you want to inject custom logic or configuration
   468  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   469  //
   470  //
   471  //    // Example sending a request using the CreateLocationObjectStorageRequest method.
   472  //    req, resp := client.CreateLocationObjectStorageRequest(params)
   473  //
   474  //    err := req.Send()
   475  //    if err == nil { // resp is now filled
   476  //        fmt.Println(resp)
   477  //    }
   478  //
   479  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationObjectStorage
   480  func (c *DataSync) CreateLocationObjectStorageRequest(input *CreateLocationObjectStorageInput) (req *request.Request, output *CreateLocationObjectStorageOutput) {
   481  	op := &request.Operation{
   482  		Name:       opCreateLocationObjectStorage,
   483  		HTTPMethod: "POST",
   484  		HTTPPath:   "/",
   485  	}
   486  
   487  	if input == nil {
   488  		input = &CreateLocationObjectStorageInput{}
   489  	}
   490  
   491  	output = &CreateLocationObjectStorageOutput{}
   492  	req = c.newRequest(op, input, output)
   493  	return
   494  }
   495  
   496  // CreateLocationObjectStorage API operation for AWS DataSync.
   497  //
   498  // Creates an endpoint for a self-managed object storage bucket. For more information
   499  // about self-managed object storage locations, see Creating a location for
   500  // object storage (https://docs.aws.amazon.com/datasync/latest/userguide/create-object-location.html).
   501  //
   502  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   503  // with awserr.Error's Code and Message methods to get detailed information about
   504  // the error.
   505  //
   506  // See the AWS API reference guide for AWS DataSync's
   507  // API operation CreateLocationObjectStorage for usage and error information.
   508  //
   509  // Returned Error Types:
   510  //   * InvalidRequestException
   511  //   This exception is thrown when the client submits a malformed request.
   512  //
   513  //   * InternalException
   514  //   This exception is thrown when an error occurs in the DataSync service.
   515  //
   516  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationObjectStorage
   517  func (c *DataSync) CreateLocationObjectStorage(input *CreateLocationObjectStorageInput) (*CreateLocationObjectStorageOutput, error) {
   518  	req, out := c.CreateLocationObjectStorageRequest(input)
   519  	return out, req.Send()
   520  }
   521  
   522  // CreateLocationObjectStorageWithContext is the same as CreateLocationObjectStorage with the addition of
   523  // the ability to pass a context and additional request options.
   524  //
   525  // See CreateLocationObjectStorage for details on how to use this API operation.
   526  //
   527  // The context must be non-nil and will be used for request cancellation. If
   528  // the context is nil a panic will occur. In the future the SDK may create
   529  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   530  // for more information on using Contexts.
   531  func (c *DataSync) CreateLocationObjectStorageWithContext(ctx aws.Context, input *CreateLocationObjectStorageInput, opts ...request.Option) (*CreateLocationObjectStorageOutput, error) {
   532  	req, out := c.CreateLocationObjectStorageRequest(input)
   533  	req.SetContext(ctx)
   534  	req.ApplyOptions(opts...)
   535  	return out, req.Send()
   536  }
   537  
   538  const opCreateLocationS3 = "CreateLocationS3"
   539  
   540  // CreateLocationS3Request generates a "aws/request.Request" representing the
   541  // client's request for the CreateLocationS3 operation. The "output" return
   542  // value will be populated with the request's response once the request completes
   543  // successfully.
   544  //
   545  // Use "Send" method on the returned Request to send the API call to the service.
   546  // the "output" return value is not valid until after Send returns without error.
   547  //
   548  // See CreateLocationS3 for more information on using the CreateLocationS3
   549  // API call, and error handling.
   550  //
   551  // This method is useful when you want to inject custom logic or configuration
   552  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   553  //
   554  //
   555  //    // Example sending a request using the CreateLocationS3Request method.
   556  //    req, resp := client.CreateLocationS3Request(params)
   557  //
   558  //    err := req.Send()
   559  //    if err == nil { // resp is now filled
   560  //        fmt.Println(resp)
   561  //    }
   562  //
   563  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationS3
   564  func (c *DataSync) CreateLocationS3Request(input *CreateLocationS3Input) (req *request.Request, output *CreateLocationS3Output) {
   565  	op := &request.Operation{
   566  		Name:       opCreateLocationS3,
   567  		HTTPMethod: "POST",
   568  		HTTPPath:   "/",
   569  	}
   570  
   571  	if input == nil {
   572  		input = &CreateLocationS3Input{}
   573  	}
   574  
   575  	output = &CreateLocationS3Output{}
   576  	req = c.newRequest(op, input, output)
   577  	return
   578  }
   579  
   580  // CreateLocationS3 API operation for AWS DataSync.
   581  //
   582  // Creates an endpoint for an Amazon S3 bucket.
   583  //
   584  // For more information, see Create an Amazon S3 location (https://docs.aws.amazon.com/datasync/latest/userguide/create-locations-cli.html#create-location-s3-cli)
   585  // in the DataSync User Guide.
   586  //
   587  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   588  // with awserr.Error's Code and Message methods to get detailed information about
   589  // the error.
   590  //
   591  // See the AWS API reference guide for AWS DataSync's
   592  // API operation CreateLocationS3 for usage and error information.
   593  //
   594  // Returned Error Types:
   595  //   * InvalidRequestException
   596  //   This exception is thrown when the client submits a malformed request.
   597  //
   598  //   * InternalException
   599  //   This exception is thrown when an error occurs in the DataSync service.
   600  //
   601  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationS3
   602  func (c *DataSync) CreateLocationS3(input *CreateLocationS3Input) (*CreateLocationS3Output, error) {
   603  	req, out := c.CreateLocationS3Request(input)
   604  	return out, req.Send()
   605  }
   606  
   607  // CreateLocationS3WithContext is the same as CreateLocationS3 with the addition of
   608  // the ability to pass a context and additional request options.
   609  //
   610  // See CreateLocationS3 for details on how to use this API operation.
   611  //
   612  // The context must be non-nil and will be used for request cancellation. If
   613  // the context is nil a panic will occur. In the future the SDK may create
   614  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   615  // for more information on using Contexts.
   616  func (c *DataSync) CreateLocationS3WithContext(ctx aws.Context, input *CreateLocationS3Input, opts ...request.Option) (*CreateLocationS3Output, error) {
   617  	req, out := c.CreateLocationS3Request(input)
   618  	req.SetContext(ctx)
   619  	req.ApplyOptions(opts...)
   620  	return out, req.Send()
   621  }
   622  
   623  const opCreateLocationSmb = "CreateLocationSmb"
   624  
   625  // CreateLocationSmbRequest generates a "aws/request.Request" representing the
   626  // client's request for the CreateLocationSmb operation. The "output" return
   627  // value will be populated with the request's response once the request completes
   628  // successfully.
   629  //
   630  // Use "Send" method on the returned Request to send the API call to the service.
   631  // the "output" return value is not valid until after Send returns without error.
   632  //
   633  // See CreateLocationSmb for more information on using the CreateLocationSmb
   634  // API call, and error handling.
   635  //
   636  // This method is useful when you want to inject custom logic or configuration
   637  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   638  //
   639  //
   640  //    // Example sending a request using the CreateLocationSmbRequest method.
   641  //    req, resp := client.CreateLocationSmbRequest(params)
   642  //
   643  //    err := req.Send()
   644  //    if err == nil { // resp is now filled
   645  //        fmt.Println(resp)
   646  //    }
   647  //
   648  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationSmb
   649  func (c *DataSync) CreateLocationSmbRequest(input *CreateLocationSmbInput) (req *request.Request, output *CreateLocationSmbOutput) {
   650  	op := &request.Operation{
   651  		Name:       opCreateLocationSmb,
   652  		HTTPMethod: "POST",
   653  		HTTPPath:   "/",
   654  	}
   655  
   656  	if input == nil {
   657  		input = &CreateLocationSmbInput{}
   658  	}
   659  
   660  	output = &CreateLocationSmbOutput{}
   661  	req = c.newRequest(op, input, output)
   662  	return
   663  }
   664  
   665  // CreateLocationSmb API operation for AWS DataSync.
   666  //
   667  // Defines a file system on a Server Message Block (SMB) server that can be
   668  // read from or written to.
   669  //
   670  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   671  // with awserr.Error's Code and Message methods to get detailed information about
   672  // the error.
   673  //
   674  // See the AWS API reference guide for AWS DataSync's
   675  // API operation CreateLocationSmb for usage and error information.
   676  //
   677  // Returned Error Types:
   678  //   * InvalidRequestException
   679  //   This exception is thrown when the client submits a malformed request.
   680  //
   681  //   * InternalException
   682  //   This exception is thrown when an error occurs in the DataSync service.
   683  //
   684  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationSmb
   685  func (c *DataSync) CreateLocationSmb(input *CreateLocationSmbInput) (*CreateLocationSmbOutput, error) {
   686  	req, out := c.CreateLocationSmbRequest(input)
   687  	return out, req.Send()
   688  }
   689  
   690  // CreateLocationSmbWithContext is the same as CreateLocationSmb with the addition of
   691  // the ability to pass a context and additional request options.
   692  //
   693  // See CreateLocationSmb for details on how to use this API operation.
   694  //
   695  // The context must be non-nil and will be used for request cancellation. If
   696  // the context is nil a panic will occur. In the future the SDK may create
   697  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   698  // for more information on using Contexts.
   699  func (c *DataSync) CreateLocationSmbWithContext(ctx aws.Context, input *CreateLocationSmbInput, opts ...request.Option) (*CreateLocationSmbOutput, error) {
   700  	req, out := c.CreateLocationSmbRequest(input)
   701  	req.SetContext(ctx)
   702  	req.ApplyOptions(opts...)
   703  	return out, req.Send()
   704  }
   705  
   706  const opCreateTask = "CreateTask"
   707  
   708  // CreateTaskRequest generates a "aws/request.Request" representing the
   709  // client's request for the CreateTask operation. The "output" return
   710  // value will be populated with the request's response once the request completes
   711  // successfully.
   712  //
   713  // Use "Send" method on the returned Request to send the API call to the service.
   714  // the "output" return value is not valid until after Send returns without error.
   715  //
   716  // See CreateTask for more information on using the CreateTask
   717  // API call, and error handling.
   718  //
   719  // This method is useful when you want to inject custom logic or configuration
   720  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   721  //
   722  //
   723  //    // Example sending a request using the CreateTaskRequest method.
   724  //    req, resp := client.CreateTaskRequest(params)
   725  //
   726  //    err := req.Send()
   727  //    if err == nil { // resp is now filled
   728  //        fmt.Println(resp)
   729  //    }
   730  //
   731  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateTask
   732  func (c *DataSync) CreateTaskRequest(input *CreateTaskInput) (req *request.Request, output *CreateTaskOutput) {
   733  	op := &request.Operation{
   734  		Name:       opCreateTask,
   735  		HTTPMethod: "POST",
   736  		HTTPPath:   "/",
   737  	}
   738  
   739  	if input == nil {
   740  		input = &CreateTaskInput{}
   741  	}
   742  
   743  	output = &CreateTaskOutput{}
   744  	req = c.newRequest(op, input, output)
   745  	return
   746  }
   747  
   748  // CreateTask API operation for AWS DataSync.
   749  //
   750  // Creates a task.
   751  //
   752  // A task includes a source location and a destination location, and a configuration
   753  // that specifies how data is transferred. A task always transfers data from
   754  // the source location to the destination location. The configuration specifies
   755  // options such as task scheduling, bandwidth limits, etc. A task is the complete
   756  // definition of a data transfer.
   757  //
   758  // When you create a task that transfers data between Amazon Web Services services
   759  // in different Amazon Web Services Regions, one of the two locations that you
   760  // specify must reside in the Region where DataSync is being used. The other
   761  // location must be specified in a different Region.
   762  //
   763  // You can transfer data between commercial Amazon Web Services Regions except
   764  // for China, or between Amazon Web Services GovCloud (US) Regions.
   765  //
   766  // When you use DataSync to copy files or objects between Amazon Web Services
   767  // Regions, you pay for data transfer between Regions. This is billed as data
   768  // transfer OUT from your source Region to your destination Region. For more
   769  // information, see Data Transfer pricing (http://aws.amazon.com/ec2/pricing/on-demand/#Data_Transfer).
   770  //
   771  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   772  // with awserr.Error's Code and Message methods to get detailed information about
   773  // the error.
   774  //
   775  // See the AWS API reference guide for AWS DataSync's
   776  // API operation CreateTask for usage and error information.
   777  //
   778  // Returned Error Types:
   779  //   * InvalidRequestException
   780  //   This exception is thrown when the client submits a malformed request.
   781  //
   782  //   * InternalException
   783  //   This exception is thrown when an error occurs in the DataSync service.
   784  //
   785  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateTask
   786  func (c *DataSync) CreateTask(input *CreateTaskInput) (*CreateTaskOutput, error) {
   787  	req, out := c.CreateTaskRequest(input)
   788  	return out, req.Send()
   789  }
   790  
   791  // CreateTaskWithContext is the same as CreateTask with the addition of
   792  // the ability to pass a context and additional request options.
   793  //
   794  // See CreateTask for details on how to use this API operation.
   795  //
   796  // The context must be non-nil and will be used for request cancellation. If
   797  // the context is nil a panic will occur. In the future the SDK may create
   798  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   799  // for more information on using Contexts.
   800  func (c *DataSync) CreateTaskWithContext(ctx aws.Context, input *CreateTaskInput, opts ...request.Option) (*CreateTaskOutput, error) {
   801  	req, out := c.CreateTaskRequest(input)
   802  	req.SetContext(ctx)
   803  	req.ApplyOptions(opts...)
   804  	return out, req.Send()
   805  }
   806  
   807  const opDeleteAgent = "DeleteAgent"
   808  
   809  // DeleteAgentRequest generates a "aws/request.Request" representing the
   810  // client's request for the DeleteAgent operation. The "output" return
   811  // value will be populated with the request's response once the request completes
   812  // successfully.
   813  //
   814  // Use "Send" method on the returned Request to send the API call to the service.
   815  // the "output" return value is not valid until after Send returns without error.
   816  //
   817  // See DeleteAgent for more information on using the DeleteAgent
   818  // API call, and error handling.
   819  //
   820  // This method is useful when you want to inject custom logic or configuration
   821  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   822  //
   823  //
   824  //    // Example sending a request using the DeleteAgentRequest method.
   825  //    req, resp := client.DeleteAgentRequest(params)
   826  //
   827  //    err := req.Send()
   828  //    if err == nil { // resp is now filled
   829  //        fmt.Println(resp)
   830  //    }
   831  //
   832  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DeleteAgent
   833  func (c *DataSync) DeleteAgentRequest(input *DeleteAgentInput) (req *request.Request, output *DeleteAgentOutput) {
   834  	op := &request.Operation{
   835  		Name:       opDeleteAgent,
   836  		HTTPMethod: "POST",
   837  		HTTPPath:   "/",
   838  	}
   839  
   840  	if input == nil {
   841  		input = &DeleteAgentInput{}
   842  	}
   843  
   844  	output = &DeleteAgentOutput{}
   845  	req = c.newRequest(op, input, output)
   846  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   847  	return
   848  }
   849  
   850  // DeleteAgent API operation for AWS DataSync.
   851  //
   852  // Deletes an agent. To specify which agent to delete, use the Amazon Resource
   853  // Name (ARN) of the agent in your request. The operation disassociates the
   854  // agent from your Amazon Web Services account. However, it doesn't delete the
   855  // agent virtual machine (VM) from your on-premises environment.
   856  //
   857  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   858  // with awserr.Error's Code and Message methods to get detailed information about
   859  // the error.
   860  //
   861  // See the AWS API reference guide for AWS DataSync's
   862  // API operation DeleteAgent for usage and error information.
   863  //
   864  // Returned Error Types:
   865  //   * InvalidRequestException
   866  //   This exception is thrown when the client submits a malformed request.
   867  //
   868  //   * InternalException
   869  //   This exception is thrown when an error occurs in the DataSync service.
   870  //
   871  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DeleteAgent
   872  func (c *DataSync) DeleteAgent(input *DeleteAgentInput) (*DeleteAgentOutput, error) {
   873  	req, out := c.DeleteAgentRequest(input)
   874  	return out, req.Send()
   875  }
   876  
   877  // DeleteAgentWithContext is the same as DeleteAgent with the addition of
   878  // the ability to pass a context and additional request options.
   879  //
   880  // See DeleteAgent for details on how to use this API operation.
   881  //
   882  // The context must be non-nil and will be used for request cancellation. If
   883  // the context is nil a panic will occur. In the future the SDK may create
   884  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   885  // for more information on using Contexts.
   886  func (c *DataSync) DeleteAgentWithContext(ctx aws.Context, input *DeleteAgentInput, opts ...request.Option) (*DeleteAgentOutput, error) {
   887  	req, out := c.DeleteAgentRequest(input)
   888  	req.SetContext(ctx)
   889  	req.ApplyOptions(opts...)
   890  	return out, req.Send()
   891  }
   892  
   893  const opDeleteLocation = "DeleteLocation"
   894  
   895  // DeleteLocationRequest generates a "aws/request.Request" representing the
   896  // client's request for the DeleteLocation operation. The "output" return
   897  // value will be populated with the request's response once the request completes
   898  // successfully.
   899  //
   900  // Use "Send" method on the returned Request to send the API call to the service.
   901  // the "output" return value is not valid until after Send returns without error.
   902  //
   903  // See DeleteLocation for more information on using the DeleteLocation
   904  // API call, and error handling.
   905  //
   906  // This method is useful when you want to inject custom logic or configuration
   907  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   908  //
   909  //
   910  //    // Example sending a request using the DeleteLocationRequest method.
   911  //    req, resp := client.DeleteLocationRequest(params)
   912  //
   913  //    err := req.Send()
   914  //    if err == nil { // resp is now filled
   915  //        fmt.Println(resp)
   916  //    }
   917  //
   918  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DeleteLocation
   919  func (c *DataSync) DeleteLocationRequest(input *DeleteLocationInput) (req *request.Request, output *DeleteLocationOutput) {
   920  	op := &request.Operation{
   921  		Name:       opDeleteLocation,
   922  		HTTPMethod: "POST",
   923  		HTTPPath:   "/",
   924  	}
   925  
   926  	if input == nil {
   927  		input = &DeleteLocationInput{}
   928  	}
   929  
   930  	output = &DeleteLocationOutput{}
   931  	req = c.newRequest(op, input, output)
   932  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   933  	return
   934  }
   935  
   936  // DeleteLocation API operation for AWS DataSync.
   937  //
   938  // Deletes the configuration of a location used by DataSync.
   939  //
   940  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   941  // with awserr.Error's Code and Message methods to get detailed information about
   942  // the error.
   943  //
   944  // See the AWS API reference guide for AWS DataSync's
   945  // API operation DeleteLocation for usage and error information.
   946  //
   947  // Returned Error Types:
   948  //   * InvalidRequestException
   949  //   This exception is thrown when the client submits a malformed request.
   950  //
   951  //   * InternalException
   952  //   This exception is thrown when an error occurs in the DataSync service.
   953  //
   954  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DeleteLocation
   955  func (c *DataSync) DeleteLocation(input *DeleteLocationInput) (*DeleteLocationOutput, error) {
   956  	req, out := c.DeleteLocationRequest(input)
   957  	return out, req.Send()
   958  }
   959  
   960  // DeleteLocationWithContext is the same as DeleteLocation with the addition of
   961  // the ability to pass a context and additional request options.
   962  //
   963  // See DeleteLocation for details on how to use this API operation.
   964  //
   965  // The context must be non-nil and will be used for request cancellation. If
   966  // the context is nil a panic will occur. In the future the SDK may create
   967  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   968  // for more information on using Contexts.
   969  func (c *DataSync) DeleteLocationWithContext(ctx aws.Context, input *DeleteLocationInput, opts ...request.Option) (*DeleteLocationOutput, error) {
   970  	req, out := c.DeleteLocationRequest(input)
   971  	req.SetContext(ctx)
   972  	req.ApplyOptions(opts...)
   973  	return out, req.Send()
   974  }
   975  
   976  const opDeleteTask = "DeleteTask"
   977  
   978  // DeleteTaskRequest generates a "aws/request.Request" representing the
   979  // client's request for the DeleteTask operation. The "output" return
   980  // value will be populated with the request's response once the request completes
   981  // successfully.
   982  //
   983  // Use "Send" method on the returned Request to send the API call to the service.
   984  // the "output" return value is not valid until after Send returns without error.
   985  //
   986  // See DeleteTask for more information on using the DeleteTask
   987  // API call, and error handling.
   988  //
   989  // This method is useful when you want to inject custom logic or configuration
   990  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   991  //
   992  //
   993  //    // Example sending a request using the DeleteTaskRequest method.
   994  //    req, resp := client.DeleteTaskRequest(params)
   995  //
   996  //    err := req.Send()
   997  //    if err == nil { // resp is now filled
   998  //        fmt.Println(resp)
   999  //    }
  1000  //
  1001  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DeleteTask
  1002  func (c *DataSync) DeleteTaskRequest(input *DeleteTaskInput) (req *request.Request, output *DeleteTaskOutput) {
  1003  	op := &request.Operation{
  1004  		Name:       opDeleteTask,
  1005  		HTTPMethod: "POST",
  1006  		HTTPPath:   "/",
  1007  	}
  1008  
  1009  	if input == nil {
  1010  		input = &DeleteTaskInput{}
  1011  	}
  1012  
  1013  	output = &DeleteTaskOutput{}
  1014  	req = c.newRequest(op, input, output)
  1015  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1016  	return
  1017  }
  1018  
  1019  // DeleteTask API operation for AWS DataSync.
  1020  //
  1021  // Deletes a task.
  1022  //
  1023  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1024  // with awserr.Error's Code and Message methods to get detailed information about
  1025  // the error.
  1026  //
  1027  // See the AWS API reference guide for AWS DataSync's
  1028  // API operation DeleteTask for usage and error information.
  1029  //
  1030  // Returned Error Types:
  1031  //   * InvalidRequestException
  1032  //   This exception is thrown when the client submits a malformed request.
  1033  //
  1034  //   * InternalException
  1035  //   This exception is thrown when an error occurs in the DataSync service.
  1036  //
  1037  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DeleteTask
  1038  func (c *DataSync) DeleteTask(input *DeleteTaskInput) (*DeleteTaskOutput, error) {
  1039  	req, out := c.DeleteTaskRequest(input)
  1040  	return out, req.Send()
  1041  }
  1042  
  1043  // DeleteTaskWithContext is the same as DeleteTask with the addition of
  1044  // the ability to pass a context and additional request options.
  1045  //
  1046  // See DeleteTask for details on how to use this API operation.
  1047  //
  1048  // The context must be non-nil and will be used for request cancellation. If
  1049  // the context is nil a panic will occur. In the future the SDK may create
  1050  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1051  // for more information on using Contexts.
  1052  func (c *DataSync) DeleteTaskWithContext(ctx aws.Context, input *DeleteTaskInput, opts ...request.Option) (*DeleteTaskOutput, error) {
  1053  	req, out := c.DeleteTaskRequest(input)
  1054  	req.SetContext(ctx)
  1055  	req.ApplyOptions(opts...)
  1056  	return out, req.Send()
  1057  }
  1058  
  1059  const opDescribeAgent = "DescribeAgent"
  1060  
  1061  // DescribeAgentRequest generates a "aws/request.Request" representing the
  1062  // client's request for the DescribeAgent operation. The "output" return
  1063  // value will be populated with the request's response once the request completes
  1064  // successfully.
  1065  //
  1066  // Use "Send" method on the returned Request to send the API call to the service.
  1067  // the "output" return value is not valid until after Send returns without error.
  1068  //
  1069  // See DescribeAgent for more information on using the DescribeAgent
  1070  // API call, and error handling.
  1071  //
  1072  // This method is useful when you want to inject custom logic or configuration
  1073  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1074  //
  1075  //
  1076  //    // Example sending a request using the DescribeAgentRequest method.
  1077  //    req, resp := client.DescribeAgentRequest(params)
  1078  //
  1079  //    err := req.Send()
  1080  //    if err == nil { // resp is now filled
  1081  //        fmt.Println(resp)
  1082  //    }
  1083  //
  1084  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeAgent
  1085  func (c *DataSync) DescribeAgentRequest(input *DescribeAgentInput) (req *request.Request, output *DescribeAgentOutput) {
  1086  	op := &request.Operation{
  1087  		Name:       opDescribeAgent,
  1088  		HTTPMethod: "POST",
  1089  		HTTPPath:   "/",
  1090  	}
  1091  
  1092  	if input == nil {
  1093  		input = &DescribeAgentInput{}
  1094  	}
  1095  
  1096  	output = &DescribeAgentOutput{}
  1097  	req = c.newRequest(op, input, output)
  1098  	return
  1099  }
  1100  
  1101  // DescribeAgent API operation for AWS DataSync.
  1102  //
  1103  // Returns metadata such as the name, the network interfaces, and the status
  1104  // (that is, whether the agent is running or not) for an agent. To specify which
  1105  // agent to describe, use the Amazon Resource Name (ARN) of the agent in your
  1106  // request.
  1107  //
  1108  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1109  // with awserr.Error's Code and Message methods to get detailed information about
  1110  // the error.
  1111  //
  1112  // See the AWS API reference guide for AWS DataSync's
  1113  // API operation DescribeAgent for usage and error information.
  1114  //
  1115  // Returned Error Types:
  1116  //   * InvalidRequestException
  1117  //   This exception is thrown when the client submits a malformed request.
  1118  //
  1119  //   * InternalException
  1120  //   This exception is thrown when an error occurs in the DataSync service.
  1121  //
  1122  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeAgent
  1123  func (c *DataSync) DescribeAgent(input *DescribeAgentInput) (*DescribeAgentOutput, error) {
  1124  	req, out := c.DescribeAgentRequest(input)
  1125  	return out, req.Send()
  1126  }
  1127  
  1128  // DescribeAgentWithContext is the same as DescribeAgent with the addition of
  1129  // the ability to pass a context and additional request options.
  1130  //
  1131  // See DescribeAgent for details on how to use this API operation.
  1132  //
  1133  // The context must be non-nil and will be used for request cancellation. If
  1134  // the context is nil a panic will occur. In the future the SDK may create
  1135  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1136  // for more information on using Contexts.
  1137  func (c *DataSync) DescribeAgentWithContext(ctx aws.Context, input *DescribeAgentInput, opts ...request.Option) (*DescribeAgentOutput, error) {
  1138  	req, out := c.DescribeAgentRequest(input)
  1139  	req.SetContext(ctx)
  1140  	req.ApplyOptions(opts...)
  1141  	return out, req.Send()
  1142  }
  1143  
  1144  const opDescribeLocationEfs = "DescribeLocationEfs"
  1145  
  1146  // DescribeLocationEfsRequest generates a "aws/request.Request" representing the
  1147  // client's request for the DescribeLocationEfs operation. The "output" return
  1148  // value will be populated with the request's response once the request completes
  1149  // successfully.
  1150  //
  1151  // Use "Send" method on the returned Request to send the API call to the service.
  1152  // the "output" return value is not valid until after Send returns without error.
  1153  //
  1154  // See DescribeLocationEfs for more information on using the DescribeLocationEfs
  1155  // API call, and error handling.
  1156  //
  1157  // This method is useful when you want to inject custom logic or configuration
  1158  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1159  //
  1160  //
  1161  //    // Example sending a request using the DescribeLocationEfsRequest method.
  1162  //    req, resp := client.DescribeLocationEfsRequest(params)
  1163  //
  1164  //    err := req.Send()
  1165  //    if err == nil { // resp is now filled
  1166  //        fmt.Println(resp)
  1167  //    }
  1168  //
  1169  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationEfs
  1170  func (c *DataSync) DescribeLocationEfsRequest(input *DescribeLocationEfsInput) (req *request.Request, output *DescribeLocationEfsOutput) {
  1171  	op := &request.Operation{
  1172  		Name:       opDescribeLocationEfs,
  1173  		HTTPMethod: "POST",
  1174  		HTTPPath:   "/",
  1175  	}
  1176  
  1177  	if input == nil {
  1178  		input = &DescribeLocationEfsInput{}
  1179  	}
  1180  
  1181  	output = &DescribeLocationEfsOutput{}
  1182  	req = c.newRequest(op, input, output)
  1183  	return
  1184  }
  1185  
  1186  // DescribeLocationEfs API operation for AWS DataSync.
  1187  //
  1188  // Returns metadata, such as the path information about an Amazon EFS location.
  1189  //
  1190  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1191  // with awserr.Error's Code and Message methods to get detailed information about
  1192  // the error.
  1193  //
  1194  // See the AWS API reference guide for AWS DataSync's
  1195  // API operation DescribeLocationEfs for usage and error information.
  1196  //
  1197  // Returned Error Types:
  1198  //   * InvalidRequestException
  1199  //   This exception is thrown when the client submits a malformed request.
  1200  //
  1201  //   * InternalException
  1202  //   This exception is thrown when an error occurs in the DataSync service.
  1203  //
  1204  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationEfs
  1205  func (c *DataSync) DescribeLocationEfs(input *DescribeLocationEfsInput) (*DescribeLocationEfsOutput, error) {
  1206  	req, out := c.DescribeLocationEfsRequest(input)
  1207  	return out, req.Send()
  1208  }
  1209  
  1210  // DescribeLocationEfsWithContext is the same as DescribeLocationEfs with the addition of
  1211  // the ability to pass a context and additional request options.
  1212  //
  1213  // See DescribeLocationEfs for details on how to use this API operation.
  1214  //
  1215  // The context must be non-nil and will be used for request cancellation. If
  1216  // the context is nil a panic will occur. In the future the SDK may create
  1217  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1218  // for more information on using Contexts.
  1219  func (c *DataSync) DescribeLocationEfsWithContext(ctx aws.Context, input *DescribeLocationEfsInput, opts ...request.Option) (*DescribeLocationEfsOutput, error) {
  1220  	req, out := c.DescribeLocationEfsRequest(input)
  1221  	req.SetContext(ctx)
  1222  	req.ApplyOptions(opts...)
  1223  	return out, req.Send()
  1224  }
  1225  
  1226  const opDescribeLocationFsxWindows = "DescribeLocationFsxWindows"
  1227  
  1228  // DescribeLocationFsxWindowsRequest generates a "aws/request.Request" representing the
  1229  // client's request for the DescribeLocationFsxWindows operation. The "output" return
  1230  // value will be populated with the request's response once the request completes
  1231  // successfully.
  1232  //
  1233  // Use "Send" method on the returned Request to send the API call to the service.
  1234  // the "output" return value is not valid until after Send returns without error.
  1235  //
  1236  // See DescribeLocationFsxWindows for more information on using the DescribeLocationFsxWindows
  1237  // API call, and error handling.
  1238  //
  1239  // This method is useful when you want to inject custom logic or configuration
  1240  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1241  //
  1242  //
  1243  //    // Example sending a request using the DescribeLocationFsxWindowsRequest method.
  1244  //    req, resp := client.DescribeLocationFsxWindowsRequest(params)
  1245  //
  1246  //    err := req.Send()
  1247  //    if err == nil { // resp is now filled
  1248  //        fmt.Println(resp)
  1249  //    }
  1250  //
  1251  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationFsxWindows
  1252  func (c *DataSync) DescribeLocationFsxWindowsRequest(input *DescribeLocationFsxWindowsInput) (req *request.Request, output *DescribeLocationFsxWindowsOutput) {
  1253  	op := &request.Operation{
  1254  		Name:       opDescribeLocationFsxWindows,
  1255  		HTTPMethod: "POST",
  1256  		HTTPPath:   "/",
  1257  	}
  1258  
  1259  	if input == nil {
  1260  		input = &DescribeLocationFsxWindowsInput{}
  1261  	}
  1262  
  1263  	output = &DescribeLocationFsxWindowsOutput{}
  1264  	req = c.newRequest(op, input, output)
  1265  	return
  1266  }
  1267  
  1268  // DescribeLocationFsxWindows API operation for AWS DataSync.
  1269  //
  1270  // Returns metadata, such as the path information about an Amazon FSx for Windows
  1271  // File Server location.
  1272  //
  1273  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1274  // with awserr.Error's Code and Message methods to get detailed information about
  1275  // the error.
  1276  //
  1277  // See the AWS API reference guide for AWS DataSync's
  1278  // API operation DescribeLocationFsxWindows for usage and error information.
  1279  //
  1280  // Returned Error Types:
  1281  //   * InvalidRequestException
  1282  //   This exception is thrown when the client submits a malformed request.
  1283  //
  1284  //   * InternalException
  1285  //   This exception is thrown when an error occurs in the DataSync service.
  1286  //
  1287  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationFsxWindows
  1288  func (c *DataSync) DescribeLocationFsxWindows(input *DescribeLocationFsxWindowsInput) (*DescribeLocationFsxWindowsOutput, error) {
  1289  	req, out := c.DescribeLocationFsxWindowsRequest(input)
  1290  	return out, req.Send()
  1291  }
  1292  
  1293  // DescribeLocationFsxWindowsWithContext is the same as DescribeLocationFsxWindows with the addition of
  1294  // the ability to pass a context and additional request options.
  1295  //
  1296  // See DescribeLocationFsxWindows for details on how to use this API operation.
  1297  //
  1298  // The context must be non-nil and will be used for request cancellation. If
  1299  // the context is nil a panic will occur. In the future the SDK may create
  1300  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1301  // for more information on using Contexts.
  1302  func (c *DataSync) DescribeLocationFsxWindowsWithContext(ctx aws.Context, input *DescribeLocationFsxWindowsInput, opts ...request.Option) (*DescribeLocationFsxWindowsOutput, error) {
  1303  	req, out := c.DescribeLocationFsxWindowsRequest(input)
  1304  	req.SetContext(ctx)
  1305  	req.ApplyOptions(opts...)
  1306  	return out, req.Send()
  1307  }
  1308  
  1309  const opDescribeLocationNfs = "DescribeLocationNfs"
  1310  
  1311  // DescribeLocationNfsRequest generates a "aws/request.Request" representing the
  1312  // client's request for the DescribeLocationNfs operation. The "output" return
  1313  // value will be populated with the request's response once the request completes
  1314  // successfully.
  1315  //
  1316  // Use "Send" method on the returned Request to send the API call to the service.
  1317  // the "output" return value is not valid until after Send returns without error.
  1318  //
  1319  // See DescribeLocationNfs for more information on using the DescribeLocationNfs
  1320  // API call, and error handling.
  1321  //
  1322  // This method is useful when you want to inject custom logic or configuration
  1323  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1324  //
  1325  //
  1326  //    // Example sending a request using the DescribeLocationNfsRequest method.
  1327  //    req, resp := client.DescribeLocationNfsRequest(params)
  1328  //
  1329  //    err := req.Send()
  1330  //    if err == nil { // resp is now filled
  1331  //        fmt.Println(resp)
  1332  //    }
  1333  //
  1334  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationNfs
  1335  func (c *DataSync) DescribeLocationNfsRequest(input *DescribeLocationNfsInput) (req *request.Request, output *DescribeLocationNfsOutput) {
  1336  	op := &request.Operation{
  1337  		Name:       opDescribeLocationNfs,
  1338  		HTTPMethod: "POST",
  1339  		HTTPPath:   "/",
  1340  	}
  1341  
  1342  	if input == nil {
  1343  		input = &DescribeLocationNfsInput{}
  1344  	}
  1345  
  1346  	output = &DescribeLocationNfsOutput{}
  1347  	req = c.newRequest(op, input, output)
  1348  	return
  1349  }
  1350  
  1351  // DescribeLocationNfs API operation for AWS DataSync.
  1352  //
  1353  // Returns metadata, such as the path information, about an NFS location.
  1354  //
  1355  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1356  // with awserr.Error's Code and Message methods to get detailed information about
  1357  // the error.
  1358  //
  1359  // See the AWS API reference guide for AWS DataSync's
  1360  // API operation DescribeLocationNfs for usage and error information.
  1361  //
  1362  // Returned Error Types:
  1363  //   * InvalidRequestException
  1364  //   This exception is thrown when the client submits a malformed request.
  1365  //
  1366  //   * InternalException
  1367  //   This exception is thrown when an error occurs in the DataSync service.
  1368  //
  1369  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationNfs
  1370  func (c *DataSync) DescribeLocationNfs(input *DescribeLocationNfsInput) (*DescribeLocationNfsOutput, error) {
  1371  	req, out := c.DescribeLocationNfsRequest(input)
  1372  	return out, req.Send()
  1373  }
  1374  
  1375  // DescribeLocationNfsWithContext is the same as DescribeLocationNfs with the addition of
  1376  // the ability to pass a context and additional request options.
  1377  //
  1378  // See DescribeLocationNfs for details on how to use this API operation.
  1379  //
  1380  // The context must be non-nil and will be used for request cancellation. If
  1381  // the context is nil a panic will occur. In the future the SDK may create
  1382  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1383  // for more information on using Contexts.
  1384  func (c *DataSync) DescribeLocationNfsWithContext(ctx aws.Context, input *DescribeLocationNfsInput, opts ...request.Option) (*DescribeLocationNfsOutput, error) {
  1385  	req, out := c.DescribeLocationNfsRequest(input)
  1386  	req.SetContext(ctx)
  1387  	req.ApplyOptions(opts...)
  1388  	return out, req.Send()
  1389  }
  1390  
  1391  const opDescribeLocationObjectStorage = "DescribeLocationObjectStorage"
  1392  
  1393  // DescribeLocationObjectStorageRequest generates a "aws/request.Request" representing the
  1394  // client's request for the DescribeLocationObjectStorage operation. The "output" return
  1395  // value will be populated with the request's response once the request completes
  1396  // successfully.
  1397  //
  1398  // Use "Send" method on the returned Request to send the API call to the service.
  1399  // the "output" return value is not valid until after Send returns without error.
  1400  //
  1401  // See DescribeLocationObjectStorage for more information on using the DescribeLocationObjectStorage
  1402  // API call, and error handling.
  1403  //
  1404  // This method is useful when you want to inject custom logic or configuration
  1405  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1406  //
  1407  //
  1408  //    // Example sending a request using the DescribeLocationObjectStorageRequest method.
  1409  //    req, resp := client.DescribeLocationObjectStorageRequest(params)
  1410  //
  1411  //    err := req.Send()
  1412  //    if err == nil { // resp is now filled
  1413  //        fmt.Println(resp)
  1414  //    }
  1415  //
  1416  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationObjectStorage
  1417  func (c *DataSync) DescribeLocationObjectStorageRequest(input *DescribeLocationObjectStorageInput) (req *request.Request, output *DescribeLocationObjectStorageOutput) {
  1418  	op := &request.Operation{
  1419  		Name:       opDescribeLocationObjectStorage,
  1420  		HTTPMethod: "POST",
  1421  		HTTPPath:   "/",
  1422  	}
  1423  
  1424  	if input == nil {
  1425  		input = &DescribeLocationObjectStorageInput{}
  1426  	}
  1427  
  1428  	output = &DescribeLocationObjectStorageOutput{}
  1429  	req = c.newRequest(op, input, output)
  1430  	return
  1431  }
  1432  
  1433  // DescribeLocationObjectStorage API operation for AWS DataSync.
  1434  //
  1435  // Returns metadata about a self-managed object storage server location. For
  1436  // more information about self-managed object storage locations, see Creating
  1437  // a location for object storage (https://docs.aws.amazon.com/datasync/latest/userguide/create-object-location.html).
  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 AWS DataSync's
  1444  // API operation DescribeLocationObjectStorage for usage and error information.
  1445  //
  1446  // Returned Error Types:
  1447  //   * InvalidRequestException
  1448  //   This exception is thrown when the client submits a malformed request.
  1449  //
  1450  //   * InternalException
  1451  //   This exception is thrown when an error occurs in the DataSync service.
  1452  //
  1453  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationObjectStorage
  1454  func (c *DataSync) DescribeLocationObjectStorage(input *DescribeLocationObjectStorageInput) (*DescribeLocationObjectStorageOutput, error) {
  1455  	req, out := c.DescribeLocationObjectStorageRequest(input)
  1456  	return out, req.Send()
  1457  }
  1458  
  1459  // DescribeLocationObjectStorageWithContext is the same as DescribeLocationObjectStorage with the addition of
  1460  // the ability to pass a context and additional request options.
  1461  //
  1462  // See DescribeLocationObjectStorage for details on how to use this API operation.
  1463  //
  1464  // The context must be non-nil and will be used for request cancellation. If
  1465  // the context is nil a panic will occur. In the future the SDK may create
  1466  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1467  // for more information on using Contexts.
  1468  func (c *DataSync) DescribeLocationObjectStorageWithContext(ctx aws.Context, input *DescribeLocationObjectStorageInput, opts ...request.Option) (*DescribeLocationObjectStorageOutput, error) {
  1469  	req, out := c.DescribeLocationObjectStorageRequest(input)
  1470  	req.SetContext(ctx)
  1471  	req.ApplyOptions(opts...)
  1472  	return out, req.Send()
  1473  }
  1474  
  1475  const opDescribeLocationS3 = "DescribeLocationS3"
  1476  
  1477  // DescribeLocationS3Request generates a "aws/request.Request" representing the
  1478  // client's request for the DescribeLocationS3 operation. The "output" return
  1479  // value will be populated with the request's response once the request completes
  1480  // successfully.
  1481  //
  1482  // Use "Send" method on the returned Request to send the API call to the service.
  1483  // the "output" return value is not valid until after Send returns without error.
  1484  //
  1485  // See DescribeLocationS3 for more information on using the DescribeLocationS3
  1486  // API call, and error handling.
  1487  //
  1488  // This method is useful when you want to inject custom logic or configuration
  1489  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1490  //
  1491  //
  1492  //    // Example sending a request using the DescribeLocationS3Request method.
  1493  //    req, resp := client.DescribeLocationS3Request(params)
  1494  //
  1495  //    err := req.Send()
  1496  //    if err == nil { // resp is now filled
  1497  //        fmt.Println(resp)
  1498  //    }
  1499  //
  1500  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationS3
  1501  func (c *DataSync) DescribeLocationS3Request(input *DescribeLocationS3Input) (req *request.Request, output *DescribeLocationS3Output) {
  1502  	op := &request.Operation{
  1503  		Name:       opDescribeLocationS3,
  1504  		HTTPMethod: "POST",
  1505  		HTTPPath:   "/",
  1506  	}
  1507  
  1508  	if input == nil {
  1509  		input = &DescribeLocationS3Input{}
  1510  	}
  1511  
  1512  	output = &DescribeLocationS3Output{}
  1513  	req = c.newRequest(op, input, output)
  1514  	return
  1515  }
  1516  
  1517  // DescribeLocationS3 API operation for AWS DataSync.
  1518  //
  1519  // Returns metadata, such as bucket name, about an Amazon S3 bucket location.
  1520  //
  1521  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1522  // with awserr.Error's Code and Message methods to get detailed information about
  1523  // the error.
  1524  //
  1525  // See the AWS API reference guide for AWS DataSync's
  1526  // API operation DescribeLocationS3 for usage and error information.
  1527  //
  1528  // Returned Error Types:
  1529  //   * InvalidRequestException
  1530  //   This exception is thrown when the client submits a malformed request.
  1531  //
  1532  //   * InternalException
  1533  //   This exception is thrown when an error occurs in the DataSync service.
  1534  //
  1535  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationS3
  1536  func (c *DataSync) DescribeLocationS3(input *DescribeLocationS3Input) (*DescribeLocationS3Output, error) {
  1537  	req, out := c.DescribeLocationS3Request(input)
  1538  	return out, req.Send()
  1539  }
  1540  
  1541  // DescribeLocationS3WithContext is the same as DescribeLocationS3 with the addition of
  1542  // the ability to pass a context and additional request options.
  1543  //
  1544  // See DescribeLocationS3 for details on how to use this API operation.
  1545  //
  1546  // The context must be non-nil and will be used for request cancellation. If
  1547  // the context is nil a panic will occur. In the future the SDK may create
  1548  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1549  // for more information on using Contexts.
  1550  func (c *DataSync) DescribeLocationS3WithContext(ctx aws.Context, input *DescribeLocationS3Input, opts ...request.Option) (*DescribeLocationS3Output, error) {
  1551  	req, out := c.DescribeLocationS3Request(input)
  1552  	req.SetContext(ctx)
  1553  	req.ApplyOptions(opts...)
  1554  	return out, req.Send()
  1555  }
  1556  
  1557  const opDescribeLocationSmb = "DescribeLocationSmb"
  1558  
  1559  // DescribeLocationSmbRequest generates a "aws/request.Request" representing the
  1560  // client's request for the DescribeLocationSmb operation. The "output" return
  1561  // value will be populated with the request's response once the request completes
  1562  // successfully.
  1563  //
  1564  // Use "Send" method on the returned Request to send the API call to the service.
  1565  // the "output" return value is not valid until after Send returns without error.
  1566  //
  1567  // See DescribeLocationSmb for more information on using the DescribeLocationSmb
  1568  // API call, and error handling.
  1569  //
  1570  // This method is useful when you want to inject custom logic or configuration
  1571  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1572  //
  1573  //
  1574  //    // Example sending a request using the DescribeLocationSmbRequest method.
  1575  //    req, resp := client.DescribeLocationSmbRequest(params)
  1576  //
  1577  //    err := req.Send()
  1578  //    if err == nil { // resp is now filled
  1579  //        fmt.Println(resp)
  1580  //    }
  1581  //
  1582  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationSmb
  1583  func (c *DataSync) DescribeLocationSmbRequest(input *DescribeLocationSmbInput) (req *request.Request, output *DescribeLocationSmbOutput) {
  1584  	op := &request.Operation{
  1585  		Name:       opDescribeLocationSmb,
  1586  		HTTPMethod: "POST",
  1587  		HTTPPath:   "/",
  1588  	}
  1589  
  1590  	if input == nil {
  1591  		input = &DescribeLocationSmbInput{}
  1592  	}
  1593  
  1594  	output = &DescribeLocationSmbOutput{}
  1595  	req = c.newRequest(op, input, output)
  1596  	return
  1597  }
  1598  
  1599  // DescribeLocationSmb API operation for AWS DataSync.
  1600  //
  1601  // Returns metadata, such as the path and user information about an SMB location.
  1602  //
  1603  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1604  // with awserr.Error's Code and Message methods to get detailed information about
  1605  // the error.
  1606  //
  1607  // See the AWS API reference guide for AWS DataSync's
  1608  // API operation DescribeLocationSmb for usage and error information.
  1609  //
  1610  // Returned Error Types:
  1611  //   * InvalidRequestException
  1612  //   This exception is thrown when the client submits a malformed request.
  1613  //
  1614  //   * InternalException
  1615  //   This exception is thrown when an error occurs in the DataSync service.
  1616  //
  1617  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationSmb
  1618  func (c *DataSync) DescribeLocationSmb(input *DescribeLocationSmbInput) (*DescribeLocationSmbOutput, error) {
  1619  	req, out := c.DescribeLocationSmbRequest(input)
  1620  	return out, req.Send()
  1621  }
  1622  
  1623  // DescribeLocationSmbWithContext is the same as DescribeLocationSmb with the addition of
  1624  // the ability to pass a context and additional request options.
  1625  //
  1626  // See DescribeLocationSmb for details on how to use this API operation.
  1627  //
  1628  // The context must be non-nil and will be used for request cancellation. If
  1629  // the context is nil a panic will occur. In the future the SDK may create
  1630  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1631  // for more information on using Contexts.
  1632  func (c *DataSync) DescribeLocationSmbWithContext(ctx aws.Context, input *DescribeLocationSmbInput, opts ...request.Option) (*DescribeLocationSmbOutput, error) {
  1633  	req, out := c.DescribeLocationSmbRequest(input)
  1634  	req.SetContext(ctx)
  1635  	req.ApplyOptions(opts...)
  1636  	return out, req.Send()
  1637  }
  1638  
  1639  const opDescribeTask = "DescribeTask"
  1640  
  1641  // DescribeTaskRequest generates a "aws/request.Request" representing the
  1642  // client's request for the DescribeTask operation. The "output" return
  1643  // value will be populated with the request's response once the request completes
  1644  // successfully.
  1645  //
  1646  // Use "Send" method on the returned Request to send the API call to the service.
  1647  // the "output" return value is not valid until after Send returns without error.
  1648  //
  1649  // See DescribeTask for more information on using the DescribeTask
  1650  // API call, and error handling.
  1651  //
  1652  // This method is useful when you want to inject custom logic or configuration
  1653  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1654  //
  1655  //
  1656  //    // Example sending a request using the DescribeTaskRequest method.
  1657  //    req, resp := client.DescribeTaskRequest(params)
  1658  //
  1659  //    err := req.Send()
  1660  //    if err == nil { // resp is now filled
  1661  //        fmt.Println(resp)
  1662  //    }
  1663  //
  1664  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeTask
  1665  func (c *DataSync) DescribeTaskRequest(input *DescribeTaskInput) (req *request.Request, output *DescribeTaskOutput) {
  1666  	op := &request.Operation{
  1667  		Name:       opDescribeTask,
  1668  		HTTPMethod: "POST",
  1669  		HTTPPath:   "/",
  1670  	}
  1671  
  1672  	if input == nil {
  1673  		input = &DescribeTaskInput{}
  1674  	}
  1675  
  1676  	output = &DescribeTaskOutput{}
  1677  	req = c.newRequest(op, input, output)
  1678  	return
  1679  }
  1680  
  1681  // DescribeTask API operation for AWS DataSync.
  1682  //
  1683  // Returns metadata about a task.
  1684  //
  1685  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1686  // with awserr.Error's Code and Message methods to get detailed information about
  1687  // the error.
  1688  //
  1689  // See the AWS API reference guide for AWS DataSync's
  1690  // API operation DescribeTask for usage and error information.
  1691  //
  1692  // Returned Error Types:
  1693  //   * InvalidRequestException
  1694  //   This exception is thrown when the client submits a malformed request.
  1695  //
  1696  //   * InternalException
  1697  //   This exception is thrown when an error occurs in the DataSync service.
  1698  //
  1699  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeTask
  1700  func (c *DataSync) DescribeTask(input *DescribeTaskInput) (*DescribeTaskOutput, error) {
  1701  	req, out := c.DescribeTaskRequest(input)
  1702  	return out, req.Send()
  1703  }
  1704  
  1705  // DescribeTaskWithContext is the same as DescribeTask with the addition of
  1706  // the ability to pass a context and additional request options.
  1707  //
  1708  // See DescribeTask for details on how to use this API operation.
  1709  //
  1710  // The context must be non-nil and will be used for request cancellation. If
  1711  // the context is nil a panic will occur. In the future the SDK may create
  1712  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1713  // for more information on using Contexts.
  1714  func (c *DataSync) DescribeTaskWithContext(ctx aws.Context, input *DescribeTaskInput, opts ...request.Option) (*DescribeTaskOutput, error) {
  1715  	req, out := c.DescribeTaskRequest(input)
  1716  	req.SetContext(ctx)
  1717  	req.ApplyOptions(opts...)
  1718  	return out, req.Send()
  1719  }
  1720  
  1721  const opDescribeTaskExecution = "DescribeTaskExecution"
  1722  
  1723  // DescribeTaskExecutionRequest generates a "aws/request.Request" representing the
  1724  // client's request for the DescribeTaskExecution operation. The "output" return
  1725  // value will be populated with the request's response once the request completes
  1726  // successfully.
  1727  //
  1728  // Use "Send" method on the returned Request to send the API call to the service.
  1729  // the "output" return value is not valid until after Send returns without error.
  1730  //
  1731  // See DescribeTaskExecution for more information on using the DescribeTaskExecution
  1732  // API call, and error handling.
  1733  //
  1734  // This method is useful when you want to inject custom logic or configuration
  1735  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1736  //
  1737  //
  1738  //    // Example sending a request using the DescribeTaskExecutionRequest method.
  1739  //    req, resp := client.DescribeTaskExecutionRequest(params)
  1740  //
  1741  //    err := req.Send()
  1742  //    if err == nil { // resp is now filled
  1743  //        fmt.Println(resp)
  1744  //    }
  1745  //
  1746  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeTaskExecution
  1747  func (c *DataSync) DescribeTaskExecutionRequest(input *DescribeTaskExecutionInput) (req *request.Request, output *DescribeTaskExecutionOutput) {
  1748  	op := &request.Operation{
  1749  		Name:       opDescribeTaskExecution,
  1750  		HTTPMethod: "POST",
  1751  		HTTPPath:   "/",
  1752  	}
  1753  
  1754  	if input == nil {
  1755  		input = &DescribeTaskExecutionInput{}
  1756  	}
  1757  
  1758  	output = &DescribeTaskExecutionOutput{}
  1759  	req = c.newRequest(op, input, output)
  1760  	return
  1761  }
  1762  
  1763  // DescribeTaskExecution API operation for AWS DataSync.
  1764  //
  1765  // Returns detailed metadata about a task that is being executed.
  1766  //
  1767  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1768  // with awserr.Error's Code and Message methods to get detailed information about
  1769  // the error.
  1770  //
  1771  // See the AWS API reference guide for AWS DataSync's
  1772  // API operation DescribeTaskExecution for usage and error information.
  1773  //
  1774  // Returned Error Types:
  1775  //   * InvalidRequestException
  1776  //   This exception is thrown when the client submits a malformed request.
  1777  //
  1778  //   * InternalException
  1779  //   This exception is thrown when an error occurs in the DataSync service.
  1780  //
  1781  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeTaskExecution
  1782  func (c *DataSync) DescribeTaskExecution(input *DescribeTaskExecutionInput) (*DescribeTaskExecutionOutput, error) {
  1783  	req, out := c.DescribeTaskExecutionRequest(input)
  1784  	return out, req.Send()
  1785  }
  1786  
  1787  // DescribeTaskExecutionWithContext is the same as DescribeTaskExecution with the addition of
  1788  // the ability to pass a context and additional request options.
  1789  //
  1790  // See DescribeTaskExecution for details on how to use this API operation.
  1791  //
  1792  // The context must be non-nil and will be used for request cancellation. If
  1793  // the context is nil a panic will occur. In the future the SDK may create
  1794  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1795  // for more information on using Contexts.
  1796  func (c *DataSync) DescribeTaskExecutionWithContext(ctx aws.Context, input *DescribeTaskExecutionInput, opts ...request.Option) (*DescribeTaskExecutionOutput, error) {
  1797  	req, out := c.DescribeTaskExecutionRequest(input)
  1798  	req.SetContext(ctx)
  1799  	req.ApplyOptions(opts...)
  1800  	return out, req.Send()
  1801  }
  1802  
  1803  const opListAgents = "ListAgents"
  1804  
  1805  // ListAgentsRequest generates a "aws/request.Request" representing the
  1806  // client's request for the ListAgents operation. The "output" return
  1807  // value will be populated with the request's response once the request completes
  1808  // successfully.
  1809  //
  1810  // Use "Send" method on the returned Request to send the API call to the service.
  1811  // the "output" return value is not valid until after Send returns without error.
  1812  //
  1813  // See ListAgents for more information on using the ListAgents
  1814  // API call, and error handling.
  1815  //
  1816  // This method is useful when you want to inject custom logic or configuration
  1817  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1818  //
  1819  //
  1820  //    // Example sending a request using the ListAgentsRequest method.
  1821  //    req, resp := client.ListAgentsRequest(params)
  1822  //
  1823  //    err := req.Send()
  1824  //    if err == nil { // resp is now filled
  1825  //        fmt.Println(resp)
  1826  //    }
  1827  //
  1828  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListAgents
  1829  func (c *DataSync) ListAgentsRequest(input *ListAgentsInput) (req *request.Request, output *ListAgentsOutput) {
  1830  	op := &request.Operation{
  1831  		Name:       opListAgents,
  1832  		HTTPMethod: "POST",
  1833  		HTTPPath:   "/",
  1834  		Paginator: &request.Paginator{
  1835  			InputTokens:     []string{"NextToken"},
  1836  			OutputTokens:    []string{"NextToken"},
  1837  			LimitToken:      "MaxResults",
  1838  			TruncationToken: "",
  1839  		},
  1840  	}
  1841  
  1842  	if input == nil {
  1843  		input = &ListAgentsInput{}
  1844  	}
  1845  
  1846  	output = &ListAgentsOutput{}
  1847  	req = c.newRequest(op, input, output)
  1848  	return
  1849  }
  1850  
  1851  // ListAgents API operation for AWS DataSync.
  1852  //
  1853  // Returns a list of agents owned by an Amazon Web Services account in the Amazon
  1854  // Web Services Region specified in the request. The returned list is ordered
  1855  // by agent Amazon Resource Name (ARN).
  1856  //
  1857  // By default, this operation returns a maximum of 100 agents. This operation
  1858  // supports pagination that enables you to optionally reduce the number of agents
  1859  // returned in a response.
  1860  //
  1861  // If you have more agents than are returned in a response (that is, the response
  1862  // returns only a truncated list of your agents), the response contains a marker
  1863  // that you can specify in your next request to fetch the next page of agents.
  1864  //
  1865  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1866  // with awserr.Error's Code and Message methods to get detailed information about
  1867  // the error.
  1868  //
  1869  // See the AWS API reference guide for AWS DataSync's
  1870  // API operation ListAgents for usage and error information.
  1871  //
  1872  // Returned Error Types:
  1873  //   * InvalidRequestException
  1874  //   This exception is thrown when the client submits a malformed request.
  1875  //
  1876  //   * InternalException
  1877  //   This exception is thrown when an error occurs in the DataSync service.
  1878  //
  1879  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListAgents
  1880  func (c *DataSync) ListAgents(input *ListAgentsInput) (*ListAgentsOutput, error) {
  1881  	req, out := c.ListAgentsRequest(input)
  1882  	return out, req.Send()
  1883  }
  1884  
  1885  // ListAgentsWithContext is the same as ListAgents with the addition of
  1886  // the ability to pass a context and additional request options.
  1887  //
  1888  // See ListAgents for details on how to use this API operation.
  1889  //
  1890  // The context must be non-nil and will be used for request cancellation. If
  1891  // the context is nil a panic will occur. In the future the SDK may create
  1892  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1893  // for more information on using Contexts.
  1894  func (c *DataSync) ListAgentsWithContext(ctx aws.Context, input *ListAgentsInput, opts ...request.Option) (*ListAgentsOutput, error) {
  1895  	req, out := c.ListAgentsRequest(input)
  1896  	req.SetContext(ctx)
  1897  	req.ApplyOptions(opts...)
  1898  	return out, req.Send()
  1899  }
  1900  
  1901  // ListAgentsPages iterates over the pages of a ListAgents operation,
  1902  // calling the "fn" function with the response data for each page. To stop
  1903  // iterating, return false from the fn function.
  1904  //
  1905  // See ListAgents method for more information on how to use this operation.
  1906  //
  1907  // Note: This operation can generate multiple requests to a service.
  1908  //
  1909  //    // Example iterating over at most 3 pages of a ListAgents operation.
  1910  //    pageNum := 0
  1911  //    err := client.ListAgentsPages(params,
  1912  //        func(page *datasync.ListAgentsOutput, lastPage bool) bool {
  1913  //            pageNum++
  1914  //            fmt.Println(page)
  1915  //            return pageNum <= 3
  1916  //        })
  1917  //
  1918  func (c *DataSync) ListAgentsPages(input *ListAgentsInput, fn func(*ListAgentsOutput, bool) bool) error {
  1919  	return c.ListAgentsPagesWithContext(aws.BackgroundContext(), input, fn)
  1920  }
  1921  
  1922  // ListAgentsPagesWithContext same as ListAgentsPages except
  1923  // it takes a Context and allows setting request options on the pages.
  1924  //
  1925  // The context must be non-nil and will be used for request cancellation. If
  1926  // the context is nil a panic will occur. In the future the SDK may create
  1927  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1928  // for more information on using Contexts.
  1929  func (c *DataSync) ListAgentsPagesWithContext(ctx aws.Context, input *ListAgentsInput, fn func(*ListAgentsOutput, bool) bool, opts ...request.Option) error {
  1930  	p := request.Pagination{
  1931  		NewRequest: func() (*request.Request, error) {
  1932  			var inCpy *ListAgentsInput
  1933  			if input != nil {
  1934  				tmp := *input
  1935  				inCpy = &tmp
  1936  			}
  1937  			req, _ := c.ListAgentsRequest(inCpy)
  1938  			req.SetContext(ctx)
  1939  			req.ApplyOptions(opts...)
  1940  			return req, nil
  1941  		},
  1942  	}
  1943  
  1944  	for p.Next() {
  1945  		if !fn(p.Page().(*ListAgentsOutput), !p.HasNextPage()) {
  1946  			break
  1947  		}
  1948  	}
  1949  
  1950  	return p.Err()
  1951  }
  1952  
  1953  const opListLocations = "ListLocations"
  1954  
  1955  // ListLocationsRequest generates a "aws/request.Request" representing the
  1956  // client's request for the ListLocations operation. The "output" return
  1957  // value will be populated with the request's response once the request completes
  1958  // successfully.
  1959  //
  1960  // Use "Send" method on the returned Request to send the API call to the service.
  1961  // the "output" return value is not valid until after Send returns without error.
  1962  //
  1963  // See ListLocations for more information on using the ListLocations
  1964  // API call, and error handling.
  1965  //
  1966  // This method is useful when you want to inject custom logic or configuration
  1967  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1968  //
  1969  //
  1970  //    // Example sending a request using the ListLocationsRequest method.
  1971  //    req, resp := client.ListLocationsRequest(params)
  1972  //
  1973  //    err := req.Send()
  1974  //    if err == nil { // resp is now filled
  1975  //        fmt.Println(resp)
  1976  //    }
  1977  //
  1978  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListLocations
  1979  func (c *DataSync) ListLocationsRequest(input *ListLocationsInput) (req *request.Request, output *ListLocationsOutput) {
  1980  	op := &request.Operation{
  1981  		Name:       opListLocations,
  1982  		HTTPMethod: "POST",
  1983  		HTTPPath:   "/",
  1984  		Paginator: &request.Paginator{
  1985  			InputTokens:     []string{"NextToken"},
  1986  			OutputTokens:    []string{"NextToken"},
  1987  			LimitToken:      "MaxResults",
  1988  			TruncationToken: "",
  1989  		},
  1990  	}
  1991  
  1992  	if input == nil {
  1993  		input = &ListLocationsInput{}
  1994  	}
  1995  
  1996  	output = &ListLocationsOutput{}
  1997  	req = c.newRequest(op, input, output)
  1998  	return
  1999  }
  2000  
  2001  // ListLocations API operation for AWS DataSync.
  2002  //
  2003  // Returns a list of source and destination locations.
  2004  //
  2005  // If you have more locations than are returned in a response (that is, the
  2006  // response returns only a truncated list of your agents), the response contains
  2007  // a token that you can specify in your next request to fetch the next page
  2008  // of locations.
  2009  //
  2010  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2011  // with awserr.Error's Code and Message methods to get detailed information about
  2012  // the error.
  2013  //
  2014  // See the AWS API reference guide for AWS DataSync's
  2015  // API operation ListLocations for usage and error information.
  2016  //
  2017  // Returned Error Types:
  2018  //   * InvalidRequestException
  2019  //   This exception is thrown when the client submits a malformed request.
  2020  //
  2021  //   * InternalException
  2022  //   This exception is thrown when an error occurs in the DataSync service.
  2023  //
  2024  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListLocations
  2025  func (c *DataSync) ListLocations(input *ListLocationsInput) (*ListLocationsOutput, error) {
  2026  	req, out := c.ListLocationsRequest(input)
  2027  	return out, req.Send()
  2028  }
  2029  
  2030  // ListLocationsWithContext is the same as ListLocations with the addition of
  2031  // the ability to pass a context and additional request options.
  2032  //
  2033  // See ListLocations for details on how to use this API operation.
  2034  //
  2035  // The context must be non-nil and will be used for request cancellation. If
  2036  // the context is nil a panic will occur. In the future the SDK may create
  2037  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2038  // for more information on using Contexts.
  2039  func (c *DataSync) ListLocationsWithContext(ctx aws.Context, input *ListLocationsInput, opts ...request.Option) (*ListLocationsOutput, error) {
  2040  	req, out := c.ListLocationsRequest(input)
  2041  	req.SetContext(ctx)
  2042  	req.ApplyOptions(opts...)
  2043  	return out, req.Send()
  2044  }
  2045  
  2046  // ListLocationsPages iterates over the pages of a ListLocations operation,
  2047  // calling the "fn" function with the response data for each page. To stop
  2048  // iterating, return false from the fn function.
  2049  //
  2050  // See ListLocations method for more information on how to use this operation.
  2051  //
  2052  // Note: This operation can generate multiple requests to a service.
  2053  //
  2054  //    // Example iterating over at most 3 pages of a ListLocations operation.
  2055  //    pageNum := 0
  2056  //    err := client.ListLocationsPages(params,
  2057  //        func(page *datasync.ListLocationsOutput, lastPage bool) bool {
  2058  //            pageNum++
  2059  //            fmt.Println(page)
  2060  //            return pageNum <= 3
  2061  //        })
  2062  //
  2063  func (c *DataSync) ListLocationsPages(input *ListLocationsInput, fn func(*ListLocationsOutput, bool) bool) error {
  2064  	return c.ListLocationsPagesWithContext(aws.BackgroundContext(), input, fn)
  2065  }
  2066  
  2067  // ListLocationsPagesWithContext same as ListLocationsPages except
  2068  // it takes a Context and allows setting request options on the pages.
  2069  //
  2070  // The context must be non-nil and will be used for request cancellation. If
  2071  // the context is nil a panic will occur. In the future the SDK may create
  2072  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2073  // for more information on using Contexts.
  2074  func (c *DataSync) ListLocationsPagesWithContext(ctx aws.Context, input *ListLocationsInput, fn func(*ListLocationsOutput, bool) bool, opts ...request.Option) error {
  2075  	p := request.Pagination{
  2076  		NewRequest: func() (*request.Request, error) {
  2077  			var inCpy *ListLocationsInput
  2078  			if input != nil {
  2079  				tmp := *input
  2080  				inCpy = &tmp
  2081  			}
  2082  			req, _ := c.ListLocationsRequest(inCpy)
  2083  			req.SetContext(ctx)
  2084  			req.ApplyOptions(opts...)
  2085  			return req, nil
  2086  		},
  2087  	}
  2088  
  2089  	for p.Next() {
  2090  		if !fn(p.Page().(*ListLocationsOutput), !p.HasNextPage()) {
  2091  			break
  2092  		}
  2093  	}
  2094  
  2095  	return p.Err()
  2096  }
  2097  
  2098  const opListTagsForResource = "ListTagsForResource"
  2099  
  2100  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  2101  // client's request for the ListTagsForResource operation. The "output" return
  2102  // value will be populated with the request's response once the request completes
  2103  // successfully.
  2104  //
  2105  // Use "Send" method on the returned Request to send the API call to the service.
  2106  // the "output" return value is not valid until after Send returns without error.
  2107  //
  2108  // See ListTagsForResource for more information on using the ListTagsForResource
  2109  // API call, and error handling.
  2110  //
  2111  // This method is useful when you want to inject custom logic or configuration
  2112  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2113  //
  2114  //
  2115  //    // Example sending a request using the ListTagsForResourceRequest method.
  2116  //    req, resp := client.ListTagsForResourceRequest(params)
  2117  //
  2118  //    err := req.Send()
  2119  //    if err == nil { // resp is now filled
  2120  //        fmt.Println(resp)
  2121  //    }
  2122  //
  2123  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTagsForResource
  2124  func (c *DataSync) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  2125  	op := &request.Operation{
  2126  		Name:       opListTagsForResource,
  2127  		HTTPMethod: "POST",
  2128  		HTTPPath:   "/",
  2129  		Paginator: &request.Paginator{
  2130  			InputTokens:     []string{"NextToken"},
  2131  			OutputTokens:    []string{"NextToken"},
  2132  			LimitToken:      "MaxResults",
  2133  			TruncationToken: "",
  2134  		},
  2135  	}
  2136  
  2137  	if input == nil {
  2138  		input = &ListTagsForResourceInput{}
  2139  	}
  2140  
  2141  	output = &ListTagsForResourceOutput{}
  2142  	req = c.newRequest(op, input, output)
  2143  	return
  2144  }
  2145  
  2146  // ListTagsForResource API operation for AWS DataSync.
  2147  //
  2148  // Returns all the tags associated with a specified resource.
  2149  //
  2150  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2151  // with awserr.Error's Code and Message methods to get detailed information about
  2152  // the error.
  2153  //
  2154  // See the AWS API reference guide for AWS DataSync's
  2155  // API operation ListTagsForResource for usage and error information.
  2156  //
  2157  // Returned Error Types:
  2158  //   * InvalidRequestException
  2159  //   This exception is thrown when the client submits a malformed request.
  2160  //
  2161  //   * InternalException
  2162  //   This exception is thrown when an error occurs in the DataSync service.
  2163  //
  2164  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTagsForResource
  2165  func (c *DataSync) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  2166  	req, out := c.ListTagsForResourceRequest(input)
  2167  	return out, req.Send()
  2168  }
  2169  
  2170  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  2171  // the ability to pass a context and additional request options.
  2172  //
  2173  // See ListTagsForResource for details on how to use this API operation.
  2174  //
  2175  // The context must be non-nil and will be used for request cancellation. If
  2176  // the context is nil a panic will occur. In the future the SDK may create
  2177  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2178  // for more information on using Contexts.
  2179  func (c *DataSync) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  2180  	req, out := c.ListTagsForResourceRequest(input)
  2181  	req.SetContext(ctx)
  2182  	req.ApplyOptions(opts...)
  2183  	return out, req.Send()
  2184  }
  2185  
  2186  // ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation,
  2187  // calling the "fn" function with the response data for each page. To stop
  2188  // iterating, return false from the fn function.
  2189  //
  2190  // See ListTagsForResource method for more information on how to use this operation.
  2191  //
  2192  // Note: This operation can generate multiple requests to a service.
  2193  //
  2194  //    // Example iterating over at most 3 pages of a ListTagsForResource operation.
  2195  //    pageNum := 0
  2196  //    err := client.ListTagsForResourcePages(params,
  2197  //        func(page *datasync.ListTagsForResourceOutput, lastPage bool) bool {
  2198  //            pageNum++
  2199  //            fmt.Println(page)
  2200  //            return pageNum <= 3
  2201  //        })
  2202  //
  2203  func (c *DataSync) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error {
  2204  	return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn)
  2205  }
  2206  
  2207  // ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except
  2208  // it takes a Context and allows setting request options on the pages.
  2209  //
  2210  // The context must be non-nil and will be used for request cancellation. If
  2211  // the context is nil a panic will occur. In the future the SDK may create
  2212  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2213  // for more information on using Contexts.
  2214  func (c *DataSync) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error {
  2215  	p := request.Pagination{
  2216  		NewRequest: func() (*request.Request, error) {
  2217  			var inCpy *ListTagsForResourceInput
  2218  			if input != nil {
  2219  				tmp := *input
  2220  				inCpy = &tmp
  2221  			}
  2222  			req, _ := c.ListTagsForResourceRequest(inCpy)
  2223  			req.SetContext(ctx)
  2224  			req.ApplyOptions(opts...)
  2225  			return req, nil
  2226  		},
  2227  	}
  2228  
  2229  	for p.Next() {
  2230  		if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) {
  2231  			break
  2232  		}
  2233  	}
  2234  
  2235  	return p.Err()
  2236  }
  2237  
  2238  const opListTaskExecutions = "ListTaskExecutions"
  2239  
  2240  // ListTaskExecutionsRequest generates a "aws/request.Request" representing the
  2241  // client's request for the ListTaskExecutions operation. The "output" return
  2242  // value will be populated with the request's response once the request completes
  2243  // successfully.
  2244  //
  2245  // Use "Send" method on the returned Request to send the API call to the service.
  2246  // the "output" return value is not valid until after Send returns without error.
  2247  //
  2248  // See ListTaskExecutions for more information on using the ListTaskExecutions
  2249  // API call, and error handling.
  2250  //
  2251  // This method is useful when you want to inject custom logic or configuration
  2252  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2253  //
  2254  //
  2255  //    // Example sending a request using the ListTaskExecutionsRequest method.
  2256  //    req, resp := client.ListTaskExecutionsRequest(params)
  2257  //
  2258  //    err := req.Send()
  2259  //    if err == nil { // resp is now filled
  2260  //        fmt.Println(resp)
  2261  //    }
  2262  //
  2263  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTaskExecutions
  2264  func (c *DataSync) ListTaskExecutionsRequest(input *ListTaskExecutionsInput) (req *request.Request, output *ListTaskExecutionsOutput) {
  2265  	op := &request.Operation{
  2266  		Name:       opListTaskExecutions,
  2267  		HTTPMethod: "POST",
  2268  		HTTPPath:   "/",
  2269  		Paginator: &request.Paginator{
  2270  			InputTokens:     []string{"NextToken"},
  2271  			OutputTokens:    []string{"NextToken"},
  2272  			LimitToken:      "MaxResults",
  2273  			TruncationToken: "",
  2274  		},
  2275  	}
  2276  
  2277  	if input == nil {
  2278  		input = &ListTaskExecutionsInput{}
  2279  	}
  2280  
  2281  	output = &ListTaskExecutionsOutput{}
  2282  	req = c.newRequest(op, input, output)
  2283  	return
  2284  }
  2285  
  2286  // ListTaskExecutions API operation for AWS DataSync.
  2287  //
  2288  // Returns a list of executed tasks.
  2289  //
  2290  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2291  // with awserr.Error's Code and Message methods to get detailed information about
  2292  // the error.
  2293  //
  2294  // See the AWS API reference guide for AWS DataSync's
  2295  // API operation ListTaskExecutions for usage and error information.
  2296  //
  2297  // Returned Error Types:
  2298  //   * InvalidRequestException
  2299  //   This exception is thrown when the client submits a malformed request.
  2300  //
  2301  //   * InternalException
  2302  //   This exception is thrown when an error occurs in the DataSync service.
  2303  //
  2304  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTaskExecutions
  2305  func (c *DataSync) ListTaskExecutions(input *ListTaskExecutionsInput) (*ListTaskExecutionsOutput, error) {
  2306  	req, out := c.ListTaskExecutionsRequest(input)
  2307  	return out, req.Send()
  2308  }
  2309  
  2310  // ListTaskExecutionsWithContext is the same as ListTaskExecutions with the addition of
  2311  // the ability to pass a context and additional request options.
  2312  //
  2313  // See ListTaskExecutions for details on how to use this API operation.
  2314  //
  2315  // The context must be non-nil and will be used for request cancellation. If
  2316  // the context is nil a panic will occur. In the future the SDK may create
  2317  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2318  // for more information on using Contexts.
  2319  func (c *DataSync) ListTaskExecutionsWithContext(ctx aws.Context, input *ListTaskExecutionsInput, opts ...request.Option) (*ListTaskExecutionsOutput, error) {
  2320  	req, out := c.ListTaskExecutionsRequest(input)
  2321  	req.SetContext(ctx)
  2322  	req.ApplyOptions(opts...)
  2323  	return out, req.Send()
  2324  }
  2325  
  2326  // ListTaskExecutionsPages iterates over the pages of a ListTaskExecutions operation,
  2327  // calling the "fn" function with the response data for each page. To stop
  2328  // iterating, return false from the fn function.
  2329  //
  2330  // See ListTaskExecutions method for more information on how to use this operation.
  2331  //
  2332  // Note: This operation can generate multiple requests to a service.
  2333  //
  2334  //    // Example iterating over at most 3 pages of a ListTaskExecutions operation.
  2335  //    pageNum := 0
  2336  //    err := client.ListTaskExecutionsPages(params,
  2337  //        func(page *datasync.ListTaskExecutionsOutput, lastPage bool) bool {
  2338  //            pageNum++
  2339  //            fmt.Println(page)
  2340  //            return pageNum <= 3
  2341  //        })
  2342  //
  2343  func (c *DataSync) ListTaskExecutionsPages(input *ListTaskExecutionsInput, fn func(*ListTaskExecutionsOutput, bool) bool) error {
  2344  	return c.ListTaskExecutionsPagesWithContext(aws.BackgroundContext(), input, fn)
  2345  }
  2346  
  2347  // ListTaskExecutionsPagesWithContext same as ListTaskExecutionsPages except
  2348  // it takes a Context and allows setting request options on the pages.
  2349  //
  2350  // The context must be non-nil and will be used for request cancellation. If
  2351  // the context is nil a panic will occur. In the future the SDK may create
  2352  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2353  // for more information on using Contexts.
  2354  func (c *DataSync) ListTaskExecutionsPagesWithContext(ctx aws.Context, input *ListTaskExecutionsInput, fn func(*ListTaskExecutionsOutput, bool) bool, opts ...request.Option) error {
  2355  	p := request.Pagination{
  2356  		NewRequest: func() (*request.Request, error) {
  2357  			var inCpy *ListTaskExecutionsInput
  2358  			if input != nil {
  2359  				tmp := *input
  2360  				inCpy = &tmp
  2361  			}
  2362  			req, _ := c.ListTaskExecutionsRequest(inCpy)
  2363  			req.SetContext(ctx)
  2364  			req.ApplyOptions(opts...)
  2365  			return req, nil
  2366  		},
  2367  	}
  2368  
  2369  	for p.Next() {
  2370  		if !fn(p.Page().(*ListTaskExecutionsOutput), !p.HasNextPage()) {
  2371  			break
  2372  		}
  2373  	}
  2374  
  2375  	return p.Err()
  2376  }
  2377  
  2378  const opListTasks = "ListTasks"
  2379  
  2380  // ListTasksRequest generates a "aws/request.Request" representing the
  2381  // client's request for the ListTasks operation. The "output" return
  2382  // value will be populated with the request's response once the request completes
  2383  // successfully.
  2384  //
  2385  // Use "Send" method on the returned Request to send the API call to the service.
  2386  // the "output" return value is not valid until after Send returns without error.
  2387  //
  2388  // See ListTasks for more information on using the ListTasks
  2389  // API call, and error handling.
  2390  //
  2391  // This method is useful when you want to inject custom logic or configuration
  2392  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2393  //
  2394  //
  2395  //    // Example sending a request using the ListTasksRequest method.
  2396  //    req, resp := client.ListTasksRequest(params)
  2397  //
  2398  //    err := req.Send()
  2399  //    if err == nil { // resp is now filled
  2400  //        fmt.Println(resp)
  2401  //    }
  2402  //
  2403  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTasks
  2404  func (c *DataSync) ListTasksRequest(input *ListTasksInput) (req *request.Request, output *ListTasksOutput) {
  2405  	op := &request.Operation{
  2406  		Name:       opListTasks,
  2407  		HTTPMethod: "POST",
  2408  		HTTPPath:   "/",
  2409  		Paginator: &request.Paginator{
  2410  			InputTokens:     []string{"NextToken"},
  2411  			OutputTokens:    []string{"NextToken"},
  2412  			LimitToken:      "MaxResults",
  2413  			TruncationToken: "",
  2414  		},
  2415  	}
  2416  
  2417  	if input == nil {
  2418  		input = &ListTasksInput{}
  2419  	}
  2420  
  2421  	output = &ListTasksOutput{}
  2422  	req = c.newRequest(op, input, output)
  2423  	return
  2424  }
  2425  
  2426  // ListTasks API operation for AWS DataSync.
  2427  //
  2428  // Returns a list of all the tasks.
  2429  //
  2430  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2431  // with awserr.Error's Code and Message methods to get detailed information about
  2432  // the error.
  2433  //
  2434  // See the AWS API reference guide for AWS DataSync's
  2435  // API operation ListTasks for usage and error information.
  2436  //
  2437  // Returned Error Types:
  2438  //   * InvalidRequestException
  2439  //   This exception is thrown when the client submits a malformed request.
  2440  //
  2441  //   * InternalException
  2442  //   This exception is thrown when an error occurs in the DataSync service.
  2443  //
  2444  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTasks
  2445  func (c *DataSync) ListTasks(input *ListTasksInput) (*ListTasksOutput, error) {
  2446  	req, out := c.ListTasksRequest(input)
  2447  	return out, req.Send()
  2448  }
  2449  
  2450  // ListTasksWithContext is the same as ListTasks with the addition of
  2451  // the ability to pass a context and additional request options.
  2452  //
  2453  // See ListTasks for details on how to use this API operation.
  2454  //
  2455  // The context must be non-nil and will be used for request cancellation. If
  2456  // the context is nil a panic will occur. In the future the SDK may create
  2457  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2458  // for more information on using Contexts.
  2459  func (c *DataSync) ListTasksWithContext(ctx aws.Context, input *ListTasksInput, opts ...request.Option) (*ListTasksOutput, error) {
  2460  	req, out := c.ListTasksRequest(input)
  2461  	req.SetContext(ctx)
  2462  	req.ApplyOptions(opts...)
  2463  	return out, req.Send()
  2464  }
  2465  
  2466  // ListTasksPages iterates over the pages of a ListTasks operation,
  2467  // calling the "fn" function with the response data for each page. To stop
  2468  // iterating, return false from the fn function.
  2469  //
  2470  // See ListTasks method for more information on how to use this operation.
  2471  //
  2472  // Note: This operation can generate multiple requests to a service.
  2473  //
  2474  //    // Example iterating over at most 3 pages of a ListTasks operation.
  2475  //    pageNum := 0
  2476  //    err := client.ListTasksPages(params,
  2477  //        func(page *datasync.ListTasksOutput, lastPage bool) bool {
  2478  //            pageNum++
  2479  //            fmt.Println(page)
  2480  //            return pageNum <= 3
  2481  //        })
  2482  //
  2483  func (c *DataSync) ListTasksPages(input *ListTasksInput, fn func(*ListTasksOutput, bool) bool) error {
  2484  	return c.ListTasksPagesWithContext(aws.BackgroundContext(), input, fn)
  2485  }
  2486  
  2487  // ListTasksPagesWithContext same as ListTasksPages except
  2488  // it takes a Context and allows setting request options on the pages.
  2489  //
  2490  // The context must be non-nil and will be used for request cancellation. If
  2491  // the context is nil a panic will occur. In the future the SDK may create
  2492  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2493  // for more information on using Contexts.
  2494  func (c *DataSync) ListTasksPagesWithContext(ctx aws.Context, input *ListTasksInput, fn func(*ListTasksOutput, bool) bool, opts ...request.Option) error {
  2495  	p := request.Pagination{
  2496  		NewRequest: func() (*request.Request, error) {
  2497  			var inCpy *ListTasksInput
  2498  			if input != nil {
  2499  				tmp := *input
  2500  				inCpy = &tmp
  2501  			}
  2502  			req, _ := c.ListTasksRequest(inCpy)
  2503  			req.SetContext(ctx)
  2504  			req.ApplyOptions(opts...)
  2505  			return req, nil
  2506  		},
  2507  	}
  2508  
  2509  	for p.Next() {
  2510  		if !fn(p.Page().(*ListTasksOutput), !p.HasNextPage()) {
  2511  			break
  2512  		}
  2513  	}
  2514  
  2515  	return p.Err()
  2516  }
  2517  
  2518  const opStartTaskExecution = "StartTaskExecution"
  2519  
  2520  // StartTaskExecutionRequest generates a "aws/request.Request" representing the
  2521  // client's request for the StartTaskExecution operation. The "output" return
  2522  // value will be populated with the request's response once the request completes
  2523  // successfully.
  2524  //
  2525  // Use "Send" method on the returned Request to send the API call to the service.
  2526  // the "output" return value is not valid until after Send returns without error.
  2527  //
  2528  // See StartTaskExecution for more information on using the StartTaskExecution
  2529  // API call, and error handling.
  2530  //
  2531  // This method is useful when you want to inject custom logic or configuration
  2532  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2533  //
  2534  //
  2535  //    // Example sending a request using the StartTaskExecutionRequest method.
  2536  //    req, resp := client.StartTaskExecutionRequest(params)
  2537  //
  2538  //    err := req.Send()
  2539  //    if err == nil { // resp is now filled
  2540  //        fmt.Println(resp)
  2541  //    }
  2542  //
  2543  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/StartTaskExecution
  2544  func (c *DataSync) StartTaskExecutionRequest(input *StartTaskExecutionInput) (req *request.Request, output *StartTaskExecutionOutput) {
  2545  	op := &request.Operation{
  2546  		Name:       opStartTaskExecution,
  2547  		HTTPMethod: "POST",
  2548  		HTTPPath:   "/",
  2549  	}
  2550  
  2551  	if input == nil {
  2552  		input = &StartTaskExecutionInput{}
  2553  	}
  2554  
  2555  	output = &StartTaskExecutionOutput{}
  2556  	req = c.newRequest(op, input, output)
  2557  	return
  2558  }
  2559  
  2560  // StartTaskExecution API operation for AWS DataSync.
  2561  //
  2562  // Starts a specific invocation of a task. A TaskExecution value represents
  2563  // an individual run of a task. Each task can have at most one TaskExecution
  2564  // at a time.
  2565  //
  2566  // TaskExecution has the following transition phases: INITIALIZING | PREPARING
  2567  // | TRANSFERRING | VERIFYING | SUCCESS/FAILURE.
  2568  //
  2569  // For detailed information, see the Task Execution section in the Components
  2570  // and Terminology topic in the DataSync User Guide.
  2571  //
  2572  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2573  // with awserr.Error's Code and Message methods to get detailed information about
  2574  // the error.
  2575  //
  2576  // See the AWS API reference guide for AWS DataSync's
  2577  // API operation StartTaskExecution for usage and error information.
  2578  //
  2579  // Returned Error Types:
  2580  //   * InvalidRequestException
  2581  //   This exception is thrown when the client submits a malformed request.
  2582  //
  2583  //   * InternalException
  2584  //   This exception is thrown when an error occurs in the DataSync service.
  2585  //
  2586  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/StartTaskExecution
  2587  func (c *DataSync) StartTaskExecution(input *StartTaskExecutionInput) (*StartTaskExecutionOutput, error) {
  2588  	req, out := c.StartTaskExecutionRequest(input)
  2589  	return out, req.Send()
  2590  }
  2591  
  2592  // StartTaskExecutionWithContext is the same as StartTaskExecution with the addition of
  2593  // the ability to pass a context and additional request options.
  2594  //
  2595  // See StartTaskExecution for details on how to use this API operation.
  2596  //
  2597  // The context must be non-nil and will be used for request cancellation. If
  2598  // the context is nil a panic will occur. In the future the SDK may create
  2599  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2600  // for more information on using Contexts.
  2601  func (c *DataSync) StartTaskExecutionWithContext(ctx aws.Context, input *StartTaskExecutionInput, opts ...request.Option) (*StartTaskExecutionOutput, error) {
  2602  	req, out := c.StartTaskExecutionRequest(input)
  2603  	req.SetContext(ctx)
  2604  	req.ApplyOptions(opts...)
  2605  	return out, req.Send()
  2606  }
  2607  
  2608  const opTagResource = "TagResource"
  2609  
  2610  // TagResourceRequest generates a "aws/request.Request" representing the
  2611  // client's request for the TagResource operation. The "output" return
  2612  // value will be populated with the request's response once the request completes
  2613  // successfully.
  2614  //
  2615  // Use "Send" method on the returned Request to send the API call to the service.
  2616  // the "output" return value is not valid until after Send returns without error.
  2617  //
  2618  // See TagResource for more information on using the TagResource
  2619  // API call, and error handling.
  2620  //
  2621  // This method is useful when you want to inject custom logic or configuration
  2622  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2623  //
  2624  //
  2625  //    // Example sending a request using the TagResourceRequest method.
  2626  //    req, resp := client.TagResourceRequest(params)
  2627  //
  2628  //    err := req.Send()
  2629  //    if err == nil { // resp is now filled
  2630  //        fmt.Println(resp)
  2631  //    }
  2632  //
  2633  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/TagResource
  2634  func (c *DataSync) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  2635  	op := &request.Operation{
  2636  		Name:       opTagResource,
  2637  		HTTPMethod: "POST",
  2638  		HTTPPath:   "/",
  2639  	}
  2640  
  2641  	if input == nil {
  2642  		input = &TagResourceInput{}
  2643  	}
  2644  
  2645  	output = &TagResourceOutput{}
  2646  	req = c.newRequest(op, input, output)
  2647  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2648  	return
  2649  }
  2650  
  2651  // TagResource API operation for AWS DataSync.
  2652  //
  2653  // Applies a key-value pair to an Amazon Web Services resource.
  2654  //
  2655  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2656  // with awserr.Error's Code and Message methods to get detailed information about
  2657  // the error.
  2658  //
  2659  // See the AWS API reference guide for AWS DataSync's
  2660  // API operation TagResource for usage and error information.
  2661  //
  2662  // Returned Error Types:
  2663  //   * InvalidRequestException
  2664  //   This exception is thrown when the client submits a malformed request.
  2665  //
  2666  //   * InternalException
  2667  //   This exception is thrown when an error occurs in the DataSync service.
  2668  //
  2669  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/TagResource
  2670  func (c *DataSync) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  2671  	req, out := c.TagResourceRequest(input)
  2672  	return out, req.Send()
  2673  }
  2674  
  2675  // TagResourceWithContext is the same as TagResource with the addition of
  2676  // the ability to pass a context and additional request options.
  2677  //
  2678  // See TagResource for details on how to use this API operation.
  2679  //
  2680  // The context must be non-nil and will be used for request cancellation. If
  2681  // the context is nil a panic will occur. In the future the SDK may create
  2682  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2683  // for more information on using Contexts.
  2684  func (c *DataSync) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  2685  	req, out := c.TagResourceRequest(input)
  2686  	req.SetContext(ctx)
  2687  	req.ApplyOptions(opts...)
  2688  	return out, req.Send()
  2689  }
  2690  
  2691  const opUntagResource = "UntagResource"
  2692  
  2693  // UntagResourceRequest generates a "aws/request.Request" representing the
  2694  // client's request for the UntagResource operation. The "output" return
  2695  // value will be populated with the request's response once the request completes
  2696  // successfully.
  2697  //
  2698  // Use "Send" method on the returned Request to send the API call to the service.
  2699  // the "output" return value is not valid until after Send returns without error.
  2700  //
  2701  // See UntagResource for more information on using the UntagResource
  2702  // API call, and error handling.
  2703  //
  2704  // This method is useful when you want to inject custom logic or configuration
  2705  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2706  //
  2707  //
  2708  //    // Example sending a request using the UntagResourceRequest method.
  2709  //    req, resp := client.UntagResourceRequest(params)
  2710  //
  2711  //    err := req.Send()
  2712  //    if err == nil { // resp is now filled
  2713  //        fmt.Println(resp)
  2714  //    }
  2715  //
  2716  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UntagResource
  2717  func (c *DataSync) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  2718  	op := &request.Operation{
  2719  		Name:       opUntagResource,
  2720  		HTTPMethod: "POST",
  2721  		HTTPPath:   "/",
  2722  	}
  2723  
  2724  	if input == nil {
  2725  		input = &UntagResourceInput{}
  2726  	}
  2727  
  2728  	output = &UntagResourceOutput{}
  2729  	req = c.newRequest(op, input, output)
  2730  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2731  	return
  2732  }
  2733  
  2734  // UntagResource API operation for AWS DataSync.
  2735  //
  2736  // Removes a tag from an Amazon Web Services resource.
  2737  //
  2738  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2739  // with awserr.Error's Code and Message methods to get detailed information about
  2740  // the error.
  2741  //
  2742  // See the AWS API reference guide for AWS DataSync's
  2743  // API operation UntagResource for usage and error information.
  2744  //
  2745  // Returned Error Types:
  2746  //   * InvalidRequestException
  2747  //   This exception is thrown when the client submits a malformed request.
  2748  //
  2749  //   * InternalException
  2750  //   This exception is thrown when an error occurs in the DataSync service.
  2751  //
  2752  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UntagResource
  2753  func (c *DataSync) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  2754  	req, out := c.UntagResourceRequest(input)
  2755  	return out, req.Send()
  2756  }
  2757  
  2758  // UntagResourceWithContext is the same as UntagResource with the addition of
  2759  // the ability to pass a context and additional request options.
  2760  //
  2761  // See UntagResource for details on how to use this API operation.
  2762  //
  2763  // The context must be non-nil and will be used for request cancellation. If
  2764  // the context is nil a panic will occur. In the future the SDK may create
  2765  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2766  // for more information on using Contexts.
  2767  func (c *DataSync) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  2768  	req, out := c.UntagResourceRequest(input)
  2769  	req.SetContext(ctx)
  2770  	req.ApplyOptions(opts...)
  2771  	return out, req.Send()
  2772  }
  2773  
  2774  const opUpdateAgent = "UpdateAgent"
  2775  
  2776  // UpdateAgentRequest generates a "aws/request.Request" representing the
  2777  // client's request for the UpdateAgent operation. The "output" return
  2778  // value will be populated with the request's response once the request completes
  2779  // successfully.
  2780  //
  2781  // Use "Send" method on the returned Request to send the API call to the service.
  2782  // the "output" return value is not valid until after Send returns without error.
  2783  //
  2784  // See UpdateAgent for more information on using the UpdateAgent
  2785  // API call, and error handling.
  2786  //
  2787  // This method is useful when you want to inject custom logic or configuration
  2788  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2789  //
  2790  //
  2791  //    // Example sending a request using the UpdateAgentRequest method.
  2792  //    req, resp := client.UpdateAgentRequest(params)
  2793  //
  2794  //    err := req.Send()
  2795  //    if err == nil { // resp is now filled
  2796  //        fmt.Println(resp)
  2797  //    }
  2798  //
  2799  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateAgent
  2800  func (c *DataSync) UpdateAgentRequest(input *UpdateAgentInput) (req *request.Request, output *UpdateAgentOutput) {
  2801  	op := &request.Operation{
  2802  		Name:       opUpdateAgent,
  2803  		HTTPMethod: "POST",
  2804  		HTTPPath:   "/",
  2805  	}
  2806  
  2807  	if input == nil {
  2808  		input = &UpdateAgentInput{}
  2809  	}
  2810  
  2811  	output = &UpdateAgentOutput{}
  2812  	req = c.newRequest(op, input, output)
  2813  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2814  	return
  2815  }
  2816  
  2817  // UpdateAgent API operation for AWS DataSync.
  2818  //
  2819  // Updates the name of an agent.
  2820  //
  2821  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2822  // with awserr.Error's Code and Message methods to get detailed information about
  2823  // the error.
  2824  //
  2825  // See the AWS API reference guide for AWS DataSync's
  2826  // API operation UpdateAgent for usage and error information.
  2827  //
  2828  // Returned Error Types:
  2829  //   * InvalidRequestException
  2830  //   This exception is thrown when the client submits a malformed request.
  2831  //
  2832  //   * InternalException
  2833  //   This exception is thrown when an error occurs in the DataSync service.
  2834  //
  2835  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateAgent
  2836  func (c *DataSync) UpdateAgent(input *UpdateAgentInput) (*UpdateAgentOutput, error) {
  2837  	req, out := c.UpdateAgentRequest(input)
  2838  	return out, req.Send()
  2839  }
  2840  
  2841  // UpdateAgentWithContext is the same as UpdateAgent with the addition of
  2842  // the ability to pass a context and additional request options.
  2843  //
  2844  // See UpdateAgent for details on how to use this API operation.
  2845  //
  2846  // The context must be non-nil and will be used for request cancellation. If
  2847  // the context is nil a panic will occur. In the future the SDK may create
  2848  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2849  // for more information on using Contexts.
  2850  func (c *DataSync) UpdateAgentWithContext(ctx aws.Context, input *UpdateAgentInput, opts ...request.Option) (*UpdateAgentOutput, error) {
  2851  	req, out := c.UpdateAgentRequest(input)
  2852  	req.SetContext(ctx)
  2853  	req.ApplyOptions(opts...)
  2854  	return out, req.Send()
  2855  }
  2856  
  2857  const opUpdateLocationNfs = "UpdateLocationNfs"
  2858  
  2859  // UpdateLocationNfsRequest generates a "aws/request.Request" representing the
  2860  // client's request for the UpdateLocationNfs operation. The "output" return
  2861  // value will be populated with the request's response once the request completes
  2862  // successfully.
  2863  //
  2864  // Use "Send" method on the returned Request to send the API call to the service.
  2865  // the "output" return value is not valid until after Send returns without error.
  2866  //
  2867  // See UpdateLocationNfs for more information on using the UpdateLocationNfs
  2868  // API call, and error handling.
  2869  //
  2870  // This method is useful when you want to inject custom logic or configuration
  2871  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2872  //
  2873  //
  2874  //    // Example sending a request using the UpdateLocationNfsRequest method.
  2875  //    req, resp := client.UpdateLocationNfsRequest(params)
  2876  //
  2877  //    err := req.Send()
  2878  //    if err == nil { // resp is now filled
  2879  //        fmt.Println(resp)
  2880  //    }
  2881  //
  2882  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationNfs
  2883  func (c *DataSync) UpdateLocationNfsRequest(input *UpdateLocationNfsInput) (req *request.Request, output *UpdateLocationNfsOutput) {
  2884  	op := &request.Operation{
  2885  		Name:       opUpdateLocationNfs,
  2886  		HTTPMethod: "POST",
  2887  		HTTPPath:   "/",
  2888  	}
  2889  
  2890  	if input == nil {
  2891  		input = &UpdateLocationNfsInput{}
  2892  	}
  2893  
  2894  	output = &UpdateLocationNfsOutput{}
  2895  	req = c.newRequest(op, input, output)
  2896  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2897  	return
  2898  }
  2899  
  2900  // UpdateLocationNfs API operation for AWS DataSync.
  2901  //
  2902  // Updates some of the parameters of a previously created location for Network
  2903  // File System (NFS) access. For information about creating an NFS location,
  2904  // see Creating a location for NFS (https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html).
  2905  //
  2906  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2907  // with awserr.Error's Code and Message methods to get detailed information about
  2908  // the error.
  2909  //
  2910  // See the AWS API reference guide for AWS DataSync's
  2911  // API operation UpdateLocationNfs for usage and error information.
  2912  //
  2913  // Returned Error Types:
  2914  //   * InvalidRequestException
  2915  //   This exception is thrown when the client submits a malformed request.
  2916  //
  2917  //   * InternalException
  2918  //   This exception is thrown when an error occurs in the DataSync service.
  2919  //
  2920  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationNfs
  2921  func (c *DataSync) UpdateLocationNfs(input *UpdateLocationNfsInput) (*UpdateLocationNfsOutput, error) {
  2922  	req, out := c.UpdateLocationNfsRequest(input)
  2923  	return out, req.Send()
  2924  }
  2925  
  2926  // UpdateLocationNfsWithContext is the same as UpdateLocationNfs with the addition of
  2927  // the ability to pass a context and additional request options.
  2928  //
  2929  // See UpdateLocationNfs for details on how to use this API operation.
  2930  //
  2931  // The context must be non-nil and will be used for request cancellation. If
  2932  // the context is nil a panic will occur. In the future the SDK may create
  2933  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2934  // for more information on using Contexts.
  2935  func (c *DataSync) UpdateLocationNfsWithContext(ctx aws.Context, input *UpdateLocationNfsInput, opts ...request.Option) (*UpdateLocationNfsOutput, error) {
  2936  	req, out := c.UpdateLocationNfsRequest(input)
  2937  	req.SetContext(ctx)
  2938  	req.ApplyOptions(opts...)
  2939  	return out, req.Send()
  2940  }
  2941  
  2942  const opUpdateLocationObjectStorage = "UpdateLocationObjectStorage"
  2943  
  2944  // UpdateLocationObjectStorageRequest generates a "aws/request.Request" representing the
  2945  // client's request for the UpdateLocationObjectStorage operation. The "output" return
  2946  // value will be populated with the request's response once the request completes
  2947  // successfully.
  2948  //
  2949  // Use "Send" method on the returned Request to send the API call to the service.
  2950  // the "output" return value is not valid until after Send returns without error.
  2951  //
  2952  // See UpdateLocationObjectStorage for more information on using the UpdateLocationObjectStorage
  2953  // API call, and error handling.
  2954  //
  2955  // This method is useful when you want to inject custom logic or configuration
  2956  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2957  //
  2958  //
  2959  //    // Example sending a request using the UpdateLocationObjectStorageRequest method.
  2960  //    req, resp := client.UpdateLocationObjectStorageRequest(params)
  2961  //
  2962  //    err := req.Send()
  2963  //    if err == nil { // resp is now filled
  2964  //        fmt.Println(resp)
  2965  //    }
  2966  //
  2967  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationObjectStorage
  2968  func (c *DataSync) UpdateLocationObjectStorageRequest(input *UpdateLocationObjectStorageInput) (req *request.Request, output *UpdateLocationObjectStorageOutput) {
  2969  	op := &request.Operation{
  2970  		Name:       opUpdateLocationObjectStorage,
  2971  		HTTPMethod: "POST",
  2972  		HTTPPath:   "/",
  2973  	}
  2974  
  2975  	if input == nil {
  2976  		input = &UpdateLocationObjectStorageInput{}
  2977  	}
  2978  
  2979  	output = &UpdateLocationObjectStorageOutput{}
  2980  	req = c.newRequest(op, input, output)
  2981  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2982  	return
  2983  }
  2984  
  2985  // UpdateLocationObjectStorage API operation for AWS DataSync.
  2986  //
  2987  // Updates some of the parameters of a previously created location for self-managed
  2988  // object storage server access. For information about creating a self-managed
  2989  // object storage location, see Creating a location for object storage (https://docs.aws.amazon.com/datasync/latest/userguide/create-object-location.html).
  2990  //
  2991  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2992  // with awserr.Error's Code and Message methods to get detailed information about
  2993  // the error.
  2994  //
  2995  // See the AWS API reference guide for AWS DataSync's
  2996  // API operation UpdateLocationObjectStorage for usage and error information.
  2997  //
  2998  // Returned Error Types:
  2999  //   * InvalidRequestException
  3000  //   This exception is thrown when the client submits a malformed request.
  3001  //
  3002  //   * InternalException
  3003  //   This exception is thrown when an error occurs in the DataSync service.
  3004  //
  3005  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationObjectStorage
  3006  func (c *DataSync) UpdateLocationObjectStorage(input *UpdateLocationObjectStorageInput) (*UpdateLocationObjectStorageOutput, error) {
  3007  	req, out := c.UpdateLocationObjectStorageRequest(input)
  3008  	return out, req.Send()
  3009  }
  3010  
  3011  // UpdateLocationObjectStorageWithContext is the same as UpdateLocationObjectStorage with the addition of
  3012  // the ability to pass a context and additional request options.
  3013  //
  3014  // See UpdateLocationObjectStorage for details on how to use this API operation.
  3015  //
  3016  // The context must be non-nil and will be used for request cancellation. If
  3017  // the context is nil a panic will occur. In the future the SDK may create
  3018  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3019  // for more information on using Contexts.
  3020  func (c *DataSync) UpdateLocationObjectStorageWithContext(ctx aws.Context, input *UpdateLocationObjectStorageInput, opts ...request.Option) (*UpdateLocationObjectStorageOutput, error) {
  3021  	req, out := c.UpdateLocationObjectStorageRequest(input)
  3022  	req.SetContext(ctx)
  3023  	req.ApplyOptions(opts...)
  3024  	return out, req.Send()
  3025  }
  3026  
  3027  const opUpdateLocationSmb = "UpdateLocationSmb"
  3028  
  3029  // UpdateLocationSmbRequest generates a "aws/request.Request" representing the
  3030  // client's request for the UpdateLocationSmb operation. The "output" return
  3031  // value will be populated with the request's response once the request completes
  3032  // successfully.
  3033  //
  3034  // Use "Send" method on the returned Request to send the API call to the service.
  3035  // the "output" return value is not valid until after Send returns without error.
  3036  //
  3037  // See UpdateLocationSmb for more information on using the UpdateLocationSmb
  3038  // API call, and error handling.
  3039  //
  3040  // This method is useful when you want to inject custom logic or configuration
  3041  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3042  //
  3043  //
  3044  //    // Example sending a request using the UpdateLocationSmbRequest method.
  3045  //    req, resp := client.UpdateLocationSmbRequest(params)
  3046  //
  3047  //    err := req.Send()
  3048  //    if err == nil { // resp is now filled
  3049  //        fmt.Println(resp)
  3050  //    }
  3051  //
  3052  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationSmb
  3053  func (c *DataSync) UpdateLocationSmbRequest(input *UpdateLocationSmbInput) (req *request.Request, output *UpdateLocationSmbOutput) {
  3054  	op := &request.Operation{
  3055  		Name:       opUpdateLocationSmb,
  3056  		HTTPMethod: "POST",
  3057  		HTTPPath:   "/",
  3058  	}
  3059  
  3060  	if input == nil {
  3061  		input = &UpdateLocationSmbInput{}
  3062  	}
  3063  
  3064  	output = &UpdateLocationSmbOutput{}
  3065  	req = c.newRequest(op, input, output)
  3066  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3067  	return
  3068  }
  3069  
  3070  // UpdateLocationSmb API operation for AWS DataSync.
  3071  //
  3072  // Updates some of the parameters of a previously created location for Server
  3073  // Message Block (SMB) file system access. For information about creating an
  3074  // SMB location, see Creating a location for SMB (https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html).
  3075  //
  3076  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3077  // with awserr.Error's Code and Message methods to get detailed information about
  3078  // the error.
  3079  //
  3080  // See the AWS API reference guide for AWS DataSync's
  3081  // API operation UpdateLocationSmb for usage and error information.
  3082  //
  3083  // Returned Error Types:
  3084  //   * InvalidRequestException
  3085  //   This exception is thrown when the client submits a malformed request.
  3086  //
  3087  //   * InternalException
  3088  //   This exception is thrown when an error occurs in the DataSync service.
  3089  //
  3090  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationSmb
  3091  func (c *DataSync) UpdateLocationSmb(input *UpdateLocationSmbInput) (*UpdateLocationSmbOutput, error) {
  3092  	req, out := c.UpdateLocationSmbRequest(input)
  3093  	return out, req.Send()
  3094  }
  3095  
  3096  // UpdateLocationSmbWithContext is the same as UpdateLocationSmb with the addition of
  3097  // the ability to pass a context and additional request options.
  3098  //
  3099  // See UpdateLocationSmb for details on how to use this API operation.
  3100  //
  3101  // The context must be non-nil and will be used for request cancellation. If
  3102  // the context is nil a panic will occur. In the future the SDK may create
  3103  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3104  // for more information on using Contexts.
  3105  func (c *DataSync) UpdateLocationSmbWithContext(ctx aws.Context, input *UpdateLocationSmbInput, opts ...request.Option) (*UpdateLocationSmbOutput, error) {
  3106  	req, out := c.UpdateLocationSmbRequest(input)
  3107  	req.SetContext(ctx)
  3108  	req.ApplyOptions(opts...)
  3109  	return out, req.Send()
  3110  }
  3111  
  3112  const opUpdateTask = "UpdateTask"
  3113  
  3114  // UpdateTaskRequest generates a "aws/request.Request" representing the
  3115  // client's request for the UpdateTask operation. The "output" return
  3116  // value will be populated with the request's response once the request completes
  3117  // successfully.
  3118  //
  3119  // Use "Send" method on the returned Request to send the API call to the service.
  3120  // the "output" return value is not valid until after Send returns without error.
  3121  //
  3122  // See UpdateTask for more information on using the UpdateTask
  3123  // API call, and error handling.
  3124  //
  3125  // This method is useful when you want to inject custom logic or configuration
  3126  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3127  //
  3128  //
  3129  //    // Example sending a request using the UpdateTaskRequest method.
  3130  //    req, resp := client.UpdateTaskRequest(params)
  3131  //
  3132  //    err := req.Send()
  3133  //    if err == nil { // resp is now filled
  3134  //        fmt.Println(resp)
  3135  //    }
  3136  //
  3137  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateTask
  3138  func (c *DataSync) UpdateTaskRequest(input *UpdateTaskInput) (req *request.Request, output *UpdateTaskOutput) {
  3139  	op := &request.Operation{
  3140  		Name:       opUpdateTask,
  3141  		HTTPMethod: "POST",
  3142  		HTTPPath:   "/",
  3143  	}
  3144  
  3145  	if input == nil {
  3146  		input = &UpdateTaskInput{}
  3147  	}
  3148  
  3149  	output = &UpdateTaskOutput{}
  3150  	req = c.newRequest(op, input, output)
  3151  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3152  	return
  3153  }
  3154  
  3155  // UpdateTask API operation for AWS DataSync.
  3156  //
  3157  // Updates the metadata associated with a task.
  3158  //
  3159  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3160  // with awserr.Error's Code and Message methods to get detailed information about
  3161  // the error.
  3162  //
  3163  // See the AWS API reference guide for AWS DataSync's
  3164  // API operation UpdateTask for usage and error information.
  3165  //
  3166  // Returned Error Types:
  3167  //   * InvalidRequestException
  3168  //   This exception is thrown when the client submits a malformed request.
  3169  //
  3170  //   * InternalException
  3171  //   This exception is thrown when an error occurs in the DataSync service.
  3172  //
  3173  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateTask
  3174  func (c *DataSync) UpdateTask(input *UpdateTaskInput) (*UpdateTaskOutput, error) {
  3175  	req, out := c.UpdateTaskRequest(input)
  3176  	return out, req.Send()
  3177  }
  3178  
  3179  // UpdateTaskWithContext is the same as UpdateTask with the addition of
  3180  // the ability to pass a context and additional request options.
  3181  //
  3182  // See UpdateTask for details on how to use this API operation.
  3183  //
  3184  // The context must be non-nil and will be used for request cancellation. If
  3185  // the context is nil a panic will occur. In the future the SDK may create
  3186  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3187  // for more information on using Contexts.
  3188  func (c *DataSync) UpdateTaskWithContext(ctx aws.Context, input *UpdateTaskInput, opts ...request.Option) (*UpdateTaskOutput, error) {
  3189  	req, out := c.UpdateTaskRequest(input)
  3190  	req.SetContext(ctx)
  3191  	req.ApplyOptions(opts...)
  3192  	return out, req.Send()
  3193  }
  3194  
  3195  const opUpdateTaskExecution = "UpdateTaskExecution"
  3196  
  3197  // UpdateTaskExecutionRequest generates a "aws/request.Request" representing the
  3198  // client's request for the UpdateTaskExecution operation. The "output" return
  3199  // value will be populated with the request's response once the request completes
  3200  // successfully.
  3201  //
  3202  // Use "Send" method on the returned Request to send the API call to the service.
  3203  // the "output" return value is not valid until after Send returns without error.
  3204  //
  3205  // See UpdateTaskExecution for more information on using the UpdateTaskExecution
  3206  // API call, and error handling.
  3207  //
  3208  // This method is useful when you want to inject custom logic or configuration
  3209  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3210  //
  3211  //
  3212  //    // Example sending a request using the UpdateTaskExecutionRequest method.
  3213  //    req, resp := client.UpdateTaskExecutionRequest(params)
  3214  //
  3215  //    err := req.Send()
  3216  //    if err == nil { // resp is now filled
  3217  //        fmt.Println(resp)
  3218  //    }
  3219  //
  3220  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateTaskExecution
  3221  func (c *DataSync) UpdateTaskExecutionRequest(input *UpdateTaskExecutionInput) (req *request.Request, output *UpdateTaskExecutionOutput) {
  3222  	op := &request.Operation{
  3223  		Name:       opUpdateTaskExecution,
  3224  		HTTPMethod: "POST",
  3225  		HTTPPath:   "/",
  3226  	}
  3227  
  3228  	if input == nil {
  3229  		input = &UpdateTaskExecutionInput{}
  3230  	}
  3231  
  3232  	output = &UpdateTaskExecutionOutput{}
  3233  	req = c.newRequest(op, input, output)
  3234  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3235  	return
  3236  }
  3237  
  3238  // UpdateTaskExecution API operation for AWS DataSync.
  3239  //
  3240  // Updates execution of a task.
  3241  //
  3242  // You can modify bandwidth throttling for a task execution that is running
  3243  // or queued. For more information, see Adjusting Bandwidth Throttling for a
  3244  // Task Execution (https://docs.aws.amazon.com/datasync/latest/userguide/working-with-task-executions.html#adjust-bandwidth-throttling).
  3245  //
  3246  // The only Option that can be modified by UpdateTaskExecution is BytesPerSecond
  3247  // (https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-BytesPerSecond) .
  3248  //
  3249  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3250  // with awserr.Error's Code and Message methods to get detailed information about
  3251  // the error.
  3252  //
  3253  // See the AWS API reference guide for AWS DataSync's
  3254  // API operation UpdateTaskExecution for usage and error information.
  3255  //
  3256  // Returned Error Types:
  3257  //   * InvalidRequestException
  3258  //   This exception is thrown when the client submits a malformed request.
  3259  //
  3260  //   * InternalException
  3261  //   This exception is thrown when an error occurs in the DataSync service.
  3262  //
  3263  // See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateTaskExecution
  3264  func (c *DataSync) UpdateTaskExecution(input *UpdateTaskExecutionInput) (*UpdateTaskExecutionOutput, error) {
  3265  	req, out := c.UpdateTaskExecutionRequest(input)
  3266  	return out, req.Send()
  3267  }
  3268  
  3269  // UpdateTaskExecutionWithContext is the same as UpdateTaskExecution with the addition of
  3270  // the ability to pass a context and additional request options.
  3271  //
  3272  // See UpdateTaskExecution for details on how to use this API operation.
  3273  //
  3274  // The context must be non-nil and will be used for request cancellation. If
  3275  // the context is nil a panic will occur. In the future the SDK may create
  3276  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3277  // for more information on using Contexts.
  3278  func (c *DataSync) UpdateTaskExecutionWithContext(ctx aws.Context, input *UpdateTaskExecutionInput, opts ...request.Option) (*UpdateTaskExecutionOutput, error) {
  3279  	req, out := c.UpdateTaskExecutionRequest(input)
  3280  	req.SetContext(ctx)
  3281  	req.ApplyOptions(opts...)
  3282  	return out, req.Send()
  3283  }
  3284  
  3285  // Represents a single entry in a list of agents. AgentListEntry returns an
  3286  // array that contains a list of agents when the ListAgents (https://docs.aws.amazon.com/datasync/latest/userguide/API_ListAgents.html)
  3287  // operation is called.
  3288  type AgentListEntry struct {
  3289  	_ struct{} `type:"structure"`
  3290  
  3291  	// The Amazon Resource Name (ARN) of the agent.
  3292  	AgentArn *string `type:"string"`
  3293  
  3294  	// The name of the agent.
  3295  	Name *string `min:"1" type:"string"`
  3296  
  3297  	// The status of the agent.
  3298  	Status *string `type:"string" enum:"AgentStatus"`
  3299  }
  3300  
  3301  // String returns the string representation.
  3302  //
  3303  // API parameter values that are decorated as "sensitive" in the API will not
  3304  // be included in the string output. The member name will be present, but the
  3305  // value will be replaced with "sensitive".
  3306  func (s AgentListEntry) String() string {
  3307  	return awsutil.Prettify(s)
  3308  }
  3309  
  3310  // GoString returns the string representation.
  3311  //
  3312  // API parameter values that are decorated as "sensitive" in the API will not
  3313  // be included in the string output. The member name will be present, but the
  3314  // value will be replaced with "sensitive".
  3315  func (s AgentListEntry) GoString() string {
  3316  	return s.String()
  3317  }
  3318  
  3319  // SetAgentArn sets the AgentArn field's value.
  3320  func (s *AgentListEntry) SetAgentArn(v string) *AgentListEntry {
  3321  	s.AgentArn = &v
  3322  	return s
  3323  }
  3324  
  3325  // SetName sets the Name field's value.
  3326  func (s *AgentListEntry) SetName(v string) *AgentListEntry {
  3327  	s.Name = &v
  3328  	return s
  3329  }
  3330  
  3331  // SetStatus sets the Status field's value.
  3332  func (s *AgentListEntry) SetStatus(v string) *AgentListEntry {
  3333  	s.Status = &v
  3334  	return s
  3335  }
  3336  
  3337  // CancelTaskExecutionRequest
  3338  type CancelTaskExecutionInput struct {
  3339  	_ struct{} `type:"structure"`
  3340  
  3341  	// The Amazon Resource Name (ARN) of the task execution to cancel.
  3342  	//
  3343  	// TaskExecutionArn is a required field
  3344  	TaskExecutionArn *string `type:"string" required:"true"`
  3345  }
  3346  
  3347  // String returns the string representation.
  3348  //
  3349  // API parameter values that are decorated as "sensitive" in the API will not
  3350  // be included in the string output. The member name will be present, but the
  3351  // value will be replaced with "sensitive".
  3352  func (s CancelTaskExecutionInput) String() string {
  3353  	return awsutil.Prettify(s)
  3354  }
  3355  
  3356  // GoString returns the string representation.
  3357  //
  3358  // API parameter values that are decorated as "sensitive" in the API will not
  3359  // be included in the string output. The member name will be present, but the
  3360  // value will be replaced with "sensitive".
  3361  func (s CancelTaskExecutionInput) GoString() string {
  3362  	return s.String()
  3363  }
  3364  
  3365  // Validate inspects the fields of the type to determine if they are valid.
  3366  func (s *CancelTaskExecutionInput) Validate() error {
  3367  	invalidParams := request.ErrInvalidParams{Context: "CancelTaskExecutionInput"}
  3368  	if s.TaskExecutionArn == nil {
  3369  		invalidParams.Add(request.NewErrParamRequired("TaskExecutionArn"))
  3370  	}
  3371  
  3372  	if invalidParams.Len() > 0 {
  3373  		return invalidParams
  3374  	}
  3375  	return nil
  3376  }
  3377  
  3378  // SetTaskExecutionArn sets the TaskExecutionArn field's value.
  3379  func (s *CancelTaskExecutionInput) SetTaskExecutionArn(v string) *CancelTaskExecutionInput {
  3380  	s.TaskExecutionArn = &v
  3381  	return s
  3382  }
  3383  
  3384  type CancelTaskExecutionOutput struct {
  3385  	_ struct{} `type:"structure"`
  3386  }
  3387  
  3388  // String returns the string representation.
  3389  //
  3390  // API parameter values that are decorated as "sensitive" in the API will not
  3391  // be included in the string output. The member name will be present, but the
  3392  // value will be replaced with "sensitive".
  3393  func (s CancelTaskExecutionOutput) String() string {
  3394  	return awsutil.Prettify(s)
  3395  }
  3396  
  3397  // GoString returns the string representation.
  3398  //
  3399  // API parameter values that are decorated as "sensitive" in the API will not
  3400  // be included in the string output. The member name will be present, but the
  3401  // value will be replaced with "sensitive".
  3402  func (s CancelTaskExecutionOutput) GoString() string {
  3403  	return s.String()
  3404  }
  3405  
  3406  // CreateAgentRequest
  3407  type CreateAgentInput struct {
  3408  	_ struct{} `type:"structure"`
  3409  
  3410  	// Your agent activation key. You can get the activation key either by sending
  3411  	// an HTTP GET request with redirects that enable you to get the agent IP address
  3412  	// (port 80). Alternatively, you can get it from the DataSync console.
  3413  	//
  3414  	// The redirect URL returned in the response provides you the activation key
  3415  	// for your agent in the query string parameter activationKey. It might also
  3416  	// include other activation-related parameters; however, these are merely defaults.
  3417  	// The arguments you pass to this API call determine the actual configuration
  3418  	// of your agent.
  3419  	//
  3420  	// For more information, see Activating an Agent in the DataSync User Guide.
  3421  	//
  3422  	// ActivationKey is a required field
  3423  	ActivationKey *string `type:"string" required:"true"`
  3424  
  3425  	// The name you configured for your agent. This value is a text reference that
  3426  	// is used to identify the agent in the console.
  3427  	AgentName *string `min:"1" type:"string"`
  3428  
  3429  	// The ARNs of the security groups used to protect your data transfer task subnets.
  3430  	// See SecurityGroupArns (https://docs.aws.amazon.com/datasync/latest/userguide/API_Ec2Config.html#DataSync-Type-Ec2Config-SecurityGroupArns).
  3431  	SecurityGroupArns []*string `min:"1" type:"list"`
  3432  
  3433  	// The Amazon Resource Names (ARNs) of the subnets in which DataSync will create
  3434  	// elastic network interfaces for each data transfer task. The agent that runs
  3435  	// a task must be private. When you start a task that is associated with an
  3436  	// agent created in a VPC, or one that has access to an IP address in a VPC,
  3437  	// then the task is also private. In this case, DataSync creates four network
  3438  	// interfaces for each task in your subnet. For a data transfer to work, the
  3439  	// agent must be able to route to all these four network interfaces.
  3440  	SubnetArns []*string `min:"1" type:"list"`
  3441  
  3442  	// The key-value pair that represents the tag that you want to associate with
  3443  	// the agent. The value can be an empty string. This value helps you manage,
  3444  	// filter, and search for your agents.
  3445  	//
  3446  	// Valid characters for key and value are letters, spaces, and numbers representable
  3447  	// in UTF-8 format, and the following special characters: + - = . _ : / @.
  3448  	Tags []*TagListEntry `type:"list"`
  3449  
  3450  	// The ID of the VPC (virtual private cloud) endpoint that the agent has access
  3451  	// to. This is the client-side VPC endpoint, also called a PrivateLink. If you
  3452  	// don't have a PrivateLink VPC endpoint, see Creating a VPC Endpoint Service
  3453  	// Configuration (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html#create-endpoint-service)
  3454  	// in the Amazon VPC User Guide.
  3455  	//
  3456  	// VPC endpoint ID looks like this: vpce-01234d5aff67890e1.
  3457  	VpcEndpointId *string `type:"string"`
  3458  }
  3459  
  3460  // String returns the string representation.
  3461  //
  3462  // API parameter values that are decorated as "sensitive" in the API will not
  3463  // be included in the string output. The member name will be present, but the
  3464  // value will be replaced with "sensitive".
  3465  func (s CreateAgentInput) String() string {
  3466  	return awsutil.Prettify(s)
  3467  }
  3468  
  3469  // GoString returns the string representation.
  3470  //
  3471  // API parameter values that are decorated as "sensitive" in the API will not
  3472  // be included in the string output. The member name will be present, but the
  3473  // value will be replaced with "sensitive".
  3474  func (s CreateAgentInput) GoString() string {
  3475  	return s.String()
  3476  }
  3477  
  3478  // Validate inspects the fields of the type to determine if they are valid.
  3479  func (s *CreateAgentInput) Validate() error {
  3480  	invalidParams := request.ErrInvalidParams{Context: "CreateAgentInput"}
  3481  	if s.ActivationKey == nil {
  3482  		invalidParams.Add(request.NewErrParamRequired("ActivationKey"))
  3483  	}
  3484  	if s.AgentName != nil && len(*s.AgentName) < 1 {
  3485  		invalidParams.Add(request.NewErrParamMinLen("AgentName", 1))
  3486  	}
  3487  	if s.SecurityGroupArns != nil && len(s.SecurityGroupArns) < 1 {
  3488  		invalidParams.Add(request.NewErrParamMinLen("SecurityGroupArns", 1))
  3489  	}
  3490  	if s.SubnetArns != nil && len(s.SubnetArns) < 1 {
  3491  		invalidParams.Add(request.NewErrParamMinLen("SubnetArns", 1))
  3492  	}
  3493  	if s.Tags != nil {
  3494  		for i, v := range s.Tags {
  3495  			if v == nil {
  3496  				continue
  3497  			}
  3498  			if err := v.Validate(); err != nil {
  3499  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  3500  			}
  3501  		}
  3502  	}
  3503  
  3504  	if invalidParams.Len() > 0 {
  3505  		return invalidParams
  3506  	}
  3507  	return nil
  3508  }
  3509  
  3510  // SetActivationKey sets the ActivationKey field's value.
  3511  func (s *CreateAgentInput) SetActivationKey(v string) *CreateAgentInput {
  3512  	s.ActivationKey = &v
  3513  	return s
  3514  }
  3515  
  3516  // SetAgentName sets the AgentName field's value.
  3517  func (s *CreateAgentInput) SetAgentName(v string) *CreateAgentInput {
  3518  	s.AgentName = &v
  3519  	return s
  3520  }
  3521  
  3522  // SetSecurityGroupArns sets the SecurityGroupArns field's value.
  3523  func (s *CreateAgentInput) SetSecurityGroupArns(v []*string) *CreateAgentInput {
  3524  	s.SecurityGroupArns = v
  3525  	return s
  3526  }
  3527  
  3528  // SetSubnetArns sets the SubnetArns field's value.
  3529  func (s *CreateAgentInput) SetSubnetArns(v []*string) *CreateAgentInput {
  3530  	s.SubnetArns = v
  3531  	return s
  3532  }
  3533  
  3534  // SetTags sets the Tags field's value.
  3535  func (s *CreateAgentInput) SetTags(v []*TagListEntry) *CreateAgentInput {
  3536  	s.Tags = v
  3537  	return s
  3538  }
  3539  
  3540  // SetVpcEndpointId sets the VpcEndpointId field's value.
  3541  func (s *CreateAgentInput) SetVpcEndpointId(v string) *CreateAgentInput {
  3542  	s.VpcEndpointId = &v
  3543  	return s
  3544  }
  3545  
  3546  // CreateAgentResponse
  3547  type CreateAgentOutput struct {
  3548  	_ struct{} `type:"structure"`
  3549  
  3550  	// The Amazon Resource Name (ARN) of the agent. Use the ListAgents operation
  3551  	// to return a list of agents for your account and Amazon Web Services Region.
  3552  	AgentArn *string `type:"string"`
  3553  }
  3554  
  3555  // String returns the string representation.
  3556  //
  3557  // API parameter values that are decorated as "sensitive" in the API will not
  3558  // be included in the string output. The member name will be present, but the
  3559  // value will be replaced with "sensitive".
  3560  func (s CreateAgentOutput) String() string {
  3561  	return awsutil.Prettify(s)
  3562  }
  3563  
  3564  // GoString returns the string representation.
  3565  //
  3566  // API parameter values that are decorated as "sensitive" in the API will not
  3567  // be included in the string output. The member name will be present, but the
  3568  // value will be replaced with "sensitive".
  3569  func (s CreateAgentOutput) GoString() string {
  3570  	return s.String()
  3571  }
  3572  
  3573  // SetAgentArn sets the AgentArn field's value.
  3574  func (s *CreateAgentOutput) SetAgentArn(v string) *CreateAgentOutput {
  3575  	s.AgentArn = &v
  3576  	return s
  3577  }
  3578  
  3579  // CreateLocationEfsRequest
  3580  type CreateLocationEfsInput struct {
  3581  	_ struct{} `type:"structure"`
  3582  
  3583  	// The subnet and security group that the Amazon EFS file system uses. The security
  3584  	// group that you provide needs to be able to communicate with the security
  3585  	// group on the mount target in the subnet specified.
  3586  	//
  3587  	// The exact relationship between security group M (of the mount target) and
  3588  	// security group S (which you provide for DataSync to use at this stage) is
  3589  	// as follows:
  3590  	//
  3591  	//    * Security group M (which you associate with the mount target) must allow
  3592  	//    inbound access for the Transmission Control Protocol (TCP) on the NFS
  3593  	//    port (2049) from security group S. You can enable inbound connections
  3594  	//    either by IP address (CIDR range) or security group.
  3595  	//
  3596  	//    * Security group S (provided to DataSync to access EFS) should have a
  3597  	//    rule that enables outbound connections to the NFS port on one of the file
  3598  	//    system’s mount targets. You can enable outbound connections either by
  3599  	//    IP address (CIDR range) or security group. For information about security
  3600  	//    groups and mount targets, see Security Groups for Amazon EC2 Instances
  3601  	//    and Mount Targets in the Amazon EFS User Guide.
  3602  	//
  3603  	// Ec2Config is a required field
  3604  	Ec2Config *Ec2Config `type:"structure" required:"true"`
  3605  
  3606  	// The Amazon Resource Name (ARN) for the Amazon EFS file system.
  3607  	//
  3608  	// EfsFilesystemArn is a required field
  3609  	EfsFilesystemArn *string `type:"string" required:"true"`
  3610  
  3611  	// A subdirectory in the location’s path. This subdirectory in the EFS file
  3612  	// system is used to read data from the EFS source location or write data to
  3613  	// the EFS destination. By default, DataSync uses the root directory.
  3614  	//
  3615  	// Subdirectory must be specified with forward slashes. For example, /path/to/folder.
  3616  	Subdirectory *string `type:"string"`
  3617  
  3618  	// The key-value pair that represents a tag that you want to add to the resource.
  3619  	// The value can be an empty string. This value helps you manage, filter, and
  3620  	// search for your resources. We recommend that you create a name tag for your
  3621  	// location.
  3622  	Tags []*TagListEntry `type:"list"`
  3623  }
  3624  
  3625  // String returns the string representation.
  3626  //
  3627  // API parameter values that are decorated as "sensitive" in the API will not
  3628  // be included in the string output. The member name will be present, but the
  3629  // value will be replaced with "sensitive".
  3630  func (s CreateLocationEfsInput) String() string {
  3631  	return awsutil.Prettify(s)
  3632  }
  3633  
  3634  // GoString returns the string representation.
  3635  //
  3636  // API parameter values that are decorated as "sensitive" in the API will not
  3637  // be included in the string output. The member name will be present, but the
  3638  // value will be replaced with "sensitive".
  3639  func (s CreateLocationEfsInput) GoString() string {
  3640  	return s.String()
  3641  }
  3642  
  3643  // Validate inspects the fields of the type to determine if they are valid.
  3644  func (s *CreateLocationEfsInput) Validate() error {
  3645  	invalidParams := request.ErrInvalidParams{Context: "CreateLocationEfsInput"}
  3646  	if s.Ec2Config == nil {
  3647  		invalidParams.Add(request.NewErrParamRequired("Ec2Config"))
  3648  	}
  3649  	if s.EfsFilesystemArn == nil {
  3650  		invalidParams.Add(request.NewErrParamRequired("EfsFilesystemArn"))
  3651  	}
  3652  	if s.Ec2Config != nil {
  3653  		if err := s.Ec2Config.Validate(); err != nil {
  3654  			invalidParams.AddNested("Ec2Config", err.(request.ErrInvalidParams))
  3655  		}
  3656  	}
  3657  	if s.Tags != nil {
  3658  		for i, v := range s.Tags {
  3659  			if v == nil {
  3660  				continue
  3661  			}
  3662  			if err := v.Validate(); err != nil {
  3663  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  3664  			}
  3665  		}
  3666  	}
  3667  
  3668  	if invalidParams.Len() > 0 {
  3669  		return invalidParams
  3670  	}
  3671  	return nil
  3672  }
  3673  
  3674  // SetEc2Config sets the Ec2Config field's value.
  3675  func (s *CreateLocationEfsInput) SetEc2Config(v *Ec2Config) *CreateLocationEfsInput {
  3676  	s.Ec2Config = v
  3677  	return s
  3678  }
  3679  
  3680  // SetEfsFilesystemArn sets the EfsFilesystemArn field's value.
  3681  func (s *CreateLocationEfsInput) SetEfsFilesystemArn(v string) *CreateLocationEfsInput {
  3682  	s.EfsFilesystemArn = &v
  3683  	return s
  3684  }
  3685  
  3686  // SetSubdirectory sets the Subdirectory field's value.
  3687  func (s *CreateLocationEfsInput) SetSubdirectory(v string) *CreateLocationEfsInput {
  3688  	s.Subdirectory = &v
  3689  	return s
  3690  }
  3691  
  3692  // SetTags sets the Tags field's value.
  3693  func (s *CreateLocationEfsInput) SetTags(v []*TagListEntry) *CreateLocationEfsInput {
  3694  	s.Tags = v
  3695  	return s
  3696  }
  3697  
  3698  // CreateLocationEfs
  3699  type CreateLocationEfsOutput struct {
  3700  	_ struct{} `type:"structure"`
  3701  
  3702  	// The Amazon Resource Name (ARN) of the Amazon EFS file system location that
  3703  	// is created.
  3704  	LocationArn *string `type:"string"`
  3705  }
  3706  
  3707  // String returns the string representation.
  3708  //
  3709  // API parameter values that are decorated as "sensitive" in the API will not
  3710  // be included in the string output. The member name will be present, but the
  3711  // value will be replaced with "sensitive".
  3712  func (s CreateLocationEfsOutput) String() string {
  3713  	return awsutil.Prettify(s)
  3714  }
  3715  
  3716  // GoString returns the string representation.
  3717  //
  3718  // API parameter values that are decorated as "sensitive" in the API will not
  3719  // be included in the string output. The member name will be present, but the
  3720  // value will be replaced with "sensitive".
  3721  func (s CreateLocationEfsOutput) GoString() string {
  3722  	return s.String()
  3723  }
  3724  
  3725  // SetLocationArn sets the LocationArn field's value.
  3726  func (s *CreateLocationEfsOutput) SetLocationArn(v string) *CreateLocationEfsOutput {
  3727  	s.LocationArn = &v
  3728  	return s
  3729  }
  3730  
  3731  type CreateLocationFsxWindowsInput struct {
  3732  	_ struct{} `type:"structure"`
  3733  
  3734  	// The name of the Windows domain that the FSx for Windows File Server belongs
  3735  	// to.
  3736  	Domain *string `type:"string"`
  3737  
  3738  	// The Amazon Resource Name (ARN) for the FSx for Windows File Server file system.
  3739  	//
  3740  	// FsxFilesystemArn is a required field
  3741  	FsxFilesystemArn *string `type:"string" required:"true"`
  3742  
  3743  	// The password of the user who has the permissions to access files and folders
  3744  	// in the FSx for Windows File Server file system.
  3745  	//
  3746  	// Password is a sensitive parameter and its value will be
  3747  	// replaced with "sensitive" in string returned by CreateLocationFsxWindowsInput's
  3748  	// String and GoString methods.
  3749  	//
  3750  	// Password is a required field
  3751  	Password *string `type:"string" required:"true" sensitive:"true"`
  3752  
  3753  	// The Amazon Resource Names (ARNs) of the security groups that are to use to
  3754  	// configure the FSx for Windows File Server file system.
  3755  	//
  3756  	// SecurityGroupArns is a required field
  3757  	SecurityGroupArns []*string `min:"1" type:"list" required:"true"`
  3758  
  3759  	// A subdirectory in the location’s path. This subdirectory in the Amazon
  3760  	// FSx for Windows File Server file system is used to read data from the Amazon
  3761  	// FSx for Windows File Server source location or write data to the FSx for
  3762  	// Windows File Server destination.
  3763  	Subdirectory *string `type:"string"`
  3764  
  3765  	// The key-value pair that represents a tag that you want to add to the resource.
  3766  	// The value can be an empty string. This value helps you manage, filter, and
  3767  	// search for your resources. We recommend that you create a name tag for your
  3768  	// location.
  3769  	Tags []*TagListEntry `type:"list"`
  3770  
  3771  	// The user who has the permissions to access files and folders in the FSx for
  3772  	// Windows File Server file system.
  3773  	//
  3774  	// For information about choosing a user name that ensures sufficient permissions
  3775  	// to files, folders, and metadata, see user (create-fsx-location.html#FSxWuser).
  3776  	//
  3777  	// User is a required field
  3778  	User *string `type:"string" required:"true"`
  3779  }
  3780  
  3781  // String returns the string representation.
  3782  //
  3783  // API parameter values that are decorated as "sensitive" in the API will not
  3784  // be included in the string output. The member name will be present, but the
  3785  // value will be replaced with "sensitive".
  3786  func (s CreateLocationFsxWindowsInput) String() string {
  3787  	return awsutil.Prettify(s)
  3788  }
  3789  
  3790  // GoString returns the string representation.
  3791  //
  3792  // API parameter values that are decorated as "sensitive" in the API will not
  3793  // be included in the string output. The member name will be present, but the
  3794  // value will be replaced with "sensitive".
  3795  func (s CreateLocationFsxWindowsInput) GoString() string {
  3796  	return s.String()
  3797  }
  3798  
  3799  // Validate inspects the fields of the type to determine if they are valid.
  3800  func (s *CreateLocationFsxWindowsInput) Validate() error {
  3801  	invalidParams := request.ErrInvalidParams{Context: "CreateLocationFsxWindowsInput"}
  3802  	if s.FsxFilesystemArn == nil {
  3803  		invalidParams.Add(request.NewErrParamRequired("FsxFilesystemArn"))
  3804  	}
  3805  	if s.Password == nil {
  3806  		invalidParams.Add(request.NewErrParamRequired("Password"))
  3807  	}
  3808  	if s.SecurityGroupArns == nil {
  3809  		invalidParams.Add(request.NewErrParamRequired("SecurityGroupArns"))
  3810  	}
  3811  	if s.SecurityGroupArns != nil && len(s.SecurityGroupArns) < 1 {
  3812  		invalidParams.Add(request.NewErrParamMinLen("SecurityGroupArns", 1))
  3813  	}
  3814  	if s.User == nil {
  3815  		invalidParams.Add(request.NewErrParamRequired("User"))
  3816  	}
  3817  	if s.Tags != nil {
  3818  		for i, v := range s.Tags {
  3819  			if v == nil {
  3820  				continue
  3821  			}
  3822  			if err := v.Validate(); err != nil {
  3823  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  3824  			}
  3825  		}
  3826  	}
  3827  
  3828  	if invalidParams.Len() > 0 {
  3829  		return invalidParams
  3830  	}
  3831  	return nil
  3832  }
  3833  
  3834  // SetDomain sets the Domain field's value.
  3835  func (s *CreateLocationFsxWindowsInput) SetDomain(v string) *CreateLocationFsxWindowsInput {
  3836  	s.Domain = &v
  3837  	return s
  3838  }
  3839  
  3840  // SetFsxFilesystemArn sets the FsxFilesystemArn field's value.
  3841  func (s *CreateLocationFsxWindowsInput) SetFsxFilesystemArn(v string) *CreateLocationFsxWindowsInput {
  3842  	s.FsxFilesystemArn = &v
  3843  	return s
  3844  }
  3845  
  3846  // SetPassword sets the Password field's value.
  3847  func (s *CreateLocationFsxWindowsInput) SetPassword(v string) *CreateLocationFsxWindowsInput {
  3848  	s.Password = &v
  3849  	return s
  3850  }
  3851  
  3852  // SetSecurityGroupArns sets the SecurityGroupArns field's value.
  3853  func (s *CreateLocationFsxWindowsInput) SetSecurityGroupArns(v []*string) *CreateLocationFsxWindowsInput {
  3854  	s.SecurityGroupArns = v
  3855  	return s
  3856  }
  3857  
  3858  // SetSubdirectory sets the Subdirectory field's value.
  3859  func (s *CreateLocationFsxWindowsInput) SetSubdirectory(v string) *CreateLocationFsxWindowsInput {
  3860  	s.Subdirectory = &v
  3861  	return s
  3862  }
  3863  
  3864  // SetTags sets the Tags field's value.
  3865  func (s *CreateLocationFsxWindowsInput) SetTags(v []*TagListEntry) *CreateLocationFsxWindowsInput {
  3866  	s.Tags = v
  3867  	return s
  3868  }
  3869  
  3870  // SetUser sets the User field's value.
  3871  func (s *CreateLocationFsxWindowsInput) SetUser(v string) *CreateLocationFsxWindowsInput {
  3872  	s.User = &v
  3873  	return s
  3874  }
  3875  
  3876  type CreateLocationFsxWindowsOutput struct {
  3877  	_ struct{} `type:"structure"`
  3878  
  3879  	// The Amazon Resource Name (ARN) of the FSx for Windows File Server file system
  3880  	// location that is created.
  3881  	LocationArn *string `type:"string"`
  3882  }
  3883  
  3884  // String returns the string representation.
  3885  //
  3886  // API parameter values that are decorated as "sensitive" in the API will not
  3887  // be included in the string output. The member name will be present, but the
  3888  // value will be replaced with "sensitive".
  3889  func (s CreateLocationFsxWindowsOutput) String() string {
  3890  	return awsutil.Prettify(s)
  3891  }
  3892  
  3893  // GoString returns the string representation.
  3894  //
  3895  // API parameter values that are decorated as "sensitive" in the API will not
  3896  // be included in the string output. The member name will be present, but the
  3897  // value will be replaced with "sensitive".
  3898  func (s CreateLocationFsxWindowsOutput) GoString() string {
  3899  	return s.String()
  3900  }
  3901  
  3902  // SetLocationArn sets the LocationArn field's value.
  3903  func (s *CreateLocationFsxWindowsOutput) SetLocationArn(v string) *CreateLocationFsxWindowsOutput {
  3904  	s.LocationArn = &v
  3905  	return s
  3906  }
  3907  
  3908  // CreateLocationNfsRequest
  3909  type CreateLocationNfsInput struct {
  3910  	_ struct{} `type:"structure"`
  3911  
  3912  	// The NFS mount options that DataSync can use to mount your NFS share.
  3913  	MountOptions *NfsMountOptions `type:"structure"`
  3914  
  3915  	// Contains a list of Amazon Resource Names (ARNs) of agents that are used to
  3916  	// connect to an NFS server.
  3917  	//
  3918  	// If you are copying data to or from your Snowcone device, see NFS Server on
  3919  	// Snowcone (https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone)
  3920  	// for more information.
  3921  	//
  3922  	// OnPremConfig is a required field
  3923  	OnPremConfig *OnPremConfig `type:"structure" required:"true"`
  3924  
  3925  	// The name of the NFS server. This value is the IP address or Domain Name Service
  3926  	// (DNS) name of the NFS server. An agent that is installed on-premises uses
  3927  	// this host name to mount the NFS server in a network.
  3928  	//
  3929  	// If you are copying data to or from your Snowcone device, see NFS Server on
  3930  	// Snowcone (https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone)
  3931  	// for more information.
  3932  	//
  3933  	// This name must either be DNS-compliant or must be an IP version 4 (IPv4)
  3934  	// address.
  3935  	//
  3936  	// ServerHostname is a required field
  3937  	ServerHostname *string `type:"string" required:"true"`
  3938  
  3939  	// The subdirectory in the NFS file system that is used to read data from the
  3940  	// NFS source location or write data to the NFS destination. The NFS path should
  3941  	// be a path that's exported by the NFS server, or a subdirectory of that path.
  3942  	// The path should be such that it can be mounted by other NFS clients in your
  3943  	// network.
  3944  	//
  3945  	// To see all the paths exported by your NFS server, run "showmount -e nfs-server-name"
  3946  	// from an NFS client that has access to your server. You can specify any directory
  3947  	// that appears in the results, and any subdirectory of that directory. Ensure
  3948  	// that the NFS export is accessible without Kerberos authentication.
  3949  	//
  3950  	// To transfer all the data in the folder you specified, DataSync needs to have
  3951  	// permissions to read all the data. To ensure this, either configure the NFS
  3952  	// export with no_root_squash, or ensure that the permissions for all of the
  3953  	// files that you want DataSync allow read access for all users. Doing either
  3954  	// enables the agent to read the files. For the agent to access directories,
  3955  	// you must additionally enable all execute access.
  3956  	//
  3957  	// If you are copying data to or from your Snowcone device, see NFS Server on
  3958  	// Snowcone (https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone)
  3959  	// for more information.
  3960  	//
  3961  	// For information about NFS export configuration, see 18.7. The /etc/exports
  3962  	// Configuration File in the Red Hat Enterprise Linux documentation.
  3963  	//
  3964  	// Subdirectory is a required field
  3965  	Subdirectory *string `type:"string" required:"true"`
  3966  
  3967  	// The key-value pair that represents the tag that you want to add to the location.
  3968  	// The value can be an empty string. We recommend using tags to name your resources.
  3969  	Tags []*TagListEntry `type:"list"`
  3970  }
  3971  
  3972  // String returns the string representation.
  3973  //
  3974  // API parameter values that are decorated as "sensitive" in the API will not
  3975  // be included in the string output. The member name will be present, but the
  3976  // value will be replaced with "sensitive".
  3977  func (s CreateLocationNfsInput) String() string {
  3978  	return awsutil.Prettify(s)
  3979  }
  3980  
  3981  // GoString returns the string representation.
  3982  //
  3983  // API parameter values that are decorated as "sensitive" in the API will not
  3984  // be included in the string output. The member name will be present, but the
  3985  // value will be replaced with "sensitive".
  3986  func (s CreateLocationNfsInput) GoString() string {
  3987  	return s.String()
  3988  }
  3989  
  3990  // Validate inspects the fields of the type to determine if they are valid.
  3991  func (s *CreateLocationNfsInput) Validate() error {
  3992  	invalidParams := request.ErrInvalidParams{Context: "CreateLocationNfsInput"}
  3993  	if s.OnPremConfig == nil {
  3994  		invalidParams.Add(request.NewErrParamRequired("OnPremConfig"))
  3995  	}
  3996  	if s.ServerHostname == nil {
  3997  		invalidParams.Add(request.NewErrParamRequired("ServerHostname"))
  3998  	}
  3999  	if s.Subdirectory == nil {
  4000  		invalidParams.Add(request.NewErrParamRequired("Subdirectory"))
  4001  	}
  4002  	if s.OnPremConfig != nil {
  4003  		if err := s.OnPremConfig.Validate(); err != nil {
  4004  			invalidParams.AddNested("OnPremConfig", err.(request.ErrInvalidParams))
  4005  		}
  4006  	}
  4007  	if s.Tags != nil {
  4008  		for i, v := range s.Tags {
  4009  			if v == nil {
  4010  				continue
  4011  			}
  4012  			if err := v.Validate(); err != nil {
  4013  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  4014  			}
  4015  		}
  4016  	}
  4017  
  4018  	if invalidParams.Len() > 0 {
  4019  		return invalidParams
  4020  	}
  4021  	return nil
  4022  }
  4023  
  4024  // SetMountOptions sets the MountOptions field's value.
  4025  func (s *CreateLocationNfsInput) SetMountOptions(v *NfsMountOptions) *CreateLocationNfsInput {
  4026  	s.MountOptions = v
  4027  	return s
  4028  }
  4029  
  4030  // SetOnPremConfig sets the OnPremConfig field's value.
  4031  func (s *CreateLocationNfsInput) SetOnPremConfig(v *OnPremConfig) *CreateLocationNfsInput {
  4032  	s.OnPremConfig = v
  4033  	return s
  4034  }
  4035  
  4036  // SetServerHostname sets the ServerHostname field's value.
  4037  func (s *CreateLocationNfsInput) SetServerHostname(v string) *CreateLocationNfsInput {
  4038  	s.ServerHostname = &v
  4039  	return s
  4040  }
  4041  
  4042  // SetSubdirectory sets the Subdirectory field's value.
  4043  func (s *CreateLocationNfsInput) SetSubdirectory(v string) *CreateLocationNfsInput {
  4044  	s.Subdirectory = &v
  4045  	return s
  4046  }
  4047  
  4048  // SetTags sets the Tags field's value.
  4049  func (s *CreateLocationNfsInput) SetTags(v []*TagListEntry) *CreateLocationNfsInput {
  4050  	s.Tags = v
  4051  	return s
  4052  }
  4053  
  4054  // CreateLocationNfsResponse
  4055  type CreateLocationNfsOutput struct {
  4056  	_ struct{} `type:"structure"`
  4057  
  4058  	// The Amazon Resource Name (ARN) of the source NFS file system location that
  4059  	// is created.
  4060  	LocationArn *string `type:"string"`
  4061  }
  4062  
  4063  // String returns the string representation.
  4064  //
  4065  // API parameter values that are decorated as "sensitive" in the API will not
  4066  // be included in the string output. The member name will be present, but the
  4067  // value will be replaced with "sensitive".
  4068  func (s CreateLocationNfsOutput) String() string {
  4069  	return awsutil.Prettify(s)
  4070  }
  4071  
  4072  // GoString returns the string representation.
  4073  //
  4074  // API parameter values that are decorated as "sensitive" in the API will not
  4075  // be included in the string output. The member name will be present, but the
  4076  // value will be replaced with "sensitive".
  4077  func (s CreateLocationNfsOutput) GoString() string {
  4078  	return s.String()
  4079  }
  4080  
  4081  // SetLocationArn sets the LocationArn field's value.
  4082  func (s *CreateLocationNfsOutput) SetLocationArn(v string) *CreateLocationNfsOutput {
  4083  	s.LocationArn = &v
  4084  	return s
  4085  }
  4086  
  4087  // CreateLocationObjectStorageRequest
  4088  type CreateLocationObjectStorageInput struct {
  4089  	_ struct{} `type:"structure"`
  4090  
  4091  	// Optional. The access key is used if credentials are required to access the
  4092  	// self-managed object storage server. If your object storage requires a user
  4093  	// name and password to authenticate, use AccessKey and SecretKey to provide
  4094  	// the user name and password, respectively.
  4095  	AccessKey *string `min:"8" type:"string"`
  4096  
  4097  	// The Amazon Resource Name (ARN) of the agents associated with the self-managed
  4098  	// object storage server location.
  4099  	//
  4100  	// AgentArns is a required field
  4101  	AgentArns []*string `min:"1" type:"list" required:"true"`
  4102  
  4103  	// The bucket on the self-managed object storage server that is used to read
  4104  	// data from.
  4105  	//
  4106  	// BucketName is a required field
  4107  	BucketName *string `min:"3" type:"string" required:"true"`
  4108  
  4109  	// Optional. The secret key is used if credentials are required to access the
  4110  	// self-managed object storage server. If your object storage requires a user
  4111  	// name and password to authenticate, use AccessKey and SecretKey to provide
  4112  	// the user name and password, respectively.
  4113  	//
  4114  	// SecretKey is a sensitive parameter and its value will be
  4115  	// replaced with "sensitive" in string returned by CreateLocationObjectStorageInput's
  4116  	// String and GoString methods.
  4117  	SecretKey *string `min:"8" type:"string" sensitive:"true"`
  4118  
  4119  	// The name of the self-managed object storage server. This value is the IP
  4120  	// address or Domain Name Service (DNS) name of the object storage server. An
  4121  	// agent uses this host name to mount the object storage server in a network.
  4122  	//
  4123  	// ServerHostname is a required field
  4124  	ServerHostname *string `type:"string" required:"true"`
  4125  
  4126  	// The port that your self-managed object storage server accepts inbound network
  4127  	// traffic on. The server port is set by default to TCP 80 (HTTP) or TCP 443
  4128  	// (HTTPS). You can specify a custom port if your self-managed object storage
  4129  	// server requires one.
  4130  	ServerPort *int64 `min:"1" type:"integer"`
  4131  
  4132  	// The protocol that the object storage server uses to communicate. Valid values
  4133  	// are HTTP or HTTPS.
  4134  	ServerProtocol *string `type:"string" enum:"ObjectStorageServerProtocol"`
  4135  
  4136  	// The subdirectory in the self-managed object storage server that is used to
  4137  	// read data from.
  4138  	Subdirectory *string `type:"string"`
  4139  
  4140  	// The key-value pair that represents the tag that you want to add to the location.
  4141  	// The value can be an empty string. We recommend using tags to name your resources.
  4142  	Tags []*TagListEntry `type:"list"`
  4143  }
  4144  
  4145  // String returns the string representation.
  4146  //
  4147  // API parameter values that are decorated as "sensitive" in the API will not
  4148  // be included in the string output. The member name will be present, but the
  4149  // value will be replaced with "sensitive".
  4150  func (s CreateLocationObjectStorageInput) String() string {
  4151  	return awsutil.Prettify(s)
  4152  }
  4153  
  4154  // GoString returns the string representation.
  4155  //
  4156  // API parameter values that are decorated as "sensitive" in the API will not
  4157  // be included in the string output. The member name will be present, but the
  4158  // value will be replaced with "sensitive".
  4159  func (s CreateLocationObjectStorageInput) GoString() string {
  4160  	return s.String()
  4161  }
  4162  
  4163  // Validate inspects the fields of the type to determine if they are valid.
  4164  func (s *CreateLocationObjectStorageInput) Validate() error {
  4165  	invalidParams := request.ErrInvalidParams{Context: "CreateLocationObjectStorageInput"}
  4166  	if s.AccessKey != nil && len(*s.AccessKey) < 8 {
  4167  		invalidParams.Add(request.NewErrParamMinLen("AccessKey", 8))
  4168  	}
  4169  	if s.AgentArns == nil {
  4170  		invalidParams.Add(request.NewErrParamRequired("AgentArns"))
  4171  	}
  4172  	if s.AgentArns != nil && len(s.AgentArns) < 1 {
  4173  		invalidParams.Add(request.NewErrParamMinLen("AgentArns", 1))
  4174  	}
  4175  	if s.BucketName == nil {
  4176  		invalidParams.Add(request.NewErrParamRequired("BucketName"))
  4177  	}
  4178  	if s.BucketName != nil && len(*s.BucketName) < 3 {
  4179  		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
  4180  	}
  4181  	if s.SecretKey != nil && len(*s.SecretKey) < 8 {
  4182  		invalidParams.Add(request.NewErrParamMinLen("SecretKey", 8))
  4183  	}
  4184  	if s.ServerHostname == nil {
  4185  		invalidParams.Add(request.NewErrParamRequired("ServerHostname"))
  4186  	}
  4187  	if s.ServerPort != nil && *s.ServerPort < 1 {
  4188  		invalidParams.Add(request.NewErrParamMinValue("ServerPort", 1))
  4189  	}
  4190  	if s.Tags != nil {
  4191  		for i, v := range s.Tags {
  4192  			if v == nil {
  4193  				continue
  4194  			}
  4195  			if err := v.Validate(); err != nil {
  4196  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  4197  			}
  4198  		}
  4199  	}
  4200  
  4201  	if invalidParams.Len() > 0 {
  4202  		return invalidParams
  4203  	}
  4204  	return nil
  4205  }
  4206  
  4207  // SetAccessKey sets the AccessKey field's value.
  4208  func (s *CreateLocationObjectStorageInput) SetAccessKey(v string) *CreateLocationObjectStorageInput {
  4209  	s.AccessKey = &v
  4210  	return s
  4211  }
  4212  
  4213  // SetAgentArns sets the AgentArns field's value.
  4214  func (s *CreateLocationObjectStorageInput) SetAgentArns(v []*string) *CreateLocationObjectStorageInput {
  4215  	s.AgentArns = v
  4216  	return s
  4217  }
  4218  
  4219  // SetBucketName sets the BucketName field's value.
  4220  func (s *CreateLocationObjectStorageInput) SetBucketName(v string) *CreateLocationObjectStorageInput {
  4221  	s.BucketName = &v
  4222  	return s
  4223  }
  4224  
  4225  // SetSecretKey sets the SecretKey field's value.
  4226  func (s *CreateLocationObjectStorageInput) SetSecretKey(v string) *CreateLocationObjectStorageInput {
  4227  	s.SecretKey = &v
  4228  	return s
  4229  }
  4230  
  4231  // SetServerHostname sets the ServerHostname field's value.
  4232  func (s *CreateLocationObjectStorageInput) SetServerHostname(v string) *CreateLocationObjectStorageInput {
  4233  	s.ServerHostname = &v
  4234  	return s
  4235  }
  4236  
  4237  // SetServerPort sets the ServerPort field's value.
  4238  func (s *CreateLocationObjectStorageInput) SetServerPort(v int64) *CreateLocationObjectStorageInput {
  4239  	s.ServerPort = &v
  4240  	return s
  4241  }
  4242  
  4243  // SetServerProtocol sets the ServerProtocol field's value.
  4244  func (s *CreateLocationObjectStorageInput) SetServerProtocol(v string) *CreateLocationObjectStorageInput {
  4245  	s.ServerProtocol = &v
  4246  	return s
  4247  }
  4248  
  4249  // SetSubdirectory sets the Subdirectory field's value.
  4250  func (s *CreateLocationObjectStorageInput) SetSubdirectory(v string) *CreateLocationObjectStorageInput {
  4251  	s.Subdirectory = &v
  4252  	return s
  4253  }
  4254  
  4255  // SetTags sets the Tags field's value.
  4256  func (s *CreateLocationObjectStorageInput) SetTags(v []*TagListEntry) *CreateLocationObjectStorageInput {
  4257  	s.Tags = v
  4258  	return s
  4259  }
  4260  
  4261  // CreateLocationObjectStorageResponse
  4262  type CreateLocationObjectStorageOutput struct {
  4263  	_ struct{} `type:"structure"`
  4264  
  4265  	// The Amazon Resource Name (ARN) of the agents associated with the self-managed
  4266  	// object storage server location.
  4267  	LocationArn *string `type:"string"`
  4268  }
  4269  
  4270  // String returns the string representation.
  4271  //
  4272  // API parameter values that are decorated as "sensitive" in the API will not
  4273  // be included in the string output. The member name will be present, but the
  4274  // value will be replaced with "sensitive".
  4275  func (s CreateLocationObjectStorageOutput) String() string {
  4276  	return awsutil.Prettify(s)
  4277  }
  4278  
  4279  // GoString returns the string representation.
  4280  //
  4281  // API parameter values that are decorated as "sensitive" in the API will not
  4282  // be included in the string output. The member name will be present, but the
  4283  // value will be replaced with "sensitive".
  4284  func (s CreateLocationObjectStorageOutput) GoString() string {
  4285  	return s.String()
  4286  }
  4287  
  4288  // SetLocationArn sets the LocationArn field's value.
  4289  func (s *CreateLocationObjectStorageOutput) SetLocationArn(v string) *CreateLocationObjectStorageOutput {
  4290  	s.LocationArn = &v
  4291  	return s
  4292  }
  4293  
  4294  // CreateLocationS3Request
  4295  type CreateLocationS3Input struct {
  4296  	_ struct{} `type:"structure"`
  4297  
  4298  	// If you are using DataSync on an Amazon Web Services Outpost, specify the
  4299  	// Amazon Resource Names (ARNs) of the DataSync agents deployed on your Outpost.
  4300  	// For more information about launching a DataSync agent on an Amazon Web Services
  4301  	// Outpost, see Deploy your DataSync agent on Outposts (https://docs.aws.amazon.com/datasync/latest/userguide/deploy-agents.html#outposts-agent).
  4302  	AgentArns []*string `min:"1" type:"list"`
  4303  
  4304  	// The ARN of the Amazon S3 bucket. If the bucket is on an Amazon Web Services
  4305  	// Outpost, this must be an access point ARN.
  4306  	//
  4307  	// S3BucketArn is a required field
  4308  	S3BucketArn *string `type:"string" required:"true"`
  4309  
  4310  	// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
  4311  	// role that is used to access an Amazon S3 bucket.
  4312  	//
  4313  	// For detailed information about using such a role, see Creating a Location
  4314  	// for Amazon S3 in the DataSync User Guide.
  4315  	//
  4316  	// S3Config is a required field
  4317  	S3Config *S3Config `type:"structure" required:"true"`
  4318  
  4319  	// The Amazon S3 storage class that you want to store your files in when this
  4320  	// location is used as a task destination. For buckets in Amazon Web Services
  4321  	// Regions, the storage class defaults to Standard. For buckets on Outposts,
  4322  	// the storage class defaults to Amazon Web Services S3 Outposts.
  4323  	//
  4324  	// For more information about S3 storage classes, see Amazon S3 Storage Classes
  4325  	// (http://aws.amazon.com/s3/storage-classes/). Some storage classes have behaviors
  4326  	// that can affect your S3 storage cost. For detailed information, see Considerations
  4327  	// when working with S3 storage classes in DataSync (https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes).
  4328  	S3StorageClass *string `type:"string" enum:"S3StorageClass"`
  4329  
  4330  	// A subdirectory in the Amazon S3 bucket. This subdirectory in Amazon S3 is
  4331  	// used to read data from the S3 source location or write data to the S3 destination.
  4332  	Subdirectory *string `type:"string"`
  4333  
  4334  	// The key-value pair that represents the tag that you want to add to the location.
  4335  	// The value can be an empty string. We recommend using tags to name your resources.
  4336  	Tags []*TagListEntry `type:"list"`
  4337  }
  4338  
  4339  // String returns the string representation.
  4340  //
  4341  // API parameter values that are decorated as "sensitive" in the API will not
  4342  // be included in the string output. The member name will be present, but the
  4343  // value will be replaced with "sensitive".
  4344  func (s CreateLocationS3Input) String() string {
  4345  	return awsutil.Prettify(s)
  4346  }
  4347  
  4348  // GoString returns the string representation.
  4349  //
  4350  // API parameter values that are decorated as "sensitive" in the API will not
  4351  // be included in the string output. The member name will be present, but the
  4352  // value will be replaced with "sensitive".
  4353  func (s CreateLocationS3Input) GoString() string {
  4354  	return s.String()
  4355  }
  4356  
  4357  // Validate inspects the fields of the type to determine if they are valid.
  4358  func (s *CreateLocationS3Input) Validate() error {
  4359  	invalidParams := request.ErrInvalidParams{Context: "CreateLocationS3Input"}
  4360  	if s.AgentArns != nil && len(s.AgentArns) < 1 {
  4361  		invalidParams.Add(request.NewErrParamMinLen("AgentArns", 1))
  4362  	}
  4363  	if s.S3BucketArn == nil {
  4364  		invalidParams.Add(request.NewErrParamRequired("S3BucketArn"))
  4365  	}
  4366  	if s.S3Config == nil {
  4367  		invalidParams.Add(request.NewErrParamRequired("S3Config"))
  4368  	}
  4369  	if s.S3Config != nil {
  4370  		if err := s.S3Config.Validate(); err != nil {
  4371  			invalidParams.AddNested("S3Config", err.(request.ErrInvalidParams))
  4372  		}
  4373  	}
  4374  	if s.Tags != nil {
  4375  		for i, v := range s.Tags {
  4376  			if v == nil {
  4377  				continue
  4378  			}
  4379  			if err := v.Validate(); err != nil {
  4380  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  4381  			}
  4382  		}
  4383  	}
  4384  
  4385  	if invalidParams.Len() > 0 {
  4386  		return invalidParams
  4387  	}
  4388  	return nil
  4389  }
  4390  
  4391  // SetAgentArns sets the AgentArns field's value.
  4392  func (s *CreateLocationS3Input) SetAgentArns(v []*string) *CreateLocationS3Input {
  4393  	s.AgentArns = v
  4394  	return s
  4395  }
  4396  
  4397  // SetS3BucketArn sets the S3BucketArn field's value.
  4398  func (s *CreateLocationS3Input) SetS3BucketArn(v string) *CreateLocationS3Input {
  4399  	s.S3BucketArn = &v
  4400  	return s
  4401  }
  4402  
  4403  // SetS3Config sets the S3Config field's value.
  4404  func (s *CreateLocationS3Input) SetS3Config(v *S3Config) *CreateLocationS3Input {
  4405  	s.S3Config = v
  4406  	return s
  4407  }
  4408  
  4409  // SetS3StorageClass sets the S3StorageClass field's value.
  4410  func (s *CreateLocationS3Input) SetS3StorageClass(v string) *CreateLocationS3Input {
  4411  	s.S3StorageClass = &v
  4412  	return s
  4413  }
  4414  
  4415  // SetSubdirectory sets the Subdirectory field's value.
  4416  func (s *CreateLocationS3Input) SetSubdirectory(v string) *CreateLocationS3Input {
  4417  	s.Subdirectory = &v
  4418  	return s
  4419  }
  4420  
  4421  // SetTags sets the Tags field's value.
  4422  func (s *CreateLocationS3Input) SetTags(v []*TagListEntry) *CreateLocationS3Input {
  4423  	s.Tags = v
  4424  	return s
  4425  }
  4426  
  4427  // CreateLocationS3Response
  4428  type CreateLocationS3Output struct {
  4429  	_ struct{} `type:"structure"`
  4430  
  4431  	// The Amazon Resource Name (ARN) of the source Amazon S3 bucket location that
  4432  	// is created.
  4433  	LocationArn *string `type:"string"`
  4434  }
  4435  
  4436  // String returns the string representation.
  4437  //
  4438  // API parameter values that are decorated as "sensitive" in the API will not
  4439  // be included in the string output. The member name will be present, but the
  4440  // value will be replaced with "sensitive".
  4441  func (s CreateLocationS3Output) String() string {
  4442  	return awsutil.Prettify(s)
  4443  }
  4444  
  4445  // GoString returns the string representation.
  4446  //
  4447  // API parameter values that are decorated as "sensitive" in the API will not
  4448  // be included in the string output. The member name will be present, but the
  4449  // value will be replaced with "sensitive".
  4450  func (s CreateLocationS3Output) GoString() string {
  4451  	return s.String()
  4452  }
  4453  
  4454  // SetLocationArn sets the LocationArn field's value.
  4455  func (s *CreateLocationS3Output) SetLocationArn(v string) *CreateLocationS3Output {
  4456  	s.LocationArn = &v
  4457  	return s
  4458  }
  4459  
  4460  // CreateLocationSmbRequest
  4461  type CreateLocationSmbInput struct {
  4462  	_ struct{} `type:"structure"`
  4463  
  4464  	// The Amazon Resource Names (ARNs) of agents to use for a Simple Message Block
  4465  	// (SMB) location.
  4466  	//
  4467  	// AgentArns is a required field
  4468  	AgentArns []*string `min:"1" type:"list" required:"true"`
  4469  
  4470  	// The name of the Windows domain that the SMB server belongs to.
  4471  	Domain *string `type:"string"`
  4472  
  4473  	// The mount options used by DataSync to access the SMB server.
  4474  	MountOptions *SmbMountOptions `type:"structure"`
  4475  
  4476  	// The password of the user who can mount the share, has the permissions to
  4477  	// access files and folders in the SMB share.
  4478  	//
  4479  	// Password is a sensitive parameter and its value will be
  4480  	// replaced with "sensitive" in string returned by CreateLocationSmbInput's
  4481  	// String and GoString methods.
  4482  	//
  4483  	// Password is a required field
  4484  	Password *string `type:"string" required:"true" sensitive:"true"`
  4485  
  4486  	// The name of the SMB server. This value is the IP address or Domain Name Service
  4487  	// (DNS) name of the SMB server. An agent that is installed on-premises uses
  4488  	// this hostname to mount the SMB server in a network.
  4489  	//
  4490  	// This name must either be DNS-compliant or must be an IP version 4 (IPv4)
  4491  	// address.
  4492  	//
  4493  	// ServerHostname is a required field
  4494  	ServerHostname *string `type:"string" required:"true"`
  4495  
  4496  	// The subdirectory in the SMB file system that is used to read data from the
  4497  	// SMB source location or write data to the SMB destination. The SMB path should
  4498  	// be a path that's exported by the SMB server, or a subdirectory of that path.
  4499  	// The path should be such that it can be mounted by other SMB clients in your
  4500  	// network.
  4501  	//
  4502  	// Subdirectory must be specified with forward slashes. For example, /path/to/folder.
  4503  	//
  4504  	// To transfer all the data in the folder you specified, DataSync needs to have
  4505  	// permissions to mount the SMB share, as well as to access all the data in
  4506  	// that share. To ensure this, either ensure that the user/password specified
  4507  	// belongs to the user who can mount the share, and who has the appropriate
  4508  	// permissions for all of the files and directories that you want DataSync to
  4509  	// access, or use credentials of a member of the Backup Operators group to mount
  4510  	// the share. Doing either enables the agent to access the data. For the agent
  4511  	// to access directories, you must additionally enable all execute access.
  4512  	//
  4513  	// Subdirectory is a required field
  4514  	Subdirectory *string `type:"string" required:"true"`
  4515  
  4516  	// The key-value pair that represents the tag that you want to add to the location.
  4517  	// The value can be an empty string. We recommend using tags to name your resources.
  4518  	Tags []*TagListEntry `type:"list"`
  4519  
  4520  	// The user who can mount the share, has the permissions to access files and
  4521  	// folders in the SMB share.
  4522  	//
  4523  	// For information about choosing a user name that ensures sufficient permissions
  4524  	// to files, folders, and metadata, see user (create-smb-location.html#SMBuser).
  4525  	//
  4526  	// User is a required field
  4527  	User *string `type:"string" required:"true"`
  4528  }
  4529  
  4530  // String returns the string representation.
  4531  //
  4532  // API parameter values that are decorated as "sensitive" in the API will not
  4533  // be included in the string output. The member name will be present, but the
  4534  // value will be replaced with "sensitive".
  4535  func (s CreateLocationSmbInput) String() string {
  4536  	return awsutil.Prettify(s)
  4537  }
  4538  
  4539  // GoString returns the string representation.
  4540  //
  4541  // API parameter values that are decorated as "sensitive" in the API will not
  4542  // be included in the string output. The member name will be present, but the
  4543  // value will be replaced with "sensitive".
  4544  func (s CreateLocationSmbInput) GoString() string {
  4545  	return s.String()
  4546  }
  4547  
  4548  // Validate inspects the fields of the type to determine if they are valid.
  4549  func (s *CreateLocationSmbInput) Validate() error {
  4550  	invalidParams := request.ErrInvalidParams{Context: "CreateLocationSmbInput"}
  4551  	if s.AgentArns == nil {
  4552  		invalidParams.Add(request.NewErrParamRequired("AgentArns"))
  4553  	}
  4554  	if s.AgentArns != nil && len(s.AgentArns) < 1 {
  4555  		invalidParams.Add(request.NewErrParamMinLen("AgentArns", 1))
  4556  	}
  4557  	if s.Password == nil {
  4558  		invalidParams.Add(request.NewErrParamRequired("Password"))
  4559  	}
  4560  	if s.ServerHostname == nil {
  4561  		invalidParams.Add(request.NewErrParamRequired("ServerHostname"))
  4562  	}
  4563  	if s.Subdirectory == nil {
  4564  		invalidParams.Add(request.NewErrParamRequired("Subdirectory"))
  4565  	}
  4566  	if s.User == nil {
  4567  		invalidParams.Add(request.NewErrParamRequired("User"))
  4568  	}
  4569  	if s.Tags != nil {
  4570  		for i, v := range s.Tags {
  4571  			if v == nil {
  4572  				continue
  4573  			}
  4574  			if err := v.Validate(); err != nil {
  4575  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  4576  			}
  4577  		}
  4578  	}
  4579  
  4580  	if invalidParams.Len() > 0 {
  4581  		return invalidParams
  4582  	}
  4583  	return nil
  4584  }
  4585  
  4586  // SetAgentArns sets the AgentArns field's value.
  4587  func (s *CreateLocationSmbInput) SetAgentArns(v []*string) *CreateLocationSmbInput {
  4588  	s.AgentArns = v
  4589  	return s
  4590  }
  4591  
  4592  // SetDomain sets the Domain field's value.
  4593  func (s *CreateLocationSmbInput) SetDomain(v string) *CreateLocationSmbInput {
  4594  	s.Domain = &v
  4595  	return s
  4596  }
  4597  
  4598  // SetMountOptions sets the MountOptions field's value.
  4599  func (s *CreateLocationSmbInput) SetMountOptions(v *SmbMountOptions) *CreateLocationSmbInput {
  4600  	s.MountOptions = v
  4601  	return s
  4602  }
  4603  
  4604  // SetPassword sets the Password field's value.
  4605  func (s *CreateLocationSmbInput) SetPassword(v string) *CreateLocationSmbInput {
  4606  	s.Password = &v
  4607  	return s
  4608  }
  4609  
  4610  // SetServerHostname sets the ServerHostname field's value.
  4611  func (s *CreateLocationSmbInput) SetServerHostname(v string) *CreateLocationSmbInput {
  4612  	s.ServerHostname = &v
  4613  	return s
  4614  }
  4615  
  4616  // SetSubdirectory sets the Subdirectory field's value.
  4617  func (s *CreateLocationSmbInput) SetSubdirectory(v string) *CreateLocationSmbInput {
  4618  	s.Subdirectory = &v
  4619  	return s
  4620  }
  4621  
  4622  // SetTags sets the Tags field's value.
  4623  func (s *CreateLocationSmbInput) SetTags(v []*TagListEntry) *CreateLocationSmbInput {
  4624  	s.Tags = v
  4625  	return s
  4626  }
  4627  
  4628  // SetUser sets the User field's value.
  4629  func (s *CreateLocationSmbInput) SetUser(v string) *CreateLocationSmbInput {
  4630  	s.User = &v
  4631  	return s
  4632  }
  4633  
  4634  // CreateLocationSmbResponse
  4635  type CreateLocationSmbOutput struct {
  4636  	_ struct{} `type:"structure"`
  4637  
  4638  	// The Amazon Resource Name (ARN) of the source SMB file system location that
  4639  	// is created.
  4640  	LocationArn *string `type:"string"`
  4641  }
  4642  
  4643  // String returns the string representation.
  4644  //
  4645  // API parameter values that are decorated as "sensitive" in the API will not
  4646  // be included in the string output. The member name will be present, but the
  4647  // value will be replaced with "sensitive".
  4648  func (s CreateLocationSmbOutput) String() string {
  4649  	return awsutil.Prettify(s)
  4650  }
  4651  
  4652  // GoString returns the string representation.
  4653  //
  4654  // API parameter values that are decorated as "sensitive" in the API will not
  4655  // be included in the string output. The member name will be present, but the
  4656  // value will be replaced with "sensitive".
  4657  func (s CreateLocationSmbOutput) GoString() string {
  4658  	return s.String()
  4659  }
  4660  
  4661  // SetLocationArn sets the LocationArn field's value.
  4662  func (s *CreateLocationSmbOutput) SetLocationArn(v string) *CreateLocationSmbOutput {
  4663  	s.LocationArn = &v
  4664  	return s
  4665  }
  4666  
  4667  // CreateTaskRequest
  4668  type CreateTaskInput struct {
  4669  	_ struct{} `type:"structure"`
  4670  
  4671  	// The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that is
  4672  	// used to monitor and log events in the task.
  4673  	CloudWatchLogGroupArn *string `type:"string"`
  4674  
  4675  	// The Amazon Resource Name (ARN) of an Amazon Web Services storage resource's
  4676  	// location.
  4677  	//
  4678  	// DestinationLocationArn is a required field
  4679  	DestinationLocationArn *string `type:"string" required:"true"`
  4680  
  4681  	// A list of filter rules that determines which files to exclude from a task.
  4682  	// The list should contain a single filter string that consists of the patterns
  4683  	// to exclude. The patterns are delimited by "|" (that is, a pipe), for example,
  4684  	// "/folder1|/folder2".
  4685  	Excludes []*FilterRule `type:"list"`
  4686  
  4687  	// A list of filter rules that determines which files to include when running
  4688  	// a task. The pattern should contain a single filter string that consists of
  4689  	// the patterns to include. The patterns are delimited by "|" (that is, a pipe).
  4690  	// For example: "/folder1|/folder2"
  4691  	Includes []*FilterRule `type:"list"`
  4692  
  4693  	// The name of a task. This value is a text reference that is used to identify
  4694  	// the task in the console.
  4695  	Name *string `min:"1" type:"string"`
  4696  
  4697  	// The set of configuration options that control the behavior of a single execution
  4698  	// of the task that occurs when you call StartTaskExecution. You can configure
  4699  	// these options to preserve metadata such as user ID (UID) and group ID (GID),
  4700  	// file permissions, data integrity verification, and so on.
  4701  	//
  4702  	// For each individual task execution, you can override these options by specifying
  4703  	// the OverrideOptions before starting the task execution. For more information,
  4704  	// see the StartTaskExecution (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html)
  4705  	// operation.
  4706  	Options *Options `type:"structure"`
  4707  
  4708  	// Specifies a schedule used to periodically transfer files from a source to
  4709  	// a destination location. The schedule should be specified in UTC time. For
  4710  	// more information, see Scheduling your task (https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html).
  4711  	Schedule *TaskSchedule `type:"structure"`
  4712  
  4713  	// The Amazon Resource Name (ARN) of the source location for the task.
  4714  	//
  4715  	// SourceLocationArn is a required field
  4716  	SourceLocationArn *string `type:"string" required:"true"`
  4717  
  4718  	// The key-value pair that represents the tag that you want to add to the resource.
  4719  	// The value can be an empty string.
  4720  	Tags []*TagListEntry `type:"list"`
  4721  }
  4722  
  4723  // String returns the string representation.
  4724  //
  4725  // API parameter values that are decorated as "sensitive" in the API will not
  4726  // be included in the string output. The member name will be present, but the
  4727  // value will be replaced with "sensitive".
  4728  func (s CreateTaskInput) String() string {
  4729  	return awsutil.Prettify(s)
  4730  }
  4731  
  4732  // GoString returns the string representation.
  4733  //
  4734  // API parameter values that are decorated as "sensitive" in the API will not
  4735  // be included in the string output. The member name will be present, but the
  4736  // value will be replaced with "sensitive".
  4737  func (s CreateTaskInput) GoString() string {
  4738  	return s.String()
  4739  }
  4740  
  4741  // Validate inspects the fields of the type to determine if they are valid.
  4742  func (s *CreateTaskInput) Validate() error {
  4743  	invalidParams := request.ErrInvalidParams{Context: "CreateTaskInput"}
  4744  	if s.DestinationLocationArn == nil {
  4745  		invalidParams.Add(request.NewErrParamRequired("DestinationLocationArn"))
  4746  	}
  4747  	if s.Name != nil && len(*s.Name) < 1 {
  4748  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  4749  	}
  4750  	if s.SourceLocationArn == nil {
  4751  		invalidParams.Add(request.NewErrParamRequired("SourceLocationArn"))
  4752  	}
  4753  	if s.Options != nil {
  4754  		if err := s.Options.Validate(); err != nil {
  4755  			invalidParams.AddNested("Options", err.(request.ErrInvalidParams))
  4756  		}
  4757  	}
  4758  	if s.Schedule != nil {
  4759  		if err := s.Schedule.Validate(); err != nil {
  4760  			invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
  4761  		}
  4762  	}
  4763  	if s.Tags != nil {
  4764  		for i, v := range s.Tags {
  4765  			if v == nil {
  4766  				continue
  4767  			}
  4768  			if err := v.Validate(); err != nil {
  4769  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  4770  			}
  4771  		}
  4772  	}
  4773  
  4774  	if invalidParams.Len() > 0 {
  4775  		return invalidParams
  4776  	}
  4777  	return nil
  4778  }
  4779  
  4780  // SetCloudWatchLogGroupArn sets the CloudWatchLogGroupArn field's value.
  4781  func (s *CreateTaskInput) SetCloudWatchLogGroupArn(v string) *CreateTaskInput {
  4782  	s.CloudWatchLogGroupArn = &v
  4783  	return s
  4784  }
  4785  
  4786  // SetDestinationLocationArn sets the DestinationLocationArn field's value.
  4787  func (s *CreateTaskInput) SetDestinationLocationArn(v string) *CreateTaskInput {
  4788  	s.DestinationLocationArn = &v
  4789  	return s
  4790  }
  4791  
  4792  // SetExcludes sets the Excludes field's value.
  4793  func (s *CreateTaskInput) SetExcludes(v []*FilterRule) *CreateTaskInput {
  4794  	s.Excludes = v
  4795  	return s
  4796  }
  4797  
  4798  // SetIncludes sets the Includes field's value.
  4799  func (s *CreateTaskInput) SetIncludes(v []*FilterRule) *CreateTaskInput {
  4800  	s.Includes = v
  4801  	return s
  4802  }
  4803  
  4804  // SetName sets the Name field's value.
  4805  func (s *CreateTaskInput) SetName(v string) *CreateTaskInput {
  4806  	s.Name = &v
  4807  	return s
  4808  }
  4809  
  4810  // SetOptions sets the Options field's value.
  4811  func (s *CreateTaskInput) SetOptions(v *Options) *CreateTaskInput {
  4812  	s.Options = v
  4813  	return s
  4814  }
  4815  
  4816  // SetSchedule sets the Schedule field's value.
  4817  func (s *CreateTaskInput) SetSchedule(v *TaskSchedule) *CreateTaskInput {
  4818  	s.Schedule = v
  4819  	return s
  4820  }
  4821  
  4822  // SetSourceLocationArn sets the SourceLocationArn field's value.
  4823  func (s *CreateTaskInput) SetSourceLocationArn(v string) *CreateTaskInput {
  4824  	s.SourceLocationArn = &v
  4825  	return s
  4826  }
  4827  
  4828  // SetTags sets the Tags field's value.
  4829  func (s *CreateTaskInput) SetTags(v []*TagListEntry) *CreateTaskInput {
  4830  	s.Tags = v
  4831  	return s
  4832  }
  4833  
  4834  // CreateTaskResponse
  4835  type CreateTaskOutput struct {
  4836  	_ struct{} `type:"structure"`
  4837  
  4838  	// The Amazon Resource Name (ARN) of the task.
  4839  	TaskArn *string `type:"string"`
  4840  }
  4841  
  4842  // String returns the string representation.
  4843  //
  4844  // API parameter values that are decorated as "sensitive" in the API will not
  4845  // be included in the string output. The member name will be present, but the
  4846  // value will be replaced with "sensitive".
  4847  func (s CreateTaskOutput) String() string {
  4848  	return awsutil.Prettify(s)
  4849  }
  4850  
  4851  // GoString returns the string representation.
  4852  //
  4853  // API parameter values that are decorated as "sensitive" in the API will not
  4854  // be included in the string output. The member name will be present, but the
  4855  // value will be replaced with "sensitive".
  4856  func (s CreateTaskOutput) GoString() string {
  4857  	return s.String()
  4858  }
  4859  
  4860  // SetTaskArn sets the TaskArn field's value.
  4861  func (s *CreateTaskOutput) SetTaskArn(v string) *CreateTaskOutput {
  4862  	s.TaskArn = &v
  4863  	return s
  4864  }
  4865  
  4866  // DeleteAgentRequest
  4867  type DeleteAgentInput struct {
  4868  	_ struct{} `type:"structure"`
  4869  
  4870  	// The Amazon Resource Name (ARN) of the agent to delete. Use the ListAgents
  4871  	// operation to return a list of agents for your account and Amazon Web Services
  4872  	// Region.
  4873  	//
  4874  	// AgentArn is a required field
  4875  	AgentArn *string `type:"string" required:"true"`
  4876  }
  4877  
  4878  // String returns the string representation.
  4879  //
  4880  // API parameter values that are decorated as "sensitive" in the API will not
  4881  // be included in the string output. The member name will be present, but the
  4882  // value will be replaced with "sensitive".
  4883  func (s DeleteAgentInput) String() string {
  4884  	return awsutil.Prettify(s)
  4885  }
  4886  
  4887  // GoString returns the string representation.
  4888  //
  4889  // API parameter values that are decorated as "sensitive" in the API will not
  4890  // be included in the string output. The member name will be present, but the
  4891  // value will be replaced with "sensitive".
  4892  func (s DeleteAgentInput) GoString() string {
  4893  	return s.String()
  4894  }
  4895  
  4896  // Validate inspects the fields of the type to determine if they are valid.
  4897  func (s *DeleteAgentInput) Validate() error {
  4898  	invalidParams := request.ErrInvalidParams{Context: "DeleteAgentInput"}
  4899  	if s.AgentArn == nil {
  4900  		invalidParams.Add(request.NewErrParamRequired("AgentArn"))
  4901  	}
  4902  
  4903  	if invalidParams.Len() > 0 {
  4904  		return invalidParams
  4905  	}
  4906  	return nil
  4907  }
  4908  
  4909  // SetAgentArn sets the AgentArn field's value.
  4910  func (s *DeleteAgentInput) SetAgentArn(v string) *DeleteAgentInput {
  4911  	s.AgentArn = &v
  4912  	return s
  4913  }
  4914  
  4915  type DeleteAgentOutput struct {
  4916  	_ struct{} `type:"structure"`
  4917  }
  4918  
  4919  // String returns the string representation.
  4920  //
  4921  // API parameter values that are decorated as "sensitive" in the API will not
  4922  // be included in the string output. The member name will be present, but the
  4923  // value will be replaced with "sensitive".
  4924  func (s DeleteAgentOutput) String() string {
  4925  	return awsutil.Prettify(s)
  4926  }
  4927  
  4928  // GoString returns the string representation.
  4929  //
  4930  // API parameter values that are decorated as "sensitive" in the API will not
  4931  // be included in the string output. The member name will be present, but the
  4932  // value will be replaced with "sensitive".
  4933  func (s DeleteAgentOutput) GoString() string {
  4934  	return s.String()
  4935  }
  4936  
  4937  // DeleteLocation
  4938  type DeleteLocationInput struct {
  4939  	_ struct{} `type:"structure"`
  4940  
  4941  	// The Amazon Resource Name (ARN) of the location to delete.
  4942  	//
  4943  	// LocationArn is a required field
  4944  	LocationArn *string `type:"string" required:"true"`
  4945  }
  4946  
  4947  // String returns the string representation.
  4948  //
  4949  // API parameter values that are decorated as "sensitive" in the API will not
  4950  // be included in the string output. The member name will be present, but the
  4951  // value will be replaced with "sensitive".
  4952  func (s DeleteLocationInput) String() string {
  4953  	return awsutil.Prettify(s)
  4954  }
  4955  
  4956  // GoString returns the string representation.
  4957  //
  4958  // API parameter values that are decorated as "sensitive" in the API will not
  4959  // be included in the string output. The member name will be present, but the
  4960  // value will be replaced with "sensitive".
  4961  func (s DeleteLocationInput) GoString() string {
  4962  	return s.String()
  4963  }
  4964  
  4965  // Validate inspects the fields of the type to determine if they are valid.
  4966  func (s *DeleteLocationInput) Validate() error {
  4967  	invalidParams := request.ErrInvalidParams{Context: "DeleteLocationInput"}
  4968  	if s.LocationArn == nil {
  4969  		invalidParams.Add(request.NewErrParamRequired("LocationArn"))
  4970  	}
  4971  
  4972  	if invalidParams.Len() > 0 {
  4973  		return invalidParams
  4974  	}
  4975  	return nil
  4976  }
  4977  
  4978  // SetLocationArn sets the LocationArn field's value.
  4979  func (s *DeleteLocationInput) SetLocationArn(v string) *DeleteLocationInput {
  4980  	s.LocationArn = &v
  4981  	return s
  4982  }
  4983  
  4984  type DeleteLocationOutput struct {
  4985  	_ struct{} `type:"structure"`
  4986  }
  4987  
  4988  // String returns the string representation.
  4989  //
  4990  // API parameter values that are decorated as "sensitive" in the API will not
  4991  // be included in the string output. The member name will be present, but the
  4992  // value will be replaced with "sensitive".
  4993  func (s DeleteLocationOutput) String() string {
  4994  	return awsutil.Prettify(s)
  4995  }
  4996  
  4997  // GoString returns the string representation.
  4998  //
  4999  // API parameter values that are decorated as "sensitive" in the API will not
  5000  // be included in the string output. The member name will be present, but the
  5001  // value will be replaced with "sensitive".
  5002  func (s DeleteLocationOutput) GoString() string {
  5003  	return s.String()
  5004  }
  5005  
  5006  // DeleteTask
  5007  type DeleteTaskInput struct {
  5008  	_ struct{} `type:"structure"`
  5009  
  5010  	// The Amazon Resource Name (ARN) of the task to delete.
  5011  	//
  5012  	// TaskArn is a required field
  5013  	TaskArn *string `type:"string" required:"true"`
  5014  }
  5015  
  5016  // String returns the string representation.
  5017  //
  5018  // API parameter values that are decorated as "sensitive" in the API will not
  5019  // be included in the string output. The member name will be present, but the
  5020  // value will be replaced with "sensitive".
  5021  func (s DeleteTaskInput) String() string {
  5022  	return awsutil.Prettify(s)
  5023  }
  5024  
  5025  // GoString returns the string representation.
  5026  //
  5027  // API parameter values that are decorated as "sensitive" in the API will not
  5028  // be included in the string output. The member name will be present, but the
  5029  // value will be replaced with "sensitive".
  5030  func (s DeleteTaskInput) GoString() string {
  5031  	return s.String()
  5032  }
  5033  
  5034  // Validate inspects the fields of the type to determine if they are valid.
  5035  func (s *DeleteTaskInput) Validate() error {
  5036  	invalidParams := request.ErrInvalidParams{Context: "DeleteTaskInput"}
  5037  	if s.TaskArn == nil {
  5038  		invalidParams.Add(request.NewErrParamRequired("TaskArn"))
  5039  	}
  5040  
  5041  	if invalidParams.Len() > 0 {
  5042  		return invalidParams
  5043  	}
  5044  	return nil
  5045  }
  5046  
  5047  // SetTaskArn sets the TaskArn field's value.
  5048  func (s *DeleteTaskInput) SetTaskArn(v string) *DeleteTaskInput {
  5049  	s.TaskArn = &v
  5050  	return s
  5051  }
  5052  
  5053  type DeleteTaskOutput struct {
  5054  	_ struct{} `type:"structure"`
  5055  }
  5056  
  5057  // String returns the string representation.
  5058  //
  5059  // API parameter values that are decorated as "sensitive" in the API will not
  5060  // be included in the string output. The member name will be present, but the
  5061  // value will be replaced with "sensitive".
  5062  func (s DeleteTaskOutput) String() string {
  5063  	return awsutil.Prettify(s)
  5064  }
  5065  
  5066  // GoString returns the string representation.
  5067  //
  5068  // API parameter values that are decorated as "sensitive" in the API will not
  5069  // be included in the string output. The member name will be present, but the
  5070  // value will be replaced with "sensitive".
  5071  func (s DeleteTaskOutput) GoString() string {
  5072  	return s.String()
  5073  }
  5074  
  5075  // DescribeAgent
  5076  type DescribeAgentInput struct {
  5077  	_ struct{} `type:"structure"`
  5078  
  5079  	// The Amazon Resource Name (ARN) of the agent to describe.
  5080  	//
  5081  	// AgentArn is a required field
  5082  	AgentArn *string `type:"string" required:"true"`
  5083  }
  5084  
  5085  // String returns the string representation.
  5086  //
  5087  // API parameter values that are decorated as "sensitive" in the API will not
  5088  // be included in the string output. The member name will be present, but the
  5089  // value will be replaced with "sensitive".
  5090  func (s DescribeAgentInput) String() string {
  5091  	return awsutil.Prettify(s)
  5092  }
  5093  
  5094  // GoString returns the string representation.
  5095  //
  5096  // API parameter values that are decorated as "sensitive" in the API will not
  5097  // be included in the string output. The member name will be present, but the
  5098  // value will be replaced with "sensitive".
  5099  func (s DescribeAgentInput) GoString() string {
  5100  	return s.String()
  5101  }
  5102  
  5103  // Validate inspects the fields of the type to determine if they are valid.
  5104  func (s *DescribeAgentInput) Validate() error {
  5105  	invalidParams := request.ErrInvalidParams{Context: "DescribeAgentInput"}
  5106  	if s.AgentArn == nil {
  5107  		invalidParams.Add(request.NewErrParamRequired("AgentArn"))
  5108  	}
  5109  
  5110  	if invalidParams.Len() > 0 {
  5111  		return invalidParams
  5112  	}
  5113  	return nil
  5114  }
  5115  
  5116  // SetAgentArn sets the AgentArn field's value.
  5117  func (s *DescribeAgentInput) SetAgentArn(v string) *DescribeAgentInput {
  5118  	s.AgentArn = &v
  5119  	return s
  5120  }
  5121  
  5122  // DescribeAgentResponse
  5123  type DescribeAgentOutput struct {
  5124  	_ struct{} `type:"structure"`
  5125  
  5126  	// The Amazon Resource Name (ARN) of the agent.
  5127  	AgentArn *string `type:"string"`
  5128  
  5129  	// The time that the agent was activated (that is, created in your account).
  5130  	CreationTime *time.Time `type:"timestamp"`
  5131  
  5132  	// The type of endpoint that your agent is connected to. If the endpoint is
  5133  	// a VPC endpoint, the agent is not accessible over the public internet.
  5134  	EndpointType *string `type:"string" enum:"EndpointType"`
  5135  
  5136  	// The time that the agent last connected to DataSync.
  5137  	LastConnectionTime *time.Time `type:"timestamp"`
  5138  
  5139  	// The name of the agent.
  5140  	Name *string `min:"1" type:"string"`
  5141  
  5142  	// The subnet and the security group that DataSync used to access a VPC endpoint.
  5143  	PrivateLinkConfig *PrivateLinkConfig `type:"structure"`
  5144  
  5145  	// The status of the agent. If the status is ONLINE, then the agent is configured
  5146  	// properly and is available to use. The Running status is the normal running
  5147  	// status for an agent. If the status is OFFLINE, the agent's VM is turned off
  5148  	// or the agent is in an unhealthy state. When the issue that caused the unhealthy
  5149  	// state is resolved, the agent returns to ONLINE status.
  5150  	Status *string `type:"string" enum:"AgentStatus"`
  5151  }
  5152  
  5153  // String returns the string representation.
  5154  //
  5155  // API parameter values that are decorated as "sensitive" in the API will not
  5156  // be included in the string output. The member name will be present, but the
  5157  // value will be replaced with "sensitive".
  5158  func (s DescribeAgentOutput) String() string {
  5159  	return awsutil.Prettify(s)
  5160  }
  5161  
  5162  // GoString returns the string representation.
  5163  //
  5164  // API parameter values that are decorated as "sensitive" in the API will not
  5165  // be included in the string output. The member name will be present, but the
  5166  // value will be replaced with "sensitive".
  5167  func (s DescribeAgentOutput) GoString() string {
  5168  	return s.String()
  5169  }
  5170  
  5171  // SetAgentArn sets the AgentArn field's value.
  5172  func (s *DescribeAgentOutput) SetAgentArn(v string) *DescribeAgentOutput {
  5173  	s.AgentArn = &v
  5174  	return s
  5175  }
  5176  
  5177  // SetCreationTime sets the CreationTime field's value.
  5178  func (s *DescribeAgentOutput) SetCreationTime(v time.Time) *DescribeAgentOutput {
  5179  	s.CreationTime = &v
  5180  	return s
  5181  }
  5182  
  5183  // SetEndpointType sets the EndpointType field's value.
  5184  func (s *DescribeAgentOutput) SetEndpointType(v string) *DescribeAgentOutput {
  5185  	s.EndpointType = &v
  5186  	return s
  5187  }
  5188  
  5189  // SetLastConnectionTime sets the LastConnectionTime field's value.
  5190  func (s *DescribeAgentOutput) SetLastConnectionTime(v time.Time) *DescribeAgentOutput {
  5191  	s.LastConnectionTime = &v
  5192  	return s
  5193  }
  5194  
  5195  // SetName sets the Name field's value.
  5196  func (s *DescribeAgentOutput) SetName(v string) *DescribeAgentOutput {
  5197  	s.Name = &v
  5198  	return s
  5199  }
  5200  
  5201  // SetPrivateLinkConfig sets the PrivateLinkConfig field's value.
  5202  func (s *DescribeAgentOutput) SetPrivateLinkConfig(v *PrivateLinkConfig) *DescribeAgentOutput {
  5203  	s.PrivateLinkConfig = v
  5204  	return s
  5205  }
  5206  
  5207  // SetStatus sets the Status field's value.
  5208  func (s *DescribeAgentOutput) SetStatus(v string) *DescribeAgentOutput {
  5209  	s.Status = &v
  5210  	return s
  5211  }
  5212  
  5213  // DescribeLocationEfsRequest
  5214  type DescribeLocationEfsInput struct {
  5215  	_ struct{} `type:"structure"`
  5216  
  5217  	// The Amazon Resource Name (ARN) of the EFS location to describe.
  5218  	//
  5219  	// LocationArn is a required field
  5220  	LocationArn *string `type:"string" required:"true"`
  5221  }
  5222  
  5223  // String returns the string representation.
  5224  //
  5225  // API parameter values that are decorated as "sensitive" in the API will not
  5226  // be included in the string output. The member name will be present, but the
  5227  // value will be replaced with "sensitive".
  5228  func (s DescribeLocationEfsInput) String() string {
  5229  	return awsutil.Prettify(s)
  5230  }
  5231  
  5232  // GoString returns the string representation.
  5233  //
  5234  // API parameter values that are decorated as "sensitive" in the API will not
  5235  // be included in the string output. The member name will be present, but the
  5236  // value will be replaced with "sensitive".
  5237  func (s DescribeLocationEfsInput) GoString() string {
  5238  	return s.String()
  5239  }
  5240  
  5241  // Validate inspects the fields of the type to determine if they are valid.
  5242  func (s *DescribeLocationEfsInput) Validate() error {
  5243  	invalidParams := request.ErrInvalidParams{Context: "DescribeLocationEfsInput"}
  5244  	if s.LocationArn == nil {
  5245  		invalidParams.Add(request.NewErrParamRequired("LocationArn"))
  5246  	}
  5247  
  5248  	if invalidParams.Len() > 0 {
  5249  		return invalidParams
  5250  	}
  5251  	return nil
  5252  }
  5253  
  5254  // SetLocationArn sets the LocationArn field's value.
  5255  func (s *DescribeLocationEfsInput) SetLocationArn(v string) *DescribeLocationEfsInput {
  5256  	s.LocationArn = &v
  5257  	return s
  5258  }
  5259  
  5260  // DescribeLocationEfsResponse
  5261  type DescribeLocationEfsOutput struct {
  5262  	_ struct{} `type:"structure"`
  5263  
  5264  	// The time that the EFS location was created.
  5265  	CreationTime *time.Time `type:"timestamp"`
  5266  
  5267  	// The subnet and the security group that DataSync uses to access target EFS
  5268  	// file system. The subnet must have at least one mount target for that file
  5269  	// system. The security group that you provide needs to be able to communicate
  5270  	// with the security group on the mount target in the subnet specified.
  5271  	Ec2Config *Ec2Config `type:"structure"`
  5272  
  5273  	// The Amazon Resource Name (ARN) of the EFS location that was described.
  5274  	LocationArn *string `type:"string"`
  5275  
  5276  	// The URL of the EFS location that was described.
  5277  	LocationUri *string `type:"string"`
  5278  }
  5279  
  5280  // String returns the string representation.
  5281  //
  5282  // API parameter values that are decorated as "sensitive" in the API will not
  5283  // be included in the string output. The member name will be present, but the
  5284  // value will be replaced with "sensitive".
  5285  func (s DescribeLocationEfsOutput) String() string {
  5286  	return awsutil.Prettify(s)
  5287  }
  5288  
  5289  // GoString returns the string representation.
  5290  //
  5291  // API parameter values that are decorated as "sensitive" in the API will not
  5292  // be included in the string output. The member name will be present, but the
  5293  // value will be replaced with "sensitive".
  5294  func (s DescribeLocationEfsOutput) GoString() string {
  5295  	return s.String()
  5296  }
  5297  
  5298  // SetCreationTime sets the CreationTime field's value.
  5299  func (s *DescribeLocationEfsOutput) SetCreationTime(v time.Time) *DescribeLocationEfsOutput {
  5300  	s.CreationTime = &v
  5301  	return s
  5302  }
  5303  
  5304  // SetEc2Config sets the Ec2Config field's value.
  5305  func (s *DescribeLocationEfsOutput) SetEc2Config(v *Ec2Config) *DescribeLocationEfsOutput {
  5306  	s.Ec2Config = v
  5307  	return s
  5308  }
  5309  
  5310  // SetLocationArn sets the LocationArn field's value.
  5311  func (s *DescribeLocationEfsOutput) SetLocationArn(v string) *DescribeLocationEfsOutput {
  5312  	s.LocationArn = &v
  5313  	return s
  5314  }
  5315  
  5316  // SetLocationUri sets the LocationUri field's value.
  5317  func (s *DescribeLocationEfsOutput) SetLocationUri(v string) *DescribeLocationEfsOutput {
  5318  	s.LocationUri = &v
  5319  	return s
  5320  }
  5321  
  5322  type DescribeLocationFsxWindowsInput struct {
  5323  	_ struct{} `type:"structure"`
  5324  
  5325  	// The Amazon Resource Name (ARN) of the FSx for Windows File Server location
  5326  	// to describe.
  5327  	//
  5328  	// LocationArn is a required field
  5329  	LocationArn *string `type:"string" required:"true"`
  5330  }
  5331  
  5332  // String returns the string representation.
  5333  //
  5334  // API parameter values that are decorated as "sensitive" in the API will not
  5335  // be included in the string output. The member name will be present, but the
  5336  // value will be replaced with "sensitive".
  5337  func (s DescribeLocationFsxWindowsInput) String() string {
  5338  	return awsutil.Prettify(s)
  5339  }
  5340  
  5341  // GoString returns the string representation.
  5342  //
  5343  // API parameter values that are decorated as "sensitive" in the API will not
  5344  // be included in the string output. The member name will be present, but the
  5345  // value will be replaced with "sensitive".
  5346  func (s DescribeLocationFsxWindowsInput) GoString() string {
  5347  	return s.String()
  5348  }
  5349  
  5350  // Validate inspects the fields of the type to determine if they are valid.
  5351  func (s *DescribeLocationFsxWindowsInput) Validate() error {
  5352  	invalidParams := request.ErrInvalidParams{Context: "DescribeLocationFsxWindowsInput"}
  5353  	if s.LocationArn == nil {
  5354  		invalidParams.Add(request.NewErrParamRequired("LocationArn"))
  5355  	}
  5356  
  5357  	if invalidParams.Len() > 0 {
  5358  		return invalidParams
  5359  	}
  5360  	return nil
  5361  }
  5362  
  5363  // SetLocationArn sets the LocationArn field's value.
  5364  func (s *DescribeLocationFsxWindowsInput) SetLocationArn(v string) *DescribeLocationFsxWindowsInput {
  5365  	s.LocationArn = &v
  5366  	return s
  5367  }
  5368  
  5369  type DescribeLocationFsxWindowsOutput struct {
  5370  	_ struct{} `type:"structure"`
  5371  
  5372  	// The time that the FSx for Windows File Server location was created.
  5373  	CreationTime *time.Time `type:"timestamp"`
  5374  
  5375  	// The name of the Windows domain that the FSx for Windows File Server belongs
  5376  	// to.
  5377  	Domain *string `type:"string"`
  5378  
  5379  	// The Amazon Resource Name (ARN) of the FSx for Windows File Server location
  5380  	// that was described.
  5381  	LocationArn *string `type:"string"`
  5382  
  5383  	// The URL of the FSx for Windows File Server location that was described.
  5384  	LocationUri *string `type:"string"`
  5385  
  5386  	// The Amazon Resource Names (ARNs) of the security groups that are configured
  5387  	// for the FSx for Windows File Server file system.
  5388  	SecurityGroupArns []*string `min:"1" type:"list"`
  5389  
  5390  	// The user who has the permissions to access files and folders in the FSx for
  5391  	// Windows File Server file system.
  5392  	User *string `type:"string"`
  5393  }
  5394  
  5395  // String returns the string representation.
  5396  //
  5397  // API parameter values that are decorated as "sensitive" in the API will not
  5398  // be included in the string output. The member name will be present, but the
  5399  // value will be replaced with "sensitive".
  5400  func (s DescribeLocationFsxWindowsOutput) String() string {
  5401  	return awsutil.Prettify(s)
  5402  }
  5403  
  5404  // GoString returns the string representation.
  5405  //
  5406  // API parameter values that are decorated as "sensitive" in the API will not
  5407  // be included in the string output. The member name will be present, but the
  5408  // value will be replaced with "sensitive".
  5409  func (s DescribeLocationFsxWindowsOutput) GoString() string {
  5410  	return s.String()
  5411  }
  5412  
  5413  // SetCreationTime sets the CreationTime field's value.
  5414  func (s *DescribeLocationFsxWindowsOutput) SetCreationTime(v time.Time) *DescribeLocationFsxWindowsOutput {
  5415  	s.CreationTime = &v
  5416  	return s
  5417  }
  5418  
  5419  // SetDomain sets the Domain field's value.
  5420  func (s *DescribeLocationFsxWindowsOutput) SetDomain(v string) *DescribeLocationFsxWindowsOutput {
  5421  	s.Domain = &v
  5422  	return s
  5423  }
  5424  
  5425  // SetLocationArn sets the LocationArn field's value.
  5426  func (s *DescribeLocationFsxWindowsOutput) SetLocationArn(v string) *DescribeLocationFsxWindowsOutput {
  5427  	s.LocationArn = &v
  5428  	return s
  5429  }
  5430  
  5431  // SetLocationUri sets the LocationUri field's value.
  5432  func (s *DescribeLocationFsxWindowsOutput) SetLocationUri(v string) *DescribeLocationFsxWindowsOutput {
  5433  	s.LocationUri = &v
  5434  	return s
  5435  }
  5436  
  5437  // SetSecurityGroupArns sets the SecurityGroupArns field's value.
  5438  func (s *DescribeLocationFsxWindowsOutput) SetSecurityGroupArns(v []*string) *DescribeLocationFsxWindowsOutput {
  5439  	s.SecurityGroupArns = v
  5440  	return s
  5441  }
  5442  
  5443  // SetUser sets the User field's value.
  5444  func (s *DescribeLocationFsxWindowsOutput) SetUser(v string) *DescribeLocationFsxWindowsOutput {
  5445  	s.User = &v
  5446  	return s
  5447  }
  5448  
  5449  // DescribeLocationNfsRequest
  5450  type DescribeLocationNfsInput struct {
  5451  	_ struct{} `type:"structure"`
  5452  
  5453  	// The Amazon Resource Name (ARN) of the NFS location to describe.
  5454  	//
  5455  	// LocationArn is a required field
  5456  	LocationArn *string `type:"string" required:"true"`
  5457  }
  5458  
  5459  // String returns the string representation.
  5460  //
  5461  // API parameter values that are decorated as "sensitive" in the API will not
  5462  // be included in the string output. The member name will be present, but the
  5463  // value will be replaced with "sensitive".
  5464  func (s DescribeLocationNfsInput) String() string {
  5465  	return awsutil.Prettify(s)
  5466  }
  5467  
  5468  // GoString returns the string representation.
  5469  //
  5470  // API parameter values that are decorated as "sensitive" in the API will not
  5471  // be included in the string output. The member name will be present, but the
  5472  // value will be replaced with "sensitive".
  5473  func (s DescribeLocationNfsInput) GoString() string {
  5474  	return s.String()
  5475  }
  5476  
  5477  // Validate inspects the fields of the type to determine if they are valid.
  5478  func (s *DescribeLocationNfsInput) Validate() error {
  5479  	invalidParams := request.ErrInvalidParams{Context: "DescribeLocationNfsInput"}
  5480  	if s.LocationArn == nil {
  5481  		invalidParams.Add(request.NewErrParamRequired("LocationArn"))
  5482  	}
  5483  
  5484  	if invalidParams.Len() > 0 {
  5485  		return invalidParams
  5486  	}
  5487  	return nil
  5488  }
  5489  
  5490  // SetLocationArn sets the LocationArn field's value.
  5491  func (s *DescribeLocationNfsInput) SetLocationArn(v string) *DescribeLocationNfsInput {
  5492  	s.LocationArn = &v
  5493  	return s
  5494  }
  5495  
  5496  // DescribeLocationNfsResponse
  5497  type DescribeLocationNfsOutput struct {
  5498  	_ struct{} `type:"structure"`
  5499  
  5500  	// The time that the NFS location was created.
  5501  	CreationTime *time.Time `type:"timestamp"`
  5502  
  5503  	// The Amazon Resource Name (ARN) of the NFS location that was described.
  5504  	LocationArn *string `type:"string"`
  5505  
  5506  	// The URL of the source NFS location that was described.
  5507  	LocationUri *string `type:"string"`
  5508  
  5509  	// The NFS mount options that DataSync used to mount your NFS share.
  5510  	MountOptions *NfsMountOptions `type:"structure"`
  5511  
  5512  	// A list of Amazon Resource Names (ARNs) of agents to use for a Network File
  5513  	// System (NFS) location.
  5514  	OnPremConfig *OnPremConfig `type:"structure"`
  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 DescribeLocationNfsOutput) 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 DescribeLocationNfsOutput) GoString() string {
  5532  	return s.String()
  5533  }
  5534  
  5535  // SetCreationTime sets the CreationTime field's value.
  5536  func (s *DescribeLocationNfsOutput) SetCreationTime(v time.Time) *DescribeLocationNfsOutput {
  5537  	s.CreationTime = &v
  5538  	return s
  5539  }
  5540  
  5541  // SetLocationArn sets the LocationArn field's value.
  5542  func (s *DescribeLocationNfsOutput) SetLocationArn(v string) *DescribeLocationNfsOutput {
  5543  	s.LocationArn = &v
  5544  	return s
  5545  }
  5546  
  5547  // SetLocationUri sets the LocationUri field's value.
  5548  func (s *DescribeLocationNfsOutput) SetLocationUri(v string) *DescribeLocationNfsOutput {
  5549  	s.LocationUri = &v
  5550  	return s
  5551  }
  5552  
  5553  // SetMountOptions sets the MountOptions field's value.
  5554  func (s *DescribeLocationNfsOutput) SetMountOptions(v *NfsMountOptions) *DescribeLocationNfsOutput {
  5555  	s.MountOptions = v
  5556  	return s
  5557  }
  5558  
  5559  // SetOnPremConfig sets the OnPremConfig field's value.
  5560  func (s *DescribeLocationNfsOutput) SetOnPremConfig(v *OnPremConfig) *DescribeLocationNfsOutput {
  5561  	s.OnPremConfig = v
  5562  	return s
  5563  }
  5564  
  5565  // DescribeLocationObjectStorageRequest
  5566  type DescribeLocationObjectStorageInput struct {
  5567  	_ struct{} `type:"structure"`
  5568  
  5569  	// The Amazon Resource Name (ARN) of the self-managed object storage server
  5570  	// location that was described.
  5571  	//
  5572  	// LocationArn is a required field
  5573  	LocationArn *string `type:"string" required:"true"`
  5574  }
  5575  
  5576  // String returns the string representation.
  5577  //
  5578  // API parameter values that are decorated as "sensitive" in the API will not
  5579  // be included in the string output. The member name will be present, but the
  5580  // value will be replaced with "sensitive".
  5581  func (s DescribeLocationObjectStorageInput) String() string {
  5582  	return awsutil.Prettify(s)
  5583  }
  5584  
  5585  // GoString returns the string representation.
  5586  //
  5587  // API parameter values that are decorated as "sensitive" in the API will not
  5588  // be included in the string output. The member name will be present, but the
  5589  // value will be replaced with "sensitive".
  5590  func (s DescribeLocationObjectStorageInput) GoString() string {
  5591  	return s.String()
  5592  }
  5593  
  5594  // Validate inspects the fields of the type to determine if they are valid.
  5595  func (s *DescribeLocationObjectStorageInput) Validate() error {
  5596  	invalidParams := request.ErrInvalidParams{Context: "DescribeLocationObjectStorageInput"}
  5597  	if s.LocationArn == nil {
  5598  		invalidParams.Add(request.NewErrParamRequired("LocationArn"))
  5599  	}
  5600  
  5601  	if invalidParams.Len() > 0 {
  5602  		return invalidParams
  5603  	}
  5604  	return nil
  5605  }
  5606  
  5607  // SetLocationArn sets the LocationArn field's value.
  5608  func (s *DescribeLocationObjectStorageInput) SetLocationArn(v string) *DescribeLocationObjectStorageInput {
  5609  	s.LocationArn = &v
  5610  	return s
  5611  }
  5612  
  5613  // DescribeLocationObjectStorageResponse
  5614  type DescribeLocationObjectStorageOutput struct {
  5615  	_ struct{} `type:"structure"`
  5616  
  5617  	// Optional. The access key is used if credentials are required to access the
  5618  	// self-managed object storage server. If your object storage requires a user
  5619  	// name and password to authenticate, use AccessKey and SecretKey to provide
  5620  	// the user name and password, respectively.
  5621  	AccessKey *string `min:"8" type:"string"`
  5622  
  5623  	// The Amazon Resource Name (ARN) of the agents associated with the self-managed
  5624  	// object storage server location.
  5625  	AgentArns []*string `min:"1" type:"list"`
  5626  
  5627  	// The time that the self-managed object storage server agent was created.
  5628  	CreationTime *time.Time `type:"timestamp"`
  5629  
  5630  	// The Amazon Resource Name (ARN) of the self-managed object storage server
  5631  	// location to describe.
  5632  	LocationArn *string `type:"string"`
  5633  
  5634  	// The URL of the source self-managed object storage server location that was
  5635  	// described.
  5636  	LocationUri *string `type:"string"`
  5637  
  5638  	// The port that your self-managed object storage server accepts inbound network
  5639  	// traffic on. The server port is set by default to TCP 80 (HTTP) or TCP 443
  5640  	// (HTTPS).
  5641  	ServerPort *int64 `min:"1" type:"integer"`
  5642  
  5643  	// The protocol that the object storage server uses to communicate. Valid values
  5644  	// are HTTP or HTTPS.
  5645  	ServerProtocol *string `type:"string" enum:"ObjectStorageServerProtocol"`
  5646  }
  5647  
  5648  // String returns the string representation.
  5649  //
  5650  // API parameter values that are decorated as "sensitive" in the API will not
  5651  // be included in the string output. The member name will be present, but the
  5652  // value will be replaced with "sensitive".
  5653  func (s DescribeLocationObjectStorageOutput) String() string {
  5654  	return awsutil.Prettify(s)
  5655  }
  5656  
  5657  // GoString returns the string representation.
  5658  //
  5659  // API parameter values that are decorated as "sensitive" in the API will not
  5660  // be included in the string output. The member name will be present, but the
  5661  // value will be replaced with "sensitive".
  5662  func (s DescribeLocationObjectStorageOutput) GoString() string {
  5663  	return s.String()
  5664  }
  5665  
  5666  // SetAccessKey sets the AccessKey field's value.
  5667  func (s *DescribeLocationObjectStorageOutput) SetAccessKey(v string) *DescribeLocationObjectStorageOutput {
  5668  	s.AccessKey = &v
  5669  	return s
  5670  }
  5671  
  5672  // SetAgentArns sets the AgentArns field's value.
  5673  func (s *DescribeLocationObjectStorageOutput) SetAgentArns(v []*string) *DescribeLocationObjectStorageOutput {
  5674  	s.AgentArns = v
  5675  	return s
  5676  }
  5677  
  5678  // SetCreationTime sets the CreationTime field's value.
  5679  func (s *DescribeLocationObjectStorageOutput) SetCreationTime(v time.Time) *DescribeLocationObjectStorageOutput {
  5680  	s.CreationTime = &v
  5681  	return s
  5682  }
  5683  
  5684  // SetLocationArn sets the LocationArn field's value.
  5685  func (s *DescribeLocationObjectStorageOutput) SetLocationArn(v string) *DescribeLocationObjectStorageOutput {
  5686  	s.LocationArn = &v
  5687  	return s
  5688  }
  5689  
  5690  // SetLocationUri sets the LocationUri field's value.
  5691  func (s *DescribeLocationObjectStorageOutput) SetLocationUri(v string) *DescribeLocationObjectStorageOutput {
  5692  	s.LocationUri = &v
  5693  	return s
  5694  }
  5695  
  5696  // SetServerPort sets the ServerPort field's value.
  5697  func (s *DescribeLocationObjectStorageOutput) SetServerPort(v int64) *DescribeLocationObjectStorageOutput {
  5698  	s.ServerPort = &v
  5699  	return s
  5700  }
  5701  
  5702  // SetServerProtocol sets the ServerProtocol field's value.
  5703  func (s *DescribeLocationObjectStorageOutput) SetServerProtocol(v string) *DescribeLocationObjectStorageOutput {
  5704  	s.ServerProtocol = &v
  5705  	return s
  5706  }
  5707  
  5708  // DescribeLocationS3Request
  5709  type DescribeLocationS3Input struct {
  5710  	_ struct{} `type:"structure"`
  5711  
  5712  	// The Amazon Resource Name (ARN) of the Amazon S3 bucket location to describe.
  5713  	//
  5714  	// LocationArn is a required field
  5715  	LocationArn *string `type:"string" required:"true"`
  5716  }
  5717  
  5718  // String returns the string representation.
  5719  //
  5720  // API parameter values that are decorated as "sensitive" in the API will not
  5721  // be included in the string output. The member name will be present, but the
  5722  // value will be replaced with "sensitive".
  5723  func (s DescribeLocationS3Input) String() string {
  5724  	return awsutil.Prettify(s)
  5725  }
  5726  
  5727  // GoString returns the string representation.
  5728  //
  5729  // API parameter values that are decorated as "sensitive" in the API will not
  5730  // be included in the string output. The member name will be present, but the
  5731  // value will be replaced with "sensitive".
  5732  func (s DescribeLocationS3Input) GoString() string {
  5733  	return s.String()
  5734  }
  5735  
  5736  // Validate inspects the fields of the type to determine if they are valid.
  5737  func (s *DescribeLocationS3Input) Validate() error {
  5738  	invalidParams := request.ErrInvalidParams{Context: "DescribeLocationS3Input"}
  5739  	if s.LocationArn == nil {
  5740  		invalidParams.Add(request.NewErrParamRequired("LocationArn"))
  5741  	}
  5742  
  5743  	if invalidParams.Len() > 0 {
  5744  		return invalidParams
  5745  	}
  5746  	return nil
  5747  }
  5748  
  5749  // SetLocationArn sets the LocationArn field's value.
  5750  func (s *DescribeLocationS3Input) SetLocationArn(v string) *DescribeLocationS3Input {
  5751  	s.LocationArn = &v
  5752  	return s
  5753  }
  5754  
  5755  // DescribeLocationS3Response
  5756  type DescribeLocationS3Output struct {
  5757  	_ struct{} `type:"structure"`
  5758  
  5759  	// If you are using DataSync on an Amazon Web Services Outpost, the Amazon Resource
  5760  	// Name (ARNs) of the EC2 agents deployed on your Outpost. For more information
  5761  	// about launching a DataSync agent on an Amazon Web Services Outpost, see Deploy
  5762  	// your DataSync agent on Outposts (https://docs.aws.amazon.com/datasync/latest/userguide/deploy-agents.html#outposts-agent).
  5763  	AgentArns []*string `min:"1" type:"list"`
  5764  
  5765  	// The time that the Amazon S3 bucket location was created.
  5766  	CreationTime *time.Time `type:"timestamp"`
  5767  
  5768  	// The Amazon Resource Name (ARN) of the Amazon S3 bucket or access point.
  5769  	LocationArn *string `type:"string"`
  5770  
  5771  	// The URL of the Amazon S3 location that was described.
  5772  	LocationUri *string `type:"string"`
  5773  
  5774  	// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
  5775  	// role that is used to access an Amazon S3 bucket.
  5776  	//
  5777  	// For detailed information about using such a role, see Creating a Location
  5778  	// for Amazon S3 in the DataSync User Guide.
  5779  	S3Config *S3Config `type:"structure"`
  5780  
  5781  	// The Amazon S3 storage class that you chose to store your files in when this
  5782  	// location is used as a task destination. For more information about S3 storage
  5783  	// classes, see Amazon S3 Storage Classes (http://aws.amazon.com/s3/storage-classes/).
  5784  	// Some storage classes have behaviors that can affect your S3 storage cost.
  5785  	// For detailed information, see Considerations when working with S3 storage
  5786  	// classes in DataSync (https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes).
  5787  	S3StorageClass *string `type:"string" enum:"S3StorageClass"`
  5788  }
  5789  
  5790  // String returns the string representation.
  5791  //
  5792  // API parameter values that are decorated as "sensitive" in the API will not
  5793  // be included in the string output. The member name will be present, but the
  5794  // value will be replaced with "sensitive".
  5795  func (s DescribeLocationS3Output) String() string {
  5796  	return awsutil.Prettify(s)
  5797  }
  5798  
  5799  // GoString returns the string representation.
  5800  //
  5801  // API parameter values that are decorated as "sensitive" in the API will not
  5802  // be included in the string output. The member name will be present, but the
  5803  // value will be replaced with "sensitive".
  5804  func (s DescribeLocationS3Output) GoString() string {
  5805  	return s.String()
  5806  }
  5807  
  5808  // SetAgentArns sets the AgentArns field's value.
  5809  func (s *DescribeLocationS3Output) SetAgentArns(v []*string) *DescribeLocationS3Output {
  5810  	s.AgentArns = v
  5811  	return s
  5812  }
  5813  
  5814  // SetCreationTime sets the CreationTime field's value.
  5815  func (s *DescribeLocationS3Output) SetCreationTime(v time.Time) *DescribeLocationS3Output {
  5816  	s.CreationTime = &v
  5817  	return s
  5818  }
  5819  
  5820  // SetLocationArn sets the LocationArn field's value.
  5821  func (s *DescribeLocationS3Output) SetLocationArn(v string) *DescribeLocationS3Output {
  5822  	s.LocationArn = &v
  5823  	return s
  5824  }
  5825  
  5826  // SetLocationUri sets the LocationUri field's value.
  5827  func (s *DescribeLocationS3Output) SetLocationUri(v string) *DescribeLocationS3Output {
  5828  	s.LocationUri = &v
  5829  	return s
  5830  }
  5831  
  5832  // SetS3Config sets the S3Config field's value.
  5833  func (s *DescribeLocationS3Output) SetS3Config(v *S3Config) *DescribeLocationS3Output {
  5834  	s.S3Config = v
  5835  	return s
  5836  }
  5837  
  5838  // SetS3StorageClass sets the S3StorageClass field's value.
  5839  func (s *DescribeLocationS3Output) SetS3StorageClass(v string) *DescribeLocationS3Output {
  5840  	s.S3StorageClass = &v
  5841  	return s
  5842  }
  5843  
  5844  // DescribeLocationSmbRequest
  5845  type DescribeLocationSmbInput struct {
  5846  	_ struct{} `type:"structure"`
  5847  
  5848  	// The Amazon Resource Name (ARN) of the SMB location to describe.
  5849  	//
  5850  	// LocationArn is a required field
  5851  	LocationArn *string `type:"string" required:"true"`
  5852  }
  5853  
  5854  // String returns the string representation.
  5855  //
  5856  // API parameter values that are decorated as "sensitive" in the API will not
  5857  // be included in the string output. The member name will be present, but the
  5858  // value will be replaced with "sensitive".
  5859  func (s DescribeLocationSmbInput) String() string {
  5860  	return awsutil.Prettify(s)
  5861  }
  5862  
  5863  // GoString returns the string representation.
  5864  //
  5865  // API parameter values that are decorated as "sensitive" in the API will not
  5866  // be included in the string output. The member name will be present, but the
  5867  // value will be replaced with "sensitive".
  5868  func (s DescribeLocationSmbInput) GoString() string {
  5869  	return s.String()
  5870  }
  5871  
  5872  // Validate inspects the fields of the type to determine if they are valid.
  5873  func (s *DescribeLocationSmbInput) Validate() error {
  5874  	invalidParams := request.ErrInvalidParams{Context: "DescribeLocationSmbInput"}
  5875  	if s.LocationArn == nil {
  5876  		invalidParams.Add(request.NewErrParamRequired("LocationArn"))
  5877  	}
  5878  
  5879  	if invalidParams.Len() > 0 {
  5880  		return invalidParams
  5881  	}
  5882  	return nil
  5883  }
  5884  
  5885  // SetLocationArn sets the LocationArn field's value.
  5886  func (s *DescribeLocationSmbInput) SetLocationArn(v string) *DescribeLocationSmbInput {
  5887  	s.LocationArn = &v
  5888  	return s
  5889  }
  5890  
  5891  // DescribeLocationSmbResponse
  5892  type DescribeLocationSmbOutput struct {
  5893  	_ struct{} `type:"structure"`
  5894  
  5895  	// The Amazon Resource Name (ARN) of the source SMB file system location that
  5896  	// is created.
  5897  	AgentArns []*string `min:"1" type:"list"`
  5898  
  5899  	// The time that the SMB location was created.
  5900  	CreationTime *time.Time `type:"timestamp"`
  5901  
  5902  	// The name of the Windows domain that the SMB server belongs to.
  5903  	Domain *string `type:"string"`
  5904  
  5905  	// The Amazon Resource Name (ARN) of the SMB location that was described.
  5906  	LocationArn *string `type:"string"`
  5907  
  5908  	// The URL of the source SMB location that was described.
  5909  	LocationUri *string `type:"string"`
  5910  
  5911  	// The mount options that are available for DataSync to use to access an SMB
  5912  	// location.
  5913  	MountOptions *SmbMountOptions `type:"structure"`
  5914  
  5915  	// The user who can mount the share, has the permissions to access files and
  5916  	// folders in the SMB share.
  5917  	User *string `type:"string"`
  5918  }
  5919  
  5920  // String returns the string representation.
  5921  //
  5922  // API parameter values that are decorated as "sensitive" in the API will not
  5923  // be included in the string output. The member name will be present, but the
  5924  // value will be replaced with "sensitive".
  5925  func (s DescribeLocationSmbOutput) String() string {
  5926  	return awsutil.Prettify(s)
  5927  }
  5928  
  5929  // GoString returns the string representation.
  5930  //
  5931  // API parameter values that are decorated as "sensitive" in the API will not
  5932  // be included in the string output. The member name will be present, but the
  5933  // value will be replaced with "sensitive".
  5934  func (s DescribeLocationSmbOutput) GoString() string {
  5935  	return s.String()
  5936  }
  5937  
  5938  // SetAgentArns sets the AgentArns field's value.
  5939  func (s *DescribeLocationSmbOutput) SetAgentArns(v []*string) *DescribeLocationSmbOutput {
  5940  	s.AgentArns = v
  5941  	return s
  5942  }
  5943  
  5944  // SetCreationTime sets the CreationTime field's value.
  5945  func (s *DescribeLocationSmbOutput) SetCreationTime(v time.Time) *DescribeLocationSmbOutput {
  5946  	s.CreationTime = &v
  5947  	return s
  5948  }
  5949  
  5950  // SetDomain sets the Domain field's value.
  5951  func (s *DescribeLocationSmbOutput) SetDomain(v string) *DescribeLocationSmbOutput {
  5952  	s.Domain = &v
  5953  	return s
  5954  }
  5955  
  5956  // SetLocationArn sets the LocationArn field's value.
  5957  func (s *DescribeLocationSmbOutput) SetLocationArn(v string) *DescribeLocationSmbOutput {
  5958  	s.LocationArn = &v
  5959  	return s
  5960  }
  5961  
  5962  // SetLocationUri sets the LocationUri field's value.
  5963  func (s *DescribeLocationSmbOutput) SetLocationUri(v string) *DescribeLocationSmbOutput {
  5964  	s.LocationUri = &v
  5965  	return s
  5966  }
  5967  
  5968  // SetMountOptions sets the MountOptions field's value.
  5969  func (s *DescribeLocationSmbOutput) SetMountOptions(v *SmbMountOptions) *DescribeLocationSmbOutput {
  5970  	s.MountOptions = v
  5971  	return s
  5972  }
  5973  
  5974  // SetUser sets the User field's value.
  5975  func (s *DescribeLocationSmbOutput) SetUser(v string) *DescribeLocationSmbOutput {
  5976  	s.User = &v
  5977  	return s
  5978  }
  5979  
  5980  // DescribeTaskExecutionRequest
  5981  type DescribeTaskExecutionInput struct {
  5982  	_ struct{} `type:"structure"`
  5983  
  5984  	// The Amazon Resource Name (ARN) of the task that is being executed.
  5985  	//
  5986  	// TaskExecutionArn is a required field
  5987  	TaskExecutionArn *string `type:"string" required:"true"`
  5988  }
  5989  
  5990  // String returns the string representation.
  5991  //
  5992  // API parameter values that are decorated as "sensitive" in the API will not
  5993  // be included in the string output. The member name will be present, but the
  5994  // value will be replaced with "sensitive".
  5995  func (s DescribeTaskExecutionInput) String() string {
  5996  	return awsutil.Prettify(s)
  5997  }
  5998  
  5999  // GoString returns the string representation.
  6000  //
  6001  // API parameter values that are decorated as "sensitive" in the API will not
  6002  // be included in the string output. The member name will be present, but the
  6003  // value will be replaced with "sensitive".
  6004  func (s DescribeTaskExecutionInput) GoString() string {
  6005  	return s.String()
  6006  }
  6007  
  6008  // Validate inspects the fields of the type to determine if they are valid.
  6009  func (s *DescribeTaskExecutionInput) Validate() error {
  6010  	invalidParams := request.ErrInvalidParams{Context: "DescribeTaskExecutionInput"}
  6011  	if s.TaskExecutionArn == nil {
  6012  		invalidParams.Add(request.NewErrParamRequired("TaskExecutionArn"))
  6013  	}
  6014  
  6015  	if invalidParams.Len() > 0 {
  6016  		return invalidParams
  6017  	}
  6018  	return nil
  6019  }
  6020  
  6021  // SetTaskExecutionArn sets the TaskExecutionArn field's value.
  6022  func (s *DescribeTaskExecutionInput) SetTaskExecutionArn(v string) *DescribeTaskExecutionInput {
  6023  	s.TaskExecutionArn = &v
  6024  	return s
  6025  }
  6026  
  6027  // DescribeTaskExecutionResponse
  6028  type DescribeTaskExecutionOutput struct {
  6029  	_ struct{} `type:"structure"`
  6030  
  6031  	// The physical number of bytes transferred over the network.
  6032  	BytesTransferred *int64 `type:"long"`
  6033  
  6034  	// The number of logical bytes written to the destination Amazon Web Services
  6035  	// storage resource.
  6036  	BytesWritten *int64 `type:"long"`
  6037  
  6038  	// The estimated physical number of bytes that is to be transferred over the
  6039  	// network.
  6040  	EstimatedBytesToTransfer *int64 `type:"long"`
  6041  
  6042  	// The expected number of files that is to be transferred over the network.
  6043  	// This value is calculated during the PREPARING phase, before the TRANSFERRING
  6044  	// phase. This value is the expected number of files to be transferred. It's
  6045  	// calculated based on comparing the content of the source and destination locations
  6046  	// and finding the delta that needs to be transferred.
  6047  	EstimatedFilesToTransfer *int64 `type:"long"`
  6048  
  6049  	// A list of filter rules that determines which files to exclude from a task.
  6050  	// The list should contain a single filter string that consists of the patterns
  6051  	// to exclude. The patterns are delimited by "|" (that is, a pipe), for example:
  6052  	// "/folder1|/folder2"
  6053  	Excludes []*FilterRule `type:"list"`
  6054  
  6055  	// The actual number of files that was transferred over the network. This value
  6056  	// is calculated and updated on an ongoing basis during the TRANSFERRING phase.
  6057  	// It's updated periodically when each file is read from the source and sent
  6058  	// over the network.
  6059  	//
  6060  	// If failures occur during a transfer, this value can be less than EstimatedFilesToTransfer.
  6061  	// This value can also be greater than EstimatedFilesTransferred in some cases.
  6062  	// This element is implementation-specific for some location types, so don't
  6063  	// use it as an indicator for a correct file number or to monitor your task
  6064  	// execution.
  6065  	FilesTransferred *int64 `type:"long"`
  6066  
  6067  	// A list of filter rules that determines which files to include when running
  6068  	// a task. The list should contain a single filter string that consists of the
  6069  	// patterns to include. The patterns are delimited by "|" (that is, a pipe),
  6070  	// for example: "/folder1|/folder2"
  6071  	Includes []*FilterRule `type:"list"`
  6072  
  6073  	// Represents the options that are available to control the behavior of a StartTaskExecution
  6074  	// (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html)
  6075  	// operation. Behavior includes preserving metadata such as user ID (UID), group
  6076  	// ID (GID), and file permissions, and also overwriting files in the destination,
  6077  	// data integrity verification, and so on.
  6078  	//
  6079  	// A task has a set of default options associated with it. If you don't specify
  6080  	// an option in StartTaskExecution (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html),
  6081  	// the default value is used. You can override the defaults options on each
  6082  	// task execution by specifying an overriding Options value to StartTaskExecution
  6083  	// (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html).
  6084  	Options *Options `type:"structure"`
  6085  
  6086  	// The result of the task execution.
  6087  	Result *TaskExecutionResultDetail `type:"structure"`
  6088  
  6089  	// The time that the task execution was started.
  6090  	StartTime *time.Time `type:"timestamp"`
  6091  
  6092  	// The status of the task execution.
  6093  	//
  6094  	// For detailed information about task execution statuses, see Understanding
  6095  	// Task Statuses in the DataSync User Guide.
  6096  	Status *string `type:"string" enum:"TaskExecutionStatus"`
  6097  
  6098  	// The Amazon Resource Name (ARN) of the task execution that was described.
  6099  	// TaskExecutionArn is hierarchical and includes TaskArn for the task that was
  6100  	// executed.
  6101  	//
  6102  	// For example, a TaskExecution value with the ARN arn:aws:datasync:us-east-1:111222333444:task/task-0208075f79cedf4a2/execution/exec-08ef1e88ec491019b
  6103  	// executed the task with the ARN arn:aws:datasync:us-east-1:111222333444:task/task-0208075f79cedf4a2.
  6104  	TaskExecutionArn *string `type:"string"`
  6105  }
  6106  
  6107  // String returns the string representation.
  6108  //
  6109  // API parameter values that are decorated as "sensitive" in the API will not
  6110  // be included in the string output. The member name will be present, but the
  6111  // value will be replaced with "sensitive".
  6112  func (s DescribeTaskExecutionOutput) String() string {
  6113  	return awsutil.Prettify(s)
  6114  }
  6115  
  6116  // GoString returns the string representation.
  6117  //
  6118  // API parameter values that are decorated as "sensitive" in the API will not
  6119  // be included in the string output. The member name will be present, but the
  6120  // value will be replaced with "sensitive".
  6121  func (s DescribeTaskExecutionOutput) GoString() string {
  6122  	return s.String()
  6123  }
  6124  
  6125  // SetBytesTransferred sets the BytesTransferred field's value.
  6126  func (s *DescribeTaskExecutionOutput) SetBytesTransferred(v int64) *DescribeTaskExecutionOutput {
  6127  	s.BytesTransferred = &v
  6128  	return s
  6129  }
  6130  
  6131  // SetBytesWritten sets the BytesWritten field's value.
  6132  func (s *DescribeTaskExecutionOutput) SetBytesWritten(v int64) *DescribeTaskExecutionOutput {
  6133  	s.BytesWritten = &v
  6134  	return s
  6135  }
  6136  
  6137  // SetEstimatedBytesToTransfer sets the EstimatedBytesToTransfer field's value.
  6138  func (s *DescribeTaskExecutionOutput) SetEstimatedBytesToTransfer(v int64) *DescribeTaskExecutionOutput {
  6139  	s.EstimatedBytesToTransfer = &v
  6140  	return s
  6141  }
  6142  
  6143  // SetEstimatedFilesToTransfer sets the EstimatedFilesToTransfer field's value.
  6144  func (s *DescribeTaskExecutionOutput) SetEstimatedFilesToTransfer(v int64) *DescribeTaskExecutionOutput {
  6145  	s.EstimatedFilesToTransfer = &v
  6146  	return s
  6147  }
  6148  
  6149  // SetExcludes sets the Excludes field's value.
  6150  func (s *DescribeTaskExecutionOutput) SetExcludes(v []*FilterRule) *DescribeTaskExecutionOutput {
  6151  	s.Excludes = v
  6152  	return s
  6153  }
  6154  
  6155  // SetFilesTransferred sets the FilesTransferred field's value.
  6156  func (s *DescribeTaskExecutionOutput) SetFilesTransferred(v int64) *DescribeTaskExecutionOutput {
  6157  	s.FilesTransferred = &v
  6158  	return s
  6159  }
  6160  
  6161  // SetIncludes sets the Includes field's value.
  6162  func (s *DescribeTaskExecutionOutput) SetIncludes(v []*FilterRule) *DescribeTaskExecutionOutput {
  6163  	s.Includes = v
  6164  	return s
  6165  }
  6166  
  6167  // SetOptions sets the Options field's value.
  6168  func (s *DescribeTaskExecutionOutput) SetOptions(v *Options) *DescribeTaskExecutionOutput {
  6169  	s.Options = v
  6170  	return s
  6171  }
  6172  
  6173  // SetResult sets the Result field's value.
  6174  func (s *DescribeTaskExecutionOutput) SetResult(v *TaskExecutionResultDetail) *DescribeTaskExecutionOutput {
  6175  	s.Result = v
  6176  	return s
  6177  }
  6178  
  6179  // SetStartTime sets the StartTime field's value.
  6180  func (s *DescribeTaskExecutionOutput) SetStartTime(v time.Time) *DescribeTaskExecutionOutput {
  6181  	s.StartTime = &v
  6182  	return s
  6183  }
  6184  
  6185  // SetStatus sets the Status field's value.
  6186  func (s *DescribeTaskExecutionOutput) SetStatus(v string) *DescribeTaskExecutionOutput {
  6187  	s.Status = &v
  6188  	return s
  6189  }
  6190  
  6191  // SetTaskExecutionArn sets the TaskExecutionArn field's value.
  6192  func (s *DescribeTaskExecutionOutput) SetTaskExecutionArn(v string) *DescribeTaskExecutionOutput {
  6193  	s.TaskExecutionArn = &v
  6194  	return s
  6195  }
  6196  
  6197  // DescribeTaskRequest
  6198  type DescribeTaskInput struct {
  6199  	_ struct{} `type:"structure"`
  6200  
  6201  	// The Amazon Resource Name (ARN) of the task to describe.
  6202  	//
  6203  	// TaskArn is a required field
  6204  	TaskArn *string `type:"string" required:"true"`
  6205  }
  6206  
  6207  // String returns the string representation.
  6208  //
  6209  // API parameter values that are decorated as "sensitive" in the API will not
  6210  // be included in the string output. The member name will be present, but the
  6211  // value will be replaced with "sensitive".
  6212  func (s DescribeTaskInput) String() string {
  6213  	return awsutil.Prettify(s)
  6214  }
  6215  
  6216  // GoString returns the string representation.
  6217  //
  6218  // API parameter values that are decorated as "sensitive" in the API will not
  6219  // be included in the string output. The member name will be present, but the
  6220  // value will be replaced with "sensitive".
  6221  func (s DescribeTaskInput) GoString() string {
  6222  	return s.String()
  6223  }
  6224  
  6225  // Validate inspects the fields of the type to determine if they are valid.
  6226  func (s *DescribeTaskInput) Validate() error {
  6227  	invalidParams := request.ErrInvalidParams{Context: "DescribeTaskInput"}
  6228  	if s.TaskArn == nil {
  6229  		invalidParams.Add(request.NewErrParamRequired("TaskArn"))
  6230  	}
  6231  
  6232  	if invalidParams.Len() > 0 {
  6233  		return invalidParams
  6234  	}
  6235  	return nil
  6236  }
  6237  
  6238  // SetTaskArn sets the TaskArn field's value.
  6239  func (s *DescribeTaskInput) SetTaskArn(v string) *DescribeTaskInput {
  6240  	s.TaskArn = &v
  6241  	return s
  6242  }
  6243  
  6244  // DescribeTaskResponse
  6245  type DescribeTaskOutput struct {
  6246  	_ struct{} `type:"structure"`
  6247  
  6248  	// The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that was
  6249  	// used to monitor and log events in the task.
  6250  	//
  6251  	// For more information on these groups, see Working with Log Groups and Log
  6252  	// Streams in the Amazon CloudWatch User Guide.
  6253  	CloudWatchLogGroupArn *string `type:"string"`
  6254  
  6255  	// The time that the task was created.
  6256  	CreationTime *time.Time `type:"timestamp"`
  6257  
  6258  	// The Amazon Resource Name (ARN) of the task execution that is syncing files.
  6259  	CurrentTaskExecutionArn *string `type:"string"`
  6260  
  6261  	// The Amazon Resource Name (ARN) of the Amazon Web Services storage resource's
  6262  	// location.
  6263  	DestinationLocationArn *string `type:"string"`
  6264  
  6265  	// The Amazon Resource Name (ARN) of the destination ENIs (Elastic Network Interface)
  6266  	// that was created for your subnet.
  6267  	DestinationNetworkInterfaceArns []*string `type:"list"`
  6268  
  6269  	// Errors that DataSync encountered during execution of the task. You can use
  6270  	// this error code to help troubleshoot issues.
  6271  	ErrorCode *string `type:"string"`
  6272  
  6273  	// Detailed description of an error that was encountered during the task execution.
  6274  	// You can use this information to help troubleshoot issues.
  6275  	ErrorDetail *string `type:"string"`
  6276  
  6277  	// A list of filter rules that determines which files to exclude from a task.
  6278  	// The list should contain a single filter string that consists of the patterns
  6279  	// to exclude. The patterns are delimited by "|" (that is, a pipe), for example:
  6280  	// "/folder1|/folder2"
  6281  	Excludes []*FilterRule `type:"list"`
  6282  
  6283  	// A list of filter rules that determines which files to include when running
  6284  	// a task. The pattern should contain a single filter string that consists of
  6285  	// the patterns to include. The patterns are delimited by "|" (that is, a pipe).
  6286  	// For example: "/folder1|/folder2"
  6287  	Includes []*FilterRule `type:"list"`
  6288  
  6289  	// The name of the task that was described.
  6290  	Name *string `min:"1" type:"string"`
  6291  
  6292  	// The set of configuration options that control the behavior of a single execution
  6293  	// of the task that occurs when you call StartTaskExecution. You can configure
  6294  	// these options to preserve metadata such as user ID (UID) and group (GID),
  6295  	// file permissions, data integrity verification, and so on.
  6296  	//
  6297  	// For each individual task execution, you can override these options by specifying
  6298  	// the overriding OverrideOptions value to StartTaskExecution (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html)
  6299  	// operation.
  6300  	Options *Options `type:"structure"`
  6301  
  6302  	// The schedule used to periodically transfer files from a source to a destination
  6303  	// location.
  6304  	Schedule *TaskSchedule `type:"structure"`
  6305  
  6306  	// The Amazon Resource Name (ARN) of the source file system's location.
  6307  	SourceLocationArn *string `type:"string"`
  6308  
  6309  	// The Amazon Resource Name (ARN) of the source ENIs (Elastic Network Interface)
  6310  	// that was created for your subnet.
  6311  	SourceNetworkInterfaceArns []*string `type:"list"`
  6312  
  6313  	// The status of the task that was described.
  6314  	//
  6315  	// For detailed information about task execution statuses, see Understanding
  6316  	// Task Statuses in the DataSync User Guide.
  6317  	Status *string `type:"string" enum:"TaskStatus"`
  6318  
  6319  	// The Amazon Resource Name (ARN) of the task that was described.
  6320  	TaskArn *string `type:"string"`
  6321  }
  6322  
  6323  // String returns the string representation.
  6324  //
  6325  // API parameter values that are decorated as "sensitive" in the API will not
  6326  // be included in the string output. The member name will be present, but the
  6327  // value will be replaced with "sensitive".
  6328  func (s DescribeTaskOutput) String() string {
  6329  	return awsutil.Prettify(s)
  6330  }
  6331  
  6332  // GoString returns the string representation.
  6333  //
  6334  // API parameter values that are decorated as "sensitive" in the API will not
  6335  // be included in the string output. The member name will be present, but the
  6336  // value will be replaced with "sensitive".
  6337  func (s DescribeTaskOutput) GoString() string {
  6338  	return s.String()
  6339  }
  6340  
  6341  // SetCloudWatchLogGroupArn sets the CloudWatchLogGroupArn field's value.
  6342  func (s *DescribeTaskOutput) SetCloudWatchLogGroupArn(v string) *DescribeTaskOutput {
  6343  	s.CloudWatchLogGroupArn = &v
  6344  	return s
  6345  }
  6346  
  6347  // SetCreationTime sets the CreationTime field's value.
  6348  func (s *DescribeTaskOutput) SetCreationTime(v time.Time) *DescribeTaskOutput {
  6349  	s.CreationTime = &v
  6350  	return s
  6351  }
  6352  
  6353  // SetCurrentTaskExecutionArn sets the CurrentTaskExecutionArn field's value.
  6354  func (s *DescribeTaskOutput) SetCurrentTaskExecutionArn(v string) *DescribeTaskOutput {
  6355  	s.CurrentTaskExecutionArn = &v
  6356  	return s
  6357  }
  6358  
  6359  // SetDestinationLocationArn sets the DestinationLocationArn field's value.
  6360  func (s *DescribeTaskOutput) SetDestinationLocationArn(v string) *DescribeTaskOutput {
  6361  	s.DestinationLocationArn = &v
  6362  	return s
  6363  }
  6364  
  6365  // SetDestinationNetworkInterfaceArns sets the DestinationNetworkInterfaceArns field's value.
  6366  func (s *DescribeTaskOutput) SetDestinationNetworkInterfaceArns(v []*string) *DescribeTaskOutput {
  6367  	s.DestinationNetworkInterfaceArns = v
  6368  	return s
  6369  }
  6370  
  6371  // SetErrorCode sets the ErrorCode field's value.
  6372  func (s *DescribeTaskOutput) SetErrorCode(v string) *DescribeTaskOutput {
  6373  	s.ErrorCode = &v
  6374  	return s
  6375  }
  6376  
  6377  // SetErrorDetail sets the ErrorDetail field's value.
  6378  func (s *DescribeTaskOutput) SetErrorDetail(v string) *DescribeTaskOutput {
  6379  	s.ErrorDetail = &v
  6380  	return s
  6381  }
  6382  
  6383  // SetExcludes sets the Excludes field's value.
  6384  func (s *DescribeTaskOutput) SetExcludes(v []*FilterRule) *DescribeTaskOutput {
  6385  	s.Excludes = v
  6386  	return s
  6387  }
  6388  
  6389  // SetIncludes sets the Includes field's value.
  6390  func (s *DescribeTaskOutput) SetIncludes(v []*FilterRule) *DescribeTaskOutput {
  6391  	s.Includes = v
  6392  	return s
  6393  }
  6394  
  6395  // SetName sets the Name field's value.
  6396  func (s *DescribeTaskOutput) SetName(v string) *DescribeTaskOutput {
  6397  	s.Name = &v
  6398  	return s
  6399  }
  6400  
  6401  // SetOptions sets the Options field's value.
  6402  func (s *DescribeTaskOutput) SetOptions(v *Options) *DescribeTaskOutput {
  6403  	s.Options = v
  6404  	return s
  6405  }
  6406  
  6407  // SetSchedule sets the Schedule field's value.
  6408  func (s *DescribeTaskOutput) SetSchedule(v *TaskSchedule) *DescribeTaskOutput {
  6409  	s.Schedule = v
  6410  	return s
  6411  }
  6412  
  6413  // SetSourceLocationArn sets the SourceLocationArn field's value.
  6414  func (s *DescribeTaskOutput) SetSourceLocationArn(v string) *DescribeTaskOutput {
  6415  	s.SourceLocationArn = &v
  6416  	return s
  6417  }
  6418  
  6419  // SetSourceNetworkInterfaceArns sets the SourceNetworkInterfaceArns field's value.
  6420  func (s *DescribeTaskOutput) SetSourceNetworkInterfaceArns(v []*string) *DescribeTaskOutput {
  6421  	s.SourceNetworkInterfaceArns = v
  6422  	return s
  6423  }
  6424  
  6425  // SetStatus sets the Status field's value.
  6426  func (s *DescribeTaskOutput) SetStatus(v string) *DescribeTaskOutput {
  6427  	s.Status = &v
  6428  	return s
  6429  }
  6430  
  6431  // SetTaskArn sets the TaskArn field's value.
  6432  func (s *DescribeTaskOutput) SetTaskArn(v string) *DescribeTaskOutput {
  6433  	s.TaskArn = &v
  6434  	return s
  6435  }
  6436  
  6437  // The subnet and the security group that DataSync uses to access target EFS
  6438  // file system. The subnet must have at least one mount target for that file
  6439  // system. The security group that you provide needs to be able to communicate
  6440  // with the security group on the mount target in the subnet specified.
  6441  type Ec2Config struct {
  6442  	_ struct{} `type:"structure"`
  6443  
  6444  	// The Amazon Resource Names (ARNs) of the security groups that are configured
  6445  	// for the Amazon EC2 resource.
  6446  	//
  6447  	// SecurityGroupArns is a required field
  6448  	SecurityGroupArns []*string `min:"1" type:"list" required:"true"`
  6449  
  6450  	// The ARN of the subnet and the security group that DataSync uses to access
  6451  	// the target EFS file system.
  6452  	//
  6453  	// SubnetArn is a required field
  6454  	SubnetArn *string `type:"string" required:"true"`
  6455  }
  6456  
  6457  // String returns the string representation.
  6458  //
  6459  // API parameter values that are decorated as "sensitive" in the API will not
  6460  // be included in the string output. The member name will be present, but the
  6461  // value will be replaced with "sensitive".
  6462  func (s Ec2Config) String() string {
  6463  	return awsutil.Prettify(s)
  6464  }
  6465  
  6466  // GoString returns the string representation.
  6467  //
  6468  // API parameter values that are decorated as "sensitive" in the API will not
  6469  // be included in the string output. The member name will be present, but the
  6470  // value will be replaced with "sensitive".
  6471  func (s Ec2Config) GoString() string {
  6472  	return s.String()
  6473  }
  6474  
  6475  // Validate inspects the fields of the type to determine if they are valid.
  6476  func (s *Ec2Config) Validate() error {
  6477  	invalidParams := request.ErrInvalidParams{Context: "Ec2Config"}
  6478  	if s.SecurityGroupArns == nil {
  6479  		invalidParams.Add(request.NewErrParamRequired("SecurityGroupArns"))
  6480  	}
  6481  	if s.SecurityGroupArns != nil && len(s.SecurityGroupArns) < 1 {
  6482  		invalidParams.Add(request.NewErrParamMinLen("SecurityGroupArns", 1))
  6483  	}
  6484  	if s.SubnetArn == nil {
  6485  		invalidParams.Add(request.NewErrParamRequired("SubnetArn"))
  6486  	}
  6487  
  6488  	if invalidParams.Len() > 0 {
  6489  		return invalidParams
  6490  	}
  6491  	return nil
  6492  }
  6493  
  6494  // SetSecurityGroupArns sets the SecurityGroupArns field's value.
  6495  func (s *Ec2Config) SetSecurityGroupArns(v []*string) *Ec2Config {
  6496  	s.SecurityGroupArns = v
  6497  	return s
  6498  }
  6499  
  6500  // SetSubnetArn sets the SubnetArn field's value.
  6501  func (s *Ec2Config) SetSubnetArn(v string) *Ec2Config {
  6502  	s.SubnetArn = &v
  6503  	return s
  6504  }
  6505  
  6506  // Specifies which files, folders, and objects to include or exclude when transferring
  6507  // files from source to destination.
  6508  type FilterRule struct {
  6509  	_ struct{} `type:"structure"`
  6510  
  6511  	// The type of filter rule to apply. DataSync only supports the SIMPLE_PATTERN
  6512  	// rule type.
  6513  	FilterType *string `type:"string" enum:"FilterType"`
  6514  
  6515  	// A single filter string that consists of the patterns to include or exclude.
  6516  	// The patterns are delimited by "|" (that is, a pipe), for example: /folder1|/folder2
  6517  	Value *string `type:"string"`
  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 FilterRule) 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 FilterRule) GoString() string {
  6535  	return s.String()
  6536  }
  6537  
  6538  // SetFilterType sets the FilterType field's value.
  6539  func (s *FilterRule) SetFilterType(v string) *FilterRule {
  6540  	s.FilterType = &v
  6541  	return s
  6542  }
  6543  
  6544  // SetValue sets the Value field's value.
  6545  func (s *FilterRule) SetValue(v string) *FilterRule {
  6546  	s.Value = &v
  6547  	return s
  6548  }
  6549  
  6550  // This exception is thrown when an error occurs in the DataSync service.
  6551  type InternalException struct {
  6552  	_            struct{}                  `type:"structure"`
  6553  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6554  
  6555  	ErrorCode *string `locationName:"errorCode" type:"string"`
  6556  
  6557  	Message_ *string `locationName:"message" type:"string"`
  6558  }
  6559  
  6560  // String returns the string representation.
  6561  //
  6562  // API parameter values that are decorated as "sensitive" in the API will not
  6563  // be included in the string output. The member name will be present, but the
  6564  // value will be replaced with "sensitive".
  6565  func (s InternalException) String() string {
  6566  	return awsutil.Prettify(s)
  6567  }
  6568  
  6569  // GoString returns the string representation.
  6570  //
  6571  // API parameter values that are decorated as "sensitive" in the API will not
  6572  // be included in the string output. The member name will be present, but the
  6573  // value will be replaced with "sensitive".
  6574  func (s InternalException) GoString() string {
  6575  	return s.String()
  6576  }
  6577  
  6578  func newErrorInternalException(v protocol.ResponseMetadata) error {
  6579  	return &InternalException{
  6580  		RespMetadata: v,
  6581  	}
  6582  }
  6583  
  6584  // Code returns the exception type name.
  6585  func (s *InternalException) Code() string {
  6586  	return "InternalException"
  6587  }
  6588  
  6589  // Message returns the exception's message.
  6590  func (s *InternalException) Message() string {
  6591  	if s.Message_ != nil {
  6592  		return *s.Message_
  6593  	}
  6594  	return ""
  6595  }
  6596  
  6597  // OrigErr always returns nil, satisfies awserr.Error interface.
  6598  func (s *InternalException) OrigErr() error {
  6599  	return nil
  6600  }
  6601  
  6602  func (s *InternalException) Error() string {
  6603  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  6604  }
  6605  
  6606  // Status code returns the HTTP status code for the request's response error.
  6607  func (s *InternalException) StatusCode() int {
  6608  	return s.RespMetadata.StatusCode
  6609  }
  6610  
  6611  // RequestID returns the service's response RequestID for request.
  6612  func (s *InternalException) RequestID() string {
  6613  	return s.RespMetadata.RequestID
  6614  }
  6615  
  6616  // This exception is thrown when the client submits a malformed request.
  6617  type InvalidRequestException struct {
  6618  	_            struct{}                  `type:"structure"`
  6619  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6620  
  6621  	ErrorCode *string `locationName:"errorCode" type:"string"`
  6622  
  6623  	Message_ *string `locationName:"message" type:"string"`
  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 InvalidRequestException) 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 InvalidRequestException) GoString() string {
  6641  	return s.String()
  6642  }
  6643  
  6644  func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
  6645  	return &InvalidRequestException{
  6646  		RespMetadata: v,
  6647  	}
  6648  }
  6649  
  6650  // Code returns the exception type name.
  6651  func (s *InvalidRequestException) Code() string {
  6652  	return "InvalidRequestException"
  6653  }
  6654  
  6655  // Message returns the exception's message.
  6656  func (s *InvalidRequestException) Message() string {
  6657  	if s.Message_ != nil {
  6658  		return *s.Message_
  6659  	}
  6660  	return ""
  6661  }
  6662  
  6663  // OrigErr always returns nil, satisfies awserr.Error interface.
  6664  func (s *InvalidRequestException) OrigErr() error {
  6665  	return nil
  6666  }
  6667  
  6668  func (s *InvalidRequestException) Error() string {
  6669  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  6670  }
  6671  
  6672  // Status code returns the HTTP status code for the request's response error.
  6673  func (s *InvalidRequestException) StatusCode() int {
  6674  	return s.RespMetadata.StatusCode
  6675  }
  6676  
  6677  // RequestID returns the service's response RequestID for request.
  6678  func (s *InvalidRequestException) RequestID() string {
  6679  	return s.RespMetadata.RequestID
  6680  }
  6681  
  6682  // ListAgentsRequest
  6683  type ListAgentsInput struct {
  6684  	_ struct{} `type:"structure"`
  6685  
  6686  	// The maximum number of agents to list.
  6687  	MaxResults *int64 `type:"integer"`
  6688  
  6689  	// An opaque string that indicates the position at which to begin the next list
  6690  	// of agents.
  6691  	NextToken *string `type:"string"`
  6692  }
  6693  
  6694  // String returns the string representation.
  6695  //
  6696  // API parameter values that are decorated as "sensitive" in the API will not
  6697  // be included in the string output. The member name will be present, but the
  6698  // value will be replaced with "sensitive".
  6699  func (s ListAgentsInput) String() string {
  6700  	return awsutil.Prettify(s)
  6701  }
  6702  
  6703  // GoString returns the string representation.
  6704  //
  6705  // API parameter values that are decorated as "sensitive" in the API will not
  6706  // be included in the string output. The member name will be present, but the
  6707  // value will be replaced with "sensitive".
  6708  func (s ListAgentsInput) GoString() string {
  6709  	return s.String()
  6710  }
  6711  
  6712  // SetMaxResults sets the MaxResults field's value.
  6713  func (s *ListAgentsInput) SetMaxResults(v int64) *ListAgentsInput {
  6714  	s.MaxResults = &v
  6715  	return s
  6716  }
  6717  
  6718  // SetNextToken sets the NextToken field's value.
  6719  func (s *ListAgentsInput) SetNextToken(v string) *ListAgentsInput {
  6720  	s.NextToken = &v
  6721  	return s
  6722  }
  6723  
  6724  // ListAgentsResponse
  6725  type ListAgentsOutput struct {
  6726  	_ struct{} `type:"structure"`
  6727  
  6728  	// A list of agents in your account.
  6729  	Agents []*AgentListEntry `type:"list"`
  6730  
  6731  	// An opaque string that indicates the position at which to begin returning
  6732  	// the next list of agents.
  6733  	NextToken *string `type:"string"`
  6734  }
  6735  
  6736  // String returns the string representation.
  6737  //
  6738  // API parameter values that are decorated as "sensitive" in the API will not
  6739  // be included in the string output. The member name will be present, but the
  6740  // value will be replaced with "sensitive".
  6741  func (s ListAgentsOutput) String() string {
  6742  	return awsutil.Prettify(s)
  6743  }
  6744  
  6745  // GoString returns the string representation.
  6746  //
  6747  // API parameter values that are decorated as "sensitive" in the API will not
  6748  // be included in the string output. The member name will be present, but the
  6749  // value will be replaced with "sensitive".
  6750  func (s ListAgentsOutput) GoString() string {
  6751  	return s.String()
  6752  }
  6753  
  6754  // SetAgents sets the Agents field's value.
  6755  func (s *ListAgentsOutput) SetAgents(v []*AgentListEntry) *ListAgentsOutput {
  6756  	s.Agents = v
  6757  	return s
  6758  }
  6759  
  6760  // SetNextToken sets the NextToken field's value.
  6761  func (s *ListAgentsOutput) SetNextToken(v string) *ListAgentsOutput {
  6762  	s.NextToken = &v
  6763  	return s
  6764  }
  6765  
  6766  // ListLocationsRequest
  6767  type ListLocationsInput struct {
  6768  	_ struct{} `type:"structure"`
  6769  
  6770  	// You can use API filters to narrow down the list of resources returned by
  6771  	// ListLocations. For example, to retrieve all tasks on a specific source location,
  6772  	// you can use ListLocations with filter name LocationType S3 and Operator Equals.
  6773  	Filters []*LocationFilter `type:"list"`
  6774  
  6775  	// The maximum number of locations to return.
  6776  	MaxResults *int64 `type:"integer"`
  6777  
  6778  	// An opaque string that indicates the position at which to begin the next list
  6779  	// of locations.
  6780  	NextToken *string `type:"string"`
  6781  }
  6782  
  6783  // String returns the string representation.
  6784  //
  6785  // API parameter values that are decorated as "sensitive" in the API will not
  6786  // be included in the string output. The member name will be present, but the
  6787  // value will be replaced with "sensitive".
  6788  func (s ListLocationsInput) String() string {
  6789  	return awsutil.Prettify(s)
  6790  }
  6791  
  6792  // GoString returns the string representation.
  6793  //
  6794  // API parameter values that are decorated as "sensitive" in the API will not
  6795  // be included in the string output. The member name will be present, but the
  6796  // value will be replaced with "sensitive".
  6797  func (s ListLocationsInput) GoString() string {
  6798  	return s.String()
  6799  }
  6800  
  6801  // Validate inspects the fields of the type to determine if they are valid.
  6802  func (s *ListLocationsInput) Validate() error {
  6803  	invalidParams := request.ErrInvalidParams{Context: "ListLocationsInput"}
  6804  	if s.Filters != nil {
  6805  		for i, v := range s.Filters {
  6806  			if v == nil {
  6807  				continue
  6808  			}
  6809  			if err := v.Validate(); err != nil {
  6810  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
  6811  			}
  6812  		}
  6813  	}
  6814  
  6815  	if invalidParams.Len() > 0 {
  6816  		return invalidParams
  6817  	}
  6818  	return nil
  6819  }
  6820  
  6821  // SetFilters sets the Filters field's value.
  6822  func (s *ListLocationsInput) SetFilters(v []*LocationFilter) *ListLocationsInput {
  6823  	s.Filters = v
  6824  	return s
  6825  }
  6826  
  6827  // SetMaxResults sets the MaxResults field's value.
  6828  func (s *ListLocationsInput) SetMaxResults(v int64) *ListLocationsInput {
  6829  	s.MaxResults = &v
  6830  	return s
  6831  }
  6832  
  6833  // SetNextToken sets the NextToken field's value.
  6834  func (s *ListLocationsInput) SetNextToken(v string) *ListLocationsInput {
  6835  	s.NextToken = &v
  6836  	return s
  6837  }
  6838  
  6839  // ListLocationsResponse
  6840  type ListLocationsOutput struct {
  6841  	_ struct{} `type:"structure"`
  6842  
  6843  	// An array that contains a list of locations.
  6844  	Locations []*LocationListEntry `type:"list"`
  6845  
  6846  	// An opaque string that indicates the position at which to begin returning
  6847  	// the next list of locations.
  6848  	NextToken *string `type:"string"`
  6849  }
  6850  
  6851  // String returns the string representation.
  6852  //
  6853  // API parameter values that are decorated as "sensitive" in the API will not
  6854  // be included in the string output. The member name will be present, but the
  6855  // value will be replaced with "sensitive".
  6856  func (s ListLocationsOutput) String() string {
  6857  	return awsutil.Prettify(s)
  6858  }
  6859  
  6860  // GoString returns the string representation.
  6861  //
  6862  // API parameter values that are decorated as "sensitive" in the API will not
  6863  // be included in the string output. The member name will be present, but the
  6864  // value will be replaced with "sensitive".
  6865  func (s ListLocationsOutput) GoString() string {
  6866  	return s.String()
  6867  }
  6868  
  6869  // SetLocations sets the Locations field's value.
  6870  func (s *ListLocationsOutput) SetLocations(v []*LocationListEntry) *ListLocationsOutput {
  6871  	s.Locations = v
  6872  	return s
  6873  }
  6874  
  6875  // SetNextToken sets the NextToken field's value.
  6876  func (s *ListLocationsOutput) SetNextToken(v string) *ListLocationsOutput {
  6877  	s.NextToken = &v
  6878  	return s
  6879  }
  6880  
  6881  // ListTagsForResourceRequest
  6882  type ListTagsForResourceInput struct {
  6883  	_ struct{} `type:"structure"`
  6884  
  6885  	// The maximum number of locations to return.
  6886  	MaxResults *int64 `type:"integer"`
  6887  
  6888  	// An opaque string that indicates the position at which to begin the next list
  6889  	// of locations.
  6890  	NextToken *string `type:"string"`
  6891  
  6892  	// The Amazon Resource Name (ARN) of the resource whose tags to list.
  6893  	//
  6894  	// ResourceArn is a required field
  6895  	ResourceArn *string `type:"string" required:"true"`
  6896  }
  6897  
  6898  // String returns the string representation.
  6899  //
  6900  // API parameter values that are decorated as "sensitive" in the API will not
  6901  // be included in the string output. The member name will be present, but the
  6902  // value will be replaced with "sensitive".
  6903  func (s ListTagsForResourceInput) String() string {
  6904  	return awsutil.Prettify(s)
  6905  }
  6906  
  6907  // GoString returns the string representation.
  6908  //
  6909  // API parameter values that are decorated as "sensitive" in the API will not
  6910  // be included in the string output. The member name will be present, but the
  6911  // value will be replaced with "sensitive".
  6912  func (s ListTagsForResourceInput) GoString() string {
  6913  	return s.String()
  6914  }
  6915  
  6916  // Validate inspects the fields of the type to determine if they are valid.
  6917  func (s *ListTagsForResourceInput) Validate() error {
  6918  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  6919  	if s.ResourceArn == nil {
  6920  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  6921  	}
  6922  
  6923  	if invalidParams.Len() > 0 {
  6924  		return invalidParams
  6925  	}
  6926  	return nil
  6927  }
  6928  
  6929  // SetMaxResults sets the MaxResults field's value.
  6930  func (s *ListTagsForResourceInput) SetMaxResults(v int64) *ListTagsForResourceInput {
  6931  	s.MaxResults = &v
  6932  	return s
  6933  }
  6934  
  6935  // SetNextToken sets the NextToken field's value.
  6936  func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
  6937  	s.NextToken = &v
  6938  	return s
  6939  }
  6940  
  6941  // SetResourceArn sets the ResourceArn field's value.
  6942  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  6943  	s.ResourceArn = &v
  6944  	return s
  6945  }
  6946  
  6947  // ListTagsForResourceResponse
  6948  type ListTagsForResourceOutput struct {
  6949  	_ struct{} `type:"structure"`
  6950  
  6951  	// An opaque string that indicates the position at which to begin returning
  6952  	// the next list of resource tags.
  6953  	NextToken *string `type:"string"`
  6954  
  6955  	// Array of resource tags.
  6956  	Tags []*TagListEntry `type:"list"`
  6957  }
  6958  
  6959  // String returns the string representation.
  6960  //
  6961  // API parameter values that are decorated as "sensitive" in the API will not
  6962  // be included in the string output. The member name will be present, but the
  6963  // value will be replaced with "sensitive".
  6964  func (s ListTagsForResourceOutput) String() string {
  6965  	return awsutil.Prettify(s)
  6966  }
  6967  
  6968  // GoString returns the string representation.
  6969  //
  6970  // API parameter values that are decorated as "sensitive" in the API will not
  6971  // be included in the string output. The member name will be present, but the
  6972  // value will be replaced with "sensitive".
  6973  func (s ListTagsForResourceOutput) GoString() string {
  6974  	return s.String()
  6975  }
  6976  
  6977  // SetNextToken sets the NextToken field's value.
  6978  func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
  6979  	s.NextToken = &v
  6980  	return s
  6981  }
  6982  
  6983  // SetTags sets the Tags field's value.
  6984  func (s *ListTagsForResourceOutput) SetTags(v []*TagListEntry) *ListTagsForResourceOutput {
  6985  	s.Tags = v
  6986  	return s
  6987  }
  6988  
  6989  // ListTaskExecutions
  6990  type ListTaskExecutionsInput struct {
  6991  	_ struct{} `type:"structure"`
  6992  
  6993  	// The maximum number of executed tasks to list.
  6994  	MaxResults *int64 `type:"integer"`
  6995  
  6996  	// An opaque string that indicates the position at which to begin the next list
  6997  	// of the executed tasks.
  6998  	NextToken *string `type:"string"`
  6999  
  7000  	// The Amazon Resource Name (ARN) of the task whose tasks you want to list.
  7001  	TaskArn *string `type:"string"`
  7002  }
  7003  
  7004  // String returns the string representation.
  7005  //
  7006  // API parameter values that are decorated as "sensitive" in the API will not
  7007  // be included in the string output. The member name will be present, but the
  7008  // value will be replaced with "sensitive".
  7009  func (s ListTaskExecutionsInput) String() string {
  7010  	return awsutil.Prettify(s)
  7011  }
  7012  
  7013  // GoString returns the string representation.
  7014  //
  7015  // API parameter values that are decorated as "sensitive" in the API will not
  7016  // be included in the string output. The member name will be present, but the
  7017  // value will be replaced with "sensitive".
  7018  func (s ListTaskExecutionsInput) GoString() string {
  7019  	return s.String()
  7020  }
  7021  
  7022  // SetMaxResults sets the MaxResults field's value.
  7023  func (s *ListTaskExecutionsInput) SetMaxResults(v int64) *ListTaskExecutionsInput {
  7024  	s.MaxResults = &v
  7025  	return s
  7026  }
  7027  
  7028  // SetNextToken sets the NextToken field's value.
  7029  func (s *ListTaskExecutionsInput) SetNextToken(v string) *ListTaskExecutionsInput {
  7030  	s.NextToken = &v
  7031  	return s
  7032  }
  7033  
  7034  // SetTaskArn sets the TaskArn field's value.
  7035  func (s *ListTaskExecutionsInput) SetTaskArn(v string) *ListTaskExecutionsInput {
  7036  	s.TaskArn = &v
  7037  	return s
  7038  }
  7039  
  7040  // ListTaskExecutionsResponse
  7041  type ListTaskExecutionsOutput struct {
  7042  	_ struct{} `type:"structure"`
  7043  
  7044  	// An opaque string that indicates the position at which to begin returning
  7045  	// the next list of executed tasks.
  7046  	NextToken *string `type:"string"`
  7047  
  7048  	// A list of executed tasks.
  7049  	TaskExecutions []*TaskExecutionListEntry `type:"list"`
  7050  }
  7051  
  7052  // String returns the string representation.
  7053  //
  7054  // API parameter values that are decorated as "sensitive" in the API will not
  7055  // be included in the string output. The member name will be present, but the
  7056  // value will be replaced with "sensitive".
  7057  func (s ListTaskExecutionsOutput) String() string {
  7058  	return awsutil.Prettify(s)
  7059  }
  7060  
  7061  // GoString returns the string representation.
  7062  //
  7063  // API parameter values that are decorated as "sensitive" in the API will not
  7064  // be included in the string output. The member name will be present, but the
  7065  // value will be replaced with "sensitive".
  7066  func (s ListTaskExecutionsOutput) GoString() string {
  7067  	return s.String()
  7068  }
  7069  
  7070  // SetNextToken sets the NextToken field's value.
  7071  func (s *ListTaskExecutionsOutput) SetNextToken(v string) *ListTaskExecutionsOutput {
  7072  	s.NextToken = &v
  7073  	return s
  7074  }
  7075  
  7076  // SetTaskExecutions sets the TaskExecutions field's value.
  7077  func (s *ListTaskExecutionsOutput) SetTaskExecutions(v []*TaskExecutionListEntry) *ListTaskExecutionsOutput {
  7078  	s.TaskExecutions = v
  7079  	return s
  7080  }
  7081  
  7082  // ListTasksRequest
  7083  type ListTasksInput struct {
  7084  	_ struct{} `type:"structure"`
  7085  
  7086  	// You can use API filters to narrow down the list of resources returned by
  7087  	// ListTasks. For example, to retrieve all tasks on a specific source location,
  7088  	// you can use ListTasks with filter name LocationId and Operator Equals with
  7089  	// the ARN for the location.
  7090  	Filters []*TaskFilter `type:"list"`
  7091  
  7092  	// The maximum number of tasks to return.
  7093  	MaxResults *int64 `type:"integer"`
  7094  
  7095  	// An opaque string that indicates the position at which to begin the next list
  7096  	// of tasks.
  7097  	NextToken *string `type:"string"`
  7098  }
  7099  
  7100  // String returns the string representation.
  7101  //
  7102  // API parameter values that are decorated as "sensitive" in the API will not
  7103  // be included in the string output. The member name will be present, but the
  7104  // value will be replaced with "sensitive".
  7105  func (s ListTasksInput) String() string {
  7106  	return awsutil.Prettify(s)
  7107  }
  7108  
  7109  // GoString returns the string representation.
  7110  //
  7111  // API parameter values that are decorated as "sensitive" in the API will not
  7112  // be included in the string output. The member name will be present, but the
  7113  // value will be replaced with "sensitive".
  7114  func (s ListTasksInput) GoString() string {
  7115  	return s.String()
  7116  }
  7117  
  7118  // Validate inspects the fields of the type to determine if they are valid.
  7119  func (s *ListTasksInput) Validate() error {
  7120  	invalidParams := request.ErrInvalidParams{Context: "ListTasksInput"}
  7121  	if s.Filters != nil {
  7122  		for i, v := range s.Filters {
  7123  			if v == nil {
  7124  				continue
  7125  			}
  7126  			if err := v.Validate(); err != nil {
  7127  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
  7128  			}
  7129  		}
  7130  	}
  7131  
  7132  	if invalidParams.Len() > 0 {
  7133  		return invalidParams
  7134  	}
  7135  	return nil
  7136  }
  7137  
  7138  // SetFilters sets the Filters field's value.
  7139  func (s *ListTasksInput) SetFilters(v []*TaskFilter) *ListTasksInput {
  7140  	s.Filters = v
  7141  	return s
  7142  }
  7143  
  7144  // SetMaxResults sets the MaxResults field's value.
  7145  func (s *ListTasksInput) SetMaxResults(v int64) *ListTasksInput {
  7146  	s.MaxResults = &v
  7147  	return s
  7148  }
  7149  
  7150  // SetNextToken sets the NextToken field's value.
  7151  func (s *ListTasksInput) SetNextToken(v string) *ListTasksInput {
  7152  	s.NextToken = &v
  7153  	return s
  7154  }
  7155  
  7156  // ListTasksResponse
  7157  type ListTasksOutput struct {
  7158  	_ struct{} `type:"structure"`
  7159  
  7160  	// An opaque string that indicates the position at which to begin returning
  7161  	// the next list of tasks.
  7162  	NextToken *string `type:"string"`
  7163  
  7164  	// A list of all the tasks that are returned.
  7165  	Tasks []*TaskListEntry `type:"list"`
  7166  }
  7167  
  7168  // String returns the string representation.
  7169  //
  7170  // API parameter values that are decorated as "sensitive" in the API will not
  7171  // be included in the string output. The member name will be present, but the
  7172  // value will be replaced with "sensitive".
  7173  func (s ListTasksOutput) String() string {
  7174  	return awsutil.Prettify(s)
  7175  }
  7176  
  7177  // GoString returns the string representation.
  7178  //
  7179  // API parameter values that are decorated as "sensitive" in the API will not
  7180  // be included in the string output. The member name will be present, but the
  7181  // value will be replaced with "sensitive".
  7182  func (s ListTasksOutput) GoString() string {
  7183  	return s.String()
  7184  }
  7185  
  7186  // SetNextToken sets the NextToken field's value.
  7187  func (s *ListTasksOutput) SetNextToken(v string) *ListTasksOutput {
  7188  	s.NextToken = &v
  7189  	return s
  7190  }
  7191  
  7192  // SetTasks sets the Tasks field's value.
  7193  func (s *ListTasksOutput) SetTasks(v []*TaskListEntry) *ListTasksOutput {
  7194  	s.Tasks = v
  7195  	return s
  7196  }
  7197  
  7198  // You can use API filters to narrow down the list of resources returned by
  7199  // ListLocations. For example, to retrieve all your Amazon S3 locations, you
  7200  // can use ListLocations with filter name LocationType S3 and Operator Equals.
  7201  type LocationFilter struct {
  7202  	_ struct{} `type:"structure"`
  7203  
  7204  	// The name of the filter being used. Each API call supports a list of filters
  7205  	// that are available for it (for example, LocationType for ListLocations).
  7206  	//
  7207  	// Name is a required field
  7208  	Name *string `type:"string" required:"true" enum:"LocationFilterName"`
  7209  
  7210  	// The operator that is used to compare filter values (for example, Equals or
  7211  	// Contains). For more about API filtering operators, see API filters for ListTasks
  7212  	// and ListLocations (https://docs.aws.amazon.com/datasync/latest/userguide/query-resources.html).
  7213  	//
  7214  	// Operator is a required field
  7215  	Operator *string `type:"string" required:"true" enum:"Operator"`
  7216  
  7217  	// The values that you want to filter for. For example, you might want to display
  7218  	// only Amazon S3 locations.
  7219  	//
  7220  	// Values is a required field
  7221  	Values []*string `type:"list" required:"true"`
  7222  }
  7223  
  7224  // String returns the string representation.
  7225  //
  7226  // API parameter values that are decorated as "sensitive" in the API will not
  7227  // be included in the string output. The member name will be present, but the
  7228  // value will be replaced with "sensitive".
  7229  func (s LocationFilter) String() string {
  7230  	return awsutil.Prettify(s)
  7231  }
  7232  
  7233  // GoString returns the string representation.
  7234  //
  7235  // API parameter values that are decorated as "sensitive" in the API will not
  7236  // be included in the string output. The member name will be present, but the
  7237  // value will be replaced with "sensitive".
  7238  func (s LocationFilter) GoString() string {
  7239  	return s.String()
  7240  }
  7241  
  7242  // Validate inspects the fields of the type to determine if they are valid.
  7243  func (s *LocationFilter) Validate() error {
  7244  	invalidParams := request.ErrInvalidParams{Context: "LocationFilter"}
  7245  	if s.Name == nil {
  7246  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7247  	}
  7248  	if s.Operator == nil {
  7249  		invalidParams.Add(request.NewErrParamRequired("Operator"))
  7250  	}
  7251  	if s.Values == nil {
  7252  		invalidParams.Add(request.NewErrParamRequired("Values"))
  7253  	}
  7254  
  7255  	if invalidParams.Len() > 0 {
  7256  		return invalidParams
  7257  	}
  7258  	return nil
  7259  }
  7260  
  7261  // SetName sets the Name field's value.
  7262  func (s *LocationFilter) SetName(v string) *LocationFilter {
  7263  	s.Name = &v
  7264  	return s
  7265  }
  7266  
  7267  // SetOperator sets the Operator field's value.
  7268  func (s *LocationFilter) SetOperator(v string) *LocationFilter {
  7269  	s.Operator = &v
  7270  	return s
  7271  }
  7272  
  7273  // SetValues sets the Values field's value.
  7274  func (s *LocationFilter) SetValues(v []*string) *LocationFilter {
  7275  	s.Values = v
  7276  	return s
  7277  }
  7278  
  7279  // Represents a single entry in a list of locations. LocationListEntry returns
  7280  // an array that contains a list of locations when the ListLocations (https://docs.aws.amazon.com/datasync/latest/userguide/API_ListLocations.html)
  7281  // operation is called.
  7282  type LocationListEntry struct {
  7283  	_ struct{} `type:"structure"`
  7284  
  7285  	// The Amazon Resource Name (ARN) of the location. For Network File System (NFS)
  7286  	// or Amazon EFS, the location is the export path. For Amazon S3, the location
  7287  	// is the prefix path that you want to mount and use as the root of the location.
  7288  	LocationArn *string `type:"string"`
  7289  
  7290  	// Represents a list of URLs of a location. LocationUri returns an array that
  7291  	// contains a list of locations when the ListLocations (https://docs.aws.amazon.com/datasync/latest/userguide/API_ListLocations.html)
  7292  	// operation is called.
  7293  	//
  7294  	// Format: TYPE://GLOBAL_ID/SUBDIR.
  7295  	//
  7296  	// TYPE designates the type of location. Valid values: NFS | EFS | S3.
  7297  	//
  7298  	// GLOBAL_ID is the globally unique identifier of the resource that backs the
  7299  	// location. An example for EFS is us-east-2.fs-abcd1234. An example for Amazon
  7300  	// S3 is the bucket name, such as myBucket. An example for NFS is a valid IPv4
  7301  	// address or a host name compliant with Domain Name Service (DNS).
  7302  	//
  7303  	// SUBDIR is a valid file system path, delimited by forward slashes as is the
  7304  	// *nix convention. For NFS and Amazon EFS, it's the export path to mount the
  7305  	// location. For Amazon S3, it's the prefix path that you mount to and treat
  7306  	// as the root of the location.
  7307  	LocationUri *string `type:"string"`
  7308  }
  7309  
  7310  // String returns the string representation.
  7311  //
  7312  // API parameter values that are decorated as "sensitive" in the API will not
  7313  // be included in the string output. The member name will be present, but the
  7314  // value will be replaced with "sensitive".
  7315  func (s LocationListEntry) String() string {
  7316  	return awsutil.Prettify(s)
  7317  }
  7318  
  7319  // GoString returns the string representation.
  7320  //
  7321  // API parameter values that are decorated as "sensitive" in the API will not
  7322  // be included in the string output. The member name will be present, but the
  7323  // value will be replaced with "sensitive".
  7324  func (s LocationListEntry) GoString() string {
  7325  	return s.String()
  7326  }
  7327  
  7328  // SetLocationArn sets the LocationArn field's value.
  7329  func (s *LocationListEntry) SetLocationArn(v string) *LocationListEntry {
  7330  	s.LocationArn = &v
  7331  	return s
  7332  }
  7333  
  7334  // SetLocationUri sets the LocationUri field's value.
  7335  func (s *LocationListEntry) SetLocationUri(v string) *LocationListEntry {
  7336  	s.LocationUri = &v
  7337  	return s
  7338  }
  7339  
  7340  // Represents the mount options that are available for DataSync to access an
  7341  // NFS location.
  7342  type NfsMountOptions struct {
  7343  	_ struct{} `type:"structure"`
  7344  
  7345  	// The specific NFS version that you want DataSync to use to mount your NFS
  7346  	// share. If the server refuses to use the version specified, the sync will
  7347  	// fail. If you don't specify a version, DataSync defaults to AUTOMATIC. That
  7348  	// is, DataSync automatically selects a version based on negotiation with the
  7349  	// NFS server.
  7350  	//
  7351  	// You can specify the following NFS versions:
  7352  	//
  7353  	//    * NFSv3 (https://tools.ietf.org/html/rfc1813) - stateless protocol version
  7354  	//    that allows for asynchronous writes on the server.
  7355  	//
  7356  	//    * NFSv4.0 (https://tools.ietf.org/html/rfc3530) - stateful, firewall-friendly
  7357  	//    protocol version that supports delegations and pseudo filesystems.
  7358  	//
  7359  	//    * NFSv4.1 (https://tools.ietf.org/html/rfc5661) - stateful protocol version
  7360  	//    that supports sessions, directory delegations, and parallel data processing.
  7361  	//    Version 4.1 also includes all features available in version 4.0.
  7362  	Version *string `type:"string" enum:"NfsVersion"`
  7363  }
  7364  
  7365  // String returns the string representation.
  7366  //
  7367  // API parameter values that are decorated as "sensitive" in the API will not
  7368  // be included in the string output. The member name will be present, but the
  7369  // value will be replaced with "sensitive".
  7370  func (s NfsMountOptions) String() string {
  7371  	return awsutil.Prettify(s)
  7372  }
  7373  
  7374  // GoString returns the string representation.
  7375  //
  7376  // API parameter values that are decorated as "sensitive" in the API will not
  7377  // be included in the string output. The member name will be present, but the
  7378  // value will be replaced with "sensitive".
  7379  func (s NfsMountOptions) GoString() string {
  7380  	return s.String()
  7381  }
  7382  
  7383  // SetVersion sets the Version field's value.
  7384  func (s *NfsMountOptions) SetVersion(v string) *NfsMountOptions {
  7385  	s.Version = &v
  7386  	return s
  7387  }
  7388  
  7389  // A list of Amazon Resource Names (ARNs) of agents to use for a Network File
  7390  // System (NFS) location.
  7391  type OnPremConfig struct {
  7392  	_ struct{} `type:"structure"`
  7393  
  7394  	// ARNs of the agents to use for an NFS location.
  7395  	//
  7396  	// AgentArns is a required field
  7397  	AgentArns []*string `min:"1" type:"list" required:"true"`
  7398  }
  7399  
  7400  // String returns the string representation.
  7401  //
  7402  // API parameter values that are decorated as "sensitive" in the API will not
  7403  // be included in the string output. The member name will be present, but the
  7404  // value will be replaced with "sensitive".
  7405  func (s OnPremConfig) String() string {
  7406  	return awsutil.Prettify(s)
  7407  }
  7408  
  7409  // GoString returns the string representation.
  7410  //
  7411  // API parameter values that are decorated as "sensitive" in the API will not
  7412  // be included in the string output. The member name will be present, but the
  7413  // value will be replaced with "sensitive".
  7414  func (s OnPremConfig) GoString() string {
  7415  	return s.String()
  7416  }
  7417  
  7418  // Validate inspects the fields of the type to determine if they are valid.
  7419  func (s *OnPremConfig) Validate() error {
  7420  	invalidParams := request.ErrInvalidParams{Context: "OnPremConfig"}
  7421  	if s.AgentArns == nil {
  7422  		invalidParams.Add(request.NewErrParamRequired("AgentArns"))
  7423  	}
  7424  	if s.AgentArns != nil && len(s.AgentArns) < 1 {
  7425  		invalidParams.Add(request.NewErrParamMinLen("AgentArns", 1))
  7426  	}
  7427  
  7428  	if invalidParams.Len() > 0 {
  7429  		return invalidParams
  7430  	}
  7431  	return nil
  7432  }
  7433  
  7434  // SetAgentArns sets the AgentArns field's value.
  7435  func (s *OnPremConfig) SetAgentArns(v []*string) *OnPremConfig {
  7436  	s.AgentArns = v
  7437  	return s
  7438  }
  7439  
  7440  // Represents the options that are available to control the behavior of a StartTaskExecution
  7441  // (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html)
  7442  // operation. Behavior includes preserving metadata such as user ID (UID), group
  7443  // ID (GID), and file permissions, and also overwriting files in the destination,
  7444  // data integrity verification, and so on.
  7445  //
  7446  // A task has a set of default options associated with it. If you don't specify
  7447  // an option in StartTaskExecution (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html),
  7448  // the default value is used. You can override the defaults options on each
  7449  // task execution by specifying an overriding Options value to StartTaskExecution
  7450  // (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html).
  7451  type Options struct {
  7452  	_ struct{} `type:"structure"`
  7453  
  7454  	// A file metadata value that shows the last time a file was accessed (that
  7455  	// is, when the file was read or written to). If you set Atime to BEST_EFFORT,
  7456  	// DataSync attempts to preserve the original Atime attribute on all source
  7457  	// files (that is, the version before the PREPARING phase). However, Atime's
  7458  	// behavior is not fully standard across platforms, so DataSync can only do
  7459  	// this on a best-effort basis.
  7460  	//
  7461  	// Default value: BEST_EFFORT.
  7462  	//
  7463  	// BEST_EFFORT: Attempt to preserve the per-file Atime value (recommended).
  7464  	//
  7465  	// NONE: Ignore Atime.
  7466  	//
  7467  	// If Atime is set to BEST_EFFORT, Mtime must be set to PRESERVE.
  7468  	//
  7469  	// If Atime is set to NONE, Mtime must also be NONE.
  7470  	Atime *string `type:"string" enum:"Atime"`
  7471  
  7472  	// A value that limits the bandwidth used by DataSync. For example, if you want
  7473  	// DataSync to use a maximum of 1 MB, set this value to 1048576 (=1024*1024).
  7474  	BytesPerSecond *int64 `type:"long"`
  7475  
  7476  	// The POSIX group ID (GID) of the file's owners. This option should only be
  7477  	// set for NFS, EFS, and S3 locations. For more information about what metadata
  7478  	// is copied by DataSync, see Metadata Copied by DataSync (https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html#metadata-copied).
  7479  	//
  7480  	// Default value: INT_VALUE. This preserves the integer value of the ID.
  7481  	//
  7482  	// INT_VALUE: Preserve the integer value of user ID (UID) and GID (recommended).
  7483  	//
  7484  	// NONE: Ignore UID and GID.
  7485  	Gid *string `type:"string" enum:"Gid"`
  7486  
  7487  	// A value that determines the type of logs that DataSync publishes to a log
  7488  	// stream in the Amazon CloudWatch log group that you provide. For more information
  7489  	// about providing a log group for DataSync, see CloudWatchLogGroupArn (https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html#DataSync-CreateTask-request-CloudWatchLogGroupArn).
  7490  	// If set to OFF, no logs are published. BASIC publishes logs on errors for
  7491  	// individual files transferred, and TRANSFER publishes logs for every file
  7492  	// or object that is transferred and integrity checked.
  7493  	LogLevel *string `type:"string" enum:"LogLevel"`
  7494  
  7495  	// A value that indicates the last time that a file was modified (that is, a
  7496  	// file was written to) before the PREPARING phase. This option is required
  7497  	// for cases when you need to run the same task more than one time.
  7498  	//
  7499  	// Default value: PRESERVE.
  7500  	//
  7501  	// PRESERVE: Preserve original Mtime (recommended)
  7502  	//
  7503  	// NONE: Ignore Mtime.
  7504  	//
  7505  	// If Mtime is set to PRESERVE, Atime must be set to BEST_EFFORT.
  7506  	//
  7507  	// If Mtime is set to NONE, Atime must also be set to NONE.
  7508  	Mtime *string `type:"string" enum:"Mtime"`
  7509  
  7510  	// A value that determines whether files at the destination should be overwritten
  7511  	// or preserved when copying files. If set to NEVER a destination file will
  7512  	// not be replaced by a source file, even if the destination file differs from
  7513  	// the source file. If you modify files in the destination and you sync the
  7514  	// files, you can use this value to protect against overwriting those changes.
  7515  	//
  7516  	// Some storage classes have specific behaviors that can affect your S3 storage
  7517  	// cost. For detailed information, see Considerations when working with Amazon
  7518  	// S3 storage classes in DataSync (https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes)
  7519  	// in the DataSync User Guide.
  7520  	OverwriteMode *string `type:"string" enum:"OverwriteMode"`
  7521  
  7522  	// A value that determines which users or groups can access a file for a specific
  7523  	// purpose such as reading, writing, or execution of the file. This option should
  7524  	// only be set for NFS, EFS, and S3 locations. For more information about what
  7525  	// metadata is copied by DataSync, see Metadata Copied by DataSync (https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html#metadata-copied).
  7526  	//
  7527  	// Default value: PRESERVE.
  7528  	//
  7529  	// PRESERVE: Preserve POSIX-style permissions (recommended).
  7530  	//
  7531  	// NONE: Ignore permissions.
  7532  	//
  7533  	// DataSync can preserve extant permissions of a source location.
  7534  	PosixPermissions *string `type:"string" enum:"PosixPermissions"`
  7535  
  7536  	// A value that specifies whether files in the destination that don't exist
  7537  	// in the source file system should be preserved. This option can affect your
  7538  	// storage cost. If your task deletes objects, you might incur minimum storage
  7539  	// duration charges for certain storage classes. For detailed information, see
  7540  	// Considerations when working with Amazon S3 storage classes in DataSync (https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes)
  7541  	// in the DataSync User Guide.
  7542  	//
  7543  	// Default value: PRESERVE.
  7544  	//
  7545  	// PRESERVE: Ignore such destination files (recommended).
  7546  	//
  7547  	// REMOVE: Delete destination files that aren’t present in the source.
  7548  	PreserveDeletedFiles *string `type:"string" enum:"PreserveDeletedFiles"`
  7549  
  7550  	// A value that determines whether DataSync should preserve the metadata of
  7551  	// block and character devices in the source file system, and re-create the
  7552  	// files with that device name and metadata on the destination. DataSync does
  7553  	// not copy the contents of such devices, only the name and metadata.
  7554  	//
  7555  	// DataSync can't sync the actual contents of such devices, because they are
  7556  	// nonterminal and don't return an end-of-file (EOF) marker.
  7557  	//
  7558  	// Default value: NONE.
  7559  	//
  7560  	// NONE: Ignore special devices (recommended).
  7561  	//
  7562  	// PRESERVE: Preserve character and block device metadata. This option isn't
  7563  	// currently supported for Amazon EFS.
  7564  	PreserveDevices *string `type:"string" enum:"PreserveDevices"`
  7565  
  7566  	// A value that determines which components of the SMB security descriptor are
  7567  	// copied from source to destination objects.
  7568  	//
  7569  	// This value is only used for transfers between SMB and Amazon FSx for Windows
  7570  	// File Server locations, or between two Amazon FSx for Windows File Server
  7571  	// locations. For more information about how DataSync handles metadata, see
  7572  	// How DataSync Handles Metadata and Special Files (https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html).
  7573  	//
  7574  	// Default value: OWNER_DACL.
  7575  	//
  7576  	// OWNER_DACL: For each copied object, DataSync copies the following metadata:
  7577  	//
  7578  	//    * Object owner.
  7579  	//
  7580  	//    * NTFS discretionary access control lists (DACLs), which determine whether
  7581  	//    to grant access to an object.
  7582  	//
  7583  	// When choosing this option, DataSync does NOT copy the NTFS system access
  7584  	// control lists (SACLs), which are used by administrators to log attempts to
  7585  	// access a secured object.
  7586  	//
  7587  	// OWNER_DACL_SACL: For each copied object, DataSync copies the following metadata:
  7588  	//
  7589  	//    * Object owner.
  7590  	//
  7591  	//    * NTFS discretionary access control lists (DACLs), which determine whether
  7592  	//    to grant access to an object.
  7593  	//
  7594  	//    * NTFS system access control lists (SACLs), which are used by administrators
  7595  	//    to log attempts to access a secured object.
  7596  	//
  7597  	// Copying SACLs requires granting additional permissions to the Windows user
  7598  	// that DataSync uses to access your SMB location. For information about choosing
  7599  	// a user that ensures sufficient permissions to files, folders, and metadata,
  7600  	// see user (create-smb-location.html#SMBuser).
  7601  	//
  7602  	// NONE: None of the SMB security descriptor components are copied. Destination
  7603  	// objects are owned by the user that was provided for accessing the destination
  7604  	// location. DACLs and SACLs are set based on the destination server’s configuration.
  7605  	SecurityDescriptorCopyFlags *string `type:"string" enum:"SmbSecurityDescriptorCopyFlags"`
  7606  
  7607  	// A value that determines whether tasks should be queued before executing the
  7608  	// tasks. If set to ENABLED, the tasks will be queued. The default is ENABLED.
  7609  	//
  7610  	// If you use the same agent to run multiple tasks, you can enable the tasks
  7611  	// to run in series. For more information, see Queueing task executions (https://docs.aws.amazon.com/datasync/latest/userguide/run-task.html#queue-task-execution).
  7612  	TaskQueueing *string `type:"string" enum:"TaskQueueing"`
  7613  
  7614  	// A value that determines whether DataSync transfers only the data and metadata
  7615  	// that differ between the source and the destination location, or whether DataSync
  7616  	// transfers all the content from the source, without comparing to the destination
  7617  	// location.
  7618  	//
  7619  	// CHANGED: DataSync copies only data or metadata that is new or different content
  7620  	// from the source location to the destination location.
  7621  	//
  7622  	// ALL: DataSync copies all source location content to the destination, without
  7623  	// comparing to existing content on the destination.
  7624  	TransferMode *string `type:"string" enum:"TransferMode"`
  7625  
  7626  	// The POSIX user ID (UID) of the file's owner. This option should only be set
  7627  	// for NFS, EFS, and S3 locations. To learn more about what metadata is copied
  7628  	// by DataSync, see Metadata Copied by DataSync (https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html#metadata-copied).
  7629  	//
  7630  	// Default value: INT_VALUE. This preserves the integer value of the ID.
  7631  	//
  7632  	// INT_VALUE: Preserve the integer value of UID and group ID (GID) (recommended).
  7633  	//
  7634  	// NONE: Ignore UID and GID.
  7635  	Uid *string `type:"string" enum:"Uid"`
  7636  
  7637  	// A value that determines whether a data integrity verification should be performed
  7638  	// at the end of a task execution after all data and metadata have been transferred.
  7639  	// For more information, see Configure task settings (https://docs.aws.amazon.com/datasync/latest/userguide/create-task.html).
  7640  	//
  7641  	// Default value: POINT_IN_TIME_CONSISTENT.
  7642  	//
  7643  	// ONLY_FILES_TRANSFERRED (recommended): Perform verification only on files
  7644  	// that were transferred.
  7645  	//
  7646  	// POINT_IN_TIME_CONSISTENT: Scan the entire source and entire destination at
  7647  	// the end of the transfer to verify that source and destination are fully synchronized.
  7648  	// This option isn't supported when transferring to S3 Glacier or S3 Glacier
  7649  	// Deep Archive storage classes.
  7650  	//
  7651  	// NONE: No additional verification is done at the end of the transfer, but
  7652  	// all data transmissions are integrity-checked with checksum verification during
  7653  	// the transfer.
  7654  	VerifyMode *string `type:"string" enum:"VerifyMode"`
  7655  }
  7656  
  7657  // String returns the string representation.
  7658  //
  7659  // API parameter values that are decorated as "sensitive" in the API will not
  7660  // be included in the string output. The member name will be present, but the
  7661  // value will be replaced with "sensitive".
  7662  func (s Options) String() string {
  7663  	return awsutil.Prettify(s)
  7664  }
  7665  
  7666  // GoString returns the string representation.
  7667  //
  7668  // API parameter values that are decorated as "sensitive" in the API will not
  7669  // be included in the string output. The member name will be present, but the
  7670  // value will be replaced with "sensitive".
  7671  func (s Options) GoString() string {
  7672  	return s.String()
  7673  }
  7674  
  7675  // Validate inspects the fields of the type to determine if they are valid.
  7676  func (s *Options) Validate() error {
  7677  	invalidParams := request.ErrInvalidParams{Context: "Options"}
  7678  	if s.BytesPerSecond != nil && *s.BytesPerSecond < -1 {
  7679  		invalidParams.Add(request.NewErrParamMinValue("BytesPerSecond", -1))
  7680  	}
  7681  
  7682  	if invalidParams.Len() > 0 {
  7683  		return invalidParams
  7684  	}
  7685  	return nil
  7686  }
  7687  
  7688  // SetAtime sets the Atime field's value.
  7689  func (s *Options) SetAtime(v string) *Options {
  7690  	s.Atime = &v
  7691  	return s
  7692  }
  7693  
  7694  // SetBytesPerSecond sets the BytesPerSecond field's value.
  7695  func (s *Options) SetBytesPerSecond(v int64) *Options {
  7696  	s.BytesPerSecond = &v
  7697  	return s
  7698  }
  7699  
  7700  // SetGid sets the Gid field's value.
  7701  func (s *Options) SetGid(v string) *Options {
  7702  	s.Gid = &v
  7703  	return s
  7704  }
  7705  
  7706  // SetLogLevel sets the LogLevel field's value.
  7707  func (s *Options) SetLogLevel(v string) *Options {
  7708  	s.LogLevel = &v
  7709  	return s
  7710  }
  7711  
  7712  // SetMtime sets the Mtime field's value.
  7713  func (s *Options) SetMtime(v string) *Options {
  7714  	s.Mtime = &v
  7715  	return s
  7716  }
  7717  
  7718  // SetOverwriteMode sets the OverwriteMode field's value.
  7719  func (s *Options) SetOverwriteMode(v string) *Options {
  7720  	s.OverwriteMode = &v
  7721  	return s
  7722  }
  7723  
  7724  // SetPosixPermissions sets the PosixPermissions field's value.
  7725  func (s *Options) SetPosixPermissions(v string) *Options {
  7726  	s.PosixPermissions = &v
  7727  	return s
  7728  }
  7729  
  7730  // SetPreserveDeletedFiles sets the PreserveDeletedFiles field's value.
  7731  func (s *Options) SetPreserveDeletedFiles(v string) *Options {
  7732  	s.PreserveDeletedFiles = &v
  7733  	return s
  7734  }
  7735  
  7736  // SetPreserveDevices sets the PreserveDevices field's value.
  7737  func (s *Options) SetPreserveDevices(v string) *Options {
  7738  	s.PreserveDevices = &v
  7739  	return s
  7740  }
  7741  
  7742  // SetSecurityDescriptorCopyFlags sets the SecurityDescriptorCopyFlags field's value.
  7743  func (s *Options) SetSecurityDescriptorCopyFlags(v string) *Options {
  7744  	s.SecurityDescriptorCopyFlags = &v
  7745  	return s
  7746  }
  7747  
  7748  // SetTaskQueueing sets the TaskQueueing field's value.
  7749  func (s *Options) SetTaskQueueing(v string) *Options {
  7750  	s.TaskQueueing = &v
  7751  	return s
  7752  }
  7753  
  7754  // SetTransferMode sets the TransferMode field's value.
  7755  func (s *Options) SetTransferMode(v string) *Options {
  7756  	s.TransferMode = &v
  7757  	return s
  7758  }
  7759  
  7760  // SetUid sets the Uid field's value.
  7761  func (s *Options) SetUid(v string) *Options {
  7762  	s.Uid = &v
  7763  	return s
  7764  }
  7765  
  7766  // SetVerifyMode sets the VerifyMode field's value.
  7767  func (s *Options) SetVerifyMode(v string) *Options {
  7768  	s.VerifyMode = &v
  7769  	return s
  7770  }
  7771  
  7772  // The VPC endpoint, subnet, and security group that an agent uses to access
  7773  // IP addresses in a VPC (Virtual Private Cloud).
  7774  type PrivateLinkConfig struct {
  7775  	_ struct{} `type:"structure"`
  7776  
  7777  	// The private endpoint that is configured for an agent that has access to IP
  7778  	// addresses in a PrivateLink (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html).
  7779  	// An agent that is configured with this endpoint will not be accessible over
  7780  	// the public internet.
  7781  	PrivateLinkEndpoint *string `min:"7" type:"string"`
  7782  
  7783  	// The Amazon Resource Names (ARNs) of the security groups that are configured
  7784  	// for the EC2 resource that hosts an agent activated in a VPC or an agent that
  7785  	// has access to a VPC endpoint.
  7786  	SecurityGroupArns []*string `min:"1" type:"list"`
  7787  
  7788  	// The Amazon Resource Names (ARNs) of the subnets that are configured for an
  7789  	// agent activated in a VPC or an agent that has access to a VPC endpoint.
  7790  	SubnetArns []*string `min:"1" type:"list"`
  7791  
  7792  	// The ID of the VPC endpoint that is configured for an agent. An agent that
  7793  	// is configured with a VPC endpoint will not be accessible over the public
  7794  	// internet.
  7795  	VpcEndpointId *string `type:"string"`
  7796  }
  7797  
  7798  // String returns the string representation.
  7799  //
  7800  // API parameter values that are decorated as "sensitive" in the API will not
  7801  // be included in the string output. The member name will be present, but the
  7802  // value will be replaced with "sensitive".
  7803  func (s PrivateLinkConfig) String() string {
  7804  	return awsutil.Prettify(s)
  7805  }
  7806  
  7807  // GoString returns the string representation.
  7808  //
  7809  // API parameter values that are decorated as "sensitive" in the API will not
  7810  // be included in the string output. The member name will be present, but the
  7811  // value will be replaced with "sensitive".
  7812  func (s PrivateLinkConfig) GoString() string {
  7813  	return s.String()
  7814  }
  7815  
  7816  // SetPrivateLinkEndpoint sets the PrivateLinkEndpoint field's value.
  7817  func (s *PrivateLinkConfig) SetPrivateLinkEndpoint(v string) *PrivateLinkConfig {
  7818  	s.PrivateLinkEndpoint = &v
  7819  	return s
  7820  }
  7821  
  7822  // SetSecurityGroupArns sets the SecurityGroupArns field's value.
  7823  func (s *PrivateLinkConfig) SetSecurityGroupArns(v []*string) *PrivateLinkConfig {
  7824  	s.SecurityGroupArns = v
  7825  	return s
  7826  }
  7827  
  7828  // SetSubnetArns sets the SubnetArns field's value.
  7829  func (s *PrivateLinkConfig) SetSubnetArns(v []*string) *PrivateLinkConfig {
  7830  	s.SubnetArns = v
  7831  	return s
  7832  }
  7833  
  7834  // SetVpcEndpointId sets the VpcEndpointId field's value.
  7835  func (s *PrivateLinkConfig) SetVpcEndpointId(v string) *PrivateLinkConfig {
  7836  	s.VpcEndpointId = &v
  7837  	return s
  7838  }
  7839  
  7840  // The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
  7841  // role that is used to access an Amazon S3 bucket.
  7842  //
  7843  // For detailed information about using such a role, see Creating a Location
  7844  // for Amazon S3 in the DataSync User Guide.
  7845  type S3Config struct {
  7846  	_ struct{} `type:"structure"`
  7847  
  7848  	// The Amazon S3 bucket to access. This bucket is used as a parameter in the
  7849  	// CreateLocationS3 (https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateLocationS3.html)
  7850  	// operation.
  7851  	//
  7852  	// BucketAccessRoleArn is a required field
  7853  	BucketAccessRoleArn *string `type:"string" required:"true"`
  7854  }
  7855  
  7856  // String returns the string representation.
  7857  //
  7858  // API parameter values that are decorated as "sensitive" in the API will not
  7859  // be included in the string output. The member name will be present, but the
  7860  // value will be replaced with "sensitive".
  7861  func (s S3Config) String() string {
  7862  	return awsutil.Prettify(s)
  7863  }
  7864  
  7865  // GoString returns the string representation.
  7866  //
  7867  // API parameter values that are decorated as "sensitive" in the API will not
  7868  // be included in the string output. The member name will be present, but the
  7869  // value will be replaced with "sensitive".
  7870  func (s S3Config) GoString() string {
  7871  	return s.String()
  7872  }
  7873  
  7874  // Validate inspects the fields of the type to determine if they are valid.
  7875  func (s *S3Config) Validate() error {
  7876  	invalidParams := request.ErrInvalidParams{Context: "S3Config"}
  7877  	if s.BucketAccessRoleArn == nil {
  7878  		invalidParams.Add(request.NewErrParamRequired("BucketAccessRoleArn"))
  7879  	}
  7880  
  7881  	if invalidParams.Len() > 0 {
  7882  		return invalidParams
  7883  	}
  7884  	return nil
  7885  }
  7886  
  7887  // SetBucketAccessRoleArn sets the BucketAccessRoleArn field's value.
  7888  func (s *S3Config) SetBucketAccessRoleArn(v string) *S3Config {
  7889  	s.BucketAccessRoleArn = &v
  7890  	return s
  7891  }
  7892  
  7893  // Represents the mount options that are available for DataSync to access an
  7894  // SMB location.
  7895  type SmbMountOptions struct {
  7896  	_ struct{} `type:"structure"`
  7897  
  7898  	// The specific SMB version that you want DataSync to use to mount your SMB
  7899  	// share. If you don't specify a version, DataSync defaults to AUTOMATIC. That
  7900  	// is, DataSync automatically selects a version based on negotiation with the
  7901  	// SMB server.
  7902  	Version *string `type:"string" enum:"SmbVersion"`
  7903  }
  7904  
  7905  // String returns the string representation.
  7906  //
  7907  // API parameter values that are decorated as "sensitive" in the API will not
  7908  // be included in the string output. The member name will be present, but the
  7909  // value will be replaced with "sensitive".
  7910  func (s SmbMountOptions) String() string {
  7911  	return awsutil.Prettify(s)
  7912  }
  7913  
  7914  // GoString returns the string representation.
  7915  //
  7916  // API parameter values that are decorated as "sensitive" in the API will not
  7917  // be included in the string output. The member name will be present, but the
  7918  // value will be replaced with "sensitive".
  7919  func (s SmbMountOptions) GoString() string {
  7920  	return s.String()
  7921  }
  7922  
  7923  // SetVersion sets the Version field's value.
  7924  func (s *SmbMountOptions) SetVersion(v string) *SmbMountOptions {
  7925  	s.Version = &v
  7926  	return s
  7927  }
  7928  
  7929  // StartTaskExecutionRequest
  7930  type StartTaskExecutionInput struct {
  7931  	_ struct{} `type:"structure"`
  7932  
  7933  	// A list of filter rules that determines which files to exclude from a task.
  7934  	// The list should contain a single filter string that consists of the patterns
  7935  	// to exclude. The patterns are delimited by "|" (that is, a pipe), for example,
  7936  	// "/folder1|/folder2".
  7937  	Excludes []*FilterRule `type:"list"`
  7938  
  7939  	// A list of filter rules that determines which files to include when running
  7940  	// a task. The pattern should contain a single filter string that consists of
  7941  	// the patterns to include. The patterns are delimited by "|" (that is, a pipe).
  7942  	// For example: "/folder1|/folder2"
  7943  	Includes []*FilterRule `type:"list"`
  7944  
  7945  	// Represents the options that are available to control the behavior of a StartTaskExecution
  7946  	// (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html)
  7947  	// operation. Behavior includes preserving metadata such as user ID (UID), group
  7948  	// ID (GID), and file permissions, and also overwriting files in the destination,
  7949  	// data integrity verification, and so on.
  7950  	//
  7951  	// A task has a set of default options associated with it. If you don't specify
  7952  	// an option in StartTaskExecution (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html),
  7953  	// the default value is used. You can override the defaults options on each
  7954  	// task execution by specifying an overriding Options value to StartTaskExecution
  7955  	// (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html).
  7956  	OverrideOptions *Options `type:"structure"`
  7957  
  7958  	// The Amazon Resource Name (ARN) of the task to start.
  7959  	//
  7960  	// TaskArn is a required field
  7961  	TaskArn *string `type:"string" required:"true"`
  7962  }
  7963  
  7964  // String returns the string representation.
  7965  //
  7966  // API parameter values that are decorated as "sensitive" in the API will not
  7967  // be included in the string output. The member name will be present, but the
  7968  // value will be replaced with "sensitive".
  7969  func (s StartTaskExecutionInput) String() string {
  7970  	return awsutil.Prettify(s)
  7971  }
  7972  
  7973  // GoString returns the string representation.
  7974  //
  7975  // API parameter values that are decorated as "sensitive" in the API will not
  7976  // be included in the string output. The member name will be present, but the
  7977  // value will be replaced with "sensitive".
  7978  func (s StartTaskExecutionInput) GoString() string {
  7979  	return s.String()
  7980  }
  7981  
  7982  // Validate inspects the fields of the type to determine if they are valid.
  7983  func (s *StartTaskExecutionInput) Validate() error {
  7984  	invalidParams := request.ErrInvalidParams{Context: "StartTaskExecutionInput"}
  7985  	if s.TaskArn == nil {
  7986  		invalidParams.Add(request.NewErrParamRequired("TaskArn"))
  7987  	}
  7988  	if s.OverrideOptions != nil {
  7989  		if err := s.OverrideOptions.Validate(); err != nil {
  7990  			invalidParams.AddNested("OverrideOptions", err.(request.ErrInvalidParams))
  7991  		}
  7992  	}
  7993  
  7994  	if invalidParams.Len() > 0 {
  7995  		return invalidParams
  7996  	}
  7997  	return nil
  7998  }
  7999  
  8000  // SetExcludes sets the Excludes field's value.
  8001  func (s *StartTaskExecutionInput) SetExcludes(v []*FilterRule) *StartTaskExecutionInput {
  8002  	s.Excludes = v
  8003  	return s
  8004  }
  8005  
  8006  // SetIncludes sets the Includes field's value.
  8007  func (s *StartTaskExecutionInput) SetIncludes(v []*FilterRule) *StartTaskExecutionInput {
  8008  	s.Includes = v
  8009  	return s
  8010  }
  8011  
  8012  // SetOverrideOptions sets the OverrideOptions field's value.
  8013  func (s *StartTaskExecutionInput) SetOverrideOptions(v *Options) *StartTaskExecutionInput {
  8014  	s.OverrideOptions = v
  8015  	return s
  8016  }
  8017  
  8018  // SetTaskArn sets the TaskArn field's value.
  8019  func (s *StartTaskExecutionInput) SetTaskArn(v string) *StartTaskExecutionInput {
  8020  	s.TaskArn = &v
  8021  	return s
  8022  }
  8023  
  8024  // StartTaskExecutionResponse
  8025  type StartTaskExecutionOutput struct {
  8026  	_ struct{} `type:"structure"`
  8027  
  8028  	// The Amazon Resource Name (ARN) of the specific task execution that was started.
  8029  	TaskExecutionArn *string `type:"string"`
  8030  }
  8031  
  8032  // String returns the string representation.
  8033  //
  8034  // API parameter values that are decorated as "sensitive" in the API will not
  8035  // be included in the string output. The member name will be present, but the
  8036  // value will be replaced with "sensitive".
  8037  func (s StartTaskExecutionOutput) String() string {
  8038  	return awsutil.Prettify(s)
  8039  }
  8040  
  8041  // GoString returns the string representation.
  8042  //
  8043  // API parameter values that are decorated as "sensitive" in the API will not
  8044  // be included in the string output. The member name will be present, but the
  8045  // value will be replaced with "sensitive".
  8046  func (s StartTaskExecutionOutput) GoString() string {
  8047  	return s.String()
  8048  }
  8049  
  8050  // SetTaskExecutionArn sets the TaskExecutionArn field's value.
  8051  func (s *StartTaskExecutionOutput) SetTaskExecutionArn(v string) *StartTaskExecutionOutput {
  8052  	s.TaskExecutionArn = &v
  8053  	return s
  8054  }
  8055  
  8056  // Represents a single entry in a list of AWS resource tags. TagListEntry returns
  8057  // an array that contains a list of tasks when the ListTagsForResource (https://docs.aws.amazon.com/datasync/latest/userguide/API_ListTagsForResource.html)
  8058  // operation is called.
  8059  type TagListEntry struct {
  8060  	_ struct{} `type:"structure"`
  8061  
  8062  	// The key for an Amazon Web Services resource tag.
  8063  	//
  8064  	// Key is a required field
  8065  	Key *string `min:"1" type:"string" required:"true"`
  8066  
  8067  	// The value for an Amazon Web Services resource tag.
  8068  	Value *string `min:"1" type:"string"`
  8069  }
  8070  
  8071  // String returns the string representation.
  8072  //
  8073  // API parameter values that are decorated as "sensitive" in the API will not
  8074  // be included in the string output. The member name will be present, but the
  8075  // value will be replaced with "sensitive".
  8076  func (s TagListEntry) String() string {
  8077  	return awsutil.Prettify(s)
  8078  }
  8079  
  8080  // GoString returns the string representation.
  8081  //
  8082  // API parameter values that are decorated as "sensitive" in the API will not
  8083  // be included in the string output. The member name will be present, but the
  8084  // value will be replaced with "sensitive".
  8085  func (s TagListEntry) GoString() string {
  8086  	return s.String()
  8087  }
  8088  
  8089  // Validate inspects the fields of the type to determine if they are valid.
  8090  func (s *TagListEntry) Validate() error {
  8091  	invalidParams := request.ErrInvalidParams{Context: "TagListEntry"}
  8092  	if s.Key == nil {
  8093  		invalidParams.Add(request.NewErrParamRequired("Key"))
  8094  	}
  8095  	if s.Key != nil && len(*s.Key) < 1 {
  8096  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
  8097  	}
  8098  	if s.Value != nil && len(*s.Value) < 1 {
  8099  		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
  8100  	}
  8101  
  8102  	if invalidParams.Len() > 0 {
  8103  		return invalidParams
  8104  	}
  8105  	return nil
  8106  }
  8107  
  8108  // SetKey sets the Key field's value.
  8109  func (s *TagListEntry) SetKey(v string) *TagListEntry {
  8110  	s.Key = &v
  8111  	return s
  8112  }
  8113  
  8114  // SetValue sets the Value field's value.
  8115  func (s *TagListEntry) SetValue(v string) *TagListEntry {
  8116  	s.Value = &v
  8117  	return s
  8118  }
  8119  
  8120  // TagResourceRequest
  8121  type TagResourceInput struct {
  8122  	_ struct{} `type:"structure"`
  8123  
  8124  	// The Amazon Resource Name (ARN) of the resource to apply the tag to.
  8125  	//
  8126  	// ResourceArn is a required field
  8127  	ResourceArn *string `type:"string" required:"true"`
  8128  
  8129  	// The tags to apply.
  8130  	//
  8131  	// Tags is a required field
  8132  	Tags []*TagListEntry `type:"list" required:"true"`
  8133  }
  8134  
  8135  // String returns the string representation.
  8136  //
  8137  // API parameter values that are decorated as "sensitive" in the API will not
  8138  // be included in the string output. The member name will be present, but the
  8139  // value will be replaced with "sensitive".
  8140  func (s TagResourceInput) String() string {
  8141  	return awsutil.Prettify(s)
  8142  }
  8143  
  8144  // GoString returns the string representation.
  8145  //
  8146  // API parameter values that are decorated as "sensitive" in the API will not
  8147  // be included in the string output. The member name will be present, but the
  8148  // value will be replaced with "sensitive".
  8149  func (s TagResourceInput) GoString() string {
  8150  	return s.String()
  8151  }
  8152  
  8153  // Validate inspects the fields of the type to determine if they are valid.
  8154  func (s *TagResourceInput) Validate() error {
  8155  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  8156  	if s.ResourceArn == nil {
  8157  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  8158  	}
  8159  	if s.Tags == nil {
  8160  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  8161  	}
  8162  	if s.Tags != nil {
  8163  		for i, v := range s.Tags {
  8164  			if v == nil {
  8165  				continue
  8166  			}
  8167  			if err := v.Validate(); err != nil {
  8168  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  8169  			}
  8170  		}
  8171  	}
  8172  
  8173  	if invalidParams.Len() > 0 {
  8174  		return invalidParams
  8175  	}
  8176  	return nil
  8177  }
  8178  
  8179  // SetResourceArn sets the ResourceArn field's value.
  8180  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
  8181  	s.ResourceArn = &v
  8182  	return s
  8183  }
  8184  
  8185  // SetTags sets the Tags field's value.
  8186  func (s *TagResourceInput) SetTags(v []*TagListEntry) *TagResourceInput {
  8187  	s.Tags = v
  8188  	return s
  8189  }
  8190  
  8191  type TagResourceOutput struct {
  8192  	_ struct{} `type:"structure"`
  8193  }
  8194  
  8195  // String returns the string representation.
  8196  //
  8197  // API parameter values that are decorated as "sensitive" in the API will not
  8198  // be included in the string output. The member name will be present, but the
  8199  // value will be replaced with "sensitive".
  8200  func (s TagResourceOutput) String() string {
  8201  	return awsutil.Prettify(s)
  8202  }
  8203  
  8204  // GoString returns the string representation.
  8205  //
  8206  // API parameter values that are decorated as "sensitive" in the API will not
  8207  // be included in the string output. The member name will be present, but the
  8208  // value will be replaced with "sensitive".
  8209  func (s TagResourceOutput) GoString() string {
  8210  	return s.String()
  8211  }
  8212  
  8213  // Represents a single entry in a list of task executions. TaskExecutionListEntry
  8214  // returns an array that contains a list of specific invocations of a task when
  8215  // the ListTaskExecutions (https://docs.aws.amazon.com/datasync/latest/userguide/API_ListTaskExecutions.html)
  8216  // operation is called.
  8217  type TaskExecutionListEntry struct {
  8218  	_ struct{} `type:"structure"`
  8219  
  8220  	// The status of a task execution.
  8221  	Status *string `type:"string" enum:"TaskExecutionStatus"`
  8222  
  8223  	// The Amazon Resource Name (ARN) of the task that was executed.
  8224  	TaskExecutionArn *string `type:"string"`
  8225  }
  8226  
  8227  // String returns the string representation.
  8228  //
  8229  // API parameter values that are decorated as "sensitive" in the API will not
  8230  // be included in the string output. The member name will be present, but the
  8231  // value will be replaced with "sensitive".
  8232  func (s TaskExecutionListEntry) String() string {
  8233  	return awsutil.Prettify(s)
  8234  }
  8235  
  8236  // GoString returns the string representation.
  8237  //
  8238  // API parameter values that are decorated as "sensitive" in the API will not
  8239  // be included in the string output. The member name will be present, but the
  8240  // value will be replaced with "sensitive".
  8241  func (s TaskExecutionListEntry) GoString() string {
  8242  	return s.String()
  8243  }
  8244  
  8245  // SetStatus sets the Status field's value.
  8246  func (s *TaskExecutionListEntry) SetStatus(v string) *TaskExecutionListEntry {
  8247  	s.Status = &v
  8248  	return s
  8249  }
  8250  
  8251  // SetTaskExecutionArn sets the TaskExecutionArn field's value.
  8252  func (s *TaskExecutionListEntry) SetTaskExecutionArn(v string) *TaskExecutionListEntry {
  8253  	s.TaskExecutionArn = &v
  8254  	return s
  8255  }
  8256  
  8257  // Describes the detailed result of a TaskExecution operation. This result includes
  8258  // the time in milliseconds spent in each phase, the status of the task execution,
  8259  // and the errors encountered.
  8260  type TaskExecutionResultDetail struct {
  8261  	_ struct{} `type:"structure"`
  8262  
  8263  	// Errors that DataSync encountered during execution of the task. You can use
  8264  	// this error code to help troubleshoot issues.
  8265  	ErrorCode *string `type:"string"`
  8266  
  8267  	// Detailed description of an error that was encountered during the task execution.
  8268  	// You can use this information to help troubleshoot issues.
  8269  	ErrorDetail *string `type:"string"`
  8270  
  8271  	// The total time in milliseconds that DataSync spent in the PREPARING phase.
  8272  	PrepareDuration *int64 `type:"long"`
  8273  
  8274  	// The status of the PREPARING phase.
  8275  	PrepareStatus *string `type:"string" enum:"PhaseStatus"`
  8276  
  8277  	// The total time in milliseconds that DataSync took to transfer the file from
  8278  	// the source to the destination location.
  8279  	TotalDuration *int64 `type:"long"`
  8280  
  8281  	// The total time in milliseconds that DataSync spent in the TRANSFERRING phase.
  8282  	TransferDuration *int64 `type:"long"`
  8283  
  8284  	// The status of the TRANSFERRING phase.
  8285  	TransferStatus *string `type:"string" enum:"PhaseStatus"`
  8286  
  8287  	// The total time in milliseconds that DataSync spent in the VERIFYING phase.
  8288  	VerifyDuration *int64 `type:"long"`
  8289  
  8290  	// The status of the VERIFYING phase.
  8291  	VerifyStatus *string `type:"string" enum:"PhaseStatus"`
  8292  }
  8293  
  8294  // String returns the string representation.
  8295  //
  8296  // API parameter values that are decorated as "sensitive" in the API will not
  8297  // be included in the string output. The member name will be present, but the
  8298  // value will be replaced with "sensitive".
  8299  func (s TaskExecutionResultDetail) String() string {
  8300  	return awsutil.Prettify(s)
  8301  }
  8302  
  8303  // GoString returns the string representation.
  8304  //
  8305  // API parameter values that are decorated as "sensitive" in the API will not
  8306  // be included in the string output. The member name will be present, but the
  8307  // value will be replaced with "sensitive".
  8308  func (s TaskExecutionResultDetail) GoString() string {
  8309  	return s.String()
  8310  }
  8311  
  8312  // SetErrorCode sets the ErrorCode field's value.
  8313  func (s *TaskExecutionResultDetail) SetErrorCode(v string) *TaskExecutionResultDetail {
  8314  	s.ErrorCode = &v
  8315  	return s
  8316  }
  8317  
  8318  // SetErrorDetail sets the ErrorDetail field's value.
  8319  func (s *TaskExecutionResultDetail) SetErrorDetail(v string) *TaskExecutionResultDetail {
  8320  	s.ErrorDetail = &v
  8321  	return s
  8322  }
  8323  
  8324  // SetPrepareDuration sets the PrepareDuration field's value.
  8325  func (s *TaskExecutionResultDetail) SetPrepareDuration(v int64) *TaskExecutionResultDetail {
  8326  	s.PrepareDuration = &v
  8327  	return s
  8328  }
  8329  
  8330  // SetPrepareStatus sets the PrepareStatus field's value.
  8331  func (s *TaskExecutionResultDetail) SetPrepareStatus(v string) *TaskExecutionResultDetail {
  8332  	s.PrepareStatus = &v
  8333  	return s
  8334  }
  8335  
  8336  // SetTotalDuration sets the TotalDuration field's value.
  8337  func (s *TaskExecutionResultDetail) SetTotalDuration(v int64) *TaskExecutionResultDetail {
  8338  	s.TotalDuration = &v
  8339  	return s
  8340  }
  8341  
  8342  // SetTransferDuration sets the TransferDuration field's value.
  8343  func (s *TaskExecutionResultDetail) SetTransferDuration(v int64) *TaskExecutionResultDetail {
  8344  	s.TransferDuration = &v
  8345  	return s
  8346  }
  8347  
  8348  // SetTransferStatus sets the TransferStatus field's value.
  8349  func (s *TaskExecutionResultDetail) SetTransferStatus(v string) *TaskExecutionResultDetail {
  8350  	s.TransferStatus = &v
  8351  	return s
  8352  }
  8353  
  8354  // SetVerifyDuration sets the VerifyDuration field's value.
  8355  func (s *TaskExecutionResultDetail) SetVerifyDuration(v int64) *TaskExecutionResultDetail {
  8356  	s.VerifyDuration = &v
  8357  	return s
  8358  }
  8359  
  8360  // SetVerifyStatus sets the VerifyStatus field's value.
  8361  func (s *TaskExecutionResultDetail) SetVerifyStatus(v string) *TaskExecutionResultDetail {
  8362  	s.VerifyStatus = &v
  8363  	return s
  8364  }
  8365  
  8366  // You can use API filters to narrow down the list of resources returned by
  8367  // ListTasks. For example, to retrieve all tasks on a source location, you can
  8368  // use ListTasks with filter name LocationId and Operator Equals with the ARN
  8369  // for the location.
  8370  type TaskFilter struct {
  8371  	_ struct{} `type:"structure"`
  8372  
  8373  	// The name of the filter being used. Each API call supports a list of filters
  8374  	// that are available for it. For example, LocationId for ListTasks.
  8375  	//
  8376  	// Name is a required field
  8377  	Name *string `type:"string" required:"true" enum:"TaskFilterName"`
  8378  
  8379  	// The operator that is used to compare filter values (for example, Equals or
  8380  	// Contains). For more about API filtering operators, see API filters for ListTasks
  8381  	// and ListLocations (https://docs.aws.amazon.com/datasync/latest/userguide/query-resources.html).
  8382  	//
  8383  	// Operator is a required field
  8384  	Operator *string `type:"string" required:"true" enum:"Operator"`
  8385  
  8386  	// The values that you want to filter for. For example, you might want to display
  8387  	// only tasks for a specific destination location.
  8388  	//
  8389  	// Values is a required field
  8390  	Values []*string `type:"list" required:"true"`
  8391  }
  8392  
  8393  // String returns the string representation.
  8394  //
  8395  // API parameter values that are decorated as "sensitive" in the API will not
  8396  // be included in the string output. The member name will be present, but the
  8397  // value will be replaced with "sensitive".
  8398  func (s TaskFilter) String() string {
  8399  	return awsutil.Prettify(s)
  8400  }
  8401  
  8402  // GoString returns the string representation.
  8403  //
  8404  // API parameter values that are decorated as "sensitive" in the API will not
  8405  // be included in the string output. The member name will be present, but the
  8406  // value will be replaced with "sensitive".
  8407  func (s TaskFilter) GoString() string {
  8408  	return s.String()
  8409  }
  8410  
  8411  // Validate inspects the fields of the type to determine if they are valid.
  8412  func (s *TaskFilter) Validate() error {
  8413  	invalidParams := request.ErrInvalidParams{Context: "TaskFilter"}
  8414  	if s.Name == nil {
  8415  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8416  	}
  8417  	if s.Operator == nil {
  8418  		invalidParams.Add(request.NewErrParamRequired("Operator"))
  8419  	}
  8420  	if s.Values == nil {
  8421  		invalidParams.Add(request.NewErrParamRequired("Values"))
  8422  	}
  8423  
  8424  	if invalidParams.Len() > 0 {
  8425  		return invalidParams
  8426  	}
  8427  	return nil
  8428  }
  8429  
  8430  // SetName sets the Name field's value.
  8431  func (s *TaskFilter) SetName(v string) *TaskFilter {
  8432  	s.Name = &v
  8433  	return s
  8434  }
  8435  
  8436  // SetOperator sets the Operator field's value.
  8437  func (s *TaskFilter) SetOperator(v string) *TaskFilter {
  8438  	s.Operator = &v
  8439  	return s
  8440  }
  8441  
  8442  // SetValues sets the Values field's value.
  8443  func (s *TaskFilter) SetValues(v []*string) *TaskFilter {
  8444  	s.Values = v
  8445  	return s
  8446  }
  8447  
  8448  // Represents a single entry in a list of tasks. TaskListEntry returns an array
  8449  // that contains a list of tasks when the ListTasks (https://docs.aws.amazon.com/datasync/latest/userguide/API_ListTasks.html)
  8450  // operation is called. A task includes the source and destination file systems
  8451  // to sync and the options to use for the tasks.
  8452  type TaskListEntry struct {
  8453  	_ struct{} `type:"structure"`
  8454  
  8455  	// The name of the task.
  8456  	Name *string `min:"1" type:"string"`
  8457  
  8458  	// The status of the task.
  8459  	Status *string `type:"string" enum:"TaskStatus"`
  8460  
  8461  	// The Amazon Resource Name (ARN) of the task.
  8462  	TaskArn *string `type:"string"`
  8463  }
  8464  
  8465  // String returns the string representation.
  8466  //
  8467  // API parameter values that are decorated as "sensitive" in the API will not
  8468  // be included in the string output. The member name will be present, but the
  8469  // value will be replaced with "sensitive".
  8470  func (s TaskListEntry) String() string {
  8471  	return awsutil.Prettify(s)
  8472  }
  8473  
  8474  // GoString returns the string representation.
  8475  //
  8476  // API parameter values that are decorated as "sensitive" in the API will not
  8477  // be included in the string output. The member name will be present, but the
  8478  // value will be replaced with "sensitive".
  8479  func (s TaskListEntry) GoString() string {
  8480  	return s.String()
  8481  }
  8482  
  8483  // SetName sets the Name field's value.
  8484  func (s *TaskListEntry) SetName(v string) *TaskListEntry {
  8485  	s.Name = &v
  8486  	return s
  8487  }
  8488  
  8489  // SetStatus sets the Status field's value.
  8490  func (s *TaskListEntry) SetStatus(v string) *TaskListEntry {
  8491  	s.Status = &v
  8492  	return s
  8493  }
  8494  
  8495  // SetTaskArn sets the TaskArn field's value.
  8496  func (s *TaskListEntry) SetTaskArn(v string) *TaskListEntry {
  8497  	s.TaskArn = &v
  8498  	return s
  8499  }
  8500  
  8501  // Specifies the schedule you want your task to use for repeated executions.
  8502  // For more information, see Schedule Expressions for Rules (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html).
  8503  type TaskSchedule struct {
  8504  	_ struct{} `type:"structure"`
  8505  
  8506  	// A cron expression that specifies when DataSync initiates a scheduled transfer
  8507  	// from a source to a destination location.
  8508  	//
  8509  	// ScheduleExpression is a required field
  8510  	ScheduleExpression *string `type:"string" required:"true"`
  8511  }
  8512  
  8513  // String returns the string representation.
  8514  //
  8515  // API parameter values that are decorated as "sensitive" in the API will not
  8516  // be included in the string output. The member name will be present, but the
  8517  // value will be replaced with "sensitive".
  8518  func (s TaskSchedule) String() string {
  8519  	return awsutil.Prettify(s)
  8520  }
  8521  
  8522  // GoString returns the string representation.
  8523  //
  8524  // API parameter values that are decorated as "sensitive" in the API will not
  8525  // be included in the string output. The member name will be present, but the
  8526  // value will be replaced with "sensitive".
  8527  func (s TaskSchedule) GoString() string {
  8528  	return s.String()
  8529  }
  8530  
  8531  // Validate inspects the fields of the type to determine if they are valid.
  8532  func (s *TaskSchedule) Validate() error {
  8533  	invalidParams := request.ErrInvalidParams{Context: "TaskSchedule"}
  8534  	if s.ScheduleExpression == nil {
  8535  		invalidParams.Add(request.NewErrParamRequired("ScheduleExpression"))
  8536  	}
  8537  
  8538  	if invalidParams.Len() > 0 {
  8539  		return invalidParams
  8540  	}
  8541  	return nil
  8542  }
  8543  
  8544  // SetScheduleExpression sets the ScheduleExpression field's value.
  8545  func (s *TaskSchedule) SetScheduleExpression(v string) *TaskSchedule {
  8546  	s.ScheduleExpression = &v
  8547  	return s
  8548  }
  8549  
  8550  // UntagResourceRequest
  8551  type UntagResourceInput struct {
  8552  	_ struct{} `type:"structure"`
  8553  
  8554  	// The keys in the key-value pair in the tag to remove.
  8555  	//
  8556  	// Keys is a required field
  8557  	Keys []*string `min:"1" type:"list" required:"true"`
  8558  
  8559  	// The Amazon Resource Name (ARN) of the resource to remove the tag from.
  8560  	//
  8561  	// ResourceArn is a required field
  8562  	ResourceArn *string `type:"string" required:"true"`
  8563  }
  8564  
  8565  // String returns the string representation.
  8566  //
  8567  // API parameter values that are decorated as "sensitive" in the API will not
  8568  // be included in the string output. The member name will be present, but the
  8569  // value will be replaced with "sensitive".
  8570  func (s UntagResourceInput) String() string {
  8571  	return awsutil.Prettify(s)
  8572  }
  8573  
  8574  // GoString returns the string representation.
  8575  //
  8576  // API parameter values that are decorated as "sensitive" in the API will not
  8577  // be included in the string output. The member name will be present, but the
  8578  // value will be replaced with "sensitive".
  8579  func (s UntagResourceInput) GoString() string {
  8580  	return s.String()
  8581  }
  8582  
  8583  // Validate inspects the fields of the type to determine if they are valid.
  8584  func (s *UntagResourceInput) Validate() error {
  8585  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
  8586  	if s.Keys == nil {
  8587  		invalidParams.Add(request.NewErrParamRequired("Keys"))
  8588  	}
  8589  	if s.Keys != nil && len(s.Keys) < 1 {
  8590  		invalidParams.Add(request.NewErrParamMinLen("Keys", 1))
  8591  	}
  8592  	if s.ResourceArn == nil {
  8593  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  8594  	}
  8595  
  8596  	if invalidParams.Len() > 0 {
  8597  		return invalidParams
  8598  	}
  8599  	return nil
  8600  }
  8601  
  8602  // SetKeys sets the Keys field's value.
  8603  func (s *UntagResourceInput) SetKeys(v []*string) *UntagResourceInput {
  8604  	s.Keys = v
  8605  	return s
  8606  }
  8607  
  8608  // SetResourceArn sets the ResourceArn field's value.
  8609  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
  8610  	s.ResourceArn = &v
  8611  	return s
  8612  }
  8613  
  8614  type UntagResourceOutput struct {
  8615  	_ struct{} `type:"structure"`
  8616  }
  8617  
  8618  // String returns the string representation.
  8619  //
  8620  // API parameter values that are decorated as "sensitive" in the API will not
  8621  // be included in the string output. The member name will be present, but the
  8622  // value will be replaced with "sensitive".
  8623  func (s UntagResourceOutput) String() string {
  8624  	return awsutil.Prettify(s)
  8625  }
  8626  
  8627  // GoString returns the string representation.
  8628  //
  8629  // API parameter values that are decorated as "sensitive" in the API will not
  8630  // be included in the string output. The member name will be present, but the
  8631  // value will be replaced with "sensitive".
  8632  func (s UntagResourceOutput) GoString() string {
  8633  	return s.String()
  8634  }
  8635  
  8636  // UpdateAgentRequest
  8637  type UpdateAgentInput struct {
  8638  	_ struct{} `type:"structure"`
  8639  
  8640  	// The Amazon Resource Name (ARN) of the agent to update.
  8641  	//
  8642  	// AgentArn is a required field
  8643  	AgentArn *string `type:"string" required:"true"`
  8644  
  8645  	// The name that you want to use to configure the agent.
  8646  	Name *string `min:"1" type:"string"`
  8647  }
  8648  
  8649  // String returns the string representation.
  8650  //
  8651  // API parameter values that are decorated as "sensitive" in the API will not
  8652  // be included in the string output. The member name will be present, but the
  8653  // value will be replaced with "sensitive".
  8654  func (s UpdateAgentInput) String() string {
  8655  	return awsutil.Prettify(s)
  8656  }
  8657  
  8658  // GoString returns the string representation.
  8659  //
  8660  // API parameter values that are decorated as "sensitive" in the API will not
  8661  // be included in the string output. The member name will be present, but the
  8662  // value will be replaced with "sensitive".
  8663  func (s UpdateAgentInput) GoString() string {
  8664  	return s.String()
  8665  }
  8666  
  8667  // Validate inspects the fields of the type to determine if they are valid.
  8668  func (s *UpdateAgentInput) Validate() error {
  8669  	invalidParams := request.ErrInvalidParams{Context: "UpdateAgentInput"}
  8670  	if s.AgentArn == nil {
  8671  		invalidParams.Add(request.NewErrParamRequired("AgentArn"))
  8672  	}
  8673  	if s.Name != nil && len(*s.Name) < 1 {
  8674  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  8675  	}
  8676  
  8677  	if invalidParams.Len() > 0 {
  8678  		return invalidParams
  8679  	}
  8680  	return nil
  8681  }
  8682  
  8683  // SetAgentArn sets the AgentArn field's value.
  8684  func (s *UpdateAgentInput) SetAgentArn(v string) *UpdateAgentInput {
  8685  	s.AgentArn = &v
  8686  	return s
  8687  }
  8688  
  8689  // SetName sets the Name field's value.
  8690  func (s *UpdateAgentInput) SetName(v string) *UpdateAgentInput {
  8691  	s.Name = &v
  8692  	return s
  8693  }
  8694  
  8695  type UpdateAgentOutput struct {
  8696  	_ struct{} `type:"structure"`
  8697  }
  8698  
  8699  // String returns the string representation.
  8700  //
  8701  // API parameter values that are decorated as "sensitive" in the API will not
  8702  // be included in the string output. The member name will be present, but the
  8703  // value will be replaced with "sensitive".
  8704  func (s UpdateAgentOutput) String() string {
  8705  	return awsutil.Prettify(s)
  8706  }
  8707  
  8708  // GoString returns the string representation.
  8709  //
  8710  // API parameter values that are decorated as "sensitive" in the API will not
  8711  // be included in the string output. The member name will be present, but the
  8712  // value will be replaced with "sensitive".
  8713  func (s UpdateAgentOutput) GoString() string {
  8714  	return s.String()
  8715  }
  8716  
  8717  type UpdateLocationNfsInput struct {
  8718  	_ struct{} `type:"structure"`
  8719  
  8720  	// The Amazon Resource Name (ARN) of the NFS location to update.
  8721  	//
  8722  	// LocationArn is a required field
  8723  	LocationArn *string `type:"string" required:"true"`
  8724  
  8725  	// Represents the mount options that are available for DataSync to access an
  8726  	// NFS location.
  8727  	MountOptions *NfsMountOptions `type:"structure"`
  8728  
  8729  	// A list of Amazon Resource Names (ARNs) of agents to use for a Network File
  8730  	// System (NFS) location.
  8731  	OnPremConfig *OnPremConfig `type:"structure"`
  8732  
  8733  	// The subdirectory in the NFS file system that is used to read data from the
  8734  	// NFS source location or write data to the NFS destination. The NFS path should
  8735  	// be a path that's exported by the NFS server, or a subdirectory of that path.
  8736  	// The path should be such that it can be mounted by other NFS clients in your
  8737  	// network.
  8738  	//
  8739  	// To see all the paths exported by your NFS server, run "showmount -e nfs-server-name"
  8740  	// from an NFS client that has access to your server. You can specify any directory
  8741  	// that appears in the results, and any subdirectory of that directory. Ensure
  8742  	// that the NFS export is accessible without Kerberos authentication.
  8743  	//
  8744  	// To transfer all the data in the folder that you specified, DataSync must
  8745  	// have permissions to read all the data. To ensure this, either configure the
  8746  	// NFS export with no_root_squash, or ensure that the files you want DataSync
  8747  	// to access have permissions that allow read access for all users. Doing either
  8748  	// option enables the agent to read the files. For the agent to access directories,
  8749  	// you must additionally enable all execute access.
  8750  	//
  8751  	// If you are copying data to or from your Snowcone device, see NFS Server on
  8752  	// Snowcone (https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone)
  8753  	// for more information.
  8754  	//
  8755  	// For information about NFS export configuration, see 18.7. The /etc/exports
  8756  	// Configuration File in the Red Hat Enterprise Linux documentation.
  8757  	Subdirectory *string `type:"string"`
  8758  }
  8759  
  8760  // String returns the string representation.
  8761  //
  8762  // API parameter values that are decorated as "sensitive" in the API will not
  8763  // be included in the string output. The member name will be present, but the
  8764  // value will be replaced with "sensitive".
  8765  func (s UpdateLocationNfsInput) String() string {
  8766  	return awsutil.Prettify(s)
  8767  }
  8768  
  8769  // GoString returns the string representation.
  8770  //
  8771  // API parameter values that are decorated as "sensitive" in the API will not
  8772  // be included in the string output. The member name will be present, but the
  8773  // value will be replaced with "sensitive".
  8774  func (s UpdateLocationNfsInput) GoString() string {
  8775  	return s.String()
  8776  }
  8777  
  8778  // Validate inspects the fields of the type to determine if they are valid.
  8779  func (s *UpdateLocationNfsInput) Validate() error {
  8780  	invalidParams := request.ErrInvalidParams{Context: "UpdateLocationNfsInput"}
  8781  	if s.LocationArn == nil {
  8782  		invalidParams.Add(request.NewErrParamRequired("LocationArn"))
  8783  	}
  8784  	if s.OnPremConfig != nil {
  8785  		if err := s.OnPremConfig.Validate(); err != nil {
  8786  			invalidParams.AddNested("OnPremConfig", err.(request.ErrInvalidParams))
  8787  		}
  8788  	}
  8789  
  8790  	if invalidParams.Len() > 0 {
  8791  		return invalidParams
  8792  	}
  8793  	return nil
  8794  }
  8795  
  8796  // SetLocationArn sets the LocationArn field's value.
  8797  func (s *UpdateLocationNfsInput) SetLocationArn(v string) *UpdateLocationNfsInput {
  8798  	s.LocationArn = &v
  8799  	return s
  8800  }
  8801  
  8802  // SetMountOptions sets the MountOptions field's value.
  8803  func (s *UpdateLocationNfsInput) SetMountOptions(v *NfsMountOptions) *UpdateLocationNfsInput {
  8804  	s.MountOptions = v
  8805  	return s
  8806  }
  8807  
  8808  // SetOnPremConfig sets the OnPremConfig field's value.
  8809  func (s *UpdateLocationNfsInput) SetOnPremConfig(v *OnPremConfig) *UpdateLocationNfsInput {
  8810  	s.OnPremConfig = v
  8811  	return s
  8812  }
  8813  
  8814  // SetSubdirectory sets the Subdirectory field's value.
  8815  func (s *UpdateLocationNfsInput) SetSubdirectory(v string) *UpdateLocationNfsInput {
  8816  	s.Subdirectory = &v
  8817  	return s
  8818  }
  8819  
  8820  type UpdateLocationNfsOutput struct {
  8821  	_ struct{} `type:"structure"`
  8822  }
  8823  
  8824  // String returns the string representation.
  8825  //
  8826  // API parameter values that are decorated as "sensitive" in the API will not
  8827  // be included in the string output. The member name will be present, but the
  8828  // value will be replaced with "sensitive".
  8829  func (s UpdateLocationNfsOutput) String() string {
  8830  	return awsutil.Prettify(s)
  8831  }
  8832  
  8833  // GoString returns the string representation.
  8834  //
  8835  // API parameter values that are decorated as "sensitive" in the API will not
  8836  // be included in the string output. The member name will be present, but the
  8837  // value will be replaced with "sensitive".
  8838  func (s UpdateLocationNfsOutput) GoString() string {
  8839  	return s.String()
  8840  }
  8841  
  8842  type UpdateLocationObjectStorageInput struct {
  8843  	_ struct{} `type:"structure"`
  8844  
  8845  	// Optional. The access key is used if credentials are required to access the
  8846  	// self-managed object storage server. If your object storage requires a user
  8847  	// name and password to authenticate, use AccessKey and SecretKey to provide
  8848  	// the user name and password, respectively.
  8849  	AccessKey *string `min:"8" type:"string"`
  8850  
  8851  	// The Amazon Resource Name (ARN) of the agents associated with the self-managed
  8852  	// object storage server location.
  8853  	AgentArns []*string `min:"1" type:"list"`
  8854  
  8855  	// The Amazon Resource Name (ARN) of the self-managed object storage server
  8856  	// location to be updated.
  8857  	//
  8858  	// LocationArn is a required field
  8859  	LocationArn *string `type:"string" required:"true"`
  8860  
  8861  	// Optional. The secret key is used if credentials are required to access the
  8862  	// self-managed object storage server. If your object storage requires a user
  8863  	// name and password to authenticate, use AccessKey and SecretKey to provide
  8864  	// the user name and password, respectively.
  8865  	//
  8866  	// SecretKey is a sensitive parameter and its value will be
  8867  	// replaced with "sensitive" in string returned by UpdateLocationObjectStorageInput's
  8868  	// String and GoString methods.
  8869  	SecretKey *string `min:"8" type:"string" sensitive:"true"`
  8870  
  8871  	// The port that your self-managed object storage server accepts inbound network
  8872  	// traffic on. The server port is set by default to TCP 80 (HTTP) or TCP 443
  8873  	// (HTTPS). You can specify a custom port if your self-managed object storage
  8874  	// server requires one.
  8875  	ServerPort *int64 `min:"1" type:"integer"`
  8876  
  8877  	// The protocol that the object storage server uses to communicate. Valid values
  8878  	// are HTTP or HTTPS.
  8879  	ServerProtocol *string `type:"string" enum:"ObjectStorageServerProtocol"`
  8880  
  8881  	// The subdirectory in the self-managed object storage server that is used to
  8882  	// read data from.
  8883  	Subdirectory *string `type:"string"`
  8884  }
  8885  
  8886  // String returns the string representation.
  8887  //
  8888  // API parameter values that are decorated as "sensitive" in the API will not
  8889  // be included in the string output. The member name will be present, but the
  8890  // value will be replaced with "sensitive".
  8891  func (s UpdateLocationObjectStorageInput) String() string {
  8892  	return awsutil.Prettify(s)
  8893  }
  8894  
  8895  // GoString returns the string representation.
  8896  //
  8897  // API parameter values that are decorated as "sensitive" in the API will not
  8898  // be included in the string output. The member name will be present, but the
  8899  // value will be replaced with "sensitive".
  8900  func (s UpdateLocationObjectStorageInput) GoString() string {
  8901  	return s.String()
  8902  }
  8903  
  8904  // Validate inspects the fields of the type to determine if they are valid.
  8905  func (s *UpdateLocationObjectStorageInput) Validate() error {
  8906  	invalidParams := request.ErrInvalidParams{Context: "UpdateLocationObjectStorageInput"}
  8907  	if s.AccessKey != nil && len(*s.AccessKey) < 8 {
  8908  		invalidParams.Add(request.NewErrParamMinLen("AccessKey", 8))
  8909  	}
  8910  	if s.AgentArns != nil && len(s.AgentArns) < 1 {
  8911  		invalidParams.Add(request.NewErrParamMinLen("AgentArns", 1))
  8912  	}
  8913  	if s.LocationArn == nil {
  8914  		invalidParams.Add(request.NewErrParamRequired("LocationArn"))
  8915  	}
  8916  	if s.SecretKey != nil && len(*s.SecretKey) < 8 {
  8917  		invalidParams.Add(request.NewErrParamMinLen("SecretKey", 8))
  8918  	}
  8919  	if s.ServerPort != nil && *s.ServerPort < 1 {
  8920  		invalidParams.Add(request.NewErrParamMinValue("ServerPort", 1))
  8921  	}
  8922  
  8923  	if invalidParams.Len() > 0 {
  8924  		return invalidParams
  8925  	}
  8926  	return nil
  8927  }
  8928  
  8929  // SetAccessKey sets the AccessKey field's value.
  8930  func (s *UpdateLocationObjectStorageInput) SetAccessKey(v string) *UpdateLocationObjectStorageInput {
  8931  	s.AccessKey = &v
  8932  	return s
  8933  }
  8934  
  8935  // SetAgentArns sets the AgentArns field's value.
  8936  func (s *UpdateLocationObjectStorageInput) SetAgentArns(v []*string) *UpdateLocationObjectStorageInput {
  8937  	s.AgentArns = v
  8938  	return s
  8939  }
  8940  
  8941  // SetLocationArn sets the LocationArn field's value.
  8942  func (s *UpdateLocationObjectStorageInput) SetLocationArn(v string) *UpdateLocationObjectStorageInput {
  8943  	s.LocationArn = &v
  8944  	return s
  8945  }
  8946  
  8947  // SetSecretKey sets the SecretKey field's value.
  8948  func (s *UpdateLocationObjectStorageInput) SetSecretKey(v string) *UpdateLocationObjectStorageInput {
  8949  	s.SecretKey = &v
  8950  	return s
  8951  }
  8952  
  8953  // SetServerPort sets the ServerPort field's value.
  8954  func (s *UpdateLocationObjectStorageInput) SetServerPort(v int64) *UpdateLocationObjectStorageInput {
  8955  	s.ServerPort = &v
  8956  	return s
  8957  }
  8958  
  8959  // SetServerProtocol sets the ServerProtocol field's value.
  8960  func (s *UpdateLocationObjectStorageInput) SetServerProtocol(v string) *UpdateLocationObjectStorageInput {
  8961  	s.ServerProtocol = &v
  8962  	return s
  8963  }
  8964  
  8965  // SetSubdirectory sets the Subdirectory field's value.
  8966  func (s *UpdateLocationObjectStorageInput) SetSubdirectory(v string) *UpdateLocationObjectStorageInput {
  8967  	s.Subdirectory = &v
  8968  	return s
  8969  }
  8970  
  8971  type UpdateLocationObjectStorageOutput struct {
  8972  	_ struct{} `type:"structure"`
  8973  }
  8974  
  8975  // String returns the string representation.
  8976  //
  8977  // API parameter values that are decorated as "sensitive" in the API will not
  8978  // be included in the string output. The member name will be present, but the
  8979  // value will be replaced with "sensitive".
  8980  func (s UpdateLocationObjectStorageOutput) String() string {
  8981  	return awsutil.Prettify(s)
  8982  }
  8983  
  8984  // GoString returns the string representation.
  8985  //
  8986  // API parameter values that are decorated as "sensitive" in the API will not
  8987  // be included in the string output. The member name will be present, but the
  8988  // value will be replaced with "sensitive".
  8989  func (s UpdateLocationObjectStorageOutput) GoString() string {
  8990  	return s.String()
  8991  }
  8992  
  8993  type UpdateLocationSmbInput struct {
  8994  	_ struct{} `type:"structure"`
  8995  
  8996  	// The Amazon Resource Names (ARNs) of agents to use for a Simple Message Block
  8997  	// (SMB) location.
  8998  	AgentArns []*string `min:"1" type:"list"`
  8999  
  9000  	// The name of the Windows domain that the SMB server belongs to.
  9001  	Domain *string `type:"string"`
  9002  
  9003  	// The Amazon Resource Name (ARN) of the SMB location to update.
  9004  	//
  9005  	// LocationArn is a required field
  9006  	LocationArn *string `type:"string" required:"true"`
  9007  
  9008  	// Represents the mount options that are available for DataSync to access an
  9009  	// SMB location.
  9010  	MountOptions *SmbMountOptions `type:"structure"`
  9011  
  9012  	// The password of the user who can mount the share has the permissions to access
  9013  	// files and folders in the SMB share.
  9014  	//
  9015  	// Password is a sensitive parameter and its value will be
  9016  	// replaced with "sensitive" in string returned by UpdateLocationSmbInput's
  9017  	// String and GoString methods.
  9018  	Password *string `type:"string" sensitive:"true"`
  9019  
  9020  	// The subdirectory in the SMB file system that is used to read data from the
  9021  	// SMB source location or write data to the SMB destination. The SMB path should
  9022  	// be a path that's exported by the SMB server, or a subdirectory of that path.
  9023  	// The path should be such that it can be mounted by other SMB clients in your
  9024  	// network.
  9025  	//
  9026  	// Subdirectory must be specified with forward slashes. For example, /path/to/folder.
  9027  	//
  9028  	// To transfer all the data in the folder that you specified, DataSync must
  9029  	// have permissions to mount the SMB share and to access all the data in that
  9030  	// share. To ensure this, do either of the following:
  9031  	//
  9032  	//    * Ensure that the user/password specified belongs to the user who can
  9033  	//    mount the share and who has the appropriate permissions for all of the
  9034  	//    files and directories that you want DataSync to access.
  9035  	//
  9036  	//    * Use credentials of a member of the Backup Operators group to mount the
  9037  	//    share.
  9038  	//
  9039  	// Doing either of these options enables the agent to access the data. For the
  9040  	// agent to access directories, you must also enable all execute access.
  9041  	Subdirectory *string `type:"string"`
  9042  
  9043  	// The user who can mount the share has the permissions to access files and
  9044  	// folders in the SMB share.
  9045  	User *string `type:"string"`
  9046  }
  9047  
  9048  // String returns the string representation.
  9049  //
  9050  // API parameter values that are decorated as "sensitive" in the API will not
  9051  // be included in the string output. The member name will be present, but the
  9052  // value will be replaced with "sensitive".
  9053  func (s UpdateLocationSmbInput) String() string {
  9054  	return awsutil.Prettify(s)
  9055  }
  9056  
  9057  // GoString returns the string representation.
  9058  //
  9059  // API parameter values that are decorated as "sensitive" in the API will not
  9060  // be included in the string output. The member name will be present, but the
  9061  // value will be replaced with "sensitive".
  9062  func (s UpdateLocationSmbInput) GoString() string {
  9063  	return s.String()
  9064  }
  9065  
  9066  // Validate inspects the fields of the type to determine if they are valid.
  9067  func (s *UpdateLocationSmbInput) Validate() error {
  9068  	invalidParams := request.ErrInvalidParams{Context: "UpdateLocationSmbInput"}
  9069  	if s.AgentArns != nil && len(s.AgentArns) < 1 {
  9070  		invalidParams.Add(request.NewErrParamMinLen("AgentArns", 1))
  9071  	}
  9072  	if s.LocationArn == nil {
  9073  		invalidParams.Add(request.NewErrParamRequired("LocationArn"))
  9074  	}
  9075  
  9076  	if invalidParams.Len() > 0 {
  9077  		return invalidParams
  9078  	}
  9079  	return nil
  9080  }
  9081  
  9082  // SetAgentArns sets the AgentArns field's value.
  9083  func (s *UpdateLocationSmbInput) SetAgentArns(v []*string) *UpdateLocationSmbInput {
  9084  	s.AgentArns = v
  9085  	return s
  9086  }
  9087  
  9088  // SetDomain sets the Domain field's value.
  9089  func (s *UpdateLocationSmbInput) SetDomain(v string) *UpdateLocationSmbInput {
  9090  	s.Domain = &v
  9091  	return s
  9092  }
  9093  
  9094  // SetLocationArn sets the LocationArn field's value.
  9095  func (s *UpdateLocationSmbInput) SetLocationArn(v string) *UpdateLocationSmbInput {
  9096  	s.LocationArn = &v
  9097  	return s
  9098  }
  9099  
  9100  // SetMountOptions sets the MountOptions field's value.
  9101  func (s *UpdateLocationSmbInput) SetMountOptions(v *SmbMountOptions) *UpdateLocationSmbInput {
  9102  	s.MountOptions = v
  9103  	return s
  9104  }
  9105  
  9106  // SetPassword sets the Password field's value.
  9107  func (s *UpdateLocationSmbInput) SetPassword(v string) *UpdateLocationSmbInput {
  9108  	s.Password = &v
  9109  	return s
  9110  }
  9111  
  9112  // SetSubdirectory sets the Subdirectory field's value.
  9113  func (s *UpdateLocationSmbInput) SetSubdirectory(v string) *UpdateLocationSmbInput {
  9114  	s.Subdirectory = &v
  9115  	return s
  9116  }
  9117  
  9118  // SetUser sets the User field's value.
  9119  func (s *UpdateLocationSmbInput) SetUser(v string) *UpdateLocationSmbInput {
  9120  	s.User = &v
  9121  	return s
  9122  }
  9123  
  9124  type UpdateLocationSmbOutput struct {
  9125  	_ struct{} `type:"structure"`
  9126  }
  9127  
  9128  // String returns the string representation.
  9129  //
  9130  // API parameter values that are decorated as "sensitive" in the API will not
  9131  // be included in the string output. The member name will be present, but the
  9132  // value will be replaced with "sensitive".
  9133  func (s UpdateLocationSmbOutput) String() string {
  9134  	return awsutil.Prettify(s)
  9135  }
  9136  
  9137  // GoString returns the string representation.
  9138  //
  9139  // API parameter values that are decorated as "sensitive" in the API will not
  9140  // be included in the string output. The member name will be present, but the
  9141  // value will be replaced with "sensitive".
  9142  func (s UpdateLocationSmbOutput) GoString() string {
  9143  	return s.String()
  9144  }
  9145  
  9146  type UpdateTaskExecutionInput struct {
  9147  	_ struct{} `type:"structure"`
  9148  
  9149  	// Represents the options that are available to control the behavior of a StartTaskExecution
  9150  	// (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html)
  9151  	// operation. Behavior includes preserving metadata such as user ID (UID), group
  9152  	// ID (GID), and file permissions, and also overwriting files in the destination,
  9153  	// data integrity verification, and so on.
  9154  	//
  9155  	// A task has a set of default options associated with it. If you don't specify
  9156  	// an option in StartTaskExecution (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html),
  9157  	// the default value is used. You can override the defaults options on each
  9158  	// task execution by specifying an overriding Options value to StartTaskExecution
  9159  	// (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html).
  9160  	//
  9161  	// Options is a required field
  9162  	Options *Options `type:"structure" required:"true"`
  9163  
  9164  	// The Amazon Resource Name (ARN) of the specific task execution that is being
  9165  	// updated.
  9166  	//
  9167  	// TaskExecutionArn is a required field
  9168  	TaskExecutionArn *string `type:"string" required:"true"`
  9169  }
  9170  
  9171  // String returns the string representation.
  9172  //
  9173  // API parameter values that are decorated as "sensitive" in the API will not
  9174  // be included in the string output. The member name will be present, but the
  9175  // value will be replaced with "sensitive".
  9176  func (s UpdateTaskExecutionInput) String() string {
  9177  	return awsutil.Prettify(s)
  9178  }
  9179  
  9180  // GoString returns the string representation.
  9181  //
  9182  // API parameter values that are decorated as "sensitive" in the API will not
  9183  // be included in the string output. The member name will be present, but the
  9184  // value will be replaced with "sensitive".
  9185  func (s UpdateTaskExecutionInput) GoString() string {
  9186  	return s.String()
  9187  }
  9188  
  9189  // Validate inspects the fields of the type to determine if they are valid.
  9190  func (s *UpdateTaskExecutionInput) Validate() error {
  9191  	invalidParams := request.ErrInvalidParams{Context: "UpdateTaskExecutionInput"}
  9192  	if s.Options == nil {
  9193  		invalidParams.Add(request.NewErrParamRequired("Options"))
  9194  	}
  9195  	if s.TaskExecutionArn == nil {
  9196  		invalidParams.Add(request.NewErrParamRequired("TaskExecutionArn"))
  9197  	}
  9198  	if s.Options != nil {
  9199  		if err := s.Options.Validate(); err != nil {
  9200  			invalidParams.AddNested("Options", err.(request.ErrInvalidParams))
  9201  		}
  9202  	}
  9203  
  9204  	if invalidParams.Len() > 0 {
  9205  		return invalidParams
  9206  	}
  9207  	return nil
  9208  }
  9209  
  9210  // SetOptions sets the Options field's value.
  9211  func (s *UpdateTaskExecutionInput) SetOptions(v *Options) *UpdateTaskExecutionInput {
  9212  	s.Options = v
  9213  	return s
  9214  }
  9215  
  9216  // SetTaskExecutionArn sets the TaskExecutionArn field's value.
  9217  func (s *UpdateTaskExecutionInput) SetTaskExecutionArn(v string) *UpdateTaskExecutionInput {
  9218  	s.TaskExecutionArn = &v
  9219  	return s
  9220  }
  9221  
  9222  type UpdateTaskExecutionOutput struct {
  9223  	_ struct{} `type:"structure"`
  9224  }
  9225  
  9226  // String returns the string representation.
  9227  //
  9228  // API parameter values that are decorated as "sensitive" in the API will not
  9229  // be included in the string output. The member name will be present, but the
  9230  // value will be replaced with "sensitive".
  9231  func (s UpdateTaskExecutionOutput) String() string {
  9232  	return awsutil.Prettify(s)
  9233  }
  9234  
  9235  // GoString returns the string representation.
  9236  //
  9237  // API parameter values that are decorated as "sensitive" in the API will not
  9238  // be included in the string output. The member name will be present, but the
  9239  // value will be replaced with "sensitive".
  9240  func (s UpdateTaskExecutionOutput) GoString() string {
  9241  	return s.String()
  9242  }
  9243  
  9244  // UpdateTaskResponse
  9245  type UpdateTaskInput struct {
  9246  	_ struct{} `type:"structure"`
  9247  
  9248  	// The Amazon Resource Name (ARN) of the resource name of the CloudWatch LogGroup.
  9249  	CloudWatchLogGroupArn *string `type:"string"`
  9250  
  9251  	// A list of filter rules that determines which files to exclude from a task.
  9252  	// The list should contain a single filter string that consists of the patterns
  9253  	// to exclude. The patterns are delimited by "|" (that is, a pipe), for example:
  9254  	// "/folder1|/folder2"
  9255  	Excludes []*FilterRule `type:"list"`
  9256  
  9257  	// A list of filter rules that determines which files to include when running
  9258  	// a task. The pattern should contain a single filter string that consists of
  9259  	// the patterns to include. The patterns are delimited by "|" (that is, a pipe).
  9260  	// For example: "/folder1|/folder2"
  9261  	Includes []*FilterRule `type:"list"`
  9262  
  9263  	// The name of the task to update.
  9264  	Name *string `min:"1" type:"string"`
  9265  
  9266  	// Represents the options that are available to control the behavior of a StartTaskExecution
  9267  	// (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html)
  9268  	// operation. Behavior includes preserving metadata such as user ID (UID), group
  9269  	// ID (GID), and file permissions, and also overwriting files in the destination,
  9270  	// data integrity verification, and so on.
  9271  	//
  9272  	// A task has a set of default options associated with it. If you don't specify
  9273  	// an option in StartTaskExecution (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html),
  9274  	// the default value is used. You can override the defaults options on each
  9275  	// task execution by specifying an overriding Options value to StartTaskExecution
  9276  	// (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html).
  9277  	Options *Options `type:"structure"`
  9278  
  9279  	// Specifies a schedule used to periodically transfer files from a source to
  9280  	// a destination location. You can configure your task to execute hourly, daily,
  9281  	// weekly or on specific days of the week. You control when in the day or hour
  9282  	// you want the task to execute. The time you specify is UTC time. For more
  9283  	// information, see Scheduling your task (https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html).
  9284  	Schedule *TaskSchedule `type:"structure"`
  9285  
  9286  	// The Amazon Resource Name (ARN) of the resource name of the task to update.
  9287  	//
  9288  	// TaskArn is a required field
  9289  	TaskArn *string `type:"string" required:"true"`
  9290  }
  9291  
  9292  // String returns the string representation.
  9293  //
  9294  // API parameter values that are decorated as "sensitive" in the API will not
  9295  // be included in the string output. The member name will be present, but the
  9296  // value will be replaced with "sensitive".
  9297  func (s UpdateTaskInput) String() string {
  9298  	return awsutil.Prettify(s)
  9299  }
  9300  
  9301  // GoString returns the string representation.
  9302  //
  9303  // API parameter values that are decorated as "sensitive" in the API will not
  9304  // be included in the string output. The member name will be present, but the
  9305  // value will be replaced with "sensitive".
  9306  func (s UpdateTaskInput) GoString() string {
  9307  	return s.String()
  9308  }
  9309  
  9310  // Validate inspects the fields of the type to determine if they are valid.
  9311  func (s *UpdateTaskInput) Validate() error {
  9312  	invalidParams := request.ErrInvalidParams{Context: "UpdateTaskInput"}
  9313  	if s.Name != nil && len(*s.Name) < 1 {
  9314  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  9315  	}
  9316  	if s.TaskArn == nil {
  9317  		invalidParams.Add(request.NewErrParamRequired("TaskArn"))
  9318  	}
  9319  	if s.Options != nil {
  9320  		if err := s.Options.Validate(); err != nil {
  9321  			invalidParams.AddNested("Options", err.(request.ErrInvalidParams))
  9322  		}
  9323  	}
  9324  	if s.Schedule != nil {
  9325  		if err := s.Schedule.Validate(); err != nil {
  9326  			invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams))
  9327  		}
  9328  	}
  9329  
  9330  	if invalidParams.Len() > 0 {
  9331  		return invalidParams
  9332  	}
  9333  	return nil
  9334  }
  9335  
  9336  // SetCloudWatchLogGroupArn sets the CloudWatchLogGroupArn field's value.
  9337  func (s *UpdateTaskInput) SetCloudWatchLogGroupArn(v string) *UpdateTaskInput {
  9338  	s.CloudWatchLogGroupArn = &v
  9339  	return s
  9340  }
  9341  
  9342  // SetExcludes sets the Excludes field's value.
  9343  func (s *UpdateTaskInput) SetExcludes(v []*FilterRule) *UpdateTaskInput {
  9344  	s.Excludes = v
  9345  	return s
  9346  }
  9347  
  9348  // SetIncludes sets the Includes field's value.
  9349  func (s *UpdateTaskInput) SetIncludes(v []*FilterRule) *UpdateTaskInput {
  9350  	s.Includes = v
  9351  	return s
  9352  }
  9353  
  9354  // SetName sets the Name field's value.
  9355  func (s *UpdateTaskInput) SetName(v string) *UpdateTaskInput {
  9356  	s.Name = &v
  9357  	return s
  9358  }
  9359  
  9360  // SetOptions sets the Options field's value.
  9361  func (s *UpdateTaskInput) SetOptions(v *Options) *UpdateTaskInput {
  9362  	s.Options = v
  9363  	return s
  9364  }
  9365  
  9366  // SetSchedule sets the Schedule field's value.
  9367  func (s *UpdateTaskInput) SetSchedule(v *TaskSchedule) *UpdateTaskInput {
  9368  	s.Schedule = v
  9369  	return s
  9370  }
  9371  
  9372  // SetTaskArn sets the TaskArn field's value.
  9373  func (s *UpdateTaskInput) SetTaskArn(v string) *UpdateTaskInput {
  9374  	s.TaskArn = &v
  9375  	return s
  9376  }
  9377  
  9378  type UpdateTaskOutput struct {
  9379  	_ struct{} `type:"structure"`
  9380  }
  9381  
  9382  // String returns the string representation.
  9383  //
  9384  // API parameter values that are decorated as "sensitive" in the API will not
  9385  // be included in the string output. The member name will be present, but the
  9386  // value will be replaced with "sensitive".
  9387  func (s UpdateTaskOutput) String() string {
  9388  	return awsutil.Prettify(s)
  9389  }
  9390  
  9391  // GoString returns the string representation.
  9392  //
  9393  // API parameter values that are decorated as "sensitive" in the API will not
  9394  // be included in the string output. The member name will be present, but the
  9395  // value will be replaced with "sensitive".
  9396  func (s UpdateTaskOutput) GoString() string {
  9397  	return s.String()
  9398  }
  9399  
  9400  const (
  9401  	// AgentStatusOnline is a AgentStatus enum value
  9402  	AgentStatusOnline = "ONLINE"
  9403  
  9404  	// AgentStatusOffline is a AgentStatus enum value
  9405  	AgentStatusOffline = "OFFLINE"
  9406  )
  9407  
  9408  // AgentStatus_Values returns all elements of the AgentStatus enum
  9409  func AgentStatus_Values() []string {
  9410  	return []string{
  9411  		AgentStatusOnline,
  9412  		AgentStatusOffline,
  9413  	}
  9414  }
  9415  
  9416  const (
  9417  	// AtimeNone is a Atime enum value
  9418  	AtimeNone = "NONE"
  9419  
  9420  	// AtimeBestEffort is a Atime enum value
  9421  	AtimeBestEffort = "BEST_EFFORT"
  9422  )
  9423  
  9424  // Atime_Values returns all elements of the Atime enum
  9425  func Atime_Values() []string {
  9426  	return []string{
  9427  		AtimeNone,
  9428  		AtimeBestEffort,
  9429  	}
  9430  }
  9431  
  9432  const (
  9433  	// EndpointTypePublic is a EndpointType enum value
  9434  	EndpointTypePublic = "PUBLIC"
  9435  
  9436  	// EndpointTypePrivateLink is a EndpointType enum value
  9437  	EndpointTypePrivateLink = "PRIVATE_LINK"
  9438  
  9439  	// EndpointTypeFips is a EndpointType enum value
  9440  	EndpointTypeFips = "FIPS"
  9441  )
  9442  
  9443  // EndpointType_Values returns all elements of the EndpointType enum
  9444  func EndpointType_Values() []string {
  9445  	return []string{
  9446  		EndpointTypePublic,
  9447  		EndpointTypePrivateLink,
  9448  		EndpointTypeFips,
  9449  	}
  9450  }
  9451  
  9452  const (
  9453  	// FilterTypeSimplePattern is a FilterType enum value
  9454  	FilterTypeSimplePattern = "SIMPLE_PATTERN"
  9455  )
  9456  
  9457  // FilterType_Values returns all elements of the FilterType enum
  9458  func FilterType_Values() []string {
  9459  	return []string{
  9460  		FilterTypeSimplePattern,
  9461  	}
  9462  }
  9463  
  9464  const (
  9465  	// GidNone is a Gid enum value
  9466  	GidNone = "NONE"
  9467  
  9468  	// GidIntValue is a Gid enum value
  9469  	GidIntValue = "INT_VALUE"
  9470  
  9471  	// GidName is a Gid enum value
  9472  	GidName = "NAME"
  9473  
  9474  	// GidBoth is a Gid enum value
  9475  	GidBoth = "BOTH"
  9476  )
  9477  
  9478  // Gid_Values returns all elements of the Gid enum
  9479  func Gid_Values() []string {
  9480  	return []string{
  9481  		GidNone,
  9482  		GidIntValue,
  9483  		GidName,
  9484  		GidBoth,
  9485  	}
  9486  }
  9487  
  9488  const (
  9489  	// LocationFilterNameLocationUri is a LocationFilterName enum value
  9490  	LocationFilterNameLocationUri = "LocationUri"
  9491  
  9492  	// LocationFilterNameLocationType is a LocationFilterName enum value
  9493  	LocationFilterNameLocationType = "LocationType"
  9494  
  9495  	// LocationFilterNameCreationTime is a LocationFilterName enum value
  9496  	LocationFilterNameCreationTime = "CreationTime"
  9497  )
  9498  
  9499  // LocationFilterName_Values returns all elements of the LocationFilterName enum
  9500  func LocationFilterName_Values() []string {
  9501  	return []string{
  9502  		LocationFilterNameLocationUri,
  9503  		LocationFilterNameLocationType,
  9504  		LocationFilterNameCreationTime,
  9505  	}
  9506  }
  9507  
  9508  const (
  9509  	// LogLevelOff is a LogLevel enum value
  9510  	LogLevelOff = "OFF"
  9511  
  9512  	// LogLevelBasic is a LogLevel enum value
  9513  	LogLevelBasic = "BASIC"
  9514  
  9515  	// LogLevelTransfer is a LogLevel enum value
  9516  	LogLevelTransfer = "TRANSFER"
  9517  )
  9518  
  9519  // LogLevel_Values returns all elements of the LogLevel enum
  9520  func LogLevel_Values() []string {
  9521  	return []string{
  9522  		LogLevelOff,
  9523  		LogLevelBasic,
  9524  		LogLevelTransfer,
  9525  	}
  9526  }
  9527  
  9528  const (
  9529  	// MtimeNone is a Mtime enum value
  9530  	MtimeNone = "NONE"
  9531  
  9532  	// MtimePreserve is a Mtime enum value
  9533  	MtimePreserve = "PRESERVE"
  9534  )
  9535  
  9536  // Mtime_Values returns all elements of the Mtime enum
  9537  func Mtime_Values() []string {
  9538  	return []string{
  9539  		MtimeNone,
  9540  		MtimePreserve,
  9541  	}
  9542  }
  9543  
  9544  const (
  9545  	// NfsVersionAutomatic is a NfsVersion enum value
  9546  	NfsVersionAutomatic = "AUTOMATIC"
  9547  
  9548  	// NfsVersionNfs3 is a NfsVersion enum value
  9549  	NfsVersionNfs3 = "NFS3"
  9550  
  9551  	// NfsVersionNfs40 is a NfsVersion enum value
  9552  	NfsVersionNfs40 = "NFS4_0"
  9553  
  9554  	// NfsVersionNfs41 is a NfsVersion enum value
  9555  	NfsVersionNfs41 = "NFS4_1"
  9556  )
  9557  
  9558  // NfsVersion_Values returns all elements of the NfsVersion enum
  9559  func NfsVersion_Values() []string {
  9560  	return []string{
  9561  		NfsVersionAutomatic,
  9562  		NfsVersionNfs3,
  9563  		NfsVersionNfs40,
  9564  		NfsVersionNfs41,
  9565  	}
  9566  }
  9567  
  9568  const (
  9569  	// ObjectStorageServerProtocolHttps is a ObjectStorageServerProtocol enum value
  9570  	ObjectStorageServerProtocolHttps = "HTTPS"
  9571  
  9572  	// ObjectStorageServerProtocolHttp is a ObjectStorageServerProtocol enum value
  9573  	ObjectStorageServerProtocolHttp = "HTTP"
  9574  )
  9575  
  9576  // ObjectStorageServerProtocol_Values returns all elements of the ObjectStorageServerProtocol enum
  9577  func ObjectStorageServerProtocol_Values() []string {
  9578  	return []string{
  9579  		ObjectStorageServerProtocolHttps,
  9580  		ObjectStorageServerProtocolHttp,
  9581  	}
  9582  }
  9583  
  9584  const (
  9585  	// OperatorEquals is a Operator enum value
  9586  	OperatorEquals = "Equals"
  9587  
  9588  	// OperatorNotEquals is a Operator enum value
  9589  	OperatorNotEquals = "NotEquals"
  9590  
  9591  	// OperatorIn is a Operator enum value
  9592  	OperatorIn = "In"
  9593  
  9594  	// OperatorLessThanOrEqual is a Operator enum value
  9595  	OperatorLessThanOrEqual = "LessThanOrEqual"
  9596  
  9597  	// OperatorLessThan is a Operator enum value
  9598  	OperatorLessThan = "LessThan"
  9599  
  9600  	// OperatorGreaterThanOrEqual is a Operator enum value
  9601  	OperatorGreaterThanOrEqual = "GreaterThanOrEqual"
  9602  
  9603  	// OperatorGreaterThan is a Operator enum value
  9604  	OperatorGreaterThan = "GreaterThan"
  9605  
  9606  	// OperatorContains is a Operator enum value
  9607  	OperatorContains = "Contains"
  9608  
  9609  	// OperatorNotContains is a Operator enum value
  9610  	OperatorNotContains = "NotContains"
  9611  
  9612  	// OperatorBeginsWith is a Operator enum value
  9613  	OperatorBeginsWith = "BeginsWith"
  9614  )
  9615  
  9616  // Operator_Values returns all elements of the Operator enum
  9617  func Operator_Values() []string {
  9618  	return []string{
  9619  		OperatorEquals,
  9620  		OperatorNotEquals,
  9621  		OperatorIn,
  9622  		OperatorLessThanOrEqual,
  9623  		OperatorLessThan,
  9624  		OperatorGreaterThanOrEqual,
  9625  		OperatorGreaterThan,
  9626  		OperatorContains,
  9627  		OperatorNotContains,
  9628  		OperatorBeginsWith,
  9629  	}
  9630  }
  9631  
  9632  const (
  9633  	// OverwriteModeAlways is a OverwriteMode enum value
  9634  	OverwriteModeAlways = "ALWAYS"
  9635  
  9636  	// OverwriteModeNever is a OverwriteMode enum value
  9637  	OverwriteModeNever = "NEVER"
  9638  )
  9639  
  9640  // OverwriteMode_Values returns all elements of the OverwriteMode enum
  9641  func OverwriteMode_Values() []string {
  9642  	return []string{
  9643  		OverwriteModeAlways,
  9644  		OverwriteModeNever,
  9645  	}
  9646  }
  9647  
  9648  const (
  9649  	// PhaseStatusPending is a PhaseStatus enum value
  9650  	PhaseStatusPending = "PENDING"
  9651  
  9652  	// PhaseStatusSuccess is a PhaseStatus enum value
  9653  	PhaseStatusSuccess = "SUCCESS"
  9654  
  9655  	// PhaseStatusError is a PhaseStatus enum value
  9656  	PhaseStatusError = "ERROR"
  9657  )
  9658  
  9659  // PhaseStatus_Values returns all elements of the PhaseStatus enum
  9660  func PhaseStatus_Values() []string {
  9661  	return []string{
  9662  		PhaseStatusPending,
  9663  		PhaseStatusSuccess,
  9664  		PhaseStatusError,
  9665  	}
  9666  }
  9667  
  9668  const (
  9669  	// PosixPermissionsNone is a PosixPermissions enum value
  9670  	PosixPermissionsNone = "NONE"
  9671  
  9672  	// PosixPermissionsPreserve is a PosixPermissions enum value
  9673  	PosixPermissionsPreserve = "PRESERVE"
  9674  )
  9675  
  9676  // PosixPermissions_Values returns all elements of the PosixPermissions enum
  9677  func PosixPermissions_Values() []string {
  9678  	return []string{
  9679  		PosixPermissionsNone,
  9680  		PosixPermissionsPreserve,
  9681  	}
  9682  }
  9683  
  9684  const (
  9685  	// PreserveDeletedFilesPreserve is a PreserveDeletedFiles enum value
  9686  	PreserveDeletedFilesPreserve = "PRESERVE"
  9687  
  9688  	// PreserveDeletedFilesRemove is a PreserveDeletedFiles enum value
  9689  	PreserveDeletedFilesRemove = "REMOVE"
  9690  )
  9691  
  9692  // PreserveDeletedFiles_Values returns all elements of the PreserveDeletedFiles enum
  9693  func PreserveDeletedFiles_Values() []string {
  9694  	return []string{
  9695  		PreserveDeletedFilesPreserve,
  9696  		PreserveDeletedFilesRemove,
  9697  	}
  9698  }
  9699  
  9700  const (
  9701  	// PreserveDevicesNone is a PreserveDevices enum value
  9702  	PreserveDevicesNone = "NONE"
  9703  
  9704  	// PreserveDevicesPreserve is a PreserveDevices enum value
  9705  	PreserveDevicesPreserve = "PRESERVE"
  9706  )
  9707  
  9708  // PreserveDevices_Values returns all elements of the PreserveDevices enum
  9709  func PreserveDevices_Values() []string {
  9710  	return []string{
  9711  		PreserveDevicesNone,
  9712  		PreserveDevicesPreserve,
  9713  	}
  9714  }
  9715  
  9716  const (
  9717  	// S3StorageClassStandard is a S3StorageClass enum value
  9718  	S3StorageClassStandard = "STANDARD"
  9719  
  9720  	// S3StorageClassStandardIa is a S3StorageClass enum value
  9721  	S3StorageClassStandardIa = "STANDARD_IA"
  9722  
  9723  	// S3StorageClassOnezoneIa is a S3StorageClass enum value
  9724  	S3StorageClassOnezoneIa = "ONEZONE_IA"
  9725  
  9726  	// S3StorageClassIntelligentTiering is a S3StorageClass enum value
  9727  	S3StorageClassIntelligentTiering = "INTELLIGENT_TIERING"
  9728  
  9729  	// S3StorageClassGlacier is a S3StorageClass enum value
  9730  	S3StorageClassGlacier = "GLACIER"
  9731  
  9732  	// S3StorageClassDeepArchive is a S3StorageClass enum value
  9733  	S3StorageClassDeepArchive = "DEEP_ARCHIVE"
  9734  
  9735  	// S3StorageClassOutposts is a S3StorageClass enum value
  9736  	S3StorageClassOutposts = "OUTPOSTS"
  9737  )
  9738  
  9739  // S3StorageClass_Values returns all elements of the S3StorageClass enum
  9740  func S3StorageClass_Values() []string {
  9741  	return []string{
  9742  		S3StorageClassStandard,
  9743  		S3StorageClassStandardIa,
  9744  		S3StorageClassOnezoneIa,
  9745  		S3StorageClassIntelligentTiering,
  9746  		S3StorageClassGlacier,
  9747  		S3StorageClassDeepArchive,
  9748  		S3StorageClassOutposts,
  9749  	}
  9750  }
  9751  
  9752  const (
  9753  	// SmbSecurityDescriptorCopyFlagsNone is a SmbSecurityDescriptorCopyFlags enum value
  9754  	SmbSecurityDescriptorCopyFlagsNone = "NONE"
  9755  
  9756  	// SmbSecurityDescriptorCopyFlagsOwnerDacl is a SmbSecurityDescriptorCopyFlags enum value
  9757  	SmbSecurityDescriptorCopyFlagsOwnerDacl = "OWNER_DACL"
  9758  
  9759  	// SmbSecurityDescriptorCopyFlagsOwnerDaclSacl is a SmbSecurityDescriptorCopyFlags enum value
  9760  	SmbSecurityDescriptorCopyFlagsOwnerDaclSacl = "OWNER_DACL_SACL"
  9761  )
  9762  
  9763  // SmbSecurityDescriptorCopyFlags_Values returns all elements of the SmbSecurityDescriptorCopyFlags enum
  9764  func SmbSecurityDescriptorCopyFlags_Values() []string {
  9765  	return []string{
  9766  		SmbSecurityDescriptorCopyFlagsNone,
  9767  		SmbSecurityDescriptorCopyFlagsOwnerDacl,
  9768  		SmbSecurityDescriptorCopyFlagsOwnerDaclSacl,
  9769  	}
  9770  }
  9771  
  9772  const (
  9773  	// SmbVersionAutomatic is a SmbVersion enum value
  9774  	SmbVersionAutomatic = "AUTOMATIC"
  9775  
  9776  	// SmbVersionSmb2 is a SmbVersion enum value
  9777  	SmbVersionSmb2 = "SMB2"
  9778  
  9779  	// SmbVersionSmb3 is a SmbVersion enum value
  9780  	SmbVersionSmb3 = "SMB3"
  9781  )
  9782  
  9783  // SmbVersion_Values returns all elements of the SmbVersion enum
  9784  func SmbVersion_Values() []string {
  9785  	return []string{
  9786  		SmbVersionAutomatic,
  9787  		SmbVersionSmb2,
  9788  		SmbVersionSmb3,
  9789  	}
  9790  }
  9791  
  9792  const (
  9793  	// TaskExecutionStatusQueued is a TaskExecutionStatus enum value
  9794  	TaskExecutionStatusQueued = "QUEUED"
  9795  
  9796  	// TaskExecutionStatusLaunching is a TaskExecutionStatus enum value
  9797  	TaskExecutionStatusLaunching = "LAUNCHING"
  9798  
  9799  	// TaskExecutionStatusPreparing is a TaskExecutionStatus enum value
  9800  	TaskExecutionStatusPreparing = "PREPARING"
  9801  
  9802  	// TaskExecutionStatusTransferring is a TaskExecutionStatus enum value
  9803  	TaskExecutionStatusTransferring = "TRANSFERRING"
  9804  
  9805  	// TaskExecutionStatusVerifying is a TaskExecutionStatus enum value
  9806  	TaskExecutionStatusVerifying = "VERIFYING"
  9807  
  9808  	// TaskExecutionStatusSuccess is a TaskExecutionStatus enum value
  9809  	TaskExecutionStatusSuccess = "SUCCESS"
  9810  
  9811  	// TaskExecutionStatusError is a TaskExecutionStatus enum value
  9812  	TaskExecutionStatusError = "ERROR"
  9813  )
  9814  
  9815  // TaskExecutionStatus_Values returns all elements of the TaskExecutionStatus enum
  9816  func TaskExecutionStatus_Values() []string {
  9817  	return []string{
  9818  		TaskExecutionStatusQueued,
  9819  		TaskExecutionStatusLaunching,
  9820  		TaskExecutionStatusPreparing,
  9821  		TaskExecutionStatusTransferring,
  9822  		TaskExecutionStatusVerifying,
  9823  		TaskExecutionStatusSuccess,
  9824  		TaskExecutionStatusError,
  9825  	}
  9826  }
  9827  
  9828  const (
  9829  	// TaskFilterNameLocationId is a TaskFilterName enum value
  9830  	TaskFilterNameLocationId = "LocationId"
  9831  
  9832  	// TaskFilterNameCreationTime is a TaskFilterName enum value
  9833  	TaskFilterNameCreationTime = "CreationTime"
  9834  )
  9835  
  9836  // TaskFilterName_Values returns all elements of the TaskFilterName enum
  9837  func TaskFilterName_Values() []string {
  9838  	return []string{
  9839  		TaskFilterNameLocationId,
  9840  		TaskFilterNameCreationTime,
  9841  	}
  9842  }
  9843  
  9844  const (
  9845  	// TaskQueueingEnabled is a TaskQueueing enum value
  9846  	TaskQueueingEnabled = "ENABLED"
  9847  
  9848  	// TaskQueueingDisabled is a TaskQueueing enum value
  9849  	TaskQueueingDisabled = "DISABLED"
  9850  )
  9851  
  9852  // TaskQueueing_Values returns all elements of the TaskQueueing enum
  9853  func TaskQueueing_Values() []string {
  9854  	return []string{
  9855  		TaskQueueingEnabled,
  9856  		TaskQueueingDisabled,
  9857  	}
  9858  }
  9859  
  9860  const (
  9861  	// TaskStatusAvailable is a TaskStatus enum value
  9862  	TaskStatusAvailable = "AVAILABLE"
  9863  
  9864  	// TaskStatusCreating is a TaskStatus enum value
  9865  	TaskStatusCreating = "CREATING"
  9866  
  9867  	// TaskStatusQueued is a TaskStatus enum value
  9868  	TaskStatusQueued = "QUEUED"
  9869  
  9870  	// TaskStatusRunning is a TaskStatus enum value
  9871  	TaskStatusRunning = "RUNNING"
  9872  
  9873  	// TaskStatusUnavailable is a TaskStatus enum value
  9874  	TaskStatusUnavailable = "UNAVAILABLE"
  9875  )
  9876  
  9877  // TaskStatus_Values returns all elements of the TaskStatus enum
  9878  func TaskStatus_Values() []string {
  9879  	return []string{
  9880  		TaskStatusAvailable,
  9881  		TaskStatusCreating,
  9882  		TaskStatusQueued,
  9883  		TaskStatusRunning,
  9884  		TaskStatusUnavailable,
  9885  	}
  9886  }
  9887  
  9888  const (
  9889  	// TransferModeChanged is a TransferMode enum value
  9890  	TransferModeChanged = "CHANGED"
  9891  
  9892  	// TransferModeAll is a TransferMode enum value
  9893  	TransferModeAll = "ALL"
  9894  )
  9895  
  9896  // TransferMode_Values returns all elements of the TransferMode enum
  9897  func TransferMode_Values() []string {
  9898  	return []string{
  9899  		TransferModeChanged,
  9900  		TransferModeAll,
  9901  	}
  9902  }
  9903  
  9904  const (
  9905  	// UidNone is a Uid enum value
  9906  	UidNone = "NONE"
  9907  
  9908  	// UidIntValue is a Uid enum value
  9909  	UidIntValue = "INT_VALUE"
  9910  
  9911  	// UidName is a Uid enum value
  9912  	UidName = "NAME"
  9913  
  9914  	// UidBoth is a Uid enum value
  9915  	UidBoth = "BOTH"
  9916  )
  9917  
  9918  // Uid_Values returns all elements of the Uid enum
  9919  func Uid_Values() []string {
  9920  	return []string{
  9921  		UidNone,
  9922  		UidIntValue,
  9923  		UidName,
  9924  		UidBoth,
  9925  	}
  9926  }
  9927  
  9928  const (
  9929  	// VerifyModePointInTimeConsistent is a VerifyMode enum value
  9930  	VerifyModePointInTimeConsistent = "POINT_IN_TIME_CONSISTENT"
  9931  
  9932  	// VerifyModeOnlyFilesTransferred is a VerifyMode enum value
  9933  	VerifyModeOnlyFilesTransferred = "ONLY_FILES_TRANSFERRED"
  9934  
  9935  	// VerifyModeNone is a VerifyMode enum value
  9936  	VerifyModeNone = "NONE"
  9937  )
  9938  
  9939  // VerifyMode_Values returns all elements of the VerifyMode enum
  9940  func VerifyMode_Values() []string {
  9941  	return []string{
  9942  		VerifyModePointInTimeConsistent,
  9943  		VerifyModeOnlyFilesTransferred,
  9944  		VerifyModeNone,
  9945  	}
  9946  }