Help us shape the future of Go! Take the 2026 Go Developer Survey

gounity

package module
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2021 License: Apache-2.0 Imports: 15 Imported by: 1

README

gounity

A portable Go library for unity related operations such as create-volume, list-volume, etc.__

[TBD]

Documentation

Overview

Copyright (c) 2019 Dell EMC Corporation All Rights Reserved

Copyright (c) 2019 Dell EMC Corporation All Rights Reserved

Copyright (c) 2019 Dell EMC Corporation All Rights Reserved

Copyright (c) 2019 Dell EMC Corporation All Rights Reserved

Copyright (c) 2019 Dell EMC Corporation All Rights Reserved

Index

Constants

View Source
const (
	//To Display the Volume fields
	LunDisplayFields = "" /* 190-byte string literal not displayed */

	//To Display the File System fields
	FileSystemDisplayFields = "" /* 153-byte string literal not displayed */

	//To Display Storage Resource fields
	StorageResourceDisplayFields = "id,name,filesystem"

	//To Display the NFS Share fields
	NFSShareDisplayfields = "id,name,filesystem,readOnlyHosts,readWriteHosts,readOnlyRootAccessHosts,rootAccessHosts,exportPaths"

	//To Display the NAS Server fields
	NasServerDisplayfields = "id,name,nfsServer?fields"

	//To Display the Snapshot fields
	SnapshotDisplayFields = "" /* 130-byte string literal not displayed */

	//To Display the HostInitiator fields
	HostInitiatorsDisplayFields = "id,health,type,initiatorId,isIgnored,parentHost,paths"

	//To Display the HostIpPort fields
	HostIpPortDisplayFields = "id,address"

	//To Display License Info fields
	LicenseInfoDisplayFields = "isInstalled,isValid"

	//To Display the HostInitiatorPath fields
	HostInitiatorPathDisplayFields = "fcPort"

	//To Display the FC Port fields
	FcPortDisplayFields = "wwn"

	//Host IO Limit display fields
	HostIOLimitFields = "id,name,description"

	//Iscsi IP Interface display fields
	IscsiIPFields = "id,ipAddress,type"

	//Host Display fields
	HostfieldsToQuery = "id,name,description,fcHostInitiators,iscsiHostInitiators,hostIPPorts?fields"

	//Find Storage Pool fields
	StoragePoolFields = "" /* 162-byte string literal not displayed */
)
View Source
const (
	ReadOnlyAccessType      = AccessType("READ_ONLY")
	ReadWriteAccessType     = AccessType("READ_WRITE")
	ReadOnlyRootAccessType  = AccessType("READ_ONLY_ROOT")
	ReadWriteRootAccessType = AccessType("READ_WRITE_ROOT")
)
View Source
const (
	NoneDefaultAccess          = NFSShareDefaultAccess("0")
	ReadOnlyDefaultAccess      = NFSShareDefaultAccess("1")
	ReadWriteDefaultAccess     = NFSShareDefaultAccess("2")
	ReadOnlyRootDefaultAccess  = NFSShareDefaultAccess("3")
	ReadWriteRootDefaultAccess = NFSShareDefaultAccess("4")
)
View Source
const (
	LunNameMaxLength             = 63
	SnapForClone                 = "csi-snapforclone-"
	ThinProvisioning LicenseType = "THIN_PROVISIONING"
	DataReduction    LicenseType = "DATA_REDUCTION"
)
View Source
const (
	FsNameMaxLength = 63
)

Variables

View Source
var (
	HostNotFoundError          = errors.New("unable to find host")
	MultipleHostFoundError     = errors.New("Found multiple hosts with same name. Delete the duplicate entries on the array")
	MultipleHostFoundErrorCode = "0x7d13158"
)
View Source
var AttachedSnapshotsErrorCode = "0x6000c17"
View Source
var CloningFailedError = errors.New("Volume Cloning Failed.")
View Source
var CreateSnapshotFailedError = errors.New("Create Snapshot Failed.")
View Source
var DependentClonesError = errors.New("The specified volume cannot be deleted because it has one or more dependent thin clones.")
View Source
var DependentClonesErrorCode = "0x6701673"
View Source
var FilesystemNotFoundError = errors.New("Unable to find filesystem")
View Source
var FilesystemNotFoundErrorCode = "0x7d13005"
View Source
var MarkFilesystemForDeletion = "csi-marked-filesystem-for-deletion(do not remove this from description)"
View Source
var MarkVolumeForDeletion = "csi-marked-vol-for-deletion"
View Source
var SnapshotNotFoundError = errors.New("Unable to find filesystem")
View Source
var SnapshotNotFoundErrorCode = "0x7d13005"
View Source
var VolumeNotFoundError = errors.New("Unable to find volume")
View Source
var VolumeNotFoundErrorCode = "0x7d13005"

Functions

func NewFilesystem added in v1.1.0

func NewFilesystem(client *Client) *filesystem

func NewHost

func NewHost(client *Client) *host

func NewIpInterface added in v1.1.0

func NewIpInterface(client *Client) *ipinterface

func NewSnapshot

func NewSnapshot(client *Client) *snapshot

func NewStoragePool

func NewStoragePool(client *Client) *storagepool

func NewVolume

func NewVolume(client *Client) *volume

Types

type AccessType added in v1.2.0

type AccessType string

type Client

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

Struct holds the configuration & REST Client.

func NewClient

func NewClient(ctx context.Context) (client *Client, err error)

NewClient initialize the new REST Client with default options.

func NewClientWithArgs

func NewClientWithArgs(ctx context.Context, endpoint string, insecure bool) (client *Client, err error)

NewClientWithArgs initialize the new REST Client with the given arguments.

func (*Client) Authenticate

func (c *Client) Authenticate(ctx context.Context, configConnect *ConfigConnect) error

Authenticate make a REST API call [/loginSessionInfo] to Unity to get authenticate the given credentials. The response contains the EMC-CSRF-TOKEN and the client caches it for further communication.

func (*Client) GetToken

func (c *Client) GetToken() string

func (*Client) SetToken

func (c *Client) SetToken(token string)

type ConfigConnect

type ConfigConnect struct {
	Endpoint string
	Username string
	Password string
}

Struct holds the endpoint & credential info.

type FilesystemAccessType added in v1.3.0

type FilesystemAccessType int
const (
	BlockAccessType      FilesystemAccessType = 0 //Parameter not applicable for block
	CheckpointAccessType FilesystemAccessType = 1 //Checkpoint access to enable access through a .ckpt folder in the file system.
	ProtocolAccessType   FilesystemAccessType = 2 //Protocol access to enable access through a file share.
)

type LicenseType added in v1.1.0

type LicenseType string

type NFSShareDefaultAccess added in v1.2.0

type NFSShareDefaultAccess string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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