github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/openstack/db/v1/datastores/requests.go (about)

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