2017-07-11 2 views
0

Ich habe die Variablen SL_USERNAME und SL_API_KEY exportiert. Ich habe meinen Softlayerkonto nicht mit bluemix verlinkt.Softlayer Api Authentifizierung mit Terraform

Befehl:

terraform import ibmcloud_infra_vlan.999 999 

Fehler:

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

dieser Benutzer bedeutet dies nicht über die Berechtigung für API-Aufrufe?

Antwort

0

So scheint Benutzername der API-Benutzername zu sein. Nicht die, die Sie auf der Benutzerseite sehen.

Und VLAN ID ist in der URL. https://control.softlayer.com/network/vlans/vlanid

Das gleiche gilt für alle anderen Ressourcen-IDs.

Und Sie müssen die zulässigen IPs für den Benutzer, den Sie verwenden, ändern.

0

Ich kenne Terraform nicht, aber dieser Beitrag kann Ihnen helfen How do I create a SoftLayer Vlan using Terraform?.

Um zu wissen, ob Sie mit Ihrem Benutzernamen und Ihrem API-Schlüssel eine Anfrage stellen können, können Sie einen einzelnen REST-Anruf mit einem Client oder einem Webbrowser durchführen.

Im Folgenden finden Sie ein Beispiel, mit dem Sie den API-Zugriff überprüfen können. Es sollte Informationen über Ihren SL-Account zurückgeben.

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

Method: GET 

ersetzen [Benutzername] und [apikey] mit Ihren eigenen Daten. Wenn die Antwort lautet "Zugriff verweigert". Ich empfehle, dass Sie überprüfen, ob userName und apiKey korrekt sind, indem Sie das Control-Portal (Profil) verwenden.

Berücksichtigen Sie, dass der API-Benutzer in der Lage sein sollte, die gleichen Aktionen auszuführen, die er auch auf der Control-Portalseite ausführen kann. Wenn der Benutzer beispielsweise keine VLANs sehen kann, kann er dies nicht über die API tun.

+0

Hallo Albert! Danke für den Kommentar. Ich sehe Kontoinformationen auf dieser Seite. Ich habe zuvor den primären Benutzer verwendet, der anscheinend keinen Benutzernamen hat. Ich erhalte jetzt einen neuen Fehler 'import ibmcloud_infra_vlan.999 Ergebnis: 999: import ibmcloud_infra_vlan.999 (id: 999): Terraform hat festgestellt, dass eine Ressource mit dieser ID nicht existiert. Bitte vergewissern Sie sich, dass die ID korrekt ist. Ich sehe im Portal nichts als VLAN-ID. Alles, was ich sehe, ist die VLAN-Nummer. Auch der Link, den Sie oben eingefügt haben, exportiert SL_USERNAME als API-Benutzername, was für mich nicht zu funktionieren scheint. – pdna