https://github.com/nabeken/psadm
A library and a command-line tool for managing AWS Systems Manager Parameter Store
https://github.com/nabeken/psadm
aws ec2 go ssm
Last synced: over 1 year ago
JSON representation
A library and a command-line tool for managing AWS Systems Manager Parameter Store
- Host: GitHub
- URL: https://github.com/nabeken/psadm
- Owner: nabeken
- License: bsd-3-clause
- Created: 2017-02-22T15:44:33.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2025-03-28T22:17:11.000Z (over 1 year ago)
- Last Synced: 2025-03-28T23:24:57.824Z (over 1 year ago)
- Topics: aws, ec2, go, ssm
- Language: Go
- Homepage:
- Size: 356 KB
- Stars: 4
- Watchers: 3
- Forks: 3
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# psadm
[](https://github.com/nabeken/psadm/actions/workflows/go.yml)
`psadm` is a library and a command-line tool for AWS Systems Manager Parameter Store.
The command-line application provides the import and export features for [SSM Parameter Store](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/systems-manager-paramstore.html) via the library.
## Features
`psadm` provides the API client with the following additional feature to aws-sdk-go's one:
- easy to use
- [patrickmn/go-cache](https://github.com/patrickmn/go-cache) integration with automatic refresh
## Use-case
- use with Lambda functions
- use with daemon on initializaton
## Library
`v3` now requires Go 1.23.0 or higher.
```sh
go get github.com/nabeken/psadm/v3
```
`v2` version supports aws-sdk-go-v2.
```sh
go get github.com/nabeken/psadm/v2
```
If you want to use the library with `aws-sdk-go`, please use v0 version.
```sh
go get github.com/nabeken/psadm
```
## Command-line installation
```sh
go get -u github.com/nabeken/psadm/v2/cmd/psadm
```
### Usage
To export parameters in YAML to STDOUT:
```sh
psadm export [--key-prefix=PREFIX] > exported.yml
```
Note: All `SecureString` parameters are decrypted.
To import from exported parameters in YAML:
```sh
psadm import [--dryrun] [--skip-exist] [--overwrite] [--default-kms-key-id=KMS-KEY-ID] exported.yml
```
To get a parameter at give time in YAML:
```
psadm get [--at=TIME] KEY
```