dotnet-dynamodb-lock 0.0.1

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global dotnet-dynamodb-lock --version 0.0.1
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local dotnet-dynamodb-lock --version 0.0.1
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=dotnet-dynamodb-lock&version=0.0.1
nuke :add-package dotnet-dynamodb-lock --version 0.0.1

dotnet-dynamodb-lock

Dotnet tool for acquiring/releasing locks in a DynamoDB table.

Usage

Acquire

dotnet dynamodb-lock acquire --config <configFile> --label <label> --output <tokenFile>

The label is used to provide context to others trying to acquire the lock

> dotnet dynamodb-lock acquire --config lock.config --label 'Build 123' --output token.txt

Locked by 'Build 122' at 8:50:43 PM. Expires at 9:20:43 PM.

Release

dotnet dynamodb-lock release --config <configFile> --token <tokenFile>

The token file is the output of the acquire command.

> dotnet dynamodb-lock release --config lock.config --token token.txt

Lock released.

Config

{
	"tableName": "locks",
	"lockKey": "build",

	"awsRegion": "us-east-1",
	"roleArn": "arn:aws:iam::111111111111:role/build"

	"acquireTimeout":300,
	"lockDuration":1800,
	"retryAfter":5
}
  • tableName: The DynamoDB table name [required]

  • lockKey: The unique key for the lock [required]

  • awsRegion: The aws region of the table [optional]

  • roleArn: The arn of the role to assume [optional]

  • acquireTimeout: How long to wait to acquire the lock before timing out [optional]

  • lockDuration: How long the lock is valid for [optional]

  • retryAfter: How long to wait inbetween retries to acquire the lock [optional]

Schena

  • Simple Primary Key:

      key : string
    
  • Time To Live:

      expires : numeric
    

Permissions

  • dynamodb:PutItem
  • dynamodb:GetItem
  • dynamodb:DeleteItem
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.1 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
0.0.3 52,522 2/19/2021
0.0.2 416 10/28/2020
0.0.1 419 10/28/2020