0

我导出了 SL_USERNAME 和 SL_API_KEY 变量。我没有将我的 softlayer 帐户链接到 bluemix。

命令:

terraform import ibmcloud_infra_vlan.999 999

错误:

import ibmcloud_infra_vlan.999 result: 999: ibmcloud_infra_vlan.999: Error communicating with the API: SoftLayer_Exception_Public: Access Denied.  (HTTP 401)

这是否意味着用户没有 API 调用的权限?

4

2 回答 2

2

我对 Terraform 不熟悉,但这篇文章可能对您有所帮助如何使用 Terraform 创建 SoftLayer Vlan?.

要知道您是否能够使用您的用户名和 api 密钥发出请求,您可以使用客户端或任何 Web 浏览器执行单个 REST 调用。

以下是可用于验证 API 访问权限的示例。它应该返回有关您的 SL 帐户的信息。

https://[userName]:[apiKey]@api.softlayer.com/rest/v3/SoftLayer_Account/getObject

Method: GET

[userName][apiKey]替换为您自己的数据。如果响应显示“拒绝访问”。我建议您使用控制门户(配置文件)验证用户名和 apiKey 是否正确。

考虑到 API 用户应该能够执行他能够在控制门户页面中执行的相同操作。例如,如果用户看不到 vlan,那么他将无法通过 API 进行操作。

于 2017-07-11T22:15:48.907 回答
0

所以用户名似乎是 API 用户名。不是您在用户页面中看到的那个。

VLAN ID 在 URL 中。https://control.softlayer.com/network/vlans/vlanid

所有其他资源 ID 也是如此。

您必须为您正在使用的用户修改允许的 IP。

于 2017-07-12T13:43:18.450 回答