github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/swr/v2/domains/ListSharedReposDetails.go (about)

     1  package domains
     2  
     3  import (
     4  	golangsdk "github.com/opentelekomcloud/gophertelekomcloud"
     5  	"github.com/opentelekomcloud/gophertelekomcloud/internal/extract"
     6  )
     7  
     8  type ListSharedReposOpts struct {
     9  	// Image repository name.
    10  	Name string `q:"name,omitempty"`
    11  	// self: images shared by you.
    12  	// thirdparty: images shared with you by others.
    13  	Center string `q:"center,omitempty"`
    14  	// Number of returned records. Ensure that the offset and limit parameters are used together.
    15  	Limit int `q:"limit,omitempty"`
    16  	// Start index. Ensure that the offset and limit parameters are used together.
    17  	Offset int `q:"offset,omitempty"`
    18  }
    19  
    20  func ListSharedReposDetails(client *golangsdk.ServiceClient, opts ListSharedReposOpts) ([]AccessDomain, error) {
    21  	url, err := golangsdk.NewURLBuilder().WithEndpoints("manage", "shared-repositories").WithQueryParams(&opts).Build()
    22  	if err != nil {
    23  		return nil, err
    24  	}
    25  
    26  	// GET /v2/manage/shared-repositories
    27  	raw, err := client.Get(client.ServiceURL(url.String()), nil, nil)
    28  	if err != nil {
    29  		return nil, err
    30  	}
    31  
    32  	var res []AccessDomain
    33  	err = extract.IntoSlicePtr(raw.Body, &res, "")
    34  	return res, err
    35  }