やりたいこと
IBM Cloud Load BalancerにてGUI上から"Classic Infrastructure > Load Balancers > Server Instances"にてWeightとして表示される値をCUI上で確認したい。
環境情報
$ ibmcloud version C:\Program version 1.4.0+...
やり方
以下コマンドで該当するICLBが
$ ibmcloud sl call-api Network_LBaaS_LoadBalancer getAllObjects
JSON形式で出力されるのでIDに表示される文字列を控え
{ "accountId": xx, "address": "xx", "createDate": "xx", "id": XX, ... "datacenter": { "id": xx, "longName": "Tokyo 4", "name": "tok04", "statusId": 2 } },
以下コマンドを実行すると
$ ibmcloud sl call-api Network_LBaaS_LoadBalancer getMembers --init XX
各メンバーの情報が重み付きで表示される。(明示的に値を入れないと"weight": null
となる)
[ { "address": "xx", "createDate": "xx", "id": xx, .. "uuid": "xx", "weight": 0 }, { "address": "xx", ... "weight": 0 }, { "address": "xx", ... "weight": 100 } ]
以下、補足です。
補足
IbmcloudコマンドにはICLB専用の以下のコマンド体系があり
$ ibmcloud sl loadbal
以下コマンドで
$ ibmcloud sl loadbal detail --id XX
MembersのIPアドレスやヘルスチェックの状態は確認できますがウェイトが表示されません。
よって上で記載したcall-apiを利用しました。
ちなみに以下で各メンバーの重みをコマンドから変更することも可能です。
$ ibmcloud sl call-api SoftLayer_Network_LBaaS_Member updateLoadBalancerMembers --parameters '["XX", [{"uuid": "xx", "weight":100}]]'
以上です。