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  }