Как удалить среду Jelastic через API? - PullRequest
0 голосов
/ 21 мая 2019

Я попытался удалить одну из своих сред Jelastic с помощью следующего вызова API:

curl -k \ 
-H "${CONTENT_TYPE}" \ 
-A "${USER_AGENT}" \ 
-X POST \ 
-fsS ${HOSTER_URL}/1.0/environment/control/rest/deleteenv -d "password=${password}&session=${session}&envName=${envName} 

, где я уверен, что session и envName верны, так как у меня есть другие команды, которые отлично работают с ними. В частности, я получаю session следующим образом:

getSession() { 
  local login=$1 
  local password=$2 
  local hosterUrl=$3 
  echo "Signing in..." >&2 
  local cmd=$(curl -k -H "${CONTENT_TYPE}" -A "${USER_AGENT}" -X POST \ 
    -fsS "$hosterUrl/1.0/users/authentication/rest/signin" -d "login=$login&password=$password"); 
  exitOnFail $cmd 
  echo "Signed in" >&2 
  echo $(jq '.session' <<< $cmd | sed 's/\"//g') 
} 

При вызове deleteenv я предоставляю тот же пароль, что и пароль моей учетной записи провайдера Jelastic. Действительно, когда я хочу удалить среду через панель управления Jelastic, это пароль, который я должен предоставить, чтобы удалить его. Однако я получаю следующую ошибку:

{"result":801,"source":"hx-core","error":"invalid password"} 

Поскольку поле пароля задокументировано как необязательное в Документация API Jelastic , я попытался не устанавливать пароль. Это приводит к следующей ошибке:

{"result":3,"source":"JEL","error":"invalid parameter [password] for method [DeleteEnv] in service [ControlService]"} 

Я пытался использовать другие секреты в качестве этого пароля, например APPID, но безуспешно.

Кто-нибудь знает, какой пароль мне нужно поставить?

1 Ответ

0 голосов
/ 22 мая 2019

Мы использовали тот же oneliner на основе API , который вы использовали, ваш скрипт для получения сеанса и ту же версию Jelastic, но не смогли воспроизвести эту проблему. Среда была успешно удалена.

Кто-нибудь знает, какой пароль мне нужно поставить?

Это тот же пароль, который вы использовали для входа в сеанс или для входа в Dashboard. Убедитесь, что в переменной пароля нет дополнительных символов.

Поскольку поле пароля задокументировано как необязательное

Действительно, необязательно, если вместо сеанса используется токен . В случае сессии пароль является обязательным параметром.

...