Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- "github.com/gophercloud/gophercloud"
- "github.com/gophercloud/gophercloud/openstack"
- "github.com/gophercloud/gophercloud/openstack/identity/v3/services"
- "github.com/gophercloud/gophercloud/pagination"
- "os"
- )
- func main() {
- auth_opts := gophercloud.AuthOptions{
- IdentityEndpoint: "https://keystone.xxx.yyy/",
- Username: "user",
- Password: "pass",
- AllowReauth: true,
- TenantID: "tenant_id",
- }
- provider, err := openstack.AuthenticatedClient(auth_opts)
- if err != nil {
- fmt.Println("Authentication error: ", err)
- os.Exit(1)
- }
- opts2 := gophercloud.EndpointOpts{Region: "my_region"}
- identity, err := openstack.NewIdentityV3(provider, opts2)
- opts := services.ListOpts{}
- pager := services.List(identity, &opts)
- err = pager.EachPage(func(page pagination.Page) (bool, error) {
- projectList, err := services.ExtractServices(page)
- if err != nil {
- return false, nil
- }
- for _, t := range projectList {
- fmt.Println(t)
- }
- return true, nil
- })
- if err != nil {
- fmt.Println("Tenat list error: ", err)
- os.Exit(1)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement