compute

package
v0.0.0-...-c7cb77a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 12, 2016 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client for compute API

func New

func New(transport runtime.ClientTransport, formats strfmt.Registry) *Client

New creates a new compute API client.

func (*Client) CreateExport

func (a *Client) CreateExport(params *CreateExportParams, authInfo runtime.ClientAuthInfoWriter) (*CreateExportAccepted, error)

CreateExport creates export

Block export method is use to export one or more volumes to one or more hosts. This is a required step for a host to be able to access a block volume, although in some scenarios, additional configurations may be required. There are three main types of export group to meet the common use cases:

Create an initiator type export group so that a single host can see one or more volumes. An example would be an export group for a host boot lun or a private volume that is meant to be used by only one host. The assumption is, in this case the user wants the boot or private volume to be accessed via known initiators. For this type of export, the request object is expected to have only initiators (i.e. no hosts or clusters). Further, the initiators are expected to belong to the same host. While an initiator type export group can belong to only one host, this does not mean the host can only have the initiator type export group. A hosts can be part of many export groups of any type. The export group type {@link ExportGroupType#Initiator} should be specified in the request for this type of export.

Create an export group so that one or more hosts, which are not part of a cluster, can access one or more volumes. This is the use case of a shared data lun. In this case, it is assumed that the user wants all the hosts initiators that are connected to the storage array (up to the maximum specified by the virtual pool) to be able to access the volume. The export group type {@link ExportGroupType#Host} should be specified in the request for this type of export.

Create an export group so that one or more clusters of hosts can access one or more volumes. This is the same use case of shared data lun as the {@link ExportGroupType#Host} use case with the exception that the user is managing a cluster of hosts as opposed to individual hosts. In this case, the same assumption about the initiators as in the previous case is made. The export group type {@link ExportGroupType#Cluster} should be specified in the request for this type of export.

Note that the above discussion only mentions volumes but mirrors and snapshots can also be used in export groups.

Once a block export is created, following incremental changes can be applied to it:

  • add volume or volume snapshot to the shared storage pool
  • remove volume or volume snapshot from the shared storage pool
  • add new server to the cluster by adding initiator from that server to the block export - remove visibility of shared storage to a server by removing initiators from the block export

Similar to block storage provisioning, block export is also created within the scope of a varray. Hence, volumes and snapshots being added to a block export must belong to the same varray. Fibre Channel and iSCSI initiators must be part of SANs belonging to the same varray as block export.

For Fibre Channel initiators, SAN zones will also be created when the export group is created if the networks are discovered and:

at least one of the Network Systems can provision the Vsan or Fabric in which the each endpoint exists, and the VirtualArray has "auto_san_zoning" set to true.

The SAN zones each consists of an initiator (from the arguments) and a storage port that is selected. The number of zones created will be determined from the number of required initiator/storage-port communication paths.

func (*Client) DeleteExport

func (a *Client) DeleteExport(params *DeleteExportParams, authInfo runtime.ClientAuthInfoWriter) (*DeleteExportAccepted, error)

DeleteExport deletes export group

Deactivate block export. It will be deleted by the garbage collector on a subsequent iteration

This removes visibility of shared storage in the block export to servers through initiators in the block export.

If SAN Zones were created as a result of this Export Group (see Export Group Create), they will be removed if they are not in use by other Export Groups.

func (*Client) SetTransport

func (a *Client) SetTransport(transport runtime.ClientTransport)

SetTransport changes the transport on the client

func (*Client) UpdateExport

func (a *Client) UpdateExport(params *UpdateExportParams, authInfo runtime.ClientAuthInfoWriter) (*UpdateExportAccepted, error)

UpdateExport updates export group

Update an export group which includes:

Add/Remove block objects (volumes, mirrors and snapshots)
Add/remove clusters
Add/remove hosts
Add/remove initiators

Depending on the export group type (Initiator, Host or Cluster), the request is restricted to enforce the same rules as {@link #createExportGroup(ExportCreateParam)}:

For initiator type groups, only initiators are accepted in the
request. Further the initiators must be in the same host as the
existing initiators.

For host type groups, only hosts and initiators that belong to
existing hosts will be accepted.

For cluster type groups, only clusters, hosts and initiators will
be accepted. Hosts and initiators must belong to existing clusters
and hosts.

Note: The export group name, project and varray can not be modified.

type CreateExportAccepted

type CreateExportAccepted struct {
	Payload *models.Tasks
}

CreateExportAccepted handles this case with default header values.

Task Object

func NewCreateExportAccepted

func NewCreateExportAccepted() *CreateExportAccepted

NewCreateExportAccepted creates a CreateExportAccepted with default headers values

func (*CreateExportAccepted) Error

func (o *CreateExportAccepted) Error() string

type CreateExportDefault

type CreateExportDefault struct {
	Payload *models.Error
	// contains filtered or unexported fields
}

CreateExportDefault handles this case with default header values.

Error Message

func NewCreateExportDefault

func NewCreateExportDefault(code int) *CreateExportDefault

NewCreateExportDefault creates a CreateExportDefault with default headers values

func (*CreateExportDefault) Code

func (o *CreateExportDefault) Code() int

Code gets the status code for the create export default response

func (*CreateExportDefault) Error

func (o *CreateExportDefault) Error() string

type CreateExportParams

type CreateExportParams struct {

	/*Body*/
	Body *models.CreateExport
	// contains filtered or unexported fields
}

CreateExportParams contains all the parameters to send to the API endpoint for the create export operation typically these are written to a http.Request

func NewCreateExportParams

func NewCreateExportParams() *CreateExportParams

NewCreateExportParams creates a new CreateExportParams object with the default values initialized.

func NewCreateExportParamsWithTimeout

func NewCreateExportParamsWithTimeout(timeout time.Duration) *CreateExportParams

NewCreateExportParamsWithTimeout creates a new CreateExportParams object with the default values initialized, and the ability to set a timeout on a request

func (*CreateExportParams) WithBody

WithBody adds the body to the create export params

func (*CreateExportParams) WriteToRequest

func (o *CreateExportParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error

WriteToRequest writes these params to a swagger request

type CreateExportReader

type CreateExportReader struct {
	// contains filtered or unexported fields
}

CreateExportReader is a Reader for the CreateExport structure.

func (*CreateExportReader) ReadResponse

func (o *CreateExportReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error)

ReadResponse reads a server response into the recieved o.

type DeleteExportAccepted

type DeleteExportAccepted struct {
	Payload *models.Task
}

DeleteExportAccepted handles this case with default header values.

Task Object

func NewDeleteExportAccepted

func NewDeleteExportAccepted() *DeleteExportAccepted

NewDeleteExportAccepted creates a DeleteExportAccepted with default headers values

func (*DeleteExportAccepted) Error

func (o *DeleteExportAccepted) Error() string

type DeleteExportDefault

type DeleteExportDefault struct {
	Payload *models.Error
	// contains filtered or unexported fields
}

DeleteExportDefault handles this case with default header values.

Error Message

func NewDeleteExportDefault

func NewDeleteExportDefault(code int) *DeleteExportDefault

NewDeleteExportDefault creates a DeleteExportDefault with default headers values

func (*DeleteExportDefault) Code

func (o *DeleteExportDefault) Code() int

Code gets the status code for the delete export default response

func (*DeleteExportDefault) Error

func (o *DeleteExportDefault) Error() string

type DeleteExportParams

type DeleteExportParams struct {

	/*ID
	  The URN of a ViPR/CoprHD Export

	*/
	ID string
	// contains filtered or unexported fields
}

DeleteExportParams contains all the parameters to send to the API endpoint for the delete export operation typically these are written to a http.Request

func NewDeleteExportParams

func NewDeleteExportParams() *DeleteExportParams

NewDeleteExportParams creates a new DeleteExportParams object with the default values initialized.

func NewDeleteExportParamsWithTimeout

func NewDeleteExportParamsWithTimeout(timeout time.Duration) *DeleteExportParams

NewDeleteExportParamsWithTimeout creates a new DeleteExportParams object with the default values initialized, and the ability to set a timeout on a request

func (*DeleteExportParams) WithID

WithID adds the id to the delete export params

func (*DeleteExportParams) WriteToRequest

func (o *DeleteExportParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error

WriteToRequest writes these params to a swagger request

type DeleteExportReader

type DeleteExportReader struct {
	// contains filtered or unexported fields
}

DeleteExportReader is a Reader for the DeleteExport structure.

func (*DeleteExportReader) ReadResponse

func (o *DeleteExportReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error)

ReadResponse reads a server response into the recieved o.

type UpdateExportAccepted

type UpdateExportAccepted struct {
	Payload *models.Tasks
}

UpdateExportAccepted handles this case with default header values.

Task Object

func NewUpdateExportAccepted

func NewUpdateExportAccepted() *UpdateExportAccepted

NewUpdateExportAccepted creates a UpdateExportAccepted with default headers values

func (*UpdateExportAccepted) Error

func (o *UpdateExportAccepted) Error() string

type UpdateExportDefault

type UpdateExportDefault struct {
	Payload *models.Error
	// contains filtered or unexported fields
}

UpdateExportDefault handles this case with default header values.

Error Message

func NewUpdateExportDefault

func NewUpdateExportDefault(code int) *UpdateExportDefault

NewUpdateExportDefault creates a UpdateExportDefault with default headers values

func (*UpdateExportDefault) Code

func (o *UpdateExportDefault) Code() int

Code gets the status code for the update export default response

func (*UpdateExportDefault) Error

func (o *UpdateExportDefault) Error() string

type UpdateExportParams

type UpdateExportParams struct {

	/*Body*/
	Body *models.UpdateExport
	/*ID
	  The URN of a ViPR/CoprHD ExportGroup

	*/
	ID string
	// contains filtered or unexported fields
}

UpdateExportParams contains all the parameters to send to the API endpoint for the update export operation typically these are written to a http.Request

func NewUpdateExportParams

func NewUpdateExportParams() *UpdateExportParams

NewUpdateExportParams creates a new UpdateExportParams object with the default values initialized.

func NewUpdateExportParamsWithTimeout

func NewUpdateExportParamsWithTimeout(timeout time.Duration) *UpdateExportParams

NewUpdateExportParamsWithTimeout creates a new UpdateExportParams object with the default values initialized, and the ability to set a timeout on a request

func (*UpdateExportParams) WithBody

WithBody adds the body to the update export params

func (*UpdateExportParams) WithID

WithID adds the id to the update export params

func (*UpdateExportParams) WriteToRequest

func (o *UpdateExportParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error

WriteToRequest writes these params to a swagger request

type UpdateExportReader

type UpdateExportReader struct {
	// contains filtered or unexported fields
}

UpdateExportReader is a Reader for the UpdateExport structure.

func (*UpdateExportReader) ReadResponse

func (o *UpdateExportReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error)

ReadResponse reads a server response into the recieved o.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL