私はstackoverflowでいくつかの検索を行ってAPIを見ていますが、具体的に答えを見つけることができないようです。 私はPythonでいくつかの自動化スクリプトを作成していて、primaryNetworkComponent
とprimaryBackendNetworkComponent
のペアを取得し、場所に基づいて方法があるのだろうかと疑問に思っていますか? getVlans()
の方法がありますが、私がGUIに行くのでなければどのvlansが一緒に行くのかわかりません。 VLANペアに搭載できるマシンの数に制限はありませんか?それがなければルータをつかんで最初の2つのVLANを取るだけでよいでしょうか?SoftlayerのVLANペアを注文する
0
A
答えて
0
以下のスクリプトは、特定の場所からのVLAN取得するために助けることができる:パブリックVLAN内のサーバーの数の制限はありません
を"""
Retrieves vlans from specific location
Important manual pages:
http://sldn.softlayer.com/reference/services/SoftLayer_Account/getNetworkVlans
http://sldn.softlayer.com/reference/datatypes/SoftLayer_Network_Vlan/
http://sldn.softlayer.com/article/object-Masks
http://sldn.softlayer.com/article/object-filters
License: http://sldn.softlayer.com/article/License
Author: SoftLayer Technologies, Inc. <[email protected]>
"""
import SoftLayer
# Your SoftLayer API username and key.
USERNAME = 'set me'
API_KEY = 'set me'
# Define location
datacenter = "Seoul 1"
# Declare the API client
client = SoftLayer.Client(username=USERNAME, api_key=API_KEY)
# Declaring an object mask and object filter to get vlans from datacenter
objectMask = "mask[primaryRouter[datacenter], networkSpace]"
objectFilter = {"networkVlans": {"primaryRouter": {"datacenter": {"longName": {"operation": datacenter}}}}}
try:
# Getting the VLANs
vlans = client['SoftLayer_Account'].getNetworkVlans(mask=objectMask, filter=objectFilter)
# Print vlans
print("PRIMARY NETWORK COMPONENT")
for vlan in vlans:
if vlan['networkSpace'] == 'PUBLIC':
print("Id: %s Vlan Number: %s Primary Router: %s" % (vlan['id'], vlan['vlanNumber'], vlan['primaryRouter']['hostname']))
print("\nPRIMARY BACKEND NETWORK COMPONENT")
for vlan in vlans:
if vlan['networkSpace'] == 'PRIVATE':
print("Id: %s Vlan Number: %s Primary Router: %s" % (vlan['id'], vlan['vlanNumber'], vlan['primaryRouter']['hostname']))
except SoftLayer.SoftLayerAPIError as e:
print("Unable to get Vlans. faultCode=%s, faultString=%s"
% (e.faultCode, e.faultString))
が、それはプライベートのために、利用可能なIPアドレスから同じような状況に依存しますVLAN。プライベートVLANの場合、256のIPアドレスの制限があります。
vlanにハードウェアファイアウォールがある場合、30台のサーバ(VSIまたはBMS)の制限があります。
ルータから最初のVLANを取得することはできません。これは制限されているため、購入したVLANのみを取得できます。
参考文献:
0
私はグローバル識別子を取得しようとしているが、私はキーエラーを取得しておくいるこのコード
mask = 'id, hostname, domain, hardwareStatus, globalIdentifier, remoteManagementAccounts, primaryBackendIpAddress, primaryIpAddress'
hardware_list = mgr.list_hardware(mask=mask)
for hardware in hardware_list:
if "someGLobalID" == hardware['globalIdentifier']:
を持っています
注文が完了した後、展開状態でグローバル識別子が生成されるかどうか
私は、ドメインのような別のキーを検索し、それは私が次のスクリプトでの成功を持っている
+0
新しい回答を掲載しました。さらに援助が必要な場合は、お知らせください –
0
に動作します試してみました:
"""
List Hardware
Important manual pages:
http://sldn.softlayer.com/reference/datatypes/SoftLayer_Hardware
https://github.com/softlayer/softlayer-python/blob/master/SoftLayer/managers/hardware.py
License: http://sldn.softlayer.com/article/License
Author: SoftLayer Technologies, Inc. <[email protected]>
"""
import SoftLayer
# Your SoftLayer API username and key.
USERNAME = 'set me'
API_KEY = 'set me'
# Declare the API client
client = SoftLayer.Client(username=USERNAME, api_key=API_KEY)
mgr = SoftLayer.HardwareManager(client)
globalIdentifier = '93e99548-bb97-4a18-b728-9c8ebba6s9e3'
try:
mask = 'id, hostname, domain, hardwareStatus, globalIdentifier, remoteManagementAccounts, primaryBackendIpAddress, primaryIpAddress'
hardware_list = mgr.list_hardware(mask=mask)
for hardware in hardware_list:
if globalIdentifier == hardware['globalIdentifier']:
print(hardware['globalIdentifier'])
except SoftLayer.SoftLayerAPIError as e:
print("Error. "
% (e.faultCode, e.faultString))
あなたが正しい、グローバル識別子は、受注に生成されているが、それらプロビジョニングの完了が完了するまでサーバーに接続されます。したがって、サーバーからのプロビジョニングプロセスが終了するまでこれを検索するまで待つ必要があります。
関連する問題
- 1. SoftLayer API経由で "Routed to VLAN"ポータブルサブネットを注文する方法
- 2. Softlayer API for VLAN Trunk
- 3. Softlayer API:注文時にVLAN選択を指定する方法VSI
- 4. 注文softlayer API関数
- 5. ソート/注文ペア
- 6. SoftLayerのネットワークゲートウェイVLANを認識する方法
- 7. VLANの注釈情報
- 8. トランクvlanへのSoftLayer API呼び出しが失敗します。
- 9. SoftLayer VLAN問題のリソースが不足しています
- 10. softlayer apiを使用してvlanをキャンセルできません
- 11. SoftLayer PythonクライアントAPI - パブリックVLANでインスタンスを作成
- 12. VMwareライセンスを注文するためのSoftlayer API
- 13. ソフト層API:2つのVLANを識別する方法は、VLANルータのペアに一致していますか?
- 14. SoftLayer注文からホスト名を取得する方法
- 15. SoftLayer API:VSIフレーバベースの注文サポートでimage_idを指定します
- 16. SoftLayerのネットワークVLANをどのように見積もりますか?
- 17. Softlayer JAVA APIサンプルで「時間/プリセット構成のベアメタルサーバー」をご注文
- 18. SoftLayer API:注文IDがある場合、billingItemを返すSoftLayer APIはありますか?
- 19. ORACLE - データ行のペアを注文するカスタムORDER BY
- 20. Softlayer API - 注文後にゲートウェイアプライアンスのステータスを追跡する方法は?
- 21. Softlayer REST APIを使用してサブネットを注文する方法は?
- 22. Softlayerで注文中にエラーが発生しました
- 23. SOFTLAYER API:SoftLayerAPIError(SoftLayer_Exception_Order_Item_Invalid):価格1ギガバイト(204925)がVSIを注文するパッケージ(46)
- 24. Terraformを使用してSoftLayer Vlanを作成するにはどうすればよいですか?
- 25. Javaのキー/値のペアを持って集まり、注文
- 26. 列の合計を指定して行のペア/トリプレットを注文する
- 27. Rubyを使用しているすべてのSoftLayerマシンの注文usernameとprovisionDateを取得するには?
- 28. Softlayer API:ticketIdを使用して関連する注文IDを取得することは可能ですか?
- 29. wp_dropdown_categoriesで注文を注文する
- 30. 管理VLANネットワーク
ありがとうございました! – Patrick