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  }