Documentation
¶
Overview ¶
Package volume provides information and interaction with volume in the Storage service. A volume is a detachable block storage device.
Index ¶
- func ExtractVolumesInto(r pagination.Page, v interface{}) error
- func IDFromName(client *eclcloud.ServiceClient, name string) (string, error)
- func List(client *eclcloud.ServiceClient, opts ListOptsBuilder) pagination.Pager
- func WaitForStatus(c *eclcloud.ServiceClient, id, status string, secs int) error
- type CreateOpts
- type CreateOptsBuilder
- type CreateResult
- type DeleteResult
- type GetResult
- type ListOpts
- type ListOptsBuilder
- type UpdateOpts
- type UpdateOptsBuilder
- type UpdateResult
- type Volume
- type VolumePage
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExtractVolumesInto ¶
func ExtractVolumesInto(r pagination.Page, v interface{}) error
ExtractVolumesInto is information expander for volume
func IDFromName ¶
IDFromName is a convenience function that returns a server's ID given its name.
func List ¶
func List(client *eclcloud.ServiceClient, opts ListOptsBuilder) pagination.Pager
List returns Volume optionally limited by the conditions provided in ListOpts.
func WaitForStatus ¶
WaitForStatus will continually poll the resource, checking for a particular status. It will do this for the amount of seconds defined.
Types ¶
type CreateOpts ¶
type CreateOpts struct { // The volume name Name string `json:"name" required:"true"` // The volume description Description string `json:"description,omitempty"` // The volume size Size int `json:"size" required:"true"` // The volume IOPS as IOPS/GB IOPSPerGB string `json:"iops_per_gb,omitempty"` // The volume Throughput Throughput string `json:"throughput,omitempty"` // The initiator_iqns for volume (in case ISCSI) InitiatorIQNs []string `json:"initiator_iqns,omitempty"` // The availability zone of volume AvailabilityZone string `json:"availability_zone,omitempty"` // The parent virtual storage ID to connect volume VirtualStorageID string `json:"virtual_storage_id" required:"true"` }
CreateOpts contains options for creating a Volume. This object is passed to the Volumes.Create function. For more information about these parameters, see the Volume object.
func (CreateOpts) ToVolumeCreateMap ¶
func (opts CreateOpts) ToVolumeCreateMap() (map[string]interface{}, error)
ToVolumeCreateMap assembles a request body based on the contents of a CreateOpts.
type CreateOptsBuilder ¶
CreateOptsBuilder allows extensions to add additional parameters to the Create request.
type CreateResult ¶
type CreateResult struct {
// contains filtered or unexported fields
}
CreateResult contains the response body and error from a Create request.
func Create ¶
func Create(client *eclcloud.ServiceClient, opts CreateOptsBuilder) (r CreateResult)
Create will create a new Volume based on the values in CreateOpts. To extract the Volume object from the response, call the Extract method on the CreateResult.
func (CreateResult) ExtractInto ¶
func (r CreateResult) ExtractInto(v interface{}) error
type DeleteResult ¶
type DeleteResult struct {
eclcloud.ErrResult
}
DeleteResult contains the response body and error from a Delete request.
func Delete ¶
func Delete(client *eclcloud.ServiceClient, id string) (r DeleteResult)
Delete will delete the existing Volume with the provided ID.
type GetResult ¶
type GetResult struct {
// contains filtered or unexported fields
}
GetResult contains the response body and error from a Get request.
func Get ¶
Get retrieves the Volume with the provided ID. To extract the Volume object from the response, call the Extract method on the GetResult.
func (GetResult) ExtractInto ¶
func (r GetResult) ExtractInto(v interface{}) error
type ListOpts ¶
type ListOpts struct { }
ListOpts holds options for listing Volumes. It is passed to the Volumes.List function.
func (ListOpts) ToVolumeListQuery ¶
ToVolumeListQuery formats a ListOpts into a query string.
type ListOptsBuilder ¶
ListOptsBuilder allows extensions to add additional parameters to the List request.
type UpdateOpts ¶
type UpdateOpts struct { Name *string `json:"name,omitempty"` Description *string `json:"description,omitempty"` InitiatorIQNs *[]string `json:"initiator_iqns,omitempty"` }
UpdateOpts contain options for updating an existing Volume. This object is passed to the volume.Update function. For more information about the parameters, see the Volume object.
func (UpdateOpts) ToVolumeUpdateMap ¶
func (opts UpdateOpts) ToVolumeUpdateMap() (map[string]interface{}, error)
ToVolumeUpdateMap assembles a request body based on the contents of an UpdateOpts. Volume of Storage SDP only allows to send "initiator_iqns" when the service type is "File Storage" type So in "ToVolumeUpdateMap" function, check volume type of virtual storage related to volume first And if service type is "File Storage's one", add initiator_iqns as request parameter
type UpdateOptsBuilder ¶
UpdateOptsBuilder allows extensions to add additional parameters to the Update request.
type UpdateResult ¶
type UpdateResult struct {
// contains filtered or unexported fields
}
UpdateResult contains the response body and error from an Update request.
func Update ¶
func Update(client *eclcloud.ServiceClient, id string, opts UpdateOptsBuilder) (r UpdateResult)
Update will update the Volume with provided information. To extract the updated Volume from the response, call the Extract method on the UpdateResult.
func (UpdateResult) ExtractInto ¶
func (r UpdateResult) ExtractInto(v interface{}) error
type Volume ¶
type Volume struct { // API error in volume creation. APIErrorMessage string `json:"api_error_message"` // Unique identifier for the volume. ID string `json:"id"` // Current status of the volume. Status string `json:"status"` // Human-readable display name for the volume. Name string `json:"name"` // Human-readable description for the volume. Description string `json:"description"` // The volume size Size int `json:"size"` // The volume IOPS GB IOPSPerGB string `json:"iops_per_gb"` // The volume Throughput Throughput string `json:"throughput"` // The initiator_iqns for volume (in case ISCSI) InitiatorIQNs []string `json:"initiator_iqns"` // Relevant snapshot's IDs of this volume SnapshotIDs []string `json:"snapshot_ids"` // IP Addresses to connect this volume as target device. TargetIPs []string `json:"target_ips"` // The metadata of volume Metadata map[string]string `json:"metadata"` // The parent virtual storage ID to connect volume VirtualStorageID string `json:"virtual_storage_id"` // The availability zone of volume AvailabilityZone string `json:"availability_zone"` // The date when this volume was created. CreatedAt time.Time `json:"-"` // The date when this volume was last updated UpdatedAt time.Time `json:"-"` // Export rule of the volum ExportRules []string `json:"export_rules"` // Reservation parcentage about snapshot reservation capacity of the volume PercentSnapshotReserveUsed int `json:"percent_snapshot_reserve_used"` // Error in volume creation. ErrorMessage string `json:"error_message"` }
Volume contains all the information associated with a Volume.
func ExtractVolumes ¶
func ExtractVolumes(r pagination.Page) ([]Volume, error)
ExtractVolumes extracts and returns Volumes. It is used while iterating over a Volumes.List call.
func (*Volume) UnmarshalJSON ¶
UnmarshalJSON creates JSON format of volume
type VolumePage ¶
type VolumePage struct {
pagination.LinkedPageBase
}
VolumePage is a pagination.pager that is returned from a call to the List function.
func (VolumePage) IsEmpty ¶
func (r VolumePage) IsEmpty() (bool, error)
IsEmpty returns true if a ListResult contains no Volumes.