Documentation ¶
Overview ¶
Package volumeactions 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 ¶
- type AttachMode
- type AttachOpts
- type AttachOptsBuilder
- type AttachResult
- type BeginDetachingResult
- type DetachOpts
- type DetachOptsBuilder
- type DetachResult
- type ExtendSizeOpts
- type ExtendSizeOptsBuilder
- type ExtendSizeResult
- type ImageVolumeType
- type InitializeConnectionOpts
- type InitializeConnectionOptsBuilder
- type InitializeConnectionResult
- type ReserveResult
- type TerminateConnectionOpts
- type TerminateConnectionOptsBuilder
- type TerminateConnectionResult
- type UnreserveResult
- type UploadImageOpts
- type UploadImageOptsBuilder
- type UploadImageResult
- type VolumeImage
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AttachMode ¶
type AttachMode string
AttachMode describes the attachment mode for volumes.
const ( ReadOnly AttachMode = "ro" ReadWrite AttachMode = "rw" )
These constants determine how a volume is attached
type AttachOpts ¶
type AttachOpts struct { // The mountpoint of this volume MountPoint string `json:"mountpoint,omitempty"` // The nova instance ID, can't set simultaneously with HostName InstanceUUID string `json:"instance_uuid,omitempty"` // The hostname of baremetal host, can't set simultaneously with InstanceUUID HostName string `json:"host_name,omitempty"` // Mount mode of this volume Mode AttachMode `json:"mode,omitempty"` }
AttachOpts contains options for attaching a Volume.
func (AttachOpts) ToVolumeAttachMap ¶
func (opts AttachOpts) ToVolumeAttachMap() (map[string]interface{}, error)
ToVolumeAttachMap assembles a request body based on the contents of a AttachOpts.
type AttachOptsBuilder ¶
AttachOptsBuilder allows extensions to add additional parameters to the Attach request.
type AttachResult ¶
type AttachResult struct {
gophercloud.ErrResult
}
AttachResult contains the response body and error from a Get request.
func Attach ¶
func Attach(client *gophercloud.ServiceClient, id string, opts AttachOptsBuilder) (r AttachResult)
Attach will attach a volume based on the values in AttachOpts.
type BeginDetachingResult ¶
type BeginDetachingResult struct {
gophercloud.ErrResult
}
BeginDetachingResult contains the response body and error from a Get request.
func BeginDetaching ¶
func BeginDetaching(client *gophercloud.ServiceClient, id string) (r BeginDetachingResult)
BeginDetach will mark the volume as detaching
type DetachOpts ¶
type DetachOpts struct {
AttachmentID string `json:"attachment_id,omitempty"`
}
func (DetachOpts) ToVolumeDetachMap ¶
func (opts DetachOpts) ToVolumeDetachMap() (map[string]interface{}, error)
ToVolumeDetachMap assembles a request body based on the contents of a DetachOpts.
type DetachOptsBuilder ¶
DetachOptsBuilder allows extensions to add additional parameters to the Detach request.
type DetachResult ¶
type DetachResult struct {
gophercloud.ErrResult
}
DetachResult contains the response body and error from a Get request.
func Detach ¶
func Detach(client *gophercloud.ServiceClient, id string, opts DetachOptsBuilder) (r DetachResult)
Detach will detach a volume based on volume id.
type ExtendSizeOpts ¶
type ExtendSizeOpts struct { // NewSize is the new size of the volume, in GB NewSize int `json:"new_size" required:"true"` }
ExtendSizeOpts contain options for extending the size of an existing Volume. This object is passed to the volumes.ExtendSize function.
func (ExtendSizeOpts) ToVolumeExtendSizeMap ¶
func (opts ExtendSizeOpts) ToVolumeExtendSizeMap() (map[string]interface{}, error)
ToVolumeExtendSizeMap assembles a request body based on the contents of an ExtendSizeOpts.
type ExtendSizeOptsBuilder ¶
ExtendSizeOptsBuilder allows extensions to add additional parameters to the ExtendSize request.
type ExtendSizeResult ¶
type ExtendSizeResult struct {
gophercloud.ErrResult
}
ExtendSizeResult contains the response body and error from an ExtendSize request.
func ExtendSize ¶
func ExtendSize(client *gophercloud.ServiceClient, id string, opts ExtendSizeOptsBuilder) (r ExtendSizeResult)
ExtendSize will extend the size of the volume based on the provided information. This operation does not return a response body.
type ImageVolumeType ¶
type ImageVolumeType struct { // The ID of a volume type. ID string `json:"id"` // Human-readable display name for the volume type. Name string `json:"name"` // Human-readable description for the volume type. Description string `json:"display_description"` // Flag for public access. IsPublic bool `json:"is_public"` // Extra specifications for volume type. ExtraSpecs map[string]interface{} `json:"extra_specs"` // ID of quality of service specs. QosSpecsID string `json:"qos_specs_id"` // Flag for deletion status of volume type. Deleted bool `json:"deleted"` // The date when volume type was deleted. DeletedAt time.Time `json:"-"` // The date when volume type was created. CreatedAt time.Time `json:"-"` // The date when this volume was last updated. UpdatedAt time.Time `json:"-"` }
ImageVolumeType contains volume type object obtained from UploadImage action.
func (*ImageVolumeType) UnmarshalJSON ¶
func (r *ImageVolumeType) UnmarshalJSON(b []byte) error
type InitializeConnectionOpts ¶
type InitializeConnectionOpts struct { IP string `json:"ip,omitempty"` Host string `json:"host,omitempty"` Initiator string `json:"initiator,omitempty"` Wwpns []string `json:"wwpns,omitempty"` Wwnns string `json:"wwnns,omitempty"` Multipath *bool `json:"multipath,omitempty"` Platform string `json:"platform,omitempty"` OSType string `json:"os_type,omitempty"` }
InitializeConnectionOpts hosts options for InitializeConnection.
func (InitializeConnectionOpts) ToVolumeInitializeConnectionMap ¶
func (opts InitializeConnectionOpts) ToVolumeInitializeConnectionMap() (map[string]interface{}, error)
ToVolumeInitializeConnectionMap assembles a request body based on the contents of a InitializeConnectionOpts.
type InitializeConnectionOptsBuilder ¶
type InitializeConnectionOptsBuilder interface {
ToVolumeInitializeConnectionMap() (map[string]interface{}, error)
}
InitializeConnectionOptsBuilder allows extensions to add additional parameters to the InitializeConnection request.
type InitializeConnectionResult ¶
type InitializeConnectionResult struct {
// contains filtered or unexported fields
}
InitializeConnectionResult contains the response body and error from a Get request.
func InitializeConnection ¶
func InitializeConnection(client *gophercloud.ServiceClient, id string, opts InitializeConnectionOptsBuilder) (r InitializeConnectionResult)
InitializeConnection initializes iscsi connection.
type ReserveResult ¶
type ReserveResult struct {
gophercloud.ErrResult
}
ReserveResult contains the response body and error from a Get request.
func Reserve ¶
func Reserve(client *gophercloud.ServiceClient, id string) (r ReserveResult)
Reserve will reserve a volume based on volume id.
type TerminateConnectionOpts ¶
type TerminateConnectionOpts struct { IP string `json:"ip,omitempty"` Host string `json:"host,omitempty"` Initiator string `json:"initiator,omitempty"` Wwpns []string `json:"wwpns,omitempty"` Wwnns string `json:"wwnns,omitempty"` Multipath *bool `json:"multipath,omitempty"` Platform string `json:"platform,omitempty"` OSType string `json:"os_type,omitempty"` }
TerminateConnectionOpts hosts options for TerminateConnection.
func (TerminateConnectionOpts) ToVolumeTerminateConnectionMap ¶
func (opts TerminateConnectionOpts) ToVolumeTerminateConnectionMap() (map[string]interface{}, error)
ToVolumeTerminateConnectionMap assembles a request body based on the contents of a TerminateConnectionOpts.
type TerminateConnectionOptsBuilder ¶
type TerminateConnectionOptsBuilder interface {
ToVolumeTerminateConnectionMap() (map[string]interface{}, error)
}
TerminateConnectionOptsBuilder allows extensions to add additional parameters to the TerminateConnection request.
type TerminateConnectionResult ¶
type TerminateConnectionResult struct {
gophercloud.ErrResult
}
TerminateConnectionResult contains the response body and error from a Get request.
func TerminateConnection ¶
func TerminateConnection(client *gophercloud.ServiceClient, id string, opts TerminateConnectionOptsBuilder) (r TerminateConnectionResult)
TerminateConnection terminates iscsi connection.
type UnreserveResult ¶
type UnreserveResult struct {
gophercloud.ErrResult
}
UnreserveResult contains the response body and error from a Get request.
func Unreserve ¶
func Unreserve(client *gophercloud.ServiceClient, id string) (r UnreserveResult)
Unreserve will unreserve a volume based on volume id.
type UploadImageOpts ¶
type UploadImageOpts struct { // Container format, may be bare, ofv, ova, etc. ContainerFormat string `json:"container_format,omitempty"` // Disk format, may be raw, qcow2, vhd, vdi, vmdk, etc. DiskFormat string `json:"disk_format,omitempty"` // The name of image that will be stored in glance ImageName string `json:"image_name,omitempty"` // Force image creation, usable if volume attached to instance Force bool `json:"force,omitempty"` }
UploadImageOpts contains options for uploading a Volume to image storage.
func (UploadImageOpts) ToVolumeUploadImageMap ¶
func (opts UploadImageOpts) ToVolumeUploadImageMap() (map[string]interface{}, error)
ToVolumeUploadImageMap assembles a request body based on the contents of a UploadImageOpts.
type UploadImageOptsBuilder ¶
UploadImageOptsBuilder allows extensions to add additional parameters to the UploadImage request.
type UploadImageResult ¶
type UploadImageResult struct {
gophercloud.Result
}
UploadImageResult contains the response body and error from a UploadImage request.
func UploadImage ¶
func UploadImage(client *gophercloud.ServiceClient, id string, opts UploadImageOptsBuilder) (r UploadImageResult)
UploadImage will upload image base on the values in UploadImageOptsBuilder
func (UploadImageResult) Extract ¶
func (r UploadImageResult) Extract() (VolumeImage, error)
Extract will get an object with info about image being uploaded out of the UploadImageResult object.
type VolumeImage ¶
type VolumeImage struct { // The ID of a volume an image is created from. VolumeID string `json:"id"` // Container format, may be bare, ofv, ova, etc. ContainerFormat string `json:"container_format"` // Disk format, may be raw, qcow2, vhd, vdi, vmdk, etc. DiskFormat string `json:"disk_format"` // Human-readable description for the volume. Description string `json:"display_description"` // The ID of an image being created. ImageID string `json:"image_id"` // Human-readable display name for the image. ImageName string `json:"image_name"` // Size of the volume in GB. Size int `json:"size"` // Current status of the volume. Status string `json:"status"` // The date when this volume was last updated. UpdatedAt time.Time `json:"-"` // Volume type object of used volume. VolumeType ImageVolumeType `json:"volume_type"` }
VolumeImage contains information about volume upload to an image service.
func (*VolumeImage) UnmarshalJSON ¶
func (r *VolumeImage) UnmarshalJSON(b []byte) error