Advertisement
Guest User

Untitled

a guest
Nov 30th, 2016
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "fmt"
  5. "github.com/gophercloud/gophercloud"
  6. "github.com/gophercloud/gophercloud/openstack"
  7. "github.com/gophercloud/gophercloud/openstack/identity/v3/services"
  8. "github.com/gophercloud/gophercloud/pagination"
  9. "os"
  10. )
  11.  
  12. func main() {
  13. auth_opts := gophercloud.AuthOptions{
  14. IdentityEndpoint: "https://keystone.xxx.yyy/",
  15. Username: "user",
  16. Password: "pass",
  17. AllowReauth: true,
  18. TenantID: "tenant_id",
  19. }
  20.  
  21. provider, err := openstack.AuthenticatedClient(auth_opts)
  22. if err != nil {
  23. fmt.Println("Authentication error: ", err)
  24. os.Exit(1)
  25. }
  26.  
  27. opts2 := gophercloud.EndpointOpts{Region: "my_region"}
  28. identity, err := openstack.NewIdentityV3(provider, opts2)
  29.  
  30. opts := services.ListOpts{}
  31. pager := services.List(identity, &opts)
  32. err = pager.EachPage(func(page pagination.Page) (bool, error) {
  33. projectList, err := services.ExtractServices(page)
  34. if err != nil {
  35. return false, nil
  36. }
  37. for _, t := range projectList {
  38. fmt.Println(t)
  39. }
  40. return true, nil
  41. })
  42. if err != nil {
  43. fmt.Println("Tenat list error: ", err)
  44. os.Exit(1)
  45. }
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement