AWS SDK Version 3 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

This operation initiates the vault locking process by doing the following:

You can set one vault lock policy for each vault and this policy can be up to 20 KB in size. For more information about vault lock policies, see Amazon Glacier Access Control with Vault Lock Policies.

You must complete the vault locking process within 24 hours after the vault lock enters the InProgress state. After the 24 hour window ends, the lock ID expires, the vault automatically exits the InProgress state, and the vault lock policy is removed from the vault. You call CompleteVaultLock to complete the vault locking process by setting the state of the vault lock to Locked.

After a vault lock is in the Locked state, you cannot initiate a new vault lock for the vault.

You can abort the vault locking process by calling AbortVaultLock. You can get the state of the vault lock by calling GetVaultLock. For more information about the vault locking process, Amazon Glacier Vault Lock.

If this operation is called when the vault lock is in the InProgress state, the operation returns an AccessDeniedException error. When the vault lock is in the InProgress state you must call AbortVaultLock before you can initiate a new vault lock policy.


For .NET Core and PCL this operation is only available in asynchronous form. Please refer to InitiateVaultLockAsync.

Namespace: Amazon.Glacier
Assembly: AWSSDK.Glacier.dll
Version: 3.x.y.z


public abstract InitiateVaultLockResponse InitiateVaultLock(
         InitiateVaultLockRequest request
Type: Amazon.Glacier.Model.InitiateVaultLockRequest

Container for the necessary parameters to execute the InitiateVaultLock service method.

Return Value
The response from the InitiateVaultLock service method, as returned by Glacier.


InvalidParameterValueException Returned if a parameter of the request is incorrectly specified.
MissingParameterValueException Returned if a required header or parameter is missing from the request.
ResourceNotFoundException Returned if the specified resource (such as a vault, upload ID, or job ID) doesn't exist.
ServiceUnavailableException Returned if the service cannot complete the request.


The example initiates the vault locking process for the vault named my-vault.

To initiate the vault locking process

var response = client.InitiateVaultLock(new InitiateVaultLockRequest 
    AccountId = "-",
    Policy = new VaultLockPolicy { 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\"}}}]}" },
    VaultName = "my-vault"

string lockId = response.LockId;


Version Information

.NET Framework:
Supported in: 4.5, 4.0, 3.5

Portable Class Library:
Supported in: Windows Store Apps
Supported in: Windows Phone 8.1
Supported in: Xamarin Android
Supported in: Xamarin iOS (Unified)
Supported in: Xamarin.Forms