ConoHa用コマンドラインツール(CLI)を公開したよ!


ConoHa 用コマンドラインツール(CLI)をPyPIで公開いたしました!

簡単にインストールでき、ConoHa を コマンドライン上から、
VM作成、起動、停止、再起動、スナップショット作成などが行えるようになってます。

新しくConoHa始める方、ぜひここから始めてね。笑
https://www.conoha.jp/referral/?token=vLXmPMcQyHDH3I_8ory0ayLI9m9HQsUOPK0wjPJPYtBsmnt5GCE-FN7



インストール手順

以下のコマンドを実行することで conoha コマンドが利用可能になります。(Python3 必須)

$ pip3 install conoha

インストール後、以下のコマンドを実行することで初期設定が完了します。:

$ conoha
username: XXXX
password: XXXX
tenant_id: XXXX
Authentication success.

初期設定を行った内容は ~/.conoha/config にTOML形式で保存されます。
※ユーザ情報が登録されているリージョンは自動で判定されます。

使い方

各コマンドには様々なオプションが存在し --helpオプションで調べることができます。

VM系

VM一覧取得 (JSON形式)
 --outlineオプションを付けると簡略された内容となります。:

$ conoha compute vm list
$ conoha compute vm list --outline

VM一覧取得 (TEXT形式):

$ conoha compute vm list --text

VM作成:

必須オプションのみ
$ conoha compute vm create -i [IMAGE_ID] -f [FLAVOR_ID] --password [ADMIN_PASSWORD]

キーペア指定、VM名指定
$ conoha compute vm create -i [IMAGE_ID] -f [FLAVOR_ID] --password [ADMIN_PASSWORD] -k [KEYPAIR_NAME] -n [VM_NAME]

VM起動:

$ conoha compute vm up [VM_ID]

VM再起動:

$ conoha compute vm reboot [VM_ID]

VM通常停止:

$ conoha compute vm stop [VM_ID]

VM強制停止:

$ conoha compute vm stop [VM_ID] --force

FLAVOR(プラン)系

プラン一覧取得(JSON形式)
 --outlineオプションを付けると簡略された内容となります。:

$ conoha compute flavor list
$ conoha compute flavor list --outline

プラン一覧取得(TEXT形式):

$ conoha compute flavor list --text

IMAGE系

イメージ一覧取得(JSON形式)
 --outlineオプションを付けると簡略された内容となります。:

$ conoha compute image list
$ conoha compute image list --outline

イメージ一覧取得(TEXT形式):

$ conoha compute image list --text

指定したVMのスナップショットをイメージとして保存:

$ conoha compute image save [VM_ID]

その他

アカウントの請求情報などを取得するコマンドも用意しており、順次拡張予定です。

おすすめの使い方

JSONを超絶に読みやすくする jq コマンド というものがあり、この conohaコマンドの結果をパイプしてjqコマンドに渡すことで、欲しい結果を瞬時に得られることでしょう!

$ conoha compute vm list | jq .
$ conoha compute flavor list | jq .
$ conoha compute image list | jq .

余談

他にもConoHa-CLIなるものは幾つか既に存在したのですが、
Vagrant向けに特化されていたり、結果をJSON形式で取得したかったため、今回開発することに至りました。

あと、個人的に初めてのPythonによるCLI開発PyPI公開OSS開発だったので
それぞれで得たTipsなどは、また別記事で公開しようと思っております。

最後に、ご意見やプルリクなどどしどしお待ちしております!!