LoginSignup
2
2

More than 5 years have passed since last update.

Bluemix Infrastructure API(Virtual_Guestサービス)

Last updated at Posted at 2017-08-29

Virtual_Guestサービス・メゾッド
https://softlayer.github.io/reference/services/SoftLayer_Virtual_Guest/

Virtual_Guestデータ型
https://softlayer.github.io/reference/datatypes/SoftLayer_Virtual_Guest/

複数の仮想マシンの作成
createObject http://sldn.softlayer.com/reference/services/softlayer_virtual_guest/createobject

複数の仮想マシンを削除
deleteObject http://sldn.softlayer.com/reference/services/SoftLayer_Virtual_Guest/deleteObject

コード


# SoftLayerモジュールを読み込む
import SoftLayer

# ppritモジュールからpprint関数を読み込む
from pprint import pprint

# ポータルのアカウント > ユーザ > ユーザー・プロファイルの編集でAPIアクセス情報を確認し入力
username = ''
key = ''

# 認証情報を渡すことで他のメゾッドで要求されるauthenticate引数は不要に
client = SoftLayer.Client(username=username, api_key=key)

# 空のリスト(SoftLayer_Virtual_Guestクラス追加用)
virtualgest = []

# ホスト名のリスト
hostName = ["ICP-Master", "ICP-Worker", "ICP-Proxy", "ICP-Management"]

# ドメイン名のリスト
domainName = ["tokyo02.com", "tokyo02.com", "tokyo02.com", "tokyo02.com"]

# データセンターの文字列リスト
datacenter = ["dal05", "lon04", "tok02", "wdc01", "mon01", "hkg02"] 
# 2017/9/1
# 'ams01', 'ams03', 'che01', 'dal01', 'dal10', 'dal12', 'dal13', 'dal02',
# 'dal05', 'dal06', 'dal07', 'dal09', 'fra02', 'hkg02', 'hou02', 'lon02', 'lon04', 'lon06',
# 'mel01', 'mex01', 'mil01', 'mon01', 'osl01', 'par01', 'sjc01', 'sjc03', 'sjc04', 'sao01',
# 'sea01', 'seo01', 'sng01', 'syd01', 'syd04', 'tok02', 'tor01', 'wdc01', 'wdc04', 'wdc06',
# 'wdc07'

# OSの文字列リスト
osName = ["WIN_LATEST", "CORE_LATEST", "REDHAT_LATEST", "CENT_LATEST", "DEBIAN_LATEST", "UBUNTU_LATEST"]

# 作成する仮想マシン数
machineNum = 3

# 複数の仮想マシンを作成
if machineNum < 4:
    for i in range(machineNum):
        virtualgest.append(client['Virtual_Guest'].createObject({
            'hostname': hostName[i],
            'domain': domainName[i],
            'startCpus': 1,
            'maxMemory': 1,
            'hourlyBillingFlag': 'true',
            'operatingSystemReferenceCode': osName[i],
            'localDiskFlag': 'false',
            'maxCpuUnits': 'CORE',      
            'datacenter': {'name': '%s' % datacenter[i]}
        }))

# 作成した仮想マシンの情報を表示
pprint(virtualgest)

# 複数の仮想マシンを削除
for i in range(len(virtualgest)):
    results = client['Virtual_Guest'].deleteObject(id = virtualgest[i]['id'])
    print("%s %s" % (results, virtualgest[i]['hostname']))

アカウント登録(1ヶ月間無料トライアル付き: 要クレジット登録)
https://ibm.biz/Bdji5q

2
2
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
2
2