基本コマンド
ざっと全部出す
aws secretsmanager get-secret-value --secret-id <シークレット名>
ちょっと見やすい形で
aws secretsmanager get-secret-value --secret-id <シークレット名> --query SecretString --output text
登録方法(新規の場合)
aws secretsmanager create-secret --name test --secret-string '{"username":"admin","password":"password123"}'
登録方法(シークレット値を追加する場合) パターン①
※追記という方法が存在しない
※そのため追記という形をとります。。。。
aws secretsmanager put-secret-value \
--secret-id <シークレット名> \
--secret-string '{"username":"admin","password":"password123","api_key":"new_value"}'
登録方法(シークレット値を追加する場合) パターン②
current_json=$(aws secretsmanager get-secret-value --secret-id <シークレット名> --query SecretString --output text)
echo $current_json
updated_json=$(echo $current_json | jq -c '. + {"new_key": "new_value"}')
echo $updated_json
aws secretsmanager put-secret-value --secret-id <シークレット名> --secret-string "$updated_json"
ちなみにデータベースのウィザードで進めていくと
以下のような形で値が入りました。
※oracleで進めてみました
※hostとかportとかengineとかが入るんですね。
"SecretString": "{\"username\":\"zzz\",\"password\":\"zzz\",\"engine\":\"oracle\",\"host\":\"192.168.2.100\",\"port\":\"1800\",\"dbname\":\"xxx\"}",