github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/dms/v1/permissions/List.go (about) 1 package permissions 2 3 import ( 4 golangsdk "github.com/opentelekomcloud/gophertelekomcloud" 5 "github.com/opentelekomcloud/gophertelekomcloud/internal/extract" 6 ) 7 8 func List(client *golangsdk.ServiceClient, instanceId, topicName string) (*Permissions, error) { 9 // GET /v2/{project_id}/instances/{instance_id}/users 10 11 url := client.ServiceURL("instances", instanceId, "topics", topicName, "accesspolicy") 12 raw, err := client.Get(url, nil, nil) 13 if err != nil { 14 return nil, err 15 } 16 17 var res Permissions 18 err = extract.Into(raw.Body, &res) 19 return &res, err 20 } 21 22 type Permissions struct { 23 Name string `json:"name"` 24 TopicType int `json:"topic_type"` 25 Policies []Policy `json:"policies"` 26 } 27 28 type Policy struct { 29 Owner bool `json:"owner"` 30 UserName string `json:"user_name"` 31 AccessPolicy string `json:"access_policy"` 32 }