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 キー