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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package efs
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    14  )
    15  
    16  const opCreateAccessPoint = "CreateAccessPoint"
    17  
    18  // CreateAccessPointRequest generates a "aws/request.Request" representing the
    19  // client's request for the CreateAccessPoint 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 CreateAccessPoint for more information on using the CreateAccessPoint
    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 CreateAccessPointRequest method.
    34  //    req, resp := client.CreateAccessPointRequest(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/elasticfilesystem-2015-02-01/CreateAccessPoint
    42  func (c *EFS) CreateAccessPointRequest(input *CreateAccessPointInput) (req *request.Request, output *CreateAccessPointOutput) {
    43  	op := &request.Operation{
    44  		Name:       opCreateAccessPoint,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/2015-02-01/access-points",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &CreateAccessPointInput{}
    51  	}
    52  
    53  	output = &CreateAccessPointOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // CreateAccessPoint API operation for Amazon Elastic File System.
    59  //
    60  // Creates an EFS access point. An access point is an application-specific view
    61  // into an EFS file system that applies an operating system user and group,
    62  // and a file system path, to any file system request made through the access
    63  // point. The operating system user and group override any identity information
    64  // provided by the NFS client. The file system path is exposed as the access
    65  // point's root directory. Applications using the access point can only access
    66  // data in its own directory and below. To learn more, see Mounting a file system
    67  // using EFS access points (https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html).
    68  //
    69  // This operation requires permissions for the elasticfilesystem:CreateAccessPoint
    70  // action.
    71  //
    72  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    73  // with awserr.Error's Code and Message methods to get detailed information about
    74  // the error.
    75  //
    76  // See the AWS API reference guide for Amazon Elastic File System's
    77  // API operation CreateAccessPoint for usage and error information.
    78  //
    79  // Returned Error Types:
    80  //   * BadRequest
    81  //   Returned if the request is malformed or contains an error such as an invalid
    82  //   parameter value or a missing required parameter.
    83  //
    84  //   * AccessPointAlreadyExists
    85  //   Returned if the access point you are trying to create already exists, with
    86  //   the creation token you provided in the request.
    87  //
    88  //   * IncorrectFileSystemLifeCycleState
    89  //   Returned if the file system's lifecycle state is not "available".
    90  //
    91  //   * InternalServerError
    92  //   Returned if an error occurred on the server side.
    93  //
    94  //   * FileSystemNotFound
    95  //   Returned if the specified FileSystemId value doesn't exist in the requester's
    96  //   Amazon Web Services account.
    97  //
    98  //   * AccessPointLimitExceeded
    99  //   Returned if the Amazon Web Services account has already created the maximum
   100  //   number of access points allowed per file system.
   101  //
   102  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/CreateAccessPoint
   103  func (c *EFS) CreateAccessPoint(input *CreateAccessPointInput) (*CreateAccessPointOutput, error) {
   104  	req, out := c.CreateAccessPointRequest(input)
   105  	return out, req.Send()
   106  }
   107  
   108  // CreateAccessPointWithContext is the same as CreateAccessPoint with the addition of
   109  // the ability to pass a context and additional request options.
   110  //
   111  // See CreateAccessPoint for details on how to use this API operation.
   112  //
   113  // The context must be non-nil and will be used for request cancellation. If
   114  // the context is nil a panic will occur. In the future the SDK may create
   115  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   116  // for more information on using Contexts.
   117  func (c *EFS) CreateAccessPointWithContext(ctx aws.Context, input *CreateAccessPointInput, opts ...request.Option) (*CreateAccessPointOutput, error) {
   118  	req, out := c.CreateAccessPointRequest(input)
   119  	req.SetContext(ctx)
   120  	req.ApplyOptions(opts...)
   121  	return out, req.Send()
   122  }
   123  
   124  const opCreateFileSystem = "CreateFileSystem"
   125  
   126  // CreateFileSystemRequest generates a "aws/request.Request" representing the
   127  // client's request for the CreateFileSystem operation. The "output" return
   128  // value will be populated with the request's response once the request completes
   129  // successfully.
   130  //
   131  // Use "Send" method on the returned Request to send the API call to the service.
   132  // the "output" return value is not valid until after Send returns without error.
   133  //
   134  // See CreateFileSystem for more information on using the CreateFileSystem
   135  // API call, and error handling.
   136  //
   137  // This method is useful when you want to inject custom logic or configuration
   138  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   139  //
   140  //
   141  //    // Example sending a request using the CreateFileSystemRequest method.
   142  //    req, resp := client.CreateFileSystemRequest(params)
   143  //
   144  //    err := req.Send()
   145  //    if err == nil { // resp is now filled
   146  //        fmt.Println(resp)
   147  //    }
   148  //
   149  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/CreateFileSystem
   150  func (c *EFS) CreateFileSystemRequest(input *CreateFileSystemInput) (req *request.Request, output *FileSystemDescription) {
   151  	op := &request.Operation{
   152  		Name:       opCreateFileSystem,
   153  		HTTPMethod: "POST",
   154  		HTTPPath:   "/2015-02-01/file-systems",
   155  	}
   156  
   157  	if input == nil {
   158  		input = &CreateFileSystemInput{}
   159  	}
   160  
   161  	output = &FileSystemDescription{}
   162  	req = c.newRequest(op, input, output)
   163  	return
   164  }
   165  
   166  // CreateFileSystem API operation for Amazon Elastic File System.
   167  //
   168  // Creates a new, empty file system. The operation requires a creation token
   169  // in the request that Amazon EFS uses to ensure idempotent creation (calling
   170  // the operation with same creation token has no effect). If a file system does
   171  // not currently exist that is owned by the caller's Amazon Web Services account
   172  // with the specified creation token, this operation does the following:
   173  //
   174  //    * Creates a new, empty file system. The file system will have an Amazon
   175  //    EFS assigned ID, and an initial lifecycle state creating.
   176  //
   177  //    * Returns with the description of the created file system.
   178  //
   179  // Otherwise, this operation returns a FileSystemAlreadyExists error with the
   180  // ID of the existing file system.
   181  //
   182  // For basic use cases, you can use a randomly generated UUID for the creation
   183  // token.
   184  //
   185  // The idempotent operation allows you to retry a CreateFileSystem call without
   186  // risk of creating an extra file system. This can happen when an initial call
   187  // fails in a way that leaves it uncertain whether or not a file system was
   188  // actually created. An example might be that a transport level timeout occurred
   189  // or your connection was reset. As long as you use the same creation token,
   190  // if the initial call had succeeded in creating a file system, the client can
   191  // learn of its existence from the FileSystemAlreadyExists error.
   192  //
   193  // For more information, see Creating a file system (https://docs.aws.amazon.com/efs/latest/ug/creating-using-create-fs.html#creating-using-create-fs-part1)
   194  // in the Amazon EFS User Guide.
   195  //
   196  // The CreateFileSystem call returns while the file system's lifecycle state
   197  // is still creating. You can check the file system creation status by calling
   198  // the DescribeFileSystems operation, which among other things returns the file
   199  // system state.
   200  //
   201  // This operation accepts an optional PerformanceMode parameter that you choose
   202  // for your file system. We recommend generalPurpose performance mode for most
   203  // file systems. File systems using the maxIO performance mode can scale to
   204  // higher levels of aggregate throughput and operations per second with a tradeoff
   205  // of slightly higher latencies for most file operations. The performance mode
   206  // can't be changed after the file system has been created. For more information,
   207  // see Amazon EFS performance modes (https://docs.aws.amazon.com/efs/latest/ug/performance.html#performancemodes.html).
   208  //
   209  // You can set the throughput mode for the file system using the ThroughputMode
   210  // parameter.
   211  //
   212  // After the file system is fully created, Amazon EFS sets its lifecycle state
   213  // to available, at which point you can create one or more mount targets for
   214  // the file system in your VPC. For more information, see CreateMountTarget.
   215  // You mount your Amazon EFS file system on an EC2 instances in your VPC by
   216  // using the mount target. For more information, see Amazon EFS: How it Works
   217  // (https://docs.aws.amazon.com/efs/latest/ug/how-it-works.html).
   218  //
   219  // This operation requires permissions for the elasticfilesystem:CreateFileSystem
   220  // action.
   221  //
   222  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   223  // with awserr.Error's Code and Message methods to get detailed information about
   224  // the error.
   225  //
   226  // See the AWS API reference guide for Amazon Elastic File System's
   227  // API operation CreateFileSystem for usage and error information.
   228  //
   229  // Returned Error Types:
   230  //   * BadRequest
   231  //   Returned if the request is malformed or contains an error such as an invalid
   232  //   parameter value or a missing required parameter.
   233  //
   234  //   * InternalServerError
   235  //   Returned if an error occurred on the server side.
   236  //
   237  //   * FileSystemAlreadyExists
   238  //   Returned if the file system you are trying to create already exists, with
   239  //   the creation token you provided.
   240  //
   241  //   * FileSystemLimitExceeded
   242  //   Returned if the Amazon Web Services account has already created the maximum
   243  //   number of file systems allowed per account.
   244  //
   245  //   * InsufficientThroughputCapacity
   246  //   Returned if there's not enough capacity to provision additional throughput.
   247  //   This value might be returned when you try to create a file system in provisioned
   248  //   throughput mode, when you attempt to increase the provisioned throughput
   249  //   of an existing file system, or when you attempt to change an existing file
   250  //   system from bursting to provisioned throughput mode. Try again later.
   251  //
   252  //   * ThroughputLimitExceeded
   253  //   Returned if the throughput mode or amount of provisioned throughput can't
   254  //   be changed because the throughput limit of 1024 MiB/s has been reached.
   255  //
   256  //   * UnsupportedAvailabilityZone
   257  //   Returned if the requested Amazon EFS functionality is not available in the
   258  //   specified Availability Zone.
   259  //
   260  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/CreateFileSystem
   261  func (c *EFS) CreateFileSystem(input *CreateFileSystemInput) (*FileSystemDescription, error) {
   262  	req, out := c.CreateFileSystemRequest(input)
   263  	return out, req.Send()
   264  }
   265  
   266  // CreateFileSystemWithContext is the same as CreateFileSystem with the addition of
   267  // the ability to pass a context and additional request options.
   268  //
   269  // See CreateFileSystem for details on how to use this API operation.
   270  //
   271  // The context must be non-nil and will be used for request cancellation. If
   272  // the context is nil a panic will occur. In the future the SDK may create
   273  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   274  // for more information on using Contexts.
   275  func (c *EFS) CreateFileSystemWithContext(ctx aws.Context, input *CreateFileSystemInput, opts ...request.Option) (*FileSystemDescription, error) {
   276  	req, out := c.CreateFileSystemRequest(input)
   277  	req.SetContext(ctx)
   278  	req.ApplyOptions(opts...)
   279  	return out, req.Send()
   280  }
   281  
   282  const opCreateMountTarget = "CreateMountTarget"
   283  
   284  // CreateMountTargetRequest generates a "aws/request.Request" representing the
   285  // client's request for the CreateMountTarget operation. The "output" return
   286  // value will be populated with the request's response once the request completes
   287  // successfully.
   288  //
   289  // Use "Send" method on the returned Request to send the API call to the service.
   290  // the "output" return value is not valid until after Send returns without error.
   291  //
   292  // See CreateMountTarget for more information on using the CreateMountTarget
   293  // API call, and error handling.
   294  //
   295  // This method is useful when you want to inject custom logic or configuration
   296  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   297  //
   298  //
   299  //    // Example sending a request using the CreateMountTargetRequest method.
   300  //    req, resp := client.CreateMountTargetRequest(params)
   301  //
   302  //    err := req.Send()
   303  //    if err == nil { // resp is now filled
   304  //        fmt.Println(resp)
   305  //    }
   306  //
   307  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/CreateMountTarget
   308  func (c *EFS) CreateMountTargetRequest(input *CreateMountTargetInput) (req *request.Request, output *MountTargetDescription) {
   309  	op := &request.Operation{
   310  		Name:       opCreateMountTarget,
   311  		HTTPMethod: "POST",
   312  		HTTPPath:   "/2015-02-01/mount-targets",
   313  	}
   314  
   315  	if input == nil {
   316  		input = &CreateMountTargetInput{}
   317  	}
   318  
   319  	output = &MountTargetDescription{}
   320  	req = c.newRequest(op, input, output)
   321  	return
   322  }
   323  
   324  // CreateMountTarget API operation for Amazon Elastic File System.
   325  //
   326  // Creates a mount target for a file system. You can then mount the file system
   327  // on EC2 instances by using the mount target.
   328  //
   329  // You can create one mount target in each Availability Zone in your VPC. All
   330  // EC2 instances in a VPC within a given Availability Zone share a single mount
   331  // target for a given file system. If you have multiple subnets in an Availability
   332  // Zone, you create a mount target in one of the subnets. EC2 instances do not
   333  // need to be in the same subnet as the mount target in order to access their
   334  // file system.
   335  //
   336  // You can create only one mount target for an EFS file system using One Zone
   337  // storage classes. You must create that mount target in the same Availability
   338  // Zone in which the file system is located. Use the AvailabilityZoneName and
   339  // AvailabiltyZoneId properties in the DescribeFileSystems response object to
   340  // get this information. Use the subnetId associated with the file system's
   341  // Availability Zone when creating the mount target.
   342  //
   343  // For more information, see Amazon EFS: How it Works (https://docs.aws.amazon.com/efs/latest/ug/how-it-works.html).
   344  //
   345  // To create a mount target for a file system, the file system's lifecycle state
   346  // must be available. For more information, see DescribeFileSystems.
   347  //
   348  // In the request, provide the following:
   349  //
   350  //    * The file system ID for which you are creating the mount target.
   351  //
   352  //    * A subnet ID, which determines the following: The VPC in which Amazon
   353  //    EFS creates the mount target The Availability Zone in which Amazon EFS
   354  //    creates the mount target The IP address range from which Amazon EFS selects
   355  //    the IP address of the mount target (if you don't specify an IP address
   356  //    in the request)
   357  //
   358  // After creating the mount target, Amazon EFS returns a response that includes,
   359  // a MountTargetId and an IpAddress. You use this IP address when mounting the
   360  // file system in an EC2 instance. You can also use the mount target's DNS name
   361  // when mounting the file system. The EC2 instance on which you mount the file
   362  // system by using the mount target can resolve the mount target's DNS name
   363  // to its IP address. For more information, see How it Works: Implementation
   364  // Overview (https://docs.aws.amazon.com/efs/latest/ug/how-it-works.html#how-it-works-implementation).
   365  //
   366  // Note that you can create mount targets for a file system in only one VPC,
   367  // and there can be only one mount target per Availability Zone. That is, if
   368  // the file system already has one or more mount targets created for it, the
   369  // subnet specified in the request to add another mount target must meet the
   370  // following requirements:
   371  //
   372  //    * Must belong to the same VPC as the subnets of the existing mount targets
   373  //
   374  //    * Must not be in the same Availability Zone as any of the subnets of the
   375  //    existing mount targets
   376  //
   377  // If the request satisfies the requirements, Amazon EFS does the following:
   378  //
   379  //    * Creates a new mount target in the specified subnet.
   380  //
   381  //    * Also creates a new network interface in the subnet as follows: If the
   382  //    request provides an IpAddress, Amazon EFS assigns that IP address to the
   383  //    network interface. Otherwise, Amazon EFS assigns a free address in the
   384  //    subnet (in the same way that the Amazon EC2 CreateNetworkInterface call
   385  //    does when a request does not specify a primary private IP address). If
   386  //    the request provides SecurityGroups, this network interface is associated
   387  //    with those security groups. Otherwise, it belongs to the default security
   388  //    group for the subnet's VPC. Assigns the description Mount target fsmt-id
   389  //    for file system fs-id where fsmt-id is the mount target ID, and fs-id
   390  //    is the FileSystemId. Sets the requesterManaged property of the network
   391  //    interface to true, and the requesterId value to EFS. Each Amazon EFS mount
   392  //    target has one corresponding requester-managed EC2 network interface.
   393  //    After the network interface is created, Amazon EFS sets the NetworkInterfaceId
   394  //    field in the mount target's description to the network interface ID, and
   395  //    the IpAddress field to its address. If network interface creation fails,
   396  //    the entire CreateMountTarget operation fails.
   397  //
   398  // The CreateMountTarget call returns only after creating the network interface,
   399  // but while the mount target state is still creating, you can check the mount
   400  // target creation status by calling the DescribeMountTargets operation, which
   401  // among other things returns the mount target state.
   402  //
   403  // We recommend that you create a mount target in each of the Availability Zones.
   404  // There are cost considerations for using a file system in an Availability
   405  // Zone through a mount target created in another Availability Zone. For more
   406  // information, see Amazon EFS (http://aws.amazon.com/efs/). In addition, by
   407  // always using a mount target local to the instance's Availability Zone, you
   408  // eliminate a partial failure scenario. If the Availability Zone in which your
   409  // mount target is created goes down, then you can't access your file system
   410  // through that mount target.
   411  //
   412  // This operation requires permissions for the following action on the file
   413  // system:
   414  //
   415  //    * elasticfilesystem:CreateMountTarget
   416  //
   417  // This operation also requires permissions for the following Amazon EC2 actions:
   418  //
   419  //    * ec2:DescribeSubnets
   420  //
   421  //    * ec2:DescribeNetworkInterfaces
   422  //
   423  //    * ec2:CreateNetworkInterface
   424  //
   425  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   426  // with awserr.Error's Code and Message methods to get detailed information about
   427  // the error.
   428  //
   429  // See the AWS API reference guide for Amazon Elastic File System's
   430  // API operation CreateMountTarget for usage and error information.
   431  //
   432  // Returned Error Types:
   433  //   * BadRequest
   434  //   Returned if the request is malformed or contains an error such as an invalid
   435  //   parameter value or a missing required parameter.
   436  //
   437  //   * InternalServerError
   438  //   Returned if an error occurred on the server side.
   439  //
   440  //   * FileSystemNotFound
   441  //   Returned if the specified FileSystemId value doesn't exist in the requester's
   442  //   Amazon Web Services account.
   443  //
   444  //   * IncorrectFileSystemLifeCycleState
   445  //   Returned if the file system's lifecycle state is not "available".
   446  //
   447  //   * MountTargetConflict
   448  //   Returned if the mount target would violate one of the specified restrictions
   449  //   based on the file system's existing mount targets.
   450  //
   451  //   * SubnetNotFound
   452  //   Returned if there is no subnet with ID SubnetId provided in the request.
   453  //
   454  //   * NoFreeAddressesInSubnet
   455  //   Returned if IpAddress was not specified in the request and there are no free
   456  //   IP addresses in the subnet.
   457  //
   458  //   * IpAddressInUse
   459  //   Returned if the request specified an IpAddress that is already in use in
   460  //   the subnet.
   461  //
   462  //   * NetworkInterfaceLimitExceeded
   463  //   The calling account has reached the limit for elastic network interfaces
   464  //   for the specific Amazon Web Services Region. The client should try to delete
   465  //   some elastic network interfaces or get the account limit raised. For more
   466  //   information, see Amazon VPC Limits (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html)
   467  //   in the Amazon VPC User Guide (see the Network interfaces per VPC entry in
   468  //   the table).
   469  //
   470  //   * SecurityGroupLimitExceeded
   471  //   Returned if the size of SecurityGroups specified in the request is greater
   472  //   than five.
   473  //
   474  //   * SecurityGroupNotFound
   475  //   Returned if one of the specified security groups doesn't exist in the subnet's
   476  //   VPC.
   477  //
   478  //   * UnsupportedAvailabilityZone
   479  //   Returned if the requested Amazon EFS functionality is not available in the
   480  //   specified Availability Zone.
   481  //
   482  //   * AvailabilityZonesMismatch
   483  //   Returned if the Availability Zone that was specified for a mount target is
   484  //   different from the Availability Zone that was specified for One Zone storage
   485  //   classes. For more information, see Regional and One Zone storage redundancy
   486  //   (https://docs.aws.amazon.com/efs/latest/ug/availability-durability.html).
   487  //
   488  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/CreateMountTarget
   489  func (c *EFS) CreateMountTarget(input *CreateMountTargetInput) (*MountTargetDescription, error) {
   490  	req, out := c.CreateMountTargetRequest(input)
   491  	return out, req.Send()
   492  }
   493  
   494  // CreateMountTargetWithContext is the same as CreateMountTarget with the addition of
   495  // the ability to pass a context and additional request options.
   496  //
   497  // See CreateMountTarget for details on how to use this API operation.
   498  //
   499  // The context must be non-nil and will be used for request cancellation. If
   500  // the context is nil a panic will occur. In the future the SDK may create
   501  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   502  // for more information on using Contexts.
   503  func (c *EFS) CreateMountTargetWithContext(ctx aws.Context, input *CreateMountTargetInput, opts ...request.Option) (*MountTargetDescription, error) {
   504  	req, out := c.CreateMountTargetRequest(input)
   505  	req.SetContext(ctx)
   506  	req.ApplyOptions(opts...)
   507  	return out, req.Send()
   508  }
   509  
   510  const opCreateTags = "CreateTags"
   511  
   512  // CreateTagsRequest generates a "aws/request.Request" representing the
   513  // client's request for the CreateTags operation. The "output" return
   514  // value will be populated with the request's response once the request completes
   515  // successfully.
   516  //
   517  // Use "Send" method on the returned Request to send the API call to the service.
   518  // the "output" return value is not valid until after Send returns without error.
   519  //
   520  // See CreateTags for more information on using the CreateTags
   521  // API call, and error handling.
   522  //
   523  // This method is useful when you want to inject custom logic or configuration
   524  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   525  //
   526  //
   527  //    // Example sending a request using the CreateTagsRequest method.
   528  //    req, resp := client.CreateTagsRequest(params)
   529  //
   530  //    err := req.Send()
   531  //    if err == nil { // resp is now filled
   532  //        fmt.Println(resp)
   533  //    }
   534  //
   535  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/CreateTags
   536  //
   537  // Deprecated: Use TagResource.
   538  func (c *EFS) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) {
   539  	if c.Client.Config.Logger != nil {
   540  		c.Client.Config.Logger.Log("This operation, CreateTags, has been deprecated")
   541  	}
   542  	op := &request.Operation{
   543  		Name:       opCreateTags,
   544  		HTTPMethod: "POST",
   545  		HTTPPath:   "/2015-02-01/create-tags/{FileSystemId}",
   546  	}
   547  
   548  	if input == nil {
   549  		input = &CreateTagsInput{}
   550  	}
   551  
   552  	output = &CreateTagsOutput{}
   553  	req = c.newRequest(op, input, output)
   554  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   555  	return
   556  }
   557  
   558  // CreateTags API operation for Amazon Elastic File System.
   559  //
   560  //
   561  // DEPRECATED - CreateTags is deprecated and not maintained. Please use the
   562  // API action to create tags for EFS resources.
   563  //
   564  // Creates or overwrites tags associated with a file system. Each tag is a key-value
   565  // pair. If a tag key specified in the request already exists on the file system,
   566  // this operation overwrites its value with the value provided in the request.
   567  // If you add the Name tag to your file system, Amazon EFS returns it in the
   568  // response to the DescribeFileSystems operation.
   569  //
   570  // This operation requires permission for the elasticfilesystem:CreateTags action.
   571  //
   572  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   573  // with awserr.Error's Code and Message methods to get detailed information about
   574  // the error.
   575  //
   576  // See the AWS API reference guide for Amazon Elastic File System's
   577  // API operation CreateTags for usage and error information.
   578  //
   579  // Returned Error Types:
   580  //   * BadRequest
   581  //   Returned if the request is malformed or contains an error such as an invalid
   582  //   parameter value or a missing required parameter.
   583  //
   584  //   * InternalServerError
   585  //   Returned if an error occurred on the server side.
   586  //
   587  //   * FileSystemNotFound
   588  //   Returned if the specified FileSystemId value doesn't exist in the requester's
   589  //   Amazon Web Services account.
   590  //
   591  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/CreateTags
   592  //
   593  // Deprecated: Use TagResource.
   594  func (c *EFS) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
   595  	req, out := c.CreateTagsRequest(input)
   596  	return out, req.Send()
   597  }
   598  
   599  // CreateTagsWithContext is the same as CreateTags with the addition of
   600  // the ability to pass a context and additional request options.
   601  //
   602  // See CreateTags for details on how to use this API operation.
   603  //
   604  // The context must be non-nil and will be used for request cancellation. If
   605  // the context is nil a panic will occur. In the future the SDK may create
   606  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   607  // for more information on using Contexts.
   608  //
   609  // Deprecated: Use TagResource.
   610  func (c *EFS) CreateTagsWithContext(ctx aws.Context, input *CreateTagsInput, opts ...request.Option) (*CreateTagsOutput, error) {
   611  	req, out := c.CreateTagsRequest(input)
   612  	req.SetContext(ctx)
   613  	req.ApplyOptions(opts...)
   614  	return out, req.Send()
   615  }
   616  
   617  const opDeleteAccessPoint = "DeleteAccessPoint"
   618  
   619  // DeleteAccessPointRequest generates a "aws/request.Request" representing the
   620  // client's request for the DeleteAccessPoint operation. The "output" return
   621  // value will be populated with the request's response once the request completes
   622  // successfully.
   623  //
   624  // Use "Send" method on the returned Request to send the API call to the service.
   625  // the "output" return value is not valid until after Send returns without error.
   626  //
   627  // See DeleteAccessPoint for more information on using the DeleteAccessPoint
   628  // API call, and error handling.
   629  //
   630  // This method is useful when you want to inject custom logic or configuration
   631  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   632  //
   633  //
   634  //    // Example sending a request using the DeleteAccessPointRequest method.
   635  //    req, resp := client.DeleteAccessPointRequest(params)
   636  //
   637  //    err := req.Send()
   638  //    if err == nil { // resp is now filled
   639  //        fmt.Println(resp)
   640  //    }
   641  //
   642  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DeleteAccessPoint
   643  func (c *EFS) DeleteAccessPointRequest(input *DeleteAccessPointInput) (req *request.Request, output *DeleteAccessPointOutput) {
   644  	op := &request.Operation{
   645  		Name:       opDeleteAccessPoint,
   646  		HTTPMethod: "DELETE",
   647  		HTTPPath:   "/2015-02-01/access-points/{AccessPointId}",
   648  	}
   649  
   650  	if input == nil {
   651  		input = &DeleteAccessPointInput{}
   652  	}
   653  
   654  	output = &DeleteAccessPointOutput{}
   655  	req = c.newRequest(op, input, output)
   656  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   657  	return
   658  }
   659  
   660  // DeleteAccessPoint API operation for Amazon Elastic File System.
   661  //
   662  // Deletes the specified access point. After deletion is complete, new clients
   663  // can no longer connect to the access points. Clients connected to the access
   664  // point at the time of deletion will continue to function until they terminate
   665  // their connection.
   666  //
   667  // This operation requires permissions for the elasticfilesystem:DeleteAccessPoint
   668  // action.
   669  //
   670  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   671  // with awserr.Error's Code and Message methods to get detailed information about
   672  // the error.
   673  //
   674  // See the AWS API reference guide for Amazon Elastic File System's
   675  // API operation DeleteAccessPoint for usage and error information.
   676  //
   677  // Returned Error Types:
   678  //   * BadRequest
   679  //   Returned if the request is malformed or contains an error such as an invalid
   680  //   parameter value or a missing required parameter.
   681  //
   682  //   * InternalServerError
   683  //   Returned if an error occurred on the server side.
   684  //
   685  //   * AccessPointNotFound
   686  //   Returned if the specified AccessPointId value doesn't exist in the requester's
   687  //   Amazon Web Services account.
   688  //
   689  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DeleteAccessPoint
   690  func (c *EFS) DeleteAccessPoint(input *DeleteAccessPointInput) (*DeleteAccessPointOutput, error) {
   691  	req, out := c.DeleteAccessPointRequest(input)
   692  	return out, req.Send()
   693  }
   694  
   695  // DeleteAccessPointWithContext is the same as DeleteAccessPoint with the addition of
   696  // the ability to pass a context and additional request options.
   697  //
   698  // See DeleteAccessPoint for details on how to use this API operation.
   699  //
   700  // The context must be non-nil and will be used for request cancellation. If
   701  // the context is nil a panic will occur. In the future the SDK may create
   702  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   703  // for more information on using Contexts.
   704  func (c *EFS) DeleteAccessPointWithContext(ctx aws.Context, input *DeleteAccessPointInput, opts ...request.Option) (*DeleteAccessPointOutput, error) {
   705  	req, out := c.DeleteAccessPointRequest(input)
   706  	req.SetContext(ctx)
   707  	req.ApplyOptions(opts...)
   708  	return out, req.Send()
   709  }
   710  
   711  const opDeleteFileSystem = "DeleteFileSystem"
   712  
   713  // DeleteFileSystemRequest generates a "aws/request.Request" representing the
   714  // client's request for the DeleteFileSystem operation. The "output" return
   715  // value will be populated with the request's response once the request completes
   716  // successfully.
   717  //
   718  // Use "Send" method on the returned Request to send the API call to the service.
   719  // the "output" return value is not valid until after Send returns without error.
   720  //
   721  // See DeleteFileSystem for more information on using the DeleteFileSystem
   722  // API call, and error handling.
   723  //
   724  // This method is useful when you want to inject custom logic or configuration
   725  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   726  //
   727  //
   728  //    // Example sending a request using the DeleteFileSystemRequest method.
   729  //    req, resp := client.DeleteFileSystemRequest(params)
   730  //
   731  //    err := req.Send()
   732  //    if err == nil { // resp is now filled
   733  //        fmt.Println(resp)
   734  //    }
   735  //
   736  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DeleteFileSystem
   737  func (c *EFS) DeleteFileSystemRequest(input *DeleteFileSystemInput) (req *request.Request, output *DeleteFileSystemOutput) {
   738  	op := &request.Operation{
   739  		Name:       opDeleteFileSystem,
   740  		HTTPMethod: "DELETE",
   741  		HTTPPath:   "/2015-02-01/file-systems/{FileSystemId}",
   742  	}
   743  
   744  	if input == nil {
   745  		input = &DeleteFileSystemInput{}
   746  	}
   747  
   748  	output = &DeleteFileSystemOutput{}
   749  	req = c.newRequest(op, input, output)
   750  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   751  	return
   752  }
   753  
   754  // DeleteFileSystem API operation for Amazon Elastic File System.
   755  //
   756  // Deletes a file system, permanently severing access to its contents. Upon
   757  // return, the file system no longer exists and you can't access any contents
   758  // of the deleted file system.
   759  //
   760  // You can't delete a file system that is in use. That is, if the file system
   761  // has any mount targets, you must first delete them. For more information,
   762  // see DescribeMountTargets and DeleteMountTarget.
   763  //
   764  // The DeleteFileSystem call returns while the file system state is still deleting.
   765  // You can check the file system deletion status by calling the DescribeFileSystems
   766  // operation, which returns a list of file systems in your account. If you pass
   767  // file system ID or creation token for the deleted file system, the DescribeFileSystems
   768  // returns a 404 FileSystemNotFound error.
   769  //
   770  // This operation requires permissions for the elasticfilesystem:DeleteFileSystem
   771  // action.
   772  //
   773  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   774  // with awserr.Error's Code and Message methods to get detailed information about
   775  // the error.
   776  //
   777  // See the AWS API reference guide for Amazon Elastic File System's
   778  // API operation DeleteFileSystem for usage and error information.
   779  //
   780  // Returned Error Types:
   781  //   * BadRequest
   782  //   Returned if the request is malformed or contains an error such as an invalid
   783  //   parameter value or a missing required parameter.
   784  //
   785  //   * InternalServerError
   786  //   Returned if an error occurred on the server side.
   787  //
   788  //   * FileSystemNotFound
   789  //   Returned if the specified FileSystemId value doesn't exist in the requester's
   790  //   Amazon Web Services account.
   791  //
   792  //   * FileSystemInUse
   793  //   Returned if a file system has mount targets.
   794  //
   795  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DeleteFileSystem
   796  func (c *EFS) DeleteFileSystem(input *DeleteFileSystemInput) (*DeleteFileSystemOutput, error) {
   797  	req, out := c.DeleteFileSystemRequest(input)
   798  	return out, req.Send()
   799  }
   800  
   801  // DeleteFileSystemWithContext is the same as DeleteFileSystem with the addition of
   802  // the ability to pass a context and additional request options.
   803  //
   804  // See DeleteFileSystem for details on how to use this API operation.
   805  //
   806  // The context must be non-nil and will be used for request cancellation. If
   807  // the context is nil a panic will occur. In the future the SDK may create
   808  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   809  // for more information on using Contexts.
   810  func (c *EFS) DeleteFileSystemWithContext(ctx aws.Context, input *DeleteFileSystemInput, opts ...request.Option) (*DeleteFileSystemOutput, error) {
   811  	req, out := c.DeleteFileSystemRequest(input)
   812  	req.SetContext(ctx)
   813  	req.ApplyOptions(opts...)
   814  	return out, req.Send()
   815  }
   816  
   817  const opDeleteFileSystemPolicy = "DeleteFileSystemPolicy"
   818  
   819  // DeleteFileSystemPolicyRequest generates a "aws/request.Request" representing the
   820  // client's request for the DeleteFileSystemPolicy operation. The "output" return
   821  // value will be populated with the request's response once the request completes
   822  // successfully.
   823  //
   824  // Use "Send" method on the returned Request to send the API call to the service.
   825  // the "output" return value is not valid until after Send returns without error.
   826  //
   827  // See DeleteFileSystemPolicy for more information on using the DeleteFileSystemPolicy
   828  // API call, and error handling.
   829  //
   830  // This method is useful when you want to inject custom logic or configuration
   831  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   832  //
   833  //
   834  //    // Example sending a request using the DeleteFileSystemPolicyRequest method.
   835  //    req, resp := client.DeleteFileSystemPolicyRequest(params)
   836  //
   837  //    err := req.Send()
   838  //    if err == nil { // resp is now filled
   839  //        fmt.Println(resp)
   840  //    }
   841  //
   842  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DeleteFileSystemPolicy
   843  func (c *EFS) DeleteFileSystemPolicyRequest(input *DeleteFileSystemPolicyInput) (req *request.Request, output *DeleteFileSystemPolicyOutput) {
   844  	op := &request.Operation{
   845  		Name:       opDeleteFileSystemPolicy,
   846  		HTTPMethod: "DELETE",
   847  		HTTPPath:   "/2015-02-01/file-systems/{FileSystemId}/policy",
   848  	}
   849  
   850  	if input == nil {
   851  		input = &DeleteFileSystemPolicyInput{}
   852  	}
   853  
   854  	output = &DeleteFileSystemPolicyOutput{}
   855  	req = c.newRequest(op, input, output)
   856  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   857  	return
   858  }
   859  
   860  // DeleteFileSystemPolicy API operation for Amazon Elastic File System.
   861  //
   862  // Deletes the FileSystemPolicy for the specified file system. The default FileSystemPolicy
   863  // goes into effect once the existing policy is deleted. For more information
   864  // about the default file system policy, see Using Resource-based Policies with
   865  // EFS (https://docs.aws.amazon.com/efs/latest/ug/res-based-policies-efs.html).
   866  //
   867  // This operation requires permissions for the elasticfilesystem:DeleteFileSystemPolicy
   868  // action.
   869  //
   870  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   871  // with awserr.Error's Code and Message methods to get detailed information about
   872  // the error.
   873  //
   874  // See the AWS API reference guide for Amazon Elastic File System's
   875  // API operation DeleteFileSystemPolicy for usage and error information.
   876  //
   877  // Returned Error Types:
   878  //   * InternalServerError
   879  //   Returned if an error occurred on the server side.
   880  //
   881  //   * FileSystemNotFound
   882  //   Returned if the specified FileSystemId value doesn't exist in the requester's
   883  //   Amazon Web Services account.
   884  //
   885  //   * IncorrectFileSystemLifeCycleState
   886  //   Returned if the file system's lifecycle state is not "available".
   887  //
   888  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DeleteFileSystemPolicy
   889  func (c *EFS) DeleteFileSystemPolicy(input *DeleteFileSystemPolicyInput) (*DeleteFileSystemPolicyOutput, error) {
   890  	req, out := c.DeleteFileSystemPolicyRequest(input)
   891  	return out, req.Send()
   892  }
   893  
   894  // DeleteFileSystemPolicyWithContext is the same as DeleteFileSystemPolicy with the addition of
   895  // the ability to pass a context and additional request options.
   896  //
   897  // See DeleteFileSystemPolicy for details on how to use this API operation.
   898  //
   899  // The context must be non-nil and will be used for request cancellation. If
   900  // the context is nil a panic will occur. In the future the SDK may create
   901  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   902  // for more information on using Contexts.
   903  func (c *EFS) DeleteFileSystemPolicyWithContext(ctx aws.Context, input *DeleteFileSystemPolicyInput, opts ...request.Option) (*DeleteFileSystemPolicyOutput, error) {
   904  	req, out := c.DeleteFileSystemPolicyRequest(input)
   905  	req.SetContext(ctx)
   906  	req.ApplyOptions(opts...)
   907  	return out, req.Send()
   908  }
   909  
   910  const opDeleteMountTarget = "DeleteMountTarget"
   911  
   912  // DeleteMountTargetRequest generates a "aws/request.Request" representing the
   913  // client's request for the DeleteMountTarget operation. The "output" return
   914  // value will be populated with the request's response once the request completes
   915  // successfully.
   916  //
   917  // Use "Send" method on the returned Request to send the API call to the service.
   918  // the "output" return value is not valid until after Send returns without error.
   919  //
   920  // See DeleteMountTarget for more information on using the DeleteMountTarget
   921  // API call, and error handling.
   922  //
   923  // This method is useful when you want to inject custom logic or configuration
   924  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   925  //
   926  //
   927  //    // Example sending a request using the DeleteMountTargetRequest method.
   928  //    req, resp := client.DeleteMountTargetRequest(params)
   929  //
   930  //    err := req.Send()
   931  //    if err == nil { // resp is now filled
   932  //        fmt.Println(resp)
   933  //    }
   934  //
   935  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DeleteMountTarget
   936  func (c *EFS) DeleteMountTargetRequest(input *DeleteMountTargetInput) (req *request.Request, output *DeleteMountTargetOutput) {
   937  	op := &request.Operation{
   938  		Name:       opDeleteMountTarget,
   939  		HTTPMethod: "DELETE",
   940  		HTTPPath:   "/2015-02-01/mount-targets/{MountTargetId}",
   941  	}
   942  
   943  	if input == nil {
   944  		input = &DeleteMountTargetInput{}
   945  	}
   946  
   947  	output = &DeleteMountTargetOutput{}
   948  	req = c.newRequest(op, input, output)
   949  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   950  	return
   951  }
   952  
   953  // DeleteMountTarget API operation for Amazon Elastic File System.
   954  //
   955  // Deletes the specified mount target.
   956  //
   957  // This operation forcibly breaks any mounts of the file system by using the
   958  // mount target that is being deleted, which might disrupt instances or applications
   959  // using those mounts. To avoid applications getting cut off abruptly, you might
   960  // consider unmounting any mounts of the mount target, if feasible. The operation
   961  // also deletes the associated network interface. Uncommitted writes might be
   962  // lost, but breaking a mount target using this operation does not corrupt the
   963  // file system itself. The file system you created remains. You can mount an
   964  // EC2 instance in your VPC by using another mount target.
   965  //
   966  // This operation requires permissions for the following action on the file
   967  // system:
   968  //
   969  //    * elasticfilesystem:DeleteMountTarget
   970  //
   971  // The DeleteMountTarget call returns while the mount target state is still
   972  // deleting. You can check the mount target deletion by calling the DescribeMountTargets
   973  // operation, which returns a list of mount target descriptions for the given
   974  // file system.
   975  //
   976  // The operation also requires permissions for the following Amazon EC2 action
   977  // on the mount target's network interface:
   978  //
   979  //    * ec2:DeleteNetworkInterface
   980  //
   981  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   982  // with awserr.Error's Code and Message methods to get detailed information about
   983  // the error.
   984  //
   985  // See the AWS API reference guide for Amazon Elastic File System's
   986  // API operation DeleteMountTarget for usage and error information.
   987  //
   988  // Returned Error Types:
   989  //   * BadRequest
   990  //   Returned if the request is malformed or contains an error such as an invalid
   991  //   parameter value or a missing required parameter.
   992  //
   993  //   * InternalServerError
   994  //   Returned if an error occurred on the server side.
   995  //
   996  //   * DependencyTimeout
   997  //   The service timed out trying to fulfill the request, and the client should
   998  //   try the call again.
   999  //
  1000  //   * MountTargetNotFound
  1001  //   Returned if there is no mount target with the specified ID found in the caller's
  1002  //   Amazon Web Services account.
  1003  //
  1004  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DeleteMountTarget
  1005  func (c *EFS) DeleteMountTarget(input *DeleteMountTargetInput) (*DeleteMountTargetOutput, error) {
  1006  	req, out := c.DeleteMountTargetRequest(input)
  1007  	return out, req.Send()
  1008  }
  1009  
  1010  // DeleteMountTargetWithContext is the same as DeleteMountTarget with the addition of
  1011  // the ability to pass a context and additional request options.
  1012  //
  1013  // See DeleteMountTarget for details on how to use this API operation.
  1014  //
  1015  // The context must be non-nil and will be used for request cancellation. If
  1016  // the context is nil a panic will occur. In the future the SDK may create
  1017  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1018  // for more information on using Contexts.
  1019  func (c *EFS) DeleteMountTargetWithContext(ctx aws.Context, input *DeleteMountTargetInput, opts ...request.Option) (*DeleteMountTargetOutput, error) {
  1020  	req, out := c.DeleteMountTargetRequest(input)
  1021  	req.SetContext(ctx)
  1022  	req.ApplyOptions(opts...)
  1023  	return out, req.Send()
  1024  }
  1025  
  1026  const opDeleteTags = "DeleteTags"
  1027  
  1028  // DeleteTagsRequest generates a "aws/request.Request" representing the
  1029  // client's request for the DeleteTags operation. The "output" return
  1030  // value will be populated with the request's response once the request completes
  1031  // successfully.
  1032  //
  1033  // Use "Send" method on the returned Request to send the API call to the service.
  1034  // the "output" return value is not valid until after Send returns without error.
  1035  //
  1036  // See DeleteTags for more information on using the DeleteTags
  1037  // API call, and error handling.
  1038  //
  1039  // This method is useful when you want to inject custom logic or configuration
  1040  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1041  //
  1042  //
  1043  //    // Example sending a request using the DeleteTagsRequest method.
  1044  //    req, resp := client.DeleteTagsRequest(params)
  1045  //
  1046  //    err := req.Send()
  1047  //    if err == nil { // resp is now filled
  1048  //        fmt.Println(resp)
  1049  //    }
  1050  //
  1051  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DeleteTags
  1052  //
  1053  // Deprecated: Use UntagResource.
  1054  func (c *EFS) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) {
  1055  	if c.Client.Config.Logger != nil {
  1056  		c.Client.Config.Logger.Log("This operation, DeleteTags, has been deprecated")
  1057  	}
  1058  	op := &request.Operation{
  1059  		Name:       opDeleteTags,
  1060  		HTTPMethod: "POST",
  1061  		HTTPPath:   "/2015-02-01/delete-tags/{FileSystemId}",
  1062  	}
  1063  
  1064  	if input == nil {
  1065  		input = &DeleteTagsInput{}
  1066  	}
  1067  
  1068  	output = &DeleteTagsOutput{}
  1069  	req = c.newRequest(op, input, output)
  1070  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1071  	return
  1072  }
  1073  
  1074  // DeleteTags API operation for Amazon Elastic File System.
  1075  //
  1076  //
  1077  // DEPRECATED - DeleteTags is deprecated and not maintained. Please use the
  1078  // API action to remove tags from EFS resources.
  1079  //
  1080  // Deletes the specified tags from a file system. If the DeleteTags request
  1081  // includes a tag key that doesn't exist, Amazon EFS ignores it and doesn't
  1082  // cause an error. For more information about tags and related restrictions,
  1083  // see Tag restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)
  1084  // in the Billing and Cost Management User Guide.
  1085  //
  1086  // This operation requires permissions for the elasticfilesystem:DeleteTags
  1087  // action.
  1088  //
  1089  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1090  // with awserr.Error's Code and Message methods to get detailed information about
  1091  // the error.
  1092  //
  1093  // See the AWS API reference guide for Amazon Elastic File System's
  1094  // API operation DeleteTags for usage and error information.
  1095  //
  1096  // Returned Error Types:
  1097  //   * BadRequest
  1098  //   Returned if the request is malformed or contains an error such as an invalid
  1099  //   parameter value or a missing required parameter.
  1100  //
  1101  //   * InternalServerError
  1102  //   Returned if an error occurred on the server side.
  1103  //
  1104  //   * FileSystemNotFound
  1105  //   Returned if the specified FileSystemId value doesn't exist in the requester's
  1106  //   Amazon Web Services account.
  1107  //
  1108  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DeleteTags
  1109  //
  1110  // Deprecated: Use UntagResource.
  1111  func (c *EFS) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
  1112  	req, out := c.DeleteTagsRequest(input)
  1113  	return out, req.Send()
  1114  }
  1115  
  1116  // DeleteTagsWithContext is the same as DeleteTags with the addition of
  1117  // the ability to pass a context and additional request options.
  1118  //
  1119  // See DeleteTags for details on how to use this API operation.
  1120  //
  1121  // The context must be non-nil and will be used for request cancellation. If
  1122  // the context is nil a panic will occur. In the future the SDK may create
  1123  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1124  // for more information on using Contexts.
  1125  //
  1126  // Deprecated: Use UntagResource.
  1127  func (c *EFS) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) {
  1128  	req, out := c.DeleteTagsRequest(input)
  1129  	req.SetContext(ctx)
  1130  	req.ApplyOptions(opts...)
  1131  	return out, req.Send()
  1132  }
  1133  
  1134  const opDescribeAccessPoints = "DescribeAccessPoints"
  1135  
  1136  // DescribeAccessPointsRequest generates a "aws/request.Request" representing the
  1137  // client's request for the DescribeAccessPoints operation. The "output" return
  1138  // value will be populated with the request's response once the request completes
  1139  // successfully.
  1140  //
  1141  // Use "Send" method on the returned Request to send the API call to the service.
  1142  // the "output" return value is not valid until after Send returns without error.
  1143  //
  1144  // See DescribeAccessPoints for more information on using the DescribeAccessPoints
  1145  // API call, and error handling.
  1146  //
  1147  // This method is useful when you want to inject custom logic or configuration
  1148  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1149  //
  1150  //
  1151  //    // Example sending a request using the DescribeAccessPointsRequest method.
  1152  //    req, resp := client.DescribeAccessPointsRequest(params)
  1153  //
  1154  //    err := req.Send()
  1155  //    if err == nil { // resp is now filled
  1156  //        fmt.Println(resp)
  1157  //    }
  1158  //
  1159  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeAccessPoints
  1160  func (c *EFS) DescribeAccessPointsRequest(input *DescribeAccessPointsInput) (req *request.Request, output *DescribeAccessPointsOutput) {
  1161  	op := &request.Operation{
  1162  		Name:       opDescribeAccessPoints,
  1163  		HTTPMethod: "GET",
  1164  		HTTPPath:   "/2015-02-01/access-points",
  1165  		Paginator: &request.Paginator{
  1166  			InputTokens:     []string{"NextToken"},
  1167  			OutputTokens:    []string{"NextToken"},
  1168  			LimitToken:      "MaxResults",
  1169  			TruncationToken: "",
  1170  		},
  1171  	}
  1172  
  1173  	if input == nil {
  1174  		input = &DescribeAccessPointsInput{}
  1175  	}
  1176  
  1177  	output = &DescribeAccessPointsOutput{}
  1178  	req = c.newRequest(op, input, output)
  1179  	return
  1180  }
  1181  
  1182  // DescribeAccessPoints API operation for Amazon Elastic File System.
  1183  //
  1184  // Returns the description of a specific Amazon EFS access point if the AccessPointId
  1185  // is provided. If you provide an EFS FileSystemId, it returns descriptions
  1186  // of all access points for that file system. You can provide either an AccessPointId
  1187  // or a FileSystemId in the request, but not both.
  1188  //
  1189  // This operation requires permissions for the elasticfilesystem:DescribeAccessPoints
  1190  // action.
  1191  //
  1192  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1193  // with awserr.Error's Code and Message methods to get detailed information about
  1194  // the error.
  1195  //
  1196  // See the AWS API reference guide for Amazon Elastic File System's
  1197  // API operation DescribeAccessPoints for usage and error information.
  1198  //
  1199  // Returned Error Types:
  1200  //   * BadRequest
  1201  //   Returned if the request is malformed or contains an error such as an invalid
  1202  //   parameter value or a missing required parameter.
  1203  //
  1204  //   * InternalServerError
  1205  //   Returned if an error occurred on the server side.
  1206  //
  1207  //   * FileSystemNotFound
  1208  //   Returned if the specified FileSystemId value doesn't exist in the requester's
  1209  //   Amazon Web Services account.
  1210  //
  1211  //   * AccessPointNotFound
  1212  //   Returned if the specified AccessPointId value doesn't exist in the requester's
  1213  //   Amazon Web Services account.
  1214  //
  1215  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeAccessPoints
  1216  func (c *EFS) DescribeAccessPoints(input *DescribeAccessPointsInput) (*DescribeAccessPointsOutput, error) {
  1217  	req, out := c.DescribeAccessPointsRequest(input)
  1218  	return out, req.Send()
  1219  }
  1220  
  1221  // DescribeAccessPointsWithContext is the same as DescribeAccessPoints with the addition of
  1222  // the ability to pass a context and additional request options.
  1223  //
  1224  // See DescribeAccessPoints for details on how to use this API operation.
  1225  //
  1226  // The context must be non-nil and will be used for request cancellation. If
  1227  // the context is nil a panic will occur. In the future the SDK may create
  1228  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1229  // for more information on using Contexts.
  1230  func (c *EFS) DescribeAccessPointsWithContext(ctx aws.Context, input *DescribeAccessPointsInput, opts ...request.Option) (*DescribeAccessPointsOutput, error) {
  1231  	req, out := c.DescribeAccessPointsRequest(input)
  1232  	req.SetContext(ctx)
  1233  	req.ApplyOptions(opts...)
  1234  	return out, req.Send()
  1235  }
  1236  
  1237  // DescribeAccessPointsPages iterates over the pages of a DescribeAccessPoints operation,
  1238  // calling the "fn" function with the response data for each page. To stop
  1239  // iterating, return false from the fn function.
  1240  //
  1241  // See DescribeAccessPoints method for more information on how to use this operation.
  1242  //
  1243  // Note: This operation can generate multiple requests to a service.
  1244  //
  1245  //    // Example iterating over at most 3 pages of a DescribeAccessPoints operation.
  1246  //    pageNum := 0
  1247  //    err := client.DescribeAccessPointsPages(params,
  1248  //        func(page *efs.DescribeAccessPointsOutput, lastPage bool) bool {
  1249  //            pageNum++
  1250  //            fmt.Println(page)
  1251  //            return pageNum <= 3
  1252  //        })
  1253  //
  1254  func (c *EFS) DescribeAccessPointsPages(input *DescribeAccessPointsInput, fn func(*DescribeAccessPointsOutput, bool) bool) error {
  1255  	return c.DescribeAccessPointsPagesWithContext(aws.BackgroundContext(), input, fn)
  1256  }
  1257  
  1258  // DescribeAccessPointsPagesWithContext same as DescribeAccessPointsPages except
  1259  // it takes a Context and allows setting request options on the pages.
  1260  //
  1261  // The context must be non-nil and will be used for request cancellation. If
  1262  // the context is nil a panic will occur. In the future the SDK may create
  1263  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1264  // for more information on using Contexts.
  1265  func (c *EFS) DescribeAccessPointsPagesWithContext(ctx aws.Context, input *DescribeAccessPointsInput, fn func(*DescribeAccessPointsOutput, bool) bool, opts ...request.Option) error {
  1266  	p := request.Pagination{
  1267  		NewRequest: func() (*request.Request, error) {
  1268  			var inCpy *DescribeAccessPointsInput
  1269  			if input != nil {
  1270  				tmp := *input
  1271  				inCpy = &tmp
  1272  			}
  1273  			req, _ := c.DescribeAccessPointsRequest(inCpy)
  1274  			req.SetContext(ctx)
  1275  			req.ApplyOptions(opts...)
  1276  			return req, nil
  1277  		},
  1278  	}
  1279  
  1280  	for p.Next() {
  1281  		if !fn(p.Page().(*DescribeAccessPointsOutput), !p.HasNextPage()) {
  1282  			break
  1283  		}
  1284  	}
  1285  
  1286  	return p.Err()
  1287  }
  1288  
  1289  const opDescribeAccountPreferences = "DescribeAccountPreferences"
  1290  
  1291  // DescribeAccountPreferencesRequest generates a "aws/request.Request" representing the
  1292  // client's request for the DescribeAccountPreferences operation. The "output" return
  1293  // value will be populated with the request's response once the request completes
  1294  // successfully.
  1295  //
  1296  // Use "Send" method on the returned Request to send the API call to the service.
  1297  // the "output" return value is not valid until after Send returns without error.
  1298  //
  1299  // See DescribeAccountPreferences for more information on using the DescribeAccountPreferences
  1300  // API call, and error handling.
  1301  //
  1302  // This method is useful when you want to inject custom logic or configuration
  1303  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1304  //
  1305  //
  1306  //    // Example sending a request using the DescribeAccountPreferencesRequest method.
  1307  //    req, resp := client.DescribeAccountPreferencesRequest(params)
  1308  //
  1309  //    err := req.Send()
  1310  //    if err == nil { // resp is now filled
  1311  //        fmt.Println(resp)
  1312  //    }
  1313  //
  1314  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeAccountPreferences
  1315  func (c *EFS) DescribeAccountPreferencesRequest(input *DescribeAccountPreferencesInput) (req *request.Request, output *DescribeAccountPreferencesOutput) {
  1316  	op := &request.Operation{
  1317  		Name:       opDescribeAccountPreferences,
  1318  		HTTPMethod: "GET",
  1319  		HTTPPath:   "/2015-02-01/account-preferences",
  1320  	}
  1321  
  1322  	if input == nil {
  1323  		input = &DescribeAccountPreferencesInput{}
  1324  	}
  1325  
  1326  	output = &DescribeAccountPreferencesOutput{}
  1327  	req = c.newRequest(op, input, output)
  1328  	return
  1329  }
  1330  
  1331  // DescribeAccountPreferences API operation for Amazon Elastic File System.
  1332  //
  1333  // Returns the account preferences settings for the Amazon Web Services account
  1334  // associated with the user making the request, in the current Amazon Web Services
  1335  // Region. For more information, see Managing Amazon EFS resource IDs (efs/latest/ug/manage-efs-resource-ids.html).
  1336  //
  1337  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1338  // with awserr.Error's Code and Message methods to get detailed information about
  1339  // the error.
  1340  //
  1341  // See the AWS API reference guide for Amazon Elastic File System's
  1342  // API operation DescribeAccountPreferences for usage and error information.
  1343  //
  1344  // Returned Error Types:
  1345  //   * InternalServerError
  1346  //   Returned if an error occurred on the server side.
  1347  //
  1348  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeAccountPreferences
  1349  func (c *EFS) DescribeAccountPreferences(input *DescribeAccountPreferencesInput) (*DescribeAccountPreferencesOutput, error) {
  1350  	req, out := c.DescribeAccountPreferencesRequest(input)
  1351  	return out, req.Send()
  1352  }
  1353  
  1354  // DescribeAccountPreferencesWithContext is the same as DescribeAccountPreferences with the addition of
  1355  // the ability to pass a context and additional request options.
  1356  //
  1357  // See DescribeAccountPreferences for details on how to use this API operation.
  1358  //
  1359  // The context must be non-nil and will be used for request cancellation. If
  1360  // the context is nil a panic will occur. In the future the SDK may create
  1361  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1362  // for more information on using Contexts.
  1363  func (c *EFS) DescribeAccountPreferencesWithContext(ctx aws.Context, input *DescribeAccountPreferencesInput, opts ...request.Option) (*DescribeAccountPreferencesOutput, error) {
  1364  	req, out := c.DescribeAccountPreferencesRequest(input)
  1365  	req.SetContext(ctx)
  1366  	req.ApplyOptions(opts...)
  1367  	return out, req.Send()
  1368  }
  1369  
  1370  const opDescribeBackupPolicy = "DescribeBackupPolicy"
  1371  
  1372  // DescribeBackupPolicyRequest generates a "aws/request.Request" representing the
  1373  // client's request for the DescribeBackupPolicy operation. The "output" return
  1374  // value will be populated with the request's response once the request completes
  1375  // successfully.
  1376  //
  1377  // Use "Send" method on the returned Request to send the API call to the service.
  1378  // the "output" return value is not valid until after Send returns without error.
  1379  //
  1380  // See DescribeBackupPolicy for more information on using the DescribeBackupPolicy
  1381  // API call, and error handling.
  1382  //
  1383  // This method is useful when you want to inject custom logic or configuration
  1384  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1385  //
  1386  //
  1387  //    // Example sending a request using the DescribeBackupPolicyRequest method.
  1388  //    req, resp := client.DescribeBackupPolicyRequest(params)
  1389  //
  1390  //    err := req.Send()
  1391  //    if err == nil { // resp is now filled
  1392  //        fmt.Println(resp)
  1393  //    }
  1394  //
  1395  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeBackupPolicy
  1396  func (c *EFS) DescribeBackupPolicyRequest(input *DescribeBackupPolicyInput) (req *request.Request, output *DescribeBackupPolicyOutput) {
  1397  	op := &request.Operation{
  1398  		Name:       opDescribeBackupPolicy,
  1399  		HTTPMethod: "GET",
  1400  		HTTPPath:   "/2015-02-01/file-systems/{FileSystemId}/backup-policy",
  1401  	}
  1402  
  1403  	if input == nil {
  1404  		input = &DescribeBackupPolicyInput{}
  1405  	}
  1406  
  1407  	output = &DescribeBackupPolicyOutput{}
  1408  	req = c.newRequest(op, input, output)
  1409  	return
  1410  }
  1411  
  1412  // DescribeBackupPolicy API operation for Amazon Elastic File System.
  1413  //
  1414  // Returns the backup policy for the specified EFS file system.
  1415  //
  1416  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1417  // with awserr.Error's Code and Message methods to get detailed information about
  1418  // the error.
  1419  //
  1420  // See the AWS API reference guide for Amazon Elastic File System's
  1421  // API operation DescribeBackupPolicy for usage and error information.
  1422  //
  1423  // Returned Error Types:
  1424  //   * BadRequest
  1425  //   Returned if the request is malformed or contains an error such as an invalid
  1426  //   parameter value or a missing required parameter.
  1427  //
  1428  //   * FileSystemNotFound
  1429  //   Returned if the specified FileSystemId value doesn't exist in the requester's
  1430  //   Amazon Web Services account.
  1431  //
  1432  //   * InternalServerError
  1433  //   Returned if an error occurred on the server side.
  1434  //
  1435  //   * PolicyNotFound
  1436  //   Returned if the default file system policy is in effect for the EFS file
  1437  //   system specified.
  1438  //
  1439  //   * ValidationException
  1440  //   Returned if the Backup service is not available in the Amazon Web Services
  1441  //   Region in which the request was made.
  1442  //
  1443  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeBackupPolicy
  1444  func (c *EFS) DescribeBackupPolicy(input *DescribeBackupPolicyInput) (*DescribeBackupPolicyOutput, error) {
  1445  	req, out := c.DescribeBackupPolicyRequest(input)
  1446  	return out, req.Send()
  1447  }
  1448  
  1449  // DescribeBackupPolicyWithContext is the same as DescribeBackupPolicy with the addition of
  1450  // the ability to pass a context and additional request options.
  1451  //
  1452  // See DescribeBackupPolicy for details on how to use this API operation.
  1453  //
  1454  // The context must be non-nil and will be used for request cancellation. If
  1455  // the context is nil a panic will occur. In the future the SDK may create
  1456  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1457  // for more information on using Contexts.
  1458  func (c *EFS) DescribeBackupPolicyWithContext(ctx aws.Context, input *DescribeBackupPolicyInput, opts ...request.Option) (*DescribeBackupPolicyOutput, error) {
  1459  	req, out := c.DescribeBackupPolicyRequest(input)
  1460  	req.SetContext(ctx)
  1461  	req.ApplyOptions(opts...)
  1462  	return out, req.Send()
  1463  }
  1464  
  1465  const opDescribeFileSystemPolicy = "DescribeFileSystemPolicy"
  1466  
  1467  // DescribeFileSystemPolicyRequest generates a "aws/request.Request" representing the
  1468  // client's request for the DescribeFileSystemPolicy operation. The "output" return
  1469  // value will be populated with the request's response once the request completes
  1470  // successfully.
  1471  //
  1472  // Use "Send" method on the returned Request to send the API call to the service.
  1473  // the "output" return value is not valid until after Send returns without error.
  1474  //
  1475  // See DescribeFileSystemPolicy for more information on using the DescribeFileSystemPolicy
  1476  // API call, and error handling.
  1477  //
  1478  // This method is useful when you want to inject custom logic or configuration
  1479  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1480  //
  1481  //
  1482  //    // Example sending a request using the DescribeFileSystemPolicyRequest method.
  1483  //    req, resp := client.DescribeFileSystemPolicyRequest(params)
  1484  //
  1485  //    err := req.Send()
  1486  //    if err == nil { // resp is now filled
  1487  //        fmt.Println(resp)
  1488  //    }
  1489  //
  1490  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeFileSystemPolicy
  1491  func (c *EFS) DescribeFileSystemPolicyRequest(input *DescribeFileSystemPolicyInput) (req *request.Request, output *DescribeFileSystemPolicyOutput) {
  1492  	op := &request.Operation{
  1493  		Name:       opDescribeFileSystemPolicy,
  1494  		HTTPMethod: "GET",
  1495  		HTTPPath:   "/2015-02-01/file-systems/{FileSystemId}/policy",
  1496  	}
  1497  
  1498  	if input == nil {
  1499  		input = &DescribeFileSystemPolicyInput{}
  1500  	}
  1501  
  1502  	output = &DescribeFileSystemPolicyOutput{}
  1503  	req = c.newRequest(op, input, output)
  1504  	return
  1505  }
  1506  
  1507  // DescribeFileSystemPolicy API operation for Amazon Elastic File System.
  1508  //
  1509  // Returns the FileSystemPolicy for the specified EFS file system.
  1510  //
  1511  // This operation requires permissions for the elasticfilesystem:DescribeFileSystemPolicy
  1512  // action.
  1513  //
  1514  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1515  // with awserr.Error's Code and Message methods to get detailed information about
  1516  // the error.
  1517  //
  1518  // See the AWS API reference guide for Amazon Elastic File System's
  1519  // API operation DescribeFileSystemPolicy for usage and error information.
  1520  //
  1521  // Returned Error Types:
  1522  //   * InternalServerError
  1523  //   Returned if an error occurred on the server side.
  1524  //
  1525  //   * FileSystemNotFound
  1526  //   Returned if the specified FileSystemId value doesn't exist in the requester's
  1527  //   Amazon Web Services account.
  1528  //
  1529  //   * PolicyNotFound
  1530  //   Returned if the default file system policy is in effect for the EFS file
  1531  //   system specified.
  1532  //
  1533  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeFileSystemPolicy
  1534  func (c *EFS) DescribeFileSystemPolicy(input *DescribeFileSystemPolicyInput) (*DescribeFileSystemPolicyOutput, error) {
  1535  	req, out := c.DescribeFileSystemPolicyRequest(input)
  1536  	return out, req.Send()
  1537  }
  1538  
  1539  // DescribeFileSystemPolicyWithContext is the same as DescribeFileSystemPolicy with the addition of
  1540  // the ability to pass a context and additional request options.
  1541  //
  1542  // See DescribeFileSystemPolicy for details on how to use this API operation.
  1543  //
  1544  // The context must be non-nil and will be used for request cancellation. If
  1545  // the context is nil a panic will occur. In the future the SDK may create
  1546  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1547  // for more information on using Contexts.
  1548  func (c *EFS) DescribeFileSystemPolicyWithContext(ctx aws.Context, input *DescribeFileSystemPolicyInput, opts ...request.Option) (*DescribeFileSystemPolicyOutput, error) {
  1549  	req, out := c.DescribeFileSystemPolicyRequest(input)
  1550  	req.SetContext(ctx)
  1551  	req.ApplyOptions(opts...)
  1552  	return out, req.Send()
  1553  }
  1554  
  1555  const opDescribeFileSystems = "DescribeFileSystems"
  1556  
  1557  // DescribeFileSystemsRequest generates a "aws/request.Request" representing the
  1558  // client's request for the DescribeFileSystems operation. The "output" return
  1559  // value will be populated with the request's response once the request completes
  1560  // successfully.
  1561  //
  1562  // Use "Send" method on the returned Request to send the API call to the service.
  1563  // the "output" return value is not valid until after Send returns without error.
  1564  //
  1565  // See DescribeFileSystems for more information on using the DescribeFileSystems
  1566  // API call, and error handling.
  1567  //
  1568  // This method is useful when you want to inject custom logic or configuration
  1569  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1570  //
  1571  //
  1572  //    // Example sending a request using the DescribeFileSystemsRequest method.
  1573  //    req, resp := client.DescribeFileSystemsRequest(params)
  1574  //
  1575  //    err := req.Send()
  1576  //    if err == nil { // resp is now filled
  1577  //        fmt.Println(resp)
  1578  //    }
  1579  //
  1580  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeFileSystems
  1581  func (c *EFS) DescribeFileSystemsRequest(input *DescribeFileSystemsInput) (req *request.Request, output *DescribeFileSystemsOutput) {
  1582  	op := &request.Operation{
  1583  		Name:       opDescribeFileSystems,
  1584  		HTTPMethod: "GET",
  1585  		HTTPPath:   "/2015-02-01/file-systems",
  1586  		Paginator: &request.Paginator{
  1587  			InputTokens:     []string{"Marker"},
  1588  			OutputTokens:    []string{"NextMarker"},
  1589  			LimitToken:      "MaxItems",
  1590  			TruncationToken: "",
  1591  		},
  1592  	}
  1593  
  1594  	if input == nil {
  1595  		input = &DescribeFileSystemsInput{}
  1596  	}
  1597  
  1598  	output = &DescribeFileSystemsOutput{}
  1599  	req = c.newRequest(op, input, output)
  1600  	return
  1601  }
  1602  
  1603  // DescribeFileSystems API operation for Amazon Elastic File System.
  1604  //
  1605  // Returns the description of a specific Amazon EFS file system if either the
  1606  // file system CreationToken or the FileSystemId is provided. Otherwise, it
  1607  // returns descriptions of all file systems owned by the caller's Amazon Web
  1608  // Services account in the Amazon Web Services Region of the endpoint that you're
  1609  // calling.
  1610  //
  1611  // When retrieving all file system descriptions, you can optionally specify
  1612  // the MaxItems parameter to limit the number of descriptions in a response.
  1613  // Currently, this number is automatically set to 10. If more file system descriptions
  1614  // remain, Amazon EFS returns a NextMarker, an opaque token, in the response.
  1615  // In this case, you should send a subsequent request with the Marker request
  1616  // parameter set to the value of NextMarker.
  1617  //
  1618  // To retrieve a list of your file system descriptions, this operation is used
  1619  // in an iterative process, where DescribeFileSystems is called first without
  1620  // the Marker and then the operation continues to call it with the Marker parameter
  1621  // set to the value of the NextMarker from the previous response until the response
  1622  // has no NextMarker.
  1623  //
  1624  // The order of file systems returned in the response of one DescribeFileSystems
  1625  // call and the order of file systems returned across the responses of a multi-call
  1626  // iteration is unspecified.
  1627  //
  1628  // This operation requires permissions for the elasticfilesystem:DescribeFileSystems
  1629  // action.
  1630  //
  1631  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1632  // with awserr.Error's Code and Message methods to get detailed information about
  1633  // the error.
  1634  //
  1635  // See the AWS API reference guide for Amazon Elastic File System's
  1636  // API operation DescribeFileSystems for usage and error information.
  1637  //
  1638  // Returned Error Types:
  1639  //   * BadRequest
  1640  //   Returned if the request is malformed or contains an error such as an invalid
  1641  //   parameter value or a missing required parameter.
  1642  //
  1643  //   * InternalServerError
  1644  //   Returned if an error occurred on the server side.
  1645  //
  1646  //   * FileSystemNotFound
  1647  //   Returned if the specified FileSystemId value doesn't exist in the requester's
  1648  //   Amazon Web Services account.
  1649  //
  1650  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeFileSystems
  1651  func (c *EFS) DescribeFileSystems(input *DescribeFileSystemsInput) (*DescribeFileSystemsOutput, error) {
  1652  	req, out := c.DescribeFileSystemsRequest(input)
  1653  	return out, req.Send()
  1654  }
  1655  
  1656  // DescribeFileSystemsWithContext is the same as DescribeFileSystems with the addition of
  1657  // the ability to pass a context and additional request options.
  1658  //
  1659  // See DescribeFileSystems for details on how to use this API operation.
  1660  //
  1661  // The context must be non-nil and will be used for request cancellation. If
  1662  // the context is nil a panic will occur. In the future the SDK may create
  1663  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1664  // for more information on using Contexts.
  1665  func (c *EFS) DescribeFileSystemsWithContext(ctx aws.Context, input *DescribeFileSystemsInput, opts ...request.Option) (*DescribeFileSystemsOutput, error) {
  1666  	req, out := c.DescribeFileSystemsRequest(input)
  1667  	req.SetContext(ctx)
  1668  	req.ApplyOptions(opts...)
  1669  	return out, req.Send()
  1670  }
  1671  
  1672  // DescribeFileSystemsPages iterates over the pages of a DescribeFileSystems operation,
  1673  // calling the "fn" function with the response data for each page. To stop
  1674  // iterating, return false from the fn function.
  1675  //
  1676  // See DescribeFileSystems method for more information on how to use this operation.
  1677  //
  1678  // Note: This operation can generate multiple requests to a service.
  1679  //
  1680  //    // Example iterating over at most 3 pages of a DescribeFileSystems operation.
  1681  //    pageNum := 0
  1682  //    err := client.DescribeFileSystemsPages(params,
  1683  //        func(page *efs.DescribeFileSystemsOutput, lastPage bool) bool {
  1684  //            pageNum++
  1685  //            fmt.Println(page)
  1686  //            return pageNum <= 3
  1687  //        })
  1688  //
  1689  func (c *EFS) DescribeFileSystemsPages(input *DescribeFileSystemsInput, fn func(*DescribeFileSystemsOutput, bool) bool) error {
  1690  	return c.DescribeFileSystemsPagesWithContext(aws.BackgroundContext(), input, fn)
  1691  }
  1692  
  1693  // DescribeFileSystemsPagesWithContext same as DescribeFileSystemsPages except
  1694  // it takes a Context and allows setting request options on the pages.
  1695  //
  1696  // The context must be non-nil and will be used for request cancellation. If
  1697  // the context is nil a panic will occur. In the future the SDK may create
  1698  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1699  // for more information on using Contexts.
  1700  func (c *EFS) DescribeFileSystemsPagesWithContext(ctx aws.Context, input *DescribeFileSystemsInput, fn func(*DescribeFileSystemsOutput, bool) bool, opts ...request.Option) error {
  1701  	p := request.Pagination{
  1702  		NewRequest: func() (*request.Request, error) {
  1703  			var inCpy *DescribeFileSystemsInput
  1704  			if input != nil {
  1705  				tmp := *input
  1706  				inCpy = &tmp
  1707  			}
  1708  			req, _ := c.DescribeFileSystemsRequest(inCpy)
  1709  			req.SetContext(ctx)
  1710  			req.ApplyOptions(opts...)
  1711  			return req, nil
  1712  		},
  1713  	}
  1714  
  1715  	for p.Next() {
  1716  		if !fn(p.Page().(*DescribeFileSystemsOutput), !p.HasNextPage()) {
  1717  			break
  1718  		}
  1719  	}
  1720  
  1721  	return p.Err()
  1722  }
  1723  
  1724  const opDescribeLifecycleConfiguration = "DescribeLifecycleConfiguration"
  1725  
  1726  // DescribeLifecycleConfigurationRequest generates a "aws/request.Request" representing the
  1727  // client's request for the DescribeLifecycleConfiguration operation. The "output" return
  1728  // value will be populated with the request's response once the request completes
  1729  // successfully.
  1730  //
  1731  // Use "Send" method on the returned Request to send the API call to the service.
  1732  // the "output" return value is not valid until after Send returns without error.
  1733  //
  1734  // See DescribeLifecycleConfiguration for more information on using the DescribeLifecycleConfiguration
  1735  // API call, and error handling.
  1736  //
  1737  // This method is useful when you want to inject custom logic or configuration
  1738  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1739  //
  1740  //
  1741  //    // Example sending a request using the DescribeLifecycleConfigurationRequest method.
  1742  //    req, resp := client.DescribeLifecycleConfigurationRequest(params)
  1743  //
  1744  //    err := req.Send()
  1745  //    if err == nil { // resp is now filled
  1746  //        fmt.Println(resp)
  1747  //    }
  1748  //
  1749  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeLifecycleConfiguration
  1750  func (c *EFS) DescribeLifecycleConfigurationRequest(input *DescribeLifecycleConfigurationInput) (req *request.Request, output *DescribeLifecycleConfigurationOutput) {
  1751  	op := &request.Operation{
  1752  		Name:       opDescribeLifecycleConfiguration,
  1753  		HTTPMethod: "GET",
  1754  		HTTPPath:   "/2015-02-01/file-systems/{FileSystemId}/lifecycle-configuration",
  1755  	}
  1756  
  1757  	if input == nil {
  1758  		input = &DescribeLifecycleConfigurationInput{}
  1759  	}
  1760  
  1761  	output = &DescribeLifecycleConfigurationOutput{}
  1762  	req = c.newRequest(op, input, output)
  1763  	return
  1764  }
  1765  
  1766  // DescribeLifecycleConfiguration API operation for Amazon Elastic File System.
  1767  //
  1768  // Returns the current LifecycleConfiguration object for the specified Amazon
  1769  // EFS file system. EFS lifecycle management uses the LifecycleConfiguration
  1770  // object to identify which files to move to the EFS Infrequent Access (IA)
  1771  // storage class. For a file system without a LifecycleConfiguration object,
  1772  // the call returns an empty array in the response.
  1773  //
  1774  // When EFS Intelligent Tiering is enabled, TransitionToPrimaryStorageClass
  1775  // has a value of AFTER_1_ACCESS.
  1776  //
  1777  // This operation requires permissions for the elasticfilesystem:DescribeLifecycleConfiguration
  1778  // operation.
  1779  //
  1780  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1781  // with awserr.Error's Code and Message methods to get detailed information about
  1782  // the error.
  1783  //
  1784  // See the AWS API reference guide for Amazon Elastic File System's
  1785  // API operation DescribeLifecycleConfiguration for usage and error information.
  1786  //
  1787  // Returned Error Types:
  1788  //   * InternalServerError
  1789  //   Returned if an error occurred on the server side.
  1790  //
  1791  //   * BadRequest
  1792  //   Returned if the request is malformed or contains an error such as an invalid
  1793  //   parameter value or a missing required parameter.
  1794  //
  1795  //   * FileSystemNotFound
  1796  //   Returned if the specified FileSystemId value doesn't exist in the requester's
  1797  //   Amazon Web Services account.
  1798  //
  1799  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeLifecycleConfiguration
  1800  func (c *EFS) DescribeLifecycleConfiguration(input *DescribeLifecycleConfigurationInput) (*DescribeLifecycleConfigurationOutput, error) {
  1801  	req, out := c.DescribeLifecycleConfigurationRequest(input)
  1802  	return out, req.Send()
  1803  }
  1804  
  1805  // DescribeLifecycleConfigurationWithContext is the same as DescribeLifecycleConfiguration with the addition of
  1806  // the ability to pass a context and additional request options.
  1807  //
  1808  // See DescribeLifecycleConfiguration for details on how to use this API operation.
  1809  //
  1810  // The context must be non-nil and will be used for request cancellation. If
  1811  // the context is nil a panic will occur. In the future the SDK may create
  1812  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1813  // for more information on using Contexts.
  1814  func (c *EFS) DescribeLifecycleConfigurationWithContext(ctx aws.Context, input *DescribeLifecycleConfigurationInput, opts ...request.Option) (*DescribeLifecycleConfigurationOutput, error) {
  1815  	req, out := c.DescribeLifecycleConfigurationRequest(input)
  1816  	req.SetContext(ctx)
  1817  	req.ApplyOptions(opts...)
  1818  	return out, req.Send()
  1819  }
  1820  
  1821  const opDescribeMountTargetSecurityGroups = "DescribeMountTargetSecurityGroups"
  1822  
  1823  // DescribeMountTargetSecurityGroupsRequest generates a "aws/request.Request" representing the
  1824  // client's request for the DescribeMountTargetSecurityGroups operation. The "output" return
  1825  // value will be populated with the request's response once the request completes
  1826  // successfully.
  1827  //
  1828  // Use "Send" method on the returned Request to send the API call to the service.
  1829  // the "output" return value is not valid until after Send returns without error.
  1830  //
  1831  // See DescribeMountTargetSecurityGroups for more information on using the DescribeMountTargetSecurityGroups
  1832  // API call, and error handling.
  1833  //
  1834  // This method is useful when you want to inject custom logic or configuration
  1835  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1836  //
  1837  //
  1838  //    // Example sending a request using the DescribeMountTargetSecurityGroupsRequest method.
  1839  //    req, resp := client.DescribeMountTargetSecurityGroupsRequest(params)
  1840  //
  1841  //    err := req.Send()
  1842  //    if err == nil { // resp is now filled
  1843  //        fmt.Println(resp)
  1844  //    }
  1845  //
  1846  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeMountTargetSecurityGroups
  1847  func (c *EFS) DescribeMountTargetSecurityGroupsRequest(input *DescribeMountTargetSecurityGroupsInput) (req *request.Request, output *DescribeMountTargetSecurityGroupsOutput) {
  1848  	op := &request.Operation{
  1849  		Name:       opDescribeMountTargetSecurityGroups,
  1850  		HTTPMethod: "GET",
  1851  		HTTPPath:   "/2015-02-01/mount-targets/{MountTargetId}/security-groups",
  1852  	}
  1853  
  1854  	if input == nil {
  1855  		input = &DescribeMountTargetSecurityGroupsInput{}
  1856  	}
  1857  
  1858  	output = &DescribeMountTargetSecurityGroupsOutput{}
  1859  	req = c.newRequest(op, input, output)
  1860  	return
  1861  }
  1862  
  1863  // DescribeMountTargetSecurityGroups API operation for Amazon Elastic File System.
  1864  //
  1865  // Returns the security groups currently in effect for a mount target. This
  1866  // operation requires that the network interface of the mount target has been
  1867  // created and the lifecycle state of the mount target is not deleted.
  1868  //
  1869  // This operation requires permissions for the following actions:
  1870  //
  1871  //    * elasticfilesystem:DescribeMountTargetSecurityGroups action on the mount
  1872  //    target's file system.
  1873  //
  1874  //    * ec2:DescribeNetworkInterfaceAttribute action on the mount target's network
  1875  //    interface.
  1876  //
  1877  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1878  // with awserr.Error's Code and Message methods to get detailed information about
  1879  // the error.
  1880  //
  1881  // See the AWS API reference guide for Amazon Elastic File System's
  1882  // API operation DescribeMountTargetSecurityGroups for usage and error information.
  1883  //
  1884  // Returned Error Types:
  1885  //   * BadRequest
  1886  //   Returned if the request is malformed or contains an error such as an invalid
  1887  //   parameter value or a missing required parameter.
  1888  //
  1889  //   * InternalServerError
  1890  //   Returned if an error occurred on the server side.
  1891  //
  1892  //   * MountTargetNotFound
  1893  //   Returned if there is no mount target with the specified ID found in the caller's
  1894  //   Amazon Web Services account.
  1895  //
  1896  //   * IncorrectMountTargetState
  1897  //   Returned if the mount target is not in the correct state for the operation.
  1898  //
  1899  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeMountTargetSecurityGroups
  1900  func (c *EFS) DescribeMountTargetSecurityGroups(input *DescribeMountTargetSecurityGroupsInput) (*DescribeMountTargetSecurityGroupsOutput, error) {
  1901  	req, out := c.DescribeMountTargetSecurityGroupsRequest(input)
  1902  	return out, req.Send()
  1903  }
  1904  
  1905  // DescribeMountTargetSecurityGroupsWithContext is the same as DescribeMountTargetSecurityGroups with the addition of
  1906  // the ability to pass a context and additional request options.
  1907  //
  1908  // See DescribeMountTargetSecurityGroups for details on how to use this API operation.
  1909  //
  1910  // The context must be non-nil and will be used for request cancellation. If
  1911  // the context is nil a panic will occur. In the future the SDK may create
  1912  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1913  // for more information on using Contexts.
  1914  func (c *EFS) DescribeMountTargetSecurityGroupsWithContext(ctx aws.Context, input *DescribeMountTargetSecurityGroupsInput, opts ...request.Option) (*DescribeMountTargetSecurityGroupsOutput, error) {
  1915  	req, out := c.DescribeMountTargetSecurityGroupsRequest(input)
  1916  	req.SetContext(ctx)
  1917  	req.ApplyOptions(opts...)
  1918  	return out, req.Send()
  1919  }
  1920  
  1921  const opDescribeMountTargets = "DescribeMountTargets"
  1922  
  1923  // DescribeMountTargetsRequest generates a "aws/request.Request" representing the
  1924  // client's request for the DescribeMountTargets operation. The "output" return
  1925  // value will be populated with the request's response once the request completes
  1926  // successfully.
  1927  //
  1928  // Use "Send" method on the returned Request to send the API call to the service.
  1929  // the "output" return value is not valid until after Send returns without error.
  1930  //
  1931  // See DescribeMountTargets for more information on using the DescribeMountTargets
  1932  // API call, and error handling.
  1933  //
  1934  // This method is useful when you want to inject custom logic or configuration
  1935  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1936  //
  1937  //
  1938  //    // Example sending a request using the DescribeMountTargetsRequest method.
  1939  //    req, resp := client.DescribeMountTargetsRequest(params)
  1940  //
  1941  //    err := req.Send()
  1942  //    if err == nil { // resp is now filled
  1943  //        fmt.Println(resp)
  1944  //    }
  1945  //
  1946  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeMountTargets
  1947  func (c *EFS) DescribeMountTargetsRequest(input *DescribeMountTargetsInput) (req *request.Request, output *DescribeMountTargetsOutput) {
  1948  	op := &request.Operation{
  1949  		Name:       opDescribeMountTargets,
  1950  		HTTPMethod: "GET",
  1951  		HTTPPath:   "/2015-02-01/mount-targets",
  1952  	}
  1953  
  1954  	if input == nil {
  1955  		input = &DescribeMountTargetsInput{}
  1956  	}
  1957  
  1958  	output = &DescribeMountTargetsOutput{}
  1959  	req = c.newRequest(op, input, output)
  1960  	return
  1961  }
  1962  
  1963  // DescribeMountTargets API operation for Amazon Elastic File System.
  1964  //
  1965  // Returns the descriptions of all the current mount targets, or a specific
  1966  // mount target, for a file system. When requesting all of the current mount
  1967  // targets, the order of mount targets returned in the response is unspecified.
  1968  //
  1969  // This operation requires permissions for the elasticfilesystem:DescribeMountTargets
  1970  // action, on either the file system ID that you specify in FileSystemId, or
  1971  // on the file system of the mount target that you specify in MountTargetId.
  1972  //
  1973  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1974  // with awserr.Error's Code and Message methods to get detailed information about
  1975  // the error.
  1976  //
  1977  // See the AWS API reference guide for Amazon Elastic File System's
  1978  // API operation DescribeMountTargets for usage and error information.
  1979  //
  1980  // Returned Error Types:
  1981  //   * BadRequest
  1982  //   Returned if the request is malformed or contains an error such as an invalid
  1983  //   parameter value or a missing required parameter.
  1984  //
  1985  //   * InternalServerError
  1986  //   Returned if an error occurred on the server side.
  1987  //
  1988  //   * FileSystemNotFound
  1989  //   Returned if the specified FileSystemId value doesn't exist in the requester's
  1990  //   Amazon Web Services account.
  1991  //
  1992  //   * MountTargetNotFound
  1993  //   Returned if there is no mount target with the specified ID found in the caller's
  1994  //   Amazon Web Services account.
  1995  //
  1996  //   * AccessPointNotFound
  1997  //   Returned if the specified AccessPointId value doesn't exist in the requester's
  1998  //   Amazon Web Services account.
  1999  //
  2000  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeMountTargets
  2001  func (c *EFS) DescribeMountTargets(input *DescribeMountTargetsInput) (*DescribeMountTargetsOutput, error) {
  2002  	req, out := c.DescribeMountTargetsRequest(input)
  2003  	return out, req.Send()
  2004  }
  2005  
  2006  // DescribeMountTargetsWithContext is the same as DescribeMountTargets with the addition of
  2007  // the ability to pass a context and additional request options.
  2008  //
  2009  // See DescribeMountTargets for details on how to use this API operation.
  2010  //
  2011  // The context must be non-nil and will be used for request cancellation. If
  2012  // the context is nil a panic will occur. In the future the SDK may create
  2013  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2014  // for more information on using Contexts.
  2015  func (c *EFS) DescribeMountTargetsWithContext(ctx aws.Context, input *DescribeMountTargetsInput, opts ...request.Option) (*DescribeMountTargetsOutput, error) {
  2016  	req, out := c.DescribeMountTargetsRequest(input)
  2017  	req.SetContext(ctx)
  2018  	req.ApplyOptions(opts...)
  2019  	return out, req.Send()
  2020  }
  2021  
  2022  const opDescribeTags = "DescribeTags"
  2023  
  2024  // DescribeTagsRequest generates a "aws/request.Request" representing the
  2025  // client's request for the DescribeTags operation. The "output" return
  2026  // value will be populated with the request's response once the request completes
  2027  // successfully.
  2028  //
  2029  // Use "Send" method on the returned Request to send the API call to the service.
  2030  // the "output" return value is not valid until after Send returns without error.
  2031  //
  2032  // See DescribeTags for more information on using the DescribeTags
  2033  // API call, and error handling.
  2034  //
  2035  // This method is useful when you want to inject custom logic or configuration
  2036  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2037  //
  2038  //
  2039  //    // Example sending a request using the DescribeTagsRequest method.
  2040  //    req, resp := client.DescribeTagsRequest(params)
  2041  //
  2042  //    err := req.Send()
  2043  //    if err == nil { // resp is now filled
  2044  //        fmt.Println(resp)
  2045  //    }
  2046  //
  2047  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeTags
  2048  //
  2049  // Deprecated: Use ListTagsForResource.
  2050  func (c *EFS) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
  2051  	if c.Client.Config.Logger != nil {
  2052  		c.Client.Config.Logger.Log("This operation, DescribeTags, has been deprecated")
  2053  	}
  2054  	op := &request.Operation{
  2055  		Name:       opDescribeTags,
  2056  		HTTPMethod: "GET",
  2057  		HTTPPath:   "/2015-02-01/tags/{FileSystemId}/",
  2058  		Paginator: &request.Paginator{
  2059  			InputTokens:     []string{"Marker"},
  2060  			OutputTokens:    []string{"NextMarker"},
  2061  			LimitToken:      "MaxItems",
  2062  			TruncationToken: "",
  2063  		},
  2064  	}
  2065  
  2066  	if input == nil {
  2067  		input = &DescribeTagsInput{}
  2068  	}
  2069  
  2070  	output = &DescribeTagsOutput{}
  2071  	req = c.newRequest(op, input, output)
  2072  	return
  2073  }
  2074  
  2075  // DescribeTags API operation for Amazon Elastic File System.
  2076  //
  2077  //
  2078  // DEPRECATED - The DeleteTags action is deprecated and not maintained. Please
  2079  // use the API action to remove tags from EFS resources.
  2080  //
  2081  // Returns the tags associated with a file system. The order of tags returned
  2082  // in the response of one DescribeTags call and the order of tags returned across
  2083  // the responses of a multiple-call iteration (when using pagination) is unspecified.
  2084  //
  2085  // This operation requires permissions for the elasticfilesystem:DescribeTags
  2086  // action.
  2087  //
  2088  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2089  // with awserr.Error's Code and Message methods to get detailed information about
  2090  // the error.
  2091  //
  2092  // See the AWS API reference guide for Amazon Elastic File System's
  2093  // API operation DescribeTags for usage and error information.
  2094  //
  2095  // Returned Error Types:
  2096  //   * BadRequest
  2097  //   Returned if the request is malformed or contains an error such as an invalid
  2098  //   parameter value or a missing required parameter.
  2099  //
  2100  //   * InternalServerError
  2101  //   Returned if an error occurred on the server side.
  2102  //
  2103  //   * FileSystemNotFound
  2104  //   Returned if the specified FileSystemId value doesn't exist in the requester's
  2105  //   Amazon Web Services account.
  2106  //
  2107  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeTags
  2108  //
  2109  // Deprecated: Use ListTagsForResource.
  2110  func (c *EFS) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
  2111  	req, out := c.DescribeTagsRequest(input)
  2112  	return out, req.Send()
  2113  }
  2114  
  2115  // DescribeTagsWithContext is the same as DescribeTags with the addition of
  2116  // the ability to pass a context and additional request options.
  2117  //
  2118  // See DescribeTags for details on how to use this API operation.
  2119  //
  2120  // The context must be non-nil and will be used for request cancellation. If
  2121  // the context is nil a panic will occur. In the future the SDK may create
  2122  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2123  // for more information on using Contexts.
  2124  //
  2125  // Deprecated: Use ListTagsForResource.
  2126  func (c *EFS) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) {
  2127  	req, out := c.DescribeTagsRequest(input)
  2128  	req.SetContext(ctx)
  2129  	req.ApplyOptions(opts...)
  2130  	return out, req.Send()
  2131  }
  2132  
  2133  // DescribeTagsPages iterates over the pages of a DescribeTags operation,
  2134  // calling the "fn" function with the response data for each page. To stop
  2135  // iterating, return false from the fn function.
  2136  //
  2137  // See DescribeTags method for more information on how to use this operation.
  2138  //
  2139  // Note: This operation can generate multiple requests to a service.
  2140  //
  2141  //    // Example iterating over at most 3 pages of a DescribeTags operation.
  2142  //    pageNum := 0
  2143  //    err := client.DescribeTagsPages(params,
  2144  //        func(page *efs.DescribeTagsOutput, lastPage bool) bool {
  2145  //            pageNum++
  2146  //            fmt.Println(page)
  2147  //            return pageNum <= 3
  2148  //        })
  2149  //
  2150  //
  2151  // Deprecated: Use ListTagsForResource.
  2152  func (c *EFS) DescribeTagsPages(input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool) error {
  2153  	return c.DescribeTagsPagesWithContext(aws.BackgroundContext(), input, fn)
  2154  }
  2155  
  2156  // DescribeTagsPagesWithContext same as DescribeTagsPages except
  2157  // it takes a Context and allows setting request options on the pages.
  2158  //
  2159  // The context must be non-nil and will be used for request cancellation. If
  2160  // the context is nil a panic will occur. In the future the SDK may create
  2161  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2162  // for more information on using Contexts.
  2163  //
  2164  // Deprecated: Use ListTagsForResource.
  2165  func (c *EFS) DescribeTagsPagesWithContext(ctx aws.Context, input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool, opts ...request.Option) error {
  2166  	p := request.Pagination{
  2167  		NewRequest: func() (*request.Request, error) {
  2168  			var inCpy *DescribeTagsInput
  2169  			if input != nil {
  2170  				tmp := *input
  2171  				inCpy = &tmp
  2172  			}
  2173  			req, _ := c.DescribeTagsRequest(inCpy)
  2174  			req.SetContext(ctx)
  2175  			req.ApplyOptions(opts...)
  2176  			return req, nil
  2177  		},
  2178  	}
  2179  
  2180  	for p.Next() {
  2181  		if !fn(p.Page().(*DescribeTagsOutput), !p.HasNextPage()) {
  2182  			break
  2183  		}
  2184  	}
  2185  
  2186  	return p.Err()
  2187  }
  2188  
  2189  const opListTagsForResource = "ListTagsForResource"
  2190  
  2191  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  2192  // client's request for the ListTagsForResource operation. The "output" return
  2193  // value will be populated with the request's response once the request completes
  2194  // successfully.
  2195  //
  2196  // Use "Send" method on the returned Request to send the API call to the service.
  2197  // the "output" return value is not valid until after Send returns without error.
  2198  //
  2199  // See ListTagsForResource for more information on using the ListTagsForResource
  2200  // API call, and error handling.
  2201  //
  2202  // This method is useful when you want to inject custom logic or configuration
  2203  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2204  //
  2205  //
  2206  //    // Example sending a request using the ListTagsForResourceRequest method.
  2207  //    req, resp := client.ListTagsForResourceRequest(params)
  2208  //
  2209  //    err := req.Send()
  2210  //    if err == nil { // resp is now filled
  2211  //        fmt.Println(resp)
  2212  //    }
  2213  //
  2214  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/ListTagsForResource
  2215  func (c *EFS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  2216  	op := &request.Operation{
  2217  		Name:       opListTagsForResource,
  2218  		HTTPMethod: "GET",
  2219  		HTTPPath:   "/2015-02-01/resource-tags/{ResourceId}",
  2220  		Paginator: &request.Paginator{
  2221  			InputTokens:     []string{"NextToken"},
  2222  			OutputTokens:    []string{"NextToken"},
  2223  			LimitToken:      "MaxResults",
  2224  			TruncationToken: "",
  2225  		},
  2226  	}
  2227  
  2228  	if input == nil {
  2229  		input = &ListTagsForResourceInput{}
  2230  	}
  2231  
  2232  	output = &ListTagsForResourceOutput{}
  2233  	req = c.newRequest(op, input, output)
  2234  	return
  2235  }
  2236  
  2237  // ListTagsForResource API operation for Amazon Elastic File System.
  2238  //
  2239  // Lists all tags for a top-level EFS resource. You must provide the ID of the
  2240  // resource that you want to retrieve the tags for.
  2241  //
  2242  // This operation requires permissions for the elasticfilesystem:DescribeAccessPoints
  2243  // action.
  2244  //
  2245  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2246  // with awserr.Error's Code and Message methods to get detailed information about
  2247  // the error.
  2248  //
  2249  // See the AWS API reference guide for Amazon Elastic File System's
  2250  // API operation ListTagsForResource for usage and error information.
  2251  //
  2252  // Returned Error Types:
  2253  //   * BadRequest
  2254  //   Returned if the request is malformed or contains an error such as an invalid
  2255  //   parameter value or a missing required parameter.
  2256  //
  2257  //   * InternalServerError
  2258  //   Returned if an error occurred on the server side.
  2259  //
  2260  //   * FileSystemNotFound
  2261  //   Returned if the specified FileSystemId value doesn't exist in the requester's
  2262  //   Amazon Web Services account.
  2263  //
  2264  //   * AccessPointNotFound
  2265  //   Returned if the specified AccessPointId value doesn't exist in the requester's
  2266  //   Amazon Web Services account.
  2267  //
  2268  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/ListTagsForResource
  2269  func (c *EFS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  2270  	req, out := c.ListTagsForResourceRequest(input)
  2271  	return out, req.Send()
  2272  }
  2273  
  2274  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  2275  // the ability to pass a context and additional request options.
  2276  //
  2277  // See ListTagsForResource for details on how to use this API operation.
  2278  //
  2279  // The context must be non-nil and will be used for request cancellation. If
  2280  // the context is nil a panic will occur. In the future the SDK may create
  2281  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2282  // for more information on using Contexts.
  2283  func (c *EFS) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  2284  	req, out := c.ListTagsForResourceRequest(input)
  2285  	req.SetContext(ctx)
  2286  	req.ApplyOptions(opts...)
  2287  	return out, req.Send()
  2288  }
  2289  
  2290  // ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation,
  2291  // calling the "fn" function with the response data for each page. To stop
  2292  // iterating, return false from the fn function.
  2293  //
  2294  // See ListTagsForResource method for more information on how to use this operation.
  2295  //
  2296  // Note: This operation can generate multiple requests to a service.
  2297  //
  2298  //    // Example iterating over at most 3 pages of a ListTagsForResource operation.
  2299  //    pageNum := 0
  2300  //    err := client.ListTagsForResourcePages(params,
  2301  //        func(page *efs.ListTagsForResourceOutput, lastPage bool) bool {
  2302  //            pageNum++
  2303  //            fmt.Println(page)
  2304  //            return pageNum <= 3
  2305  //        })
  2306  //
  2307  func (c *EFS) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error {
  2308  	return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn)
  2309  }
  2310  
  2311  // ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except
  2312  // it takes a Context and allows setting request options on the pages.
  2313  //
  2314  // The context must be non-nil and will be used for request cancellation. If
  2315  // the context is nil a panic will occur. In the future the SDK may create
  2316  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2317  // for more information on using Contexts.
  2318  func (c *EFS) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error {
  2319  	p := request.Pagination{
  2320  		NewRequest: func() (*request.Request, error) {
  2321  			var inCpy *ListTagsForResourceInput
  2322  			if input != nil {
  2323  				tmp := *input
  2324  				inCpy = &tmp
  2325  			}
  2326  			req, _ := c.ListTagsForResourceRequest(inCpy)
  2327  			req.SetContext(ctx)
  2328  			req.ApplyOptions(opts...)
  2329  			return req, nil
  2330  		},
  2331  	}
  2332  
  2333  	for p.Next() {
  2334  		if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) {
  2335  			break
  2336  		}
  2337  	}
  2338  
  2339  	return p.Err()
  2340  }
  2341  
  2342  const opModifyMountTargetSecurityGroups = "ModifyMountTargetSecurityGroups"
  2343  
  2344  // ModifyMountTargetSecurityGroupsRequest generates a "aws/request.Request" representing the
  2345  // client's request for the ModifyMountTargetSecurityGroups operation. The "output" return
  2346  // value will be populated with the request's response once the request completes
  2347  // successfully.
  2348  //
  2349  // Use "Send" method on the returned Request to send the API call to the service.
  2350  // the "output" return value is not valid until after Send returns without error.
  2351  //
  2352  // See ModifyMountTargetSecurityGroups for more information on using the ModifyMountTargetSecurityGroups
  2353  // API call, and error handling.
  2354  //
  2355  // This method is useful when you want to inject custom logic or configuration
  2356  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2357  //
  2358  //
  2359  //    // Example sending a request using the ModifyMountTargetSecurityGroupsRequest method.
  2360  //    req, resp := client.ModifyMountTargetSecurityGroupsRequest(params)
  2361  //
  2362  //    err := req.Send()
  2363  //    if err == nil { // resp is now filled
  2364  //        fmt.Println(resp)
  2365  //    }
  2366  //
  2367  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/ModifyMountTargetSecurityGroups
  2368  func (c *EFS) ModifyMountTargetSecurityGroupsRequest(input *ModifyMountTargetSecurityGroupsInput) (req *request.Request, output *ModifyMountTargetSecurityGroupsOutput) {
  2369  	op := &request.Operation{
  2370  		Name:       opModifyMountTargetSecurityGroups,
  2371  		HTTPMethod: "PUT",
  2372  		HTTPPath:   "/2015-02-01/mount-targets/{MountTargetId}/security-groups",
  2373  	}
  2374  
  2375  	if input == nil {
  2376  		input = &ModifyMountTargetSecurityGroupsInput{}
  2377  	}
  2378  
  2379  	output = &ModifyMountTargetSecurityGroupsOutput{}
  2380  	req = c.newRequest(op, input, output)
  2381  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2382  	return
  2383  }
  2384  
  2385  // ModifyMountTargetSecurityGroups API operation for Amazon Elastic File System.
  2386  //
  2387  // Modifies the set of security groups in effect for a mount target.
  2388  //
  2389  // When you create a mount target, Amazon EFS also creates a new network interface.
  2390  // For more information, see CreateMountTarget. This operation replaces the
  2391  // security groups in effect for the network interface associated with a mount
  2392  // target, with the SecurityGroups provided in the request. This operation requires
  2393  // that the network interface of the mount target has been created and the lifecycle
  2394  // state of the mount target is not deleted.
  2395  //
  2396  // The operation requires permissions for the following actions:
  2397  //
  2398  //    * elasticfilesystem:ModifyMountTargetSecurityGroups action on the mount
  2399  //    target's file system.
  2400  //
  2401  //    * ec2:ModifyNetworkInterfaceAttribute action on the mount target's network
  2402  //    interface.
  2403  //
  2404  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2405  // with awserr.Error's Code and Message methods to get detailed information about
  2406  // the error.
  2407  //
  2408  // See the AWS API reference guide for Amazon Elastic File System's
  2409  // API operation ModifyMountTargetSecurityGroups for usage and error information.
  2410  //
  2411  // Returned Error Types:
  2412  //   * BadRequest
  2413  //   Returned if the request is malformed or contains an error such as an invalid
  2414  //   parameter value or a missing required parameter.
  2415  //
  2416  //   * InternalServerError
  2417  //   Returned if an error occurred on the server side.
  2418  //
  2419  //   * MountTargetNotFound
  2420  //   Returned if there is no mount target with the specified ID found in the caller's
  2421  //   Amazon Web Services account.
  2422  //
  2423  //   * IncorrectMountTargetState
  2424  //   Returned if the mount target is not in the correct state for the operation.
  2425  //
  2426  //   * SecurityGroupLimitExceeded
  2427  //   Returned if the size of SecurityGroups specified in the request is greater
  2428  //   than five.
  2429  //
  2430  //   * SecurityGroupNotFound
  2431  //   Returned if one of the specified security groups doesn't exist in the subnet's
  2432  //   VPC.
  2433  //
  2434  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/ModifyMountTargetSecurityGroups
  2435  func (c *EFS) ModifyMountTargetSecurityGroups(input *ModifyMountTargetSecurityGroupsInput) (*ModifyMountTargetSecurityGroupsOutput, error) {
  2436  	req, out := c.ModifyMountTargetSecurityGroupsRequest(input)
  2437  	return out, req.Send()
  2438  }
  2439  
  2440  // ModifyMountTargetSecurityGroupsWithContext is the same as ModifyMountTargetSecurityGroups with the addition of
  2441  // the ability to pass a context and additional request options.
  2442  //
  2443  // See ModifyMountTargetSecurityGroups for details on how to use this API operation.
  2444  //
  2445  // The context must be non-nil and will be used for request cancellation. If
  2446  // the context is nil a panic will occur. In the future the SDK may create
  2447  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2448  // for more information on using Contexts.
  2449  func (c *EFS) ModifyMountTargetSecurityGroupsWithContext(ctx aws.Context, input *ModifyMountTargetSecurityGroupsInput, opts ...request.Option) (*ModifyMountTargetSecurityGroupsOutput, error) {
  2450  	req, out := c.ModifyMountTargetSecurityGroupsRequest(input)
  2451  	req.SetContext(ctx)
  2452  	req.ApplyOptions(opts...)
  2453  	return out, req.Send()
  2454  }
  2455  
  2456  const opPutAccountPreferences = "PutAccountPreferences"
  2457  
  2458  // PutAccountPreferencesRequest generates a "aws/request.Request" representing the
  2459  // client's request for the PutAccountPreferences operation. The "output" return
  2460  // value will be populated with the request's response once the request completes
  2461  // successfully.
  2462  //
  2463  // Use "Send" method on the returned Request to send the API call to the service.
  2464  // the "output" return value is not valid until after Send returns without error.
  2465  //
  2466  // See PutAccountPreferences for more information on using the PutAccountPreferences
  2467  // API call, and error handling.
  2468  //
  2469  // This method is useful when you want to inject custom logic or configuration
  2470  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2471  //
  2472  //
  2473  //    // Example sending a request using the PutAccountPreferencesRequest method.
  2474  //    req, resp := client.PutAccountPreferencesRequest(params)
  2475  //
  2476  //    err := req.Send()
  2477  //    if err == nil { // resp is now filled
  2478  //        fmt.Println(resp)
  2479  //    }
  2480  //
  2481  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/PutAccountPreferences
  2482  func (c *EFS) PutAccountPreferencesRequest(input *PutAccountPreferencesInput) (req *request.Request, output *PutAccountPreferencesOutput) {
  2483  	op := &request.Operation{
  2484  		Name:       opPutAccountPreferences,
  2485  		HTTPMethod: "PUT",
  2486  		HTTPPath:   "/2015-02-01/account-preferences",
  2487  	}
  2488  
  2489  	if input == nil {
  2490  		input = &PutAccountPreferencesInput{}
  2491  	}
  2492  
  2493  	output = &PutAccountPreferencesOutput{}
  2494  	req = c.newRequest(op, input, output)
  2495  	return
  2496  }
  2497  
  2498  // PutAccountPreferences API operation for Amazon Elastic File System.
  2499  //
  2500  // Use this operation to set the account preference in the current Amazon Web
  2501  // Services Region to use either long 17 character (63 bit) or short 8 character
  2502  // (32 bit) IDs for new EFS file systems and mount targets created. All existing
  2503  // resource IDs are not affected by any changes you make. You can set the ID
  2504  // preference during the opt-in period as EFS transitions to long resource IDs.
  2505  // For more information, see Managing Amazon EFS resource IDs (efs/latest/ug/manage-efs-resource-ids.html).
  2506  //
  2507  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2508  // with awserr.Error's Code and Message methods to get detailed information about
  2509  // the error.
  2510  //
  2511  // See the AWS API reference guide for Amazon Elastic File System's
  2512  // API operation PutAccountPreferences for usage and error information.
  2513  //
  2514  // Returned Error Types:
  2515  //   * BadRequest
  2516  //   Returned if the request is malformed or contains an error such as an invalid
  2517  //   parameter value or a missing required parameter.
  2518  //
  2519  //   * InternalServerError
  2520  //   Returned if an error occurred on the server side.
  2521  //
  2522  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/PutAccountPreferences
  2523  func (c *EFS) PutAccountPreferences(input *PutAccountPreferencesInput) (*PutAccountPreferencesOutput, error) {
  2524  	req, out := c.PutAccountPreferencesRequest(input)
  2525  	return out, req.Send()
  2526  }
  2527  
  2528  // PutAccountPreferencesWithContext is the same as PutAccountPreferences with the addition of
  2529  // the ability to pass a context and additional request options.
  2530  //
  2531  // See PutAccountPreferences for details on how to use this API operation.
  2532  //
  2533  // The context must be non-nil and will be used for request cancellation. If
  2534  // the context is nil a panic will occur. In the future the SDK may create
  2535  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2536  // for more information on using Contexts.
  2537  func (c *EFS) PutAccountPreferencesWithContext(ctx aws.Context, input *PutAccountPreferencesInput, opts ...request.Option) (*PutAccountPreferencesOutput, error) {
  2538  	req, out := c.PutAccountPreferencesRequest(input)
  2539  	req.SetContext(ctx)
  2540  	req.ApplyOptions(opts...)
  2541  	return out, req.Send()
  2542  }
  2543  
  2544  const opPutBackupPolicy = "PutBackupPolicy"
  2545  
  2546  // PutBackupPolicyRequest generates a "aws/request.Request" representing the
  2547  // client's request for the PutBackupPolicy operation. The "output" return
  2548  // value will be populated with the request's response once the request completes
  2549  // successfully.
  2550  //
  2551  // Use "Send" method on the returned Request to send the API call to the service.
  2552  // the "output" return value is not valid until after Send returns without error.
  2553  //
  2554  // See PutBackupPolicy for more information on using the PutBackupPolicy
  2555  // API call, and error handling.
  2556  //
  2557  // This method is useful when you want to inject custom logic or configuration
  2558  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2559  //
  2560  //
  2561  //    // Example sending a request using the PutBackupPolicyRequest method.
  2562  //    req, resp := client.PutBackupPolicyRequest(params)
  2563  //
  2564  //    err := req.Send()
  2565  //    if err == nil { // resp is now filled
  2566  //        fmt.Println(resp)
  2567  //    }
  2568  //
  2569  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/PutBackupPolicy
  2570  func (c *EFS) PutBackupPolicyRequest(input *PutBackupPolicyInput) (req *request.Request, output *PutBackupPolicyOutput) {
  2571  	op := &request.Operation{
  2572  		Name:       opPutBackupPolicy,
  2573  		HTTPMethod: "PUT",
  2574  		HTTPPath:   "/2015-02-01/file-systems/{FileSystemId}/backup-policy",
  2575  	}
  2576  
  2577  	if input == nil {
  2578  		input = &PutBackupPolicyInput{}
  2579  	}
  2580  
  2581  	output = &PutBackupPolicyOutput{}
  2582  	req = c.newRequest(op, input, output)
  2583  	return
  2584  }
  2585  
  2586  // PutBackupPolicy API operation for Amazon Elastic File System.
  2587  //
  2588  // Updates the file system's backup policy. Use this action to start or stop
  2589  // automatic backups of the file system.
  2590  //
  2591  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2592  // with awserr.Error's Code and Message methods to get detailed information about
  2593  // the error.
  2594  //
  2595  // See the AWS API reference guide for Amazon Elastic File System's
  2596  // API operation PutBackupPolicy for usage and error information.
  2597  //
  2598  // Returned Error Types:
  2599  //   * BadRequest
  2600  //   Returned if the request is malformed or contains an error such as an invalid
  2601  //   parameter value or a missing required parameter.
  2602  //
  2603  //   * FileSystemNotFound
  2604  //   Returned if the specified FileSystemId value doesn't exist in the requester's
  2605  //   Amazon Web Services account.
  2606  //
  2607  //   * IncorrectFileSystemLifeCycleState
  2608  //   Returned if the file system's lifecycle state is not "available".
  2609  //
  2610  //   * InternalServerError
  2611  //   Returned if an error occurred on the server side.
  2612  //
  2613  //   * ValidationException
  2614  //   Returned if the Backup service is not available in the Amazon Web Services
  2615  //   Region in which the request was made.
  2616  //
  2617  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/PutBackupPolicy
  2618  func (c *EFS) PutBackupPolicy(input *PutBackupPolicyInput) (*PutBackupPolicyOutput, error) {
  2619  	req, out := c.PutBackupPolicyRequest(input)
  2620  	return out, req.Send()
  2621  }
  2622  
  2623  // PutBackupPolicyWithContext is the same as PutBackupPolicy with the addition of
  2624  // the ability to pass a context and additional request options.
  2625  //
  2626  // See PutBackupPolicy for details on how to use this API operation.
  2627  //
  2628  // The context must be non-nil and will be used for request cancellation. If
  2629  // the context is nil a panic will occur. In the future the SDK may create
  2630  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2631  // for more information on using Contexts.
  2632  func (c *EFS) PutBackupPolicyWithContext(ctx aws.Context, input *PutBackupPolicyInput, opts ...request.Option) (*PutBackupPolicyOutput, error) {
  2633  	req, out := c.PutBackupPolicyRequest(input)
  2634  	req.SetContext(ctx)
  2635  	req.ApplyOptions(opts...)
  2636  	return out, req.Send()
  2637  }
  2638  
  2639  const opPutFileSystemPolicy = "PutFileSystemPolicy"
  2640  
  2641  // PutFileSystemPolicyRequest generates a "aws/request.Request" representing the
  2642  // client's request for the PutFileSystemPolicy operation. The "output" return
  2643  // value will be populated with the request's response once the request completes
  2644  // successfully.
  2645  //
  2646  // Use "Send" method on the returned Request to send the API call to the service.
  2647  // the "output" return value is not valid until after Send returns without error.
  2648  //
  2649  // See PutFileSystemPolicy for more information on using the PutFileSystemPolicy
  2650  // API call, and error handling.
  2651  //
  2652  // This method is useful when you want to inject custom logic or configuration
  2653  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2654  //
  2655  //
  2656  //    // Example sending a request using the PutFileSystemPolicyRequest method.
  2657  //    req, resp := client.PutFileSystemPolicyRequest(params)
  2658  //
  2659  //    err := req.Send()
  2660  //    if err == nil { // resp is now filled
  2661  //        fmt.Println(resp)
  2662  //    }
  2663  //
  2664  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/PutFileSystemPolicy
  2665  func (c *EFS) PutFileSystemPolicyRequest(input *PutFileSystemPolicyInput) (req *request.Request, output *PutFileSystemPolicyOutput) {
  2666  	op := &request.Operation{
  2667  		Name:       opPutFileSystemPolicy,
  2668  		HTTPMethod: "PUT",
  2669  		HTTPPath:   "/2015-02-01/file-systems/{FileSystemId}/policy",
  2670  	}
  2671  
  2672  	if input == nil {
  2673  		input = &PutFileSystemPolicyInput{}
  2674  	}
  2675  
  2676  	output = &PutFileSystemPolicyOutput{}
  2677  	req = c.newRequest(op, input, output)
  2678  	return
  2679  }
  2680  
  2681  // PutFileSystemPolicy API operation for Amazon Elastic File System.
  2682  //
  2683  // Applies an Amazon EFS FileSystemPolicy to an Amazon EFS file system. A file
  2684  // system policy is an IAM resource-based policy and can contain multiple policy
  2685  // statements. A file system always has exactly one file system policy, which
  2686  // can be the default policy or an explicit policy set or updated using this
  2687  // API operation. EFS file system policies have a 20,000 character limit. When
  2688  // an explicit policy is set, it overrides the default policy. For more information
  2689  // about the default file system policy, see Default EFS File System Policy
  2690  // (https://docs.aws.amazon.com/efs/latest/ug/iam-access-control-nfs-efs.html#default-filesystempolicy).
  2691  //
  2692  // EFS file system policies have a 20,000 character limit.
  2693  //
  2694  // This operation requires permissions for the elasticfilesystem:PutFileSystemPolicy
  2695  // action.
  2696  //
  2697  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2698  // with awserr.Error's Code and Message methods to get detailed information about
  2699  // the error.
  2700  //
  2701  // See the AWS API reference guide for Amazon Elastic File System's
  2702  // API operation PutFileSystemPolicy for usage and error information.
  2703  //
  2704  // Returned Error Types:
  2705  //   * InternalServerError
  2706  //   Returned if an error occurred on the server side.
  2707  //
  2708  //   * FileSystemNotFound
  2709  //   Returned if the specified FileSystemId value doesn't exist in the requester's
  2710  //   Amazon Web Services account.
  2711  //
  2712  //   * InvalidPolicyException
  2713  //   Returned if the FileSystemPolicy is is malformed or contains an error such
  2714  //   as an invalid parameter value or a missing required parameter. Returned in
  2715  //   the case of a policy lockout safety check error.
  2716  //
  2717  //   * IncorrectFileSystemLifeCycleState
  2718  //   Returned if the file system's lifecycle state is not "available".
  2719  //
  2720  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/PutFileSystemPolicy
  2721  func (c *EFS) PutFileSystemPolicy(input *PutFileSystemPolicyInput) (*PutFileSystemPolicyOutput, error) {
  2722  	req, out := c.PutFileSystemPolicyRequest(input)
  2723  	return out, req.Send()
  2724  }
  2725  
  2726  // PutFileSystemPolicyWithContext is the same as PutFileSystemPolicy with the addition of
  2727  // the ability to pass a context and additional request options.
  2728  //
  2729  // See PutFileSystemPolicy for details on how to use this API operation.
  2730  //
  2731  // The context must be non-nil and will be used for request cancellation. If
  2732  // the context is nil a panic will occur. In the future the SDK may create
  2733  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2734  // for more information on using Contexts.
  2735  func (c *EFS) PutFileSystemPolicyWithContext(ctx aws.Context, input *PutFileSystemPolicyInput, opts ...request.Option) (*PutFileSystemPolicyOutput, error) {
  2736  	req, out := c.PutFileSystemPolicyRequest(input)
  2737  	req.SetContext(ctx)
  2738  	req.ApplyOptions(opts...)
  2739  	return out, req.Send()
  2740  }
  2741  
  2742  const opPutLifecycleConfiguration = "PutLifecycleConfiguration"
  2743  
  2744  // PutLifecycleConfigurationRequest generates a "aws/request.Request" representing the
  2745  // client's request for the PutLifecycleConfiguration operation. The "output" return
  2746  // value will be populated with the request's response once the request completes
  2747  // successfully.
  2748  //
  2749  // Use "Send" method on the returned Request to send the API call to the service.
  2750  // the "output" return value is not valid until after Send returns without error.
  2751  //
  2752  // See PutLifecycleConfiguration for more information on using the PutLifecycleConfiguration
  2753  // API call, and error handling.
  2754  //
  2755  // This method is useful when you want to inject custom logic or configuration
  2756  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2757  //
  2758  //
  2759  //    // Example sending a request using the PutLifecycleConfigurationRequest method.
  2760  //    req, resp := client.PutLifecycleConfigurationRequest(params)
  2761  //
  2762  //    err := req.Send()
  2763  //    if err == nil { // resp is now filled
  2764  //        fmt.Println(resp)
  2765  //    }
  2766  //
  2767  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/PutLifecycleConfiguration
  2768  func (c *EFS) PutLifecycleConfigurationRequest(input *PutLifecycleConfigurationInput) (req *request.Request, output *PutLifecycleConfigurationOutput) {
  2769  	op := &request.Operation{
  2770  		Name:       opPutLifecycleConfiguration,
  2771  		HTTPMethod: "PUT",
  2772  		HTTPPath:   "/2015-02-01/file-systems/{FileSystemId}/lifecycle-configuration",
  2773  	}
  2774  
  2775  	if input == nil {
  2776  		input = &PutLifecycleConfigurationInput{}
  2777  	}
  2778  
  2779  	output = &PutLifecycleConfigurationOutput{}
  2780  	req = c.newRequest(op, input, output)
  2781  	return
  2782  }
  2783  
  2784  // PutLifecycleConfiguration API operation for Amazon Elastic File System.
  2785  //
  2786  // Enables lifecycle management by creating a new LifecycleConfiguration object.
  2787  // A LifecycleConfiguration object defines when files in an Amazon EFS file
  2788  // system are automatically transitioned to the lower-cost EFS Infrequent Access
  2789  // (IA) storage class. To enable EFS Intelligent Tiering, set the value of TransitionToPrimaryStorageClass
  2790  // to AFTER_1_ACCESS. For more information, see EFS Lifecycle Management (https://docs.aws.amazon.com/efs/latest/ug/lifecycle-management-efs.html).
  2791  //
  2792  // A LifecycleConfiguration applies to all files in a file system.
  2793  //
  2794  // Each Amazon EFS file system supports one lifecycle configuration, which applies
  2795  // to all files in the file system. If a LifecycleConfiguration object already
  2796  // exists for the specified file system, a PutLifecycleConfiguration call modifies
  2797  // the existing configuration. A PutLifecycleConfiguration call with an empty
  2798  // LifecyclePolicies array in the request body deletes any existing LifecycleConfiguration
  2799  // and disables lifecycle management.
  2800  //
  2801  // In the request, specify the following:
  2802  //
  2803  //    * The ID for the file system for which you are enabling, disabling, or
  2804  //    modifying lifecycle management.
  2805  //
  2806  //    * A LifecyclePolicies array of LifecyclePolicy objects that define when
  2807  //    files are moved to the IA storage class. The array can contain only one
  2808  //    LifecyclePolicy item.
  2809  //
  2810  // This operation requires permissions for the elasticfilesystem:PutLifecycleConfiguration
  2811  // operation.
  2812  //
  2813  // To apply a LifecycleConfiguration object to an encrypted file system, you
  2814  // need the same Key Management Service permissions as when you created the
  2815  // encrypted file system.
  2816  //
  2817  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2818  // with awserr.Error's Code and Message methods to get detailed information about
  2819  // the error.
  2820  //
  2821  // See the AWS API reference guide for Amazon Elastic File System's
  2822  // API operation PutLifecycleConfiguration for usage and error information.
  2823  //
  2824  // Returned Error Types:
  2825  //   * BadRequest
  2826  //   Returned if the request is malformed or contains an error such as an invalid
  2827  //   parameter value or a missing required parameter.
  2828  //
  2829  //   * InternalServerError
  2830  //   Returned if an error occurred on the server side.
  2831  //
  2832  //   * FileSystemNotFound
  2833  //   Returned if the specified FileSystemId value doesn't exist in the requester's
  2834  //   Amazon Web Services account.
  2835  //
  2836  //   * IncorrectFileSystemLifeCycleState
  2837  //   Returned if the file system's lifecycle state is not "available".
  2838  //
  2839  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/PutLifecycleConfiguration
  2840  func (c *EFS) PutLifecycleConfiguration(input *PutLifecycleConfigurationInput) (*PutLifecycleConfigurationOutput, error) {
  2841  	req, out := c.PutLifecycleConfigurationRequest(input)
  2842  	return out, req.Send()
  2843  }
  2844  
  2845  // PutLifecycleConfigurationWithContext is the same as PutLifecycleConfiguration with the addition of
  2846  // the ability to pass a context and additional request options.
  2847  //
  2848  // See PutLifecycleConfiguration for details on how to use this API operation.
  2849  //
  2850  // The context must be non-nil and will be used for request cancellation. If
  2851  // the context is nil a panic will occur. In the future the SDK may create
  2852  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2853  // for more information on using Contexts.
  2854  func (c *EFS) PutLifecycleConfigurationWithContext(ctx aws.Context, input *PutLifecycleConfigurationInput, opts ...request.Option) (*PutLifecycleConfigurationOutput, error) {
  2855  	req, out := c.PutLifecycleConfigurationRequest(input)
  2856  	req.SetContext(ctx)
  2857  	req.ApplyOptions(opts...)
  2858  	return out, req.Send()
  2859  }
  2860  
  2861  const opTagResource = "TagResource"
  2862  
  2863  // TagResourceRequest generates a "aws/request.Request" representing the
  2864  // client's request for the TagResource operation. The "output" return
  2865  // value will be populated with the request's response once the request completes
  2866  // successfully.
  2867  //
  2868  // Use "Send" method on the returned Request to send the API call to the service.
  2869  // the "output" return value is not valid until after Send returns without error.
  2870  //
  2871  // See TagResource for more information on using the TagResource
  2872  // API call, and error handling.
  2873  //
  2874  // This method is useful when you want to inject custom logic or configuration
  2875  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2876  //
  2877  //
  2878  //    // Example sending a request using the TagResourceRequest method.
  2879  //    req, resp := client.TagResourceRequest(params)
  2880  //
  2881  //    err := req.Send()
  2882  //    if err == nil { // resp is now filled
  2883  //        fmt.Println(resp)
  2884  //    }
  2885  //
  2886  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/TagResource
  2887  func (c *EFS) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  2888  	op := &request.Operation{
  2889  		Name:       opTagResource,
  2890  		HTTPMethod: "POST",
  2891  		HTTPPath:   "/2015-02-01/resource-tags/{ResourceId}",
  2892  	}
  2893  
  2894  	if input == nil {
  2895  		input = &TagResourceInput{}
  2896  	}
  2897  
  2898  	output = &TagResourceOutput{}
  2899  	req = c.newRequest(op, input, output)
  2900  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2901  	return
  2902  }
  2903  
  2904  // TagResource API operation for Amazon Elastic File System.
  2905  //
  2906  // Creates a tag for an EFS resource. You can create tags for EFS file systems
  2907  // and access points using this API operation.
  2908  //
  2909  // This operation requires permissions for the elasticfilesystem:TagResource
  2910  // action.
  2911  //
  2912  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2913  // with awserr.Error's Code and Message methods to get detailed information about
  2914  // the error.
  2915  //
  2916  // See the AWS API reference guide for Amazon Elastic File System's
  2917  // API operation TagResource for usage and error information.
  2918  //
  2919  // Returned Error Types:
  2920  //   * BadRequest
  2921  //   Returned if the request is malformed or contains an error such as an invalid
  2922  //   parameter value or a missing required parameter.
  2923  //
  2924  //   * InternalServerError
  2925  //   Returned if an error occurred on the server side.
  2926  //
  2927  //   * FileSystemNotFound
  2928  //   Returned if the specified FileSystemId value doesn't exist in the requester's
  2929  //   Amazon Web Services account.
  2930  //
  2931  //   * AccessPointNotFound
  2932  //   Returned if the specified AccessPointId value doesn't exist in the requester's
  2933  //   Amazon Web Services account.
  2934  //
  2935  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/TagResource
  2936  func (c *EFS) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  2937  	req, out := c.TagResourceRequest(input)
  2938  	return out, req.Send()
  2939  }
  2940  
  2941  // TagResourceWithContext is the same as TagResource with the addition of
  2942  // the ability to pass a context and additional request options.
  2943  //
  2944  // See TagResource for details on how to use this API operation.
  2945  //
  2946  // The context must be non-nil and will be used for request cancellation. If
  2947  // the context is nil a panic will occur. In the future the SDK may create
  2948  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2949  // for more information on using Contexts.
  2950  func (c *EFS) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  2951  	req, out := c.TagResourceRequest(input)
  2952  	req.SetContext(ctx)
  2953  	req.ApplyOptions(opts...)
  2954  	return out, req.Send()
  2955  }
  2956  
  2957  const opUntagResource = "UntagResource"
  2958  
  2959  // UntagResourceRequest generates a "aws/request.Request" representing the
  2960  // client's request for the UntagResource operation. The "output" return
  2961  // value will be populated with the request's response once the request completes
  2962  // successfully.
  2963  //
  2964  // Use "Send" method on the returned Request to send the API call to the service.
  2965  // the "output" return value is not valid until after Send returns without error.
  2966  //
  2967  // See UntagResource for more information on using the UntagResource
  2968  // API call, and error handling.
  2969  //
  2970  // This method is useful when you want to inject custom logic or configuration
  2971  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2972  //
  2973  //
  2974  //    // Example sending a request using the UntagResourceRequest method.
  2975  //    req, resp := client.UntagResourceRequest(params)
  2976  //
  2977  //    err := req.Send()
  2978  //    if err == nil { // resp is now filled
  2979  //        fmt.Println(resp)
  2980  //    }
  2981  //
  2982  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/UntagResource
  2983  func (c *EFS) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  2984  	op := &request.Operation{
  2985  		Name:       opUntagResource,
  2986  		HTTPMethod: "DELETE",
  2987  		HTTPPath:   "/2015-02-01/resource-tags/{ResourceId}",
  2988  	}
  2989  
  2990  	if input == nil {
  2991  		input = &UntagResourceInput{}
  2992  	}
  2993  
  2994  	output = &UntagResourceOutput{}
  2995  	req = c.newRequest(op, input, output)
  2996  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2997  	return
  2998  }
  2999  
  3000  // UntagResource API operation for Amazon Elastic File System.
  3001  //
  3002  // Removes tags from an EFS resource. You can remove tags from EFS file systems
  3003  // and access points using this API operation.
  3004  //
  3005  // This operation requires permissions for the elasticfilesystem:UntagResource
  3006  // action.
  3007  //
  3008  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3009  // with awserr.Error's Code and Message methods to get detailed information about
  3010  // the error.
  3011  //
  3012  // See the AWS API reference guide for Amazon Elastic File System's
  3013  // API operation UntagResource for usage and error information.
  3014  //
  3015  // Returned Error Types:
  3016  //   * BadRequest
  3017  //   Returned if the request is malformed or contains an error such as an invalid
  3018  //   parameter value or a missing required parameter.
  3019  //
  3020  //   * InternalServerError
  3021  //   Returned if an error occurred on the server side.
  3022  //
  3023  //   * FileSystemNotFound
  3024  //   Returned if the specified FileSystemId value doesn't exist in the requester's
  3025  //   Amazon Web Services account.
  3026  //
  3027  //   * AccessPointNotFound
  3028  //   Returned if the specified AccessPointId value doesn't exist in the requester's
  3029  //   Amazon Web Services account.
  3030  //
  3031  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/UntagResource
  3032  func (c *EFS) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  3033  	req, out := c.UntagResourceRequest(input)
  3034  	return out, req.Send()
  3035  }
  3036  
  3037  // UntagResourceWithContext is the same as UntagResource with the addition of
  3038  // the ability to pass a context and additional request options.
  3039  //
  3040  // See UntagResource for details on how to use this API operation.
  3041  //
  3042  // The context must be non-nil and will be used for request cancellation. If
  3043  // the context is nil a panic will occur. In the future the SDK may create
  3044  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3045  // for more information on using Contexts.
  3046  func (c *EFS) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  3047  	req, out := c.UntagResourceRequest(input)
  3048  	req.SetContext(ctx)
  3049  	req.ApplyOptions(opts...)
  3050  	return out, req.Send()
  3051  }
  3052  
  3053  const opUpdateFileSystem = "UpdateFileSystem"
  3054  
  3055  // UpdateFileSystemRequest generates a "aws/request.Request" representing the
  3056  // client's request for the UpdateFileSystem operation. The "output" return
  3057  // value will be populated with the request's response once the request completes
  3058  // successfully.
  3059  //
  3060  // Use "Send" method on the returned Request to send the API call to the service.
  3061  // the "output" return value is not valid until after Send returns without error.
  3062  //
  3063  // See UpdateFileSystem for more information on using the UpdateFileSystem
  3064  // API call, and error handling.
  3065  //
  3066  // This method is useful when you want to inject custom logic or configuration
  3067  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3068  //
  3069  //
  3070  //    // Example sending a request using the UpdateFileSystemRequest method.
  3071  //    req, resp := client.UpdateFileSystemRequest(params)
  3072  //
  3073  //    err := req.Send()
  3074  //    if err == nil { // resp is now filled
  3075  //        fmt.Println(resp)
  3076  //    }
  3077  //
  3078  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/UpdateFileSystem
  3079  func (c *EFS) UpdateFileSystemRequest(input *UpdateFileSystemInput) (req *request.Request, output *UpdateFileSystemOutput) {
  3080  	op := &request.Operation{
  3081  		Name:       opUpdateFileSystem,
  3082  		HTTPMethod: "PUT",
  3083  		HTTPPath:   "/2015-02-01/file-systems/{FileSystemId}",
  3084  	}
  3085  
  3086  	if input == nil {
  3087  		input = &UpdateFileSystemInput{}
  3088  	}
  3089  
  3090  	output = &UpdateFileSystemOutput{}
  3091  	req = c.newRequest(op, input, output)
  3092  	return
  3093  }
  3094  
  3095  // UpdateFileSystem API operation for Amazon Elastic File System.
  3096  //
  3097  // Updates the throughput mode or the amount of provisioned throughput of an
  3098  // existing file system.
  3099  //
  3100  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3101  // with awserr.Error's Code and Message methods to get detailed information about
  3102  // the error.
  3103  //
  3104  // See the AWS API reference guide for Amazon Elastic File System's
  3105  // API operation UpdateFileSystem for usage and error information.
  3106  //
  3107  // Returned Error Types:
  3108  //   * BadRequest
  3109  //   Returned if the request is malformed or contains an error such as an invalid
  3110  //   parameter value or a missing required parameter.
  3111  //
  3112  //   * FileSystemNotFound
  3113  //   Returned if the specified FileSystemId value doesn't exist in the requester's
  3114  //   Amazon Web Services account.
  3115  //
  3116  //   * IncorrectFileSystemLifeCycleState
  3117  //   Returned if the file system's lifecycle state is not "available".
  3118  //
  3119  //   * InsufficientThroughputCapacity
  3120  //   Returned if there's not enough capacity to provision additional throughput.
  3121  //   This value might be returned when you try to create a file system in provisioned
  3122  //   throughput mode, when you attempt to increase the provisioned throughput
  3123  //   of an existing file system, or when you attempt to change an existing file
  3124  //   system from bursting to provisioned throughput mode. Try again later.
  3125  //
  3126  //   * InternalServerError
  3127  //   Returned if an error occurred on the server side.
  3128  //
  3129  //   * ThroughputLimitExceeded
  3130  //   Returned if the throughput mode or amount of provisioned throughput can't
  3131  //   be changed because the throughput limit of 1024 MiB/s has been reached.
  3132  //
  3133  //   * TooManyRequests
  3134  //   Returned if you don’t wait at least 24 hours before changing the throughput
  3135  //   mode, or decreasing the Provisioned Throughput value.
  3136  //
  3137  // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/UpdateFileSystem
  3138  func (c *EFS) UpdateFileSystem(input *UpdateFileSystemInput) (*UpdateFileSystemOutput, error) {
  3139  	req, out := c.UpdateFileSystemRequest(input)
  3140  	return out, req.Send()
  3141  }
  3142  
  3143  // UpdateFileSystemWithContext is the same as UpdateFileSystem with the addition of
  3144  // the ability to pass a context and additional request options.
  3145  //
  3146  // See UpdateFileSystem for details on how to use this API operation.
  3147  //
  3148  // The context must be non-nil and will be used for request cancellation. If
  3149  // the context is nil a panic will occur. In the future the SDK may create
  3150  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3151  // for more information on using Contexts.
  3152  func (c *EFS) UpdateFileSystemWithContext(ctx aws.Context, input *UpdateFileSystemInput, opts ...request.Option) (*UpdateFileSystemOutput, error) {
  3153  	req, out := c.UpdateFileSystemRequest(input)
  3154  	req.SetContext(ctx)
  3155  	req.ApplyOptions(opts...)
  3156  	return out, req.Send()
  3157  }
  3158  
  3159  // Returned if the access point you are trying to create already exists, with
  3160  // the creation token you provided in the request.
  3161  type AccessPointAlreadyExists struct {
  3162  	_            struct{}                  `type:"structure"`
  3163  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3164  
  3165  	// AccessPointId is a required field
  3166  	AccessPointId *string `type:"string" required:"true"`
  3167  
  3168  	// ErrorCode is a required field
  3169  	ErrorCode *string `min:"1" type:"string" required:"true"`
  3170  
  3171  	Message_ *string `locationName:"Message" type:"string"`
  3172  }
  3173  
  3174  // String returns the string representation.
  3175  //
  3176  // API parameter values that are decorated as "sensitive" in the API will not
  3177  // be included in the string output. The member name will be present, but the
  3178  // value will be replaced with "sensitive".
  3179  func (s AccessPointAlreadyExists) String() string {
  3180  	return awsutil.Prettify(s)
  3181  }
  3182  
  3183  // GoString returns the string representation.
  3184  //
  3185  // API parameter values that are decorated as "sensitive" in the API will not
  3186  // be included in the string output. The member name will be present, but the
  3187  // value will be replaced with "sensitive".
  3188  func (s AccessPointAlreadyExists) GoString() string {
  3189  	return s.String()
  3190  }
  3191  
  3192  func newErrorAccessPointAlreadyExists(v protocol.ResponseMetadata) error {
  3193  	return &AccessPointAlreadyExists{
  3194  		RespMetadata: v,
  3195  	}
  3196  }
  3197  
  3198  // Code returns the exception type name.
  3199  func (s *AccessPointAlreadyExists) Code() string {
  3200  	return "AccessPointAlreadyExists"
  3201  }
  3202  
  3203  // Message returns the exception's message.
  3204  func (s *AccessPointAlreadyExists) Message() string {
  3205  	if s.Message_ != nil {
  3206  		return *s.Message_
  3207  	}
  3208  	return ""
  3209  }
  3210  
  3211  // OrigErr always returns nil, satisfies awserr.Error interface.
  3212  func (s *AccessPointAlreadyExists) OrigErr() error {
  3213  	return nil
  3214  }
  3215  
  3216  func (s *AccessPointAlreadyExists) Error() string {
  3217  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  3218  }
  3219  
  3220  // Status code returns the HTTP status code for the request's response error.
  3221  func (s *AccessPointAlreadyExists) StatusCode() int {
  3222  	return s.RespMetadata.StatusCode
  3223  }
  3224  
  3225  // RequestID returns the service's response RequestID for request.
  3226  func (s *AccessPointAlreadyExists) RequestID() string {
  3227  	return s.RespMetadata.RequestID
  3228  }
  3229  
  3230  // Provides a description of an EFS file system access point.
  3231  type AccessPointDescription struct {
  3232  	_ struct{} `type:"structure"`
  3233  
  3234  	// The unique Amazon Resource Name (ARN) associated with the access point.
  3235  	AccessPointArn *string `type:"string"`
  3236  
  3237  	// The ID of the access point, assigned by Amazon EFS.
  3238  	AccessPointId *string `type:"string"`
  3239  
  3240  	// The opaque string specified in the request to ensure idempotent creation.
  3241  	ClientToken *string `min:"1" type:"string"`
  3242  
  3243  	// The ID of the EFS file system that the access point applies to.
  3244  	FileSystemId *string `type:"string"`
  3245  
  3246  	// Identifies the lifecycle phase of the access point.
  3247  	LifeCycleState *string `type:"string" enum:"LifeCycleState"`
  3248  
  3249  	// The name of the access point. This is the value of the Name tag.
  3250  	Name *string `type:"string"`
  3251  
  3252  	// Identified the Amazon Web Services account that owns the access point resource.
  3253  	OwnerId *string `type:"string"`
  3254  
  3255  	// The full POSIX identity, including the user ID, group ID, and secondary group
  3256  	// IDs on the access point that is used for all file operations by NFS clients
  3257  	// using the access point.
  3258  	PosixUser *PosixUser `type:"structure"`
  3259  
  3260  	// The directory on the Amazon EFS file system that the access point exposes
  3261  	// as the root directory to NFS clients using the access point.
  3262  	RootDirectory *RootDirectory `type:"structure"`
  3263  
  3264  	// The tags associated with the access point, presented as an array of Tag objects.
  3265  	Tags []*Tag `type:"list"`
  3266  }
  3267  
  3268  // String returns the string representation.
  3269  //
  3270  // API parameter values that are decorated as "sensitive" in the API will not
  3271  // be included in the string output. The member name will be present, but the
  3272  // value will be replaced with "sensitive".
  3273  func (s AccessPointDescription) String() string {
  3274  	return awsutil.Prettify(s)
  3275  }
  3276  
  3277  // GoString returns the string representation.
  3278  //
  3279  // API parameter values that are decorated as "sensitive" in the API will not
  3280  // be included in the string output. The member name will be present, but the
  3281  // value will be replaced with "sensitive".
  3282  func (s AccessPointDescription) GoString() string {
  3283  	return s.String()
  3284  }
  3285  
  3286  // SetAccessPointArn sets the AccessPointArn field's value.
  3287  func (s *AccessPointDescription) SetAccessPointArn(v string) *AccessPointDescription {
  3288  	s.AccessPointArn = &v
  3289  	return s
  3290  }
  3291  
  3292  // SetAccessPointId sets the AccessPointId field's value.
  3293  func (s *AccessPointDescription) SetAccessPointId(v string) *AccessPointDescription {
  3294  	s.AccessPointId = &v
  3295  	return s
  3296  }
  3297  
  3298  // SetClientToken sets the ClientToken field's value.
  3299  func (s *AccessPointDescription) SetClientToken(v string) *AccessPointDescription {
  3300  	s.ClientToken = &v
  3301  	return s
  3302  }
  3303  
  3304  // SetFileSystemId sets the FileSystemId field's value.
  3305  func (s *AccessPointDescription) SetFileSystemId(v string) *AccessPointDescription {
  3306  	s.FileSystemId = &v
  3307  	return s
  3308  }
  3309  
  3310  // SetLifeCycleState sets the LifeCycleState field's value.
  3311  func (s *AccessPointDescription) SetLifeCycleState(v string) *AccessPointDescription {
  3312  	s.LifeCycleState = &v
  3313  	return s
  3314  }
  3315  
  3316  // SetName sets the Name field's value.
  3317  func (s *AccessPointDescription) SetName(v string) *AccessPointDescription {
  3318  	s.Name = &v
  3319  	return s
  3320  }
  3321  
  3322  // SetOwnerId sets the OwnerId field's value.
  3323  func (s *AccessPointDescription) SetOwnerId(v string) *AccessPointDescription {
  3324  	s.OwnerId = &v
  3325  	return s
  3326  }
  3327  
  3328  // SetPosixUser sets the PosixUser field's value.
  3329  func (s *AccessPointDescription) SetPosixUser(v *PosixUser) *AccessPointDescription {
  3330  	s.PosixUser = v
  3331  	return s
  3332  }
  3333  
  3334  // SetRootDirectory sets the RootDirectory field's value.
  3335  func (s *AccessPointDescription) SetRootDirectory(v *RootDirectory) *AccessPointDescription {
  3336  	s.RootDirectory = v
  3337  	return s
  3338  }
  3339  
  3340  // SetTags sets the Tags field's value.
  3341  func (s *AccessPointDescription) SetTags(v []*Tag) *AccessPointDescription {
  3342  	s.Tags = v
  3343  	return s
  3344  }
  3345  
  3346  // Returned if the Amazon Web Services account has already created the maximum
  3347  // number of access points allowed per file system.
  3348  type AccessPointLimitExceeded struct {
  3349  	_            struct{}                  `type:"structure"`
  3350  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3351  
  3352  	// ErrorCode is a required field
  3353  	ErrorCode *string `min:"1" type:"string" required:"true"`
  3354  
  3355  	Message_ *string `locationName:"Message" type:"string"`
  3356  }
  3357  
  3358  // String returns the string representation.
  3359  //
  3360  // API parameter values that are decorated as "sensitive" in the API will not
  3361  // be included in the string output. The member name will be present, but the
  3362  // value will be replaced with "sensitive".
  3363  func (s AccessPointLimitExceeded) String() string {
  3364  	return awsutil.Prettify(s)
  3365  }
  3366  
  3367  // GoString returns the string representation.
  3368  //
  3369  // API parameter values that are decorated as "sensitive" in the API will not
  3370  // be included in the string output. The member name will be present, but the
  3371  // value will be replaced with "sensitive".
  3372  func (s AccessPointLimitExceeded) GoString() string {
  3373  	return s.String()
  3374  }
  3375  
  3376  func newErrorAccessPointLimitExceeded(v protocol.ResponseMetadata) error {
  3377  	return &AccessPointLimitExceeded{
  3378  		RespMetadata: v,
  3379  	}
  3380  }
  3381  
  3382  // Code returns the exception type name.
  3383  func (s *AccessPointLimitExceeded) Code() string {
  3384  	return "AccessPointLimitExceeded"
  3385  }
  3386  
  3387  // Message returns the exception's message.
  3388  func (s *AccessPointLimitExceeded) Message() string {
  3389  	if s.Message_ != nil {
  3390  		return *s.Message_
  3391  	}
  3392  	return ""
  3393  }
  3394  
  3395  // OrigErr always returns nil, satisfies awserr.Error interface.
  3396  func (s *AccessPointLimitExceeded) OrigErr() error {
  3397  	return nil
  3398  }
  3399  
  3400  func (s *AccessPointLimitExceeded) Error() string {
  3401  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  3402  }
  3403  
  3404  // Status code returns the HTTP status code for the request's response error.
  3405  func (s *AccessPointLimitExceeded) StatusCode() int {
  3406  	return s.RespMetadata.StatusCode
  3407  }
  3408  
  3409  // RequestID returns the service's response RequestID for request.
  3410  func (s *AccessPointLimitExceeded) RequestID() string {
  3411  	return s.RespMetadata.RequestID
  3412  }
  3413  
  3414  // Returned if the specified AccessPointId value doesn't exist in the requester's
  3415  // Amazon Web Services account.
  3416  type AccessPointNotFound struct {
  3417  	_            struct{}                  `type:"structure"`
  3418  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3419  
  3420  	// ErrorCode is a required field
  3421  	ErrorCode *string `min:"1" type:"string" required:"true"`
  3422  
  3423  	Message_ *string `locationName:"Message" type:"string"`
  3424  }
  3425  
  3426  // String returns the string representation.
  3427  //
  3428  // API parameter values that are decorated as "sensitive" in the API will not
  3429  // be included in the string output. The member name will be present, but the
  3430  // value will be replaced with "sensitive".
  3431  func (s AccessPointNotFound) String() string {
  3432  	return awsutil.Prettify(s)
  3433  }
  3434  
  3435  // GoString returns the string representation.
  3436  //
  3437  // API parameter values that are decorated as "sensitive" in the API will not
  3438  // be included in the string output. The member name will be present, but the
  3439  // value will be replaced with "sensitive".
  3440  func (s AccessPointNotFound) GoString() string {
  3441  	return s.String()
  3442  }
  3443  
  3444  func newErrorAccessPointNotFound(v protocol.ResponseMetadata) error {
  3445  	return &AccessPointNotFound{
  3446  		RespMetadata: v,
  3447  	}
  3448  }
  3449  
  3450  // Code returns the exception type name.
  3451  func (s *AccessPointNotFound) Code() string {
  3452  	return "AccessPointNotFound"
  3453  }
  3454  
  3455  // Message returns the exception's message.
  3456  func (s *AccessPointNotFound) Message() string {
  3457  	if s.Message_ != nil {
  3458  		return *s.Message_
  3459  	}
  3460  	return ""
  3461  }
  3462  
  3463  // OrigErr always returns nil, satisfies awserr.Error interface.
  3464  func (s *AccessPointNotFound) OrigErr() error {
  3465  	return nil
  3466  }
  3467  
  3468  func (s *AccessPointNotFound) Error() string {
  3469  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  3470  }
  3471  
  3472  // Status code returns the HTTP status code for the request's response error.
  3473  func (s *AccessPointNotFound) StatusCode() int {
  3474  	return s.RespMetadata.StatusCode
  3475  }
  3476  
  3477  // RequestID returns the service's response RequestID for request.
  3478  func (s *AccessPointNotFound) RequestID() string {
  3479  	return s.RespMetadata.RequestID
  3480  }
  3481  
  3482  // Returned if the Availability Zone that was specified for a mount target is
  3483  // different from the Availability Zone that was specified for One Zone storage
  3484  // classes. For more information, see Regional and One Zone storage redundancy
  3485  // (https://docs.aws.amazon.com/efs/latest/ug/availability-durability.html).
  3486  type AvailabilityZonesMismatch struct {
  3487  	_            struct{}                  `type:"structure"`
  3488  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3489  
  3490  	ErrorCode *string `min:"1" type:"string"`
  3491  
  3492  	Message_ *string `locationName:"Message" type:"string"`
  3493  }
  3494  
  3495  // String returns the string representation.
  3496  //
  3497  // API parameter values that are decorated as "sensitive" in the API will not
  3498  // be included in the string output. The member name will be present, but the
  3499  // value will be replaced with "sensitive".
  3500  func (s AvailabilityZonesMismatch) String() string {
  3501  	return awsutil.Prettify(s)
  3502  }
  3503  
  3504  // GoString returns the string representation.
  3505  //
  3506  // API parameter values that are decorated as "sensitive" in the API will not
  3507  // be included in the string output. The member name will be present, but the
  3508  // value will be replaced with "sensitive".
  3509  func (s AvailabilityZonesMismatch) GoString() string {
  3510  	return s.String()
  3511  }
  3512  
  3513  func newErrorAvailabilityZonesMismatch(v protocol.ResponseMetadata) error {
  3514  	return &AvailabilityZonesMismatch{
  3515  		RespMetadata: v,
  3516  	}
  3517  }
  3518  
  3519  // Code returns the exception type name.
  3520  func (s *AvailabilityZonesMismatch) Code() string {
  3521  	return "AvailabilityZonesMismatch"
  3522  }
  3523  
  3524  // Message returns the exception's message.
  3525  func (s *AvailabilityZonesMismatch) Message() string {
  3526  	if s.Message_ != nil {
  3527  		return *s.Message_
  3528  	}
  3529  	return ""
  3530  }
  3531  
  3532  // OrigErr always returns nil, satisfies awserr.Error interface.
  3533  func (s *AvailabilityZonesMismatch) OrigErr() error {
  3534  	return nil
  3535  }
  3536  
  3537  func (s *AvailabilityZonesMismatch) Error() string {
  3538  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  3539  }
  3540  
  3541  // Status code returns the HTTP status code for the request's response error.
  3542  func (s *AvailabilityZonesMismatch) StatusCode() int {
  3543  	return s.RespMetadata.StatusCode
  3544  }
  3545  
  3546  // RequestID returns the service's response RequestID for request.
  3547  func (s *AvailabilityZonesMismatch) RequestID() string {
  3548  	return s.RespMetadata.RequestID
  3549  }
  3550  
  3551  // The backup policy for the file system used to create automatic daily backups.
  3552  // If status has a value of ENABLED, the file system is being automatically
  3553  // backed up. For more information, see Automatic backups (https://docs.aws.amazon.com/efs/latest/ug/awsbackup.html#automatic-backups).
  3554  type BackupPolicy struct {
  3555  	_ struct{} `type:"structure"`
  3556  
  3557  	// Describes the status of the file system's backup policy.
  3558  	//
  3559  	//    * ENABLED - EFS is automatically backing up the file system.
  3560  	//
  3561  	//    * ENABLING - EFS is turning on automatic backups for the file system.
  3562  	//
  3563  	//    * DISABLED - automatic back ups are turned off for the file system.
  3564  	//
  3565  	//    * DISABLING - EFS is turning off automatic backups for the file system.
  3566  	//
  3567  	// Status is a required field
  3568  	Status *string `type:"string" required:"true" enum:"Status"`
  3569  }
  3570  
  3571  // String returns the string representation.
  3572  //
  3573  // API parameter values that are decorated as "sensitive" in the API will not
  3574  // be included in the string output. The member name will be present, but the
  3575  // value will be replaced with "sensitive".
  3576  func (s BackupPolicy) String() string {
  3577  	return awsutil.Prettify(s)
  3578  }
  3579  
  3580  // GoString returns the string representation.
  3581  //
  3582  // API parameter values that are decorated as "sensitive" in the API will not
  3583  // be included in the string output. The member name will be present, but the
  3584  // value will be replaced with "sensitive".
  3585  func (s BackupPolicy) GoString() string {
  3586  	return s.String()
  3587  }
  3588  
  3589  // Validate inspects the fields of the type to determine if they are valid.
  3590  func (s *BackupPolicy) Validate() error {
  3591  	invalidParams := request.ErrInvalidParams{Context: "BackupPolicy"}
  3592  	if s.Status == nil {
  3593  		invalidParams.Add(request.NewErrParamRequired("Status"))
  3594  	}
  3595  
  3596  	if invalidParams.Len() > 0 {
  3597  		return invalidParams
  3598  	}
  3599  	return nil
  3600  }
  3601  
  3602  // SetStatus sets the Status field's value.
  3603  func (s *BackupPolicy) SetStatus(v string) *BackupPolicy {
  3604  	s.Status = &v
  3605  	return s
  3606  }
  3607  
  3608  // Returned if the request is malformed or contains an error such as an invalid
  3609  // parameter value or a missing required parameter.
  3610  type BadRequest struct {
  3611  	_            struct{}                  `type:"structure"`
  3612  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3613  
  3614  	// ErrorCode is a required field
  3615  	ErrorCode *string `min:"1" type:"string" required:"true"`
  3616  
  3617  	Message_ *string `locationName:"Message" type:"string"`
  3618  }
  3619  
  3620  // String returns the string representation.
  3621  //
  3622  // API parameter values that are decorated as "sensitive" in the API will not
  3623  // be included in the string output. The member name will be present, but the
  3624  // value will be replaced with "sensitive".
  3625  func (s BadRequest) String() string {
  3626  	return awsutil.Prettify(s)
  3627  }
  3628  
  3629  // GoString returns the string representation.
  3630  //
  3631  // API parameter values that are decorated as "sensitive" in the API will not
  3632  // be included in the string output. The member name will be present, but the
  3633  // value will be replaced with "sensitive".
  3634  func (s BadRequest) GoString() string {
  3635  	return s.String()
  3636  }
  3637  
  3638  func newErrorBadRequest(v protocol.ResponseMetadata) error {
  3639  	return &BadRequest{
  3640  		RespMetadata: v,
  3641  	}
  3642  }
  3643  
  3644  // Code returns the exception type name.
  3645  func (s *BadRequest) Code() string {
  3646  	return "BadRequest"
  3647  }
  3648  
  3649  // Message returns the exception's message.
  3650  func (s *BadRequest) Message() string {
  3651  	if s.Message_ != nil {
  3652  		return *s.Message_
  3653  	}
  3654  	return ""
  3655  }
  3656  
  3657  // OrigErr always returns nil, satisfies awserr.Error interface.
  3658  func (s *BadRequest) OrigErr() error {
  3659  	return nil
  3660  }
  3661  
  3662  func (s *BadRequest) Error() string {
  3663  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  3664  }
  3665  
  3666  // Status code returns the HTTP status code for the request's response error.
  3667  func (s *BadRequest) StatusCode() int {
  3668  	return s.RespMetadata.StatusCode
  3669  }
  3670  
  3671  // RequestID returns the service's response RequestID for request.
  3672  func (s *BadRequest) RequestID() string {
  3673  	return s.RespMetadata.RequestID
  3674  }
  3675  
  3676  type CreateAccessPointInput struct {
  3677  	_ struct{} `type:"structure"`
  3678  
  3679  	// A string of up to 64 ASCII characters that Amazon EFS uses to ensure idempotent
  3680  	// creation.
  3681  	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
  3682  
  3683  	// The ID of the EFS file system that the access point provides access to.
  3684  	//
  3685  	// FileSystemId is a required field
  3686  	FileSystemId *string `type:"string" required:"true"`
  3687  
  3688  	// The operating system user and group applied to all file system requests made
  3689  	// using the access point.
  3690  	PosixUser *PosixUser `type:"structure"`
  3691  
  3692  	// Specifies the directory on the Amazon EFS file system that the access point
  3693  	// exposes as the root directory of your file system to NFS clients using the
  3694  	// access point. The clients using the access point can only access the root
  3695  	// directory and below. If the RootDirectory > Path specified does not exist,
  3696  	// EFS creates it and applies the CreationInfo settings when a client connects
  3697  	// to an access point. When specifying a RootDirectory, you need to provide
  3698  	// the Path, and the CreationInfo.
  3699  	//
  3700  	// Amazon EFS creates a root directory only if you have provided the CreationInfo:
  3701  	// OwnUid, OwnGID, and permissions for the directory. If you do not provide
  3702  	// this information, Amazon EFS does not create the root directory. If the root
  3703  	// directory does not exist, attempts to mount using the access point will fail.
  3704  	RootDirectory *RootDirectory `type:"structure"`
  3705  
  3706  	// Creates tags associated with the access point. Each tag is a key-value pair,
  3707  	// each key must be unique. For more information, see Tagging Amazon Web Services
  3708  	// resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
  3709  	// in the Amazon Web Services General Reference Guide.
  3710  	Tags []*Tag `type:"list"`
  3711  }
  3712  
  3713  // String returns the string representation.
  3714  //
  3715  // API parameter values that are decorated as "sensitive" in the API will not
  3716  // be included in the string output. The member name will be present, but the
  3717  // value will be replaced with "sensitive".
  3718  func (s CreateAccessPointInput) String() string {
  3719  	return awsutil.Prettify(s)
  3720  }
  3721  
  3722  // GoString returns the string representation.
  3723  //
  3724  // API parameter values that are decorated as "sensitive" in the API will not
  3725  // be included in the string output. The member name will be present, but the
  3726  // value will be replaced with "sensitive".
  3727  func (s CreateAccessPointInput) GoString() string {
  3728  	return s.String()
  3729  }
  3730  
  3731  // Validate inspects the fields of the type to determine if they are valid.
  3732  func (s *CreateAccessPointInput) Validate() error {
  3733  	invalidParams := request.ErrInvalidParams{Context: "CreateAccessPointInput"}
  3734  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  3735  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  3736  	}
  3737  	if s.FileSystemId == nil {
  3738  		invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
  3739  	}
  3740  	if s.PosixUser != nil {
  3741  		if err := s.PosixUser.Validate(); err != nil {
  3742  			invalidParams.AddNested("PosixUser", err.(request.ErrInvalidParams))
  3743  		}
  3744  	}
  3745  	if s.RootDirectory != nil {
  3746  		if err := s.RootDirectory.Validate(); err != nil {
  3747  			invalidParams.AddNested("RootDirectory", err.(request.ErrInvalidParams))
  3748  		}
  3749  	}
  3750  	if s.Tags != nil {
  3751  		for i, v := range s.Tags {
  3752  			if v == nil {
  3753  				continue
  3754  			}
  3755  			if err := v.Validate(); err != nil {
  3756  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  3757  			}
  3758  		}
  3759  	}
  3760  
  3761  	if invalidParams.Len() > 0 {
  3762  		return invalidParams
  3763  	}
  3764  	return nil
  3765  }
  3766  
  3767  // SetClientToken sets the ClientToken field's value.
  3768  func (s *CreateAccessPointInput) SetClientToken(v string) *CreateAccessPointInput {
  3769  	s.ClientToken = &v
  3770  	return s
  3771  }
  3772  
  3773  // SetFileSystemId sets the FileSystemId field's value.
  3774  func (s *CreateAccessPointInput) SetFileSystemId(v string) *CreateAccessPointInput {
  3775  	s.FileSystemId = &v
  3776  	return s
  3777  }
  3778  
  3779  // SetPosixUser sets the PosixUser field's value.
  3780  func (s *CreateAccessPointInput) SetPosixUser(v *PosixUser) *CreateAccessPointInput {
  3781  	s.PosixUser = v
  3782  	return s
  3783  }
  3784  
  3785  // SetRootDirectory sets the RootDirectory field's value.
  3786  func (s *CreateAccessPointInput) SetRootDirectory(v *RootDirectory) *CreateAccessPointInput {
  3787  	s.RootDirectory = v
  3788  	return s
  3789  }
  3790  
  3791  // SetTags sets the Tags field's value.
  3792  func (s *CreateAccessPointInput) SetTags(v []*Tag) *CreateAccessPointInput {
  3793  	s.Tags = v
  3794  	return s
  3795  }
  3796  
  3797  // Provides a description of an EFS file system access point.
  3798  type CreateAccessPointOutput struct {
  3799  	_ struct{} `type:"structure"`
  3800  
  3801  	// The unique Amazon Resource Name (ARN) associated with the access point.
  3802  	AccessPointArn *string `type:"string"`
  3803  
  3804  	// The ID of the access point, assigned by Amazon EFS.
  3805  	AccessPointId *string `type:"string"`
  3806  
  3807  	// The opaque string specified in the request to ensure idempotent creation.
  3808  	ClientToken *string `min:"1" type:"string"`
  3809  
  3810  	// The ID of the EFS file system that the access point applies to.
  3811  	FileSystemId *string `type:"string"`
  3812  
  3813  	// Identifies the lifecycle phase of the access point.
  3814  	LifeCycleState *string `type:"string" enum:"LifeCycleState"`
  3815  
  3816  	// The name of the access point. This is the value of the Name tag.
  3817  	Name *string `type:"string"`
  3818  
  3819  	// Identified the Amazon Web Services account that owns the access point resource.
  3820  	OwnerId *string `type:"string"`
  3821  
  3822  	// The full POSIX identity, including the user ID, group ID, and secondary group
  3823  	// IDs on the access point that is used for all file operations by NFS clients
  3824  	// using the access point.
  3825  	PosixUser *PosixUser `type:"structure"`
  3826  
  3827  	// The directory on the Amazon EFS file system that the access point exposes
  3828  	// as the root directory to NFS clients using the access point.
  3829  	RootDirectory *RootDirectory `type:"structure"`
  3830  
  3831  	// The tags associated with the access point, presented as an array of Tag objects.
  3832  	Tags []*Tag `type:"list"`
  3833  }
  3834  
  3835  // String returns the string representation.
  3836  //
  3837  // API parameter values that are decorated as "sensitive" in the API will not
  3838  // be included in the string output. The member name will be present, but the
  3839  // value will be replaced with "sensitive".
  3840  func (s CreateAccessPointOutput) String() string {
  3841  	return awsutil.Prettify(s)
  3842  }
  3843  
  3844  // GoString returns the string representation.
  3845  //
  3846  // API parameter values that are decorated as "sensitive" in the API will not
  3847  // be included in the string output. The member name will be present, but the
  3848  // value will be replaced with "sensitive".
  3849  func (s CreateAccessPointOutput) GoString() string {
  3850  	return s.String()
  3851  }
  3852  
  3853  // SetAccessPointArn sets the AccessPointArn field's value.
  3854  func (s *CreateAccessPointOutput) SetAccessPointArn(v string) *CreateAccessPointOutput {
  3855  	s.AccessPointArn = &v
  3856  	return s
  3857  }
  3858  
  3859  // SetAccessPointId sets the AccessPointId field's value.
  3860  func (s *CreateAccessPointOutput) SetAccessPointId(v string) *CreateAccessPointOutput {
  3861  	s.AccessPointId = &v
  3862  	return s
  3863  }
  3864  
  3865  // SetClientToken sets the ClientToken field's value.
  3866  func (s *CreateAccessPointOutput) SetClientToken(v string) *CreateAccessPointOutput {
  3867  	s.ClientToken = &v
  3868  	return s
  3869  }
  3870  
  3871  // SetFileSystemId sets the FileSystemId field's value.
  3872  func (s *CreateAccessPointOutput) SetFileSystemId(v string) *CreateAccessPointOutput {
  3873  	s.FileSystemId = &v
  3874  	return s
  3875  }
  3876  
  3877  // SetLifeCycleState sets the LifeCycleState field's value.
  3878  func (s *CreateAccessPointOutput) SetLifeCycleState(v string) *CreateAccessPointOutput {
  3879  	s.LifeCycleState = &v
  3880  	return s
  3881  }
  3882  
  3883  // SetName sets the Name field's value.
  3884  func (s *CreateAccessPointOutput) SetName(v string) *CreateAccessPointOutput {
  3885  	s.Name = &v
  3886  	return s
  3887  }
  3888  
  3889  // SetOwnerId sets the OwnerId field's value.
  3890  func (s *CreateAccessPointOutput) SetOwnerId(v string) *CreateAccessPointOutput {
  3891  	s.OwnerId = &v
  3892  	return s
  3893  }
  3894  
  3895  // SetPosixUser sets the PosixUser field's value.
  3896  func (s *CreateAccessPointOutput) SetPosixUser(v *PosixUser) *CreateAccessPointOutput {
  3897  	s.PosixUser = v
  3898  	return s
  3899  }
  3900  
  3901  // SetRootDirectory sets the RootDirectory field's value.
  3902  func (s *CreateAccessPointOutput) SetRootDirectory(v *RootDirectory) *CreateAccessPointOutput {
  3903  	s.RootDirectory = v
  3904  	return s
  3905  }
  3906  
  3907  // SetTags sets the Tags field's value.
  3908  func (s *CreateAccessPointOutput) SetTags(v []*Tag) *CreateAccessPointOutput {
  3909  	s.Tags = v
  3910  	return s
  3911  }
  3912  
  3913  type CreateFileSystemInput struct {
  3914  	_ struct{} `type:"structure"`
  3915  
  3916  	// Used to create a file system that uses One Zone storage classes. It specifies
  3917  	// the Amazon Web Services Availability Zone in which to create the file system.
  3918  	// Use the format us-east-1a to specify the Availability Zone. For more information
  3919  	// about One Zone storage classes, see Using EFS storage classes (https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html)
  3920  	// in the Amazon EFS User Guide.
  3921  	//
  3922  	// One Zone storage classes are not available in all Availability Zones in Amazon
  3923  	// Web Services Regions where Amazon EFS is available.
  3924  	AvailabilityZoneName *string `min:"1" type:"string"`
  3925  
  3926  	// Specifies whether automatic backups are enabled on the file system that you
  3927  	// are creating. Set the value to true to enable automatic backups. If you are
  3928  	// creating a file system that uses One Zone storage classes, automatic backups
  3929  	// are enabled by default. For more information, see Automatic backups (https://docs.aws.amazon.com/efs/latest/ug/awsbackup.html#automatic-backups)
  3930  	// in the Amazon EFS User Guide.
  3931  	//
  3932  	// Default is false. However, if you specify an AvailabilityZoneName, the default
  3933  	// is true.
  3934  	//
  3935  	// Backup is not available in all Amazon Web Services Regionswhere Amazon EFS
  3936  	// is available.
  3937  	Backup *bool `type:"boolean"`
  3938  
  3939  	// A string of up to 64 ASCII characters. Amazon EFS uses this to ensure idempotent
  3940  	// creation.
  3941  	CreationToken *string `min:"1" type:"string" idempotencyToken:"true"`
  3942  
  3943  	// A Boolean value that, if true, creates an encrypted file system. When creating
  3944  	// an encrypted file system, you have the option of specifying CreateFileSystemRequest$KmsKeyId
  3945  	// for an existing Key Management Service (KMS customer master key (CMK). If
  3946  	// you don't specify a CMK, then the default CMK for Amazon EFS, /aws/elasticfilesystem,
  3947  	// is used to protect the encrypted file system.
  3948  	Encrypted *bool `type:"boolean"`
  3949  
  3950  	// The ID of the KMS CMK that you want to use to protect the encrypted file
  3951  	// system. This parameter is only required if you want to use a non-default
  3952  	// KMS key. If this parameter is not specified, the default CMK for Amazon EFS
  3953  	// is used. This ID can be in one of the following formats:
  3954  	//
  3955  	//    * Key ID - A unique identifier of the key, for example 1234abcd-12ab-34cd-56ef-1234567890ab.
  3956  	//
  3957  	//    * ARN - An Amazon Resource Name (ARN) for the key, for example arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.
  3958  	//
  3959  	//    * Key alias - A previously created display name for a key, for example
  3960  	//    alias/projectKey1.
  3961  	//
  3962  	//    * Key alias ARN - An ARN for a key alias, for example arn:aws:kms:us-west-2:444455556666:alias/projectKey1.
  3963  	//
  3964  	// If KmsKeyId is specified, the CreateFileSystemRequest$Encrypted parameter
  3965  	// must be set to true.
  3966  	//
  3967  	// EFS accepts only symmetric KMS keys. You cannot use asymmetric KMS keys with
  3968  	// EFS file systems.
  3969  	KmsKeyId *string `type:"string"`
  3970  
  3971  	// The performance mode of the file system. We recommend generalPurpose performance
  3972  	// mode for most file systems. File systems using the maxIO performance mode
  3973  	// can scale to higher levels of aggregate throughput and operations per second
  3974  	// with a tradeoff of slightly higher latencies for most file operations. The
  3975  	// performance mode can't be changed after the file system has been created.
  3976  	//
  3977  	// The maxIO mode is not supported on file systems using One Zone storage classes.
  3978  	PerformanceMode *string `type:"string" enum:"PerformanceMode"`
  3979  
  3980  	// The throughput, measured in MiB/s, that you want to provision for a file
  3981  	// system that you're creating. Valid values are 1-1024. Required if ThroughputMode
  3982  	// is set to provisioned. The upper limit for throughput is 1024 MiB/s. To increase
  3983  	// this limit, contact Amazon Web Services Support. For more information, see
  3984  	// Amazon EFS quotas that you can increase (https://docs.aws.amazon.com/efs/latest/ug/limits.html#soft-limits)
  3985  	// in the Amazon EFS User Guide.
  3986  	ProvisionedThroughputInMibps *float64 `min:"1" type:"double"`
  3987  
  3988  	// Use to create one or more tags associated with the file system. Each tag
  3989  	// is a user-defined key-value pair. Name your file system on creation by including
  3990  	// a "Key":"Name","Value":"{value}" key-value pair. Each key must be unique.
  3991  	// For more information, see Tagging Amazon Web Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
  3992  	// in the Amazon Web Services General Reference Guide.
  3993  	Tags []*Tag `type:"list"`
  3994  
  3995  	// Specifies the throughput mode for the file system, either bursting or provisioned.
  3996  	// If you set ThroughputMode to provisioned, you must also set a value for ProvisionedThroughputInMibps.
  3997  	// After you create the file system, you can decrease your file system's throughput
  3998  	// in Provisioned Throughput mode or change between the throughput modes, as
  3999  	// long as it’s been more than 24 hours since the last decrease or throughput
  4000  	// mode change. For more information, see Specifying throughput with provisioned
  4001  	// mode (https://docs.aws.amazon.com/efs/latest/ug/performance.html#provisioned-throughput)
  4002  	// in the Amazon EFS User Guide.
  4003  	//
  4004  	// Default is bursting.
  4005  	ThroughputMode *string `type:"string" enum:"ThroughputMode"`
  4006  }
  4007  
  4008  // String returns the string representation.
  4009  //
  4010  // API parameter values that are decorated as "sensitive" in the API will not
  4011  // be included in the string output. The member name will be present, but the
  4012  // value will be replaced with "sensitive".
  4013  func (s CreateFileSystemInput) String() string {
  4014  	return awsutil.Prettify(s)
  4015  }
  4016  
  4017  // GoString returns the string representation.
  4018  //
  4019  // API parameter values that are decorated as "sensitive" in the API will not
  4020  // be included in the string output. The member name will be present, but the
  4021  // value will be replaced with "sensitive".
  4022  func (s CreateFileSystemInput) GoString() string {
  4023  	return s.String()
  4024  }
  4025  
  4026  // Validate inspects the fields of the type to determine if they are valid.
  4027  func (s *CreateFileSystemInput) Validate() error {
  4028  	invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemInput"}
  4029  	if s.AvailabilityZoneName != nil && len(*s.AvailabilityZoneName) < 1 {
  4030  		invalidParams.Add(request.NewErrParamMinLen("AvailabilityZoneName", 1))
  4031  	}
  4032  	if s.CreationToken != nil && len(*s.CreationToken) < 1 {
  4033  		invalidParams.Add(request.NewErrParamMinLen("CreationToken", 1))
  4034  	}
  4035  	if s.ProvisionedThroughputInMibps != nil && *s.ProvisionedThroughputInMibps < 1 {
  4036  		invalidParams.Add(request.NewErrParamMinValue("ProvisionedThroughputInMibps", 1))
  4037  	}
  4038  	if s.Tags != nil {
  4039  		for i, v := range s.Tags {
  4040  			if v == nil {
  4041  				continue
  4042  			}
  4043  			if err := v.Validate(); err != nil {
  4044  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  4045  			}
  4046  		}
  4047  	}
  4048  
  4049  	if invalidParams.Len() > 0 {
  4050  		return invalidParams
  4051  	}
  4052  	return nil
  4053  }
  4054  
  4055  // SetAvailabilityZoneName sets the AvailabilityZoneName field's value.
  4056  func (s *CreateFileSystemInput) SetAvailabilityZoneName(v string) *CreateFileSystemInput {
  4057  	s.AvailabilityZoneName = &v
  4058  	return s
  4059  }
  4060  
  4061  // SetBackup sets the Backup field's value.
  4062  func (s *CreateFileSystemInput) SetBackup(v bool) *CreateFileSystemInput {
  4063  	s.Backup = &v
  4064  	return s
  4065  }
  4066  
  4067  // SetCreationToken sets the CreationToken field's value.
  4068  func (s *CreateFileSystemInput) SetCreationToken(v string) *CreateFileSystemInput {
  4069  	s.CreationToken = &v
  4070  	return s
  4071  }
  4072  
  4073  // SetEncrypted sets the Encrypted field's value.
  4074  func (s *CreateFileSystemInput) SetEncrypted(v bool) *CreateFileSystemInput {
  4075  	s.Encrypted = &v
  4076  	return s
  4077  }
  4078  
  4079  // SetKmsKeyId sets the KmsKeyId field's value.
  4080  func (s *CreateFileSystemInput) SetKmsKeyId(v string) *CreateFileSystemInput {
  4081  	s.KmsKeyId = &v
  4082  	return s
  4083  }
  4084  
  4085  // SetPerformanceMode sets the PerformanceMode field's value.
  4086  func (s *CreateFileSystemInput) SetPerformanceMode(v string) *CreateFileSystemInput {
  4087  	s.PerformanceMode = &v
  4088  	return s
  4089  }
  4090  
  4091  // SetProvisionedThroughputInMibps sets the ProvisionedThroughputInMibps field's value.
  4092  func (s *CreateFileSystemInput) SetProvisionedThroughputInMibps(v float64) *CreateFileSystemInput {
  4093  	s.ProvisionedThroughputInMibps = &v
  4094  	return s
  4095  }
  4096  
  4097  // SetTags sets the Tags field's value.
  4098  func (s *CreateFileSystemInput) SetTags(v []*Tag) *CreateFileSystemInput {
  4099  	s.Tags = v
  4100  	return s
  4101  }
  4102  
  4103  // SetThroughputMode sets the ThroughputMode field's value.
  4104  func (s *CreateFileSystemInput) SetThroughputMode(v string) *CreateFileSystemInput {
  4105  	s.ThroughputMode = &v
  4106  	return s
  4107  }
  4108  
  4109  type CreateMountTargetInput struct {
  4110  	_ struct{} `type:"structure"`
  4111  
  4112  	// The ID of the file system for which to create the mount target.
  4113  	//
  4114  	// FileSystemId is a required field
  4115  	FileSystemId *string `type:"string" required:"true"`
  4116  
  4117  	// Valid IPv4 address within the address range of the specified subnet.
  4118  	IpAddress *string `min:"7" type:"string"`
  4119  
  4120  	// Up to five VPC security group IDs, of the form sg-xxxxxxxx. These must be
  4121  	// for the same VPC as subnet specified.
  4122  	SecurityGroups []*string `type:"list"`
  4123  
  4124  	// The ID of the subnet to add the mount target in. For file systems that use
  4125  	// One Zone storage classes, use the subnet that is associated with the file
  4126  	// system's Availability Zone.
  4127  	//
  4128  	// SubnetId is a required field
  4129  	SubnetId *string `min:"15" type:"string" required:"true"`
  4130  }
  4131  
  4132  // String returns the string representation.
  4133  //
  4134  // API parameter values that are decorated as "sensitive" in the API will not
  4135  // be included in the string output. The member name will be present, but the
  4136  // value will be replaced with "sensitive".
  4137  func (s CreateMountTargetInput) String() string {
  4138  	return awsutil.Prettify(s)
  4139  }
  4140  
  4141  // GoString returns the string representation.
  4142  //
  4143  // API parameter values that are decorated as "sensitive" in the API will not
  4144  // be included in the string output. The member name will be present, but the
  4145  // value will be replaced with "sensitive".
  4146  func (s CreateMountTargetInput) GoString() string {
  4147  	return s.String()
  4148  }
  4149  
  4150  // Validate inspects the fields of the type to determine if they are valid.
  4151  func (s *CreateMountTargetInput) Validate() error {
  4152  	invalidParams := request.ErrInvalidParams{Context: "CreateMountTargetInput"}
  4153  	if s.FileSystemId == nil {
  4154  		invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
  4155  	}
  4156  	if s.IpAddress != nil && len(*s.IpAddress) < 7 {
  4157  		invalidParams.Add(request.NewErrParamMinLen("IpAddress", 7))
  4158  	}
  4159  	if s.SubnetId == nil {
  4160  		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  4161  	}
  4162  	if s.SubnetId != nil && len(*s.SubnetId) < 15 {
  4163  		invalidParams.Add(request.NewErrParamMinLen("SubnetId", 15))
  4164  	}
  4165  
  4166  	if invalidParams.Len() > 0 {
  4167  		return invalidParams
  4168  	}
  4169  	return nil
  4170  }
  4171  
  4172  // SetFileSystemId sets the FileSystemId field's value.
  4173  func (s *CreateMountTargetInput) SetFileSystemId(v string) *CreateMountTargetInput {
  4174  	s.FileSystemId = &v
  4175  	return s
  4176  }
  4177  
  4178  // SetIpAddress sets the IpAddress field's value.
  4179  func (s *CreateMountTargetInput) SetIpAddress(v string) *CreateMountTargetInput {
  4180  	s.IpAddress = &v
  4181  	return s
  4182  }
  4183  
  4184  // SetSecurityGroups sets the SecurityGroups field's value.
  4185  func (s *CreateMountTargetInput) SetSecurityGroups(v []*string) *CreateMountTargetInput {
  4186  	s.SecurityGroups = v
  4187  	return s
  4188  }
  4189  
  4190  // SetSubnetId sets the SubnetId field's value.
  4191  func (s *CreateMountTargetInput) SetSubnetId(v string) *CreateMountTargetInput {
  4192  	s.SubnetId = &v
  4193  	return s
  4194  }
  4195  
  4196  type CreateTagsInput struct {
  4197  	_ struct{} `type:"structure"`
  4198  
  4199  	// The ID of the file system whose tags you want to modify (String). This operation
  4200  	// modifies the tags only, not the file system.
  4201  	//
  4202  	// FileSystemId is a required field
  4203  	FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"`
  4204  
  4205  	// An array of Tag objects to add. Each Tag object is a key-value pair.
  4206  	//
  4207  	// Tags is a required field
  4208  	Tags []*Tag `type:"list" required:"true"`
  4209  }
  4210  
  4211  // String returns the string representation.
  4212  //
  4213  // API parameter values that are decorated as "sensitive" in the API will not
  4214  // be included in the string output. The member name will be present, but the
  4215  // value will be replaced with "sensitive".
  4216  func (s CreateTagsInput) String() string {
  4217  	return awsutil.Prettify(s)
  4218  }
  4219  
  4220  // GoString returns the string representation.
  4221  //
  4222  // API parameter values that are decorated as "sensitive" in the API will not
  4223  // be included in the string output. The member name will be present, but the
  4224  // value will be replaced with "sensitive".
  4225  func (s CreateTagsInput) GoString() string {
  4226  	return s.String()
  4227  }
  4228  
  4229  // Validate inspects the fields of the type to determine if they are valid.
  4230  func (s *CreateTagsInput) Validate() error {
  4231  	invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"}
  4232  	if s.FileSystemId == nil {
  4233  		invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
  4234  	}
  4235  	if s.FileSystemId != nil && len(*s.FileSystemId) < 1 {
  4236  		invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1))
  4237  	}
  4238  	if s.Tags == nil {
  4239  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  4240  	}
  4241  	if s.Tags != nil {
  4242  		for i, v := range s.Tags {
  4243  			if v == nil {
  4244  				continue
  4245  			}
  4246  			if err := v.Validate(); err != nil {
  4247  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  4248  			}
  4249  		}
  4250  	}
  4251  
  4252  	if invalidParams.Len() > 0 {
  4253  		return invalidParams
  4254  	}
  4255  	return nil
  4256  }
  4257  
  4258  // SetFileSystemId sets the FileSystemId field's value.
  4259  func (s *CreateTagsInput) SetFileSystemId(v string) *CreateTagsInput {
  4260  	s.FileSystemId = &v
  4261  	return s
  4262  }
  4263  
  4264  // SetTags sets the Tags field's value.
  4265  func (s *CreateTagsInput) SetTags(v []*Tag) *CreateTagsInput {
  4266  	s.Tags = v
  4267  	return s
  4268  }
  4269  
  4270  type CreateTagsOutput struct {
  4271  	_ struct{} `type:"structure" nopayload:"true"`
  4272  }
  4273  
  4274  // String returns the string representation.
  4275  //
  4276  // API parameter values that are decorated as "sensitive" in the API will not
  4277  // be included in the string output. The member name will be present, but the
  4278  // value will be replaced with "sensitive".
  4279  func (s CreateTagsOutput) String() string {
  4280  	return awsutil.Prettify(s)
  4281  }
  4282  
  4283  // GoString returns the string representation.
  4284  //
  4285  // API parameter values that are decorated as "sensitive" in the API will not
  4286  // be included in the string output. The member name will be present, but the
  4287  // value will be replaced with "sensitive".
  4288  func (s CreateTagsOutput) GoString() string {
  4289  	return s.String()
  4290  }
  4291  
  4292  // Required if the RootDirectory > Path specified does not exist. Specifies
  4293  // the POSIX IDs and permissions to apply to the access point's RootDirectory
  4294  // > Path. If the access point root directory does not exist, EFS creates it
  4295  // with these settings when a client connects to the access point. When specifying
  4296  // CreationInfo, you must include values for all properties.
  4297  //
  4298  // Amazon EFS creates a root directory only if you have provided the CreationInfo:
  4299  // OwnUid, OwnGID, and permissions for the directory. If you do not provide
  4300  // this information, Amazon EFS does not create the root directory. If the root
  4301  // directory does not exist, attempts to mount using the access point will fail.
  4302  //
  4303  // If you do not provide CreationInfo and the specified RootDirectory does not
  4304  // exist, attempts to mount the file system using the access point will fail.
  4305  type CreationInfo struct {
  4306  	_ struct{} `type:"structure"`
  4307  
  4308  	// Specifies the POSIX group ID to apply to the RootDirectory. Accepts values
  4309  	// from 0 to 2^32 (4294967295).
  4310  	//
  4311  	// OwnerGid is a required field
  4312  	OwnerGid *int64 `type:"long" required:"true"`
  4313  
  4314  	// Specifies the POSIX user ID to apply to the RootDirectory. Accepts values
  4315  	// from 0 to 2^32 (4294967295).
  4316  	//
  4317  	// OwnerUid is a required field
  4318  	OwnerUid *int64 `type:"long" required:"true"`
  4319  
  4320  	// Specifies the POSIX permissions to apply to the RootDirectory, in the format
  4321  	// of an octal number representing the file's mode bits.
  4322  	//
  4323  	// Permissions is a required field
  4324  	Permissions *string `min:"3" type:"string" required:"true"`
  4325  }
  4326  
  4327  // String returns the string representation.
  4328  //
  4329  // API parameter values that are decorated as "sensitive" in the API will not
  4330  // be included in the string output. The member name will be present, but the
  4331  // value will be replaced with "sensitive".
  4332  func (s CreationInfo) String() string {
  4333  	return awsutil.Prettify(s)
  4334  }
  4335  
  4336  // GoString returns the string representation.
  4337  //
  4338  // API parameter values that are decorated as "sensitive" in the API will not
  4339  // be included in the string output. The member name will be present, but the
  4340  // value will be replaced with "sensitive".
  4341  func (s CreationInfo) GoString() string {
  4342  	return s.String()
  4343  }
  4344  
  4345  // Validate inspects the fields of the type to determine if they are valid.
  4346  func (s *CreationInfo) Validate() error {
  4347  	invalidParams := request.ErrInvalidParams{Context: "CreationInfo"}
  4348  	if s.OwnerGid == nil {
  4349  		invalidParams.Add(request.NewErrParamRequired("OwnerGid"))
  4350  	}
  4351  	if s.OwnerUid == nil {
  4352  		invalidParams.Add(request.NewErrParamRequired("OwnerUid"))
  4353  	}
  4354  	if s.Permissions == nil {
  4355  		invalidParams.Add(request.NewErrParamRequired("Permissions"))
  4356  	}
  4357  	if s.Permissions != nil && len(*s.Permissions) < 3 {
  4358  		invalidParams.Add(request.NewErrParamMinLen("Permissions", 3))
  4359  	}
  4360  
  4361  	if invalidParams.Len() > 0 {
  4362  		return invalidParams
  4363  	}
  4364  	return nil
  4365  }
  4366  
  4367  // SetOwnerGid sets the OwnerGid field's value.
  4368  func (s *CreationInfo) SetOwnerGid(v int64) *CreationInfo {
  4369  	s.OwnerGid = &v
  4370  	return s
  4371  }
  4372  
  4373  // SetOwnerUid sets the OwnerUid field's value.
  4374  func (s *CreationInfo) SetOwnerUid(v int64) *CreationInfo {
  4375  	s.OwnerUid = &v
  4376  	return s
  4377  }
  4378  
  4379  // SetPermissions sets the Permissions field's value.
  4380  func (s *CreationInfo) SetPermissions(v string) *CreationInfo {
  4381  	s.Permissions = &v
  4382  	return s
  4383  }
  4384  
  4385  type DeleteAccessPointInput struct {
  4386  	_ struct{} `type:"structure" nopayload:"true"`
  4387  
  4388  	// The ID of the access point that you want to delete.
  4389  	//
  4390  	// AccessPointId is a required field
  4391  	AccessPointId *string `location:"uri" locationName:"AccessPointId" type:"string" required:"true"`
  4392  }
  4393  
  4394  // String returns the string representation.
  4395  //
  4396  // API parameter values that are decorated as "sensitive" in the API will not
  4397  // be included in the string output. The member name will be present, but the
  4398  // value will be replaced with "sensitive".
  4399  func (s DeleteAccessPointInput) String() string {
  4400  	return awsutil.Prettify(s)
  4401  }
  4402  
  4403  // GoString returns the string representation.
  4404  //
  4405  // API parameter values that are decorated as "sensitive" in the API will not
  4406  // be included in the string output. The member name will be present, but the
  4407  // value will be replaced with "sensitive".
  4408  func (s DeleteAccessPointInput) GoString() string {
  4409  	return s.String()
  4410  }
  4411  
  4412  // Validate inspects the fields of the type to determine if they are valid.
  4413  func (s *DeleteAccessPointInput) Validate() error {
  4414  	invalidParams := request.ErrInvalidParams{Context: "DeleteAccessPointInput"}
  4415  	if s.AccessPointId == nil {
  4416  		invalidParams.Add(request.NewErrParamRequired("AccessPointId"))
  4417  	}
  4418  	if s.AccessPointId != nil && len(*s.AccessPointId) < 1 {
  4419  		invalidParams.Add(request.NewErrParamMinLen("AccessPointId", 1))
  4420  	}
  4421  
  4422  	if invalidParams.Len() > 0 {
  4423  		return invalidParams
  4424  	}
  4425  	return nil
  4426  }
  4427  
  4428  // SetAccessPointId sets the AccessPointId field's value.
  4429  func (s *DeleteAccessPointInput) SetAccessPointId(v string) *DeleteAccessPointInput {
  4430  	s.AccessPointId = &v
  4431  	return s
  4432  }
  4433  
  4434  type DeleteAccessPointOutput struct {
  4435  	_ struct{} `type:"structure" nopayload:"true"`
  4436  }
  4437  
  4438  // String returns the string representation.
  4439  //
  4440  // API parameter values that are decorated as "sensitive" in the API will not
  4441  // be included in the string output. The member name will be present, but the
  4442  // value will be replaced with "sensitive".
  4443  func (s DeleteAccessPointOutput) String() string {
  4444  	return awsutil.Prettify(s)
  4445  }
  4446  
  4447  // GoString returns the string representation.
  4448  //
  4449  // API parameter values that are decorated as "sensitive" in the API will not
  4450  // be included in the string output. The member name will be present, but the
  4451  // value will be replaced with "sensitive".
  4452  func (s DeleteAccessPointOutput) GoString() string {
  4453  	return s.String()
  4454  }
  4455  
  4456  type DeleteFileSystemInput struct {
  4457  	_ struct{} `type:"structure" nopayload:"true"`
  4458  
  4459  	// The ID of the file system you want to delete.
  4460  	//
  4461  	// FileSystemId is a required field
  4462  	FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"`
  4463  }
  4464  
  4465  // String returns the string representation.
  4466  //
  4467  // API parameter values that are decorated as "sensitive" in the API will not
  4468  // be included in the string output. The member name will be present, but the
  4469  // value will be replaced with "sensitive".
  4470  func (s DeleteFileSystemInput) String() string {
  4471  	return awsutil.Prettify(s)
  4472  }
  4473  
  4474  // GoString returns the string representation.
  4475  //
  4476  // API parameter values that are decorated as "sensitive" in the API will not
  4477  // be included in the string output. The member name will be present, but the
  4478  // value will be replaced with "sensitive".
  4479  func (s DeleteFileSystemInput) GoString() string {
  4480  	return s.String()
  4481  }
  4482  
  4483  // Validate inspects the fields of the type to determine if they are valid.
  4484  func (s *DeleteFileSystemInput) Validate() error {
  4485  	invalidParams := request.ErrInvalidParams{Context: "DeleteFileSystemInput"}
  4486  	if s.FileSystemId == nil {
  4487  		invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
  4488  	}
  4489  	if s.FileSystemId != nil && len(*s.FileSystemId) < 1 {
  4490  		invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1))
  4491  	}
  4492  
  4493  	if invalidParams.Len() > 0 {
  4494  		return invalidParams
  4495  	}
  4496  	return nil
  4497  }
  4498  
  4499  // SetFileSystemId sets the FileSystemId field's value.
  4500  func (s *DeleteFileSystemInput) SetFileSystemId(v string) *DeleteFileSystemInput {
  4501  	s.FileSystemId = &v
  4502  	return s
  4503  }
  4504  
  4505  type DeleteFileSystemOutput struct {
  4506  	_ struct{} `type:"structure" nopayload:"true"`
  4507  }
  4508  
  4509  // String returns the string representation.
  4510  //
  4511  // API parameter values that are decorated as "sensitive" in the API will not
  4512  // be included in the string output. The member name will be present, but the
  4513  // value will be replaced with "sensitive".
  4514  func (s DeleteFileSystemOutput) String() string {
  4515  	return awsutil.Prettify(s)
  4516  }
  4517  
  4518  // GoString returns the string representation.
  4519  //
  4520  // API parameter values that are decorated as "sensitive" in the API will not
  4521  // be included in the string output. The member name will be present, but the
  4522  // value will be replaced with "sensitive".
  4523  func (s DeleteFileSystemOutput) GoString() string {
  4524  	return s.String()
  4525  }
  4526  
  4527  type DeleteFileSystemPolicyInput struct {
  4528  	_ struct{} `type:"structure" nopayload:"true"`
  4529  
  4530  	// Specifies the EFS file system for which to delete the FileSystemPolicy.
  4531  	//
  4532  	// FileSystemId is a required field
  4533  	FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"`
  4534  }
  4535  
  4536  // String returns the string representation.
  4537  //
  4538  // API parameter values that are decorated as "sensitive" in the API will not
  4539  // be included in the string output. The member name will be present, but the
  4540  // value will be replaced with "sensitive".
  4541  func (s DeleteFileSystemPolicyInput) String() string {
  4542  	return awsutil.Prettify(s)
  4543  }
  4544  
  4545  // GoString returns the string representation.
  4546  //
  4547  // API parameter values that are decorated as "sensitive" in the API will not
  4548  // be included in the string output. The member name will be present, but the
  4549  // value will be replaced with "sensitive".
  4550  func (s DeleteFileSystemPolicyInput) GoString() string {
  4551  	return s.String()
  4552  }
  4553  
  4554  // Validate inspects the fields of the type to determine if they are valid.
  4555  func (s *DeleteFileSystemPolicyInput) Validate() error {
  4556  	invalidParams := request.ErrInvalidParams{Context: "DeleteFileSystemPolicyInput"}
  4557  	if s.FileSystemId == nil {
  4558  		invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
  4559  	}
  4560  	if s.FileSystemId != nil && len(*s.FileSystemId) < 1 {
  4561  		invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1))
  4562  	}
  4563  
  4564  	if invalidParams.Len() > 0 {
  4565  		return invalidParams
  4566  	}
  4567  	return nil
  4568  }
  4569  
  4570  // SetFileSystemId sets the FileSystemId field's value.
  4571  func (s *DeleteFileSystemPolicyInput) SetFileSystemId(v string) *DeleteFileSystemPolicyInput {
  4572  	s.FileSystemId = &v
  4573  	return s
  4574  }
  4575  
  4576  type DeleteFileSystemPolicyOutput struct {
  4577  	_ struct{} `type:"structure" nopayload:"true"`
  4578  }
  4579  
  4580  // String returns the string representation.
  4581  //
  4582  // API parameter values that are decorated as "sensitive" in the API will not
  4583  // be included in the string output. The member name will be present, but the
  4584  // value will be replaced with "sensitive".
  4585  func (s DeleteFileSystemPolicyOutput) String() string {
  4586  	return awsutil.Prettify(s)
  4587  }
  4588  
  4589  // GoString returns the string representation.
  4590  //
  4591  // API parameter values that are decorated as "sensitive" in the API will not
  4592  // be included in the string output. The member name will be present, but the
  4593  // value will be replaced with "sensitive".
  4594  func (s DeleteFileSystemPolicyOutput) GoString() string {
  4595  	return s.String()
  4596  }
  4597  
  4598  type DeleteMountTargetInput struct {
  4599  	_ struct{} `type:"structure" nopayload:"true"`
  4600  
  4601  	// The ID of the mount target to delete (String).
  4602  	//
  4603  	// MountTargetId is a required field
  4604  	MountTargetId *string `location:"uri" locationName:"MountTargetId" min:"13" type:"string" required:"true"`
  4605  }
  4606  
  4607  // String returns the string representation.
  4608  //
  4609  // API parameter values that are decorated as "sensitive" in the API will not
  4610  // be included in the string output. The member name will be present, but the
  4611  // value will be replaced with "sensitive".
  4612  func (s DeleteMountTargetInput) String() string {
  4613  	return awsutil.Prettify(s)
  4614  }
  4615  
  4616  // GoString returns the string representation.
  4617  //
  4618  // API parameter values that are decorated as "sensitive" in the API will not
  4619  // be included in the string output. The member name will be present, but the
  4620  // value will be replaced with "sensitive".
  4621  func (s DeleteMountTargetInput) GoString() string {
  4622  	return s.String()
  4623  }
  4624  
  4625  // Validate inspects the fields of the type to determine if they are valid.
  4626  func (s *DeleteMountTargetInput) Validate() error {
  4627  	invalidParams := request.ErrInvalidParams{Context: "DeleteMountTargetInput"}
  4628  	if s.MountTargetId == nil {
  4629  		invalidParams.Add(request.NewErrParamRequired("MountTargetId"))
  4630  	}
  4631  	if s.MountTargetId != nil && len(*s.MountTargetId) < 13 {
  4632  		invalidParams.Add(request.NewErrParamMinLen("MountTargetId", 13))
  4633  	}
  4634  
  4635  	if invalidParams.Len() > 0 {
  4636  		return invalidParams
  4637  	}
  4638  	return nil
  4639  }
  4640  
  4641  // SetMountTargetId sets the MountTargetId field's value.
  4642  func (s *DeleteMountTargetInput) SetMountTargetId(v string) *DeleteMountTargetInput {
  4643  	s.MountTargetId = &v
  4644  	return s
  4645  }
  4646  
  4647  type DeleteMountTargetOutput struct {
  4648  	_ struct{} `type:"structure" nopayload:"true"`
  4649  }
  4650  
  4651  // String returns the string representation.
  4652  //
  4653  // API parameter values that are decorated as "sensitive" in the API will not
  4654  // be included in the string output. The member name will be present, but the
  4655  // value will be replaced with "sensitive".
  4656  func (s DeleteMountTargetOutput) String() string {
  4657  	return awsutil.Prettify(s)
  4658  }
  4659  
  4660  // GoString returns the string representation.
  4661  //
  4662  // API parameter values that are decorated as "sensitive" in the API will not
  4663  // be included in the string output. The member name will be present, but the
  4664  // value will be replaced with "sensitive".
  4665  func (s DeleteMountTargetOutput) GoString() string {
  4666  	return s.String()
  4667  }
  4668  
  4669  type DeleteTagsInput struct {
  4670  	_ struct{} `type:"structure"`
  4671  
  4672  	// The ID of the file system whose tags you want to delete (String).
  4673  	//
  4674  	// FileSystemId is a required field
  4675  	FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"`
  4676  
  4677  	// A list of tag keys to delete.
  4678  	//
  4679  	// TagKeys is a required field
  4680  	TagKeys []*string `min:"1" type:"list" required:"true"`
  4681  }
  4682  
  4683  // String returns the string representation.
  4684  //
  4685  // API parameter values that are decorated as "sensitive" in the API will not
  4686  // be included in the string output. The member name will be present, but the
  4687  // value will be replaced with "sensitive".
  4688  func (s DeleteTagsInput) String() string {
  4689  	return awsutil.Prettify(s)
  4690  }
  4691  
  4692  // GoString returns the string representation.
  4693  //
  4694  // API parameter values that are decorated as "sensitive" in the API will not
  4695  // be included in the string output. The member name will be present, but the
  4696  // value will be replaced with "sensitive".
  4697  func (s DeleteTagsInput) GoString() string {
  4698  	return s.String()
  4699  }
  4700  
  4701  // Validate inspects the fields of the type to determine if they are valid.
  4702  func (s *DeleteTagsInput) Validate() error {
  4703  	invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"}
  4704  	if s.FileSystemId == nil {
  4705  		invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
  4706  	}
  4707  	if s.FileSystemId != nil && len(*s.FileSystemId) < 1 {
  4708  		invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1))
  4709  	}
  4710  	if s.TagKeys == nil {
  4711  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  4712  	}
  4713  	if s.TagKeys != nil && len(s.TagKeys) < 1 {
  4714  		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
  4715  	}
  4716  
  4717  	if invalidParams.Len() > 0 {
  4718  		return invalidParams
  4719  	}
  4720  	return nil
  4721  }
  4722  
  4723  // SetFileSystemId sets the FileSystemId field's value.
  4724  func (s *DeleteTagsInput) SetFileSystemId(v string) *DeleteTagsInput {
  4725  	s.FileSystemId = &v
  4726  	return s
  4727  }
  4728  
  4729  // SetTagKeys sets the TagKeys field's value.
  4730  func (s *DeleteTagsInput) SetTagKeys(v []*string) *DeleteTagsInput {
  4731  	s.TagKeys = v
  4732  	return s
  4733  }
  4734  
  4735  type DeleteTagsOutput struct {
  4736  	_ struct{} `type:"structure" nopayload:"true"`
  4737  }
  4738  
  4739  // String returns the string representation.
  4740  //
  4741  // API parameter values that are decorated as "sensitive" in the API will not
  4742  // be included in the string output. The member name will be present, but the
  4743  // value will be replaced with "sensitive".
  4744  func (s DeleteTagsOutput) String() string {
  4745  	return awsutil.Prettify(s)
  4746  }
  4747  
  4748  // GoString returns the string representation.
  4749  //
  4750  // API parameter values that are decorated as "sensitive" in the API will not
  4751  // be included in the string output. The member name will be present, but the
  4752  // value will be replaced with "sensitive".
  4753  func (s DeleteTagsOutput) GoString() string {
  4754  	return s.String()
  4755  }
  4756  
  4757  // The service timed out trying to fulfill the request, and the client should
  4758  // try the call again.
  4759  type DependencyTimeout struct {
  4760  	_            struct{}                  `type:"structure"`
  4761  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4762  
  4763  	// ErrorCode is a required field
  4764  	ErrorCode *string `min:"1" type:"string" required:"true"`
  4765  
  4766  	Message_ *string `locationName:"Message" type:"string"`
  4767  }
  4768  
  4769  // String returns the string representation.
  4770  //
  4771  // API parameter values that are decorated as "sensitive" in the API will not
  4772  // be included in the string output. The member name will be present, but the
  4773  // value will be replaced with "sensitive".
  4774  func (s DependencyTimeout) String() string {
  4775  	return awsutil.Prettify(s)
  4776  }
  4777  
  4778  // GoString returns the string representation.
  4779  //
  4780  // API parameter values that are decorated as "sensitive" in the API will not
  4781  // be included in the string output. The member name will be present, but the
  4782  // value will be replaced with "sensitive".
  4783  func (s DependencyTimeout) GoString() string {
  4784  	return s.String()
  4785  }
  4786  
  4787  func newErrorDependencyTimeout(v protocol.ResponseMetadata) error {
  4788  	return &DependencyTimeout{
  4789  		RespMetadata: v,
  4790  	}
  4791  }
  4792  
  4793  // Code returns the exception type name.
  4794  func (s *DependencyTimeout) Code() string {
  4795  	return "DependencyTimeout"
  4796  }
  4797  
  4798  // Message returns the exception's message.
  4799  func (s *DependencyTimeout) Message() string {
  4800  	if s.Message_ != nil {
  4801  		return *s.Message_
  4802  	}
  4803  	return ""
  4804  }
  4805  
  4806  // OrigErr always returns nil, satisfies awserr.Error interface.
  4807  func (s *DependencyTimeout) OrigErr() error {
  4808  	return nil
  4809  }
  4810  
  4811  func (s *DependencyTimeout) Error() string {
  4812  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  4813  }
  4814  
  4815  // Status code returns the HTTP status code for the request's response error.
  4816  func (s *DependencyTimeout) StatusCode() int {
  4817  	return s.RespMetadata.StatusCode
  4818  }
  4819  
  4820  // RequestID returns the service's response RequestID for request.
  4821  func (s *DependencyTimeout) RequestID() string {
  4822  	return s.RespMetadata.RequestID
  4823  }
  4824  
  4825  type DescribeAccessPointsInput struct {
  4826  	_ struct{} `type:"structure" nopayload:"true"`
  4827  
  4828  	// (Optional) Specifies an EFS access point to describe in the response; mutually
  4829  	// exclusive with FileSystemId.
  4830  	AccessPointId *string `location:"querystring" locationName:"AccessPointId" type:"string"`
  4831  
  4832  	// (Optional) If you provide a FileSystemId, EFS returns all access points for
  4833  	// that file system; mutually exclusive with AccessPointId.
  4834  	FileSystemId *string `location:"querystring" locationName:"FileSystemId" type:"string"`
  4835  
  4836  	// (Optional) When retrieving all access points for a file system, you can optionally
  4837  	// specify the MaxItems parameter to limit the number of objects returned in
  4838  	// a response. The default value is 100.
  4839  	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
  4840  
  4841  	// NextToken is present if the response is paginated. You can use NextMarker
  4842  	// in the subsequent request to fetch the next page of access point descriptions.
  4843  	NextToken *string `location:"querystring" locationName:"NextToken" min:"1" type:"string"`
  4844  }
  4845  
  4846  // String returns the string representation.
  4847  //
  4848  // API parameter values that are decorated as "sensitive" in the API will not
  4849  // be included in the string output. The member name will be present, but the
  4850  // value will be replaced with "sensitive".
  4851  func (s DescribeAccessPointsInput) String() string {
  4852  	return awsutil.Prettify(s)
  4853  }
  4854  
  4855  // GoString returns the string representation.
  4856  //
  4857  // API parameter values that are decorated as "sensitive" in the API will not
  4858  // be included in the string output. The member name will be present, but the
  4859  // value will be replaced with "sensitive".
  4860  func (s DescribeAccessPointsInput) GoString() string {
  4861  	return s.String()
  4862  }
  4863  
  4864  // Validate inspects the fields of the type to determine if they are valid.
  4865  func (s *DescribeAccessPointsInput) Validate() error {
  4866  	invalidParams := request.ErrInvalidParams{Context: "DescribeAccessPointsInput"}
  4867  	if s.MaxResults != nil && *s.MaxResults < 1 {
  4868  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  4869  	}
  4870  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  4871  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  4872  	}
  4873  
  4874  	if invalidParams.Len() > 0 {
  4875  		return invalidParams
  4876  	}
  4877  	return nil
  4878  }
  4879  
  4880  // SetAccessPointId sets the AccessPointId field's value.
  4881  func (s *DescribeAccessPointsInput) SetAccessPointId(v string) *DescribeAccessPointsInput {
  4882  	s.AccessPointId = &v
  4883  	return s
  4884  }
  4885  
  4886  // SetFileSystemId sets the FileSystemId field's value.
  4887  func (s *DescribeAccessPointsInput) SetFileSystemId(v string) *DescribeAccessPointsInput {
  4888  	s.FileSystemId = &v
  4889  	return s
  4890  }
  4891  
  4892  // SetMaxResults sets the MaxResults field's value.
  4893  func (s *DescribeAccessPointsInput) SetMaxResults(v int64) *DescribeAccessPointsInput {
  4894  	s.MaxResults = &v
  4895  	return s
  4896  }
  4897  
  4898  // SetNextToken sets the NextToken field's value.
  4899  func (s *DescribeAccessPointsInput) SetNextToken(v string) *DescribeAccessPointsInput {
  4900  	s.NextToken = &v
  4901  	return s
  4902  }
  4903  
  4904  type DescribeAccessPointsOutput struct {
  4905  	_ struct{} `type:"structure"`
  4906  
  4907  	// An array of access point descriptions.
  4908  	AccessPoints []*AccessPointDescription `type:"list"`
  4909  
  4910  	// Present if there are more access points than returned in the response. You
  4911  	// can use the NextMarker in the subsequent request to fetch the additional
  4912  	// descriptions.
  4913  	NextToken *string `min:"1" type:"string"`
  4914  }
  4915  
  4916  // String returns the string representation.
  4917  //
  4918  // API parameter values that are decorated as "sensitive" in the API will not
  4919  // be included in the string output. The member name will be present, but the
  4920  // value will be replaced with "sensitive".
  4921  func (s DescribeAccessPointsOutput) String() string {
  4922  	return awsutil.Prettify(s)
  4923  }
  4924  
  4925  // GoString returns the string representation.
  4926  //
  4927  // API parameter values that are decorated as "sensitive" in the API will not
  4928  // be included in the string output. The member name will be present, but the
  4929  // value will be replaced with "sensitive".
  4930  func (s DescribeAccessPointsOutput) GoString() string {
  4931  	return s.String()
  4932  }
  4933  
  4934  // SetAccessPoints sets the AccessPoints field's value.
  4935  func (s *DescribeAccessPointsOutput) SetAccessPoints(v []*AccessPointDescription) *DescribeAccessPointsOutput {
  4936  	s.AccessPoints = v
  4937  	return s
  4938  }
  4939  
  4940  // SetNextToken sets the NextToken field's value.
  4941  func (s *DescribeAccessPointsOutput) SetNextToken(v string) *DescribeAccessPointsOutput {
  4942  	s.NextToken = &v
  4943  	return s
  4944  }
  4945  
  4946  type DescribeAccountPreferencesInput struct {
  4947  	_ struct{} `type:"structure"`
  4948  
  4949  	// (Optional) When retrieving account preferences, you can optionally specify
  4950  	// the MaxItems parameter to limit the number of objects returned in a response.
  4951  	// The default value is 100.
  4952  	MaxResults *int64 `min:"1" type:"integer"`
  4953  
  4954  	// (Optional) You can use NextToken in a subsequent request to fetch the next
  4955  	// page of Amazon Web Services account preferences if the response payload was
  4956  	// paginated.
  4957  	NextToken *string `min:"1" type:"string"`
  4958  }
  4959  
  4960  // String returns the string representation.
  4961  //
  4962  // API parameter values that are decorated as "sensitive" in the API will not
  4963  // be included in the string output. The member name will be present, but the
  4964  // value will be replaced with "sensitive".
  4965  func (s DescribeAccountPreferencesInput) String() string {
  4966  	return awsutil.Prettify(s)
  4967  }
  4968  
  4969  // GoString returns the string representation.
  4970  //
  4971  // API parameter values that are decorated as "sensitive" in the API will not
  4972  // be included in the string output. The member name will be present, but the
  4973  // value will be replaced with "sensitive".
  4974  func (s DescribeAccountPreferencesInput) GoString() string {
  4975  	return s.String()
  4976  }
  4977  
  4978  // Validate inspects the fields of the type to determine if they are valid.
  4979  func (s *DescribeAccountPreferencesInput) Validate() error {
  4980  	invalidParams := request.ErrInvalidParams{Context: "DescribeAccountPreferencesInput"}
  4981  	if s.MaxResults != nil && *s.MaxResults < 1 {
  4982  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  4983  	}
  4984  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  4985  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  4986  	}
  4987  
  4988  	if invalidParams.Len() > 0 {
  4989  		return invalidParams
  4990  	}
  4991  	return nil
  4992  }
  4993  
  4994  // SetMaxResults sets the MaxResults field's value.
  4995  func (s *DescribeAccountPreferencesInput) SetMaxResults(v int64) *DescribeAccountPreferencesInput {
  4996  	s.MaxResults = &v
  4997  	return s
  4998  }
  4999  
  5000  // SetNextToken sets the NextToken field's value.
  5001  func (s *DescribeAccountPreferencesInput) SetNextToken(v string) *DescribeAccountPreferencesInput {
  5002  	s.NextToken = &v
  5003  	return s
  5004  }
  5005  
  5006  type DescribeAccountPreferencesOutput struct {
  5007  	_ struct{} `type:"structure"`
  5008  
  5009  	// Present if there are more records than returned in the response. You can
  5010  	// use the NextToken in the subsequent request to fetch the additional descriptions.
  5011  	NextToken *string `min:"1" type:"string"`
  5012  
  5013  	// Describes the resource ID preference setting for the Amazon Web Services
  5014  	// account associated with the user making the request, in the current Amazon
  5015  	// Web Services Region.
  5016  	ResourceIdPreference *ResourceIdPreference `type:"structure"`
  5017  }
  5018  
  5019  // String returns the string representation.
  5020  //
  5021  // API parameter values that are decorated as "sensitive" in the API will not
  5022  // be included in the string output. The member name will be present, but the
  5023  // value will be replaced with "sensitive".
  5024  func (s DescribeAccountPreferencesOutput) String() string {
  5025  	return awsutil.Prettify(s)
  5026  }
  5027  
  5028  // GoString returns the string representation.
  5029  //
  5030  // API parameter values that are decorated as "sensitive" in the API will not
  5031  // be included in the string output. The member name will be present, but the
  5032  // value will be replaced with "sensitive".
  5033  func (s DescribeAccountPreferencesOutput) GoString() string {
  5034  	return s.String()
  5035  }
  5036  
  5037  // SetNextToken sets the NextToken field's value.
  5038  func (s *DescribeAccountPreferencesOutput) SetNextToken(v string) *DescribeAccountPreferencesOutput {
  5039  	s.NextToken = &v
  5040  	return s
  5041  }
  5042  
  5043  // SetResourceIdPreference sets the ResourceIdPreference field's value.
  5044  func (s *DescribeAccountPreferencesOutput) SetResourceIdPreference(v *ResourceIdPreference) *DescribeAccountPreferencesOutput {
  5045  	s.ResourceIdPreference = v
  5046  	return s
  5047  }
  5048  
  5049  type DescribeBackupPolicyInput struct {
  5050  	_ struct{} `type:"structure" nopayload:"true"`
  5051  
  5052  	// Specifies which EFS file system to retrieve the BackupPolicy for.
  5053  	//
  5054  	// FileSystemId is a required field
  5055  	FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"`
  5056  }
  5057  
  5058  // String returns the string representation.
  5059  //
  5060  // API parameter values that are decorated as "sensitive" in the API will not
  5061  // be included in the string output. The member name will be present, but the
  5062  // value will be replaced with "sensitive".
  5063  func (s DescribeBackupPolicyInput) String() string {
  5064  	return awsutil.Prettify(s)
  5065  }
  5066  
  5067  // GoString returns the string representation.
  5068  //
  5069  // API parameter values that are decorated as "sensitive" in the API will not
  5070  // be included in the string output. The member name will be present, but the
  5071  // value will be replaced with "sensitive".
  5072  func (s DescribeBackupPolicyInput) GoString() string {
  5073  	return s.String()
  5074  }
  5075  
  5076  // Validate inspects the fields of the type to determine if they are valid.
  5077  func (s *DescribeBackupPolicyInput) Validate() error {
  5078  	invalidParams := request.ErrInvalidParams{Context: "DescribeBackupPolicyInput"}
  5079  	if s.FileSystemId == nil {
  5080  		invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
  5081  	}
  5082  	if s.FileSystemId != nil && len(*s.FileSystemId) < 1 {
  5083  		invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1))
  5084  	}
  5085  
  5086  	if invalidParams.Len() > 0 {
  5087  		return invalidParams
  5088  	}
  5089  	return nil
  5090  }
  5091  
  5092  // SetFileSystemId sets the FileSystemId field's value.
  5093  func (s *DescribeBackupPolicyInput) SetFileSystemId(v string) *DescribeBackupPolicyInput {
  5094  	s.FileSystemId = &v
  5095  	return s
  5096  }
  5097  
  5098  type DescribeBackupPolicyOutput struct {
  5099  	_ struct{} `type:"structure"`
  5100  
  5101  	// Describes the file system's backup policy, indicating whether automatic backups
  5102  	// are turned on or off..
  5103  	BackupPolicy *BackupPolicy `type:"structure"`
  5104  }
  5105  
  5106  // String returns the string representation.
  5107  //
  5108  // API parameter values that are decorated as "sensitive" in the API will not
  5109  // be included in the string output. The member name will be present, but the
  5110  // value will be replaced with "sensitive".
  5111  func (s DescribeBackupPolicyOutput) String() string {
  5112  	return awsutil.Prettify(s)
  5113  }
  5114  
  5115  // GoString returns the string representation.
  5116  //
  5117  // API parameter values that are decorated as "sensitive" in the API will not
  5118  // be included in the string output. The member name will be present, but the
  5119  // value will be replaced with "sensitive".
  5120  func (s DescribeBackupPolicyOutput) GoString() string {
  5121  	return s.String()
  5122  }
  5123  
  5124  // SetBackupPolicy sets the BackupPolicy field's value.
  5125  func (s *DescribeBackupPolicyOutput) SetBackupPolicy(v *BackupPolicy) *DescribeBackupPolicyOutput {
  5126  	s.BackupPolicy = v
  5127  	return s
  5128  }
  5129  
  5130  type DescribeFileSystemPolicyInput struct {
  5131  	_ struct{} `type:"structure" nopayload:"true"`
  5132  
  5133  	// Specifies which EFS file system to retrieve the FileSystemPolicy for.
  5134  	//
  5135  	// FileSystemId is a required field
  5136  	FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"`
  5137  }
  5138  
  5139  // String returns the string representation.
  5140  //
  5141  // API parameter values that are decorated as "sensitive" in the API will not
  5142  // be included in the string output. The member name will be present, but the
  5143  // value will be replaced with "sensitive".
  5144  func (s DescribeFileSystemPolicyInput) String() string {
  5145  	return awsutil.Prettify(s)
  5146  }
  5147  
  5148  // GoString returns the string representation.
  5149  //
  5150  // API parameter values that are decorated as "sensitive" in the API will not
  5151  // be included in the string output. The member name will be present, but the
  5152  // value will be replaced with "sensitive".
  5153  func (s DescribeFileSystemPolicyInput) GoString() string {
  5154  	return s.String()
  5155  }
  5156  
  5157  // Validate inspects the fields of the type to determine if they are valid.
  5158  func (s *DescribeFileSystemPolicyInput) Validate() error {
  5159  	invalidParams := request.ErrInvalidParams{Context: "DescribeFileSystemPolicyInput"}
  5160  	if s.FileSystemId == nil {
  5161  		invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
  5162  	}
  5163  	if s.FileSystemId != nil && len(*s.FileSystemId) < 1 {
  5164  		invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1))
  5165  	}
  5166  
  5167  	if invalidParams.Len() > 0 {
  5168  		return invalidParams
  5169  	}
  5170  	return nil
  5171  }
  5172  
  5173  // SetFileSystemId sets the FileSystemId field's value.
  5174  func (s *DescribeFileSystemPolicyInput) SetFileSystemId(v string) *DescribeFileSystemPolicyInput {
  5175  	s.FileSystemId = &v
  5176  	return s
  5177  }
  5178  
  5179  type DescribeFileSystemPolicyOutput struct {
  5180  	_ struct{} `type:"structure"`
  5181  
  5182  	// Specifies the EFS file system to which the FileSystemPolicy applies.
  5183  	FileSystemId *string `type:"string"`
  5184  
  5185  	// The JSON formatted FileSystemPolicy for the EFS file system.
  5186  	Policy *string `min:"1" type:"string"`
  5187  }
  5188  
  5189  // String returns the string representation.
  5190  //
  5191  // API parameter values that are decorated as "sensitive" in the API will not
  5192  // be included in the string output. The member name will be present, but the
  5193  // value will be replaced with "sensitive".
  5194  func (s DescribeFileSystemPolicyOutput) String() string {
  5195  	return awsutil.Prettify(s)
  5196  }
  5197  
  5198  // GoString returns the string representation.
  5199  //
  5200  // API parameter values that are decorated as "sensitive" in the API will not
  5201  // be included in the string output. The member name will be present, but the
  5202  // value will be replaced with "sensitive".
  5203  func (s DescribeFileSystemPolicyOutput) GoString() string {
  5204  	return s.String()
  5205  }
  5206  
  5207  // SetFileSystemId sets the FileSystemId field's value.
  5208  func (s *DescribeFileSystemPolicyOutput) SetFileSystemId(v string) *DescribeFileSystemPolicyOutput {
  5209  	s.FileSystemId = &v
  5210  	return s
  5211  }
  5212  
  5213  // SetPolicy sets the Policy field's value.
  5214  func (s *DescribeFileSystemPolicyOutput) SetPolicy(v string) *DescribeFileSystemPolicyOutput {
  5215  	s.Policy = &v
  5216  	return s
  5217  }
  5218  
  5219  type DescribeFileSystemsInput struct {
  5220  	_ struct{} `type:"structure" nopayload:"true"`
  5221  
  5222  	// (Optional) Restricts the list to the file system with this creation token
  5223  	// (String). You specify a creation token when you create an Amazon EFS file
  5224  	// system.
  5225  	CreationToken *string `location:"querystring" locationName:"CreationToken" min:"1" type:"string"`
  5226  
  5227  	// (Optional) ID of the file system whose description you want to retrieve (String).
  5228  	FileSystemId *string `location:"querystring" locationName:"FileSystemId" type:"string"`
  5229  
  5230  	// (Optional) Opaque pagination token returned from a previous DescribeFileSystems
  5231  	// operation (String). If present, specifies to continue the list from where
  5232  	// the returning call had left off.
  5233  	Marker *string `location:"querystring" locationName:"Marker" min:"1" type:"string"`
  5234  
  5235  	// (Optional) Specifies the maximum number of file systems to return in the
  5236  	// response (integer). This number is automatically set to 100. The response
  5237  	// is paginated at 100 per page if you have more than 100 file systems.
  5238  	MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"`
  5239  }
  5240  
  5241  // String returns the string representation.
  5242  //
  5243  // API parameter values that are decorated as "sensitive" in the API will not
  5244  // be included in the string output. The member name will be present, but the
  5245  // value will be replaced with "sensitive".
  5246  func (s DescribeFileSystemsInput) String() string {
  5247  	return awsutil.Prettify(s)
  5248  }
  5249  
  5250  // GoString returns the string representation.
  5251  //
  5252  // API parameter values that are decorated as "sensitive" in the API will not
  5253  // be included in the string output. The member name will be present, but the
  5254  // value will be replaced with "sensitive".
  5255  func (s DescribeFileSystemsInput) GoString() string {
  5256  	return s.String()
  5257  }
  5258  
  5259  // Validate inspects the fields of the type to determine if they are valid.
  5260  func (s *DescribeFileSystemsInput) Validate() error {
  5261  	invalidParams := request.ErrInvalidParams{Context: "DescribeFileSystemsInput"}
  5262  	if s.CreationToken != nil && len(*s.CreationToken) < 1 {
  5263  		invalidParams.Add(request.NewErrParamMinLen("CreationToken", 1))
  5264  	}
  5265  	if s.Marker != nil && len(*s.Marker) < 1 {
  5266  		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  5267  	}
  5268  	if s.MaxItems != nil && *s.MaxItems < 1 {
  5269  		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  5270  	}
  5271  
  5272  	if invalidParams.Len() > 0 {
  5273  		return invalidParams
  5274  	}
  5275  	return nil
  5276  }
  5277  
  5278  // SetCreationToken sets the CreationToken field's value.
  5279  func (s *DescribeFileSystemsInput) SetCreationToken(v string) *DescribeFileSystemsInput {
  5280  	s.CreationToken = &v
  5281  	return s
  5282  }
  5283  
  5284  // SetFileSystemId sets the FileSystemId field's value.
  5285  func (s *DescribeFileSystemsInput) SetFileSystemId(v string) *DescribeFileSystemsInput {
  5286  	s.FileSystemId = &v
  5287  	return s
  5288  }
  5289  
  5290  // SetMarker sets the Marker field's value.
  5291  func (s *DescribeFileSystemsInput) SetMarker(v string) *DescribeFileSystemsInput {
  5292  	s.Marker = &v
  5293  	return s
  5294  }
  5295  
  5296  // SetMaxItems sets the MaxItems field's value.
  5297  func (s *DescribeFileSystemsInput) SetMaxItems(v int64) *DescribeFileSystemsInput {
  5298  	s.MaxItems = &v
  5299  	return s
  5300  }
  5301  
  5302  type DescribeFileSystemsOutput struct {
  5303  	_ struct{} `type:"structure"`
  5304  
  5305  	// An array of file system descriptions.
  5306  	FileSystems []*FileSystemDescription `type:"list"`
  5307  
  5308  	// Present if provided by caller in the request (String).
  5309  	Marker *string `min:"1" type:"string"`
  5310  
  5311  	// Present if there are more file systems than returned in the response (String).
  5312  	// You can use the NextMarker in the subsequent request to fetch the descriptions.
  5313  	NextMarker *string `min:"1" type:"string"`
  5314  }
  5315  
  5316  // String returns the string representation.
  5317  //
  5318  // API parameter values that are decorated as "sensitive" in the API will not
  5319  // be included in the string output. The member name will be present, but the
  5320  // value will be replaced with "sensitive".
  5321  func (s DescribeFileSystemsOutput) String() string {
  5322  	return awsutil.Prettify(s)
  5323  }
  5324  
  5325  // GoString returns the string representation.
  5326  //
  5327  // API parameter values that are decorated as "sensitive" in the API will not
  5328  // be included in the string output. The member name will be present, but the
  5329  // value will be replaced with "sensitive".
  5330  func (s DescribeFileSystemsOutput) GoString() string {
  5331  	return s.String()
  5332  }
  5333  
  5334  // SetFileSystems sets the FileSystems field's value.
  5335  func (s *DescribeFileSystemsOutput) SetFileSystems(v []*FileSystemDescription) *DescribeFileSystemsOutput {
  5336  	s.FileSystems = v
  5337  	return s
  5338  }
  5339  
  5340  // SetMarker sets the Marker field's value.
  5341  func (s *DescribeFileSystemsOutput) SetMarker(v string) *DescribeFileSystemsOutput {
  5342  	s.Marker = &v
  5343  	return s
  5344  }
  5345  
  5346  // SetNextMarker sets the NextMarker field's value.
  5347  func (s *DescribeFileSystemsOutput) SetNextMarker(v string) *DescribeFileSystemsOutput {
  5348  	s.NextMarker = &v
  5349  	return s
  5350  }
  5351  
  5352  type DescribeLifecycleConfigurationInput struct {
  5353  	_ struct{} `type:"structure" nopayload:"true"`
  5354  
  5355  	// The ID of the file system whose LifecycleConfiguration object you want to
  5356  	// retrieve (String).
  5357  	//
  5358  	// FileSystemId is a required field
  5359  	FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"`
  5360  }
  5361  
  5362  // String returns the string representation.
  5363  //
  5364  // API parameter values that are decorated as "sensitive" in the API will not
  5365  // be included in the string output. The member name will be present, but the
  5366  // value will be replaced with "sensitive".
  5367  func (s DescribeLifecycleConfigurationInput) String() string {
  5368  	return awsutil.Prettify(s)
  5369  }
  5370  
  5371  // GoString returns the string representation.
  5372  //
  5373  // API parameter values that are decorated as "sensitive" in the API will not
  5374  // be included in the string output. The member name will be present, but the
  5375  // value will be replaced with "sensitive".
  5376  func (s DescribeLifecycleConfigurationInput) GoString() string {
  5377  	return s.String()
  5378  }
  5379  
  5380  // Validate inspects the fields of the type to determine if they are valid.
  5381  func (s *DescribeLifecycleConfigurationInput) Validate() error {
  5382  	invalidParams := request.ErrInvalidParams{Context: "DescribeLifecycleConfigurationInput"}
  5383  	if s.FileSystemId == nil {
  5384  		invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
  5385  	}
  5386  	if s.FileSystemId != nil && len(*s.FileSystemId) < 1 {
  5387  		invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1))
  5388  	}
  5389  
  5390  	if invalidParams.Len() > 0 {
  5391  		return invalidParams
  5392  	}
  5393  	return nil
  5394  }
  5395  
  5396  // SetFileSystemId sets the FileSystemId field's value.
  5397  func (s *DescribeLifecycleConfigurationInput) SetFileSystemId(v string) *DescribeLifecycleConfigurationInput {
  5398  	s.FileSystemId = &v
  5399  	return s
  5400  }
  5401  
  5402  type DescribeLifecycleConfigurationOutput struct {
  5403  	_ struct{} `type:"structure"`
  5404  
  5405  	// An array of lifecycle management policies. EFS supports a maximum of one
  5406  	// policy per file system.
  5407  	LifecyclePolicies []*LifecyclePolicy `type:"list"`
  5408  }
  5409  
  5410  // String returns the string representation.
  5411  //
  5412  // API parameter values that are decorated as "sensitive" in the API will not
  5413  // be included in the string output. The member name will be present, but the
  5414  // value will be replaced with "sensitive".
  5415  func (s DescribeLifecycleConfigurationOutput) String() string {
  5416  	return awsutil.Prettify(s)
  5417  }
  5418  
  5419  // GoString returns the string representation.
  5420  //
  5421  // API parameter values that are decorated as "sensitive" in the API will not
  5422  // be included in the string output. The member name will be present, but the
  5423  // value will be replaced with "sensitive".
  5424  func (s DescribeLifecycleConfigurationOutput) GoString() string {
  5425  	return s.String()
  5426  }
  5427  
  5428  // SetLifecyclePolicies sets the LifecyclePolicies field's value.
  5429  func (s *DescribeLifecycleConfigurationOutput) SetLifecyclePolicies(v []*LifecyclePolicy) *DescribeLifecycleConfigurationOutput {
  5430  	s.LifecyclePolicies = v
  5431  	return s
  5432  }
  5433  
  5434  type DescribeMountTargetSecurityGroupsInput struct {
  5435  	_ struct{} `type:"structure" nopayload:"true"`
  5436  
  5437  	// The ID of the mount target whose security groups you want to retrieve.
  5438  	//
  5439  	// MountTargetId is a required field
  5440  	MountTargetId *string `location:"uri" locationName:"MountTargetId" min:"13" type:"string" required:"true"`
  5441  }
  5442  
  5443  // String returns the string representation.
  5444  //
  5445  // API parameter values that are decorated as "sensitive" in the API will not
  5446  // be included in the string output. The member name will be present, but the
  5447  // value will be replaced with "sensitive".
  5448  func (s DescribeMountTargetSecurityGroupsInput) String() string {
  5449  	return awsutil.Prettify(s)
  5450  }
  5451  
  5452  // GoString returns the string representation.
  5453  //
  5454  // API parameter values that are decorated as "sensitive" in the API will not
  5455  // be included in the string output. The member name will be present, but the
  5456  // value will be replaced with "sensitive".
  5457  func (s DescribeMountTargetSecurityGroupsInput) GoString() string {
  5458  	return s.String()
  5459  }
  5460  
  5461  // Validate inspects the fields of the type to determine if they are valid.
  5462  func (s *DescribeMountTargetSecurityGroupsInput) Validate() error {
  5463  	invalidParams := request.ErrInvalidParams{Context: "DescribeMountTargetSecurityGroupsInput"}
  5464  	if s.MountTargetId == nil {
  5465  		invalidParams.Add(request.NewErrParamRequired("MountTargetId"))
  5466  	}
  5467  	if s.MountTargetId != nil && len(*s.MountTargetId) < 13 {
  5468  		invalidParams.Add(request.NewErrParamMinLen("MountTargetId", 13))
  5469  	}
  5470  
  5471  	if invalidParams.Len() > 0 {
  5472  		return invalidParams
  5473  	}
  5474  	return nil
  5475  }
  5476  
  5477  // SetMountTargetId sets the MountTargetId field's value.
  5478  func (s *DescribeMountTargetSecurityGroupsInput) SetMountTargetId(v string) *DescribeMountTargetSecurityGroupsInput {
  5479  	s.MountTargetId = &v
  5480  	return s
  5481  }
  5482  
  5483  type DescribeMountTargetSecurityGroupsOutput struct {
  5484  	_ struct{} `type:"structure"`
  5485  
  5486  	// An array of security groups.
  5487  	//
  5488  	// SecurityGroups is a required field
  5489  	SecurityGroups []*string `type:"list" required:"true"`
  5490  }
  5491  
  5492  // String returns the string representation.
  5493  //
  5494  // API parameter values that are decorated as "sensitive" in the API will not
  5495  // be included in the string output. The member name will be present, but the
  5496  // value will be replaced with "sensitive".
  5497  func (s DescribeMountTargetSecurityGroupsOutput) String() string {
  5498  	return awsutil.Prettify(s)
  5499  }
  5500  
  5501  // GoString returns the string representation.
  5502  //
  5503  // API parameter values that are decorated as "sensitive" in the API will not
  5504  // be included in the string output. The member name will be present, but the
  5505  // value will be replaced with "sensitive".
  5506  func (s DescribeMountTargetSecurityGroupsOutput) GoString() string {
  5507  	return s.String()
  5508  }
  5509  
  5510  // SetSecurityGroups sets the SecurityGroups field's value.
  5511  func (s *DescribeMountTargetSecurityGroupsOutput) SetSecurityGroups(v []*string) *DescribeMountTargetSecurityGroupsOutput {
  5512  	s.SecurityGroups = v
  5513  	return s
  5514  }
  5515  
  5516  type DescribeMountTargetsInput struct {
  5517  	_ struct{} `type:"structure" nopayload:"true"`
  5518  
  5519  	// (Optional) The ID of the access point whose mount targets that you want to
  5520  	// list. It must be included in your request if a FileSystemId or MountTargetId
  5521  	// is not included in your request. Accepts either an access point ID or ARN
  5522  	// as input.
  5523  	AccessPointId *string `location:"querystring" locationName:"AccessPointId" type:"string"`
  5524  
  5525  	// (Optional) ID of the file system whose mount targets you want to list (String).
  5526  	// It must be included in your request if an AccessPointId or MountTargetId
  5527  	// is not included. Accepts either a file system ID or ARN as input.
  5528  	FileSystemId *string `location:"querystring" locationName:"FileSystemId" type:"string"`
  5529  
  5530  	// (Optional) Opaque pagination token returned from a previous DescribeMountTargets
  5531  	// operation (String). If present, it specifies to continue the list from where
  5532  	// the previous returning call left off.
  5533  	Marker *string `location:"querystring" locationName:"Marker" min:"1" type:"string"`
  5534  
  5535  	// (Optional) Maximum number of mount targets to return in the response. Currently,
  5536  	// this number is automatically set to 10, and other values are ignored. The
  5537  	// response is paginated at 100 per page if you have more than 100 mount targets.
  5538  	MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"`
  5539  
  5540  	// (Optional) ID of the mount target that you want to have described (String).
  5541  	// It must be included in your request if FileSystemId is not included. Accepts
  5542  	// either a mount target ID or ARN as input.
  5543  	MountTargetId *string `location:"querystring" locationName:"MountTargetId" min:"13" type:"string"`
  5544  }
  5545  
  5546  // String returns the string representation.
  5547  //
  5548  // API parameter values that are decorated as "sensitive" in the API will not
  5549  // be included in the string output. The member name will be present, but the
  5550  // value will be replaced with "sensitive".
  5551  func (s DescribeMountTargetsInput) String() string {
  5552  	return awsutil.Prettify(s)
  5553  }
  5554  
  5555  // GoString returns the string representation.
  5556  //
  5557  // API parameter values that are decorated as "sensitive" in the API will not
  5558  // be included in the string output. The member name will be present, but the
  5559  // value will be replaced with "sensitive".
  5560  func (s DescribeMountTargetsInput) GoString() string {
  5561  	return s.String()
  5562  }
  5563  
  5564  // Validate inspects the fields of the type to determine if they are valid.
  5565  func (s *DescribeMountTargetsInput) Validate() error {
  5566  	invalidParams := request.ErrInvalidParams{Context: "DescribeMountTargetsInput"}
  5567  	if s.Marker != nil && len(*s.Marker) < 1 {
  5568  		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  5569  	}
  5570  	if s.MaxItems != nil && *s.MaxItems < 1 {
  5571  		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  5572  	}
  5573  	if s.MountTargetId != nil && len(*s.MountTargetId) < 13 {
  5574  		invalidParams.Add(request.NewErrParamMinLen("MountTargetId", 13))
  5575  	}
  5576  
  5577  	if invalidParams.Len() > 0 {
  5578  		return invalidParams
  5579  	}
  5580  	return nil
  5581  }
  5582  
  5583  // SetAccessPointId sets the AccessPointId field's value.
  5584  func (s *DescribeMountTargetsInput) SetAccessPointId(v string) *DescribeMountTargetsInput {
  5585  	s.AccessPointId = &v
  5586  	return s
  5587  }
  5588  
  5589  // SetFileSystemId sets the FileSystemId field's value.
  5590  func (s *DescribeMountTargetsInput) SetFileSystemId(v string) *DescribeMountTargetsInput {
  5591  	s.FileSystemId = &v
  5592  	return s
  5593  }
  5594  
  5595  // SetMarker sets the Marker field's value.
  5596  func (s *DescribeMountTargetsInput) SetMarker(v string) *DescribeMountTargetsInput {
  5597  	s.Marker = &v
  5598  	return s
  5599  }
  5600  
  5601  // SetMaxItems sets the MaxItems field's value.
  5602  func (s *DescribeMountTargetsInput) SetMaxItems(v int64) *DescribeMountTargetsInput {
  5603  	s.MaxItems = &v
  5604  	return s
  5605  }
  5606  
  5607  // SetMountTargetId sets the MountTargetId field's value.
  5608  func (s *DescribeMountTargetsInput) SetMountTargetId(v string) *DescribeMountTargetsInput {
  5609  	s.MountTargetId = &v
  5610  	return s
  5611  }
  5612  
  5613  type DescribeMountTargetsOutput struct {
  5614  	_ struct{} `type:"structure"`
  5615  
  5616  	// If the request included the Marker, the response returns that value in this
  5617  	// field.
  5618  	Marker *string `min:"1" type:"string"`
  5619  
  5620  	// Returns the file system's mount targets as an array of MountTargetDescription
  5621  	// objects.
  5622  	MountTargets []*MountTargetDescription `type:"list"`
  5623  
  5624  	// If a value is present, there are more mount targets to return. In a subsequent
  5625  	// request, you can provide Marker in your request with this value to retrieve
  5626  	// the next set of mount targets.
  5627  	NextMarker *string `min:"1" type:"string"`
  5628  }
  5629  
  5630  // String returns the string representation.
  5631  //
  5632  // API parameter values that are decorated as "sensitive" in the API will not
  5633  // be included in the string output. The member name will be present, but the
  5634  // value will be replaced with "sensitive".
  5635  func (s DescribeMountTargetsOutput) String() string {
  5636  	return awsutil.Prettify(s)
  5637  }
  5638  
  5639  // GoString returns the string representation.
  5640  //
  5641  // API parameter values that are decorated as "sensitive" in the API will not
  5642  // be included in the string output. The member name will be present, but the
  5643  // value will be replaced with "sensitive".
  5644  func (s DescribeMountTargetsOutput) GoString() string {
  5645  	return s.String()
  5646  }
  5647  
  5648  // SetMarker sets the Marker field's value.
  5649  func (s *DescribeMountTargetsOutput) SetMarker(v string) *DescribeMountTargetsOutput {
  5650  	s.Marker = &v
  5651  	return s
  5652  }
  5653  
  5654  // SetMountTargets sets the MountTargets field's value.
  5655  func (s *DescribeMountTargetsOutput) SetMountTargets(v []*MountTargetDescription) *DescribeMountTargetsOutput {
  5656  	s.MountTargets = v
  5657  	return s
  5658  }
  5659  
  5660  // SetNextMarker sets the NextMarker field's value.
  5661  func (s *DescribeMountTargetsOutput) SetNextMarker(v string) *DescribeMountTargetsOutput {
  5662  	s.NextMarker = &v
  5663  	return s
  5664  }
  5665  
  5666  type DescribeTagsInput struct {
  5667  	_ struct{} `type:"structure" nopayload:"true"`
  5668  
  5669  	// The ID of the file system whose tag set you want to retrieve.
  5670  	//
  5671  	// FileSystemId is a required field
  5672  	FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"`
  5673  
  5674  	// (Optional) An opaque pagination token returned from a previous DescribeTags
  5675  	// operation (String). If present, it specifies to continue the list from where
  5676  	// the previous call left off.
  5677  	Marker *string `location:"querystring" locationName:"Marker" min:"1" type:"string"`
  5678  
  5679  	// (Optional) The maximum number of file system tags to return in the response.
  5680  	// Currently, this number is automatically set to 100, and other values are
  5681  	// ignored. The response is paginated at 100 per page if you have more than
  5682  	// 100 tags.
  5683  	MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"`
  5684  }
  5685  
  5686  // String returns the string representation.
  5687  //
  5688  // API parameter values that are decorated as "sensitive" in the API will not
  5689  // be included in the string output. The member name will be present, but the
  5690  // value will be replaced with "sensitive".
  5691  func (s DescribeTagsInput) String() string {
  5692  	return awsutil.Prettify(s)
  5693  }
  5694  
  5695  // GoString returns the string representation.
  5696  //
  5697  // API parameter values that are decorated as "sensitive" in the API will not
  5698  // be included in the string output. The member name will be present, but the
  5699  // value will be replaced with "sensitive".
  5700  func (s DescribeTagsInput) GoString() string {
  5701  	return s.String()
  5702  }
  5703  
  5704  // Validate inspects the fields of the type to determine if they are valid.
  5705  func (s *DescribeTagsInput) Validate() error {
  5706  	invalidParams := request.ErrInvalidParams{Context: "DescribeTagsInput"}
  5707  	if s.FileSystemId == nil {
  5708  		invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
  5709  	}
  5710  	if s.FileSystemId != nil && len(*s.FileSystemId) < 1 {
  5711  		invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1))
  5712  	}
  5713  	if s.Marker != nil && len(*s.Marker) < 1 {
  5714  		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  5715  	}
  5716  	if s.MaxItems != nil && *s.MaxItems < 1 {
  5717  		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  5718  	}
  5719  
  5720  	if invalidParams.Len() > 0 {
  5721  		return invalidParams
  5722  	}
  5723  	return nil
  5724  }
  5725  
  5726  // SetFileSystemId sets the FileSystemId field's value.
  5727  func (s *DescribeTagsInput) SetFileSystemId(v string) *DescribeTagsInput {
  5728  	s.FileSystemId = &v
  5729  	return s
  5730  }
  5731  
  5732  // SetMarker sets the Marker field's value.
  5733  func (s *DescribeTagsInput) SetMarker(v string) *DescribeTagsInput {
  5734  	s.Marker = &v
  5735  	return s
  5736  }
  5737  
  5738  // SetMaxItems sets the MaxItems field's value.
  5739  func (s *DescribeTagsInput) SetMaxItems(v int64) *DescribeTagsInput {
  5740  	s.MaxItems = &v
  5741  	return s
  5742  }
  5743  
  5744  type DescribeTagsOutput struct {
  5745  	_ struct{} `type:"structure"`
  5746  
  5747  	// If the request included a Marker, the response returns that value in this
  5748  	// field.
  5749  	Marker *string `min:"1" type:"string"`
  5750  
  5751  	// If a value is present, there are more tags to return. In a subsequent request,
  5752  	// you can provide the value of NextMarker as the value of the Marker parameter
  5753  	// in your next request to retrieve the next set of tags.
  5754  	NextMarker *string `min:"1" type:"string"`
  5755  
  5756  	// Returns tags associated with the file system as an array of Tag objects.
  5757  	//
  5758  	// Tags is a required field
  5759  	Tags []*Tag `type:"list" required:"true"`
  5760  }
  5761  
  5762  // String returns the string representation.
  5763  //
  5764  // API parameter values that are decorated as "sensitive" in the API will not
  5765  // be included in the string output. The member name will be present, but the
  5766  // value will be replaced with "sensitive".
  5767  func (s DescribeTagsOutput) String() string {
  5768  	return awsutil.Prettify(s)
  5769  }
  5770  
  5771  // GoString returns the string representation.
  5772  //
  5773  // API parameter values that are decorated as "sensitive" in the API will not
  5774  // be included in the string output. The member name will be present, but the
  5775  // value will be replaced with "sensitive".
  5776  func (s DescribeTagsOutput) GoString() string {
  5777  	return s.String()
  5778  }
  5779  
  5780  // SetMarker sets the Marker field's value.
  5781  func (s *DescribeTagsOutput) SetMarker(v string) *DescribeTagsOutput {
  5782  	s.Marker = &v
  5783  	return s
  5784  }
  5785  
  5786  // SetNextMarker sets the NextMarker field's value.
  5787  func (s *DescribeTagsOutput) SetNextMarker(v string) *DescribeTagsOutput {
  5788  	s.NextMarker = &v
  5789  	return s
  5790  }
  5791  
  5792  // SetTags sets the Tags field's value.
  5793  func (s *DescribeTagsOutput) SetTags(v []*Tag) *DescribeTagsOutput {
  5794  	s.Tags = v
  5795  	return s
  5796  }
  5797  
  5798  // Returned if the file system you are trying to create already exists, with
  5799  // the creation token you provided.
  5800  type FileSystemAlreadyExists struct {
  5801  	_            struct{}                  `type:"structure"`
  5802  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5803  
  5804  	// ErrorCode is a required field
  5805  	ErrorCode *string `min:"1" type:"string" required:"true"`
  5806  
  5807  	// FileSystemId is a required field
  5808  	FileSystemId *string `type:"string" required:"true"`
  5809  
  5810  	Message_ *string `locationName:"Message" type:"string"`
  5811  }
  5812  
  5813  // String returns the string representation.
  5814  //
  5815  // API parameter values that are decorated as "sensitive" in the API will not
  5816  // be included in the string output. The member name will be present, but the
  5817  // value will be replaced with "sensitive".
  5818  func (s FileSystemAlreadyExists) String() string {
  5819  	return awsutil.Prettify(s)
  5820  }
  5821  
  5822  // GoString returns the string representation.
  5823  //
  5824  // API parameter values that are decorated as "sensitive" in the API will not
  5825  // be included in the string output. The member name will be present, but the
  5826  // value will be replaced with "sensitive".
  5827  func (s FileSystemAlreadyExists) GoString() string {
  5828  	return s.String()
  5829  }
  5830  
  5831  func newErrorFileSystemAlreadyExists(v protocol.ResponseMetadata) error {
  5832  	return &FileSystemAlreadyExists{
  5833  		RespMetadata: v,
  5834  	}
  5835  }
  5836  
  5837  // Code returns the exception type name.
  5838  func (s *FileSystemAlreadyExists) Code() string {
  5839  	return "FileSystemAlreadyExists"
  5840  }
  5841  
  5842  // Message returns the exception's message.
  5843  func (s *FileSystemAlreadyExists) Message() string {
  5844  	if s.Message_ != nil {
  5845  		return *s.Message_
  5846  	}
  5847  	return ""
  5848  }
  5849  
  5850  // OrigErr always returns nil, satisfies awserr.Error interface.
  5851  func (s *FileSystemAlreadyExists) OrigErr() error {
  5852  	return nil
  5853  }
  5854  
  5855  func (s *FileSystemAlreadyExists) Error() string {
  5856  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  5857  }
  5858  
  5859  // Status code returns the HTTP status code for the request's response error.
  5860  func (s *FileSystemAlreadyExists) StatusCode() int {
  5861  	return s.RespMetadata.StatusCode
  5862  }
  5863  
  5864  // RequestID returns the service's response RequestID for request.
  5865  func (s *FileSystemAlreadyExists) RequestID() string {
  5866  	return s.RespMetadata.RequestID
  5867  }
  5868  
  5869  // A description of the file system.
  5870  type FileSystemDescription struct {
  5871  	_ struct{} `type:"structure"`
  5872  
  5873  	// The unique and consistent identifier of the Availability Zone in which the
  5874  	// file system's One Zone storage classes exist. For example, use1-az1 is an
  5875  	// Availability Zone ID for the us-east-1 Amazon Web Services Region, and it
  5876  	// has the same location in every Amazon Web Services account.
  5877  	AvailabilityZoneId *string `type:"string"`
  5878  
  5879  	// Describes the Amazon Web Services Availability Zone in which the file system
  5880  	// is located, and is valid only for file systems using One Zone storage classes.
  5881  	// For more information, see Using EFS storage classes (https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html)
  5882  	// in the Amazon EFS User Guide.
  5883  	AvailabilityZoneName *string `min:"1" type:"string"`
  5884  
  5885  	// The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z).
  5886  	//
  5887  	// CreationTime is a required field
  5888  	CreationTime *time.Time `type:"timestamp" required:"true"`
  5889  
  5890  	// The opaque string specified in the request.
  5891  	//
  5892  	// CreationToken is a required field
  5893  	CreationToken *string `min:"1" type:"string" required:"true"`
  5894  
  5895  	// A Boolean value that, if true, indicates that the file system is encrypted.
  5896  	Encrypted *bool `type:"boolean"`
  5897  
  5898  	// The Amazon Resource Name (ARN) for the EFS file system, in the format arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id
  5899  	// . Example with sample data: arn:aws:elasticfilesystem:us-west-2:1111333322228888:file-system/fs-01234567
  5900  	FileSystemArn *string `type:"string"`
  5901  
  5902  	// The ID of the file system, assigned by Amazon EFS.
  5903  	//
  5904  	// FileSystemId is a required field
  5905  	FileSystemId *string `type:"string" required:"true"`
  5906  
  5907  	// The ID of an Key Management Service customer master key (CMK) that was used
  5908  	// to protect the encrypted file system.
  5909  	KmsKeyId *string `type:"string"`
  5910  
  5911  	// The lifecycle phase of the file system.
  5912  	//
  5913  	// LifeCycleState is a required field
  5914  	LifeCycleState *string `type:"string" required:"true" enum:"LifeCycleState"`
  5915  
  5916  	// You can add tags to a file system, including a Name tag. For more information,
  5917  	// see CreateFileSystem. If the file system has a Name tag, Amazon EFS returns
  5918  	// the value in this field.
  5919  	Name *string `type:"string"`
  5920  
  5921  	// The current number of mount targets that the file system has. For more information,
  5922  	// see CreateMountTarget.
  5923  	//
  5924  	// NumberOfMountTargets is a required field
  5925  	NumberOfMountTargets *int64 `type:"integer" required:"true"`
  5926  
  5927  	// The Amazon Web Services account that created the file system. If the file
  5928  	// system was created by an IAM user, the parent account to which the user belongs
  5929  	// is the owner.
  5930  	//
  5931  	// OwnerId is a required field
  5932  	OwnerId *string `type:"string" required:"true"`
  5933  
  5934  	// The performance mode of the file system.
  5935  	//
  5936  	// PerformanceMode is a required field
  5937  	PerformanceMode *string `type:"string" required:"true" enum:"PerformanceMode"`
  5938  
  5939  	// The amount of provisioned throughput, measured in MiB/s, for the file system.
  5940  	// Valid for file systems using ThroughputMode set to provisioned.
  5941  	ProvisionedThroughputInMibps *float64 `min:"1" type:"double"`
  5942  
  5943  	// The latest known metered size (in bytes) of data stored in the file system,
  5944  	// in its Value field, and the time at which that size was determined in its
  5945  	// Timestamp field. The Timestamp value is the integer number of seconds since
  5946  	// 1970-01-01T00:00:00Z. The SizeInBytes value doesn't represent the size of
  5947  	// a consistent snapshot of the file system, but it is eventually consistent
  5948  	// when there are no writes to the file system. That is, SizeInBytes represents
  5949  	// actual size only if the file system is not modified for a period longer than
  5950  	// a couple of hours. Otherwise, the value is not the exact size that the file
  5951  	// system was at any point in time.
  5952  	//
  5953  	// SizeInBytes is a required field
  5954  	SizeInBytes *FileSystemSize `type:"structure" required:"true"`
  5955  
  5956  	// The tags associated with the file system, presented as an array of Tag objects.
  5957  	//
  5958  	// Tags is a required field
  5959  	Tags []*Tag `type:"list" required:"true"`
  5960  
  5961  	// Displays the file system's throughput mode. For more information, see Throughput
  5962  	// modes (https://docs.aws.amazon.com/efs/latest/ug/performance.html#throughput-modes)
  5963  	// in the Amazon EFS User Guide.
  5964  	ThroughputMode *string `type:"string" enum:"ThroughputMode"`
  5965  }
  5966  
  5967  // String returns the string representation.
  5968  //
  5969  // API parameter values that are decorated as "sensitive" in the API will not
  5970  // be included in the string output. The member name will be present, but the
  5971  // value will be replaced with "sensitive".
  5972  func (s FileSystemDescription) String() string {
  5973  	return awsutil.Prettify(s)
  5974  }
  5975  
  5976  // GoString returns the string representation.
  5977  //
  5978  // API parameter values that are decorated as "sensitive" in the API will not
  5979  // be included in the string output. The member name will be present, but the
  5980  // value will be replaced with "sensitive".
  5981  func (s FileSystemDescription) GoString() string {
  5982  	return s.String()
  5983  }
  5984  
  5985  // SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
  5986  func (s *FileSystemDescription) SetAvailabilityZoneId(v string) *FileSystemDescription {
  5987  	s.AvailabilityZoneId = &v
  5988  	return s
  5989  }
  5990  
  5991  // SetAvailabilityZoneName sets the AvailabilityZoneName field's value.
  5992  func (s *FileSystemDescription) SetAvailabilityZoneName(v string) *FileSystemDescription {
  5993  	s.AvailabilityZoneName = &v
  5994  	return s
  5995  }
  5996  
  5997  // SetCreationTime sets the CreationTime field's value.
  5998  func (s *FileSystemDescription) SetCreationTime(v time.Time) *FileSystemDescription {
  5999  	s.CreationTime = &v
  6000  	return s
  6001  }
  6002  
  6003  // SetCreationToken sets the CreationToken field's value.
  6004  func (s *FileSystemDescription) SetCreationToken(v string) *FileSystemDescription {
  6005  	s.CreationToken = &v
  6006  	return s
  6007  }
  6008  
  6009  // SetEncrypted sets the Encrypted field's value.
  6010  func (s *FileSystemDescription) SetEncrypted(v bool) *FileSystemDescription {
  6011  	s.Encrypted = &v
  6012  	return s
  6013  }
  6014  
  6015  // SetFileSystemArn sets the FileSystemArn field's value.
  6016  func (s *FileSystemDescription) SetFileSystemArn(v string) *FileSystemDescription {
  6017  	s.FileSystemArn = &v
  6018  	return s
  6019  }
  6020  
  6021  // SetFileSystemId sets the FileSystemId field's value.
  6022  func (s *FileSystemDescription) SetFileSystemId(v string) *FileSystemDescription {
  6023  	s.FileSystemId = &v
  6024  	return s
  6025  }
  6026  
  6027  // SetKmsKeyId sets the KmsKeyId field's value.
  6028  func (s *FileSystemDescription) SetKmsKeyId(v string) *FileSystemDescription {
  6029  	s.KmsKeyId = &v
  6030  	return s
  6031  }
  6032  
  6033  // SetLifeCycleState sets the LifeCycleState field's value.
  6034  func (s *FileSystemDescription) SetLifeCycleState(v string) *FileSystemDescription {
  6035  	s.LifeCycleState = &v
  6036  	return s
  6037  }
  6038  
  6039  // SetName sets the Name field's value.
  6040  func (s *FileSystemDescription) SetName(v string) *FileSystemDescription {
  6041  	s.Name = &v
  6042  	return s
  6043  }
  6044  
  6045  // SetNumberOfMountTargets sets the NumberOfMountTargets field's value.
  6046  func (s *FileSystemDescription) SetNumberOfMountTargets(v int64) *FileSystemDescription {
  6047  	s.NumberOfMountTargets = &v
  6048  	return s
  6049  }
  6050  
  6051  // SetOwnerId sets the OwnerId field's value.
  6052  func (s *FileSystemDescription) SetOwnerId(v string) *FileSystemDescription {
  6053  	s.OwnerId = &v
  6054  	return s
  6055  }
  6056  
  6057  // SetPerformanceMode sets the PerformanceMode field's value.
  6058  func (s *FileSystemDescription) SetPerformanceMode(v string) *FileSystemDescription {
  6059  	s.PerformanceMode = &v
  6060  	return s
  6061  }
  6062  
  6063  // SetProvisionedThroughputInMibps sets the ProvisionedThroughputInMibps field's value.
  6064  func (s *FileSystemDescription) SetProvisionedThroughputInMibps(v float64) *FileSystemDescription {
  6065  	s.ProvisionedThroughputInMibps = &v
  6066  	return s
  6067  }
  6068  
  6069  // SetSizeInBytes sets the SizeInBytes field's value.
  6070  func (s *FileSystemDescription) SetSizeInBytes(v *FileSystemSize) *FileSystemDescription {
  6071  	s.SizeInBytes = v
  6072  	return s
  6073  }
  6074  
  6075  // SetTags sets the Tags field's value.
  6076  func (s *FileSystemDescription) SetTags(v []*Tag) *FileSystemDescription {
  6077  	s.Tags = v
  6078  	return s
  6079  }
  6080  
  6081  // SetThroughputMode sets the ThroughputMode field's value.
  6082  func (s *FileSystemDescription) SetThroughputMode(v string) *FileSystemDescription {
  6083  	s.ThroughputMode = &v
  6084  	return s
  6085  }
  6086  
  6087  // Returned if a file system has mount targets.
  6088  type FileSystemInUse struct {
  6089  	_            struct{}                  `type:"structure"`
  6090  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6091  
  6092  	// ErrorCode is a required field
  6093  	ErrorCode *string `min:"1" type:"string" required:"true"`
  6094  
  6095  	Message_ *string `locationName:"Message" type:"string"`
  6096  }
  6097  
  6098  // String returns the string representation.
  6099  //
  6100  // API parameter values that are decorated as "sensitive" in the API will not
  6101  // be included in the string output. The member name will be present, but the
  6102  // value will be replaced with "sensitive".
  6103  func (s FileSystemInUse) String() string {
  6104  	return awsutil.Prettify(s)
  6105  }
  6106  
  6107  // GoString returns the string representation.
  6108  //
  6109  // API parameter values that are decorated as "sensitive" in the API will not
  6110  // be included in the string output. The member name will be present, but the
  6111  // value will be replaced with "sensitive".
  6112  func (s FileSystemInUse) GoString() string {
  6113  	return s.String()
  6114  }
  6115  
  6116  func newErrorFileSystemInUse(v protocol.ResponseMetadata) error {
  6117  	return &FileSystemInUse{
  6118  		RespMetadata: v,
  6119  	}
  6120  }
  6121  
  6122  // Code returns the exception type name.
  6123  func (s *FileSystemInUse) Code() string {
  6124  	return "FileSystemInUse"
  6125  }
  6126  
  6127  // Message returns the exception's message.
  6128  func (s *FileSystemInUse) Message() string {
  6129  	if s.Message_ != nil {
  6130  		return *s.Message_
  6131  	}
  6132  	return ""
  6133  }
  6134  
  6135  // OrigErr always returns nil, satisfies awserr.Error interface.
  6136  func (s *FileSystemInUse) OrigErr() error {
  6137  	return nil
  6138  }
  6139  
  6140  func (s *FileSystemInUse) Error() string {
  6141  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  6142  }
  6143  
  6144  // Status code returns the HTTP status code for the request's response error.
  6145  func (s *FileSystemInUse) StatusCode() int {
  6146  	return s.RespMetadata.StatusCode
  6147  }
  6148  
  6149  // RequestID returns the service's response RequestID for request.
  6150  func (s *FileSystemInUse) RequestID() string {
  6151  	return s.RespMetadata.RequestID
  6152  }
  6153  
  6154  // Returned if the Amazon Web Services account has already created the maximum
  6155  // number of file systems allowed per account.
  6156  type FileSystemLimitExceeded struct {
  6157  	_            struct{}                  `type:"structure"`
  6158  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6159  
  6160  	// ErrorCode is a required field
  6161  	ErrorCode *string `min:"1" type:"string" required:"true"`
  6162  
  6163  	Message_ *string `locationName:"Message" type:"string"`
  6164  }
  6165  
  6166  // String returns the string representation.
  6167  //
  6168  // API parameter values that are decorated as "sensitive" in the API will not
  6169  // be included in the string output. The member name will be present, but the
  6170  // value will be replaced with "sensitive".
  6171  func (s FileSystemLimitExceeded) String() string {
  6172  	return awsutil.Prettify(s)
  6173  }
  6174  
  6175  // GoString returns the string representation.
  6176  //
  6177  // API parameter values that are decorated as "sensitive" in the API will not
  6178  // be included in the string output. The member name will be present, but the
  6179  // value will be replaced with "sensitive".
  6180  func (s FileSystemLimitExceeded) GoString() string {
  6181  	return s.String()
  6182  }
  6183  
  6184  func newErrorFileSystemLimitExceeded(v protocol.ResponseMetadata) error {
  6185  	return &FileSystemLimitExceeded{
  6186  		RespMetadata: v,
  6187  	}
  6188  }
  6189  
  6190  // Code returns the exception type name.
  6191  func (s *FileSystemLimitExceeded) Code() string {
  6192  	return "FileSystemLimitExceeded"
  6193  }
  6194  
  6195  // Message returns the exception's message.
  6196  func (s *FileSystemLimitExceeded) Message() string {
  6197  	if s.Message_ != nil {
  6198  		return *s.Message_
  6199  	}
  6200  	return ""
  6201  }
  6202  
  6203  // OrigErr always returns nil, satisfies awserr.Error interface.
  6204  func (s *FileSystemLimitExceeded) OrigErr() error {
  6205  	return nil
  6206  }
  6207  
  6208  func (s *FileSystemLimitExceeded) Error() string {
  6209  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  6210  }
  6211  
  6212  // Status code returns the HTTP status code for the request's response error.
  6213  func (s *FileSystemLimitExceeded) StatusCode() int {
  6214  	return s.RespMetadata.StatusCode
  6215  }
  6216  
  6217  // RequestID returns the service's response RequestID for request.
  6218  func (s *FileSystemLimitExceeded) RequestID() string {
  6219  	return s.RespMetadata.RequestID
  6220  }
  6221  
  6222  // Returned if the specified FileSystemId value doesn't exist in the requester's
  6223  // Amazon Web Services account.
  6224  type FileSystemNotFound struct {
  6225  	_            struct{}                  `type:"structure"`
  6226  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6227  
  6228  	// ErrorCode is a required field
  6229  	ErrorCode *string `min:"1" type:"string" required:"true"`
  6230  
  6231  	Message_ *string `locationName:"Message" type:"string"`
  6232  }
  6233  
  6234  // String returns the string representation.
  6235  //
  6236  // API parameter values that are decorated as "sensitive" in the API will not
  6237  // be included in the string output. The member name will be present, but the
  6238  // value will be replaced with "sensitive".
  6239  func (s FileSystemNotFound) String() string {
  6240  	return awsutil.Prettify(s)
  6241  }
  6242  
  6243  // GoString returns the string representation.
  6244  //
  6245  // API parameter values that are decorated as "sensitive" in the API will not
  6246  // be included in the string output. The member name will be present, but the
  6247  // value will be replaced with "sensitive".
  6248  func (s FileSystemNotFound) GoString() string {
  6249  	return s.String()
  6250  }
  6251  
  6252  func newErrorFileSystemNotFound(v protocol.ResponseMetadata) error {
  6253  	return &FileSystemNotFound{
  6254  		RespMetadata: v,
  6255  	}
  6256  }
  6257  
  6258  // Code returns the exception type name.
  6259  func (s *FileSystemNotFound) Code() string {
  6260  	return "FileSystemNotFound"
  6261  }
  6262  
  6263  // Message returns the exception's message.
  6264  func (s *FileSystemNotFound) Message() string {
  6265  	if s.Message_ != nil {
  6266  		return *s.Message_
  6267  	}
  6268  	return ""
  6269  }
  6270  
  6271  // OrigErr always returns nil, satisfies awserr.Error interface.
  6272  func (s *FileSystemNotFound) OrigErr() error {
  6273  	return nil
  6274  }
  6275  
  6276  func (s *FileSystemNotFound) Error() string {
  6277  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  6278  }
  6279  
  6280  // Status code returns the HTTP status code for the request's response error.
  6281  func (s *FileSystemNotFound) StatusCode() int {
  6282  	return s.RespMetadata.StatusCode
  6283  }
  6284  
  6285  // RequestID returns the service's response RequestID for request.
  6286  func (s *FileSystemNotFound) RequestID() string {
  6287  	return s.RespMetadata.RequestID
  6288  }
  6289  
  6290  // The latest known metered size (in bytes) of data stored in the file system,
  6291  // in its Value field, and the time at which that size was determined in its
  6292  // Timestamp field. The value doesn't represent the size of a consistent snapshot
  6293  // of the file system, but it is eventually consistent when there are no writes
  6294  // to the file system. That is, the value represents the actual size only if
  6295  // the file system is not modified for a period longer than a couple of hours.
  6296  // Otherwise, the value is not necessarily the exact size the file system was
  6297  // at any instant in time.
  6298  type FileSystemSize struct {
  6299  	_ struct{} `type:"structure"`
  6300  
  6301  	// The time at which the size of data, returned in the Value field, was determined.
  6302  	// The value is the integer number of seconds since 1970-01-01T00:00:00Z.
  6303  	Timestamp *time.Time `type:"timestamp"`
  6304  
  6305  	// The latest known metered size (in bytes) of data stored in the file system.
  6306  	//
  6307  	// Value is a required field
  6308  	Value *int64 `type:"long" required:"true"`
  6309  
  6310  	// The latest known metered size (in bytes) of data stored in the Infrequent
  6311  	// Access storage class.
  6312  	ValueInIA *int64 `type:"long"`
  6313  
  6314  	// The latest known metered size (in bytes) of data stored in the Standard storage
  6315  	// class.
  6316  	ValueInStandard *int64 `type:"long"`
  6317  }
  6318  
  6319  // String returns the string representation.
  6320  //
  6321  // API parameter values that are decorated as "sensitive" in the API will not
  6322  // be included in the string output. The member name will be present, but the
  6323  // value will be replaced with "sensitive".
  6324  func (s FileSystemSize) String() string {
  6325  	return awsutil.Prettify(s)
  6326  }
  6327  
  6328  // GoString returns the string representation.
  6329  //
  6330  // API parameter values that are decorated as "sensitive" in the API will not
  6331  // be included in the string output. The member name will be present, but the
  6332  // value will be replaced with "sensitive".
  6333  func (s FileSystemSize) GoString() string {
  6334  	return s.String()
  6335  }
  6336  
  6337  // SetTimestamp sets the Timestamp field's value.
  6338  func (s *FileSystemSize) SetTimestamp(v time.Time) *FileSystemSize {
  6339  	s.Timestamp = &v
  6340  	return s
  6341  }
  6342  
  6343  // SetValue sets the Value field's value.
  6344  func (s *FileSystemSize) SetValue(v int64) *FileSystemSize {
  6345  	s.Value = &v
  6346  	return s
  6347  }
  6348  
  6349  // SetValueInIA sets the ValueInIA field's value.
  6350  func (s *FileSystemSize) SetValueInIA(v int64) *FileSystemSize {
  6351  	s.ValueInIA = &v
  6352  	return s
  6353  }
  6354  
  6355  // SetValueInStandard sets the ValueInStandard field's value.
  6356  func (s *FileSystemSize) SetValueInStandard(v int64) *FileSystemSize {
  6357  	s.ValueInStandard = &v
  6358  	return s
  6359  }
  6360  
  6361  // Returned if the file system's lifecycle state is not "available".
  6362  type IncorrectFileSystemLifeCycleState struct {
  6363  	_            struct{}                  `type:"structure"`
  6364  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6365  
  6366  	// ErrorCode is a required field
  6367  	ErrorCode *string `min:"1" type:"string" required:"true"`
  6368  
  6369  	Message_ *string `locationName:"Message" type:"string"`
  6370  }
  6371  
  6372  // String returns the string representation.
  6373  //
  6374  // API parameter values that are decorated as "sensitive" in the API will not
  6375  // be included in the string output. The member name will be present, but the
  6376  // value will be replaced with "sensitive".
  6377  func (s IncorrectFileSystemLifeCycleState) String() string {
  6378  	return awsutil.Prettify(s)
  6379  }
  6380  
  6381  // GoString returns the string representation.
  6382  //
  6383  // API parameter values that are decorated as "sensitive" in the API will not
  6384  // be included in the string output. The member name will be present, but the
  6385  // value will be replaced with "sensitive".
  6386  func (s IncorrectFileSystemLifeCycleState) GoString() string {
  6387  	return s.String()
  6388  }
  6389  
  6390  func newErrorIncorrectFileSystemLifeCycleState(v protocol.ResponseMetadata) error {
  6391  	return &IncorrectFileSystemLifeCycleState{
  6392  		RespMetadata: v,
  6393  	}
  6394  }
  6395  
  6396  // Code returns the exception type name.
  6397  func (s *IncorrectFileSystemLifeCycleState) Code() string {
  6398  	return "IncorrectFileSystemLifeCycleState"
  6399  }
  6400  
  6401  // Message returns the exception's message.
  6402  func (s *IncorrectFileSystemLifeCycleState) Message() string {
  6403  	if s.Message_ != nil {
  6404  		return *s.Message_
  6405  	}
  6406  	return ""
  6407  }
  6408  
  6409  // OrigErr always returns nil, satisfies awserr.Error interface.
  6410  func (s *IncorrectFileSystemLifeCycleState) OrigErr() error {
  6411  	return nil
  6412  }
  6413  
  6414  func (s *IncorrectFileSystemLifeCycleState) Error() string {
  6415  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  6416  }
  6417  
  6418  // Status code returns the HTTP status code for the request's response error.
  6419  func (s *IncorrectFileSystemLifeCycleState) StatusCode() int {
  6420  	return s.RespMetadata.StatusCode
  6421  }
  6422  
  6423  // RequestID returns the service's response RequestID for request.
  6424  func (s *IncorrectFileSystemLifeCycleState) RequestID() string {
  6425  	return s.RespMetadata.RequestID
  6426  }
  6427  
  6428  // Returned if the mount target is not in the correct state for the operation.
  6429  type IncorrectMountTargetState struct {
  6430  	_            struct{}                  `type:"structure"`
  6431  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6432  
  6433  	// ErrorCode is a required field
  6434  	ErrorCode *string `min:"1" type:"string" required:"true"`
  6435  
  6436  	Message_ *string `locationName:"Message" type:"string"`
  6437  }
  6438  
  6439  // String returns the string representation.
  6440  //
  6441  // API parameter values that are decorated as "sensitive" in the API will not
  6442  // be included in the string output. The member name will be present, but the
  6443  // value will be replaced with "sensitive".
  6444  func (s IncorrectMountTargetState) String() string {
  6445  	return awsutil.Prettify(s)
  6446  }
  6447  
  6448  // GoString returns the string representation.
  6449  //
  6450  // API parameter values that are decorated as "sensitive" in the API will not
  6451  // be included in the string output. The member name will be present, but the
  6452  // value will be replaced with "sensitive".
  6453  func (s IncorrectMountTargetState) GoString() string {
  6454  	return s.String()
  6455  }
  6456  
  6457  func newErrorIncorrectMountTargetState(v protocol.ResponseMetadata) error {
  6458  	return &IncorrectMountTargetState{
  6459  		RespMetadata: v,
  6460  	}
  6461  }
  6462  
  6463  // Code returns the exception type name.
  6464  func (s *IncorrectMountTargetState) Code() string {
  6465  	return "IncorrectMountTargetState"
  6466  }
  6467  
  6468  // Message returns the exception's message.
  6469  func (s *IncorrectMountTargetState) Message() string {
  6470  	if s.Message_ != nil {
  6471  		return *s.Message_
  6472  	}
  6473  	return ""
  6474  }
  6475  
  6476  // OrigErr always returns nil, satisfies awserr.Error interface.
  6477  func (s *IncorrectMountTargetState) OrigErr() error {
  6478  	return nil
  6479  }
  6480  
  6481  func (s *IncorrectMountTargetState) Error() string {
  6482  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  6483  }
  6484  
  6485  // Status code returns the HTTP status code for the request's response error.
  6486  func (s *IncorrectMountTargetState) StatusCode() int {
  6487  	return s.RespMetadata.StatusCode
  6488  }
  6489  
  6490  // RequestID returns the service's response RequestID for request.
  6491  func (s *IncorrectMountTargetState) RequestID() string {
  6492  	return s.RespMetadata.RequestID
  6493  }
  6494  
  6495  // Returned if there's not enough capacity to provision additional throughput.
  6496  // This value might be returned when you try to create a file system in provisioned
  6497  // throughput mode, when you attempt to increase the provisioned throughput
  6498  // of an existing file system, or when you attempt to change an existing file
  6499  // system from bursting to provisioned throughput mode. Try again later.
  6500  type InsufficientThroughputCapacity struct {
  6501  	_            struct{}                  `type:"structure"`
  6502  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6503  
  6504  	// ErrorCode is a required field
  6505  	ErrorCode *string `min:"1" type:"string" required:"true"`
  6506  
  6507  	Message_ *string `locationName:"Message" type:"string"`
  6508  }
  6509  
  6510  // String returns the string representation.
  6511  //
  6512  // API parameter values that are decorated as "sensitive" in the API will not
  6513  // be included in the string output. The member name will be present, but the
  6514  // value will be replaced with "sensitive".
  6515  func (s InsufficientThroughputCapacity) String() string {
  6516  	return awsutil.Prettify(s)
  6517  }
  6518  
  6519  // GoString returns the string representation.
  6520  //
  6521  // API parameter values that are decorated as "sensitive" in the API will not
  6522  // be included in the string output. The member name will be present, but the
  6523  // value will be replaced with "sensitive".
  6524  func (s InsufficientThroughputCapacity) GoString() string {
  6525  	return s.String()
  6526  }
  6527  
  6528  func newErrorInsufficientThroughputCapacity(v protocol.ResponseMetadata) error {
  6529  	return &InsufficientThroughputCapacity{
  6530  		RespMetadata: v,
  6531  	}
  6532  }
  6533  
  6534  // Code returns the exception type name.
  6535  func (s *InsufficientThroughputCapacity) Code() string {
  6536  	return "InsufficientThroughputCapacity"
  6537  }
  6538  
  6539  // Message returns the exception's message.
  6540  func (s *InsufficientThroughputCapacity) Message() string {
  6541  	if s.Message_ != nil {
  6542  		return *s.Message_
  6543  	}
  6544  	return ""
  6545  }
  6546  
  6547  // OrigErr always returns nil, satisfies awserr.Error interface.
  6548  func (s *InsufficientThroughputCapacity) OrigErr() error {
  6549  	return nil
  6550  }
  6551  
  6552  func (s *InsufficientThroughputCapacity) Error() string {
  6553  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  6554  }
  6555  
  6556  // Status code returns the HTTP status code for the request's response error.
  6557  func (s *InsufficientThroughputCapacity) StatusCode() int {
  6558  	return s.RespMetadata.StatusCode
  6559  }
  6560  
  6561  // RequestID returns the service's response RequestID for request.
  6562  func (s *InsufficientThroughputCapacity) RequestID() string {
  6563  	return s.RespMetadata.RequestID
  6564  }
  6565  
  6566  // Returned if an error occurred on the server side.
  6567  type InternalServerError struct {
  6568  	_            struct{}                  `type:"structure"`
  6569  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6570  
  6571  	// ErrorCode is a required field
  6572  	ErrorCode *string `min:"1" type:"string" required:"true"`
  6573  
  6574  	Message_ *string `locationName:"Message" type:"string"`
  6575  }
  6576  
  6577  // String returns the string representation.
  6578  //
  6579  // API parameter values that are decorated as "sensitive" in the API will not
  6580  // be included in the string output. The member name will be present, but the
  6581  // value will be replaced with "sensitive".
  6582  func (s InternalServerError) String() string {
  6583  	return awsutil.Prettify(s)
  6584  }
  6585  
  6586  // GoString returns the string representation.
  6587  //
  6588  // API parameter values that are decorated as "sensitive" in the API will not
  6589  // be included in the string output. The member name will be present, but the
  6590  // value will be replaced with "sensitive".
  6591  func (s InternalServerError) GoString() string {
  6592  	return s.String()
  6593  }
  6594  
  6595  func newErrorInternalServerError(v protocol.ResponseMetadata) error {
  6596  	return &InternalServerError{
  6597  		RespMetadata: v,
  6598  	}
  6599  }
  6600  
  6601  // Code returns the exception type name.
  6602  func (s *InternalServerError) Code() string {
  6603  	return "InternalServerError"
  6604  }
  6605  
  6606  // Message returns the exception's message.
  6607  func (s *InternalServerError) Message() string {
  6608  	if s.Message_ != nil {
  6609  		return *s.Message_
  6610  	}
  6611  	return ""
  6612  }
  6613  
  6614  // OrigErr always returns nil, satisfies awserr.Error interface.
  6615  func (s *InternalServerError) OrigErr() error {
  6616  	return nil
  6617  }
  6618  
  6619  func (s *InternalServerError) Error() string {
  6620  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  6621  }
  6622  
  6623  // Status code returns the HTTP status code for the request's response error.
  6624  func (s *InternalServerError) StatusCode() int {
  6625  	return s.RespMetadata.StatusCode
  6626  }
  6627  
  6628  // RequestID returns the service's response RequestID for request.
  6629  func (s *InternalServerError) RequestID() string {
  6630  	return s.RespMetadata.RequestID
  6631  }
  6632  
  6633  // Returned if the FileSystemPolicy is is malformed or contains an error such
  6634  // as an invalid parameter value or a missing required parameter. Returned in
  6635  // the case of a policy lockout safety check error.
  6636  type InvalidPolicyException struct {
  6637  	_            struct{}                  `type:"structure"`
  6638  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6639  
  6640  	ErrorCode *string `min:"1" type:"string"`
  6641  
  6642  	Message_ *string `locationName:"Message" type:"string"`
  6643  }
  6644  
  6645  // String returns the string representation.
  6646  //
  6647  // API parameter values that are decorated as "sensitive" in the API will not
  6648  // be included in the string output. The member name will be present, but the
  6649  // value will be replaced with "sensitive".
  6650  func (s InvalidPolicyException) String() string {
  6651  	return awsutil.Prettify(s)
  6652  }
  6653  
  6654  // GoString returns the string representation.
  6655  //
  6656  // API parameter values that are decorated as "sensitive" in the API will not
  6657  // be included in the string output. The member name will be present, but the
  6658  // value will be replaced with "sensitive".
  6659  func (s InvalidPolicyException) GoString() string {
  6660  	return s.String()
  6661  }
  6662  
  6663  func newErrorInvalidPolicyException(v protocol.ResponseMetadata) error {
  6664  	return &InvalidPolicyException{
  6665  		RespMetadata: v,
  6666  	}
  6667  }
  6668  
  6669  // Code returns the exception type name.
  6670  func (s *InvalidPolicyException) Code() string {
  6671  	return "InvalidPolicyException"
  6672  }
  6673  
  6674  // Message returns the exception's message.
  6675  func (s *InvalidPolicyException) Message() string {
  6676  	if s.Message_ != nil {
  6677  		return *s.Message_
  6678  	}
  6679  	return ""
  6680  }
  6681  
  6682  // OrigErr always returns nil, satisfies awserr.Error interface.
  6683  func (s *InvalidPolicyException) OrigErr() error {
  6684  	return nil
  6685  }
  6686  
  6687  func (s *InvalidPolicyException) Error() string {
  6688  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  6689  }
  6690  
  6691  // Status code returns the HTTP status code for the request's response error.
  6692  func (s *InvalidPolicyException) StatusCode() int {
  6693  	return s.RespMetadata.StatusCode
  6694  }
  6695  
  6696  // RequestID returns the service's response RequestID for request.
  6697  func (s *InvalidPolicyException) RequestID() string {
  6698  	return s.RespMetadata.RequestID
  6699  }
  6700  
  6701  // Returned if the request specified an IpAddress that is already in use in
  6702  // the subnet.
  6703  type IpAddressInUse struct {
  6704  	_            struct{}                  `type:"structure"`
  6705  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6706  
  6707  	// ErrorCode is a required field
  6708  	ErrorCode *string `min:"1" type:"string" required:"true"`
  6709  
  6710  	Message_ *string `locationName:"Message" type:"string"`
  6711  }
  6712  
  6713  // String returns the string representation.
  6714  //
  6715  // API parameter values that are decorated as "sensitive" in the API will not
  6716  // be included in the string output. The member name will be present, but the
  6717  // value will be replaced with "sensitive".
  6718  func (s IpAddressInUse) String() string {
  6719  	return awsutil.Prettify(s)
  6720  }
  6721  
  6722  // GoString returns the string representation.
  6723  //
  6724  // API parameter values that are decorated as "sensitive" in the API will not
  6725  // be included in the string output. The member name will be present, but the
  6726  // value will be replaced with "sensitive".
  6727  func (s IpAddressInUse) GoString() string {
  6728  	return s.String()
  6729  }
  6730  
  6731  func newErrorIpAddressInUse(v protocol.ResponseMetadata) error {
  6732  	return &IpAddressInUse{
  6733  		RespMetadata: v,
  6734  	}
  6735  }
  6736  
  6737  // Code returns the exception type name.
  6738  func (s *IpAddressInUse) Code() string {
  6739  	return "IpAddressInUse"
  6740  }
  6741  
  6742  // Message returns the exception's message.
  6743  func (s *IpAddressInUse) Message() string {
  6744  	if s.Message_ != nil {
  6745  		return *s.Message_
  6746  	}
  6747  	return ""
  6748  }
  6749  
  6750  // OrigErr always returns nil, satisfies awserr.Error interface.
  6751  func (s *IpAddressInUse) OrigErr() error {
  6752  	return nil
  6753  }
  6754  
  6755  func (s *IpAddressInUse) Error() string {
  6756  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  6757  }
  6758  
  6759  // Status code returns the HTTP status code for the request's response error.
  6760  func (s *IpAddressInUse) StatusCode() int {
  6761  	return s.RespMetadata.StatusCode
  6762  }
  6763  
  6764  // RequestID returns the service's response RequestID for request.
  6765  func (s *IpAddressInUse) RequestID() string {
  6766  	return s.RespMetadata.RequestID
  6767  }
  6768  
  6769  // Describes a policy used by EFS lifecycle management to transition files to
  6770  // the Infrequent Access (IA) storage class.
  6771  type LifecyclePolicy struct {
  6772  	_ struct{} `type:"structure"`
  6773  
  6774  	// Describes the period of time that a file is not accessed, after which it
  6775  	// transitions to the IA storage class. Metadata operations such as listing
  6776  	// the contents of a directory don't count as file access events.
  6777  	TransitionToIA *string `type:"string" enum:"TransitionToIARules"`
  6778  
  6779  	// Describes the policy used to transition a file from infequent access storage
  6780  	// to primary storage.
  6781  	TransitionToPrimaryStorageClass *string `type:"string" enum:"TransitionToPrimaryStorageClassRules"`
  6782  }
  6783  
  6784  // String returns the string representation.
  6785  //
  6786  // API parameter values that are decorated as "sensitive" in the API will not
  6787  // be included in the string output. The member name will be present, but the
  6788  // value will be replaced with "sensitive".
  6789  func (s LifecyclePolicy) String() string {
  6790  	return awsutil.Prettify(s)
  6791  }
  6792  
  6793  // GoString returns the string representation.
  6794  //
  6795  // API parameter values that are decorated as "sensitive" in the API will not
  6796  // be included in the string output. The member name will be present, but the
  6797  // value will be replaced with "sensitive".
  6798  func (s LifecyclePolicy) GoString() string {
  6799  	return s.String()
  6800  }
  6801  
  6802  // SetTransitionToIA sets the TransitionToIA field's value.
  6803  func (s *LifecyclePolicy) SetTransitionToIA(v string) *LifecyclePolicy {
  6804  	s.TransitionToIA = &v
  6805  	return s
  6806  }
  6807  
  6808  // SetTransitionToPrimaryStorageClass sets the TransitionToPrimaryStorageClass field's value.
  6809  func (s *LifecyclePolicy) SetTransitionToPrimaryStorageClass(v string) *LifecyclePolicy {
  6810  	s.TransitionToPrimaryStorageClass = &v
  6811  	return s
  6812  }
  6813  
  6814  type ListTagsForResourceInput struct {
  6815  	_ struct{} `type:"structure" nopayload:"true"`
  6816  
  6817  	// (Optional) Specifies the maximum number of tag objects to return in the response.
  6818  	// The default value is 100.
  6819  	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
  6820  
  6821  	// (Optional) You can use NextToken in a subsequent request to fetch the next
  6822  	// page of access point descriptions if the response payload was paginated.
  6823  	NextToken *string `location:"querystring" locationName:"NextToken" min:"1" type:"string"`
  6824  
  6825  	// Specifies the EFS resource you want to retrieve tags for. You can retrieve
  6826  	// tags for EFS file systems and access points using this API endpoint.
  6827  	//
  6828  	// ResourceId is a required field
  6829  	ResourceId *string `location:"uri" locationName:"ResourceId" type:"string" required:"true"`
  6830  }
  6831  
  6832  // String returns the string representation.
  6833  //
  6834  // API parameter values that are decorated as "sensitive" in the API will not
  6835  // be included in the string output. The member name will be present, but the
  6836  // value will be replaced with "sensitive".
  6837  func (s ListTagsForResourceInput) String() string {
  6838  	return awsutil.Prettify(s)
  6839  }
  6840  
  6841  // GoString returns the string representation.
  6842  //
  6843  // API parameter values that are decorated as "sensitive" in the API will not
  6844  // be included in the string output. The member name will be present, but the
  6845  // value will be replaced with "sensitive".
  6846  func (s ListTagsForResourceInput) GoString() string {
  6847  	return s.String()
  6848  }
  6849  
  6850  // Validate inspects the fields of the type to determine if they are valid.
  6851  func (s *ListTagsForResourceInput) Validate() error {
  6852  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  6853  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6854  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6855  	}
  6856  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  6857  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  6858  	}
  6859  	if s.ResourceId == nil {
  6860  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
  6861  	}
  6862  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
  6863  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
  6864  	}
  6865  
  6866  	if invalidParams.Len() > 0 {
  6867  		return invalidParams
  6868  	}
  6869  	return nil
  6870  }
  6871  
  6872  // SetMaxResults sets the MaxResults field's value.
  6873  func (s *ListTagsForResourceInput) SetMaxResults(v int64) *ListTagsForResourceInput {
  6874  	s.MaxResults = &v
  6875  	return s
  6876  }
  6877  
  6878  // SetNextToken sets the NextToken field's value.
  6879  func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
  6880  	s.NextToken = &v
  6881  	return s
  6882  }
  6883  
  6884  // SetResourceId sets the ResourceId field's value.
  6885  func (s *ListTagsForResourceInput) SetResourceId(v string) *ListTagsForResourceInput {
  6886  	s.ResourceId = &v
  6887  	return s
  6888  }
  6889  
  6890  type ListTagsForResourceOutput struct {
  6891  	_ struct{} `type:"structure"`
  6892  
  6893  	// NextToken is present if the response payload is paginated. You can use NextToken
  6894  	// in a subsequent request to fetch the next page of access point descriptions.
  6895  	NextToken *string `min:"1" type:"string"`
  6896  
  6897  	// An array of the tags for the specified EFS resource.
  6898  	Tags []*Tag `type:"list"`
  6899  }
  6900  
  6901  // String returns the string representation.
  6902  //
  6903  // API parameter values that are decorated as "sensitive" in the API will not
  6904  // be included in the string output. The member name will be present, but the
  6905  // value will be replaced with "sensitive".
  6906  func (s ListTagsForResourceOutput) String() string {
  6907  	return awsutil.Prettify(s)
  6908  }
  6909  
  6910  // GoString returns the string representation.
  6911  //
  6912  // API parameter values that are decorated as "sensitive" in the API will not
  6913  // be included in the string output. The member name will be present, but the
  6914  // value will be replaced with "sensitive".
  6915  func (s ListTagsForResourceOutput) GoString() string {
  6916  	return s.String()
  6917  }
  6918  
  6919  // SetNextToken sets the NextToken field's value.
  6920  func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
  6921  	s.NextToken = &v
  6922  	return s
  6923  }
  6924  
  6925  // SetTags sets the Tags field's value.
  6926  func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
  6927  	s.Tags = v
  6928  	return s
  6929  }
  6930  
  6931  type ModifyMountTargetSecurityGroupsInput struct {
  6932  	_ struct{} `type:"structure"`
  6933  
  6934  	// The ID of the mount target whose security groups you want to modify.
  6935  	//
  6936  	// MountTargetId is a required field
  6937  	MountTargetId *string `location:"uri" locationName:"MountTargetId" min:"13" type:"string" required:"true"`
  6938  
  6939  	// An array of up to five VPC security group IDs.
  6940  	SecurityGroups []*string `type:"list"`
  6941  }
  6942  
  6943  // String returns the string representation.
  6944  //
  6945  // API parameter values that are decorated as "sensitive" in the API will not
  6946  // be included in the string output. The member name will be present, but the
  6947  // value will be replaced with "sensitive".
  6948  func (s ModifyMountTargetSecurityGroupsInput) String() string {
  6949  	return awsutil.Prettify(s)
  6950  }
  6951  
  6952  // GoString returns the string representation.
  6953  //
  6954  // API parameter values that are decorated as "sensitive" in the API will not
  6955  // be included in the string output. The member name will be present, but the
  6956  // value will be replaced with "sensitive".
  6957  func (s ModifyMountTargetSecurityGroupsInput) GoString() string {
  6958  	return s.String()
  6959  }
  6960  
  6961  // Validate inspects the fields of the type to determine if they are valid.
  6962  func (s *ModifyMountTargetSecurityGroupsInput) Validate() error {
  6963  	invalidParams := request.ErrInvalidParams{Context: "ModifyMountTargetSecurityGroupsInput"}
  6964  	if s.MountTargetId == nil {
  6965  		invalidParams.Add(request.NewErrParamRequired("MountTargetId"))
  6966  	}
  6967  	if s.MountTargetId != nil && len(*s.MountTargetId) < 13 {
  6968  		invalidParams.Add(request.NewErrParamMinLen("MountTargetId", 13))
  6969  	}
  6970  
  6971  	if invalidParams.Len() > 0 {
  6972  		return invalidParams
  6973  	}
  6974  	return nil
  6975  }
  6976  
  6977  // SetMountTargetId sets the MountTargetId field's value.
  6978  func (s *ModifyMountTargetSecurityGroupsInput) SetMountTargetId(v string) *ModifyMountTargetSecurityGroupsInput {
  6979  	s.MountTargetId = &v
  6980  	return s
  6981  }
  6982  
  6983  // SetSecurityGroups sets the SecurityGroups field's value.
  6984  func (s *ModifyMountTargetSecurityGroupsInput) SetSecurityGroups(v []*string) *ModifyMountTargetSecurityGroupsInput {
  6985  	s.SecurityGroups = v
  6986  	return s
  6987  }
  6988  
  6989  type ModifyMountTargetSecurityGroupsOutput struct {
  6990  	_ struct{} `type:"structure" nopayload:"true"`
  6991  }
  6992  
  6993  // String returns the string representation.
  6994  //
  6995  // API parameter values that are decorated as "sensitive" in the API will not
  6996  // be included in the string output. The member name will be present, but the
  6997  // value will be replaced with "sensitive".
  6998  func (s ModifyMountTargetSecurityGroupsOutput) String() string {
  6999  	return awsutil.Prettify(s)
  7000  }
  7001  
  7002  // GoString returns the string representation.
  7003  //
  7004  // API parameter values that are decorated as "sensitive" in the API will not
  7005  // be included in the string output. The member name will be present, but the
  7006  // value will be replaced with "sensitive".
  7007  func (s ModifyMountTargetSecurityGroupsOutput) GoString() string {
  7008  	return s.String()
  7009  }
  7010  
  7011  // Returned if the mount target would violate one of the specified restrictions
  7012  // based on the file system's existing mount targets.
  7013  type MountTargetConflict struct {
  7014  	_            struct{}                  `type:"structure"`
  7015  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7016  
  7017  	// ErrorCode is a required field
  7018  	ErrorCode *string `min:"1" type:"string" required:"true"`
  7019  
  7020  	Message_ *string `locationName:"Message" type:"string"`
  7021  }
  7022  
  7023  // String returns the string representation.
  7024  //
  7025  // API parameter values that are decorated as "sensitive" in the API will not
  7026  // be included in the string output. The member name will be present, but the
  7027  // value will be replaced with "sensitive".
  7028  func (s MountTargetConflict) String() string {
  7029  	return awsutil.Prettify(s)
  7030  }
  7031  
  7032  // GoString returns the string representation.
  7033  //
  7034  // API parameter values that are decorated as "sensitive" in the API will not
  7035  // be included in the string output. The member name will be present, but the
  7036  // value will be replaced with "sensitive".
  7037  func (s MountTargetConflict) GoString() string {
  7038  	return s.String()
  7039  }
  7040  
  7041  func newErrorMountTargetConflict(v protocol.ResponseMetadata) error {
  7042  	return &MountTargetConflict{
  7043  		RespMetadata: v,
  7044  	}
  7045  }
  7046  
  7047  // Code returns the exception type name.
  7048  func (s *MountTargetConflict) Code() string {
  7049  	return "MountTargetConflict"
  7050  }
  7051  
  7052  // Message returns the exception's message.
  7053  func (s *MountTargetConflict) Message() string {
  7054  	if s.Message_ != nil {
  7055  		return *s.Message_
  7056  	}
  7057  	return ""
  7058  }
  7059  
  7060  // OrigErr always returns nil, satisfies awserr.Error interface.
  7061  func (s *MountTargetConflict) OrigErr() error {
  7062  	return nil
  7063  }
  7064  
  7065  func (s *MountTargetConflict) Error() string {
  7066  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  7067  }
  7068  
  7069  // Status code returns the HTTP status code for the request's response error.
  7070  func (s *MountTargetConflict) StatusCode() int {
  7071  	return s.RespMetadata.StatusCode
  7072  }
  7073  
  7074  // RequestID returns the service's response RequestID for request.
  7075  func (s *MountTargetConflict) RequestID() string {
  7076  	return s.RespMetadata.RequestID
  7077  }
  7078  
  7079  // Provides a description of a mount target.
  7080  type MountTargetDescription struct {
  7081  	_ struct{} `type:"structure"`
  7082  
  7083  	// The unique and consistent identifier of the Availability Zone that the mount
  7084  	// target resides in. For example, use1-az1 is an AZ ID for the us-east-1 Region
  7085  	// and it has the same location in every Amazon Web Services account.
  7086  	AvailabilityZoneId *string `type:"string"`
  7087  
  7088  	// The name of the Availability Zone in which the mount target is located. Availability
  7089  	// Zones are independently mapped to names for each Amazon Web Services account.
  7090  	// For example, the Availability Zone us-east-1a for your Amazon Web Services
  7091  	// account might not be the same location as us-east-1a for another Amazon Web
  7092  	// Services account.
  7093  	AvailabilityZoneName *string `min:"1" type:"string"`
  7094  
  7095  	// The ID of the file system for which the mount target is intended.
  7096  	//
  7097  	// FileSystemId is a required field
  7098  	FileSystemId *string `type:"string" required:"true"`
  7099  
  7100  	// Address at which the file system can be mounted by using the mount target.
  7101  	IpAddress *string `min:"7" type:"string"`
  7102  
  7103  	// Lifecycle state of the mount target.
  7104  	//
  7105  	// LifeCycleState is a required field
  7106  	LifeCycleState *string `type:"string" required:"true" enum:"LifeCycleState"`
  7107  
  7108  	// System-assigned mount target ID.
  7109  	//
  7110  	// MountTargetId is a required field
  7111  	MountTargetId *string `min:"13" type:"string" required:"true"`
  7112  
  7113  	// The ID of the network interface that Amazon EFS created when it created the
  7114  	// mount target.
  7115  	NetworkInterfaceId *string `type:"string"`
  7116  
  7117  	// Amazon Web Services account ID that owns the resource.
  7118  	OwnerId *string `type:"string"`
  7119  
  7120  	// The ID of the mount target's subnet.
  7121  	//
  7122  	// SubnetId is a required field
  7123  	SubnetId *string `min:"15" type:"string" required:"true"`
  7124  
  7125  	// The virtual private cloud (VPC) ID that the mount target is configured in.
  7126  	VpcId *string `type:"string"`
  7127  }
  7128  
  7129  // String returns the string representation.
  7130  //
  7131  // API parameter values that are decorated as "sensitive" in the API will not
  7132  // be included in the string output. The member name will be present, but the
  7133  // value will be replaced with "sensitive".
  7134  func (s MountTargetDescription) String() string {
  7135  	return awsutil.Prettify(s)
  7136  }
  7137  
  7138  // GoString returns the string representation.
  7139  //
  7140  // API parameter values that are decorated as "sensitive" in the API will not
  7141  // be included in the string output. The member name will be present, but the
  7142  // value will be replaced with "sensitive".
  7143  func (s MountTargetDescription) GoString() string {
  7144  	return s.String()
  7145  }
  7146  
  7147  // SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
  7148  func (s *MountTargetDescription) SetAvailabilityZoneId(v string) *MountTargetDescription {
  7149  	s.AvailabilityZoneId = &v
  7150  	return s
  7151  }
  7152  
  7153  // SetAvailabilityZoneName sets the AvailabilityZoneName field's value.
  7154  func (s *MountTargetDescription) SetAvailabilityZoneName(v string) *MountTargetDescription {
  7155  	s.AvailabilityZoneName = &v
  7156  	return s
  7157  }
  7158  
  7159  // SetFileSystemId sets the FileSystemId field's value.
  7160  func (s *MountTargetDescription) SetFileSystemId(v string) *MountTargetDescription {
  7161  	s.FileSystemId = &v
  7162  	return s
  7163  }
  7164  
  7165  // SetIpAddress sets the IpAddress field's value.
  7166  func (s *MountTargetDescription) SetIpAddress(v string) *MountTargetDescription {
  7167  	s.IpAddress = &v
  7168  	return s
  7169  }
  7170  
  7171  // SetLifeCycleState sets the LifeCycleState field's value.
  7172  func (s *MountTargetDescription) SetLifeCycleState(v string) *MountTargetDescription {
  7173  	s.LifeCycleState = &v
  7174  	return s
  7175  }
  7176  
  7177  // SetMountTargetId sets the MountTargetId field's value.
  7178  func (s *MountTargetDescription) SetMountTargetId(v string) *MountTargetDescription {
  7179  	s.MountTargetId = &v
  7180  	return s
  7181  }
  7182  
  7183  // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  7184  func (s *MountTargetDescription) SetNetworkInterfaceId(v string) *MountTargetDescription {
  7185  	s.NetworkInterfaceId = &v
  7186  	return s
  7187  }
  7188  
  7189  // SetOwnerId sets the OwnerId field's value.
  7190  func (s *MountTargetDescription) SetOwnerId(v string) *MountTargetDescription {
  7191  	s.OwnerId = &v
  7192  	return s
  7193  }
  7194  
  7195  // SetSubnetId sets the SubnetId field's value.
  7196  func (s *MountTargetDescription) SetSubnetId(v string) *MountTargetDescription {
  7197  	s.SubnetId = &v
  7198  	return s
  7199  }
  7200  
  7201  // SetVpcId sets the VpcId field's value.
  7202  func (s *MountTargetDescription) SetVpcId(v string) *MountTargetDescription {
  7203  	s.VpcId = &v
  7204  	return s
  7205  }
  7206  
  7207  // Returned if there is no mount target with the specified ID found in the caller's
  7208  // Amazon Web Services account.
  7209  type MountTargetNotFound struct {
  7210  	_            struct{}                  `type:"structure"`
  7211  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7212  
  7213  	// ErrorCode is a required field
  7214  	ErrorCode *string `min:"1" type:"string" required:"true"`
  7215  
  7216  	Message_ *string `locationName:"Message" type:"string"`
  7217  }
  7218  
  7219  // String returns the string representation.
  7220  //
  7221  // API parameter values that are decorated as "sensitive" in the API will not
  7222  // be included in the string output. The member name will be present, but the
  7223  // value will be replaced with "sensitive".
  7224  func (s MountTargetNotFound) String() string {
  7225  	return awsutil.Prettify(s)
  7226  }
  7227  
  7228  // GoString returns the string representation.
  7229  //
  7230  // API parameter values that are decorated as "sensitive" in the API will not
  7231  // be included in the string output. The member name will be present, but the
  7232  // value will be replaced with "sensitive".
  7233  func (s MountTargetNotFound) GoString() string {
  7234  	return s.String()
  7235  }
  7236  
  7237  func newErrorMountTargetNotFound(v protocol.ResponseMetadata) error {
  7238  	return &MountTargetNotFound{
  7239  		RespMetadata: v,
  7240  	}
  7241  }
  7242  
  7243  // Code returns the exception type name.
  7244  func (s *MountTargetNotFound) Code() string {
  7245  	return "MountTargetNotFound"
  7246  }
  7247  
  7248  // Message returns the exception's message.
  7249  func (s *MountTargetNotFound) Message() string {
  7250  	if s.Message_ != nil {
  7251  		return *s.Message_
  7252  	}
  7253  	return ""
  7254  }
  7255  
  7256  // OrigErr always returns nil, satisfies awserr.Error interface.
  7257  func (s *MountTargetNotFound) OrigErr() error {
  7258  	return nil
  7259  }
  7260  
  7261  func (s *MountTargetNotFound) Error() string {
  7262  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  7263  }
  7264  
  7265  // Status code returns the HTTP status code for the request's response error.
  7266  func (s *MountTargetNotFound) StatusCode() int {
  7267  	return s.RespMetadata.StatusCode
  7268  }
  7269  
  7270  // RequestID returns the service's response RequestID for request.
  7271  func (s *MountTargetNotFound) RequestID() string {
  7272  	return s.RespMetadata.RequestID
  7273  }
  7274  
  7275  // The calling account has reached the limit for elastic network interfaces
  7276  // for the specific Amazon Web Services Region. The client should try to delete
  7277  // some elastic network interfaces or get the account limit raised. For more
  7278  // information, see Amazon VPC Limits (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html)
  7279  // in the Amazon VPC User Guide (see the Network interfaces per VPC entry in
  7280  // the table).
  7281  type NetworkInterfaceLimitExceeded struct {
  7282  	_            struct{}                  `type:"structure"`
  7283  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7284  
  7285  	// ErrorCode is a required field
  7286  	ErrorCode *string `min:"1" type:"string" required:"true"`
  7287  
  7288  	Message_ *string `locationName:"Message" type:"string"`
  7289  }
  7290  
  7291  // String returns the string representation.
  7292  //
  7293  // API parameter values that are decorated as "sensitive" in the API will not
  7294  // be included in the string output. The member name will be present, but the
  7295  // value will be replaced with "sensitive".
  7296  func (s NetworkInterfaceLimitExceeded) String() string {
  7297  	return awsutil.Prettify(s)
  7298  }
  7299  
  7300  // GoString returns the string representation.
  7301  //
  7302  // API parameter values that are decorated as "sensitive" in the API will not
  7303  // be included in the string output. The member name will be present, but the
  7304  // value will be replaced with "sensitive".
  7305  func (s NetworkInterfaceLimitExceeded) GoString() string {
  7306  	return s.String()
  7307  }
  7308  
  7309  func newErrorNetworkInterfaceLimitExceeded(v protocol.ResponseMetadata) error {
  7310  	return &NetworkInterfaceLimitExceeded{
  7311  		RespMetadata: v,
  7312  	}
  7313  }
  7314  
  7315  // Code returns the exception type name.
  7316  func (s *NetworkInterfaceLimitExceeded) Code() string {
  7317  	return "NetworkInterfaceLimitExceeded"
  7318  }
  7319  
  7320  // Message returns the exception's message.
  7321  func (s *NetworkInterfaceLimitExceeded) Message() string {
  7322  	if s.Message_ != nil {
  7323  		return *s.Message_
  7324  	}
  7325  	return ""
  7326  }
  7327  
  7328  // OrigErr always returns nil, satisfies awserr.Error interface.
  7329  func (s *NetworkInterfaceLimitExceeded) OrigErr() error {
  7330  	return nil
  7331  }
  7332  
  7333  func (s *NetworkInterfaceLimitExceeded) Error() string {
  7334  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  7335  }
  7336  
  7337  // Status code returns the HTTP status code for the request's response error.
  7338  func (s *NetworkInterfaceLimitExceeded) StatusCode() int {
  7339  	return s.RespMetadata.StatusCode
  7340  }
  7341  
  7342  // RequestID returns the service's response RequestID for request.
  7343  func (s *NetworkInterfaceLimitExceeded) RequestID() string {
  7344  	return s.RespMetadata.RequestID
  7345  }
  7346  
  7347  // Returned if IpAddress was not specified in the request and there are no free
  7348  // IP addresses in the subnet.
  7349  type NoFreeAddressesInSubnet struct {
  7350  	_            struct{}                  `type:"structure"`
  7351  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7352  
  7353  	// ErrorCode is a required field
  7354  	ErrorCode *string `min:"1" type:"string" required:"true"`
  7355  
  7356  	Message_ *string `locationName:"Message" type:"string"`
  7357  }
  7358  
  7359  // String 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 NoFreeAddressesInSubnet) String() string {
  7365  	return awsutil.Prettify(s)
  7366  }
  7367  
  7368  // GoString returns the string representation.
  7369  //
  7370  // API parameter values that are decorated as "sensitive" in the API will not
  7371  // be included in the string output. The member name will be present, but the
  7372  // value will be replaced with "sensitive".
  7373  func (s NoFreeAddressesInSubnet) GoString() string {
  7374  	return s.String()
  7375  }
  7376  
  7377  func newErrorNoFreeAddressesInSubnet(v protocol.ResponseMetadata) error {
  7378  	return &NoFreeAddressesInSubnet{
  7379  		RespMetadata: v,
  7380  	}
  7381  }
  7382  
  7383  // Code returns the exception type name.
  7384  func (s *NoFreeAddressesInSubnet) Code() string {
  7385  	return "NoFreeAddressesInSubnet"
  7386  }
  7387  
  7388  // Message returns the exception's message.
  7389  func (s *NoFreeAddressesInSubnet) Message() string {
  7390  	if s.Message_ != nil {
  7391  		return *s.Message_
  7392  	}
  7393  	return ""
  7394  }
  7395  
  7396  // OrigErr always returns nil, satisfies awserr.Error interface.
  7397  func (s *NoFreeAddressesInSubnet) OrigErr() error {
  7398  	return nil
  7399  }
  7400  
  7401  func (s *NoFreeAddressesInSubnet) Error() string {
  7402  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  7403  }
  7404  
  7405  // Status code returns the HTTP status code for the request's response error.
  7406  func (s *NoFreeAddressesInSubnet) StatusCode() int {
  7407  	return s.RespMetadata.StatusCode
  7408  }
  7409  
  7410  // RequestID returns the service's response RequestID for request.
  7411  func (s *NoFreeAddressesInSubnet) RequestID() string {
  7412  	return s.RespMetadata.RequestID
  7413  }
  7414  
  7415  // Returned if the default file system policy is in effect for the EFS file
  7416  // system specified.
  7417  type PolicyNotFound struct {
  7418  	_            struct{}                  `type:"structure"`
  7419  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7420  
  7421  	ErrorCode *string `min:"1" type:"string"`
  7422  
  7423  	Message_ *string `locationName:"Message" type:"string"`
  7424  }
  7425  
  7426  // String returns the string representation.
  7427  //
  7428  // API parameter values that are decorated as "sensitive" in the API will not
  7429  // be included in the string output. The member name will be present, but the
  7430  // value will be replaced with "sensitive".
  7431  func (s PolicyNotFound) String() string {
  7432  	return awsutil.Prettify(s)
  7433  }
  7434  
  7435  // GoString returns the string representation.
  7436  //
  7437  // API parameter values that are decorated as "sensitive" in the API will not
  7438  // be included in the string output. The member name will be present, but the
  7439  // value will be replaced with "sensitive".
  7440  func (s PolicyNotFound) GoString() string {
  7441  	return s.String()
  7442  }
  7443  
  7444  func newErrorPolicyNotFound(v protocol.ResponseMetadata) error {
  7445  	return &PolicyNotFound{
  7446  		RespMetadata: v,
  7447  	}
  7448  }
  7449  
  7450  // Code returns the exception type name.
  7451  func (s *PolicyNotFound) Code() string {
  7452  	return "PolicyNotFound"
  7453  }
  7454  
  7455  // Message returns the exception's message.
  7456  func (s *PolicyNotFound) Message() string {
  7457  	if s.Message_ != nil {
  7458  		return *s.Message_
  7459  	}
  7460  	return ""
  7461  }
  7462  
  7463  // OrigErr always returns nil, satisfies awserr.Error interface.
  7464  func (s *PolicyNotFound) OrigErr() error {
  7465  	return nil
  7466  }
  7467  
  7468  func (s *PolicyNotFound) Error() string {
  7469  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  7470  }
  7471  
  7472  // Status code returns the HTTP status code for the request's response error.
  7473  func (s *PolicyNotFound) StatusCode() int {
  7474  	return s.RespMetadata.StatusCode
  7475  }
  7476  
  7477  // RequestID returns the service's response RequestID for request.
  7478  func (s *PolicyNotFound) RequestID() string {
  7479  	return s.RespMetadata.RequestID
  7480  }
  7481  
  7482  // The full POSIX identity, including the user ID, group ID, and any secondary
  7483  // group IDs, on the access point that is used for all file system operations
  7484  // performed by NFS clients using the access point.
  7485  type PosixUser struct {
  7486  	_ struct{} `type:"structure"`
  7487  
  7488  	// The POSIX group ID used for all file system operations using this access
  7489  	// point.
  7490  	//
  7491  	// Gid is a required field
  7492  	Gid *int64 `type:"long" required:"true"`
  7493  
  7494  	// Secondary POSIX group IDs used for all file system operations using this
  7495  	// access point.
  7496  	SecondaryGids []*int64 `type:"list"`
  7497  
  7498  	// The POSIX user ID used for all file system operations using this access point.
  7499  	//
  7500  	// Uid is a required field
  7501  	Uid *int64 `type:"long" required:"true"`
  7502  }
  7503  
  7504  // String returns the string representation.
  7505  //
  7506  // API parameter values that are decorated as "sensitive" in the API will not
  7507  // be included in the string output. The member name will be present, but the
  7508  // value will be replaced with "sensitive".
  7509  func (s PosixUser) String() string {
  7510  	return awsutil.Prettify(s)
  7511  }
  7512  
  7513  // GoString returns the string representation.
  7514  //
  7515  // API parameter values that are decorated as "sensitive" in the API will not
  7516  // be included in the string output. The member name will be present, but the
  7517  // value will be replaced with "sensitive".
  7518  func (s PosixUser) GoString() string {
  7519  	return s.String()
  7520  }
  7521  
  7522  // Validate inspects the fields of the type to determine if they are valid.
  7523  func (s *PosixUser) Validate() error {
  7524  	invalidParams := request.ErrInvalidParams{Context: "PosixUser"}
  7525  	if s.Gid == nil {
  7526  		invalidParams.Add(request.NewErrParamRequired("Gid"))
  7527  	}
  7528  	if s.Uid == nil {
  7529  		invalidParams.Add(request.NewErrParamRequired("Uid"))
  7530  	}
  7531  
  7532  	if invalidParams.Len() > 0 {
  7533  		return invalidParams
  7534  	}
  7535  	return nil
  7536  }
  7537  
  7538  // SetGid sets the Gid field's value.
  7539  func (s *PosixUser) SetGid(v int64) *PosixUser {
  7540  	s.Gid = &v
  7541  	return s
  7542  }
  7543  
  7544  // SetSecondaryGids sets the SecondaryGids field's value.
  7545  func (s *PosixUser) SetSecondaryGids(v []*int64) *PosixUser {
  7546  	s.SecondaryGids = v
  7547  	return s
  7548  }
  7549  
  7550  // SetUid sets the Uid field's value.
  7551  func (s *PosixUser) SetUid(v int64) *PosixUser {
  7552  	s.Uid = &v
  7553  	return s
  7554  }
  7555  
  7556  type PutAccountPreferencesInput struct {
  7557  	_ struct{} `type:"structure"`
  7558  
  7559  	// Specifies the EFS resource ID preference to set for the user's Amazon Web
  7560  	// Services account, in the current Amazon Web Services Region, either LONG_ID
  7561  	// (17 characters), or SHORT_ID (8 characters).
  7562  	//
  7563  	// ResourceIdType is a required field
  7564  	ResourceIdType *string `type:"string" required:"true" enum:"ResourceIdType"`
  7565  }
  7566  
  7567  // String returns the string representation.
  7568  //
  7569  // API parameter values that are decorated as "sensitive" in the API will not
  7570  // be included in the string output. The member name will be present, but the
  7571  // value will be replaced with "sensitive".
  7572  func (s PutAccountPreferencesInput) String() string {
  7573  	return awsutil.Prettify(s)
  7574  }
  7575  
  7576  // GoString returns the string representation.
  7577  //
  7578  // API parameter values that are decorated as "sensitive" in the API will not
  7579  // be included in the string output. The member name will be present, but the
  7580  // value will be replaced with "sensitive".
  7581  func (s PutAccountPreferencesInput) GoString() string {
  7582  	return s.String()
  7583  }
  7584  
  7585  // Validate inspects the fields of the type to determine if they are valid.
  7586  func (s *PutAccountPreferencesInput) Validate() error {
  7587  	invalidParams := request.ErrInvalidParams{Context: "PutAccountPreferencesInput"}
  7588  	if s.ResourceIdType == nil {
  7589  		invalidParams.Add(request.NewErrParamRequired("ResourceIdType"))
  7590  	}
  7591  
  7592  	if invalidParams.Len() > 0 {
  7593  		return invalidParams
  7594  	}
  7595  	return nil
  7596  }
  7597  
  7598  // SetResourceIdType sets the ResourceIdType field's value.
  7599  func (s *PutAccountPreferencesInput) SetResourceIdType(v string) *PutAccountPreferencesInput {
  7600  	s.ResourceIdType = &v
  7601  	return s
  7602  }
  7603  
  7604  type PutAccountPreferencesOutput struct {
  7605  	_ struct{} `type:"structure"`
  7606  
  7607  	// Describes the resource type and its ID preference for the user's Amazon Web
  7608  	// Services account, in the current Amazon Web Services Region.
  7609  	ResourceIdPreference *ResourceIdPreference `type:"structure"`
  7610  }
  7611  
  7612  // String returns the string representation.
  7613  //
  7614  // API parameter values that are decorated as "sensitive" in the API will not
  7615  // be included in the string output. The member name will be present, but the
  7616  // value will be replaced with "sensitive".
  7617  func (s PutAccountPreferencesOutput) String() string {
  7618  	return awsutil.Prettify(s)
  7619  }
  7620  
  7621  // GoString returns the string representation.
  7622  //
  7623  // API parameter values that are decorated as "sensitive" in the API will not
  7624  // be included in the string output. The member name will be present, but the
  7625  // value will be replaced with "sensitive".
  7626  func (s PutAccountPreferencesOutput) GoString() string {
  7627  	return s.String()
  7628  }
  7629  
  7630  // SetResourceIdPreference sets the ResourceIdPreference field's value.
  7631  func (s *PutAccountPreferencesOutput) SetResourceIdPreference(v *ResourceIdPreference) *PutAccountPreferencesOutput {
  7632  	s.ResourceIdPreference = v
  7633  	return s
  7634  }
  7635  
  7636  type PutBackupPolicyInput struct {
  7637  	_ struct{} `type:"structure"`
  7638  
  7639  	// The backup policy included in the PutBackupPolicy request.
  7640  	//
  7641  	// BackupPolicy is a required field
  7642  	BackupPolicy *BackupPolicy `type:"structure" required:"true"`
  7643  
  7644  	// Specifies which EFS file system to update the backup policy for.
  7645  	//
  7646  	// FileSystemId is a required field
  7647  	FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"`
  7648  }
  7649  
  7650  // String returns the string representation.
  7651  //
  7652  // API parameter values that are decorated as "sensitive" in the API will not
  7653  // be included in the string output. The member name will be present, but the
  7654  // value will be replaced with "sensitive".
  7655  func (s PutBackupPolicyInput) String() string {
  7656  	return awsutil.Prettify(s)
  7657  }
  7658  
  7659  // GoString returns the string representation.
  7660  //
  7661  // API parameter values that are decorated as "sensitive" in the API will not
  7662  // be included in the string output. The member name will be present, but the
  7663  // value will be replaced with "sensitive".
  7664  func (s PutBackupPolicyInput) GoString() string {
  7665  	return s.String()
  7666  }
  7667  
  7668  // Validate inspects the fields of the type to determine if they are valid.
  7669  func (s *PutBackupPolicyInput) Validate() error {
  7670  	invalidParams := request.ErrInvalidParams{Context: "PutBackupPolicyInput"}
  7671  	if s.BackupPolicy == nil {
  7672  		invalidParams.Add(request.NewErrParamRequired("BackupPolicy"))
  7673  	}
  7674  	if s.FileSystemId == nil {
  7675  		invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
  7676  	}
  7677  	if s.FileSystemId != nil && len(*s.FileSystemId) < 1 {
  7678  		invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1))
  7679  	}
  7680  	if s.BackupPolicy != nil {
  7681  		if err := s.BackupPolicy.Validate(); err != nil {
  7682  			invalidParams.AddNested("BackupPolicy", err.(request.ErrInvalidParams))
  7683  		}
  7684  	}
  7685  
  7686  	if invalidParams.Len() > 0 {
  7687  		return invalidParams
  7688  	}
  7689  	return nil
  7690  }
  7691  
  7692  // SetBackupPolicy sets the BackupPolicy field's value.
  7693  func (s *PutBackupPolicyInput) SetBackupPolicy(v *BackupPolicy) *PutBackupPolicyInput {
  7694  	s.BackupPolicy = v
  7695  	return s
  7696  }
  7697  
  7698  // SetFileSystemId sets the FileSystemId field's value.
  7699  func (s *PutBackupPolicyInput) SetFileSystemId(v string) *PutBackupPolicyInput {
  7700  	s.FileSystemId = &v
  7701  	return s
  7702  }
  7703  
  7704  type PutBackupPolicyOutput struct {
  7705  	_ struct{} `type:"structure"`
  7706  
  7707  	// Describes the file system's backup policy, indicating whether automatic backups
  7708  	// are turned on or off..
  7709  	BackupPolicy *BackupPolicy `type:"structure"`
  7710  }
  7711  
  7712  // String returns the string representation.
  7713  //
  7714  // API parameter values that are decorated as "sensitive" in the API will not
  7715  // be included in the string output. The member name will be present, but the
  7716  // value will be replaced with "sensitive".
  7717  func (s PutBackupPolicyOutput) String() string {
  7718  	return awsutil.Prettify(s)
  7719  }
  7720  
  7721  // GoString returns the string representation.
  7722  //
  7723  // API parameter values that are decorated as "sensitive" in the API will not
  7724  // be included in the string output. The member name will be present, but the
  7725  // value will be replaced with "sensitive".
  7726  func (s PutBackupPolicyOutput) GoString() string {
  7727  	return s.String()
  7728  }
  7729  
  7730  // SetBackupPolicy sets the BackupPolicy field's value.
  7731  func (s *PutBackupPolicyOutput) SetBackupPolicy(v *BackupPolicy) *PutBackupPolicyOutput {
  7732  	s.BackupPolicy = v
  7733  	return s
  7734  }
  7735  
  7736  type PutFileSystemPolicyInput struct {
  7737  	_ struct{} `type:"structure"`
  7738  
  7739  	// (Optional) A flag to indicate whether to bypass the FileSystemPolicy lockout
  7740  	// safety check. The policy lockout safety check determines whether the policy
  7741  	// in the request will prevent the principal making the request will be locked
  7742  	// out from making future PutFileSystemPolicy requests on the file system. Set
  7743  	// BypassPolicyLockoutSafetyCheck to True only when you intend to prevent the
  7744  	// principal that is making the request from making a subsequent PutFileSystemPolicy
  7745  	// request on the file system. The default value is False.
  7746  	BypassPolicyLockoutSafetyCheck *bool `type:"boolean"`
  7747  
  7748  	// The ID of the EFS file system that you want to create or update the FileSystemPolicy
  7749  	// for.
  7750  	//
  7751  	// FileSystemId is a required field
  7752  	FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"`
  7753  
  7754  	// The FileSystemPolicy that you're creating. Accepts a JSON formatted policy
  7755  	// definition. EFS file system policies have a 20,000 character limit. To find
  7756  	// out more about the elements that make up a file system policy, see EFS Resource-based
  7757  	// Policies (https://docs.aws.amazon.com/efs/latest/ug/access-control-overview.html#access-control-manage-access-intro-resource-policies).
  7758  	//
  7759  	// Policy is a required field
  7760  	Policy *string `min:"1" type:"string" required:"true"`
  7761  }
  7762  
  7763  // String returns the string representation.
  7764  //
  7765  // API parameter values that are decorated as "sensitive" in the API will not
  7766  // be included in the string output. The member name will be present, but the
  7767  // value will be replaced with "sensitive".
  7768  func (s PutFileSystemPolicyInput) String() string {
  7769  	return awsutil.Prettify(s)
  7770  }
  7771  
  7772  // GoString returns the string representation.
  7773  //
  7774  // API parameter values that are decorated as "sensitive" in the API will not
  7775  // be included in the string output. The member name will be present, but the
  7776  // value will be replaced with "sensitive".
  7777  func (s PutFileSystemPolicyInput) GoString() string {
  7778  	return s.String()
  7779  }
  7780  
  7781  // Validate inspects the fields of the type to determine if they are valid.
  7782  func (s *PutFileSystemPolicyInput) Validate() error {
  7783  	invalidParams := request.ErrInvalidParams{Context: "PutFileSystemPolicyInput"}
  7784  	if s.FileSystemId == nil {
  7785  		invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
  7786  	}
  7787  	if s.FileSystemId != nil && len(*s.FileSystemId) < 1 {
  7788  		invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1))
  7789  	}
  7790  	if s.Policy == nil {
  7791  		invalidParams.Add(request.NewErrParamRequired("Policy"))
  7792  	}
  7793  	if s.Policy != nil && len(*s.Policy) < 1 {
  7794  		invalidParams.Add(request.NewErrParamMinLen("Policy", 1))
  7795  	}
  7796  
  7797  	if invalidParams.Len() > 0 {
  7798  		return invalidParams
  7799  	}
  7800  	return nil
  7801  }
  7802  
  7803  // SetBypassPolicyLockoutSafetyCheck sets the BypassPolicyLockoutSafetyCheck field's value.
  7804  func (s *PutFileSystemPolicyInput) SetBypassPolicyLockoutSafetyCheck(v bool) *PutFileSystemPolicyInput {
  7805  	s.BypassPolicyLockoutSafetyCheck = &v
  7806  	return s
  7807  }
  7808  
  7809  // SetFileSystemId sets the FileSystemId field's value.
  7810  func (s *PutFileSystemPolicyInput) SetFileSystemId(v string) *PutFileSystemPolicyInput {
  7811  	s.FileSystemId = &v
  7812  	return s
  7813  }
  7814  
  7815  // SetPolicy sets the Policy field's value.
  7816  func (s *PutFileSystemPolicyInput) SetPolicy(v string) *PutFileSystemPolicyInput {
  7817  	s.Policy = &v
  7818  	return s
  7819  }
  7820  
  7821  type PutFileSystemPolicyOutput struct {
  7822  	_ struct{} `type:"structure"`
  7823  
  7824  	// Specifies the EFS file system to which the FileSystemPolicy applies.
  7825  	FileSystemId *string `type:"string"`
  7826  
  7827  	// The JSON formatted FileSystemPolicy for the EFS file system.
  7828  	Policy *string `min:"1" type:"string"`
  7829  }
  7830  
  7831  // String returns the string representation.
  7832  //
  7833  // API parameter values that are decorated as "sensitive" in the API will not
  7834  // be included in the string output. The member name will be present, but the
  7835  // value will be replaced with "sensitive".
  7836  func (s PutFileSystemPolicyOutput) String() string {
  7837  	return awsutil.Prettify(s)
  7838  }
  7839  
  7840  // GoString returns the string representation.
  7841  //
  7842  // API parameter values that are decorated as "sensitive" in the API will not
  7843  // be included in the string output. The member name will be present, but the
  7844  // value will be replaced with "sensitive".
  7845  func (s PutFileSystemPolicyOutput) GoString() string {
  7846  	return s.String()
  7847  }
  7848  
  7849  // SetFileSystemId sets the FileSystemId field's value.
  7850  func (s *PutFileSystemPolicyOutput) SetFileSystemId(v string) *PutFileSystemPolicyOutput {
  7851  	s.FileSystemId = &v
  7852  	return s
  7853  }
  7854  
  7855  // SetPolicy sets the Policy field's value.
  7856  func (s *PutFileSystemPolicyOutput) SetPolicy(v string) *PutFileSystemPolicyOutput {
  7857  	s.Policy = &v
  7858  	return s
  7859  }
  7860  
  7861  type PutLifecycleConfigurationInput struct {
  7862  	_ struct{} `type:"structure"`
  7863  
  7864  	// The ID of the file system for which you are creating the LifecycleConfiguration
  7865  	// object (String).
  7866  	//
  7867  	// FileSystemId is a required field
  7868  	FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"`
  7869  
  7870  	// An array of LifecyclePolicy objects that define the file system's LifecycleConfiguration
  7871  	// object. A LifecycleConfiguration object tells lifecycle management when to
  7872  	// transition files from the Standard storage class to the Infrequent Access
  7873  	// storage class.
  7874  	//
  7875  	// LifecyclePolicies is a required field
  7876  	LifecyclePolicies []*LifecyclePolicy `type:"list" required:"true"`
  7877  }
  7878  
  7879  // String returns the string representation.
  7880  //
  7881  // API parameter values that are decorated as "sensitive" in the API will not
  7882  // be included in the string output. The member name will be present, but the
  7883  // value will be replaced with "sensitive".
  7884  func (s PutLifecycleConfigurationInput) String() string {
  7885  	return awsutil.Prettify(s)
  7886  }
  7887  
  7888  // GoString returns the string representation.
  7889  //
  7890  // API parameter values that are decorated as "sensitive" in the API will not
  7891  // be included in the string output. The member name will be present, but the
  7892  // value will be replaced with "sensitive".
  7893  func (s PutLifecycleConfigurationInput) GoString() string {
  7894  	return s.String()
  7895  }
  7896  
  7897  // Validate inspects the fields of the type to determine if they are valid.
  7898  func (s *PutLifecycleConfigurationInput) Validate() error {
  7899  	invalidParams := request.ErrInvalidParams{Context: "PutLifecycleConfigurationInput"}
  7900  	if s.FileSystemId == nil {
  7901  		invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
  7902  	}
  7903  	if s.FileSystemId != nil && len(*s.FileSystemId) < 1 {
  7904  		invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1))
  7905  	}
  7906  	if s.LifecyclePolicies == nil {
  7907  		invalidParams.Add(request.NewErrParamRequired("LifecyclePolicies"))
  7908  	}
  7909  
  7910  	if invalidParams.Len() > 0 {
  7911  		return invalidParams
  7912  	}
  7913  	return nil
  7914  }
  7915  
  7916  // SetFileSystemId sets the FileSystemId field's value.
  7917  func (s *PutLifecycleConfigurationInput) SetFileSystemId(v string) *PutLifecycleConfigurationInput {
  7918  	s.FileSystemId = &v
  7919  	return s
  7920  }
  7921  
  7922  // SetLifecyclePolicies sets the LifecyclePolicies field's value.
  7923  func (s *PutLifecycleConfigurationInput) SetLifecyclePolicies(v []*LifecyclePolicy) *PutLifecycleConfigurationInput {
  7924  	s.LifecyclePolicies = v
  7925  	return s
  7926  }
  7927  
  7928  type PutLifecycleConfigurationOutput struct {
  7929  	_ struct{} `type:"structure"`
  7930  
  7931  	// An array of lifecycle management policies. EFS supports a maximum of one
  7932  	// policy per file system.
  7933  	LifecyclePolicies []*LifecyclePolicy `type:"list"`
  7934  }
  7935  
  7936  // String returns the string representation.
  7937  //
  7938  // API parameter values that are decorated as "sensitive" in the API will not
  7939  // be included in the string output. The member name will be present, but the
  7940  // value will be replaced with "sensitive".
  7941  func (s PutLifecycleConfigurationOutput) String() string {
  7942  	return awsutil.Prettify(s)
  7943  }
  7944  
  7945  // GoString returns the string representation.
  7946  //
  7947  // API parameter values that are decorated as "sensitive" in the API will not
  7948  // be included in the string output. The member name will be present, but the
  7949  // value will be replaced with "sensitive".
  7950  func (s PutLifecycleConfigurationOutput) GoString() string {
  7951  	return s.String()
  7952  }
  7953  
  7954  // SetLifecyclePolicies sets the LifecyclePolicies field's value.
  7955  func (s *PutLifecycleConfigurationOutput) SetLifecyclePolicies(v []*LifecyclePolicy) *PutLifecycleConfigurationOutput {
  7956  	s.LifecyclePolicies = v
  7957  	return s
  7958  }
  7959  
  7960  // Describes the resource type and its ID preference for the user's Amazon Web
  7961  // Services account, in the current Amazon Web Services Region.
  7962  type ResourceIdPreference struct {
  7963  	_ struct{} `type:"structure"`
  7964  
  7965  	// Identifies the EFS resource ID preference, either LONG_ID (17 characters)
  7966  	// or SHORT_ID (8 characters).
  7967  	ResourceIdType *string `type:"string" enum:"ResourceIdType"`
  7968  
  7969  	// Identifies the Amazon EFS resources to which the ID preference setting applies,
  7970  	// FILE_SYSTEM and MOUNT_TARGET.
  7971  	Resources []*string `type:"list"`
  7972  }
  7973  
  7974  // String returns the string representation.
  7975  //
  7976  // API parameter values that are decorated as "sensitive" in the API will not
  7977  // be included in the string output. The member name will be present, but the
  7978  // value will be replaced with "sensitive".
  7979  func (s ResourceIdPreference) String() string {
  7980  	return awsutil.Prettify(s)
  7981  }
  7982  
  7983  // GoString returns the string representation.
  7984  //
  7985  // API parameter values that are decorated as "sensitive" in the API will not
  7986  // be included in the string output. The member name will be present, but the
  7987  // value will be replaced with "sensitive".
  7988  func (s ResourceIdPreference) GoString() string {
  7989  	return s.String()
  7990  }
  7991  
  7992  // SetResourceIdType sets the ResourceIdType field's value.
  7993  func (s *ResourceIdPreference) SetResourceIdType(v string) *ResourceIdPreference {
  7994  	s.ResourceIdType = &v
  7995  	return s
  7996  }
  7997  
  7998  // SetResources sets the Resources field's value.
  7999  func (s *ResourceIdPreference) SetResources(v []*string) *ResourceIdPreference {
  8000  	s.Resources = v
  8001  	return s
  8002  }
  8003  
  8004  // Specifies the directory on the Amazon EFS file system that the access point
  8005  // provides access to. The access point exposes the specified file system path
  8006  // as the root directory of your file system to applications using the access
  8007  // point. NFS clients using the access point can only access data in the access
  8008  // point's RootDirectory and it's subdirectories.
  8009  type RootDirectory struct {
  8010  	_ struct{} `type:"structure"`
  8011  
  8012  	// (Optional) Specifies the POSIX IDs and permissions to apply to the access
  8013  	// point's RootDirectory. If the RootDirectory > Path specified does not exist,
  8014  	// EFS creates the root directory using the CreationInfo settings when a client
  8015  	// connects to an access point. When specifying the CreationInfo, you must provide
  8016  	// values for all properties.
  8017  	//
  8018  	// If you do not provide CreationInfo and the specified RootDirectory > Path
  8019  	// does not exist, attempts to mount the file system using the access point
  8020  	// will fail.
  8021  	CreationInfo *CreationInfo `type:"structure"`
  8022  
  8023  	// Specifies the path on the EFS file system to expose as the root directory
  8024  	// to NFS clients using the access point to access the EFS file system. A path
  8025  	// can have up to four subdirectories. If the specified path does not exist,
  8026  	// you are required to provide the CreationInfo.
  8027  	Path *string `min:"1" type:"string"`
  8028  }
  8029  
  8030  // String returns the string representation.
  8031  //
  8032  // API parameter values that are decorated as "sensitive" in the API will not
  8033  // be included in the string output. The member name will be present, but the
  8034  // value will be replaced with "sensitive".
  8035  func (s RootDirectory) String() string {
  8036  	return awsutil.Prettify(s)
  8037  }
  8038  
  8039  // GoString returns the string representation.
  8040  //
  8041  // API parameter values that are decorated as "sensitive" in the API will not
  8042  // be included in the string output. The member name will be present, but the
  8043  // value will be replaced with "sensitive".
  8044  func (s RootDirectory) GoString() string {
  8045  	return s.String()
  8046  }
  8047  
  8048  // Validate inspects the fields of the type to determine if they are valid.
  8049  func (s *RootDirectory) Validate() error {
  8050  	invalidParams := request.ErrInvalidParams{Context: "RootDirectory"}
  8051  	if s.Path != nil && len(*s.Path) < 1 {
  8052  		invalidParams.Add(request.NewErrParamMinLen("Path", 1))
  8053  	}
  8054  	if s.CreationInfo != nil {
  8055  		if err := s.CreationInfo.Validate(); err != nil {
  8056  			invalidParams.AddNested("CreationInfo", err.(request.ErrInvalidParams))
  8057  		}
  8058  	}
  8059  
  8060  	if invalidParams.Len() > 0 {
  8061  		return invalidParams
  8062  	}
  8063  	return nil
  8064  }
  8065  
  8066  // SetCreationInfo sets the CreationInfo field's value.
  8067  func (s *RootDirectory) SetCreationInfo(v *CreationInfo) *RootDirectory {
  8068  	s.CreationInfo = v
  8069  	return s
  8070  }
  8071  
  8072  // SetPath sets the Path field's value.
  8073  func (s *RootDirectory) SetPath(v string) *RootDirectory {
  8074  	s.Path = &v
  8075  	return s
  8076  }
  8077  
  8078  // Returned if the size of SecurityGroups specified in the request is greater
  8079  // than five.
  8080  type SecurityGroupLimitExceeded struct {
  8081  	_            struct{}                  `type:"structure"`
  8082  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8083  
  8084  	// ErrorCode is a required field
  8085  	ErrorCode *string `min:"1" type:"string" required:"true"`
  8086  
  8087  	Message_ *string `locationName:"Message" type:"string"`
  8088  }
  8089  
  8090  // String returns the string representation.
  8091  //
  8092  // API parameter values that are decorated as "sensitive" in the API will not
  8093  // be included in the string output. The member name will be present, but the
  8094  // value will be replaced with "sensitive".
  8095  func (s SecurityGroupLimitExceeded) String() string {
  8096  	return awsutil.Prettify(s)
  8097  }
  8098  
  8099  // GoString returns the string representation.
  8100  //
  8101  // API parameter values that are decorated as "sensitive" in the API will not
  8102  // be included in the string output. The member name will be present, but the
  8103  // value will be replaced with "sensitive".
  8104  func (s SecurityGroupLimitExceeded) GoString() string {
  8105  	return s.String()
  8106  }
  8107  
  8108  func newErrorSecurityGroupLimitExceeded(v protocol.ResponseMetadata) error {
  8109  	return &SecurityGroupLimitExceeded{
  8110  		RespMetadata: v,
  8111  	}
  8112  }
  8113  
  8114  // Code returns the exception type name.
  8115  func (s *SecurityGroupLimitExceeded) Code() string {
  8116  	return "SecurityGroupLimitExceeded"
  8117  }
  8118  
  8119  // Message returns the exception's message.
  8120  func (s *SecurityGroupLimitExceeded) Message() string {
  8121  	if s.Message_ != nil {
  8122  		return *s.Message_
  8123  	}
  8124  	return ""
  8125  }
  8126  
  8127  // OrigErr always returns nil, satisfies awserr.Error interface.
  8128  func (s *SecurityGroupLimitExceeded) OrigErr() error {
  8129  	return nil
  8130  }
  8131  
  8132  func (s *SecurityGroupLimitExceeded) Error() string {
  8133  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  8134  }
  8135  
  8136  // Status code returns the HTTP status code for the request's response error.
  8137  func (s *SecurityGroupLimitExceeded) StatusCode() int {
  8138  	return s.RespMetadata.StatusCode
  8139  }
  8140  
  8141  // RequestID returns the service's response RequestID for request.
  8142  func (s *SecurityGroupLimitExceeded) RequestID() string {
  8143  	return s.RespMetadata.RequestID
  8144  }
  8145  
  8146  // Returned if one of the specified security groups doesn't exist in the subnet's
  8147  // VPC.
  8148  type SecurityGroupNotFound struct {
  8149  	_            struct{}                  `type:"structure"`
  8150  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8151  
  8152  	// ErrorCode is a required field
  8153  	ErrorCode *string `min:"1" type:"string" required:"true"`
  8154  
  8155  	Message_ *string `locationName:"Message" type:"string"`
  8156  }
  8157  
  8158  // String returns the string representation.
  8159  //
  8160  // API parameter values that are decorated as "sensitive" in the API will not
  8161  // be included in the string output. The member name will be present, but the
  8162  // value will be replaced with "sensitive".
  8163  func (s SecurityGroupNotFound) String() string {
  8164  	return awsutil.Prettify(s)
  8165  }
  8166  
  8167  // GoString returns the string representation.
  8168  //
  8169  // API parameter values that are decorated as "sensitive" in the API will not
  8170  // be included in the string output. The member name will be present, but the
  8171  // value will be replaced with "sensitive".
  8172  func (s SecurityGroupNotFound) GoString() string {
  8173  	return s.String()
  8174  }
  8175  
  8176  func newErrorSecurityGroupNotFound(v protocol.ResponseMetadata) error {
  8177  	return &SecurityGroupNotFound{
  8178  		RespMetadata: v,
  8179  	}
  8180  }
  8181  
  8182  // Code returns the exception type name.
  8183  func (s *SecurityGroupNotFound) Code() string {
  8184  	return "SecurityGroupNotFound"
  8185  }
  8186  
  8187  // Message returns the exception's message.
  8188  func (s *SecurityGroupNotFound) Message() string {
  8189  	if s.Message_ != nil {
  8190  		return *s.Message_
  8191  	}
  8192  	return ""
  8193  }
  8194  
  8195  // OrigErr always returns nil, satisfies awserr.Error interface.
  8196  func (s *SecurityGroupNotFound) OrigErr() error {
  8197  	return nil
  8198  }
  8199  
  8200  func (s *SecurityGroupNotFound) Error() string {
  8201  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  8202  }
  8203  
  8204  // Status code returns the HTTP status code for the request's response error.
  8205  func (s *SecurityGroupNotFound) StatusCode() int {
  8206  	return s.RespMetadata.StatusCode
  8207  }
  8208  
  8209  // RequestID returns the service's response RequestID for request.
  8210  func (s *SecurityGroupNotFound) RequestID() string {
  8211  	return s.RespMetadata.RequestID
  8212  }
  8213  
  8214  // Returned if there is no subnet with ID SubnetId provided in the request.
  8215  type SubnetNotFound struct {
  8216  	_            struct{}                  `type:"structure"`
  8217  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8218  
  8219  	// ErrorCode is a required field
  8220  	ErrorCode *string `min:"1" type:"string" required:"true"`
  8221  
  8222  	Message_ *string `locationName:"Message" type:"string"`
  8223  }
  8224  
  8225  // String returns the string representation.
  8226  //
  8227  // API parameter values that are decorated as "sensitive" in the API will not
  8228  // be included in the string output. The member name will be present, but the
  8229  // value will be replaced with "sensitive".
  8230  func (s SubnetNotFound) String() string {
  8231  	return awsutil.Prettify(s)
  8232  }
  8233  
  8234  // GoString returns the string representation.
  8235  //
  8236  // API parameter values that are decorated as "sensitive" in the API will not
  8237  // be included in the string output. The member name will be present, but the
  8238  // value will be replaced with "sensitive".
  8239  func (s SubnetNotFound) GoString() string {
  8240  	return s.String()
  8241  }
  8242  
  8243  func newErrorSubnetNotFound(v protocol.ResponseMetadata) error {
  8244  	return &SubnetNotFound{
  8245  		RespMetadata: v,
  8246  	}
  8247  }
  8248  
  8249  // Code returns the exception type name.
  8250  func (s *SubnetNotFound) Code() string {
  8251  	return "SubnetNotFound"
  8252  }
  8253  
  8254  // Message returns the exception's message.
  8255  func (s *SubnetNotFound) Message() string {
  8256  	if s.Message_ != nil {
  8257  		return *s.Message_
  8258  	}
  8259  	return ""
  8260  }
  8261  
  8262  // OrigErr always returns nil, satisfies awserr.Error interface.
  8263  func (s *SubnetNotFound) OrigErr() error {
  8264  	return nil
  8265  }
  8266  
  8267  func (s *SubnetNotFound) Error() string {
  8268  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  8269  }
  8270  
  8271  // Status code returns the HTTP status code for the request's response error.
  8272  func (s *SubnetNotFound) StatusCode() int {
  8273  	return s.RespMetadata.StatusCode
  8274  }
  8275  
  8276  // RequestID returns the service's response RequestID for request.
  8277  func (s *SubnetNotFound) RequestID() string {
  8278  	return s.RespMetadata.RequestID
  8279  }
  8280  
  8281  // A tag is a key-value pair. Allowed characters are letters, white space, and
  8282  // numbers that can be represented in UTF-8, and the following characters:+
  8283  // - = . _ : /.
  8284  type Tag struct {
  8285  	_ struct{} `type:"structure"`
  8286  
  8287  	// The tag key (String). The key can't start with aws:.
  8288  	//
  8289  	// Key is a required field
  8290  	Key *string `min:"1" type:"string" required:"true"`
  8291  
  8292  	// The value of the tag key.
  8293  	//
  8294  	// Value is a required field
  8295  	Value *string `type:"string" required:"true"`
  8296  }
  8297  
  8298  // String returns the string representation.
  8299  //
  8300  // API parameter values that are decorated as "sensitive" in the API will not
  8301  // be included in the string output. The member name will be present, but the
  8302  // value will be replaced with "sensitive".
  8303  func (s Tag) String() string {
  8304  	return awsutil.Prettify(s)
  8305  }
  8306  
  8307  // GoString returns the string representation.
  8308  //
  8309  // API parameter values that are decorated as "sensitive" in the API will not
  8310  // be included in the string output. The member name will be present, but the
  8311  // value will be replaced with "sensitive".
  8312  func (s Tag) GoString() string {
  8313  	return s.String()
  8314  }
  8315  
  8316  // Validate inspects the fields of the type to determine if they are valid.
  8317  func (s *Tag) Validate() error {
  8318  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
  8319  	if s.Key == nil {
  8320  		invalidParams.Add(request.NewErrParamRequired("Key"))
  8321  	}
  8322  	if s.Key != nil && len(*s.Key) < 1 {
  8323  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
  8324  	}
  8325  	if s.Value == nil {
  8326  		invalidParams.Add(request.NewErrParamRequired("Value"))
  8327  	}
  8328  
  8329  	if invalidParams.Len() > 0 {
  8330  		return invalidParams
  8331  	}
  8332  	return nil
  8333  }
  8334  
  8335  // SetKey sets the Key field's value.
  8336  func (s *Tag) SetKey(v string) *Tag {
  8337  	s.Key = &v
  8338  	return s
  8339  }
  8340  
  8341  // SetValue sets the Value field's value.
  8342  func (s *Tag) SetValue(v string) *Tag {
  8343  	s.Value = &v
  8344  	return s
  8345  }
  8346  
  8347  type TagResourceInput struct {
  8348  	_ struct{} `type:"structure"`
  8349  
  8350  	// The ID specifying the EFS resource that you want to create a tag for.
  8351  	//
  8352  	// ResourceId is a required field
  8353  	ResourceId *string `location:"uri" locationName:"ResourceId" type:"string" required:"true"`
  8354  
  8355  	// An array of Tag objects to add. Each Tag object is a key-value pair.
  8356  	//
  8357  	// Tags is a required field
  8358  	Tags []*Tag `type:"list" required:"true"`
  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 TagResourceInput) 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 TagResourceInput) GoString() string {
  8376  	return s.String()
  8377  }
  8378  
  8379  // Validate inspects the fields of the type to determine if they are valid.
  8380  func (s *TagResourceInput) Validate() error {
  8381  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  8382  	if s.ResourceId == nil {
  8383  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
  8384  	}
  8385  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
  8386  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
  8387  	}
  8388  	if s.Tags == nil {
  8389  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  8390  	}
  8391  	if s.Tags != nil {
  8392  		for i, v := range s.Tags {
  8393  			if v == nil {
  8394  				continue
  8395  			}
  8396  			if err := v.Validate(); err != nil {
  8397  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  8398  			}
  8399  		}
  8400  	}
  8401  
  8402  	if invalidParams.Len() > 0 {
  8403  		return invalidParams
  8404  	}
  8405  	return nil
  8406  }
  8407  
  8408  // SetResourceId sets the ResourceId field's value.
  8409  func (s *TagResourceInput) SetResourceId(v string) *TagResourceInput {
  8410  	s.ResourceId = &v
  8411  	return s
  8412  }
  8413  
  8414  // SetTags sets the Tags field's value.
  8415  func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
  8416  	s.Tags = v
  8417  	return s
  8418  }
  8419  
  8420  type TagResourceOutput struct {
  8421  	_ struct{} `type:"structure" nopayload:"true"`
  8422  }
  8423  
  8424  // String returns the string representation.
  8425  //
  8426  // API parameter values that are decorated as "sensitive" in the API will not
  8427  // be included in the string output. The member name will be present, but the
  8428  // value will be replaced with "sensitive".
  8429  func (s TagResourceOutput) String() string {
  8430  	return awsutil.Prettify(s)
  8431  }
  8432  
  8433  // GoString returns the string representation.
  8434  //
  8435  // API parameter values that are decorated as "sensitive" in the API will not
  8436  // be included in the string output. The member name will be present, but the
  8437  // value will be replaced with "sensitive".
  8438  func (s TagResourceOutput) GoString() string {
  8439  	return s.String()
  8440  }
  8441  
  8442  // Returned if the throughput mode or amount of provisioned throughput can't
  8443  // be changed because the throughput limit of 1024 MiB/s has been reached.
  8444  type ThroughputLimitExceeded struct {
  8445  	_            struct{}                  `type:"structure"`
  8446  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8447  
  8448  	// ErrorCode is a required field
  8449  	ErrorCode *string `min:"1" type:"string" required:"true"`
  8450  
  8451  	Message_ *string `locationName:"Message" type:"string"`
  8452  }
  8453  
  8454  // String returns the string representation.
  8455  //
  8456  // API parameter values that are decorated as "sensitive" in the API will not
  8457  // be included in the string output. The member name will be present, but the
  8458  // value will be replaced with "sensitive".
  8459  func (s ThroughputLimitExceeded) String() string {
  8460  	return awsutil.Prettify(s)
  8461  }
  8462  
  8463  // GoString returns the string representation.
  8464  //
  8465  // API parameter values that are decorated as "sensitive" in the API will not
  8466  // be included in the string output. The member name will be present, but the
  8467  // value will be replaced with "sensitive".
  8468  func (s ThroughputLimitExceeded) GoString() string {
  8469  	return s.String()
  8470  }
  8471  
  8472  func newErrorThroughputLimitExceeded(v protocol.ResponseMetadata) error {
  8473  	return &ThroughputLimitExceeded{
  8474  		RespMetadata: v,
  8475  	}
  8476  }
  8477  
  8478  // Code returns the exception type name.
  8479  func (s *ThroughputLimitExceeded) Code() string {
  8480  	return "ThroughputLimitExceeded"
  8481  }
  8482  
  8483  // Message returns the exception's message.
  8484  func (s *ThroughputLimitExceeded) Message() string {
  8485  	if s.Message_ != nil {
  8486  		return *s.Message_
  8487  	}
  8488  	return ""
  8489  }
  8490  
  8491  // OrigErr always returns nil, satisfies awserr.Error interface.
  8492  func (s *ThroughputLimitExceeded) OrigErr() error {
  8493  	return nil
  8494  }
  8495  
  8496  func (s *ThroughputLimitExceeded) Error() string {
  8497  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  8498  }
  8499  
  8500  // Status code returns the HTTP status code for the request's response error.
  8501  func (s *ThroughputLimitExceeded) StatusCode() int {
  8502  	return s.RespMetadata.StatusCode
  8503  }
  8504  
  8505  // RequestID returns the service's response RequestID for request.
  8506  func (s *ThroughputLimitExceeded) RequestID() string {
  8507  	return s.RespMetadata.RequestID
  8508  }
  8509  
  8510  // Returned if you don’t wait at least 24 hours before changing the throughput
  8511  // mode, or decreasing the Provisioned Throughput value.
  8512  type TooManyRequests struct {
  8513  	_            struct{}                  `type:"structure"`
  8514  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8515  
  8516  	// ErrorCode is a required field
  8517  	ErrorCode *string `min:"1" type:"string" required:"true"`
  8518  
  8519  	Message_ *string `locationName:"Message" type:"string"`
  8520  }
  8521  
  8522  // String returns the string representation.
  8523  //
  8524  // API parameter values that are decorated as "sensitive" in the API will not
  8525  // be included in the string output. The member name will be present, but the
  8526  // value will be replaced with "sensitive".
  8527  func (s TooManyRequests) String() string {
  8528  	return awsutil.Prettify(s)
  8529  }
  8530  
  8531  // GoString returns the string representation.
  8532  //
  8533  // API parameter values that are decorated as "sensitive" in the API will not
  8534  // be included in the string output. The member name will be present, but the
  8535  // value will be replaced with "sensitive".
  8536  func (s TooManyRequests) GoString() string {
  8537  	return s.String()
  8538  }
  8539  
  8540  func newErrorTooManyRequests(v protocol.ResponseMetadata) error {
  8541  	return &TooManyRequests{
  8542  		RespMetadata: v,
  8543  	}
  8544  }
  8545  
  8546  // Code returns the exception type name.
  8547  func (s *TooManyRequests) Code() string {
  8548  	return "TooManyRequests"
  8549  }
  8550  
  8551  // Message returns the exception's message.
  8552  func (s *TooManyRequests) Message() string {
  8553  	if s.Message_ != nil {
  8554  		return *s.Message_
  8555  	}
  8556  	return ""
  8557  }
  8558  
  8559  // OrigErr always returns nil, satisfies awserr.Error interface.
  8560  func (s *TooManyRequests) OrigErr() error {
  8561  	return nil
  8562  }
  8563  
  8564  func (s *TooManyRequests) Error() string {
  8565  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  8566  }
  8567  
  8568  // Status code returns the HTTP status code for the request's response error.
  8569  func (s *TooManyRequests) StatusCode() int {
  8570  	return s.RespMetadata.StatusCode
  8571  }
  8572  
  8573  // RequestID returns the service's response RequestID for request.
  8574  func (s *TooManyRequests) RequestID() string {
  8575  	return s.RespMetadata.RequestID
  8576  }
  8577  
  8578  // Returned if the requested Amazon EFS functionality is not available in the
  8579  // specified Availability Zone.
  8580  type UnsupportedAvailabilityZone struct {
  8581  	_            struct{}                  `type:"structure"`
  8582  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8583  
  8584  	// ErrorCode is a required field
  8585  	ErrorCode *string `min:"1" type:"string" required:"true"`
  8586  
  8587  	Message_ *string `locationName:"Message" type:"string"`
  8588  }
  8589  
  8590  // String returns the string representation.
  8591  //
  8592  // API parameter values that are decorated as "sensitive" in the API will not
  8593  // be included in the string output. The member name will be present, but the
  8594  // value will be replaced with "sensitive".
  8595  func (s UnsupportedAvailabilityZone) String() string {
  8596  	return awsutil.Prettify(s)
  8597  }
  8598  
  8599  // GoString returns the string representation.
  8600  //
  8601  // API parameter values that are decorated as "sensitive" in the API will not
  8602  // be included in the string output. The member name will be present, but the
  8603  // value will be replaced with "sensitive".
  8604  func (s UnsupportedAvailabilityZone) GoString() string {
  8605  	return s.String()
  8606  }
  8607  
  8608  func newErrorUnsupportedAvailabilityZone(v protocol.ResponseMetadata) error {
  8609  	return &UnsupportedAvailabilityZone{
  8610  		RespMetadata: v,
  8611  	}
  8612  }
  8613  
  8614  // Code returns the exception type name.
  8615  func (s *UnsupportedAvailabilityZone) Code() string {
  8616  	return "UnsupportedAvailabilityZone"
  8617  }
  8618  
  8619  // Message returns the exception's message.
  8620  func (s *UnsupportedAvailabilityZone) Message() string {
  8621  	if s.Message_ != nil {
  8622  		return *s.Message_
  8623  	}
  8624  	return ""
  8625  }
  8626  
  8627  // OrigErr always returns nil, satisfies awserr.Error interface.
  8628  func (s *UnsupportedAvailabilityZone) OrigErr() error {
  8629  	return nil
  8630  }
  8631  
  8632  func (s *UnsupportedAvailabilityZone) Error() string {
  8633  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  8634  }
  8635  
  8636  // Status code returns the HTTP status code for the request's response error.
  8637  func (s *UnsupportedAvailabilityZone) StatusCode() int {
  8638  	return s.RespMetadata.StatusCode
  8639  }
  8640  
  8641  // RequestID returns the service's response RequestID for request.
  8642  func (s *UnsupportedAvailabilityZone) RequestID() string {
  8643  	return s.RespMetadata.RequestID
  8644  }
  8645  
  8646  type UntagResourceInput struct {
  8647  	_ struct{} `type:"structure" nopayload:"true"`
  8648  
  8649  	// Specifies the EFS resource that you want to remove tags from.
  8650  	//
  8651  	// ResourceId is a required field
  8652  	ResourceId *string `location:"uri" locationName:"ResourceId" type:"string" required:"true"`
  8653  
  8654  	// The keys of the key-value tag pairs that you want to remove from the specified
  8655  	// EFS resource.
  8656  	//
  8657  	// TagKeys is a required field
  8658  	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
  8659  }
  8660  
  8661  // String returns the string representation.
  8662  //
  8663  // API parameter values that are decorated as "sensitive" in the API will not
  8664  // be included in the string output. The member name will be present, but the
  8665  // value will be replaced with "sensitive".
  8666  func (s UntagResourceInput) String() string {
  8667  	return awsutil.Prettify(s)
  8668  }
  8669  
  8670  // GoString returns the string representation.
  8671  //
  8672  // API parameter values that are decorated as "sensitive" in the API will not
  8673  // be included in the string output. The member name will be present, but the
  8674  // value will be replaced with "sensitive".
  8675  func (s UntagResourceInput) GoString() string {
  8676  	return s.String()
  8677  }
  8678  
  8679  // Validate inspects the fields of the type to determine if they are valid.
  8680  func (s *UntagResourceInput) Validate() error {
  8681  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
  8682  	if s.ResourceId == nil {
  8683  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
  8684  	}
  8685  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
  8686  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
  8687  	}
  8688  	if s.TagKeys == nil {
  8689  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  8690  	}
  8691  	if s.TagKeys != nil && len(s.TagKeys) < 1 {
  8692  		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
  8693  	}
  8694  
  8695  	if invalidParams.Len() > 0 {
  8696  		return invalidParams
  8697  	}
  8698  	return nil
  8699  }
  8700  
  8701  // SetResourceId sets the ResourceId field's value.
  8702  func (s *UntagResourceInput) SetResourceId(v string) *UntagResourceInput {
  8703  	s.ResourceId = &v
  8704  	return s
  8705  }
  8706  
  8707  // SetTagKeys sets the TagKeys field's value.
  8708  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
  8709  	s.TagKeys = v
  8710  	return s
  8711  }
  8712  
  8713  type UntagResourceOutput struct {
  8714  	_ struct{} `type:"structure" nopayload:"true"`
  8715  }
  8716  
  8717  // String returns the string representation.
  8718  //
  8719  // API parameter values that are decorated as "sensitive" in the API will not
  8720  // be included in the string output. The member name will be present, but the
  8721  // value will be replaced with "sensitive".
  8722  func (s UntagResourceOutput) String() string {
  8723  	return awsutil.Prettify(s)
  8724  }
  8725  
  8726  // GoString returns the string representation.
  8727  //
  8728  // API parameter values that are decorated as "sensitive" in the API will not
  8729  // be included in the string output. The member name will be present, but the
  8730  // value will be replaced with "sensitive".
  8731  func (s UntagResourceOutput) GoString() string {
  8732  	return s.String()
  8733  }
  8734  
  8735  type UpdateFileSystemInput struct {
  8736  	_ struct{} `type:"structure"`
  8737  
  8738  	// The ID of the file system that you want to update.
  8739  	//
  8740  	// FileSystemId is a required field
  8741  	FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"`
  8742  
  8743  	// (Optional) Sets the amount of provisioned throughput, in MiB/s, for the file
  8744  	// system. Valid values are 1-1024. If you are changing the throughput mode
  8745  	// to provisioned, you must also provide the amount of provisioned throughput.
  8746  	// Required if ThroughputMode is changed to provisioned on update.
  8747  	ProvisionedThroughputInMibps *float64 `min:"1" type:"double"`
  8748  
  8749  	// (Optional) Updates the file system's throughput mode. If you're not updating
  8750  	// your throughput mode, you don't need to provide this value in your request.
  8751  	// If you are changing the ThroughputMode to provisioned, you must also set
  8752  	// a value for ProvisionedThroughputInMibps.
  8753  	ThroughputMode *string `type:"string" enum:"ThroughputMode"`
  8754  }
  8755  
  8756  // String returns the string representation.
  8757  //
  8758  // API parameter values that are decorated as "sensitive" in the API will not
  8759  // be included in the string output. The member name will be present, but the
  8760  // value will be replaced with "sensitive".
  8761  func (s UpdateFileSystemInput) String() string {
  8762  	return awsutil.Prettify(s)
  8763  }
  8764  
  8765  // GoString returns the string representation.
  8766  //
  8767  // API parameter values that are decorated as "sensitive" in the API will not
  8768  // be included in the string output. The member name will be present, but the
  8769  // value will be replaced with "sensitive".
  8770  func (s UpdateFileSystemInput) GoString() string {
  8771  	return s.String()
  8772  }
  8773  
  8774  // Validate inspects the fields of the type to determine if they are valid.
  8775  func (s *UpdateFileSystemInput) Validate() error {
  8776  	invalidParams := request.ErrInvalidParams{Context: "UpdateFileSystemInput"}
  8777  	if s.FileSystemId == nil {
  8778  		invalidParams.Add(request.NewErrParamRequired("FileSystemId"))
  8779  	}
  8780  	if s.FileSystemId != nil && len(*s.FileSystemId) < 1 {
  8781  		invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1))
  8782  	}
  8783  	if s.ProvisionedThroughputInMibps != nil && *s.ProvisionedThroughputInMibps < 1 {
  8784  		invalidParams.Add(request.NewErrParamMinValue("ProvisionedThroughputInMibps", 1))
  8785  	}
  8786  
  8787  	if invalidParams.Len() > 0 {
  8788  		return invalidParams
  8789  	}
  8790  	return nil
  8791  }
  8792  
  8793  // SetFileSystemId sets the FileSystemId field's value.
  8794  func (s *UpdateFileSystemInput) SetFileSystemId(v string) *UpdateFileSystemInput {
  8795  	s.FileSystemId = &v
  8796  	return s
  8797  }
  8798  
  8799  // SetProvisionedThroughputInMibps sets the ProvisionedThroughputInMibps field's value.
  8800  func (s *UpdateFileSystemInput) SetProvisionedThroughputInMibps(v float64) *UpdateFileSystemInput {
  8801  	s.ProvisionedThroughputInMibps = &v
  8802  	return s
  8803  }
  8804  
  8805  // SetThroughputMode sets the ThroughputMode field's value.
  8806  func (s *UpdateFileSystemInput) SetThroughputMode(v string) *UpdateFileSystemInput {
  8807  	s.ThroughputMode = &v
  8808  	return s
  8809  }
  8810  
  8811  // A description of the file system.
  8812  type UpdateFileSystemOutput struct {
  8813  	_ struct{} `type:"structure"`
  8814  
  8815  	// The unique and consistent identifier of the Availability Zone in which the
  8816  	// file system's One Zone storage classes exist. For example, use1-az1 is an
  8817  	// Availability Zone ID for the us-east-1 Amazon Web Services Region, and it
  8818  	// has the same location in every Amazon Web Services account.
  8819  	AvailabilityZoneId *string `type:"string"`
  8820  
  8821  	// Describes the Amazon Web Services Availability Zone in which the file system
  8822  	// is located, and is valid only for file systems using One Zone storage classes.
  8823  	// For more information, see Using EFS storage classes (https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html)
  8824  	// in the Amazon EFS User Guide.
  8825  	AvailabilityZoneName *string `min:"1" type:"string"`
  8826  
  8827  	// The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z).
  8828  	//
  8829  	// CreationTime is a required field
  8830  	CreationTime *time.Time `type:"timestamp" required:"true"`
  8831  
  8832  	// The opaque string specified in the request.
  8833  	//
  8834  	// CreationToken is a required field
  8835  	CreationToken *string `min:"1" type:"string" required:"true"`
  8836  
  8837  	// A Boolean value that, if true, indicates that the file system is encrypted.
  8838  	Encrypted *bool `type:"boolean"`
  8839  
  8840  	// The Amazon Resource Name (ARN) for the EFS file system, in the format arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id
  8841  	// . Example with sample data: arn:aws:elasticfilesystem:us-west-2:1111333322228888:file-system/fs-01234567
  8842  	FileSystemArn *string `type:"string"`
  8843  
  8844  	// The ID of the file system, assigned by Amazon EFS.
  8845  	//
  8846  	// FileSystemId is a required field
  8847  	FileSystemId *string `type:"string" required:"true"`
  8848  
  8849  	// The ID of an Key Management Service customer master key (CMK) that was used
  8850  	// to protect the encrypted file system.
  8851  	KmsKeyId *string `type:"string"`
  8852  
  8853  	// The lifecycle phase of the file system.
  8854  	//
  8855  	// LifeCycleState is a required field
  8856  	LifeCycleState *string `type:"string" required:"true" enum:"LifeCycleState"`
  8857  
  8858  	// You can add tags to a file system, including a Name tag. For more information,
  8859  	// see CreateFileSystem. If the file system has a Name tag, Amazon EFS returns
  8860  	// the value in this field.
  8861  	Name *string `type:"string"`
  8862  
  8863  	// The current number of mount targets that the file system has. For more information,
  8864  	// see CreateMountTarget.
  8865  	//
  8866  	// NumberOfMountTargets is a required field
  8867  	NumberOfMountTargets *int64 `type:"integer" required:"true"`
  8868  
  8869  	// The Amazon Web Services account that created the file system. If the file
  8870  	// system was created by an IAM user, the parent account to which the user belongs
  8871  	// is the owner.
  8872  	//
  8873  	// OwnerId is a required field
  8874  	OwnerId *string `type:"string" required:"true"`
  8875  
  8876  	// The performance mode of the file system.
  8877  	//
  8878  	// PerformanceMode is a required field
  8879  	PerformanceMode *string `type:"string" required:"true" enum:"PerformanceMode"`
  8880  
  8881  	// The amount of provisioned throughput, measured in MiB/s, for the file system.
  8882  	// Valid for file systems using ThroughputMode set to provisioned.
  8883  	ProvisionedThroughputInMibps *float64 `min:"1" type:"double"`
  8884  
  8885  	// The latest known metered size (in bytes) of data stored in the file system,
  8886  	// in its Value field, and the time at which that size was determined in its
  8887  	// Timestamp field. The Timestamp value is the integer number of seconds since
  8888  	// 1970-01-01T00:00:00Z. The SizeInBytes value doesn't represent the size of
  8889  	// a consistent snapshot of the file system, but it is eventually consistent
  8890  	// when there are no writes to the file system. That is, SizeInBytes represents
  8891  	// actual size only if the file system is not modified for a period longer than
  8892  	// a couple of hours. Otherwise, the value is not the exact size that the file
  8893  	// system was at any point in time.
  8894  	//
  8895  	// SizeInBytes is a required field
  8896  	SizeInBytes *FileSystemSize `type:"structure" required:"true"`
  8897  
  8898  	// The tags associated with the file system, presented as an array of Tag objects.
  8899  	//
  8900  	// Tags is a required field
  8901  	Tags []*Tag `type:"list" required:"true"`
  8902  
  8903  	// Displays the file system's throughput mode. For more information, see Throughput
  8904  	// modes (https://docs.aws.amazon.com/efs/latest/ug/performance.html#throughput-modes)
  8905  	// in the Amazon EFS User Guide.
  8906  	ThroughputMode *string `type:"string" enum:"ThroughputMode"`
  8907  }
  8908  
  8909  // String returns the string representation.
  8910  //
  8911  // API parameter values that are decorated as "sensitive" in the API will not
  8912  // be included in the string output. The member name will be present, but the
  8913  // value will be replaced with "sensitive".
  8914  func (s UpdateFileSystemOutput) String() string {
  8915  	return awsutil.Prettify(s)
  8916  }
  8917  
  8918  // GoString returns the string representation.
  8919  //
  8920  // API parameter values that are decorated as "sensitive" in the API will not
  8921  // be included in the string output. The member name will be present, but the
  8922  // value will be replaced with "sensitive".
  8923  func (s UpdateFileSystemOutput) GoString() string {
  8924  	return s.String()
  8925  }
  8926  
  8927  // SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
  8928  func (s *UpdateFileSystemOutput) SetAvailabilityZoneId(v string) *UpdateFileSystemOutput {
  8929  	s.AvailabilityZoneId = &v
  8930  	return s
  8931  }
  8932  
  8933  // SetAvailabilityZoneName sets the AvailabilityZoneName field's value.
  8934  func (s *UpdateFileSystemOutput) SetAvailabilityZoneName(v string) *UpdateFileSystemOutput {
  8935  	s.AvailabilityZoneName = &v
  8936  	return s
  8937  }
  8938  
  8939  // SetCreationTime sets the CreationTime field's value.
  8940  func (s *UpdateFileSystemOutput) SetCreationTime(v time.Time) *UpdateFileSystemOutput {
  8941  	s.CreationTime = &v
  8942  	return s
  8943  }
  8944  
  8945  // SetCreationToken sets the CreationToken field's value.
  8946  func (s *UpdateFileSystemOutput) SetCreationToken(v string) *UpdateFileSystemOutput {
  8947  	s.CreationToken = &v
  8948  	return s
  8949  }
  8950  
  8951  // SetEncrypted sets the Encrypted field's value.
  8952  func (s *UpdateFileSystemOutput) SetEncrypted(v bool) *UpdateFileSystemOutput {
  8953  	s.Encrypted = &v
  8954  	return s
  8955  }
  8956  
  8957  // SetFileSystemArn sets the FileSystemArn field's value.
  8958  func (s *UpdateFileSystemOutput) SetFileSystemArn(v string) *UpdateFileSystemOutput {
  8959  	s.FileSystemArn = &v
  8960  	return s
  8961  }
  8962  
  8963  // SetFileSystemId sets the FileSystemId field's value.
  8964  func (s *UpdateFileSystemOutput) SetFileSystemId(v string) *UpdateFileSystemOutput {
  8965  	s.FileSystemId = &v
  8966  	return s
  8967  }
  8968  
  8969  // SetKmsKeyId sets the KmsKeyId field's value.
  8970  func (s *UpdateFileSystemOutput) SetKmsKeyId(v string) *UpdateFileSystemOutput {
  8971  	s.KmsKeyId = &v
  8972  	return s
  8973  }
  8974  
  8975  // SetLifeCycleState sets the LifeCycleState field's value.
  8976  func (s *UpdateFileSystemOutput) SetLifeCycleState(v string) *UpdateFileSystemOutput {
  8977  	s.LifeCycleState = &v
  8978  	return s
  8979  }
  8980  
  8981  // SetName sets the Name field's value.
  8982  func (s *UpdateFileSystemOutput) SetName(v string) *UpdateFileSystemOutput {
  8983  	s.Name = &v
  8984  	return s
  8985  }
  8986  
  8987  // SetNumberOfMountTargets sets the NumberOfMountTargets field's value.
  8988  func (s *UpdateFileSystemOutput) SetNumberOfMountTargets(v int64) *UpdateFileSystemOutput {
  8989  	s.NumberOfMountTargets = &v
  8990  	return s
  8991  }
  8992  
  8993  // SetOwnerId sets the OwnerId field's value.
  8994  func (s *UpdateFileSystemOutput) SetOwnerId(v string) *UpdateFileSystemOutput {
  8995  	s.OwnerId = &v
  8996  	return s
  8997  }
  8998  
  8999  // SetPerformanceMode sets the PerformanceMode field's value.
  9000  func (s *UpdateFileSystemOutput) SetPerformanceMode(v string) *UpdateFileSystemOutput {
  9001  	s.PerformanceMode = &v
  9002  	return s
  9003  }
  9004  
  9005  // SetProvisionedThroughputInMibps sets the ProvisionedThroughputInMibps field's value.
  9006  func (s *UpdateFileSystemOutput) SetProvisionedThroughputInMibps(v float64) *UpdateFileSystemOutput {
  9007  	s.ProvisionedThroughputInMibps = &v
  9008  	return s
  9009  }
  9010  
  9011  // SetSizeInBytes sets the SizeInBytes field's value.
  9012  func (s *UpdateFileSystemOutput) SetSizeInBytes(v *FileSystemSize) *UpdateFileSystemOutput {
  9013  	s.SizeInBytes = v
  9014  	return s
  9015  }
  9016  
  9017  // SetTags sets the Tags field's value.
  9018  func (s *UpdateFileSystemOutput) SetTags(v []*Tag) *UpdateFileSystemOutput {
  9019  	s.Tags = v
  9020  	return s
  9021  }
  9022  
  9023  // SetThroughputMode sets the ThroughputMode field's value.
  9024  func (s *UpdateFileSystemOutput) SetThroughputMode(v string) *UpdateFileSystemOutput {
  9025  	s.ThroughputMode = &v
  9026  	return s
  9027  }
  9028  
  9029  // Returned if the Backup service is not available in the Amazon Web Services
  9030  // Region in which the request was made.
  9031  type ValidationException struct {
  9032  	_            struct{}                  `type:"structure"`
  9033  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9034  
  9035  	// ErrorCode is a required field
  9036  	ErrorCode *string `min:"1" type:"string" required:"true"`
  9037  
  9038  	Message_ *string `locationName:"Message" type:"string"`
  9039  }
  9040  
  9041  // String returns the string representation.
  9042  //
  9043  // API parameter values that are decorated as "sensitive" in the API will not
  9044  // be included in the string output. The member name will be present, but the
  9045  // value will be replaced with "sensitive".
  9046  func (s ValidationException) String() string {
  9047  	return awsutil.Prettify(s)
  9048  }
  9049  
  9050  // GoString returns the string representation.
  9051  //
  9052  // API parameter values that are decorated as "sensitive" in the API will not
  9053  // be included in the string output. The member name will be present, but the
  9054  // value will be replaced with "sensitive".
  9055  func (s ValidationException) GoString() string {
  9056  	return s.String()
  9057  }
  9058  
  9059  func newErrorValidationException(v protocol.ResponseMetadata) error {
  9060  	return &ValidationException{
  9061  		RespMetadata: v,
  9062  	}
  9063  }
  9064  
  9065  // Code returns the exception type name.
  9066  func (s *ValidationException) Code() string {
  9067  	return "ValidationException"
  9068  }
  9069  
  9070  // Message returns the exception's message.
  9071  func (s *ValidationException) Message() string {
  9072  	if s.Message_ != nil {
  9073  		return *s.Message_
  9074  	}
  9075  	return ""
  9076  }
  9077  
  9078  // OrigErr always returns nil, satisfies awserr.Error interface.
  9079  func (s *ValidationException) OrigErr() error {
  9080  	return nil
  9081  }
  9082  
  9083  func (s *ValidationException) Error() string {
  9084  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  9085  }
  9086  
  9087  // Status code returns the HTTP status code for the request's response error.
  9088  func (s *ValidationException) StatusCode() int {
  9089  	return s.RespMetadata.StatusCode
  9090  }
  9091  
  9092  // RequestID returns the service's response RequestID for request.
  9093  func (s *ValidationException) RequestID() string {
  9094  	return s.RespMetadata.RequestID
  9095  }
  9096  
  9097  const (
  9098  	// LifeCycleStateCreating is a LifeCycleState enum value
  9099  	LifeCycleStateCreating = "creating"
  9100  
  9101  	// LifeCycleStateAvailable is a LifeCycleState enum value
  9102  	LifeCycleStateAvailable = "available"
  9103  
  9104  	// LifeCycleStateUpdating is a LifeCycleState enum value
  9105  	LifeCycleStateUpdating = "updating"
  9106  
  9107  	// LifeCycleStateDeleting is a LifeCycleState enum value
  9108  	LifeCycleStateDeleting = "deleting"
  9109  
  9110  	// LifeCycleStateDeleted is a LifeCycleState enum value
  9111  	LifeCycleStateDeleted = "deleted"
  9112  
  9113  	// LifeCycleStateError is a LifeCycleState enum value
  9114  	LifeCycleStateError = "error"
  9115  )
  9116  
  9117  // LifeCycleState_Values returns all elements of the LifeCycleState enum
  9118  func LifeCycleState_Values() []string {
  9119  	return []string{
  9120  		LifeCycleStateCreating,
  9121  		LifeCycleStateAvailable,
  9122  		LifeCycleStateUpdating,
  9123  		LifeCycleStateDeleting,
  9124  		LifeCycleStateDeleted,
  9125  		LifeCycleStateError,
  9126  	}
  9127  }
  9128  
  9129  const (
  9130  	// PerformanceModeGeneralPurpose is a PerformanceMode enum value
  9131  	PerformanceModeGeneralPurpose = "generalPurpose"
  9132  
  9133  	// PerformanceModeMaxIo is a PerformanceMode enum value
  9134  	PerformanceModeMaxIo = "maxIO"
  9135  )
  9136  
  9137  // PerformanceMode_Values returns all elements of the PerformanceMode enum
  9138  func PerformanceMode_Values() []string {
  9139  	return []string{
  9140  		PerformanceModeGeneralPurpose,
  9141  		PerformanceModeMaxIo,
  9142  	}
  9143  }
  9144  
  9145  // An EFS resource, for example a file system or a mount target.
  9146  const (
  9147  	// ResourceFileSystem is a Resource enum value
  9148  	ResourceFileSystem = "FILE_SYSTEM"
  9149  
  9150  	// ResourceMountTarget is a Resource enum value
  9151  	ResourceMountTarget = "MOUNT_TARGET"
  9152  )
  9153  
  9154  // Resource_Values returns all elements of the Resource enum
  9155  func Resource_Values() []string {
  9156  	return []string{
  9157  		ResourceFileSystem,
  9158  		ResourceMountTarget,
  9159  	}
  9160  }
  9161  
  9162  // A preference indicating a choice to use 63bit/32bit IDs for all applicable
  9163  // resources.
  9164  const (
  9165  	// ResourceIdTypeLongId is a ResourceIdType enum value
  9166  	ResourceIdTypeLongId = "LONG_ID"
  9167  
  9168  	// ResourceIdTypeShortId is a ResourceIdType enum value
  9169  	ResourceIdTypeShortId = "SHORT_ID"
  9170  )
  9171  
  9172  // ResourceIdType_Values returns all elements of the ResourceIdType enum
  9173  func ResourceIdType_Values() []string {
  9174  	return []string{
  9175  		ResourceIdTypeLongId,
  9176  		ResourceIdTypeShortId,
  9177  	}
  9178  }
  9179  
  9180  const (
  9181  	// StatusEnabled is a Status enum value
  9182  	StatusEnabled = "ENABLED"
  9183  
  9184  	// StatusEnabling is a Status enum value
  9185  	StatusEnabling = "ENABLING"
  9186  
  9187  	// StatusDisabled is a Status enum value
  9188  	StatusDisabled = "DISABLED"
  9189  
  9190  	// StatusDisabling is a Status enum value
  9191  	StatusDisabling = "DISABLING"
  9192  )
  9193  
  9194  // Status_Values returns all elements of the Status enum
  9195  func Status_Values() []string {
  9196  	return []string{
  9197  		StatusEnabled,
  9198  		StatusEnabling,
  9199  		StatusDisabled,
  9200  		StatusDisabling,
  9201  	}
  9202  }
  9203  
  9204  const (
  9205  	// ThroughputModeBursting is a ThroughputMode enum value
  9206  	ThroughputModeBursting = "bursting"
  9207  
  9208  	// ThroughputModeProvisioned is a ThroughputMode enum value
  9209  	ThroughputModeProvisioned = "provisioned"
  9210  )
  9211  
  9212  // ThroughputMode_Values returns all elements of the ThroughputMode enum
  9213  func ThroughputMode_Values() []string {
  9214  	return []string{
  9215  		ThroughputModeBursting,
  9216  		ThroughputModeProvisioned,
  9217  	}
  9218  }
  9219  
  9220  const (
  9221  	// TransitionToIARulesAfter7Days is a TransitionToIARules enum value
  9222  	TransitionToIARulesAfter7Days = "AFTER_7_DAYS"
  9223  
  9224  	// TransitionToIARulesAfter14Days is a TransitionToIARules enum value
  9225  	TransitionToIARulesAfter14Days = "AFTER_14_DAYS"
  9226  
  9227  	// TransitionToIARulesAfter30Days is a TransitionToIARules enum value
  9228  	TransitionToIARulesAfter30Days = "AFTER_30_DAYS"
  9229  
  9230  	// TransitionToIARulesAfter60Days is a TransitionToIARules enum value
  9231  	TransitionToIARulesAfter60Days = "AFTER_60_DAYS"
  9232  
  9233  	// TransitionToIARulesAfter90Days is a TransitionToIARules enum value
  9234  	TransitionToIARulesAfter90Days = "AFTER_90_DAYS"
  9235  )
  9236  
  9237  // TransitionToIARules_Values returns all elements of the TransitionToIARules enum
  9238  func TransitionToIARules_Values() []string {
  9239  	return []string{
  9240  		TransitionToIARulesAfter7Days,
  9241  		TransitionToIARulesAfter14Days,
  9242  		TransitionToIARulesAfter30Days,
  9243  		TransitionToIARulesAfter60Days,
  9244  		TransitionToIARulesAfter90Days,
  9245  	}
  9246  }
  9247  
  9248  const (
  9249  	// TransitionToPrimaryStorageClassRulesAfter1Access is a TransitionToPrimaryStorageClassRules enum value
  9250  	TransitionToPrimaryStorageClassRulesAfter1Access = "AFTER_1_ACCESS"
  9251  )
  9252  
  9253  // TransitionToPrimaryStorageClassRules_Values returns all elements of the TransitionToPrimaryStorageClassRules enum
  9254  func TransitionToPrimaryStorageClassRules_Values() []string {
  9255  	return []string{
  9256  		TransitionToPrimaryStorageClassRulesAfter1Access,
  9257  	}
  9258  }