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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package fsx
     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 opAssociateFileSystemAliases = "AssociateFileSystemAliases"
    17  
    18  // AssociateFileSystemAliasesRequest generates a "aws/request.Request" representing the
    19  // client's request for the AssociateFileSystemAliases 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 AssociateFileSystemAliases for more information on using the AssociateFileSystemAliases
    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 AssociateFileSystemAliasesRequest method.
    34  //    req, resp := client.AssociateFileSystemAliasesRequest(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/fsx-2018-03-01/AssociateFileSystemAliases
    42  func (c *FSx) AssociateFileSystemAliasesRequest(input *AssociateFileSystemAliasesInput) (req *request.Request, output *AssociateFileSystemAliasesOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAssociateFileSystemAliases,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AssociateFileSystemAliasesInput{}
    51  	}
    52  
    53  	output = &AssociateFileSystemAliasesOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // AssociateFileSystemAliases API operation for Amazon FSx.
    59  //
    60  // Use this action to associate one or more Domain Name Server (DNS) aliases
    61  // with an existing Amazon FSx for Windows File Server file system. A file system
    62  // can have a maximum of 50 DNS aliases associated with it at any one time.
    63  // If you try to associate a DNS alias that is already associated with the file
    64  // system, FSx takes no action on that alias in the request. For more information,
    65  // see Working with DNS Aliases (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html)
    66  // and Walkthrough 5: Using DNS aliases to access your file system (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/walkthrough05-file-system-custom-CNAME.html),
    67  // including additional steps you must take to be able to access your file system
    68  // using a DNS alias.
    69  //
    70  // The system response shows the DNS aliases that Amazon FSx is attempting to
    71  // associate with the file system. Use the API operation to monitor the status
    72  // of the aliases Amazon FSx is associating with the file system.
    73  //
    74  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    75  // with awserr.Error's Code and Message methods to get detailed information about
    76  // the error.
    77  //
    78  // See the AWS API reference guide for Amazon FSx's
    79  // API operation AssociateFileSystemAliases for usage and error information.
    80  //
    81  // Returned Error Types:
    82  //   * BadRequest
    83  //   A generic error indicating a failure with a client request.
    84  //
    85  //   * FileSystemNotFound
    86  //   No Amazon FSx file systems were found based upon supplied parameters.
    87  //
    88  //   * InternalServerError
    89  //   A generic error indicating a server-side failure.
    90  //
    91  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/AssociateFileSystemAliases
    92  func (c *FSx) AssociateFileSystemAliases(input *AssociateFileSystemAliasesInput) (*AssociateFileSystemAliasesOutput, error) {
    93  	req, out := c.AssociateFileSystemAliasesRequest(input)
    94  	return out, req.Send()
    95  }
    96  
    97  // AssociateFileSystemAliasesWithContext is the same as AssociateFileSystemAliases with the addition of
    98  // the ability to pass a context and additional request options.
    99  //
   100  // See AssociateFileSystemAliases for details on how to use this API operation.
   101  //
   102  // The context must be non-nil and will be used for request cancellation. If
   103  // the context is nil a panic will occur. In the future the SDK may create
   104  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   105  // for more information on using Contexts.
   106  func (c *FSx) AssociateFileSystemAliasesWithContext(ctx aws.Context, input *AssociateFileSystemAliasesInput, opts ...request.Option) (*AssociateFileSystemAliasesOutput, error) {
   107  	req, out := c.AssociateFileSystemAliasesRequest(input)
   108  	req.SetContext(ctx)
   109  	req.ApplyOptions(opts...)
   110  	return out, req.Send()
   111  }
   112  
   113  const opCancelDataRepositoryTask = "CancelDataRepositoryTask"
   114  
   115  // CancelDataRepositoryTaskRequest generates a "aws/request.Request" representing the
   116  // client's request for the CancelDataRepositoryTask operation. The "output" return
   117  // value will be populated with the request's response once the request completes
   118  // successfully.
   119  //
   120  // Use "Send" method on the returned Request to send the API call to the service.
   121  // the "output" return value is not valid until after Send returns without error.
   122  //
   123  // See CancelDataRepositoryTask for more information on using the CancelDataRepositoryTask
   124  // API call, and error handling.
   125  //
   126  // This method is useful when you want to inject custom logic or configuration
   127  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   128  //
   129  //
   130  //    // Example sending a request using the CancelDataRepositoryTaskRequest method.
   131  //    req, resp := client.CancelDataRepositoryTaskRequest(params)
   132  //
   133  //    err := req.Send()
   134  //    if err == nil { // resp is now filled
   135  //        fmt.Println(resp)
   136  //    }
   137  //
   138  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CancelDataRepositoryTask
   139  func (c *FSx) CancelDataRepositoryTaskRequest(input *CancelDataRepositoryTaskInput) (req *request.Request, output *CancelDataRepositoryTaskOutput) {
   140  	op := &request.Operation{
   141  		Name:       opCancelDataRepositoryTask,
   142  		HTTPMethod: "POST",
   143  		HTTPPath:   "/",
   144  	}
   145  
   146  	if input == nil {
   147  		input = &CancelDataRepositoryTaskInput{}
   148  	}
   149  
   150  	output = &CancelDataRepositoryTaskOutput{}
   151  	req = c.newRequest(op, input, output)
   152  	return
   153  }
   154  
   155  // CancelDataRepositoryTask API operation for Amazon FSx.
   156  //
   157  // Cancels an existing Amazon FSx for Lustre data repository task if that task
   158  // is in either the PENDING or EXECUTING state. When you cancel a task, Amazon
   159  // FSx does the following.
   160  //
   161  //    * Any files that FSx has already exported are not reverted.
   162  //
   163  //    * FSx continues to export any files that are "in-flight" when the cancel
   164  //    operation is received.
   165  //
   166  //    * FSx does not export any files that have not yet been exported.
   167  //
   168  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   169  // with awserr.Error's Code and Message methods to get detailed information about
   170  // the error.
   171  //
   172  // See the AWS API reference guide for Amazon FSx's
   173  // API operation CancelDataRepositoryTask for usage and error information.
   174  //
   175  // Returned Error Types:
   176  //   * BadRequest
   177  //   A generic error indicating a failure with a client request.
   178  //
   179  //   * UnsupportedOperation
   180  //   The requested operation is not supported for this resource or API.
   181  //
   182  //   * DataRepositoryTaskNotFound
   183  //   The data repository task or tasks you specified could not be found.
   184  //
   185  //   * DataRepositoryTaskEnded
   186  //   The data repository task could not be canceled because the task has already
   187  //   ended.
   188  //
   189  //   * InternalServerError
   190  //   A generic error indicating a server-side failure.
   191  //
   192  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CancelDataRepositoryTask
   193  func (c *FSx) CancelDataRepositoryTask(input *CancelDataRepositoryTaskInput) (*CancelDataRepositoryTaskOutput, error) {
   194  	req, out := c.CancelDataRepositoryTaskRequest(input)
   195  	return out, req.Send()
   196  }
   197  
   198  // CancelDataRepositoryTaskWithContext is the same as CancelDataRepositoryTask with the addition of
   199  // the ability to pass a context and additional request options.
   200  //
   201  // See CancelDataRepositoryTask for details on how to use this API operation.
   202  //
   203  // The context must be non-nil and will be used for request cancellation. If
   204  // the context is nil a panic will occur. In the future the SDK may create
   205  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   206  // for more information on using Contexts.
   207  func (c *FSx) CancelDataRepositoryTaskWithContext(ctx aws.Context, input *CancelDataRepositoryTaskInput, opts ...request.Option) (*CancelDataRepositoryTaskOutput, error) {
   208  	req, out := c.CancelDataRepositoryTaskRequest(input)
   209  	req.SetContext(ctx)
   210  	req.ApplyOptions(opts...)
   211  	return out, req.Send()
   212  }
   213  
   214  const opCopyBackup = "CopyBackup"
   215  
   216  // CopyBackupRequest generates a "aws/request.Request" representing the
   217  // client's request for the CopyBackup operation. The "output" return
   218  // value will be populated with the request's response once the request completes
   219  // successfully.
   220  //
   221  // Use "Send" method on the returned Request to send the API call to the service.
   222  // the "output" return value is not valid until after Send returns without error.
   223  //
   224  // See CopyBackup for more information on using the CopyBackup
   225  // API call, and error handling.
   226  //
   227  // This method is useful when you want to inject custom logic or configuration
   228  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   229  //
   230  //
   231  //    // Example sending a request using the CopyBackupRequest method.
   232  //    req, resp := client.CopyBackupRequest(params)
   233  //
   234  //    err := req.Send()
   235  //    if err == nil { // resp is now filled
   236  //        fmt.Println(resp)
   237  //    }
   238  //
   239  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CopyBackup
   240  func (c *FSx) CopyBackupRequest(input *CopyBackupInput) (req *request.Request, output *CopyBackupOutput) {
   241  	op := &request.Operation{
   242  		Name:       opCopyBackup,
   243  		HTTPMethod: "POST",
   244  		HTTPPath:   "/",
   245  	}
   246  
   247  	if input == nil {
   248  		input = &CopyBackupInput{}
   249  	}
   250  
   251  	output = &CopyBackupOutput{}
   252  	req = c.newRequest(op, input, output)
   253  	return
   254  }
   255  
   256  // CopyBackup API operation for Amazon FSx.
   257  //
   258  // Copies an existing backup within the same Amazon Web Services account to
   259  // another Amazon Web Services Region (cross-Region copy) or within the same
   260  // Amazon Web Services Region (in-Region copy). You can have up to five backup
   261  // copy requests in progress to a single destination Region per account.
   262  //
   263  // You can use cross-Region backup copies for cross-region disaster recovery.
   264  // You periodically take backups and copy them to another Region so that in
   265  // the event of a disaster in the primary Region, you can restore from backup
   266  // and recover availability quickly in the other Region. You can make cross-Region
   267  // copies only within your Amazon Web Services partition.
   268  //
   269  // You can also use backup copies to clone your file data set to another Region
   270  // or within the same Region.
   271  //
   272  // You can use the SourceRegion parameter to specify the Amazon Web Services
   273  // Region from which the backup will be copied. For example, if you make the
   274  // call from the us-west-1 Region and want to copy a backup from the us-east-2
   275  // Region, you specify us-east-2 in the SourceRegion parameter to make a cross-Region
   276  // copy. If you don't specify a Region, the backup copy is created in the same
   277  // Region where the request is sent from (in-Region copy).
   278  //
   279  // For more information on creating backup copies, see Copying backups (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-backups.html#copy-backups)
   280  // in the Amazon FSx for Windows User Guide and Copying backups (https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html#copy-backups)
   281  // in the Amazon FSx for Lustre User Guide.
   282  //
   283  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   284  // with awserr.Error's Code and Message methods to get detailed information about
   285  // the error.
   286  //
   287  // See the AWS API reference guide for Amazon FSx's
   288  // API operation CopyBackup for usage and error information.
   289  //
   290  // Returned Error Types:
   291  //   * BadRequest
   292  //   A generic error indicating a failure with a client request.
   293  //
   294  //   * BackupNotFound
   295  //   No Amazon FSx backups were found based upon the supplied parameters.
   296  //
   297  //   * ServiceLimitExceeded
   298  //   An error indicating that a particular service limit was exceeded. You can
   299  //   increase some service limits by contacting Amazon Web Services Support.
   300  //
   301  //   * UnsupportedOperation
   302  //   The requested operation is not supported for this resource or API.
   303  //
   304  //   * IncompatibleParameterError
   305  //   The error returned when a second request is received with the same client
   306  //   request token but different parameters settings. A client request token should
   307  //   always uniquely identify a single request.
   308  //
   309  //   * InternalServerError
   310  //   A generic error indicating a server-side failure.
   311  //
   312  //   * InvalidSourceKmsKey
   313  //   The Key Management Service (KMS) key of the source backup is invalid.
   314  //
   315  //   * InvalidDestinationKmsKey
   316  //   The Key Management Service (KMS) key of the destination backup is invalid.
   317  //
   318  //   * InvalidRegion
   319  //   The Region provided for Source Region is invalid or is in a different Amazon
   320  //   Web Services partition.
   321  //
   322  //   * SourceBackupUnavailable
   323  //   The request was rejected because the lifecycle status of the source backup
   324  //   is not AVAILABLE.
   325  //
   326  //   * IncompatibleRegionForMultiAZ
   327  //   Amazon FSx doesn't support Multi-AZ Windows File Server copy backup in the
   328  //   destination Region, so the copied backup can't be restored.
   329  //
   330  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CopyBackup
   331  func (c *FSx) CopyBackup(input *CopyBackupInput) (*CopyBackupOutput, error) {
   332  	req, out := c.CopyBackupRequest(input)
   333  	return out, req.Send()
   334  }
   335  
   336  // CopyBackupWithContext is the same as CopyBackup with the addition of
   337  // the ability to pass a context and additional request options.
   338  //
   339  // See CopyBackup for details on how to use this API operation.
   340  //
   341  // The context must be non-nil and will be used for request cancellation. If
   342  // the context is nil a panic will occur. In the future the SDK may create
   343  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   344  // for more information on using Contexts.
   345  func (c *FSx) CopyBackupWithContext(ctx aws.Context, input *CopyBackupInput, opts ...request.Option) (*CopyBackupOutput, error) {
   346  	req, out := c.CopyBackupRequest(input)
   347  	req.SetContext(ctx)
   348  	req.ApplyOptions(opts...)
   349  	return out, req.Send()
   350  }
   351  
   352  const opCreateBackup = "CreateBackup"
   353  
   354  // CreateBackupRequest generates a "aws/request.Request" representing the
   355  // client's request for the CreateBackup operation. The "output" return
   356  // value will be populated with the request's response once the request completes
   357  // successfully.
   358  //
   359  // Use "Send" method on the returned Request to send the API call to the service.
   360  // the "output" return value is not valid until after Send returns without error.
   361  //
   362  // See CreateBackup for more information on using the CreateBackup
   363  // API call, and error handling.
   364  //
   365  // This method is useful when you want to inject custom logic or configuration
   366  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   367  //
   368  //
   369  //    // Example sending a request using the CreateBackupRequest method.
   370  //    req, resp := client.CreateBackupRequest(params)
   371  //
   372  //    err := req.Send()
   373  //    if err == nil { // resp is now filled
   374  //        fmt.Println(resp)
   375  //    }
   376  //
   377  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateBackup
   378  func (c *FSx) CreateBackupRequest(input *CreateBackupInput) (req *request.Request, output *CreateBackupOutput) {
   379  	op := &request.Operation{
   380  		Name:       opCreateBackup,
   381  		HTTPMethod: "POST",
   382  		HTTPPath:   "/",
   383  	}
   384  
   385  	if input == nil {
   386  		input = &CreateBackupInput{}
   387  	}
   388  
   389  	output = &CreateBackupOutput{}
   390  	req = c.newRequest(op, input, output)
   391  	return
   392  }
   393  
   394  // CreateBackup API operation for Amazon FSx.
   395  //
   396  // Creates a backup of an existing Amazon FSx for Windows File Server or Amazon
   397  // FSx for Lustre file system, or of an Amazon FSx for NetApp ONTAP volume.
   398  // Creating regular backups is a best practice, enabling you to restore a file
   399  // system or volume from a backup if an issue arises with the original file
   400  // system or volume.
   401  //
   402  // For Amazon FSx for Lustre file systems, you can create a backup only for
   403  // file systems with the following configuration:
   404  //
   405  //    * a Persistent deployment type
   406  //
   407  //    * is not linked to a data repository.
   408  //
   409  // For more information about backups, see the following:
   410  //
   411  //    * For Amazon FSx for Lustre, see Working with FSx for Lustre backups (https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html).
   412  //
   413  //    * For Amazon FSx for Windows, see Working with FSx for Windows backups
   414  //    (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-backups.html).
   415  //
   416  //    * For Amazon FSx for NetApp ONTAP, see Working with FSx for NetApp ONTAP
   417  //    backups (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/using-backups.html).
   418  //
   419  // If a backup with the specified client request token exists, and the parameters
   420  // match, this operation returns the description of the existing backup. If
   421  // a backup specified client request token exists, and the parameters don't
   422  // match, this operation returns IncompatibleParameterError. If a backup with
   423  // the specified client request token doesn't exist, CreateBackup does the following:
   424  //
   425  //    * Creates a new Amazon FSx backup with an assigned ID, and an initial
   426  //    lifecycle state of CREATING.
   427  //
   428  //    * Returns the description of the backup.
   429  //
   430  // By using the idempotent operation, you can retry a CreateBackup operation
   431  // without the risk of creating an extra backup. This approach can be useful
   432  // when an initial call fails in a way that makes it unclear whether a backup
   433  // was created. If you use the same client request token and the initial call
   434  // created a backup, the operation returns a successful result because all the
   435  // parameters are the same.
   436  //
   437  // The CreateBackup operation returns while the backup's lifecycle state is
   438  // still CREATING. You can check the backup creation status by calling the DescribeBackups
   439  // operation, which returns the backup state along with other information.
   440  //
   441  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   442  // with awserr.Error's Code and Message methods to get detailed information about
   443  // the error.
   444  //
   445  // See the AWS API reference guide for Amazon FSx's
   446  // API operation CreateBackup for usage and error information.
   447  //
   448  // Returned Error Types:
   449  //   * BadRequest
   450  //   A generic error indicating a failure with a client request.
   451  //
   452  //   * UnsupportedOperation
   453  //   The requested operation is not supported for this resource or API.
   454  //
   455  //   * FileSystemNotFound
   456  //   No Amazon FSx file systems were found based upon supplied parameters.
   457  //
   458  //   * VolumeNotFound
   459  //   No Amazon FSx for NetApp ONTAP volumes were found based upon the supplied
   460  //   parameters.
   461  //
   462  //   * BackupInProgress
   463  //   Another backup is already under way. Wait for completion before initiating
   464  //   additional backups of this file system.
   465  //
   466  //   * IncompatibleParameterError
   467  //   The error returned when a second request is received with the same client
   468  //   request token but different parameters settings. A client request token should
   469  //   always uniquely identify a single request.
   470  //
   471  //   * ServiceLimitExceeded
   472  //   An error indicating that a particular service limit was exceeded. You can
   473  //   increase some service limits by contacting Amazon Web Services Support.
   474  //
   475  //   * InternalServerError
   476  //   A generic error indicating a server-side failure.
   477  //
   478  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateBackup
   479  func (c *FSx) CreateBackup(input *CreateBackupInput) (*CreateBackupOutput, error) {
   480  	req, out := c.CreateBackupRequest(input)
   481  	return out, req.Send()
   482  }
   483  
   484  // CreateBackupWithContext is the same as CreateBackup with the addition of
   485  // the ability to pass a context and additional request options.
   486  //
   487  // See CreateBackup for details on how to use this API operation.
   488  //
   489  // The context must be non-nil and will be used for request cancellation. If
   490  // the context is nil a panic will occur. In the future the SDK may create
   491  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   492  // for more information on using Contexts.
   493  func (c *FSx) CreateBackupWithContext(ctx aws.Context, input *CreateBackupInput, opts ...request.Option) (*CreateBackupOutput, error) {
   494  	req, out := c.CreateBackupRequest(input)
   495  	req.SetContext(ctx)
   496  	req.ApplyOptions(opts...)
   497  	return out, req.Send()
   498  }
   499  
   500  const opCreateDataRepositoryTask = "CreateDataRepositoryTask"
   501  
   502  // CreateDataRepositoryTaskRequest generates a "aws/request.Request" representing the
   503  // client's request for the CreateDataRepositoryTask operation. The "output" return
   504  // value will be populated with the request's response once the request completes
   505  // successfully.
   506  //
   507  // Use "Send" method on the returned Request to send the API call to the service.
   508  // the "output" return value is not valid until after Send returns without error.
   509  //
   510  // See CreateDataRepositoryTask for more information on using the CreateDataRepositoryTask
   511  // API call, and error handling.
   512  //
   513  // This method is useful when you want to inject custom logic or configuration
   514  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   515  //
   516  //
   517  //    // Example sending a request using the CreateDataRepositoryTaskRequest method.
   518  //    req, resp := client.CreateDataRepositoryTaskRequest(params)
   519  //
   520  //    err := req.Send()
   521  //    if err == nil { // resp is now filled
   522  //        fmt.Println(resp)
   523  //    }
   524  //
   525  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateDataRepositoryTask
   526  func (c *FSx) CreateDataRepositoryTaskRequest(input *CreateDataRepositoryTaskInput) (req *request.Request, output *CreateDataRepositoryTaskOutput) {
   527  	op := &request.Operation{
   528  		Name:       opCreateDataRepositoryTask,
   529  		HTTPMethod: "POST",
   530  		HTTPPath:   "/",
   531  	}
   532  
   533  	if input == nil {
   534  		input = &CreateDataRepositoryTaskInput{}
   535  	}
   536  
   537  	output = &CreateDataRepositoryTaskOutput{}
   538  	req = c.newRequest(op, input, output)
   539  	return
   540  }
   541  
   542  // CreateDataRepositoryTask API operation for Amazon FSx.
   543  //
   544  // Creates an Amazon FSx for Lustre data repository task. You use data repository
   545  // tasks to perform bulk operations between your Amazon FSx file system and
   546  // its linked data repository. An example of a data repository task is exporting
   547  // any data and metadata changes, including POSIX metadata, to files, directories,
   548  // and symbolic links (symlinks) from your FSx file system to its linked data
   549  // repository. A CreateDataRepositoryTask operation will fail if a data repository
   550  // is not linked to the FSx file system. To learn more about data repository
   551  // tasks, see Data Repository Tasks (https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-repository-tasks.html).
   552  // To learn more about linking a data repository to your file system, see Linking
   553  // your file system to an S3 bucket (https://docs.aws.amazon.com/fsx/latest/LustreGuide/create-fs-linked-data-repo.html).
   554  //
   555  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   556  // with awserr.Error's Code and Message methods to get detailed information about
   557  // the error.
   558  //
   559  // See the AWS API reference guide for Amazon FSx's
   560  // API operation CreateDataRepositoryTask for usage and error information.
   561  //
   562  // Returned Error Types:
   563  //   * BadRequest
   564  //   A generic error indicating a failure with a client request.
   565  //
   566  //   * UnsupportedOperation
   567  //   The requested operation is not supported for this resource or API.
   568  //
   569  //   * FileSystemNotFound
   570  //   No Amazon FSx file systems were found based upon supplied parameters.
   571  //
   572  //   * IncompatibleParameterError
   573  //   The error returned when a second request is received with the same client
   574  //   request token but different parameters settings. A client request token should
   575  //   always uniquely identify a single request.
   576  //
   577  //   * ServiceLimitExceeded
   578  //   An error indicating that a particular service limit was exceeded. You can
   579  //   increase some service limits by contacting Amazon Web Services Support.
   580  //
   581  //   * InternalServerError
   582  //   A generic error indicating a server-side failure.
   583  //
   584  //   * DataRepositoryTaskExecuting
   585  //   An existing data repository task is currently executing on the file system.
   586  //   Wait until the existing task has completed, then create the new task.
   587  //
   588  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateDataRepositoryTask
   589  func (c *FSx) CreateDataRepositoryTask(input *CreateDataRepositoryTaskInput) (*CreateDataRepositoryTaskOutput, error) {
   590  	req, out := c.CreateDataRepositoryTaskRequest(input)
   591  	return out, req.Send()
   592  }
   593  
   594  // CreateDataRepositoryTaskWithContext is the same as CreateDataRepositoryTask with the addition of
   595  // the ability to pass a context and additional request options.
   596  //
   597  // See CreateDataRepositoryTask for details on how to use this API operation.
   598  //
   599  // The context must be non-nil and will be used for request cancellation. If
   600  // the context is nil a panic will occur. In the future the SDK may create
   601  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   602  // for more information on using Contexts.
   603  func (c *FSx) CreateDataRepositoryTaskWithContext(ctx aws.Context, input *CreateDataRepositoryTaskInput, opts ...request.Option) (*CreateDataRepositoryTaskOutput, error) {
   604  	req, out := c.CreateDataRepositoryTaskRequest(input)
   605  	req.SetContext(ctx)
   606  	req.ApplyOptions(opts...)
   607  	return out, req.Send()
   608  }
   609  
   610  const opCreateFileSystem = "CreateFileSystem"
   611  
   612  // CreateFileSystemRequest generates a "aws/request.Request" representing the
   613  // client's request for the CreateFileSystem operation. The "output" return
   614  // value will be populated with the request's response once the request completes
   615  // successfully.
   616  //
   617  // Use "Send" method on the returned Request to send the API call to the service.
   618  // the "output" return value is not valid until after Send returns without error.
   619  //
   620  // See CreateFileSystem for more information on using the CreateFileSystem
   621  // API call, and error handling.
   622  //
   623  // This method is useful when you want to inject custom logic or configuration
   624  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   625  //
   626  //
   627  //    // Example sending a request using the CreateFileSystemRequest method.
   628  //    req, resp := client.CreateFileSystemRequest(params)
   629  //
   630  //    err := req.Send()
   631  //    if err == nil { // resp is now filled
   632  //        fmt.Println(resp)
   633  //    }
   634  //
   635  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateFileSystem
   636  func (c *FSx) CreateFileSystemRequest(input *CreateFileSystemInput) (req *request.Request, output *CreateFileSystemOutput) {
   637  	op := &request.Operation{
   638  		Name:       opCreateFileSystem,
   639  		HTTPMethod: "POST",
   640  		HTTPPath:   "/",
   641  	}
   642  
   643  	if input == nil {
   644  		input = &CreateFileSystemInput{}
   645  	}
   646  
   647  	output = &CreateFileSystemOutput{}
   648  	req = c.newRequest(op, input, output)
   649  	return
   650  }
   651  
   652  // CreateFileSystem API operation for Amazon FSx.
   653  //
   654  // Creates a new, empty Amazon FSx file system.
   655  //
   656  // If a file system with the specified client request token exists and the parameters
   657  // match, CreateFileSystem returns the description of the existing file system.
   658  // If a file system specified client request token exists and the parameters
   659  // don't match, this call returns IncompatibleParameterError. If a file system
   660  // with the specified client request token doesn't exist, CreateFileSystem does
   661  // the following:
   662  //
   663  //    * Creates a new, empty Amazon FSx file system with an assigned ID, and
   664  //    an initial lifecycle state of CREATING.
   665  //
   666  //    * Returns the description of the file system.
   667  //
   668  // This operation requires a client request token in the request that Amazon
   669  // FSx uses to ensure idempotent creation. This means that calling the operation
   670  // multiple times with the same client request token has no effect. By using
   671  // the idempotent operation, you can retry a CreateFileSystem operation without
   672  // the risk of creating an extra file system. This approach can be useful when
   673  // an initial call fails in a way that makes it unclear whether a file system
   674  // was created. Examples are if a transport level timeout occurred, or your
   675  // connection was reset. If you use the same client request token and the initial
   676  // call created a file system, the client receives success as long as the parameters
   677  // are the same.
   678  //
   679  // The CreateFileSystem call returns while the file system's lifecycle state
   680  // is still CREATING. You can check the file-system creation status by calling
   681  // the DescribeFileSystems operation, which returns the file system state along
   682  // with other information.
   683  //
   684  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   685  // with awserr.Error's Code and Message methods to get detailed information about
   686  // the error.
   687  //
   688  // See the AWS API reference guide for Amazon FSx's
   689  // API operation CreateFileSystem for usage and error information.
   690  //
   691  // Returned Error Types:
   692  //   * BadRequest
   693  //   A generic error indicating a failure with a client request.
   694  //
   695  //   * ActiveDirectoryError
   696  //   An Active Directory error.
   697  //
   698  //   * IncompatibleParameterError
   699  //   The error returned when a second request is received with the same client
   700  //   request token but different parameters settings. A client request token should
   701  //   always uniquely identify a single request.
   702  //
   703  //   * InvalidImportPath
   704  //   The path provided for data repository import isn't valid.
   705  //
   706  //   * InvalidExportPath
   707  //   The path provided for data repository export isn't valid.
   708  //
   709  //   * InvalidNetworkSettings
   710  //   One or more network settings specified in the request are invalid.
   711  //
   712  //   * InvalidPerUnitStorageThroughput
   713  //   An invalid value for PerUnitStorageThroughput was provided. Please create
   714  //   your file system again, using a valid value.
   715  //
   716  //   * ServiceLimitExceeded
   717  //   An error indicating that a particular service limit was exceeded. You can
   718  //   increase some service limits by contacting Amazon Web Services Support.
   719  //
   720  //   * InternalServerError
   721  //   A generic error indicating a server-side failure.
   722  //
   723  //   * MissingFileSystemConfiguration
   724  //   A file system configuration is required for this operation.
   725  //
   726  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateFileSystem
   727  func (c *FSx) CreateFileSystem(input *CreateFileSystemInput) (*CreateFileSystemOutput, error) {
   728  	req, out := c.CreateFileSystemRequest(input)
   729  	return out, req.Send()
   730  }
   731  
   732  // CreateFileSystemWithContext is the same as CreateFileSystem with the addition of
   733  // the ability to pass a context and additional request options.
   734  //
   735  // See CreateFileSystem for details on how to use this API operation.
   736  //
   737  // The context must be non-nil and will be used for request cancellation. If
   738  // the context is nil a panic will occur. In the future the SDK may create
   739  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   740  // for more information on using Contexts.
   741  func (c *FSx) CreateFileSystemWithContext(ctx aws.Context, input *CreateFileSystemInput, opts ...request.Option) (*CreateFileSystemOutput, error) {
   742  	req, out := c.CreateFileSystemRequest(input)
   743  	req.SetContext(ctx)
   744  	req.ApplyOptions(opts...)
   745  	return out, req.Send()
   746  }
   747  
   748  const opCreateFileSystemFromBackup = "CreateFileSystemFromBackup"
   749  
   750  // CreateFileSystemFromBackupRequest generates a "aws/request.Request" representing the
   751  // client's request for the CreateFileSystemFromBackup operation. The "output" return
   752  // value will be populated with the request's response once the request completes
   753  // successfully.
   754  //
   755  // Use "Send" method on the returned Request to send the API call to the service.
   756  // the "output" return value is not valid until after Send returns without error.
   757  //
   758  // See CreateFileSystemFromBackup for more information on using the CreateFileSystemFromBackup
   759  // API call, and error handling.
   760  //
   761  // This method is useful when you want to inject custom logic or configuration
   762  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   763  //
   764  //
   765  //    // Example sending a request using the CreateFileSystemFromBackupRequest method.
   766  //    req, resp := client.CreateFileSystemFromBackupRequest(params)
   767  //
   768  //    err := req.Send()
   769  //    if err == nil { // resp is now filled
   770  //        fmt.Println(resp)
   771  //    }
   772  //
   773  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateFileSystemFromBackup
   774  func (c *FSx) CreateFileSystemFromBackupRequest(input *CreateFileSystemFromBackupInput) (req *request.Request, output *CreateFileSystemFromBackupOutput) {
   775  	op := &request.Operation{
   776  		Name:       opCreateFileSystemFromBackup,
   777  		HTTPMethod: "POST",
   778  		HTTPPath:   "/",
   779  	}
   780  
   781  	if input == nil {
   782  		input = &CreateFileSystemFromBackupInput{}
   783  	}
   784  
   785  	output = &CreateFileSystemFromBackupOutput{}
   786  	req = c.newRequest(op, input, output)
   787  	return
   788  }
   789  
   790  // CreateFileSystemFromBackup API operation for Amazon FSx.
   791  //
   792  // Creates a new Amazon FSx for Lustre or Amazon FSx for Windows File Server
   793  // file system from an existing Amazon FSx backup.
   794  //
   795  // If a file system with the specified client request token exists and the parameters
   796  // match, this operation returns the description of the file system. If a client
   797  // request token specified by the file system exists and the parameters don't
   798  // match, this call returns IncompatibleParameterError. If a file system with
   799  // the specified client request token doesn't exist, this operation does the
   800  // following:
   801  //
   802  //    * Creates a new Amazon FSx file system from backup with an assigned ID,
   803  //    and an initial lifecycle state of CREATING.
   804  //
   805  //    * Returns the description of the file system.
   806  //
   807  // Parameters like Active Directory, default share name, automatic backup, and
   808  // backup settings default to the parameters of the file system that was backed
   809  // up, unless overridden. You can explicitly supply other settings.
   810  //
   811  // By using the idempotent operation, you can retry a CreateFileSystemFromBackup
   812  // call without the risk of creating an extra file system. This approach can
   813  // be useful when an initial call fails in a way that makes it unclear whether
   814  // a file system was created. Examples are if a transport level timeout occurred,
   815  // or your connection was reset. If you use the same client request token and
   816  // the initial call created a file system, the client receives success as long
   817  // as the parameters are the same.
   818  //
   819  // The CreateFileSystemFromBackup call returns while the file system's lifecycle
   820  // state is still CREATING. You can check the file-system creation status by
   821  // calling the DescribeFileSystems operation, which returns the file system
   822  // state along with other information.
   823  //
   824  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   825  // with awserr.Error's Code and Message methods to get detailed information about
   826  // the error.
   827  //
   828  // See the AWS API reference guide for Amazon FSx's
   829  // API operation CreateFileSystemFromBackup for usage and error information.
   830  //
   831  // Returned Error Types:
   832  //   * BadRequest
   833  //   A generic error indicating a failure with a client request.
   834  //
   835  //   * ActiveDirectoryError
   836  //   An Active Directory error.
   837  //
   838  //   * IncompatibleParameterError
   839  //   The error returned when a second request is received with the same client
   840  //   request token but different parameters settings. A client request token should
   841  //   always uniquely identify a single request.
   842  //
   843  //   * InvalidNetworkSettings
   844  //   One or more network settings specified in the request are invalid.
   845  //
   846  //   * InvalidPerUnitStorageThroughput
   847  //   An invalid value for PerUnitStorageThroughput was provided. Please create
   848  //   your file system again, using a valid value.
   849  //
   850  //   * ServiceLimitExceeded
   851  //   An error indicating that a particular service limit was exceeded. You can
   852  //   increase some service limits by contacting Amazon Web Services Support.
   853  //
   854  //   * BackupNotFound
   855  //   No Amazon FSx backups were found based upon the supplied parameters.
   856  //
   857  //   * InternalServerError
   858  //   A generic error indicating a server-side failure.
   859  //
   860  //   * MissingFileSystemConfiguration
   861  //   A file system configuration is required for this operation.
   862  //
   863  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateFileSystemFromBackup
   864  func (c *FSx) CreateFileSystemFromBackup(input *CreateFileSystemFromBackupInput) (*CreateFileSystemFromBackupOutput, error) {
   865  	req, out := c.CreateFileSystemFromBackupRequest(input)
   866  	return out, req.Send()
   867  }
   868  
   869  // CreateFileSystemFromBackupWithContext is the same as CreateFileSystemFromBackup with the addition of
   870  // the ability to pass a context and additional request options.
   871  //
   872  // See CreateFileSystemFromBackup for details on how to use this API operation.
   873  //
   874  // The context must be non-nil and will be used for request cancellation. If
   875  // the context is nil a panic will occur. In the future the SDK may create
   876  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   877  // for more information on using Contexts.
   878  func (c *FSx) CreateFileSystemFromBackupWithContext(ctx aws.Context, input *CreateFileSystemFromBackupInput, opts ...request.Option) (*CreateFileSystemFromBackupOutput, error) {
   879  	req, out := c.CreateFileSystemFromBackupRequest(input)
   880  	req.SetContext(ctx)
   881  	req.ApplyOptions(opts...)
   882  	return out, req.Send()
   883  }
   884  
   885  const opCreateStorageVirtualMachine = "CreateStorageVirtualMachine"
   886  
   887  // CreateStorageVirtualMachineRequest generates a "aws/request.Request" representing the
   888  // client's request for the CreateStorageVirtualMachine operation. The "output" return
   889  // value will be populated with the request's response once the request completes
   890  // successfully.
   891  //
   892  // Use "Send" method on the returned Request to send the API call to the service.
   893  // the "output" return value is not valid until after Send returns without error.
   894  //
   895  // See CreateStorageVirtualMachine for more information on using the CreateStorageVirtualMachine
   896  // API call, and error handling.
   897  //
   898  // This method is useful when you want to inject custom logic or configuration
   899  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   900  //
   901  //
   902  //    // Example sending a request using the CreateStorageVirtualMachineRequest method.
   903  //    req, resp := client.CreateStorageVirtualMachineRequest(params)
   904  //
   905  //    err := req.Send()
   906  //    if err == nil { // resp is now filled
   907  //        fmt.Println(resp)
   908  //    }
   909  //
   910  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateStorageVirtualMachine
   911  func (c *FSx) CreateStorageVirtualMachineRequest(input *CreateStorageVirtualMachineInput) (req *request.Request, output *CreateStorageVirtualMachineOutput) {
   912  	op := &request.Operation{
   913  		Name:       opCreateStorageVirtualMachine,
   914  		HTTPMethod: "POST",
   915  		HTTPPath:   "/",
   916  	}
   917  
   918  	if input == nil {
   919  		input = &CreateStorageVirtualMachineInput{}
   920  	}
   921  
   922  	output = &CreateStorageVirtualMachineOutput{}
   923  	req = c.newRequest(op, input, output)
   924  	return
   925  }
   926  
   927  // CreateStorageVirtualMachine API operation for Amazon FSx.
   928  //
   929  // Creates a storage virtual machine (SVM) for an Amazon FSx for ONTAP file
   930  // system.
   931  //
   932  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   933  // with awserr.Error's Code and Message methods to get detailed information about
   934  // the error.
   935  //
   936  // See the AWS API reference guide for Amazon FSx's
   937  // API operation CreateStorageVirtualMachine for usage and error information.
   938  //
   939  // Returned Error Types:
   940  //   * ActiveDirectoryError
   941  //   An Active Directory error.
   942  //
   943  //   * BadRequest
   944  //   A generic error indicating a failure with a client request.
   945  //
   946  //   * FileSystemNotFound
   947  //   No Amazon FSx file systems were found based upon supplied parameters.
   948  //
   949  //   * IncompatibleParameterError
   950  //   The error returned when a second request is received with the same client
   951  //   request token but different parameters settings. A client request token should
   952  //   always uniquely identify a single request.
   953  //
   954  //   * InternalServerError
   955  //   A generic error indicating a server-side failure.
   956  //
   957  //   * ServiceLimitExceeded
   958  //   An error indicating that a particular service limit was exceeded. You can
   959  //   increase some service limits by contacting Amazon Web Services Support.
   960  //
   961  //   * UnsupportedOperation
   962  //   The requested operation is not supported for this resource or API.
   963  //
   964  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateStorageVirtualMachine
   965  func (c *FSx) CreateStorageVirtualMachine(input *CreateStorageVirtualMachineInput) (*CreateStorageVirtualMachineOutput, error) {
   966  	req, out := c.CreateStorageVirtualMachineRequest(input)
   967  	return out, req.Send()
   968  }
   969  
   970  // CreateStorageVirtualMachineWithContext is the same as CreateStorageVirtualMachine with the addition of
   971  // the ability to pass a context and additional request options.
   972  //
   973  // See CreateStorageVirtualMachine for details on how to use this API operation.
   974  //
   975  // The context must be non-nil and will be used for request cancellation. If
   976  // the context is nil a panic will occur. In the future the SDK may create
   977  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   978  // for more information on using Contexts.
   979  func (c *FSx) CreateStorageVirtualMachineWithContext(ctx aws.Context, input *CreateStorageVirtualMachineInput, opts ...request.Option) (*CreateStorageVirtualMachineOutput, error) {
   980  	req, out := c.CreateStorageVirtualMachineRequest(input)
   981  	req.SetContext(ctx)
   982  	req.ApplyOptions(opts...)
   983  	return out, req.Send()
   984  }
   985  
   986  const opCreateVolume = "CreateVolume"
   987  
   988  // CreateVolumeRequest generates a "aws/request.Request" representing the
   989  // client's request for the CreateVolume operation. The "output" return
   990  // value will be populated with the request's response once the request completes
   991  // successfully.
   992  //
   993  // Use "Send" method on the returned Request to send the API call to the service.
   994  // the "output" return value is not valid until after Send returns without error.
   995  //
   996  // See CreateVolume for more information on using the CreateVolume
   997  // API call, and error handling.
   998  //
   999  // This method is useful when you want to inject custom logic or configuration
  1000  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1001  //
  1002  //
  1003  //    // Example sending a request using the CreateVolumeRequest method.
  1004  //    req, resp := client.CreateVolumeRequest(params)
  1005  //
  1006  //    err := req.Send()
  1007  //    if err == nil { // resp is now filled
  1008  //        fmt.Println(resp)
  1009  //    }
  1010  //
  1011  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateVolume
  1012  func (c *FSx) CreateVolumeRequest(input *CreateVolumeInput) (req *request.Request, output *CreateVolumeOutput) {
  1013  	op := &request.Operation{
  1014  		Name:       opCreateVolume,
  1015  		HTTPMethod: "POST",
  1016  		HTTPPath:   "/",
  1017  	}
  1018  
  1019  	if input == nil {
  1020  		input = &CreateVolumeInput{}
  1021  	}
  1022  
  1023  	output = &CreateVolumeOutput{}
  1024  	req = c.newRequest(op, input, output)
  1025  	return
  1026  }
  1027  
  1028  // CreateVolume API operation for Amazon FSx.
  1029  //
  1030  // Creates an Amazon FSx for NetApp ONTAP storage volume.
  1031  //
  1032  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1033  // with awserr.Error's Code and Message methods to get detailed information about
  1034  // the error.
  1035  //
  1036  // See the AWS API reference guide for Amazon FSx's
  1037  // API operation CreateVolume for usage and error information.
  1038  //
  1039  // Returned Error Types:
  1040  //   * BadRequest
  1041  //   A generic error indicating a failure with a client request.
  1042  //
  1043  //   * FileSystemNotFound
  1044  //   No Amazon FSx file systems were found based upon supplied parameters.
  1045  //
  1046  //   * IncompatibleParameterError
  1047  //   The error returned when a second request is received with the same client
  1048  //   request token but different parameters settings. A client request token should
  1049  //   always uniquely identify a single request.
  1050  //
  1051  //   * InternalServerError
  1052  //   A generic error indicating a server-side failure.
  1053  //
  1054  //   * MissingVolumeConfiguration
  1055  //   A volume configuration is required for this operation.
  1056  //
  1057  //   * ServiceLimitExceeded
  1058  //   An error indicating that a particular service limit was exceeded. You can
  1059  //   increase some service limits by contacting Amazon Web Services Support.
  1060  //
  1061  //   * StorageVirtualMachineNotFound
  1062  //   No Amazon FSx for NetApp ONTAP SVMs were found based upon the supplied parameters.
  1063  //
  1064  //   * UnsupportedOperation
  1065  //   The requested operation is not supported for this resource or API.
  1066  //
  1067  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateVolume
  1068  func (c *FSx) CreateVolume(input *CreateVolumeInput) (*CreateVolumeOutput, error) {
  1069  	req, out := c.CreateVolumeRequest(input)
  1070  	return out, req.Send()
  1071  }
  1072  
  1073  // CreateVolumeWithContext is the same as CreateVolume with the addition of
  1074  // the ability to pass a context and additional request options.
  1075  //
  1076  // See CreateVolume for details on how to use this API operation.
  1077  //
  1078  // The context must be non-nil and will be used for request cancellation. If
  1079  // the context is nil a panic will occur. In the future the SDK may create
  1080  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1081  // for more information on using Contexts.
  1082  func (c *FSx) CreateVolumeWithContext(ctx aws.Context, input *CreateVolumeInput, opts ...request.Option) (*CreateVolumeOutput, error) {
  1083  	req, out := c.CreateVolumeRequest(input)
  1084  	req.SetContext(ctx)
  1085  	req.ApplyOptions(opts...)
  1086  	return out, req.Send()
  1087  }
  1088  
  1089  const opCreateVolumeFromBackup = "CreateVolumeFromBackup"
  1090  
  1091  // CreateVolumeFromBackupRequest generates a "aws/request.Request" representing the
  1092  // client's request for the CreateVolumeFromBackup operation. The "output" return
  1093  // value will be populated with the request's response once the request completes
  1094  // successfully.
  1095  //
  1096  // Use "Send" method on the returned Request to send the API call to the service.
  1097  // the "output" return value is not valid until after Send returns without error.
  1098  //
  1099  // See CreateVolumeFromBackup for more information on using the CreateVolumeFromBackup
  1100  // API call, and error handling.
  1101  //
  1102  // This method is useful when you want to inject custom logic or configuration
  1103  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1104  //
  1105  //
  1106  //    // Example sending a request using the CreateVolumeFromBackupRequest method.
  1107  //    req, resp := client.CreateVolumeFromBackupRequest(params)
  1108  //
  1109  //    err := req.Send()
  1110  //    if err == nil { // resp is now filled
  1111  //        fmt.Println(resp)
  1112  //    }
  1113  //
  1114  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateVolumeFromBackup
  1115  func (c *FSx) CreateVolumeFromBackupRequest(input *CreateVolumeFromBackupInput) (req *request.Request, output *CreateVolumeFromBackupOutput) {
  1116  	op := &request.Operation{
  1117  		Name:       opCreateVolumeFromBackup,
  1118  		HTTPMethod: "POST",
  1119  		HTTPPath:   "/",
  1120  	}
  1121  
  1122  	if input == nil {
  1123  		input = &CreateVolumeFromBackupInput{}
  1124  	}
  1125  
  1126  	output = &CreateVolumeFromBackupOutput{}
  1127  	req = c.newRequest(op, input, output)
  1128  	return
  1129  }
  1130  
  1131  // CreateVolumeFromBackup API operation for Amazon FSx.
  1132  //
  1133  // Creates a new Amazon FSx for NetApp ONTAP volume from an existing Amazon
  1134  // FSx volume backup.
  1135  //
  1136  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1137  // with awserr.Error's Code and Message methods to get detailed information about
  1138  // the error.
  1139  //
  1140  // See the AWS API reference guide for Amazon FSx's
  1141  // API operation CreateVolumeFromBackup for usage and error information.
  1142  //
  1143  // Returned Error Types:
  1144  //   * BackupNotFound
  1145  //   No Amazon FSx backups were found based upon the supplied parameters.
  1146  //
  1147  //   * BadRequest
  1148  //   A generic error indicating a failure with a client request.
  1149  //
  1150  //   * FileSystemNotFound
  1151  //   No Amazon FSx file systems were found based upon supplied parameters.
  1152  //
  1153  //   * IncompatibleParameterError
  1154  //   The error returned when a second request is received with the same client
  1155  //   request token but different parameters settings. A client request token should
  1156  //   always uniquely identify a single request.
  1157  //
  1158  //   * InternalServerError
  1159  //   A generic error indicating a server-side failure.
  1160  //
  1161  //   * MissingVolumeConfiguration
  1162  //   A volume configuration is required for this operation.
  1163  //
  1164  //   * ServiceLimitExceeded
  1165  //   An error indicating that a particular service limit was exceeded. You can
  1166  //   increase some service limits by contacting Amazon Web Services Support.
  1167  //
  1168  //   * StorageVirtualMachineNotFound
  1169  //   No Amazon FSx for NetApp ONTAP SVMs were found based upon the supplied parameters.
  1170  //
  1171  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateVolumeFromBackup
  1172  func (c *FSx) CreateVolumeFromBackup(input *CreateVolumeFromBackupInput) (*CreateVolumeFromBackupOutput, error) {
  1173  	req, out := c.CreateVolumeFromBackupRequest(input)
  1174  	return out, req.Send()
  1175  }
  1176  
  1177  // CreateVolumeFromBackupWithContext is the same as CreateVolumeFromBackup with the addition of
  1178  // the ability to pass a context and additional request options.
  1179  //
  1180  // See CreateVolumeFromBackup for details on how to use this API operation.
  1181  //
  1182  // The context must be non-nil and will be used for request cancellation. If
  1183  // the context is nil a panic will occur. In the future the SDK may create
  1184  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1185  // for more information on using Contexts.
  1186  func (c *FSx) CreateVolumeFromBackupWithContext(ctx aws.Context, input *CreateVolumeFromBackupInput, opts ...request.Option) (*CreateVolumeFromBackupOutput, error) {
  1187  	req, out := c.CreateVolumeFromBackupRequest(input)
  1188  	req.SetContext(ctx)
  1189  	req.ApplyOptions(opts...)
  1190  	return out, req.Send()
  1191  }
  1192  
  1193  const opDeleteBackup = "DeleteBackup"
  1194  
  1195  // DeleteBackupRequest generates a "aws/request.Request" representing the
  1196  // client's request for the DeleteBackup operation. The "output" return
  1197  // value will be populated with the request's response once the request completes
  1198  // successfully.
  1199  //
  1200  // Use "Send" method on the returned Request to send the API call to the service.
  1201  // the "output" return value is not valid until after Send returns without error.
  1202  //
  1203  // See DeleteBackup for more information on using the DeleteBackup
  1204  // API call, and error handling.
  1205  //
  1206  // This method is useful when you want to inject custom logic or configuration
  1207  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1208  //
  1209  //
  1210  //    // Example sending a request using the DeleteBackupRequest method.
  1211  //    req, resp := client.DeleteBackupRequest(params)
  1212  //
  1213  //    err := req.Send()
  1214  //    if err == nil { // resp is now filled
  1215  //        fmt.Println(resp)
  1216  //    }
  1217  //
  1218  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteBackup
  1219  func (c *FSx) DeleteBackupRequest(input *DeleteBackupInput) (req *request.Request, output *DeleteBackupOutput) {
  1220  	op := &request.Operation{
  1221  		Name:       opDeleteBackup,
  1222  		HTTPMethod: "POST",
  1223  		HTTPPath:   "/",
  1224  	}
  1225  
  1226  	if input == nil {
  1227  		input = &DeleteBackupInput{}
  1228  	}
  1229  
  1230  	output = &DeleteBackupOutput{}
  1231  	req = c.newRequest(op, input, output)
  1232  	return
  1233  }
  1234  
  1235  // DeleteBackup API operation for Amazon FSx.
  1236  //
  1237  // Deletes an Amazon FSx backup, deleting its contents. After deletion, the
  1238  // backup no longer exists, and its data is gone.
  1239  //
  1240  // The DeleteBackup call returns instantly. The backup will not show up in later
  1241  // DescribeBackups calls.
  1242  //
  1243  // The data in a deleted backup is also deleted and can't be recovered by any
  1244  // means.
  1245  //
  1246  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1247  // with awserr.Error's Code and Message methods to get detailed information about
  1248  // the error.
  1249  //
  1250  // See the AWS API reference guide for Amazon FSx's
  1251  // API operation DeleteBackup for usage and error information.
  1252  //
  1253  // Returned Error Types:
  1254  //   * BadRequest
  1255  //   A generic error indicating a failure with a client request.
  1256  //
  1257  //   * BackupInProgress
  1258  //   Another backup is already under way. Wait for completion before initiating
  1259  //   additional backups of this file system.
  1260  //
  1261  //   * BackupNotFound
  1262  //   No Amazon FSx backups were found based upon the supplied parameters.
  1263  //
  1264  //   * BackupRestoring
  1265  //   You can't delete a backup while it's being used to restore a file system.
  1266  //
  1267  //   * IncompatibleParameterError
  1268  //   The error returned when a second request is received with the same client
  1269  //   request token but different parameters settings. A client request token should
  1270  //   always uniquely identify a single request.
  1271  //
  1272  //   * InternalServerError
  1273  //   A generic error indicating a server-side failure.
  1274  //
  1275  //   * BackupBeingCopied
  1276  //   You can't delete a backup while it's being copied.
  1277  //
  1278  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteBackup
  1279  func (c *FSx) DeleteBackup(input *DeleteBackupInput) (*DeleteBackupOutput, error) {
  1280  	req, out := c.DeleteBackupRequest(input)
  1281  	return out, req.Send()
  1282  }
  1283  
  1284  // DeleteBackupWithContext is the same as DeleteBackup with the addition of
  1285  // the ability to pass a context and additional request options.
  1286  //
  1287  // See DeleteBackup for details on how to use this API operation.
  1288  //
  1289  // The context must be non-nil and will be used for request cancellation. If
  1290  // the context is nil a panic will occur. In the future the SDK may create
  1291  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1292  // for more information on using Contexts.
  1293  func (c *FSx) DeleteBackupWithContext(ctx aws.Context, input *DeleteBackupInput, opts ...request.Option) (*DeleteBackupOutput, error) {
  1294  	req, out := c.DeleteBackupRequest(input)
  1295  	req.SetContext(ctx)
  1296  	req.ApplyOptions(opts...)
  1297  	return out, req.Send()
  1298  }
  1299  
  1300  const opDeleteFileSystem = "DeleteFileSystem"
  1301  
  1302  // DeleteFileSystemRequest generates a "aws/request.Request" representing the
  1303  // client's request for the DeleteFileSystem operation. The "output" return
  1304  // value will be populated with the request's response once the request completes
  1305  // successfully.
  1306  //
  1307  // Use "Send" method on the returned Request to send the API call to the service.
  1308  // the "output" return value is not valid until after Send returns without error.
  1309  //
  1310  // See DeleteFileSystem for more information on using the DeleteFileSystem
  1311  // API call, and error handling.
  1312  //
  1313  // This method is useful when you want to inject custom logic or configuration
  1314  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1315  //
  1316  //
  1317  //    // Example sending a request using the DeleteFileSystemRequest method.
  1318  //    req, resp := client.DeleteFileSystemRequest(params)
  1319  //
  1320  //    err := req.Send()
  1321  //    if err == nil { // resp is now filled
  1322  //        fmt.Println(resp)
  1323  //    }
  1324  //
  1325  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteFileSystem
  1326  func (c *FSx) DeleteFileSystemRequest(input *DeleteFileSystemInput) (req *request.Request, output *DeleteFileSystemOutput) {
  1327  	op := &request.Operation{
  1328  		Name:       opDeleteFileSystem,
  1329  		HTTPMethod: "POST",
  1330  		HTTPPath:   "/",
  1331  	}
  1332  
  1333  	if input == nil {
  1334  		input = &DeleteFileSystemInput{}
  1335  	}
  1336  
  1337  	output = &DeleteFileSystemOutput{}
  1338  	req = c.newRequest(op, input, output)
  1339  	return
  1340  }
  1341  
  1342  // DeleteFileSystem API operation for Amazon FSx.
  1343  //
  1344  // Deletes a file system, deleting its contents. After deletion, the file system
  1345  // no longer exists, and its data is gone. Any existing automatic backups will
  1346  // also be deleted.
  1347  //
  1348  // To delete an Amazon FSx for NetApp ONTAP file system, first delete all the
  1349  // volumes and SVMs on the file system. Then provide a FileSystemId value to
  1350  // the DeleFileSystem operation.
  1351  //
  1352  // By default, when you delete an Amazon FSx for Windows File Server file system,
  1353  // a final backup is created upon deletion. This final backup is not subject
  1354  // to the file system's retention policy, and must be manually deleted.
  1355  //
  1356  // The DeleteFileSystem action returns while the file system has the DELETING
  1357  // status. You can check the file system deletion status by calling the DescribeFileSystems
  1358  // action, which returns a list of file systems in your account. If you pass
  1359  // the file system ID for a deleted file system, the DescribeFileSystems returns
  1360  // a FileSystemNotFound error.
  1361  //
  1362  // Deleting an Amazon FSx for Lustre file system will fail with a 400 BadRequest
  1363  // if a data repository task is in a PENDING or EXECUTING state.
  1364  //
  1365  // The data in a deleted file system is also deleted and can't be recovered
  1366  // by any means.
  1367  //
  1368  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1369  // with awserr.Error's Code and Message methods to get detailed information about
  1370  // the error.
  1371  //
  1372  // See the AWS API reference guide for Amazon FSx's
  1373  // API operation DeleteFileSystem for usage and error information.
  1374  //
  1375  // Returned Error Types:
  1376  //   * BadRequest
  1377  //   A generic error indicating a failure with a client request.
  1378  //
  1379  //   * IncompatibleParameterError
  1380  //   The error returned when a second request is received with the same client
  1381  //   request token but different parameters settings. A client request token should
  1382  //   always uniquely identify a single request.
  1383  //
  1384  //   * FileSystemNotFound
  1385  //   No Amazon FSx file systems were found based upon supplied parameters.
  1386  //
  1387  //   * ServiceLimitExceeded
  1388  //   An error indicating that a particular service limit was exceeded. You can
  1389  //   increase some service limits by contacting Amazon Web Services Support.
  1390  //
  1391  //   * InternalServerError
  1392  //   A generic error indicating a server-side failure.
  1393  //
  1394  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteFileSystem
  1395  func (c *FSx) DeleteFileSystem(input *DeleteFileSystemInput) (*DeleteFileSystemOutput, error) {
  1396  	req, out := c.DeleteFileSystemRequest(input)
  1397  	return out, req.Send()
  1398  }
  1399  
  1400  // DeleteFileSystemWithContext is the same as DeleteFileSystem with the addition of
  1401  // the ability to pass a context and additional request options.
  1402  //
  1403  // See DeleteFileSystem for details on how to use this API operation.
  1404  //
  1405  // The context must be non-nil and will be used for request cancellation. If
  1406  // the context is nil a panic will occur. In the future the SDK may create
  1407  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1408  // for more information on using Contexts.
  1409  func (c *FSx) DeleteFileSystemWithContext(ctx aws.Context, input *DeleteFileSystemInput, opts ...request.Option) (*DeleteFileSystemOutput, error) {
  1410  	req, out := c.DeleteFileSystemRequest(input)
  1411  	req.SetContext(ctx)
  1412  	req.ApplyOptions(opts...)
  1413  	return out, req.Send()
  1414  }
  1415  
  1416  const opDeleteStorageVirtualMachine = "DeleteStorageVirtualMachine"
  1417  
  1418  // DeleteStorageVirtualMachineRequest generates a "aws/request.Request" representing the
  1419  // client's request for the DeleteStorageVirtualMachine operation. The "output" return
  1420  // value will be populated with the request's response once the request completes
  1421  // successfully.
  1422  //
  1423  // Use "Send" method on the returned Request to send the API call to the service.
  1424  // the "output" return value is not valid until after Send returns without error.
  1425  //
  1426  // See DeleteStorageVirtualMachine for more information on using the DeleteStorageVirtualMachine
  1427  // API call, and error handling.
  1428  //
  1429  // This method is useful when you want to inject custom logic or configuration
  1430  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1431  //
  1432  //
  1433  //    // Example sending a request using the DeleteStorageVirtualMachineRequest method.
  1434  //    req, resp := client.DeleteStorageVirtualMachineRequest(params)
  1435  //
  1436  //    err := req.Send()
  1437  //    if err == nil { // resp is now filled
  1438  //        fmt.Println(resp)
  1439  //    }
  1440  //
  1441  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteStorageVirtualMachine
  1442  func (c *FSx) DeleteStorageVirtualMachineRequest(input *DeleteStorageVirtualMachineInput) (req *request.Request, output *DeleteStorageVirtualMachineOutput) {
  1443  	op := &request.Operation{
  1444  		Name:       opDeleteStorageVirtualMachine,
  1445  		HTTPMethod: "POST",
  1446  		HTTPPath:   "/",
  1447  	}
  1448  
  1449  	if input == nil {
  1450  		input = &DeleteStorageVirtualMachineInput{}
  1451  	}
  1452  
  1453  	output = &DeleteStorageVirtualMachineOutput{}
  1454  	req = c.newRequest(op, input, output)
  1455  	return
  1456  }
  1457  
  1458  // DeleteStorageVirtualMachine API operation for Amazon FSx.
  1459  //
  1460  // Deletes an existing Amazon FSx for ONTAP storage virtual machine (SVM). Prior
  1461  // to deleting an SVM, you must delete all non-root volumes in the SVM, otherwise
  1462  // the operation will fail.
  1463  //
  1464  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1465  // with awserr.Error's Code and Message methods to get detailed information about
  1466  // the error.
  1467  //
  1468  // See the AWS API reference guide for Amazon FSx's
  1469  // API operation DeleteStorageVirtualMachine for usage and error information.
  1470  //
  1471  // Returned Error Types:
  1472  //   * BadRequest
  1473  //   A generic error indicating a failure with a client request.
  1474  //
  1475  //   * IncompatibleParameterError
  1476  //   The error returned when a second request is received with the same client
  1477  //   request token but different parameters settings. A client request token should
  1478  //   always uniquely identify a single request.
  1479  //
  1480  //   * InternalServerError
  1481  //   A generic error indicating a server-side failure.
  1482  //
  1483  //   * StorageVirtualMachineNotFound
  1484  //   No Amazon FSx for NetApp ONTAP SVMs were found based upon the supplied parameters.
  1485  //
  1486  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteStorageVirtualMachine
  1487  func (c *FSx) DeleteStorageVirtualMachine(input *DeleteStorageVirtualMachineInput) (*DeleteStorageVirtualMachineOutput, error) {
  1488  	req, out := c.DeleteStorageVirtualMachineRequest(input)
  1489  	return out, req.Send()
  1490  }
  1491  
  1492  // DeleteStorageVirtualMachineWithContext is the same as DeleteStorageVirtualMachine with the addition of
  1493  // the ability to pass a context and additional request options.
  1494  //
  1495  // See DeleteStorageVirtualMachine for details on how to use this API operation.
  1496  //
  1497  // The context must be non-nil and will be used for request cancellation. If
  1498  // the context is nil a panic will occur. In the future the SDK may create
  1499  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1500  // for more information on using Contexts.
  1501  func (c *FSx) DeleteStorageVirtualMachineWithContext(ctx aws.Context, input *DeleteStorageVirtualMachineInput, opts ...request.Option) (*DeleteStorageVirtualMachineOutput, error) {
  1502  	req, out := c.DeleteStorageVirtualMachineRequest(input)
  1503  	req.SetContext(ctx)
  1504  	req.ApplyOptions(opts...)
  1505  	return out, req.Send()
  1506  }
  1507  
  1508  const opDeleteVolume = "DeleteVolume"
  1509  
  1510  // DeleteVolumeRequest generates a "aws/request.Request" representing the
  1511  // client's request for the DeleteVolume operation. The "output" return
  1512  // value will be populated with the request's response once the request completes
  1513  // successfully.
  1514  //
  1515  // Use "Send" method on the returned Request to send the API call to the service.
  1516  // the "output" return value is not valid until after Send returns without error.
  1517  //
  1518  // See DeleteVolume for more information on using the DeleteVolume
  1519  // API call, and error handling.
  1520  //
  1521  // This method is useful when you want to inject custom logic or configuration
  1522  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1523  //
  1524  //
  1525  //    // Example sending a request using the DeleteVolumeRequest method.
  1526  //    req, resp := client.DeleteVolumeRequest(params)
  1527  //
  1528  //    err := req.Send()
  1529  //    if err == nil { // resp is now filled
  1530  //        fmt.Println(resp)
  1531  //    }
  1532  //
  1533  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteVolume
  1534  func (c *FSx) DeleteVolumeRequest(input *DeleteVolumeInput) (req *request.Request, output *DeleteVolumeOutput) {
  1535  	op := &request.Operation{
  1536  		Name:       opDeleteVolume,
  1537  		HTTPMethod: "POST",
  1538  		HTTPPath:   "/",
  1539  	}
  1540  
  1541  	if input == nil {
  1542  		input = &DeleteVolumeInput{}
  1543  	}
  1544  
  1545  	output = &DeleteVolumeOutput{}
  1546  	req = c.newRequest(op, input, output)
  1547  	return
  1548  }
  1549  
  1550  // DeleteVolume API operation for Amazon FSx.
  1551  //
  1552  // Deletes an Amazon FSx for NetApp ONTAP volume. When deleting a volume, you
  1553  // have the option of creating a final backup. If you create a final backup,
  1554  // you have the option to apply Tags to the backup. You need to have fsx:TagResource
  1555  // permission in order to apply tags to the backup.
  1556  //
  1557  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1558  // with awserr.Error's Code and Message methods to get detailed information about
  1559  // the error.
  1560  //
  1561  // See the AWS API reference guide for Amazon FSx's
  1562  // API operation DeleteVolume for usage and error information.
  1563  //
  1564  // Returned Error Types:
  1565  //   * BadRequest
  1566  //   A generic error indicating a failure with a client request.
  1567  //
  1568  //   * IncompatibleParameterError
  1569  //   The error returned when a second request is received with the same client
  1570  //   request token but different parameters settings. A client request token should
  1571  //   always uniquely identify a single request.
  1572  //
  1573  //   * InternalServerError
  1574  //   A generic error indicating a server-side failure.
  1575  //
  1576  //   * VolumeNotFound
  1577  //   No Amazon FSx for NetApp ONTAP volumes were found based upon the supplied
  1578  //   parameters.
  1579  //
  1580  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteVolume
  1581  func (c *FSx) DeleteVolume(input *DeleteVolumeInput) (*DeleteVolumeOutput, error) {
  1582  	req, out := c.DeleteVolumeRequest(input)
  1583  	return out, req.Send()
  1584  }
  1585  
  1586  // DeleteVolumeWithContext is the same as DeleteVolume with the addition of
  1587  // the ability to pass a context and additional request options.
  1588  //
  1589  // See DeleteVolume for details on how to use this API operation.
  1590  //
  1591  // The context must be non-nil and will be used for request cancellation. If
  1592  // the context is nil a panic will occur. In the future the SDK may create
  1593  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1594  // for more information on using Contexts.
  1595  func (c *FSx) DeleteVolumeWithContext(ctx aws.Context, input *DeleteVolumeInput, opts ...request.Option) (*DeleteVolumeOutput, error) {
  1596  	req, out := c.DeleteVolumeRequest(input)
  1597  	req.SetContext(ctx)
  1598  	req.ApplyOptions(opts...)
  1599  	return out, req.Send()
  1600  }
  1601  
  1602  const opDescribeBackups = "DescribeBackups"
  1603  
  1604  // DescribeBackupsRequest generates a "aws/request.Request" representing the
  1605  // client's request for the DescribeBackups operation. The "output" return
  1606  // value will be populated with the request's response once the request completes
  1607  // successfully.
  1608  //
  1609  // Use "Send" method on the returned Request to send the API call to the service.
  1610  // the "output" return value is not valid until after Send returns without error.
  1611  //
  1612  // See DescribeBackups for more information on using the DescribeBackups
  1613  // API call, and error handling.
  1614  //
  1615  // This method is useful when you want to inject custom logic or configuration
  1616  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1617  //
  1618  //
  1619  //    // Example sending a request using the DescribeBackupsRequest method.
  1620  //    req, resp := client.DescribeBackupsRequest(params)
  1621  //
  1622  //    err := req.Send()
  1623  //    if err == nil { // resp is now filled
  1624  //        fmt.Println(resp)
  1625  //    }
  1626  //
  1627  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeBackups
  1628  func (c *FSx) DescribeBackupsRequest(input *DescribeBackupsInput) (req *request.Request, output *DescribeBackupsOutput) {
  1629  	op := &request.Operation{
  1630  		Name:       opDescribeBackups,
  1631  		HTTPMethod: "POST",
  1632  		HTTPPath:   "/",
  1633  		Paginator: &request.Paginator{
  1634  			InputTokens:     []string{"NextToken"},
  1635  			OutputTokens:    []string{"NextToken"},
  1636  			LimitToken:      "MaxResults",
  1637  			TruncationToken: "",
  1638  		},
  1639  	}
  1640  
  1641  	if input == nil {
  1642  		input = &DescribeBackupsInput{}
  1643  	}
  1644  
  1645  	output = &DescribeBackupsOutput{}
  1646  	req = c.newRequest(op, input, output)
  1647  	return
  1648  }
  1649  
  1650  // DescribeBackups API operation for Amazon FSx.
  1651  //
  1652  // Returns the description of specific Amazon FSx backups, if a BackupIds value
  1653  // is provided for that backup. Otherwise, it returns all backups owned by your
  1654  // Amazon Web Services account in the Amazon Web Services Region of the endpoint
  1655  // that you're calling.
  1656  //
  1657  // When retrieving all backups, you can optionally specify the MaxResults parameter
  1658  // to limit the number of backups in a response. If more backups remain, Amazon
  1659  // FSx returns a NextToken value in the response. In this case, send a later
  1660  // request with the NextToken request parameter set to the value of NextToken
  1661  // from the last response.
  1662  //
  1663  // This action is used in an iterative process to retrieve a list of your backups.
  1664  // DescribeBackups is called first without a NextTokenvalue. Then the action
  1665  // continues to be called with the NextToken parameter set to the value of the
  1666  // last NextToken value until a response has no NextToken.
  1667  //
  1668  // When using this action, keep the following in mind:
  1669  //
  1670  //    * The implementation might return fewer than MaxResults backup descriptions
  1671  //    while still including a NextToken value.
  1672  //
  1673  //    * The order of backups returned in the response of one DescribeBackups
  1674  //    call and the order of backups returned across the responses of a multi-call
  1675  //    iteration is unspecified.
  1676  //
  1677  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1678  // with awserr.Error's Code and Message methods to get detailed information about
  1679  // the error.
  1680  //
  1681  // See the AWS API reference guide for Amazon FSx's
  1682  // API operation DescribeBackups for usage and error information.
  1683  //
  1684  // Returned Error Types:
  1685  //   * BadRequest
  1686  //   A generic error indicating a failure with a client request.
  1687  //
  1688  //   * FileSystemNotFound
  1689  //   No Amazon FSx file systems were found based upon supplied parameters.
  1690  //
  1691  //   * VolumeNotFound
  1692  //   No Amazon FSx for NetApp ONTAP volumes were found based upon the supplied
  1693  //   parameters.
  1694  //
  1695  //   * BackupNotFound
  1696  //   No Amazon FSx backups were found based upon the supplied parameters.
  1697  //
  1698  //   * InternalServerError
  1699  //   A generic error indicating a server-side failure.
  1700  //
  1701  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeBackups
  1702  func (c *FSx) DescribeBackups(input *DescribeBackupsInput) (*DescribeBackupsOutput, error) {
  1703  	req, out := c.DescribeBackupsRequest(input)
  1704  	return out, req.Send()
  1705  }
  1706  
  1707  // DescribeBackupsWithContext is the same as DescribeBackups with the addition of
  1708  // the ability to pass a context and additional request options.
  1709  //
  1710  // See DescribeBackups for details on how to use this API operation.
  1711  //
  1712  // The context must be non-nil and will be used for request cancellation. If
  1713  // the context is nil a panic will occur. In the future the SDK may create
  1714  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1715  // for more information on using Contexts.
  1716  func (c *FSx) DescribeBackupsWithContext(ctx aws.Context, input *DescribeBackupsInput, opts ...request.Option) (*DescribeBackupsOutput, error) {
  1717  	req, out := c.DescribeBackupsRequest(input)
  1718  	req.SetContext(ctx)
  1719  	req.ApplyOptions(opts...)
  1720  	return out, req.Send()
  1721  }
  1722  
  1723  // DescribeBackupsPages iterates over the pages of a DescribeBackups operation,
  1724  // calling the "fn" function with the response data for each page. To stop
  1725  // iterating, return false from the fn function.
  1726  //
  1727  // See DescribeBackups method for more information on how to use this operation.
  1728  //
  1729  // Note: This operation can generate multiple requests to a service.
  1730  //
  1731  //    // Example iterating over at most 3 pages of a DescribeBackups operation.
  1732  //    pageNum := 0
  1733  //    err := client.DescribeBackupsPages(params,
  1734  //        func(page *fsx.DescribeBackupsOutput, lastPage bool) bool {
  1735  //            pageNum++
  1736  //            fmt.Println(page)
  1737  //            return pageNum <= 3
  1738  //        })
  1739  //
  1740  func (c *FSx) DescribeBackupsPages(input *DescribeBackupsInput, fn func(*DescribeBackupsOutput, bool) bool) error {
  1741  	return c.DescribeBackupsPagesWithContext(aws.BackgroundContext(), input, fn)
  1742  }
  1743  
  1744  // DescribeBackupsPagesWithContext same as DescribeBackupsPages except
  1745  // it takes a Context and allows setting request options on the pages.
  1746  //
  1747  // The context must be non-nil and will be used for request cancellation. If
  1748  // the context is nil a panic will occur. In the future the SDK may create
  1749  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1750  // for more information on using Contexts.
  1751  func (c *FSx) DescribeBackupsPagesWithContext(ctx aws.Context, input *DescribeBackupsInput, fn func(*DescribeBackupsOutput, bool) bool, opts ...request.Option) error {
  1752  	p := request.Pagination{
  1753  		NewRequest: func() (*request.Request, error) {
  1754  			var inCpy *DescribeBackupsInput
  1755  			if input != nil {
  1756  				tmp := *input
  1757  				inCpy = &tmp
  1758  			}
  1759  			req, _ := c.DescribeBackupsRequest(inCpy)
  1760  			req.SetContext(ctx)
  1761  			req.ApplyOptions(opts...)
  1762  			return req, nil
  1763  		},
  1764  	}
  1765  
  1766  	for p.Next() {
  1767  		if !fn(p.Page().(*DescribeBackupsOutput), !p.HasNextPage()) {
  1768  			break
  1769  		}
  1770  	}
  1771  
  1772  	return p.Err()
  1773  }
  1774  
  1775  const opDescribeDataRepositoryTasks = "DescribeDataRepositoryTasks"
  1776  
  1777  // DescribeDataRepositoryTasksRequest generates a "aws/request.Request" representing the
  1778  // client's request for the DescribeDataRepositoryTasks operation. The "output" return
  1779  // value will be populated with the request's response once the request completes
  1780  // successfully.
  1781  //
  1782  // Use "Send" method on the returned Request to send the API call to the service.
  1783  // the "output" return value is not valid until after Send returns without error.
  1784  //
  1785  // See DescribeDataRepositoryTasks for more information on using the DescribeDataRepositoryTasks
  1786  // API call, and error handling.
  1787  //
  1788  // This method is useful when you want to inject custom logic or configuration
  1789  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1790  //
  1791  //
  1792  //    // Example sending a request using the DescribeDataRepositoryTasksRequest method.
  1793  //    req, resp := client.DescribeDataRepositoryTasksRequest(params)
  1794  //
  1795  //    err := req.Send()
  1796  //    if err == nil { // resp is now filled
  1797  //        fmt.Println(resp)
  1798  //    }
  1799  //
  1800  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeDataRepositoryTasks
  1801  func (c *FSx) DescribeDataRepositoryTasksRequest(input *DescribeDataRepositoryTasksInput) (req *request.Request, output *DescribeDataRepositoryTasksOutput) {
  1802  	op := &request.Operation{
  1803  		Name:       opDescribeDataRepositoryTasks,
  1804  		HTTPMethod: "POST",
  1805  		HTTPPath:   "/",
  1806  		Paginator: &request.Paginator{
  1807  			InputTokens:     []string{"NextToken"},
  1808  			OutputTokens:    []string{"NextToken"},
  1809  			LimitToken:      "MaxResults",
  1810  			TruncationToken: "",
  1811  		},
  1812  	}
  1813  
  1814  	if input == nil {
  1815  		input = &DescribeDataRepositoryTasksInput{}
  1816  	}
  1817  
  1818  	output = &DescribeDataRepositoryTasksOutput{}
  1819  	req = c.newRequest(op, input, output)
  1820  	return
  1821  }
  1822  
  1823  // DescribeDataRepositoryTasks API operation for Amazon FSx.
  1824  //
  1825  // Returns the description of specific Amazon FSx for Lustre data repository
  1826  // tasks, if one or more TaskIds values are provided in the request, or if filters
  1827  // are used in the request. You can use filters to narrow the response to include
  1828  // just tasks for specific file systems, or tasks in a specific lifecycle state.
  1829  // Otherwise, it returns all data repository tasks owned by your Amazon Web
  1830  // Services account in the Amazon Web Services Region of the endpoint that you're
  1831  // calling.
  1832  //
  1833  // When retrieving all tasks, you can paginate the response by using the optional
  1834  // MaxResults parameter to limit the number of tasks returned in a response.
  1835  // If more tasks remain, Amazon FSx returns a NextToken value in the response.
  1836  // In this case, send a later request with the NextToken request parameter set
  1837  // to the value of NextToken from the last response.
  1838  //
  1839  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1840  // with awserr.Error's Code and Message methods to get detailed information about
  1841  // the error.
  1842  //
  1843  // See the AWS API reference guide for Amazon FSx's
  1844  // API operation DescribeDataRepositoryTasks for usage and error information.
  1845  //
  1846  // Returned Error Types:
  1847  //   * BadRequest
  1848  //   A generic error indicating a failure with a client request.
  1849  //
  1850  //   * FileSystemNotFound
  1851  //   No Amazon FSx file systems were found based upon supplied parameters.
  1852  //
  1853  //   * DataRepositoryTaskNotFound
  1854  //   The data repository task or tasks you specified could not be found.
  1855  //
  1856  //   * InternalServerError
  1857  //   A generic error indicating a server-side failure.
  1858  //
  1859  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeDataRepositoryTasks
  1860  func (c *FSx) DescribeDataRepositoryTasks(input *DescribeDataRepositoryTasksInput) (*DescribeDataRepositoryTasksOutput, error) {
  1861  	req, out := c.DescribeDataRepositoryTasksRequest(input)
  1862  	return out, req.Send()
  1863  }
  1864  
  1865  // DescribeDataRepositoryTasksWithContext is the same as DescribeDataRepositoryTasks with the addition of
  1866  // the ability to pass a context and additional request options.
  1867  //
  1868  // See DescribeDataRepositoryTasks for details on how to use this API operation.
  1869  //
  1870  // The context must be non-nil and will be used for request cancellation. If
  1871  // the context is nil a panic will occur. In the future the SDK may create
  1872  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1873  // for more information on using Contexts.
  1874  func (c *FSx) DescribeDataRepositoryTasksWithContext(ctx aws.Context, input *DescribeDataRepositoryTasksInput, opts ...request.Option) (*DescribeDataRepositoryTasksOutput, error) {
  1875  	req, out := c.DescribeDataRepositoryTasksRequest(input)
  1876  	req.SetContext(ctx)
  1877  	req.ApplyOptions(opts...)
  1878  	return out, req.Send()
  1879  }
  1880  
  1881  // DescribeDataRepositoryTasksPages iterates over the pages of a DescribeDataRepositoryTasks operation,
  1882  // calling the "fn" function with the response data for each page. To stop
  1883  // iterating, return false from the fn function.
  1884  //
  1885  // See DescribeDataRepositoryTasks method for more information on how to use this operation.
  1886  //
  1887  // Note: This operation can generate multiple requests to a service.
  1888  //
  1889  //    // Example iterating over at most 3 pages of a DescribeDataRepositoryTasks operation.
  1890  //    pageNum := 0
  1891  //    err := client.DescribeDataRepositoryTasksPages(params,
  1892  //        func(page *fsx.DescribeDataRepositoryTasksOutput, lastPage bool) bool {
  1893  //            pageNum++
  1894  //            fmt.Println(page)
  1895  //            return pageNum <= 3
  1896  //        })
  1897  //
  1898  func (c *FSx) DescribeDataRepositoryTasksPages(input *DescribeDataRepositoryTasksInput, fn func(*DescribeDataRepositoryTasksOutput, bool) bool) error {
  1899  	return c.DescribeDataRepositoryTasksPagesWithContext(aws.BackgroundContext(), input, fn)
  1900  }
  1901  
  1902  // DescribeDataRepositoryTasksPagesWithContext same as DescribeDataRepositoryTasksPages except
  1903  // it takes a Context and allows setting request options on the pages.
  1904  //
  1905  // The context must be non-nil and will be used for request cancellation. If
  1906  // the context is nil a panic will occur. In the future the SDK may create
  1907  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1908  // for more information on using Contexts.
  1909  func (c *FSx) DescribeDataRepositoryTasksPagesWithContext(ctx aws.Context, input *DescribeDataRepositoryTasksInput, fn func(*DescribeDataRepositoryTasksOutput, bool) bool, opts ...request.Option) error {
  1910  	p := request.Pagination{
  1911  		NewRequest: func() (*request.Request, error) {
  1912  			var inCpy *DescribeDataRepositoryTasksInput
  1913  			if input != nil {
  1914  				tmp := *input
  1915  				inCpy = &tmp
  1916  			}
  1917  			req, _ := c.DescribeDataRepositoryTasksRequest(inCpy)
  1918  			req.SetContext(ctx)
  1919  			req.ApplyOptions(opts...)
  1920  			return req, nil
  1921  		},
  1922  	}
  1923  
  1924  	for p.Next() {
  1925  		if !fn(p.Page().(*DescribeDataRepositoryTasksOutput), !p.HasNextPage()) {
  1926  			break
  1927  		}
  1928  	}
  1929  
  1930  	return p.Err()
  1931  }
  1932  
  1933  const opDescribeFileSystemAliases = "DescribeFileSystemAliases"
  1934  
  1935  // DescribeFileSystemAliasesRequest generates a "aws/request.Request" representing the
  1936  // client's request for the DescribeFileSystemAliases operation. The "output" return
  1937  // value will be populated with the request's response once the request completes
  1938  // successfully.
  1939  //
  1940  // Use "Send" method on the returned Request to send the API call to the service.
  1941  // the "output" return value is not valid until after Send returns without error.
  1942  //
  1943  // See DescribeFileSystemAliases for more information on using the DescribeFileSystemAliases
  1944  // API call, and error handling.
  1945  //
  1946  // This method is useful when you want to inject custom logic or configuration
  1947  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1948  //
  1949  //
  1950  //    // Example sending a request using the DescribeFileSystemAliasesRequest method.
  1951  //    req, resp := client.DescribeFileSystemAliasesRequest(params)
  1952  //
  1953  //    err := req.Send()
  1954  //    if err == nil { // resp is now filled
  1955  //        fmt.Println(resp)
  1956  //    }
  1957  //
  1958  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeFileSystemAliases
  1959  func (c *FSx) DescribeFileSystemAliasesRequest(input *DescribeFileSystemAliasesInput) (req *request.Request, output *DescribeFileSystemAliasesOutput) {
  1960  	op := &request.Operation{
  1961  		Name:       opDescribeFileSystemAliases,
  1962  		HTTPMethod: "POST",
  1963  		HTTPPath:   "/",
  1964  		Paginator: &request.Paginator{
  1965  			InputTokens:     []string{"NextToken"},
  1966  			OutputTokens:    []string{"NextToken"},
  1967  			LimitToken:      "MaxResults",
  1968  			TruncationToken: "",
  1969  		},
  1970  	}
  1971  
  1972  	if input == nil {
  1973  		input = &DescribeFileSystemAliasesInput{}
  1974  	}
  1975  
  1976  	output = &DescribeFileSystemAliasesOutput{}
  1977  	req = c.newRequest(op, input, output)
  1978  	return
  1979  }
  1980  
  1981  // DescribeFileSystemAliases API operation for Amazon FSx.
  1982  //
  1983  // Returns the DNS aliases that are associated with the specified Amazon FSx
  1984  // for Windows File Server file system. A history of all DNS aliases that have
  1985  // been associated with and disassociated from the file system is available
  1986  // in the list of AdministrativeAction provided in the DescribeFileSystems operation
  1987  // response.
  1988  //
  1989  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1990  // with awserr.Error's Code and Message methods to get detailed information about
  1991  // the error.
  1992  //
  1993  // See the AWS API reference guide for Amazon FSx's
  1994  // API operation DescribeFileSystemAliases for usage and error information.
  1995  //
  1996  // Returned Error Types:
  1997  //   * BadRequest
  1998  //   A generic error indicating a failure with a client request.
  1999  //
  2000  //   * FileSystemNotFound
  2001  //   No Amazon FSx file systems were found based upon supplied parameters.
  2002  //
  2003  //   * InternalServerError
  2004  //   A generic error indicating a server-side failure.
  2005  //
  2006  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeFileSystemAliases
  2007  func (c *FSx) DescribeFileSystemAliases(input *DescribeFileSystemAliasesInput) (*DescribeFileSystemAliasesOutput, error) {
  2008  	req, out := c.DescribeFileSystemAliasesRequest(input)
  2009  	return out, req.Send()
  2010  }
  2011  
  2012  // DescribeFileSystemAliasesWithContext is the same as DescribeFileSystemAliases with the addition of
  2013  // the ability to pass a context and additional request options.
  2014  //
  2015  // See DescribeFileSystemAliases for details on how to use this API operation.
  2016  //
  2017  // The context must be non-nil and will be used for request cancellation. If
  2018  // the context is nil a panic will occur. In the future the SDK may create
  2019  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2020  // for more information on using Contexts.
  2021  func (c *FSx) DescribeFileSystemAliasesWithContext(ctx aws.Context, input *DescribeFileSystemAliasesInput, opts ...request.Option) (*DescribeFileSystemAliasesOutput, error) {
  2022  	req, out := c.DescribeFileSystemAliasesRequest(input)
  2023  	req.SetContext(ctx)
  2024  	req.ApplyOptions(opts...)
  2025  	return out, req.Send()
  2026  }
  2027  
  2028  // DescribeFileSystemAliasesPages iterates over the pages of a DescribeFileSystemAliases operation,
  2029  // calling the "fn" function with the response data for each page. To stop
  2030  // iterating, return false from the fn function.
  2031  //
  2032  // See DescribeFileSystemAliases method for more information on how to use this operation.
  2033  //
  2034  // Note: This operation can generate multiple requests to a service.
  2035  //
  2036  //    // Example iterating over at most 3 pages of a DescribeFileSystemAliases operation.
  2037  //    pageNum := 0
  2038  //    err := client.DescribeFileSystemAliasesPages(params,
  2039  //        func(page *fsx.DescribeFileSystemAliasesOutput, lastPage bool) bool {
  2040  //            pageNum++
  2041  //            fmt.Println(page)
  2042  //            return pageNum <= 3
  2043  //        })
  2044  //
  2045  func (c *FSx) DescribeFileSystemAliasesPages(input *DescribeFileSystemAliasesInput, fn func(*DescribeFileSystemAliasesOutput, bool) bool) error {
  2046  	return c.DescribeFileSystemAliasesPagesWithContext(aws.BackgroundContext(), input, fn)
  2047  }
  2048  
  2049  // DescribeFileSystemAliasesPagesWithContext same as DescribeFileSystemAliasesPages except
  2050  // it takes a Context and allows setting request options on the pages.
  2051  //
  2052  // The context must be non-nil and will be used for request cancellation. If
  2053  // the context is nil a panic will occur. In the future the SDK may create
  2054  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2055  // for more information on using Contexts.
  2056  func (c *FSx) DescribeFileSystemAliasesPagesWithContext(ctx aws.Context, input *DescribeFileSystemAliasesInput, fn func(*DescribeFileSystemAliasesOutput, bool) bool, opts ...request.Option) error {
  2057  	p := request.Pagination{
  2058  		NewRequest: func() (*request.Request, error) {
  2059  			var inCpy *DescribeFileSystemAliasesInput
  2060  			if input != nil {
  2061  				tmp := *input
  2062  				inCpy = &tmp
  2063  			}
  2064  			req, _ := c.DescribeFileSystemAliasesRequest(inCpy)
  2065  			req.SetContext(ctx)
  2066  			req.ApplyOptions(opts...)
  2067  			return req, nil
  2068  		},
  2069  	}
  2070  
  2071  	for p.Next() {
  2072  		if !fn(p.Page().(*DescribeFileSystemAliasesOutput), !p.HasNextPage()) {
  2073  			break
  2074  		}
  2075  	}
  2076  
  2077  	return p.Err()
  2078  }
  2079  
  2080  const opDescribeFileSystems = "DescribeFileSystems"
  2081  
  2082  // DescribeFileSystemsRequest generates a "aws/request.Request" representing the
  2083  // client's request for the DescribeFileSystems operation. The "output" return
  2084  // value will be populated with the request's response once the request completes
  2085  // successfully.
  2086  //
  2087  // Use "Send" method on the returned Request to send the API call to the service.
  2088  // the "output" return value is not valid until after Send returns without error.
  2089  //
  2090  // See DescribeFileSystems for more information on using the DescribeFileSystems
  2091  // API call, and error handling.
  2092  //
  2093  // This method is useful when you want to inject custom logic or configuration
  2094  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2095  //
  2096  //
  2097  //    // Example sending a request using the DescribeFileSystemsRequest method.
  2098  //    req, resp := client.DescribeFileSystemsRequest(params)
  2099  //
  2100  //    err := req.Send()
  2101  //    if err == nil { // resp is now filled
  2102  //        fmt.Println(resp)
  2103  //    }
  2104  //
  2105  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeFileSystems
  2106  func (c *FSx) DescribeFileSystemsRequest(input *DescribeFileSystemsInput) (req *request.Request, output *DescribeFileSystemsOutput) {
  2107  	op := &request.Operation{
  2108  		Name:       opDescribeFileSystems,
  2109  		HTTPMethod: "POST",
  2110  		HTTPPath:   "/",
  2111  		Paginator: &request.Paginator{
  2112  			InputTokens:     []string{"NextToken"},
  2113  			OutputTokens:    []string{"NextToken"},
  2114  			LimitToken:      "MaxResults",
  2115  			TruncationToken: "",
  2116  		},
  2117  	}
  2118  
  2119  	if input == nil {
  2120  		input = &DescribeFileSystemsInput{}
  2121  	}
  2122  
  2123  	output = &DescribeFileSystemsOutput{}
  2124  	req = c.newRequest(op, input, output)
  2125  	return
  2126  }
  2127  
  2128  // DescribeFileSystems API operation for Amazon FSx.
  2129  //
  2130  // Returns the description of specific Amazon FSx file systems, if a FileSystemIds
  2131  // value is provided for that file system. Otherwise, it returns descriptions
  2132  // of all file systems owned by your Amazon Web Services account in the Amazon
  2133  // Web Services Region of the endpoint that you're calling.
  2134  //
  2135  // When retrieving all file system descriptions, you can optionally specify
  2136  // the MaxResults parameter to limit the number of descriptions in a response.
  2137  // If more file system descriptions remain, Amazon FSx returns a NextToken value
  2138  // in the response. In this case, send a later request with the NextToken request
  2139  // parameter set to the value of NextToken from the last response.
  2140  //
  2141  // This action is used in an iterative process to retrieve a list of your file
  2142  // system descriptions. DescribeFileSystems is called first without a NextTokenvalue.
  2143  // Then the action continues to be called with the NextToken parameter set to
  2144  // the value of the last NextToken value until a response has no NextToken.
  2145  //
  2146  // When using this action, keep the following in mind:
  2147  //
  2148  //    * The implementation might return fewer than MaxResults file system descriptions
  2149  //    while still including a NextToken value.
  2150  //
  2151  //    * The order of file systems returned in the response of one DescribeFileSystems
  2152  //    call and the order of file systems returned across the responses of a
  2153  //    multicall iteration is unspecified.
  2154  //
  2155  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2156  // with awserr.Error's Code and Message methods to get detailed information about
  2157  // the error.
  2158  //
  2159  // See the AWS API reference guide for Amazon FSx's
  2160  // API operation DescribeFileSystems for usage and error information.
  2161  //
  2162  // Returned Error Types:
  2163  //   * BadRequest
  2164  //   A generic error indicating a failure with a client request.
  2165  //
  2166  //   * FileSystemNotFound
  2167  //   No Amazon FSx file systems were found based upon supplied parameters.
  2168  //
  2169  //   * InternalServerError
  2170  //   A generic error indicating a server-side failure.
  2171  //
  2172  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeFileSystems
  2173  func (c *FSx) DescribeFileSystems(input *DescribeFileSystemsInput) (*DescribeFileSystemsOutput, error) {
  2174  	req, out := c.DescribeFileSystemsRequest(input)
  2175  	return out, req.Send()
  2176  }
  2177  
  2178  // DescribeFileSystemsWithContext is the same as DescribeFileSystems with the addition of
  2179  // the ability to pass a context and additional request options.
  2180  //
  2181  // See DescribeFileSystems for details on how to use this API operation.
  2182  //
  2183  // The context must be non-nil and will be used for request cancellation. If
  2184  // the context is nil a panic will occur. In the future the SDK may create
  2185  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2186  // for more information on using Contexts.
  2187  func (c *FSx) DescribeFileSystemsWithContext(ctx aws.Context, input *DescribeFileSystemsInput, opts ...request.Option) (*DescribeFileSystemsOutput, error) {
  2188  	req, out := c.DescribeFileSystemsRequest(input)
  2189  	req.SetContext(ctx)
  2190  	req.ApplyOptions(opts...)
  2191  	return out, req.Send()
  2192  }
  2193  
  2194  // DescribeFileSystemsPages iterates over the pages of a DescribeFileSystems operation,
  2195  // calling the "fn" function with the response data for each page. To stop
  2196  // iterating, return false from the fn function.
  2197  //
  2198  // See DescribeFileSystems method for more information on how to use this operation.
  2199  //
  2200  // Note: This operation can generate multiple requests to a service.
  2201  //
  2202  //    // Example iterating over at most 3 pages of a DescribeFileSystems operation.
  2203  //    pageNum := 0
  2204  //    err := client.DescribeFileSystemsPages(params,
  2205  //        func(page *fsx.DescribeFileSystemsOutput, lastPage bool) bool {
  2206  //            pageNum++
  2207  //            fmt.Println(page)
  2208  //            return pageNum <= 3
  2209  //        })
  2210  //
  2211  func (c *FSx) DescribeFileSystemsPages(input *DescribeFileSystemsInput, fn func(*DescribeFileSystemsOutput, bool) bool) error {
  2212  	return c.DescribeFileSystemsPagesWithContext(aws.BackgroundContext(), input, fn)
  2213  }
  2214  
  2215  // DescribeFileSystemsPagesWithContext same as DescribeFileSystemsPages except
  2216  // it takes a Context and allows setting request options on the pages.
  2217  //
  2218  // The context must be non-nil and will be used for request cancellation. If
  2219  // the context is nil a panic will occur. In the future the SDK may create
  2220  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2221  // for more information on using Contexts.
  2222  func (c *FSx) DescribeFileSystemsPagesWithContext(ctx aws.Context, input *DescribeFileSystemsInput, fn func(*DescribeFileSystemsOutput, bool) bool, opts ...request.Option) error {
  2223  	p := request.Pagination{
  2224  		NewRequest: func() (*request.Request, error) {
  2225  			var inCpy *DescribeFileSystemsInput
  2226  			if input != nil {
  2227  				tmp := *input
  2228  				inCpy = &tmp
  2229  			}
  2230  			req, _ := c.DescribeFileSystemsRequest(inCpy)
  2231  			req.SetContext(ctx)
  2232  			req.ApplyOptions(opts...)
  2233  			return req, nil
  2234  		},
  2235  	}
  2236  
  2237  	for p.Next() {
  2238  		if !fn(p.Page().(*DescribeFileSystemsOutput), !p.HasNextPage()) {
  2239  			break
  2240  		}
  2241  	}
  2242  
  2243  	return p.Err()
  2244  }
  2245  
  2246  const opDescribeStorageVirtualMachines = "DescribeStorageVirtualMachines"
  2247  
  2248  // DescribeStorageVirtualMachinesRequest generates a "aws/request.Request" representing the
  2249  // client's request for the DescribeStorageVirtualMachines operation. The "output" return
  2250  // value will be populated with the request's response once the request completes
  2251  // successfully.
  2252  //
  2253  // Use "Send" method on the returned Request to send the API call to the service.
  2254  // the "output" return value is not valid until after Send returns without error.
  2255  //
  2256  // See DescribeStorageVirtualMachines for more information on using the DescribeStorageVirtualMachines
  2257  // API call, and error handling.
  2258  //
  2259  // This method is useful when you want to inject custom logic or configuration
  2260  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2261  //
  2262  //
  2263  //    // Example sending a request using the DescribeStorageVirtualMachinesRequest method.
  2264  //    req, resp := client.DescribeStorageVirtualMachinesRequest(params)
  2265  //
  2266  //    err := req.Send()
  2267  //    if err == nil { // resp is now filled
  2268  //        fmt.Println(resp)
  2269  //    }
  2270  //
  2271  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeStorageVirtualMachines
  2272  func (c *FSx) DescribeStorageVirtualMachinesRequest(input *DescribeStorageVirtualMachinesInput) (req *request.Request, output *DescribeStorageVirtualMachinesOutput) {
  2273  	op := &request.Operation{
  2274  		Name:       opDescribeStorageVirtualMachines,
  2275  		HTTPMethod: "POST",
  2276  		HTTPPath:   "/",
  2277  		Paginator: &request.Paginator{
  2278  			InputTokens:     []string{"NextToken"},
  2279  			OutputTokens:    []string{"NextToken"},
  2280  			LimitToken:      "MaxResults",
  2281  			TruncationToken: "",
  2282  		},
  2283  	}
  2284  
  2285  	if input == nil {
  2286  		input = &DescribeStorageVirtualMachinesInput{}
  2287  	}
  2288  
  2289  	output = &DescribeStorageVirtualMachinesOutput{}
  2290  	req = c.newRequest(op, input, output)
  2291  	return
  2292  }
  2293  
  2294  // DescribeStorageVirtualMachines API operation for Amazon FSx.
  2295  //
  2296  // Describes one or more Amazon FSx for NetApp ONTAP storage virtual machines
  2297  // (SVMs).
  2298  //
  2299  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2300  // with awserr.Error's Code and Message methods to get detailed information about
  2301  // the error.
  2302  //
  2303  // See the AWS API reference guide for Amazon FSx's
  2304  // API operation DescribeStorageVirtualMachines for usage and error information.
  2305  //
  2306  // Returned Error Types:
  2307  //   * BadRequest
  2308  //   A generic error indicating a failure with a client request.
  2309  //
  2310  //   * InternalServerError
  2311  //   A generic error indicating a server-side failure.
  2312  //
  2313  //   * StorageVirtualMachineNotFound
  2314  //   No Amazon FSx for NetApp ONTAP SVMs were found based upon the supplied parameters.
  2315  //
  2316  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeStorageVirtualMachines
  2317  func (c *FSx) DescribeStorageVirtualMachines(input *DescribeStorageVirtualMachinesInput) (*DescribeStorageVirtualMachinesOutput, error) {
  2318  	req, out := c.DescribeStorageVirtualMachinesRequest(input)
  2319  	return out, req.Send()
  2320  }
  2321  
  2322  // DescribeStorageVirtualMachinesWithContext is the same as DescribeStorageVirtualMachines with the addition of
  2323  // the ability to pass a context and additional request options.
  2324  //
  2325  // See DescribeStorageVirtualMachines for details on how to use this API operation.
  2326  //
  2327  // The context must be non-nil and will be used for request cancellation. If
  2328  // the context is nil a panic will occur. In the future the SDK may create
  2329  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2330  // for more information on using Contexts.
  2331  func (c *FSx) DescribeStorageVirtualMachinesWithContext(ctx aws.Context, input *DescribeStorageVirtualMachinesInput, opts ...request.Option) (*DescribeStorageVirtualMachinesOutput, error) {
  2332  	req, out := c.DescribeStorageVirtualMachinesRequest(input)
  2333  	req.SetContext(ctx)
  2334  	req.ApplyOptions(opts...)
  2335  	return out, req.Send()
  2336  }
  2337  
  2338  // DescribeStorageVirtualMachinesPages iterates over the pages of a DescribeStorageVirtualMachines operation,
  2339  // calling the "fn" function with the response data for each page. To stop
  2340  // iterating, return false from the fn function.
  2341  //
  2342  // See DescribeStorageVirtualMachines method for more information on how to use this operation.
  2343  //
  2344  // Note: This operation can generate multiple requests to a service.
  2345  //
  2346  //    // Example iterating over at most 3 pages of a DescribeStorageVirtualMachines operation.
  2347  //    pageNum := 0
  2348  //    err := client.DescribeStorageVirtualMachinesPages(params,
  2349  //        func(page *fsx.DescribeStorageVirtualMachinesOutput, lastPage bool) bool {
  2350  //            pageNum++
  2351  //            fmt.Println(page)
  2352  //            return pageNum <= 3
  2353  //        })
  2354  //
  2355  func (c *FSx) DescribeStorageVirtualMachinesPages(input *DescribeStorageVirtualMachinesInput, fn func(*DescribeStorageVirtualMachinesOutput, bool) bool) error {
  2356  	return c.DescribeStorageVirtualMachinesPagesWithContext(aws.BackgroundContext(), input, fn)
  2357  }
  2358  
  2359  // DescribeStorageVirtualMachinesPagesWithContext same as DescribeStorageVirtualMachinesPages except
  2360  // it takes a Context and allows setting request options on the pages.
  2361  //
  2362  // The context must be non-nil and will be used for request cancellation. If
  2363  // the context is nil a panic will occur. In the future the SDK may create
  2364  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2365  // for more information on using Contexts.
  2366  func (c *FSx) DescribeStorageVirtualMachinesPagesWithContext(ctx aws.Context, input *DescribeStorageVirtualMachinesInput, fn func(*DescribeStorageVirtualMachinesOutput, bool) bool, opts ...request.Option) error {
  2367  	p := request.Pagination{
  2368  		NewRequest: func() (*request.Request, error) {
  2369  			var inCpy *DescribeStorageVirtualMachinesInput
  2370  			if input != nil {
  2371  				tmp := *input
  2372  				inCpy = &tmp
  2373  			}
  2374  			req, _ := c.DescribeStorageVirtualMachinesRequest(inCpy)
  2375  			req.SetContext(ctx)
  2376  			req.ApplyOptions(opts...)
  2377  			return req, nil
  2378  		},
  2379  	}
  2380  
  2381  	for p.Next() {
  2382  		if !fn(p.Page().(*DescribeStorageVirtualMachinesOutput), !p.HasNextPage()) {
  2383  			break
  2384  		}
  2385  	}
  2386  
  2387  	return p.Err()
  2388  }
  2389  
  2390  const opDescribeVolumes = "DescribeVolumes"
  2391  
  2392  // DescribeVolumesRequest generates a "aws/request.Request" representing the
  2393  // client's request for the DescribeVolumes operation. The "output" return
  2394  // value will be populated with the request's response once the request completes
  2395  // successfully.
  2396  //
  2397  // Use "Send" method on the returned Request to send the API call to the service.
  2398  // the "output" return value is not valid until after Send returns without error.
  2399  //
  2400  // See DescribeVolumes for more information on using the DescribeVolumes
  2401  // API call, and error handling.
  2402  //
  2403  // This method is useful when you want to inject custom logic or configuration
  2404  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2405  //
  2406  //
  2407  //    // Example sending a request using the DescribeVolumesRequest method.
  2408  //    req, resp := client.DescribeVolumesRequest(params)
  2409  //
  2410  //    err := req.Send()
  2411  //    if err == nil { // resp is now filled
  2412  //        fmt.Println(resp)
  2413  //    }
  2414  //
  2415  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeVolumes
  2416  func (c *FSx) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request.Request, output *DescribeVolumesOutput) {
  2417  	op := &request.Operation{
  2418  		Name:       opDescribeVolumes,
  2419  		HTTPMethod: "POST",
  2420  		HTTPPath:   "/",
  2421  		Paginator: &request.Paginator{
  2422  			InputTokens:     []string{"NextToken"},
  2423  			OutputTokens:    []string{"NextToken"},
  2424  			LimitToken:      "MaxResults",
  2425  			TruncationToken: "",
  2426  		},
  2427  	}
  2428  
  2429  	if input == nil {
  2430  		input = &DescribeVolumesInput{}
  2431  	}
  2432  
  2433  	output = &DescribeVolumesOutput{}
  2434  	req = c.newRequest(op, input, output)
  2435  	return
  2436  }
  2437  
  2438  // DescribeVolumes API operation for Amazon FSx.
  2439  //
  2440  // Describes one or more Amazon FSx for NetApp ONTAP volumes.
  2441  //
  2442  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2443  // with awserr.Error's Code and Message methods to get detailed information about
  2444  // the error.
  2445  //
  2446  // See the AWS API reference guide for Amazon FSx's
  2447  // API operation DescribeVolumes for usage and error information.
  2448  //
  2449  // Returned Error Types:
  2450  //   * BadRequest
  2451  //   A generic error indicating a failure with a client request.
  2452  //
  2453  //   * InternalServerError
  2454  //   A generic error indicating a server-side failure.
  2455  //
  2456  //   * VolumeNotFound
  2457  //   No Amazon FSx for NetApp ONTAP volumes were found based upon the supplied
  2458  //   parameters.
  2459  //
  2460  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeVolumes
  2461  func (c *FSx) DescribeVolumes(input *DescribeVolumesInput) (*DescribeVolumesOutput, error) {
  2462  	req, out := c.DescribeVolumesRequest(input)
  2463  	return out, req.Send()
  2464  }
  2465  
  2466  // DescribeVolumesWithContext is the same as DescribeVolumes with the addition of
  2467  // the ability to pass a context and additional request options.
  2468  //
  2469  // See DescribeVolumes for details on how to use this API operation.
  2470  //
  2471  // The context must be non-nil and will be used for request cancellation. If
  2472  // the context is nil a panic will occur. In the future the SDK may create
  2473  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2474  // for more information on using Contexts.
  2475  func (c *FSx) DescribeVolumesWithContext(ctx aws.Context, input *DescribeVolumesInput, opts ...request.Option) (*DescribeVolumesOutput, error) {
  2476  	req, out := c.DescribeVolumesRequest(input)
  2477  	req.SetContext(ctx)
  2478  	req.ApplyOptions(opts...)
  2479  	return out, req.Send()
  2480  }
  2481  
  2482  // DescribeVolumesPages iterates over the pages of a DescribeVolumes operation,
  2483  // calling the "fn" function with the response data for each page. To stop
  2484  // iterating, return false from the fn function.
  2485  //
  2486  // See DescribeVolumes method for more information on how to use this operation.
  2487  //
  2488  // Note: This operation can generate multiple requests to a service.
  2489  //
  2490  //    // Example iterating over at most 3 pages of a DescribeVolumes operation.
  2491  //    pageNum := 0
  2492  //    err := client.DescribeVolumesPages(params,
  2493  //        func(page *fsx.DescribeVolumesOutput, lastPage bool) bool {
  2494  //            pageNum++
  2495  //            fmt.Println(page)
  2496  //            return pageNum <= 3
  2497  //        })
  2498  //
  2499  func (c *FSx) DescribeVolumesPages(input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool) error {
  2500  	return c.DescribeVolumesPagesWithContext(aws.BackgroundContext(), input, fn)
  2501  }
  2502  
  2503  // DescribeVolumesPagesWithContext same as DescribeVolumesPages except
  2504  // it takes a Context and allows setting request options on the pages.
  2505  //
  2506  // The context must be non-nil and will be used for request cancellation. If
  2507  // the context is nil a panic will occur. In the future the SDK may create
  2508  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2509  // for more information on using Contexts.
  2510  func (c *FSx) DescribeVolumesPagesWithContext(ctx aws.Context, input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool, opts ...request.Option) error {
  2511  	p := request.Pagination{
  2512  		NewRequest: func() (*request.Request, error) {
  2513  			var inCpy *DescribeVolumesInput
  2514  			if input != nil {
  2515  				tmp := *input
  2516  				inCpy = &tmp
  2517  			}
  2518  			req, _ := c.DescribeVolumesRequest(inCpy)
  2519  			req.SetContext(ctx)
  2520  			req.ApplyOptions(opts...)
  2521  			return req, nil
  2522  		},
  2523  	}
  2524  
  2525  	for p.Next() {
  2526  		if !fn(p.Page().(*DescribeVolumesOutput), !p.HasNextPage()) {
  2527  			break
  2528  		}
  2529  	}
  2530  
  2531  	return p.Err()
  2532  }
  2533  
  2534  const opDisassociateFileSystemAliases = "DisassociateFileSystemAliases"
  2535  
  2536  // DisassociateFileSystemAliasesRequest generates a "aws/request.Request" representing the
  2537  // client's request for the DisassociateFileSystemAliases operation. The "output" return
  2538  // value will be populated with the request's response once the request completes
  2539  // successfully.
  2540  //
  2541  // Use "Send" method on the returned Request to send the API call to the service.
  2542  // the "output" return value is not valid until after Send returns without error.
  2543  //
  2544  // See DisassociateFileSystemAliases for more information on using the DisassociateFileSystemAliases
  2545  // API call, and error handling.
  2546  //
  2547  // This method is useful when you want to inject custom logic or configuration
  2548  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2549  //
  2550  //
  2551  //    // Example sending a request using the DisassociateFileSystemAliasesRequest method.
  2552  //    req, resp := client.DisassociateFileSystemAliasesRequest(params)
  2553  //
  2554  //    err := req.Send()
  2555  //    if err == nil { // resp is now filled
  2556  //        fmt.Println(resp)
  2557  //    }
  2558  //
  2559  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DisassociateFileSystemAliases
  2560  func (c *FSx) DisassociateFileSystemAliasesRequest(input *DisassociateFileSystemAliasesInput) (req *request.Request, output *DisassociateFileSystemAliasesOutput) {
  2561  	op := &request.Operation{
  2562  		Name:       opDisassociateFileSystemAliases,
  2563  		HTTPMethod: "POST",
  2564  		HTTPPath:   "/",
  2565  	}
  2566  
  2567  	if input == nil {
  2568  		input = &DisassociateFileSystemAliasesInput{}
  2569  	}
  2570  
  2571  	output = &DisassociateFileSystemAliasesOutput{}
  2572  	req = c.newRequest(op, input, output)
  2573  	return
  2574  }
  2575  
  2576  // DisassociateFileSystemAliases API operation for Amazon FSx.
  2577  //
  2578  // Use this action to disassociate, or remove, one or more Domain Name Service
  2579  // (DNS) aliases from an Amazon FSx for Windows File Server file system. If
  2580  // you attempt to disassociate a DNS alias that is not associated with the file
  2581  // system, Amazon FSx responds with a 400 Bad Request. For more information,
  2582  // see Working with DNS Aliases (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html).
  2583  //
  2584  // The system generated response showing the DNS aliases that Amazon FSx is
  2585  // attempting to disassociate from the file system. Use the API operation to
  2586  // monitor the status of the aliases Amazon FSx is disassociating with the file
  2587  // system.
  2588  //
  2589  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2590  // with awserr.Error's Code and Message methods to get detailed information about
  2591  // the error.
  2592  //
  2593  // See the AWS API reference guide for Amazon FSx's
  2594  // API operation DisassociateFileSystemAliases for usage and error information.
  2595  //
  2596  // Returned Error Types:
  2597  //   * BadRequest
  2598  //   A generic error indicating a failure with a client request.
  2599  //
  2600  //   * FileSystemNotFound
  2601  //   No Amazon FSx file systems were found based upon supplied parameters.
  2602  //
  2603  //   * InternalServerError
  2604  //   A generic error indicating a server-side failure.
  2605  //
  2606  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DisassociateFileSystemAliases
  2607  func (c *FSx) DisassociateFileSystemAliases(input *DisassociateFileSystemAliasesInput) (*DisassociateFileSystemAliasesOutput, error) {
  2608  	req, out := c.DisassociateFileSystemAliasesRequest(input)
  2609  	return out, req.Send()
  2610  }
  2611  
  2612  // DisassociateFileSystemAliasesWithContext is the same as DisassociateFileSystemAliases with the addition of
  2613  // the ability to pass a context and additional request options.
  2614  //
  2615  // See DisassociateFileSystemAliases for details on how to use this API operation.
  2616  //
  2617  // The context must be non-nil and will be used for request cancellation. If
  2618  // the context is nil a panic will occur. In the future the SDK may create
  2619  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2620  // for more information on using Contexts.
  2621  func (c *FSx) DisassociateFileSystemAliasesWithContext(ctx aws.Context, input *DisassociateFileSystemAliasesInput, opts ...request.Option) (*DisassociateFileSystemAliasesOutput, error) {
  2622  	req, out := c.DisassociateFileSystemAliasesRequest(input)
  2623  	req.SetContext(ctx)
  2624  	req.ApplyOptions(opts...)
  2625  	return out, req.Send()
  2626  }
  2627  
  2628  const opListTagsForResource = "ListTagsForResource"
  2629  
  2630  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  2631  // client's request for the ListTagsForResource operation. The "output" return
  2632  // value will be populated with the request's response once the request completes
  2633  // successfully.
  2634  //
  2635  // Use "Send" method on the returned Request to send the API call to the service.
  2636  // the "output" return value is not valid until after Send returns without error.
  2637  //
  2638  // See ListTagsForResource for more information on using the ListTagsForResource
  2639  // API call, and error handling.
  2640  //
  2641  // This method is useful when you want to inject custom logic or configuration
  2642  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2643  //
  2644  //
  2645  //    // Example sending a request using the ListTagsForResourceRequest method.
  2646  //    req, resp := client.ListTagsForResourceRequest(params)
  2647  //
  2648  //    err := req.Send()
  2649  //    if err == nil { // resp is now filled
  2650  //        fmt.Println(resp)
  2651  //    }
  2652  //
  2653  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/ListTagsForResource
  2654  func (c *FSx) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  2655  	op := &request.Operation{
  2656  		Name:       opListTagsForResource,
  2657  		HTTPMethod: "POST",
  2658  		HTTPPath:   "/",
  2659  		Paginator: &request.Paginator{
  2660  			InputTokens:     []string{"NextToken"},
  2661  			OutputTokens:    []string{"NextToken"},
  2662  			LimitToken:      "MaxResults",
  2663  			TruncationToken: "",
  2664  		},
  2665  	}
  2666  
  2667  	if input == nil {
  2668  		input = &ListTagsForResourceInput{}
  2669  	}
  2670  
  2671  	output = &ListTagsForResourceOutput{}
  2672  	req = c.newRequest(op, input, output)
  2673  	return
  2674  }
  2675  
  2676  // ListTagsForResource API operation for Amazon FSx.
  2677  //
  2678  // Lists tags for an Amazon FSx file systems and backups in the case of Amazon
  2679  // FSx for Windows File Server.
  2680  //
  2681  // When retrieving all tags, you can optionally specify the MaxResults parameter
  2682  // to limit the number of tags in a response. If more tags remain, Amazon FSx
  2683  // returns a NextToken value in the response. In this case, send a later request
  2684  // with the NextToken request parameter set to the value of NextToken from the
  2685  // last response.
  2686  //
  2687  // This action is used in an iterative process to retrieve a list of your tags.
  2688  // ListTagsForResource is called first without a NextTokenvalue. Then the action
  2689  // continues to be called with the NextToken parameter set to the value of the
  2690  // last NextToken value until a response has no NextToken.
  2691  //
  2692  // When using this action, keep the following in mind:
  2693  //
  2694  //    * The implementation might return fewer than MaxResults file system descriptions
  2695  //    while still including a NextToken value.
  2696  //
  2697  //    * The order of tags returned in the response of one ListTagsForResource
  2698  //    call and the order of tags returned across the responses of a multi-call
  2699  //    iteration is unspecified.
  2700  //
  2701  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2702  // with awserr.Error's Code and Message methods to get detailed information about
  2703  // the error.
  2704  //
  2705  // See the AWS API reference guide for Amazon FSx's
  2706  // API operation ListTagsForResource for usage and error information.
  2707  //
  2708  // Returned Error Types:
  2709  //   * BadRequest
  2710  //   A generic error indicating a failure with a client request.
  2711  //
  2712  //   * InternalServerError
  2713  //   A generic error indicating a server-side failure.
  2714  //
  2715  //   * ResourceNotFound
  2716  //   The resource specified by the Amazon Resource Name (ARN) can't be found.
  2717  //
  2718  //   * NotServiceResourceError
  2719  //   The resource specified for the tagging operation is not a resource type owned
  2720  //   by Amazon FSx. Use the API of the relevant service to perform the operation.
  2721  //
  2722  //   * ResourceDoesNotSupportTagging
  2723  //   The resource specified does not support tagging.
  2724  //
  2725  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/ListTagsForResource
  2726  func (c *FSx) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  2727  	req, out := c.ListTagsForResourceRequest(input)
  2728  	return out, req.Send()
  2729  }
  2730  
  2731  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  2732  // the ability to pass a context and additional request options.
  2733  //
  2734  // See ListTagsForResource for details on how to use this API operation.
  2735  //
  2736  // The context must be non-nil and will be used for request cancellation. If
  2737  // the context is nil a panic will occur. In the future the SDK may create
  2738  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2739  // for more information on using Contexts.
  2740  func (c *FSx) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  2741  	req, out := c.ListTagsForResourceRequest(input)
  2742  	req.SetContext(ctx)
  2743  	req.ApplyOptions(opts...)
  2744  	return out, req.Send()
  2745  }
  2746  
  2747  // ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation,
  2748  // calling the "fn" function with the response data for each page. To stop
  2749  // iterating, return false from the fn function.
  2750  //
  2751  // See ListTagsForResource method for more information on how to use this operation.
  2752  //
  2753  // Note: This operation can generate multiple requests to a service.
  2754  //
  2755  //    // Example iterating over at most 3 pages of a ListTagsForResource operation.
  2756  //    pageNum := 0
  2757  //    err := client.ListTagsForResourcePages(params,
  2758  //        func(page *fsx.ListTagsForResourceOutput, lastPage bool) bool {
  2759  //            pageNum++
  2760  //            fmt.Println(page)
  2761  //            return pageNum <= 3
  2762  //        })
  2763  //
  2764  func (c *FSx) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error {
  2765  	return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn)
  2766  }
  2767  
  2768  // ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except
  2769  // it takes a Context and allows setting request options on the pages.
  2770  //
  2771  // The context must be non-nil and will be used for request cancellation. If
  2772  // the context is nil a panic will occur. In the future the SDK may create
  2773  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2774  // for more information on using Contexts.
  2775  func (c *FSx) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error {
  2776  	p := request.Pagination{
  2777  		NewRequest: func() (*request.Request, error) {
  2778  			var inCpy *ListTagsForResourceInput
  2779  			if input != nil {
  2780  				tmp := *input
  2781  				inCpy = &tmp
  2782  			}
  2783  			req, _ := c.ListTagsForResourceRequest(inCpy)
  2784  			req.SetContext(ctx)
  2785  			req.ApplyOptions(opts...)
  2786  			return req, nil
  2787  		},
  2788  	}
  2789  
  2790  	for p.Next() {
  2791  		if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) {
  2792  			break
  2793  		}
  2794  	}
  2795  
  2796  	return p.Err()
  2797  }
  2798  
  2799  const opTagResource = "TagResource"
  2800  
  2801  // TagResourceRequest generates a "aws/request.Request" representing the
  2802  // client's request for the TagResource operation. The "output" return
  2803  // value will be populated with the request's response once the request completes
  2804  // successfully.
  2805  //
  2806  // Use "Send" method on the returned Request to send the API call to the service.
  2807  // the "output" return value is not valid until after Send returns without error.
  2808  //
  2809  // See TagResource for more information on using the TagResource
  2810  // API call, and error handling.
  2811  //
  2812  // This method is useful when you want to inject custom logic or configuration
  2813  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2814  //
  2815  //
  2816  //    // Example sending a request using the TagResourceRequest method.
  2817  //    req, resp := client.TagResourceRequest(params)
  2818  //
  2819  //    err := req.Send()
  2820  //    if err == nil { // resp is now filled
  2821  //        fmt.Println(resp)
  2822  //    }
  2823  //
  2824  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/TagResource
  2825  func (c *FSx) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  2826  	op := &request.Operation{
  2827  		Name:       opTagResource,
  2828  		HTTPMethod: "POST",
  2829  		HTTPPath:   "/",
  2830  	}
  2831  
  2832  	if input == nil {
  2833  		input = &TagResourceInput{}
  2834  	}
  2835  
  2836  	output = &TagResourceOutput{}
  2837  	req = c.newRequest(op, input, output)
  2838  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2839  	return
  2840  }
  2841  
  2842  // TagResource API operation for Amazon FSx.
  2843  //
  2844  // Tags an Amazon FSx resource.
  2845  //
  2846  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2847  // with awserr.Error's Code and Message methods to get detailed information about
  2848  // the error.
  2849  //
  2850  // See the AWS API reference guide for Amazon FSx's
  2851  // API operation TagResource for usage and error information.
  2852  //
  2853  // Returned Error Types:
  2854  //   * BadRequest
  2855  //   A generic error indicating a failure with a client request.
  2856  //
  2857  //   * InternalServerError
  2858  //   A generic error indicating a server-side failure.
  2859  //
  2860  //   * ResourceNotFound
  2861  //   The resource specified by the Amazon Resource Name (ARN) can't be found.
  2862  //
  2863  //   * NotServiceResourceError
  2864  //   The resource specified for the tagging operation is not a resource type owned
  2865  //   by Amazon FSx. Use the API of the relevant service to perform the operation.
  2866  //
  2867  //   * ResourceDoesNotSupportTagging
  2868  //   The resource specified does not support tagging.
  2869  //
  2870  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/TagResource
  2871  func (c *FSx) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  2872  	req, out := c.TagResourceRequest(input)
  2873  	return out, req.Send()
  2874  }
  2875  
  2876  // TagResourceWithContext is the same as TagResource with the addition of
  2877  // the ability to pass a context and additional request options.
  2878  //
  2879  // See TagResource for details on how to use this API operation.
  2880  //
  2881  // The context must be non-nil and will be used for request cancellation. If
  2882  // the context is nil a panic will occur. In the future the SDK may create
  2883  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2884  // for more information on using Contexts.
  2885  func (c *FSx) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  2886  	req, out := c.TagResourceRequest(input)
  2887  	req.SetContext(ctx)
  2888  	req.ApplyOptions(opts...)
  2889  	return out, req.Send()
  2890  }
  2891  
  2892  const opUntagResource = "UntagResource"
  2893  
  2894  // UntagResourceRequest generates a "aws/request.Request" representing the
  2895  // client's request for the UntagResource operation. The "output" return
  2896  // value will be populated with the request's response once the request completes
  2897  // successfully.
  2898  //
  2899  // Use "Send" method on the returned Request to send the API call to the service.
  2900  // the "output" return value is not valid until after Send returns without error.
  2901  //
  2902  // See UntagResource for more information on using the UntagResource
  2903  // API call, and error handling.
  2904  //
  2905  // This method is useful when you want to inject custom logic or configuration
  2906  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2907  //
  2908  //
  2909  //    // Example sending a request using the UntagResourceRequest method.
  2910  //    req, resp := client.UntagResourceRequest(params)
  2911  //
  2912  //    err := req.Send()
  2913  //    if err == nil { // resp is now filled
  2914  //        fmt.Println(resp)
  2915  //    }
  2916  //
  2917  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UntagResource
  2918  func (c *FSx) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  2919  	op := &request.Operation{
  2920  		Name:       opUntagResource,
  2921  		HTTPMethod: "POST",
  2922  		HTTPPath:   "/",
  2923  	}
  2924  
  2925  	if input == nil {
  2926  		input = &UntagResourceInput{}
  2927  	}
  2928  
  2929  	output = &UntagResourceOutput{}
  2930  	req = c.newRequest(op, input, output)
  2931  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2932  	return
  2933  }
  2934  
  2935  // UntagResource API operation for Amazon FSx.
  2936  //
  2937  // This action removes a tag from an Amazon FSx resource.
  2938  //
  2939  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2940  // with awserr.Error's Code and Message methods to get detailed information about
  2941  // the error.
  2942  //
  2943  // See the AWS API reference guide for Amazon FSx's
  2944  // API operation UntagResource for usage and error information.
  2945  //
  2946  // Returned Error Types:
  2947  //   * BadRequest
  2948  //   A generic error indicating a failure with a client request.
  2949  //
  2950  //   * InternalServerError
  2951  //   A generic error indicating a server-side failure.
  2952  //
  2953  //   * ResourceNotFound
  2954  //   The resource specified by the Amazon Resource Name (ARN) can't be found.
  2955  //
  2956  //   * NotServiceResourceError
  2957  //   The resource specified for the tagging operation is not a resource type owned
  2958  //   by Amazon FSx. Use the API of the relevant service to perform the operation.
  2959  //
  2960  //   * ResourceDoesNotSupportTagging
  2961  //   The resource specified does not support tagging.
  2962  //
  2963  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UntagResource
  2964  func (c *FSx) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  2965  	req, out := c.UntagResourceRequest(input)
  2966  	return out, req.Send()
  2967  }
  2968  
  2969  // UntagResourceWithContext is the same as UntagResource with the addition of
  2970  // the ability to pass a context and additional request options.
  2971  //
  2972  // See UntagResource for details on how to use this API operation.
  2973  //
  2974  // The context must be non-nil and will be used for request cancellation. If
  2975  // the context is nil a panic will occur. In the future the SDK may create
  2976  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2977  // for more information on using Contexts.
  2978  func (c *FSx) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  2979  	req, out := c.UntagResourceRequest(input)
  2980  	req.SetContext(ctx)
  2981  	req.ApplyOptions(opts...)
  2982  	return out, req.Send()
  2983  }
  2984  
  2985  const opUpdateFileSystem = "UpdateFileSystem"
  2986  
  2987  // UpdateFileSystemRequest generates a "aws/request.Request" representing the
  2988  // client's request for the UpdateFileSystem operation. The "output" return
  2989  // value will be populated with the request's response once the request completes
  2990  // successfully.
  2991  //
  2992  // Use "Send" method on the returned Request to send the API call to the service.
  2993  // the "output" return value is not valid until after Send returns without error.
  2994  //
  2995  // See UpdateFileSystem for more information on using the UpdateFileSystem
  2996  // API call, and error handling.
  2997  //
  2998  // This method is useful when you want to inject custom logic or configuration
  2999  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3000  //
  3001  //
  3002  //    // Example sending a request using the UpdateFileSystemRequest method.
  3003  //    req, resp := client.UpdateFileSystemRequest(params)
  3004  //
  3005  //    err := req.Send()
  3006  //    if err == nil { // resp is now filled
  3007  //        fmt.Println(resp)
  3008  //    }
  3009  //
  3010  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateFileSystem
  3011  func (c *FSx) UpdateFileSystemRequest(input *UpdateFileSystemInput) (req *request.Request, output *UpdateFileSystemOutput) {
  3012  	op := &request.Operation{
  3013  		Name:       opUpdateFileSystem,
  3014  		HTTPMethod: "POST",
  3015  		HTTPPath:   "/",
  3016  	}
  3017  
  3018  	if input == nil {
  3019  		input = &UpdateFileSystemInput{}
  3020  	}
  3021  
  3022  	output = &UpdateFileSystemOutput{}
  3023  	req = c.newRequest(op, input, output)
  3024  	return
  3025  }
  3026  
  3027  // UpdateFileSystem API operation for Amazon FSx.
  3028  //
  3029  // Use this operation to update the configuration of an existing Amazon FSx
  3030  // file system. You can update multiple properties in a single request.
  3031  //
  3032  // For Amazon FSx for Windows File Server file systems, you can update the following
  3033  // properties:
  3034  //
  3035  //    * AuditLogConfiguration
  3036  //
  3037  //    * AutomaticBackupRetentionDays
  3038  //
  3039  //    * DailyAutomaticBackupStartTime
  3040  //
  3041  //    * SelfManagedActiveDirectoryConfiguration
  3042  //
  3043  //    * StorageCapacity
  3044  //
  3045  //    * ThroughputCapacity
  3046  //
  3047  //    * WeeklyMaintenanceStartTime
  3048  //
  3049  // For Amazon FSx for Lustre file systems, you can update the following properties:
  3050  //
  3051  //    * AutoImportPolicy
  3052  //
  3053  //    * AutomaticBackupRetentionDays
  3054  //
  3055  //    * DailyAutomaticBackupStartTime
  3056  //
  3057  //    * DataCompressionType
  3058  //
  3059  //    * StorageCapacity
  3060  //
  3061  //    * WeeklyMaintenanceStartTime
  3062  //
  3063  // For Amazon FSx for NetApp ONTAP file systems, you can update the following
  3064  // properties:
  3065  //
  3066  //    * AutomaticBackupRetentionDays
  3067  //
  3068  //    * DailyAutomaticBackupStartTime
  3069  //
  3070  //    * FsxAdminPassword
  3071  //
  3072  //    * WeeklyMaintenanceStartTime
  3073  //
  3074  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3075  // with awserr.Error's Code and Message methods to get detailed information about
  3076  // the error.
  3077  //
  3078  // See the AWS API reference guide for Amazon FSx's
  3079  // API operation UpdateFileSystem for usage and error information.
  3080  //
  3081  // Returned Error Types:
  3082  //   * BadRequest
  3083  //   A generic error indicating a failure with a client request.
  3084  //
  3085  //   * UnsupportedOperation
  3086  //   The requested operation is not supported for this resource or API.
  3087  //
  3088  //   * IncompatibleParameterError
  3089  //   The error returned when a second request is received with the same client
  3090  //   request token but different parameters settings. A client request token should
  3091  //   always uniquely identify a single request.
  3092  //
  3093  //   * InternalServerError
  3094  //   A generic error indicating a server-side failure.
  3095  //
  3096  //   * FileSystemNotFound
  3097  //   No Amazon FSx file systems were found based upon supplied parameters.
  3098  //
  3099  //   * MissingFileSystemConfiguration
  3100  //   A file system configuration is required for this operation.
  3101  //
  3102  //   * ServiceLimitExceeded
  3103  //   An error indicating that a particular service limit was exceeded. You can
  3104  //   increase some service limits by contacting Amazon Web Services Support.
  3105  //
  3106  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateFileSystem
  3107  func (c *FSx) UpdateFileSystem(input *UpdateFileSystemInput) (*UpdateFileSystemOutput, error) {
  3108  	req, out := c.UpdateFileSystemRequest(input)
  3109  	return out, req.Send()
  3110  }
  3111  
  3112  // UpdateFileSystemWithContext is the same as UpdateFileSystem with the addition of
  3113  // the ability to pass a context and additional request options.
  3114  //
  3115  // See UpdateFileSystem for details on how to use this API operation.
  3116  //
  3117  // The context must be non-nil and will be used for request cancellation. If
  3118  // the context is nil a panic will occur. In the future the SDK may create
  3119  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3120  // for more information on using Contexts.
  3121  func (c *FSx) UpdateFileSystemWithContext(ctx aws.Context, input *UpdateFileSystemInput, opts ...request.Option) (*UpdateFileSystemOutput, error) {
  3122  	req, out := c.UpdateFileSystemRequest(input)
  3123  	req.SetContext(ctx)
  3124  	req.ApplyOptions(opts...)
  3125  	return out, req.Send()
  3126  }
  3127  
  3128  const opUpdateStorageVirtualMachine = "UpdateStorageVirtualMachine"
  3129  
  3130  // UpdateStorageVirtualMachineRequest generates a "aws/request.Request" representing the
  3131  // client's request for the UpdateStorageVirtualMachine operation. The "output" return
  3132  // value will be populated with the request's response once the request completes
  3133  // successfully.
  3134  //
  3135  // Use "Send" method on the returned Request to send the API call to the service.
  3136  // the "output" return value is not valid until after Send returns without error.
  3137  //
  3138  // See UpdateStorageVirtualMachine for more information on using the UpdateStorageVirtualMachine
  3139  // API call, and error handling.
  3140  //
  3141  // This method is useful when you want to inject custom logic or configuration
  3142  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3143  //
  3144  //
  3145  //    // Example sending a request using the UpdateStorageVirtualMachineRequest method.
  3146  //    req, resp := client.UpdateStorageVirtualMachineRequest(params)
  3147  //
  3148  //    err := req.Send()
  3149  //    if err == nil { // resp is now filled
  3150  //        fmt.Println(resp)
  3151  //    }
  3152  //
  3153  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateStorageVirtualMachine
  3154  func (c *FSx) UpdateStorageVirtualMachineRequest(input *UpdateStorageVirtualMachineInput) (req *request.Request, output *UpdateStorageVirtualMachineOutput) {
  3155  	op := &request.Operation{
  3156  		Name:       opUpdateStorageVirtualMachine,
  3157  		HTTPMethod: "POST",
  3158  		HTTPPath:   "/",
  3159  	}
  3160  
  3161  	if input == nil {
  3162  		input = &UpdateStorageVirtualMachineInput{}
  3163  	}
  3164  
  3165  	output = &UpdateStorageVirtualMachineOutput{}
  3166  	req = c.newRequest(op, input, output)
  3167  	return
  3168  }
  3169  
  3170  // UpdateStorageVirtualMachine API operation for Amazon FSx.
  3171  //
  3172  // Updates an Amazon FSx for ONTAP storage virtual machine (SVM).
  3173  //
  3174  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3175  // with awserr.Error's Code and Message methods to get detailed information about
  3176  // the error.
  3177  //
  3178  // See the AWS API reference guide for Amazon FSx's
  3179  // API operation UpdateStorageVirtualMachine for usage and error information.
  3180  //
  3181  // Returned Error Types:
  3182  //   * BadRequest
  3183  //   A generic error indicating a failure with a client request.
  3184  //
  3185  //   * IncompatibleParameterError
  3186  //   The error returned when a second request is received with the same client
  3187  //   request token but different parameters settings. A client request token should
  3188  //   always uniquely identify a single request.
  3189  //
  3190  //   * InternalServerError
  3191  //   A generic error indicating a server-side failure.
  3192  //
  3193  //   * StorageVirtualMachineNotFound
  3194  //   No Amazon FSx for NetApp ONTAP SVMs were found based upon the supplied parameters.
  3195  //
  3196  //   * UnsupportedOperation
  3197  //   The requested operation is not supported for this resource or API.
  3198  //
  3199  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateStorageVirtualMachine
  3200  func (c *FSx) UpdateStorageVirtualMachine(input *UpdateStorageVirtualMachineInput) (*UpdateStorageVirtualMachineOutput, error) {
  3201  	req, out := c.UpdateStorageVirtualMachineRequest(input)
  3202  	return out, req.Send()
  3203  }
  3204  
  3205  // UpdateStorageVirtualMachineWithContext is the same as UpdateStorageVirtualMachine with the addition of
  3206  // the ability to pass a context and additional request options.
  3207  //
  3208  // See UpdateStorageVirtualMachine for details on how to use this API operation.
  3209  //
  3210  // The context must be non-nil and will be used for request cancellation. If
  3211  // the context is nil a panic will occur. In the future the SDK may create
  3212  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3213  // for more information on using Contexts.
  3214  func (c *FSx) UpdateStorageVirtualMachineWithContext(ctx aws.Context, input *UpdateStorageVirtualMachineInput, opts ...request.Option) (*UpdateStorageVirtualMachineOutput, error) {
  3215  	req, out := c.UpdateStorageVirtualMachineRequest(input)
  3216  	req.SetContext(ctx)
  3217  	req.ApplyOptions(opts...)
  3218  	return out, req.Send()
  3219  }
  3220  
  3221  const opUpdateVolume = "UpdateVolume"
  3222  
  3223  // UpdateVolumeRequest generates a "aws/request.Request" representing the
  3224  // client's request for the UpdateVolume operation. The "output" return
  3225  // value will be populated with the request's response once the request completes
  3226  // successfully.
  3227  //
  3228  // Use "Send" method on the returned Request to send the API call to the service.
  3229  // the "output" return value is not valid until after Send returns without error.
  3230  //
  3231  // See UpdateVolume for more information on using the UpdateVolume
  3232  // API call, and error handling.
  3233  //
  3234  // This method is useful when you want to inject custom logic or configuration
  3235  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3236  //
  3237  //
  3238  //    // Example sending a request using the UpdateVolumeRequest method.
  3239  //    req, resp := client.UpdateVolumeRequest(params)
  3240  //
  3241  //    err := req.Send()
  3242  //    if err == nil { // resp is now filled
  3243  //        fmt.Println(resp)
  3244  //    }
  3245  //
  3246  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateVolume
  3247  func (c *FSx) UpdateVolumeRequest(input *UpdateVolumeInput) (req *request.Request, output *UpdateVolumeOutput) {
  3248  	op := &request.Operation{
  3249  		Name:       opUpdateVolume,
  3250  		HTTPMethod: "POST",
  3251  		HTTPPath:   "/",
  3252  	}
  3253  
  3254  	if input == nil {
  3255  		input = &UpdateVolumeInput{}
  3256  	}
  3257  
  3258  	output = &UpdateVolumeOutput{}
  3259  	req = c.newRequest(op, input, output)
  3260  	return
  3261  }
  3262  
  3263  // UpdateVolume API operation for Amazon FSx.
  3264  //
  3265  // Updates an Amazon FSx for NetApp ONTAP volume's configuration.
  3266  //
  3267  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3268  // with awserr.Error's Code and Message methods to get detailed information about
  3269  // the error.
  3270  //
  3271  // See the AWS API reference guide for Amazon FSx's
  3272  // API operation UpdateVolume for usage and error information.
  3273  //
  3274  // Returned Error Types:
  3275  //   * BadRequest
  3276  //   A generic error indicating a failure with a client request.
  3277  //
  3278  //   * IncompatibleParameterError
  3279  //   The error returned when a second request is received with the same client
  3280  //   request token but different parameters settings. A client request token should
  3281  //   always uniquely identify a single request.
  3282  //
  3283  //   * InternalServerError
  3284  //   A generic error indicating a server-side failure.
  3285  //
  3286  //   * MissingVolumeConfiguration
  3287  //   A volume configuration is required for this operation.
  3288  //
  3289  //   * VolumeNotFound
  3290  //   No Amazon FSx for NetApp ONTAP volumes were found based upon the supplied
  3291  //   parameters.
  3292  //
  3293  // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateVolume
  3294  func (c *FSx) UpdateVolume(input *UpdateVolumeInput) (*UpdateVolumeOutput, error) {
  3295  	req, out := c.UpdateVolumeRequest(input)
  3296  	return out, req.Send()
  3297  }
  3298  
  3299  // UpdateVolumeWithContext is the same as UpdateVolume with the addition of
  3300  // the ability to pass a context and additional request options.
  3301  //
  3302  // See UpdateVolume for details on how to use this API operation.
  3303  //
  3304  // The context must be non-nil and will be used for request cancellation. If
  3305  // the context is nil a panic will occur. In the future the SDK may create
  3306  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3307  // for more information on using Contexts.
  3308  func (c *FSx) UpdateVolumeWithContext(ctx aws.Context, input *UpdateVolumeInput, opts ...request.Option) (*UpdateVolumeOutput, error) {
  3309  	req, out := c.UpdateVolumeRequest(input)
  3310  	req.SetContext(ctx)
  3311  	req.ApplyOptions(opts...)
  3312  	return out, req.Send()
  3313  }
  3314  
  3315  // The Microsoft AD attributes of the Amazon FSx for Windows File Server file
  3316  // system.
  3317  type ActiveDirectoryBackupAttributes struct {
  3318  	_ struct{} `type:"structure"`
  3319  
  3320  	// The ID of the Amazon Web Services Managed Microsoft Active Directory instance
  3321  	// to which the file system is joined.
  3322  	ActiveDirectoryId *string `min:"12" type:"string"`
  3323  
  3324  	// The fully qualified domain name of the self-managed AD directory.
  3325  	DomainName *string `min:"1" type:"string"`
  3326  
  3327  	// The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify
  3328  	// Amazon Web Services resources. We require an ARN when you need to specify
  3329  	// a resource unambiguously across all of Amazon Web Services. For more information,
  3330  	// see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  3331  	// in the Amazon Web Services General Reference.
  3332  	ResourceARN *string `min:"8" type:"string"`
  3333  }
  3334  
  3335  // String returns the string representation.
  3336  //
  3337  // API parameter values that are decorated as "sensitive" in the API will not
  3338  // be included in the string output. The member name will be present, but the
  3339  // value will be replaced with "sensitive".
  3340  func (s ActiveDirectoryBackupAttributes) String() string {
  3341  	return awsutil.Prettify(s)
  3342  }
  3343  
  3344  // GoString returns the string representation.
  3345  //
  3346  // API parameter values that are decorated as "sensitive" in the API will not
  3347  // be included in the string output. The member name will be present, but the
  3348  // value will be replaced with "sensitive".
  3349  func (s ActiveDirectoryBackupAttributes) GoString() string {
  3350  	return s.String()
  3351  }
  3352  
  3353  // SetActiveDirectoryId sets the ActiveDirectoryId field's value.
  3354  func (s *ActiveDirectoryBackupAttributes) SetActiveDirectoryId(v string) *ActiveDirectoryBackupAttributes {
  3355  	s.ActiveDirectoryId = &v
  3356  	return s
  3357  }
  3358  
  3359  // SetDomainName sets the DomainName field's value.
  3360  func (s *ActiveDirectoryBackupAttributes) SetDomainName(v string) *ActiveDirectoryBackupAttributes {
  3361  	s.DomainName = &v
  3362  	return s
  3363  }
  3364  
  3365  // SetResourceARN sets the ResourceARN field's value.
  3366  func (s *ActiveDirectoryBackupAttributes) SetResourceARN(v string) *ActiveDirectoryBackupAttributes {
  3367  	s.ResourceARN = &v
  3368  	return s
  3369  }
  3370  
  3371  // An Active Directory error.
  3372  type ActiveDirectoryError struct {
  3373  	_            struct{}                  `type:"structure"`
  3374  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3375  
  3376  	// The directory ID of the directory that an error pertains to.
  3377  	//
  3378  	// ActiveDirectoryId is a required field
  3379  	ActiveDirectoryId *string `min:"12" type:"string" required:"true"`
  3380  
  3381  	// A detailed error message.
  3382  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  3383  
  3384  	// The type of Active Directory error.
  3385  	Type *string `type:"string" enum:"ActiveDirectoryErrorType"`
  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 ActiveDirectoryError) 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 ActiveDirectoryError) GoString() string {
  3403  	return s.String()
  3404  }
  3405  
  3406  func newErrorActiveDirectoryError(v protocol.ResponseMetadata) error {
  3407  	return &ActiveDirectoryError{
  3408  		RespMetadata: v,
  3409  	}
  3410  }
  3411  
  3412  // Code returns the exception type name.
  3413  func (s *ActiveDirectoryError) Code() string {
  3414  	return "ActiveDirectoryError"
  3415  }
  3416  
  3417  // Message returns the exception's message.
  3418  func (s *ActiveDirectoryError) Message() string {
  3419  	if s.Message_ != nil {
  3420  		return *s.Message_
  3421  	}
  3422  	return ""
  3423  }
  3424  
  3425  // OrigErr always returns nil, satisfies awserr.Error interface.
  3426  func (s *ActiveDirectoryError) OrigErr() error {
  3427  	return nil
  3428  }
  3429  
  3430  func (s *ActiveDirectoryError) Error() string {
  3431  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  3432  }
  3433  
  3434  // Status code returns the HTTP status code for the request's response error.
  3435  func (s *ActiveDirectoryError) StatusCode() int {
  3436  	return s.RespMetadata.StatusCode
  3437  }
  3438  
  3439  // RequestID returns the service's response RequestID for request.
  3440  func (s *ActiveDirectoryError) RequestID() string {
  3441  	return s.RespMetadata.RequestID
  3442  }
  3443  
  3444  // Describes a specific Amazon FSx administrative action for the current Windows
  3445  // or Lustre file system.
  3446  type AdministrativeAction struct {
  3447  	_ struct{} `type:"structure"`
  3448  
  3449  	// Describes the type of administrative action, as follows:
  3450  	//
  3451  	//    * FILE_SYSTEM_UPDATE - A file system update administrative action initiated
  3452  	//    by the user from the Amazon FSx console, API (UpdateFileSystem), or CLI
  3453  	//    (update-file-system).
  3454  	//
  3455  	//    * STORAGE_OPTIMIZATION - Once the FILE_SYSTEM_UPDATE task to increase
  3456  	//    a file system's storage capacity completes successfully, a STORAGE_OPTIMIZATION
  3457  	//    task starts. For Windows, storage optimization is the process of migrating
  3458  	//    the file system data to the new, larger disks. For Lustre, storage optimization
  3459  	//    consists of rebalancing the data across the existing and newly added file
  3460  	//    servers. You can track the storage optimization progress using the ProgressPercent
  3461  	//    property. When STORAGE_OPTIMIZATION completes successfully, the parent
  3462  	//    FILE_SYSTEM_UPDATE action status changes to COMPLETED. For more information,
  3463  	//    see Managing storage capacity (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html)
  3464  	//    in the Amazon FSx for Windows File Server User Guide and Managing storage
  3465  	//    and throughput capacity (https://docs.aws.amazon.com/fsx/latest/LustreGuide/managing-storage-capacity.html)
  3466  	//    in the Amazon FSx for Lustre User Guide.
  3467  	//
  3468  	//    * FILE_SYSTEM_ALIAS_ASSOCIATION - A file system update to associate a
  3469  	//    new DNS alias with the file system. For more information, see .
  3470  	//
  3471  	//    * FILE_SYSTEM_ALIAS_DISASSOCIATION - A file system update to disassociate
  3472  	//    a DNS alias from the file system. For more information, see .
  3473  	AdministrativeActionType *string `type:"string" enum:"AdministrativeActionType"`
  3474  
  3475  	// Provides information about a failed administrative action.
  3476  	FailureDetails *AdministrativeActionFailureDetails `type:"structure"`
  3477  
  3478  	// Provides the percent complete of a STORAGE_OPTIMIZATION administrative action.
  3479  	// Does not apply to any other administrative action type.
  3480  	ProgressPercent *int64 `type:"integer"`
  3481  
  3482  	// Time that the administrative action request was received.
  3483  	RequestTime *time.Time `type:"timestamp"`
  3484  
  3485  	// Describes the status of the administrative action, as follows:
  3486  	//
  3487  	//    * FAILED - Amazon FSx failed to process the administrative action successfully.
  3488  	//
  3489  	//    * IN_PROGRESS - Amazon FSx is processing the administrative action.
  3490  	//
  3491  	//    * PENDING - Amazon FSx is waiting to process the administrative action.
  3492  	//
  3493  	//    * COMPLETED - Amazon FSx has finished processing the administrative task.
  3494  	//
  3495  	//    * UPDATED_OPTIMIZING - For a storage capacity increase update, Amazon
  3496  	//    FSx has updated the file system with the new storage capacity, and is
  3497  	//    now performing the storage optimization process. For more information,
  3498  	//    see Managing storage capacity (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html)
  3499  	//    in the Amazon FSx for Windows File Server User Guide and Managing storage
  3500  	//    and throughput capacity (https://docs.aws.amazon.com/fsx/latest/LustreGuide/managing-storage-capacity.html)
  3501  	//    in the Amazon FSx for Lustre User Guide.
  3502  	Status *string `type:"string" enum:"Status"`
  3503  
  3504  	// Describes the target value for the administration action, provided in the
  3505  	// UpdateFileSystem operation. Returned for FILE_SYSTEM_UPDATE administrative
  3506  	// actions.
  3507  	TargetFileSystemValues *FileSystem `type:"structure"`
  3508  
  3509  	// Describes an Amazon FSx for NetApp ONTAP volume.
  3510  	TargetVolumeValues *Volume `type:"structure"`
  3511  }
  3512  
  3513  // String returns the string representation.
  3514  //
  3515  // API parameter values that are decorated as "sensitive" in the API will not
  3516  // be included in the string output. The member name will be present, but the
  3517  // value will be replaced with "sensitive".
  3518  func (s AdministrativeAction) String() string {
  3519  	return awsutil.Prettify(s)
  3520  }
  3521  
  3522  // GoString returns the string representation.
  3523  //
  3524  // API parameter values that are decorated as "sensitive" in the API will not
  3525  // be included in the string output. The member name will be present, but the
  3526  // value will be replaced with "sensitive".
  3527  func (s AdministrativeAction) GoString() string {
  3528  	return s.String()
  3529  }
  3530  
  3531  // SetAdministrativeActionType sets the AdministrativeActionType field's value.
  3532  func (s *AdministrativeAction) SetAdministrativeActionType(v string) *AdministrativeAction {
  3533  	s.AdministrativeActionType = &v
  3534  	return s
  3535  }
  3536  
  3537  // SetFailureDetails sets the FailureDetails field's value.
  3538  func (s *AdministrativeAction) SetFailureDetails(v *AdministrativeActionFailureDetails) *AdministrativeAction {
  3539  	s.FailureDetails = v
  3540  	return s
  3541  }
  3542  
  3543  // SetProgressPercent sets the ProgressPercent field's value.
  3544  func (s *AdministrativeAction) SetProgressPercent(v int64) *AdministrativeAction {
  3545  	s.ProgressPercent = &v
  3546  	return s
  3547  }
  3548  
  3549  // SetRequestTime sets the RequestTime field's value.
  3550  func (s *AdministrativeAction) SetRequestTime(v time.Time) *AdministrativeAction {
  3551  	s.RequestTime = &v
  3552  	return s
  3553  }
  3554  
  3555  // SetStatus sets the Status field's value.
  3556  func (s *AdministrativeAction) SetStatus(v string) *AdministrativeAction {
  3557  	s.Status = &v
  3558  	return s
  3559  }
  3560  
  3561  // SetTargetFileSystemValues sets the TargetFileSystemValues field's value.
  3562  func (s *AdministrativeAction) SetTargetFileSystemValues(v *FileSystem) *AdministrativeAction {
  3563  	s.TargetFileSystemValues = v
  3564  	return s
  3565  }
  3566  
  3567  // SetTargetVolumeValues sets the TargetVolumeValues field's value.
  3568  func (s *AdministrativeAction) SetTargetVolumeValues(v *Volume) *AdministrativeAction {
  3569  	s.TargetVolumeValues = v
  3570  	return s
  3571  }
  3572  
  3573  // Provides information about a failed administrative action.
  3574  type AdministrativeActionFailureDetails struct {
  3575  	_ struct{} `type:"structure"`
  3576  
  3577  	// Error message providing details about the failed administrative action.
  3578  	Message *string `min:"1" type:"string"`
  3579  }
  3580  
  3581  // String returns the string representation.
  3582  //
  3583  // API parameter values that are decorated as "sensitive" in the API will not
  3584  // be included in the string output. The member name will be present, but the
  3585  // value will be replaced with "sensitive".
  3586  func (s AdministrativeActionFailureDetails) String() string {
  3587  	return awsutil.Prettify(s)
  3588  }
  3589  
  3590  // GoString returns the string representation.
  3591  //
  3592  // API parameter values that are decorated as "sensitive" in the API will not
  3593  // be included in the string output. The member name will be present, but the
  3594  // value will be replaced with "sensitive".
  3595  func (s AdministrativeActionFailureDetails) GoString() string {
  3596  	return s.String()
  3597  }
  3598  
  3599  // SetMessage sets the Message field's value.
  3600  func (s *AdministrativeActionFailureDetails) SetMessage(v string) *AdministrativeActionFailureDetails {
  3601  	s.Message = &v
  3602  	return s
  3603  }
  3604  
  3605  // A DNS alias that is associated with the file system. You can use a DNS alias
  3606  // to access a file system using user-defined DNS names, in addition to the
  3607  // default DNS name that Amazon FSx assigns to the file system. For more information,
  3608  // see DNS aliases (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html)
  3609  // in the FSx for Windows File Server User Guide.
  3610  type Alias struct {
  3611  	_ struct{} `type:"structure"`
  3612  
  3613  	// Describes the state of the DNS alias.
  3614  	//
  3615  	//    * AVAILABLE - The DNS alias is associated with an Amazon FSx file system.
  3616  	//
  3617  	//    * CREATING - Amazon FSx is creating the DNS alias and associating it with
  3618  	//    the file system.
  3619  	//
  3620  	//    * CREATE_FAILED - Amazon FSx was unable to associate the DNS alias with
  3621  	//    the file system.
  3622  	//
  3623  	//    * DELETING - Amazon FSx is disassociating the DNS alias from the file
  3624  	//    system and deleting it.
  3625  	//
  3626  	//    * DELETE_FAILED - Amazon FSx was unable to disassociate the DNS alias
  3627  	//    from the file system.
  3628  	Lifecycle *string `type:"string" enum:"AliasLifecycle"`
  3629  
  3630  	// The name of the DNS alias. The alias name has to meet the following requirements:
  3631  	//
  3632  	//    * Formatted as a fully-qualified domain name (FQDN), hostname.domain,
  3633  	//    for example, accounting.example.com.
  3634  	//
  3635  	//    * Can contain alphanumeric characters, the underscore (_), and the hyphen
  3636  	//    (-).
  3637  	//
  3638  	//    * Cannot start or end with a hyphen.
  3639  	//
  3640  	//    * Can start with a numeric.
  3641  	//
  3642  	// For DNS names, Amazon FSx stores alphabetic characters as lowercase letters
  3643  	// (a-z), regardless of how you specify them: as uppercase letters, lowercase
  3644  	// letters, or the corresponding letters in escape codes.
  3645  	Name *string `min:"4" type:"string"`
  3646  }
  3647  
  3648  // String returns the string representation.
  3649  //
  3650  // API parameter values that are decorated as "sensitive" in the API will not
  3651  // be included in the string output. The member name will be present, but the
  3652  // value will be replaced with "sensitive".
  3653  func (s Alias) String() string {
  3654  	return awsutil.Prettify(s)
  3655  }
  3656  
  3657  // GoString returns the string representation.
  3658  //
  3659  // API parameter values that are decorated as "sensitive" in the API will not
  3660  // be included in the string output. The member name will be present, but the
  3661  // value will be replaced with "sensitive".
  3662  func (s Alias) GoString() string {
  3663  	return s.String()
  3664  }
  3665  
  3666  // SetLifecycle sets the Lifecycle field's value.
  3667  func (s *Alias) SetLifecycle(v string) *Alias {
  3668  	s.Lifecycle = &v
  3669  	return s
  3670  }
  3671  
  3672  // SetName sets the Name field's value.
  3673  func (s *Alias) SetName(v string) *Alias {
  3674  	s.Name = &v
  3675  	return s
  3676  }
  3677  
  3678  // The request object specifying one or more DNS alias names to associate with
  3679  // an Amazon FSx for Windows File Server file system.
  3680  type AssociateFileSystemAliasesInput struct {
  3681  	_ struct{} `type:"structure"`
  3682  
  3683  	// An array of one or more DNS alias names to associate with the file system.
  3684  	// The alias name has to comply with the following formatting requirements:
  3685  	//
  3686  	//    * Formatted as a fully-qualified domain name (FQDN), hostname.domain ,
  3687  	//    for example, accounting.corp.example.com.
  3688  	//
  3689  	//    * Can contain alphanumeric characters and the hyphen (-).
  3690  	//
  3691  	//    * Cannot start or end with a hyphen.
  3692  	//
  3693  	//    * Can start with a numeric.
  3694  	//
  3695  	// For DNS alias names, Amazon FSx stores alphabetic characters as lowercase
  3696  	// letters (a-z), regardless of how you specify them: as uppercase letters,
  3697  	// lowercase letters, or the corresponding letters in escape codes.
  3698  	//
  3699  	// Aliases is a required field
  3700  	Aliases []*string `type:"list" required:"true"`
  3701  
  3702  	// (Optional) An idempotency token for resource creation, in a string of up
  3703  	// to 64 ASCII characters. This token is automatically filled on your behalf
  3704  	// when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.
  3705  	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
  3706  
  3707  	// Specifies the file system with which you want to associate one or more DNS
  3708  	// aliases.
  3709  	//
  3710  	// FileSystemId is a required field
  3711  	FileSystemId *string `min:"11" type:"string" required:"true"`
  3712  }
  3713  
  3714  // String returns the string representation.
  3715  //
  3716  // API parameter values that are decorated as "sensitive" in the API will not
  3717  // be included in the string output. The member name will be present, but the
  3718  // value will be replaced with "sensitive".
  3719  func (s AssociateFileSystemAliasesInput) String() string {
  3720  	return awsutil.Prettify(s)
  3721  }
  3722  
  3723  // GoString returns the string representation.
  3724  //
  3725  // API parameter values that are decorated as "sensitive" in the API will not
  3726  // be included in the string output. The member name will be present, but the
  3727  // value will be replaced with "sensitive".
  3728  func (s AssociateFileSystemAliasesInput) GoString() string {
  3729  	return s.String()
  3730  }
  3731  
  3732  // Validate inspects the fields of the type to determine if they are valid.
  3733  func (s *AssociateFileSystemAliasesInput) Validate() error {
  3734  	invalidParams := request.ErrInvalidParams{Context: "AssociateFileSystemAliasesInput"}
  3735  	if s.Aliases == nil {
  3736  		invalidParams.Add(request.NewErrParamRequired("Aliases"))
  3737  	}
  3738  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  3739  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  3740  	}
  3741  	if s.FileSystemId == nil {
  3742  		invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
  3743  	}
  3744  	if s.FileSystemId != nil && len(*s.FileSystemId) < 11 {
  3745  		invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11))
  3746  	}
  3747  
  3748  	if invalidParams.Len() > 0 {
  3749  		return invalidParams
  3750  	}
  3751  	return nil
  3752  }
  3753  
  3754  // SetAliases sets the Aliases field's value.
  3755  func (s *AssociateFileSystemAliasesInput) SetAliases(v []*string) *AssociateFileSystemAliasesInput {
  3756  	s.Aliases = v
  3757  	return s
  3758  }
  3759  
  3760  // SetClientRequestToken sets the ClientRequestToken field's value.
  3761  func (s *AssociateFileSystemAliasesInput) SetClientRequestToken(v string) *AssociateFileSystemAliasesInput {
  3762  	s.ClientRequestToken = &v
  3763  	return s
  3764  }
  3765  
  3766  // SetFileSystemId sets the FileSystemId field's value.
  3767  func (s *AssociateFileSystemAliasesInput) SetFileSystemId(v string) *AssociateFileSystemAliasesInput {
  3768  	s.FileSystemId = &v
  3769  	return s
  3770  }
  3771  
  3772  // The system generated response showing the DNS aliases that Amazon FSx is
  3773  // attempting to associate with the file system. Use the API operation to monitor
  3774  // the status of the aliases Amazon FSx is associating with the file system.
  3775  // It can take up to 2.5 minutes for the alias status to change from CREATING
  3776  // to AVAILABLE.
  3777  type AssociateFileSystemAliasesOutput struct {
  3778  	_ struct{} `type:"structure"`
  3779  
  3780  	// An array of the DNS aliases that Amazon FSx is associating with the file
  3781  	// system.
  3782  	Aliases []*Alias `type:"list"`
  3783  }
  3784  
  3785  // String returns the string representation.
  3786  //
  3787  // API parameter values that are decorated as "sensitive" in the API will not
  3788  // be included in the string output. The member name will be present, but the
  3789  // value will be replaced with "sensitive".
  3790  func (s AssociateFileSystemAliasesOutput) String() string {
  3791  	return awsutil.Prettify(s)
  3792  }
  3793  
  3794  // GoString returns the string representation.
  3795  //
  3796  // API parameter values that are decorated as "sensitive" in the API will not
  3797  // be included in the string output. The member name will be present, but the
  3798  // value will be replaced with "sensitive".
  3799  func (s AssociateFileSystemAliasesOutput) GoString() string {
  3800  	return s.String()
  3801  }
  3802  
  3803  // SetAliases sets the Aliases field's value.
  3804  func (s *AssociateFileSystemAliasesOutput) SetAliases(v []*Alias) *AssociateFileSystemAliasesOutput {
  3805  	s.Aliases = v
  3806  	return s
  3807  }
  3808  
  3809  // A backup of an Amazon FSx for Windows File Server or Amazon FSx for Lustre
  3810  // file system, or of an Amazon FSx for NetApp ONTAP volume.
  3811  type Backup struct {
  3812  	_ struct{} `type:"structure"`
  3813  
  3814  	// The ID of the backup.
  3815  	//
  3816  	// BackupId is a required field
  3817  	BackupId *string `min:"12" type:"string" required:"true"`
  3818  
  3819  	// The time when a particular backup was created.
  3820  	//
  3821  	// CreationTime is a required field
  3822  	CreationTime *time.Time `type:"timestamp" required:"true"`
  3823  
  3824  	// The configuration of the self-managed Microsoft Active Directory (AD) to
  3825  	// which the Windows File Server instance is joined.
  3826  	DirectoryInformation *ActiveDirectoryBackupAttributes `type:"structure"`
  3827  
  3828  	// Details explaining any failures that occur when creating a backup.
  3829  	FailureDetails *BackupFailureDetails `type:"structure"`
  3830  
  3831  	// Metadata of the file system associated with the backup. This metadata is
  3832  	// persisted even if the file system is deleted.
  3833  	//
  3834  	// FileSystem is a required field
  3835  	FileSystem *FileSystem `type:"structure" required:"true"`
  3836  
  3837  	// The ID of the Key Management Service (KMS) key used to encrypt the backup
  3838  	// of the Amazon FSx file system's data at rest.
  3839  	KmsKeyId *string `min:"1" type:"string"`
  3840  
  3841  	// The lifecycle status of the backup.
  3842  	//
  3843  	//    * AVAILABLE - The backup is fully available.
  3844  	//
  3845  	//    * PENDING - For user-initiated backups on Lustre file systems only; Amazon
  3846  	//    FSx has not started creating the backup.
  3847  	//
  3848  	//    * CREATING - Amazon FSx is creating the backup.
  3849  	//
  3850  	//    * TRANSFERRING - For user-initiated backups on Lustre file systems only;
  3851  	//    Amazon FSx is transferring the backup to S3.
  3852  	//
  3853  	//    * COPYING - Amazon FSx is copying the backup.
  3854  	//
  3855  	//    * DELETED - Amazon FSx deleted the backup and it is no longer available.
  3856  	//
  3857  	//    * FAILED - Amazon FSx could not complete the backup.
  3858  	//
  3859  	// Lifecycle is a required field
  3860  	Lifecycle *string `type:"string" required:"true" enum:"BackupLifecycle"`
  3861  
  3862  	// An Amazon Web Services account ID. This ID is a 12-digit number that you
  3863  	// use to construct Amazon Resource Names (ARNs) for resources.
  3864  	OwnerId *string `min:"12" type:"string"`
  3865  
  3866  	// The current percent of progress of an asynchronous task.
  3867  	ProgressPercent *int64 `type:"integer"`
  3868  
  3869  	// The Amazon Resource Name (ARN) for the backup resource.
  3870  	ResourceARN *string `min:"8" type:"string"`
  3871  
  3872  	// Specifies the resource type that is backed up.
  3873  	ResourceType *string `type:"string" enum:"ResourceType"`
  3874  
  3875  	// The ID of the source backup. Specifies the backup you are copying.
  3876  	SourceBackupId *string `min:"12" type:"string"`
  3877  
  3878  	// The source Region of the backup. Specifies the Region from where this backup
  3879  	// is copied.
  3880  	SourceBackupRegion *string `min:"1" type:"string"`
  3881  
  3882  	// Tags associated with a particular file system.
  3883  	Tags []*Tag `min:"1" type:"list"`
  3884  
  3885  	// The type of the file system backup.
  3886  	//
  3887  	// Type is a required field
  3888  	Type *string `type:"string" required:"true" enum:"BackupType"`
  3889  
  3890  	// Describes an Amazon FSx for NetApp ONTAP volume.
  3891  	Volume *Volume `type:"structure"`
  3892  }
  3893  
  3894  // String returns the string representation.
  3895  //
  3896  // API parameter values that are decorated as "sensitive" in the API will not
  3897  // be included in the string output. The member name will be present, but the
  3898  // value will be replaced with "sensitive".
  3899  func (s Backup) String() string {
  3900  	return awsutil.Prettify(s)
  3901  }
  3902  
  3903  // GoString returns the string representation.
  3904  //
  3905  // API parameter values that are decorated as "sensitive" in the API will not
  3906  // be included in the string output. The member name will be present, but the
  3907  // value will be replaced with "sensitive".
  3908  func (s Backup) GoString() string {
  3909  	return s.String()
  3910  }
  3911  
  3912  // SetBackupId sets the BackupId field's value.
  3913  func (s *Backup) SetBackupId(v string) *Backup {
  3914  	s.BackupId = &v
  3915  	return s
  3916  }
  3917  
  3918  // SetCreationTime sets the CreationTime field's value.
  3919  func (s *Backup) SetCreationTime(v time.Time) *Backup {
  3920  	s.CreationTime = &v
  3921  	return s
  3922  }
  3923  
  3924  // SetDirectoryInformation sets the DirectoryInformation field's value.
  3925  func (s *Backup) SetDirectoryInformation(v *ActiveDirectoryBackupAttributes) *Backup {
  3926  	s.DirectoryInformation = v
  3927  	return s
  3928  }
  3929  
  3930  // SetFailureDetails sets the FailureDetails field's value.
  3931  func (s *Backup) SetFailureDetails(v *BackupFailureDetails) *Backup {
  3932  	s.FailureDetails = v
  3933  	return s
  3934  }
  3935  
  3936  // SetFileSystem sets the FileSystem field's value.
  3937  func (s *Backup) SetFileSystem(v *FileSystem) *Backup {
  3938  	s.FileSystem = v
  3939  	return s
  3940  }
  3941  
  3942  // SetKmsKeyId sets the KmsKeyId field's value.
  3943  func (s *Backup) SetKmsKeyId(v string) *Backup {
  3944  	s.KmsKeyId = &v
  3945  	return s
  3946  }
  3947  
  3948  // SetLifecycle sets the Lifecycle field's value.
  3949  func (s *Backup) SetLifecycle(v string) *Backup {
  3950  	s.Lifecycle = &v
  3951  	return s
  3952  }
  3953  
  3954  // SetOwnerId sets the OwnerId field's value.
  3955  func (s *Backup) SetOwnerId(v string) *Backup {
  3956  	s.OwnerId = &v
  3957  	return s
  3958  }
  3959  
  3960  // SetProgressPercent sets the ProgressPercent field's value.
  3961  func (s *Backup) SetProgressPercent(v int64) *Backup {
  3962  	s.ProgressPercent = &v
  3963  	return s
  3964  }
  3965  
  3966  // SetResourceARN sets the ResourceARN field's value.
  3967  func (s *Backup) SetResourceARN(v string) *Backup {
  3968  	s.ResourceARN = &v
  3969  	return s
  3970  }
  3971  
  3972  // SetResourceType sets the ResourceType field's value.
  3973  func (s *Backup) SetResourceType(v string) *Backup {
  3974  	s.ResourceType = &v
  3975  	return s
  3976  }
  3977  
  3978  // SetSourceBackupId sets the SourceBackupId field's value.
  3979  func (s *Backup) SetSourceBackupId(v string) *Backup {
  3980  	s.SourceBackupId = &v
  3981  	return s
  3982  }
  3983  
  3984  // SetSourceBackupRegion sets the SourceBackupRegion field's value.
  3985  func (s *Backup) SetSourceBackupRegion(v string) *Backup {
  3986  	s.SourceBackupRegion = &v
  3987  	return s
  3988  }
  3989  
  3990  // SetTags sets the Tags field's value.
  3991  func (s *Backup) SetTags(v []*Tag) *Backup {
  3992  	s.Tags = v
  3993  	return s
  3994  }
  3995  
  3996  // SetType sets the Type field's value.
  3997  func (s *Backup) SetType(v string) *Backup {
  3998  	s.Type = &v
  3999  	return s
  4000  }
  4001  
  4002  // SetVolume sets the Volume field's value.
  4003  func (s *Backup) SetVolume(v *Volume) *Backup {
  4004  	s.Volume = v
  4005  	return s
  4006  }
  4007  
  4008  // You can't delete a backup while it's being copied.
  4009  type BackupBeingCopied struct {
  4010  	_            struct{}                  `type:"structure"`
  4011  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4012  
  4013  	// The ID of the source backup. Specifies the backup you are copying.
  4014  	BackupId *string `min:"12" type:"string"`
  4015  
  4016  	// A detailed error message.
  4017  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  4018  }
  4019  
  4020  // String returns the string representation.
  4021  //
  4022  // API parameter values that are decorated as "sensitive" in the API will not
  4023  // be included in the string output. The member name will be present, but the
  4024  // value will be replaced with "sensitive".
  4025  func (s BackupBeingCopied) String() string {
  4026  	return awsutil.Prettify(s)
  4027  }
  4028  
  4029  // GoString returns the string representation.
  4030  //
  4031  // API parameter values that are decorated as "sensitive" in the API will not
  4032  // be included in the string output. The member name will be present, but the
  4033  // value will be replaced with "sensitive".
  4034  func (s BackupBeingCopied) GoString() string {
  4035  	return s.String()
  4036  }
  4037  
  4038  func newErrorBackupBeingCopied(v protocol.ResponseMetadata) error {
  4039  	return &BackupBeingCopied{
  4040  		RespMetadata: v,
  4041  	}
  4042  }
  4043  
  4044  // Code returns the exception type name.
  4045  func (s *BackupBeingCopied) Code() string {
  4046  	return "BackupBeingCopied"
  4047  }
  4048  
  4049  // Message returns the exception's message.
  4050  func (s *BackupBeingCopied) Message() string {
  4051  	if s.Message_ != nil {
  4052  		return *s.Message_
  4053  	}
  4054  	return ""
  4055  }
  4056  
  4057  // OrigErr always returns nil, satisfies awserr.Error interface.
  4058  func (s *BackupBeingCopied) OrigErr() error {
  4059  	return nil
  4060  }
  4061  
  4062  func (s *BackupBeingCopied) Error() string {
  4063  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  4064  }
  4065  
  4066  // Status code returns the HTTP status code for the request's response error.
  4067  func (s *BackupBeingCopied) StatusCode() int {
  4068  	return s.RespMetadata.StatusCode
  4069  }
  4070  
  4071  // RequestID returns the service's response RequestID for request.
  4072  func (s *BackupBeingCopied) RequestID() string {
  4073  	return s.RespMetadata.RequestID
  4074  }
  4075  
  4076  // If backup creation fails, this structure contains the details of that failure.
  4077  type BackupFailureDetails struct {
  4078  	_ struct{} `type:"structure"`
  4079  
  4080  	// A message describing the backup creation failure.
  4081  	Message *string `min:"1" type:"string"`
  4082  }
  4083  
  4084  // String returns the string representation.
  4085  //
  4086  // API parameter values that are decorated as "sensitive" in the API will not
  4087  // be included in the string output. The member name will be present, but the
  4088  // value will be replaced with "sensitive".
  4089  func (s BackupFailureDetails) String() string {
  4090  	return awsutil.Prettify(s)
  4091  }
  4092  
  4093  // GoString returns the string representation.
  4094  //
  4095  // API parameter values that are decorated as "sensitive" in the API will not
  4096  // be included in the string output. The member name will be present, but the
  4097  // value will be replaced with "sensitive".
  4098  func (s BackupFailureDetails) GoString() string {
  4099  	return s.String()
  4100  }
  4101  
  4102  // SetMessage sets the Message field's value.
  4103  func (s *BackupFailureDetails) SetMessage(v string) *BackupFailureDetails {
  4104  	s.Message = &v
  4105  	return s
  4106  }
  4107  
  4108  // Another backup is already under way. Wait for completion before initiating
  4109  // additional backups of this file system.
  4110  type BackupInProgress struct {
  4111  	_            struct{}                  `type:"structure"`
  4112  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4113  
  4114  	// A detailed error message.
  4115  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  4116  }
  4117  
  4118  // String returns the string representation.
  4119  //
  4120  // API parameter values that are decorated as "sensitive" in the API will not
  4121  // be included in the string output. The member name will be present, but the
  4122  // value will be replaced with "sensitive".
  4123  func (s BackupInProgress) String() string {
  4124  	return awsutil.Prettify(s)
  4125  }
  4126  
  4127  // GoString returns the string representation.
  4128  //
  4129  // API parameter values that are decorated as "sensitive" in the API will not
  4130  // be included in the string output. The member name will be present, but the
  4131  // value will be replaced with "sensitive".
  4132  func (s BackupInProgress) GoString() string {
  4133  	return s.String()
  4134  }
  4135  
  4136  func newErrorBackupInProgress(v protocol.ResponseMetadata) error {
  4137  	return &BackupInProgress{
  4138  		RespMetadata: v,
  4139  	}
  4140  }
  4141  
  4142  // Code returns the exception type name.
  4143  func (s *BackupInProgress) Code() string {
  4144  	return "BackupInProgress"
  4145  }
  4146  
  4147  // Message returns the exception's message.
  4148  func (s *BackupInProgress) Message() string {
  4149  	if s.Message_ != nil {
  4150  		return *s.Message_
  4151  	}
  4152  	return ""
  4153  }
  4154  
  4155  // OrigErr always returns nil, satisfies awserr.Error interface.
  4156  func (s *BackupInProgress) OrigErr() error {
  4157  	return nil
  4158  }
  4159  
  4160  func (s *BackupInProgress) Error() string {
  4161  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4162  }
  4163  
  4164  // Status code returns the HTTP status code for the request's response error.
  4165  func (s *BackupInProgress) StatusCode() int {
  4166  	return s.RespMetadata.StatusCode
  4167  }
  4168  
  4169  // RequestID returns the service's response RequestID for request.
  4170  func (s *BackupInProgress) RequestID() string {
  4171  	return s.RespMetadata.RequestID
  4172  }
  4173  
  4174  // No Amazon FSx backups were found based upon the supplied parameters.
  4175  type BackupNotFound struct {
  4176  	_            struct{}                  `type:"structure"`
  4177  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4178  
  4179  	// A detailed error message.
  4180  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  4181  }
  4182  
  4183  // String returns the string representation.
  4184  //
  4185  // API parameter values that are decorated as "sensitive" in the API will not
  4186  // be included in the string output. The member name will be present, but the
  4187  // value will be replaced with "sensitive".
  4188  func (s BackupNotFound) String() string {
  4189  	return awsutil.Prettify(s)
  4190  }
  4191  
  4192  // GoString returns the string representation.
  4193  //
  4194  // API parameter values that are decorated as "sensitive" in the API will not
  4195  // be included in the string output. The member name will be present, but the
  4196  // value will be replaced with "sensitive".
  4197  func (s BackupNotFound) GoString() string {
  4198  	return s.String()
  4199  }
  4200  
  4201  func newErrorBackupNotFound(v protocol.ResponseMetadata) error {
  4202  	return &BackupNotFound{
  4203  		RespMetadata: v,
  4204  	}
  4205  }
  4206  
  4207  // Code returns the exception type name.
  4208  func (s *BackupNotFound) Code() string {
  4209  	return "BackupNotFound"
  4210  }
  4211  
  4212  // Message returns the exception's message.
  4213  func (s *BackupNotFound) Message() string {
  4214  	if s.Message_ != nil {
  4215  		return *s.Message_
  4216  	}
  4217  	return ""
  4218  }
  4219  
  4220  // OrigErr always returns nil, satisfies awserr.Error interface.
  4221  func (s *BackupNotFound) OrigErr() error {
  4222  	return nil
  4223  }
  4224  
  4225  func (s *BackupNotFound) Error() string {
  4226  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4227  }
  4228  
  4229  // Status code returns the HTTP status code for the request's response error.
  4230  func (s *BackupNotFound) StatusCode() int {
  4231  	return s.RespMetadata.StatusCode
  4232  }
  4233  
  4234  // RequestID returns the service's response RequestID for request.
  4235  func (s *BackupNotFound) RequestID() string {
  4236  	return s.RespMetadata.RequestID
  4237  }
  4238  
  4239  // You can't delete a backup while it's being used to restore a file system.
  4240  type BackupRestoring struct {
  4241  	_            struct{}                  `type:"structure"`
  4242  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4243  
  4244  	// The ID of a file system being restored from the backup.
  4245  	FileSystemId *string `min:"11" type:"string"`
  4246  
  4247  	// A detailed error message.
  4248  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  4249  }
  4250  
  4251  // String returns the string representation.
  4252  //
  4253  // API parameter values that are decorated as "sensitive" in the API will not
  4254  // be included in the string output. The member name will be present, but the
  4255  // value will be replaced with "sensitive".
  4256  func (s BackupRestoring) String() string {
  4257  	return awsutil.Prettify(s)
  4258  }
  4259  
  4260  // GoString returns the string representation.
  4261  //
  4262  // API parameter values that are decorated as "sensitive" in the API will not
  4263  // be included in the string output. The member name will be present, but the
  4264  // value will be replaced with "sensitive".
  4265  func (s BackupRestoring) GoString() string {
  4266  	return s.String()
  4267  }
  4268  
  4269  func newErrorBackupRestoring(v protocol.ResponseMetadata) error {
  4270  	return &BackupRestoring{
  4271  		RespMetadata: v,
  4272  	}
  4273  }
  4274  
  4275  // Code returns the exception type name.
  4276  func (s *BackupRestoring) Code() string {
  4277  	return "BackupRestoring"
  4278  }
  4279  
  4280  // Message returns the exception's message.
  4281  func (s *BackupRestoring) Message() string {
  4282  	if s.Message_ != nil {
  4283  		return *s.Message_
  4284  	}
  4285  	return ""
  4286  }
  4287  
  4288  // OrigErr always returns nil, satisfies awserr.Error interface.
  4289  func (s *BackupRestoring) OrigErr() error {
  4290  	return nil
  4291  }
  4292  
  4293  func (s *BackupRestoring) Error() string {
  4294  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  4295  }
  4296  
  4297  // Status code returns the HTTP status code for the request's response error.
  4298  func (s *BackupRestoring) StatusCode() int {
  4299  	return s.RespMetadata.StatusCode
  4300  }
  4301  
  4302  // RequestID returns the service's response RequestID for request.
  4303  func (s *BackupRestoring) RequestID() string {
  4304  	return s.RespMetadata.RequestID
  4305  }
  4306  
  4307  // A generic error indicating a failure with a client request.
  4308  type BadRequest struct {
  4309  	_            struct{}                  `type:"structure"`
  4310  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4311  
  4312  	// A detailed error message.
  4313  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  4314  }
  4315  
  4316  // String returns the string representation.
  4317  //
  4318  // API parameter values that are decorated as "sensitive" in the API will not
  4319  // be included in the string output. The member name will be present, but the
  4320  // value will be replaced with "sensitive".
  4321  func (s BadRequest) String() string {
  4322  	return awsutil.Prettify(s)
  4323  }
  4324  
  4325  // GoString returns the string representation.
  4326  //
  4327  // API parameter values that are decorated as "sensitive" in the API will not
  4328  // be included in the string output. The member name will be present, but the
  4329  // value will be replaced with "sensitive".
  4330  func (s BadRequest) GoString() string {
  4331  	return s.String()
  4332  }
  4333  
  4334  func newErrorBadRequest(v protocol.ResponseMetadata) error {
  4335  	return &BadRequest{
  4336  		RespMetadata: v,
  4337  	}
  4338  }
  4339  
  4340  // Code returns the exception type name.
  4341  func (s *BadRequest) Code() string {
  4342  	return "BadRequest"
  4343  }
  4344  
  4345  // Message returns the exception's message.
  4346  func (s *BadRequest) Message() string {
  4347  	if s.Message_ != nil {
  4348  		return *s.Message_
  4349  	}
  4350  	return ""
  4351  }
  4352  
  4353  // OrigErr always returns nil, satisfies awserr.Error interface.
  4354  func (s *BadRequest) OrigErr() error {
  4355  	return nil
  4356  }
  4357  
  4358  func (s *BadRequest) Error() string {
  4359  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4360  }
  4361  
  4362  // Status code returns the HTTP status code for the request's response error.
  4363  func (s *BadRequest) StatusCode() int {
  4364  	return s.RespMetadata.StatusCode
  4365  }
  4366  
  4367  // RequestID returns the service's response RequestID for request.
  4368  func (s *BadRequest) RequestID() string {
  4369  	return s.RespMetadata.RequestID
  4370  }
  4371  
  4372  // Cancels a data repository task.
  4373  type CancelDataRepositoryTaskInput struct {
  4374  	_ struct{} `type:"structure"`
  4375  
  4376  	// Specifies the data repository task to cancel.
  4377  	//
  4378  	// TaskId is a required field
  4379  	TaskId *string `min:"12" type:"string" required:"true"`
  4380  }
  4381  
  4382  // String returns the string representation.
  4383  //
  4384  // API parameter values that are decorated as "sensitive" in the API will not
  4385  // be included in the string output. The member name will be present, but the
  4386  // value will be replaced with "sensitive".
  4387  func (s CancelDataRepositoryTaskInput) String() string {
  4388  	return awsutil.Prettify(s)
  4389  }
  4390  
  4391  // GoString returns the string representation.
  4392  //
  4393  // API parameter values that are decorated as "sensitive" in the API will not
  4394  // be included in the string output. The member name will be present, but the
  4395  // value will be replaced with "sensitive".
  4396  func (s CancelDataRepositoryTaskInput) GoString() string {
  4397  	return s.String()
  4398  }
  4399  
  4400  // Validate inspects the fields of the type to determine if they are valid.
  4401  func (s *CancelDataRepositoryTaskInput) Validate() error {
  4402  	invalidParams := request.ErrInvalidParams{Context: "CancelDataRepositoryTaskInput"}
  4403  	if s.TaskId == nil {
  4404  		invalidParams.Add(request.NewErrParamRequired("TaskId"))
  4405  	}
  4406  	if s.TaskId != nil && len(*s.TaskId) < 12 {
  4407  		invalidParams.Add(request.NewErrParamMinLen("TaskId", 12))
  4408  	}
  4409  
  4410  	if invalidParams.Len() > 0 {
  4411  		return invalidParams
  4412  	}
  4413  	return nil
  4414  }
  4415  
  4416  // SetTaskId sets the TaskId field's value.
  4417  func (s *CancelDataRepositoryTaskInput) SetTaskId(v string) *CancelDataRepositoryTaskInput {
  4418  	s.TaskId = &v
  4419  	return s
  4420  }
  4421  
  4422  type CancelDataRepositoryTaskOutput struct {
  4423  	_ struct{} `type:"structure"`
  4424  
  4425  	// The lifecycle status of the data repository task, as follows:
  4426  	//
  4427  	//    * PENDING - Amazon FSx has not started the task.
  4428  	//
  4429  	//    * EXECUTING - Amazon FSx is processing the task.
  4430  	//
  4431  	//    * FAILED - Amazon FSx was not able to complete the task. For example,
  4432  	//    there may be files the task failed to process. The DataRepositoryTaskFailureDetails
  4433  	//    property provides more information about task failures.
  4434  	//
  4435  	//    * SUCCEEDED - FSx completed the task successfully.
  4436  	//
  4437  	//    * CANCELED - Amazon FSx canceled the task and it did not complete.
  4438  	//
  4439  	//    * CANCELING - FSx is in process of canceling the task.
  4440  	Lifecycle *string `type:"string" enum:"DataRepositoryTaskLifecycle"`
  4441  
  4442  	// The ID of the task being canceled.
  4443  	TaskId *string `min:"12" type:"string"`
  4444  }
  4445  
  4446  // String returns the string representation.
  4447  //
  4448  // API parameter values that are decorated as "sensitive" in the API will not
  4449  // be included in the string output. The member name will be present, but the
  4450  // value will be replaced with "sensitive".
  4451  func (s CancelDataRepositoryTaskOutput) String() string {
  4452  	return awsutil.Prettify(s)
  4453  }
  4454  
  4455  // GoString returns the string representation.
  4456  //
  4457  // API parameter values that are decorated as "sensitive" in the API will not
  4458  // be included in the string output. The member name will be present, but the
  4459  // value will be replaced with "sensitive".
  4460  func (s CancelDataRepositoryTaskOutput) GoString() string {
  4461  	return s.String()
  4462  }
  4463  
  4464  // SetLifecycle sets the Lifecycle field's value.
  4465  func (s *CancelDataRepositoryTaskOutput) SetLifecycle(v string) *CancelDataRepositoryTaskOutput {
  4466  	s.Lifecycle = &v
  4467  	return s
  4468  }
  4469  
  4470  // SetTaskId sets the TaskId field's value.
  4471  func (s *CancelDataRepositoryTaskOutput) SetTaskId(v string) *CancelDataRepositoryTaskOutput {
  4472  	s.TaskId = &v
  4473  	return s
  4474  }
  4475  
  4476  // Provides a report detailing the data repository task results of the files
  4477  // processed that match the criteria specified in the report Scope parameter.
  4478  // FSx delivers the report to the file system's linked data repository in Amazon
  4479  // S3, using the path specified in the report Path parameter. You can specify
  4480  // whether or not a report gets generated for a task using the Enabled parameter.
  4481  type CompletionReport struct {
  4482  	_ struct{} `type:"structure"`
  4483  
  4484  	// Set Enabled to True to generate a CompletionReport when the task completes.
  4485  	// If set to true, then you need to provide a report Scope, Path, and Format.
  4486  	// Set Enabled to False if you do not want a CompletionReport generated when
  4487  	// the task completes.
  4488  	//
  4489  	// Enabled is a required field
  4490  	Enabled *bool `type:"boolean" required:"true"`
  4491  
  4492  	// Required if Enabled is set to true. Specifies the format of the CompletionReport.
  4493  	// REPORT_CSV_20191124 is the only format currently supported. When Format is
  4494  	// set to REPORT_CSV_20191124, the CompletionReport is provided in CSV format,
  4495  	// and is delivered to {path}/task-{id}/failures.csv.
  4496  	Format *string `type:"string" enum:"ReportFormat"`
  4497  
  4498  	// Required if Enabled is set to true. Specifies the location of the report
  4499  	// on the file system's linked S3 data repository. An absolute path that defines
  4500  	// where the completion report will be stored in the destination location. The
  4501  	// Path you provide must be located within the file system’s ExportPath. An
  4502  	// example Path value is "s3://myBucket/myExportPath/optionalPrefix". The report
  4503  	// provides the following information for each file in the report: FilePath,
  4504  	// FileStatus, and ErrorCode. To learn more about a file system's ExportPath,
  4505  	// see .
  4506  	Path *string `min:"3" type:"string"`
  4507  
  4508  	// Required if Enabled is set to true. Specifies the scope of the CompletionReport;
  4509  	// FAILED_FILES_ONLY is the only scope currently supported. When Scope is set
  4510  	// to FAILED_FILES_ONLY, the CompletionReport only contains information about
  4511  	// files that the data repository task failed to process.
  4512  	Scope *string `type:"string" enum:"ReportScope"`
  4513  }
  4514  
  4515  // String returns the string representation.
  4516  //
  4517  // API parameter values that are decorated as "sensitive" in the API will not
  4518  // be included in the string output. The member name will be present, but the
  4519  // value will be replaced with "sensitive".
  4520  func (s CompletionReport) String() string {
  4521  	return awsutil.Prettify(s)
  4522  }
  4523  
  4524  // GoString returns the string representation.
  4525  //
  4526  // API parameter values that are decorated as "sensitive" in the API will not
  4527  // be included in the string output. The member name will be present, but the
  4528  // value will be replaced with "sensitive".
  4529  func (s CompletionReport) GoString() string {
  4530  	return s.String()
  4531  }
  4532  
  4533  // Validate inspects the fields of the type to determine if they are valid.
  4534  func (s *CompletionReport) Validate() error {
  4535  	invalidParams := request.ErrInvalidParams{Context: "CompletionReport"}
  4536  	if s.Enabled == nil {
  4537  		invalidParams.Add(request.NewErrParamRequired("Enabled"))
  4538  	}
  4539  	if s.Path != nil && len(*s.Path) < 3 {
  4540  		invalidParams.Add(request.NewErrParamMinLen("Path", 3))
  4541  	}
  4542  
  4543  	if invalidParams.Len() > 0 {
  4544  		return invalidParams
  4545  	}
  4546  	return nil
  4547  }
  4548  
  4549  // SetEnabled sets the Enabled field's value.
  4550  func (s *CompletionReport) SetEnabled(v bool) *CompletionReport {
  4551  	s.Enabled = &v
  4552  	return s
  4553  }
  4554  
  4555  // SetFormat sets the Format field's value.
  4556  func (s *CompletionReport) SetFormat(v string) *CompletionReport {
  4557  	s.Format = &v
  4558  	return s
  4559  }
  4560  
  4561  // SetPath sets the Path field's value.
  4562  func (s *CompletionReport) SetPath(v string) *CompletionReport {
  4563  	s.Path = &v
  4564  	return s
  4565  }
  4566  
  4567  // SetScope sets the Scope field's value.
  4568  func (s *CompletionReport) SetScope(v string) *CompletionReport {
  4569  	s.Scope = &v
  4570  	return s
  4571  }
  4572  
  4573  type CopyBackupInput struct {
  4574  	_ struct{} `type:"structure"`
  4575  
  4576  	// (Optional) An idempotency token for resource creation, in a string of up
  4577  	// to 64 ASCII characters. This token is automatically filled on your behalf
  4578  	// when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.
  4579  	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
  4580  
  4581  	// A boolean flag indicating whether tags from the source backup should be copied
  4582  	// to the backup copy. This value defaults to false.
  4583  	//
  4584  	// If you set CopyTags to true and the source backup has existing tags, you
  4585  	// can use the Tags parameter to create new tags, provided that the sum of the
  4586  	// source backup tags and the new tags doesn't exceed 50. Both sets of tags
  4587  	// are merged. If there are tag conflicts (for example, two tags with the same
  4588  	// key but different values), the tags created with the Tags parameter take
  4589  	// precedence.
  4590  	CopyTags *bool `type:"boolean"`
  4591  
  4592  	// The ID of the Key Management Service (KMS) key used to encrypt the file system's
  4593  	// data for Amazon FSx for Windows File Server file systems, Amazon FSx for
  4594  	// NetApp ONTAP file systems, and Amazon FSx for Lustre PERSISTENT_1 file systems
  4595  	// at rest. If not specified, the Amazon FSx managed key is used. The Amazon
  4596  	// FSx for Lustre SCRATCH_1 and SCRATCH_2 file systems are always encrypted
  4597  	// at rest using Amazon FSx managed keys. For more information, see Encrypt
  4598  	// (https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) in
  4599  	// the Key Management Service API Reference.
  4600  	KmsKeyId *string `min:"1" type:"string"`
  4601  
  4602  	// The ID of the source backup. Specifies the ID of the backup that is being
  4603  	// copied.
  4604  	//
  4605  	// SourceBackupId is a required field
  4606  	SourceBackupId *string `min:"12" type:"string" required:"true"`
  4607  
  4608  	// The source Amazon Web Services Region of the backup. Specifies the Amazon
  4609  	// Web Services Region from which the backup is being copied. The source and
  4610  	// destination Regions must be in the same Amazon Web Services partition. If
  4611  	// you don't specify a Region, it defaults to the Region where the request is
  4612  	// sent from (in-Region copy).
  4613  	SourceRegion *string `min:"1" type:"string"`
  4614  
  4615  	// A list of Tag values, with a maximum of 50 elements.
  4616  	Tags []*Tag `min:"1" type:"list"`
  4617  }
  4618  
  4619  // String returns the string representation.
  4620  //
  4621  // API parameter values that are decorated as "sensitive" in the API will not
  4622  // be included in the string output. The member name will be present, but the
  4623  // value will be replaced with "sensitive".
  4624  func (s CopyBackupInput) String() string {
  4625  	return awsutil.Prettify(s)
  4626  }
  4627  
  4628  // GoString returns the string representation.
  4629  //
  4630  // API parameter values that are decorated as "sensitive" in the API will not
  4631  // be included in the string output. The member name will be present, but the
  4632  // value will be replaced with "sensitive".
  4633  func (s CopyBackupInput) GoString() string {
  4634  	return s.String()
  4635  }
  4636  
  4637  // Validate inspects the fields of the type to determine if they are valid.
  4638  func (s *CopyBackupInput) Validate() error {
  4639  	invalidParams := request.ErrInvalidParams{Context: "CopyBackupInput"}
  4640  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  4641  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  4642  	}
  4643  	if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 {
  4644  		invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1))
  4645  	}
  4646  	if s.SourceBackupId == nil {
  4647  		invalidParams.Add(request.NewErrParamRequired("SourceBackupId"))
  4648  	}
  4649  	if s.SourceBackupId != nil && len(*s.SourceBackupId) < 12 {
  4650  		invalidParams.Add(request.NewErrParamMinLen("SourceBackupId", 12))
  4651  	}
  4652  	if s.SourceRegion != nil && len(*s.SourceRegion) < 1 {
  4653  		invalidParams.Add(request.NewErrParamMinLen("SourceRegion", 1))
  4654  	}
  4655  	if s.Tags != nil && len(s.Tags) < 1 {
  4656  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  4657  	}
  4658  	if s.Tags != nil {
  4659  		for i, v := range s.Tags {
  4660  			if v == nil {
  4661  				continue
  4662  			}
  4663  			if err := v.Validate(); err != nil {
  4664  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  4665  			}
  4666  		}
  4667  	}
  4668  
  4669  	if invalidParams.Len() > 0 {
  4670  		return invalidParams
  4671  	}
  4672  	return nil
  4673  }
  4674  
  4675  // SetClientRequestToken sets the ClientRequestToken field's value.
  4676  func (s *CopyBackupInput) SetClientRequestToken(v string) *CopyBackupInput {
  4677  	s.ClientRequestToken = &v
  4678  	return s
  4679  }
  4680  
  4681  // SetCopyTags sets the CopyTags field's value.
  4682  func (s *CopyBackupInput) SetCopyTags(v bool) *CopyBackupInput {
  4683  	s.CopyTags = &v
  4684  	return s
  4685  }
  4686  
  4687  // SetKmsKeyId sets the KmsKeyId field's value.
  4688  func (s *CopyBackupInput) SetKmsKeyId(v string) *CopyBackupInput {
  4689  	s.KmsKeyId = &v
  4690  	return s
  4691  }
  4692  
  4693  // SetSourceBackupId sets the SourceBackupId field's value.
  4694  func (s *CopyBackupInput) SetSourceBackupId(v string) *CopyBackupInput {
  4695  	s.SourceBackupId = &v
  4696  	return s
  4697  }
  4698  
  4699  // SetSourceRegion sets the SourceRegion field's value.
  4700  func (s *CopyBackupInput) SetSourceRegion(v string) *CopyBackupInput {
  4701  	s.SourceRegion = &v
  4702  	return s
  4703  }
  4704  
  4705  // SetTags sets the Tags field's value.
  4706  func (s *CopyBackupInput) SetTags(v []*Tag) *CopyBackupInput {
  4707  	s.Tags = v
  4708  	return s
  4709  }
  4710  
  4711  type CopyBackupOutput struct {
  4712  	_ struct{} `type:"structure"`
  4713  
  4714  	// A backup of an Amazon FSx for Windows File Server or Amazon FSx for Lustre
  4715  	// file system, or of an Amazon FSx for NetApp ONTAP volume.
  4716  	Backup *Backup `type:"structure"`
  4717  }
  4718  
  4719  // String returns the string representation.
  4720  //
  4721  // API parameter values that are decorated as "sensitive" in the API will not
  4722  // be included in the string output. The member name will be present, but the
  4723  // value will be replaced with "sensitive".
  4724  func (s CopyBackupOutput) String() string {
  4725  	return awsutil.Prettify(s)
  4726  }
  4727  
  4728  // GoString returns the string representation.
  4729  //
  4730  // API parameter values that are decorated as "sensitive" in the API will not
  4731  // be included in the string output. The member name will be present, but the
  4732  // value will be replaced with "sensitive".
  4733  func (s CopyBackupOutput) GoString() string {
  4734  	return s.String()
  4735  }
  4736  
  4737  // SetBackup sets the Backup field's value.
  4738  func (s *CopyBackupOutput) SetBackup(v *Backup) *CopyBackupOutput {
  4739  	s.Backup = v
  4740  	return s
  4741  }
  4742  
  4743  // The request object for the CreateBackup operation.
  4744  type CreateBackupInput struct {
  4745  	_ struct{} `type:"structure"`
  4746  
  4747  	// (Optional) A string of up to 64 ASCII characters that Amazon FSx uses to
  4748  	// ensure idempotent creation. This string is automatically filled on your behalf
  4749  	// when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.
  4750  	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
  4751  
  4752  	// The ID of the file system to back up.
  4753  	FileSystemId *string `min:"11" type:"string"`
  4754  
  4755  	// (Optional) The tags to apply to the backup at backup creation. The key value
  4756  	// of the Name tag appears in the console as the backup name. If you have set
  4757  	// CopyTagsToBackups to true, and you specify one or more tags using the CreateBackup
  4758  	// action, no existing file system tags are copied from the file system to the
  4759  	// backup.
  4760  	Tags []*Tag `min:"1" type:"list"`
  4761  
  4762  	// The ID of he FSx for NetApp ONTAP volume to back up.
  4763  	VolumeId *string `min:"23" type:"string"`
  4764  }
  4765  
  4766  // String returns the string representation.
  4767  //
  4768  // API parameter values that are decorated as "sensitive" in the API will not
  4769  // be included in the string output. The member name will be present, but the
  4770  // value will be replaced with "sensitive".
  4771  func (s CreateBackupInput) String() string {
  4772  	return awsutil.Prettify(s)
  4773  }
  4774  
  4775  // GoString returns the string representation.
  4776  //
  4777  // API parameter values that are decorated as "sensitive" in the API will not
  4778  // be included in the string output. The member name will be present, but the
  4779  // value will be replaced with "sensitive".
  4780  func (s CreateBackupInput) GoString() string {
  4781  	return s.String()
  4782  }
  4783  
  4784  // Validate inspects the fields of the type to determine if they are valid.
  4785  func (s *CreateBackupInput) Validate() error {
  4786  	invalidParams := request.ErrInvalidParams{Context: "CreateBackupInput"}
  4787  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  4788  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  4789  	}
  4790  	if s.FileSystemId != nil && len(*s.FileSystemId) < 11 {
  4791  		invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11))
  4792  	}
  4793  	if s.Tags != nil && len(s.Tags) < 1 {
  4794  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  4795  	}
  4796  	if s.VolumeId != nil && len(*s.VolumeId) < 23 {
  4797  		invalidParams.Add(request.NewErrParamMinLen("VolumeId", 23))
  4798  	}
  4799  	if s.Tags != nil {
  4800  		for i, v := range s.Tags {
  4801  			if v == nil {
  4802  				continue
  4803  			}
  4804  			if err := v.Validate(); err != nil {
  4805  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  4806  			}
  4807  		}
  4808  	}
  4809  
  4810  	if invalidParams.Len() > 0 {
  4811  		return invalidParams
  4812  	}
  4813  	return nil
  4814  }
  4815  
  4816  // SetClientRequestToken sets the ClientRequestToken field's value.
  4817  func (s *CreateBackupInput) SetClientRequestToken(v string) *CreateBackupInput {
  4818  	s.ClientRequestToken = &v
  4819  	return s
  4820  }
  4821  
  4822  // SetFileSystemId sets the FileSystemId field's value.
  4823  func (s *CreateBackupInput) SetFileSystemId(v string) *CreateBackupInput {
  4824  	s.FileSystemId = &v
  4825  	return s
  4826  }
  4827  
  4828  // SetTags sets the Tags field's value.
  4829  func (s *CreateBackupInput) SetTags(v []*Tag) *CreateBackupInput {
  4830  	s.Tags = v
  4831  	return s
  4832  }
  4833  
  4834  // SetVolumeId sets the VolumeId field's value.
  4835  func (s *CreateBackupInput) SetVolumeId(v string) *CreateBackupInput {
  4836  	s.VolumeId = &v
  4837  	return s
  4838  }
  4839  
  4840  // The response object for the CreateBackup operation.
  4841  type CreateBackupOutput struct {
  4842  	_ struct{} `type:"structure"`
  4843  
  4844  	// A description of the backup.
  4845  	Backup *Backup `type:"structure"`
  4846  }
  4847  
  4848  // String returns the string representation.
  4849  //
  4850  // API parameter values that are decorated as "sensitive" in the API will not
  4851  // be included in the string output. The member name will be present, but the
  4852  // value will be replaced with "sensitive".
  4853  func (s CreateBackupOutput) String() string {
  4854  	return awsutil.Prettify(s)
  4855  }
  4856  
  4857  // GoString returns the string representation.
  4858  //
  4859  // API parameter values that are decorated as "sensitive" in the API will not
  4860  // be included in the string output. The member name will be present, but the
  4861  // value will be replaced with "sensitive".
  4862  func (s CreateBackupOutput) GoString() string {
  4863  	return s.String()
  4864  }
  4865  
  4866  // SetBackup sets the Backup field's value.
  4867  func (s *CreateBackupOutput) SetBackup(v *Backup) *CreateBackupOutput {
  4868  	s.Backup = v
  4869  	return s
  4870  }
  4871  
  4872  type CreateDataRepositoryTaskInput struct {
  4873  	_ struct{} `type:"structure"`
  4874  
  4875  	// (Optional) An idempotency token for resource creation, in a string of up
  4876  	// to 64 ASCII characters. This token is automatically filled on your behalf
  4877  	// when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.
  4878  	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
  4879  
  4880  	// The globally unique ID of the file system, assigned by Amazon FSx.
  4881  	//
  4882  	// FileSystemId is a required field
  4883  	FileSystemId *string `min:"11" type:"string" required:"true"`
  4884  
  4885  	// (Optional) The path or paths on the Amazon FSx file system to use when the
  4886  	// data repository task is processed. The default path is the file system root
  4887  	// directory. The paths you provide need to be relative to the mount point of
  4888  	// the file system. If the mount point is /mnt/fsx and /mnt/fsx/path1 is a directory
  4889  	// or file on the file system you want to export, then the path to provide is
  4890  	// path1. If a path that you provide isn't valid, the task fails.
  4891  	Paths []*string `type:"list"`
  4892  
  4893  	// Defines whether or not Amazon FSx provides a CompletionReport once the task
  4894  	// has completed. A CompletionReport provides a detailed report on the files
  4895  	// that Amazon FSx processed that meet the criteria specified by the Scope parameter.
  4896  	// For more information, see Working with Task Completion Reports (https://docs.aws.amazon.com/fsx/latest/LustreGuide/task-completion-report.html).
  4897  	//
  4898  	// Report is a required field
  4899  	Report *CompletionReport `type:"structure" required:"true"`
  4900  
  4901  	// A list of Tag values, with a maximum of 50 elements.
  4902  	Tags []*Tag `min:"1" type:"list"`
  4903  
  4904  	// Specifies the type of data repository task to create.
  4905  	//
  4906  	// Type is a required field
  4907  	Type *string `type:"string" required:"true" enum:"DataRepositoryTaskType"`
  4908  }
  4909  
  4910  // String returns the string representation.
  4911  //
  4912  // API parameter values that are decorated as "sensitive" in the API will not
  4913  // be included in the string output. The member name will be present, but the
  4914  // value will be replaced with "sensitive".
  4915  func (s CreateDataRepositoryTaskInput) String() string {
  4916  	return awsutil.Prettify(s)
  4917  }
  4918  
  4919  // GoString 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 CreateDataRepositoryTaskInput) GoString() string {
  4925  	return s.String()
  4926  }
  4927  
  4928  // Validate inspects the fields of the type to determine if they are valid.
  4929  func (s *CreateDataRepositoryTaskInput) Validate() error {
  4930  	invalidParams := request.ErrInvalidParams{Context: "CreateDataRepositoryTaskInput"}
  4931  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  4932  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  4933  	}
  4934  	if s.FileSystemId == nil {
  4935  		invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
  4936  	}
  4937  	if s.FileSystemId != nil && len(*s.FileSystemId) < 11 {
  4938  		invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11))
  4939  	}
  4940  	if s.Report == nil {
  4941  		invalidParams.Add(request.NewErrParamRequired("Report"))
  4942  	}
  4943  	if s.Tags != nil && len(s.Tags) < 1 {
  4944  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  4945  	}
  4946  	if s.Type == nil {
  4947  		invalidParams.Add(request.NewErrParamRequired("Type"))
  4948  	}
  4949  	if s.Report != nil {
  4950  		if err := s.Report.Validate(); err != nil {
  4951  			invalidParams.AddNested("Report", err.(request.ErrInvalidParams))
  4952  		}
  4953  	}
  4954  	if s.Tags != nil {
  4955  		for i, v := range s.Tags {
  4956  			if v == nil {
  4957  				continue
  4958  			}
  4959  			if err := v.Validate(); err != nil {
  4960  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  4961  			}
  4962  		}
  4963  	}
  4964  
  4965  	if invalidParams.Len() > 0 {
  4966  		return invalidParams
  4967  	}
  4968  	return nil
  4969  }
  4970  
  4971  // SetClientRequestToken sets the ClientRequestToken field's value.
  4972  func (s *CreateDataRepositoryTaskInput) SetClientRequestToken(v string) *CreateDataRepositoryTaskInput {
  4973  	s.ClientRequestToken = &v
  4974  	return s
  4975  }
  4976  
  4977  // SetFileSystemId sets the FileSystemId field's value.
  4978  func (s *CreateDataRepositoryTaskInput) SetFileSystemId(v string) *CreateDataRepositoryTaskInput {
  4979  	s.FileSystemId = &v
  4980  	return s
  4981  }
  4982  
  4983  // SetPaths sets the Paths field's value.
  4984  func (s *CreateDataRepositoryTaskInput) SetPaths(v []*string) *CreateDataRepositoryTaskInput {
  4985  	s.Paths = v
  4986  	return s
  4987  }
  4988  
  4989  // SetReport sets the Report field's value.
  4990  func (s *CreateDataRepositoryTaskInput) SetReport(v *CompletionReport) *CreateDataRepositoryTaskInput {
  4991  	s.Report = v
  4992  	return s
  4993  }
  4994  
  4995  // SetTags sets the Tags field's value.
  4996  func (s *CreateDataRepositoryTaskInput) SetTags(v []*Tag) *CreateDataRepositoryTaskInput {
  4997  	s.Tags = v
  4998  	return s
  4999  }
  5000  
  5001  // SetType sets the Type field's value.
  5002  func (s *CreateDataRepositoryTaskInput) SetType(v string) *CreateDataRepositoryTaskInput {
  5003  	s.Type = &v
  5004  	return s
  5005  }
  5006  
  5007  type CreateDataRepositoryTaskOutput struct {
  5008  	_ struct{} `type:"structure"`
  5009  
  5010  	// The description of the data repository task that you just created.
  5011  	DataRepositoryTask *DataRepositoryTask `type:"structure"`
  5012  }
  5013  
  5014  // String returns the string representation.
  5015  //
  5016  // API parameter values that are decorated as "sensitive" in the API will not
  5017  // be included in the string output. The member name will be present, but the
  5018  // value will be replaced with "sensitive".
  5019  func (s CreateDataRepositoryTaskOutput) String() string {
  5020  	return awsutil.Prettify(s)
  5021  }
  5022  
  5023  // GoString returns the string representation.
  5024  //
  5025  // API parameter values that are decorated as "sensitive" in the API will not
  5026  // be included in the string output. The member name will be present, but the
  5027  // value will be replaced with "sensitive".
  5028  func (s CreateDataRepositoryTaskOutput) GoString() string {
  5029  	return s.String()
  5030  }
  5031  
  5032  // SetDataRepositoryTask sets the DataRepositoryTask field's value.
  5033  func (s *CreateDataRepositoryTaskOutput) SetDataRepositoryTask(v *DataRepositoryTask) *CreateDataRepositoryTaskOutput {
  5034  	s.DataRepositoryTask = v
  5035  	return s
  5036  }
  5037  
  5038  // The request object for the CreateFileSystemFromBackup operation.
  5039  type CreateFileSystemFromBackupInput struct {
  5040  	_ struct{} `type:"structure"`
  5041  
  5042  	// The ID of the source backup. Specifies the backup you are copying.
  5043  	//
  5044  	// BackupId is a required field
  5045  	BackupId *string `min:"12" type:"string" required:"true"`
  5046  
  5047  	// A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent
  5048  	// creation. This string is automatically filled on your behalf when you use
  5049  	// the Command Line Interface (CLI) or an Amazon Web Services SDK.
  5050  	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
  5051  
  5052  	// Sets the version for the Amazon FSx for Lustre file system you're creating
  5053  	// from a backup. Valid values are 2.10 and 2.12.
  5054  	//
  5055  	// You don't need to specify FileSystemTypeVersion because it will be applied
  5056  	// using the backup's FileSystemTypeVersion setting. If you choose to specify
  5057  	// FileSystemTypeVersion when creating from backup, the value must match the
  5058  	// backup's FileSystemTypeVersion setting.
  5059  	FileSystemTypeVersion *string `min:"1" type:"string"`
  5060  
  5061  	// The ID of the Key Management Service (KMS) key used to encrypt the file system's
  5062  	// data for Amazon FSx for Windows File Server file systems, Amazon FSx for
  5063  	// NetApp ONTAP file systems, and Amazon FSx for Lustre PERSISTENT_1 file systems
  5064  	// at rest. If not specified, the Amazon FSx managed key is used. The Amazon
  5065  	// FSx for Lustre SCRATCH_1 and SCRATCH_2 file systems are always encrypted
  5066  	// at rest using Amazon FSx managed keys. For more information, see Encrypt
  5067  	// (https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) in
  5068  	// the Key Management Service API Reference.
  5069  	KmsKeyId *string `min:"1" type:"string"`
  5070  
  5071  	// The Lustre configuration for the file system being created.
  5072  	LustreConfiguration *CreateFileSystemLustreConfiguration `type:"structure"`
  5073  
  5074  	// A list of IDs for the security groups that apply to the specified network
  5075  	// interfaces created for file system access. These security groups apply to
  5076  	// all network interfaces. This value isn't returned in later DescribeFileSystem
  5077  	// requests.
  5078  	SecurityGroupIds []*string `type:"list"`
  5079  
  5080  	// Sets the storage type for the Windows file system you're creating from a
  5081  	// backup. Valid values are SSD and HDD.
  5082  	//
  5083  	//    * Set to SSD to use solid state drive storage. Supported on all Windows
  5084  	//    deployment types.
  5085  	//
  5086  	//    * Set to HDD to use hard disk drive storage. Supported on SINGLE_AZ_2
  5087  	//    and MULTI_AZ_1 Windows file system deployment types.
  5088  	//
  5089  	// Default value is SSD.
  5090  	//
  5091  	// HDD and SSD storage types have different minimum storage capacity requirements.
  5092  	// A restored file system's storage capacity is tied to the file system that
  5093  	// was backed up. You can create a file system that uses HDD storage from a
  5094  	// backup of a file system that used SSD storage only if the original SSD file
  5095  	// system had a storage capacity of at least 2000 GiB.
  5096  	StorageType *string `type:"string" enum:"StorageType"`
  5097  
  5098  	// Specifies the IDs of the subnets that the file system will be accessible
  5099  	// from. For Windows MULTI_AZ_1 file system deployment types, provide exactly
  5100  	// two subnet IDs, one for the preferred file server and one for the standby
  5101  	// file server. You specify one of these subnets as the preferred subnet using
  5102  	// the WindowsConfiguration > PreferredSubnetID property.
  5103  	//
  5104  	// For Windows SINGLE_AZ_1 and SINGLE_AZ_2 deployment types and Lustre file
  5105  	// systems, provide exactly one subnet ID. The file server is launched in that
  5106  	// subnet's Availability Zone.
  5107  	//
  5108  	// SubnetIds is a required field
  5109  	SubnetIds []*string `type:"list" required:"true"`
  5110  
  5111  	// The tags to be applied to the file system at file system creation. The key
  5112  	// value of the Name tag appears in the console as the file system name.
  5113  	Tags []*Tag `min:"1" type:"list"`
  5114  
  5115  	// The configuration for this Microsoft Windows file system.
  5116  	WindowsConfiguration *CreateFileSystemWindowsConfiguration `type:"structure"`
  5117  }
  5118  
  5119  // String returns the string representation.
  5120  //
  5121  // API parameter values that are decorated as "sensitive" in the API will not
  5122  // be included in the string output. The member name will be present, but the
  5123  // value will be replaced with "sensitive".
  5124  func (s CreateFileSystemFromBackupInput) String() string {
  5125  	return awsutil.Prettify(s)
  5126  }
  5127  
  5128  // GoString returns the string representation.
  5129  //
  5130  // API parameter values that are decorated as "sensitive" in the API will not
  5131  // be included in the string output. The member name will be present, but the
  5132  // value will be replaced with "sensitive".
  5133  func (s CreateFileSystemFromBackupInput) GoString() string {
  5134  	return s.String()
  5135  }
  5136  
  5137  // Validate inspects the fields of the type to determine if they are valid.
  5138  func (s *CreateFileSystemFromBackupInput) Validate() error {
  5139  	invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemFromBackupInput"}
  5140  	if s.BackupId == nil {
  5141  		invalidParams.Add(request.NewErrParamRequired("BackupId"))
  5142  	}
  5143  	if s.BackupId != nil && len(*s.BackupId) < 12 {
  5144  		invalidParams.Add(request.NewErrParamMinLen("BackupId", 12))
  5145  	}
  5146  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  5147  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  5148  	}
  5149  	if s.FileSystemTypeVersion != nil && len(*s.FileSystemTypeVersion) < 1 {
  5150  		invalidParams.Add(request.NewErrParamMinLen("FileSystemTypeVersion", 1))
  5151  	}
  5152  	if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 {
  5153  		invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1))
  5154  	}
  5155  	if s.SubnetIds == nil {
  5156  		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
  5157  	}
  5158  	if s.Tags != nil && len(s.Tags) < 1 {
  5159  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  5160  	}
  5161  	if s.LustreConfiguration != nil {
  5162  		if err := s.LustreConfiguration.Validate(); err != nil {
  5163  			invalidParams.AddNested("LustreConfiguration", err.(request.ErrInvalidParams))
  5164  		}
  5165  	}
  5166  	if s.Tags != nil {
  5167  		for i, v := range s.Tags {
  5168  			if v == nil {
  5169  				continue
  5170  			}
  5171  			if err := v.Validate(); err != nil {
  5172  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  5173  			}
  5174  		}
  5175  	}
  5176  	if s.WindowsConfiguration != nil {
  5177  		if err := s.WindowsConfiguration.Validate(); err != nil {
  5178  			invalidParams.AddNested("WindowsConfiguration", err.(request.ErrInvalidParams))
  5179  		}
  5180  	}
  5181  
  5182  	if invalidParams.Len() > 0 {
  5183  		return invalidParams
  5184  	}
  5185  	return nil
  5186  }
  5187  
  5188  // SetBackupId sets the BackupId field's value.
  5189  func (s *CreateFileSystemFromBackupInput) SetBackupId(v string) *CreateFileSystemFromBackupInput {
  5190  	s.BackupId = &v
  5191  	return s
  5192  }
  5193  
  5194  // SetClientRequestToken sets the ClientRequestToken field's value.
  5195  func (s *CreateFileSystemFromBackupInput) SetClientRequestToken(v string) *CreateFileSystemFromBackupInput {
  5196  	s.ClientRequestToken = &v
  5197  	return s
  5198  }
  5199  
  5200  // SetFileSystemTypeVersion sets the FileSystemTypeVersion field's value.
  5201  func (s *CreateFileSystemFromBackupInput) SetFileSystemTypeVersion(v string) *CreateFileSystemFromBackupInput {
  5202  	s.FileSystemTypeVersion = &v
  5203  	return s
  5204  }
  5205  
  5206  // SetKmsKeyId sets the KmsKeyId field's value.
  5207  func (s *CreateFileSystemFromBackupInput) SetKmsKeyId(v string) *CreateFileSystemFromBackupInput {
  5208  	s.KmsKeyId = &v
  5209  	return s
  5210  }
  5211  
  5212  // SetLustreConfiguration sets the LustreConfiguration field's value.
  5213  func (s *CreateFileSystemFromBackupInput) SetLustreConfiguration(v *CreateFileSystemLustreConfiguration) *CreateFileSystemFromBackupInput {
  5214  	s.LustreConfiguration = v
  5215  	return s
  5216  }
  5217  
  5218  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  5219  func (s *CreateFileSystemFromBackupInput) SetSecurityGroupIds(v []*string) *CreateFileSystemFromBackupInput {
  5220  	s.SecurityGroupIds = v
  5221  	return s
  5222  }
  5223  
  5224  // SetStorageType sets the StorageType field's value.
  5225  func (s *CreateFileSystemFromBackupInput) SetStorageType(v string) *CreateFileSystemFromBackupInput {
  5226  	s.StorageType = &v
  5227  	return s
  5228  }
  5229  
  5230  // SetSubnetIds sets the SubnetIds field's value.
  5231  func (s *CreateFileSystemFromBackupInput) SetSubnetIds(v []*string) *CreateFileSystemFromBackupInput {
  5232  	s.SubnetIds = v
  5233  	return s
  5234  }
  5235  
  5236  // SetTags sets the Tags field's value.
  5237  func (s *CreateFileSystemFromBackupInput) SetTags(v []*Tag) *CreateFileSystemFromBackupInput {
  5238  	s.Tags = v
  5239  	return s
  5240  }
  5241  
  5242  // SetWindowsConfiguration sets the WindowsConfiguration field's value.
  5243  func (s *CreateFileSystemFromBackupInput) SetWindowsConfiguration(v *CreateFileSystemWindowsConfiguration) *CreateFileSystemFromBackupInput {
  5244  	s.WindowsConfiguration = v
  5245  	return s
  5246  }
  5247  
  5248  // The response object for the CreateFileSystemFromBackup operation.
  5249  type CreateFileSystemFromBackupOutput struct {
  5250  	_ struct{} `type:"structure"`
  5251  
  5252  	// A description of the file system.
  5253  	FileSystem *FileSystem `type:"structure"`
  5254  }
  5255  
  5256  // String returns the string representation.
  5257  //
  5258  // API parameter values that are decorated as "sensitive" in the API will not
  5259  // be included in the string output. The member name will be present, but the
  5260  // value will be replaced with "sensitive".
  5261  func (s CreateFileSystemFromBackupOutput) String() string {
  5262  	return awsutil.Prettify(s)
  5263  }
  5264  
  5265  // GoString returns the string representation.
  5266  //
  5267  // API parameter values that are decorated as "sensitive" in the API will not
  5268  // be included in the string output. The member name will be present, but the
  5269  // value will be replaced with "sensitive".
  5270  func (s CreateFileSystemFromBackupOutput) GoString() string {
  5271  	return s.String()
  5272  }
  5273  
  5274  // SetFileSystem sets the FileSystem field's value.
  5275  func (s *CreateFileSystemFromBackupOutput) SetFileSystem(v *FileSystem) *CreateFileSystemFromBackupOutput {
  5276  	s.FileSystem = v
  5277  	return s
  5278  }
  5279  
  5280  // The request object used to create a new Amazon FSx file system.
  5281  type CreateFileSystemInput struct {
  5282  	_ struct{} `type:"structure"`
  5283  
  5284  	// A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent
  5285  	// creation. This string is automatically filled on your behalf when you use
  5286  	// the Command Line Interface (CLI) or an Amazon Web Services SDK.
  5287  	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
  5288  
  5289  	// The type of Amazon FSx file system to create. Valid values are WINDOWS, LUSTRE,
  5290  	// and ONTAP.
  5291  	//
  5292  	// FileSystemType is a required field
  5293  	FileSystemType *string `type:"string" required:"true" enum:"FileSystemType"`
  5294  
  5295  	// Sets the version of the Amazon FSx for Lustre file system you're creating.
  5296  	// Valid values are 2.10 and 2.12.
  5297  	//
  5298  	//    * Set the value to 2.10 to create a Lustre 2.10 file system.
  5299  	//
  5300  	//    * Set the value to 2.12 to create a Lustre 2.12 file system.
  5301  	//
  5302  	// Default value is 2.10.
  5303  	FileSystemTypeVersion *string `min:"1" type:"string"`
  5304  
  5305  	// The ID of the Key Management Service (KMS) key used to encrypt the file system's
  5306  	// data for Amazon FSx for Windows File Server file systems, Amazon FSx for
  5307  	// NetApp ONTAP file systems, and Amazon FSx for Lustre PERSISTENT_1 file systems
  5308  	// at rest. If not specified, the Amazon FSx managed key is used. The Amazon
  5309  	// FSx for Lustre SCRATCH_1 and SCRATCH_2 file systems are always encrypted
  5310  	// at rest using Amazon FSx managed keys. For more information, see Encrypt
  5311  	// (https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) in
  5312  	// the Key Management Service API Reference.
  5313  	KmsKeyId *string `min:"1" type:"string"`
  5314  
  5315  	// The Lustre configuration for the file system being created.
  5316  	LustreConfiguration *CreateFileSystemLustreConfiguration `type:"structure"`
  5317  
  5318  	// The ONTAP configuration properties of the FSx for NetApp ONTAP file system
  5319  	// that you are creating.
  5320  	OntapConfiguration *CreateFileSystemOntapConfiguration `type:"structure"`
  5321  
  5322  	// A list of IDs specifying the security groups to apply to all network interfaces
  5323  	// created for file system access. This list isn't returned in later requests
  5324  	// to describe the file system.
  5325  	SecurityGroupIds []*string `type:"list"`
  5326  
  5327  	// Sets the storage capacity of the file system that you're creating.
  5328  	//
  5329  	// For Lustre file systems:
  5330  	//
  5331  	//    * For SCRATCH_2 and PERSISTENT_1 SSD deployment types, valid values are
  5332  	//    1200 GiB, 2400 GiB, and increments of 2400 GiB.
  5333  	//
  5334  	//    * For PERSISTENT HDD file systems, valid values are increments of 6000
  5335  	//    GiB for 12 MB/s/TiB file systems and increments of 1800 GiB for 40 MB/s/TiB
  5336  	//    file systems.
  5337  	//
  5338  	//    * For SCRATCH_1 deployment type, valid values are 1200 GiB, 2400 GiB,
  5339  	//    and increments of 3600 GiB.
  5340  	//
  5341  	// For Windows file systems:
  5342  	//
  5343  	//    * If StorageType=SSD, valid values are 32 GiB - 65,536 GiB (64 TiB).
  5344  	//
  5345  	//    * If StorageType=HDD, valid values are 2000 GiB - 65,536 GiB (64 TiB).
  5346  	//
  5347  	// For ONTAP file systems:
  5348  	//
  5349  	//    * Valid values are 1024 GiB - 196,608 GiB (192 TiB).
  5350  	//
  5351  	// StorageCapacity is a required field
  5352  	StorageCapacity *int64 `type:"integer" required:"true"`
  5353  
  5354  	// Sets the storage type for the file system you're creating. Valid values are
  5355  	// SSD and HDD.
  5356  	//
  5357  	//    * Set to SSD to use solid state drive storage. SSD is supported on all
  5358  	//    Windows, Lustre, and ONTAP deployment types.
  5359  	//
  5360  	//    * Set to HDD to use hard disk drive storage. HDD is supported on SINGLE_AZ_2
  5361  	//    and MULTI_AZ_1 Windows file system deployment types, and on PERSISTENT
  5362  	//    Lustre file system deployment types.
  5363  	//
  5364  	// Default value is SSD. For more information, see Storage Type Options (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/optimize-fsx-costs.html#storage-type-options)
  5365  	// in the Amazon FSx for Windows User Guide and Multiple Storage Options (https://docs.aws.amazon.com/fsx/latest/LustreGuide/what-is.html#storage-options)
  5366  	// in the Amazon FSx for Lustre User Guide.
  5367  	StorageType *string `type:"string" enum:"StorageType"`
  5368  
  5369  	// Specifies the IDs of the subnets that the file system will be accessible
  5370  	// from. For Windows and ONTAP MULTI_AZ_1 file system deployment types, provide
  5371  	// exactly two subnet IDs, one for the preferred file server and one for the
  5372  	// standby file server. You specify one of these subnets as the preferred subnet
  5373  	// using the WindowsConfiguration > PreferredSubnetID or OntapConfiguration
  5374  	// > PreferredSubnetID properties. For more information, see Availability and
  5375  	// durability: Single-AZ and Multi-AZ file systems (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html)
  5376  	// in the Amazon FSx for Windows User Guide and Availability and durability
  5377  	// (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/high-availability-multiAZ.html)
  5378  	// in the Amazon FSx for ONTAP User Guide.
  5379  	//
  5380  	// For Windows SINGLE_AZ_1 and SINGLE_AZ_2 file system deployment types and
  5381  	// Lustre file systems, provide exactly one subnet ID. The file server is launched
  5382  	// in that subnet's Availability Zone.
  5383  	//
  5384  	// SubnetIds is a required field
  5385  	SubnetIds []*string `type:"list" required:"true"`
  5386  
  5387  	// The tags to apply to the file system being created. The key value of the
  5388  	// Name tag appears in the console as the file system name.
  5389  	Tags []*Tag `min:"1" type:"list"`
  5390  
  5391  	// The Microsoft Windows configuration for the file system being created.
  5392  	WindowsConfiguration *CreateFileSystemWindowsConfiguration `type:"structure"`
  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 CreateFileSystemInput) 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 CreateFileSystemInput) GoString() string {
  5410  	return s.String()
  5411  }
  5412  
  5413  // Validate inspects the fields of the type to determine if they are valid.
  5414  func (s *CreateFileSystemInput) Validate() error {
  5415  	invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemInput"}
  5416  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  5417  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  5418  	}
  5419  	if s.FileSystemType == nil {
  5420  		invalidParams.Add(request.NewErrParamRequired("FileSystemType"))
  5421  	}
  5422  	if s.FileSystemTypeVersion != nil && len(*s.FileSystemTypeVersion) < 1 {
  5423  		invalidParams.Add(request.NewErrParamMinLen("FileSystemTypeVersion", 1))
  5424  	}
  5425  	if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 {
  5426  		invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1))
  5427  	}
  5428  	if s.StorageCapacity == nil {
  5429  		invalidParams.Add(request.NewErrParamRequired("StorageCapacity"))
  5430  	}
  5431  	if s.SubnetIds == nil {
  5432  		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
  5433  	}
  5434  	if s.Tags != nil && len(s.Tags) < 1 {
  5435  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  5436  	}
  5437  	if s.LustreConfiguration != nil {
  5438  		if err := s.LustreConfiguration.Validate(); err != nil {
  5439  			invalidParams.AddNested("LustreConfiguration", err.(request.ErrInvalidParams))
  5440  		}
  5441  	}
  5442  	if s.OntapConfiguration != nil {
  5443  		if err := s.OntapConfiguration.Validate(); err != nil {
  5444  			invalidParams.AddNested("OntapConfiguration", err.(request.ErrInvalidParams))
  5445  		}
  5446  	}
  5447  	if s.Tags != nil {
  5448  		for i, v := range s.Tags {
  5449  			if v == nil {
  5450  				continue
  5451  			}
  5452  			if err := v.Validate(); err != nil {
  5453  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  5454  			}
  5455  		}
  5456  	}
  5457  	if s.WindowsConfiguration != nil {
  5458  		if err := s.WindowsConfiguration.Validate(); err != nil {
  5459  			invalidParams.AddNested("WindowsConfiguration", err.(request.ErrInvalidParams))
  5460  		}
  5461  	}
  5462  
  5463  	if invalidParams.Len() > 0 {
  5464  		return invalidParams
  5465  	}
  5466  	return nil
  5467  }
  5468  
  5469  // SetClientRequestToken sets the ClientRequestToken field's value.
  5470  func (s *CreateFileSystemInput) SetClientRequestToken(v string) *CreateFileSystemInput {
  5471  	s.ClientRequestToken = &v
  5472  	return s
  5473  }
  5474  
  5475  // SetFileSystemType sets the FileSystemType field's value.
  5476  func (s *CreateFileSystemInput) SetFileSystemType(v string) *CreateFileSystemInput {
  5477  	s.FileSystemType = &v
  5478  	return s
  5479  }
  5480  
  5481  // SetFileSystemTypeVersion sets the FileSystemTypeVersion field's value.
  5482  func (s *CreateFileSystemInput) SetFileSystemTypeVersion(v string) *CreateFileSystemInput {
  5483  	s.FileSystemTypeVersion = &v
  5484  	return s
  5485  }
  5486  
  5487  // SetKmsKeyId sets the KmsKeyId field's value.
  5488  func (s *CreateFileSystemInput) SetKmsKeyId(v string) *CreateFileSystemInput {
  5489  	s.KmsKeyId = &v
  5490  	return s
  5491  }
  5492  
  5493  // SetLustreConfiguration sets the LustreConfiguration field's value.
  5494  func (s *CreateFileSystemInput) SetLustreConfiguration(v *CreateFileSystemLustreConfiguration) *CreateFileSystemInput {
  5495  	s.LustreConfiguration = v
  5496  	return s
  5497  }
  5498  
  5499  // SetOntapConfiguration sets the OntapConfiguration field's value.
  5500  func (s *CreateFileSystemInput) SetOntapConfiguration(v *CreateFileSystemOntapConfiguration) *CreateFileSystemInput {
  5501  	s.OntapConfiguration = v
  5502  	return s
  5503  }
  5504  
  5505  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  5506  func (s *CreateFileSystemInput) SetSecurityGroupIds(v []*string) *CreateFileSystemInput {
  5507  	s.SecurityGroupIds = v
  5508  	return s
  5509  }
  5510  
  5511  // SetStorageCapacity sets the StorageCapacity field's value.
  5512  func (s *CreateFileSystemInput) SetStorageCapacity(v int64) *CreateFileSystemInput {
  5513  	s.StorageCapacity = &v
  5514  	return s
  5515  }
  5516  
  5517  // SetStorageType sets the StorageType field's value.
  5518  func (s *CreateFileSystemInput) SetStorageType(v string) *CreateFileSystemInput {
  5519  	s.StorageType = &v
  5520  	return s
  5521  }
  5522  
  5523  // SetSubnetIds sets the SubnetIds field's value.
  5524  func (s *CreateFileSystemInput) SetSubnetIds(v []*string) *CreateFileSystemInput {
  5525  	s.SubnetIds = v
  5526  	return s
  5527  }
  5528  
  5529  // SetTags sets the Tags field's value.
  5530  func (s *CreateFileSystemInput) SetTags(v []*Tag) *CreateFileSystemInput {
  5531  	s.Tags = v
  5532  	return s
  5533  }
  5534  
  5535  // SetWindowsConfiguration sets the WindowsConfiguration field's value.
  5536  func (s *CreateFileSystemInput) SetWindowsConfiguration(v *CreateFileSystemWindowsConfiguration) *CreateFileSystemInput {
  5537  	s.WindowsConfiguration = v
  5538  	return s
  5539  }
  5540  
  5541  // The Lustre configuration for the file system being created.
  5542  type CreateFileSystemLustreConfiguration struct {
  5543  	_ struct{} `type:"structure"`
  5544  
  5545  	// (Optional) When you create your file system, your existing S3 objects appear
  5546  	// as file and directory listings. Use this property to choose how Amazon FSx
  5547  	// keeps your file and directory listings up to date as you add or modify objects
  5548  	// in your linked S3 bucket. AutoImportPolicy can have the following values:
  5549  	//
  5550  	//    * NONE - (Default) AutoImport is off. Amazon FSx only updates file and
  5551  	//    directory listings from the linked S3 bucket when the file system is created.
  5552  	//    FSx does not update file and directory listings for any new or changed
  5553  	//    objects after choosing this option.
  5554  	//
  5555  	//    * NEW - AutoImport is on. Amazon FSx automatically imports directory listings
  5556  	//    of any new objects added to the linked S3 bucket that do not currently
  5557  	//    exist in the FSx file system.
  5558  	//
  5559  	//    * NEW_CHANGED - AutoImport is on. Amazon FSx automatically imports file
  5560  	//    and directory listings of any new objects added to the S3 bucket and any
  5561  	//    existing objects that are changed in the S3 bucket after you choose this
  5562  	//    option.
  5563  	//
  5564  	// For more information, see Automatically import updates from your S3 bucket
  5565  	// (https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html).
  5566  	AutoImportPolicy *string `type:"string" enum:"AutoImportPolicyType"`
  5567  
  5568  	// The number of days to retain automatic backups. Setting this to 0 disables
  5569  	// automatic backups. You can retain automatic backups for a maximum of 90 days.
  5570  	// The default is 0.
  5571  	AutomaticBackupRetentionDays *int64 `type:"integer"`
  5572  
  5573  	// (Optional) Not available to use with file systems that are linked to a data
  5574  	// repository. A boolean flag indicating whether tags for the file system should
  5575  	// be copied to backups. The default value is false. If it's set to true, all
  5576  	// file system tags are copied to all automatic and user-initiated backups when
  5577  	// the user doesn't specify any backup-specific tags. If this value is true,
  5578  	// and you specify one or more backup tags, only the specified tags are copied
  5579  	// to backups. If you specify one or more tags when creating a user-initiated
  5580  	// backup, no tags are copied from the file system, regardless of this value.
  5581  	//
  5582  	// For more information, see Working with backups (https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html).
  5583  	CopyTagsToBackups *bool `type:"boolean"`
  5584  
  5585  	// A recurring daily time, in the format HH:MM. HH is the zero-padded hour of
  5586  	// the day (0-23), and MM is the zero-padded minute of the hour. For example,
  5587  	// 05:00 specifies 5 AM daily.
  5588  	DailyAutomaticBackupStartTime *string `min:"5" type:"string"`
  5589  
  5590  	// Sets the data compression configuration for the file system. DataCompressionType
  5591  	// can have the following values:
  5592  	//
  5593  	//    * NONE - (Default) Data compression is turned off when the file system
  5594  	//    is created.
  5595  	//
  5596  	//    * LZ4 - Data compression is turned on with the LZ4 algorithm.
  5597  	//
  5598  	// For more information, see Lustre data compression (https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-compression.html).
  5599  	DataCompressionType *string `type:"string" enum:"DataCompressionType"`
  5600  
  5601  	// Choose SCRATCH_1 and SCRATCH_2 deployment types when you need temporary storage
  5602  	// and shorter-term processing of data. The SCRATCH_2 deployment type provides
  5603  	// in-transit encryption of data and higher burst throughput capacity than SCRATCH_1.
  5604  	//
  5605  	// Choose PERSISTENT_1 deployment type for longer-term storage and workloads
  5606  	// and encryption of data in transit. To learn more about deployment types,
  5607  	// see FSx for Lustre Deployment Options (https://docs.aws.amazon.com/fsx/latest/LustreGuide/lustre-deployment-types.html).
  5608  	//
  5609  	// Encryption of data in-transit is automatically enabled when you access a
  5610  	// SCRATCH_2 or PERSISTENT_1 file system from Amazon EC2 instances that support
  5611  	// this feature (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data- protection.html).
  5612  	// (Default = SCRATCH_1)
  5613  	//
  5614  	// Encryption of data in-transit for SCRATCH_2 and PERSISTENT_1 deployment types
  5615  	// is supported when accessed from supported instance types in supported Amazon
  5616  	// Web Services Regions. To learn more, Encrypting Data in Transit (https://docs.aws.amazon.com/fsx/latest/LustreGuide/encryption-in-transit-fsxl.html).
  5617  	DeploymentType *string `type:"string" enum:"LustreDeploymentType"`
  5618  
  5619  	// The type of drive cache used by PERSISTENT_1 file systems that are provisioned
  5620  	// with HDD storage devices. This parameter is required when storage type is
  5621  	// HDD. Set to READ, improve the performance for frequently accessed files and
  5622  	// allows 20% of the total storage capacity of the file system to be cached.
  5623  	//
  5624  	// This parameter is required when StorageType is set to HDD.
  5625  	DriveCacheType *string `type:"string" enum:"DriveCacheType"`
  5626  
  5627  	// (Optional) The path in Amazon S3 where the root of your Amazon FSx file system
  5628  	// is exported. The path must use the same Amazon S3 bucket as specified in
  5629  	// ImportPath. You can provide an optional prefix to which new and changed data
  5630  	// is to be exported from your Amazon FSx for Lustre file system. If an ExportPath
  5631  	// value is not provided, Amazon FSx sets a default export path, s3://import-bucket/FSxLustre[creation-timestamp].
  5632  	// The timestamp is in UTC format, for example s3://import-bucket/FSxLustre20181105T222312Z.
  5633  	//
  5634  	// The Amazon S3 export bucket must be the same as the import bucket specified
  5635  	// by ImportPath. If you only specify a bucket name, such as s3://import-bucket,
  5636  	// you get a 1:1 mapping of file system objects to S3 bucket objects. This mapping
  5637  	// means that the input data in S3 is overwritten on export. If you provide
  5638  	// a custom prefix in the export path, such as s3://import-bucket/[custom-optional-prefix],
  5639  	// Amazon FSx exports the contents of your file system to that export prefix
  5640  	// in the Amazon S3 bucket.
  5641  	ExportPath *string `min:"3" type:"string"`
  5642  
  5643  	// (Optional) The path to the Amazon S3 bucket (including the optional prefix)
  5644  	// that you're using as the data repository for your Amazon FSx for Lustre file
  5645  	// system. The root of your FSx for Lustre file system will be mapped to the
  5646  	// root of the Amazon S3 bucket you select. An example is s3://import-bucket/optional-prefix.
  5647  	// If you specify a prefix after the Amazon S3 bucket name, only object keys
  5648  	// with that prefix are loaded into the file system.
  5649  	ImportPath *string `min:"3" type:"string"`
  5650  
  5651  	// (Optional) For files imported from a data repository, this value determines
  5652  	// the stripe count and maximum amount of data per file (in MiB) stored on a
  5653  	// single physical disk. The maximum number of disks that a single file can
  5654  	// be striped across is limited by the total number of disks that make up the
  5655  	// file system.
  5656  	//
  5657  	// The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000
  5658  	// MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.
  5659  	ImportedFileChunkSize *int64 `min:"1" type:"integer"`
  5660  
  5661  	// Required for the PERSISTENT_1 deployment type, describes the amount of read
  5662  	// and write throughput for each 1 tebibyte of storage, in MB/s/TiB. File system
  5663  	// throughput capacity is calculated by multiplying file system storage capacity
  5664  	// (TiB) by the PerUnitStorageThroughput (MB/s/TiB). For a 2.4 TiB file system,
  5665  	// provisioning 50 MB/s/TiB of PerUnitStorageThroughput yields 120 MB/s of file
  5666  	// system throughput. You pay for the amount of throughput that you provision.
  5667  	//
  5668  	// Valid values for SSD storage: 50, 100, 200. Valid values for HDD storage:
  5669  	// 12, 40.
  5670  	PerUnitStorageThroughput *int64 `min:"12" type:"integer"`
  5671  
  5672  	// (Optional) The preferred start time to perform weekly maintenance, formatted
  5673  	// d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through
  5674  	// 7, beginning with Monday and ending with Sunday.
  5675  	WeeklyMaintenanceStartTime *string `min:"7" type:"string"`
  5676  }
  5677  
  5678  // String returns the string representation.
  5679  //
  5680  // API parameter values that are decorated as "sensitive" in the API will not
  5681  // be included in the string output. The member name will be present, but the
  5682  // value will be replaced with "sensitive".
  5683  func (s CreateFileSystemLustreConfiguration) String() string {
  5684  	return awsutil.Prettify(s)
  5685  }
  5686  
  5687  // GoString returns the string representation.
  5688  //
  5689  // API parameter values that are decorated as "sensitive" in the API will not
  5690  // be included in the string output. The member name will be present, but the
  5691  // value will be replaced with "sensitive".
  5692  func (s CreateFileSystemLustreConfiguration) GoString() string {
  5693  	return s.String()
  5694  }
  5695  
  5696  // Validate inspects the fields of the type to determine if they are valid.
  5697  func (s *CreateFileSystemLustreConfiguration) Validate() error {
  5698  	invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemLustreConfiguration"}
  5699  	if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 {
  5700  		invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5))
  5701  	}
  5702  	if s.ExportPath != nil && len(*s.ExportPath) < 3 {
  5703  		invalidParams.Add(request.NewErrParamMinLen("ExportPath", 3))
  5704  	}
  5705  	if s.ImportPath != nil && len(*s.ImportPath) < 3 {
  5706  		invalidParams.Add(request.NewErrParamMinLen("ImportPath", 3))
  5707  	}
  5708  	if s.ImportedFileChunkSize != nil && *s.ImportedFileChunkSize < 1 {
  5709  		invalidParams.Add(request.NewErrParamMinValue("ImportedFileChunkSize", 1))
  5710  	}
  5711  	if s.PerUnitStorageThroughput != nil && *s.PerUnitStorageThroughput < 12 {
  5712  		invalidParams.Add(request.NewErrParamMinValue("PerUnitStorageThroughput", 12))
  5713  	}
  5714  	if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 {
  5715  		invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7))
  5716  	}
  5717  
  5718  	if invalidParams.Len() > 0 {
  5719  		return invalidParams
  5720  	}
  5721  	return nil
  5722  }
  5723  
  5724  // SetAutoImportPolicy sets the AutoImportPolicy field's value.
  5725  func (s *CreateFileSystemLustreConfiguration) SetAutoImportPolicy(v string) *CreateFileSystemLustreConfiguration {
  5726  	s.AutoImportPolicy = &v
  5727  	return s
  5728  }
  5729  
  5730  // SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value.
  5731  func (s *CreateFileSystemLustreConfiguration) SetAutomaticBackupRetentionDays(v int64) *CreateFileSystemLustreConfiguration {
  5732  	s.AutomaticBackupRetentionDays = &v
  5733  	return s
  5734  }
  5735  
  5736  // SetCopyTagsToBackups sets the CopyTagsToBackups field's value.
  5737  func (s *CreateFileSystemLustreConfiguration) SetCopyTagsToBackups(v bool) *CreateFileSystemLustreConfiguration {
  5738  	s.CopyTagsToBackups = &v
  5739  	return s
  5740  }
  5741  
  5742  // SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value.
  5743  func (s *CreateFileSystemLustreConfiguration) SetDailyAutomaticBackupStartTime(v string) *CreateFileSystemLustreConfiguration {
  5744  	s.DailyAutomaticBackupStartTime = &v
  5745  	return s
  5746  }
  5747  
  5748  // SetDataCompressionType sets the DataCompressionType field's value.
  5749  func (s *CreateFileSystemLustreConfiguration) SetDataCompressionType(v string) *CreateFileSystemLustreConfiguration {
  5750  	s.DataCompressionType = &v
  5751  	return s
  5752  }
  5753  
  5754  // SetDeploymentType sets the DeploymentType field's value.
  5755  func (s *CreateFileSystemLustreConfiguration) SetDeploymentType(v string) *CreateFileSystemLustreConfiguration {
  5756  	s.DeploymentType = &v
  5757  	return s
  5758  }
  5759  
  5760  // SetDriveCacheType sets the DriveCacheType field's value.
  5761  func (s *CreateFileSystemLustreConfiguration) SetDriveCacheType(v string) *CreateFileSystemLustreConfiguration {
  5762  	s.DriveCacheType = &v
  5763  	return s
  5764  }
  5765  
  5766  // SetExportPath sets the ExportPath field's value.
  5767  func (s *CreateFileSystemLustreConfiguration) SetExportPath(v string) *CreateFileSystemLustreConfiguration {
  5768  	s.ExportPath = &v
  5769  	return s
  5770  }
  5771  
  5772  // SetImportPath sets the ImportPath field's value.
  5773  func (s *CreateFileSystemLustreConfiguration) SetImportPath(v string) *CreateFileSystemLustreConfiguration {
  5774  	s.ImportPath = &v
  5775  	return s
  5776  }
  5777  
  5778  // SetImportedFileChunkSize sets the ImportedFileChunkSize field's value.
  5779  func (s *CreateFileSystemLustreConfiguration) SetImportedFileChunkSize(v int64) *CreateFileSystemLustreConfiguration {
  5780  	s.ImportedFileChunkSize = &v
  5781  	return s
  5782  }
  5783  
  5784  // SetPerUnitStorageThroughput sets the PerUnitStorageThroughput field's value.
  5785  func (s *CreateFileSystemLustreConfiguration) SetPerUnitStorageThroughput(v int64) *CreateFileSystemLustreConfiguration {
  5786  	s.PerUnitStorageThroughput = &v
  5787  	return s
  5788  }
  5789  
  5790  // SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value.
  5791  func (s *CreateFileSystemLustreConfiguration) SetWeeklyMaintenanceStartTime(v string) *CreateFileSystemLustreConfiguration {
  5792  	s.WeeklyMaintenanceStartTime = &v
  5793  	return s
  5794  }
  5795  
  5796  // The ONTAP configuration properties of the FSx for NetApp ONTAP file system
  5797  // that you are creating.
  5798  type CreateFileSystemOntapConfiguration struct {
  5799  	_ struct{} `type:"structure"`
  5800  
  5801  	// The number of days to retain automatic backups. Setting this to 0 disables
  5802  	// automatic backups. You can retain automatic backups for a maximum of 90 days.
  5803  	// The default is 0.
  5804  	AutomaticBackupRetentionDays *int64 `type:"integer"`
  5805  
  5806  	// A recurring daily time, in the format HH:MM. HH is the zero-padded hour of
  5807  	// the day (0-23), and MM is the zero-padded minute of the hour. For example,
  5808  	// 05:00 specifies 5 AM daily.
  5809  	DailyAutomaticBackupStartTime *string `min:"5" type:"string"`
  5810  
  5811  	// Specifies the ONTAP file system deployment type to use in creating the file
  5812  	// system.
  5813  	//
  5814  	// DeploymentType is a required field
  5815  	DeploymentType *string `type:"string" required:"true" enum:"OntapDeploymentType"`
  5816  
  5817  	// The SSD IOPS configuration for the Amazon FSx for NetApp ONTAP file system.
  5818  	DiskIopsConfiguration *DiskIopsConfiguration `type:"structure"`
  5819  
  5820  	// Specifies the IP address range in which the endpoints to access your file
  5821  	// system will be created. By default, Amazon FSx selects an unused IP address
  5822  	// range for you from the 198.19.* range.
  5823  	EndpointIpAddressRange *string `min:"9" type:"string"`
  5824  
  5825  	// The ONTAP administrative password for the fsxadmin user that you can use
  5826  	// to administer your file system using the ONTAP CLI and REST API.
  5827  	//
  5828  	// FsxAdminPassword is a sensitive parameter and its value will be
  5829  	// replaced with "sensitive" in string returned by CreateFileSystemOntapConfiguration's
  5830  	// String and GoString methods.
  5831  	FsxAdminPassword *string `min:"8" type:"string" sensitive:"true"`
  5832  
  5833  	// The ID for a subnet. A subnet is a range of IP addresses in your virtual
  5834  	// private cloud (VPC). For more information, see VPC and Subnets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  5835  	// in the Amazon VPC User Guide.
  5836  	PreferredSubnetId *string `min:"15" type:"string"`
  5837  
  5838  	// Specifies the VPC route tables in which your file system's endpoints will
  5839  	// be created. You should specify all VPC route tables associated with the subnets
  5840  	// in which your clients are located. By default, Amazon FSx selects your VPC's
  5841  	// default route table.
  5842  	RouteTableIds []*string `type:"list"`
  5843  
  5844  	// Sustained throughput of an Amazon FSx file system in MBps.
  5845  	//
  5846  	// ThroughputCapacity is a required field
  5847  	ThroughputCapacity *int64 `min:"8" type:"integer" required:"true"`
  5848  
  5849  	// A recurring weekly time, in the format D:HH:MM.
  5850  	//
  5851  	// D is the day of the week, for which 1 represents Monday and 7 represents
  5852  	// Sunday. For further details, see the ISO-8601 spec as described on Wikipedia
  5853  	// (https://en.wikipedia.org/wiki/ISO_week_date).
  5854  	//
  5855  	// HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute
  5856  	// of the hour.
  5857  	//
  5858  	// For example, 1:05:00 specifies maintenance at 5 AM Monday.
  5859  	WeeklyMaintenanceStartTime *string `min:"7" type:"string"`
  5860  }
  5861  
  5862  // String returns the string representation.
  5863  //
  5864  // API parameter values that are decorated as "sensitive" in the API will not
  5865  // be included in the string output. The member name will be present, but the
  5866  // value will be replaced with "sensitive".
  5867  func (s CreateFileSystemOntapConfiguration) String() string {
  5868  	return awsutil.Prettify(s)
  5869  }
  5870  
  5871  // GoString returns the string representation.
  5872  //
  5873  // API parameter values that are decorated as "sensitive" in the API will not
  5874  // be included in the string output. The member name will be present, but the
  5875  // value will be replaced with "sensitive".
  5876  func (s CreateFileSystemOntapConfiguration) GoString() string {
  5877  	return s.String()
  5878  }
  5879  
  5880  // Validate inspects the fields of the type to determine if they are valid.
  5881  func (s *CreateFileSystemOntapConfiguration) Validate() error {
  5882  	invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemOntapConfiguration"}
  5883  	if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 {
  5884  		invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5))
  5885  	}
  5886  	if s.DeploymentType == nil {
  5887  		invalidParams.Add(request.NewErrParamRequired("DeploymentType"))
  5888  	}
  5889  	if s.EndpointIpAddressRange != nil && len(*s.EndpointIpAddressRange) < 9 {
  5890  		invalidParams.Add(request.NewErrParamMinLen("EndpointIpAddressRange", 9))
  5891  	}
  5892  	if s.FsxAdminPassword != nil && len(*s.FsxAdminPassword) < 8 {
  5893  		invalidParams.Add(request.NewErrParamMinLen("FsxAdminPassword", 8))
  5894  	}
  5895  	if s.PreferredSubnetId != nil && len(*s.PreferredSubnetId) < 15 {
  5896  		invalidParams.Add(request.NewErrParamMinLen("PreferredSubnetId", 15))
  5897  	}
  5898  	if s.ThroughputCapacity == nil {
  5899  		invalidParams.Add(request.NewErrParamRequired("ThroughputCapacity"))
  5900  	}
  5901  	if s.ThroughputCapacity != nil && *s.ThroughputCapacity < 8 {
  5902  		invalidParams.Add(request.NewErrParamMinValue("ThroughputCapacity", 8))
  5903  	}
  5904  	if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 {
  5905  		invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7))
  5906  	}
  5907  
  5908  	if invalidParams.Len() > 0 {
  5909  		return invalidParams
  5910  	}
  5911  	return nil
  5912  }
  5913  
  5914  // SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value.
  5915  func (s *CreateFileSystemOntapConfiguration) SetAutomaticBackupRetentionDays(v int64) *CreateFileSystemOntapConfiguration {
  5916  	s.AutomaticBackupRetentionDays = &v
  5917  	return s
  5918  }
  5919  
  5920  // SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value.
  5921  func (s *CreateFileSystemOntapConfiguration) SetDailyAutomaticBackupStartTime(v string) *CreateFileSystemOntapConfiguration {
  5922  	s.DailyAutomaticBackupStartTime = &v
  5923  	return s
  5924  }
  5925  
  5926  // SetDeploymentType sets the DeploymentType field's value.
  5927  func (s *CreateFileSystemOntapConfiguration) SetDeploymentType(v string) *CreateFileSystemOntapConfiguration {
  5928  	s.DeploymentType = &v
  5929  	return s
  5930  }
  5931  
  5932  // SetDiskIopsConfiguration sets the DiskIopsConfiguration field's value.
  5933  func (s *CreateFileSystemOntapConfiguration) SetDiskIopsConfiguration(v *DiskIopsConfiguration) *CreateFileSystemOntapConfiguration {
  5934  	s.DiskIopsConfiguration = v
  5935  	return s
  5936  }
  5937  
  5938  // SetEndpointIpAddressRange sets the EndpointIpAddressRange field's value.
  5939  func (s *CreateFileSystemOntapConfiguration) SetEndpointIpAddressRange(v string) *CreateFileSystemOntapConfiguration {
  5940  	s.EndpointIpAddressRange = &v
  5941  	return s
  5942  }
  5943  
  5944  // SetFsxAdminPassword sets the FsxAdminPassword field's value.
  5945  func (s *CreateFileSystemOntapConfiguration) SetFsxAdminPassword(v string) *CreateFileSystemOntapConfiguration {
  5946  	s.FsxAdminPassword = &v
  5947  	return s
  5948  }
  5949  
  5950  // SetPreferredSubnetId sets the PreferredSubnetId field's value.
  5951  func (s *CreateFileSystemOntapConfiguration) SetPreferredSubnetId(v string) *CreateFileSystemOntapConfiguration {
  5952  	s.PreferredSubnetId = &v
  5953  	return s
  5954  }
  5955  
  5956  // SetRouteTableIds sets the RouteTableIds field's value.
  5957  func (s *CreateFileSystemOntapConfiguration) SetRouteTableIds(v []*string) *CreateFileSystemOntapConfiguration {
  5958  	s.RouteTableIds = v
  5959  	return s
  5960  }
  5961  
  5962  // SetThroughputCapacity sets the ThroughputCapacity field's value.
  5963  func (s *CreateFileSystemOntapConfiguration) SetThroughputCapacity(v int64) *CreateFileSystemOntapConfiguration {
  5964  	s.ThroughputCapacity = &v
  5965  	return s
  5966  }
  5967  
  5968  // SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value.
  5969  func (s *CreateFileSystemOntapConfiguration) SetWeeklyMaintenanceStartTime(v string) *CreateFileSystemOntapConfiguration {
  5970  	s.WeeklyMaintenanceStartTime = &v
  5971  	return s
  5972  }
  5973  
  5974  // The response object returned after the file system is created.
  5975  type CreateFileSystemOutput struct {
  5976  	_ struct{} `type:"structure"`
  5977  
  5978  	// The configuration of the file system that was created.
  5979  	FileSystem *FileSystem `type:"structure"`
  5980  }
  5981  
  5982  // String returns the string representation.
  5983  //
  5984  // API parameter values that are decorated as "sensitive" in the API will not
  5985  // be included in the string output. The member name will be present, but the
  5986  // value will be replaced with "sensitive".
  5987  func (s CreateFileSystemOutput) String() string {
  5988  	return awsutil.Prettify(s)
  5989  }
  5990  
  5991  // GoString returns the string representation.
  5992  //
  5993  // API parameter values that are decorated as "sensitive" in the API will not
  5994  // be included in the string output. The member name will be present, but the
  5995  // value will be replaced with "sensitive".
  5996  func (s CreateFileSystemOutput) GoString() string {
  5997  	return s.String()
  5998  }
  5999  
  6000  // SetFileSystem sets the FileSystem field's value.
  6001  func (s *CreateFileSystemOutput) SetFileSystem(v *FileSystem) *CreateFileSystemOutput {
  6002  	s.FileSystem = v
  6003  	return s
  6004  }
  6005  
  6006  // The configuration object for the Microsoft Windows file system used in CreateFileSystem
  6007  // and CreateFileSystemFromBackup operations.
  6008  type CreateFileSystemWindowsConfiguration struct {
  6009  	_ struct{} `type:"structure"`
  6010  
  6011  	// The ID for an existing Amazon Web Services Managed Microsoft Active Directory
  6012  	// (AD) instance that the file system should join when it's created.
  6013  	ActiveDirectoryId *string `min:"12" type:"string"`
  6014  
  6015  	// An array of one or more DNS alias names that you want to associate with the
  6016  	// Amazon FSx file system. Aliases allow you to use existing DNS names to access
  6017  	// the data in your Amazon FSx file system. You can associate up to 50 aliases
  6018  	// with a file system at any time. You can associate additional DNS aliases
  6019  	// after you create the file system using the AssociateFileSystemAliases operation.
  6020  	// You can remove DNS aliases from the file system after it is created using
  6021  	// the DisassociateFileSystemAliases operation. You only need to specify the
  6022  	// alias name in the request payload.
  6023  	//
  6024  	// For more information, see Working with DNS Aliases (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html)
  6025  	// and Walkthrough 5: Using DNS aliases to access your file system (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/walkthrough05-file-system-custom-CNAME.html),
  6026  	// including additional steps you must take to be able to access your file system
  6027  	// using a DNS alias.
  6028  	//
  6029  	// An alias name has to meet the following requirements:
  6030  	//
  6031  	//    * Formatted as a fully-qualified domain name (FQDN), hostname.domain,
  6032  	//    for example, accounting.example.com.
  6033  	//
  6034  	//    * Can contain alphanumeric characters, the underscore (_), and the hyphen
  6035  	//    (-).
  6036  	//
  6037  	//    * Cannot start or end with a hyphen.
  6038  	//
  6039  	//    * Can start with a numeric.
  6040  	//
  6041  	// For DNS alias names, Amazon FSx stores alphabetic characters as lowercase
  6042  	// letters (a-z), regardless of how you specify them: as uppercase letters,
  6043  	// lowercase letters, or the corresponding letters in escape codes.
  6044  	Aliases []*string `type:"list"`
  6045  
  6046  	// The configuration that Amazon FSx for Windows File Server uses to audit and
  6047  	// log user accesses of files, folders, and file shares on the Amazon FSx for
  6048  	// Windows File Server file system.
  6049  	AuditLogConfiguration *WindowsAuditLogCreateConfiguration `type:"structure"`
  6050  
  6051  	// The number of days to retain automatic backups. The default is to retain
  6052  	// backups for 7 days. Setting this value to 0 disables the creation of automatic
  6053  	// backups. The maximum retention period for backups is 90 days.
  6054  	AutomaticBackupRetentionDays *int64 `type:"integer"`
  6055  
  6056  	// A boolean flag indicating whether tags for the file system should be copied
  6057  	// to backups. This value defaults to false. If it's set to true, all tags for
  6058  	// the file system are copied to all automatic and user-initiated backups where
  6059  	// the user doesn't specify tags. If this value is true, and you specify one
  6060  	// or more tags, only the specified tags are copied to backups. If you specify
  6061  	// one or more tags when creating a user-initiated backup, no tags are copied
  6062  	// from the file system, regardless of this value.
  6063  	CopyTagsToBackups *bool `type:"boolean"`
  6064  
  6065  	// The preferred time to take daily automatic backups, formatted HH:MM in the
  6066  	// UTC time zone.
  6067  	DailyAutomaticBackupStartTime *string `min:"5" type:"string"`
  6068  
  6069  	// Specifies the file system deployment type, valid values are the following:
  6070  	//
  6071  	//    * MULTI_AZ_1 - Deploys a high availability file system that is configured
  6072  	//    for Multi-AZ redundancy to tolerate temporary Availability Zone (AZ) unavailability.
  6073  	//    You can only deploy a Multi-AZ file system in Amazon Web Services Regions
  6074  	//    that have a minimum of three Availability Zones. Also supports HDD storage
  6075  	//    type
  6076  	//
  6077  	//    * SINGLE_AZ_1 - (Default) Choose to deploy a file system that is configured
  6078  	//    for single AZ redundancy.
  6079  	//
  6080  	//    * SINGLE_AZ_2 - The latest generation Single AZ file system. Specifies
  6081  	//    a file system that is configured for single AZ redundancy and supports
  6082  	//    HDD storage type.
  6083  	//
  6084  	// For more information, see Availability and Durability: Single-AZ and Multi-AZ
  6085  	// File Systems (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html).
  6086  	DeploymentType *string `type:"string" enum:"WindowsDeploymentType"`
  6087  
  6088  	// Required when DeploymentType is set to MULTI_AZ_1. This specifies the subnet
  6089  	// in which you want the preferred file server to be located. For in-Amazon
  6090  	// Web Services applications, we recommend that you launch your clients in the
  6091  	// same Availability Zone (AZ) as your preferred file server to reduce cross-AZ
  6092  	// data transfer costs and minimize latency.
  6093  	PreferredSubnetId *string `min:"15" type:"string"`
  6094  
  6095  	// The configuration that Amazon FSx uses to join a FSx for Windows File Server
  6096  	// file system or an ONTAP storage virtual machine (SVM) to a self-managed (including
  6097  	// on-premises) Microsoft Active Directory (AD) directory. For more information,
  6098  	// see Using Amazon FSx with your self-managed Microsoft Active Directory (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/self-managed-AD.html)
  6099  	// or Managing SVMs (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html).
  6100  	SelfManagedActiveDirectoryConfiguration *SelfManagedActiveDirectoryConfiguration `type:"structure"`
  6101  
  6102  	// The throughput of an Amazon FSx file system, measured in megabytes per second,
  6103  	// in 2 to the nth increments, between 2^3 (8) and 2^11 (2048).
  6104  	//
  6105  	// ThroughputCapacity is a required field
  6106  	ThroughputCapacity *int64 `min:"8" type:"integer" required:"true"`
  6107  
  6108  	// The preferred start time to perform weekly maintenance, formatted d:HH:MM
  6109  	// in the UTC time zone, where d is the weekday number, from 1 through 7, beginning
  6110  	// with Monday and ending with Sunday.
  6111  	WeeklyMaintenanceStartTime *string `min:"7" type:"string"`
  6112  }
  6113  
  6114  // String returns the string representation.
  6115  //
  6116  // API parameter values that are decorated as "sensitive" in the API will not
  6117  // be included in the string output. The member name will be present, but the
  6118  // value will be replaced with "sensitive".
  6119  func (s CreateFileSystemWindowsConfiguration) String() string {
  6120  	return awsutil.Prettify(s)
  6121  }
  6122  
  6123  // GoString returns the string representation.
  6124  //
  6125  // API parameter values that are decorated as "sensitive" in the API will not
  6126  // be included in the string output. The member name will be present, but the
  6127  // value will be replaced with "sensitive".
  6128  func (s CreateFileSystemWindowsConfiguration) GoString() string {
  6129  	return s.String()
  6130  }
  6131  
  6132  // Validate inspects the fields of the type to determine if they are valid.
  6133  func (s *CreateFileSystemWindowsConfiguration) Validate() error {
  6134  	invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemWindowsConfiguration"}
  6135  	if s.ActiveDirectoryId != nil && len(*s.ActiveDirectoryId) < 12 {
  6136  		invalidParams.Add(request.NewErrParamMinLen("ActiveDirectoryId", 12))
  6137  	}
  6138  	if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 {
  6139  		invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5))
  6140  	}
  6141  	if s.PreferredSubnetId != nil && len(*s.PreferredSubnetId) < 15 {
  6142  		invalidParams.Add(request.NewErrParamMinLen("PreferredSubnetId", 15))
  6143  	}
  6144  	if s.ThroughputCapacity == nil {
  6145  		invalidParams.Add(request.NewErrParamRequired("ThroughputCapacity"))
  6146  	}
  6147  	if s.ThroughputCapacity != nil && *s.ThroughputCapacity < 8 {
  6148  		invalidParams.Add(request.NewErrParamMinValue("ThroughputCapacity", 8))
  6149  	}
  6150  	if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 {
  6151  		invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7))
  6152  	}
  6153  	if s.AuditLogConfiguration != nil {
  6154  		if err := s.AuditLogConfiguration.Validate(); err != nil {
  6155  			invalidParams.AddNested("AuditLogConfiguration", err.(request.ErrInvalidParams))
  6156  		}
  6157  	}
  6158  	if s.SelfManagedActiveDirectoryConfiguration != nil {
  6159  		if err := s.SelfManagedActiveDirectoryConfiguration.Validate(); err != nil {
  6160  			invalidParams.AddNested("SelfManagedActiveDirectoryConfiguration", err.(request.ErrInvalidParams))
  6161  		}
  6162  	}
  6163  
  6164  	if invalidParams.Len() > 0 {
  6165  		return invalidParams
  6166  	}
  6167  	return nil
  6168  }
  6169  
  6170  // SetActiveDirectoryId sets the ActiveDirectoryId field's value.
  6171  func (s *CreateFileSystemWindowsConfiguration) SetActiveDirectoryId(v string) *CreateFileSystemWindowsConfiguration {
  6172  	s.ActiveDirectoryId = &v
  6173  	return s
  6174  }
  6175  
  6176  // SetAliases sets the Aliases field's value.
  6177  func (s *CreateFileSystemWindowsConfiguration) SetAliases(v []*string) *CreateFileSystemWindowsConfiguration {
  6178  	s.Aliases = v
  6179  	return s
  6180  }
  6181  
  6182  // SetAuditLogConfiguration sets the AuditLogConfiguration field's value.
  6183  func (s *CreateFileSystemWindowsConfiguration) SetAuditLogConfiguration(v *WindowsAuditLogCreateConfiguration) *CreateFileSystemWindowsConfiguration {
  6184  	s.AuditLogConfiguration = v
  6185  	return s
  6186  }
  6187  
  6188  // SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value.
  6189  func (s *CreateFileSystemWindowsConfiguration) SetAutomaticBackupRetentionDays(v int64) *CreateFileSystemWindowsConfiguration {
  6190  	s.AutomaticBackupRetentionDays = &v
  6191  	return s
  6192  }
  6193  
  6194  // SetCopyTagsToBackups sets the CopyTagsToBackups field's value.
  6195  func (s *CreateFileSystemWindowsConfiguration) SetCopyTagsToBackups(v bool) *CreateFileSystemWindowsConfiguration {
  6196  	s.CopyTagsToBackups = &v
  6197  	return s
  6198  }
  6199  
  6200  // SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value.
  6201  func (s *CreateFileSystemWindowsConfiguration) SetDailyAutomaticBackupStartTime(v string) *CreateFileSystemWindowsConfiguration {
  6202  	s.DailyAutomaticBackupStartTime = &v
  6203  	return s
  6204  }
  6205  
  6206  // SetDeploymentType sets the DeploymentType field's value.
  6207  func (s *CreateFileSystemWindowsConfiguration) SetDeploymentType(v string) *CreateFileSystemWindowsConfiguration {
  6208  	s.DeploymentType = &v
  6209  	return s
  6210  }
  6211  
  6212  // SetPreferredSubnetId sets the PreferredSubnetId field's value.
  6213  func (s *CreateFileSystemWindowsConfiguration) SetPreferredSubnetId(v string) *CreateFileSystemWindowsConfiguration {
  6214  	s.PreferredSubnetId = &v
  6215  	return s
  6216  }
  6217  
  6218  // SetSelfManagedActiveDirectoryConfiguration sets the SelfManagedActiveDirectoryConfiguration field's value.
  6219  func (s *CreateFileSystemWindowsConfiguration) SetSelfManagedActiveDirectoryConfiguration(v *SelfManagedActiveDirectoryConfiguration) *CreateFileSystemWindowsConfiguration {
  6220  	s.SelfManagedActiveDirectoryConfiguration = v
  6221  	return s
  6222  }
  6223  
  6224  // SetThroughputCapacity sets the ThroughputCapacity field's value.
  6225  func (s *CreateFileSystemWindowsConfiguration) SetThroughputCapacity(v int64) *CreateFileSystemWindowsConfiguration {
  6226  	s.ThroughputCapacity = &v
  6227  	return s
  6228  }
  6229  
  6230  // SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value.
  6231  func (s *CreateFileSystemWindowsConfiguration) SetWeeklyMaintenanceStartTime(v string) *CreateFileSystemWindowsConfiguration {
  6232  	s.WeeklyMaintenanceStartTime = &v
  6233  	return s
  6234  }
  6235  
  6236  // Specifies the configuration of the ONTAP volume that you are creating.
  6237  type CreateOntapVolumeConfiguration struct {
  6238  	_ struct{} `type:"structure"`
  6239  
  6240  	// Specifies the location in the SVM's namespace where the volume is mounted.
  6241  	// The JunctionPath must have a leading forward slash, such as /vol3.
  6242  	//
  6243  	// JunctionPath is a required field
  6244  	JunctionPath *string `min:"1" type:"string" required:"true"`
  6245  
  6246  	// The security style for the volume. Specify one of the following values:
  6247  	//
  6248  	//    * UNIX if the file system is managed by a UNIX administrator, the majority
  6249  	//    of users are NFS clients, and an application accessing the data uses a
  6250  	//    UNIX user as the service account. UNIX is the default.
  6251  	//
  6252  	//    * NTFS if the file system is managed by a Windows administrator, the majority
  6253  	//    of users are SMB clients, and an application accessing the data uses a
  6254  	//    Windows user as the service account.
  6255  	//
  6256  	//    * MIXED if the file system is managed by both UNIX and Windows administrators
  6257  	//    and users consist of both NFS and SMB clients.
  6258  	SecurityStyle *string `type:"string" enum:"SecurityStyle"`
  6259  
  6260  	// Specifies the size of the volume, in megabytes (MB), that you are creating.
  6261  	//
  6262  	// SizeInMegabytes is a required field
  6263  	SizeInMegabytes *int64 `type:"integer" required:"true"`
  6264  
  6265  	// Set to true to enable deduplication, compression, and compaction storage
  6266  	// efficiency features on the volume.
  6267  	//
  6268  	// StorageEfficiencyEnabled is a required field
  6269  	StorageEfficiencyEnabled *bool `type:"boolean" required:"true"`
  6270  
  6271  	// Specifies the ONTAP SVM in which to create the volume.
  6272  	//
  6273  	// StorageVirtualMachineId is a required field
  6274  	StorageVirtualMachineId *string `min:"21" type:"string" required:"true"`
  6275  
  6276  	// Describes the data tiering policy for an ONTAP volume. When enabled, Amazon
  6277  	// FSx for ONTAP's intelligent tiering automatically transitions a volume's
  6278  	// data between the file system's primary storage and capacity pool storage
  6279  	// based on your access patterns.
  6280  	TieringPolicy *TieringPolicy `type:"structure"`
  6281  }
  6282  
  6283  // String returns the string representation.
  6284  //
  6285  // API parameter values that are decorated as "sensitive" in the API will not
  6286  // be included in the string output. The member name will be present, but the
  6287  // value will be replaced with "sensitive".
  6288  func (s CreateOntapVolumeConfiguration) String() string {
  6289  	return awsutil.Prettify(s)
  6290  }
  6291  
  6292  // GoString returns the string representation.
  6293  //
  6294  // API parameter values that are decorated as "sensitive" in the API will not
  6295  // be included in the string output. The member name will be present, but the
  6296  // value will be replaced with "sensitive".
  6297  func (s CreateOntapVolumeConfiguration) GoString() string {
  6298  	return s.String()
  6299  }
  6300  
  6301  // Validate inspects the fields of the type to determine if they are valid.
  6302  func (s *CreateOntapVolumeConfiguration) Validate() error {
  6303  	invalidParams := request.ErrInvalidParams{Context: "CreateOntapVolumeConfiguration"}
  6304  	if s.JunctionPath == nil {
  6305  		invalidParams.Add(request.NewErrParamRequired("JunctionPath"))
  6306  	}
  6307  	if s.JunctionPath != nil && len(*s.JunctionPath) < 1 {
  6308  		invalidParams.Add(request.NewErrParamMinLen("JunctionPath", 1))
  6309  	}
  6310  	if s.SizeInMegabytes == nil {
  6311  		invalidParams.Add(request.NewErrParamRequired("SizeInMegabytes"))
  6312  	}
  6313  	if s.StorageEfficiencyEnabled == nil {
  6314  		invalidParams.Add(request.NewErrParamRequired("StorageEfficiencyEnabled"))
  6315  	}
  6316  	if s.StorageVirtualMachineId == nil {
  6317  		invalidParams.Add(request.NewErrParamRequired("StorageVirtualMachineId"))
  6318  	}
  6319  	if s.StorageVirtualMachineId != nil && len(*s.StorageVirtualMachineId) < 21 {
  6320  		invalidParams.Add(request.NewErrParamMinLen("StorageVirtualMachineId", 21))
  6321  	}
  6322  	if s.TieringPolicy != nil {
  6323  		if err := s.TieringPolicy.Validate(); err != nil {
  6324  			invalidParams.AddNested("TieringPolicy", err.(request.ErrInvalidParams))
  6325  		}
  6326  	}
  6327  
  6328  	if invalidParams.Len() > 0 {
  6329  		return invalidParams
  6330  	}
  6331  	return nil
  6332  }
  6333  
  6334  // SetJunctionPath sets the JunctionPath field's value.
  6335  func (s *CreateOntapVolumeConfiguration) SetJunctionPath(v string) *CreateOntapVolumeConfiguration {
  6336  	s.JunctionPath = &v
  6337  	return s
  6338  }
  6339  
  6340  // SetSecurityStyle sets the SecurityStyle field's value.
  6341  func (s *CreateOntapVolumeConfiguration) SetSecurityStyle(v string) *CreateOntapVolumeConfiguration {
  6342  	s.SecurityStyle = &v
  6343  	return s
  6344  }
  6345  
  6346  // SetSizeInMegabytes sets the SizeInMegabytes field's value.
  6347  func (s *CreateOntapVolumeConfiguration) SetSizeInMegabytes(v int64) *CreateOntapVolumeConfiguration {
  6348  	s.SizeInMegabytes = &v
  6349  	return s
  6350  }
  6351  
  6352  // SetStorageEfficiencyEnabled sets the StorageEfficiencyEnabled field's value.
  6353  func (s *CreateOntapVolumeConfiguration) SetStorageEfficiencyEnabled(v bool) *CreateOntapVolumeConfiguration {
  6354  	s.StorageEfficiencyEnabled = &v
  6355  	return s
  6356  }
  6357  
  6358  // SetStorageVirtualMachineId sets the StorageVirtualMachineId field's value.
  6359  func (s *CreateOntapVolumeConfiguration) SetStorageVirtualMachineId(v string) *CreateOntapVolumeConfiguration {
  6360  	s.StorageVirtualMachineId = &v
  6361  	return s
  6362  }
  6363  
  6364  // SetTieringPolicy sets the TieringPolicy field's value.
  6365  func (s *CreateOntapVolumeConfiguration) SetTieringPolicy(v *TieringPolicy) *CreateOntapVolumeConfiguration {
  6366  	s.TieringPolicy = v
  6367  	return s
  6368  }
  6369  
  6370  type CreateStorageVirtualMachineInput struct {
  6371  	_ struct{} `type:"structure"`
  6372  
  6373  	// Describes the self-managed Microsoft Active Directory to which you want to
  6374  	// join the SVM. Joining an Active Directory provides user authentication and
  6375  	// access control for SMB clients, including Microsoft Windows and macOS client
  6376  	// accessing the file system.
  6377  	ActiveDirectoryConfiguration *CreateSvmActiveDirectoryConfiguration `type:"structure"`
  6378  
  6379  	// (Optional) An idempotency token for resource creation, in a string of up
  6380  	// to 64 ASCII characters. This token is automatically filled on your behalf
  6381  	// when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.
  6382  	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
  6383  
  6384  	// The globally unique ID of the file system, assigned by Amazon FSx.
  6385  	//
  6386  	// FileSystemId is a required field
  6387  	FileSystemId *string `min:"11" type:"string" required:"true"`
  6388  
  6389  	// The name of the SVM.
  6390  	//
  6391  	// Name is a required field
  6392  	Name *string `min:"1" type:"string" required:"true"`
  6393  
  6394  	// The security style of the root volume of the SVM. Specify one of the following
  6395  	// values:
  6396  	//
  6397  	//    * UNIX if the file system is managed by a UNIX administrator, the majority
  6398  	//    of users are NFS clients, and an application accessing the data uses a
  6399  	//    UNIX user as the service account.
  6400  	//
  6401  	//    * NTFS if the file system is managed by a Windows administrator, the majority
  6402  	//    of users are SMB clients, and an application accessing the data uses a
  6403  	//    Windows user as the service account.
  6404  	//
  6405  	//    * MIXED if the file system is managed by both UNIX and Windows administrators
  6406  	//    and users consist of both NFS and SMB clients.
  6407  	RootVolumeSecurityStyle *string `type:"string" enum:"StorageVirtualMachineRootVolumeSecurityStyle"`
  6408  
  6409  	// The password to use when managing the SVM using the NetApp ONTAP CLI or REST
  6410  	// API. If you do not specify a password, you can still use the file system's
  6411  	// fsxadmin user to manage the SVM.
  6412  	//
  6413  	// SvmAdminPassword is a sensitive parameter and its value will be
  6414  	// replaced with "sensitive" in string returned by CreateStorageVirtualMachineInput's
  6415  	// String and GoString methods.
  6416  	SvmAdminPassword *string `min:"8" type:"string" sensitive:"true"`
  6417  
  6418  	// A list of Tag values, with a maximum of 50 elements.
  6419  	Tags []*Tag `min:"1" type:"list"`
  6420  }
  6421  
  6422  // String returns the string representation.
  6423  //
  6424  // API parameter values that are decorated as "sensitive" in the API will not
  6425  // be included in the string output. The member name will be present, but the
  6426  // value will be replaced with "sensitive".
  6427  func (s CreateStorageVirtualMachineInput) String() string {
  6428  	return awsutil.Prettify(s)
  6429  }
  6430  
  6431  // GoString returns the string representation.
  6432  //
  6433  // API parameter values that are decorated as "sensitive" in the API will not
  6434  // be included in the string output. The member name will be present, but the
  6435  // value will be replaced with "sensitive".
  6436  func (s CreateStorageVirtualMachineInput) GoString() string {
  6437  	return s.String()
  6438  }
  6439  
  6440  // Validate inspects the fields of the type to determine if they are valid.
  6441  func (s *CreateStorageVirtualMachineInput) Validate() error {
  6442  	invalidParams := request.ErrInvalidParams{Context: "CreateStorageVirtualMachineInput"}
  6443  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  6444  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  6445  	}
  6446  	if s.FileSystemId == nil {
  6447  		invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
  6448  	}
  6449  	if s.FileSystemId != nil && len(*s.FileSystemId) < 11 {
  6450  		invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11))
  6451  	}
  6452  	if s.Name == nil {
  6453  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6454  	}
  6455  	if s.Name != nil && len(*s.Name) < 1 {
  6456  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  6457  	}
  6458  	if s.SvmAdminPassword != nil && len(*s.SvmAdminPassword) < 8 {
  6459  		invalidParams.Add(request.NewErrParamMinLen("SvmAdminPassword", 8))
  6460  	}
  6461  	if s.Tags != nil && len(s.Tags) < 1 {
  6462  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  6463  	}
  6464  	if s.ActiveDirectoryConfiguration != nil {
  6465  		if err := s.ActiveDirectoryConfiguration.Validate(); err != nil {
  6466  			invalidParams.AddNested("ActiveDirectoryConfiguration", err.(request.ErrInvalidParams))
  6467  		}
  6468  	}
  6469  	if s.Tags != nil {
  6470  		for i, v := range s.Tags {
  6471  			if v == nil {
  6472  				continue
  6473  			}
  6474  			if err := v.Validate(); err != nil {
  6475  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  6476  			}
  6477  		}
  6478  	}
  6479  
  6480  	if invalidParams.Len() > 0 {
  6481  		return invalidParams
  6482  	}
  6483  	return nil
  6484  }
  6485  
  6486  // SetActiveDirectoryConfiguration sets the ActiveDirectoryConfiguration field's value.
  6487  func (s *CreateStorageVirtualMachineInput) SetActiveDirectoryConfiguration(v *CreateSvmActiveDirectoryConfiguration) *CreateStorageVirtualMachineInput {
  6488  	s.ActiveDirectoryConfiguration = v
  6489  	return s
  6490  }
  6491  
  6492  // SetClientRequestToken sets the ClientRequestToken field's value.
  6493  func (s *CreateStorageVirtualMachineInput) SetClientRequestToken(v string) *CreateStorageVirtualMachineInput {
  6494  	s.ClientRequestToken = &v
  6495  	return s
  6496  }
  6497  
  6498  // SetFileSystemId sets the FileSystemId field's value.
  6499  func (s *CreateStorageVirtualMachineInput) SetFileSystemId(v string) *CreateStorageVirtualMachineInput {
  6500  	s.FileSystemId = &v
  6501  	return s
  6502  }
  6503  
  6504  // SetName sets the Name field's value.
  6505  func (s *CreateStorageVirtualMachineInput) SetName(v string) *CreateStorageVirtualMachineInput {
  6506  	s.Name = &v
  6507  	return s
  6508  }
  6509  
  6510  // SetRootVolumeSecurityStyle sets the RootVolumeSecurityStyle field's value.
  6511  func (s *CreateStorageVirtualMachineInput) SetRootVolumeSecurityStyle(v string) *CreateStorageVirtualMachineInput {
  6512  	s.RootVolumeSecurityStyle = &v
  6513  	return s
  6514  }
  6515  
  6516  // SetSvmAdminPassword sets the SvmAdminPassword field's value.
  6517  func (s *CreateStorageVirtualMachineInput) SetSvmAdminPassword(v string) *CreateStorageVirtualMachineInput {
  6518  	s.SvmAdminPassword = &v
  6519  	return s
  6520  }
  6521  
  6522  // SetTags sets the Tags field's value.
  6523  func (s *CreateStorageVirtualMachineInput) SetTags(v []*Tag) *CreateStorageVirtualMachineInput {
  6524  	s.Tags = v
  6525  	return s
  6526  }
  6527  
  6528  type CreateStorageVirtualMachineOutput struct {
  6529  	_ struct{} `type:"structure"`
  6530  
  6531  	// Returned after a successful CreateStorageVirtualMachine operation; describes
  6532  	// the SVM just created.
  6533  	StorageVirtualMachine *StorageVirtualMachine `type:"structure"`
  6534  }
  6535  
  6536  // String returns the string representation.
  6537  //
  6538  // API parameter values that are decorated as "sensitive" in the API will not
  6539  // be included in the string output. The member name will be present, but the
  6540  // value will be replaced with "sensitive".
  6541  func (s CreateStorageVirtualMachineOutput) String() string {
  6542  	return awsutil.Prettify(s)
  6543  }
  6544  
  6545  // GoString returns the string representation.
  6546  //
  6547  // API parameter values that are decorated as "sensitive" in the API will not
  6548  // be included in the string output. The member name will be present, but the
  6549  // value will be replaced with "sensitive".
  6550  func (s CreateStorageVirtualMachineOutput) GoString() string {
  6551  	return s.String()
  6552  }
  6553  
  6554  // SetStorageVirtualMachine sets the StorageVirtualMachine field's value.
  6555  func (s *CreateStorageVirtualMachineOutput) SetStorageVirtualMachine(v *StorageVirtualMachine) *CreateStorageVirtualMachineOutput {
  6556  	s.StorageVirtualMachine = v
  6557  	return s
  6558  }
  6559  
  6560  // The configuration that Amazon FSx uses to join the ONTAP storage virtual
  6561  // machine (SVM) to your self-managed (including on-premises) Microsoft Active
  6562  // Directory (AD) directory.
  6563  type CreateSvmActiveDirectoryConfiguration struct {
  6564  	_ struct{} `type:"structure"`
  6565  
  6566  	// The NetBIOS name of the Active Directory computer object that will be created
  6567  	// for your SVM.
  6568  	//
  6569  	// NetBiosName is a required field
  6570  	NetBiosName *string `min:"1" type:"string" required:"true"`
  6571  
  6572  	// The configuration that Amazon FSx uses to join a FSx for Windows File Server
  6573  	// file system or an ONTAP storage virtual machine (SVM) to a self-managed (including
  6574  	// on-premises) Microsoft Active Directory (AD) directory. For more information,
  6575  	// see Using Amazon FSx with your self-managed Microsoft Active Directory (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/self-managed-AD.html)
  6576  	// or Managing SVMs (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html).
  6577  	SelfManagedActiveDirectoryConfiguration *SelfManagedActiveDirectoryConfiguration `type:"structure"`
  6578  }
  6579  
  6580  // String returns the string representation.
  6581  //
  6582  // API parameter values that are decorated as "sensitive" in the API will not
  6583  // be included in the string output. The member name will be present, but the
  6584  // value will be replaced with "sensitive".
  6585  func (s CreateSvmActiveDirectoryConfiguration) String() string {
  6586  	return awsutil.Prettify(s)
  6587  }
  6588  
  6589  // GoString returns the string representation.
  6590  //
  6591  // API parameter values that are decorated as "sensitive" in the API will not
  6592  // be included in the string output. The member name will be present, but the
  6593  // value will be replaced with "sensitive".
  6594  func (s CreateSvmActiveDirectoryConfiguration) GoString() string {
  6595  	return s.String()
  6596  }
  6597  
  6598  // Validate inspects the fields of the type to determine if they are valid.
  6599  func (s *CreateSvmActiveDirectoryConfiguration) Validate() error {
  6600  	invalidParams := request.ErrInvalidParams{Context: "CreateSvmActiveDirectoryConfiguration"}
  6601  	if s.NetBiosName == nil {
  6602  		invalidParams.Add(request.NewErrParamRequired("NetBiosName"))
  6603  	}
  6604  	if s.NetBiosName != nil && len(*s.NetBiosName) < 1 {
  6605  		invalidParams.Add(request.NewErrParamMinLen("NetBiosName", 1))
  6606  	}
  6607  	if s.SelfManagedActiveDirectoryConfiguration != nil {
  6608  		if err := s.SelfManagedActiveDirectoryConfiguration.Validate(); err != nil {
  6609  			invalidParams.AddNested("SelfManagedActiveDirectoryConfiguration", err.(request.ErrInvalidParams))
  6610  		}
  6611  	}
  6612  
  6613  	if invalidParams.Len() > 0 {
  6614  		return invalidParams
  6615  	}
  6616  	return nil
  6617  }
  6618  
  6619  // SetNetBiosName sets the NetBiosName field's value.
  6620  func (s *CreateSvmActiveDirectoryConfiguration) SetNetBiosName(v string) *CreateSvmActiveDirectoryConfiguration {
  6621  	s.NetBiosName = &v
  6622  	return s
  6623  }
  6624  
  6625  // SetSelfManagedActiveDirectoryConfiguration sets the SelfManagedActiveDirectoryConfiguration field's value.
  6626  func (s *CreateSvmActiveDirectoryConfiguration) SetSelfManagedActiveDirectoryConfiguration(v *SelfManagedActiveDirectoryConfiguration) *CreateSvmActiveDirectoryConfiguration {
  6627  	s.SelfManagedActiveDirectoryConfiguration = v
  6628  	return s
  6629  }
  6630  
  6631  type CreateVolumeFromBackupInput struct {
  6632  	_ struct{} `type:"structure"`
  6633  
  6634  	// The ID of the source backup. Specifies the backup you are copying.
  6635  	//
  6636  	// BackupId is a required field
  6637  	BackupId *string `min:"12" type:"string" required:"true"`
  6638  
  6639  	// (Optional) An idempotency token for resource creation, in a string of up
  6640  	// to 64 ASCII characters. This token is automatically filled on your behalf
  6641  	// when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.
  6642  	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
  6643  
  6644  	// The name of the new volume you're creating.
  6645  	//
  6646  	// Name is a required field
  6647  	Name *string `min:"1" type:"string" required:"true"`
  6648  
  6649  	// Specifies the configuration of the ONTAP volume that you are creating.
  6650  	OntapConfiguration *CreateOntapVolumeConfiguration `type:"structure"`
  6651  
  6652  	// A list of Tag values, with a maximum of 50 elements.
  6653  	Tags []*Tag `min:"1" type:"list"`
  6654  }
  6655  
  6656  // String returns the string representation.
  6657  //
  6658  // API parameter values that are decorated as "sensitive" in the API will not
  6659  // be included in the string output. The member name will be present, but the
  6660  // value will be replaced with "sensitive".
  6661  func (s CreateVolumeFromBackupInput) String() string {
  6662  	return awsutil.Prettify(s)
  6663  }
  6664  
  6665  // GoString returns the string representation.
  6666  //
  6667  // API parameter values that are decorated as "sensitive" in the API will not
  6668  // be included in the string output. The member name will be present, but the
  6669  // value will be replaced with "sensitive".
  6670  func (s CreateVolumeFromBackupInput) GoString() string {
  6671  	return s.String()
  6672  }
  6673  
  6674  // Validate inspects the fields of the type to determine if they are valid.
  6675  func (s *CreateVolumeFromBackupInput) Validate() error {
  6676  	invalidParams := request.ErrInvalidParams{Context: "CreateVolumeFromBackupInput"}
  6677  	if s.BackupId == nil {
  6678  		invalidParams.Add(request.NewErrParamRequired("BackupId"))
  6679  	}
  6680  	if s.BackupId != nil && len(*s.BackupId) < 12 {
  6681  		invalidParams.Add(request.NewErrParamMinLen("BackupId", 12))
  6682  	}
  6683  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  6684  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  6685  	}
  6686  	if s.Name == nil {
  6687  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6688  	}
  6689  	if s.Name != nil && len(*s.Name) < 1 {
  6690  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  6691  	}
  6692  	if s.Tags != nil && len(s.Tags) < 1 {
  6693  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  6694  	}
  6695  	if s.OntapConfiguration != nil {
  6696  		if err := s.OntapConfiguration.Validate(); err != nil {
  6697  			invalidParams.AddNested("OntapConfiguration", err.(request.ErrInvalidParams))
  6698  		}
  6699  	}
  6700  	if s.Tags != nil {
  6701  		for i, v := range s.Tags {
  6702  			if v == nil {
  6703  				continue
  6704  			}
  6705  			if err := v.Validate(); err != nil {
  6706  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  6707  			}
  6708  		}
  6709  	}
  6710  
  6711  	if invalidParams.Len() > 0 {
  6712  		return invalidParams
  6713  	}
  6714  	return nil
  6715  }
  6716  
  6717  // SetBackupId sets the BackupId field's value.
  6718  func (s *CreateVolumeFromBackupInput) SetBackupId(v string) *CreateVolumeFromBackupInput {
  6719  	s.BackupId = &v
  6720  	return s
  6721  }
  6722  
  6723  // SetClientRequestToken sets the ClientRequestToken field's value.
  6724  func (s *CreateVolumeFromBackupInput) SetClientRequestToken(v string) *CreateVolumeFromBackupInput {
  6725  	s.ClientRequestToken = &v
  6726  	return s
  6727  }
  6728  
  6729  // SetName sets the Name field's value.
  6730  func (s *CreateVolumeFromBackupInput) SetName(v string) *CreateVolumeFromBackupInput {
  6731  	s.Name = &v
  6732  	return s
  6733  }
  6734  
  6735  // SetOntapConfiguration sets the OntapConfiguration field's value.
  6736  func (s *CreateVolumeFromBackupInput) SetOntapConfiguration(v *CreateOntapVolumeConfiguration) *CreateVolumeFromBackupInput {
  6737  	s.OntapConfiguration = v
  6738  	return s
  6739  }
  6740  
  6741  // SetTags sets the Tags field's value.
  6742  func (s *CreateVolumeFromBackupInput) SetTags(v []*Tag) *CreateVolumeFromBackupInput {
  6743  	s.Tags = v
  6744  	return s
  6745  }
  6746  
  6747  type CreateVolumeFromBackupOutput struct {
  6748  	_ struct{} `type:"structure"`
  6749  
  6750  	// Returned after a successful CreateVolumeFromBackup API operation, describing
  6751  	// the volume just created.
  6752  	Volume *Volume `type:"structure"`
  6753  }
  6754  
  6755  // String returns the string representation.
  6756  //
  6757  // API parameter values that are decorated as "sensitive" in the API will not
  6758  // be included in the string output. The member name will be present, but the
  6759  // value will be replaced with "sensitive".
  6760  func (s CreateVolumeFromBackupOutput) String() string {
  6761  	return awsutil.Prettify(s)
  6762  }
  6763  
  6764  // GoString returns the string representation.
  6765  //
  6766  // API parameter values that are decorated as "sensitive" in the API will not
  6767  // be included in the string output. The member name will be present, but the
  6768  // value will be replaced with "sensitive".
  6769  func (s CreateVolumeFromBackupOutput) GoString() string {
  6770  	return s.String()
  6771  }
  6772  
  6773  // SetVolume sets the Volume field's value.
  6774  func (s *CreateVolumeFromBackupOutput) SetVolume(v *Volume) *CreateVolumeFromBackupOutput {
  6775  	s.Volume = v
  6776  	return s
  6777  }
  6778  
  6779  type CreateVolumeInput struct {
  6780  	_ struct{} `type:"structure"`
  6781  
  6782  	// (Optional) An idempotency token for resource creation, in a string of up
  6783  	// to 64 ASCII characters. This token is automatically filled on your behalf
  6784  	// when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.
  6785  	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
  6786  
  6787  	// Specifies the name of the volume you're creating.
  6788  	//
  6789  	// Name is a required field
  6790  	Name *string `min:"1" type:"string" required:"true"`
  6791  
  6792  	// Specifies the ONTAP configuration to use in creating the volume.
  6793  	OntapConfiguration *CreateOntapVolumeConfiguration `type:"structure"`
  6794  
  6795  	// A list of Tag values, with a maximum of 50 elements.
  6796  	Tags []*Tag `min:"1" type:"list"`
  6797  
  6798  	// Specifies the type of volume to create; ONTAP is the only valid volume type.
  6799  	//
  6800  	// VolumeType is a required field
  6801  	VolumeType *string `type:"string" required:"true" enum:"VolumeType"`
  6802  }
  6803  
  6804  // String returns the string representation.
  6805  //
  6806  // API parameter values that are decorated as "sensitive" in the API will not
  6807  // be included in the string output. The member name will be present, but the
  6808  // value will be replaced with "sensitive".
  6809  func (s CreateVolumeInput) String() string {
  6810  	return awsutil.Prettify(s)
  6811  }
  6812  
  6813  // GoString returns the string representation.
  6814  //
  6815  // API parameter values that are decorated as "sensitive" in the API will not
  6816  // be included in the string output. The member name will be present, but the
  6817  // value will be replaced with "sensitive".
  6818  func (s CreateVolumeInput) GoString() string {
  6819  	return s.String()
  6820  }
  6821  
  6822  // Validate inspects the fields of the type to determine if they are valid.
  6823  func (s *CreateVolumeInput) Validate() error {
  6824  	invalidParams := request.ErrInvalidParams{Context: "CreateVolumeInput"}
  6825  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  6826  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  6827  	}
  6828  	if s.Name == nil {
  6829  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6830  	}
  6831  	if s.Name != nil && len(*s.Name) < 1 {
  6832  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  6833  	}
  6834  	if s.Tags != nil && len(s.Tags) < 1 {
  6835  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  6836  	}
  6837  	if s.VolumeType == nil {
  6838  		invalidParams.Add(request.NewErrParamRequired("VolumeType"))
  6839  	}
  6840  	if s.OntapConfiguration != nil {
  6841  		if err := s.OntapConfiguration.Validate(); err != nil {
  6842  			invalidParams.AddNested("OntapConfiguration", err.(request.ErrInvalidParams))
  6843  		}
  6844  	}
  6845  	if s.Tags != nil {
  6846  		for i, v := range s.Tags {
  6847  			if v == nil {
  6848  				continue
  6849  			}
  6850  			if err := v.Validate(); err != nil {
  6851  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  6852  			}
  6853  		}
  6854  	}
  6855  
  6856  	if invalidParams.Len() > 0 {
  6857  		return invalidParams
  6858  	}
  6859  	return nil
  6860  }
  6861  
  6862  // SetClientRequestToken sets the ClientRequestToken field's value.
  6863  func (s *CreateVolumeInput) SetClientRequestToken(v string) *CreateVolumeInput {
  6864  	s.ClientRequestToken = &v
  6865  	return s
  6866  }
  6867  
  6868  // SetName sets the Name field's value.
  6869  func (s *CreateVolumeInput) SetName(v string) *CreateVolumeInput {
  6870  	s.Name = &v
  6871  	return s
  6872  }
  6873  
  6874  // SetOntapConfiguration sets the OntapConfiguration field's value.
  6875  func (s *CreateVolumeInput) SetOntapConfiguration(v *CreateOntapVolumeConfiguration) *CreateVolumeInput {
  6876  	s.OntapConfiguration = v
  6877  	return s
  6878  }
  6879  
  6880  // SetTags sets the Tags field's value.
  6881  func (s *CreateVolumeInput) SetTags(v []*Tag) *CreateVolumeInput {
  6882  	s.Tags = v
  6883  	return s
  6884  }
  6885  
  6886  // SetVolumeType sets the VolumeType field's value.
  6887  func (s *CreateVolumeInput) SetVolumeType(v string) *CreateVolumeInput {
  6888  	s.VolumeType = &v
  6889  	return s
  6890  }
  6891  
  6892  type CreateVolumeOutput struct {
  6893  	_ struct{} `type:"structure"`
  6894  
  6895  	// Returned after a successful CreateVolume API operation, describing the volume
  6896  	// just created.
  6897  	Volume *Volume `type:"structure"`
  6898  }
  6899  
  6900  // String returns the string representation.
  6901  //
  6902  // API parameter values that are decorated as "sensitive" in the API will not
  6903  // be included in the string output. The member name will be present, but the
  6904  // value will be replaced with "sensitive".
  6905  func (s CreateVolumeOutput) String() string {
  6906  	return awsutil.Prettify(s)
  6907  }
  6908  
  6909  // GoString returns the string representation.
  6910  //
  6911  // API parameter values that are decorated as "sensitive" in the API will not
  6912  // be included in the string output. The member name will be present, but the
  6913  // value will be replaced with "sensitive".
  6914  func (s CreateVolumeOutput) GoString() string {
  6915  	return s.String()
  6916  }
  6917  
  6918  // SetVolume sets the Volume field's value.
  6919  func (s *CreateVolumeOutput) SetVolume(v *Volume) *CreateVolumeOutput {
  6920  	s.Volume = v
  6921  	return s
  6922  }
  6923  
  6924  // The data repository configuration object for Lustre file systems returned
  6925  // in the response of the CreateFileSystem operation.
  6926  type DataRepositoryConfiguration struct {
  6927  	_ struct{} `type:"structure"`
  6928  
  6929  	// Describes the file system's linked S3 data repository's AutoImportPolicy.
  6930  	// The AutoImportPolicy configures how Amazon FSx keeps your file and directory
  6931  	// listings up to date as you add or modify objects in your linked S3 bucket.
  6932  	// AutoImportPolicy can have the following values:
  6933  	//
  6934  	//    * NONE - (Default) AutoImport is off. Amazon FSx only updates file and
  6935  	//    directory listings from the linked S3 bucket when the file system is created.
  6936  	//    FSx does not update file and directory listings for any new or changed
  6937  	//    objects after choosing this option.
  6938  	//
  6939  	//    * NEW - AutoImport is on. Amazon FSx automatically imports directory listings
  6940  	//    of any new objects added to the linked S3 bucket that do not currently
  6941  	//    exist in the FSx file system.
  6942  	//
  6943  	//    * NEW_CHANGED - AutoImport is on. Amazon FSx automatically imports file
  6944  	//    and directory listings of any new objects added to the S3 bucket and any
  6945  	//    existing objects that are changed in the S3 bucket after you choose this
  6946  	//    option.
  6947  	//
  6948  	// For more information, see Automatically import updates from your S3 bucket
  6949  	// (https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html).
  6950  	AutoImportPolicy *string `type:"string" enum:"AutoImportPolicyType"`
  6951  
  6952  	// The export path to the Amazon S3 bucket (and prefix) that you are using to
  6953  	// store new and changed Lustre file system files in S3.
  6954  	ExportPath *string `min:"3" type:"string"`
  6955  
  6956  	// Provides detailed information about the data respository if its Lifecycle
  6957  	// is set to MISCONFIGURED.
  6958  	FailureDetails *DataRepositoryFailureDetails `type:"structure"`
  6959  
  6960  	// The import path to the Amazon S3 bucket (and optional prefix) that you're
  6961  	// using as the data repository for your FSx for Lustre file system, for example
  6962  	// s3://import-bucket/optional-prefix. If a prefix is specified after the Amazon
  6963  	// S3 bucket name, only object keys with that prefix are loaded into the file
  6964  	// system.
  6965  	ImportPath *string `min:"3" type:"string"`
  6966  
  6967  	// For files imported from a data repository, this value determines the stripe
  6968  	// count and maximum amount of data per file (in MiB) stored on a single physical
  6969  	// disk. The maximum number of disks that a single file can be striped across
  6970  	// is limited by the total number of disks that make up the file system.
  6971  	//
  6972  	// The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000
  6973  	// MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.
  6974  	ImportedFileChunkSize *int64 `min:"1" type:"integer"`
  6975  
  6976  	// Describes the state of the file system's S3 durable data repository, if it
  6977  	// is configured with an S3 repository. The lifecycle can have the following
  6978  	// values:
  6979  	//
  6980  	//    * CREATING - The data repository configuration between the FSx file system
  6981  	//    and the linked S3 data repository is being created. The data repository
  6982  	//    is unavailable.
  6983  	//
  6984  	//    * AVAILABLE - The data repository is available for use.
  6985  	//
  6986  	//    * MISCONFIGURED - Amazon FSx cannot automatically import updates from
  6987  	//    the S3 bucket until the data repository configuration is corrected. For
  6988  	//    more information, see Troubleshooting a Misconfigured linked S3 bucket
  6989  	//    (https://docs.aws.amazon.com/fsx/latest/LustreGuide/troubleshooting.html#troubleshooting-misconfigured-data-repository).
  6990  	//
  6991  	//    * UPDATING - The data repository is undergoing a customer initiated update
  6992  	//    and availability may be impacted.
  6993  	Lifecycle *string `type:"string" enum:"DataRepositoryLifecycle"`
  6994  }
  6995  
  6996  // String returns the string representation.
  6997  //
  6998  // API parameter values that are decorated as "sensitive" in the API will not
  6999  // be included in the string output. The member name will be present, but the
  7000  // value will be replaced with "sensitive".
  7001  func (s DataRepositoryConfiguration) String() string {
  7002  	return awsutil.Prettify(s)
  7003  }
  7004  
  7005  // GoString returns the string representation.
  7006  //
  7007  // API parameter values that are decorated as "sensitive" in the API will not
  7008  // be included in the string output. The member name will be present, but the
  7009  // value will be replaced with "sensitive".
  7010  func (s DataRepositoryConfiguration) GoString() string {
  7011  	return s.String()
  7012  }
  7013  
  7014  // SetAutoImportPolicy sets the AutoImportPolicy field's value.
  7015  func (s *DataRepositoryConfiguration) SetAutoImportPolicy(v string) *DataRepositoryConfiguration {
  7016  	s.AutoImportPolicy = &v
  7017  	return s
  7018  }
  7019  
  7020  // SetExportPath sets the ExportPath field's value.
  7021  func (s *DataRepositoryConfiguration) SetExportPath(v string) *DataRepositoryConfiguration {
  7022  	s.ExportPath = &v
  7023  	return s
  7024  }
  7025  
  7026  // SetFailureDetails sets the FailureDetails field's value.
  7027  func (s *DataRepositoryConfiguration) SetFailureDetails(v *DataRepositoryFailureDetails) *DataRepositoryConfiguration {
  7028  	s.FailureDetails = v
  7029  	return s
  7030  }
  7031  
  7032  // SetImportPath sets the ImportPath field's value.
  7033  func (s *DataRepositoryConfiguration) SetImportPath(v string) *DataRepositoryConfiguration {
  7034  	s.ImportPath = &v
  7035  	return s
  7036  }
  7037  
  7038  // SetImportedFileChunkSize sets the ImportedFileChunkSize field's value.
  7039  func (s *DataRepositoryConfiguration) SetImportedFileChunkSize(v int64) *DataRepositoryConfiguration {
  7040  	s.ImportedFileChunkSize = &v
  7041  	return s
  7042  }
  7043  
  7044  // SetLifecycle sets the Lifecycle field's value.
  7045  func (s *DataRepositoryConfiguration) SetLifecycle(v string) *DataRepositoryConfiguration {
  7046  	s.Lifecycle = &v
  7047  	return s
  7048  }
  7049  
  7050  // Provides detailed information about the data respository if its Lifecycle
  7051  // is set to MISCONFIGURED.
  7052  type DataRepositoryFailureDetails struct {
  7053  	_ struct{} `type:"structure"`
  7054  
  7055  	// A detailed error message.
  7056  	Message *string `min:"1" type:"string"`
  7057  }
  7058  
  7059  // String returns the string representation.
  7060  //
  7061  // API parameter values that are decorated as "sensitive" in the API will not
  7062  // be included in the string output. The member name will be present, but the
  7063  // value will be replaced with "sensitive".
  7064  func (s DataRepositoryFailureDetails) String() string {
  7065  	return awsutil.Prettify(s)
  7066  }
  7067  
  7068  // GoString returns the string representation.
  7069  //
  7070  // API parameter values that are decorated as "sensitive" in the API will not
  7071  // be included in the string output. The member name will be present, but the
  7072  // value will be replaced with "sensitive".
  7073  func (s DataRepositoryFailureDetails) GoString() string {
  7074  	return s.String()
  7075  }
  7076  
  7077  // SetMessage sets the Message field's value.
  7078  func (s *DataRepositoryFailureDetails) SetMessage(v string) *DataRepositoryFailureDetails {
  7079  	s.Message = &v
  7080  	return s
  7081  }
  7082  
  7083  // A description of the data repository task. You use data repository tasks
  7084  // to perform bulk transfer operations between your Amazon FSx file system and
  7085  // its linked data repository.
  7086  type DataRepositoryTask struct {
  7087  	_ struct{} `type:"structure"`
  7088  
  7089  	// The time that the resource was created, in seconds (since 1970-01-01T00:00:00Z),
  7090  	// also known as Unix time.
  7091  	//
  7092  	// CreationTime is a required field
  7093  	CreationTime *time.Time `type:"timestamp" required:"true"`
  7094  
  7095  	// The time that Amazon FSx completed processing the task, populated after the
  7096  	// task is complete.
  7097  	EndTime *time.Time `type:"timestamp"`
  7098  
  7099  	// Failure message describing why the task failed, it is populated only when
  7100  	// Lifecycle is set to FAILED.
  7101  	FailureDetails *DataRepositoryTaskFailureDetails `type:"structure"`
  7102  
  7103  	// The globally unique ID of the file system, assigned by Amazon FSx.
  7104  	//
  7105  	// FileSystemId is a required field
  7106  	FileSystemId *string `min:"11" type:"string" required:"true"`
  7107  
  7108  	// The lifecycle status of the data repository task, as follows:
  7109  	//
  7110  	//    * PENDING - Amazon FSx has not started the task.
  7111  	//
  7112  	//    * EXECUTING - Amazon FSx is processing the task.
  7113  	//
  7114  	//    * FAILED - Amazon FSx was not able to complete the task. For example,
  7115  	//    there may be files the task failed to process. The DataRepositoryTaskFailureDetails
  7116  	//    property provides more information about task failures.
  7117  	//
  7118  	//    * SUCCEEDED - FSx completed the task successfully.
  7119  	//
  7120  	//    * CANCELED - Amazon FSx canceled the task and it did not complete.
  7121  	//
  7122  	//    * CANCELING - FSx is in process of canceling the task.
  7123  	//
  7124  	// You cannot delete an FSx for Lustre file system if there are data repository
  7125  	// tasks for the file system in the PENDING or EXECUTING states. Please retry
  7126  	// when the data repository task is finished (with a status of CANCELED, SUCCEEDED,
  7127  	// or FAILED). You can use the DescribeDataRepositoryTask action to monitor
  7128  	// the task status. Contact the FSx team if you need to delete your file system
  7129  	// immediately.
  7130  	//
  7131  	// Lifecycle is a required field
  7132  	Lifecycle *string `type:"string" required:"true" enum:"DataRepositoryTaskLifecycle"`
  7133  
  7134  	// An array of paths on the Amazon FSx for Lustre file system that specify the
  7135  	// data for the data repository task to process. For example, in an EXPORT_TO_REPOSITORY
  7136  	// task, the paths specify which data to export to the linked data repository.
  7137  	//
  7138  	// (Default) If Paths is not specified, Amazon FSx uses the file system root
  7139  	// directory.
  7140  	Paths []*string `type:"list"`
  7141  
  7142  	// Provides a report detailing the data repository task results of the files
  7143  	// processed that match the criteria specified in the report Scope parameter.
  7144  	// FSx delivers the report to the file system's linked data repository in Amazon
  7145  	// S3, using the path specified in the report Path parameter. You can specify
  7146  	// whether or not a report gets generated for a task using the Enabled parameter.
  7147  	Report *CompletionReport `type:"structure"`
  7148  
  7149  	// The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify
  7150  	// Amazon Web Services resources. We require an ARN when you need to specify
  7151  	// a resource unambiguously across all of Amazon Web Services. For more information,
  7152  	// see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  7153  	// in the Amazon Web Services General Reference.
  7154  	ResourceARN *string `min:"8" type:"string"`
  7155  
  7156  	// The time that Amazon FSx began processing the task.
  7157  	StartTime *time.Time `type:"timestamp"`
  7158  
  7159  	// Provides the status of the number of files that the task has processed successfully
  7160  	// and failed to process.
  7161  	Status *DataRepositoryTaskStatus `type:"structure"`
  7162  
  7163  	// A list of Tag values, with a maximum of 50 elements.
  7164  	Tags []*Tag `min:"1" type:"list"`
  7165  
  7166  	// The system-generated, unique 17-digit ID of the data repository task.
  7167  	//
  7168  	// TaskId is a required field
  7169  	TaskId *string `min:"12" type:"string" required:"true"`
  7170  
  7171  	// The type of data repository task; EXPORT_TO_REPOSITORY is the only type currently
  7172  	// supported.
  7173  	//
  7174  	// Type is a required field
  7175  	Type *string `type:"string" required:"true" enum:"DataRepositoryTaskType"`
  7176  }
  7177  
  7178  // String returns the string representation.
  7179  //
  7180  // API parameter values that are decorated as "sensitive" in the API will not
  7181  // be included in the string output. The member name will be present, but the
  7182  // value will be replaced with "sensitive".
  7183  func (s DataRepositoryTask) String() string {
  7184  	return awsutil.Prettify(s)
  7185  }
  7186  
  7187  // GoString returns the string representation.
  7188  //
  7189  // API parameter values that are decorated as "sensitive" in the API will not
  7190  // be included in the string output. The member name will be present, but the
  7191  // value will be replaced with "sensitive".
  7192  func (s DataRepositoryTask) GoString() string {
  7193  	return s.String()
  7194  }
  7195  
  7196  // SetCreationTime sets the CreationTime field's value.
  7197  func (s *DataRepositoryTask) SetCreationTime(v time.Time) *DataRepositoryTask {
  7198  	s.CreationTime = &v
  7199  	return s
  7200  }
  7201  
  7202  // SetEndTime sets the EndTime field's value.
  7203  func (s *DataRepositoryTask) SetEndTime(v time.Time) *DataRepositoryTask {
  7204  	s.EndTime = &v
  7205  	return s
  7206  }
  7207  
  7208  // SetFailureDetails sets the FailureDetails field's value.
  7209  func (s *DataRepositoryTask) SetFailureDetails(v *DataRepositoryTaskFailureDetails) *DataRepositoryTask {
  7210  	s.FailureDetails = v
  7211  	return s
  7212  }
  7213  
  7214  // SetFileSystemId sets the FileSystemId field's value.
  7215  func (s *DataRepositoryTask) SetFileSystemId(v string) *DataRepositoryTask {
  7216  	s.FileSystemId = &v
  7217  	return s
  7218  }
  7219  
  7220  // SetLifecycle sets the Lifecycle field's value.
  7221  func (s *DataRepositoryTask) SetLifecycle(v string) *DataRepositoryTask {
  7222  	s.Lifecycle = &v
  7223  	return s
  7224  }
  7225  
  7226  // SetPaths sets the Paths field's value.
  7227  func (s *DataRepositoryTask) SetPaths(v []*string) *DataRepositoryTask {
  7228  	s.Paths = v
  7229  	return s
  7230  }
  7231  
  7232  // SetReport sets the Report field's value.
  7233  func (s *DataRepositoryTask) SetReport(v *CompletionReport) *DataRepositoryTask {
  7234  	s.Report = v
  7235  	return s
  7236  }
  7237  
  7238  // SetResourceARN sets the ResourceARN field's value.
  7239  func (s *DataRepositoryTask) SetResourceARN(v string) *DataRepositoryTask {
  7240  	s.ResourceARN = &v
  7241  	return s
  7242  }
  7243  
  7244  // SetStartTime sets the StartTime field's value.
  7245  func (s *DataRepositoryTask) SetStartTime(v time.Time) *DataRepositoryTask {
  7246  	s.StartTime = &v
  7247  	return s
  7248  }
  7249  
  7250  // SetStatus sets the Status field's value.
  7251  func (s *DataRepositoryTask) SetStatus(v *DataRepositoryTaskStatus) *DataRepositoryTask {
  7252  	s.Status = v
  7253  	return s
  7254  }
  7255  
  7256  // SetTags sets the Tags field's value.
  7257  func (s *DataRepositoryTask) SetTags(v []*Tag) *DataRepositoryTask {
  7258  	s.Tags = v
  7259  	return s
  7260  }
  7261  
  7262  // SetTaskId sets the TaskId field's value.
  7263  func (s *DataRepositoryTask) SetTaskId(v string) *DataRepositoryTask {
  7264  	s.TaskId = &v
  7265  	return s
  7266  }
  7267  
  7268  // SetType sets the Type field's value.
  7269  func (s *DataRepositoryTask) SetType(v string) *DataRepositoryTask {
  7270  	s.Type = &v
  7271  	return s
  7272  }
  7273  
  7274  // The data repository task could not be canceled because the task has already
  7275  // ended.
  7276  type DataRepositoryTaskEnded struct {
  7277  	_            struct{}                  `type:"structure"`
  7278  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7279  
  7280  	// A detailed error message.
  7281  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  7282  }
  7283  
  7284  // String returns the string representation.
  7285  //
  7286  // API parameter values that are decorated as "sensitive" in the API will not
  7287  // be included in the string output. The member name will be present, but the
  7288  // value will be replaced with "sensitive".
  7289  func (s DataRepositoryTaskEnded) String() string {
  7290  	return awsutil.Prettify(s)
  7291  }
  7292  
  7293  // GoString returns the string representation.
  7294  //
  7295  // API parameter values that are decorated as "sensitive" in the API will not
  7296  // be included in the string output. The member name will be present, but the
  7297  // value will be replaced with "sensitive".
  7298  func (s DataRepositoryTaskEnded) GoString() string {
  7299  	return s.String()
  7300  }
  7301  
  7302  func newErrorDataRepositoryTaskEnded(v protocol.ResponseMetadata) error {
  7303  	return &DataRepositoryTaskEnded{
  7304  		RespMetadata: v,
  7305  	}
  7306  }
  7307  
  7308  // Code returns the exception type name.
  7309  func (s *DataRepositoryTaskEnded) Code() string {
  7310  	return "DataRepositoryTaskEnded"
  7311  }
  7312  
  7313  // Message returns the exception's message.
  7314  func (s *DataRepositoryTaskEnded) Message() string {
  7315  	if s.Message_ != nil {
  7316  		return *s.Message_
  7317  	}
  7318  	return ""
  7319  }
  7320  
  7321  // OrigErr always returns nil, satisfies awserr.Error interface.
  7322  func (s *DataRepositoryTaskEnded) OrigErr() error {
  7323  	return nil
  7324  }
  7325  
  7326  func (s *DataRepositoryTaskEnded) Error() string {
  7327  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7328  }
  7329  
  7330  // Status code returns the HTTP status code for the request's response error.
  7331  func (s *DataRepositoryTaskEnded) StatusCode() int {
  7332  	return s.RespMetadata.StatusCode
  7333  }
  7334  
  7335  // RequestID returns the service's response RequestID for request.
  7336  func (s *DataRepositoryTaskEnded) RequestID() string {
  7337  	return s.RespMetadata.RequestID
  7338  }
  7339  
  7340  // An existing data repository task is currently executing on the file system.
  7341  // Wait until the existing task has completed, then create the new task.
  7342  type DataRepositoryTaskExecuting struct {
  7343  	_            struct{}                  `type:"structure"`
  7344  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7345  
  7346  	// A detailed error message.
  7347  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  7348  }
  7349  
  7350  // String returns the string representation.
  7351  //
  7352  // API parameter values that are decorated as "sensitive" in the API will not
  7353  // be included in the string output. The member name will be present, but the
  7354  // value will be replaced with "sensitive".
  7355  func (s DataRepositoryTaskExecuting) String() string {
  7356  	return awsutil.Prettify(s)
  7357  }
  7358  
  7359  // GoString returns the string representation.
  7360  //
  7361  // API parameter values that are decorated as "sensitive" in the API will not
  7362  // be included in the string output. The member name will be present, but the
  7363  // value will be replaced with "sensitive".
  7364  func (s DataRepositoryTaskExecuting) GoString() string {
  7365  	return s.String()
  7366  }
  7367  
  7368  func newErrorDataRepositoryTaskExecuting(v protocol.ResponseMetadata) error {
  7369  	return &DataRepositoryTaskExecuting{
  7370  		RespMetadata: v,
  7371  	}
  7372  }
  7373  
  7374  // Code returns the exception type name.
  7375  func (s *DataRepositoryTaskExecuting) Code() string {
  7376  	return "DataRepositoryTaskExecuting"
  7377  }
  7378  
  7379  // Message returns the exception's message.
  7380  func (s *DataRepositoryTaskExecuting) Message() string {
  7381  	if s.Message_ != nil {
  7382  		return *s.Message_
  7383  	}
  7384  	return ""
  7385  }
  7386  
  7387  // OrigErr always returns nil, satisfies awserr.Error interface.
  7388  func (s *DataRepositoryTaskExecuting) OrigErr() error {
  7389  	return nil
  7390  }
  7391  
  7392  func (s *DataRepositoryTaskExecuting) Error() string {
  7393  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7394  }
  7395  
  7396  // Status code returns the HTTP status code for the request's response error.
  7397  func (s *DataRepositoryTaskExecuting) StatusCode() int {
  7398  	return s.RespMetadata.StatusCode
  7399  }
  7400  
  7401  // RequestID returns the service's response RequestID for request.
  7402  func (s *DataRepositoryTaskExecuting) RequestID() string {
  7403  	return s.RespMetadata.RequestID
  7404  }
  7405  
  7406  // Provides information about why a data repository task failed. Only populated
  7407  // when the task Lifecycle is set to FAILED.
  7408  type DataRepositoryTaskFailureDetails struct {
  7409  	_ struct{} `type:"structure"`
  7410  
  7411  	// A detailed error message.
  7412  	Message *string `min:"1" type:"string"`
  7413  }
  7414  
  7415  // String returns the string representation.
  7416  //
  7417  // API parameter values that are decorated as "sensitive" in the API will not
  7418  // be included in the string output. The member name will be present, but the
  7419  // value will be replaced with "sensitive".
  7420  func (s DataRepositoryTaskFailureDetails) String() string {
  7421  	return awsutil.Prettify(s)
  7422  }
  7423  
  7424  // GoString returns the string representation.
  7425  //
  7426  // API parameter values that are decorated as "sensitive" in the API will not
  7427  // be included in the string output. The member name will be present, but the
  7428  // value will be replaced with "sensitive".
  7429  func (s DataRepositoryTaskFailureDetails) GoString() string {
  7430  	return s.String()
  7431  }
  7432  
  7433  // SetMessage sets the Message field's value.
  7434  func (s *DataRepositoryTaskFailureDetails) SetMessage(v string) *DataRepositoryTaskFailureDetails {
  7435  	s.Message = &v
  7436  	return s
  7437  }
  7438  
  7439  // (Optional) An array of filter objects you can use to filter the response
  7440  // of data repository tasks you will see in the the response. You can filter
  7441  // the tasks returned in the response by one or more file system IDs, task lifecycles,
  7442  // and by task type. A filter object consists of a filter Name, and one or more
  7443  // Values for the filter.
  7444  type DataRepositoryTaskFilter struct {
  7445  	_ struct{} `type:"structure"`
  7446  
  7447  	// Name of the task property to use in filtering the tasks returned in the response.
  7448  	//
  7449  	//    * Use file-system-id to retrieve data repository tasks for specific file
  7450  	//    systems.
  7451  	//
  7452  	//    * Use task-lifecycle to retrieve data repository tasks with one or more
  7453  	//    specific lifecycle states, as follows: CANCELED, EXECUTING, FAILED, PENDING,
  7454  	//    and SUCCEEDED.
  7455  	Name *string `type:"string" enum:"DataRepositoryTaskFilterName"`
  7456  
  7457  	// Use Values to include the specific file system IDs and task lifecycle states
  7458  	// for the filters you are using.
  7459  	Values []*string `type:"list"`
  7460  }
  7461  
  7462  // String returns the string representation.
  7463  //
  7464  // API parameter values that are decorated as "sensitive" in the API will not
  7465  // be included in the string output. The member name will be present, but the
  7466  // value will be replaced with "sensitive".
  7467  func (s DataRepositoryTaskFilter) String() string {
  7468  	return awsutil.Prettify(s)
  7469  }
  7470  
  7471  // GoString returns the string representation.
  7472  //
  7473  // API parameter values that are decorated as "sensitive" in the API will not
  7474  // be included in the string output. The member name will be present, but the
  7475  // value will be replaced with "sensitive".
  7476  func (s DataRepositoryTaskFilter) GoString() string {
  7477  	return s.String()
  7478  }
  7479  
  7480  // SetName sets the Name field's value.
  7481  func (s *DataRepositoryTaskFilter) SetName(v string) *DataRepositoryTaskFilter {
  7482  	s.Name = &v
  7483  	return s
  7484  }
  7485  
  7486  // SetValues sets the Values field's value.
  7487  func (s *DataRepositoryTaskFilter) SetValues(v []*string) *DataRepositoryTaskFilter {
  7488  	s.Values = v
  7489  	return s
  7490  }
  7491  
  7492  // The data repository task or tasks you specified could not be found.
  7493  type DataRepositoryTaskNotFound struct {
  7494  	_            struct{}                  `type:"structure"`
  7495  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7496  
  7497  	// A detailed error message.
  7498  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  7499  }
  7500  
  7501  // String returns the string representation.
  7502  //
  7503  // API parameter values that are decorated as "sensitive" in the API will not
  7504  // be included in the string output. The member name will be present, but the
  7505  // value will be replaced with "sensitive".
  7506  func (s DataRepositoryTaskNotFound) String() string {
  7507  	return awsutil.Prettify(s)
  7508  }
  7509  
  7510  // GoString returns the string representation.
  7511  //
  7512  // API parameter values that are decorated as "sensitive" in the API will not
  7513  // be included in the string output. The member name will be present, but the
  7514  // value will be replaced with "sensitive".
  7515  func (s DataRepositoryTaskNotFound) GoString() string {
  7516  	return s.String()
  7517  }
  7518  
  7519  func newErrorDataRepositoryTaskNotFound(v protocol.ResponseMetadata) error {
  7520  	return &DataRepositoryTaskNotFound{
  7521  		RespMetadata: v,
  7522  	}
  7523  }
  7524  
  7525  // Code returns the exception type name.
  7526  func (s *DataRepositoryTaskNotFound) Code() string {
  7527  	return "DataRepositoryTaskNotFound"
  7528  }
  7529  
  7530  // Message returns the exception's message.
  7531  func (s *DataRepositoryTaskNotFound) Message() string {
  7532  	if s.Message_ != nil {
  7533  		return *s.Message_
  7534  	}
  7535  	return ""
  7536  }
  7537  
  7538  // OrigErr always returns nil, satisfies awserr.Error interface.
  7539  func (s *DataRepositoryTaskNotFound) OrigErr() error {
  7540  	return nil
  7541  }
  7542  
  7543  func (s *DataRepositoryTaskNotFound) Error() string {
  7544  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7545  }
  7546  
  7547  // Status code returns the HTTP status code for the request's response error.
  7548  func (s *DataRepositoryTaskNotFound) StatusCode() int {
  7549  	return s.RespMetadata.StatusCode
  7550  }
  7551  
  7552  // RequestID returns the service's response RequestID for request.
  7553  func (s *DataRepositoryTaskNotFound) RequestID() string {
  7554  	return s.RespMetadata.RequestID
  7555  }
  7556  
  7557  // Provides the task status showing a running total of the total number of files
  7558  // to be processed, the number successfully processed, and the number of files
  7559  // the task failed to process.
  7560  type DataRepositoryTaskStatus struct {
  7561  	_ struct{} `type:"structure"`
  7562  
  7563  	// A running total of the number of files that the task failed to process.
  7564  	FailedCount *int64 `type:"long"`
  7565  
  7566  	// The time at which the task status was last updated.
  7567  	LastUpdatedTime *time.Time `type:"timestamp"`
  7568  
  7569  	// A running total of the number of files that the task has successfully processed.
  7570  	SucceededCount *int64 `type:"long"`
  7571  
  7572  	// The total number of files that the task will process. While a task is executing,
  7573  	// the sum of SucceededCount plus FailedCount may not equal TotalCount. When
  7574  	// the task is complete, TotalCount equals the sum of SucceededCount plus FailedCount.
  7575  	TotalCount *int64 `type:"long"`
  7576  }
  7577  
  7578  // String returns the string representation.
  7579  //
  7580  // API parameter values that are decorated as "sensitive" in the API will not
  7581  // be included in the string output. The member name will be present, but the
  7582  // value will be replaced with "sensitive".
  7583  func (s DataRepositoryTaskStatus) String() string {
  7584  	return awsutil.Prettify(s)
  7585  }
  7586  
  7587  // GoString returns the string representation.
  7588  //
  7589  // API parameter values that are decorated as "sensitive" in the API will not
  7590  // be included in the string output. The member name will be present, but the
  7591  // value will be replaced with "sensitive".
  7592  func (s DataRepositoryTaskStatus) GoString() string {
  7593  	return s.String()
  7594  }
  7595  
  7596  // SetFailedCount sets the FailedCount field's value.
  7597  func (s *DataRepositoryTaskStatus) SetFailedCount(v int64) *DataRepositoryTaskStatus {
  7598  	s.FailedCount = &v
  7599  	return s
  7600  }
  7601  
  7602  // SetLastUpdatedTime sets the LastUpdatedTime field's value.
  7603  func (s *DataRepositoryTaskStatus) SetLastUpdatedTime(v time.Time) *DataRepositoryTaskStatus {
  7604  	s.LastUpdatedTime = &v
  7605  	return s
  7606  }
  7607  
  7608  // SetSucceededCount sets the SucceededCount field's value.
  7609  func (s *DataRepositoryTaskStatus) SetSucceededCount(v int64) *DataRepositoryTaskStatus {
  7610  	s.SucceededCount = &v
  7611  	return s
  7612  }
  7613  
  7614  // SetTotalCount sets the TotalCount field's value.
  7615  func (s *DataRepositoryTaskStatus) SetTotalCount(v int64) *DataRepositoryTaskStatus {
  7616  	s.TotalCount = &v
  7617  	return s
  7618  }
  7619  
  7620  // The request object for DeleteBackup operation.
  7621  type DeleteBackupInput struct {
  7622  	_ struct{} `type:"structure"`
  7623  
  7624  	// The ID of the backup you want to delete.
  7625  	//
  7626  	// BackupId is a required field
  7627  	BackupId *string `min:"12" type:"string" required:"true"`
  7628  
  7629  	// A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent
  7630  	// deletion. This is automatically filled on your behalf when using the CLI
  7631  	// or SDK.
  7632  	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
  7633  }
  7634  
  7635  // String returns the string representation.
  7636  //
  7637  // API parameter values that are decorated as "sensitive" in the API will not
  7638  // be included in the string output. The member name will be present, but the
  7639  // value will be replaced with "sensitive".
  7640  func (s DeleteBackupInput) String() string {
  7641  	return awsutil.Prettify(s)
  7642  }
  7643  
  7644  // GoString returns the string representation.
  7645  //
  7646  // API parameter values that are decorated as "sensitive" in the API will not
  7647  // be included in the string output. The member name will be present, but the
  7648  // value will be replaced with "sensitive".
  7649  func (s DeleteBackupInput) GoString() string {
  7650  	return s.String()
  7651  }
  7652  
  7653  // Validate inspects the fields of the type to determine if they are valid.
  7654  func (s *DeleteBackupInput) Validate() error {
  7655  	invalidParams := request.ErrInvalidParams{Context: "DeleteBackupInput"}
  7656  	if s.BackupId == nil {
  7657  		invalidParams.Add(request.NewErrParamRequired("BackupId"))
  7658  	}
  7659  	if s.BackupId != nil && len(*s.BackupId) < 12 {
  7660  		invalidParams.Add(request.NewErrParamMinLen("BackupId", 12))
  7661  	}
  7662  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  7663  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  7664  	}
  7665  
  7666  	if invalidParams.Len() > 0 {
  7667  		return invalidParams
  7668  	}
  7669  	return nil
  7670  }
  7671  
  7672  // SetBackupId sets the BackupId field's value.
  7673  func (s *DeleteBackupInput) SetBackupId(v string) *DeleteBackupInput {
  7674  	s.BackupId = &v
  7675  	return s
  7676  }
  7677  
  7678  // SetClientRequestToken sets the ClientRequestToken field's value.
  7679  func (s *DeleteBackupInput) SetClientRequestToken(v string) *DeleteBackupInput {
  7680  	s.ClientRequestToken = &v
  7681  	return s
  7682  }
  7683  
  7684  // The response object for DeleteBackup operation.
  7685  type DeleteBackupOutput struct {
  7686  	_ struct{} `type:"structure"`
  7687  
  7688  	// The ID of the backup deleted.
  7689  	BackupId *string `min:"12" type:"string"`
  7690  
  7691  	// The lifecycle of the backup. Should be DELETED.
  7692  	Lifecycle *string `type:"string" enum:"BackupLifecycle"`
  7693  }
  7694  
  7695  // String returns the string representation.
  7696  //
  7697  // API parameter values that are decorated as "sensitive" in the API will not
  7698  // be included in the string output. The member name will be present, but the
  7699  // value will be replaced with "sensitive".
  7700  func (s DeleteBackupOutput) String() string {
  7701  	return awsutil.Prettify(s)
  7702  }
  7703  
  7704  // GoString returns the string representation.
  7705  //
  7706  // API parameter values that are decorated as "sensitive" in the API will not
  7707  // be included in the string output. The member name will be present, but the
  7708  // value will be replaced with "sensitive".
  7709  func (s DeleteBackupOutput) GoString() string {
  7710  	return s.String()
  7711  }
  7712  
  7713  // SetBackupId sets the BackupId field's value.
  7714  func (s *DeleteBackupOutput) SetBackupId(v string) *DeleteBackupOutput {
  7715  	s.BackupId = &v
  7716  	return s
  7717  }
  7718  
  7719  // SetLifecycle sets the Lifecycle field's value.
  7720  func (s *DeleteBackupOutput) SetLifecycle(v string) *DeleteBackupOutput {
  7721  	s.Lifecycle = &v
  7722  	return s
  7723  }
  7724  
  7725  // The request object for DeleteFileSystem operation.
  7726  type DeleteFileSystemInput struct {
  7727  	_ struct{} `type:"structure"`
  7728  
  7729  	// A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent
  7730  	// deletion. This is automatically filled on your behalf when using the Command
  7731  	// Line Interface (CLI) or an Amazon Web Services SDK.
  7732  	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
  7733  
  7734  	// The ID of the file system you want to delete.
  7735  	//
  7736  	// FileSystemId is a required field
  7737  	FileSystemId *string `min:"11" type:"string" required:"true"`
  7738  
  7739  	// The configuration object for the Amazon FSx for Lustre file system being
  7740  	// deleted in the DeleteFileSystem operation.
  7741  	LustreConfiguration *DeleteFileSystemLustreConfiguration `type:"structure"`
  7742  
  7743  	// The configuration object for the Microsoft Windows file system used in the
  7744  	// DeleteFileSystem operation.
  7745  	WindowsConfiguration *DeleteFileSystemWindowsConfiguration `type:"structure"`
  7746  }
  7747  
  7748  // String returns the string representation.
  7749  //
  7750  // API parameter values that are decorated as "sensitive" in the API will not
  7751  // be included in the string output. The member name will be present, but the
  7752  // value will be replaced with "sensitive".
  7753  func (s DeleteFileSystemInput) String() string {
  7754  	return awsutil.Prettify(s)
  7755  }
  7756  
  7757  // GoString returns the string representation.
  7758  //
  7759  // API parameter values that are decorated as "sensitive" in the API will not
  7760  // be included in the string output. The member name will be present, but the
  7761  // value will be replaced with "sensitive".
  7762  func (s DeleteFileSystemInput) GoString() string {
  7763  	return s.String()
  7764  }
  7765  
  7766  // Validate inspects the fields of the type to determine if they are valid.
  7767  func (s *DeleteFileSystemInput) Validate() error {
  7768  	invalidParams := request.ErrInvalidParams{Context: "DeleteFileSystemInput"}
  7769  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  7770  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  7771  	}
  7772  	if s.FileSystemId == nil {
  7773  		invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
  7774  	}
  7775  	if s.FileSystemId != nil && len(*s.FileSystemId) < 11 {
  7776  		invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11))
  7777  	}
  7778  	if s.LustreConfiguration != nil {
  7779  		if err := s.LustreConfiguration.Validate(); err != nil {
  7780  			invalidParams.AddNested("LustreConfiguration", err.(request.ErrInvalidParams))
  7781  		}
  7782  	}
  7783  	if s.WindowsConfiguration != nil {
  7784  		if err := s.WindowsConfiguration.Validate(); err != nil {
  7785  			invalidParams.AddNested("WindowsConfiguration", err.(request.ErrInvalidParams))
  7786  		}
  7787  	}
  7788  
  7789  	if invalidParams.Len() > 0 {
  7790  		return invalidParams
  7791  	}
  7792  	return nil
  7793  }
  7794  
  7795  // SetClientRequestToken sets the ClientRequestToken field's value.
  7796  func (s *DeleteFileSystemInput) SetClientRequestToken(v string) *DeleteFileSystemInput {
  7797  	s.ClientRequestToken = &v
  7798  	return s
  7799  }
  7800  
  7801  // SetFileSystemId sets the FileSystemId field's value.
  7802  func (s *DeleteFileSystemInput) SetFileSystemId(v string) *DeleteFileSystemInput {
  7803  	s.FileSystemId = &v
  7804  	return s
  7805  }
  7806  
  7807  // SetLustreConfiguration sets the LustreConfiguration field's value.
  7808  func (s *DeleteFileSystemInput) SetLustreConfiguration(v *DeleteFileSystemLustreConfiguration) *DeleteFileSystemInput {
  7809  	s.LustreConfiguration = v
  7810  	return s
  7811  }
  7812  
  7813  // SetWindowsConfiguration sets the WindowsConfiguration field's value.
  7814  func (s *DeleteFileSystemInput) SetWindowsConfiguration(v *DeleteFileSystemWindowsConfiguration) *DeleteFileSystemInput {
  7815  	s.WindowsConfiguration = v
  7816  	return s
  7817  }
  7818  
  7819  // The configuration object for the Amazon FSx for Lustre file system being
  7820  // deleted in the DeleteFileSystem operation.
  7821  type DeleteFileSystemLustreConfiguration struct {
  7822  	_ struct{} `type:"structure"`
  7823  
  7824  	// Use if SkipFinalBackup is set to false, and you want to apply an array of
  7825  	// tags to the final backup. If you have set the file system property CopyTagsToBackups
  7826  	// to true, and you specify one or more FinalBackupTags when deleting a file
  7827  	// system, Amazon FSx will not copy any existing file system tags to the backup.
  7828  	FinalBackupTags []*Tag `min:"1" type:"list"`
  7829  
  7830  	// Set SkipFinalBackup to false if you want to take a final backup of the file
  7831  	// system you are deleting. By default, Amazon FSx will not take a final backup
  7832  	// on your behalf when the DeleteFileSystem operation is invoked. (Default =
  7833  	// true)
  7834  	SkipFinalBackup *bool `type:"boolean"`
  7835  }
  7836  
  7837  // String returns the string representation.
  7838  //
  7839  // API parameter values that are decorated as "sensitive" in the API will not
  7840  // be included in the string output. The member name will be present, but the
  7841  // value will be replaced with "sensitive".
  7842  func (s DeleteFileSystemLustreConfiguration) String() string {
  7843  	return awsutil.Prettify(s)
  7844  }
  7845  
  7846  // GoString returns the string representation.
  7847  //
  7848  // API parameter values that are decorated as "sensitive" in the API will not
  7849  // be included in the string output. The member name will be present, but the
  7850  // value will be replaced with "sensitive".
  7851  func (s DeleteFileSystemLustreConfiguration) GoString() string {
  7852  	return s.String()
  7853  }
  7854  
  7855  // Validate inspects the fields of the type to determine if they are valid.
  7856  func (s *DeleteFileSystemLustreConfiguration) Validate() error {
  7857  	invalidParams := request.ErrInvalidParams{Context: "DeleteFileSystemLustreConfiguration"}
  7858  	if s.FinalBackupTags != nil && len(s.FinalBackupTags) < 1 {
  7859  		invalidParams.Add(request.NewErrParamMinLen("FinalBackupTags", 1))
  7860  	}
  7861  	if s.FinalBackupTags != nil {
  7862  		for i, v := range s.FinalBackupTags {
  7863  			if v == nil {
  7864  				continue
  7865  			}
  7866  			if err := v.Validate(); err != nil {
  7867  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FinalBackupTags", i), err.(request.ErrInvalidParams))
  7868  			}
  7869  		}
  7870  	}
  7871  
  7872  	if invalidParams.Len() > 0 {
  7873  		return invalidParams
  7874  	}
  7875  	return nil
  7876  }
  7877  
  7878  // SetFinalBackupTags sets the FinalBackupTags field's value.
  7879  func (s *DeleteFileSystemLustreConfiguration) SetFinalBackupTags(v []*Tag) *DeleteFileSystemLustreConfiguration {
  7880  	s.FinalBackupTags = v
  7881  	return s
  7882  }
  7883  
  7884  // SetSkipFinalBackup sets the SkipFinalBackup field's value.
  7885  func (s *DeleteFileSystemLustreConfiguration) SetSkipFinalBackup(v bool) *DeleteFileSystemLustreConfiguration {
  7886  	s.SkipFinalBackup = &v
  7887  	return s
  7888  }
  7889  
  7890  // The response object for the Amazon FSx for Lustre file system being deleted
  7891  // in the DeleteFileSystem operation.
  7892  type DeleteFileSystemLustreResponse struct {
  7893  	_ struct{} `type:"structure"`
  7894  
  7895  	// The ID of the final backup for this file system.
  7896  	FinalBackupId *string `min:"12" type:"string"`
  7897  
  7898  	// The set of tags applied to the final backup.
  7899  	FinalBackupTags []*Tag `min:"1" type:"list"`
  7900  }
  7901  
  7902  // String returns the string representation.
  7903  //
  7904  // API parameter values that are decorated as "sensitive" in the API will not
  7905  // be included in the string output. The member name will be present, but the
  7906  // value will be replaced with "sensitive".
  7907  func (s DeleteFileSystemLustreResponse) String() string {
  7908  	return awsutil.Prettify(s)
  7909  }
  7910  
  7911  // GoString returns the string representation.
  7912  //
  7913  // API parameter values that are decorated as "sensitive" in the API will not
  7914  // be included in the string output. The member name will be present, but the
  7915  // value will be replaced with "sensitive".
  7916  func (s DeleteFileSystemLustreResponse) GoString() string {
  7917  	return s.String()
  7918  }
  7919  
  7920  // SetFinalBackupId sets the FinalBackupId field's value.
  7921  func (s *DeleteFileSystemLustreResponse) SetFinalBackupId(v string) *DeleteFileSystemLustreResponse {
  7922  	s.FinalBackupId = &v
  7923  	return s
  7924  }
  7925  
  7926  // SetFinalBackupTags sets the FinalBackupTags field's value.
  7927  func (s *DeleteFileSystemLustreResponse) SetFinalBackupTags(v []*Tag) *DeleteFileSystemLustreResponse {
  7928  	s.FinalBackupTags = v
  7929  	return s
  7930  }
  7931  
  7932  // The response object for the DeleteFileSystem operation.
  7933  type DeleteFileSystemOutput struct {
  7934  	_ struct{} `type:"structure"`
  7935  
  7936  	// The ID of the file system being deleted.
  7937  	FileSystemId *string `min:"11" type:"string"`
  7938  
  7939  	// The file system lifecycle for the deletion request. Should be DELETING.
  7940  	Lifecycle *string `type:"string" enum:"FileSystemLifecycle"`
  7941  
  7942  	// The response object for the Amazon FSx for Lustre file system being deleted
  7943  	// in the DeleteFileSystem operation.
  7944  	LustreResponse *DeleteFileSystemLustreResponse `type:"structure"`
  7945  
  7946  	// The response object for the Microsoft Windows file system used in the DeleteFileSystem
  7947  	// operation.
  7948  	WindowsResponse *DeleteFileSystemWindowsResponse `type:"structure"`
  7949  }
  7950  
  7951  // String returns the string representation.
  7952  //
  7953  // API parameter values that are decorated as "sensitive" in the API will not
  7954  // be included in the string output. The member name will be present, but the
  7955  // value will be replaced with "sensitive".
  7956  func (s DeleteFileSystemOutput) String() string {
  7957  	return awsutil.Prettify(s)
  7958  }
  7959  
  7960  // GoString returns the string representation.
  7961  //
  7962  // API parameter values that are decorated as "sensitive" in the API will not
  7963  // be included in the string output. The member name will be present, but the
  7964  // value will be replaced with "sensitive".
  7965  func (s DeleteFileSystemOutput) GoString() string {
  7966  	return s.String()
  7967  }
  7968  
  7969  // SetFileSystemId sets the FileSystemId field's value.
  7970  func (s *DeleteFileSystemOutput) SetFileSystemId(v string) *DeleteFileSystemOutput {
  7971  	s.FileSystemId = &v
  7972  	return s
  7973  }
  7974  
  7975  // SetLifecycle sets the Lifecycle field's value.
  7976  func (s *DeleteFileSystemOutput) SetLifecycle(v string) *DeleteFileSystemOutput {
  7977  	s.Lifecycle = &v
  7978  	return s
  7979  }
  7980  
  7981  // SetLustreResponse sets the LustreResponse field's value.
  7982  func (s *DeleteFileSystemOutput) SetLustreResponse(v *DeleteFileSystemLustreResponse) *DeleteFileSystemOutput {
  7983  	s.LustreResponse = v
  7984  	return s
  7985  }
  7986  
  7987  // SetWindowsResponse sets the WindowsResponse field's value.
  7988  func (s *DeleteFileSystemOutput) SetWindowsResponse(v *DeleteFileSystemWindowsResponse) *DeleteFileSystemOutput {
  7989  	s.WindowsResponse = v
  7990  	return s
  7991  }
  7992  
  7993  // The configuration object for the Microsoft Windows file system used in the
  7994  // DeleteFileSystem operation.
  7995  type DeleteFileSystemWindowsConfiguration struct {
  7996  	_ struct{} `type:"structure"`
  7997  
  7998  	// A set of tags for your final backup.
  7999  	FinalBackupTags []*Tag `min:"1" type:"list"`
  8000  
  8001  	// By default, Amazon FSx for Windows takes a final backup on your behalf when
  8002  	// the DeleteFileSystem operation is invoked. Doing this helps protect you from
  8003  	// data loss, and we highly recommend taking the final backup. If you want to
  8004  	// skip this backup, use this flag to do so.
  8005  	SkipFinalBackup *bool `type:"boolean"`
  8006  }
  8007  
  8008  // String returns the string representation.
  8009  //
  8010  // API parameter values that are decorated as "sensitive" in the API will not
  8011  // be included in the string output. The member name will be present, but the
  8012  // value will be replaced with "sensitive".
  8013  func (s DeleteFileSystemWindowsConfiguration) String() string {
  8014  	return awsutil.Prettify(s)
  8015  }
  8016  
  8017  // GoString returns the string representation.
  8018  //
  8019  // API parameter values that are decorated as "sensitive" in the API will not
  8020  // be included in the string output. The member name will be present, but the
  8021  // value will be replaced with "sensitive".
  8022  func (s DeleteFileSystemWindowsConfiguration) GoString() string {
  8023  	return s.String()
  8024  }
  8025  
  8026  // Validate inspects the fields of the type to determine if they are valid.
  8027  func (s *DeleteFileSystemWindowsConfiguration) Validate() error {
  8028  	invalidParams := request.ErrInvalidParams{Context: "DeleteFileSystemWindowsConfiguration"}
  8029  	if s.FinalBackupTags != nil && len(s.FinalBackupTags) < 1 {
  8030  		invalidParams.Add(request.NewErrParamMinLen("FinalBackupTags", 1))
  8031  	}
  8032  	if s.FinalBackupTags != nil {
  8033  		for i, v := range s.FinalBackupTags {
  8034  			if v == nil {
  8035  				continue
  8036  			}
  8037  			if err := v.Validate(); err != nil {
  8038  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FinalBackupTags", i), err.(request.ErrInvalidParams))
  8039  			}
  8040  		}
  8041  	}
  8042  
  8043  	if invalidParams.Len() > 0 {
  8044  		return invalidParams
  8045  	}
  8046  	return nil
  8047  }
  8048  
  8049  // SetFinalBackupTags sets the FinalBackupTags field's value.
  8050  func (s *DeleteFileSystemWindowsConfiguration) SetFinalBackupTags(v []*Tag) *DeleteFileSystemWindowsConfiguration {
  8051  	s.FinalBackupTags = v
  8052  	return s
  8053  }
  8054  
  8055  // SetSkipFinalBackup sets the SkipFinalBackup field's value.
  8056  func (s *DeleteFileSystemWindowsConfiguration) SetSkipFinalBackup(v bool) *DeleteFileSystemWindowsConfiguration {
  8057  	s.SkipFinalBackup = &v
  8058  	return s
  8059  }
  8060  
  8061  // The response object for the Microsoft Windows file system used in the DeleteFileSystem
  8062  // operation.
  8063  type DeleteFileSystemWindowsResponse struct {
  8064  	_ struct{} `type:"structure"`
  8065  
  8066  	// The ID of the final backup for this file system.
  8067  	FinalBackupId *string `min:"12" type:"string"`
  8068  
  8069  	// The set of tags applied to the final backup.
  8070  	FinalBackupTags []*Tag `min:"1" type:"list"`
  8071  }
  8072  
  8073  // String returns the string representation.
  8074  //
  8075  // API parameter values that are decorated as "sensitive" in the API will not
  8076  // be included in the string output. The member name will be present, but the
  8077  // value will be replaced with "sensitive".
  8078  func (s DeleteFileSystemWindowsResponse) String() string {
  8079  	return awsutil.Prettify(s)
  8080  }
  8081  
  8082  // GoString returns the string representation.
  8083  //
  8084  // API parameter values that are decorated as "sensitive" in the API will not
  8085  // be included in the string output. The member name will be present, but the
  8086  // value will be replaced with "sensitive".
  8087  func (s DeleteFileSystemWindowsResponse) GoString() string {
  8088  	return s.String()
  8089  }
  8090  
  8091  // SetFinalBackupId sets the FinalBackupId field's value.
  8092  func (s *DeleteFileSystemWindowsResponse) SetFinalBackupId(v string) *DeleteFileSystemWindowsResponse {
  8093  	s.FinalBackupId = &v
  8094  	return s
  8095  }
  8096  
  8097  // SetFinalBackupTags sets the FinalBackupTags field's value.
  8098  func (s *DeleteFileSystemWindowsResponse) SetFinalBackupTags(v []*Tag) *DeleteFileSystemWindowsResponse {
  8099  	s.FinalBackupTags = v
  8100  	return s
  8101  }
  8102  
  8103  type DeleteStorageVirtualMachineInput struct {
  8104  	_ struct{} `type:"structure"`
  8105  
  8106  	// (Optional) An idempotency token for resource creation, in a string of up
  8107  	// to 64 ASCII characters. This token is automatically filled on your behalf
  8108  	// when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.
  8109  	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
  8110  
  8111  	// The ID of the SVM that you want to delete.
  8112  	//
  8113  	// StorageVirtualMachineId is a required field
  8114  	StorageVirtualMachineId *string `min:"21" type:"string" required:"true"`
  8115  }
  8116  
  8117  // String returns the string representation.
  8118  //
  8119  // API parameter values that are decorated as "sensitive" in the API will not
  8120  // be included in the string output. The member name will be present, but the
  8121  // value will be replaced with "sensitive".
  8122  func (s DeleteStorageVirtualMachineInput) String() string {
  8123  	return awsutil.Prettify(s)
  8124  }
  8125  
  8126  // GoString returns the string representation.
  8127  //
  8128  // API parameter values that are decorated as "sensitive" in the API will not
  8129  // be included in the string output. The member name will be present, but the
  8130  // value will be replaced with "sensitive".
  8131  func (s DeleteStorageVirtualMachineInput) GoString() string {
  8132  	return s.String()
  8133  }
  8134  
  8135  // Validate inspects the fields of the type to determine if they are valid.
  8136  func (s *DeleteStorageVirtualMachineInput) Validate() error {
  8137  	invalidParams := request.ErrInvalidParams{Context: "DeleteStorageVirtualMachineInput"}
  8138  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  8139  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  8140  	}
  8141  	if s.StorageVirtualMachineId == nil {
  8142  		invalidParams.Add(request.NewErrParamRequired("StorageVirtualMachineId"))
  8143  	}
  8144  	if s.StorageVirtualMachineId != nil && len(*s.StorageVirtualMachineId) < 21 {
  8145  		invalidParams.Add(request.NewErrParamMinLen("StorageVirtualMachineId", 21))
  8146  	}
  8147  
  8148  	if invalidParams.Len() > 0 {
  8149  		return invalidParams
  8150  	}
  8151  	return nil
  8152  }
  8153  
  8154  // SetClientRequestToken sets the ClientRequestToken field's value.
  8155  func (s *DeleteStorageVirtualMachineInput) SetClientRequestToken(v string) *DeleteStorageVirtualMachineInput {
  8156  	s.ClientRequestToken = &v
  8157  	return s
  8158  }
  8159  
  8160  // SetStorageVirtualMachineId sets the StorageVirtualMachineId field's value.
  8161  func (s *DeleteStorageVirtualMachineInput) SetStorageVirtualMachineId(v string) *DeleteStorageVirtualMachineInput {
  8162  	s.StorageVirtualMachineId = &v
  8163  	return s
  8164  }
  8165  
  8166  type DeleteStorageVirtualMachineOutput struct {
  8167  	_ struct{} `type:"structure"`
  8168  
  8169  	// Describes the lifecycle state of the SVM being deleted.
  8170  	Lifecycle *string `type:"string" enum:"StorageVirtualMachineLifecycle"`
  8171  
  8172  	// The ID of the SVM Amazon FSx is deleting.
  8173  	StorageVirtualMachineId *string `min:"21" type:"string"`
  8174  }
  8175  
  8176  // String returns the string representation.
  8177  //
  8178  // API parameter values that are decorated as "sensitive" in the API will not
  8179  // be included in the string output. The member name will be present, but the
  8180  // value will be replaced with "sensitive".
  8181  func (s DeleteStorageVirtualMachineOutput) String() string {
  8182  	return awsutil.Prettify(s)
  8183  }
  8184  
  8185  // GoString returns the string representation.
  8186  //
  8187  // API parameter values that are decorated as "sensitive" in the API will not
  8188  // be included in the string output. The member name will be present, but the
  8189  // value will be replaced with "sensitive".
  8190  func (s DeleteStorageVirtualMachineOutput) GoString() string {
  8191  	return s.String()
  8192  }
  8193  
  8194  // SetLifecycle sets the Lifecycle field's value.
  8195  func (s *DeleteStorageVirtualMachineOutput) SetLifecycle(v string) *DeleteStorageVirtualMachineOutput {
  8196  	s.Lifecycle = &v
  8197  	return s
  8198  }
  8199  
  8200  // SetStorageVirtualMachineId sets the StorageVirtualMachineId field's value.
  8201  func (s *DeleteStorageVirtualMachineOutput) SetStorageVirtualMachineId(v string) *DeleteStorageVirtualMachineOutput {
  8202  	s.StorageVirtualMachineId = &v
  8203  	return s
  8204  }
  8205  
  8206  type DeleteVolumeInput struct {
  8207  	_ struct{} `type:"structure"`
  8208  
  8209  	// (Optional) An idempotency token for resource creation, in a string of up
  8210  	// to 64 ASCII characters. This token is automatically filled on your behalf
  8211  	// when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.
  8212  	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
  8213  
  8214  	// For Amazon FSx for ONTAP volumes, specify whether to take a final backup
  8215  	// of the volume, and apply tags to the backup.
  8216  	OntapConfiguration *DeleteVolumeOntapConfiguration `type:"structure"`
  8217  
  8218  	// The ID of the volume you are deleting.
  8219  	//
  8220  	// VolumeId is a required field
  8221  	VolumeId *string `min:"23" type:"string" required:"true"`
  8222  }
  8223  
  8224  // String returns the string representation.
  8225  //
  8226  // API parameter values that are decorated as "sensitive" in the API will not
  8227  // be included in the string output. The member name will be present, but the
  8228  // value will be replaced with "sensitive".
  8229  func (s DeleteVolumeInput) String() string {
  8230  	return awsutil.Prettify(s)
  8231  }
  8232  
  8233  // GoString returns the string representation.
  8234  //
  8235  // API parameter values that are decorated as "sensitive" in the API will not
  8236  // be included in the string output. The member name will be present, but the
  8237  // value will be replaced with "sensitive".
  8238  func (s DeleteVolumeInput) GoString() string {
  8239  	return s.String()
  8240  }
  8241  
  8242  // Validate inspects the fields of the type to determine if they are valid.
  8243  func (s *DeleteVolumeInput) Validate() error {
  8244  	invalidParams := request.ErrInvalidParams{Context: "DeleteVolumeInput"}
  8245  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  8246  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  8247  	}
  8248  	if s.VolumeId == nil {
  8249  		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  8250  	}
  8251  	if s.VolumeId != nil && len(*s.VolumeId) < 23 {
  8252  		invalidParams.Add(request.NewErrParamMinLen("VolumeId", 23))
  8253  	}
  8254  	if s.OntapConfiguration != nil {
  8255  		if err := s.OntapConfiguration.Validate(); err != nil {
  8256  			invalidParams.AddNested("OntapConfiguration", err.(request.ErrInvalidParams))
  8257  		}
  8258  	}
  8259  
  8260  	if invalidParams.Len() > 0 {
  8261  		return invalidParams
  8262  	}
  8263  	return nil
  8264  }
  8265  
  8266  // SetClientRequestToken sets the ClientRequestToken field's value.
  8267  func (s *DeleteVolumeInput) SetClientRequestToken(v string) *DeleteVolumeInput {
  8268  	s.ClientRequestToken = &v
  8269  	return s
  8270  }
  8271  
  8272  // SetOntapConfiguration sets the OntapConfiguration field's value.
  8273  func (s *DeleteVolumeInput) SetOntapConfiguration(v *DeleteVolumeOntapConfiguration) *DeleteVolumeInput {
  8274  	s.OntapConfiguration = v
  8275  	return s
  8276  }
  8277  
  8278  // SetVolumeId sets the VolumeId field's value.
  8279  func (s *DeleteVolumeInput) SetVolumeId(v string) *DeleteVolumeInput {
  8280  	s.VolumeId = &v
  8281  	return s
  8282  }
  8283  
  8284  // Use to specify skipping a final backup, or to add tags to a final backup.
  8285  type DeleteVolumeOntapConfiguration struct {
  8286  	_ struct{} `type:"structure"`
  8287  
  8288  	// A list of Tag values, with a maximum of 50 elements.
  8289  	FinalBackupTags []*Tag `min:"1" type:"list"`
  8290  
  8291  	// Set to true if you want to skip taking a final backup of the volume you are
  8292  	// deleting.
  8293  	SkipFinalBackup *bool `type:"boolean"`
  8294  }
  8295  
  8296  // String returns the string representation.
  8297  //
  8298  // API parameter values that are decorated as "sensitive" in the API will not
  8299  // be included in the string output. The member name will be present, but the
  8300  // value will be replaced with "sensitive".
  8301  func (s DeleteVolumeOntapConfiguration) String() string {
  8302  	return awsutil.Prettify(s)
  8303  }
  8304  
  8305  // GoString returns the string representation.
  8306  //
  8307  // API parameter values that are decorated as "sensitive" in the API will not
  8308  // be included in the string output. The member name will be present, but the
  8309  // value will be replaced with "sensitive".
  8310  func (s DeleteVolumeOntapConfiguration) GoString() string {
  8311  	return s.String()
  8312  }
  8313  
  8314  // Validate inspects the fields of the type to determine if they are valid.
  8315  func (s *DeleteVolumeOntapConfiguration) Validate() error {
  8316  	invalidParams := request.ErrInvalidParams{Context: "DeleteVolumeOntapConfiguration"}
  8317  	if s.FinalBackupTags != nil && len(s.FinalBackupTags) < 1 {
  8318  		invalidParams.Add(request.NewErrParamMinLen("FinalBackupTags", 1))
  8319  	}
  8320  	if s.FinalBackupTags != nil {
  8321  		for i, v := range s.FinalBackupTags {
  8322  			if v == nil {
  8323  				continue
  8324  			}
  8325  			if err := v.Validate(); err != nil {
  8326  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FinalBackupTags", i), err.(request.ErrInvalidParams))
  8327  			}
  8328  		}
  8329  	}
  8330  
  8331  	if invalidParams.Len() > 0 {
  8332  		return invalidParams
  8333  	}
  8334  	return nil
  8335  }
  8336  
  8337  // SetFinalBackupTags sets the FinalBackupTags field's value.
  8338  func (s *DeleteVolumeOntapConfiguration) SetFinalBackupTags(v []*Tag) *DeleteVolumeOntapConfiguration {
  8339  	s.FinalBackupTags = v
  8340  	return s
  8341  }
  8342  
  8343  // SetSkipFinalBackup sets the SkipFinalBackup field's value.
  8344  func (s *DeleteVolumeOntapConfiguration) SetSkipFinalBackup(v bool) *DeleteVolumeOntapConfiguration {
  8345  	s.SkipFinalBackup = &v
  8346  	return s
  8347  }
  8348  
  8349  // The response object for the Amazon FSx for NetApp ONTAP volume being deleted
  8350  // in the DeleteVolume operation.
  8351  type DeleteVolumeOntapResponse struct {
  8352  	_ struct{} `type:"structure"`
  8353  
  8354  	// The ID of the source backup. Specifies the backup you are copying.
  8355  	FinalBackupId *string `min:"12" type:"string"`
  8356  
  8357  	// A list of Tag values, with a maximum of 50 elements.
  8358  	FinalBackupTags []*Tag `min:"1" type:"list"`
  8359  }
  8360  
  8361  // String returns the string representation.
  8362  //
  8363  // API parameter values that are decorated as "sensitive" in the API will not
  8364  // be included in the string output. The member name will be present, but the
  8365  // value will be replaced with "sensitive".
  8366  func (s DeleteVolumeOntapResponse) String() string {
  8367  	return awsutil.Prettify(s)
  8368  }
  8369  
  8370  // GoString returns the string representation.
  8371  //
  8372  // API parameter values that are decorated as "sensitive" in the API will not
  8373  // be included in the string output. The member name will be present, but the
  8374  // value will be replaced with "sensitive".
  8375  func (s DeleteVolumeOntapResponse) GoString() string {
  8376  	return s.String()
  8377  }
  8378  
  8379  // SetFinalBackupId sets the FinalBackupId field's value.
  8380  func (s *DeleteVolumeOntapResponse) SetFinalBackupId(v string) *DeleteVolumeOntapResponse {
  8381  	s.FinalBackupId = &v
  8382  	return s
  8383  }
  8384  
  8385  // SetFinalBackupTags sets the FinalBackupTags field's value.
  8386  func (s *DeleteVolumeOntapResponse) SetFinalBackupTags(v []*Tag) *DeleteVolumeOntapResponse {
  8387  	s.FinalBackupTags = v
  8388  	return s
  8389  }
  8390  
  8391  type DeleteVolumeOutput struct {
  8392  	_ struct{} `type:"structure"`
  8393  
  8394  	// Describes the lifecycle state of the volume being deleted.
  8395  	Lifecycle *string `type:"string" enum:"VolumeLifecycle"`
  8396  
  8397  	// Returned after a DeleteVolume request, showing the status of the delete request.
  8398  	OntapResponse *DeleteVolumeOntapResponse `type:"structure"`
  8399  
  8400  	// The ID of the volume being deleted.
  8401  	VolumeId *string `min:"23" type:"string"`
  8402  }
  8403  
  8404  // String returns the string representation.
  8405  //
  8406  // API parameter values that are decorated as "sensitive" in the API will not
  8407  // be included in the string output. The member name will be present, but the
  8408  // value will be replaced with "sensitive".
  8409  func (s DeleteVolumeOutput) String() string {
  8410  	return awsutil.Prettify(s)
  8411  }
  8412  
  8413  // GoString returns the string representation.
  8414  //
  8415  // API parameter values that are decorated as "sensitive" in the API will not
  8416  // be included in the string output. The member name will be present, but the
  8417  // value will be replaced with "sensitive".
  8418  func (s DeleteVolumeOutput) GoString() string {
  8419  	return s.String()
  8420  }
  8421  
  8422  // SetLifecycle sets the Lifecycle field's value.
  8423  func (s *DeleteVolumeOutput) SetLifecycle(v string) *DeleteVolumeOutput {
  8424  	s.Lifecycle = &v
  8425  	return s
  8426  }
  8427  
  8428  // SetOntapResponse sets the OntapResponse field's value.
  8429  func (s *DeleteVolumeOutput) SetOntapResponse(v *DeleteVolumeOntapResponse) *DeleteVolumeOutput {
  8430  	s.OntapResponse = v
  8431  	return s
  8432  }
  8433  
  8434  // SetVolumeId sets the VolumeId field's value.
  8435  func (s *DeleteVolumeOutput) SetVolumeId(v string) *DeleteVolumeOutput {
  8436  	s.VolumeId = &v
  8437  	return s
  8438  }
  8439  
  8440  // The request object for DescribeBackups operation.
  8441  type DescribeBackupsInput struct {
  8442  	_ struct{} `type:"structure"`
  8443  
  8444  	// IDs of the backups you want to retrieve (String). This overrides any filters.
  8445  	// If any IDs are not found, BackupNotFound will be thrown.
  8446  	BackupIds []*string `type:"list"`
  8447  
  8448  	// Filters structure. Supported names are file-system-id, backup-type, file-system-type,
  8449  	// and volume-id.
  8450  	Filters []*Filter `type:"list"`
  8451  
  8452  	// Maximum number of backups to return in the response (integer). This parameter
  8453  	// value must be greater than 0. The number of items that Amazon FSx returns
  8454  	// is the minimum of the MaxResults parameter specified in the request and the
  8455  	// service's internal maximum number of items per page.
  8456  	MaxResults *int64 `min:"1" type:"integer"`
  8457  
  8458  	// Opaque pagination token returned from a previous DescribeBackups operation
  8459  	// (String). If a token present, the action continues the list from where the
  8460  	// returning call left off.
  8461  	NextToken *string `min:"1" type:"string"`
  8462  }
  8463  
  8464  // String returns the string representation.
  8465  //
  8466  // API parameter values that are decorated as "sensitive" in the API will not
  8467  // be included in the string output. The member name will be present, but the
  8468  // value will be replaced with "sensitive".
  8469  func (s DescribeBackupsInput) String() string {
  8470  	return awsutil.Prettify(s)
  8471  }
  8472  
  8473  // GoString returns the string representation.
  8474  //
  8475  // API parameter values that are decorated as "sensitive" in the API will not
  8476  // be included in the string output. The member name will be present, but the
  8477  // value will be replaced with "sensitive".
  8478  func (s DescribeBackupsInput) GoString() string {
  8479  	return s.String()
  8480  }
  8481  
  8482  // Validate inspects the fields of the type to determine if they are valid.
  8483  func (s *DescribeBackupsInput) Validate() error {
  8484  	invalidParams := request.ErrInvalidParams{Context: "DescribeBackupsInput"}
  8485  	if s.MaxResults != nil && *s.MaxResults < 1 {
  8486  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  8487  	}
  8488  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8489  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8490  	}
  8491  
  8492  	if invalidParams.Len() > 0 {
  8493  		return invalidParams
  8494  	}
  8495  	return nil
  8496  }
  8497  
  8498  // SetBackupIds sets the BackupIds field's value.
  8499  func (s *DescribeBackupsInput) SetBackupIds(v []*string) *DescribeBackupsInput {
  8500  	s.BackupIds = v
  8501  	return s
  8502  }
  8503  
  8504  // SetFilters sets the Filters field's value.
  8505  func (s *DescribeBackupsInput) SetFilters(v []*Filter) *DescribeBackupsInput {
  8506  	s.Filters = v
  8507  	return s
  8508  }
  8509  
  8510  // SetMaxResults sets the MaxResults field's value.
  8511  func (s *DescribeBackupsInput) SetMaxResults(v int64) *DescribeBackupsInput {
  8512  	s.MaxResults = &v
  8513  	return s
  8514  }
  8515  
  8516  // SetNextToken sets the NextToken field's value.
  8517  func (s *DescribeBackupsInput) SetNextToken(v string) *DescribeBackupsInput {
  8518  	s.NextToken = &v
  8519  	return s
  8520  }
  8521  
  8522  // Response object for DescribeBackups operation.
  8523  type DescribeBackupsOutput struct {
  8524  	_ struct{} `type:"structure"`
  8525  
  8526  	// An array of backups.
  8527  	Backups []*Backup `type:"list"`
  8528  
  8529  	// This is present if there are more backups than returned in the response (String).
  8530  	// You can use the NextToken value in the later request to fetch the backups.
  8531  	NextToken *string `min:"1" type:"string"`
  8532  }
  8533  
  8534  // String returns the string representation.
  8535  //
  8536  // API parameter values that are decorated as "sensitive" in the API will not
  8537  // be included in the string output. The member name will be present, but the
  8538  // value will be replaced with "sensitive".
  8539  func (s DescribeBackupsOutput) String() string {
  8540  	return awsutil.Prettify(s)
  8541  }
  8542  
  8543  // GoString returns the string representation.
  8544  //
  8545  // API parameter values that are decorated as "sensitive" in the API will not
  8546  // be included in the string output. The member name will be present, but the
  8547  // value will be replaced with "sensitive".
  8548  func (s DescribeBackupsOutput) GoString() string {
  8549  	return s.String()
  8550  }
  8551  
  8552  // SetBackups sets the Backups field's value.
  8553  func (s *DescribeBackupsOutput) SetBackups(v []*Backup) *DescribeBackupsOutput {
  8554  	s.Backups = v
  8555  	return s
  8556  }
  8557  
  8558  // SetNextToken sets the NextToken field's value.
  8559  func (s *DescribeBackupsOutput) SetNextToken(v string) *DescribeBackupsOutput {
  8560  	s.NextToken = &v
  8561  	return s
  8562  }
  8563  
  8564  type DescribeDataRepositoryTasksInput struct {
  8565  	_ struct{} `type:"structure"`
  8566  
  8567  	// (Optional) You can use filters to narrow the DescribeDataRepositoryTasks
  8568  	// response to include just tasks for specific file systems, or tasks in a specific
  8569  	// lifecycle state.
  8570  	Filters []*DataRepositoryTaskFilter `type:"list"`
  8571  
  8572  	// The maximum number of resources to return in the response. This value must
  8573  	// be an integer greater than zero.
  8574  	MaxResults *int64 `min:"1" type:"integer"`
  8575  
  8576  	// (Optional) Opaque pagination token returned from a previous operation (String).
  8577  	// If present, this token indicates from what point you can continue processing
  8578  	// the request, where the previous NextToken value left off.
  8579  	NextToken *string `min:"1" type:"string"`
  8580  
  8581  	// (Optional) IDs of the tasks whose descriptions you want to retrieve (String).
  8582  	TaskIds []*string `type:"list"`
  8583  }
  8584  
  8585  // String returns the string representation.
  8586  //
  8587  // API parameter values that are decorated as "sensitive" in the API will not
  8588  // be included in the string output. The member name will be present, but the
  8589  // value will be replaced with "sensitive".
  8590  func (s DescribeDataRepositoryTasksInput) String() string {
  8591  	return awsutil.Prettify(s)
  8592  }
  8593  
  8594  // GoString returns the string representation.
  8595  //
  8596  // API parameter values that are decorated as "sensitive" in the API will not
  8597  // be included in the string output. The member name will be present, but the
  8598  // value will be replaced with "sensitive".
  8599  func (s DescribeDataRepositoryTasksInput) GoString() string {
  8600  	return s.String()
  8601  }
  8602  
  8603  // Validate inspects the fields of the type to determine if they are valid.
  8604  func (s *DescribeDataRepositoryTasksInput) Validate() error {
  8605  	invalidParams := request.ErrInvalidParams{Context: "DescribeDataRepositoryTasksInput"}
  8606  	if s.MaxResults != nil && *s.MaxResults < 1 {
  8607  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  8608  	}
  8609  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8610  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8611  	}
  8612  
  8613  	if invalidParams.Len() > 0 {
  8614  		return invalidParams
  8615  	}
  8616  	return nil
  8617  }
  8618  
  8619  // SetFilters sets the Filters field's value.
  8620  func (s *DescribeDataRepositoryTasksInput) SetFilters(v []*DataRepositoryTaskFilter) *DescribeDataRepositoryTasksInput {
  8621  	s.Filters = v
  8622  	return s
  8623  }
  8624  
  8625  // SetMaxResults sets the MaxResults field's value.
  8626  func (s *DescribeDataRepositoryTasksInput) SetMaxResults(v int64) *DescribeDataRepositoryTasksInput {
  8627  	s.MaxResults = &v
  8628  	return s
  8629  }
  8630  
  8631  // SetNextToken sets the NextToken field's value.
  8632  func (s *DescribeDataRepositoryTasksInput) SetNextToken(v string) *DescribeDataRepositoryTasksInput {
  8633  	s.NextToken = &v
  8634  	return s
  8635  }
  8636  
  8637  // SetTaskIds sets the TaskIds field's value.
  8638  func (s *DescribeDataRepositoryTasksInput) SetTaskIds(v []*string) *DescribeDataRepositoryTasksInput {
  8639  	s.TaskIds = v
  8640  	return s
  8641  }
  8642  
  8643  type DescribeDataRepositoryTasksOutput struct {
  8644  	_ struct{} `type:"structure"`
  8645  
  8646  	// The collection of data repository task descriptions returned.
  8647  	DataRepositoryTasks []*DataRepositoryTask `type:"list"`
  8648  
  8649  	// (Optional) Opaque pagination token returned from a previous operation (String).
  8650  	// If present, this token indicates from what point you can continue processing
  8651  	// the request, where the previous NextToken value left off.
  8652  	NextToken *string `min:"1" type:"string"`
  8653  }
  8654  
  8655  // String returns the string representation.
  8656  //
  8657  // API parameter values that are decorated as "sensitive" in the API will not
  8658  // be included in the string output. The member name will be present, but the
  8659  // value will be replaced with "sensitive".
  8660  func (s DescribeDataRepositoryTasksOutput) String() string {
  8661  	return awsutil.Prettify(s)
  8662  }
  8663  
  8664  // GoString returns the string representation.
  8665  //
  8666  // API parameter values that are decorated as "sensitive" in the API will not
  8667  // be included in the string output. The member name will be present, but the
  8668  // value will be replaced with "sensitive".
  8669  func (s DescribeDataRepositoryTasksOutput) GoString() string {
  8670  	return s.String()
  8671  }
  8672  
  8673  // SetDataRepositoryTasks sets the DataRepositoryTasks field's value.
  8674  func (s *DescribeDataRepositoryTasksOutput) SetDataRepositoryTasks(v []*DataRepositoryTask) *DescribeDataRepositoryTasksOutput {
  8675  	s.DataRepositoryTasks = v
  8676  	return s
  8677  }
  8678  
  8679  // SetNextToken sets the NextToken field's value.
  8680  func (s *DescribeDataRepositoryTasksOutput) SetNextToken(v string) *DescribeDataRepositoryTasksOutput {
  8681  	s.NextToken = &v
  8682  	return s
  8683  }
  8684  
  8685  // The request object for DescribeFileSystemAliases operation.
  8686  type DescribeFileSystemAliasesInput struct {
  8687  	_ struct{} `type:"structure"`
  8688  
  8689  	// (Optional) An idempotency token for resource creation, in a string of up
  8690  	// to 64 ASCII characters. This token is automatically filled on your behalf
  8691  	// when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.
  8692  	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
  8693  
  8694  	// The ID of the file system to return the associated DNS aliases for (String).
  8695  	//
  8696  	// FileSystemId is a required field
  8697  	FileSystemId *string `min:"11" type:"string" required:"true"`
  8698  
  8699  	// Maximum number of DNS aliases to return in the response (integer). This parameter
  8700  	// value must be greater than 0. The number of items that Amazon FSx returns
  8701  	// is the minimum of the MaxResults parameter specified in the request and the
  8702  	// service's internal maximum number of items per page.
  8703  	MaxResults *int64 `min:"1" type:"integer"`
  8704  
  8705  	// Opaque pagination token returned from a previous DescribeFileSystemAliases
  8706  	// operation (String). If a token is included in the request, the action continues
  8707  	// the list from where the previous returning call left off.
  8708  	NextToken *string `min:"1" type:"string"`
  8709  }
  8710  
  8711  // String returns the string representation.
  8712  //
  8713  // API parameter values that are decorated as "sensitive" in the API will not
  8714  // be included in the string output. The member name will be present, but the
  8715  // value will be replaced with "sensitive".
  8716  func (s DescribeFileSystemAliasesInput) String() string {
  8717  	return awsutil.Prettify(s)
  8718  }
  8719  
  8720  // GoString returns the string representation.
  8721  //
  8722  // API parameter values that are decorated as "sensitive" in the API will not
  8723  // be included in the string output. The member name will be present, but the
  8724  // value will be replaced with "sensitive".
  8725  func (s DescribeFileSystemAliasesInput) GoString() string {
  8726  	return s.String()
  8727  }
  8728  
  8729  // Validate inspects the fields of the type to determine if they are valid.
  8730  func (s *DescribeFileSystemAliasesInput) Validate() error {
  8731  	invalidParams := request.ErrInvalidParams{Context: "DescribeFileSystemAliasesInput"}
  8732  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  8733  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  8734  	}
  8735  	if s.FileSystemId == nil {
  8736  		invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
  8737  	}
  8738  	if s.FileSystemId != nil && len(*s.FileSystemId) < 11 {
  8739  		invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11))
  8740  	}
  8741  	if s.MaxResults != nil && *s.MaxResults < 1 {
  8742  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  8743  	}
  8744  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8745  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8746  	}
  8747  
  8748  	if invalidParams.Len() > 0 {
  8749  		return invalidParams
  8750  	}
  8751  	return nil
  8752  }
  8753  
  8754  // SetClientRequestToken sets the ClientRequestToken field's value.
  8755  func (s *DescribeFileSystemAliasesInput) SetClientRequestToken(v string) *DescribeFileSystemAliasesInput {
  8756  	s.ClientRequestToken = &v
  8757  	return s
  8758  }
  8759  
  8760  // SetFileSystemId sets the FileSystemId field's value.
  8761  func (s *DescribeFileSystemAliasesInput) SetFileSystemId(v string) *DescribeFileSystemAliasesInput {
  8762  	s.FileSystemId = &v
  8763  	return s
  8764  }
  8765  
  8766  // SetMaxResults sets the MaxResults field's value.
  8767  func (s *DescribeFileSystemAliasesInput) SetMaxResults(v int64) *DescribeFileSystemAliasesInput {
  8768  	s.MaxResults = &v
  8769  	return s
  8770  }
  8771  
  8772  // SetNextToken sets the NextToken field's value.
  8773  func (s *DescribeFileSystemAliasesInput) SetNextToken(v string) *DescribeFileSystemAliasesInput {
  8774  	s.NextToken = &v
  8775  	return s
  8776  }
  8777  
  8778  // The response object for DescribeFileSystemAliases operation.
  8779  type DescribeFileSystemAliasesOutput struct {
  8780  	_ struct{} `type:"structure"`
  8781  
  8782  	// An array of one or more DNS aliases currently associated with the specified
  8783  	// file system.
  8784  	Aliases []*Alias `type:"list"`
  8785  
  8786  	// Present if there are more DNS aliases than returned in the response (String).
  8787  	// You can use the NextToken value in a later request to fetch additional descriptions.
  8788  	NextToken *string `min:"1" type:"string"`
  8789  }
  8790  
  8791  // String returns the string representation.
  8792  //
  8793  // API parameter values that are decorated as "sensitive" in the API will not
  8794  // be included in the string output. The member name will be present, but the
  8795  // value will be replaced with "sensitive".
  8796  func (s DescribeFileSystemAliasesOutput) String() string {
  8797  	return awsutil.Prettify(s)
  8798  }
  8799  
  8800  // GoString returns the string representation.
  8801  //
  8802  // API parameter values that are decorated as "sensitive" in the API will not
  8803  // be included in the string output. The member name will be present, but the
  8804  // value will be replaced with "sensitive".
  8805  func (s DescribeFileSystemAliasesOutput) GoString() string {
  8806  	return s.String()
  8807  }
  8808  
  8809  // SetAliases sets the Aliases field's value.
  8810  func (s *DescribeFileSystemAliasesOutput) SetAliases(v []*Alias) *DescribeFileSystemAliasesOutput {
  8811  	s.Aliases = v
  8812  	return s
  8813  }
  8814  
  8815  // SetNextToken sets the NextToken field's value.
  8816  func (s *DescribeFileSystemAliasesOutput) SetNextToken(v string) *DescribeFileSystemAliasesOutput {
  8817  	s.NextToken = &v
  8818  	return s
  8819  }
  8820  
  8821  // The request object for DescribeFileSystems operation.
  8822  type DescribeFileSystemsInput struct {
  8823  	_ struct{} `type:"structure"`
  8824  
  8825  	// IDs of the file systems whose descriptions you want to retrieve (String).
  8826  	FileSystemIds []*string `type:"list"`
  8827  
  8828  	// Maximum number of file systems to return in the response (integer). This
  8829  	// parameter value must be greater than 0. The number of items that Amazon FSx
  8830  	// returns is the minimum of the MaxResults parameter specified in the request
  8831  	// and the service's internal maximum number of items per page.
  8832  	MaxResults *int64 `min:"1" type:"integer"`
  8833  
  8834  	// Opaque pagination token returned from a previous DescribeFileSystems operation
  8835  	// (String). If a token present, the action continues the list from where the
  8836  	// returning call left off.
  8837  	NextToken *string `min:"1" type:"string"`
  8838  }
  8839  
  8840  // String returns the string representation.
  8841  //
  8842  // API parameter values that are decorated as "sensitive" in the API will not
  8843  // be included in the string output. The member name will be present, but the
  8844  // value will be replaced with "sensitive".
  8845  func (s DescribeFileSystemsInput) String() string {
  8846  	return awsutil.Prettify(s)
  8847  }
  8848  
  8849  // GoString returns the string representation.
  8850  //
  8851  // API parameter values that are decorated as "sensitive" in the API will not
  8852  // be included in the string output. The member name will be present, but the
  8853  // value will be replaced with "sensitive".
  8854  func (s DescribeFileSystemsInput) GoString() string {
  8855  	return s.String()
  8856  }
  8857  
  8858  // Validate inspects the fields of the type to determine if they are valid.
  8859  func (s *DescribeFileSystemsInput) Validate() error {
  8860  	invalidParams := request.ErrInvalidParams{Context: "DescribeFileSystemsInput"}
  8861  	if s.MaxResults != nil && *s.MaxResults < 1 {
  8862  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  8863  	}
  8864  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8865  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8866  	}
  8867  
  8868  	if invalidParams.Len() > 0 {
  8869  		return invalidParams
  8870  	}
  8871  	return nil
  8872  }
  8873  
  8874  // SetFileSystemIds sets the FileSystemIds field's value.
  8875  func (s *DescribeFileSystemsInput) SetFileSystemIds(v []*string) *DescribeFileSystemsInput {
  8876  	s.FileSystemIds = v
  8877  	return s
  8878  }
  8879  
  8880  // SetMaxResults sets the MaxResults field's value.
  8881  func (s *DescribeFileSystemsInput) SetMaxResults(v int64) *DescribeFileSystemsInput {
  8882  	s.MaxResults = &v
  8883  	return s
  8884  }
  8885  
  8886  // SetNextToken sets the NextToken field's value.
  8887  func (s *DescribeFileSystemsInput) SetNextToken(v string) *DescribeFileSystemsInput {
  8888  	s.NextToken = &v
  8889  	return s
  8890  }
  8891  
  8892  // The response object for DescribeFileSystems operation.
  8893  type DescribeFileSystemsOutput struct {
  8894  	_ struct{} `type:"structure"`
  8895  
  8896  	// An array of file system descriptions.
  8897  	FileSystems []*FileSystem `type:"list"`
  8898  
  8899  	// Present if there are more file systems than returned in the response (String).
  8900  	// You can use the NextToken value in the later request to fetch the descriptions.
  8901  	NextToken *string `min:"1" type:"string"`
  8902  }
  8903  
  8904  // String returns the string representation.
  8905  //
  8906  // API parameter values that are decorated as "sensitive" in the API will not
  8907  // be included in the string output. The member name will be present, but the
  8908  // value will be replaced with "sensitive".
  8909  func (s DescribeFileSystemsOutput) String() string {
  8910  	return awsutil.Prettify(s)
  8911  }
  8912  
  8913  // GoString returns the string representation.
  8914  //
  8915  // API parameter values that are decorated as "sensitive" in the API will not
  8916  // be included in the string output. The member name will be present, but the
  8917  // value will be replaced with "sensitive".
  8918  func (s DescribeFileSystemsOutput) GoString() string {
  8919  	return s.String()
  8920  }
  8921  
  8922  // SetFileSystems sets the FileSystems field's value.
  8923  func (s *DescribeFileSystemsOutput) SetFileSystems(v []*FileSystem) *DescribeFileSystemsOutput {
  8924  	s.FileSystems = v
  8925  	return s
  8926  }
  8927  
  8928  // SetNextToken sets the NextToken field's value.
  8929  func (s *DescribeFileSystemsOutput) SetNextToken(v string) *DescribeFileSystemsOutput {
  8930  	s.NextToken = &v
  8931  	return s
  8932  }
  8933  
  8934  type DescribeStorageVirtualMachinesInput struct {
  8935  	_ struct{} `type:"structure"`
  8936  
  8937  	// Enter a filter name:value pair to view a select set of SVMs.
  8938  	Filters []*StorageVirtualMachineFilter `type:"list"`
  8939  
  8940  	// The maximum number of resources to return in the response. This value must
  8941  	// be an integer greater than zero.
  8942  	MaxResults *int64 `min:"1" type:"integer"`
  8943  
  8944  	// (Optional) Opaque pagination token returned from a previous operation (String).
  8945  	// If present, this token indicates from what point you can continue processing
  8946  	// the request, where the previous NextToken value left off.
  8947  	NextToken *string `min:"1" type:"string"`
  8948  
  8949  	// Enter the ID of one or more SVMs that you want to view.
  8950  	StorageVirtualMachineIds []*string `type:"list"`
  8951  }
  8952  
  8953  // String returns the string representation.
  8954  //
  8955  // API parameter values that are decorated as "sensitive" in the API will not
  8956  // be included in the string output. The member name will be present, but the
  8957  // value will be replaced with "sensitive".
  8958  func (s DescribeStorageVirtualMachinesInput) String() string {
  8959  	return awsutil.Prettify(s)
  8960  }
  8961  
  8962  // GoString returns the string representation.
  8963  //
  8964  // API parameter values that are decorated as "sensitive" in the API will not
  8965  // be included in the string output. The member name will be present, but the
  8966  // value will be replaced with "sensitive".
  8967  func (s DescribeStorageVirtualMachinesInput) GoString() string {
  8968  	return s.String()
  8969  }
  8970  
  8971  // Validate inspects the fields of the type to determine if they are valid.
  8972  func (s *DescribeStorageVirtualMachinesInput) Validate() error {
  8973  	invalidParams := request.ErrInvalidParams{Context: "DescribeStorageVirtualMachinesInput"}
  8974  	if s.MaxResults != nil && *s.MaxResults < 1 {
  8975  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  8976  	}
  8977  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8978  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8979  	}
  8980  
  8981  	if invalidParams.Len() > 0 {
  8982  		return invalidParams
  8983  	}
  8984  	return nil
  8985  }
  8986  
  8987  // SetFilters sets the Filters field's value.
  8988  func (s *DescribeStorageVirtualMachinesInput) SetFilters(v []*StorageVirtualMachineFilter) *DescribeStorageVirtualMachinesInput {
  8989  	s.Filters = v
  8990  	return s
  8991  }
  8992  
  8993  // SetMaxResults sets the MaxResults field's value.
  8994  func (s *DescribeStorageVirtualMachinesInput) SetMaxResults(v int64) *DescribeStorageVirtualMachinesInput {
  8995  	s.MaxResults = &v
  8996  	return s
  8997  }
  8998  
  8999  // SetNextToken sets the NextToken field's value.
  9000  func (s *DescribeStorageVirtualMachinesInput) SetNextToken(v string) *DescribeStorageVirtualMachinesInput {
  9001  	s.NextToken = &v
  9002  	return s
  9003  }
  9004  
  9005  // SetStorageVirtualMachineIds sets the StorageVirtualMachineIds field's value.
  9006  func (s *DescribeStorageVirtualMachinesInput) SetStorageVirtualMachineIds(v []*string) *DescribeStorageVirtualMachinesInput {
  9007  	s.StorageVirtualMachineIds = v
  9008  	return s
  9009  }
  9010  
  9011  type DescribeStorageVirtualMachinesOutput struct {
  9012  	_ struct{} `type:"structure"`
  9013  
  9014  	// (Optional) Opaque pagination token returned from a previous operation (String).
  9015  	// If present, this token indicates from what point you can continue processing
  9016  	// the request, where the previous NextToken value left off.
  9017  	NextToken *string `min:"1" type:"string"`
  9018  
  9019  	// Returned after a successful DescribeStorageVirtualMachines operation, describing
  9020  	// each SVM.
  9021  	StorageVirtualMachines []*StorageVirtualMachine `type:"list"`
  9022  }
  9023  
  9024  // String returns the string representation.
  9025  //
  9026  // API parameter values that are decorated as "sensitive" in the API will not
  9027  // be included in the string output. The member name will be present, but the
  9028  // value will be replaced with "sensitive".
  9029  func (s DescribeStorageVirtualMachinesOutput) String() string {
  9030  	return awsutil.Prettify(s)
  9031  }
  9032  
  9033  // GoString returns the string representation.
  9034  //
  9035  // API parameter values that are decorated as "sensitive" in the API will not
  9036  // be included in the string output. The member name will be present, but the
  9037  // value will be replaced with "sensitive".
  9038  func (s DescribeStorageVirtualMachinesOutput) GoString() string {
  9039  	return s.String()
  9040  }
  9041  
  9042  // SetNextToken sets the NextToken field's value.
  9043  func (s *DescribeStorageVirtualMachinesOutput) SetNextToken(v string) *DescribeStorageVirtualMachinesOutput {
  9044  	s.NextToken = &v
  9045  	return s
  9046  }
  9047  
  9048  // SetStorageVirtualMachines sets the StorageVirtualMachines field's value.
  9049  func (s *DescribeStorageVirtualMachinesOutput) SetStorageVirtualMachines(v []*StorageVirtualMachine) *DescribeStorageVirtualMachinesOutput {
  9050  	s.StorageVirtualMachines = v
  9051  	return s
  9052  }
  9053  
  9054  type DescribeVolumesInput struct {
  9055  	_ struct{} `type:"structure"`
  9056  
  9057  	// Enter a filter name:value pair to view a select set of volumes.
  9058  	Filters []*VolumeFilter `type:"list"`
  9059  
  9060  	// The maximum number of resources to return in the response. This value must
  9061  	// be an integer greater than zero.
  9062  	MaxResults *int64 `min:"1" type:"integer"`
  9063  
  9064  	// (Optional) Opaque pagination token returned from a previous operation (String).
  9065  	// If present, this token indicates from what point you can continue processing
  9066  	// the request, where the previous NextToken value left off.
  9067  	NextToken *string `min:"1" type:"string"`
  9068  
  9069  	// IDs of the volumes whose descriptions you want to retrieve.
  9070  	VolumeIds []*string `type:"list"`
  9071  }
  9072  
  9073  // String returns the string representation.
  9074  //
  9075  // API parameter values that are decorated as "sensitive" in the API will not
  9076  // be included in the string output. The member name will be present, but the
  9077  // value will be replaced with "sensitive".
  9078  func (s DescribeVolumesInput) String() string {
  9079  	return awsutil.Prettify(s)
  9080  }
  9081  
  9082  // GoString returns the string representation.
  9083  //
  9084  // API parameter values that are decorated as "sensitive" in the API will not
  9085  // be included in the string output. The member name will be present, but the
  9086  // value will be replaced with "sensitive".
  9087  func (s DescribeVolumesInput) GoString() string {
  9088  	return s.String()
  9089  }
  9090  
  9091  // Validate inspects the fields of the type to determine if they are valid.
  9092  func (s *DescribeVolumesInput) Validate() error {
  9093  	invalidParams := request.ErrInvalidParams{Context: "DescribeVolumesInput"}
  9094  	if s.MaxResults != nil && *s.MaxResults < 1 {
  9095  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  9096  	}
  9097  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  9098  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  9099  	}
  9100  
  9101  	if invalidParams.Len() > 0 {
  9102  		return invalidParams
  9103  	}
  9104  	return nil
  9105  }
  9106  
  9107  // SetFilters sets the Filters field's value.
  9108  func (s *DescribeVolumesInput) SetFilters(v []*VolumeFilter) *DescribeVolumesInput {
  9109  	s.Filters = v
  9110  	return s
  9111  }
  9112  
  9113  // SetMaxResults sets the MaxResults field's value.
  9114  func (s *DescribeVolumesInput) SetMaxResults(v int64) *DescribeVolumesInput {
  9115  	s.MaxResults = &v
  9116  	return s
  9117  }
  9118  
  9119  // SetNextToken sets the NextToken field's value.
  9120  func (s *DescribeVolumesInput) SetNextToken(v string) *DescribeVolumesInput {
  9121  	s.NextToken = &v
  9122  	return s
  9123  }
  9124  
  9125  // SetVolumeIds sets the VolumeIds field's value.
  9126  func (s *DescribeVolumesInput) SetVolumeIds(v []*string) *DescribeVolumesInput {
  9127  	s.VolumeIds = v
  9128  	return s
  9129  }
  9130  
  9131  type DescribeVolumesOutput struct {
  9132  	_ struct{} `type:"structure"`
  9133  
  9134  	// (Optional) Opaque pagination token returned from a previous operation (String).
  9135  	// If present, this token indicates from what point you can continue processing
  9136  	// the request, where the previous NextToken value left off.
  9137  	NextToken *string `min:"1" type:"string"`
  9138  
  9139  	// Returned after a successful DescribeVolumes operation, describing each volume.
  9140  	Volumes []*Volume `type:"list"`
  9141  }
  9142  
  9143  // String returns the string representation.
  9144  //
  9145  // API parameter values that are decorated as "sensitive" in the API will not
  9146  // be included in the string output. The member name will be present, but the
  9147  // value will be replaced with "sensitive".
  9148  func (s DescribeVolumesOutput) String() string {
  9149  	return awsutil.Prettify(s)
  9150  }
  9151  
  9152  // GoString returns the string representation.
  9153  //
  9154  // API parameter values that are decorated as "sensitive" in the API will not
  9155  // be included in the string output. The member name will be present, but the
  9156  // value will be replaced with "sensitive".
  9157  func (s DescribeVolumesOutput) GoString() string {
  9158  	return s.String()
  9159  }
  9160  
  9161  // SetNextToken sets the NextToken field's value.
  9162  func (s *DescribeVolumesOutput) SetNextToken(v string) *DescribeVolumesOutput {
  9163  	s.NextToken = &v
  9164  	return s
  9165  }
  9166  
  9167  // SetVolumes sets the Volumes field's value.
  9168  func (s *DescribeVolumesOutput) SetVolumes(v []*Volume) *DescribeVolumesOutput {
  9169  	s.Volumes = v
  9170  	return s
  9171  }
  9172  
  9173  // The request object of DNS aliases to disassociate from an Amazon FSx for
  9174  // Windows File Server file system.
  9175  type DisassociateFileSystemAliasesInput struct {
  9176  	_ struct{} `type:"structure"`
  9177  
  9178  	// An array of one or more DNS alias names to disassociate, or remove, from
  9179  	// the file system.
  9180  	//
  9181  	// Aliases is a required field
  9182  	Aliases []*string `type:"list" required:"true"`
  9183  
  9184  	// (Optional) An idempotency token for resource creation, in a string of up
  9185  	// to 64 ASCII characters. This token is automatically filled on your behalf
  9186  	// when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.
  9187  	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
  9188  
  9189  	// Specifies the file system from which to disassociate the DNS aliases.
  9190  	//
  9191  	// FileSystemId is a required field
  9192  	FileSystemId *string `min:"11" type:"string" required:"true"`
  9193  }
  9194  
  9195  // String returns the string representation.
  9196  //
  9197  // API parameter values that are decorated as "sensitive" in the API will not
  9198  // be included in the string output. The member name will be present, but the
  9199  // value will be replaced with "sensitive".
  9200  func (s DisassociateFileSystemAliasesInput) String() string {
  9201  	return awsutil.Prettify(s)
  9202  }
  9203  
  9204  // GoString returns the string representation.
  9205  //
  9206  // API parameter values that are decorated as "sensitive" in the API will not
  9207  // be included in the string output. The member name will be present, but the
  9208  // value will be replaced with "sensitive".
  9209  func (s DisassociateFileSystemAliasesInput) GoString() string {
  9210  	return s.String()
  9211  }
  9212  
  9213  // Validate inspects the fields of the type to determine if they are valid.
  9214  func (s *DisassociateFileSystemAliasesInput) Validate() error {
  9215  	invalidParams := request.ErrInvalidParams{Context: "DisassociateFileSystemAliasesInput"}
  9216  	if s.Aliases == nil {
  9217  		invalidParams.Add(request.NewErrParamRequired("Aliases"))
  9218  	}
  9219  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  9220  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  9221  	}
  9222  	if s.FileSystemId == nil {
  9223  		invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
  9224  	}
  9225  	if s.FileSystemId != nil && len(*s.FileSystemId) < 11 {
  9226  		invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11))
  9227  	}
  9228  
  9229  	if invalidParams.Len() > 0 {
  9230  		return invalidParams
  9231  	}
  9232  	return nil
  9233  }
  9234  
  9235  // SetAliases sets the Aliases field's value.
  9236  func (s *DisassociateFileSystemAliasesInput) SetAliases(v []*string) *DisassociateFileSystemAliasesInput {
  9237  	s.Aliases = v
  9238  	return s
  9239  }
  9240  
  9241  // SetClientRequestToken sets the ClientRequestToken field's value.
  9242  func (s *DisassociateFileSystemAliasesInput) SetClientRequestToken(v string) *DisassociateFileSystemAliasesInput {
  9243  	s.ClientRequestToken = &v
  9244  	return s
  9245  }
  9246  
  9247  // SetFileSystemId sets the FileSystemId field's value.
  9248  func (s *DisassociateFileSystemAliasesInput) SetFileSystemId(v string) *DisassociateFileSystemAliasesInput {
  9249  	s.FileSystemId = &v
  9250  	return s
  9251  }
  9252  
  9253  // The system generated response showing the DNS aliases that Amazon FSx is
  9254  // attempting to disassociate from the file system. Use the API operation to
  9255  // monitor the status of the aliases Amazon FSx is removing from the file system.
  9256  type DisassociateFileSystemAliasesOutput struct {
  9257  	_ struct{} `type:"structure"`
  9258  
  9259  	// An array of one or more DNS aliases that Amazon FSx is attempting to disassociate
  9260  	// from the file system.
  9261  	Aliases []*Alias `type:"list"`
  9262  }
  9263  
  9264  // String returns the string representation.
  9265  //
  9266  // API parameter values that are decorated as "sensitive" in the API will not
  9267  // be included in the string output. The member name will be present, but the
  9268  // value will be replaced with "sensitive".
  9269  func (s DisassociateFileSystemAliasesOutput) String() string {
  9270  	return awsutil.Prettify(s)
  9271  }
  9272  
  9273  // GoString returns the string representation.
  9274  //
  9275  // API parameter values that are decorated as "sensitive" in the API will not
  9276  // be included in the string output. The member name will be present, but the
  9277  // value will be replaced with "sensitive".
  9278  func (s DisassociateFileSystemAliasesOutput) GoString() string {
  9279  	return s.String()
  9280  }
  9281  
  9282  // SetAliases sets the Aliases field's value.
  9283  func (s *DisassociateFileSystemAliasesOutput) SetAliases(v []*Alias) *DisassociateFileSystemAliasesOutput {
  9284  	s.Aliases = v
  9285  	return s
  9286  }
  9287  
  9288  // The SSD IOPS (input/output operations per second) configuration for an Amazon
  9289  // FSx for NetApp ONTAP file system. The default is 3 IOPS per GB of storage
  9290  // capacity, but you can provision additional IOPS per GB of storage. The configuration
  9291  // consists of the total number of provisioned SSD IOPS and how the amount was
  9292  // provisioned (by the customer or by the system).
  9293  type DiskIopsConfiguration struct {
  9294  	_ struct{} `type:"structure"`
  9295  
  9296  	// The total number of SSD IOPS provisioned for the file system.
  9297  	Iops *int64 `type:"long"`
  9298  
  9299  	// Specifies whether the number of IOPS for the file system is using the system
  9300  	// default (AUTOMATIC) or was provisioned by the customer (USER_PROVISIONED).
  9301  	Mode *string `type:"string" enum:"DiskIopsConfigurationMode"`
  9302  }
  9303  
  9304  // String returns the string representation.
  9305  //
  9306  // API parameter values that are decorated as "sensitive" in the API will not
  9307  // be included in the string output. The member name will be present, but the
  9308  // value will be replaced with "sensitive".
  9309  func (s DiskIopsConfiguration) String() string {
  9310  	return awsutil.Prettify(s)
  9311  }
  9312  
  9313  // GoString returns the string representation.
  9314  //
  9315  // API parameter values that are decorated as "sensitive" in the API will not
  9316  // be included in the string output. The member name will be present, but the
  9317  // value will be replaced with "sensitive".
  9318  func (s DiskIopsConfiguration) GoString() string {
  9319  	return s.String()
  9320  }
  9321  
  9322  // SetIops sets the Iops field's value.
  9323  func (s *DiskIopsConfiguration) SetIops(v int64) *DiskIopsConfiguration {
  9324  	s.Iops = &v
  9325  	return s
  9326  }
  9327  
  9328  // SetMode sets the Mode field's value.
  9329  func (s *DiskIopsConfiguration) SetMode(v string) *DiskIopsConfiguration {
  9330  	s.Mode = &v
  9331  	return s
  9332  }
  9333  
  9334  // A description of a specific Amazon FSx file system.
  9335  type FileSystem struct {
  9336  	_ struct{} `type:"structure"`
  9337  
  9338  	// A list of administrative actions for the file system that are in process
  9339  	// or waiting to be processed. Administrative actions describe changes to the
  9340  	// Amazon FSx file system that you have initiated using the UpdateFileSystem
  9341  	// action.
  9342  	AdministrativeActions []*AdministrativeAction `type:"list"`
  9343  
  9344  	// The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z),
  9345  	// also known as Unix time.
  9346  	CreationTime *time.Time `type:"timestamp"`
  9347  
  9348  	// The DNS name for the file system.
  9349  	DNSName *string `min:"16" type:"string"`
  9350  
  9351  	// A structure providing details of any failures that occur when creating the
  9352  	// file system has failed.
  9353  	FailureDetails *FileSystemFailureDetails `type:"structure"`
  9354  
  9355  	// The system-generated, unique 17-digit ID of the file system.
  9356  	FileSystemId *string `min:"11" type:"string"`
  9357  
  9358  	// The type of Amazon FSx file system, which can be LUSTRE, WINDOWS, or ONTAP.
  9359  	FileSystemType *string `type:"string" enum:"FileSystemType"`
  9360  
  9361  	// The version of your Amazon FSx for Lustre file system, either 2.10 or 2.12.
  9362  	FileSystemTypeVersion *string `min:"1" type:"string"`
  9363  
  9364  	// The ID of the Key Management Service (KMS) key used to encrypt the file system's
  9365  	// data for Amazon FSx for Windows File Server file systems, Amazon FSx for
  9366  	// NetApp ONTAP file systems, and persistent Amazon FSx for Lustre file systems
  9367  	// at rest. If not specified, the Amazon FSx managed key is used. The scratch
  9368  	// Amazon FSx for Lustre file systems are always encrypted at rest using Amazon
  9369  	// FSx managed keys. For more information, see Encrypt (https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html)
  9370  	// in the Key Management Service API Reference.
  9371  	KmsKeyId *string `min:"1" type:"string"`
  9372  
  9373  	// The lifecycle status of the file system, following are the possible values
  9374  	// and what they mean:
  9375  	//
  9376  	//    * AVAILABLE - The file system is in a healthy state, and is reachable
  9377  	//    and available for use.
  9378  	//
  9379  	//    * CREATING - Amazon FSx is creating the new file system.
  9380  	//
  9381  	//    * DELETING - Amazon FSx is deleting an existing file system.
  9382  	//
  9383  	//    * FAILED - An existing file system has experienced an unrecoverable failure.
  9384  	//    When creating a new file system, Amazon FSx was unable to create the file
  9385  	//    system.
  9386  	//
  9387  	//    * MISCONFIGURED indicates that the file system is in a failed but recoverable
  9388  	//    state.
  9389  	//
  9390  	//    * UPDATING indicates that the file system is undergoing a customer initiated
  9391  	//    update.
  9392  	Lifecycle *string `type:"string" enum:"FileSystemLifecycle"`
  9393  
  9394  	// The configuration for the Amazon FSx for Lustre file system.
  9395  	LustreConfiguration *LustreFileSystemConfiguration `type:"structure"`
  9396  
  9397  	// The IDs of the elastic network interface from which a specific file system
  9398  	// is accessible. The elastic network interface is automatically created in
  9399  	// the same VPC that the Amazon FSx file system was created in. For more information,
  9400  	// see Elastic Network Interfaces (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html)
  9401  	// in the Amazon EC2 User Guide.
  9402  	//
  9403  	// For an Amazon FSx for Windows File Server file system, you can have one network
  9404  	// interface ID. For an Amazon FSx for Lustre file system, you can have more
  9405  	// than one.
  9406  	NetworkInterfaceIds []*string `type:"list"`
  9407  
  9408  	// The configuration for this FSx for NetApp ONTAP file system.
  9409  	OntapConfiguration *OntapFileSystemConfiguration `type:"structure"`
  9410  
  9411  	// The Amazon Web Services account that created the file system. If the file
  9412  	// system was created by an Identity and Access Management (IAM) user, the Amazon
  9413  	// Web Services account to which the IAM user belongs is the owner.
  9414  	OwnerId *string `min:"12" type:"string"`
  9415  
  9416  	// The Amazon Resource Name (ARN) for the file system resource.
  9417  	ResourceARN *string `min:"8" type:"string"`
  9418  
  9419  	// The storage capacity of the file system in gibibytes (GiB).
  9420  	StorageCapacity *int64 `type:"integer"`
  9421  
  9422  	// The storage type of the file system. Valid values are SSD and HDD. If set
  9423  	// to SSD, the file system uses solid state drive storage. If set to HDD, the
  9424  	// file system uses hard disk drive storage.
  9425  	StorageType *string `type:"string" enum:"StorageType"`
  9426  
  9427  	// Specifies the IDs of the subnets that the file system is accessible from.
  9428  	// For Windows and ONTAP MULTI_AZ_1 file system deployment type, there are two
  9429  	// subnet IDs, one for the preferred file server and one for the standby file
  9430  	// server. The preferred file server subnet identified in the PreferredSubnetID
  9431  	// property. All other file systems have only one subnet ID.
  9432  	//
  9433  	// For Lustre file systems, and Single-AZ Windows file systems, this is the
  9434  	// ID of the subnet that contains the endpoint for the file system. For MULTI_AZ_1
  9435  	// Windows and ONTAP file systems, the endpoint for the file system is available
  9436  	// in the PreferredSubnetID.
  9437  	SubnetIds []*string `type:"list"`
  9438  
  9439  	// The tags to associate with the file system. For more information, see Tagging
  9440  	// Your Amazon EC2 Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  9441  	// in the Amazon EC2 User Guide.
  9442  	Tags []*Tag `min:"1" type:"list"`
  9443  
  9444  	// The ID of the primary VPC for the file system.
  9445  	VpcId *string `min:"12" type:"string"`
  9446  
  9447  	// The configuration for this Microsoft Windows file system.
  9448  	WindowsConfiguration *WindowsFileSystemConfiguration `type:"structure"`
  9449  }
  9450  
  9451  // String returns the string representation.
  9452  //
  9453  // API parameter values that are decorated as "sensitive" in the API will not
  9454  // be included in the string output. The member name will be present, but the
  9455  // value will be replaced with "sensitive".
  9456  func (s FileSystem) String() string {
  9457  	return awsutil.Prettify(s)
  9458  }
  9459  
  9460  // GoString returns the string representation.
  9461  //
  9462  // API parameter values that are decorated as "sensitive" in the API will not
  9463  // be included in the string output. The member name will be present, but the
  9464  // value will be replaced with "sensitive".
  9465  func (s FileSystem) GoString() string {
  9466  	return s.String()
  9467  }
  9468  
  9469  // SetAdministrativeActions sets the AdministrativeActions field's value.
  9470  func (s *FileSystem) SetAdministrativeActions(v []*AdministrativeAction) *FileSystem {
  9471  	s.AdministrativeActions = v
  9472  	return s
  9473  }
  9474  
  9475  // SetCreationTime sets the CreationTime field's value.
  9476  func (s *FileSystem) SetCreationTime(v time.Time) *FileSystem {
  9477  	s.CreationTime = &v
  9478  	return s
  9479  }
  9480  
  9481  // SetDNSName sets the DNSName field's value.
  9482  func (s *FileSystem) SetDNSName(v string) *FileSystem {
  9483  	s.DNSName = &v
  9484  	return s
  9485  }
  9486  
  9487  // SetFailureDetails sets the FailureDetails field's value.
  9488  func (s *FileSystem) SetFailureDetails(v *FileSystemFailureDetails) *FileSystem {
  9489  	s.FailureDetails = v
  9490  	return s
  9491  }
  9492  
  9493  // SetFileSystemId sets the FileSystemId field's value.
  9494  func (s *FileSystem) SetFileSystemId(v string) *FileSystem {
  9495  	s.FileSystemId = &v
  9496  	return s
  9497  }
  9498  
  9499  // SetFileSystemType sets the FileSystemType field's value.
  9500  func (s *FileSystem) SetFileSystemType(v string) *FileSystem {
  9501  	s.FileSystemType = &v
  9502  	return s
  9503  }
  9504  
  9505  // SetFileSystemTypeVersion sets the FileSystemTypeVersion field's value.
  9506  func (s *FileSystem) SetFileSystemTypeVersion(v string) *FileSystem {
  9507  	s.FileSystemTypeVersion = &v
  9508  	return s
  9509  }
  9510  
  9511  // SetKmsKeyId sets the KmsKeyId field's value.
  9512  func (s *FileSystem) SetKmsKeyId(v string) *FileSystem {
  9513  	s.KmsKeyId = &v
  9514  	return s
  9515  }
  9516  
  9517  // SetLifecycle sets the Lifecycle field's value.
  9518  func (s *FileSystem) SetLifecycle(v string) *FileSystem {
  9519  	s.Lifecycle = &v
  9520  	return s
  9521  }
  9522  
  9523  // SetLustreConfiguration sets the LustreConfiguration field's value.
  9524  func (s *FileSystem) SetLustreConfiguration(v *LustreFileSystemConfiguration) *FileSystem {
  9525  	s.LustreConfiguration = v
  9526  	return s
  9527  }
  9528  
  9529  // SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
  9530  func (s *FileSystem) SetNetworkInterfaceIds(v []*string) *FileSystem {
  9531  	s.NetworkInterfaceIds = v
  9532  	return s
  9533  }
  9534  
  9535  // SetOntapConfiguration sets the OntapConfiguration field's value.
  9536  func (s *FileSystem) SetOntapConfiguration(v *OntapFileSystemConfiguration) *FileSystem {
  9537  	s.OntapConfiguration = v
  9538  	return s
  9539  }
  9540  
  9541  // SetOwnerId sets the OwnerId field's value.
  9542  func (s *FileSystem) SetOwnerId(v string) *FileSystem {
  9543  	s.OwnerId = &v
  9544  	return s
  9545  }
  9546  
  9547  // SetResourceARN sets the ResourceARN field's value.
  9548  func (s *FileSystem) SetResourceARN(v string) *FileSystem {
  9549  	s.ResourceARN = &v
  9550  	return s
  9551  }
  9552  
  9553  // SetStorageCapacity sets the StorageCapacity field's value.
  9554  func (s *FileSystem) SetStorageCapacity(v int64) *FileSystem {
  9555  	s.StorageCapacity = &v
  9556  	return s
  9557  }
  9558  
  9559  // SetStorageType sets the StorageType field's value.
  9560  func (s *FileSystem) SetStorageType(v string) *FileSystem {
  9561  	s.StorageType = &v
  9562  	return s
  9563  }
  9564  
  9565  // SetSubnetIds sets the SubnetIds field's value.
  9566  func (s *FileSystem) SetSubnetIds(v []*string) *FileSystem {
  9567  	s.SubnetIds = v
  9568  	return s
  9569  }
  9570  
  9571  // SetTags sets the Tags field's value.
  9572  func (s *FileSystem) SetTags(v []*Tag) *FileSystem {
  9573  	s.Tags = v
  9574  	return s
  9575  }
  9576  
  9577  // SetVpcId sets the VpcId field's value.
  9578  func (s *FileSystem) SetVpcId(v string) *FileSystem {
  9579  	s.VpcId = &v
  9580  	return s
  9581  }
  9582  
  9583  // SetWindowsConfiguration sets the WindowsConfiguration field's value.
  9584  func (s *FileSystem) SetWindowsConfiguration(v *WindowsFileSystemConfiguration) *FileSystem {
  9585  	s.WindowsConfiguration = v
  9586  	return s
  9587  }
  9588  
  9589  // An Amazon FSx for NetApp ONTAP file system has two endpoints that are used
  9590  // to access data or to manage the file system using the NetApp ONTAP CLI, REST
  9591  // API, or NetApp SnapMirror. They are the Management and Intercluster endpoints.
  9592  type FileSystemEndpoint struct {
  9593  	_ struct{} `type:"structure"`
  9594  
  9595  	// The Domain Name Service (DNS) name for the file system. You can mount your
  9596  	// file system using its DNS name.
  9597  	DNSName *string `min:"16" type:"string"`
  9598  
  9599  	// IP addresses of the file system endpoint.
  9600  	IpAddresses []*string `min:"1" type:"list"`
  9601  }
  9602  
  9603  // String returns the string representation.
  9604  //
  9605  // API parameter values that are decorated as "sensitive" in the API will not
  9606  // be included in the string output. The member name will be present, but the
  9607  // value will be replaced with "sensitive".
  9608  func (s FileSystemEndpoint) String() string {
  9609  	return awsutil.Prettify(s)
  9610  }
  9611  
  9612  // GoString returns the string representation.
  9613  //
  9614  // API parameter values that are decorated as "sensitive" in the API will not
  9615  // be included in the string output. The member name will be present, but the
  9616  // value will be replaced with "sensitive".
  9617  func (s FileSystemEndpoint) GoString() string {
  9618  	return s.String()
  9619  }
  9620  
  9621  // SetDNSName sets the DNSName field's value.
  9622  func (s *FileSystemEndpoint) SetDNSName(v string) *FileSystemEndpoint {
  9623  	s.DNSName = &v
  9624  	return s
  9625  }
  9626  
  9627  // SetIpAddresses sets the IpAddresses field's value.
  9628  func (s *FileSystemEndpoint) SetIpAddresses(v []*string) *FileSystemEndpoint {
  9629  	s.IpAddresses = v
  9630  	return s
  9631  }
  9632  
  9633  // An Amazon FSx for NetApp ONTAP file system has the following endpoints that
  9634  // are used to access data or to manage the file system using the NetApp ONTAP
  9635  // CLI, REST API, or NetApp SnapMirror.
  9636  type FileSystemEndpoints struct {
  9637  	_ struct{} `type:"structure"`
  9638  
  9639  	// An endpoint for managing your file system by setting up NetApp SnapMirror
  9640  	// with other ONTAP systems.
  9641  	Intercluster *FileSystemEndpoint `type:"structure"`
  9642  
  9643  	// An endpoint for managing your file system using the NetApp ONTAP CLI and
  9644  	// NetApp ONTAP API.
  9645  	Management *FileSystemEndpoint `type:"structure"`
  9646  }
  9647  
  9648  // String returns the string representation.
  9649  //
  9650  // API parameter values that are decorated as "sensitive" in the API will not
  9651  // be included in the string output. The member name will be present, but the
  9652  // value will be replaced with "sensitive".
  9653  func (s FileSystemEndpoints) String() string {
  9654  	return awsutil.Prettify(s)
  9655  }
  9656  
  9657  // GoString returns the string representation.
  9658  //
  9659  // API parameter values that are decorated as "sensitive" in the API will not
  9660  // be included in the string output. The member name will be present, but the
  9661  // value will be replaced with "sensitive".
  9662  func (s FileSystemEndpoints) GoString() string {
  9663  	return s.String()
  9664  }
  9665  
  9666  // SetIntercluster sets the Intercluster field's value.
  9667  func (s *FileSystemEndpoints) SetIntercluster(v *FileSystemEndpoint) *FileSystemEndpoints {
  9668  	s.Intercluster = v
  9669  	return s
  9670  }
  9671  
  9672  // SetManagement sets the Management field's value.
  9673  func (s *FileSystemEndpoints) SetManagement(v *FileSystemEndpoint) *FileSystemEndpoints {
  9674  	s.Management = v
  9675  	return s
  9676  }
  9677  
  9678  // A structure providing details of any failures that occur when creating the
  9679  // file system has failed.
  9680  type FileSystemFailureDetails struct {
  9681  	_ struct{} `type:"structure"`
  9682  
  9683  	// A message describing any failures that occurred during file system creation.
  9684  	Message *string `min:"1" type:"string"`
  9685  }
  9686  
  9687  // String returns the string representation.
  9688  //
  9689  // API parameter values that are decorated as "sensitive" in the API will not
  9690  // be included in the string output. The member name will be present, but the
  9691  // value will be replaced with "sensitive".
  9692  func (s FileSystemFailureDetails) String() string {
  9693  	return awsutil.Prettify(s)
  9694  }
  9695  
  9696  // GoString returns the string representation.
  9697  //
  9698  // API parameter values that are decorated as "sensitive" in the API will not
  9699  // be included in the string output. The member name will be present, but the
  9700  // value will be replaced with "sensitive".
  9701  func (s FileSystemFailureDetails) GoString() string {
  9702  	return s.String()
  9703  }
  9704  
  9705  // SetMessage sets the Message field's value.
  9706  func (s *FileSystemFailureDetails) SetMessage(v string) *FileSystemFailureDetails {
  9707  	s.Message = &v
  9708  	return s
  9709  }
  9710  
  9711  // No Amazon FSx file systems were found based upon supplied parameters.
  9712  type FileSystemNotFound struct {
  9713  	_            struct{}                  `type:"structure"`
  9714  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9715  
  9716  	// A detailed error message.
  9717  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  9718  }
  9719  
  9720  // String returns the string representation.
  9721  //
  9722  // API parameter values that are decorated as "sensitive" in the API will not
  9723  // be included in the string output. The member name will be present, but the
  9724  // value will be replaced with "sensitive".
  9725  func (s FileSystemNotFound) String() string {
  9726  	return awsutil.Prettify(s)
  9727  }
  9728  
  9729  // GoString returns the string representation.
  9730  //
  9731  // API parameter values that are decorated as "sensitive" in the API will not
  9732  // be included in the string output. The member name will be present, but the
  9733  // value will be replaced with "sensitive".
  9734  func (s FileSystemNotFound) GoString() string {
  9735  	return s.String()
  9736  }
  9737  
  9738  func newErrorFileSystemNotFound(v protocol.ResponseMetadata) error {
  9739  	return &FileSystemNotFound{
  9740  		RespMetadata: v,
  9741  	}
  9742  }
  9743  
  9744  // Code returns the exception type name.
  9745  func (s *FileSystemNotFound) Code() string {
  9746  	return "FileSystemNotFound"
  9747  }
  9748  
  9749  // Message returns the exception's message.
  9750  func (s *FileSystemNotFound) Message() string {
  9751  	if s.Message_ != nil {
  9752  		return *s.Message_
  9753  	}
  9754  	return ""
  9755  }
  9756  
  9757  // OrigErr always returns nil, satisfies awserr.Error interface.
  9758  func (s *FileSystemNotFound) OrigErr() error {
  9759  	return nil
  9760  }
  9761  
  9762  func (s *FileSystemNotFound) Error() string {
  9763  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9764  }
  9765  
  9766  // Status code returns the HTTP status code for the request's response error.
  9767  func (s *FileSystemNotFound) StatusCode() int {
  9768  	return s.RespMetadata.StatusCode
  9769  }
  9770  
  9771  // RequestID returns the service's response RequestID for request.
  9772  func (s *FileSystemNotFound) RequestID() string {
  9773  	return s.RespMetadata.RequestID
  9774  }
  9775  
  9776  // A filter used to restrict the results of describe calls. You can use multiple
  9777  // filters to return results that meet all applied filter requirements.
  9778  type Filter struct {
  9779  	_ struct{} `type:"structure"`
  9780  
  9781  	// The name for this filter.
  9782  	Name *string `type:"string" enum:"FilterName"`
  9783  
  9784  	// The values of the filter. These are all the values for any of the applied
  9785  	// filters.
  9786  	Values []*string `type:"list"`
  9787  }
  9788  
  9789  // String returns the string representation.
  9790  //
  9791  // API parameter values that are decorated as "sensitive" in the API will not
  9792  // be included in the string output. The member name will be present, but the
  9793  // value will be replaced with "sensitive".
  9794  func (s Filter) String() string {
  9795  	return awsutil.Prettify(s)
  9796  }
  9797  
  9798  // GoString returns the string representation.
  9799  //
  9800  // API parameter values that are decorated as "sensitive" in the API will not
  9801  // be included in the string output. The member name will be present, but the
  9802  // value will be replaced with "sensitive".
  9803  func (s Filter) GoString() string {
  9804  	return s.String()
  9805  }
  9806  
  9807  // SetName sets the Name field's value.
  9808  func (s *Filter) SetName(v string) *Filter {
  9809  	s.Name = &v
  9810  	return s
  9811  }
  9812  
  9813  // SetValues sets the Values field's value.
  9814  func (s *Filter) SetValues(v []*string) *Filter {
  9815  	s.Values = v
  9816  	return s
  9817  }
  9818  
  9819  // The error returned when a second request is received with the same client
  9820  // request token but different parameters settings. A client request token should
  9821  // always uniquely identify a single request.
  9822  type IncompatibleParameterError struct {
  9823  	_            struct{}                  `type:"structure"`
  9824  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9825  
  9826  	// A detailed error message.
  9827  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  9828  
  9829  	// A parameter that is incompatible with the earlier request.
  9830  	//
  9831  	// Parameter is a required field
  9832  	Parameter *string `min:"1" type:"string" required:"true"`
  9833  }
  9834  
  9835  // String returns the string representation.
  9836  //
  9837  // API parameter values that are decorated as "sensitive" in the API will not
  9838  // be included in the string output. The member name will be present, but the
  9839  // value will be replaced with "sensitive".
  9840  func (s IncompatibleParameterError) String() string {
  9841  	return awsutil.Prettify(s)
  9842  }
  9843  
  9844  // GoString returns the string representation.
  9845  //
  9846  // API parameter values that are decorated as "sensitive" in the API will not
  9847  // be included in the string output. The member name will be present, but the
  9848  // value will be replaced with "sensitive".
  9849  func (s IncompatibleParameterError) GoString() string {
  9850  	return s.String()
  9851  }
  9852  
  9853  func newErrorIncompatibleParameterError(v protocol.ResponseMetadata) error {
  9854  	return &IncompatibleParameterError{
  9855  		RespMetadata: v,
  9856  	}
  9857  }
  9858  
  9859  // Code returns the exception type name.
  9860  func (s *IncompatibleParameterError) Code() string {
  9861  	return "IncompatibleParameterError"
  9862  }
  9863  
  9864  // Message returns the exception's message.
  9865  func (s *IncompatibleParameterError) Message() string {
  9866  	if s.Message_ != nil {
  9867  		return *s.Message_
  9868  	}
  9869  	return ""
  9870  }
  9871  
  9872  // OrigErr always returns nil, satisfies awserr.Error interface.
  9873  func (s *IncompatibleParameterError) OrigErr() error {
  9874  	return nil
  9875  }
  9876  
  9877  func (s *IncompatibleParameterError) Error() string {
  9878  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  9879  }
  9880  
  9881  // Status code returns the HTTP status code for the request's response error.
  9882  func (s *IncompatibleParameterError) StatusCode() int {
  9883  	return s.RespMetadata.StatusCode
  9884  }
  9885  
  9886  // RequestID returns the service's response RequestID for request.
  9887  func (s *IncompatibleParameterError) RequestID() string {
  9888  	return s.RespMetadata.RequestID
  9889  }
  9890  
  9891  // Amazon FSx doesn't support Multi-AZ Windows File Server copy backup in the
  9892  // destination Region, so the copied backup can't be restored.
  9893  type IncompatibleRegionForMultiAZ struct {
  9894  	_            struct{}                  `type:"structure"`
  9895  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9896  
  9897  	// A detailed error message.
  9898  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  9899  }
  9900  
  9901  // String returns the string representation.
  9902  //
  9903  // API parameter values that are decorated as "sensitive" in the API will not
  9904  // be included in the string output. The member name will be present, but the
  9905  // value will be replaced with "sensitive".
  9906  func (s IncompatibleRegionForMultiAZ) String() string {
  9907  	return awsutil.Prettify(s)
  9908  }
  9909  
  9910  // GoString returns the string representation.
  9911  //
  9912  // API parameter values that are decorated as "sensitive" in the API will not
  9913  // be included in the string output. The member name will be present, but the
  9914  // value will be replaced with "sensitive".
  9915  func (s IncompatibleRegionForMultiAZ) GoString() string {
  9916  	return s.String()
  9917  }
  9918  
  9919  func newErrorIncompatibleRegionForMultiAZ(v protocol.ResponseMetadata) error {
  9920  	return &IncompatibleRegionForMultiAZ{
  9921  		RespMetadata: v,
  9922  	}
  9923  }
  9924  
  9925  // Code returns the exception type name.
  9926  func (s *IncompatibleRegionForMultiAZ) Code() string {
  9927  	return "IncompatibleRegionForMultiAZ"
  9928  }
  9929  
  9930  // Message returns the exception's message.
  9931  func (s *IncompatibleRegionForMultiAZ) Message() string {
  9932  	if s.Message_ != nil {
  9933  		return *s.Message_
  9934  	}
  9935  	return ""
  9936  }
  9937  
  9938  // OrigErr always returns nil, satisfies awserr.Error interface.
  9939  func (s *IncompatibleRegionForMultiAZ) OrigErr() error {
  9940  	return nil
  9941  }
  9942  
  9943  func (s *IncompatibleRegionForMultiAZ) Error() string {
  9944  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9945  }
  9946  
  9947  // Status code returns the HTTP status code for the request's response error.
  9948  func (s *IncompatibleRegionForMultiAZ) StatusCode() int {
  9949  	return s.RespMetadata.StatusCode
  9950  }
  9951  
  9952  // RequestID returns the service's response RequestID for request.
  9953  func (s *IncompatibleRegionForMultiAZ) RequestID() string {
  9954  	return s.RespMetadata.RequestID
  9955  }
  9956  
  9957  // A generic error indicating a server-side failure.
  9958  type InternalServerError struct {
  9959  	_            struct{}                  `type:"structure"`
  9960  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9961  
  9962  	// A detailed error message.
  9963  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  9964  }
  9965  
  9966  // String returns the string representation.
  9967  //
  9968  // API parameter values that are decorated as "sensitive" in the API will not
  9969  // be included in the string output. The member name will be present, but the
  9970  // value will be replaced with "sensitive".
  9971  func (s InternalServerError) String() string {
  9972  	return awsutil.Prettify(s)
  9973  }
  9974  
  9975  // GoString returns the string representation.
  9976  //
  9977  // API parameter values that are decorated as "sensitive" in the API will not
  9978  // be included in the string output. The member name will be present, but the
  9979  // value will be replaced with "sensitive".
  9980  func (s InternalServerError) GoString() string {
  9981  	return s.String()
  9982  }
  9983  
  9984  func newErrorInternalServerError(v protocol.ResponseMetadata) error {
  9985  	return &InternalServerError{
  9986  		RespMetadata: v,
  9987  	}
  9988  }
  9989  
  9990  // Code returns the exception type name.
  9991  func (s *InternalServerError) Code() string {
  9992  	return "InternalServerError"
  9993  }
  9994  
  9995  // Message returns the exception's message.
  9996  func (s *InternalServerError) Message() string {
  9997  	if s.Message_ != nil {
  9998  		return *s.Message_
  9999  	}
 10000  	return ""
 10001  }
 10002  
 10003  // OrigErr always returns nil, satisfies awserr.Error interface.
 10004  func (s *InternalServerError) OrigErr() error {
 10005  	return nil
 10006  }
 10007  
 10008  func (s *InternalServerError) Error() string {
 10009  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10010  }
 10011  
 10012  // Status code returns the HTTP status code for the request's response error.
 10013  func (s *InternalServerError) StatusCode() int {
 10014  	return s.RespMetadata.StatusCode
 10015  }
 10016  
 10017  // RequestID returns the service's response RequestID for request.
 10018  func (s *InternalServerError) RequestID() string {
 10019  	return s.RespMetadata.RequestID
 10020  }
 10021  
 10022  // The Key Management Service (KMS) key of the destination backup is invalid.
 10023  type InvalidDestinationKmsKey struct {
 10024  	_            struct{}                  `type:"structure"`
 10025  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10026  
 10027  	// A detailed error message.
 10028  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 10029  }
 10030  
 10031  // String returns the string representation.
 10032  //
 10033  // API parameter values that are decorated as "sensitive" in the API will not
 10034  // be included in the string output. The member name will be present, but the
 10035  // value will be replaced with "sensitive".
 10036  func (s InvalidDestinationKmsKey) String() string {
 10037  	return awsutil.Prettify(s)
 10038  }
 10039  
 10040  // GoString returns the string representation.
 10041  //
 10042  // API parameter values that are decorated as "sensitive" in the API will not
 10043  // be included in the string output. The member name will be present, but the
 10044  // value will be replaced with "sensitive".
 10045  func (s InvalidDestinationKmsKey) GoString() string {
 10046  	return s.String()
 10047  }
 10048  
 10049  func newErrorInvalidDestinationKmsKey(v protocol.ResponseMetadata) error {
 10050  	return &InvalidDestinationKmsKey{
 10051  		RespMetadata: v,
 10052  	}
 10053  }
 10054  
 10055  // Code returns the exception type name.
 10056  func (s *InvalidDestinationKmsKey) Code() string {
 10057  	return "InvalidDestinationKmsKey"
 10058  }
 10059  
 10060  // Message returns the exception's message.
 10061  func (s *InvalidDestinationKmsKey) Message() string {
 10062  	if s.Message_ != nil {
 10063  		return *s.Message_
 10064  	}
 10065  	return ""
 10066  }
 10067  
 10068  // OrigErr always returns nil, satisfies awserr.Error interface.
 10069  func (s *InvalidDestinationKmsKey) OrigErr() error {
 10070  	return nil
 10071  }
 10072  
 10073  func (s *InvalidDestinationKmsKey) Error() string {
 10074  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10075  }
 10076  
 10077  // Status code returns the HTTP status code for the request's response error.
 10078  func (s *InvalidDestinationKmsKey) StatusCode() int {
 10079  	return s.RespMetadata.StatusCode
 10080  }
 10081  
 10082  // RequestID returns the service's response RequestID for request.
 10083  func (s *InvalidDestinationKmsKey) RequestID() string {
 10084  	return s.RespMetadata.RequestID
 10085  }
 10086  
 10087  // The path provided for data repository export isn't valid.
 10088  type InvalidExportPath struct {
 10089  	_            struct{}                  `type:"structure"`
 10090  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10091  
 10092  	// A detailed error message.
 10093  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 10094  }
 10095  
 10096  // String returns the string representation.
 10097  //
 10098  // API parameter values that are decorated as "sensitive" in the API will not
 10099  // be included in the string output. The member name will be present, but the
 10100  // value will be replaced with "sensitive".
 10101  func (s InvalidExportPath) String() string {
 10102  	return awsutil.Prettify(s)
 10103  }
 10104  
 10105  // GoString returns the string representation.
 10106  //
 10107  // API parameter values that are decorated as "sensitive" in the API will not
 10108  // be included in the string output. The member name will be present, but the
 10109  // value will be replaced with "sensitive".
 10110  func (s InvalidExportPath) GoString() string {
 10111  	return s.String()
 10112  }
 10113  
 10114  func newErrorInvalidExportPath(v protocol.ResponseMetadata) error {
 10115  	return &InvalidExportPath{
 10116  		RespMetadata: v,
 10117  	}
 10118  }
 10119  
 10120  // Code returns the exception type name.
 10121  func (s *InvalidExportPath) Code() string {
 10122  	return "InvalidExportPath"
 10123  }
 10124  
 10125  // Message returns the exception's message.
 10126  func (s *InvalidExportPath) Message() string {
 10127  	if s.Message_ != nil {
 10128  		return *s.Message_
 10129  	}
 10130  	return ""
 10131  }
 10132  
 10133  // OrigErr always returns nil, satisfies awserr.Error interface.
 10134  func (s *InvalidExportPath) OrigErr() error {
 10135  	return nil
 10136  }
 10137  
 10138  func (s *InvalidExportPath) Error() string {
 10139  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10140  }
 10141  
 10142  // Status code returns the HTTP status code for the request's response error.
 10143  func (s *InvalidExportPath) StatusCode() int {
 10144  	return s.RespMetadata.StatusCode
 10145  }
 10146  
 10147  // RequestID returns the service's response RequestID for request.
 10148  func (s *InvalidExportPath) RequestID() string {
 10149  	return s.RespMetadata.RequestID
 10150  }
 10151  
 10152  // The path provided for data repository import isn't valid.
 10153  type InvalidImportPath struct {
 10154  	_            struct{}                  `type:"structure"`
 10155  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10156  
 10157  	// A detailed error message.
 10158  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 10159  }
 10160  
 10161  // String returns the string representation.
 10162  //
 10163  // API parameter values that are decorated as "sensitive" in the API will not
 10164  // be included in the string output. The member name will be present, but the
 10165  // value will be replaced with "sensitive".
 10166  func (s InvalidImportPath) String() string {
 10167  	return awsutil.Prettify(s)
 10168  }
 10169  
 10170  // GoString returns the string representation.
 10171  //
 10172  // API parameter values that are decorated as "sensitive" in the API will not
 10173  // be included in the string output. The member name will be present, but the
 10174  // value will be replaced with "sensitive".
 10175  func (s InvalidImportPath) GoString() string {
 10176  	return s.String()
 10177  }
 10178  
 10179  func newErrorInvalidImportPath(v protocol.ResponseMetadata) error {
 10180  	return &InvalidImportPath{
 10181  		RespMetadata: v,
 10182  	}
 10183  }
 10184  
 10185  // Code returns the exception type name.
 10186  func (s *InvalidImportPath) Code() string {
 10187  	return "InvalidImportPath"
 10188  }
 10189  
 10190  // Message returns the exception's message.
 10191  func (s *InvalidImportPath) Message() string {
 10192  	if s.Message_ != nil {
 10193  		return *s.Message_
 10194  	}
 10195  	return ""
 10196  }
 10197  
 10198  // OrigErr always returns nil, satisfies awserr.Error interface.
 10199  func (s *InvalidImportPath) OrigErr() error {
 10200  	return nil
 10201  }
 10202  
 10203  func (s *InvalidImportPath) Error() string {
 10204  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10205  }
 10206  
 10207  // Status code returns the HTTP status code for the request's response error.
 10208  func (s *InvalidImportPath) StatusCode() int {
 10209  	return s.RespMetadata.StatusCode
 10210  }
 10211  
 10212  // RequestID returns the service's response RequestID for request.
 10213  func (s *InvalidImportPath) RequestID() string {
 10214  	return s.RespMetadata.RequestID
 10215  }
 10216  
 10217  // One or more network settings specified in the request are invalid.
 10218  type InvalidNetworkSettings struct {
 10219  	_            struct{}                  `type:"structure"`
 10220  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10221  
 10222  	// The route table ID is either invalid or not part of the VPC specified.
 10223  	InvalidRouteTableId *string `min:"12" type:"string"`
 10224  
 10225  	// The security group ID is either invalid or not part of the VPC specified.
 10226  	InvalidSecurityGroupId *string `min:"11" type:"string"`
 10227  
 10228  	// The subnet ID that is either invalid or not part of the VPC specified.
 10229  	InvalidSubnetId *string `min:"15" type:"string"`
 10230  
 10231  	// Error message explaining what's wrong with network settings.
 10232  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 10233  }
 10234  
 10235  // String returns the string representation.
 10236  //
 10237  // API parameter values that are decorated as "sensitive" in the API will not
 10238  // be included in the string output. The member name will be present, but the
 10239  // value will be replaced with "sensitive".
 10240  func (s InvalidNetworkSettings) String() string {
 10241  	return awsutil.Prettify(s)
 10242  }
 10243  
 10244  // GoString returns the string representation.
 10245  //
 10246  // API parameter values that are decorated as "sensitive" in the API will not
 10247  // be included in the string output. The member name will be present, but the
 10248  // value will be replaced with "sensitive".
 10249  func (s InvalidNetworkSettings) GoString() string {
 10250  	return s.String()
 10251  }
 10252  
 10253  func newErrorInvalidNetworkSettings(v protocol.ResponseMetadata) error {
 10254  	return &InvalidNetworkSettings{
 10255  		RespMetadata: v,
 10256  	}
 10257  }
 10258  
 10259  // Code returns the exception type name.
 10260  func (s *InvalidNetworkSettings) Code() string {
 10261  	return "InvalidNetworkSettings"
 10262  }
 10263  
 10264  // Message returns the exception's message.
 10265  func (s *InvalidNetworkSettings) Message() string {
 10266  	if s.Message_ != nil {
 10267  		return *s.Message_
 10268  	}
 10269  	return ""
 10270  }
 10271  
 10272  // OrigErr always returns nil, satisfies awserr.Error interface.
 10273  func (s *InvalidNetworkSettings) OrigErr() error {
 10274  	return nil
 10275  }
 10276  
 10277  func (s *InvalidNetworkSettings) Error() string {
 10278  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 10279  }
 10280  
 10281  // Status code returns the HTTP status code for the request's response error.
 10282  func (s *InvalidNetworkSettings) StatusCode() int {
 10283  	return s.RespMetadata.StatusCode
 10284  }
 10285  
 10286  // RequestID returns the service's response RequestID for request.
 10287  func (s *InvalidNetworkSettings) RequestID() string {
 10288  	return s.RespMetadata.RequestID
 10289  }
 10290  
 10291  // An invalid value for PerUnitStorageThroughput was provided. Please create
 10292  // your file system again, using a valid value.
 10293  type InvalidPerUnitStorageThroughput struct {
 10294  	_            struct{}                  `type:"structure"`
 10295  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10296  
 10297  	// A detailed error message.
 10298  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 10299  }
 10300  
 10301  // String returns the string representation.
 10302  //
 10303  // API parameter values that are decorated as "sensitive" in the API will not
 10304  // be included in the string output. The member name will be present, but the
 10305  // value will be replaced with "sensitive".
 10306  func (s InvalidPerUnitStorageThroughput) String() string {
 10307  	return awsutil.Prettify(s)
 10308  }
 10309  
 10310  // GoString returns the string representation.
 10311  //
 10312  // API parameter values that are decorated as "sensitive" in the API will not
 10313  // be included in the string output. The member name will be present, but the
 10314  // value will be replaced with "sensitive".
 10315  func (s InvalidPerUnitStorageThroughput) GoString() string {
 10316  	return s.String()
 10317  }
 10318  
 10319  func newErrorInvalidPerUnitStorageThroughput(v protocol.ResponseMetadata) error {
 10320  	return &InvalidPerUnitStorageThroughput{
 10321  		RespMetadata: v,
 10322  	}
 10323  }
 10324  
 10325  // Code returns the exception type name.
 10326  func (s *InvalidPerUnitStorageThroughput) Code() string {
 10327  	return "InvalidPerUnitStorageThroughput"
 10328  }
 10329  
 10330  // Message returns the exception's message.
 10331  func (s *InvalidPerUnitStorageThroughput) Message() string {
 10332  	if s.Message_ != nil {
 10333  		return *s.Message_
 10334  	}
 10335  	return ""
 10336  }
 10337  
 10338  // OrigErr always returns nil, satisfies awserr.Error interface.
 10339  func (s *InvalidPerUnitStorageThroughput) OrigErr() error {
 10340  	return nil
 10341  }
 10342  
 10343  func (s *InvalidPerUnitStorageThroughput) Error() string {
 10344  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10345  }
 10346  
 10347  // Status code returns the HTTP status code for the request's response error.
 10348  func (s *InvalidPerUnitStorageThroughput) StatusCode() int {
 10349  	return s.RespMetadata.StatusCode
 10350  }
 10351  
 10352  // RequestID returns the service's response RequestID for request.
 10353  func (s *InvalidPerUnitStorageThroughput) RequestID() string {
 10354  	return s.RespMetadata.RequestID
 10355  }
 10356  
 10357  // The Region provided for Source Region is invalid or is in a different Amazon
 10358  // Web Services partition.
 10359  type InvalidRegion struct {
 10360  	_            struct{}                  `type:"structure"`
 10361  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10362  
 10363  	// A detailed error message.
 10364  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 10365  }
 10366  
 10367  // String returns the string representation.
 10368  //
 10369  // API parameter values that are decorated as "sensitive" in the API will not
 10370  // be included in the string output. The member name will be present, but the
 10371  // value will be replaced with "sensitive".
 10372  func (s InvalidRegion) String() string {
 10373  	return awsutil.Prettify(s)
 10374  }
 10375  
 10376  // GoString returns the string representation.
 10377  //
 10378  // API parameter values that are decorated as "sensitive" in the API will not
 10379  // be included in the string output. The member name will be present, but the
 10380  // value will be replaced with "sensitive".
 10381  func (s InvalidRegion) GoString() string {
 10382  	return s.String()
 10383  }
 10384  
 10385  func newErrorInvalidRegion(v protocol.ResponseMetadata) error {
 10386  	return &InvalidRegion{
 10387  		RespMetadata: v,
 10388  	}
 10389  }
 10390  
 10391  // Code returns the exception type name.
 10392  func (s *InvalidRegion) Code() string {
 10393  	return "InvalidRegion"
 10394  }
 10395  
 10396  // Message returns the exception's message.
 10397  func (s *InvalidRegion) Message() string {
 10398  	if s.Message_ != nil {
 10399  		return *s.Message_
 10400  	}
 10401  	return ""
 10402  }
 10403  
 10404  // OrigErr always returns nil, satisfies awserr.Error interface.
 10405  func (s *InvalidRegion) OrigErr() error {
 10406  	return nil
 10407  }
 10408  
 10409  func (s *InvalidRegion) Error() string {
 10410  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10411  }
 10412  
 10413  // Status code returns the HTTP status code for the request's response error.
 10414  func (s *InvalidRegion) StatusCode() int {
 10415  	return s.RespMetadata.StatusCode
 10416  }
 10417  
 10418  // RequestID returns the service's response RequestID for request.
 10419  func (s *InvalidRegion) RequestID() string {
 10420  	return s.RespMetadata.RequestID
 10421  }
 10422  
 10423  // The Key Management Service (KMS) key of the source backup is invalid.
 10424  type InvalidSourceKmsKey struct {
 10425  	_            struct{}                  `type:"structure"`
 10426  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10427  
 10428  	// A detailed error message.
 10429  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 10430  }
 10431  
 10432  // String returns the string representation.
 10433  //
 10434  // API parameter values that are decorated as "sensitive" in the API will not
 10435  // be included in the string output. The member name will be present, but the
 10436  // value will be replaced with "sensitive".
 10437  func (s InvalidSourceKmsKey) String() string {
 10438  	return awsutil.Prettify(s)
 10439  }
 10440  
 10441  // GoString returns the string representation.
 10442  //
 10443  // API parameter values that are decorated as "sensitive" in the API will not
 10444  // be included in the string output. The member name will be present, but the
 10445  // value will be replaced with "sensitive".
 10446  func (s InvalidSourceKmsKey) GoString() string {
 10447  	return s.String()
 10448  }
 10449  
 10450  func newErrorInvalidSourceKmsKey(v protocol.ResponseMetadata) error {
 10451  	return &InvalidSourceKmsKey{
 10452  		RespMetadata: v,
 10453  	}
 10454  }
 10455  
 10456  // Code returns the exception type name.
 10457  func (s *InvalidSourceKmsKey) Code() string {
 10458  	return "InvalidSourceKmsKey"
 10459  }
 10460  
 10461  // Message returns the exception's message.
 10462  func (s *InvalidSourceKmsKey) Message() string {
 10463  	if s.Message_ != nil {
 10464  		return *s.Message_
 10465  	}
 10466  	return ""
 10467  }
 10468  
 10469  // OrigErr always returns nil, satisfies awserr.Error interface.
 10470  func (s *InvalidSourceKmsKey) OrigErr() error {
 10471  	return nil
 10472  }
 10473  
 10474  func (s *InvalidSourceKmsKey) Error() string {
 10475  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10476  }
 10477  
 10478  // Status code returns the HTTP status code for the request's response error.
 10479  func (s *InvalidSourceKmsKey) StatusCode() int {
 10480  	return s.RespMetadata.StatusCode
 10481  }
 10482  
 10483  // RequestID returns the service's response RequestID for request.
 10484  func (s *InvalidSourceKmsKey) RequestID() string {
 10485  	return s.RespMetadata.RequestID
 10486  }
 10487  
 10488  // Describes why a resource lifecycle state changed.
 10489  type LifecycleTransitionReason struct {
 10490  	_ struct{} `type:"structure"`
 10491  
 10492  	// A detailed error message.
 10493  	Message *string `min:"1" type:"string"`
 10494  }
 10495  
 10496  // String returns the string representation.
 10497  //
 10498  // API parameter values that are decorated as "sensitive" in the API will not
 10499  // be included in the string output. The member name will be present, but the
 10500  // value will be replaced with "sensitive".
 10501  func (s LifecycleTransitionReason) String() string {
 10502  	return awsutil.Prettify(s)
 10503  }
 10504  
 10505  // GoString returns the string representation.
 10506  //
 10507  // API parameter values that are decorated as "sensitive" in the API will not
 10508  // be included in the string output. The member name will be present, but the
 10509  // value will be replaced with "sensitive".
 10510  func (s LifecycleTransitionReason) GoString() string {
 10511  	return s.String()
 10512  }
 10513  
 10514  // SetMessage sets the Message field's value.
 10515  func (s *LifecycleTransitionReason) SetMessage(v string) *LifecycleTransitionReason {
 10516  	s.Message = &v
 10517  	return s
 10518  }
 10519  
 10520  // The request object for ListTagsForResource operation.
 10521  type ListTagsForResourceInput struct {
 10522  	_ struct{} `type:"structure"`
 10523  
 10524  	// Maximum number of tags to return in the response (integer). This parameter
 10525  	// value must be greater than 0. The number of items that Amazon FSx returns
 10526  	// is the minimum of the MaxResults parameter specified in the request and the
 10527  	// service's internal maximum number of items per page.
 10528  	MaxResults *int64 `min:"1" type:"integer"`
 10529  
 10530  	// Opaque pagination token returned from a previous ListTagsForResource operation
 10531  	// (String). If a token present, the action continues the list from where the
 10532  	// returning call left off.
 10533  	NextToken *string `min:"1" type:"string"`
 10534  
 10535  	// The ARN of the Amazon FSx resource that will have its tags listed.
 10536  	//
 10537  	// ResourceARN is a required field
 10538  	ResourceARN *string `min:"8" type:"string" required:"true"`
 10539  }
 10540  
 10541  // String returns the string representation.
 10542  //
 10543  // API parameter values that are decorated as "sensitive" in the API will not
 10544  // be included in the string output. The member name will be present, but the
 10545  // value will be replaced with "sensitive".
 10546  func (s ListTagsForResourceInput) String() string {
 10547  	return awsutil.Prettify(s)
 10548  }
 10549  
 10550  // GoString returns the string representation.
 10551  //
 10552  // API parameter values that are decorated as "sensitive" in the API will not
 10553  // be included in the string output. The member name will be present, but the
 10554  // value will be replaced with "sensitive".
 10555  func (s ListTagsForResourceInput) GoString() string {
 10556  	return s.String()
 10557  }
 10558  
 10559  // Validate inspects the fields of the type to determine if they are valid.
 10560  func (s *ListTagsForResourceInput) Validate() error {
 10561  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 10562  	if s.MaxResults != nil && *s.MaxResults < 1 {
 10563  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 10564  	}
 10565  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 10566  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 10567  	}
 10568  	if s.ResourceARN == nil {
 10569  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
 10570  	}
 10571  	if s.ResourceARN != nil && len(*s.ResourceARN) < 8 {
 10572  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 8))
 10573  	}
 10574  
 10575  	if invalidParams.Len() > 0 {
 10576  		return invalidParams
 10577  	}
 10578  	return nil
 10579  }
 10580  
 10581  // SetMaxResults sets the MaxResults field's value.
 10582  func (s *ListTagsForResourceInput) SetMaxResults(v int64) *ListTagsForResourceInput {
 10583  	s.MaxResults = &v
 10584  	return s
 10585  }
 10586  
 10587  // SetNextToken sets the NextToken field's value.
 10588  func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
 10589  	s.NextToken = &v
 10590  	return s
 10591  }
 10592  
 10593  // SetResourceARN sets the ResourceARN field's value.
 10594  func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
 10595  	s.ResourceARN = &v
 10596  	return s
 10597  }
 10598  
 10599  // The response object for ListTagsForResource operation.
 10600  type ListTagsForResourceOutput struct {
 10601  	_ struct{} `type:"structure"`
 10602  
 10603  	// This is present if there are more tags than returned in the response (String).
 10604  	// You can use the NextToken value in the later request to fetch the tags.
 10605  	NextToken *string `min:"1" type:"string"`
 10606  
 10607  	// A list of tags on the resource.
 10608  	Tags []*Tag `min:"1" type:"list"`
 10609  }
 10610  
 10611  // String returns the string representation.
 10612  //
 10613  // API parameter values that are decorated as "sensitive" in the API will not
 10614  // be included in the string output. The member name will be present, but the
 10615  // value will be replaced with "sensitive".
 10616  func (s ListTagsForResourceOutput) String() string {
 10617  	return awsutil.Prettify(s)
 10618  }
 10619  
 10620  // GoString returns the string representation.
 10621  //
 10622  // API parameter values that are decorated as "sensitive" in the API will not
 10623  // be included in the string output. The member name will be present, but the
 10624  // value will be replaced with "sensitive".
 10625  func (s ListTagsForResourceOutput) GoString() string {
 10626  	return s.String()
 10627  }
 10628  
 10629  // SetNextToken sets the NextToken field's value.
 10630  func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
 10631  	s.NextToken = &v
 10632  	return s
 10633  }
 10634  
 10635  // SetTags sets the Tags field's value.
 10636  func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
 10637  	s.Tags = v
 10638  	return s
 10639  }
 10640  
 10641  // The configuration for the Amazon FSx for Lustre file system.
 10642  type LustreFileSystemConfiguration struct {
 10643  	_ struct{} `type:"structure"`
 10644  
 10645  	// The number of days to retain automatic backups. Setting this to 0 disables
 10646  	// automatic backups. You can retain automatic backups for a maximum of 90 days.
 10647  	// The default is 0.
 10648  	AutomaticBackupRetentionDays *int64 `type:"integer"`
 10649  
 10650  	// A boolean flag indicating whether tags on the file system should be copied
 10651  	// to backups. If it's set to true, all tags on the file system are copied to
 10652  	// all automatic backups and any user-initiated backups where the user doesn't
 10653  	// specify any tags. If this value is true, and you specify one or more tags,
 10654  	// only the specified tags are copied to backups. If you specify one or more
 10655  	// tags when creating a user-initiated backup, no tags are copied from the file
 10656  	// system, regardless of this value. (Default = false)
 10657  	CopyTagsToBackups *bool `type:"boolean"`
 10658  
 10659  	// A recurring daily time, in the format HH:MM. HH is the zero-padded hour of
 10660  	// the day (0-23), and MM is the zero-padded minute of the hour. For example,
 10661  	// 05:00 specifies 5 AM daily.
 10662  	DailyAutomaticBackupStartTime *string `min:"5" type:"string"`
 10663  
 10664  	// The data compression configuration for the file system. DataCompressionType
 10665  	// can have the following values:
 10666  	//
 10667  	//    * NONE - Data compression is turned off for the file system.
 10668  	//
 10669  	//    * LZ4 - Data compression is turned on with the LZ4 algorithm.
 10670  	//
 10671  	// For more information, see Lustre data compression (https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-compression.html).
 10672  	DataCompressionType *string `type:"string" enum:"DataCompressionType"`
 10673  
 10674  	// The data repository configuration object for Lustre file systems returned
 10675  	// in the response of the CreateFileSystem operation.
 10676  	DataRepositoryConfiguration *DataRepositoryConfiguration `type:"structure"`
 10677  
 10678  	// The deployment type of the FSX for Lustre file system. Scratch deployment
 10679  	// type is designed for temporary storage and shorter-term processing of data.
 10680  	//
 10681  	// SCRATCH_1 and SCRATCH_2 deployment types are best suited for when you need
 10682  	// temporary storage and shorter-term processing of data. The SCRATCH_2 deployment
 10683  	// type provides in-transit encryption of data and higher burst throughput capacity
 10684  	// than SCRATCH_1.
 10685  	//
 10686  	// The PERSISTENT_1 deployment type is used for longer-term storage and workloads
 10687  	// and encryption of data in transit. To learn more about deployment types,
 10688  	// see FSx for Lustre Deployment Options (https://docs.aws.amazon.com/fsx/latest/LustreGuide/lustre-deployment-types.html).
 10689  	// (Default = SCRATCH_1)
 10690  	DeploymentType *string `type:"string" enum:"LustreDeploymentType"`
 10691  
 10692  	// The type of drive cache used by PERSISTENT_1 file systems that are provisioned
 10693  	// with HDD storage devices. This parameter is required when storage type is
 10694  	// HDD. Set to READ, improve the performance for frequently accessed files and
 10695  	// allows 20% of the total storage capacity of the file system to be cached.
 10696  	//
 10697  	// This parameter is required when StorageType is set to HDD.
 10698  	DriveCacheType *string `type:"string" enum:"DriveCacheType"`
 10699  
 10700  	// You use the MountName value when mounting the file system.
 10701  	//
 10702  	// For the SCRATCH_1 deployment type, this value is always "fsx". For SCRATCH_2
 10703  	// and PERSISTENT_1 deployment types, this value is a string that is unique
 10704  	// within an Amazon Web Services Region.
 10705  	MountName *string `min:"1" type:"string"`
 10706  
 10707  	// Per unit storage throughput represents the megabytes per second of read or
 10708  	// write throughput per 1 tebibyte of storage provisioned. File system throughput
 10709  	// capacity is equal to Storage capacity (TiB) * PerUnitStorageThroughput (MB/s/TiB).
 10710  	// This option is only valid for PERSISTENT_1 deployment types.
 10711  	//
 10712  	// Valid values for SSD storage: 50, 100, 200. Valid values for HDD storage:
 10713  	// 12, 40.
 10714  	PerUnitStorageThroughput *int64 `min:"12" type:"integer"`
 10715  
 10716  	// The preferred start time to perform weekly maintenance, formatted d:HH:MM
 10717  	// in the UTC time zone. d is the weekday number, from 1 through 7, beginning
 10718  	// with Monday and ending with Sunday.
 10719  	WeeklyMaintenanceStartTime *string `min:"7" type:"string"`
 10720  }
 10721  
 10722  // String returns the string representation.
 10723  //
 10724  // API parameter values that are decorated as "sensitive" in the API will not
 10725  // be included in the string output. The member name will be present, but the
 10726  // value will be replaced with "sensitive".
 10727  func (s LustreFileSystemConfiguration) String() string {
 10728  	return awsutil.Prettify(s)
 10729  }
 10730  
 10731  // GoString returns the string representation.
 10732  //
 10733  // API parameter values that are decorated as "sensitive" in the API will not
 10734  // be included in the string output. The member name will be present, but the
 10735  // value will be replaced with "sensitive".
 10736  func (s LustreFileSystemConfiguration) GoString() string {
 10737  	return s.String()
 10738  }
 10739  
 10740  // SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value.
 10741  func (s *LustreFileSystemConfiguration) SetAutomaticBackupRetentionDays(v int64) *LustreFileSystemConfiguration {
 10742  	s.AutomaticBackupRetentionDays = &v
 10743  	return s
 10744  }
 10745  
 10746  // SetCopyTagsToBackups sets the CopyTagsToBackups field's value.
 10747  func (s *LustreFileSystemConfiguration) SetCopyTagsToBackups(v bool) *LustreFileSystemConfiguration {
 10748  	s.CopyTagsToBackups = &v
 10749  	return s
 10750  }
 10751  
 10752  // SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value.
 10753  func (s *LustreFileSystemConfiguration) SetDailyAutomaticBackupStartTime(v string) *LustreFileSystemConfiguration {
 10754  	s.DailyAutomaticBackupStartTime = &v
 10755  	return s
 10756  }
 10757  
 10758  // SetDataCompressionType sets the DataCompressionType field's value.
 10759  func (s *LustreFileSystemConfiguration) SetDataCompressionType(v string) *LustreFileSystemConfiguration {
 10760  	s.DataCompressionType = &v
 10761  	return s
 10762  }
 10763  
 10764  // SetDataRepositoryConfiguration sets the DataRepositoryConfiguration field's value.
 10765  func (s *LustreFileSystemConfiguration) SetDataRepositoryConfiguration(v *DataRepositoryConfiguration) *LustreFileSystemConfiguration {
 10766  	s.DataRepositoryConfiguration = v
 10767  	return s
 10768  }
 10769  
 10770  // SetDeploymentType sets the DeploymentType field's value.
 10771  func (s *LustreFileSystemConfiguration) SetDeploymentType(v string) *LustreFileSystemConfiguration {
 10772  	s.DeploymentType = &v
 10773  	return s
 10774  }
 10775  
 10776  // SetDriveCacheType sets the DriveCacheType field's value.
 10777  func (s *LustreFileSystemConfiguration) SetDriveCacheType(v string) *LustreFileSystemConfiguration {
 10778  	s.DriveCacheType = &v
 10779  	return s
 10780  }
 10781  
 10782  // SetMountName sets the MountName field's value.
 10783  func (s *LustreFileSystemConfiguration) SetMountName(v string) *LustreFileSystemConfiguration {
 10784  	s.MountName = &v
 10785  	return s
 10786  }
 10787  
 10788  // SetPerUnitStorageThroughput sets the PerUnitStorageThroughput field's value.
 10789  func (s *LustreFileSystemConfiguration) SetPerUnitStorageThroughput(v int64) *LustreFileSystemConfiguration {
 10790  	s.PerUnitStorageThroughput = &v
 10791  	return s
 10792  }
 10793  
 10794  // SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value.
 10795  func (s *LustreFileSystemConfiguration) SetWeeklyMaintenanceStartTime(v string) *LustreFileSystemConfiguration {
 10796  	s.WeeklyMaintenanceStartTime = &v
 10797  	return s
 10798  }
 10799  
 10800  // A file system configuration is required for this operation.
 10801  type MissingFileSystemConfiguration struct {
 10802  	_            struct{}                  `type:"structure"`
 10803  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10804  
 10805  	// A detailed error message.
 10806  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 10807  }
 10808  
 10809  // String returns the string representation.
 10810  //
 10811  // API parameter values that are decorated as "sensitive" in the API will not
 10812  // be included in the string output. The member name will be present, but the
 10813  // value will be replaced with "sensitive".
 10814  func (s MissingFileSystemConfiguration) String() string {
 10815  	return awsutil.Prettify(s)
 10816  }
 10817  
 10818  // GoString returns the string representation.
 10819  //
 10820  // API parameter values that are decorated as "sensitive" in the API will not
 10821  // be included in the string output. The member name will be present, but the
 10822  // value will be replaced with "sensitive".
 10823  func (s MissingFileSystemConfiguration) GoString() string {
 10824  	return s.String()
 10825  }
 10826  
 10827  func newErrorMissingFileSystemConfiguration(v protocol.ResponseMetadata) error {
 10828  	return &MissingFileSystemConfiguration{
 10829  		RespMetadata: v,
 10830  	}
 10831  }
 10832  
 10833  // Code returns the exception type name.
 10834  func (s *MissingFileSystemConfiguration) Code() string {
 10835  	return "MissingFileSystemConfiguration"
 10836  }
 10837  
 10838  // Message returns the exception's message.
 10839  func (s *MissingFileSystemConfiguration) Message() string {
 10840  	if s.Message_ != nil {
 10841  		return *s.Message_
 10842  	}
 10843  	return ""
 10844  }
 10845  
 10846  // OrigErr always returns nil, satisfies awserr.Error interface.
 10847  func (s *MissingFileSystemConfiguration) OrigErr() error {
 10848  	return nil
 10849  }
 10850  
 10851  func (s *MissingFileSystemConfiguration) Error() string {
 10852  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10853  }
 10854  
 10855  // Status code returns the HTTP status code for the request's response error.
 10856  func (s *MissingFileSystemConfiguration) StatusCode() int {
 10857  	return s.RespMetadata.StatusCode
 10858  }
 10859  
 10860  // RequestID returns the service's response RequestID for request.
 10861  func (s *MissingFileSystemConfiguration) RequestID() string {
 10862  	return s.RespMetadata.RequestID
 10863  }
 10864  
 10865  // A volume configuration is required for this operation.
 10866  type MissingVolumeConfiguration struct {
 10867  	_            struct{}                  `type:"structure"`
 10868  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10869  
 10870  	// A detailed error message.
 10871  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 10872  }
 10873  
 10874  // String returns the string representation.
 10875  //
 10876  // API parameter values that are decorated as "sensitive" in the API will not
 10877  // be included in the string output. The member name will be present, but the
 10878  // value will be replaced with "sensitive".
 10879  func (s MissingVolumeConfiguration) String() string {
 10880  	return awsutil.Prettify(s)
 10881  }
 10882  
 10883  // GoString returns the string representation.
 10884  //
 10885  // API parameter values that are decorated as "sensitive" in the API will not
 10886  // be included in the string output. The member name will be present, but the
 10887  // value will be replaced with "sensitive".
 10888  func (s MissingVolumeConfiguration) GoString() string {
 10889  	return s.String()
 10890  }
 10891  
 10892  func newErrorMissingVolumeConfiguration(v protocol.ResponseMetadata) error {
 10893  	return &MissingVolumeConfiguration{
 10894  		RespMetadata: v,
 10895  	}
 10896  }
 10897  
 10898  // Code returns the exception type name.
 10899  func (s *MissingVolumeConfiguration) Code() string {
 10900  	return "MissingVolumeConfiguration"
 10901  }
 10902  
 10903  // Message returns the exception's message.
 10904  func (s *MissingVolumeConfiguration) Message() string {
 10905  	if s.Message_ != nil {
 10906  		return *s.Message_
 10907  	}
 10908  	return ""
 10909  }
 10910  
 10911  // OrigErr always returns nil, satisfies awserr.Error interface.
 10912  func (s *MissingVolumeConfiguration) OrigErr() error {
 10913  	return nil
 10914  }
 10915  
 10916  func (s *MissingVolumeConfiguration) Error() string {
 10917  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10918  }
 10919  
 10920  // Status code returns the HTTP status code for the request's response error.
 10921  func (s *MissingVolumeConfiguration) StatusCode() int {
 10922  	return s.RespMetadata.StatusCode
 10923  }
 10924  
 10925  // RequestID returns the service's response RequestID for request.
 10926  func (s *MissingVolumeConfiguration) RequestID() string {
 10927  	return s.RespMetadata.RequestID
 10928  }
 10929  
 10930  // The resource specified for the tagging operation is not a resource type owned
 10931  // by Amazon FSx. Use the API of the relevant service to perform the operation.
 10932  type NotServiceResourceError struct {
 10933  	_            struct{}                  `type:"structure"`
 10934  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10935  
 10936  	// A detailed error message.
 10937  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 10938  
 10939  	// The Amazon Resource Name (ARN) of the non-Amazon FSx resource.
 10940  	//
 10941  	// ResourceARN is a required field
 10942  	ResourceARN *string `min:"8" type:"string" required:"true"`
 10943  }
 10944  
 10945  // String returns the string representation.
 10946  //
 10947  // API parameter values that are decorated as "sensitive" in the API will not
 10948  // be included in the string output. The member name will be present, but the
 10949  // value will be replaced with "sensitive".
 10950  func (s NotServiceResourceError) String() string {
 10951  	return awsutil.Prettify(s)
 10952  }
 10953  
 10954  // GoString returns the string representation.
 10955  //
 10956  // API parameter values that are decorated as "sensitive" in the API will not
 10957  // be included in the string output. The member name will be present, but the
 10958  // value will be replaced with "sensitive".
 10959  func (s NotServiceResourceError) GoString() string {
 10960  	return s.String()
 10961  }
 10962  
 10963  func newErrorNotServiceResourceError(v protocol.ResponseMetadata) error {
 10964  	return &NotServiceResourceError{
 10965  		RespMetadata: v,
 10966  	}
 10967  }
 10968  
 10969  // Code returns the exception type name.
 10970  func (s *NotServiceResourceError) Code() string {
 10971  	return "NotServiceResourceError"
 10972  }
 10973  
 10974  // Message returns the exception's message.
 10975  func (s *NotServiceResourceError) Message() string {
 10976  	if s.Message_ != nil {
 10977  		return *s.Message_
 10978  	}
 10979  	return ""
 10980  }
 10981  
 10982  // OrigErr always returns nil, satisfies awserr.Error interface.
 10983  func (s *NotServiceResourceError) OrigErr() error {
 10984  	return nil
 10985  }
 10986  
 10987  func (s *NotServiceResourceError) Error() string {
 10988  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 10989  }
 10990  
 10991  // Status code returns the HTTP status code for the request's response error.
 10992  func (s *NotServiceResourceError) StatusCode() int {
 10993  	return s.RespMetadata.StatusCode
 10994  }
 10995  
 10996  // RequestID returns the service's response RequestID for request.
 10997  func (s *NotServiceResourceError) RequestID() string {
 10998  	return s.RespMetadata.RequestID
 10999  }
 11000  
 11001  // Configuration for the FSx for NetApp ONTAP file system.
 11002  type OntapFileSystemConfiguration struct {
 11003  	_ struct{} `type:"structure"`
 11004  
 11005  	// The number of days to retain automatic backups. Setting this to 0 disables
 11006  	// automatic backups. You can retain automatic backups for a maximum of 90 days.
 11007  	// The default is 0.
 11008  	AutomaticBackupRetentionDays *int64 `type:"integer"`
 11009  
 11010  	// A recurring daily time, in the format HH:MM. HH is the zero-padded hour of
 11011  	// the day (0-23), and MM is the zero-padded minute of the hour. For example,
 11012  	// 05:00 specifies 5 AM daily.
 11013  	DailyAutomaticBackupStartTime *string `min:"5" type:"string"`
 11014  
 11015  	// The ONTAP file system deployment type.
 11016  	DeploymentType *string `type:"string" enum:"OntapDeploymentType"`
 11017  
 11018  	// The SSD IOPS configuration for the ONTAP file system, specifying the number
 11019  	// of provisioned IOPS and the provision mode.
 11020  	DiskIopsConfiguration *DiskIopsConfiguration `type:"structure"`
 11021  
 11022  	// The IP address range in which the endpoints to access your file system are
 11023  	// created.
 11024  	EndpointIpAddressRange *string `min:"9" type:"string"`
 11025  
 11026  	// The Management and Intercluster endpoints that are used to access data or
 11027  	// to manage the file system using the NetApp ONTAP CLI, REST API, or NetApp
 11028  	// SnapMirror.
 11029  	Endpoints *FileSystemEndpoints `type:"structure"`
 11030  
 11031  	// The ID for a subnet. A subnet is a range of IP addresses in your virtual
 11032  	// private cloud (VPC). For more information, see VPC and Subnets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
 11033  	// in the Amazon VPC User Guide.
 11034  	PreferredSubnetId *string `min:"15" type:"string"`
 11035  
 11036  	// The VPC route tables in which your file system's endpoints are created.
 11037  	RouteTableIds []*string `type:"list"`
 11038  
 11039  	// Sustained throughput of an Amazon FSx file system in MBps.
 11040  	ThroughputCapacity *int64 `min:"8" type:"integer"`
 11041  
 11042  	// A recurring weekly time, in the format D:HH:MM.
 11043  	//
 11044  	// D is the day of the week, for which 1 represents Monday and 7 represents
 11045  	// Sunday. For further details, see the ISO-8601 spec as described on Wikipedia
 11046  	// (https://en.wikipedia.org/wiki/ISO_week_date).
 11047  	//
 11048  	// HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute
 11049  	// of the hour.
 11050  	//
 11051  	// For example, 1:05:00 specifies maintenance at 5 AM Monday.
 11052  	WeeklyMaintenanceStartTime *string `min:"7" type:"string"`
 11053  }
 11054  
 11055  // String returns the string representation.
 11056  //
 11057  // API parameter values that are decorated as "sensitive" in the API will not
 11058  // be included in the string output. The member name will be present, but the
 11059  // value will be replaced with "sensitive".
 11060  func (s OntapFileSystemConfiguration) String() string {
 11061  	return awsutil.Prettify(s)
 11062  }
 11063  
 11064  // GoString returns the string representation.
 11065  //
 11066  // API parameter values that are decorated as "sensitive" in the API will not
 11067  // be included in the string output. The member name will be present, but the
 11068  // value will be replaced with "sensitive".
 11069  func (s OntapFileSystemConfiguration) GoString() string {
 11070  	return s.String()
 11071  }
 11072  
 11073  // SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value.
 11074  func (s *OntapFileSystemConfiguration) SetAutomaticBackupRetentionDays(v int64) *OntapFileSystemConfiguration {
 11075  	s.AutomaticBackupRetentionDays = &v
 11076  	return s
 11077  }
 11078  
 11079  // SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value.
 11080  func (s *OntapFileSystemConfiguration) SetDailyAutomaticBackupStartTime(v string) *OntapFileSystemConfiguration {
 11081  	s.DailyAutomaticBackupStartTime = &v
 11082  	return s
 11083  }
 11084  
 11085  // SetDeploymentType sets the DeploymentType field's value.
 11086  func (s *OntapFileSystemConfiguration) SetDeploymentType(v string) *OntapFileSystemConfiguration {
 11087  	s.DeploymentType = &v
 11088  	return s
 11089  }
 11090  
 11091  // SetDiskIopsConfiguration sets the DiskIopsConfiguration field's value.
 11092  func (s *OntapFileSystemConfiguration) SetDiskIopsConfiguration(v *DiskIopsConfiguration) *OntapFileSystemConfiguration {
 11093  	s.DiskIopsConfiguration = v
 11094  	return s
 11095  }
 11096  
 11097  // SetEndpointIpAddressRange sets the EndpointIpAddressRange field's value.
 11098  func (s *OntapFileSystemConfiguration) SetEndpointIpAddressRange(v string) *OntapFileSystemConfiguration {
 11099  	s.EndpointIpAddressRange = &v
 11100  	return s
 11101  }
 11102  
 11103  // SetEndpoints sets the Endpoints field's value.
 11104  func (s *OntapFileSystemConfiguration) SetEndpoints(v *FileSystemEndpoints) *OntapFileSystemConfiguration {
 11105  	s.Endpoints = v
 11106  	return s
 11107  }
 11108  
 11109  // SetPreferredSubnetId sets the PreferredSubnetId field's value.
 11110  func (s *OntapFileSystemConfiguration) SetPreferredSubnetId(v string) *OntapFileSystemConfiguration {
 11111  	s.PreferredSubnetId = &v
 11112  	return s
 11113  }
 11114  
 11115  // SetRouteTableIds sets the RouteTableIds field's value.
 11116  func (s *OntapFileSystemConfiguration) SetRouteTableIds(v []*string) *OntapFileSystemConfiguration {
 11117  	s.RouteTableIds = v
 11118  	return s
 11119  }
 11120  
 11121  // SetThroughputCapacity sets the ThroughputCapacity field's value.
 11122  func (s *OntapFileSystemConfiguration) SetThroughputCapacity(v int64) *OntapFileSystemConfiguration {
 11123  	s.ThroughputCapacity = &v
 11124  	return s
 11125  }
 11126  
 11127  // SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value.
 11128  func (s *OntapFileSystemConfiguration) SetWeeklyMaintenanceStartTime(v string) *OntapFileSystemConfiguration {
 11129  	s.WeeklyMaintenanceStartTime = &v
 11130  	return s
 11131  }
 11132  
 11133  // The configuration of an Amazon FSx for NetApp ONTAP volume
 11134  type OntapVolumeConfiguration struct {
 11135  	_ struct{} `type:"structure"`
 11136  
 11137  	// Specifies the FlexCache endpoint type of the volume. Valid values are the
 11138  	// following:
 11139  	//
 11140  	//    * NONE specifies that the volume doesn't have a FlexCache configuration.
 11141  	//    NONE is the default.
 11142  	//
 11143  	//    * ORIGIN specifies that the volume is the origin volume for a FlexCache
 11144  	//    volume.
 11145  	//
 11146  	//    * CACHE specifies that the volume is a FlexCache volume.
 11147  	FlexCacheEndpointType *string `type:"string" enum:"FlexCacheEndpointType"`
 11148  
 11149  	// Specifies the directory that NAS clients use to mount the volume, along with
 11150  	// the SVM DNS name or IP address. You can create a JunctionPath directly below
 11151  	// a parent volume junction or on a directory within a volume. A JunctionPath
 11152  	// for a volume named vol3 might be /vol1/vol2/vol3, or /vol1/dir2/vol3, or
 11153  	// even /dir1/dir2/vol3..
 11154  	JunctionPath *string `min:"1" type:"string"`
 11155  
 11156  	// Specifies the type of volume. Valid values are the following:
 11157  	//
 11158  	//    * RW specifies a read-write volume. RW is the default.
 11159  	//
 11160  	//    * DP specifies a data protection volume. You can protect data by replicating
 11161  	//    it to data protection mirror copies and use data protection mirror copies
 11162  	//    to recover data when a disaster occurs.
 11163  	//
 11164  	//    * LS specifies a load-sharing mirror volume. A load-sharing mirror reduces
 11165  	//    the network traffic to a FlexVol volume by providing additional read-only
 11166  	//    access to clients.
 11167  	OntapVolumeType *string `type:"string" enum:"OntapVolumeType"`
 11168  
 11169  	// The security style for the volume, which can be UNIX, NTFS, or MIXED.
 11170  	SecurityStyle *string `type:"string" enum:"SecurityStyle"`
 11171  
 11172  	// The configured size of the volume, in megabytes (MBs).
 11173  	SizeInMegabytes *int64 `type:"integer"`
 11174  
 11175  	// The volume's storage efficiency setting.
 11176  	StorageEfficiencyEnabled *bool `type:"boolean"`
 11177  
 11178  	// The ID of the volume's storage virtual machine.
 11179  	StorageVirtualMachineId *string `min:"21" type:"string"`
 11180  
 11181  	// A boolean flag indicating whether this volume is the root volume for its
 11182  	// storage virtual machine (SVM). Only one volume on an SVM can be the root
 11183  	// volume. This value defaults to false. If this value is true, then this is
 11184  	// the SVM root volume.
 11185  	//
 11186  	// This flag is useful when you're deleting an SVM, because you must first delete
 11187  	// all non-root volumes. This flag, when set to false, helps you identify which
 11188  	// volumes to delete before you can delete the SVM.
 11189  	StorageVirtualMachineRoot *bool `type:"boolean"`
 11190  
 11191  	// The volume's TieringPolicy setting.
 11192  	TieringPolicy *TieringPolicy `type:"structure"`
 11193  
 11194  	// The volume's UUID (universally unique identifier).
 11195  	UUID *string `type:"string"`
 11196  }
 11197  
 11198  // String returns the string representation.
 11199  //
 11200  // API parameter values that are decorated as "sensitive" in the API will not
 11201  // be included in the string output. The member name will be present, but the
 11202  // value will be replaced with "sensitive".
 11203  func (s OntapVolumeConfiguration) String() string {
 11204  	return awsutil.Prettify(s)
 11205  }
 11206  
 11207  // GoString returns the string representation.
 11208  //
 11209  // API parameter values that are decorated as "sensitive" in the API will not
 11210  // be included in the string output. The member name will be present, but the
 11211  // value will be replaced with "sensitive".
 11212  func (s OntapVolumeConfiguration) GoString() string {
 11213  	return s.String()
 11214  }
 11215  
 11216  // SetFlexCacheEndpointType sets the FlexCacheEndpointType field's value.
 11217  func (s *OntapVolumeConfiguration) SetFlexCacheEndpointType(v string) *OntapVolumeConfiguration {
 11218  	s.FlexCacheEndpointType = &v
 11219  	return s
 11220  }
 11221  
 11222  // SetJunctionPath sets the JunctionPath field's value.
 11223  func (s *OntapVolumeConfiguration) SetJunctionPath(v string) *OntapVolumeConfiguration {
 11224  	s.JunctionPath = &v
 11225  	return s
 11226  }
 11227  
 11228  // SetOntapVolumeType sets the OntapVolumeType field's value.
 11229  func (s *OntapVolumeConfiguration) SetOntapVolumeType(v string) *OntapVolumeConfiguration {
 11230  	s.OntapVolumeType = &v
 11231  	return s
 11232  }
 11233  
 11234  // SetSecurityStyle sets the SecurityStyle field's value.
 11235  func (s *OntapVolumeConfiguration) SetSecurityStyle(v string) *OntapVolumeConfiguration {
 11236  	s.SecurityStyle = &v
 11237  	return s
 11238  }
 11239  
 11240  // SetSizeInMegabytes sets the SizeInMegabytes field's value.
 11241  func (s *OntapVolumeConfiguration) SetSizeInMegabytes(v int64) *OntapVolumeConfiguration {
 11242  	s.SizeInMegabytes = &v
 11243  	return s
 11244  }
 11245  
 11246  // SetStorageEfficiencyEnabled sets the StorageEfficiencyEnabled field's value.
 11247  func (s *OntapVolumeConfiguration) SetStorageEfficiencyEnabled(v bool) *OntapVolumeConfiguration {
 11248  	s.StorageEfficiencyEnabled = &v
 11249  	return s
 11250  }
 11251  
 11252  // SetStorageVirtualMachineId sets the StorageVirtualMachineId field's value.
 11253  func (s *OntapVolumeConfiguration) SetStorageVirtualMachineId(v string) *OntapVolumeConfiguration {
 11254  	s.StorageVirtualMachineId = &v
 11255  	return s
 11256  }
 11257  
 11258  // SetStorageVirtualMachineRoot sets the StorageVirtualMachineRoot field's value.
 11259  func (s *OntapVolumeConfiguration) SetStorageVirtualMachineRoot(v bool) *OntapVolumeConfiguration {
 11260  	s.StorageVirtualMachineRoot = &v
 11261  	return s
 11262  }
 11263  
 11264  // SetTieringPolicy sets the TieringPolicy field's value.
 11265  func (s *OntapVolumeConfiguration) SetTieringPolicy(v *TieringPolicy) *OntapVolumeConfiguration {
 11266  	s.TieringPolicy = v
 11267  	return s
 11268  }
 11269  
 11270  // SetUUID sets the UUID field's value.
 11271  func (s *OntapVolumeConfiguration) SetUUID(v string) *OntapVolumeConfiguration {
 11272  	s.UUID = &v
 11273  	return s
 11274  }
 11275  
 11276  // The resource specified does not support tagging.
 11277  type ResourceDoesNotSupportTagging struct {
 11278  	_            struct{}                  `type:"structure"`
 11279  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11280  
 11281  	// A detailed error message.
 11282  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 11283  
 11284  	// The Amazon Resource Name (ARN) of the resource that doesn't support tagging.
 11285  	//
 11286  	// ResourceARN is a required field
 11287  	ResourceARN *string `min:"8" type:"string" required:"true"`
 11288  }
 11289  
 11290  // String returns the string representation.
 11291  //
 11292  // API parameter values that are decorated as "sensitive" in the API will not
 11293  // be included in the string output. The member name will be present, but the
 11294  // value will be replaced with "sensitive".
 11295  func (s ResourceDoesNotSupportTagging) String() string {
 11296  	return awsutil.Prettify(s)
 11297  }
 11298  
 11299  // GoString returns the string representation.
 11300  //
 11301  // API parameter values that are decorated as "sensitive" in the API will not
 11302  // be included in the string output. The member name will be present, but the
 11303  // value will be replaced with "sensitive".
 11304  func (s ResourceDoesNotSupportTagging) GoString() string {
 11305  	return s.String()
 11306  }
 11307  
 11308  func newErrorResourceDoesNotSupportTagging(v protocol.ResponseMetadata) error {
 11309  	return &ResourceDoesNotSupportTagging{
 11310  		RespMetadata: v,
 11311  	}
 11312  }
 11313  
 11314  // Code returns the exception type name.
 11315  func (s *ResourceDoesNotSupportTagging) Code() string {
 11316  	return "ResourceDoesNotSupportTagging"
 11317  }
 11318  
 11319  // Message returns the exception's message.
 11320  func (s *ResourceDoesNotSupportTagging) Message() string {
 11321  	if s.Message_ != nil {
 11322  		return *s.Message_
 11323  	}
 11324  	return ""
 11325  }
 11326  
 11327  // OrigErr always returns nil, satisfies awserr.Error interface.
 11328  func (s *ResourceDoesNotSupportTagging) OrigErr() error {
 11329  	return nil
 11330  }
 11331  
 11332  func (s *ResourceDoesNotSupportTagging) Error() string {
 11333  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 11334  }
 11335  
 11336  // Status code returns the HTTP status code for the request's response error.
 11337  func (s *ResourceDoesNotSupportTagging) StatusCode() int {
 11338  	return s.RespMetadata.StatusCode
 11339  }
 11340  
 11341  // RequestID returns the service's response RequestID for request.
 11342  func (s *ResourceDoesNotSupportTagging) RequestID() string {
 11343  	return s.RespMetadata.RequestID
 11344  }
 11345  
 11346  // The resource specified by the Amazon Resource Name (ARN) can't be found.
 11347  type ResourceNotFound struct {
 11348  	_            struct{}                  `type:"structure"`
 11349  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11350  
 11351  	// A detailed error message.
 11352  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 11353  
 11354  	// The resource ARN of the resource that can't be found.
 11355  	//
 11356  	// ResourceARN is a required field
 11357  	ResourceARN *string `min:"8" type:"string" required:"true"`
 11358  }
 11359  
 11360  // String returns the string representation.
 11361  //
 11362  // API parameter values that are decorated as "sensitive" in the API will not
 11363  // be included in the string output. The member name will be present, but the
 11364  // value will be replaced with "sensitive".
 11365  func (s ResourceNotFound) String() string {
 11366  	return awsutil.Prettify(s)
 11367  }
 11368  
 11369  // GoString returns the string representation.
 11370  //
 11371  // API parameter values that are decorated as "sensitive" in the API will not
 11372  // be included in the string output. The member name will be present, but the
 11373  // value will be replaced with "sensitive".
 11374  func (s ResourceNotFound) GoString() string {
 11375  	return s.String()
 11376  }
 11377  
 11378  func newErrorResourceNotFound(v protocol.ResponseMetadata) error {
 11379  	return &ResourceNotFound{
 11380  		RespMetadata: v,
 11381  	}
 11382  }
 11383  
 11384  // Code returns the exception type name.
 11385  func (s *ResourceNotFound) Code() string {
 11386  	return "ResourceNotFound"
 11387  }
 11388  
 11389  // Message returns the exception's message.
 11390  func (s *ResourceNotFound) Message() string {
 11391  	if s.Message_ != nil {
 11392  		return *s.Message_
 11393  	}
 11394  	return ""
 11395  }
 11396  
 11397  // OrigErr always returns nil, satisfies awserr.Error interface.
 11398  func (s *ResourceNotFound) OrigErr() error {
 11399  	return nil
 11400  }
 11401  
 11402  func (s *ResourceNotFound) Error() string {
 11403  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 11404  }
 11405  
 11406  // Status code returns the HTTP status code for the request's response error.
 11407  func (s *ResourceNotFound) StatusCode() int {
 11408  	return s.RespMetadata.StatusCode
 11409  }
 11410  
 11411  // RequestID returns the service's response RequestID for request.
 11412  func (s *ResourceNotFound) RequestID() string {
 11413  	return s.RespMetadata.RequestID
 11414  }
 11415  
 11416  // The configuration of the self-managed Microsoft Active Directory (AD) directory
 11417  // to which the Windows File Server or ONTAP storage virtual machine (SVM) instance
 11418  // is joined.
 11419  type SelfManagedActiveDirectoryAttributes struct {
 11420  	_ struct{} `type:"structure"`
 11421  
 11422  	// A list of up to three IP addresses of DNS servers or domain controllers in
 11423  	// the self-managed AD directory.
 11424  	DnsIps []*string `min:"1" type:"list"`
 11425  
 11426  	// The fully qualified domain name of the self-managed AD directory.
 11427  	DomainName *string `min:"1" type:"string"`
 11428  
 11429  	// The name of the domain group whose members have administrative privileges
 11430  	// for the FSx file system.
 11431  	FileSystemAdministratorsGroup *string `min:"1" type:"string"`
 11432  
 11433  	// The fully qualified distinguished name of the organizational unit within
 11434  	// the self-managed AD directory to which the Windows File Server or ONTAP storage
 11435  	// virtual machine (SVM) instance is joined.
 11436  	OrganizationalUnitDistinguishedName *string `min:"1" type:"string"`
 11437  
 11438  	// The user name for the service account on your self-managed AD domain that
 11439  	// FSx uses to join to your AD domain.
 11440  	UserName *string `min:"1" type:"string"`
 11441  }
 11442  
 11443  // String returns the string representation.
 11444  //
 11445  // API parameter values that are decorated as "sensitive" in the API will not
 11446  // be included in the string output. The member name will be present, but the
 11447  // value will be replaced with "sensitive".
 11448  func (s SelfManagedActiveDirectoryAttributes) String() string {
 11449  	return awsutil.Prettify(s)
 11450  }
 11451  
 11452  // GoString returns the string representation.
 11453  //
 11454  // API parameter values that are decorated as "sensitive" in the API will not
 11455  // be included in the string output. The member name will be present, but the
 11456  // value will be replaced with "sensitive".
 11457  func (s SelfManagedActiveDirectoryAttributes) GoString() string {
 11458  	return s.String()
 11459  }
 11460  
 11461  // SetDnsIps sets the DnsIps field's value.
 11462  func (s *SelfManagedActiveDirectoryAttributes) SetDnsIps(v []*string) *SelfManagedActiveDirectoryAttributes {
 11463  	s.DnsIps = v
 11464  	return s
 11465  }
 11466  
 11467  // SetDomainName sets the DomainName field's value.
 11468  func (s *SelfManagedActiveDirectoryAttributes) SetDomainName(v string) *SelfManagedActiveDirectoryAttributes {
 11469  	s.DomainName = &v
 11470  	return s
 11471  }
 11472  
 11473  // SetFileSystemAdministratorsGroup sets the FileSystemAdministratorsGroup field's value.
 11474  func (s *SelfManagedActiveDirectoryAttributes) SetFileSystemAdministratorsGroup(v string) *SelfManagedActiveDirectoryAttributes {
 11475  	s.FileSystemAdministratorsGroup = &v
 11476  	return s
 11477  }
 11478  
 11479  // SetOrganizationalUnitDistinguishedName sets the OrganizationalUnitDistinguishedName field's value.
 11480  func (s *SelfManagedActiveDirectoryAttributes) SetOrganizationalUnitDistinguishedName(v string) *SelfManagedActiveDirectoryAttributes {
 11481  	s.OrganizationalUnitDistinguishedName = &v
 11482  	return s
 11483  }
 11484  
 11485  // SetUserName sets the UserName field's value.
 11486  func (s *SelfManagedActiveDirectoryAttributes) SetUserName(v string) *SelfManagedActiveDirectoryAttributes {
 11487  	s.UserName = &v
 11488  	return s
 11489  }
 11490  
 11491  // The configuration that Amazon FSx uses to join a FSx for Windows File Server
 11492  // file system or an ONTAP storage virtual machine (SVM) to a self-managed (including
 11493  // on-premises) Microsoft Active Directory (AD) directory. For more information,
 11494  // see Using Amazon FSx with your self-managed Microsoft Active Directory (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/self-managed-AD.html)
 11495  // or Managing SVMs (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html).
 11496  type SelfManagedActiveDirectoryConfiguration struct {
 11497  	_ struct{} `type:"structure"`
 11498  
 11499  	// A list of up to three IP addresses of DNS servers or domain controllers in
 11500  	// the self-managed AD directory.
 11501  	//
 11502  	// DnsIps is a required field
 11503  	DnsIps []*string `min:"1" type:"list" required:"true"`
 11504  
 11505  	// The fully qualified domain name of the self-managed AD directory, such as
 11506  	// corp.example.com.
 11507  	//
 11508  	// DomainName is a required field
 11509  	DomainName *string `min:"1" type:"string" required:"true"`
 11510  
 11511  	// (Optional) The name of the domain group whose members are granted administrative
 11512  	// privileges for the file system. Administrative privileges include taking
 11513  	// ownership of files and folders, setting audit controls (audit ACLs) on files
 11514  	// and folders, and administering the file system remotely by using the FSx
 11515  	// Remote PowerShell. The group that you specify must already exist in your
 11516  	// domain. If you don't provide one, your AD domain's Domain Admins group is
 11517  	// used.
 11518  	FileSystemAdministratorsGroup *string `min:"1" type:"string"`
 11519  
 11520  	// (Optional) The fully qualified distinguished name of the organizational unit
 11521  	// within your self-managed AD directory. Amazon FSx only accepts OU as the
 11522  	// direct parent of the file system. An example is OU=FSx,DC=yourdomain,DC=corp,DC=com.
 11523  	// To learn more, see RFC 2253 (https://tools.ietf.org/html/rfc2253). If none
 11524  	// is provided, the FSx file system is created in the default location of your
 11525  	// self-managed AD directory.
 11526  	//
 11527  	// Only Organizational Unit (OU) objects can be the direct parent of the file
 11528  	// system that you're creating.
 11529  	OrganizationalUnitDistinguishedName *string `min:"1" type:"string"`
 11530  
 11531  	// The password for the service account on your self-managed AD domain that
 11532  	// Amazon FSx will use to join to your AD domain.
 11533  	//
 11534  	// Password is a sensitive parameter and its value will be
 11535  	// replaced with "sensitive" in string returned by SelfManagedActiveDirectoryConfiguration's
 11536  	// String and GoString methods.
 11537  	//
 11538  	// Password is a required field
 11539  	Password *string `min:"1" type:"string" required:"true" sensitive:"true"`
 11540  
 11541  	// The user name for the service account on your self-managed AD domain that
 11542  	// Amazon FSx will use to join to your AD domain. This account must have the
 11543  	// permission to join computers to the domain in the organizational unit provided
 11544  	// in OrganizationalUnitDistinguishedName, or in the default location of your
 11545  	// AD domain.
 11546  	//
 11547  	// UserName is a required field
 11548  	UserName *string `min:"1" type:"string" required:"true"`
 11549  }
 11550  
 11551  // String returns the string representation.
 11552  //
 11553  // API parameter values that are decorated as "sensitive" in the API will not
 11554  // be included in the string output. The member name will be present, but the
 11555  // value will be replaced with "sensitive".
 11556  func (s SelfManagedActiveDirectoryConfiguration) String() string {
 11557  	return awsutil.Prettify(s)
 11558  }
 11559  
 11560  // GoString returns the string representation.
 11561  //
 11562  // API parameter values that are decorated as "sensitive" in the API will not
 11563  // be included in the string output. The member name will be present, but the
 11564  // value will be replaced with "sensitive".
 11565  func (s SelfManagedActiveDirectoryConfiguration) GoString() string {
 11566  	return s.String()
 11567  }
 11568  
 11569  // Validate inspects the fields of the type to determine if they are valid.
 11570  func (s *SelfManagedActiveDirectoryConfiguration) Validate() error {
 11571  	invalidParams := request.ErrInvalidParams{Context: "SelfManagedActiveDirectoryConfiguration"}
 11572  	if s.DnsIps == nil {
 11573  		invalidParams.Add(request.NewErrParamRequired("DnsIps"))
 11574  	}
 11575  	if s.DnsIps != nil && len(s.DnsIps) < 1 {
 11576  		invalidParams.Add(request.NewErrParamMinLen("DnsIps", 1))
 11577  	}
 11578  	if s.DomainName == nil {
 11579  		invalidParams.Add(request.NewErrParamRequired("DomainName"))
 11580  	}
 11581  	if s.DomainName != nil && len(*s.DomainName) < 1 {
 11582  		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
 11583  	}
 11584  	if s.FileSystemAdministratorsGroup != nil && len(*s.FileSystemAdministratorsGroup) < 1 {
 11585  		invalidParams.Add(request.NewErrParamMinLen("FileSystemAdministratorsGroup", 1))
 11586  	}
 11587  	if s.OrganizationalUnitDistinguishedName != nil && len(*s.OrganizationalUnitDistinguishedName) < 1 {
 11588  		invalidParams.Add(request.NewErrParamMinLen("OrganizationalUnitDistinguishedName", 1))
 11589  	}
 11590  	if s.Password == nil {
 11591  		invalidParams.Add(request.NewErrParamRequired("Password"))
 11592  	}
 11593  	if s.Password != nil && len(*s.Password) < 1 {
 11594  		invalidParams.Add(request.NewErrParamMinLen("Password", 1))
 11595  	}
 11596  	if s.UserName == nil {
 11597  		invalidParams.Add(request.NewErrParamRequired("UserName"))
 11598  	}
 11599  	if s.UserName != nil && len(*s.UserName) < 1 {
 11600  		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
 11601  	}
 11602  
 11603  	if invalidParams.Len() > 0 {
 11604  		return invalidParams
 11605  	}
 11606  	return nil
 11607  }
 11608  
 11609  // SetDnsIps sets the DnsIps field's value.
 11610  func (s *SelfManagedActiveDirectoryConfiguration) SetDnsIps(v []*string) *SelfManagedActiveDirectoryConfiguration {
 11611  	s.DnsIps = v
 11612  	return s
 11613  }
 11614  
 11615  // SetDomainName sets the DomainName field's value.
 11616  func (s *SelfManagedActiveDirectoryConfiguration) SetDomainName(v string) *SelfManagedActiveDirectoryConfiguration {
 11617  	s.DomainName = &v
 11618  	return s
 11619  }
 11620  
 11621  // SetFileSystemAdministratorsGroup sets the FileSystemAdministratorsGroup field's value.
 11622  func (s *SelfManagedActiveDirectoryConfiguration) SetFileSystemAdministratorsGroup(v string) *SelfManagedActiveDirectoryConfiguration {
 11623  	s.FileSystemAdministratorsGroup = &v
 11624  	return s
 11625  }
 11626  
 11627  // SetOrganizationalUnitDistinguishedName sets the OrganizationalUnitDistinguishedName field's value.
 11628  func (s *SelfManagedActiveDirectoryConfiguration) SetOrganizationalUnitDistinguishedName(v string) *SelfManagedActiveDirectoryConfiguration {
 11629  	s.OrganizationalUnitDistinguishedName = &v
 11630  	return s
 11631  }
 11632  
 11633  // SetPassword sets the Password field's value.
 11634  func (s *SelfManagedActiveDirectoryConfiguration) SetPassword(v string) *SelfManagedActiveDirectoryConfiguration {
 11635  	s.Password = &v
 11636  	return s
 11637  }
 11638  
 11639  // SetUserName sets the UserName field's value.
 11640  func (s *SelfManagedActiveDirectoryConfiguration) SetUserName(v string) *SelfManagedActiveDirectoryConfiguration {
 11641  	s.UserName = &v
 11642  	return s
 11643  }
 11644  
 11645  // The configuration that Amazon FSx uses to join the Windows File Server instance
 11646  // to a self-managed Microsoft Active Directory (AD) directory.
 11647  type SelfManagedActiveDirectoryConfigurationUpdates struct {
 11648  	_ struct{} `type:"structure"`
 11649  
 11650  	// A list of up to three IP addresses of DNS servers or domain controllers in
 11651  	// the self-managed AD directory.
 11652  	DnsIps []*string `min:"1" type:"list"`
 11653  
 11654  	// The password for the service account on your self-managed AD domain that
 11655  	// Amazon FSx will use to join to your AD domain.
 11656  	//
 11657  	// Password is a sensitive parameter and its value will be
 11658  	// replaced with "sensitive" in string returned by SelfManagedActiveDirectoryConfigurationUpdates's
 11659  	// String and GoString methods.
 11660  	Password *string `min:"1" type:"string" sensitive:"true"`
 11661  
 11662  	// The user name for the service account on your self-managed AD domain that
 11663  	// Amazon FSx will use to join to your AD domain. This account must have the
 11664  	// permission to join computers to the domain in the organizational unit provided
 11665  	// in OrganizationalUnitDistinguishedName.
 11666  	UserName *string `min:"1" type:"string"`
 11667  }
 11668  
 11669  // String returns the string representation.
 11670  //
 11671  // API parameter values that are decorated as "sensitive" in the API will not
 11672  // be included in the string output. The member name will be present, but the
 11673  // value will be replaced with "sensitive".
 11674  func (s SelfManagedActiveDirectoryConfigurationUpdates) String() string {
 11675  	return awsutil.Prettify(s)
 11676  }
 11677  
 11678  // GoString returns the string representation.
 11679  //
 11680  // API parameter values that are decorated as "sensitive" in the API will not
 11681  // be included in the string output. The member name will be present, but the
 11682  // value will be replaced with "sensitive".
 11683  func (s SelfManagedActiveDirectoryConfigurationUpdates) GoString() string {
 11684  	return s.String()
 11685  }
 11686  
 11687  // Validate inspects the fields of the type to determine if they are valid.
 11688  func (s *SelfManagedActiveDirectoryConfigurationUpdates) Validate() error {
 11689  	invalidParams := request.ErrInvalidParams{Context: "SelfManagedActiveDirectoryConfigurationUpdates"}
 11690  	if s.DnsIps != nil && len(s.DnsIps) < 1 {
 11691  		invalidParams.Add(request.NewErrParamMinLen("DnsIps", 1))
 11692  	}
 11693  	if s.Password != nil && len(*s.Password) < 1 {
 11694  		invalidParams.Add(request.NewErrParamMinLen("Password", 1))
 11695  	}
 11696  	if s.UserName != nil && len(*s.UserName) < 1 {
 11697  		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
 11698  	}
 11699  
 11700  	if invalidParams.Len() > 0 {
 11701  		return invalidParams
 11702  	}
 11703  	return nil
 11704  }
 11705  
 11706  // SetDnsIps sets the DnsIps field's value.
 11707  func (s *SelfManagedActiveDirectoryConfigurationUpdates) SetDnsIps(v []*string) *SelfManagedActiveDirectoryConfigurationUpdates {
 11708  	s.DnsIps = v
 11709  	return s
 11710  }
 11711  
 11712  // SetPassword sets the Password field's value.
 11713  func (s *SelfManagedActiveDirectoryConfigurationUpdates) SetPassword(v string) *SelfManagedActiveDirectoryConfigurationUpdates {
 11714  	s.Password = &v
 11715  	return s
 11716  }
 11717  
 11718  // SetUserName sets the UserName field's value.
 11719  func (s *SelfManagedActiveDirectoryConfigurationUpdates) SetUserName(v string) *SelfManagedActiveDirectoryConfigurationUpdates {
 11720  	s.UserName = &v
 11721  	return s
 11722  }
 11723  
 11724  // An error indicating that a particular service limit was exceeded. You can
 11725  // increase some service limits by contacting Amazon Web Services Support.
 11726  type ServiceLimitExceeded struct {
 11727  	_            struct{}                  `type:"structure"`
 11728  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11729  
 11730  	// Enumeration of the service limit that was exceeded.
 11731  	//
 11732  	// Limit is a required field
 11733  	Limit *string `type:"string" required:"true" enum:"ServiceLimit"`
 11734  
 11735  	// A detailed error message.
 11736  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 11737  }
 11738  
 11739  // String returns the string representation.
 11740  //
 11741  // API parameter values that are decorated as "sensitive" in the API will not
 11742  // be included in the string output. The member name will be present, but the
 11743  // value will be replaced with "sensitive".
 11744  func (s ServiceLimitExceeded) String() string {
 11745  	return awsutil.Prettify(s)
 11746  }
 11747  
 11748  // GoString returns the string representation.
 11749  //
 11750  // API parameter values that are decorated as "sensitive" in the API will not
 11751  // be included in the string output. The member name will be present, but the
 11752  // value will be replaced with "sensitive".
 11753  func (s ServiceLimitExceeded) GoString() string {
 11754  	return s.String()
 11755  }
 11756  
 11757  func newErrorServiceLimitExceeded(v protocol.ResponseMetadata) error {
 11758  	return &ServiceLimitExceeded{
 11759  		RespMetadata: v,
 11760  	}
 11761  }
 11762  
 11763  // Code returns the exception type name.
 11764  func (s *ServiceLimitExceeded) Code() string {
 11765  	return "ServiceLimitExceeded"
 11766  }
 11767  
 11768  // Message returns the exception's message.
 11769  func (s *ServiceLimitExceeded) Message() string {
 11770  	if s.Message_ != nil {
 11771  		return *s.Message_
 11772  	}
 11773  	return ""
 11774  }
 11775  
 11776  // OrigErr always returns nil, satisfies awserr.Error interface.
 11777  func (s *ServiceLimitExceeded) OrigErr() error {
 11778  	return nil
 11779  }
 11780  
 11781  func (s *ServiceLimitExceeded) Error() string {
 11782  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 11783  }
 11784  
 11785  // Status code returns the HTTP status code for the request's response error.
 11786  func (s *ServiceLimitExceeded) StatusCode() int {
 11787  	return s.RespMetadata.StatusCode
 11788  }
 11789  
 11790  // RequestID returns the service's response RequestID for request.
 11791  func (s *ServiceLimitExceeded) RequestID() string {
 11792  	return s.RespMetadata.RequestID
 11793  }
 11794  
 11795  // The request was rejected because the lifecycle status of the source backup
 11796  // is not AVAILABLE.
 11797  type SourceBackupUnavailable struct {
 11798  	_            struct{}                  `type:"structure"`
 11799  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11800  
 11801  	// The ID of the source backup. Specifies the backup you are copying.
 11802  	BackupId *string `min:"12" type:"string"`
 11803  
 11804  	// A detailed error message.
 11805  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 11806  }
 11807  
 11808  // String returns the string representation.
 11809  //
 11810  // API parameter values that are decorated as "sensitive" in the API will not
 11811  // be included in the string output. The member name will be present, but the
 11812  // value will be replaced with "sensitive".
 11813  func (s SourceBackupUnavailable) String() string {
 11814  	return awsutil.Prettify(s)
 11815  }
 11816  
 11817  // GoString returns the string representation.
 11818  //
 11819  // API parameter values that are decorated as "sensitive" in the API will not
 11820  // be included in the string output. The member name will be present, but the
 11821  // value will be replaced with "sensitive".
 11822  func (s SourceBackupUnavailable) GoString() string {
 11823  	return s.String()
 11824  }
 11825  
 11826  func newErrorSourceBackupUnavailable(v protocol.ResponseMetadata) error {
 11827  	return &SourceBackupUnavailable{
 11828  		RespMetadata: v,
 11829  	}
 11830  }
 11831  
 11832  // Code returns the exception type name.
 11833  func (s *SourceBackupUnavailable) Code() string {
 11834  	return "SourceBackupUnavailable"
 11835  }
 11836  
 11837  // Message returns the exception's message.
 11838  func (s *SourceBackupUnavailable) Message() string {
 11839  	if s.Message_ != nil {
 11840  		return *s.Message_
 11841  	}
 11842  	return ""
 11843  }
 11844  
 11845  // OrigErr always returns nil, satisfies awserr.Error interface.
 11846  func (s *SourceBackupUnavailable) OrigErr() error {
 11847  	return nil
 11848  }
 11849  
 11850  func (s *SourceBackupUnavailable) Error() string {
 11851  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 11852  }
 11853  
 11854  // Status code returns the HTTP status code for the request's response error.
 11855  func (s *SourceBackupUnavailable) StatusCode() int {
 11856  	return s.RespMetadata.StatusCode
 11857  }
 11858  
 11859  // RequestID returns the service's response RequestID for request.
 11860  func (s *SourceBackupUnavailable) RequestID() string {
 11861  	return s.RespMetadata.RequestID
 11862  }
 11863  
 11864  // Describes the Amazon FSx for NetApp ONTAP storage virtual machine (SVM) configuraton.
 11865  type StorageVirtualMachine struct {
 11866  	_ struct{} `type:"structure"`
 11867  
 11868  	// Describes the Microsoft Active Directory configuration to which the SVM is
 11869  	// joined, if applicable.
 11870  	ActiveDirectoryConfiguration *SvmActiveDirectoryConfiguration `type:"structure"`
 11871  
 11872  	// The time that the resource was created, in seconds (since 1970-01-01T00:00:00Z),
 11873  	// also known as Unix time.
 11874  	CreationTime *time.Time `type:"timestamp"`
 11875  
 11876  	// The endpoints that are used to access data or to manage the SVM using the
 11877  	// NetApp ONTAP CLI, REST API, or NetApp CloudManager. They are the Iscsi, Management,
 11878  	// Nfs, and Smb endpoints.
 11879  	Endpoints *SvmEndpoints `type:"structure"`
 11880  
 11881  	// The globally unique ID of the file system, assigned by Amazon FSx.
 11882  	FileSystemId *string `min:"11" type:"string"`
 11883  
 11884  	// Describes the SVM's lifecycle status.
 11885  	//
 11886  	//    * CREATED - The SVM is fully available for use.
 11887  	//
 11888  	//    * CREATING - Amazon FSx is creating the new SVM.
 11889  	//
 11890  	//    * DELETING - Amazon FSx is deleting an existing SVM.
 11891  	//
 11892  	//    * FAILED - Amazon FSx was unable to create the SVM.
 11893  	//
 11894  	//    * MISCONFIGURED - The SVM is in a failed but recoverable state.
 11895  	//
 11896  	//    * PENDING - Amazon FSx has not started creating the SVM.
 11897  	Lifecycle *string `type:"string" enum:"StorageVirtualMachineLifecycle"`
 11898  
 11899  	// Describes why the SVM lifecycle state changed.
 11900  	LifecycleTransitionReason *LifecycleTransitionReason `type:"structure"`
 11901  
 11902  	// The name of the SVM, if provisioned.
 11903  	Name *string `min:"1" type:"string"`
 11904  
 11905  	// The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify
 11906  	// Amazon Web Services resources. We require an ARN when you need to specify
 11907  	// a resource unambiguously across all of Amazon Web Services. For more information,
 11908  	// see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 11909  	// in the Amazon Web Services General Reference.
 11910  	ResourceARN *string `min:"8" type:"string"`
 11911  
 11912  	// The security style of the root volume of the SVM.
 11913  	RootVolumeSecurityStyle *string `type:"string" enum:"StorageVirtualMachineRootVolumeSecurityStyle"`
 11914  
 11915  	// The SVM's system generated unique ID.
 11916  	StorageVirtualMachineId *string `min:"21" type:"string"`
 11917  
 11918  	// Describes the SVM's subtype.
 11919  	Subtype *string `type:"string" enum:"StorageVirtualMachineSubtype"`
 11920  
 11921  	// A list of Tag values, with a maximum of 50 elements.
 11922  	Tags []*Tag `min:"1" type:"list"`
 11923  
 11924  	// The SVM's UUID (universally unique identifier).
 11925  	UUID *string `type:"string"`
 11926  }
 11927  
 11928  // String returns the string representation.
 11929  //
 11930  // API parameter values that are decorated as "sensitive" in the API will not
 11931  // be included in the string output. The member name will be present, but the
 11932  // value will be replaced with "sensitive".
 11933  func (s StorageVirtualMachine) String() string {
 11934  	return awsutil.Prettify(s)
 11935  }
 11936  
 11937  // GoString returns the string representation.
 11938  //
 11939  // API parameter values that are decorated as "sensitive" in the API will not
 11940  // be included in the string output. The member name will be present, but the
 11941  // value will be replaced with "sensitive".
 11942  func (s StorageVirtualMachine) GoString() string {
 11943  	return s.String()
 11944  }
 11945  
 11946  // SetActiveDirectoryConfiguration sets the ActiveDirectoryConfiguration field's value.
 11947  func (s *StorageVirtualMachine) SetActiveDirectoryConfiguration(v *SvmActiveDirectoryConfiguration) *StorageVirtualMachine {
 11948  	s.ActiveDirectoryConfiguration = v
 11949  	return s
 11950  }
 11951  
 11952  // SetCreationTime sets the CreationTime field's value.
 11953  func (s *StorageVirtualMachine) SetCreationTime(v time.Time) *StorageVirtualMachine {
 11954  	s.CreationTime = &v
 11955  	return s
 11956  }
 11957  
 11958  // SetEndpoints sets the Endpoints field's value.
 11959  func (s *StorageVirtualMachine) SetEndpoints(v *SvmEndpoints) *StorageVirtualMachine {
 11960  	s.Endpoints = v
 11961  	return s
 11962  }
 11963  
 11964  // SetFileSystemId sets the FileSystemId field's value.
 11965  func (s *StorageVirtualMachine) SetFileSystemId(v string) *StorageVirtualMachine {
 11966  	s.FileSystemId = &v
 11967  	return s
 11968  }
 11969  
 11970  // SetLifecycle sets the Lifecycle field's value.
 11971  func (s *StorageVirtualMachine) SetLifecycle(v string) *StorageVirtualMachine {
 11972  	s.Lifecycle = &v
 11973  	return s
 11974  }
 11975  
 11976  // SetLifecycleTransitionReason sets the LifecycleTransitionReason field's value.
 11977  func (s *StorageVirtualMachine) SetLifecycleTransitionReason(v *LifecycleTransitionReason) *StorageVirtualMachine {
 11978  	s.LifecycleTransitionReason = v
 11979  	return s
 11980  }
 11981  
 11982  // SetName sets the Name field's value.
 11983  func (s *StorageVirtualMachine) SetName(v string) *StorageVirtualMachine {
 11984  	s.Name = &v
 11985  	return s
 11986  }
 11987  
 11988  // SetResourceARN sets the ResourceARN field's value.
 11989  func (s *StorageVirtualMachine) SetResourceARN(v string) *StorageVirtualMachine {
 11990  	s.ResourceARN = &v
 11991  	return s
 11992  }
 11993  
 11994  // SetRootVolumeSecurityStyle sets the RootVolumeSecurityStyle field's value.
 11995  func (s *StorageVirtualMachine) SetRootVolumeSecurityStyle(v string) *StorageVirtualMachine {
 11996  	s.RootVolumeSecurityStyle = &v
 11997  	return s
 11998  }
 11999  
 12000  // SetStorageVirtualMachineId sets the StorageVirtualMachineId field's value.
 12001  func (s *StorageVirtualMachine) SetStorageVirtualMachineId(v string) *StorageVirtualMachine {
 12002  	s.StorageVirtualMachineId = &v
 12003  	return s
 12004  }
 12005  
 12006  // SetSubtype sets the Subtype field's value.
 12007  func (s *StorageVirtualMachine) SetSubtype(v string) *StorageVirtualMachine {
 12008  	s.Subtype = &v
 12009  	return s
 12010  }
 12011  
 12012  // SetTags sets the Tags field's value.
 12013  func (s *StorageVirtualMachine) SetTags(v []*Tag) *StorageVirtualMachine {
 12014  	s.Tags = v
 12015  	return s
 12016  }
 12017  
 12018  // SetUUID sets the UUID field's value.
 12019  func (s *StorageVirtualMachine) SetUUID(v string) *StorageVirtualMachine {
 12020  	s.UUID = &v
 12021  	return s
 12022  }
 12023  
 12024  // A filter used to restrict the results of describe calls for Amazon FSx for
 12025  // NetApp ONTAP storage virtual machines (SVMs). You can use multiple filters
 12026  // to return results that meet all applied filter requirements.
 12027  type StorageVirtualMachineFilter struct {
 12028  	_ struct{} `type:"structure"`
 12029  
 12030  	// The name for this filter.
 12031  	Name *string `type:"string" enum:"StorageVirtualMachineFilterName"`
 12032  
 12033  	// The values of the filter. These are all the values for any of the applied
 12034  	// filters.
 12035  	Values []*string `type:"list"`
 12036  }
 12037  
 12038  // String returns the string representation.
 12039  //
 12040  // API parameter values that are decorated as "sensitive" in the API will not
 12041  // be included in the string output. The member name will be present, but the
 12042  // value will be replaced with "sensitive".
 12043  func (s StorageVirtualMachineFilter) String() string {
 12044  	return awsutil.Prettify(s)
 12045  }
 12046  
 12047  // GoString returns the string representation.
 12048  //
 12049  // API parameter values that are decorated as "sensitive" in the API will not
 12050  // be included in the string output. The member name will be present, but the
 12051  // value will be replaced with "sensitive".
 12052  func (s StorageVirtualMachineFilter) GoString() string {
 12053  	return s.String()
 12054  }
 12055  
 12056  // SetName sets the Name field's value.
 12057  func (s *StorageVirtualMachineFilter) SetName(v string) *StorageVirtualMachineFilter {
 12058  	s.Name = &v
 12059  	return s
 12060  }
 12061  
 12062  // SetValues sets the Values field's value.
 12063  func (s *StorageVirtualMachineFilter) SetValues(v []*string) *StorageVirtualMachineFilter {
 12064  	s.Values = v
 12065  	return s
 12066  }
 12067  
 12068  // No Amazon FSx for NetApp ONTAP SVMs were found based upon the supplied parameters.
 12069  type StorageVirtualMachineNotFound struct {
 12070  	_            struct{}                  `type:"structure"`
 12071  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12072  
 12073  	// A detailed error message.
 12074  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 12075  }
 12076  
 12077  // String returns the string representation.
 12078  //
 12079  // API parameter values that are decorated as "sensitive" in the API will not
 12080  // be included in the string output. The member name will be present, but the
 12081  // value will be replaced with "sensitive".
 12082  func (s StorageVirtualMachineNotFound) String() string {
 12083  	return awsutil.Prettify(s)
 12084  }
 12085  
 12086  // GoString returns the string representation.
 12087  //
 12088  // API parameter values that are decorated as "sensitive" in the API will not
 12089  // be included in the string output. The member name will be present, but the
 12090  // value will be replaced with "sensitive".
 12091  func (s StorageVirtualMachineNotFound) GoString() string {
 12092  	return s.String()
 12093  }
 12094  
 12095  func newErrorStorageVirtualMachineNotFound(v protocol.ResponseMetadata) error {
 12096  	return &StorageVirtualMachineNotFound{
 12097  		RespMetadata: v,
 12098  	}
 12099  }
 12100  
 12101  // Code returns the exception type name.
 12102  func (s *StorageVirtualMachineNotFound) Code() string {
 12103  	return "StorageVirtualMachineNotFound"
 12104  }
 12105  
 12106  // Message returns the exception's message.
 12107  func (s *StorageVirtualMachineNotFound) Message() string {
 12108  	if s.Message_ != nil {
 12109  		return *s.Message_
 12110  	}
 12111  	return ""
 12112  }
 12113  
 12114  // OrigErr always returns nil, satisfies awserr.Error interface.
 12115  func (s *StorageVirtualMachineNotFound) OrigErr() error {
 12116  	return nil
 12117  }
 12118  
 12119  func (s *StorageVirtualMachineNotFound) Error() string {
 12120  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12121  }
 12122  
 12123  // Status code returns the HTTP status code for the request's response error.
 12124  func (s *StorageVirtualMachineNotFound) StatusCode() int {
 12125  	return s.RespMetadata.StatusCode
 12126  }
 12127  
 12128  // RequestID returns the service's response RequestID for request.
 12129  func (s *StorageVirtualMachineNotFound) RequestID() string {
 12130  	return s.RespMetadata.RequestID
 12131  }
 12132  
 12133  // Describes the configuration of the Microsoft Active Directory (AD) directory
 12134  // to which the Amazon FSx for ONTAP storage virtual machine (SVM) is joined.
 12135  // Pleae note, account credentials are not returned in the response payload.
 12136  type SvmActiveDirectoryConfiguration struct {
 12137  	_ struct{} `type:"structure"`
 12138  
 12139  	// The NetBIOS name of the Active Directory computer object that is joined to
 12140  	// your SVM.
 12141  	NetBiosName *string `min:"1" type:"string"`
 12142  
 12143  	// The configuration of the self-managed Microsoft Active Directory (AD) directory
 12144  	// to which the Windows File Server or ONTAP storage virtual machine (SVM) instance
 12145  	// is joined.
 12146  	SelfManagedActiveDirectoryConfiguration *SelfManagedActiveDirectoryAttributes `type:"structure"`
 12147  }
 12148  
 12149  // String returns the string representation.
 12150  //
 12151  // API parameter values that are decorated as "sensitive" in the API will not
 12152  // be included in the string output. The member name will be present, but the
 12153  // value will be replaced with "sensitive".
 12154  func (s SvmActiveDirectoryConfiguration) String() string {
 12155  	return awsutil.Prettify(s)
 12156  }
 12157  
 12158  // GoString returns the string representation.
 12159  //
 12160  // API parameter values that are decorated as "sensitive" in the API will not
 12161  // be included in the string output. The member name will be present, but the
 12162  // value will be replaced with "sensitive".
 12163  func (s SvmActiveDirectoryConfiguration) GoString() string {
 12164  	return s.String()
 12165  }
 12166  
 12167  // SetNetBiosName sets the NetBiosName field's value.
 12168  func (s *SvmActiveDirectoryConfiguration) SetNetBiosName(v string) *SvmActiveDirectoryConfiguration {
 12169  	s.NetBiosName = &v
 12170  	return s
 12171  }
 12172  
 12173  // SetSelfManagedActiveDirectoryConfiguration sets the SelfManagedActiveDirectoryConfiguration field's value.
 12174  func (s *SvmActiveDirectoryConfiguration) SetSelfManagedActiveDirectoryConfiguration(v *SelfManagedActiveDirectoryAttributes) *SvmActiveDirectoryConfiguration {
 12175  	s.SelfManagedActiveDirectoryConfiguration = v
 12176  	return s
 12177  }
 12178  
 12179  // An Amazon FSx for NetApp ONTAP storage virtual machine (SVM) has four endpoints
 12180  // that are used to access data or to manage the SVM using the NetApp ONTAP
 12181  // CLI, REST API, or NetApp CloudManager. They are the Iscsi, Management, Nfs,
 12182  // and Smb endpoints.
 12183  type SvmEndpoint struct {
 12184  	_ struct{} `type:"structure"`
 12185  
 12186  	// The Domain Name Service (DNS) name for the file system. You can mount your
 12187  	// file system using its DNS name.
 12188  	DNSName *string `min:"16" type:"string"`
 12189  
 12190  	// The SVM endpoint's IP addresses.
 12191  	IpAddresses []*string `min:"1" type:"list"`
 12192  }
 12193  
 12194  // String returns the string representation.
 12195  //
 12196  // API parameter values that are decorated as "sensitive" in the API will not
 12197  // be included in the string output. The member name will be present, but the
 12198  // value will be replaced with "sensitive".
 12199  func (s SvmEndpoint) String() string {
 12200  	return awsutil.Prettify(s)
 12201  }
 12202  
 12203  // GoString returns the string representation.
 12204  //
 12205  // API parameter values that are decorated as "sensitive" in the API will not
 12206  // be included in the string output. The member name will be present, but the
 12207  // value will be replaced with "sensitive".
 12208  func (s SvmEndpoint) GoString() string {
 12209  	return s.String()
 12210  }
 12211  
 12212  // SetDNSName sets the DNSName field's value.
 12213  func (s *SvmEndpoint) SetDNSName(v string) *SvmEndpoint {
 12214  	s.DNSName = &v
 12215  	return s
 12216  }
 12217  
 12218  // SetIpAddresses sets the IpAddresses field's value.
 12219  func (s *SvmEndpoint) SetIpAddresses(v []*string) *SvmEndpoint {
 12220  	s.IpAddresses = v
 12221  	return s
 12222  }
 12223  
 12224  // An Amazon FSx for NetApp ONTAP storage virtual machine (SVM) has the following
 12225  // endpoints that are used to access data or to manage the SVM using the NetApp
 12226  // ONTAP CLI, REST API, or NetApp CloudManager.
 12227  type SvmEndpoints struct {
 12228  	_ struct{} `type:"structure"`
 12229  
 12230  	// An endpoint for connecting using the Internet Small Computer Systems Interface
 12231  	// (iSCSI) protocol.
 12232  	Iscsi *SvmEndpoint `type:"structure"`
 12233  
 12234  	// An endpoint for managing SVMs using the NetApp ONTAP CLI, NetApp ONTAP API,
 12235  	// or NetApp CloudManager.
 12236  	Management *SvmEndpoint `type:"structure"`
 12237  
 12238  	// An endpoint for connecting using the Network File System (NFS) protocol.
 12239  	Nfs *SvmEndpoint `type:"structure"`
 12240  
 12241  	// An endpoint for connecting using the Server Message Block (SMB) protocol.
 12242  	Smb *SvmEndpoint `type:"structure"`
 12243  }
 12244  
 12245  // String returns the string representation.
 12246  //
 12247  // API parameter values that are decorated as "sensitive" in the API will not
 12248  // be included in the string output. The member name will be present, but the
 12249  // value will be replaced with "sensitive".
 12250  func (s SvmEndpoints) String() string {
 12251  	return awsutil.Prettify(s)
 12252  }
 12253  
 12254  // GoString returns the string representation.
 12255  //
 12256  // API parameter values that are decorated as "sensitive" in the API will not
 12257  // be included in the string output. The member name will be present, but the
 12258  // value will be replaced with "sensitive".
 12259  func (s SvmEndpoints) GoString() string {
 12260  	return s.String()
 12261  }
 12262  
 12263  // SetIscsi sets the Iscsi field's value.
 12264  func (s *SvmEndpoints) SetIscsi(v *SvmEndpoint) *SvmEndpoints {
 12265  	s.Iscsi = v
 12266  	return s
 12267  }
 12268  
 12269  // SetManagement sets the Management field's value.
 12270  func (s *SvmEndpoints) SetManagement(v *SvmEndpoint) *SvmEndpoints {
 12271  	s.Management = v
 12272  	return s
 12273  }
 12274  
 12275  // SetNfs sets the Nfs field's value.
 12276  func (s *SvmEndpoints) SetNfs(v *SvmEndpoint) *SvmEndpoints {
 12277  	s.Nfs = v
 12278  	return s
 12279  }
 12280  
 12281  // SetSmb sets the Smb field's value.
 12282  func (s *SvmEndpoints) SetSmb(v *SvmEndpoint) *SvmEndpoints {
 12283  	s.Smb = v
 12284  	return s
 12285  }
 12286  
 12287  // Specifies a key-value pair for a resource tag.
 12288  type Tag struct {
 12289  	_ struct{} `type:"structure"`
 12290  
 12291  	// A value that specifies the TagKey, the name of the tag. Tag keys must be
 12292  	// unique for the resource to which they are attached.
 12293  	//
 12294  	// Key is a required field
 12295  	Key *string `min:"1" type:"string" required:"true"`
 12296  
 12297  	// A value that specifies the TagValue, the value assigned to the corresponding
 12298  	// tag key. Tag values can be null and don't have to be unique in a tag set.
 12299  	// For example, you can have a key-value pair in a tag set of finances : April
 12300  	// and also of payroll : April.
 12301  	//
 12302  	// Value is a required field
 12303  	Value *string `type:"string" required:"true"`
 12304  }
 12305  
 12306  // String returns the string representation.
 12307  //
 12308  // API parameter values that are decorated as "sensitive" in the API will not
 12309  // be included in the string output. The member name will be present, but the
 12310  // value will be replaced with "sensitive".
 12311  func (s Tag) String() string {
 12312  	return awsutil.Prettify(s)
 12313  }
 12314  
 12315  // GoString returns the string representation.
 12316  //
 12317  // API parameter values that are decorated as "sensitive" in the API will not
 12318  // be included in the string output. The member name will be present, but the
 12319  // value will be replaced with "sensitive".
 12320  func (s Tag) GoString() string {
 12321  	return s.String()
 12322  }
 12323  
 12324  // Validate inspects the fields of the type to determine if they are valid.
 12325  func (s *Tag) Validate() error {
 12326  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
 12327  	if s.Key == nil {
 12328  		invalidParams.Add(request.NewErrParamRequired("Key"))
 12329  	}
 12330  	if s.Key != nil && len(*s.Key) < 1 {
 12331  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 12332  	}
 12333  	if s.Value == nil {
 12334  		invalidParams.Add(request.NewErrParamRequired("Value"))
 12335  	}
 12336  
 12337  	if invalidParams.Len() > 0 {
 12338  		return invalidParams
 12339  	}
 12340  	return nil
 12341  }
 12342  
 12343  // SetKey sets the Key field's value.
 12344  func (s *Tag) SetKey(v string) *Tag {
 12345  	s.Key = &v
 12346  	return s
 12347  }
 12348  
 12349  // SetValue sets the Value field's value.
 12350  func (s *Tag) SetValue(v string) *Tag {
 12351  	s.Value = &v
 12352  	return s
 12353  }
 12354  
 12355  // The request object for the TagResource operation.
 12356  type TagResourceInput struct {
 12357  	_ struct{} `type:"structure"`
 12358  
 12359  	// The Amazon Resource Name (ARN) of the Amazon FSx resource that you want to
 12360  	// tag.
 12361  	//
 12362  	// ResourceARN is a required field
 12363  	ResourceARN *string `min:"8" type:"string" required:"true"`
 12364  
 12365  	// A list of tags for the resource. If a tag with a given key already exists,
 12366  	// the value is replaced by the one specified in this parameter.
 12367  	//
 12368  	// Tags is a required field
 12369  	Tags []*Tag `min:"1" type:"list" required:"true"`
 12370  }
 12371  
 12372  // String returns the string representation.
 12373  //
 12374  // API parameter values that are decorated as "sensitive" in the API will not
 12375  // be included in the string output. The member name will be present, but the
 12376  // value will be replaced with "sensitive".
 12377  func (s TagResourceInput) String() string {
 12378  	return awsutil.Prettify(s)
 12379  }
 12380  
 12381  // GoString returns the string representation.
 12382  //
 12383  // API parameter values that are decorated as "sensitive" in the API will not
 12384  // be included in the string output. The member name will be present, but the
 12385  // value will be replaced with "sensitive".
 12386  func (s TagResourceInput) GoString() string {
 12387  	return s.String()
 12388  }
 12389  
 12390  // Validate inspects the fields of the type to determine if they are valid.
 12391  func (s *TagResourceInput) Validate() error {
 12392  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 12393  	if s.ResourceARN == nil {
 12394  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
 12395  	}
 12396  	if s.ResourceARN != nil && len(*s.ResourceARN) < 8 {
 12397  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 8))
 12398  	}
 12399  	if s.Tags == nil {
 12400  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 12401  	}
 12402  	if s.Tags != nil && len(s.Tags) < 1 {
 12403  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 12404  	}
 12405  	if s.Tags != nil {
 12406  		for i, v := range s.Tags {
 12407  			if v == nil {
 12408  				continue
 12409  			}
 12410  			if err := v.Validate(); err != nil {
 12411  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 12412  			}
 12413  		}
 12414  	}
 12415  
 12416  	if invalidParams.Len() > 0 {
 12417  		return invalidParams
 12418  	}
 12419  	return nil
 12420  }
 12421  
 12422  // SetResourceARN sets the ResourceARN field's value.
 12423  func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput {
 12424  	s.ResourceARN = &v
 12425  	return s
 12426  }
 12427  
 12428  // SetTags sets the Tags field's value.
 12429  func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
 12430  	s.Tags = v
 12431  	return s
 12432  }
 12433  
 12434  // The response object for the TagResource operation.
 12435  type TagResourceOutput struct {
 12436  	_ struct{} `type:"structure"`
 12437  }
 12438  
 12439  // String returns the string representation.
 12440  //
 12441  // API parameter values that are decorated as "sensitive" in the API will not
 12442  // be included in the string output. The member name will be present, but the
 12443  // value will be replaced with "sensitive".
 12444  func (s TagResourceOutput) String() string {
 12445  	return awsutil.Prettify(s)
 12446  }
 12447  
 12448  // GoString returns the string representation.
 12449  //
 12450  // API parameter values that are decorated as "sensitive" in the API will not
 12451  // be included in the string output. The member name will be present, but the
 12452  // value will be replaced with "sensitive".
 12453  func (s TagResourceOutput) GoString() string {
 12454  	return s.String()
 12455  }
 12456  
 12457  // Describes the data tiering policy for an ONTAP volume. When enabled, Amazon
 12458  // FSx for ONTAP's intelligent tiering automatically transitions a volume's
 12459  // data between the file system's primary storage and capacity pool storage
 12460  // based on your access patterns.
 12461  type TieringPolicy struct {
 12462  	_ struct{} `type:"structure"`
 12463  
 12464  	// Specifies the number of days that user data in a volume must remain inactive
 12465  	// before it is considered "cold" and moved to the capacity pool. Used with
 12466  	// the AUTO and SNAPSHOT_ONLY tiering policies. Enter a whole number between
 12467  	// 2 and 183. Default values are 31 days for AUTO and 2 days for SNAPSHOT_ONLY.
 12468  	CoolingPeriod *int64 `min:"2" type:"integer"`
 12469  
 12470  	// Specifies the tiering policy used to transition data. Default value is SNAPSHOT_ONLY.
 12471  	//
 12472  	//    * SNAPSHOT_ONLY - moves cold snapshots to the capacity pool storage tier.
 12473  	//
 12474  	//    * AUTO - moves cold user data and snapshots to the capacity pool storage
 12475  	//    tier based on your access patterns.
 12476  	//
 12477  	//    * ALL - moves all user data blocks in both the active file system and
 12478  	//    Snapshot copies to the storage pool tier.
 12479  	//
 12480  	//    * NONE - keeps a volume's data in the primary storage tier, preventing
 12481  	//    it from being moved to the capacity pool tier.
 12482  	Name *string `type:"string" enum:"TieringPolicyName"`
 12483  }
 12484  
 12485  // String returns the string representation.
 12486  //
 12487  // API parameter values that are decorated as "sensitive" in the API will not
 12488  // be included in the string output. The member name will be present, but the
 12489  // value will be replaced with "sensitive".
 12490  func (s TieringPolicy) String() string {
 12491  	return awsutil.Prettify(s)
 12492  }
 12493  
 12494  // GoString returns the string representation.
 12495  //
 12496  // API parameter values that are decorated as "sensitive" in the API will not
 12497  // be included in the string output. The member name will be present, but the
 12498  // value will be replaced with "sensitive".
 12499  func (s TieringPolicy) GoString() string {
 12500  	return s.String()
 12501  }
 12502  
 12503  // Validate inspects the fields of the type to determine if they are valid.
 12504  func (s *TieringPolicy) Validate() error {
 12505  	invalidParams := request.ErrInvalidParams{Context: "TieringPolicy"}
 12506  	if s.CoolingPeriod != nil && *s.CoolingPeriod < 2 {
 12507  		invalidParams.Add(request.NewErrParamMinValue("CoolingPeriod", 2))
 12508  	}
 12509  
 12510  	if invalidParams.Len() > 0 {
 12511  		return invalidParams
 12512  	}
 12513  	return nil
 12514  }
 12515  
 12516  // SetCoolingPeriod sets the CoolingPeriod field's value.
 12517  func (s *TieringPolicy) SetCoolingPeriod(v int64) *TieringPolicy {
 12518  	s.CoolingPeriod = &v
 12519  	return s
 12520  }
 12521  
 12522  // SetName sets the Name field's value.
 12523  func (s *TieringPolicy) SetName(v string) *TieringPolicy {
 12524  	s.Name = &v
 12525  	return s
 12526  }
 12527  
 12528  // The requested operation is not supported for this resource or API.
 12529  type UnsupportedOperation struct {
 12530  	_            struct{}                  `type:"structure"`
 12531  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12532  
 12533  	// A detailed error message.
 12534  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 12535  }
 12536  
 12537  // String returns the string representation.
 12538  //
 12539  // API parameter values that are decorated as "sensitive" in the API will not
 12540  // be included in the string output. The member name will be present, but the
 12541  // value will be replaced with "sensitive".
 12542  func (s UnsupportedOperation) String() string {
 12543  	return awsutil.Prettify(s)
 12544  }
 12545  
 12546  // GoString returns the string representation.
 12547  //
 12548  // API parameter values that are decorated as "sensitive" in the API will not
 12549  // be included in the string output. The member name will be present, but the
 12550  // value will be replaced with "sensitive".
 12551  func (s UnsupportedOperation) GoString() string {
 12552  	return s.String()
 12553  }
 12554  
 12555  func newErrorUnsupportedOperation(v protocol.ResponseMetadata) error {
 12556  	return &UnsupportedOperation{
 12557  		RespMetadata: v,
 12558  	}
 12559  }
 12560  
 12561  // Code returns the exception type name.
 12562  func (s *UnsupportedOperation) Code() string {
 12563  	return "UnsupportedOperation"
 12564  }
 12565  
 12566  // Message returns the exception's message.
 12567  func (s *UnsupportedOperation) Message() string {
 12568  	if s.Message_ != nil {
 12569  		return *s.Message_
 12570  	}
 12571  	return ""
 12572  }
 12573  
 12574  // OrigErr always returns nil, satisfies awserr.Error interface.
 12575  func (s *UnsupportedOperation) OrigErr() error {
 12576  	return nil
 12577  }
 12578  
 12579  func (s *UnsupportedOperation) Error() string {
 12580  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12581  }
 12582  
 12583  // Status code returns the HTTP status code for the request's response error.
 12584  func (s *UnsupportedOperation) StatusCode() int {
 12585  	return s.RespMetadata.StatusCode
 12586  }
 12587  
 12588  // RequestID returns the service's response RequestID for request.
 12589  func (s *UnsupportedOperation) RequestID() string {
 12590  	return s.RespMetadata.RequestID
 12591  }
 12592  
 12593  // The request object for UntagResource action.
 12594  type UntagResourceInput struct {
 12595  	_ struct{} `type:"structure"`
 12596  
 12597  	// The ARN of the Amazon FSx resource to untag.
 12598  	//
 12599  	// ResourceARN is a required field
 12600  	ResourceARN *string `min:"8" type:"string" required:"true"`
 12601  
 12602  	// A list of keys of tags on the resource to untag. In case the tag key doesn't
 12603  	// exist, the call will still succeed to be idempotent.
 12604  	//
 12605  	// TagKeys is a required field
 12606  	TagKeys []*string `min:"1" type:"list" required:"true"`
 12607  }
 12608  
 12609  // String returns the string representation.
 12610  //
 12611  // API parameter values that are decorated as "sensitive" in the API will not
 12612  // be included in the string output. The member name will be present, but the
 12613  // value will be replaced with "sensitive".
 12614  func (s UntagResourceInput) String() string {
 12615  	return awsutil.Prettify(s)
 12616  }
 12617  
 12618  // GoString returns the string representation.
 12619  //
 12620  // API parameter values that are decorated as "sensitive" in the API will not
 12621  // be included in the string output. The member name will be present, but the
 12622  // value will be replaced with "sensitive".
 12623  func (s UntagResourceInput) GoString() string {
 12624  	return s.String()
 12625  }
 12626  
 12627  // Validate inspects the fields of the type to determine if they are valid.
 12628  func (s *UntagResourceInput) Validate() error {
 12629  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 12630  	if s.ResourceARN == nil {
 12631  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
 12632  	}
 12633  	if s.ResourceARN != nil && len(*s.ResourceARN) < 8 {
 12634  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 8))
 12635  	}
 12636  	if s.TagKeys == nil {
 12637  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 12638  	}
 12639  	if s.TagKeys != nil && len(s.TagKeys) < 1 {
 12640  		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
 12641  	}
 12642  
 12643  	if invalidParams.Len() > 0 {
 12644  		return invalidParams
 12645  	}
 12646  	return nil
 12647  }
 12648  
 12649  // SetResourceARN sets the ResourceARN field's value.
 12650  func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput {
 12651  	s.ResourceARN = &v
 12652  	return s
 12653  }
 12654  
 12655  // SetTagKeys sets the TagKeys field's value.
 12656  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 12657  	s.TagKeys = v
 12658  	return s
 12659  }
 12660  
 12661  // The response object for UntagResource action.
 12662  type UntagResourceOutput struct {
 12663  	_ struct{} `type:"structure"`
 12664  }
 12665  
 12666  // String returns the string representation.
 12667  //
 12668  // API parameter values that are decorated as "sensitive" in the API will not
 12669  // be included in the string output. The member name will be present, but the
 12670  // value will be replaced with "sensitive".
 12671  func (s UntagResourceOutput) String() string {
 12672  	return awsutil.Prettify(s)
 12673  }
 12674  
 12675  // GoString returns the string representation.
 12676  //
 12677  // API parameter values that are decorated as "sensitive" in the API will not
 12678  // be included in the string output. The member name will be present, but the
 12679  // value will be replaced with "sensitive".
 12680  func (s UntagResourceOutput) GoString() string {
 12681  	return s.String()
 12682  }
 12683  
 12684  // The request object for the UpdateFileSystem operation.
 12685  type UpdateFileSystemInput struct {
 12686  	_ struct{} `type:"structure"`
 12687  
 12688  	// A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent
 12689  	// updates. This string is automatically filled on your behalf when you use
 12690  	// the Command Line Interface (CLI) or an Amazon Web Services SDK.
 12691  	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
 12692  
 12693  	// Identifies the file system that you are updating.
 12694  	//
 12695  	// FileSystemId is a required field
 12696  	FileSystemId *string `min:"11" type:"string" required:"true"`
 12697  
 12698  	// The configuration object for Amazon FSx for Lustre file systems used in the
 12699  	// UpdateFileSystem operation.
 12700  	LustreConfiguration *UpdateFileSystemLustreConfiguration `type:"structure"`
 12701  
 12702  	// The configuration updates for an Amazon FSx for NetApp ONTAP file system.
 12703  	OntapConfiguration *UpdateFileSystemOntapConfiguration `type:"structure"`
 12704  
 12705  	// Use this parameter to increase the storage capacity of an Amazon FSx for
 12706  	// Windows File Server or Amazon FSx for Lustre file system. Specifies the storage
 12707  	// capacity target value, GiB, to increase the storage capacity for the file
 12708  	// system that you're updating. You cannot make a storage capacity increase
 12709  	// request if there is an existing storage capacity increase request in progress.
 12710  	//
 12711  	// For Windows file systems, the storage capacity target value must be at least
 12712  	// 10 percent (%) greater than the current storage capacity value. In order
 12713  	// to increase storage capacity, the file system must have at least 16 MB/s
 12714  	// of throughput capacity.
 12715  	//
 12716  	// For Lustre file systems, the storage capacity target value can be the following:
 12717  	//
 12718  	//    * For SCRATCH_2 and PERSISTENT_1 SSD deployment types, valid values are
 12719  	//    in multiples of 2400 GiB. The value must be greater than the current storage
 12720  	//    capacity.
 12721  	//
 12722  	//    * For PERSISTENT HDD file systems, valid values are multiples of 6000
 12723  	//    GiB for 12 MB/s/TiB file systems and multiples of 1800 GiB for 40 MB/s/TiB
 12724  	//    file systems. The values must be greater than the current storage capacity.
 12725  	//
 12726  	//    * For SCRATCH_1 file systems, you cannot increase the storage capacity.
 12727  	//
 12728  	// For more information, see Managing storage capacity (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html)
 12729  	// in the Amazon FSx for Windows File Server User Guide and Managing storage
 12730  	// and throughput capacity (https://docs.aws.amazon.com/fsx/latest/LustreGuide/managing-storage-capacity.html)
 12731  	// in the Amazon FSx for Lustre User Guide.
 12732  	StorageCapacity *int64 `type:"integer"`
 12733  
 12734  	// The configuration updates for an Amazon FSx for Windows File Server file
 12735  	// system.
 12736  	WindowsConfiguration *UpdateFileSystemWindowsConfiguration `type:"structure"`
 12737  }
 12738  
 12739  // String returns the string representation.
 12740  //
 12741  // API parameter values that are decorated as "sensitive" in the API will not
 12742  // be included in the string output. The member name will be present, but the
 12743  // value will be replaced with "sensitive".
 12744  func (s UpdateFileSystemInput) String() string {
 12745  	return awsutil.Prettify(s)
 12746  }
 12747  
 12748  // GoString returns the string representation.
 12749  //
 12750  // API parameter values that are decorated as "sensitive" in the API will not
 12751  // be included in the string output. The member name will be present, but the
 12752  // value will be replaced with "sensitive".
 12753  func (s UpdateFileSystemInput) GoString() string {
 12754  	return s.String()
 12755  }
 12756  
 12757  // Validate inspects the fields of the type to determine if they are valid.
 12758  func (s *UpdateFileSystemInput) Validate() error {
 12759  	invalidParams := request.ErrInvalidParams{Context: "UpdateFileSystemInput"}
 12760  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
 12761  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
 12762  	}
 12763  	if s.FileSystemId == nil {
 12764  		invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
 12765  	}
 12766  	if s.FileSystemId != nil && len(*s.FileSystemId) < 11 {
 12767  		invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11))
 12768  	}
 12769  	if s.LustreConfiguration != nil {
 12770  		if err := s.LustreConfiguration.Validate(); err != nil {
 12771  			invalidParams.AddNested("LustreConfiguration", err.(request.ErrInvalidParams))
 12772  		}
 12773  	}
 12774  	if s.OntapConfiguration != nil {
 12775  		if err := s.OntapConfiguration.Validate(); err != nil {
 12776  			invalidParams.AddNested("OntapConfiguration", err.(request.ErrInvalidParams))
 12777  		}
 12778  	}
 12779  	if s.WindowsConfiguration != nil {
 12780  		if err := s.WindowsConfiguration.Validate(); err != nil {
 12781  			invalidParams.AddNested("WindowsConfiguration", err.(request.ErrInvalidParams))
 12782  		}
 12783  	}
 12784  
 12785  	if invalidParams.Len() > 0 {
 12786  		return invalidParams
 12787  	}
 12788  	return nil
 12789  }
 12790  
 12791  // SetClientRequestToken sets the ClientRequestToken field's value.
 12792  func (s *UpdateFileSystemInput) SetClientRequestToken(v string) *UpdateFileSystemInput {
 12793  	s.ClientRequestToken = &v
 12794  	return s
 12795  }
 12796  
 12797  // SetFileSystemId sets the FileSystemId field's value.
 12798  func (s *UpdateFileSystemInput) SetFileSystemId(v string) *UpdateFileSystemInput {
 12799  	s.FileSystemId = &v
 12800  	return s
 12801  }
 12802  
 12803  // SetLustreConfiguration sets the LustreConfiguration field's value.
 12804  func (s *UpdateFileSystemInput) SetLustreConfiguration(v *UpdateFileSystemLustreConfiguration) *UpdateFileSystemInput {
 12805  	s.LustreConfiguration = v
 12806  	return s
 12807  }
 12808  
 12809  // SetOntapConfiguration sets the OntapConfiguration field's value.
 12810  func (s *UpdateFileSystemInput) SetOntapConfiguration(v *UpdateFileSystemOntapConfiguration) *UpdateFileSystemInput {
 12811  	s.OntapConfiguration = v
 12812  	return s
 12813  }
 12814  
 12815  // SetStorageCapacity sets the StorageCapacity field's value.
 12816  func (s *UpdateFileSystemInput) SetStorageCapacity(v int64) *UpdateFileSystemInput {
 12817  	s.StorageCapacity = &v
 12818  	return s
 12819  }
 12820  
 12821  // SetWindowsConfiguration sets the WindowsConfiguration field's value.
 12822  func (s *UpdateFileSystemInput) SetWindowsConfiguration(v *UpdateFileSystemWindowsConfiguration) *UpdateFileSystemInput {
 12823  	s.WindowsConfiguration = v
 12824  	return s
 12825  }
 12826  
 12827  // The configuration object for Amazon FSx for Lustre file systems used in the
 12828  // UpdateFileSystem operation.
 12829  type UpdateFileSystemLustreConfiguration struct {
 12830  	_ struct{} `type:"structure"`
 12831  
 12832  	// (Optional) When you create your file system, your existing S3 objects appear
 12833  	// as file and directory listings. Use this property to choose how Amazon FSx
 12834  	// keeps your file and directory listing up to date as you add or modify objects
 12835  	// in your linked S3 bucket. AutoImportPolicy can have the following values:
 12836  	//
 12837  	//    * NONE - (Default) AutoImport is off. Amazon FSx only updates file and
 12838  	//    directory listings from the linked S3 bucket when the file system is created.
 12839  	//    FSx does not update the file and directory listing for any new or changed
 12840  	//    objects after choosing this option.
 12841  	//
 12842  	//    * NEW - AutoImport is on. Amazon FSx automatically imports directory listings
 12843  	//    of any new objects added to the linked S3 bucket that do not currently
 12844  	//    exist in the FSx file system.
 12845  	//
 12846  	//    * NEW_CHANGED - AutoImport is on. Amazon FSx automatically imports file
 12847  	//    and directory listings of any new objects added to the S3 bucket and any
 12848  	//    existing objects that are changed in the S3 bucket after you choose this
 12849  	//    option.
 12850  	//
 12851  	// For more information, see Automatically import updates from your S3 bucket
 12852  	// (https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html).
 12853  	AutoImportPolicy *string `type:"string" enum:"AutoImportPolicyType"`
 12854  
 12855  	// The number of days to retain automatic backups. Setting this to 0 disables
 12856  	// automatic backups. You can retain automatic backups for a maximum of 90 days.
 12857  	// The default is 0.
 12858  	AutomaticBackupRetentionDays *int64 `type:"integer"`
 12859  
 12860  	// A recurring daily time, in the format HH:MM. HH is the zero-padded hour of
 12861  	// the day (0-23), and MM is the zero-padded minute of the hour. For example,
 12862  	// 05:00 specifies 5 AM daily.
 12863  	DailyAutomaticBackupStartTime *string `min:"5" type:"string"`
 12864  
 12865  	// Sets the data compression configuration for the file system. DataCompressionType
 12866  	// can have the following values:
 12867  	//
 12868  	//    * NONE - Data compression is turned off for the file system.
 12869  	//
 12870  	//    * LZ4 - Data compression is turned on with the LZ4 algorithm.
 12871  	//
 12872  	// If you don't use DataCompressionType, the file system retains its current
 12873  	// data compression configuration.
 12874  	//
 12875  	// For more information, see Lustre data compression (https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-compression.html).
 12876  	DataCompressionType *string `type:"string" enum:"DataCompressionType"`
 12877  
 12878  	// (Optional) The preferred start time to perform weekly maintenance, formatted
 12879  	// d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7,
 12880  	// beginning with Monday and ending with Sunday.
 12881  	WeeklyMaintenanceStartTime *string `min:"7" type:"string"`
 12882  }
 12883  
 12884  // String returns the string representation.
 12885  //
 12886  // API parameter values that are decorated as "sensitive" in the API will not
 12887  // be included in the string output. The member name will be present, but the
 12888  // value will be replaced with "sensitive".
 12889  func (s UpdateFileSystemLustreConfiguration) String() string {
 12890  	return awsutil.Prettify(s)
 12891  }
 12892  
 12893  // GoString returns the string representation.
 12894  //
 12895  // API parameter values that are decorated as "sensitive" in the API will not
 12896  // be included in the string output. The member name will be present, but the
 12897  // value will be replaced with "sensitive".
 12898  func (s UpdateFileSystemLustreConfiguration) GoString() string {
 12899  	return s.String()
 12900  }
 12901  
 12902  // Validate inspects the fields of the type to determine if they are valid.
 12903  func (s *UpdateFileSystemLustreConfiguration) Validate() error {
 12904  	invalidParams := request.ErrInvalidParams{Context: "UpdateFileSystemLustreConfiguration"}
 12905  	if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 {
 12906  		invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5))
 12907  	}
 12908  	if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 {
 12909  		invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7))
 12910  	}
 12911  
 12912  	if invalidParams.Len() > 0 {
 12913  		return invalidParams
 12914  	}
 12915  	return nil
 12916  }
 12917  
 12918  // SetAutoImportPolicy sets the AutoImportPolicy field's value.
 12919  func (s *UpdateFileSystemLustreConfiguration) SetAutoImportPolicy(v string) *UpdateFileSystemLustreConfiguration {
 12920  	s.AutoImportPolicy = &v
 12921  	return s
 12922  }
 12923  
 12924  // SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value.
 12925  func (s *UpdateFileSystemLustreConfiguration) SetAutomaticBackupRetentionDays(v int64) *UpdateFileSystemLustreConfiguration {
 12926  	s.AutomaticBackupRetentionDays = &v
 12927  	return s
 12928  }
 12929  
 12930  // SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value.
 12931  func (s *UpdateFileSystemLustreConfiguration) SetDailyAutomaticBackupStartTime(v string) *UpdateFileSystemLustreConfiguration {
 12932  	s.DailyAutomaticBackupStartTime = &v
 12933  	return s
 12934  }
 12935  
 12936  // SetDataCompressionType sets the DataCompressionType field's value.
 12937  func (s *UpdateFileSystemLustreConfiguration) SetDataCompressionType(v string) *UpdateFileSystemLustreConfiguration {
 12938  	s.DataCompressionType = &v
 12939  	return s
 12940  }
 12941  
 12942  // SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value.
 12943  func (s *UpdateFileSystemLustreConfiguration) SetWeeklyMaintenanceStartTime(v string) *UpdateFileSystemLustreConfiguration {
 12944  	s.WeeklyMaintenanceStartTime = &v
 12945  	return s
 12946  }
 12947  
 12948  // The configuration updates for an Amazon FSx for NetApp ONTAP file system.
 12949  type UpdateFileSystemOntapConfiguration struct {
 12950  	_ struct{} `type:"structure"`
 12951  
 12952  	// The number of days to retain automatic backups. Setting this to 0 disables
 12953  	// automatic backups. You can retain automatic backups for a maximum of 90 days.
 12954  	// The default is 0.
 12955  	AutomaticBackupRetentionDays *int64 `type:"integer"`
 12956  
 12957  	// A recurring daily time, in the format HH:MM. HH is the zero-padded hour of
 12958  	// the day (0-23), and MM is the zero-padded minute of the hour. For example,
 12959  	// 05:00 specifies 5 AM daily.
 12960  	DailyAutomaticBackupStartTime *string `min:"5" type:"string"`
 12961  
 12962  	// The ONTAP administrative password for the fsxadmin user.
 12963  	//
 12964  	// FsxAdminPassword is a sensitive parameter and its value will be
 12965  	// replaced with "sensitive" in string returned by UpdateFileSystemOntapConfiguration's
 12966  	// String and GoString methods.
 12967  	FsxAdminPassword *string `min:"8" type:"string" sensitive:"true"`
 12968  
 12969  	// A recurring weekly time, in the format D:HH:MM.
 12970  	//
 12971  	// D is the day of the week, for which 1 represents Monday and 7 represents
 12972  	// Sunday. For further details, see the ISO-8601 spec as described on Wikipedia
 12973  	// (https://en.wikipedia.org/wiki/ISO_week_date).
 12974  	//
 12975  	// HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute
 12976  	// of the hour.
 12977  	//
 12978  	// For example, 1:05:00 specifies maintenance at 5 AM Monday.
 12979  	WeeklyMaintenanceStartTime *string `min:"7" type:"string"`
 12980  }
 12981  
 12982  // String returns the string representation.
 12983  //
 12984  // API parameter values that are decorated as "sensitive" in the API will not
 12985  // be included in the string output. The member name will be present, but the
 12986  // value will be replaced with "sensitive".
 12987  func (s UpdateFileSystemOntapConfiguration) String() string {
 12988  	return awsutil.Prettify(s)
 12989  }
 12990  
 12991  // GoString returns the string representation.
 12992  //
 12993  // API parameter values that are decorated as "sensitive" in the API will not
 12994  // be included in the string output. The member name will be present, but the
 12995  // value will be replaced with "sensitive".
 12996  func (s UpdateFileSystemOntapConfiguration) GoString() string {
 12997  	return s.String()
 12998  }
 12999  
 13000  // Validate inspects the fields of the type to determine if they are valid.
 13001  func (s *UpdateFileSystemOntapConfiguration) Validate() error {
 13002  	invalidParams := request.ErrInvalidParams{Context: "UpdateFileSystemOntapConfiguration"}
 13003  	if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 {
 13004  		invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5))
 13005  	}
 13006  	if s.FsxAdminPassword != nil && len(*s.FsxAdminPassword) < 8 {
 13007  		invalidParams.Add(request.NewErrParamMinLen("FsxAdminPassword", 8))
 13008  	}
 13009  	if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 {
 13010  		invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7))
 13011  	}
 13012  
 13013  	if invalidParams.Len() > 0 {
 13014  		return invalidParams
 13015  	}
 13016  	return nil
 13017  }
 13018  
 13019  // SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value.
 13020  func (s *UpdateFileSystemOntapConfiguration) SetAutomaticBackupRetentionDays(v int64) *UpdateFileSystemOntapConfiguration {
 13021  	s.AutomaticBackupRetentionDays = &v
 13022  	return s
 13023  }
 13024  
 13025  // SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value.
 13026  func (s *UpdateFileSystemOntapConfiguration) SetDailyAutomaticBackupStartTime(v string) *UpdateFileSystemOntapConfiguration {
 13027  	s.DailyAutomaticBackupStartTime = &v
 13028  	return s
 13029  }
 13030  
 13031  // SetFsxAdminPassword sets the FsxAdminPassword field's value.
 13032  func (s *UpdateFileSystemOntapConfiguration) SetFsxAdminPassword(v string) *UpdateFileSystemOntapConfiguration {
 13033  	s.FsxAdminPassword = &v
 13034  	return s
 13035  }
 13036  
 13037  // SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value.
 13038  func (s *UpdateFileSystemOntapConfiguration) SetWeeklyMaintenanceStartTime(v string) *UpdateFileSystemOntapConfiguration {
 13039  	s.WeeklyMaintenanceStartTime = &v
 13040  	return s
 13041  }
 13042  
 13043  // The response object for the UpdateFileSystem operation.
 13044  type UpdateFileSystemOutput struct {
 13045  	_ struct{} `type:"structure"`
 13046  
 13047  	// A description of the file system that was updated.
 13048  	FileSystem *FileSystem `type:"structure"`
 13049  }
 13050  
 13051  // String returns the string representation.
 13052  //
 13053  // API parameter values that are decorated as "sensitive" in the API will not
 13054  // be included in the string output. The member name will be present, but the
 13055  // value will be replaced with "sensitive".
 13056  func (s UpdateFileSystemOutput) String() string {
 13057  	return awsutil.Prettify(s)
 13058  }
 13059  
 13060  // GoString returns the string representation.
 13061  //
 13062  // API parameter values that are decorated as "sensitive" in the API will not
 13063  // be included in the string output. The member name will be present, but the
 13064  // value will be replaced with "sensitive".
 13065  func (s UpdateFileSystemOutput) GoString() string {
 13066  	return s.String()
 13067  }
 13068  
 13069  // SetFileSystem sets the FileSystem field's value.
 13070  func (s *UpdateFileSystemOutput) SetFileSystem(v *FileSystem) *UpdateFileSystemOutput {
 13071  	s.FileSystem = v
 13072  	return s
 13073  }
 13074  
 13075  // Updates the configuration for an existing Amazon FSx for Windows File Server
 13076  // file system. Amazon FSx only overwrites existing properties with non-null
 13077  // values provided in the request.
 13078  type UpdateFileSystemWindowsConfiguration struct {
 13079  	_ struct{} `type:"structure"`
 13080  
 13081  	// The configuration that Amazon FSx for Windows File Server uses to audit and
 13082  	// log user accesses of files, folders, and file shares on the Amazon FSx for
 13083  	// Windows File Server file system..
 13084  	AuditLogConfiguration *WindowsAuditLogCreateConfiguration `type:"structure"`
 13085  
 13086  	// The number of days to retain automatic daily backups. Setting this to zero
 13087  	// (0) disables automatic daily backups. You can retain automatic daily backups
 13088  	// for a maximum of 90 days. For more information, see Working with Automatic
 13089  	// Daily Backups (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-backups.html#automatic-backups).
 13090  	AutomaticBackupRetentionDays *int64 `type:"integer"`
 13091  
 13092  	// The preferred time to start the daily automatic backup, in the UTC time zone,
 13093  	// for example, 02:00
 13094  	DailyAutomaticBackupStartTime *string `min:"5" type:"string"`
 13095  
 13096  	// The configuration Amazon FSx uses to join the Windows File Server instance
 13097  	// to the self-managed Microsoft AD directory. You cannot make a self-managed
 13098  	// Microsoft AD update request if there is an existing self-managed Microsoft
 13099  	// AD update request in progress.
 13100  	SelfManagedActiveDirectoryConfiguration *SelfManagedActiveDirectoryConfigurationUpdates `type:"structure"`
 13101  
 13102  	// Sets the target value for a file system's throughput capacity, in MB/s, that
 13103  	// you are updating the file system to. Valid values are 8, 16, 32, 64, 128,
 13104  	// 256, 512, 1024, 2048. You cannot make a throughput capacity update request
 13105  	// if there is an existing throughput capacity update request in progress. For
 13106  	// more information, see Managing Throughput Capacity (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-throughput-capacity.html).
 13107  	ThroughputCapacity *int64 `min:"8" type:"integer"`
 13108  
 13109  	// The preferred start time to perform weekly maintenance, formatted d:HH:MM
 13110  	// in the UTC time zone. Where d is the weekday number, from 1 through 7, with
 13111  	// 1 = Monday and 7 = Sunday.
 13112  	WeeklyMaintenanceStartTime *string `min:"7" type:"string"`
 13113  }
 13114  
 13115  // String returns the string representation.
 13116  //
 13117  // API parameter values that are decorated as "sensitive" in the API will not
 13118  // be included in the string output. The member name will be present, but the
 13119  // value will be replaced with "sensitive".
 13120  func (s UpdateFileSystemWindowsConfiguration) String() string {
 13121  	return awsutil.Prettify(s)
 13122  }
 13123  
 13124  // GoString returns the string representation.
 13125  //
 13126  // API parameter values that are decorated as "sensitive" in the API will not
 13127  // be included in the string output. The member name will be present, but the
 13128  // value will be replaced with "sensitive".
 13129  func (s UpdateFileSystemWindowsConfiguration) GoString() string {
 13130  	return s.String()
 13131  }
 13132  
 13133  // Validate inspects the fields of the type to determine if they are valid.
 13134  func (s *UpdateFileSystemWindowsConfiguration) Validate() error {
 13135  	invalidParams := request.ErrInvalidParams{Context: "UpdateFileSystemWindowsConfiguration"}
 13136  	if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 {
 13137  		invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5))
 13138  	}
 13139  	if s.ThroughputCapacity != nil && *s.ThroughputCapacity < 8 {
 13140  		invalidParams.Add(request.NewErrParamMinValue("ThroughputCapacity", 8))
 13141  	}
 13142  	if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 {
 13143  		invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7))
 13144  	}
 13145  	if s.AuditLogConfiguration != nil {
 13146  		if err := s.AuditLogConfiguration.Validate(); err != nil {
 13147  			invalidParams.AddNested("AuditLogConfiguration", err.(request.ErrInvalidParams))
 13148  		}
 13149  	}
 13150  	if s.SelfManagedActiveDirectoryConfiguration != nil {
 13151  		if err := s.SelfManagedActiveDirectoryConfiguration.Validate(); err != nil {
 13152  			invalidParams.AddNested("SelfManagedActiveDirectoryConfiguration", err.(request.ErrInvalidParams))
 13153  		}
 13154  	}
 13155  
 13156  	if invalidParams.Len() > 0 {
 13157  		return invalidParams
 13158  	}
 13159  	return nil
 13160  }
 13161  
 13162  // SetAuditLogConfiguration sets the AuditLogConfiguration field's value.
 13163  func (s *UpdateFileSystemWindowsConfiguration) SetAuditLogConfiguration(v *WindowsAuditLogCreateConfiguration) *UpdateFileSystemWindowsConfiguration {
 13164  	s.AuditLogConfiguration = v
 13165  	return s
 13166  }
 13167  
 13168  // SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value.
 13169  func (s *UpdateFileSystemWindowsConfiguration) SetAutomaticBackupRetentionDays(v int64) *UpdateFileSystemWindowsConfiguration {
 13170  	s.AutomaticBackupRetentionDays = &v
 13171  	return s
 13172  }
 13173  
 13174  // SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value.
 13175  func (s *UpdateFileSystemWindowsConfiguration) SetDailyAutomaticBackupStartTime(v string) *UpdateFileSystemWindowsConfiguration {
 13176  	s.DailyAutomaticBackupStartTime = &v
 13177  	return s
 13178  }
 13179  
 13180  // SetSelfManagedActiveDirectoryConfiguration sets the SelfManagedActiveDirectoryConfiguration field's value.
 13181  func (s *UpdateFileSystemWindowsConfiguration) SetSelfManagedActiveDirectoryConfiguration(v *SelfManagedActiveDirectoryConfigurationUpdates) *UpdateFileSystemWindowsConfiguration {
 13182  	s.SelfManagedActiveDirectoryConfiguration = v
 13183  	return s
 13184  }
 13185  
 13186  // SetThroughputCapacity sets the ThroughputCapacity field's value.
 13187  func (s *UpdateFileSystemWindowsConfiguration) SetThroughputCapacity(v int64) *UpdateFileSystemWindowsConfiguration {
 13188  	s.ThroughputCapacity = &v
 13189  	return s
 13190  }
 13191  
 13192  // SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value.
 13193  func (s *UpdateFileSystemWindowsConfiguration) SetWeeklyMaintenanceStartTime(v string) *UpdateFileSystemWindowsConfiguration {
 13194  	s.WeeklyMaintenanceStartTime = &v
 13195  	return s
 13196  }
 13197  
 13198  // Used to specify changes to the ONTAP configuration for the volume you are
 13199  // updating.
 13200  type UpdateOntapVolumeConfiguration struct {
 13201  	_ struct{} `type:"structure"`
 13202  
 13203  	// Specifies the location in the SVM's namespace where the volume is mounted.
 13204  	// The JunctionPath must have a leading forward slash, such as /vol3.
 13205  	JunctionPath *string `min:"1" type:"string"`
 13206  
 13207  	// The security style for the volume, which can be UNIX. NTFS, or MIXED.
 13208  	SecurityStyle *string `type:"string" enum:"SecurityStyle"`
 13209  
 13210  	// Specifies the size of the volume in megabytes.
 13211  	SizeInMegabytes *int64 `type:"integer"`
 13212  
 13213  	// Default is false. Set to true to enable the deduplication, compression, and
 13214  	// compaction storage efficiency features on the volume.
 13215  	StorageEfficiencyEnabled *bool `type:"boolean"`
 13216  
 13217  	// Update the volume's data tiering policy.
 13218  	TieringPolicy *TieringPolicy `type:"structure"`
 13219  }
 13220  
 13221  // String returns the string representation.
 13222  //
 13223  // API parameter values that are decorated as "sensitive" in the API will not
 13224  // be included in the string output. The member name will be present, but the
 13225  // value will be replaced with "sensitive".
 13226  func (s UpdateOntapVolumeConfiguration) String() string {
 13227  	return awsutil.Prettify(s)
 13228  }
 13229  
 13230  // GoString returns the string representation.
 13231  //
 13232  // API parameter values that are decorated as "sensitive" in the API will not
 13233  // be included in the string output. The member name will be present, but the
 13234  // value will be replaced with "sensitive".
 13235  func (s UpdateOntapVolumeConfiguration) GoString() string {
 13236  	return s.String()
 13237  }
 13238  
 13239  // Validate inspects the fields of the type to determine if they are valid.
 13240  func (s *UpdateOntapVolumeConfiguration) Validate() error {
 13241  	invalidParams := request.ErrInvalidParams{Context: "UpdateOntapVolumeConfiguration"}
 13242  	if s.JunctionPath != nil && len(*s.JunctionPath) < 1 {
 13243  		invalidParams.Add(request.NewErrParamMinLen("JunctionPath", 1))
 13244  	}
 13245  	if s.TieringPolicy != nil {
 13246  		if err := s.TieringPolicy.Validate(); err != nil {
 13247  			invalidParams.AddNested("TieringPolicy", err.(request.ErrInvalidParams))
 13248  		}
 13249  	}
 13250  
 13251  	if invalidParams.Len() > 0 {
 13252  		return invalidParams
 13253  	}
 13254  	return nil
 13255  }
 13256  
 13257  // SetJunctionPath sets the JunctionPath field's value.
 13258  func (s *UpdateOntapVolumeConfiguration) SetJunctionPath(v string) *UpdateOntapVolumeConfiguration {
 13259  	s.JunctionPath = &v
 13260  	return s
 13261  }
 13262  
 13263  // SetSecurityStyle sets the SecurityStyle field's value.
 13264  func (s *UpdateOntapVolumeConfiguration) SetSecurityStyle(v string) *UpdateOntapVolumeConfiguration {
 13265  	s.SecurityStyle = &v
 13266  	return s
 13267  }
 13268  
 13269  // SetSizeInMegabytes sets the SizeInMegabytes field's value.
 13270  func (s *UpdateOntapVolumeConfiguration) SetSizeInMegabytes(v int64) *UpdateOntapVolumeConfiguration {
 13271  	s.SizeInMegabytes = &v
 13272  	return s
 13273  }
 13274  
 13275  // SetStorageEfficiencyEnabled sets the StorageEfficiencyEnabled field's value.
 13276  func (s *UpdateOntapVolumeConfiguration) SetStorageEfficiencyEnabled(v bool) *UpdateOntapVolumeConfiguration {
 13277  	s.StorageEfficiencyEnabled = &v
 13278  	return s
 13279  }
 13280  
 13281  // SetTieringPolicy sets the TieringPolicy field's value.
 13282  func (s *UpdateOntapVolumeConfiguration) SetTieringPolicy(v *TieringPolicy) *UpdateOntapVolumeConfiguration {
 13283  	s.TieringPolicy = v
 13284  	return s
 13285  }
 13286  
 13287  type UpdateStorageVirtualMachineInput struct {
 13288  	_ struct{} `type:"structure"`
 13289  
 13290  	// Updates the Microsoft Active Directory (AD) configuration for an SVM that
 13291  	// is joined to an AD.
 13292  	ActiveDirectoryConfiguration *UpdateSvmActiveDirectoryConfiguration `type:"structure"`
 13293  
 13294  	// (Optional) An idempotency token for resource creation, in a string of up
 13295  	// to 64 ASCII characters. This token is automatically filled on your behalf
 13296  	// when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.
 13297  	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
 13298  
 13299  	// The ID of the SVM that you want to update, in the format svm-0123456789abcdef0.
 13300  	//
 13301  	// StorageVirtualMachineId is a required field
 13302  	StorageVirtualMachineId *string `min:"21" type:"string" required:"true"`
 13303  
 13304  	// Enter a new SvmAdminPassword if you are updating it.
 13305  	//
 13306  	// SvmAdminPassword is a sensitive parameter and its value will be
 13307  	// replaced with "sensitive" in string returned by UpdateStorageVirtualMachineInput's
 13308  	// String and GoString methods.
 13309  	SvmAdminPassword *string `min:"8" type:"string" sensitive:"true"`
 13310  }
 13311  
 13312  // String returns the string representation.
 13313  //
 13314  // API parameter values that are decorated as "sensitive" in the API will not
 13315  // be included in the string output. The member name will be present, but the
 13316  // value will be replaced with "sensitive".
 13317  func (s UpdateStorageVirtualMachineInput) String() string {
 13318  	return awsutil.Prettify(s)
 13319  }
 13320  
 13321  // GoString returns the string representation.
 13322  //
 13323  // API parameter values that are decorated as "sensitive" in the API will not
 13324  // be included in the string output. The member name will be present, but the
 13325  // value will be replaced with "sensitive".
 13326  func (s UpdateStorageVirtualMachineInput) GoString() string {
 13327  	return s.String()
 13328  }
 13329  
 13330  // Validate inspects the fields of the type to determine if they are valid.
 13331  func (s *UpdateStorageVirtualMachineInput) Validate() error {
 13332  	invalidParams := request.ErrInvalidParams{Context: "UpdateStorageVirtualMachineInput"}
 13333  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
 13334  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
 13335  	}
 13336  	if s.StorageVirtualMachineId == nil {
 13337  		invalidParams.Add(request.NewErrParamRequired("StorageVirtualMachineId"))
 13338  	}
 13339  	if s.StorageVirtualMachineId != nil && len(*s.StorageVirtualMachineId) < 21 {
 13340  		invalidParams.Add(request.NewErrParamMinLen("StorageVirtualMachineId", 21))
 13341  	}
 13342  	if s.SvmAdminPassword != nil && len(*s.SvmAdminPassword) < 8 {
 13343  		invalidParams.Add(request.NewErrParamMinLen("SvmAdminPassword", 8))
 13344  	}
 13345  	if s.ActiveDirectoryConfiguration != nil {
 13346  		if err := s.ActiveDirectoryConfiguration.Validate(); err != nil {
 13347  			invalidParams.AddNested("ActiveDirectoryConfiguration", err.(request.ErrInvalidParams))
 13348  		}
 13349  	}
 13350  
 13351  	if invalidParams.Len() > 0 {
 13352  		return invalidParams
 13353  	}
 13354  	return nil
 13355  }
 13356  
 13357  // SetActiveDirectoryConfiguration sets the ActiveDirectoryConfiguration field's value.
 13358  func (s *UpdateStorageVirtualMachineInput) SetActiveDirectoryConfiguration(v *UpdateSvmActiveDirectoryConfiguration) *UpdateStorageVirtualMachineInput {
 13359  	s.ActiveDirectoryConfiguration = v
 13360  	return s
 13361  }
 13362  
 13363  // SetClientRequestToken sets the ClientRequestToken field's value.
 13364  func (s *UpdateStorageVirtualMachineInput) SetClientRequestToken(v string) *UpdateStorageVirtualMachineInput {
 13365  	s.ClientRequestToken = &v
 13366  	return s
 13367  }
 13368  
 13369  // SetStorageVirtualMachineId sets the StorageVirtualMachineId field's value.
 13370  func (s *UpdateStorageVirtualMachineInput) SetStorageVirtualMachineId(v string) *UpdateStorageVirtualMachineInput {
 13371  	s.StorageVirtualMachineId = &v
 13372  	return s
 13373  }
 13374  
 13375  // SetSvmAdminPassword sets the SvmAdminPassword field's value.
 13376  func (s *UpdateStorageVirtualMachineInput) SetSvmAdminPassword(v string) *UpdateStorageVirtualMachineInput {
 13377  	s.SvmAdminPassword = &v
 13378  	return s
 13379  }
 13380  
 13381  type UpdateStorageVirtualMachineOutput struct {
 13382  	_ struct{} `type:"structure"`
 13383  
 13384  	// Describes the Amazon FSx for NetApp ONTAP storage virtual machine (SVM) configuraton.
 13385  	StorageVirtualMachine *StorageVirtualMachine `type:"structure"`
 13386  }
 13387  
 13388  // String returns the string representation.
 13389  //
 13390  // API parameter values that are decorated as "sensitive" in the API will not
 13391  // be included in the string output. The member name will be present, but the
 13392  // value will be replaced with "sensitive".
 13393  func (s UpdateStorageVirtualMachineOutput) String() string {
 13394  	return awsutil.Prettify(s)
 13395  }
 13396  
 13397  // GoString returns the string representation.
 13398  //
 13399  // API parameter values that are decorated as "sensitive" in the API will not
 13400  // be included in the string output. The member name will be present, but the
 13401  // value will be replaced with "sensitive".
 13402  func (s UpdateStorageVirtualMachineOutput) GoString() string {
 13403  	return s.String()
 13404  }
 13405  
 13406  // SetStorageVirtualMachine sets the StorageVirtualMachine field's value.
 13407  func (s *UpdateStorageVirtualMachineOutput) SetStorageVirtualMachine(v *StorageVirtualMachine) *UpdateStorageVirtualMachineOutput {
 13408  	s.StorageVirtualMachine = v
 13409  	return s
 13410  }
 13411  
 13412  // Updates the Microsoft Active Directory (AD) configuration of an SVM joined
 13413  // to an AD. Pleae note, account credentials are not returned in the response
 13414  // payload.
 13415  type UpdateSvmActiveDirectoryConfiguration struct {
 13416  	_ struct{} `type:"structure"`
 13417  
 13418  	// The configuration that Amazon FSx uses to join the Windows File Server instance
 13419  	// to a self-managed Microsoft Active Directory (AD) directory.
 13420  	SelfManagedActiveDirectoryConfiguration *SelfManagedActiveDirectoryConfigurationUpdates `type:"structure"`
 13421  }
 13422  
 13423  // String returns the string representation.
 13424  //
 13425  // API parameter values that are decorated as "sensitive" in the API will not
 13426  // be included in the string output. The member name will be present, but the
 13427  // value will be replaced with "sensitive".
 13428  func (s UpdateSvmActiveDirectoryConfiguration) String() string {
 13429  	return awsutil.Prettify(s)
 13430  }
 13431  
 13432  // GoString returns the string representation.
 13433  //
 13434  // API parameter values that are decorated as "sensitive" in the API will not
 13435  // be included in the string output. The member name will be present, but the
 13436  // value will be replaced with "sensitive".
 13437  func (s UpdateSvmActiveDirectoryConfiguration) GoString() string {
 13438  	return s.String()
 13439  }
 13440  
 13441  // Validate inspects the fields of the type to determine if they are valid.
 13442  func (s *UpdateSvmActiveDirectoryConfiguration) Validate() error {
 13443  	invalidParams := request.ErrInvalidParams{Context: "UpdateSvmActiveDirectoryConfiguration"}
 13444  	if s.SelfManagedActiveDirectoryConfiguration != nil {
 13445  		if err := s.SelfManagedActiveDirectoryConfiguration.Validate(); err != nil {
 13446  			invalidParams.AddNested("SelfManagedActiveDirectoryConfiguration", err.(request.ErrInvalidParams))
 13447  		}
 13448  	}
 13449  
 13450  	if invalidParams.Len() > 0 {
 13451  		return invalidParams
 13452  	}
 13453  	return nil
 13454  }
 13455  
 13456  // SetSelfManagedActiveDirectoryConfiguration sets the SelfManagedActiveDirectoryConfiguration field's value.
 13457  func (s *UpdateSvmActiveDirectoryConfiguration) SetSelfManagedActiveDirectoryConfiguration(v *SelfManagedActiveDirectoryConfigurationUpdates) *UpdateSvmActiveDirectoryConfiguration {
 13458  	s.SelfManagedActiveDirectoryConfiguration = v
 13459  	return s
 13460  }
 13461  
 13462  type UpdateVolumeInput struct {
 13463  	_ struct{} `type:"structure"`
 13464  
 13465  	// (Optional) An idempotency token for resource creation, in a string of up
 13466  	// to 64 ASCII characters. This token is automatically filled on your behalf
 13467  	// when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.
 13468  	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
 13469  
 13470  	// The ONTAP configuration of the volume you are updating.
 13471  	OntapConfiguration *UpdateOntapVolumeConfiguration `type:"structure"`
 13472  
 13473  	// Specifies the volume that you want to update, formatted fsvol-0123456789abcdef0.
 13474  	//
 13475  	// VolumeId is a required field
 13476  	VolumeId *string `min:"23" type:"string" required:"true"`
 13477  }
 13478  
 13479  // String returns the string representation.
 13480  //
 13481  // API parameter values that are decorated as "sensitive" in the API will not
 13482  // be included in the string output. The member name will be present, but the
 13483  // value will be replaced with "sensitive".
 13484  func (s UpdateVolumeInput) String() string {
 13485  	return awsutil.Prettify(s)
 13486  }
 13487  
 13488  // GoString returns the string representation.
 13489  //
 13490  // API parameter values that are decorated as "sensitive" in the API will not
 13491  // be included in the string output. The member name will be present, but the
 13492  // value will be replaced with "sensitive".
 13493  func (s UpdateVolumeInput) GoString() string {
 13494  	return s.String()
 13495  }
 13496  
 13497  // Validate inspects the fields of the type to determine if they are valid.
 13498  func (s *UpdateVolumeInput) Validate() error {
 13499  	invalidParams := request.ErrInvalidParams{Context: "UpdateVolumeInput"}
 13500  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
 13501  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
 13502  	}
 13503  	if s.VolumeId == nil {
 13504  		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
 13505  	}
 13506  	if s.VolumeId != nil && len(*s.VolumeId) < 23 {
 13507  		invalidParams.Add(request.NewErrParamMinLen("VolumeId", 23))
 13508  	}
 13509  	if s.OntapConfiguration != nil {
 13510  		if err := s.OntapConfiguration.Validate(); err != nil {
 13511  			invalidParams.AddNested("OntapConfiguration", err.(request.ErrInvalidParams))
 13512  		}
 13513  	}
 13514  
 13515  	if invalidParams.Len() > 0 {
 13516  		return invalidParams
 13517  	}
 13518  	return nil
 13519  }
 13520  
 13521  // SetClientRequestToken sets the ClientRequestToken field's value.
 13522  func (s *UpdateVolumeInput) SetClientRequestToken(v string) *UpdateVolumeInput {
 13523  	s.ClientRequestToken = &v
 13524  	return s
 13525  }
 13526  
 13527  // SetOntapConfiguration sets the OntapConfiguration field's value.
 13528  func (s *UpdateVolumeInput) SetOntapConfiguration(v *UpdateOntapVolumeConfiguration) *UpdateVolumeInput {
 13529  	s.OntapConfiguration = v
 13530  	return s
 13531  }
 13532  
 13533  // SetVolumeId sets the VolumeId field's value.
 13534  func (s *UpdateVolumeInput) SetVolumeId(v string) *UpdateVolumeInput {
 13535  	s.VolumeId = &v
 13536  	return s
 13537  }
 13538  
 13539  type UpdateVolumeOutput struct {
 13540  	_ struct{} `type:"structure"`
 13541  
 13542  	// Returned after a successful UpdateVolume API operation, describing the volume
 13543  	// just updated.
 13544  	Volume *Volume `type:"structure"`
 13545  }
 13546  
 13547  // String returns the string representation.
 13548  //
 13549  // API parameter values that are decorated as "sensitive" in the API will not
 13550  // be included in the string output. The member name will be present, but the
 13551  // value will be replaced with "sensitive".
 13552  func (s UpdateVolumeOutput) String() string {
 13553  	return awsutil.Prettify(s)
 13554  }
 13555  
 13556  // GoString returns the string representation.
 13557  //
 13558  // API parameter values that are decorated as "sensitive" in the API will not
 13559  // be included in the string output. The member name will be present, but the
 13560  // value will be replaced with "sensitive".
 13561  func (s UpdateVolumeOutput) GoString() string {
 13562  	return s.String()
 13563  }
 13564  
 13565  // SetVolume sets the Volume field's value.
 13566  func (s *UpdateVolumeOutput) SetVolume(v *Volume) *UpdateVolumeOutput {
 13567  	s.Volume = v
 13568  	return s
 13569  }
 13570  
 13571  // Describes an Amazon FSx for NetApp ONTAP volume.
 13572  type Volume struct {
 13573  	_ struct{} `type:"structure"`
 13574  
 13575  	// The time that the resource was created, in seconds (since 1970-01-01T00:00:00Z),
 13576  	// also known as Unix time.
 13577  	CreationTime *time.Time `type:"timestamp"`
 13578  
 13579  	// The globally unique ID of the file system, assigned by Amazon FSx.
 13580  	FileSystemId *string `min:"11" type:"string"`
 13581  
 13582  	// The lifecycle status of the volume.
 13583  	//
 13584  	//    * CREATED - The volume is fully available for use.
 13585  	//
 13586  	//    * CREATING - Amazon FSx is creating the new volume.
 13587  	//
 13588  	//    * DELETING - Amazon FSx is deleting an existing volume.
 13589  	//
 13590  	//    * FAILED - Amazon FSx was unable to create the volume.
 13591  	//
 13592  	//    * MISCONFIGURED - The volume is in a failed but recoverable state.
 13593  	//
 13594  	//    * PENDING - Amazon FSx has not started creating the volume.
 13595  	Lifecycle *string `type:"string" enum:"VolumeLifecycle"`
 13596  
 13597  	// Describes why the volume lifecycle state changed.
 13598  	LifecycleTransitionReason *LifecycleTransitionReason `type:"structure"`
 13599  
 13600  	// The name of the volume.
 13601  	Name *string `min:"1" type:"string"`
 13602  
 13603  	// The configuration of an Amazon FSx for NetApp ONTAP volume
 13604  	OntapConfiguration *OntapVolumeConfiguration `type:"structure"`
 13605  
 13606  	// The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify
 13607  	// Amazon Web Services resources. We require an ARN when you need to specify
 13608  	// a resource unambiguously across all of Amazon Web Services. For more information,
 13609  	// see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 13610  	// in the Amazon Web Services General Reference.
 13611  	ResourceARN *string `min:"8" type:"string"`
 13612  
 13613  	// A list of Tag values, with a maximum of 50 elements.
 13614  	Tags []*Tag `min:"1" type:"list"`
 13615  
 13616  	// The system-generated, unique ID of the volume.
 13617  	VolumeId *string `min:"23" type:"string"`
 13618  
 13619  	// The type of volume; ONTAP is the only valid volume type.
 13620  	VolumeType *string `type:"string" enum:"VolumeType"`
 13621  }
 13622  
 13623  // String returns the string representation.
 13624  //
 13625  // API parameter values that are decorated as "sensitive" in the API will not
 13626  // be included in the string output. The member name will be present, but the
 13627  // value will be replaced with "sensitive".
 13628  func (s Volume) String() string {
 13629  	return awsutil.Prettify(s)
 13630  }
 13631  
 13632  // GoString returns the string representation.
 13633  //
 13634  // API parameter values that are decorated as "sensitive" in the API will not
 13635  // be included in the string output. The member name will be present, but the
 13636  // value will be replaced with "sensitive".
 13637  func (s Volume) GoString() string {
 13638  	return s.String()
 13639  }
 13640  
 13641  // SetCreationTime sets the CreationTime field's value.
 13642  func (s *Volume) SetCreationTime(v time.Time) *Volume {
 13643  	s.CreationTime = &v
 13644  	return s
 13645  }
 13646  
 13647  // SetFileSystemId sets the FileSystemId field's value.
 13648  func (s *Volume) SetFileSystemId(v string) *Volume {
 13649  	s.FileSystemId = &v
 13650  	return s
 13651  }
 13652  
 13653  // SetLifecycle sets the Lifecycle field's value.
 13654  func (s *Volume) SetLifecycle(v string) *Volume {
 13655  	s.Lifecycle = &v
 13656  	return s
 13657  }
 13658  
 13659  // SetLifecycleTransitionReason sets the LifecycleTransitionReason field's value.
 13660  func (s *Volume) SetLifecycleTransitionReason(v *LifecycleTransitionReason) *Volume {
 13661  	s.LifecycleTransitionReason = v
 13662  	return s
 13663  }
 13664  
 13665  // SetName sets the Name field's value.
 13666  func (s *Volume) SetName(v string) *Volume {
 13667  	s.Name = &v
 13668  	return s
 13669  }
 13670  
 13671  // SetOntapConfiguration sets the OntapConfiguration field's value.
 13672  func (s *Volume) SetOntapConfiguration(v *OntapVolumeConfiguration) *Volume {
 13673  	s.OntapConfiguration = v
 13674  	return s
 13675  }
 13676  
 13677  // SetResourceARN sets the ResourceARN field's value.
 13678  func (s *Volume) SetResourceARN(v string) *Volume {
 13679  	s.ResourceARN = &v
 13680  	return s
 13681  }
 13682  
 13683  // SetTags sets the Tags field's value.
 13684  func (s *Volume) SetTags(v []*Tag) *Volume {
 13685  	s.Tags = v
 13686  	return s
 13687  }
 13688  
 13689  // SetVolumeId sets the VolumeId field's value.
 13690  func (s *Volume) SetVolumeId(v string) *Volume {
 13691  	s.VolumeId = &v
 13692  	return s
 13693  }
 13694  
 13695  // SetVolumeType sets the VolumeType field's value.
 13696  func (s *Volume) SetVolumeType(v string) *Volume {
 13697  	s.VolumeType = &v
 13698  	return s
 13699  }
 13700  
 13701  // A filter used to restrict the results of describe calls for Amazon FSx for
 13702  // NetApp ONTAP volumes. You can use multiple filters to return results that
 13703  // meet all applied filter requirements.
 13704  type VolumeFilter struct {
 13705  	_ struct{} `type:"structure"`
 13706  
 13707  	// The name for this filter.
 13708  	Name *string `type:"string" enum:"VolumeFilterName"`
 13709  
 13710  	// The values of the filter. These are all the values for any of the applied
 13711  	// filters.
 13712  	Values []*string `type:"list"`
 13713  }
 13714  
 13715  // String returns the string representation.
 13716  //
 13717  // API parameter values that are decorated as "sensitive" in the API will not
 13718  // be included in the string output. The member name will be present, but the
 13719  // value will be replaced with "sensitive".
 13720  func (s VolumeFilter) String() string {
 13721  	return awsutil.Prettify(s)
 13722  }
 13723  
 13724  // GoString returns the string representation.
 13725  //
 13726  // API parameter values that are decorated as "sensitive" in the API will not
 13727  // be included in the string output. The member name will be present, but the
 13728  // value will be replaced with "sensitive".
 13729  func (s VolumeFilter) GoString() string {
 13730  	return s.String()
 13731  }
 13732  
 13733  // SetName sets the Name field's value.
 13734  func (s *VolumeFilter) SetName(v string) *VolumeFilter {
 13735  	s.Name = &v
 13736  	return s
 13737  }
 13738  
 13739  // SetValues sets the Values field's value.
 13740  func (s *VolumeFilter) SetValues(v []*string) *VolumeFilter {
 13741  	s.Values = v
 13742  	return s
 13743  }
 13744  
 13745  // No Amazon FSx for NetApp ONTAP volumes were found based upon the supplied
 13746  // parameters.
 13747  type VolumeNotFound struct {
 13748  	_            struct{}                  `type:"structure"`
 13749  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13750  
 13751  	// A detailed error message.
 13752  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 13753  }
 13754  
 13755  // String returns the string representation.
 13756  //
 13757  // API parameter values that are decorated as "sensitive" in the API will not
 13758  // be included in the string output. The member name will be present, but the
 13759  // value will be replaced with "sensitive".
 13760  func (s VolumeNotFound) String() string {
 13761  	return awsutil.Prettify(s)
 13762  }
 13763  
 13764  // GoString returns the string representation.
 13765  //
 13766  // API parameter values that are decorated as "sensitive" in the API will not
 13767  // be included in the string output. The member name will be present, but the
 13768  // value will be replaced with "sensitive".
 13769  func (s VolumeNotFound) GoString() string {
 13770  	return s.String()
 13771  }
 13772  
 13773  func newErrorVolumeNotFound(v protocol.ResponseMetadata) error {
 13774  	return &VolumeNotFound{
 13775  		RespMetadata: v,
 13776  	}
 13777  }
 13778  
 13779  // Code returns the exception type name.
 13780  func (s *VolumeNotFound) Code() string {
 13781  	return "VolumeNotFound"
 13782  }
 13783  
 13784  // Message returns the exception's message.
 13785  func (s *VolumeNotFound) Message() string {
 13786  	if s.Message_ != nil {
 13787  		return *s.Message_
 13788  	}
 13789  	return ""
 13790  }
 13791  
 13792  // OrigErr always returns nil, satisfies awserr.Error interface.
 13793  func (s *VolumeNotFound) OrigErr() error {
 13794  	return nil
 13795  }
 13796  
 13797  func (s *VolumeNotFound) Error() string {
 13798  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 13799  }
 13800  
 13801  // Status code returns the HTTP status code for the request's response error.
 13802  func (s *VolumeNotFound) StatusCode() int {
 13803  	return s.RespMetadata.StatusCode
 13804  }
 13805  
 13806  // RequestID returns the service's response RequestID for request.
 13807  func (s *VolumeNotFound) RequestID() string {
 13808  	return s.RespMetadata.RequestID
 13809  }
 13810  
 13811  // The configuration that Amazon FSx for Windows File Server uses to audit and
 13812  // log user accesses of files, folders, and file shares on the Amazon FSx for
 13813  // Windows File Server file system. For more information, see File access auditing
 13814  // (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/file-access-auditing.html).
 13815  type WindowsAuditLogConfiguration struct {
 13816  	_ struct{} `type:"structure"`
 13817  
 13818  	// The Amazon Resource Name (ARN) for the destination of the audit logs. The
 13819  	// destination can be any Amazon CloudWatch Logs log group ARN or Amazon Kinesis
 13820  	// Data Firehose delivery stream ARN.
 13821  	//
 13822  	// The name of the Amazon CloudWatch Logs log group must begin with the /aws/fsx
 13823  	// prefix. The name of the Amazon Kinesis Data Firehouse delivery stream must
 13824  	// begin with the aws-fsx prefix.
 13825  	//
 13826  	// The destination ARN (either CloudWatch Logs log group or Kinesis Data Firehose
 13827  	// delivery stream) must be in the same Amazon Web Services partition, Amazon
 13828  	// Web Services Region, and Amazon Web Services account as your Amazon FSx file
 13829  	// system.
 13830  	AuditLogDestination *string `min:"8" type:"string"`
 13831  
 13832  	// Sets which attempt type is logged by Amazon FSx for file and folder accesses.
 13833  	//
 13834  	//    * SUCCESS_ONLY - only successful attempts to access files or folders are
 13835  	//    logged.
 13836  	//
 13837  	//    * FAILURE_ONLY - only failed attempts to access files or folders are logged.
 13838  	//
 13839  	//    * SUCCESS_AND_FAILURE - both successful attempts and failed attempts to
 13840  	//    access files or folders are logged.
 13841  	//
 13842  	//    * DISABLED - access auditing of files and folders is turned off.
 13843  	//
 13844  	// FileAccessAuditLogLevel is a required field
 13845  	FileAccessAuditLogLevel *string `type:"string" required:"true" enum:"WindowsAccessAuditLogLevel"`
 13846  
 13847  	// Sets which attempt type is logged by Amazon FSx for file share accesses.
 13848  	//
 13849  	//    * SUCCESS_ONLY - only successful attempts to access file shares are logged.
 13850  	//
 13851  	//    * FAILURE_ONLY - only failed attempts to access file shares are logged.
 13852  	//
 13853  	//    * SUCCESS_AND_FAILURE - both successful attempts and failed attempts to
 13854  	//    access file shares are logged.
 13855  	//
 13856  	//    * DISABLED - access auditing of file shares is turned off.
 13857  	//
 13858  	// FileShareAccessAuditLogLevel is a required field
 13859  	FileShareAccessAuditLogLevel *string `type:"string" required:"true" enum:"WindowsAccessAuditLogLevel"`
 13860  }
 13861  
 13862  // String returns the string representation.
 13863  //
 13864  // API parameter values that are decorated as "sensitive" in the API will not
 13865  // be included in the string output. The member name will be present, but the
 13866  // value will be replaced with "sensitive".
 13867  func (s WindowsAuditLogConfiguration) String() string {
 13868  	return awsutil.Prettify(s)
 13869  }
 13870  
 13871  // GoString returns the string representation.
 13872  //
 13873  // API parameter values that are decorated as "sensitive" in the API will not
 13874  // be included in the string output. The member name will be present, but the
 13875  // value will be replaced with "sensitive".
 13876  func (s WindowsAuditLogConfiguration) GoString() string {
 13877  	return s.String()
 13878  }
 13879  
 13880  // SetAuditLogDestination sets the AuditLogDestination field's value.
 13881  func (s *WindowsAuditLogConfiguration) SetAuditLogDestination(v string) *WindowsAuditLogConfiguration {
 13882  	s.AuditLogDestination = &v
 13883  	return s
 13884  }
 13885  
 13886  // SetFileAccessAuditLogLevel sets the FileAccessAuditLogLevel field's value.
 13887  func (s *WindowsAuditLogConfiguration) SetFileAccessAuditLogLevel(v string) *WindowsAuditLogConfiguration {
 13888  	s.FileAccessAuditLogLevel = &v
 13889  	return s
 13890  }
 13891  
 13892  // SetFileShareAccessAuditLogLevel sets the FileShareAccessAuditLogLevel field's value.
 13893  func (s *WindowsAuditLogConfiguration) SetFileShareAccessAuditLogLevel(v string) *WindowsAuditLogConfiguration {
 13894  	s.FileShareAccessAuditLogLevel = &v
 13895  	return s
 13896  }
 13897  
 13898  // The Windows file access auditing configuration used when creating or updating
 13899  // an Amazon FSx for Windows File Server file system.
 13900  type WindowsAuditLogCreateConfiguration struct {
 13901  	_ struct{} `type:"structure"`
 13902  
 13903  	// The Amazon Resource Name (ARN) that specifies the destination of the audit
 13904  	// logs.
 13905  	//
 13906  	// The destination can be any Amazon CloudWatch Logs log group ARN or Amazon
 13907  	// Kinesis Data Firehose delivery stream ARN, with the following requirements:
 13908  	//
 13909  	//    * The destination ARN that you provide (either CloudWatch Logs log group
 13910  	//    or Kinesis Data Firehose delivery stream) must be in the same Amazon Web
 13911  	//    Services partition, Amazon Web Services Region, and Amazon Web Services
 13912  	//    account as your Amazon FSx file system.
 13913  	//
 13914  	//    * The name of the Amazon CloudWatch Logs log group must begin with the
 13915  	//    /aws/fsx prefix. The name of the Amazon Kinesis Data Firehouse delivery
 13916  	//    stream must begin with the aws-fsx prefix.
 13917  	//
 13918  	//    * If you do not provide a destination in AuditLogDestination, Amazon FSx
 13919  	//    will create and use a log stream in the CloudWatch Logs /aws/fsx/windows
 13920  	//    log group.
 13921  	//
 13922  	//    * If AuditLogDestination is provided and the resource does not exist,
 13923  	//    the request will fail with a BadRequest error.
 13924  	//
 13925  	//    * If FileAccessAuditLogLevel and FileShareAccessAuditLogLevel are both
 13926  	//    set to DISABLED, you cannot specify a destination in AuditLogDestination.
 13927  	AuditLogDestination *string `min:"8" type:"string"`
 13928  
 13929  	// Sets which attempt type is logged by Amazon FSx for file and folder accesses.
 13930  	//
 13931  	//    * SUCCESS_ONLY - only successful attempts to access files or folders are
 13932  	//    logged.
 13933  	//
 13934  	//    * FAILURE_ONLY - only failed attempts to access files or folders are logged.
 13935  	//
 13936  	//    * SUCCESS_AND_FAILURE - both successful attempts and failed attempts to
 13937  	//    access files or folders are logged.
 13938  	//
 13939  	//    * DISABLED - access auditing of files and folders is turned off.
 13940  	//
 13941  	// FileAccessAuditLogLevel is a required field
 13942  	FileAccessAuditLogLevel *string `type:"string" required:"true" enum:"WindowsAccessAuditLogLevel"`
 13943  
 13944  	// Sets which attempt type is logged by Amazon FSx for file share accesses.
 13945  	//
 13946  	//    * SUCCESS_ONLY - only successful attempts to access file shares are logged.
 13947  	//
 13948  	//    * FAILURE_ONLY - only failed attempts to access file shares are logged.
 13949  	//
 13950  	//    * SUCCESS_AND_FAILURE - both successful attempts and failed attempts to
 13951  	//    access file shares are logged.
 13952  	//
 13953  	//    * DISABLED - access auditing of file shares is turned off.
 13954  	//
 13955  	// FileShareAccessAuditLogLevel is a required field
 13956  	FileShareAccessAuditLogLevel *string `type:"string" required:"true" enum:"WindowsAccessAuditLogLevel"`
 13957  }
 13958  
 13959  // String returns the string representation.
 13960  //
 13961  // API parameter values that are decorated as "sensitive" in the API will not
 13962  // be included in the string output. The member name will be present, but the
 13963  // value will be replaced with "sensitive".
 13964  func (s WindowsAuditLogCreateConfiguration) String() string {
 13965  	return awsutil.Prettify(s)
 13966  }
 13967  
 13968  // GoString returns the string representation.
 13969  //
 13970  // API parameter values that are decorated as "sensitive" in the API will not
 13971  // be included in the string output. The member name will be present, but the
 13972  // value will be replaced with "sensitive".
 13973  func (s WindowsAuditLogCreateConfiguration) GoString() string {
 13974  	return s.String()
 13975  }
 13976  
 13977  // Validate inspects the fields of the type to determine if they are valid.
 13978  func (s *WindowsAuditLogCreateConfiguration) Validate() error {
 13979  	invalidParams := request.ErrInvalidParams{Context: "WindowsAuditLogCreateConfiguration"}
 13980  	if s.AuditLogDestination != nil && len(*s.AuditLogDestination) < 8 {
 13981  		invalidParams.Add(request.NewErrParamMinLen("AuditLogDestination", 8))
 13982  	}
 13983  	if s.FileAccessAuditLogLevel == nil {
 13984  		invalidParams.Add(request.NewErrParamRequired("FileAccessAuditLogLevel"))
 13985  	}
 13986  	if s.FileShareAccessAuditLogLevel == nil {
 13987  		invalidParams.Add(request.NewErrParamRequired("FileShareAccessAuditLogLevel"))
 13988  	}
 13989  
 13990  	if invalidParams.Len() > 0 {
 13991  		return invalidParams
 13992  	}
 13993  	return nil
 13994  }
 13995  
 13996  // SetAuditLogDestination sets the AuditLogDestination field's value.
 13997  func (s *WindowsAuditLogCreateConfiguration) SetAuditLogDestination(v string) *WindowsAuditLogCreateConfiguration {
 13998  	s.AuditLogDestination = &v
 13999  	return s
 14000  }
 14001  
 14002  // SetFileAccessAuditLogLevel sets the FileAccessAuditLogLevel field's value.
 14003  func (s *WindowsAuditLogCreateConfiguration) SetFileAccessAuditLogLevel(v string) *WindowsAuditLogCreateConfiguration {
 14004  	s.FileAccessAuditLogLevel = &v
 14005  	return s
 14006  }
 14007  
 14008  // SetFileShareAccessAuditLogLevel sets the FileShareAccessAuditLogLevel field's value.
 14009  func (s *WindowsAuditLogCreateConfiguration) SetFileShareAccessAuditLogLevel(v string) *WindowsAuditLogCreateConfiguration {
 14010  	s.FileShareAccessAuditLogLevel = &v
 14011  	return s
 14012  }
 14013  
 14014  // The configuration for this Microsoft Windows file system.
 14015  type WindowsFileSystemConfiguration struct {
 14016  	_ struct{} `type:"structure"`
 14017  
 14018  	// The ID for an existing Amazon Web Services Managed Microsoft Active Directory
 14019  	// instance that the file system is joined to.
 14020  	ActiveDirectoryId *string `min:"12" type:"string"`
 14021  
 14022  	// An array of one or more DNS aliases that are currently associated with the
 14023  	// Amazon FSx file system. Aliases allow you to use existing DNS names to access
 14024  	// the data in your Amazon FSx file system. You can associate up to 50 aliases
 14025  	// with a file system at any time. You can associate additional DNS aliases
 14026  	// after you create the file system using the AssociateFileSystemAliases operation.
 14027  	// You can remove DNS aliases from the file system after it is created using
 14028  	// the DisassociateFileSystemAliases operation. You only need to specify the
 14029  	// alias name in the request payload. For more information, see DNS aliases
 14030  	// (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html).
 14031  	Aliases []*Alias `type:"list"`
 14032  
 14033  	// The configuration that Amazon FSx for Windows File Server uses to audit and
 14034  	// log user accesses of files, folders, and file shares on the Amazon FSx for
 14035  	// Windows File Server file system.
 14036  	AuditLogConfiguration *WindowsAuditLogConfiguration `type:"structure"`
 14037  
 14038  	// The number of days to retain automatic backups. Setting this to 0 disables
 14039  	// automatic backups. You can retain automatic backups for a maximum of 90 days.
 14040  	AutomaticBackupRetentionDays *int64 `type:"integer"`
 14041  
 14042  	// A boolean flag indicating whether tags on the file system should be copied
 14043  	// to backups. This value defaults to false. If it's set to true, all tags on
 14044  	// the file system are copied to all automatic backups and any user-initiated
 14045  	// backups where the user doesn't specify any tags. If this value is true, and
 14046  	// you specify one or more tags, only the specified tags are copied to backups.
 14047  	// If you specify one or more tags when creating a user-initiated backup, no
 14048  	// tags are copied from the file system, regardless of this value.
 14049  	CopyTagsToBackups *bool `type:"boolean"`
 14050  
 14051  	// The preferred time to take daily automatic backups, in the UTC time zone.
 14052  	DailyAutomaticBackupStartTime *string `min:"5" type:"string"`
 14053  
 14054  	// Specifies the file system deployment type, valid values are the following:
 14055  	//
 14056  	//    * MULTI_AZ_1 - Specifies a high availability file system that is configured
 14057  	//    for Multi-AZ redundancy to tolerate temporary Availability Zone (AZ) unavailability,
 14058  	//    and supports SSD and HDD storage.
 14059  	//
 14060  	//    * SINGLE_AZ_1 - (Default) Specifies a file system that is configured for
 14061  	//    single AZ redundancy, only supports SSD storage.
 14062  	//
 14063  	//    * SINGLE_AZ_2 - Latest generation Single AZ file system. Specifies a file
 14064  	//    system that is configured for single AZ redundancy and supports SSD and
 14065  	//    HDD storage.
 14066  	//
 14067  	// For more information, see Single-AZ and Multi-AZ File Systems (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html).
 14068  	DeploymentType *string `type:"string" enum:"WindowsDeploymentType"`
 14069  
 14070  	// The list of maintenance operations in progress for this file system.
 14071  	MaintenanceOperationsInProgress []*string `type:"list"`
 14072  
 14073  	// For MULTI_AZ_1 deployment types, the IP address of the primary, or preferred,
 14074  	// file server.
 14075  	//
 14076  	// Use this IP address when mounting the file system on Linux SMB clients or
 14077  	// Windows SMB clients that are not joined to a Microsoft Active Directory.
 14078  	// Applicable for all Windows file system deployment types. This IP address
 14079  	// is temporarily unavailable when the file system is undergoing maintenance.
 14080  	// For Linux and Windows SMB clients that are joined to an Active Directory,
 14081  	// use the file system's DNSName instead. For more information on mapping and
 14082  	// mounting file shares, see Accessing File Shares (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/accessing-file-shares.html).
 14083  	PreferredFileServerIp *string `min:"7" type:"string"`
 14084  
 14085  	// For MULTI_AZ_1 deployment types, it specifies the ID of the subnet where
 14086  	// the preferred file server is located. Must be one of the two subnet IDs specified
 14087  	// in SubnetIds property. Amazon FSx serves traffic from this subnet except
 14088  	// in the event of a failover to the secondary file server.
 14089  	//
 14090  	// For SINGLE_AZ_1 and SINGLE_AZ_2 deployment types, this value is the same
 14091  	// as that for SubnetIDs. For more information, see Availability and durability:
 14092  	// Single-AZ and Multi-AZ file systems (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html#single-multi-az-resources).
 14093  	PreferredSubnetId *string `min:"15" type:"string"`
 14094  
 14095  	// For MULTI_AZ_1 deployment types, use this endpoint when performing administrative
 14096  	// tasks on the file system using Amazon FSx Remote PowerShell.
 14097  	//
 14098  	// For SINGLE_AZ_1 and SINGLE_AZ_2 deployment types, this is the DNS name of
 14099  	// the file system.
 14100  	//
 14101  	// This endpoint is temporarily unavailable when the file system is undergoing
 14102  	// maintenance.
 14103  	RemoteAdministrationEndpoint *string `min:"16" type:"string"`
 14104  
 14105  	// The configuration of the self-managed Microsoft Active Directory (AD) directory
 14106  	// to which the Windows File Server or ONTAP storage virtual machine (SVM) instance
 14107  	// is joined.
 14108  	SelfManagedActiveDirectoryConfiguration *SelfManagedActiveDirectoryAttributes `type:"structure"`
 14109  
 14110  	// The throughput of the Amazon FSx file system, measured in megabytes per second.
 14111  	ThroughputCapacity *int64 `min:"8" type:"integer"`
 14112  
 14113  	// The preferred start time to perform weekly maintenance, formatted d:HH:MM
 14114  	// in the UTC time zone. d is the weekday number, from 1 through 7, beginning
 14115  	// with Monday and ending with Sunday.
 14116  	WeeklyMaintenanceStartTime *string `min:"7" type:"string"`
 14117  }
 14118  
 14119  // String returns the string representation.
 14120  //
 14121  // API parameter values that are decorated as "sensitive" in the API will not
 14122  // be included in the string output. The member name will be present, but the
 14123  // value will be replaced with "sensitive".
 14124  func (s WindowsFileSystemConfiguration) String() string {
 14125  	return awsutil.Prettify(s)
 14126  }
 14127  
 14128  // GoString returns the string representation.
 14129  //
 14130  // API parameter values that are decorated as "sensitive" in the API will not
 14131  // be included in the string output. The member name will be present, but the
 14132  // value will be replaced with "sensitive".
 14133  func (s WindowsFileSystemConfiguration) GoString() string {
 14134  	return s.String()
 14135  }
 14136  
 14137  // SetActiveDirectoryId sets the ActiveDirectoryId field's value.
 14138  func (s *WindowsFileSystemConfiguration) SetActiveDirectoryId(v string) *WindowsFileSystemConfiguration {
 14139  	s.ActiveDirectoryId = &v
 14140  	return s
 14141  }
 14142  
 14143  // SetAliases sets the Aliases field's value.
 14144  func (s *WindowsFileSystemConfiguration) SetAliases(v []*Alias) *WindowsFileSystemConfiguration {
 14145  	s.Aliases = v
 14146  	return s
 14147  }
 14148  
 14149  // SetAuditLogConfiguration sets the AuditLogConfiguration field's value.
 14150  func (s *WindowsFileSystemConfiguration) SetAuditLogConfiguration(v *WindowsAuditLogConfiguration) *WindowsFileSystemConfiguration {
 14151  	s.AuditLogConfiguration = v
 14152  	return s
 14153  }
 14154  
 14155  // SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value.
 14156  func (s *WindowsFileSystemConfiguration) SetAutomaticBackupRetentionDays(v int64) *WindowsFileSystemConfiguration {
 14157  	s.AutomaticBackupRetentionDays = &v
 14158  	return s
 14159  }
 14160  
 14161  // SetCopyTagsToBackups sets the CopyTagsToBackups field's value.
 14162  func (s *WindowsFileSystemConfiguration) SetCopyTagsToBackups(v bool) *WindowsFileSystemConfiguration {
 14163  	s.CopyTagsToBackups = &v
 14164  	return s
 14165  }
 14166  
 14167  // SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value.
 14168  func (s *WindowsFileSystemConfiguration) SetDailyAutomaticBackupStartTime(v string) *WindowsFileSystemConfiguration {
 14169  	s.DailyAutomaticBackupStartTime = &v
 14170  	return s
 14171  }
 14172  
 14173  // SetDeploymentType sets the DeploymentType field's value.
 14174  func (s *WindowsFileSystemConfiguration) SetDeploymentType(v string) *WindowsFileSystemConfiguration {
 14175  	s.DeploymentType = &v
 14176  	return s
 14177  }
 14178  
 14179  // SetMaintenanceOperationsInProgress sets the MaintenanceOperationsInProgress field's value.
 14180  func (s *WindowsFileSystemConfiguration) SetMaintenanceOperationsInProgress(v []*string) *WindowsFileSystemConfiguration {
 14181  	s.MaintenanceOperationsInProgress = v
 14182  	return s
 14183  }
 14184  
 14185  // SetPreferredFileServerIp sets the PreferredFileServerIp field's value.
 14186  func (s *WindowsFileSystemConfiguration) SetPreferredFileServerIp(v string) *WindowsFileSystemConfiguration {
 14187  	s.PreferredFileServerIp = &v
 14188  	return s
 14189  }
 14190  
 14191  // SetPreferredSubnetId sets the PreferredSubnetId field's value.
 14192  func (s *WindowsFileSystemConfiguration) SetPreferredSubnetId(v string) *WindowsFileSystemConfiguration {
 14193  	s.PreferredSubnetId = &v
 14194  	return s
 14195  }
 14196  
 14197  // SetRemoteAdministrationEndpoint sets the RemoteAdministrationEndpoint field's value.
 14198  func (s *WindowsFileSystemConfiguration) SetRemoteAdministrationEndpoint(v string) *WindowsFileSystemConfiguration {
 14199  	s.RemoteAdministrationEndpoint = &v
 14200  	return s
 14201  }
 14202  
 14203  // SetSelfManagedActiveDirectoryConfiguration sets the SelfManagedActiveDirectoryConfiguration field's value.
 14204  func (s *WindowsFileSystemConfiguration) SetSelfManagedActiveDirectoryConfiguration(v *SelfManagedActiveDirectoryAttributes) *WindowsFileSystemConfiguration {
 14205  	s.SelfManagedActiveDirectoryConfiguration = v
 14206  	return s
 14207  }
 14208  
 14209  // SetThroughputCapacity sets the ThroughputCapacity field's value.
 14210  func (s *WindowsFileSystemConfiguration) SetThroughputCapacity(v int64) *WindowsFileSystemConfiguration {
 14211  	s.ThroughputCapacity = &v
 14212  	return s
 14213  }
 14214  
 14215  // SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value.
 14216  func (s *WindowsFileSystemConfiguration) SetWeeklyMaintenanceStartTime(v string) *WindowsFileSystemConfiguration {
 14217  	s.WeeklyMaintenanceStartTime = &v
 14218  	return s
 14219  }
 14220  
 14221  // The type of error relating to Microsoft Active Directory. NOT_FOUND means
 14222  // that no directory was found by specifying the given directory. INCOMPATIBLE_MODE
 14223  // means that the directory specified is not a Microsoft AD directory. WRONG_VPC
 14224  // means that the specified directory isn't accessible from the specified VPC.
 14225  // WRONG_STAGE means that the specified directory isn't currently in the ACTIVE
 14226  // state.
 14227  const (
 14228  	// ActiveDirectoryErrorTypeDomainNotFound is a ActiveDirectoryErrorType enum value
 14229  	ActiveDirectoryErrorTypeDomainNotFound = "DOMAIN_NOT_FOUND"
 14230  
 14231  	// ActiveDirectoryErrorTypeIncompatibleDomainMode is a ActiveDirectoryErrorType enum value
 14232  	ActiveDirectoryErrorTypeIncompatibleDomainMode = "INCOMPATIBLE_DOMAIN_MODE"
 14233  
 14234  	// ActiveDirectoryErrorTypeWrongVpc is a ActiveDirectoryErrorType enum value
 14235  	ActiveDirectoryErrorTypeWrongVpc = "WRONG_VPC"
 14236  
 14237  	// ActiveDirectoryErrorTypeInvalidDomainStage is a ActiveDirectoryErrorType enum value
 14238  	ActiveDirectoryErrorTypeInvalidDomainStage = "INVALID_DOMAIN_STAGE"
 14239  )
 14240  
 14241  // ActiveDirectoryErrorType_Values returns all elements of the ActiveDirectoryErrorType enum
 14242  func ActiveDirectoryErrorType_Values() []string {
 14243  	return []string{
 14244  		ActiveDirectoryErrorTypeDomainNotFound,
 14245  		ActiveDirectoryErrorTypeIncompatibleDomainMode,
 14246  		ActiveDirectoryErrorTypeWrongVpc,
 14247  		ActiveDirectoryErrorTypeInvalidDomainStage,
 14248  	}
 14249  }
 14250  
 14251  // Describes the type of administrative action, as follows:
 14252  //
 14253  //    * FILE_SYSTEM_UPDATE - A file system update administrative action initiated
 14254  //    by the user from the Amazon FSx console, API (UpdateFileSystem), or CLI
 14255  //    (update-file-system).
 14256  //
 14257  //    * STORAGE_OPTIMIZATION - Once the FILE_SYSTEM_UPDATE task to increase
 14258  //    a file system's storage capacity completes successfully, a STORAGE_OPTIMIZATION
 14259  //    task starts. For Windows, storage optimization is the process of migrating
 14260  //    the file system data to the new, larger disks. For Lustre, storage optimization
 14261  //    consists of rebalancing the data across the existing and newly added file
 14262  //    servers. You can track the storage optimization progress using the ProgressPercent
 14263  //    property. When STORAGE_OPTIMIZATION completes successfully, the parent
 14264  //    FILE_SYSTEM_UPDATE action status changes to COMPLETED. For more information,
 14265  //    see Managing storage capacity (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html)
 14266  //    in the Amazon FSx for Windows File Server User Guide and Managing storage
 14267  //    and throughput capacity (https://docs.aws.amazon.com/fsx/latest/LustreGuide/managing-storage-capacity.html)
 14268  //    in the Amazon FSx for Lustre User Guide.
 14269  //
 14270  //    * FILE_SYSTEM_ALIAS_ASSOCIATION - A file system update to associate a
 14271  //    new DNS alias with the file system. For more information, see .
 14272  //
 14273  //    * FILE_SYSTEM_ALIAS_DISASSOCIATION - A file system update to disassociate
 14274  //    a DNS alias from the file system. For more information, see .
 14275  const (
 14276  	// AdministrativeActionTypeFileSystemUpdate is a AdministrativeActionType enum value
 14277  	AdministrativeActionTypeFileSystemUpdate = "FILE_SYSTEM_UPDATE"
 14278  
 14279  	// AdministrativeActionTypeStorageOptimization is a AdministrativeActionType enum value
 14280  	AdministrativeActionTypeStorageOptimization = "STORAGE_OPTIMIZATION"
 14281  
 14282  	// AdministrativeActionTypeFileSystemAliasAssociation is a AdministrativeActionType enum value
 14283  	AdministrativeActionTypeFileSystemAliasAssociation = "FILE_SYSTEM_ALIAS_ASSOCIATION"
 14284  
 14285  	// AdministrativeActionTypeFileSystemAliasDisassociation is a AdministrativeActionType enum value
 14286  	AdministrativeActionTypeFileSystemAliasDisassociation = "FILE_SYSTEM_ALIAS_DISASSOCIATION"
 14287  )
 14288  
 14289  // AdministrativeActionType_Values returns all elements of the AdministrativeActionType enum
 14290  func AdministrativeActionType_Values() []string {
 14291  	return []string{
 14292  		AdministrativeActionTypeFileSystemUpdate,
 14293  		AdministrativeActionTypeStorageOptimization,
 14294  		AdministrativeActionTypeFileSystemAliasAssociation,
 14295  		AdministrativeActionTypeFileSystemAliasDisassociation,
 14296  	}
 14297  }
 14298  
 14299  const (
 14300  	// AliasLifecycleAvailable is a AliasLifecycle enum value
 14301  	AliasLifecycleAvailable = "AVAILABLE"
 14302  
 14303  	// AliasLifecycleCreating is a AliasLifecycle enum value
 14304  	AliasLifecycleCreating = "CREATING"
 14305  
 14306  	// AliasLifecycleDeleting is a AliasLifecycle enum value
 14307  	AliasLifecycleDeleting = "DELETING"
 14308  
 14309  	// AliasLifecycleCreateFailed is a AliasLifecycle enum value
 14310  	AliasLifecycleCreateFailed = "CREATE_FAILED"
 14311  
 14312  	// AliasLifecycleDeleteFailed is a AliasLifecycle enum value
 14313  	AliasLifecycleDeleteFailed = "DELETE_FAILED"
 14314  )
 14315  
 14316  // AliasLifecycle_Values returns all elements of the AliasLifecycle enum
 14317  func AliasLifecycle_Values() []string {
 14318  	return []string{
 14319  		AliasLifecycleAvailable,
 14320  		AliasLifecycleCreating,
 14321  		AliasLifecycleDeleting,
 14322  		AliasLifecycleCreateFailed,
 14323  		AliasLifecycleDeleteFailed,
 14324  	}
 14325  }
 14326  
 14327  const (
 14328  	// AutoImportPolicyTypeNone is a AutoImportPolicyType enum value
 14329  	AutoImportPolicyTypeNone = "NONE"
 14330  
 14331  	// AutoImportPolicyTypeNew is a AutoImportPolicyType enum value
 14332  	AutoImportPolicyTypeNew = "NEW"
 14333  
 14334  	// AutoImportPolicyTypeNewChanged is a AutoImportPolicyType enum value
 14335  	AutoImportPolicyTypeNewChanged = "NEW_CHANGED"
 14336  )
 14337  
 14338  // AutoImportPolicyType_Values returns all elements of the AutoImportPolicyType enum
 14339  func AutoImportPolicyType_Values() []string {
 14340  	return []string{
 14341  		AutoImportPolicyTypeNone,
 14342  		AutoImportPolicyTypeNew,
 14343  		AutoImportPolicyTypeNewChanged,
 14344  	}
 14345  }
 14346  
 14347  // The lifecycle status of the backup.
 14348  //
 14349  //    * AVAILABLE - The backup is fully available.
 14350  //
 14351  //    * PENDING - For user-initiated backups on Lustre file systems only; Amazon
 14352  //    FSx has not started creating the backup.
 14353  //
 14354  //    * CREATING - Amazon FSx is creating the new user-intiated backup
 14355  //
 14356  //    * TRANSFERRING - For user-initiated backups on Lustre file systems only;
 14357  //    Amazon FSx is backing up the file system.
 14358  //
 14359  //    * COPYING - Amazon FSx is copying the backup.
 14360  //
 14361  //    * DELETED - Amazon FSx deleted the backup and it is no longer available.
 14362  //
 14363  //    * FAILED - Amazon FSx could not complete the backup.
 14364  const (
 14365  	// BackupLifecycleAvailable is a BackupLifecycle enum value
 14366  	BackupLifecycleAvailable = "AVAILABLE"
 14367  
 14368  	// BackupLifecycleCreating is a BackupLifecycle enum value
 14369  	BackupLifecycleCreating = "CREATING"
 14370  
 14371  	// BackupLifecycleTransferring is a BackupLifecycle enum value
 14372  	BackupLifecycleTransferring = "TRANSFERRING"
 14373  
 14374  	// BackupLifecycleDeleted is a BackupLifecycle enum value
 14375  	BackupLifecycleDeleted = "DELETED"
 14376  
 14377  	// BackupLifecycleFailed is a BackupLifecycle enum value
 14378  	BackupLifecycleFailed = "FAILED"
 14379  
 14380  	// BackupLifecyclePending is a BackupLifecycle enum value
 14381  	BackupLifecyclePending = "PENDING"
 14382  
 14383  	// BackupLifecycleCopying is a BackupLifecycle enum value
 14384  	BackupLifecycleCopying = "COPYING"
 14385  )
 14386  
 14387  // BackupLifecycle_Values returns all elements of the BackupLifecycle enum
 14388  func BackupLifecycle_Values() []string {
 14389  	return []string{
 14390  		BackupLifecycleAvailable,
 14391  		BackupLifecycleCreating,
 14392  		BackupLifecycleTransferring,
 14393  		BackupLifecycleDeleted,
 14394  		BackupLifecycleFailed,
 14395  		BackupLifecyclePending,
 14396  		BackupLifecycleCopying,
 14397  	}
 14398  }
 14399  
 14400  // The type of the backup.
 14401  const (
 14402  	// BackupTypeAutomatic is a BackupType enum value
 14403  	BackupTypeAutomatic = "AUTOMATIC"
 14404  
 14405  	// BackupTypeUserInitiated is a BackupType enum value
 14406  	BackupTypeUserInitiated = "USER_INITIATED"
 14407  
 14408  	// BackupTypeAwsBackup is a BackupType enum value
 14409  	BackupTypeAwsBackup = "AWS_BACKUP"
 14410  )
 14411  
 14412  // BackupType_Values returns all elements of the BackupType enum
 14413  func BackupType_Values() []string {
 14414  	return []string{
 14415  		BackupTypeAutomatic,
 14416  		BackupTypeUserInitiated,
 14417  		BackupTypeAwsBackup,
 14418  	}
 14419  }
 14420  
 14421  const (
 14422  	// DataCompressionTypeNone is a DataCompressionType enum value
 14423  	DataCompressionTypeNone = "NONE"
 14424  
 14425  	// DataCompressionTypeLz4 is a DataCompressionType enum value
 14426  	DataCompressionTypeLz4 = "LZ4"
 14427  )
 14428  
 14429  // DataCompressionType_Values returns all elements of the DataCompressionType enum
 14430  func DataCompressionType_Values() []string {
 14431  	return []string{
 14432  		DataCompressionTypeNone,
 14433  		DataCompressionTypeLz4,
 14434  	}
 14435  }
 14436  
 14437  const (
 14438  	// DataRepositoryLifecycleCreating is a DataRepositoryLifecycle enum value
 14439  	DataRepositoryLifecycleCreating = "CREATING"
 14440  
 14441  	// DataRepositoryLifecycleAvailable is a DataRepositoryLifecycle enum value
 14442  	DataRepositoryLifecycleAvailable = "AVAILABLE"
 14443  
 14444  	// DataRepositoryLifecycleMisconfigured is a DataRepositoryLifecycle enum value
 14445  	DataRepositoryLifecycleMisconfigured = "MISCONFIGURED"
 14446  
 14447  	// DataRepositoryLifecycleUpdating is a DataRepositoryLifecycle enum value
 14448  	DataRepositoryLifecycleUpdating = "UPDATING"
 14449  
 14450  	// DataRepositoryLifecycleDeleting is a DataRepositoryLifecycle enum value
 14451  	DataRepositoryLifecycleDeleting = "DELETING"
 14452  )
 14453  
 14454  // DataRepositoryLifecycle_Values returns all elements of the DataRepositoryLifecycle enum
 14455  func DataRepositoryLifecycle_Values() []string {
 14456  	return []string{
 14457  		DataRepositoryLifecycleCreating,
 14458  		DataRepositoryLifecycleAvailable,
 14459  		DataRepositoryLifecycleMisconfigured,
 14460  		DataRepositoryLifecycleUpdating,
 14461  		DataRepositoryLifecycleDeleting,
 14462  	}
 14463  }
 14464  
 14465  const (
 14466  	// DataRepositoryTaskFilterNameFileSystemId is a DataRepositoryTaskFilterName enum value
 14467  	DataRepositoryTaskFilterNameFileSystemId = "file-system-id"
 14468  
 14469  	// DataRepositoryTaskFilterNameTaskLifecycle is a DataRepositoryTaskFilterName enum value
 14470  	DataRepositoryTaskFilterNameTaskLifecycle = "task-lifecycle"
 14471  )
 14472  
 14473  // DataRepositoryTaskFilterName_Values returns all elements of the DataRepositoryTaskFilterName enum
 14474  func DataRepositoryTaskFilterName_Values() []string {
 14475  	return []string{
 14476  		DataRepositoryTaskFilterNameFileSystemId,
 14477  		DataRepositoryTaskFilterNameTaskLifecycle,
 14478  	}
 14479  }
 14480  
 14481  const (
 14482  	// DataRepositoryTaskLifecyclePending is a DataRepositoryTaskLifecycle enum value
 14483  	DataRepositoryTaskLifecyclePending = "PENDING"
 14484  
 14485  	// DataRepositoryTaskLifecycleExecuting is a DataRepositoryTaskLifecycle enum value
 14486  	DataRepositoryTaskLifecycleExecuting = "EXECUTING"
 14487  
 14488  	// DataRepositoryTaskLifecycleFailed is a DataRepositoryTaskLifecycle enum value
 14489  	DataRepositoryTaskLifecycleFailed = "FAILED"
 14490  
 14491  	// DataRepositoryTaskLifecycleSucceeded is a DataRepositoryTaskLifecycle enum value
 14492  	DataRepositoryTaskLifecycleSucceeded = "SUCCEEDED"
 14493  
 14494  	// DataRepositoryTaskLifecycleCanceled is a DataRepositoryTaskLifecycle enum value
 14495  	DataRepositoryTaskLifecycleCanceled = "CANCELED"
 14496  
 14497  	// DataRepositoryTaskLifecycleCanceling is a DataRepositoryTaskLifecycle enum value
 14498  	DataRepositoryTaskLifecycleCanceling = "CANCELING"
 14499  )
 14500  
 14501  // DataRepositoryTaskLifecycle_Values returns all elements of the DataRepositoryTaskLifecycle enum
 14502  func DataRepositoryTaskLifecycle_Values() []string {
 14503  	return []string{
 14504  		DataRepositoryTaskLifecyclePending,
 14505  		DataRepositoryTaskLifecycleExecuting,
 14506  		DataRepositoryTaskLifecycleFailed,
 14507  		DataRepositoryTaskLifecycleSucceeded,
 14508  		DataRepositoryTaskLifecycleCanceled,
 14509  		DataRepositoryTaskLifecycleCanceling,
 14510  	}
 14511  }
 14512  
 14513  const (
 14514  	// DataRepositoryTaskTypeExportToRepository is a DataRepositoryTaskType enum value
 14515  	DataRepositoryTaskTypeExportToRepository = "EXPORT_TO_REPOSITORY"
 14516  )
 14517  
 14518  // DataRepositoryTaskType_Values returns all elements of the DataRepositoryTaskType enum
 14519  func DataRepositoryTaskType_Values() []string {
 14520  	return []string{
 14521  		DataRepositoryTaskTypeExportToRepository,
 14522  	}
 14523  }
 14524  
 14525  const (
 14526  	// DiskIopsConfigurationModeAutomatic is a DiskIopsConfigurationMode enum value
 14527  	DiskIopsConfigurationModeAutomatic = "AUTOMATIC"
 14528  
 14529  	// DiskIopsConfigurationModeUserProvisioned is a DiskIopsConfigurationMode enum value
 14530  	DiskIopsConfigurationModeUserProvisioned = "USER_PROVISIONED"
 14531  )
 14532  
 14533  // DiskIopsConfigurationMode_Values returns all elements of the DiskIopsConfigurationMode enum
 14534  func DiskIopsConfigurationMode_Values() []string {
 14535  	return []string{
 14536  		DiskIopsConfigurationModeAutomatic,
 14537  		DiskIopsConfigurationModeUserProvisioned,
 14538  	}
 14539  }
 14540  
 14541  const (
 14542  	// DriveCacheTypeNone is a DriveCacheType enum value
 14543  	DriveCacheTypeNone = "NONE"
 14544  
 14545  	// DriveCacheTypeRead is a DriveCacheType enum value
 14546  	DriveCacheTypeRead = "READ"
 14547  )
 14548  
 14549  // DriveCacheType_Values returns all elements of the DriveCacheType enum
 14550  func DriveCacheType_Values() []string {
 14551  	return []string{
 14552  		DriveCacheTypeNone,
 14553  		DriveCacheTypeRead,
 14554  	}
 14555  }
 14556  
 14557  // The lifecycle status of the file system.
 14558  const (
 14559  	// FileSystemLifecycleAvailable is a FileSystemLifecycle enum value
 14560  	FileSystemLifecycleAvailable = "AVAILABLE"
 14561  
 14562  	// FileSystemLifecycleCreating is a FileSystemLifecycle enum value
 14563  	FileSystemLifecycleCreating = "CREATING"
 14564  
 14565  	// FileSystemLifecycleFailed is a FileSystemLifecycle enum value
 14566  	FileSystemLifecycleFailed = "FAILED"
 14567  
 14568  	// FileSystemLifecycleDeleting is a FileSystemLifecycle enum value
 14569  	FileSystemLifecycleDeleting = "DELETING"
 14570  
 14571  	// FileSystemLifecycleMisconfigured is a FileSystemLifecycle enum value
 14572  	FileSystemLifecycleMisconfigured = "MISCONFIGURED"
 14573  
 14574  	// FileSystemLifecycleUpdating is a FileSystemLifecycle enum value
 14575  	FileSystemLifecycleUpdating = "UPDATING"
 14576  )
 14577  
 14578  // FileSystemLifecycle_Values returns all elements of the FileSystemLifecycle enum
 14579  func FileSystemLifecycle_Values() []string {
 14580  	return []string{
 14581  		FileSystemLifecycleAvailable,
 14582  		FileSystemLifecycleCreating,
 14583  		FileSystemLifecycleFailed,
 14584  		FileSystemLifecycleDeleting,
 14585  		FileSystemLifecycleMisconfigured,
 14586  		FileSystemLifecycleUpdating,
 14587  	}
 14588  }
 14589  
 14590  // An enumeration specifying the currently ongoing maintenance operation.
 14591  const (
 14592  	// FileSystemMaintenanceOperationPatching is a FileSystemMaintenanceOperation enum value
 14593  	FileSystemMaintenanceOperationPatching = "PATCHING"
 14594  
 14595  	// FileSystemMaintenanceOperationBackingUp is a FileSystemMaintenanceOperation enum value
 14596  	FileSystemMaintenanceOperationBackingUp = "BACKING_UP"
 14597  )
 14598  
 14599  // FileSystemMaintenanceOperation_Values returns all elements of the FileSystemMaintenanceOperation enum
 14600  func FileSystemMaintenanceOperation_Values() []string {
 14601  	return []string{
 14602  		FileSystemMaintenanceOperationPatching,
 14603  		FileSystemMaintenanceOperationBackingUp,
 14604  	}
 14605  }
 14606  
 14607  // The type of file system.
 14608  const (
 14609  	// FileSystemTypeWindows is a FileSystemType enum value
 14610  	FileSystemTypeWindows = "WINDOWS"
 14611  
 14612  	// FileSystemTypeLustre is a FileSystemType enum value
 14613  	FileSystemTypeLustre = "LUSTRE"
 14614  
 14615  	// FileSystemTypeOntap is a FileSystemType enum value
 14616  	FileSystemTypeOntap = "ONTAP"
 14617  )
 14618  
 14619  // FileSystemType_Values returns all elements of the FileSystemType enum
 14620  func FileSystemType_Values() []string {
 14621  	return []string{
 14622  		FileSystemTypeWindows,
 14623  		FileSystemTypeLustre,
 14624  		FileSystemTypeOntap,
 14625  	}
 14626  }
 14627  
 14628  // The name for a filter.
 14629  const (
 14630  	// FilterNameFileSystemId is a FilterName enum value
 14631  	FilterNameFileSystemId = "file-system-id"
 14632  
 14633  	// FilterNameBackupType is a FilterName enum value
 14634  	FilterNameBackupType = "backup-type"
 14635  
 14636  	// FilterNameFileSystemType is a FilterName enum value
 14637  	FilterNameFileSystemType = "file-system-type"
 14638  
 14639  	// FilterNameVolumeId is a FilterName enum value
 14640  	FilterNameVolumeId = "volume-id"
 14641  )
 14642  
 14643  // FilterName_Values returns all elements of the FilterName enum
 14644  func FilterName_Values() []string {
 14645  	return []string{
 14646  		FilterNameFileSystemId,
 14647  		FilterNameBackupType,
 14648  		FilterNameFileSystemType,
 14649  		FilterNameVolumeId,
 14650  	}
 14651  }
 14652  
 14653  const (
 14654  	// FlexCacheEndpointTypeNone is a FlexCacheEndpointType enum value
 14655  	FlexCacheEndpointTypeNone = "NONE"
 14656  
 14657  	// FlexCacheEndpointTypeOrigin is a FlexCacheEndpointType enum value
 14658  	FlexCacheEndpointTypeOrigin = "ORIGIN"
 14659  
 14660  	// FlexCacheEndpointTypeCache is a FlexCacheEndpointType enum value
 14661  	FlexCacheEndpointTypeCache = "CACHE"
 14662  )
 14663  
 14664  // FlexCacheEndpointType_Values returns all elements of the FlexCacheEndpointType enum
 14665  func FlexCacheEndpointType_Values() []string {
 14666  	return []string{
 14667  		FlexCacheEndpointTypeNone,
 14668  		FlexCacheEndpointTypeOrigin,
 14669  		FlexCacheEndpointTypeCache,
 14670  	}
 14671  }
 14672  
 14673  const (
 14674  	// LustreDeploymentTypeScratch1 is a LustreDeploymentType enum value
 14675  	LustreDeploymentTypeScratch1 = "SCRATCH_1"
 14676  
 14677  	// LustreDeploymentTypeScratch2 is a LustreDeploymentType enum value
 14678  	LustreDeploymentTypeScratch2 = "SCRATCH_2"
 14679  
 14680  	// LustreDeploymentTypePersistent1 is a LustreDeploymentType enum value
 14681  	LustreDeploymentTypePersistent1 = "PERSISTENT_1"
 14682  )
 14683  
 14684  // LustreDeploymentType_Values returns all elements of the LustreDeploymentType enum
 14685  func LustreDeploymentType_Values() []string {
 14686  	return []string{
 14687  		LustreDeploymentTypeScratch1,
 14688  		LustreDeploymentTypeScratch2,
 14689  		LustreDeploymentTypePersistent1,
 14690  	}
 14691  }
 14692  
 14693  const (
 14694  	// OntapDeploymentTypeMultiAz1 is a OntapDeploymentType enum value
 14695  	OntapDeploymentTypeMultiAz1 = "MULTI_AZ_1"
 14696  )
 14697  
 14698  // OntapDeploymentType_Values returns all elements of the OntapDeploymentType enum
 14699  func OntapDeploymentType_Values() []string {
 14700  	return []string{
 14701  		OntapDeploymentTypeMultiAz1,
 14702  	}
 14703  }
 14704  
 14705  const (
 14706  	// OntapVolumeTypeRw is a OntapVolumeType enum value
 14707  	OntapVolumeTypeRw = "RW"
 14708  
 14709  	// OntapVolumeTypeDp is a OntapVolumeType enum value
 14710  	OntapVolumeTypeDp = "DP"
 14711  
 14712  	// OntapVolumeTypeLs is a OntapVolumeType enum value
 14713  	OntapVolumeTypeLs = "LS"
 14714  )
 14715  
 14716  // OntapVolumeType_Values returns all elements of the OntapVolumeType enum
 14717  func OntapVolumeType_Values() []string {
 14718  	return []string{
 14719  		OntapVolumeTypeRw,
 14720  		OntapVolumeTypeDp,
 14721  		OntapVolumeTypeLs,
 14722  	}
 14723  }
 14724  
 14725  const (
 14726  	// ReportFormatReportCsv20191124 is a ReportFormat enum value
 14727  	ReportFormatReportCsv20191124 = "REPORT_CSV_20191124"
 14728  )
 14729  
 14730  // ReportFormat_Values returns all elements of the ReportFormat enum
 14731  func ReportFormat_Values() []string {
 14732  	return []string{
 14733  		ReportFormatReportCsv20191124,
 14734  	}
 14735  }
 14736  
 14737  const (
 14738  	// ReportScopeFailedFilesOnly is a ReportScope enum value
 14739  	ReportScopeFailedFilesOnly = "FAILED_FILES_ONLY"
 14740  )
 14741  
 14742  // ReportScope_Values returns all elements of the ReportScope enum
 14743  func ReportScope_Values() []string {
 14744  	return []string{
 14745  		ReportScopeFailedFilesOnly,
 14746  	}
 14747  }
 14748  
 14749  const (
 14750  	// ResourceTypeFileSystem is a ResourceType enum value
 14751  	ResourceTypeFileSystem = "FILE_SYSTEM"
 14752  
 14753  	// ResourceTypeVolume is a ResourceType enum value
 14754  	ResourceTypeVolume = "VOLUME"
 14755  )
 14756  
 14757  // ResourceType_Values returns all elements of the ResourceType enum
 14758  func ResourceType_Values() []string {
 14759  	return []string{
 14760  		ResourceTypeFileSystem,
 14761  		ResourceTypeVolume,
 14762  	}
 14763  }
 14764  
 14765  const (
 14766  	// SecurityStyleUnix is a SecurityStyle enum value
 14767  	SecurityStyleUnix = "UNIX"
 14768  
 14769  	// SecurityStyleNtfs is a SecurityStyle enum value
 14770  	SecurityStyleNtfs = "NTFS"
 14771  
 14772  	// SecurityStyleMixed is a SecurityStyle enum value
 14773  	SecurityStyleMixed = "MIXED"
 14774  )
 14775  
 14776  // SecurityStyle_Values returns all elements of the SecurityStyle enum
 14777  func SecurityStyle_Values() []string {
 14778  	return []string{
 14779  		SecurityStyleUnix,
 14780  		SecurityStyleNtfs,
 14781  		SecurityStyleMixed,
 14782  	}
 14783  }
 14784  
 14785  // The types of limits on your service utilization. Limits include file system
 14786  // count, total throughput capacity, total storage, and total user-initiated
 14787  // backups. These limits apply for a specific account in a specific Amazon Web
 14788  // Services Region. You can increase some of them by contacting Amazon Web Services
 14789  // Support.
 14790  const (
 14791  	// ServiceLimitFileSystemCount is a ServiceLimit enum value
 14792  	ServiceLimitFileSystemCount = "FILE_SYSTEM_COUNT"
 14793  
 14794  	// ServiceLimitTotalThroughputCapacity is a ServiceLimit enum value
 14795  	ServiceLimitTotalThroughputCapacity = "TOTAL_THROUGHPUT_CAPACITY"
 14796  
 14797  	// ServiceLimitTotalStorage is a ServiceLimit enum value
 14798  	ServiceLimitTotalStorage = "TOTAL_STORAGE"
 14799  
 14800  	// ServiceLimitTotalUserInitiatedBackups is a ServiceLimit enum value
 14801  	ServiceLimitTotalUserInitiatedBackups = "TOTAL_USER_INITIATED_BACKUPS"
 14802  
 14803  	// ServiceLimitTotalUserTags is a ServiceLimit enum value
 14804  	ServiceLimitTotalUserTags = "TOTAL_USER_TAGS"
 14805  
 14806  	// ServiceLimitTotalInProgressCopyBackups is a ServiceLimit enum value
 14807  	ServiceLimitTotalInProgressCopyBackups = "TOTAL_IN_PROGRESS_COPY_BACKUPS"
 14808  
 14809  	// ServiceLimitStorageVirtualMachinesPerFileSystem is a ServiceLimit enum value
 14810  	ServiceLimitStorageVirtualMachinesPerFileSystem = "STORAGE_VIRTUAL_MACHINES_PER_FILE_SYSTEM"
 14811  
 14812  	// ServiceLimitVolumesPerFileSystem is a ServiceLimit enum value
 14813  	ServiceLimitVolumesPerFileSystem = "VOLUMES_PER_FILE_SYSTEM"
 14814  
 14815  	// ServiceLimitTotalSsdIops is a ServiceLimit enum value
 14816  	ServiceLimitTotalSsdIops = "TOTAL_SSD_IOPS"
 14817  )
 14818  
 14819  // ServiceLimit_Values returns all elements of the ServiceLimit enum
 14820  func ServiceLimit_Values() []string {
 14821  	return []string{
 14822  		ServiceLimitFileSystemCount,
 14823  		ServiceLimitTotalThroughputCapacity,
 14824  		ServiceLimitTotalStorage,
 14825  		ServiceLimitTotalUserInitiatedBackups,
 14826  		ServiceLimitTotalUserTags,
 14827  		ServiceLimitTotalInProgressCopyBackups,
 14828  		ServiceLimitStorageVirtualMachinesPerFileSystem,
 14829  		ServiceLimitVolumesPerFileSystem,
 14830  		ServiceLimitTotalSsdIops,
 14831  	}
 14832  }
 14833  
 14834  const (
 14835  	// StatusFailed is a Status enum value
 14836  	StatusFailed = "FAILED"
 14837  
 14838  	// StatusInProgress is a Status enum value
 14839  	StatusInProgress = "IN_PROGRESS"
 14840  
 14841  	// StatusPending is a Status enum value
 14842  	StatusPending = "PENDING"
 14843  
 14844  	// StatusCompleted is a Status enum value
 14845  	StatusCompleted = "COMPLETED"
 14846  
 14847  	// StatusUpdatedOptimizing is a Status enum value
 14848  	StatusUpdatedOptimizing = "UPDATED_OPTIMIZING"
 14849  )
 14850  
 14851  // Status_Values returns all elements of the Status enum
 14852  func Status_Values() []string {
 14853  	return []string{
 14854  		StatusFailed,
 14855  		StatusInProgress,
 14856  		StatusPending,
 14857  		StatusCompleted,
 14858  		StatusUpdatedOptimizing,
 14859  	}
 14860  }
 14861  
 14862  // The storage type for your Amazon FSx file system.
 14863  const (
 14864  	// StorageTypeSsd is a StorageType enum value
 14865  	StorageTypeSsd = "SSD"
 14866  
 14867  	// StorageTypeHdd is a StorageType enum value
 14868  	StorageTypeHdd = "HDD"
 14869  )
 14870  
 14871  // StorageType_Values returns all elements of the StorageType enum
 14872  func StorageType_Values() []string {
 14873  	return []string{
 14874  		StorageTypeSsd,
 14875  		StorageTypeHdd,
 14876  	}
 14877  }
 14878  
 14879  const (
 14880  	// StorageVirtualMachineFilterNameFileSystemId is a StorageVirtualMachineFilterName enum value
 14881  	StorageVirtualMachineFilterNameFileSystemId = "file-system-id"
 14882  )
 14883  
 14884  // StorageVirtualMachineFilterName_Values returns all elements of the StorageVirtualMachineFilterName enum
 14885  func StorageVirtualMachineFilterName_Values() []string {
 14886  	return []string{
 14887  		StorageVirtualMachineFilterNameFileSystemId,
 14888  	}
 14889  }
 14890  
 14891  const (
 14892  	// StorageVirtualMachineLifecycleCreated is a StorageVirtualMachineLifecycle enum value
 14893  	StorageVirtualMachineLifecycleCreated = "CREATED"
 14894  
 14895  	// StorageVirtualMachineLifecycleCreating is a StorageVirtualMachineLifecycle enum value
 14896  	StorageVirtualMachineLifecycleCreating = "CREATING"
 14897  
 14898  	// StorageVirtualMachineLifecycleDeleting is a StorageVirtualMachineLifecycle enum value
 14899  	StorageVirtualMachineLifecycleDeleting = "DELETING"
 14900  
 14901  	// StorageVirtualMachineLifecycleFailed is a StorageVirtualMachineLifecycle enum value
 14902  	StorageVirtualMachineLifecycleFailed = "FAILED"
 14903  
 14904  	// StorageVirtualMachineLifecycleMisconfigured is a StorageVirtualMachineLifecycle enum value
 14905  	StorageVirtualMachineLifecycleMisconfigured = "MISCONFIGURED"
 14906  
 14907  	// StorageVirtualMachineLifecyclePending is a StorageVirtualMachineLifecycle enum value
 14908  	StorageVirtualMachineLifecyclePending = "PENDING"
 14909  )
 14910  
 14911  // StorageVirtualMachineLifecycle_Values returns all elements of the StorageVirtualMachineLifecycle enum
 14912  func StorageVirtualMachineLifecycle_Values() []string {
 14913  	return []string{
 14914  		StorageVirtualMachineLifecycleCreated,
 14915  		StorageVirtualMachineLifecycleCreating,
 14916  		StorageVirtualMachineLifecycleDeleting,
 14917  		StorageVirtualMachineLifecycleFailed,
 14918  		StorageVirtualMachineLifecycleMisconfigured,
 14919  		StorageVirtualMachineLifecyclePending,
 14920  	}
 14921  }
 14922  
 14923  const (
 14924  	// StorageVirtualMachineRootVolumeSecurityStyleUnix is a StorageVirtualMachineRootVolumeSecurityStyle enum value
 14925  	StorageVirtualMachineRootVolumeSecurityStyleUnix = "UNIX"
 14926  
 14927  	// StorageVirtualMachineRootVolumeSecurityStyleNtfs is a StorageVirtualMachineRootVolumeSecurityStyle enum value
 14928  	StorageVirtualMachineRootVolumeSecurityStyleNtfs = "NTFS"
 14929  
 14930  	// StorageVirtualMachineRootVolumeSecurityStyleMixed is a StorageVirtualMachineRootVolumeSecurityStyle enum value
 14931  	StorageVirtualMachineRootVolumeSecurityStyleMixed = "MIXED"
 14932  )
 14933  
 14934  // StorageVirtualMachineRootVolumeSecurityStyle_Values returns all elements of the StorageVirtualMachineRootVolumeSecurityStyle enum
 14935  func StorageVirtualMachineRootVolumeSecurityStyle_Values() []string {
 14936  	return []string{
 14937  		StorageVirtualMachineRootVolumeSecurityStyleUnix,
 14938  		StorageVirtualMachineRootVolumeSecurityStyleNtfs,
 14939  		StorageVirtualMachineRootVolumeSecurityStyleMixed,
 14940  	}
 14941  }
 14942  
 14943  const (
 14944  	// StorageVirtualMachineSubtypeDefault is a StorageVirtualMachineSubtype enum value
 14945  	StorageVirtualMachineSubtypeDefault = "DEFAULT"
 14946  
 14947  	// StorageVirtualMachineSubtypeDpDestination is a StorageVirtualMachineSubtype enum value
 14948  	StorageVirtualMachineSubtypeDpDestination = "DP_DESTINATION"
 14949  
 14950  	// StorageVirtualMachineSubtypeSyncDestination is a StorageVirtualMachineSubtype enum value
 14951  	StorageVirtualMachineSubtypeSyncDestination = "SYNC_DESTINATION"
 14952  
 14953  	// StorageVirtualMachineSubtypeSyncSource is a StorageVirtualMachineSubtype enum value
 14954  	StorageVirtualMachineSubtypeSyncSource = "SYNC_SOURCE"
 14955  )
 14956  
 14957  // StorageVirtualMachineSubtype_Values returns all elements of the StorageVirtualMachineSubtype enum
 14958  func StorageVirtualMachineSubtype_Values() []string {
 14959  	return []string{
 14960  		StorageVirtualMachineSubtypeDefault,
 14961  		StorageVirtualMachineSubtypeDpDestination,
 14962  		StorageVirtualMachineSubtypeSyncDestination,
 14963  		StorageVirtualMachineSubtypeSyncSource,
 14964  	}
 14965  }
 14966  
 14967  const (
 14968  	// TieringPolicyNameSnapshotOnly is a TieringPolicyName enum value
 14969  	TieringPolicyNameSnapshotOnly = "SNAPSHOT_ONLY"
 14970  
 14971  	// TieringPolicyNameAuto is a TieringPolicyName enum value
 14972  	TieringPolicyNameAuto = "AUTO"
 14973  
 14974  	// TieringPolicyNameAll is a TieringPolicyName enum value
 14975  	TieringPolicyNameAll = "ALL"
 14976  
 14977  	// TieringPolicyNameNone is a TieringPolicyName enum value
 14978  	TieringPolicyNameNone = "NONE"
 14979  )
 14980  
 14981  // TieringPolicyName_Values returns all elements of the TieringPolicyName enum
 14982  func TieringPolicyName_Values() []string {
 14983  	return []string{
 14984  		TieringPolicyNameSnapshotOnly,
 14985  		TieringPolicyNameAuto,
 14986  		TieringPolicyNameAll,
 14987  		TieringPolicyNameNone,
 14988  	}
 14989  }
 14990  
 14991  const (
 14992  	// VolumeFilterNameFileSystemId is a VolumeFilterName enum value
 14993  	VolumeFilterNameFileSystemId = "file-system-id"
 14994  
 14995  	// VolumeFilterNameStorageVirtualMachineId is a VolumeFilterName enum value
 14996  	VolumeFilterNameStorageVirtualMachineId = "storage-virtual-machine-id"
 14997  )
 14998  
 14999  // VolumeFilterName_Values returns all elements of the VolumeFilterName enum
 15000  func VolumeFilterName_Values() []string {
 15001  	return []string{
 15002  		VolumeFilterNameFileSystemId,
 15003  		VolumeFilterNameStorageVirtualMachineId,
 15004  	}
 15005  }
 15006  
 15007  const (
 15008  	// VolumeLifecycleCreating is a VolumeLifecycle enum value
 15009  	VolumeLifecycleCreating = "CREATING"
 15010  
 15011  	// VolumeLifecycleCreated is a VolumeLifecycle enum value
 15012  	VolumeLifecycleCreated = "CREATED"
 15013  
 15014  	// VolumeLifecycleDeleting is a VolumeLifecycle enum value
 15015  	VolumeLifecycleDeleting = "DELETING"
 15016  
 15017  	// VolumeLifecycleFailed is a VolumeLifecycle enum value
 15018  	VolumeLifecycleFailed = "FAILED"
 15019  
 15020  	// VolumeLifecycleMisconfigured is a VolumeLifecycle enum value
 15021  	VolumeLifecycleMisconfigured = "MISCONFIGURED"
 15022  
 15023  	// VolumeLifecyclePending is a VolumeLifecycle enum value
 15024  	VolumeLifecyclePending = "PENDING"
 15025  )
 15026  
 15027  // VolumeLifecycle_Values returns all elements of the VolumeLifecycle enum
 15028  func VolumeLifecycle_Values() []string {
 15029  	return []string{
 15030  		VolumeLifecycleCreating,
 15031  		VolumeLifecycleCreated,
 15032  		VolumeLifecycleDeleting,
 15033  		VolumeLifecycleFailed,
 15034  		VolumeLifecycleMisconfigured,
 15035  		VolumeLifecyclePending,
 15036  	}
 15037  }
 15038  
 15039  const (
 15040  	// VolumeTypeOntap is a VolumeType enum value
 15041  	VolumeTypeOntap = "ONTAP"
 15042  )
 15043  
 15044  // VolumeType_Values returns all elements of the VolumeType enum
 15045  func VolumeType_Values() []string {
 15046  	return []string{
 15047  		VolumeTypeOntap,
 15048  	}
 15049  }
 15050  
 15051  const (
 15052  	// WindowsAccessAuditLogLevelDisabled is a WindowsAccessAuditLogLevel enum value
 15053  	WindowsAccessAuditLogLevelDisabled = "DISABLED"
 15054  
 15055  	// WindowsAccessAuditLogLevelSuccessOnly is a WindowsAccessAuditLogLevel enum value
 15056  	WindowsAccessAuditLogLevelSuccessOnly = "SUCCESS_ONLY"
 15057  
 15058  	// WindowsAccessAuditLogLevelFailureOnly is a WindowsAccessAuditLogLevel enum value
 15059  	WindowsAccessAuditLogLevelFailureOnly = "FAILURE_ONLY"
 15060  
 15061  	// WindowsAccessAuditLogLevelSuccessAndFailure is a WindowsAccessAuditLogLevel enum value
 15062  	WindowsAccessAuditLogLevelSuccessAndFailure = "SUCCESS_AND_FAILURE"
 15063  )
 15064  
 15065  // WindowsAccessAuditLogLevel_Values returns all elements of the WindowsAccessAuditLogLevel enum
 15066  func WindowsAccessAuditLogLevel_Values() []string {
 15067  	return []string{
 15068  		WindowsAccessAuditLogLevelDisabled,
 15069  		WindowsAccessAuditLogLevelSuccessOnly,
 15070  		WindowsAccessAuditLogLevelFailureOnly,
 15071  		WindowsAccessAuditLogLevelSuccessAndFailure,
 15072  	}
 15073  }
 15074  
 15075  const (
 15076  	// WindowsDeploymentTypeMultiAz1 is a WindowsDeploymentType enum value
 15077  	WindowsDeploymentTypeMultiAz1 = "MULTI_AZ_1"
 15078  
 15079  	// WindowsDeploymentTypeSingleAz1 is a WindowsDeploymentType enum value
 15080  	WindowsDeploymentTypeSingleAz1 = "SINGLE_AZ_1"
 15081  
 15082  	// WindowsDeploymentTypeSingleAz2 is a WindowsDeploymentType enum value
 15083  	WindowsDeploymentTypeSingleAz2 = "SINGLE_AZ_2"
 15084  )
 15085  
 15086  // WindowsDeploymentType_Values returns all elements of the WindowsDeploymentType enum
 15087  func WindowsDeploymentType_Values() []string {
 15088  	return []string{
 15089  		WindowsDeploymentTypeMultiAz1,
 15090  		WindowsDeploymentTypeSingleAz1,
 15091  		WindowsDeploymentTypeSingleAz2,
 15092  	}
 15093  }