Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2017
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. #!/bin/bash
  2. set -e
  3.  
  4. : "${OS_USERNAME:?Error: must set OS_USERNAME environment variable}"
  5. : "${OS_PASSWORD:?Error: must set OS_PASSWORD environment variable}"
  6. : "${OS_USER_DOMAIN_NAME:?Error: must set OS_USER_DOMAIN_NAME environment variable}"
  7. : "${OS_PROJECT_DOMAIN_NAME:?Error: must set OS_PROJECT_DOMAIN_NAME environment variable}"
  8. : "${OS_AUTH_URL:?Error: must set OS_AUTH_URL environment variable}"
  9. : "${OS_PROJECT_NAME:?Error: must set OS_PROJECT_NAME environment variable}"
  10.  
  11. generate_post_data()
  12. {
  13. cat <<EOF
  14. {
  15. "auth": {
  16. "identity": {
  17. "methods": [
  18. "password"
  19. ],
  20. "password": {
  21. "user": {
  22. "domain": {
  23. "name": "$OS_USER_DOMAIN_NAME"
  24. },
  25. "name": "$OS_USERNAME",
  26. "password": "$OS_PASSWORD"
  27. }
  28. }
  29. },
  30. "scope": {
  31. "project": {
  32. "name": "$OS_PROJECT_NAME",
  33. "domain": {
  34. "name": "$OS_PROJECT_DOMAIN_NAME"
  35. }
  36. }
  37. }
  38. }
  39. }
  40. EOF
  41. }
  42.  
  43. response=$(curl -is \
  44. -H "Accept: application/json" \
  45. -H "Content-Type:application/json" \
  46. -X POST --data "$(generate_post_data)" "$OS_AUTH_URL/auth/tokens")
  47.  
  48. token=$(echo "$response" | awk '/X-Subject-Token/ {print $2}')
  49.  
  50. [ -z "$token" ] && echo -e "Error fetching token:\n$response" && exit 1;
  51.  
  52. echo "$token";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement