MDXのVM操作を行うためのコマンドラインツールです。
Important
あらかじめMDXの「問い合わせ」からプロジェクトのREST APIを有効化してもらう必要があります。
export MDX_PROJECT_ID="your-project-id-here"
export MDX_BASE_URL="https://oprpl.mdx.jp" # オプション(デフォルト値あり)curljqbash
git clone https://github.com/hypsakata/mdx-tools.git
cd mdx-tools
chmod +x mdx.sh mdx-refresh-token.shmdx.sh- メインスクリプトmdx-refresh-token.sh- トークン更新スクリプト- 以下はライブラリファイル
lib/helpers.sh- ヘルパー関数lib/api_client.sh- API呼び出し関数lib/vm_commands.sh- VM操作関数lib/managed_list.sh- VMリスト管理関数
キャッシュファイルは以下に保存されます:
- デフォルト:
$HOME/.mdx/ - XDG Base Directory対応:
$XDG_DATA_HOME/mdx/
-
アクセストークンの設定
- アクセストークンを取得してデータディレクトリ内の
access_tokenに保存 - (デフォルトでは
$HOME/.mdx/access_tokenに保存)
- アクセストークンを取得してデータディレクトリ内の
-
環境変数の設定
export MDX_PROJECT_ID="your-project-id"
-
VMリストの初期取得
./mdx.sh update-list
Note
update-list でVMリストを取得していない場合、VM操作ではVMの名前ではなくUUIDを使用する必要があります。
# VMリストの更新
./mdx.sh update-list
# VMリストの表示
./mdx.sh show-list# VMの起動
./mdx.sh up <vm-id-or-name>
./mdx.sh power_on <vm-id-or-name>
# VMの休止
./mdx.sh deallocate <vm-id-or-name>
# VM情報の表示
./mdx.sh show-vm <vm-id-or-name>
# VM実行ステータスの表示
./mdx.sh show-status <vm-id-or-name>Warning
VMの停止は実行速度を考慮し、ステータスを確認せずに強制的に停止します。データ損失の可能性があるため、注意して使用してください。
# GETリクエスト
./mdx.sh get "api/endpoint"
# POSTリクエスト
./mdx.sh post "api/endpoint" '{"key": "value"}'
# PUTリクエスト
./mdx.sh put "api/endpoint" '{"key": "value"}'
# DELETEリクエスト
./mdx.sh delete "api/endpoint"アクセストークンの有効期限は3時間です。定期的に cron などを用いてトークンを更新する必要があります。
./mdx-refresh-token.sh-
環境変数が設定されていない
エラー: 環境変数 MDX_PROJECT_ID が設定されていません。→
export MDX_PROJECT_ID="your-project-id"を実行してください -
アクセストークンが見つからない
エラー: アクセストークンファイルが見つかりません→
$HOME/.mdx/access_tokenにトークンを保存してください -
HTTPエラー
HTTPエラー: 401→ アクセストークンの有効期限が切れている可能性があります。改めてトークンを取得して、
access_tokenファイルを手動で書き換えてください。
MIT License - 詳細は LICENSE ファイルを参照してください。