【初心者向け】Cloud AutomatorでREST APIを使ってみよう

AWS運用自動化サービス「Cloud Automator」

この記事はCloud Automator Advent Calendar 2017の24日目です。

技術4課の渡辺です。入社して3ヶ月ほど経ちました。
入社後、Cloud Automatorを使い出しましたが、CLI操作は未経験です。
そんな私がCloud AutomatorのREST APIに挑戦してみたいと思います。

1. REST APIキーの発行

REST APIを使うためには、REST APIキーの発行が必要なようです。
こちらのページを参考にして、REST APIキーを発行し、メモしておきましょう。
参考URL:Cloud AutomatorのREST APIを公開しました!

2. curlで情報取得して見る

試しに上記URLに載っていた /aws_accounts にアクセスしてみます。
curlコマンドを使い、Getリクエストしたところ、下記のように文字化けしたレスポンスが返ってきました。

調べたところ、HTTPレスポンスがgzip圧縮されていることがわかりました。
–compressedオプションを付けるとレスポンスの圧縮を解凍して表示してくれます。
ついでに応答がJSONフォーマットであったため、jqコマンドも付けてみました。

それっぽい応答が確認できました。
ちゃんとREST APIにアクセスできていそうです。

3. ジョブ一覧を取得して見る

試しにREST APIでジョブ一覧を取得してみます。
Cloud Automator APIというページがあるので、眺めて見ると/jobsを発見しました。

レスポンスは省略しますが、これで/jobsにアクセスできます。

 

 

4. ジョブのtag_valueを変更して見る

情報取得だけでなく、変更もしてみたいですね。
試しにジョブのtag_valueを変更してみます。
Cloud Automatorでは、「EC2インスタンスのTagがenv:developmentだった場合、19:00に停止する」などのようにTagを利用できますが、その値を変更してみます。

なお、下記の例ではジョブIDが12117(jobs/12117)となっていますが、これは「3. ジョブ一覧を取得して見る」のレスポンスで確認できます。

その他のポイントは、以下となります。

  • PATCHメソッドを使う(-X PATCH)
  • –data または –data-binary で変更したいパラメータのJSONを指定する

 

 

5. ジョブの有効/無効を切り替えて見る (非対応でした)

次にジョブの有効/無効を切り替えるために、”active”: false,という箇所の変更を試みました。
ところが下記のコマンドを実行しても変更できませんでした。

Cloud Automator APIをよーく読むと全てのパラメータを変更できるわけでは無いようです。
activeという名前は載っていないので、対応していないのでしょう。

まとめ

今回の調査の結果、Cloud Automator REST APIの基本的な使い方がわかりました。
また、全てがAPIでできるわけでは無いということもわかりました。
詰まったら、Cloud Automator APIをよく読むと良さそうです。

AWS運用自動化サービス「Cloud Automator」