connectors

package
v0.0.0-...-b5d132f Latest Latest
Warning

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

Go to latest
Published: Apr 1, 2024 License: Apache-2.0 Imports: 13 Imported by: 1

Documentation

Index

Constants

View Source
const (
	UserSpecifiedFilesetType      string = "filesetType"
	UserSpecifiedFilesetTypeDep   string = "fileset-type"
	UserSpecifiedInodeLimit       string = "inodeLimit"
	UserSpecifiedInodeLimitDep    string = "inode-limit"
	UserSpecifiedUid              string = "uid"
	UserSpecifiedGid              string = "gid"
	UserSpecifiedClusterId        string = "clusterId"
	UserSpecifiedParentFset       string = "parentFileset"
	UserSpecifiedVolBackendFs     string = "volBackendFs"
	UserSpecifiedVolDirPath       string = "volDirBasePath"
	UserSpecifiedNodeClass        string = "nodeClass"
	UserSpecifiedPermissions      string = "permissions"
	UserSpecifiedStorageClassType string = "version"
	UserSpecifiedCompression      string = "compression"
	UserSpecifiedTier             string = "tier"
	UserSpecifiedSnapWindow       string = "snapWindow"
	UserSpecifiedConsistencyGroup string = "consistencyGroup"
	UserSpecifiedShared           string = "shared"
	AFMModeSecondary              string = "secondary"
	FilesetComment                string = "Fileset created by IBM Container Storage Interface driver"
)
View Source
const (
	UserSpecifiedUID string = "uid"
	UserSpecifiedGID string = "gid"
)

Variables

View Source
var GetLoggerId = utils.GetLoggerId

Functions

This section is empty.

Types

type AFM

type AFM struct {
	AFMPrimaryID                 string `json:"afmPrimaryID"`
	AFMMode                      string `json:"afmMode"`
	AFMTarget                    string `json:"afmTarget"`
	AFMAsyncDelay                int    `json:"afmAsyncDelay"`
	AFMDirLookupRefreshInterval  int    `json:"afmDirLookupRefreshInterval"`
	AFMDirOpenRefreshInterval    int    `json:"afmDirOpenRefreshInterval"`
	AFMExpirationTimeout         int    `json:"afmExpirationTimeout"`
	AFMFileLookupRefreshInterval int    `json:"afmFileLookupRefreshInterval"`
	AFMNumFlushThreads           int    `json:"afmNumFlushThreads"`
	AFMParallelReadChunkSize     int    `json:"afmParallelReadChunkSize"`
	AFMParallelReadThreshold     int    `json:"afmParallelReadThreshold"`
	AFMParallelWriteChunkSize    int    `json:"afmParallelWriteChunkSize"`
	AFMParallelWriteThreshold    int    `json:"afmParallelWriteThreshold"`
	AFMPrefetchThreshold         int    `json:"afmPrefetchThreshold"`
	AFMRPO                       int    `json:"afmRPO"`
	AFMEnableAutoEviction        bool   `json:"afmEnableAutoEviction"`
	AFMShowHomeSnapshots         bool   `json:"afmShowHomeSnapshots"`
}

type BlockInfo

type BlockInfo struct {
	Pools               string `json:"pools,omitempty"`
	Disks               string `json:"disks,omitempty"`
	BlockSize           int    `json:"blockSize,omitempty"`
	MetaDataBlockSize   int    `json:"metaDataBlockSize,omitempty"`
	IndirectBlockSize   int    `json:"indirectBlockSize,omitempty"`
	MinFragmentSize     int    `json:"minFragmentSize,omitempty"`
	InodeSize           int    `json:"inodeSize,omitempty"`
	LogfileSize         int    `json:"logfileSize,omitempty"`
	WriteCacheThreshold int    `json:"writeCacheThreshold,omitempty"`
}

type CESNode

type CESNode struct {
	CESGroup  string `json:"cesGroup,omitempty"`
	CESIPList string `json:"cesIpList,omitempty"`
	CESState  string `json:"cesState,omitempty"`
}

type CNFSNode

type CNFSNode struct {
	CNFSGroupID string `json:"cnfsGroupID,omitempty"`
	CNFSIPList  string `json:"cnfsIpList,omitempty"`
	CNFSState   string `json:"cnfsState,omitempty"`
}

type CesSummary

type CesSummary struct {
	EnabledServices string `json:"enabledServices"`
	AddressPolicy   string `json:"addressPolicy,omitempty"`
	CesSharedRoot   string `json:"cesSharedRoot,omitempty"`
	LogLevel        int    `json:"logLevel,omitempty"`
}

type Cluster

type Cluster struct {
	CesSummary     CesSummary        `json:"cesSummary,omitempty"`
	ClusterSummary ClusterSummary    `json:"clusterSummary"`
	CnfsSummary    CnfsSummary       `json:"cnfsSummary,omitempty"`
	Links          map[string]string `json:"links,omitempty"`
	Nodes          []ClusterNode     `json:"nodes,omitempty"`
}

type ClusterConfig

type ClusterConfig struct {
	ClusterID       string `json:"clusterId,omitempty"`
	ClusterName     string `json:"clusterName,omitempty"`
	MinReleaseLevel string `json:"minReleaseLevel,omitempty"`
	TimeZoneOffset  string `json:"timeZoneOffset,omitempty"`
}

type ClusterNode

type ClusterNode struct {
	AdminLoginName string            `json:"adminLoginName,omitempty"`
	AdminNodeName  string            `json:"adminNodeName,omitempty"`
	CESNode        CESNode           `json:"cesNode,omitempty"`
	CNFSNode       CNFSNode          `json:"cnfsNode,omitempty"`
	DaemonNodeName string            `json:"daemonNodeName,omitempty"`
	Designation    string            `json:"designation,omitempty"`
	IPAddress      string            `json:"ipAddress,omitempty"`
	Links          map[string]string `json:"links,omitempty"`
	NodeNumber     int               `json:"nodeNumber,omitempty"`
	OtherNodeRoles string            `json:"otherNodeRoles,omitempty"`
}

type ClusterSummary

type ClusterSummary struct {
	ClusterID       uint64 `json:"clusterId"`
	ClusterName     string `json:"clusterName,omitempty"`
	PrimaryServer   string `json:"primaryServer,omitempty"`
	RcpPath         string `json:"rcpPath,omitempty"`
	RepositoryType  string `json:"repositoryType,omitempty"`
	RshPath         string `json:"rshPath,omitempty"`
	SecondaryServer string `json:"secondaryServer,omitempty"`
	UIDDomain       string `json:"uidDomain,omitempty"`
}

type CnfsSummary

type CnfsSummary struct {
	CNFSGanesha        string `json:"cnfsGanesha,omitempty"`
	CNFSMonitorEnabled string `json:"cnfsMonitorEnabled,omitempty"`
	CNFSMountdPort     string `json:"cnfsMountdPort,omitempty"`
	CNFSNFSDprocs      string `json:"cnfsNFSDprocs,omitempty"`
	CNFSReboot         string `json:"cnfsReboot,omitempty"`
	CNFSSharedReboot   string `json:"cnfsSharedReboot,omitempty"`
}

type Config

type Config struct {
	ClusterConfig ClusterConfig `json:"clusterConfig,omitempty"`
}

type CopySnapshotRequest

type CopySnapshotRequest struct {
	TargetFilesystem string `json:"targetFilesystem,omitempty"`
	TargetFileset    string `json:"targetFileset,omitempty"`
	TargetPath       string `json:"targetPath,omitempty"`
	NodeClass        string `json:"nodeclassName,omitempty"`
	Force            bool   `json:"force,omitempty"`
}

type CopyVolumeRequest

type CopyVolumeRequest struct {
	TargetFilesystem string `json:"targetFilesystem,omitempty"`
	TargetFileset    string `json:"targetFileset,omitempty"`
	TargetPath       string `json:"targetPath,omitempty"`
	NodeClass        string `json:"nodeclassName,omitempty"`
	Force            bool   `json:"force,omitempty"`
}

type CreateFilesetRequest

type CreateFilesetRequest struct {
	FilesetName                  string `json:"filesetName,omitempty"`
	Path                         string `json:"path,omitempty"`
	Owner                        string `json:"owner,omitempty"`
	Permissions                  string `json:"permissions,omitempty"`
	InodeSpace                   string `json:"inodeSpace,omitempty"`
	MaxNumInodes                 string `json:"maxNumInodes,omitempty"`
	AllocInodes                  string `json:"allocInodes,omitempty"`
	PermissionChangeMode         string `json:"permissionChangeMode,omitempty"`
	Comment                      string `json:"comment,omitempty"`
	IamMode                      string `json:"iamMode,omitempty"`
	AfmTarget                    string `json:"afmTarget,omitempty"`
	AfmAsyncDelay                string `json:"afmAsyncDelay,omitempty"`
	AfmDirLookupRefreshInterval  string `json:"afmDirLookupRefreshInterval,omitempty"`
	AfmDirOpenRefreshInterval    string `json:"afmDirOpenRefreshInterval,omitempty"`
	AfmEnableAutoEviction        string `json:"afmEnableAutoEviction,omitempty"`
	AfmExpirationTimeout         string `json:"afmExpirationTimeout,omitempty"`
	AfmFileLookupRefreshInterval string `json:"afmFileLookupRefreshInterval,omitempty"`
	AfmMode                      string `json:"afmMode,omitempty"`
	AfmNumFlushThreads           int    `json:"afmNumFlushThreads,omitempty"`
	AfmParallelReadChunkSize     int    `json:"afmParallelReadChunkSize,omitempty"`
	AfmParallelReadThreshold     int    `json:"afmParallelReadThreshold,omitempty"`
	AfmParallelWriteChunkSize    int    `json:"afmParallelWriteChunkSize,omitempty"`
	AfmParallelWriteThreshold    int    `json:"afmParallelWriteThreshold,omitempty"`
	AfmPrefetchThreshold         int    `json:"afmPrefetchThreshold,omitempty"`
	AfmPrimaryID                 string `json:"afmPrimaryID,omitempty"`
	AfmRPO                       int    `json:"afmRPO,omitempty"`
	AfmShowHomeSnapshots         string `json:"afmShowHomeSnapshots,omitempty"`
}

type CreateFilesetResquest

type CreateFilesetResquest struct {
	AFM    AFM           `json:"afm,omitempty"`
	Config FilesetConfig `json:"config,omitempty"`
}

type CreateMakeDirRequest

type CreateMakeDirRequest struct {
	UID         string `json:"uid,omitempty"`         //uidnumber
	GID         string `json:"gid,omitempty"`         //gidnumber
	USER        string `json:"user,omitempty"`        //username
	GROUP       string `json:"group,omitempty"`       //groupname
	PERMISSIONS string `json:"permissions,omitempty"` //permissions
}

type CreateSnapshotRequest

type CreateSnapshotRequest struct {
	SnapshotName string `json:"snapshotName,omitempty"`
}

type FileSystem

type FileSystem struct {
	ACLSemantics               string            `json:"ACLSemantics,omitempty"`
	DMAPIEnabled               string            `json:"DMAPIEnabled,omitempty"`
	UID                        string            `json:"UID,omitempty"`
	AdditionalMountOptions     string            `json:"additionalMountOptions,omitempty"`
	AutomaticMountOption       string            `json:"automaticMountOption,omitempty"`
	BlockAllocationType        string            `json:"blockAllocationType,omitempty"`
	BlockSize                  string            `json:"blockSize,omitempty"`
	CreateTime                 string            `json:"createTime,omitempty"`
	DefaultMetadataReplicas    string            `json:"defaultMetadataReplicas,omitempty"`
	DefaultMountPoint          string            `json:"defaultMountPoint,omitempty"`
	DefaultQuotasEnabled       string            `json:"defaultQuotasEnabled,omitempty"`
	Disks                      string            `json:"disks,omitempty"`
	Encryption                 string            `json:"encryption,omitempty"`
	ExactMTime                 string            `json:"exactMTime,omitempty"`
	FastEAEnabled              string            `json:"FastEAEnabled,omitempty"`
	FileLockingSemantics       string            `json:"fileLockingSemantics,omitempty"`
	FilesetdfEnabled           string            `json:"filesetdfEnabled,omitempty"`
	FilesystemHighestSupported string            `json:"filesystemHighestSupported,omitempty"`
	FilesystemName             string            `json:"filesystemName,omitempty"`
	FilesystemVersion          string            `json:"filesystemVersion,omitempty"`
	FilesystemVersionLocal     string            `json:"filesystemVersionLocal,omitempty"`
	FilesystemVersionManager   string            `json:"filesystemVersionManager,omitempty"`
	FilesystemVersionOriginal  string            `json:"filesystemVersionOriginal,omitempty"`
	IndirectBlockSize          string            `json:"indirectBlockSize,omitempty"`
	InodeSize                  string            `json:"inodeSize,omitempty"`
	Is4KAligned                string            `json:"is4KAligned,omitempty"`
	Links                      map[string]string `json:"links,omitempty"`
	LogReplicas                string            `json:"logReplicas,omitempty"`
	LogfileSize                string            `json:"logfileSize,omitempty"`
	MaxDataReplicas            string            `json:"maxDataReplicas,omitempty"`
	MaxMetadataReplicas        string            `json:"maxMetadataReplicas,omitempty"`
	MaxNumberOfInodes          string            `json:"maxNumberOfInodes,omitempty"`
	MaxSnapshotId              string            `json:"maxSnapshotId,omitempty"`
	MinFragmentSize            string            `json:"minFragmentSize,omitempty"`
	MountPriority              string            `json:"mountPriority,omitempty"`
	NumNodes                   string            `json:"numNodes,omitempty"`
	OtherPools                 []Pool            `json:"otherPools,omitempty"`
	PerfilesetQuotas           string            `json:"perfilesetQuotas,omitempty"`
	QuotasAccountingEnable     string            `json:"quotasAccountingEnable,omitempty"`
	QuotasEnforced             string            `json:"quotasEnforced,omitempty"`
	RapidRepairEnabled         string            `json:"rapidRepairEnabled,omitempty"`
	StoragePools               string            `json:"storagePools,omitempty"`
	StrictReplication          string            `json:"strictReplication,omitempty"`
	SuppressATime              string            `json:"suppressATime,omitempty"`
	WriteCacheThreshold        string            `json:"writeCacheThreshold,omitempty"`
}

type FileSystem_v2

type FileSystem_v2 struct {
	Oid         int             `json:"oid,omitempty"`
	UUID        string          `json:"uuid,omitempty"`
	Name        string          `json:"name,omitempty"`
	Version     string          `json:"version,omitempty"`
	Type        string          `json:"type,omitempty"`
	CreateTime  string          `json:"createTime,omitempty"`
	Block       BlockInfo       `json:"block,omitempty"`
	Mount       MountInfo       `json:"mount,omitempty"`
	Replication ReplicationInfo `json:"replication,omitempty"`
	Quota       QuotaInfo       `json:"quota,omitempty"`
	Settings    SettingInfo     `json:"settings,omitempty"`
}

type Fileset

type Fileset struct {
	AFM    AFM               `json:"afm,omitempty"`
	Config FilesetConfig     `json:"config,omitempty"`
	Links  map[string]string `json:"links,omitempty"`
	State  FilesetState      `json:"state,omitempty"`
}

type FilesetConfig

type FilesetConfig struct {
	Comment              string `json:"comment,omitempty"`
	FilesetName          string `json:"filesetName,omitempty"`
	FilesystemName       string `json:"filesystemName,omitempty"`
	IAMMode              string `json:"iamMode,omitempty"`
	INodeSpace           string `json:"inodeSpace,omitempty"`
	MaxNumInodes         string `json:"maxNumInodes,omitempty"`
	AllocInodes          string `json:"allocInodes,omitempty"`
	Owner                string `json:"owner,omitempty"`
	Path                 string `json:"path,omitempty"`
	PermissionChangeMode string `json:"permissionChangeMode,omitempty"`
	Permissions          string `json:"permissions,omitempty"`
}

type FilesetConfig_v2

type FilesetConfig_v2 struct {
	FilesetName          string `json:"filesetName,omitempty"`
	FilesystemName       string `json:"filesystemName,omitempty"`
	Path                 string `json:"path,omitempty"`
	InodeSpace           int    `json:"inodeSpace,omitempty"`
	MaxNumInodes         int    `json:"maxNumInodes,omitempty"`
	PermissionChangeMode string `json:"permissionChangeMode,omitempty"`
	Comment              string `json:"comment,omitempty"`
	IamMode              string `json:"iamMode,omitempty"`
	Oid                  int    `json:"oid,omitempty"`
	Id                   int    `json:"id,omitempty"`
	Status               string `json:"status,omitempty"`
	ParentId             int    `json:"parentId,omitempty"`
	Created              string `json:"created,omitempty"`
	IsInodeSpaceOwner    bool   `json:"isInodeSpaceOwner,omitempty"`
	InodeSpaceMask       int    `json:"inodeSpaceMask,omitempty"`
	SnapID               int    `json:"snapID,omitempty"`
	RootInode            int    `json:"rootInode,omitempty"`
}

type FilesetState

type FilesetState struct {
	AFMState          string `json:"afmState,omitempty"`
	Created           string `json:"created,omitempty"`
	DataInKB          string `json:"dataInKB,omitempty"`
	FreeInodes        string `json:"freeInodes,omitempty"`
	ID                string `json:"id,omitempty"`
	InodeSpaceMAsk    string `json:"inodeSpaceMask,omitempty"`
	Inodes            string `json:"inodes,omitempty"`
	IsInodeSpaceOwner string `json:"isInodeSpaceOwner,omitempty"`
	ParentID          string `json:"parentId,omitempty"`
	RootInode         string `json:"rootInode,omitempty"`
	SnapID            string `json:"snapID,omitempty"`
	Status            string `json:"status,omitempty"`
}

type Fileset_v2

type Fileset_v2 struct {
	AFM         AFM              `json:"afm,omitempty"`
	Config      FilesetConfig_v2 `json:"config,omitempty"`
	FilesetName string           `json:"filesetName,omitempty"`
}

type GenericResponse

type GenericResponse struct {
	Status Status `json:"status,omitempty"`
	Jobs   []Job  `json:"jobs,omitempty"`
}

type GetClusterResponse

type GetClusterResponse struct {
	Cluster Cluster `json:"cluster,omitempty"`
	Status  Status  `json:"status,omitempty"`
}

type GetConfigResponse

type GetConfigResponse struct {
	Config Config `json:"config,omitempty"`
	Status Status `json:"status,omitempty"`
}

type GetFilesetResponse

type GetFilesetResponse struct {
	Filesets []Fileset `json:"filesets,omitempty"`
	Status   Status    `json:"status,omitempty"`
}

type GetFilesetResponse_v2

type GetFilesetResponse_v2 struct {
	Filesets []Fileset_v2 `json:"filesets,omitempty"`
	Status   Status       `json:"status,omitempty"`
	Paging   Pages        `json:"paging,omitempty"`
}

type GetFilesystemResponse

type GetFilesystemResponse struct {
	FileSystems []FileSystem `json:"filesystems,omitempty"`
	Status      Status       `json:"status,omitempty"`
}

type GetFilesystemResponse_v2

type GetFilesystemResponse_v2 struct {
	FileSystems []FileSystem_v2 `json:"filesystems,omitempty"`
	Status      Status          `json:"status,omitempty"`
	Paging      Pages           `json:"paging,omitempty"`
}

type GetInfoResponse_v2

type GetInfoResponse_v2 struct {
	Status Status `json:"status,omitempty"`
	Info   Info   `json:"info,omitempty"`
}

type GetNodeHealthStatesResponse_v2

type GetNodeHealthStatesResponse_v2 struct {
	States []State `json:"states,omitempty"`
	Status Status  `json:"status,omitempty"`
}

type GetNodesResponse

type GetNodesResponse struct {
	Nodes  []Node `json:"nodes,omitempty"`
	Status Status `json:"status,omitempty"`
}

type GetNodesResponse_v2

type GetNodesResponse_v2 struct {
	Nodes  []Node_v2 `json:"nodes,omitempty"`
	Status Status    `json:"status,omitempty"`
	Paging Pages     `json:"paging,omitempty"`
}

type GetQuotaResponse

type GetQuotaResponse struct {
	Links  map[string]string `json:"links,omitempty"`
	Quotas []Quota           `json:"quotas,omitempty"`
	Status Status            `json:"status,omitempty"`
}

type GetQuotaResponse_v2

type GetQuotaResponse_v2 struct {
	Quotas []Quota_v2 `json:"quotas,omitempty"`
	Status Status     `json:"status,omitempty"`
	Paging Pages      `json:"paging,omitempty"`
}

type GetSnapshotResponse_v2

type GetSnapshotResponse_v2 struct {
	Snapshots []Snapshot_v2 `json:"snapshots,omitempty"`
	Status    Status        `json:"status,omitempty"`
	Paging    Pages         `json:"paging,omitempty"`
}

type Info

type Info struct {
	ServerVersion string `json:"serverVersion,omitempty"`
	Paths         Path   `json:"paths,omitempty"`
}

type Job

type Job struct {
	Result    Respresult  `json:"result,omitempty"`
	Request   Resprequest `json:"request,omitempty"`
	JobID     uint64      `json:"jobid,omitempty"`
	Submitted string      `json:"submitted,omitempty"`
	Completed string      `json:"completed,omitempty"`
	Status    string      `json:"status,omitempty"`
}

type LinkFilesetRequest

type LinkFilesetRequest struct {
	Path string `json:"path,omitempty"`
}

type MountFilesystemRequest

type MountFilesystemRequest struct {
	Nodes        []string `json:"nodes,omitempty"`
	MountOptions string   `json:"mountOptions,omitempty"`
}

type MountInfo

type MountInfo struct {
	MountPoint             string `json:"mountPoint,omitempty"`
	AutomaticMountOption   string `json:"automaticMountOption,omitempty"`
	AdditionalMountOptions string `json:"additionalMountOptions,omitempty"`
	MountPriority          int    `json:"mountPriority,omitempty"`
	//	DriveLetter            string `json:"driveLetter,omitempty"`
	RemoteDeviceName string   `json:"remoteDeviceName,omitempty"`
	NodesMounted     []string `json:"nodesMountedReadWrite,omitempty"`
	ReadOnly         bool     `json:"readOnly,omitempty"`
	Status           string   `json:"status,omitempty"`
}

type Network

type Network struct {
	AdminIPAddress  string `json:"adminIPAddress,omitempty"`
	DaemonNodeName  string `json:"daemonNodeName,omitempty"`
	DaemonIPAddress string `json:"daemonIPAddress,omitempty"`
	GetcnfsNodeName string `json:"getcnfsNodeName,omitempty"`
}

type NfsExportRequest

type NfsExportRequest struct {
	Path         string   `json:"path,omitempty"`
	ClientDetail []string `json:"nfsClients,omitempty"`
}

type Node

type Node struct {
	AdminLogin        string            `json:"adminLogin,omitempty"`
	CESNode           string            `json:"cesNode,omitempty"`
	ClientNode        string            `json:"clientNode,omitempty"`
	CNFSInterface     string            `json:"cnfsInterface,omitempty"`
	CNFSState         string            `json:"cnfsState,omitempty"`
	DaemonIPAddress   string            `json:"daemonIPAddress,omitempty"`
	DaemonInterface   string            `json:"daemonInterface,omitempty"`
	DesignatedLicence string            `json:"designatedLicense,omitempty"`
	GatewayNode       string            `json:"gatewayNode,omitempty"`
	GPFSState         string            `json:"gpfsState,omitempty"`
	Links             map[string]string `json:"links,omitempty"`
	ManagerNode       string            `json:"managerNode,omitempty"`
	NodeName          string            `json:"nodeName,omitempty"`
	NodeNumber        string            `json:"nodeNumber,omitempty"`
	OSName            string            `json:"osName,omitempty"`
	ProductVersion    string            `json:"productVersion,omitempty"`
	QuorumNode        string            `json:"quorumNode,omitempty"`
	SNMPNode          string            `json:"snmpNode,omitempty"`
}

type NodeConfig

type NodeConfig struct {
	AdminLoginName    string `json:"adminLoginName,omitempty"`
	DesignatedLicense string `json:"designatedLicense,omitempty"`
	RequiredLicense   string `json:"requiredLicense,omitempty"`
}

type NodeRoles

type NodeRoles struct {
	SNMPNode         string `json:"snmpNode,omitempty"`
	ManagerNode      string `json:"managerNode,omitempty"`
	GatewayNode      string `json:"gatewayNode,omitempty"`
	CNFSNode         string `json:"cnfsNode,omitempty"`
	ClientNode       string `json:"clientNode,omitempty"`
	CESNode          string `json:"cesNode,omitempty"`
	QuorumNode       string `json:"quorumNode,omitempty"`
	CloudGatewayNode string `json:"cloudGatewayNode,omitempty"`
	OtherNodeRoles   string `json:"otherNodeRoles,omitempty"`
	Designation      string `json:"designation,omitempty"`
}

type NodeStatus

type NodeStatus struct {
	OSName         string `json:"osName,omitempty"`
	NodeState      string `json:"nodeState,omitempty"`
	GPFSState      string `json:"gpfsState,omitempty"`
	ProductVersion string `json:"productVersion,omitempty"`
}

type Node_v2

type Node_v2 struct {
	AdminNodename string     `json:"adminNodename,omitempty"`
	NodeNumber    int        `json:"nodeNumber,omitempty"`
	Config        NodeConfig `json:"config,omitempty"`
	Status        NodeStatus `json:"status,omitempty"`
	Network       Network    `json:"network,omitempty"`
	Roles         NodeRoles  `json:"roles,omitempty"`
	CNFSInfo      CNFSNode   `json:"cnfsInfo,omitempty"`
	CESInfo       CESNode    `json:"cesInfo,omitempty"`
}

type OwnerInfo

type OwnerInfo struct {
	User  string `json:"user,omitempty"`
	UID   int    `json:"uid,omitempty"`
	Group string `json:"group,omitempty"`
	GID   int    `json:"gid,omitempty"`
}

type OwnerResp_v2

type OwnerResp_v2 struct {
	Status Status    `json:"status,omitempty"`
	Owner  OwnerInfo `json:"owner,omitempty"`
}

type Pages

type Pages struct {
	BaseURL string `json:"baseUrl,omitempty"`
	Filter  string `json:"filter,omitempty"`
	LastID  int    `json:"lastId,omitempty"`
	Next    string `json:"next,omitempty"`
}

type Path

type Path struct {
	SnapCopyOp []string `json:"/filesystems/{filesystemName}/filesets/{filesetName}/snapshotCopy/{snapshotName},omitempty"`
}

type Policy

type Policy struct {
	Policy    string `json:"policy,omitempty"`
	Partition string `json:"partition,omitempty"`
	Priority  int    `json:"priority,omitempty"`
}

type Pool

type Pool struct {
	BlockSize       string `json:"blockSize,omitempty"`
	MinFragmentSize string `json:"minFragmentSize,omitempty"`
}

type Quota

type Quota struct {
	BlockGrace     string `json:"blockGrace,omitempty"`
	BlockInDoubt   string `json:"blockInDoubt,omitempty"`
	BlockLimit     string `json:"blockLimit,omitempty"`
	BlockQuota     string `json:"blockQuota,omitempty"`
	BlockUsage     string `json:"blockUsage,omitempty"`
	DefQuota       string `json:"defQuota,omitempty"`
	FilesGrace     string `json:"filesGrace,omitempty"`
	FilesInDoubt   string `json:"filesInDoubt,omitempty"`
	FilesLimit     string `json:"filesLimit,omitempty"`
	FilesQuota     string `json:"filesQuota,omitempty"`
	FilesUsage     string `json:"filesUsage,omitempty"`
	FilesetId      string `json:"filesetId,omitempty"`
	FilesetName    string `json:"filesetName,omitempty"`
	FilesystemName string `json:"filesystemName,omitempty"`
	ObjectID       string `json:"objectID,omitempty"`
	ObjectName     string `json:"objectName,omitempty"`
	QuotaType      string `json:"quotaType,omitempty"`
}

type QuotaInfo

type QuotaInfo struct {
	QuotasAccountingEnabled string `json:"quotasAccountingEnabled,omitempty"`
	QuotasEnforced          string `json:"quotasEnforced,omitempty"`
	DefaultQuotasEnabled    string `json:"defaultQuotasEnabled,omitempty"`
	PerfilesetQuotas        bool   `json:"perfilesetQuotas,omitempty"`
	FilesetdfEnabled        bool   `json:"filesetdfEnabled,omitempty"`
}

type Quota_v2

type Quota_v2 struct {
	QuotaID        int    `json:"quotaID,omitempty"`
	FilesystemName string `json:"filesystemName,omitempty"`
	FilesetName    string `json:"filesetName,omitempty"`
	QuotaType      string `json:"quotaType,omitempty"`
	ObjectName     string `json:"objectName,omitempty"`
	ObjectId       int    `json:"objectId,omitempty"`
	BlockUsage     int    `json:"blockUsage,omitempty"`
	BlockLimit     int    `json:"blockLimit,omitempty"`
	BlockQuota     int    `json:"blockQuota,omitempty"`
	BlockInDoubt   int    `json:"blockInDoubt,omitempty"`
	BlockGrace     string `json:"blockGrace,omitempty"`
	FilesUsage     int    `json:"filesUsage,omitempty"`
	FilesQuota     int    `json:"filesQuota,omitempty"`
	FilesLimit     int    `json:"filesLimit,omitempty"`
	FilesInDoubt   int    `json:"filesInDoubt,omitempty"`
	FilesGrace     string `json:"filesGrace,omitempty"`
	DefaultQuota   string `json:"defaultQuota,omitempty"`
}

type ReplicationInfo

type ReplicationInfo struct {
	DefaultMetadataReplicas int    `json:"defaultMetadataReplicas,omitempty"`
	MaxMetadataReplicas     int    `json:"maxMetadataReplicas,omitempty"`
	DefaultDataReplicas     int    `json:"defaultDataReplicas,omitempty"`
	MaxDataReplicas         int    `json:"maxDataReplicas,omitempty"`
	StrictReplication       string `json:"strictReplication,omitempty"`
	LogReplicas             int    `json:"logReplicas,omitempty"`
}

type Resprequest

type Resprequest struct {
	Type string                 `json:"type,omitempty"`
	Url  string                 `json:"url,omitempty"`
	Data map[string]interface{} `json:"data,omitempty"`
}

type Respresult

type Respresult struct {
	Commands []string `json:"commands,omitempty"`
	Progress []string `json:"progress,omitempty"`
	ExitCode int      `json:"exitCode,omitempty"`
	Stderr   []string `json:"stderr,omitempty"`
	Stdout   []string `json:"stdout,omitempty"`
}

type SetQuotaRequest

type SetQuotaRequest struct {
	BlockGracePeriod string `json:"blockGracePeriod,omitempty"`
	BlockHardLimit   string `json:"blockHardLimit,omitempty"`
	BlockSoftLimit   string `json:"blockSoftLimit,omitempty"`
	FilesGracePeriod string `json:"filesGracePeriod,omitempty"`
	FilesHardLimit   string `json:"filesHardLimit,omitempty"`
	FilesSoftLimit   string `json:"filesSoftLimit,omitempty"`
	FilesetName      string `json:"filesetName,omitempty"`
	FilesystemName   string `json:"filesystemName,omitempty"`
	ObjectName       string `json:"objectName,omitempty"`
	OperationType    string `json:"operationType,omitempty"`
	QuotaType        string `json:"quotaType,omitempty"`
}

type SetQuotaRequest_v2

type SetQuotaRequest_v2 struct {
	BlockGracePeriod string `json:"blockGracePeriod,omitempty"`
	BlockHardLimit   string `json:"blockHardLimit,omitempty"`
	BlockSoftLimit   string `json:"blockSoftLimit,omitempty"`
	FilesGracePeriod string `json:"filesGracePeriod,omitempty"`
	FilesHardLimit   string `json:"filesHardLimit,omitempty"`
	FilesSoftLimit   string `json:"filesSoftLimit,omitempty"`
	OperationType    string `json:"operationType,omitempty"`
	QuotaType        string `json:"quotaType,omitempty"`
	ObjectName       string `json:"objectName,omitempty"`
}

type SettingInfo

type SettingInfo struct {
	BlockAllocationType  string `json:"blockAllocationType,omitempty"`
	FileLockingSemantics string `json:"fileLockingSemantics,omitempty"`
	SuppressATime        string `json:"suppressATime,omitempty"`
	StripeMethod         string `json:"stripeMethod"`
	ACLSemantics         string `json:"ACLSemantics,omitempty"`
	NumNodes             int    `json:"numNodes,omitempty"`
	MaxNumberOfInodes    int    `json:"maxNumberOfInodes,omitempty"`
	ExactMTime           bool   `json:"exactMTime,omitempty"`
	FastEAEnabled        bool   `json:"fastEAEnabled,omitempty"`
	Encryption           bool   `json:"encryption,omitempty"`
	Is4KAligned          bool   `json:"is4KAligned,omitempty"`
	RapidRepairEnabled   bool   `json:"rapidRepairEnabled,omitempty"`
	StripedLogs          bool   `json:"stripedLogs,omitempty"`
	DMAPIEnabled         bool   `json:"DMAPIEnabled,omitempty"`
}

type Snapshot_v2

type Snapshot_v2 struct {
	SnapshotName   string `json:"snapshotName,omitempty"`
	FilesystemName string `json:"filesystemName,omitempty"`
	FilesetName    string `json:"filesetName,omitempty"`
	SnapID         int    `json:"snapID,omitempty"`
	Status         string `json:"status,omitempty"`
	Created        string `json:"created,omitempty"`
}

type SpectrumRestV2

type SpectrumRestV2 struct {
	HTTPclient    *http.Client
	Endpoint      []string
	EndPointIndex int
	User          string
	Password      string
}

func (*SpectrumRestV2) AsyncJobCompletion

func (s *SpectrumRestV2) AsyncJobCompletion(ctx context.Context, jobURL string) (GenericResponse, error)

func (*SpectrumRestV2) CheckIfDefaultPolicyPartitionExists

func (s *SpectrumRestV2) CheckIfDefaultPolicyPartitionExists(ctx context.Context, partitionName string, filesystemName string) bool

func (*SpectrumRestV2) CheckIfFSQuotaEnabled

func (s *SpectrumRestV2) CheckIfFSQuotaEnabled(ctx context.Context, filesystemName string) error

func (*SpectrumRestV2) CheckIfFileDirPresent

func (s *SpectrumRestV2) CheckIfFileDirPresent(ctx context.Context, filesystemName string, relPath string) (bool, error)

func (*SpectrumRestV2) CheckIfFilesetExist

func (s *SpectrumRestV2) CheckIfFilesetExist(ctx context.Context, filesystemName string, filesetName string) (bool, error)

CheckIfFilesetExist Checking if fileset exist in filesystem

func (*SpectrumRestV2) CheckIfSnapshotExist

func (s *SpectrumRestV2) CheckIfSnapshotExist(ctx context.Context, filesystemName string, filesetName string, snapshotName string) (bool, error)

CheckIfSnapshotExist Checking if snapshot exist in fileset

func (*SpectrumRestV2) CopyDirectoryPath

func (s *SpectrumRestV2) CopyDirectoryPath(ctx context.Context, filesystemName string, srcPath string, targetPath string, nodeclass string) (int, uint64, error)

func (*SpectrumRestV2) CopyFilesetPath

func (s *SpectrumRestV2) CopyFilesetPath(ctx context.Context, filesystemName string, filesetName string, srcPath string, targetPath string, nodeclass string) (int, uint64, error)

func (*SpectrumRestV2) CopyFsetSnapshotPath

func (s *SpectrumRestV2) CopyFsetSnapshotPath(ctx context.Context, filesystemName string, filesetName string, snapshotName string, srcPath string, targetPath string, nodeclass string) (int, uint64, error)

func (*SpectrumRestV2) CreateFileset

func (s *SpectrumRestV2) CreateFileset(ctx context.Context, filesystemName string, filesetName string, opts map[string]interface{}) error

func (*SpectrumRestV2) CreateSnapshot

func (s *SpectrumRestV2) CreateSnapshot(ctx context.Context, filesystemName string, filesetName string, snapshotName string) error
func (s *SpectrumRestV2) CreateSymLink(ctx context.Context, SlnkfilesystemName string, TargetFs string, relativePath string, LnkPath string) error

func (*SpectrumRestV2) DeleteDirectory

func (s *SpectrumRestV2) DeleteDirectory(ctx context.Context, filesystemName string, dirName string, safe bool) error

func (*SpectrumRestV2) DeleteFileset

func (s *SpectrumRestV2) DeleteFileset(ctx context.Context, filesystemName string, filesetName string) error

func (*SpectrumRestV2) DeleteSnapshot

func (s *SpectrumRestV2) DeleteSnapshot(ctx context.Context, filesystemName string, filesetName string, snapshotName string) error

func (*SpectrumRestV2) DeleteSymLnk

func (s *SpectrumRestV2) DeleteSymLnk(ctx context.Context, filesystemName string, lnkName string) error

func (*SpectrumRestV2) DoesTierExist

func (s *SpectrumRestV2) DoesTierExist(ctx context.Context, tierName string, filesystemName string) error

func (*SpectrumRestV2) FilesetRefreshTask

func (s *SpectrumRestV2) FilesetRefreshTask(ctx context.Context) error

func (*SpectrumRestV2) GetClusterId

func (s *SpectrumRestV2) GetClusterId(ctx context.Context) (string, error)

func (*SpectrumRestV2) GetClusterSummary

func (s *SpectrumRestV2) GetClusterSummary(ctx context.Context) (ClusterSummary, error)

GetClusterSummary function returns the information details of the cluster.

func (*SpectrumRestV2) GetFileSetNameFromId

func (s *SpectrumRestV2) GetFileSetNameFromId(ctx context.Context, filesystemName string, Id string) (string, error)

func (*SpectrumRestV2) GetFileSetResponseFromId

func (s *SpectrumRestV2) GetFileSetResponseFromId(ctx context.Context, filesystemName string, Id string) (Fileset_v2, error)

func (*SpectrumRestV2) GetFileSetResponseFromName

func (s *SpectrumRestV2) GetFileSetResponseFromName(ctx context.Context, filesystemName string, filesetName string) (Fileset_v2, error)

func (*SpectrumRestV2) GetFileSetUid

func (s *SpectrumRestV2) GetFileSetUid(ctx context.Context, filesystemName string, filesetName string) (string, error)

func (*SpectrumRestV2) GetFilesetQuotaDetails

func (s *SpectrumRestV2) GetFilesetQuotaDetails(ctx context.Context, filesystemName string, filesetName string) (Quota_v2, error)

func (*SpectrumRestV2) GetFilesetsInodeSpace

func (s *SpectrumRestV2) GetFilesetsInodeSpace(ctx context.Context, filesystemName string, inodeSpace int) ([]Fileset_v2, error)

func (*SpectrumRestV2) GetFilesystemDetails

func (s *SpectrumRestV2) GetFilesystemDetails(ctx context.Context, filesystemName string) (FileSystem_v2, error)

func (*SpectrumRestV2) GetFilesystemMountDetails

func (s *SpectrumRestV2) GetFilesystemMountDetails(ctx context.Context, filesystemName string) (MountInfo, error)

func (*SpectrumRestV2) GetFilesystemMountpoint

func (s *SpectrumRestV2) GetFilesystemMountpoint(ctx context.Context, filesystemName string) (string, error)

func (*SpectrumRestV2) GetFilesystemName

func (s *SpectrumRestV2) GetFilesystemName(ctx context.Context, filesystemUUID string) (string, error)

func (*SpectrumRestV2) GetFirstDataTier

func (s *SpectrumRestV2) GetFirstDataTier(ctx context.Context, filesystemName string) (string, error)

func (*SpectrumRestV2) GetFsUid

func (s *SpectrumRestV2) GetFsUid(ctx context.Context, filesystemName string) (string, error)

func (*SpectrumRestV2) GetLatestFilesetSnapshots

func (s *SpectrumRestV2) GetLatestFilesetSnapshots(ctx context.Context, filesystemName string, filesetName string) ([]Snapshot_v2, error)

func (*SpectrumRestV2) GetScaleVersion

func (s *SpectrumRestV2) GetScaleVersion(ctx context.Context) (string, error)

func (*SpectrumRestV2) GetSnapshotCreateTimestamp

func (s *SpectrumRestV2) GetSnapshotCreateTimestamp(ctx context.Context, filesystemName string, filesetName string, snapName string) (string, error)

func (*SpectrumRestV2) GetSnapshotUid

func (s *SpectrumRestV2) GetSnapshotUid(ctx context.Context, filesystemName string, filesetName string, snapName string) (string, error)

func (*SpectrumRestV2) GetTierInfoFromName

func (s *SpectrumRestV2) GetTierInfoFromName(ctx context.Context, tierName string, filesystemName string) (*StorageTier, error)

func (*SpectrumRestV2) GetTimeZoneOffset

func (s *SpectrumRestV2) GetTimeZoneOffset(ctx context.Context) (string, error)

func (*SpectrumRestV2) IsFilesetLinked

func (s *SpectrumRestV2) IsFilesetLinked(ctx context.Context, filesystemName string, filesetName string) (bool, error)

func (*SpectrumRestV2) IsFilesystemMountedOnGUINode

func (s *SpectrumRestV2) IsFilesystemMountedOnGUINode(ctx context.Context, filesystemName string) (bool, error)

func (*SpectrumRestV2) IsNodeComponentHealthy

func (s *SpectrumRestV2) IsNodeComponentHealthy(ctx context.Context, nodeName string, component string) (bool, error)

func (*SpectrumRestV2) IsSnapshotSupported

func (s *SpectrumRestV2) IsSnapshotSupported(ctx context.Context) (bool, error)

func (*SpectrumRestV2) IsValidNodeclass

func (s *SpectrumRestV2) IsValidNodeclass(ctx context.Context, nodeclass string) (bool, error)

func (*SpectrumRestV2) LinkFileset

func (s *SpectrumRestV2) LinkFileset(ctx context.Context, filesystemName string, filesetName string, linkpath string) error

func (*SpectrumRestV2) ListCSIIndependentFilesets

func (s *SpectrumRestV2) ListCSIIndependentFilesets(ctx context.Context, filesystemName string) ([]Fileset_v2, error)

func (*SpectrumRestV2) ListFileset

func (s *SpectrumRestV2) ListFileset(ctx context.Context, filesystemName string, filesetName string) (Fileset_v2, error)

func (*SpectrumRestV2) ListFilesetQuota

func (s *SpectrumRestV2) ListFilesetQuota(ctx context.Context, filesystemName string, filesetName string) (string, error)

func (*SpectrumRestV2) ListFilesetSnapshots

func (s *SpectrumRestV2) ListFilesetSnapshots(ctx context.Context, filesystemName string, filesetName string) ([]Snapshot_v2, error)

ListFilesetSnapshots Return list of snapshot under fileset, true if snapshots present

func (*SpectrumRestV2) ListFilesystems

func (s *SpectrumRestV2) ListFilesystems(ctx context.Context) ([]string, error)

func (*SpectrumRestV2) MakeDirectory

func (s *SpectrumRestV2) MakeDirectory(ctx context.Context, filesystemName string, relativePath string, uid string, gid string) error

func (*SpectrumRestV2) MakeDirectoryV2

func (s *SpectrumRestV2) MakeDirectoryV2(ctx context.Context, filesystemName string, relativePath string, uid string, gid string, permissions string) error

func (*SpectrumRestV2) MountFilesystem

func (s *SpectrumRestV2) MountFilesystem(ctx context.Context, filesystemName string, nodeName string) error

func (*SpectrumRestV2) SetFilesetQuota

func (s *SpectrumRestV2) SetFilesetQuota(ctx context.Context, filesystemName string, filesetName string, quota string) error

func (*SpectrumRestV2) SetFilesystemPolicy

func (s *SpectrumRestV2) SetFilesystemPolicy(ctx context.Context, policy *Policy, filesystemName string) error

func (*SpectrumRestV2) StatDirectory

func (s *SpectrumRestV2) StatDirectory(ctx context.Context, filesystemName string, dirName string) (string, error)

func (*SpectrumRestV2) UnlinkFileset

func (s *SpectrumRestV2) UnlinkFileset(ctx context.Context, filesystemName string, filesetName string) error

func (*SpectrumRestV2) UnmountFilesystem

func (s *SpectrumRestV2) UnmountFilesystem(ctx context.Context, filesystemName string, nodeName string) error

func (*SpectrumRestV2) UpdateFileset

func (s *SpectrumRestV2) UpdateFileset(ctx context.Context, filesystemName string, filesetName string, opts map[string]interface{}) error

func (*SpectrumRestV2) WaitForJobCompletion

func (s *SpectrumRestV2) WaitForJobCompletion(ctx context.Context, statusCode int, jobID uint64) error

func (*SpectrumRestV2) WaitForJobCompletionWithResp

func (s *SpectrumRestV2) WaitForJobCompletionWithResp(ctx context.Context, statusCode int, jobID uint64) (GenericResponse, error)

type SpectrumScaleConnector

type SpectrumScaleConnector interface {
	//Cluster operations
	GetClusterId(ctx context.Context) (string, error)
	GetClusterSummary(ctx context.Context) (ClusterSummary, error)
	GetTimeZoneOffset(ctx context.Context) (string, error)
	GetScaleVersion(ctx context.Context) (string, error)
	//Filesystem operations
	GetFilesystemMountDetails(ctx context.Context, filesystemName string) (MountInfo, error)
	IsFilesystemMountedOnGUINode(ctx context.Context, filesystemName string) (bool, error)
	ListFilesystems(ctx context.Context) ([]string, error)
	GetFilesystemDetails(ctx context.Context, filesystemName string) (FileSystem_v2, error)
	GetFilesystemMountpoint(ctx context.Context, filesystemName string) (string, error)
	//Fileset operations
	CreateFileset(ctx context.Context, filesystemName string, filesetName string, opts map[string]interface{}) error
	UpdateFileset(ctx context.Context, filesystemName string, filesetName string, opts map[string]interface{}) error
	DeleteFileset(ctx context.Context, filesystemName string, filesetName string) error
	//LinkFileset(filesystemName string, filesetName string) error
	LinkFileset(ctx context.Context, filesystemName string, filesetName string, linkpath string) error
	UnlinkFileset(ctx context.Context, filesystemName string, filesetName string) error
	//ListFilesets(filesystemName string) ([]resources.Volume, error)
	ListFileset(ctx context.Context, filesystemName string, filesetName string) (Fileset_v2, error)
	ListCSIIndependentFilesets(ctx context.Context, filesystemName string) ([]Fileset_v2, error)
	GetFilesetsInodeSpace(ctx context.Context, filesystemName string, inodeSpace int) ([]Fileset_v2, error)
	IsFilesetLinked(ctx context.Context, filesystemName string, filesetName string) (bool, error)
	FilesetRefreshTask(ctx context.Context) error
	//TODO modify quota from string to Capacity (see kubernetes)
	ListFilesetQuota(ctx context.Context, filesystemName string, filesetName string) (string, error)
	GetFilesetQuotaDetails(ctx context.Context, filesystemName string, filesetName string) (Quota_v2, error)
	SetFilesetQuota(ctx context.Context, filesystemName string, filesetName string, quota string) error
	CheckIfFSQuotaEnabled(ctx context.Context, filesystem string) error
	CheckIfFilesetExist(ctx context.Context, filesystemName string, filesetName string) (bool, error)
	//Directory operations
	MakeDirectory(ctx context.Context, filesystemName string, relativePath string, uid string, gid string) error
	MakeDirectoryV2(ctx context.Context, filesystemName string, relativePath string, uid string, gid string, permissions string) error
	MountFilesystem(ctx context.Context, filesystemName string, nodeName string) error
	UnmountFilesystem(ctx context.Context, filesystemName string, nodeName string) error
	GetFilesystemName(ctx context.Context, filesystemUUID string) (string, error)
	CheckIfFileDirPresent(ctx context.Context, filesystemName string, relPath string) (bool, error)
	CreateSymLink(ctx context.Context, SlnkfilesystemName string, TargetFs string, relativePath string, LnkPath string) error
	GetFsUid(ctx context.Context, filesystemName string) (string, error)
	DeleteDirectory(ctx context.Context, filesystemName string, dirName string, safe bool) error
	StatDirectory(ctx context.Context, filesystemName string, dirName string) (string, error)
	GetFileSetUid(ctx context.Context, filesystemName string, filesetName string) (string, error)
	GetFileSetNameFromId(ctx context.Context, filesystemName string, Id string) (string, error)
	DeleteSymLnk(ctx context.Context, filesystemName string, LnkName string) error
	GetFileSetResponseFromId(ctx context.Context, filesystemName string, Id string) (Fileset_v2, error)
	GetFileSetResponseFromName(ctx context.Context, filesystemName string, filesetName string) (Fileset_v2, error)
	SetFilesystemPolicy(ctx context.Context, policy *Policy, filesystemName string) error
	DoesTierExist(ctx context.Context, tierName string, filesystemName string) error
	GetTierInfoFromName(ctx context.Context, tierName string, filesystemName string) (*StorageTier, error)
	GetFirstDataTier(ctx context.Context, filesystemName string) (string, error)
	IsValidNodeclass(ctx context.Context, nodeclass string) (bool, error)
	IsSnapshotSupported(ctx context.Context) (bool, error)
	CheckIfDefaultPolicyPartitionExists(ctx context.Context, partitionName string, filesystemName string) bool

	//Snapshot operations
	WaitForJobCompletion(ctx context.Context, statusCode int, jobID uint64) error
	WaitForJobCompletionWithResp(ctx context.Context, statusCode int, jobID uint64) (GenericResponse, error)
	CreateSnapshot(ctx context.Context, filesystemName string, filesetName string, snapshotName string) error
	DeleteSnapshot(ctx context.Context, filesystemName string, filesetName string, snapshotName string) error
	GetLatestFilesetSnapshots(ctx context.Context, filesystemName string, filesetName string) ([]Snapshot_v2, error)
	GetSnapshotUid(ctx context.Context, filesystemName string, filesetName string, snapName string) (string, error)
	GetSnapshotCreateTimestamp(ctx context.Context, filesystemName string, filesetName string, snapName string) (string, error)
	CheckIfSnapshotExist(ctx context.Context, filesystemName string, filesetName string, snapshotName string) (bool, error)
	ListFilesetSnapshots(ctx context.Context, filesystemName string, filesetName string) ([]Snapshot_v2, error)
	CopyFsetSnapshotPath(ctx context.Context, filesystemName string, filesetName string, snapshotName string, srcPath string, targetPath string, nodeclass string) (int, uint64, error)
	CopyFilesetPath(ctx context.Context, filesystemName string, filesetName string, srcPath string, targetPath string, nodeclass string) (int, uint64, error)
	CopyDirectoryPath(ctx context.Context, filesystemName string, srcPath string, targetPath string, nodeclass string) (int, uint64, error)
	IsNodeComponentHealthy(ctx context.Context, nodeName string, component string) (bool, error)
}

func GetSpectrumScaleConnector

func GetSpectrumScaleConnector(ctx context.Context, config settings.Clusters) (SpectrumScaleConnector, error)

func NewSpectrumRestV2

func NewSpectrumRestV2(ctx context.Context, scaleConfig settings.Clusters) (SpectrumScaleConnector, error)

type State

type State struct {
	ActiveSince   string `json:"activeSince,omitempty"`
	Component     string `json:"component,omitempty"`
	EntityName    string `json:"entityName,omitempty"`
	EntityType    string `json:"entityType,omitempty"`
	Oid           int    `json:"oid,omitempty"`
	ParentName    string `json:"parentName,omitempty"`
	ReportingNode string `json:"reportingNode,omitempty"`
	State         string `json:"state,omitempty"`
	Etype         string `json:"type,omitempty"`
	Name          string `json:"name,omitempty"`
	Message       string `json:"message,omitempty"`
	UserAction    string `json:"userAction,omitempty"`
	Description   string `json:"description,omitempty"`
	Severity      string `json:"severity,omitempty"`
}

type Status

type Status struct {
	Code    int    `json:"code,omitempty"`
	Message string `json:"message,omitempty"`
}

type StorageTier

type StorageTier struct {
	FilesystemName  string `json:"filesystemName"`
	StorageTierName string `json:"storagePoolName"`
	TotalDataInKB   int64  `json:"totalDataInKB,omitempty"`
	FreeDataInKB    int64  `json:"freeDataInKB,omitempty"`
	TotalMetaInKB   int64  `json:"totalMetaInKB,omitempty"`
	FreeMetaInKB    int64  `json:"freeMetaInKB,omitempty"`
	Status          Status `json:"status,omitempty"`
	Paging          Pages  `json:"paging,omitempty"`
}

type StorageTiers

type StorageTiers struct {
	StorageTiers []StorageTier `json:"storagePool,omitempty"`
	Status       Status        `json:"status,omitempty"`
	Paging       Pages         `json:"paging,omitempty"`
}

type SymLnkRequest

type SymLnkRequest struct {
	FilesystemName string `json:"filesystemName"`
	RelativePath   string `json:"relativePath"`
}

type UnlinkFilesetRequest

type UnlinkFilesetRequest struct {
	Force bool `json:"force,omitempty"`
}

type UnmountFilesystemRequest

type UnmountFilesystemRequest struct {
	Nodes []string `json:"nodes,omitempty"`
	Force bool     `json:"force,omitempty"`
}

Jump to

Keyboard shortcuts

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