softlayer api 用户密码更新
softlayer api user password update
我正在尝试使用 SoftLayer API Rest 方法来更新用户 VPN 密码,但没有成功。我一定是错误地构建了我的呼叫,并希望有人有一个工作示例或输入为什么我的呼叫失败。我尝试了很多方法但没有运气。我正在使用的 api 用户具有所需的权限级别,我的密钥有效(适用于其他方法等。)我的方法是:
def set_user_vpn_password(self):
''' method to set a user's vpn password '''
myPass = { "password" : "P@s$w0rd!?" }
r = requests.post('https://<priv api account>:<api key>@api.softlayer.com/rest/v3/SoftLayer_User_Customer/<softlayer uid>/updateVpnPassword', json=myPass)
print(r.text)
pp(r)
pp(r.json())
产生的错误是:
{"error":"ERR_USER_CUSTOMER_PASSWORD_COMPLEXITY_FAILED","code":"SoftLayer_Exception"}
<Response [500]>
{u'code': u'SoftLayer_Exception',
u'error': u'ERR_USER_CUSTOMER_PASSWORD_COMPLEXITY_FAILED'}
我相信我没有遗漏任何有关复杂性的密码政策 - 我尝试了不同的字符串但无济于事。如您所见,我正在使用 Python 请求模块。
关于复杂性的密码策略还可以。问题是 SoftLayer 在请求中使用了这种主体:
{
"parameters": []
}
有时请求需要一个对象或整数或字符串,在这种情况下,因此正确的 REST 请求将是:
{
"parameters": ["P@s$w0rd!?"]
}
这里是一个使用 SoftLayer python 客户端的 python 示例:
"""
Update VPN password.
Important manual pages:
http://sldn.softlayer.com/reference/services/SoftLayer_User_Customer/updateVpnPassword
https://sldn.softlayer.com/article/Python
License: http://sldn.softlayer.com/article/License
Author: SoftLayer Technologies, Inc. <sldn@softlayer.com>
"""
import SoftLayer
import pprint
"""
Your SoftLayer API username and key
"""
USERNAME = 'set me'
API_KEY = 'set me'
# Create a SoftLayer API client object
client = SoftLayer.Client(username=USERNAME,
api_key=API_KEY)
userService = client['SoftLayer_User_Customer']
user_id = 205571
updated_password = 'P@s$w0rd!?'
try:
result = userService.updateVpnPassword(updated_password, id=user_id)
pprint.pprint(result)
except SoftLayer.SoftLayerAPIError as e:
print(('Unable to update password faultCode=%s, faultString=%s'
% (e.faultCode, e.faultString)))
我正在尝试使用 SoftLayer API Rest 方法来更新用户 VPN 密码,但没有成功。我一定是错误地构建了我的呼叫,并希望有人有一个工作示例或输入为什么我的呼叫失败。我尝试了很多方法但没有运气。我正在使用的 api 用户具有所需的权限级别,我的密钥有效(适用于其他方法等。)我的方法是:
def set_user_vpn_password(self):
''' method to set a user's vpn password '''
myPass = { "password" : "P@s$w0rd!?" }
r = requests.post('https://<priv api account>:<api key>@api.softlayer.com/rest/v3/SoftLayer_User_Customer/<softlayer uid>/updateVpnPassword', json=myPass)
print(r.text)
pp(r)
pp(r.json())
产生的错误是:
{"error":"ERR_USER_CUSTOMER_PASSWORD_COMPLEXITY_FAILED","code":"SoftLayer_Exception"}
<Response [500]>
{u'code': u'SoftLayer_Exception',
u'error': u'ERR_USER_CUSTOMER_PASSWORD_COMPLEXITY_FAILED'}
我相信我没有遗漏任何有关复杂性的密码政策 - 我尝试了不同的字符串但无济于事。如您所见,我正在使用 Python 请求模块。
关于复杂性的密码策略还可以。问题是 SoftLayer 在请求中使用了这种主体:
{
"parameters": []
}
有时请求需要一个对象或整数或字符串,在这种情况下,因此正确的 REST 请求将是:
{
"parameters": ["P@s$w0rd!?"]
}
这里是一个使用 SoftLayer python 客户端的 python 示例:
"""
Update VPN password.
Important manual pages:
http://sldn.softlayer.com/reference/services/SoftLayer_User_Customer/updateVpnPassword
https://sldn.softlayer.com/article/Python
License: http://sldn.softlayer.com/article/License
Author: SoftLayer Technologies, Inc. <sldn@softlayer.com>
"""
import SoftLayer
import pprint
"""
Your SoftLayer API username and key
"""
USERNAME = 'set me'
API_KEY = 'set me'
# Create a SoftLayer API client object
client = SoftLayer.Client(username=USERNAME,
api_key=API_KEY)
userService = client['SoftLayer_User_Customer']
user_id = 205571
updated_password = 'P@s$w0rd!?'
try:
result = userService.updateVpnPassword(updated_password, id=user_id)
pprint.pprint(result)
except SoftLayer.SoftLayerAPIError as e:
print(('Unable to update password faultCode=%s, faultString=%s'
% (e.faultCode, e.faultString)))