:doc:`EFS <../../efs>` / Client / update_file_system

******************
update_file_system
******************



.. py:method:: EFS.Client.update_file_system(**kwargs)

  

  Updates the throughput mode or the amount of provisioned throughput of an existing file system.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/UpdateFileSystem>`_  


  **Request Syntax**
  ::

    response = client.update_file_system(
        FileSystemId='string',
        ThroughputMode='bursting'|'provisioned'|'elastic',
        ProvisionedThroughputInMibps=123.0
    )
    
  :type FileSystemId: string
  :param FileSystemId: **[REQUIRED]** 

    The ID of the file system that you want to update.

    

  
  :type ThroughputMode: string
  :param ThroughputMode: 

    (Optional) Updates the file system's throughput mode. If you're not updating your throughput mode, you don't need to provide this value in your request. If you are changing the ``ThroughputMode`` to ``provisioned``, you must also set a value for ``ProvisionedThroughputInMibps``.

    

  
  :type ProvisionedThroughputInMibps: float
  :param ProvisionedThroughputInMibps: 

    (Optional) The throughput, measured in mebibytes per second (MiBps), that you want to provision for a file system that you're creating. Required if ``ThroughputMode`` is set to ``provisioned``. Valid values are 1-3414 MiBps, with the upper limit depending on Region. To increase this limit, contact Amazon Web ServicesSupport. For more information, see `Amazon EFS quotas that you can increase <https://docs.aws.amazon.com/efs/latest/ug/limits.html#soft-limits>`__ in the *Amazon EFS User Guide*.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'OwnerId': 'string',
          'CreationToken': 'string',
          'FileSystemId': 'string',
          'FileSystemArn': 'string',
          'CreationTime': datetime(2015, 1, 1),
          'LifeCycleState': 'creating'|'available'|'updating'|'deleting'|'deleted'|'error',
          'Name': 'string',
          'NumberOfMountTargets': 123,
          'SizeInBytes': {
              'Value': 123,
              'Timestamp': datetime(2015, 1, 1),
              'ValueInIA': 123,
              'ValueInStandard': 123,
              'ValueInArchive': 123
          },
          'PerformanceMode': 'generalPurpose'|'maxIO',
          'Encrypted': True|False,
          'KmsKeyId': 'string',
          'ThroughputMode': 'bursting'|'provisioned'|'elastic',
          'ProvisionedThroughputInMibps': 123.0,
          'AvailabilityZoneName': 'string',
          'AvailabilityZoneId': 'string',
          'Tags': [
              {
                  'Key': 'string',
                  'Value': 'string'
              },
          ],
          'FileSystemProtection': {
              'ReplicationOverwriteProtection': 'ENABLED'|'DISABLED'|'REPLICATING'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 

      A description of the file system.

      
      

      - **OwnerId** *(string) --* 

        The Amazon Web Services account that created the file system.

        
      

      - **CreationToken** *(string) --* 

        The opaque string specified in the request.

        
      

      - **FileSystemId** *(string) --* 

        The ID of the file system, assigned by Amazon EFS.

        
      

      - **FileSystemArn** *(string) --* 

        The Amazon Resource Name (ARN) for the EFS file system, in the format ``arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id ``. Example with sample data: ``arn:aws:elasticfilesystem:us-west-2:1111333322228888:file-system/fs-01234567``

        
      

      - **CreationTime** *(datetime) --* 

        The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z).

        
      

      - **LifeCycleState** *(string) --* 

        The lifecycle phase of the file system.

        
      

      - **Name** *(string) --* 

        You can add tags to a file system, including a ``Name`` tag. For more information, see  CreateFileSystem. If the file system has a ``Name`` tag, Amazon EFS returns the value in this field.

        
      

      - **NumberOfMountTargets** *(integer) --* 

        The current number of mount targets that the file system has. For more information, see  CreateMountTarget.

        
      

      - **SizeInBytes** *(dict) --* 

        The latest known metered size (in bytes) of data stored in the file system, in its ``Value`` field, and the time at which that size was determined in its ``Timestamp`` field. The ``Timestamp`` value is the integer number of seconds since 1970-01-01T00:00:00Z. The ``SizeInBytes`` value doesn't represent the size of a consistent snapshot of the file system, but it is eventually consistent when there are no writes to the file system. That is, ``SizeInBytes`` represents actual size only if the file system is not modified for a period longer than a couple of hours. Otherwise, the value is not the exact size that the file system was at any point in time.

        
        

        - **Value** *(integer) --* 

          The latest known metered size (in bytes) of data stored in the file system.

          
        

        - **Timestamp** *(datetime) --* 

          The time at which the size of data, returned in the ``Value`` field, was determined. The value is the integer number of seconds since 1970-01-01T00:00:00Z.

          
        

        - **ValueInIA** *(integer) --* 

          The latest known metered size (in bytes) of data stored in the Infrequent Access storage class.

          
        

        - **ValueInStandard** *(integer) --* 

          The latest known metered size (in bytes) of data stored in the Standard storage class.

          
        

        - **ValueInArchive** *(integer) --* 

          The latest known metered size (in bytes) of data stored in the Archive storage class.

          
    
      

      - **PerformanceMode** *(string) --* 

        The performance mode of the file system.

        
      

      - **Encrypted** *(boolean) --* 

        A Boolean value that, if true, indicates that the file system is encrypted.

        
      

      - **KmsKeyId** *(string) --* 

        The ID of an KMS key used to protect the encrypted file system.

        
      

      - **ThroughputMode** *(string) --* 

        Displays the file system's throughput mode. For more information, see `Throughput modes <https://docs.aws.amazon.com/efs/latest/ug/performance.html#throughput-modes>`__ in the *Amazon EFS User Guide*.

        
      

      - **ProvisionedThroughputInMibps** *(float) --* 

        The amount of provisioned throughput, measured in MiBps, for the file system. Valid for file systems using ``ThroughputMode`` set to ``provisioned``.

        
      

      - **AvailabilityZoneName** *(string) --* 

        Describes the Amazon Web Services Availability Zone in which the file system is located, and is valid only for One Zone file systems. For more information, see `Using EFS storage classes <https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html>`__ in the *Amazon EFS User Guide*.

        
      

      - **AvailabilityZoneId** *(string) --* 

        The unique and consistent identifier of the Availability Zone in which the file system is located, and is valid only for One Zone file systems. For example, ``use1-az1`` is an Availability Zone ID for the us-east-1 Amazon Web Services Region, and it has the same location in every Amazon Web Services account.

        
      

      - **Tags** *(list) --* 

        The tags associated with the file system, presented as an array of ``Tag`` objects.

        
        

        - *(dict) --* 

          A tag is a key-value pair. Allowed characters are letters, white space, and numbers that can be represented in UTF-8, and the following characters: `` + - = . _ : /``.

          
          

          - **Key** *(string) --* 

            The tag key (String). The key can't start with ``aws:``.

            
          

          - **Value** *(string) --* 

            The value of the tag key.

            
      
    
      

      - **FileSystemProtection** *(dict) --* 

        Describes the protection on the file system.

        
        

        - **ReplicationOverwriteProtection** *(string) --* 

          The status of the file system's replication overwrite protection.

           

          
          * ``ENABLED`` – The file system cannot be used as the destination file system in a replication configuration. The file system is writeable. Replication overwrite protection is ``ENABLED`` by default.
           
          * ``DISABLED`` – The file system can be used as the destination file system in a replication configuration. The file system is read-only and can only be modified by EFS replication.
           
          * ``REPLICATING`` – The file system is being used as the destination file system in a replication configuration. The file system is read-only and is modified only by EFS replication.
          

           

          If the replication configuration is deleted, the file system's replication overwrite protection is re-enabled, the file system becomes writeable.

          
    
  
  **Exceptions**
  
  *   :py:class:`EFS.Client.exceptions.BadRequest`

  
  *   :py:class:`EFS.Client.exceptions.FileSystemNotFound`

  
  *   :py:class:`EFS.Client.exceptions.IncorrectFileSystemLifeCycleState`

  
  *   :py:class:`EFS.Client.exceptions.InsufficientThroughputCapacity`

  
  *   :py:class:`EFS.Client.exceptions.InternalServerError`

  
  *   :py:class:`EFS.Client.exceptions.ThroughputLimitExceeded`

  
  *   :py:class:`EFS.Client.exceptions.TooManyRequests`

  