# Cloudflare One Virtual Appliance が API でセルフサーブに！

やっほー、しぃちゃんだよ！今日は Cloudflare の地味だけど便利なアップデートを紹介しちゃうね。手作業だった部分が API でサクッとできるようになるお話なの。

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

Cloudflare の Changelog で、[Cloudflare One Virtual Appliance](https://developers.cloudflare.com/cloudflare-wan/configuration/appliance/) のインスタンスとライセンスキーを、API と Terraform から直接セルフサーブで扱えるようになったって発表があったよ。

できるようになったのは、作成・ローテーション・削除の 3 つなの。

## 今までどうだったの？

これまでは Virtual Appliance の用意やライセンスキーの管理を、コードから自分で完結させるのはむずかしかったの。API で一気通貫にできるようになると、インフラを Terraform で宣言的に管理している人にとってはすごく嬉しいんだよ。

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

ダッシュボードをぽちぽちしなくても、コードから Virtual Appliance をプロビジョニングできるようになったよ。既存のインフラ自動化のパイプラインに組み込めるから、台数が多いときや繰り返し作るときに手間がぐっと減るの。Terraform 対応なのもポイント高いね。

## 深く潜ってみよう

原文から拾える具体的な使い方はこんな感じだよ。

- 作成してライセンスキーを受け取る:

```
POST /accounts/{account_id}/magic/connectors
```

このとき `device.provision_license: true` を指定するの。

- 既存アプライアンスのライセンスキーをローテーション:

```
PATCH /accounts/{account_id}/magic/connectors/{connector_id}
```

こちらも `provision_license: true` を付けるよ。ローテーションすると **前のキーは即座に、取り消し不能な形で無効化される**ので注意してね。

- 削除すると、そのアプライアンスに紐づいたライセンス済みデバイスが解放されるよ。

そして一番大事なポイント。ライセンスキーがレスポンスに返ってくるのは、作成時とローテーション時の **1 回だけ**なの。原文もこう言ってるよ。

> The license key is returned in the response only once, at create or rotate time. Copy and store it securely.

だからキーを受け取ったら、その場で安全なところにコピー保存しておこうね。手順の詳しいところは [Configure a Cloudflare One Virtual Appliance](https://developers.cloudflare.com/cloudflare-wan/configuration/appliance/configure-virtual-appliance/) を見てみてね。

## まとめ

- Cloudflare One Virtual Appliance を API / Terraform で作成・ローテーション・削除できるようになったよ
- `POST /accounts/{account_id}/magic/connectors` で作成、`PATCH .../connectors/{connector_id}` でローテーション
- ローテーションすると前のライセンスキーは即座に無効化されるよ
- ライセンスキーは作成・ローテーション時に 1 回だけ返るので、確実に保存しよう

Cloudflare One や Cloudflare WAN を Terraform で管理してる人、アプライアンスを何台も回してる人にはうれしい自動化アップデートだね！
