Bluemix-Infra(SoftLayer)のPodを一覧表示するスクリプト

#内容
Bluemix Infrastructure (旧SoftLayer) において、各データセンターにあるPodを、コマンドで一覧表示できるスクリプトをつくりました。

#Podとは
IBM Bluemix のデータセンター (DC) は、大きく分けて POD (Point of Delivery) と呼ばれるラックの塊と、発電機やバックアップ・バッテリー、冷却装置で構成されています。PODは各DCに1つ以上置かれ、DCを構成する基本単位になっています。ネットワーク、ストレージ、セキュリティがPOD単位で独立し、各PODの最上位にあるネットワーク・スイッチ以下の層の障害は、PODの範囲でしか影響がありません。

><a href="https://www.imagazine.co.jp/ismagazine/ismagazine-3548/" >特集　SoftLayerのすべて［第3弾］　Part1　これがSoftLayerのデータセンターだ - アイマガジン</a>

#前提
以下の記事が理解できていることが前提です。
Bluemix Infrastructure (旧SoftLayer) のAPIについて、詳しく解説してあります。
><a href="http://qiita.com/testnin2/items/f04ca0cee9b2f0a8f830" >ShinobiLayer: SoftLayer API 次の一歩: データ型オブジェクト(1) - Qiita</a>

#スクリプト
```py:getNetworkPod.py
import SoftLayer
import json
from prettytable import PrettyTable

# account info
client = SoftLayer.create_client_from_env()

#objectmask
objectmask = """
	longName,
	name,
	regions,
	vdrGroup[
		locationId,
		locationGroup[
			id,
			description,
			name
		]
	]
"""

pod = client['SoftLayer_Network_Pod'].getAllObjects()
#pod_jsonstring = json.dumps(pod,indent=4)
#print(pod_jsonstring) 

table = PrettyTable([
	'DC Name',
	'DC Detail',
	'Pod Name'])

for key in range(len(pod)):
		table.add_row([
			pod[key]['datacenterName'],
			pod[key]['datacenterLongName'],
			pod[key]['name']
		])

print len(pod)
print table.get_string(sortby="Pod Name")
```

#実行結果の例
```
64
+---------+--------------+-------------+
| DC Name |  DC Detail   |   Pod Name  |
+---------+--------------+-------------+
|  ams01  | Amsterdam 1  | ams01.pod01 |
|  ams01  | Amsterdam 1  | ams01.pod02 |
|  ams03  | Amsterdam 3  | ams03.pod01 |
|  ams03  | Amsterdam 3  | ams03.pod02 |
|  che01  |  Chennai 1   | che01.pod01 |
|  dal01  |   Dallas 1   | dal01.pod01 |
|  dal01  |   Dallas 1   | dal01.pod02 |
|  dal01  |   Dallas 1   | dal01.pod03 |
|  dal01  |   Dallas 1   | dal01.pod04 |
|  dal01  |   Dallas 1   | dal01.pod05 |
|  dal05  |   Dallas 5   | dal05.pod01 |
|  dal05  |   Dallas 5   | dal05.pod02 |
|  dal05  |   Dallas 5   | dal05.pod03 |
|  dal05  |   Dallas 5   | dal05.pod04 |
|  dal06  |   Dallas 6   | dal06.pod01 |
|  dal06  |   Dallas 6   | dal06.pod02 |
|  dal06  |   Dallas 6   | dal06.pod99 |
|  dal07  |   Dallas 7   | dal07.pod01 |
|  dal09  |   Dallas 9   | dal09.pod01 |
|  dal09  |   Dallas 9   | dal09.pod02 |
|  dal09  |   Dallas 9   | dal09.pod03 |
|  dal09  |   Dallas 9   | dal09.pod04 |
|  dal09  |   Dallas 9   | dal09.pod05 |
|  dal09  |   Dallas 9   | dal09.pod06 |
|  dal10  |  Dallas 10   | dal10.pod01 |
|  dal10  |  Dallas 10   | dal10.pod02 |
|  fra02  | Frankfurt 2  | fra02.pod01 |
|  hkg02  | Hong Kong 2  | hkg02.pod01 |
|  hkg02  | Hong Kong 2  | hkg02.pod02 |
|  hou02  |  Houston 2   | hou02.pod01 |
|  hou02  |  Houston 2   | hou02.pod02 |
|  lon02  |   London 2   | lon02.pod01 |
|  lon02  |   London 2   | lon02.pod02 |
|  mel01  | Melbourne 1  | mel01.pod01 |
|  mex01  |   Mexico 1   | mex01.pod01 |
|  mil01  |   Milan 1    | mil01.pod01 |
|  mon01  |  Montreal 1  | mon01.pod01 |
|  mon01  |  Montreal 1  | mon01.pod02 |
|  osl01  |    Oslo 1    | osl01.pod01 |
|  par01  |   Paris 1    | par01.pod01 |
|  sao01  | Sao Paulo 1  | sao01.pod01 |
|  sea01  |  Seattle 1   | sea01.pod01 |
|  sea01  |  Seattle 1   | sea01.pod02 |
|  seo01  |   Seoul 1    | seo01.pod01 |
|  sjc01  |  San Jose 1  | sjc01.pod01 |
|  sjc01  |  San Jose 1  | sjc01.pod02 |
|  sjc01  |  San Jose 1  | sjc01.pod03 |
|  sjc03  |  San Jose 3  | sjc03.pod01 |
|  sjc03  |  San Jose 3  | sjc03.pod02 |
|  sng01  | Singapore 1  | sng01.pod01 |
|  sng01  | Singapore 1  | sng01.pod02 |
|  syd01  |   Sydney 1   | syd01.pod01 |
|  tok02  |   Tokyo 2    | tok02.pod01 |
|  tor01  |  Toronto 1   | tor01.pod01 |
|  tor01  |  Toronto 1   | tor01.pod02 |
|  wdc01  | Washington 1 | wdc01.pod01 |
|  wdc01  | Washington 1 | wdc01.pod02 |
|  wdc01  | Washington 1 | wdc01.pod03 |
|  wdc01  | Washington 1 | wdc01.pod04 |
|  wdc01  | Washington 1 | wdc01.pod05 |
|  wdc01  | Washington 1 | wdc01.pod06 |
|  wdc04  | Washington 4 | wdc04.pod01 |
|  wdc04  | Washington 4 | wdc04.pod02 |
|  wdc04  | Washington 4 | wdc04.pod03 |
+---------+--------------+-------------+
```