#python #vagrant #ansible
#python #бродяга #ansible
Вопрос:
Я пытаюсь настроить виртуальную машину (с Vagrant и Ansible), для которой нужен файл.для полной правильной конфигурации этого компьютера (согласно книге, которую я изучаю), я использовал DigitalOcean API V2, но поскольку у меня нет действительной кредитной карты, моя учетная запись заблокирована, поэтому мне пришлось сменить DigitalOcean на AWS, поскольку компания, в которой я работаю, имеетучетная запись в AWS, теперь я беру «идентификатор клиента» и «ключ api» из AWS VM, поэтому вышеупомянутые проблемы вернулись…когда я пытаюсь использовать «python file.py » команда, выводящая сообщение, повторяется:
dopy.manager.Ошибка выполнения: не удается аутентифицировать вас.
**the file.py:**
"""
dependencias:
sudo pip install dopy pyopenssl ndg-httpsclient pyasn1
"""
import os
from dopy.manager import DoManager
import urllib3.contrib.pyopenssl
urllib3.contrib.pyopenssl.inject_into_urllib3()
api_version = os.getenv("DO_API_VERSION")
api_token=os.getenv("DO_API_KEY")
#do = DoManager(cliend_id, api_key)
do = DoManager(None, api_token, api_version=2)
keys = do.all_ssh_keys()
print "ssh key nametid"
for key in keys:
print "%st%d" % (key["name"], key["id"])
print "Image nametid"
imgs = do.all_images()
for img in imgs:
if img["slug"] == "ubuntu-14-04-x64":
print "%st%d" % (img["name"], img["id"])
print "Region nametid"
regions = do.all_regions()
for region in regions:
if region["slug"] == "nyc2":
print "%st%d" % (region["slug"], region["id"])
print "Size nametid"
sizes = do.sizes()
for size in sizes:
if size["slug"] == "512mb":
print "%st%d" % (size["slug"], size["id"])
Я ценю любую помощь.
Ответ №1:
Попробуйте удалить кавычки из api_token:
do = DoManager(None, api_token, api_version=2)
В противном случае ваш токен всегда является буквальной строкой api_token, а не переменной api_token .
Комментарии:
1. Итак, чувак, я внес изменения, но это не сработало хорошо .. вывод продолжает возвращаться: raise DoError(json[‘message’]) dopy.manager . Ошибка выполнения: не удается аутентифицировать вас.
2. Я не могу передать свой токен API, чувак, если ты имеешь в виду… .Чувак, я только что понял ошибку: в файле. py Я написал «api_token= os.getenv («DO_API_KEY»)» и в команде «экспорт» в терминале я пишу «экспортировать DO_API_TOKEN =» вместо «экспортировать DO_API_KEY» в … Прошу прощения за недостаток внимания.. Я собираюсь изменить код и выходные данные в вопросе.