Parameter Storeから値を取得するコマンド
$ aws ssm get-parameter --name キー
以下のようなJSONが返ってくる。
{
"Parameter": {
"Name": "キー",
"Type": "String",
"Value": "値",
"Version": 1,
"LastModifiedDate": "...",
"ARN": "...",
"DataType": "text"
}
}
値はParameter.Value
に格納されているので値だけ取り出したければ--query
オプションと--output
オプションを指定して以下のように取得できる。
$ aws ssm get-parameter --query "Parameter.Value" --output text --name キー
シェルスクリプトで変数に入れるには以下の通り。
SOME_VALUE=$(aws ssm get-parameter --query "Parameter.Value" --output text --name キー)
Secure Stringの場合は–with-decryptionオプションを指定すると復号されて表示される
Secure String型を選択している場合は上記コマンドでは暗号化されたままの文字列が表示される。
復号して表示するには--with-decryption
オプションを指定する。
$ aws ssm get-parameter --with-decryption --query "Parameter.Value" --output text --name キー
シェルスクリプトで変数に入れるには同様に以下のように設定する。
SOME_VALUE=$(aws ssm get-parameter --with-decryption --query "Parameter.Value" --output text --name キー)
プレフィックスを指定して再帰的に取得する
キーをパスとみなして再帰的に取得するにはuparameters-by-path
コマンドで--recursive
オプションを指定する。
$ aws ssm get-parameters-by-path --path "プレフィックス" --recursive
以下のようなJSONが返ってくる。
{
"Parameters": [
{
"Name": "キー",
"Type": "String",
"Value": "値",
"Version": 1,
"LastModifiedDate": "...",
"ARN": "...",
"DataType": "text"
},
{
"Name": "キー",
"Type": "String",
"Value": "値",
"Version": 1,
"LastModifiedDate": "...",
"ARN": "...",
"DataType": "text"
},
...
]
}
キーと値のみを取得したい場合は--query
オプションを使って以下のようにする。
$ aws ssm get-parameters-by-path --path "プレフィックス" --recursive --query "Parameters[].[Name,Value]"
以下のようなJSONが返ってくる。
[
[
"キー",
"値"
],
[
"キー",
"値"
],
...
]
作成するコマンド
aws ssm put-parameter \
--name キー \
--value 値 \
--description "説明" \
--type "String" \
SecureStringにする場合は--type
オプションにSecureString
を指定する。
値を更新するコマンド
値を更新するには作成と同様にput-parameter
コマンドを使う。
ただし、そのまま実行するとParameterAlreadyExists
エラーが発生する。
--overwrite
オプションを指定すると値が上書きできる。
aws ssm put-parameter \
--name キー \
--value 値 \
--overwrite
削除するコマンド
キーを指定して削除するにはdelete-parameter
コマンドを使う。
$ aws ssm delete-parameter --name キー
\手を動かしながらTerraformを学びたい人にオススメ!/