Python
command
cli
SoftLayer

SoftLayer Command Line Interface環境の導入

More than 1 year has passed since last update.

1.はじめに

 SoftLayerの提供するメインAPIは、多くのファンクションコールがあり(API Ver3.0:180を超えるサービス、2200のファンクションコール)、ポータルで提供している機能のほとんどがAPIを使ってプログラミングできるそうです。
これを使えば、独自のポータルを作成、運用操作の自動化が可能になります。
例えば、インスタンス(サーバー)の作成、削除、変更をはじめとし、運用・保守など様々な用途が独自のルールで組み立てられます。
 言語はC#, Perl, PHP, Python, Ruby, VB .Netがサポートされ、REST, SOAP & XML-RPCインターフェースがサポートされています。

幸いなことに、「Command Line Interface」も提供されていますので、シェルプログラムに組み込めば、APIを使ってプログラミングしなくても、各種機能が使えます。

では、次にくる問題としては、「Command Line Interface」はPythonで書かれているため、Pythonの環境を作らなくてはいけません。Pythonをご存じの方は簡単に導入できるでしょうが、Pythonという名前しか知らかったので、何をどうすれば良いかを調べるところから始めました。

尚、クライアントPCシステム環境はWindows7(32bit)を使用しています。

2.導入ステップ概要

①ポータル画面のユーザー一覧(Users)から、API Keyを取得。
②Python 2系とPython 3系がありますが、今回2系のPython 2.7.6を導入。
③次のステップ(④)でPythonツールを導入する際、wgetを使用。
④Pythonでよく使われているツール、ez_setup / pip の導入。
⑤pipでSoftLayerパッケージを導入。
⑥ユーザーIDやAPI Keyを設定。
Fig01.jpg

3.導入

3-①.API Key取得
API KeyはAPIを使ってアクセスするユーザーを許可する、英数字の一意の識別子です
「Command Line Interface」はSoftLayer APIを使用していますので、API Keyが必要です。

・API Keyはポータル画面の「Account」⇒「Users」 ユーザー一覧から設定・取得します。
・API Keyを取得するユーザー行の右側にある「Generate」リンクをクリック。

・しばらくすると「Generate」から「View」へ変わり、API Keyが作成されました。
・「View」 リンクをクリックすると作成されたAPI Keyが表示されます。

3-②.Python 導入

PythonをWindows7(32bit)環境で使えるように、導入と環境設定を説明します。
Python 2系とPython 3系がありますが、ここでは2系で現在最新のPython 2.7.6を導入します。

3-②-1.Python 2.7.6のダウンロード

http://www.python.org/ のサイトからPython2.7.6のWindows用インストーラーをダウンロードします。
「Quick Links (2.7.6)」⇒「Windows Installer」をクリックし、ダウンロード開始。

3-②-2.Python 2.7.6のセットアップ

・ダウンロードした 「python-2.7.6.msi」をダブルクリックして、インストーラーを起動します。

3-②-3.Python 環境変数の設定

・「Python.exe」が実行モジュールです。 初期値で導入したので、導入フォルダーは 「c:\Python27」、その中に「Python.exe」があるのが確認できます。
このフォルダーに環境変数Pathを通します。
尚、導入フォルダーを変更した方は、「Python.exe」のあるフォルダーにPathを通します。

3-②-4.Python 導入の確認

・Pythonが正常に導入されたかを、コマンドプロンプトで確認します。
「Python」と入力し、Enterキーを押してください。

正常に導入されていれば、Pythonの対話型シェルが起動されます。
バージョン情報の後に、プロンプト「>>>」が表示されたら正常に導入されています。
「Ctrl」と「z」ボタンを押し、Enterキーを押して対話型シェルから抜けます。
コマンドプロンプトになりましたら、「Exit」で終了してください。

3-③.wget導入

次のステップで、Pythonツールを導入します。
Pythonツール導入はwgetコマンドを使用します。Linuxはコマンドとして標準提供されていますが、残念な事にWindowsには標準提供されていないため、ダウンロードして導入します。

3-③-1.wgetダウンロード

http://gnuwin32.sourceforge.net/packages/wget.htm
のサイトから、「wget-1.11.4-1-dep.zip」、「wget-1.11.4-1-bin.zip」の2つのファイルをダウンロードします。
Downloadセクションの下記場所からダウンロードできます。
・Binaries  Zip ---- 「wget-1.11.4-1-bin.zip」
・Dependencies Zip ----- 「wget-1.11.4-1-dep.zip」

3-③-2.ダウンロードファイルの解凍

・C:\wget_toolフォルダーを作成し、ダウンロードした2つのファイルを解凍します。
 2つのZipファイルは解凍後、削除して構いません。

3-③-3.フォルダー名の変更

wget-1.11.4-1-binフォルダー名をwgetに変更

3-③-4.DLLのコピー

C:\wget_tool\wget-1.11.4-1-dep\binの4つのdllを、C:\wget_tool\wget\binへコピー

3-③-5.wget環境変数の設定

・「システム環境変数」から、「変数名Path」を選択し、「編集」ボタンを押します。

・「変数値」の末尾に「;C:\wget_tool\wget\bin」を追加して、「OK」ボタンを押してください。

3-③-6.wget 導入の確認

・Pythonが正常に導入されたかを、コマンドプロンプトで確認します。
「wget」と入力し、Enterキーを押してください。

3-④.Python ツール導入

後程、SoftLayerパッケージを導入しますが、その導入のためにpipが必要で、pipを使用するために、setuptoolsが必要になります。ここでは、setuptoolsとpipをwgetを使って導入します。
前提として、Pythonとwgetが必要です。

3-④-1.setuptools 導入

導入は簡単です。
・コマンドプロンプトで下記コマンドを入力してください。

コマンド
wget --no-check-certificate https://bitbucket.org/pypa/setuptools/raw/
bootstrap/ez_setup.py && Python ez_setup.py ⏎

3-④-2.pip 導入

導入は簡単です。
・コマンドプロンプトで下記コマンドを入力してください。

コマンド
wget --no-check-certificate https://raw.github.com/pypa/pip/master/contrib/
get-pip.py && python get-pip.py  ⏎

3-⑤.SoftLayer パッケージ導入

Pipを使用して、SoftLayerパッケージを導入します。
Pip.exeは、Python導入ディレクトリー\Scriptsにありますので、ディレクトリーを変更してください。
(本環境はc:\Python27に導入しましたので、c:\Python27\Scripts になります。)

・コマンドプロンプトで下記コマンドを入力してください。

コマンド
pip install softlayer  ⏎

3-⑥.構成のセットアップ

「Command Line Interface」環境導入の最後のステップです。
ここでは、導入済みのSoftLayerパッケージを起動し、ユーザーID、API Keyを登録します。

sl.exeは、Python導入ディレクトリー\Scriptsにありますので、ディレクトリーを変更してください。
(本環境はc:\Python27に導入しましたので、c:\Python27\Scripts になります。)

・コマンドプロンプトで下記コマンドを入力してください。

コマンド
sl config setup  ⏎

・SoftLayer ID、パスワード(またはAPI Key)、EndPointを入力します。

以上で、「Command Line Interface」環境導入が完了しました。

3-⑦.機能の確認

ここでは例として、現在稼働しているCloud Computer Instanceの一覧を見ます。
コマンドは、

コマンド
sl cci list  ⏎

です。
Fig02.jpg

4.おわりに

 SoftLayerの提供する多くのAPIを理解するには、「Command Line Interface」から入ると分かりやすいと思います。

参考資料:
http://sldn.softlayer.com/reference/overview
http://www.softlayer.com/about/automation/open-api/
http://knowledgelayer.softlayer.com/topic/developmentapi
http://sldn.softlayer.com/
https://softlayer-api-python-client.readthedocs.org/en/latest/