0

許可された Softlayer Network Storage のユーザー名、パスワード、およびホスト IQN を取得しようとしています。このpythonスクリプトを使用しましたが、シェルは[]を返します

    import SoftLayer
    API_USERNAME = 'xxx'
    API_KEY = 'yyyy'
    storageId = zzzz
    client = SoftLayer.Client(
       username=API_USERNAME,
       api_key=API_KEY
     )
    client['SoftLayer_Network_Storage'].getCredentials(id=storageId)

私のコードで何が問題になっていますか? よろしく

4

2 に答える 2

0

これを試して:

"""
Get all the authorized hosts for a iSCSI.

Important manual pages:
http://sldn.softlayer.com/reference/datatypes/SoftLayer_Hardware
http://sldn.softlayer.com/reference/datatypes/SoftLayer_Virtual_Guest
http://sldn.softlayer.com/reference/datatypes/SoftLayer_Network_Storage
http://sldn.softlayer.com/reference/services/SoftLayer_Network_Storage
http://sldn.softlayer.com/reference/services/SoftLayer_Network_Storage/getObject

License: http://sldn.softlayer.com/article/License
Author: SoftLayer Technologies, Inc. <sldn@softlayer.com>
"""
import SoftLayer

USERNAME = 'set me'
API_KEY = 'set me'

iscsiId = 6548079

# Declares the API client
client = SoftLayer.Client(username=USERNAME, api_key=API_KEY)
networkStorageService = client['SoftLayer_Network_Storage']

objectMask = "mask[id,username,allowedVirtualGuests[fullyQualifiedDomainName,allowedHost[name,credential[username,password]]],allowedHardware[fullyQualifiedDomainName,allowedHost[name,credential[username,password]]]]"

try:
    response = networkStorageService.getObject(id=iscsiId, mask=objectMask)
    print(response)
except SoftLayer.SoftLayerAPIError as e:
    # If there was an error returned from the SoftLayer API then bomb out with the
    # error message.
    print("Unable to retrieve the network storage. faultCode=%s, faultString=%s" % (e.faultCode, e.faultString))
于 2016-02-15T13:01:32.880 に答える
0

マスクを使用して「SoftLayer_Network_Storage::getObject」を使用すると、より多くの情報を取得できます。以下は、許可されたホスト (ベア メタル サーバー、仮想サーバー、IP アドレス)の「<strong>ユーザー名」、「<strong>パスワード」、「<strong>ホスト IQN」を示す例です。

Python の例:

# So we can talk to the SoftLayer API:
import SoftLayer

# For nice debug output:
from pprint import pprint as pp

# Your SoftLayer API username and key.
API_USERNAME = 'set me'
API_KEY = 'set me'

# Set the network storage id in order to  get the associated authorized hosts:
iscsiId = 6550721

mask = 'mask[id,username,allowedVirtualGuests[fullyQualifiedDomainName,allowedHost[name,credential[username,password]]],allowedHardware[fullyQualifiedDomainName,allowedHost[name,credential[username,password]]],allowedIpAddresses[ipAddress,allowedHost[name,credential[username,password]]]]'

# Set up your API client
client = SoftLayer.Client(
    username=API_USERNAME,
    api_key=API_KEY
)

try:
    # The expected result after executing the script is: true
    result = client['SoftLayer_Network_Storage'].getObject(mask=mask,id=iscsiId)
    pp(result)
except SoftLayer.SoftLayerAPIError as e:
        pp('Unable to get authorized hosts information faultCode=%s, faultString=%s'
            % (e.faultCode, e.faultString))

参考文献:

http://developer.softlayer.com/article/Object-Masks http://sldn.softlayer.com/reference/services/SoftLayer_Network_Storage/getObject https://softlayer.github.io/python/list_packages/

于 2016-02-15T15:34:40.460 に答える