# Parameter Store に新データ型 13 種類！変な設定値は保存前にはじくよ

みんな、しぃちゃんだよ！

設定値の入力ミスって、本番で動かしてから気づくとつらいよね。今日はそれを防げる発表だよ。

## なにが発表されたの？

AWS の What's New で、AWS Systems Manager Parameter Store が 13 種類の新しいパラメータデータ型に対応したと発表されたよ。

パラメータを作成・更新するときに、値が自動で検証されるの。不正な IP アドレス、AWS アカウント ID、JSON ドキュメントのような壊れた設定値を、アプリが読む前に止められるんだって。自前の検証ロジックは要らないよ。

## これで何が変わるの？

- 不正な値は `PutParameter` の呼び出し時に拒否される
- `DescribeParameters` API やコンソールで、データ型によるフィルタができる
- 既存のテキストパラメータのデータ型も変更できる

## 深く潜ってみよう

**使えるデータ型**

スタンダードパラメータでもアドバンストパラメータでも使える型はこの 10 個だよ。

- `aws:region`
- `aws:account:id`
- `boolean`
- `integer`
- `float`
- `binary`
- `hostname`
- `email`
- `ipv4-address`
- `ipv6-address`

アドバンストパラメータ専用の型は、この 3 個だよ。

- `url`
- `json`
- `jsonc`

**ほかのルール**

- String と SecureString のパラメータで使える
- いくつかの型は StringList でも使えて、その場合はリストの各項目が検証される(どの型が対応かは原文には書かれていなかったよ)
- データ型は `AllowedPattern` と組み合わせて、さらに条件を足せる
- 全リージョンの Systems Manager で使える
- `url` / `json` / `jsonc` は、既存のアドバンストパラメータの料金で課金される

各型の細かい検証内容や長さの上限は、原文には書かれていないよ。AWS Systems Manager ユーザーガイドの「Parameter data types」を見てね。

## まとめ

- 新しいデータ型は 13 種類(共通 10、アドバンスト専用 3)
- 検証は `PutParameter` で行われ、合わない値は拒否される
- 型でのフィルタや、`AllowedPattern` との併用ができる
- 既存のテキストパラメータの型も変更できる

設定値の入力ミスで痛い目を見たことがある人や、検証を自前で書いている人に刺さる発表だよ！
