github.com/gophercloud/gophercloud@v1.11.0/openstack/db/v1/datastores/requests.go (about) 1 package datastores 2 3 import ( 4 "github.com/gophercloud/gophercloud" 5 "github.com/gophercloud/gophercloud/pagination" 6 ) 7 8 // List will list all available datastore types that instances can use. 9 func List(client *gophercloud.ServiceClient) pagination.Pager { 10 return pagination.NewPager(client, baseURL(client), func(r pagination.PageResult) pagination.Page { 11 return DatastorePage{pagination.SinglePageBase(r)} 12 }) 13 } 14 15 // Get will retrieve the details of a specified datastore type. 16 func Get(client *gophercloud.ServiceClient, datastoreID string) (r GetResult) { 17 resp, err := client.Get(resourceURL(client, datastoreID), &r.Body, nil) 18 _, r.Header, r.Err = gophercloud.ParseResponse(resp, err) 19 return 20 } 21 22 // ListVersions will list all of the available versions for a specified 23 // datastore type. 24 func ListVersions(client *gophercloud.ServiceClient, datastoreID string) pagination.Pager { 25 return pagination.NewPager(client, versionsURL(client, datastoreID), func(r pagination.PageResult) pagination.Page { 26 return VersionPage{pagination.SinglePageBase(r)} 27 }) 28 } 29 30 // GetVersion will retrieve the details of a specified datastore version. 31 func GetVersion(client *gophercloud.ServiceClient, datastoreID, versionID string) (r GetVersionResult) { 32 resp, err := client.Get(versionURL(client, datastoreID, versionID), &r.Body, nil) 33 _, r.Header, r.Err = gophercloud.ParseResponse(resp, err) 34 return 35 }