connectors

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Dec 10, 2019 License: Apache-2.0 Imports: 13 Imported by: 0

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"
)
View Source
const (
	UserSpecifiedUID string = "uid"
	UserSpecifiedGID string = "gid"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AFM

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

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 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 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"`
	GID string `json:"gid,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 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 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 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"`
}

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 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 {
	Next string `json:"next,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"`
	NumNodes             int    `json:"numNodes,omitempty"`
	ExactMTime           bool   `json:"exactMTime,omitempty"`
	SuppressATime        string `json:"suppressATime,omitempty"`
	FastEAEnabled        bool   `json:"fastEAEnabled,omitempty"`
	Encryption           bool   `json:"encryption,omitempty"`
	MaxNumberOfInodes    int    `json:"maxNumberOfInodes,omitempty"`
	Is4KAligned          bool   `json:"is4KAligned,omitempty"`
	RapidRepairEnabled   bool   `json:"rapidRepairEnabled,omitempty"`
	StripeMethod         string `json:"stripeMethod"`
	StripedLogs          bool   `json:"stripedLogs,omitempty"`
	ACLSemantics         string `json:"ACLSemantics,omitempty"`
	DMAPIEnabled         bool   `json:"DMAPIEnabled,omitempty"`
}

type SpectrumScaleConnector

type SpectrumScaleConnector interface {
	//Cluster operations
	GetClusterId() (string, error)
	//Filesystem operations
	GetFilesystemMountDetails(filesystemName string) (MountInfo, error)
	IsFilesystemMounted(filesystemName string) (bool, error)
	ListFilesystems() ([]string, error)
	GetFilesystemMountpoint(filesystemName string) (string, error)
	//Fileset operations
	CreateFileset(filesystemName string, filesetName string, opts map[string]interface{}) error
	DeleteFileset(filesystemName string, filesetName string) error
	//LinkFileset(filesystemName string, filesetName string) error
	LinkFileset(filesystemName string, filesetName string, linkpath string) error
	UnlinkFileset(filesystemName string, filesetName string) error
	//ListFilesets(filesystemName string) ([]resources.Volume, error)
	ListFileset(filesystemName string, filesetName string) (Fileset_v2, error)
	IsFilesetLinked(filesystemName string, filesetName string) (bool, error)
	//TODO modify quota from string to Capacity (see kubernetes)
	ListFilesetQuota(filesystemName string, filesetName string) (string, error)
	SetFilesetQuota(filesystemName string, filesetName string, quota string) error
	CheckIfFSQuotaEnabled(filesystem string) error
	//Directory operations
	MakeDirectory(filesystemName string, relativePath string, uid int, gid int) error
	MountFilesystem(filesystemName string, nodeName string) error
	UnmountFilesystem(filesystemName string, nodeName string) error
	GetFilesystemName(filesystemUUID string) (string, error)
	CheckIfFileDirPresent(filesystemName string, relPath string) (bool, error)
	CreateSymLink(SlnkfilesystemName string, TargetFs string, relativePath string, LnkPath string) error
	GetFsUid(filesystemName string) (string, error)
	DeleteDirectory(filesystemName string, dirName string) error
	GetFileSetUid(filesystemName string, filesetName string) (string, error)
	GetFileSetNameFromId(filesystemName string, Id string) (string, error)
	DeleteSymLnk(filesystemName string, LnkName string) error
}

func GetSpectrumScaleConnector

func GetSpectrumScaleConnector(config settings.Clusters) (SpectrumScaleConnector, error)

func NewSpectrumRestV2

func NewSpectrumRestV2(scaleConfig settings.Clusters) (SpectrumScaleConnector, error)

type Status

type Status struct {
	Code    int    `json:"code,omitempty"`
	Message string `json:"message,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