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

*******************
complete_vault_lock
*******************



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

  

  This operation completes the vault locking process by transitioning the vault lock from the ``InProgress`` state to the ``Locked`` state, which causes the vault lock policy to become unchangeable. A vault lock is put into the ``InProgress`` state by calling  InitiateVaultLock. You can obtain the state of the vault lock by calling  GetVaultLock. For more information about the vault locking process, `Amazon Glacier Vault Lock <https://docs.aws.amazon.com/amazonglacier/latest/dev/vault-lock.html>`__.

   

  This operation is idempotent. This request is always successful if the vault lock is in the ``Locked`` state and the provided lock ID matches the lock ID originally used to lock the vault.

   

  If an invalid lock ID is passed in the request when the vault lock is in the ``Locked`` state, the operation returns an ``AccessDeniedException`` error. If an invalid lock ID is passed in the request when the vault lock is in the ``InProgress`` state, the operation throws an ``InvalidParameter`` error.

  

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


  **Request Syntax**
  ::

    response = client.complete_vault_lock(
        vaultName='string',
        lockId='string'
    )
    
  :type accountId: string
  :param accountId: 

    The ``AccountId`` value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. 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 specify your 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.

    

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

    The ``lockId`` value is the lock ID obtained from a  InitiateVaultLock request.

    

  
  
  :returns: None
  **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 completes the vault locking process by transitioning the vault lock from the InProgress state to the Locked state.
  ::

    response = client.complete_vault_lock(
        accountId='-',
        lockId='AE863rKkWZU53SLW5be4DUcW',
        vaultName='example-vault',
    )
    
    print(response)

  
  Expected Output:
  ::

    {
        'ResponseMetadata': {
            '...': '...',
        },
    }

  