Documentation ¶
Overview ¶
Package schedulerstats returns information about block storage pool capacity and utilisation. Example:
listOpts := schedulerstats.ListOpts{ Detail: true, } allPages, err := schedulerstats.List(client, listOpts).AllPages() if err != nil { panic(err) } allStats, err := schedulerstats.ExtractStoragePools(allPages) if err != nil { panic(err) } for _, stat := range allStats { fmt.Printf("%+v\n", stat) }
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func List ¶
func List(client *gophercloud.ServiceClient, opts ListOptsBuilder) pagination.Pager
List makes a request against the API to list storage pool information.
Types ¶
type Capabilities ¶
type Capabilities struct { // The following fields should be present in all storage drivers. DriverVersion string `json:"driver_version"` FreeCapacityGB float64 `json:"-"` StorageProtocol string `json:"storage_protocol"` TotalCapacityGB float64 `json:"-"` VendorName string `json:"vendor_name"` VolumeBackendName string `json:"volume_backend_name"` // The following fields are optional and may have empty values depending // on the storage driver in use. ReservedPercentage int64 `json:"reserved_percentage"` LocationInfo string `json:"location_info"` QoSSupport bool `json:"QoS_support"` ProvisionedCapacityGB float64 `json:"provisioned_capacity_gb"` MaxOverSubscriptionRatio string `json:"-"` ThinProvisioningSupport bool `json:"thin_provisioning_support"` ThickProvisioningSupport bool `json:"thick_provisioning_support"` TotalVolumes int64 `json:"total_volumes"` FilterFunction string `json:"filter_function"` GoodnessFunction string `json:"goodness_function"` Multiattach bool `json:"multiattach"` SparseCopyVolume bool `json:"sparse_copy_volume"` AllocatedCapacityGB float64 `json:"-"` }
Capabilities represents the information of an individual StoragePool.
func (*Capabilities) UnmarshalJSON ¶
func (r *Capabilities) UnmarshalJSON(b []byte) error
type ListOpts ¶
type ListOpts struct { // ID of the tenant to look up storage pools for. TenantID string `q:"tenant_id"` // Whether to list extended details. Detail bool `q:"detail"` }
ListOpts controls the view of data returned (e.g globally or per project) via tenant_id and the verbosity via detail.
func (ListOpts) ToStoragePoolsListQuery ¶
ToStoragePoolsListQuery formats a ListOpts into a query string.
type ListOptsBuilder ¶
ListOptsBuilder allows extensions to add additional parameters to the List request.
type StoragePool ¶
type StoragePool struct { Name string `json:"name"` Capabilities Capabilities `json:"capabilities"` }
StoragePool represents an individual StoragePool retrieved from the schedulerstats API.
func ExtractStoragePools ¶
func ExtractStoragePools(p pagination.Page) ([]StoragePool, error)
ExtractStoragePools takes a List result and extracts the collection of StoragePools returned by the API.
type StoragePoolPage ¶
type StoragePoolPage struct {
pagination.SinglePageBase
}
StoragePoolPage is a single page of all List results.
func (StoragePoolPage) IsEmpty ¶
func (page StoragePoolPage) IsEmpty() (bool, error)
IsEmpty satisfies the IsEmpty method of the Page interface. It returns true if a List contains no results.