【发布时间】:2017-01-13 15:41:22
【问题描述】:
我已经尝试了几天来获取 API 服务 {'Network_Firewall_Update_Request_Rule'].createObject 工作没有成功。我确实让 firewallManager edit_dedicated_fwl_rules 工作,但现在希望服务也能工作。我在整个网络上寻找答案,但找不到答案。
我的问题是传递给防火墙规则的服务 createObject 的参数的语法是什么? 你有例子吗?
正在使用的命令是:
client = SoftLayer.create_client_from_env(username=user, api_key=api)
client['Network_Firewall_Update_Request_Rule'].createObject(id=12345, [{'action': 'permit'}])
是的,我知道我需要更多的规则语句来创建。
这将返回"SyntaxError: non-keyword arg after keyword arg" because of the "id=".
将"id=" 放在 API 的末尾:
client['Network_Firewall_Update_Request_Rule'].createObject([{'action': 'permit'}], id=12345)
then the error is "Either a component ID or an ACL ID must be supplied."
如果我删除“id=”并且只有
client['Network_Firewall_Update_Request_Rule'].createObject(12345, [{'action': 'permit'}])
那么错误是“必须提供组件 ID 或 ACL ID。”
我知道我必须拥有"id=",因为此命令有效:
client['Network_Firewall_Update_Request'].getRules(id=12345)
但是使用 Manager API 命令fw.edit_dedicated_fwl_rules(12345, [{'action': 'permit'}])
没有"id=",因为这会成功创建规则。
感谢您的帮助。
【问题讨论】:
标签: api rules ibm-cloud-infrastructure createobject