LoginSignup
13
12

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-07-14

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

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

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



:robot: インストール手順

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

$ pip3 install conoha

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

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

sample.png

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

:lifter_tone3: 使い方

各コマンドには様々なオプションが存在し --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]

その他

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

:star: おすすめの使い方

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

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

:wave: 余談

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

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

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

13
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
12