LoginSignup
0
0

More than 5 years have passed since last update.

SoftLayerのAuto Scale Groupを一覧するスクリプト

Last updated at Posted at 2015-01-31

ホントは他のことをしようと思ってて、それにはAuto Scaleの情報が必要だったのだけど、SoftLayer CLIにAuto Scale関連のコマンドがまだないようなので、ついでにスクリプトを作ってみた。
とりあえず、Auto Scaleで追加されたメンバーの情報を取得する方法は分かった。

sl_as.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from prettytable import PrettyTable
import SoftLayer
import sluser

SL_USERNAME = sluser.SL_USERNAME
SL_API_KEY = sluser.SL_API_KEY

_maskAutoScaleGroup = '''
    virtualGuestMemberCount
    '''

client = SoftLayer.Client(username=SL_USERNAME, api_key=SL_API_KEY)
autoScaleGroups = client['Account'].getScaleGroups(mask=_maskAutoScaleGroup)

_tableHeader = [
    'id',
    'asg name',
    'dc',
    'status',
    'min',
    'max',
    'now',
    'member prefix',
    'members',
    ]

# Table definition
table = PrettyTable(_tableHeader)
table.padding_width = 1

for asg in autoScaleGroups:
    m = ""
    ms = ""
    for a in asg['virtualGuestMembers'][0:]:
#        m =  str(a['virtualGuest']['id']) + ":" + a['virtualGuest']['hostname'][-4:]
        m =  a['virtualGuest']['hostname'][-4:]
        ms = m + ' ' + ms

    table.add_row(
        [
            asg['id'],
            asg['name'],
            asg['virtualGuestMemberTemplate']['datacenter']['name'],
            asg['status']['keyName'],
            asg['minimumMemberCount'],
            asg['maximumMemberCount'],
            asg['virtualGuestMemberCount'],
            asg['virtualGuestMemberTemplate']['hostname'],
            ms,
        ]
    )

print(table)
exit()
result
+-------+------------------+-------+-----------+-----+-----+-----+---------------+---------+
|   id  |     asg name     |   dc  |   status  | min | max | now | member prefix | members |
+-------+------------------+-------+-----------+-----+-----+-----+---------------+---------+
| 54654 | autoscale_grp01  | hkg02 | SUSPENDED |  1  |  5  |  0  |    asserver   |         |
| 34158 |   TK-as-group    | sng01 |   ACTIVE  |  1  |  5  |  1  |  TK-as-member |  e727   |
| 34758 | autosacle_yasuda | sng01 | SUSPENDED |  1  |  1  |  0  |    sh1nobu    |         |
|  8254 |   dai39-group    | sng01 |   ACTIVE  |  1  |  1  |  1  |  dai39-scale  |  cca8   |
+-------+------------------+-------+-----------+-----+-----+-----+---------------+---------+

membersのところは、Auto Scaleでの仮想サーバー追加時に作成される仮想サーバーのホスト名が prefix + "-xxxx" という名前で作られますが、そのxxxxの部分です。

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