 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Overview ¶
Package volumes provides information and interaction with volumes in the OpenStack Block Storage service. A volume is a detachable block storage device, akin to a USB hard drive. It can only be attached to one instance at a time.
Index ¶
- func List(client *gophercloud.ServiceClient, opts ListOptsBuilder) pagination.Pager
- func WaitForStatus(c *gophercloud.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 List ¶
func List(client *gophercloud.ServiceClient, opts ListOptsBuilder) pagination.Pager
List returns Volumes optionally limited by the conditions provided in ListOpts.
func WaitForStatus ¶
func WaitForStatus(c *gophercloud.ServiceClient, id, status string, secs int) error
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 {
	Size             int               `json:"size" required:"true"`
	AvailabilityZone string            `json:"availability_zone,omitempty"`
	Description      string            `json:"display_description,omitempty"`
	Metadata         map[string]string `json:"metadata,omitempty"`
	Name             string            `json:"display_name,omitempty"`
	SnapshotID       string            `json:"snapshot_id,omitempty"`
	SourceVolID      string            `json:"source_volid,omitempty"`
	ImageID          string            `json:"imageRef,omitempty"`
	VolumeType       string            `json:"volume_type,omitempty"`
}
    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 *gophercloud.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.
type DeleteResult ¶
type DeleteResult struct {
	gophercloud.ErrResult
}
    DeleteResult contains the response body and error from a Delete request.
func Delete ¶
func Delete(client *gophercloud.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 ¶
func Get(client *gophercloud.ServiceClient, id string) (r GetResult)
Get retrieves the Volume with the provided ID. To extract the Volume object from the response, call the Extract method on the GetResult.
type ListOpts ¶
type ListOpts struct {
	// admin-only option. Set it to true to see all tenant volumes.
	AllTenants bool `q:"all_tenants"`
	// List only volumes that contain Metadata.
	Metadata map[string]string `q:"metadata"`
	// List only volumes that have Name as the display name.
	Name string `q:"display_name"`
	// List only volumes that have a status of Status.
	Status string `q:"status"`
}
    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:"display_name,omitempty"`
	Description *string           `json:"display_description,omitempty"`
	Metadata    map[string]string `json:"metadata,omitempty"`
}
    UpdateOpts contain options for updating an existing Volume. This object is passed to the volumes.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.
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 *gophercloud.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.
type Volume ¶
type Volume struct {
	// Current status of the volume.
	Status string `json:"status"`
	// Human-readable display name for the volume.
	Name string `json:"display_name"`
	// Instances onto which the volume is attached.
	Attachments []map[string]interface{} `json:"attachments"`
	// This parameter is no longer used.
	AvailabilityZone string `json:"availability_zone"`
	// Indicates whether this is a bootable volume.
	Bootable string `json:"bootable"`
	// The date when this volume was created.
	CreatedAt time.Time `json:"-"`
	// Human-readable description for the volume.
	Description string `json:"display_description"`
	// The type of volume to create, either SATA or SSD.
	VolumeType string `json:"volume_type"`
	// The ID of the snapshot from which the volume was created
	SnapshotID string `json:"snapshot_id"`
	// The ID of another block storage volume from which the current volume was created
	SourceVolID string `json:"source_volid"`
	// Arbitrary key-value pairs defined by the user.
	Metadata map[string]string `json:"metadata"`
	// Unique identifier for the volume.
	ID string `json:"id"`
	// Size of the volume in GB.
	Size int `json:"size"`
}
    Volume contains all the information associated with an OpenStack 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 ¶
type VolumePage ¶
type VolumePage struct {
	pagination.SinglePageBase
}
    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 VolumePage contains no Volumes.