:doc:`Glacier <../../glacier>` / Client / get_vault_lock

**************
get_vault_lock
**************



.. py:method:: Glacier.Client.get_vault_lock(**kwargs)

  

  This operation retrieves the following attributes from the ``lock-policy`` subresource set on the specified vault:

   

  
  * The vault lock policy set on the vault.
   
  * The state of the vault lock, which is either ``InProgess`` or ``Locked``.
   
  * When the lock ID expires. The lock ID is used to complete the vault locking process.
   
  * When the vault lock was initiated and put into the ``InProgress`` state.
  

   

  A vault lock is put into the ``InProgress`` state by calling  InitiateVaultLock. A vault lock is put into the ``Locked`` state by calling  CompleteVaultLock. You can abort the vault locking process by calling  AbortVaultLock. For more information about the vault locking process, `Amazon Glacier Vault Lock <https://docs.aws.amazon.com/amazonglacier/latest/dev/vault-lock.html>`__.

   

  If there is no vault lock policy set on the vault, the operation returns a ``404 Not found`` error. For more information about vault lock policies, `Amazon Glacier Access Control with Vault Lock Policies <https://docs.aws.amazon.com/amazonglacier/latest/dev/vault-lock-policy.html>`__.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/glacier-2012-06-01/GetVaultLock>`_  


  **Request Syntax**
  ::

    response = client.get_vault_lock(
        vaultName='string'
    )
    
  :type accountId: string
  :param accountId: 

    The ``AccountId`` value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single ' ``-``' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

        Note: this parameter is set to "-" bydefault if no value is not specified.


  
  :type vaultName: string
  :param vaultName: **[REQUIRED]** 

    The name of the vault.

    

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

    
    ::

      {
          'Policy': 'string',
          'State': 'string',
          'ExpirationDate': 'string',
          'CreationDate': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 

      Contains the Amazon Glacier response to your request.

      
      

      - **Policy** *(string) --* 

        The vault lock policy as a JSON string, which uses "\" as an escape character.

        
      

      - **State** *(string) --* 

        The state of the vault lock. ``InProgress`` or ``Locked``.

        
      

      - **ExpirationDate** *(string) --* 

        The UTC date and time at which the lock ID expires. This value can be ``null`` if the vault lock is in a ``Locked`` state.

        
      

      - **CreationDate** *(string) --* 

        The UTC date and time at which the vault lock was put into the ``InProgress`` state.

        
  
  **Exceptions**
  
  *   :py:class:`Glacier.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`Glacier.Client.exceptions.InvalidParameterValueException`

  
  *   :py:class:`Glacier.Client.exceptions.MissingParameterValueException`

  
  *   :py:class:`Glacier.Client.exceptions.ServiceUnavailableException`

  
  *   :py:class:`Glacier.Client.exceptions.NoLongerSupportedException`

  

  **Examples**

  The example retrieves the attributes from the lock-policy subresource set on the vault named examplevault.
  ::

    response = client.get_vault_lock(
        accountId='-',
        vaultName='examplevault',
    )
    
    print(response)

  
  Expected Output:
  ::

    {
        'CreationDate': 'exampledate',
        'ExpirationDate': 'exampledate',
        'Policy': '{"Version":"2012-10-17","Statement":[{"Sid":"Define-vault-lock","Effect":"Deny","Principal":{"AWS":"arn:aws:iam::999999999999:root"},"Action":"glacier:DeleteArchive","Resource":"arn:aws:glacier:us-west-2:999999999999:vaults/examplevault","Condition":{"NumericLessThanEquals":{"glacier:ArchiveAgeinDays":"365"}}}]}',
        'State': 'InProgress',
        'ResponseMetadata': {
            '...': '...',
        },
    }

  