Help us understand the problem. What is going on with this article?

SoftLayer Command Line Interface環境の導入

More than 5 years have 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/

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away