Documentation
¶
Index ¶
- Constants
- func WrapErr(err error) error
- type APIError
- func (err *APIError) BadRange() bool
- func (err *APIError) FSNameIsAlreadyUse() bool
- func (err *APIError) HostAlreadyPresentInNFSExport() bool
- func (err *APIError) HostAlreadyRemovedFromNFSExport() bool
- func (err *APIError) HostIsNotAttachedToVolume() bool
- func (err *APIError) HostIsNotExist() bool
- func (err *APIError) NotFound() bool
- func (err *APIError) ReplicationSessionAlreadyCreated() bool
- func (err *APIError) SnapshotNameIsAlreadyUse() bool
- func (err *APIError) UnableToFailoverFromDestination() bool
- func (err *APIError) VolumeAlreadyRemovedFromVolumeGroup() bool
- func (err *APIError) VolumeAttachedToHost() bool
- func (err *APIError) VolumeDetachedFromHost() bool
- func (err *APIError) VolumeIsNotAttachedToHost() bool
- func (err *APIError) VolumeNameIsAlreadyUse() bool
- type ActionType
- type ActiveSessionInstance
- type AppTypeEnum
- type ApplianceInstance
- type ApplianceMetrics
- type Client
- type ClientIMPL
- func (c *ClientIMPL) APIClient() api.Client
- func (c *ClientIMPL) AddMembersToVolumeGroup(ctx context.Context, params *VolumeGroupMembers, id string) (resp EmptyResponse, err error)
- func (c *ClientIMPL) AttachVolumeToHost(ctx context.Context, hostID string, attachParams *HostVolumeAttach) (resp EmptyResponse, err error)
- func (c *ClientIMPL) AttachVolumeToHostGroup(ctx context.Context, hostGroupID string, attachParams *HostVolumeAttach) (resp EmptyResponse, err error)
- func (c *ClientIMPL) CloneFS(ctx context.Context, createParams *FsClone, fsID string) (resp CreateResponse, err error)
- func (c *ClientIMPL) CloneVolume(ctx context.Context, createParams *VolumeClone, volID string) (resp CreateResponse, err error)
- func (c *ClientIMPL) ComputeDifferences(ctx context.Context, computeDiffParams *VolumeComputeDifferences, volID string) (resp VolumeComputeDifferencesResponse, err error)
- func (c *ClientIMPL) ConfigureMetroVolume(ctx context.Context, id string, config *MetroConfig) (resp MetroSessionResponse, err error)
- func (c *ClientIMPL) ConfigureMetroVolumeGroup(ctx context.Context, id string, config *MetroConfig) (session MetroSessionResponse, err error)
- func (c *ClientIMPL) CopyMetricsByAppliance(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]CopyMetricsByApplianceResponse, error)
- func (c *ClientIMPL) CopyMetricsByCluster(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]CopyMetricsByClusterResponse, error)
- func (c *ClientIMPL) CopyMetricsByRemoteSystem(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]CopyMetricsByRemoteSystemResponse, error)
- func (c *ClientIMPL) CopyMetricsByVolume(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]CopyMetricsByVolumeResponse, error)
- func (c *ClientIMPL) CopyMetricsByVolumeGroup(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]CopyMetricsByVolumeGroupResponse, error)
- func (c *ClientIMPL) CreateFS(ctx context.Context, createParams *FsCreate) (resp CreateResponse, err error)
- func (c *ClientIMPL) CreateFsFromSnapshot(ctx context.Context, createParams *FsClone, snapID string) (resp CreateResponse, err error)
- func (c *ClientIMPL) CreateFsSnapshot(ctx context.Context, createSnapFSParams *SnapshotFSCreate, id string) (resp CreateResponse, err error)
- func (c *ClientIMPL) CreateHost(ctx context.Context, createParams *HostCreate) (resp CreateResponse, err error)
- func (c *ClientIMPL) CreateHostGroup(ctx context.Context, createParams *HostGroupCreate) (resp CreateResponse, err error)
- func (c *ClientIMPL) CreateNAS(ctx context.Context, createParams *NASCreate) (resp CreateResponse, err error)
- func (c *ClientIMPL) CreateNFSExport(ctx context.Context, createParams *NFSExportCreate) (resp CreateResponse, err error)
- func (c *ClientIMPL) CreateNFSServer(ctx context.Context, createParams *NFSServerCreate) (resp CreateResponse, err error)
- func (c *ClientIMPL) CreateProtectionPolicy(ctx context.Context, createParams *ProtectionPolicyCreate) (resp CreateResponse, err error)
- func (c *ClientIMPL) CreateReplicationRule(ctx context.Context, createParams *ReplicationRuleCreate) (resp CreateResponse, err error)
- func (c *ClientIMPL) CreateSnapshot(ctx context.Context, createSnapParams *SnapshotCreate, id string) (resp CreateResponse, err error)
- func (c *ClientIMPL) CreateSnapshotRule(ctx context.Context, createParams *SnapshotRuleCreate) (resp CreateResponse, err error)
- func (c *ClientIMPL) CreateStorageContainer(ctx context.Context, createParams *StorageContainer) (resp CreateResponse, err error)
- func (c *ClientIMPL) CreateVolume(ctx context.Context, createParams *VolumeCreate) (resp CreateResponse, err error)
- func (c *ClientIMPL) CreateVolumeFromSnapshot(ctx context.Context, createParams *VolumeClone, snapID string) (resp CreateResponse, err error)
- func (c *ClientIMPL) CreateVolumeGroup(ctx context.Context, createParams *VolumeGroupCreate) (resp CreateResponse, err error)
- func (c *ClientIMPL) CreateVolumeGroupSnapshot(ctx context.Context, volumeGroupID string, ...) (resp CreateResponse, err error)
- func (c *ClientIMPL) DeleteFS(ctx context.Context, id string) (resp EmptyResponse, err error)
- func (c *ClientIMPL) DeleteFsSnapshot(ctx context.Context, id string) (resp EmptyResponse, err error)
- func (c *ClientIMPL) DeleteHost(ctx context.Context, deleteParams *HostDelete, id string) (resp EmptyResponse, err error)
- func (c *ClientIMPL) DeleteHostGroup(ctx context.Context, id string) (resp EmptyResponse, err error)
- func (c *ClientIMPL) DeleteNAS(ctx context.Context, id string) (resp EmptyResponse, err error)
- func (c *ClientIMPL) DeleteNFSExport(ctx context.Context, id string) (resp EmptyResponse, err error)
- func (c *ClientIMPL) DeleteProtectionPolicy(ctx context.Context, id string) (resp EmptyResponse, err error)
- func (c *ClientIMPL) DeleteReplicationRule(ctx context.Context, id string) (resp EmptyResponse, err error)
- func (c *ClientIMPL) DeleteSnapshot(ctx context.Context, deleteParams *VolumeDelete, id string) (resp EmptyResponse, err error)
- func (c *ClientIMPL) DeleteSnapshotRule(ctx context.Context, deleteParams *SnapshotRuleDelete, id string) (resp EmptyResponse, err error)
- func (c *ClientIMPL) DeleteStorageContainer(ctx context.Context, id string) (resp EmptyResponse, err error)
- func (c *ClientIMPL) DeleteVolume(ctx context.Context, deleteParams *VolumeDelete, id string) (resp EmptyResponse, err error)
- func (c *ClientIMPL) DeleteVolumeGroup(ctx context.Context, id string) (resp EmptyResponse, err error)
- func (c *ClientIMPL) DetachVolumeFromHost(ctx context.Context, hostID string, detachParams *HostVolumeDetach) (resp EmptyResponse, err error)
- func (c *ClientIMPL) DetachVolumeFromHostGroup(ctx context.Context, hostGroupID string, detachParams *HostVolumeDetach) (resp EmptyResponse, err error)
- func (c *ClientIMPL) EndMetroVolume(ctx context.Context, id string, deleteOpts *EndMetroVolumeOptions) (resp EmptyResponse, err error)
- func (c *ClientIMPL) EndMetroVolumeGroup(ctx context.Context, id string, options *EndMetroVolumeGroupOptions) (resp EmptyResponse, err error)
- func (c *ClientIMPL) ExecuteActionOnReplicationSession(ctx context.Context, id string, actionType ActionType, params *FailoverParams) (resp EmptyResponse, err error)
- func (c *ClientIMPL) GetAllRemoteSystems(ctx context.Context) (resp []RemoteSystem, err error)
- func (c *ClientIMPL) GetAppliance(ctx context.Context, id string) (resp ApplianceInstance, err error)
- func (c *ClientIMPL) GetApplianceByName(ctx context.Context, name string) (resp ApplianceInstance, err error)
- func (c *ClientIMPL) GetCapacity(ctx context.Context) (int64, error)
- func (c *ClientIMPL) GetCluster(ctx context.Context) (resp Cluster, err error)
- func (c *ClientIMPL) GetCustomHTTPHeaders() http.Header
- func (c *ClientIMPL) GetFCPort(ctx context.Context, id string) (resp FcPort, err error)
- func (c *ClientIMPL) GetFCPorts(ctx context.Context) (resp []FcPort, err error)
- func (c *ClientIMPL) GetFS(ctx context.Context, id string) (resp FileSystem, err error)
- func (c *ClientIMPL) GetFSByName(ctx context.Context, name string) (resp FileSystem, err error)
- func (c *ClientIMPL) GetFileInterface(ctx context.Context, id string) (resp FileInterface, err error)
- func (c *ClientIMPL) GetFsSnapshot(ctx context.Context, snapID string) (resVol FileSystem, err error)
- func (c *ClientIMPL) GetFsSnapshots(ctx context.Context) ([]FileSystem, error)
- func (c *ClientIMPL) GetFsSnapshotsByVolumeID(ctx context.Context, volID string) ([]FileSystem, error)
- func (c *ClientIMPL) GetHost(ctx context.Context, id string) (resp Host, err error)
- func (c *ClientIMPL) GetHostByName(ctx context.Context, name string) (resp Host, err error)
- func (c *ClientIMPL) GetHostGroup(ctx context.Context, id string) (resp HostGroup, err error)
- func (c *ClientIMPL) GetHostGroupByName(ctx context.Context, name string) (resp HostGroup, err error)
- func (c *ClientIMPL) GetHostGroups(ctx context.Context) ([]HostGroup, error)
- func (c *ClientIMPL) GetHostVolumeMapping(ctx context.Context, id string) (resp HostVolumeMapping, err error)
- func (c *ClientIMPL) GetHostVolumeMappingByVolumeID(ctx context.Context, volumeID string) (resp []HostVolumeMapping, err error)
- func (c *ClientIMPL) GetHostVolumeMappings(ctx context.Context) (resp []HostVolumeMapping, err error)
- func (c *ClientIMPL) GetHosts(ctx context.Context) (resp []Host, err error)
- func (c *ClientIMPL) GetMaxVolumeSize(ctx context.Context) (int64, error)
- func (c *ClientIMPL) GetNAS(ctx context.Context, id string) (resp NAS, err error)
- func (c *ClientIMPL) GetNASByName(ctx context.Context, name string) (resp NAS, err error)
- func (c *ClientIMPL) GetNFSExportByFileSystemID(ctx context.Context, fsID string) (resp NFSExport, err error)
- func (c *ClientIMPL) GetNFSExportByName(ctx context.Context, name string) (resp NFSExport, err error)
- func (c *ClientIMPL) GetNfsServer(ctx context.Context, id string) (resp NFSServerInstance, err error)
- func (c *ClientIMPL) GetProtectionPolicies(ctx context.Context) ([]ProtectionPolicy, error)
- func (c *ClientIMPL) GetProtectionPolicy(ctx context.Context, id string) (resp ProtectionPolicy, err error)
- func (c *ClientIMPL) GetProtectionPolicyByName(ctx context.Context, policyName string) (resp ProtectionPolicy, err error)
- func (c *ClientIMPL) GetRemoteSystem(ctx context.Context, id string) (resp RemoteSystem, err error)
- func (c *ClientIMPL) GetRemoteSystemByName(ctx context.Context, name string) (resp RemoteSystem, err error)
- func (c *ClientIMPL) GetReplicationRule(ctx context.Context, id string) (resp ReplicationRule, err error)
- func (c *ClientIMPL) GetReplicationRuleByName(ctx context.Context, ruleName string) (resp ReplicationRule, err error)
- func (c *ClientIMPL) GetReplicationRules(ctx context.Context) ([]ReplicationRule, error)
- func (c *ClientIMPL) GetReplicationSessionByID(ctx context.Context, id string) (resp ReplicationSession, err error)
- func (c *ClientIMPL) GetReplicationSessionByLocalResourceID(ctx context.Context, id string) (resp ReplicationSession, err error)
- func (c *ClientIMPL) GetSnapshot(ctx context.Context, snapID string) (resVol Volume, err error)
- func (c *ClientIMPL) GetSnapshotByName(ctx context.Context, snapName string) (resVol Volume, err error)
- func (c *ClientIMPL) GetSnapshotRule(ctx context.Context, id string) (resp SnapshotRule, err error)
- func (c *ClientIMPL) GetSnapshotRuleByName(ctx context.Context, name string) (resp SnapshotRule, err error)
- func (c *ClientIMPL) GetSnapshotRules(ctx context.Context) ([]SnapshotRule, error)
- func (c *ClientIMPL) GetSnapshots(ctx context.Context) ([]Volume, error)
- func (c *ClientIMPL) GetSnapshotsByVolumeID(ctx context.Context, volID string) ([]Volume, error)
- func (c *ClientIMPL) GetSoftwareInstalled(ctx context.Context) (resp []SoftwareInstalled, err error)
- func (c *ClientIMPL) GetSoftwareMajorMinorVersion(ctx context.Context) (majorMinorVersion float32, err error)
- func (c *ClientIMPL) GetStorageContainer(ctx context.Context, id string) (resp StorageContainer, err error)
- func (c *ClientIMPL) GetStorageISCSITargetAddresses(ctx context.Context) (resp []IPPoolAddress, err error)
- func (c *ClientIMPL) GetStorageNVMETCPTargetAddresses(ctx context.Context) (resp []IPPoolAddress, err error)
- func (c *ClientIMPL) GetVolume(ctx context.Context, id string) (resp Volume, err error)
- func (c *ClientIMPL) GetVolumeByName(ctx context.Context, name string) (resp Volume, err error)
- func (c *ClientIMPL) GetVolumeGroup(ctx context.Context, id string) (resp VolumeGroup, err error)
- func (c *ClientIMPL) GetVolumeGroupByName(ctx context.Context, name string) (resp VolumeGroup, err error)
- func (c *ClientIMPL) GetVolumeGroupSnapshot(ctx context.Context, snapID string) (resVol VolumeGroup, err error)
- func (c *ClientIMPL) GetVolumeGroupSnapshotByName(ctx context.Context, name string) (resVol VolumeGroup, err error)
- func (c *ClientIMPL) GetVolumeGroupSnapshots(ctx context.Context) ([]VolumeGroup, error)
- func (c *ClientIMPL) GetVolumeGroups(ctx context.Context) ([]VolumeGroup, error)
- func (c *ClientIMPL) GetVolumeGroupsByVolumeID(ctx context.Context, id string) (resp VolumeGroups, err error)
- func (c *ClientIMPL) GetVolumes(ctx context.Context) ([]Volume, error)
- func (c *ClientIMPL) ModifyFS(ctx context.Context, modifyParams *FSModify, id string) (resp EmptyResponse, err error)
- func (c *ClientIMPL) ModifyHost(ctx context.Context, modifyParams *HostModify, id string) (resp CreateResponse, err error)
- func (c *ClientIMPL) ModifyHostGroup(ctx context.Context, modifyParams *HostGroupModify, id string) (resp EmptyResponse, err error)
- func (c *ClientIMPL) ModifyNFSExport(ctx context.Context, modifyParams *NFSExportModify, id string) (resp CreateResponse, err error)
- func (c *ClientIMPL) ModifyProtectionPolicy(ctx context.Context, modifyParams *ProtectionPolicyCreate, id string) (resp EmptyResponse, err error)
- func (c *ClientIMPL) ModifyReplicationRule(ctx context.Context, modifyParams *ReplicationRuleModify, id string) (resp EmptyResponse, err error)
- func (c *ClientIMPL) ModifySnapshotRule(ctx context.Context, modifyParams *SnapshotRuleCreate, id string) (resp EmptyResponse, err error)
- func (c *ClientIMPL) ModifyStorageContainer(ctx context.Context, modifyParams *StorageContainer, id string) (resp EmptyResponse, err error)
- func (c *ClientIMPL) ModifyVolume(ctx context.Context, modifyParams *VolumeModify, volID string) (resp EmptyResponse, err error)
- func (c *ClientIMPL) ModifyVolumeGroup(ctx context.Context, modifyParams *VolumeGroupModify, id string) (resp EmptyResponse, err error)
- func (c *ClientIMPL) ModifyVolumeGroupSnapshot(ctx context.Context, modifyParams *VolumeGroupSnapshotModify, id string) (resp EmptyResponse, err error)
- func (c *ClientIMPL) PerformanceMetricsByAppliance(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByApplianceResponse, error)
- func (c *ClientIMPL) PerformanceMetricsByCluster(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByClusterResponse, error)
- func (c *ClientIMPL) PerformanceMetricsByFeEthNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByFeEthNodeResponse, error)
- func (c *ClientIMPL) PerformanceMetricsByFeEthPort(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByFeEthPortResponse, error)
- func (c *ClientIMPL) PerformanceMetricsByFeFcNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByFeFcNodeResponse, error)
- func (c *ClientIMPL) PerformanceMetricsByFeFcPort(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByFeFcPortResponse, error)
- func (c *ClientIMPL) PerformanceMetricsByFileSystem(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByFileSystemResponse, error)
- func (c *ClientIMPL) PerformanceMetricsByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByNodeResponse, error)
- func (c *ClientIMPL) PerformanceMetricsByVM(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByVMResponse, error)
- func (c *ClientIMPL) PerformanceMetricsByVg(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByVgResponse, error)
- func (c *ClientIMPL) PerformanceMetricsByVolume(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByVolumeResponse, error)
- func (c *ClientIMPL) PerformanceMetricsNfsByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByNfsResponse, error)
- func (c *ClientIMPL) PerformanceMetricsNfsv3ByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByNfsv3Response, error)
- func (c *ClientIMPL) PerformanceMetricsNfsv4ByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByNfsv4Response, error)
- func (c *ClientIMPL) PerformanceMetricsSmb1BuiltinclientByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsBySmbV1BuiltinClientResponse, error)
- func (c *ClientIMPL) PerformanceMetricsSmb1ByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsBySmbV1NodeResponse, error)
- func (c *ClientIMPL) PerformanceMetricsSmb2BuiltinclientByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsBySmbV2BuiltinClientResponse, error)
- func (c *ClientIMPL) PerformanceMetricsSmb2ByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsBySmbV2NodeResponse, error)
- func (c *ClientIMPL) PerformanceMetricsSmbBranchCacheByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsBySmbCacheResponse, error)
- func (c *ClientIMPL) PerformanceMetricsSmbBuiltinclientByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsBySmbClientResponse, error)
- func (c *ClientIMPL) PerformanceMetricsSmbByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsBySmbNodeResponse, error)
- func (c *ClientIMPL) RemoveMembersFromVolumeGroup(ctx context.Context, params *VolumeGroupMembers, id string) (resp EmptyResponse, err error)
- func (c *ClientIMPL) SetCustomHTTPHeaders(headers http.Header)
- func (c *ClientIMPL) SetLogger(logger Logger)
- func (c *ClientIMPL) SetTraceID(ctx context.Context, value string) context.Context
- func (c *ClientIMPL) SpaceMetricsByAppliance(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]SpaceMetricsByApplianceResponse, error)
- func (c *ClientIMPL) SpaceMetricsByCluster(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]SpaceMetricsByClusterResponse, error)
- func (c *ClientIMPL) SpaceMetricsByStorageContainer(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]SpaceMetricsByStorageContainerResponse, error)
- func (c *ClientIMPL) SpaceMetricsByVM(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]SpaceMetricsByVMResponse, error)
- func (c *ClientIMPL) SpaceMetricsByVolume(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]SpaceMetricsByVolumeResponse, error)
- func (c *ClientIMPL) SpaceMetricsByVolumeFamily(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]SpaceMetricsByVolumeFamilyResponse, error)
- func (c *ClientIMPL) SpaceMetricsByVolumeGroup(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]SpaceMetricsByVolumeGroupResponse, error)
- func (c *ClientIMPL) UpdateVolumeGroupProtectionPolicy(ctx context.Context, id string, params *VolumeGroupChangePolicy) (resp EmptyResponse, err error)
- func (c *ClientIMPL) VolumeMirrorTransferRate(ctx context.Context, entityID string) ([]VolumeMirrorTransferRateResponse, error)
- func (c *ClientIMPL) WearMetricsByDrive(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]WearMetricsByDriveResponse, error)
- type ClientOptions
- func (co *ClientOptions) DefaultTimeout() int64
- func (co *ClientOptions) Insecure() bool
- func (co *ClientOptions) RateLimit() int
- func (co *ClientOptions) RequestIDKey() api.ContextKey
- func (co *ClientOptions) SetDefaultTimeout(value int64) *ClientOptions
- func (co *ClientOptions) SetInsecure(value bool) *ClientOptions
- func (co *ClientOptions) SetRateLimit(value int) *ClientOptions
- func (co *ClientOptions) SetRequestIDKey(value api.ContextKey) *ClientOptions
- type Cluster
- type CommonAvgFields
- type CommonEthPortFields
- type CommonMaxAvgIopsBandwidthFields
- type CommonMetricsFields
- type CommonNfsv34ResponseFields
- type CommonSMBFields
- type CommonUnalignedFields
- type CopyMetricsByApplianceResponse
- type CopyMetricsByClusterResponse
- type CopyMetricsByRemoteSystemResponse
- type CopyMetricsByVolumeGroupResponse
- type CopyMetricsByVolumeResponse
- type CopyMetricsCommonFields
- type CopySessionTypeEnum
- type CreateResponse
- type DataConnectStateEnum
- type Datastores
- type DaysOfWeekEnum
- type EmptyResponse
- type EndMetroVolumeGroupOptions
- type EndMetroVolumeOptions
- type FLRCreate
- type FSModify
- type FailoverParams
- type FcPort
- type FcPortModify
- type FcPortSpeedEnum
- type FileInterface
- type FileSystem
- type FileSystemTypeEnum
- type FileSystems
- type FlrAttributes
- type FsClone
- type FsCreate
- type Host
- type HostConnectivityEnum
- type HostCreate
- type HostDelete
- type HostGroup
- type HostGroupCreate
- type HostGroupModify
- type HostModify
- type HostTypeEnum
- type HostVirtualVolumeMapping
- type HostVirtualVolumeMappings
- type HostVolumeAttach
- type HostVolumeDetach
- type HostVolumeMapping
- type IPPoolAddress
- type IPPortInstance
- type IPPurposeTypeEnum
- type ImportHostSystem
- type InitiatorCreateModify
- type InitiatorInstance
- type InitiatorProtocolTypeEnum
- type Limit
- type LimitIDEnum
- type LocationHistory
- type Logger
- type MappedHostGroup
- type MappedHosts
- type MappedVolumes
- type MetaDataHeader
- type MetricsIntervalEnum
- type MetricsRequest
- type MetroConfig
- type MetroSessionResponse
- type MigrationSession
- type NAS
- type NASAccessTypeEnum
- type NASCreate
- type NASServerOperationalStatusEnum
- type NFSExport
- type NFSExportCreate
- type NFSExportDefaultAccessEnum
- type NFSExportModify
- type NFSServerCreate
- type NFSServerInstance
- type NodeAffinityEnum
- type OSTypeEnum
- type PerformanceMetricsByApplianceResponse
- type PerformanceMetricsByClusterResponse
- type PerformanceMetricsByFeEthNodeResponse
- type PerformanceMetricsByFeEthPortResponse
- type PerformanceMetricsByFeFcNodeResponse
- type PerformanceMetricsByFeFcPortResponse
- type PerformanceMetricsByFileSystemResponse
- type PerformanceMetricsByNfsResponse
- type PerformanceMetricsByNfsv3Response
- type PerformanceMetricsByNfsv4Response
- type PerformanceMetricsByNodeResponse
- type PerformanceMetricsBySmbCacheResponse
- type PerformanceMetricsBySmbClientResponse
- type PerformanceMetricsBySmbNodeResponse
- type PerformanceMetricsBySmbV1BuiltinClientResponse
- type PerformanceMetricsBySmbV1NodeResponse
- type PerformanceMetricsBySmbV2BuiltinClientResponse
- type PerformanceMetricsBySmbV2NodeResponse
- type PerformanceMetricsByVMResponse
- type PerformanceMetricsByVgResponse
- type PerformanceMetricsByVolumeResponse
- type PerformanceRules
- type PolicyManagedByEnum
- type ProtectionData
- type ProtectionPolicy
- type ProtectionPolicyCreate
- type RPOEnum
- type RSStateEnum
- type RemoteCapabilitiesEnum
- type RemoteSystem
- type ReplicationRoleEnum
- type ReplicationRule
- type ReplicationRuleCreate
- type ReplicationRuleModify
- type ReplicationSession
- type RequestConfig
- type SnapshotCreate
- type SnapshotFSCreate
- type SnapshotRule
- type SnapshotRuleCreate
- type SnapshotRuleDelete
- type SnapshotRuleIntervalEnum
- type SoftwareInstalled
- type SpaceMetricsByApplianceResponse
- type SpaceMetricsByClusterResponse
- type SpaceMetricsByStorageContainerResponse
- type SpaceMetricsByVMResponse
- type SpaceMetricsByVolumeFamilyResponse
- type SpaceMetricsByVolumeGroupResponse
- type SpaceMetricsByVolumeResponse
- type StorageContainer
- type StorageContainerStorageProtocolEnum
- type StorageCreatorTypeEnum
- type StorageElementPair
- type StorageTypeEnum
- type TimeZoneEnum
- type UpdateInitiatorInHost
- type VGPlacementRuleEnum
- type VirtualMachines
- type VirtualVolume
- type Volume
- type VolumeClone
- type VolumeComputeDifferences
- type VolumeComputeDifferencesResponse
- type VolumeCreate
- type VolumeDelete
- type VolumeGroup
- type VolumeGroupChangePolicy
- type VolumeGroupCreate
- type VolumeGroupMembers
- type VolumeGroupModify
- type VolumeGroupSnapshotCreate
- type VolumeGroupSnapshotModify
- type VolumeGroups
- type VolumeMirrorTransferRateResponse
- type VolumeModify
- type VolumeStateEnum
- type VolumeTypeEnum
- type VsphereHosts
- type WearMetricsByDriveResponse
Constants ¶
const ( APIURLEnv = "GOPOWERSTORE_APIURL" UsernameEnv = "GOPOWERSTORE_USERNAME" PasswordEnv = "GOPOWERSTORE_PASSWORD" InsecureEnv = "GOPOWERSTORE_INSECURE" HTTPTimeoutEnv = "GOPOWERSTORE_HTTP_TIMEOUT" DebugEnv = "GOPOWERSTORE_DEBUG" )
Env variables
const ( VMware8K string = "VMware_8K" VMware16K string = "VMware_16K" VMware32K string = "VMware_32K" VMware64K string = "VMware_64K" )
const ( RpoFiveMinutes RPOEnum = "Five_Minutes" RpoFifteenMinutes RPOEnum = "Fifteen_Minutes" RpoThirtyMinutes RPOEnum = "Thirty_Minutes" RpoOneHour RPOEnum = "One_Hour" RpoSixHours RPOEnum = "Six_Hours" RpoTwelveHours RPOEnum = "Twelve_Hours" RpoOneDay RPOEnum = "One_Day" RpoZero RPOEnum = "Zero" RsStateInitializing RSStateEnum = "Initializing" RsStateOk RSStateEnum = "OK" RsStateSynchronizing RSStateEnum = "Synchronizing" RsStateSystemPaused RSStateEnum = "System_Paused" RsStatePaused RSStateEnum = "Paused" RsStatePausedForMigration RSStateEnum = "Paused_For_Migration" RsStatePausedForNdu RSStateEnum = "Paused_For_NDU" RsStateFractured RSStateEnum = "Fractured" RsStateResuming RSStateEnum = "Resuming" RsStateFailingOver RSStateEnum = "Failing_Over" RsStateFailingOverForDR RSStateEnum = "Failing_Over_For_DR" RsStateFailedOver RSStateEnum = "Failed_Over" RsStateReprotecting RSStateEnum = "Reprotecting" RsStatePartialCutoverForMigration RSStateEnum = "Partial_Cutover_For_Migration" RsStateSwitchingToMetroSync RSStateEnum = "Switching_To_Metro_Sync" RsStateError RSStateEnum = "Error" )
const ( VolumeActionClone string = "clone" VolumeActionComputeDifferences string = "compute_differences" VolumeActionConfigureMetro string = "configure_metro" VolumeActionEndMetro string = "end_metro" VolumeActionSnapshot string = "snapshot" )
Actions are used to build a PowerStore API query. Each action represents an endpoint under the /volume/ prefix.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type APIError ¶
APIError represents API error
func NewHostIsNotAttachedToVolume ¶
func NewHostIsNotAttachedToVolume() APIError
NewHostIsNotAttachedToVolume returns new HostIsNotAttachedToVolume error
func NewHostIsNotExistError ¶
func NewHostIsNotExistError() APIError
NewHostIsNotExistError returns new HostIsNotExistError
func NewNotFoundError ¶ added in v1.5.0
func NewNotFoundError() APIError
NewNotFoundError returns new VolumeIsNotExistError
func NewVolumeAttachedToHostError ¶
func NewVolumeAttachedToHostError() APIError
NewVolumeAttachedToHostError returns new VolumeAttachedToHost error
func (*APIError) BadRange ¶
BadRange returns true if API error indicate that request was submitted with invalid range
func (*APIError) FSNameIsAlreadyUse ¶ added in v1.1.0
FSNameIsAlreadyUse returns true if API error indicate that fs name is already in use
func (*APIError) HostAlreadyPresentInNFSExport ¶ added in v1.1.0
HostAlreadyPresentInNFSExport returns true if API error indicate that operation can't be complete because host ip already present in nfs export access
func (*APIError) HostAlreadyRemovedFromNFSExport ¶ added in v1.1.0
HostAlreadyRemovedFromNFSExport returns true if API error indicate that operation can't be complete because host ip already removed from nfs export access
func (*APIError) HostIsNotAttachedToVolume ¶
HostIsNotAttachedToVolume returns true if API error indicate that host is not attached to volume
func (*APIError) HostIsNotExist ¶
HostIsNotExist returns true if API error indicate that host is not exists
func (*APIError) NotFound ¶ added in v1.5.0
NotFound returns true if API error indicate that volume is not exists
func (*APIError) ReplicationSessionAlreadyCreated ¶ added in v1.16.0
ReplicationSessionAlreadyCreated returns true if API error indicate that replication session has already been created
func (*APIError) SnapshotNameIsAlreadyUse ¶
SnapshotNameIsAlreadyUse returns true if API error indicate that snapshot name is already in use
func (*APIError) UnableToFailoverFromDestination ¶ added in v1.5.0
UnableToFailoverFromDestination returns true if API error indicate that operation can't be complete because it is impossible to failover from Destination
func (*APIError) VolumeAlreadyRemovedFromVolumeGroup ¶ added in v1.16.0
VolumeAlreadyRemovedFromVolumeGroup returns true if API error indicate that volume is not part of the volume group
func (*APIError) VolumeAttachedToHost ¶
VolumeAttachedToHost returns true if API error indicate that operation can't be complete because volume is attached to host
func (*APIError) VolumeDetachedFromHost ¶ added in v1.9.0
VolumeDetachedFromHost returns true if API error indicate that volume is detached from host
func (*APIError) VolumeIsNotAttachedToHost ¶ added in v1.2.0
VolumeIsNotAttachedToHost returns true if API error indicate that volume is not attached to host
func (*APIError) VolumeNameIsAlreadyUse ¶
VolumeNameIsAlreadyUse returns true if API error indicate that volume name is already in use
type ActionType ¶ added in v1.5.0
type ActionType string
const ( RsActionFailover ActionType = "failover" RsActionReprotect ActionType = "reprotect" RsActionResume ActionType = "resume" RsActionPause ActionType = "pause" RsActionSync ActionType = "sync" )
type ActiveSessionInstance ¶
type ActiveSessionInstance struct { // Unique identifier of the appliance containing the session. ApplianceID string `json:"appliance_id,omitempty"` // Unique identifier of the bond the initiator is logged into. // Null if one of the following is non-null: veth_id, eth_port_id or fc_port_id. BondID string `json:"bond_id,omitempty"` // Unique identifier of the Ethernet port the initiator is logged into. // Null if one of the following is non-null: bond_id, veth_id or fc_port_id. EthPortID string `json:"eth_port_id,omitempty"` // Unique identifier of the FC port the initiator is logged into. // Null if one of the following is non-null: bond_id, veth_id or eth_port_id FcPortID string `json:"fc_port_id,omitempty"` // Unique identifier of node on the appliance on which active session is create. NodeID string `json:"node_id,omitempty"` // IQN or WWN of the target port that the initiator is logged into. PortName string `json:"port_name,omitempty"` // Unique identifier of the virtual Ethernet port the initiator is logged into. // Null if one of the following is non-null: bond, eth_port_id or fc_port_id. VethID string `json:"veth_id,omitempty"` }
ActiveSessionInstance active session instance
type AppTypeEnum ¶ added in v1.11.0
type AppTypeEnum string
const ( AppTypeEnumRelationDB AppTypeEnum = "Relational_Databases_Other" AppTypeEnumOracle AppTypeEnum = "Relational_Databases_Oracle" AppTypeEnumSQLServer AppTypeEnum = "Relational_Databases_SQL_Server" AppTypeEnumPostgreSQL AppTypeEnum = "Relational_Databases_PostgreSQL" AppTypeEnumMySQL AppTypeEnum = "Relational_Databases_MySQL" AppTypeEnumIBMDB2 AppTypeEnum = "Relational_Databases_IBM_DB2" AppTypeEnumBigData AppTypeEnum = "Big_Data_Analytics_Other" // #nosec G101 AppTypeEnumMongoDB AppTypeEnum = "Big_Data_Analytics_MongoDB" AppTypeEnumCassandra AppTypeEnum = "Big_Data_Analytics_Cassandra" AppTypeEnumSAPHANA AppTypeEnum = "Big_Data_Analytics_SAP_HANA" AppTypeEnumSpark AppTypeEnum = "Big_Data_Analytics_Spark" // #nosec G101 AppTypeEnumSplunk AppTypeEnum = "Big_Data_Analytics_Splunk" AppTypeEnumElasticSearch AppTypeEnum = "Big_Data_Analytics_ElasticSearch" AppTypeEnumExchange AppTypeEnum = "Business_Applications_Exchange" AppTypeEnumRBusinessApplicationsOther AppTypeEnum = "Business_Applications_Other" AppTypeEnumRelationERPSAP AppTypeEnum = "Business_Applications_ERP_SAP" AppTypeEnumCRM AppTypeEnum = "Business_Applications_CRM" AppTypeEnumHealthcareOther AppTypeEnum = "Healthcare_Other" AppTypeEnumEpic AppTypeEnum = "Healthcare_Epic" AppTypeEnumMEDITECH AppTypeEnum = "Healthcare_MEDITECH" AppTypeEnumAllscripts AppTypeEnum = "Healthcare_Allscripts" AppTypeEnumCerner AppTypeEnum = "Healthcare_Cerner" AppTypeEnumVirtualization AppTypeEnum = "Virtualization_Other" AppTypeEnumVirtualServers AppTypeEnum = "Virtualization_Virtual_Servers_VSI" AppTypeEnumContainers AppTypeEnum = "Virtualization_Containers_Kubernetes" AppTypeEnumVirtualDesktops AppTypeEnum = "Virtualization_Virtual_Desktops_VDI" AppTypeEnumRelationOther AppTypeEnum = "Other" )
type ApplianceInstance ¶ added in v1.10.0
type ApplianceInstance struct { // Unique identifier for the Appliance ID string `json:"id"` // Name of the Appliance Name string `json:"name"` // ServiceTag is the service tag attached to the appliance ServiceTag string `json:"service_tag,omitempty"` }
Appliance instance on the array
func (*ApplianceInstance) Fields ¶ added in v1.10.0
func (n *ApplianceInstance) Fields() []string
Fields returns fields which must be requested to fill struct
type ApplianceMetrics ¶ added in v1.1.0
type ApplianceMetrics struct { // Unique identifier of the appliance. ApplianceID string `json:"appliance_id"` // Total amount of space PhysicalTotal int64 `json:"physical_total"` // Amount of space currently used PhysicalUsed int64 `json:"physical_used"` }
ApplianceMetrics is returned by space_metrics_by_appliance metrics request
func (*ApplianceMetrics) Fields ¶ added in v1.1.0
func (h *ApplianceMetrics) Fields() []string
Fields returns fields which must be requested to fill struct
type Client ¶
type Client interface { APIClient() api.Client SetTraceID(ctx context.Context, value string) context.Context SetCustomHTTPHeaders(headers http.Header) GetCustomHTTPHeaders() http.Header GetVolume(ctx context.Context, id string) (Volume, error) GetVolumeByName(ctx context.Context, name string) (Volume, error) GetVolumes(ctx context.Context) ([]Volume, error) CreateVolume(ctx context.Context, createParams *VolumeCreate) (CreateResponse, error) DeleteVolume(ctx context.Context, deleteParams *VolumeDelete, id string) (EmptyResponse, error) GetSnapshotRules(ctx context.Context) ([]SnapshotRule, error) GetSnapshotRule(ctx context.Context, id string) (SnapshotRule, error) GetSnapshotRuleByName(ctx context.Context, name string) (SnapshotRule, error) CreateSnapshotRule(ctx context.Context, createParams *SnapshotRuleCreate) (CreateResponse, error) ModifySnapshotRule(ctx context.Context, modifyParams *SnapshotRuleCreate, id string) (resp EmptyResponse, err error) DeleteSnapshotRule(ctx context.Context, deleteParams *SnapshotRuleDelete, id string) (EmptyResponse, error) DeleteReplicationRule(ctx context.Context, id string) (resp EmptyResponse, err error) DeleteProtectionPolicy(ctx context.Context, id string) (resp EmptyResponse, err error) DeleteVolumeGroup(ctx context.Context, id string) (resp EmptyResponse, err error) GetAppliance(ctx context.Context, id string) (ApplianceInstance, error) GetApplianceByName(ctx context.Context, name string) (ApplianceInstance, error) GetHost(ctx context.Context, id string) (Host, error) GetHostByName(ctx context.Context, name string) (Host, error) GetHosts(ctx context.Context) ([]Host, error) CreateHost(ctx context.Context, createParams *HostCreate) (CreateResponse, error) DeleteHost(ctx context.Context, deleteParams *HostDelete, id string) (EmptyResponse, error) ModifyHost(ctx context.Context, modifyParams *HostModify, id string) (CreateResponse, error) GetHostVolumeMappings(ctx context.Context) ([]HostVolumeMapping, error) GetHostVolumeMapping(ctx context.Context, id string) (HostVolumeMapping, error) GetHostVolumeMappingByVolumeID(ctx context.Context, volumeID string) ([]HostVolumeMapping, error) AttachVolumeToHost(ctx context.Context, hostID string, attachParams *HostVolumeAttach) (EmptyResponse, error) AttachVolumeToHostGroup(ctx context.Context, hostGroupID string, attachParams *HostVolumeAttach) (EmptyResponse, error) DetachVolumeFromHost(ctx context.Context, hostID string, detachParams *HostVolumeDetach) (EmptyResponse, error) DetachVolumeFromHostGroup(ctx context.Context, hostGroupID string, detachParams *HostVolumeDetach) (EmptyResponse, error) GetStorageISCSITargetAddresses(ctx context.Context) ([]IPPoolAddress, error) GetStorageNVMETCPTargetAddresses(ctx context.Context) ([]IPPoolAddress, error) GetCapacity(ctx context.Context) (int64, error) GetFCPorts(ctx context.Context) (resp []FcPort, err error) GetFCPort(ctx context.Context, id string) (resp FcPort, err error) GetSoftwareInstalled(ctx context.Context) (resp []SoftwareInstalled, err error) GetSoftwareMajorMinorVersion(ctx context.Context) (majorVersion float32, err error) SetLogger(logger Logger) CreateSnapshot(ctx context.Context, createSnapParams *SnapshotCreate, id string) (CreateResponse, error) DeleteSnapshot(ctx context.Context, deleteParams *VolumeDelete, id string) (EmptyResponse, error) GetSnapshotsByVolumeID(ctx context.Context, volID string) ([]Volume, error) GetSnapshots(ctx context.Context) ([]Volume, error) GetSnapshot(ctx context.Context, snapID string) (Volume, error) GetSnapshotByName(ctx context.Context, snapName string) (Volume, error) ComputeDifferences(ctx context.Context, snapdiffParams *VolumeComputeDifferences, volID string) (VolumeComputeDifferencesResponse, error) CreateVolumeFromSnapshot(ctx context.Context, createParams *VolumeClone, snapID string) (CreateResponse, error) GetNAS(ctx context.Context, id string) (NAS, error) GetNASByName(ctx context.Context, name string) (NAS, error) GetNfsServer(ctx context.Context, id string) (NFSServerInstance, error) GetFSByName(ctx context.Context, name string) (FileSystem, error) GetFS(ctx context.Context, id string) (FileSystem, error) GetFileInterface(ctx context.Context, id string) (FileInterface, error) GetNFSExportByName(ctx context.Context, name string) (NFSExport, error) GetNFSExportByFileSystemID(ctx context.Context, fsID string) (NFSExport, error) CreateNAS(ctx context.Context, createParams *NASCreate) (CreateResponse, error) DeleteNAS(ctx context.Context, id string) (EmptyResponse, error) CreateFS(ctx context.Context, createParams *FsCreate) (CreateResponse, error) DeleteFS(ctx context.Context, id string) (EmptyResponse, error) CreateNFSExport(ctx context.Context, createParams *NFSExportCreate) (CreateResponse, error) DeleteNFSExport(ctx context.Context, id string) (EmptyResponse, error) ModifyNFSExport(ctx context.Context, modifyParams *NFSExportModify, id string) (CreateResponse, error) CreateNFSServer(ctx context.Context, createParams *NFSServerCreate) (CreateResponse, error) CreateFsSnapshot(ctx context.Context, createSnapParams *SnapshotFSCreate, id string) (CreateResponse, error) DeleteFsSnapshot(ctx context.Context, id string) (EmptyResponse, error) GetFsSnapshotsByVolumeID(ctx context.Context, volID string) ([]FileSystem, error) GetFsSnapshots(ctx context.Context) ([]FileSystem, error) GetFsSnapshot(ctx context.Context, snapID string) (FileSystem, error) CreateFsFromSnapshot(ctx context.Context, createParams *FsClone, snapID string) (CreateResponse, error) CloneVolume(ctx context.Context, createParams *VolumeClone, volID string) (CreateResponse, error) ModifyVolume(ctx context.Context, modifyParams *VolumeModify, volID string) (EmptyResponse, error) ModifyFS(ctx context.Context, modifyParams *FSModify, volID string) (EmptyResponse, error) CloneFS(ctx context.Context, createParams *FsClone, fsID string) (CreateResponse, error) CreateReplicationRule(ctx context.Context, createParams *ReplicationRuleCreate) (CreateResponse, error) ModifyReplicationRule(ctx context.Context, modifyParams *ReplicationRuleModify, id string) (EmptyResponse, error) GetReplicationRule(ctx context.Context, id string) (resp ReplicationRule, err error) GetReplicationRuleByName(ctx context.Context, name string) (ReplicationRule, error) GetReplicationRules(ctx context.Context) ([]ReplicationRule, error) CreateProtectionPolicy(ctx context.Context, createParams *ProtectionPolicyCreate) (CreateResponse, error) ModifyVolumeGroup(ctx context.Context, modifyParams *VolumeGroupModify, id string) (resp EmptyResponse, err error) GetProtectionPolicy(ctx context.Context, id string) (ProtectionPolicy, error) GetProtectionPolicyByName(ctx context.Context, name string) (ProtectionPolicy, error) ModifyProtectionPolicy(ctx context.Context, modifyParams *ProtectionPolicyCreate, id string) (resp EmptyResponse, err error) GetProtectionPolicies(ctx context.Context) ([]ProtectionPolicy, error) GetRemoteSystem(ctx context.Context, id string) (RemoteSystem, error) GetRemoteSystemByName(ctx context.Context, name string) (RemoteSystem, error) GetVolumeGroup(ctx context.Context, id string) (VolumeGroup, error) GetVolumeGroupByName(ctx context.Context, name string) (VolumeGroup, error) GetVolumeGroupsByVolumeID(ctx context.Context, id string) (VolumeGroups, error) GetVolumeGroups(ctx context.Context) ([]VolumeGroup, error) CreateVolumeGroup(ctx context.Context, createParams *VolumeGroupCreate) (CreateResponse, error) CreateVolumeGroupSnapshot(ctx context.Context, volumeGroupID string, createParams *VolumeGroupSnapshotCreate) (resp CreateResponse, err error) ModifyVolumeGroupSnapshot(ctx context.Context, modifyParams *VolumeGroupSnapshotModify, id string) (resp EmptyResponse, err error) UpdateVolumeGroupProtectionPolicy(ctx context.Context, id string, params *VolumeGroupChangePolicy) (resp EmptyResponse, err error) RemoveMembersFromVolumeGroup(ctx context.Context, params *VolumeGroupMembers, id string) (EmptyResponse, error) AddMembersToVolumeGroup(ctx context.Context, params *VolumeGroupMembers, id string) (EmptyResponse, error) GetReplicationSessionByLocalResourceID(ctx context.Context, id string) (ReplicationSession, error) GetAllRemoteSystems(ctx context.Context) (resp []RemoteSystem, err error) GetCluster(ctx context.Context) (Cluster, error) PerformanceMetricsByAppliance(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByApplianceResponse, error) PerformanceMetricsByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByNodeResponse, error) PerformanceMetricsByVolume(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByVolumeResponse, error) VolumeMirrorTransferRate(ctx context.Context, entityID string) ([]VolumeMirrorTransferRateResponse, error) PerformanceMetricsByCluster(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByClusterResponse, error) PerformanceMetricsByVM(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByVMResponse, error) PerformanceMetricsByVg(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByVgResponse, error) PerformanceMetricsByFeFcPort(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByFeFcPortResponse, error) PerformanceMetricsByFeEthPort(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByFeEthPortResponse, error) PerformanceMetricsByFeEthNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByFeEthNodeResponse, error) PerformanceMetricsByFeFcNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByFeFcNodeResponse, error) PerformanceMetricsByFileSystem(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByFileSystemResponse, error) WearMetricsByDrive(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]WearMetricsByDriveResponse, error) SpaceMetricsByCluster(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]SpaceMetricsByClusterResponse, error) SpaceMetricsByAppliance(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]SpaceMetricsByApplianceResponse, error) SpaceMetricsByVolume(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]SpaceMetricsByVolumeResponse, error) SpaceMetricsByVolumeFamily(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]SpaceMetricsByVolumeFamilyResponse, error) SpaceMetricsByVM(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]SpaceMetricsByVMResponse, error) SpaceMetricsByStorageContainer(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]SpaceMetricsByStorageContainerResponse, error) SpaceMetricsByVolumeGroup(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]SpaceMetricsByVolumeGroupResponse, error) CopyMetricsByAppliance(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]CopyMetricsByApplianceResponse, error) CopyMetricsByCluster(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]CopyMetricsByClusterResponse, error) CopyMetricsByVolumeGroup(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]CopyMetricsByVolumeGroupResponse, error) CopyMetricsByRemoteSystem(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]CopyMetricsByRemoteSystemResponse, error) CopyMetricsByVolume(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]CopyMetricsByVolumeResponse, error) PerformanceMetricsSmbByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsBySmbNodeResponse, error) PerformanceMetricsSmbBuiltinclientByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsBySmbClientResponse, error) PerformanceMetricsSmbBranchCacheByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsBySmbCacheResponse, error) PerformanceMetricsSmb1ByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsBySmbV1NodeResponse, error) PerformanceMetricsSmb1BuiltinclientByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsBySmbV1BuiltinClientResponse, error) PerformanceMetricsSmb2ByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsBySmbV2NodeResponse, error) PerformanceMetricsSmb2BuiltinclientByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsBySmbV2BuiltinClientResponse, error) PerformanceMetricsNfsByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByNfsResponse, error) PerformanceMetricsNfsv3ByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByNfsv3Response, error) PerformanceMetricsNfsv4ByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByNfsv4Response, error) ExecuteActionOnReplicationSession(ctx context.Context, id string, actionType ActionType, params *FailoverParams) (resp EmptyResponse, err error) GetReplicationSessionByID(ctx context.Context, id string) (resp ReplicationSession, err error) CreateStorageContainer(ctx context.Context, createParams *StorageContainer) (CreateResponse, error) DeleteStorageContainer(ctx context.Context, id string) (EmptyResponse, error) GetStorageContainer(ctx context.Context, id string) (StorageContainer, error) ModifyStorageContainer(ctx context.Context, modifyParams *StorageContainer, id string) (EmptyResponse, error) CreateHostGroup(ctx context.Context, createParams *HostGroupCreate) (CreateResponse, error) GetHostGroup(ctx context.Context, id string) (HostGroup, error) GetHostGroups(ctx context.Context) ([]HostGroup, error) GetHostGroupByName(ctx context.Context, name string) (HostGroup, error) DeleteHostGroup(ctx context.Context, id string) (EmptyResponse, error) ModifyHostGroup(ctx context.Context, modifyParams *HostGroupModify, id string) (EmptyResponse, error) GetVolumeGroupSnapshot(ctx context.Context, snapID string) (VolumeGroup, error) GetVolumeGroupSnapshots(ctx context.Context) ([]VolumeGroup, error) GetVolumeGroupSnapshotByName(ctx context.Context, snapName string) (VolumeGroup, error) GetMaxVolumeSize(ctx context.Context) (int64, error) ConfigureMetroVolume(ctx context.Context, id string, config *MetroConfig) (resp MetroSessionResponse, err error) ConfigureMetroVolumeGroup(ctx context.Context, id string, config *MetroConfig) (resp MetroSessionResponse, err error) EndMetroVolume(ctx context.Context, id string, options *EndMetroVolumeOptions) (resp EmptyResponse, err error) EndMetroVolumeGroup(ctx context.Context, id string, options *EndMetroVolumeGroupOptions) (resp EmptyResponse, err error) }
ApiClient defines gopowerstore client interface
func NewClientWithArgs ¶
func NewClientWithArgs( apiURL string, username, password string, options *ClientOptions, ) (Client, error)
NewClientWithArgs returns new PowerStore API client initialized from args
type ClientIMPL ¶
ClientIMPL provides basic API client implementation
func (*ClientIMPL) APIClient ¶
func (c *ClientIMPL) APIClient() api.Client
APIClient method returns powerstore API client may be useful for doing raw API requests
func (*ClientIMPL) AddMembersToVolumeGroup ¶ added in v1.8.0
func (c *ClientIMPL) AddMembersToVolumeGroup(ctx context.Context, params *VolumeGroupMembers, id string, ) (resp EmptyResponse, err error)
func (*ClientIMPL) AttachVolumeToHost ¶
func (c *ClientIMPL) AttachVolumeToHost( ctx context.Context, hostID string, attachParams *HostVolumeAttach, ) (resp EmptyResponse, err error)
AttachVolumeToHost attaches volume to host
func (*ClientIMPL) AttachVolumeToHostGroup ¶ added in v1.10.0
func (c *ClientIMPL) AttachVolumeToHostGroup( ctx context.Context, hostGroupID string, attachParams *HostVolumeAttach, ) (resp EmptyResponse, err error)
AttachVolumeToHost attaches volume to hostGroup
func (*ClientIMPL) CloneFS ¶ added in v1.1.0
func (c *ClientIMPL) CloneFS(ctx context.Context, createParams *FsClone, fsID string, ) (resp CreateResponse, err error)
CloneFS creates a new fs by cloning a existing fs
func (*ClientIMPL) CloneVolume ¶ added in v1.1.0
func (c *ClientIMPL) CloneVolume(ctx context.Context, createParams *VolumeClone, volID string, ) (resp CreateResponse, err error)
CloneVolume creates a new volume by cloning a snapshot
func (*ClientIMPL) ComputeDifferences ¶ added in v1.5.0
func (c *ClientIMPL) ComputeDifferences(ctx context.Context, computeDiffParams *VolumeComputeDifferences, volID string, ) (resp VolumeComputeDifferencesResponse, err error)
ComputeDifferences a) finds allocated nonzero blocks or b) computes differences between two snapshots from the same volume
func (*ClientIMPL) ConfigureMetroVolume ¶ added in v1.16.0
func (c *ClientIMPL) ConfigureMetroVolume(ctx context.Context, id string, config *MetroConfig) (resp MetroSessionResponse, err error)
ConfigureMetroVolume configures the given volume, id, for metro replication with the remote PowerStore system and optional remote PowerStore appliance provided in config. Returns the metro replication session ID and any errors.
func (*ClientIMPL) ConfigureMetroVolumeGroup ¶ added in v1.16.0
func (c *ClientIMPL) ConfigureMetroVolumeGroup(ctx context.Context, id string, config *MetroConfig) (session MetroSessionResponse, err error)
ConfigureMetroVolumeGroup configures the volume group provided by id for metro replication using the configuration supplied by config and returns a MetroSessionResponse containing a replication session ID.
func (*ClientIMPL) CopyMetricsByAppliance ¶ added in v1.3.0
func (c *ClientIMPL) CopyMetricsByAppliance(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]CopyMetricsByApplianceResponse, error)
CopyMetricsByAppliance returns the Appliance copy metrics
func (*ClientIMPL) CopyMetricsByCluster ¶ added in v1.3.0
func (c *ClientIMPL) CopyMetricsByCluster(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]CopyMetricsByClusterResponse, error)
CopyMetricsByCluster returns the Cluster copy metrics
func (*ClientIMPL) CopyMetricsByRemoteSystem ¶ added in v1.3.0
func (c *ClientIMPL) CopyMetricsByRemoteSystem(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]CopyMetricsByRemoteSystemResponse, error)
CopyMetricsByRemoteSystem returns the Copy metrics for each remote system
func (*ClientIMPL) CopyMetricsByVolume ¶ added in v1.3.0
func (c *ClientIMPL) CopyMetricsByVolume(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]CopyMetricsByVolumeResponse, error)
CopyMetricsByVolume returns the Copy metrics for each remote system
func (*ClientIMPL) CopyMetricsByVolumeGroup ¶ added in v1.3.0
func (c *ClientIMPL) CopyMetricsByVolumeGroup(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]CopyMetricsByVolumeGroupResponse, error)
CopyMetricsByVolumeGroup returns the Copy metrics for each volume group
func (*ClientIMPL) CreateFS ¶ added in v1.1.0
func (c *ClientIMPL) CreateFS(ctx context.Context, createParams *FsCreate) (resp CreateResponse, err error)
CreateFS creates new filesystem on storage array
func (*ClientIMPL) CreateFsFromSnapshot ¶ added in v1.1.0
func (c *ClientIMPL) CreateFsFromSnapshot(ctx context.Context, createParams *FsClone, snapID string, ) (resp CreateResponse, err error)
CreateFsFromSnapshot creates a new fs by cloning a snapshot
func (*ClientIMPL) CreateFsSnapshot ¶ added in v1.1.0
func (c *ClientIMPL) CreateFsSnapshot(ctx context.Context, createSnapFSParams *SnapshotFSCreate, id string, ) (resp CreateResponse, err error)
CreateSnapshot creates a new snapshot
func (*ClientIMPL) CreateHost ¶
func (c *ClientIMPL) CreateHost(ctx context.Context, createParams *HostCreate) (resp CreateResponse, err error)
CreateHost register new host
func (*ClientIMPL) CreateHostGroup ¶ added in v1.12.0
func (c *ClientIMPL) CreateHostGroup(ctx context.Context, createParams *HostGroupCreate, ) (resp CreateResponse, err error)
CreateHostGroup creates new host group
func (*ClientIMPL) CreateNAS ¶ added in v1.1.0
func (c *ClientIMPL) CreateNAS(ctx context.Context, createParams *NASCreate) (resp CreateResponse, err error)
CreateNAS creates new NAS on storage array
func (*ClientIMPL) CreateNFSExport ¶ added in v1.1.0
func (c *ClientIMPL) CreateNFSExport(ctx context.Context, createParams *NFSExportCreate) (resp CreateResponse, err error)
CreateNFSExport creates new NFS export on storage array
func (*ClientIMPL) CreateNFSServer ¶ added in v1.1.0
func (c *ClientIMPL) CreateNFSServer(ctx context.Context, createParams *NFSServerCreate, ) (resp CreateResponse, err error)
CreateNFSServer creates new NFS server on storage array
func (*ClientIMPL) CreateProtectionPolicy ¶ added in v1.4.0
func (c *ClientIMPL) CreateProtectionPolicy(ctx context.Context, createParams *ProtectionPolicyCreate, ) (resp CreateResponse, err error)
CreateProtectionPolicy creates new protection policy
func (*ClientIMPL) CreateReplicationRule ¶ added in v1.4.0
func (c *ClientIMPL) CreateReplicationRule(ctx context.Context, createParams *ReplicationRuleCreate, ) (resp CreateResponse, err error)
CreateReplicationRule creates new replication rule
func (*ClientIMPL) CreateSnapshot ¶
func (c *ClientIMPL) CreateSnapshot(ctx context.Context, createSnapParams *SnapshotCreate, id string, ) (resp CreateResponse, err error)
CreateSnapshot creates a new snapshot
func (*ClientIMPL) CreateSnapshotRule ¶ added in v1.10.0
func (c *ClientIMPL) CreateSnapshotRule(ctx context.Context, createParams *SnapshotRuleCreate, ) (resp CreateResponse, err error)
CreateSnapshotRule creates new snapshot rule
func (*ClientIMPL) CreateStorageContainer ¶ added in v1.11.0
func (c *ClientIMPL) CreateStorageContainer(ctx context.Context, createParams *StorageContainer, ) (resp CreateResponse, err error)
CreateStorageContainer creates new StorageContainer
func (*ClientIMPL) CreateVolume ¶
func (c *ClientIMPL) CreateVolume(ctx context.Context, createParams *VolumeCreate, ) (resp CreateResponse, err error)
CreateVolume creates new volume
func (*ClientIMPL) CreateVolumeFromSnapshot ¶
func (c *ClientIMPL) CreateVolumeFromSnapshot(ctx context.Context, createParams *VolumeClone, snapID string, ) (resp CreateResponse, err error)
CreateVolumeFromSnapshot creates a new volume by cloning a snapshot
func (*ClientIMPL) CreateVolumeGroup ¶ added in v1.4.0
func (c *ClientIMPL) CreateVolumeGroup(ctx context.Context, createParams *VolumeGroupCreate, ) (resp CreateResponse, err error)
CreateVolumeGroup creates new volume group
func (*ClientIMPL) CreateVolumeGroupSnapshot ¶ added in v1.8.0
func (c *ClientIMPL) CreateVolumeGroupSnapshot(ctx context.Context, volumeGroupID string, createParams *VolumeGroupSnapshotCreate, ) (resp CreateResponse, err error)
CreateVolumeGroupSnapshot Creates a new volume group snapshot from the existing volume group
func (*ClientIMPL) DeleteFS ¶ added in v1.1.0
func (c *ClientIMPL) DeleteFS(ctx context.Context, id string) (resp EmptyResponse, err error)
DeleteFS deletes existing filesystem
func (*ClientIMPL) DeleteFsSnapshot ¶ added in v1.1.0
func (c *ClientIMPL) DeleteFsSnapshot(ctx context.Context, id string) (resp EmptyResponse, err error)
DeleteFsSnapshot is an alias for delete filesystem, because snapshots are essentially just filesystems
func (*ClientIMPL) DeleteHost ¶
func (c *ClientIMPL) DeleteHost(ctx context.Context, deleteParams *HostDelete, id string, ) (resp EmptyResponse, err error)
DeleteHost removes host registration
func (*ClientIMPL) DeleteHostGroup ¶ added in v1.12.0
func (c *ClientIMPL) DeleteHostGroup(ctx context.Context, id string) (resp EmptyResponse, err error)
DeleteHostGroup deletes existing Host Group
func (*ClientIMPL) DeleteNAS ¶ added in v1.1.0
func (c *ClientIMPL) DeleteNAS(ctx context.Context, id string) (resp EmptyResponse, err error)
DeleteNAS deletes existing NAS
func (*ClientIMPL) DeleteNFSExport ¶ added in v1.1.0
func (c *ClientIMPL) DeleteNFSExport(ctx context.Context, id string) (resp EmptyResponse, err error)
DeleteNFSExport deletes existing NFS export from storage array
func (*ClientIMPL) DeleteProtectionPolicy ¶ added in v1.4.0
func (c *ClientIMPL) DeleteProtectionPolicy(ctx context.Context, id string) (resp EmptyResponse, err error)
DeleteProtectionPolicy deletes existing PP
func (*ClientIMPL) DeleteReplicationRule ¶ added in v1.4.0
func (c *ClientIMPL) DeleteReplicationRule(ctx context.Context, id string) (resp EmptyResponse, err error)
DeleteReplicationRule deletes existing RR
func (*ClientIMPL) DeleteSnapshot ¶
func (c *ClientIMPL) DeleteSnapshot(ctx context.Context, deleteParams *VolumeDelete, id string, ) (resp EmptyResponse, err error)
DeleteSnapshot is an alias for delete volume, because snapshots are essentially -- volumes
func (*ClientIMPL) DeleteSnapshotRule ¶ added in v1.10.0
func (c *ClientIMPL) DeleteSnapshotRule(ctx context.Context, deleteParams *SnapshotRuleDelete, id string, ) (resp EmptyResponse, err error)
DeleteSnapshotRule deletes existing snapshot rule
func (*ClientIMPL) DeleteStorageContainer ¶ added in v1.11.0
func (c *ClientIMPL) DeleteStorageContainer(ctx context.Context, id string) (resp EmptyResponse, err error)
DeleteStorageContainer deletes existing StorageContainer
func (*ClientIMPL) DeleteVolume ¶
func (c *ClientIMPL) DeleteVolume(ctx context.Context, deleteParams *VolumeDelete, id string, ) (resp EmptyResponse, err error)
DeleteVolume deletes existing volume
func (*ClientIMPL) DeleteVolumeGroup ¶ added in v1.4.0
func (c *ClientIMPL) DeleteVolumeGroup(ctx context.Context, id string) (resp EmptyResponse, err error)
DeleteVolumeGroup deletes existing VG
func (*ClientIMPL) DetachVolumeFromHost ¶
func (c *ClientIMPL) DetachVolumeFromHost( ctx context.Context, hostID string, detachParams *HostVolumeDetach, ) (resp EmptyResponse, err error)
DetachVolumeFromHost detaches volume to host
func (*ClientIMPL) DetachVolumeFromHostGroup ¶ added in v1.10.0
func (c *ClientIMPL) DetachVolumeFromHostGroup( ctx context.Context, hostGroupID string, detachParams *HostVolumeDetach, ) (resp EmptyResponse, err error)
DetachVolumeFromHost detaches volume to hostGroup
func (*ClientIMPL) EndMetroVolume ¶ added in v1.16.0
func (c *ClientIMPL) EndMetroVolume(ctx context.Context, id string, deleteOpts *EndMetroVolumeOptions) (resp EmptyResponse, err error)
EndMetroVolume ends the metro session for a volume, id, between two PowerStore systems. deleteOpts provides options to delete the replicated volume on the remote system and whether or not to force the session removal.
func (*ClientIMPL) EndMetroVolumeGroup ¶ added in v1.16.0
func (c *ClientIMPL) EndMetroVolumeGroup(ctx context.Context, id string, options *EndMetroVolumeGroupOptions) (resp EmptyResponse, err error)
EndMetroVolumeGroup ends a metro configuration from a volume group and keeps both volume groups by default. The local copy will retain its SCSI Identities while the remote volume group members will get new SCSI Identities if kept.
func (*ClientIMPL) ExecuteActionOnReplicationSession ¶ added in v1.5.0
func (c *ClientIMPL) ExecuteActionOnReplicationSession(ctx context.Context, id string, actionType ActionType, params *FailoverParams) (resp EmptyResponse, err error)
func (*ClientIMPL) GetAllRemoteSystems ¶ added in v1.4.0
func (c *ClientIMPL) GetAllRemoteSystems(ctx context.Context) (resp []RemoteSystem, err error)
Queries all Remote Systems
func (*ClientIMPL) GetAppliance ¶ added in v1.10.0
func (c *ClientIMPL) GetAppliance(ctx context.Context, id string) (resp ApplianceInstance, err error)
GetAppliance query and return specific appliance by ID
func (*ClientIMPL) GetApplianceByName ¶ added in v1.10.0
func (c *ClientIMPL) GetApplianceByName(ctx context.Context, name string) (resp ApplianceInstance, err error)
GetApplianceByName query and return specific appliance by name
func (*ClientIMPL) GetCapacity ¶
func (c *ClientIMPL) GetCapacity(ctx context.Context) (int64, error)
GetCapacity return capacity of first appliance
func (*ClientIMPL) GetCluster ¶ added in v1.4.0
func (c *ClientIMPL) GetCluster(ctx context.Context) (resp Cluster, err error)
GetCluster returns info about first cluster found
func (*ClientIMPL) GetCustomHTTPHeaders ¶ added in v1.8.0
func (c *ClientIMPL) GetCustomHTTPHeaders() http.Header
func (*ClientIMPL) GetFCPorts ¶
func (c *ClientIMPL) GetFCPorts( ctx context.Context, ) (resp []FcPort, err error)
GetFCPorts returns a list of fc ports for array
func (*ClientIMPL) GetFS ¶ added in v1.1.0
func (c *ClientIMPL) GetFS(ctx context.Context, id string) (resp FileSystem, err error)
GetFS query and return specific fs by id
func (*ClientIMPL) GetFSByName ¶ added in v1.1.0
func (c *ClientIMPL) GetFSByName(ctx context.Context, name string) (resp FileSystem, err error)
GetFSByName query and return specific FS by name
func (*ClientIMPL) GetFileInterface ¶ added in v1.1.0
func (c *ClientIMPL) GetFileInterface(ctx context.Context, id string) (resp FileInterface, err error)
GetFileInterface returns FileInterface from storage array by id
func (*ClientIMPL) GetFsSnapshot ¶ added in v1.1.0
func (c *ClientIMPL) GetFsSnapshot(ctx context.Context, snapID string) (resVol FileSystem, err error)
GetFsSnapshot query and return specific fs snapshot by it's id
func (*ClientIMPL) GetFsSnapshots ¶ added in v1.1.0
func (c *ClientIMPL) GetFsSnapshots(ctx context.Context) ([]FileSystem, error)
GetFsSnapshots returns all fs snapshots
func (*ClientIMPL) GetFsSnapshotsByVolumeID ¶ added in v1.1.0
func (c *ClientIMPL) GetFsSnapshotsByVolumeID(ctx context.Context, volID string) ([]FileSystem, error)
GetFsSnapshotsByVolumeID returns a list of fs snapshots for specific volume
func (*ClientIMPL) GetHostByName ¶
GetHostByName get host by name
func (*ClientIMPL) GetHostGroup ¶ added in v1.12.0
GetHostGroup query and return specific host group id
func (*ClientIMPL) GetHostGroupByName ¶ added in v1.11.0
func (c *ClientIMPL) GetHostGroupByName(ctx context.Context, name string) (resp HostGroup, err error)
GetHostGroupByName get host by name
func (*ClientIMPL) GetHostGroups ¶ added in v1.12.0
func (c *ClientIMPL) GetHostGroups(ctx context.Context) ([]HostGroup, error)
GetHostGroups returns a list of host groups
func (*ClientIMPL) GetHostVolumeMapping ¶
func (c *ClientIMPL) GetHostVolumeMapping(ctx context.Context, id string) (resp HostVolumeMapping, err error)
GetHostVolumeMapping returns volume mapping by id
func (*ClientIMPL) GetHostVolumeMappingByVolumeID ¶
func (c *ClientIMPL) GetHostVolumeMappingByVolumeID( ctx context.Context, volumeID string, ) (resp []HostVolumeMapping, err error)
GetHostVolumeMappingByVolumeID returns volume mapping by volumeID
func (*ClientIMPL) GetHostVolumeMappings ¶
func (c *ClientIMPL) GetHostVolumeMappings(ctx context.Context) (resp []HostVolumeMapping, err error)
GetHostVolumeMappings returns volume mapping
func (*ClientIMPL) GetHosts ¶
func (c *ClientIMPL) GetHosts(ctx context.Context) (resp []Host, err error)
GetHosts returns hosts list
func (*ClientIMPL) GetMaxVolumeSize ¶ added in v1.14.0
func (c *ClientIMPL) GetMaxVolumeSize(ctx context.Context) (int64, error)
GetMaxVolumeSize - Returns the max size of a volume supported by the array
func (*ClientIMPL) GetNASByName ¶ added in v1.1.0
GetNASByName query and return specific NAS by name
func (*ClientIMPL) GetNFSExportByFileSystemID ¶ added in v1.1.0
func (c *ClientIMPL) GetNFSExportByFileSystemID(ctx context.Context, fsID string) (resp NFSExport, err error)
GetNFSExportByName query and return specific NFS export by its filesystems name
func (*ClientIMPL) GetNFSExportByName ¶ added in v1.1.0
func (c *ClientIMPL) GetNFSExportByName(ctx context.Context, name string) (resp NFSExport, err error)
GetNFSExportByName query and return specific NFS export by name
func (*ClientIMPL) GetNfsServer ¶ added in v1.7.0
func (c *ClientIMPL) GetNfsServer(ctx context.Context, id string) (resp NFSServerInstance, err error)
GetNfsServer query and return specified NFS server instance by id
func (*ClientIMPL) GetProtectionPolicies ¶ added in v1.12.0
func (c *ClientIMPL) GetProtectionPolicies(ctx context.Context) ([]ProtectionPolicy, error)
GetProtectionPolicies returns a list of protection policies
func (*ClientIMPL) GetProtectionPolicy ¶ added in v1.11.0
func (c *ClientIMPL) GetProtectionPolicy(ctx context.Context, id string) (resp ProtectionPolicy, err error)
GetProtectionPolicy query and return specific protection policy id
func (*ClientIMPL) GetProtectionPolicyByName ¶ added in v1.4.0
func (c *ClientIMPL) GetProtectionPolicyByName(ctx context.Context, policyName string, ) (resp ProtectionPolicy, err error)
func (*ClientIMPL) GetRemoteSystem ¶ added in v1.4.0
func (c *ClientIMPL) GetRemoteSystem(ctx context.Context, id string) (resp RemoteSystem, err error)
GetRemoteSystem query and return specific remote system by id
func (*ClientIMPL) GetRemoteSystemByName ¶ added in v1.4.0
func (c *ClientIMPL) GetRemoteSystemByName(ctx context.Context, name string) (resp RemoteSystem, err error)
GetRemoteSystemByName query and return specific remote system by name
func (*ClientIMPL) GetReplicationRule ¶ added in v1.11.0
func (c *ClientIMPL) GetReplicationRule(ctx context.Context, id string) (resp ReplicationRule, err error)
GetReplicationRule query and return specific replication rule by id
func (*ClientIMPL) GetReplicationRuleByName ¶ added in v1.4.0
func (c *ClientIMPL) GetReplicationRuleByName(ctx context.Context, ruleName string, ) (resp ReplicationRule, err error)
func (*ClientIMPL) GetReplicationRules ¶ added in v1.17.0
func (c *ClientIMPL) GetReplicationRules(ctx context.Context) ([]ReplicationRule, error)
GetReplicationRules returns a list of replication rules
func (*ClientIMPL) GetReplicationSessionByID ¶ added in v1.5.0
func (c *ClientIMPL) GetReplicationSessionByID(ctx context.Context, id string) (resp ReplicationSession, err error)
func (*ClientIMPL) GetReplicationSessionByLocalResourceID ¶ added in v1.4.0
func (c *ClientIMPL) GetReplicationSessionByLocalResourceID(ctx context.Context, id string) (resp ReplicationSession, err error)
func (*ClientIMPL) GetSnapshot ¶
GetSnapshot query and return specific snapshot by it's id
func (*ClientIMPL) GetSnapshotByName ¶ added in v1.12.0
func (c *ClientIMPL) GetSnapshotByName(ctx context.Context, snapName string) (resVol Volume, err error)
GetSnapshotByName query and return specific snapshot by name
func (*ClientIMPL) GetSnapshotRule ¶ added in v1.10.0
func (c *ClientIMPL) GetSnapshotRule(ctx context.Context, id string) (resp SnapshotRule, err error)
GetSnapshotRule query and return specific snapshot rule by id
func (*ClientIMPL) GetSnapshotRuleByName ¶ added in v1.11.0
func (c *ClientIMPL) GetSnapshotRuleByName(ctx context.Context, name string) (resp SnapshotRule, err error)
func (*ClientIMPL) GetSnapshotRules ¶ added in v1.10.0
func (c *ClientIMPL) GetSnapshotRules(ctx context.Context) ([]SnapshotRule, error)
GetSnapshotRules returns a list of snapshot rules
func (*ClientIMPL) GetSnapshots ¶
func (c *ClientIMPL) GetSnapshots(ctx context.Context) ([]Volume, error)
GetSnapshots returns all snapshots
func (*ClientIMPL) GetSnapshotsByVolumeID ¶
GetSnapshotsByVolumeID returns a list of snapshots for specific volume
func (*ClientIMPL) GetSoftwareInstalled ¶ added in v1.8.0
func (c *ClientIMPL) GetSoftwareInstalled( ctx context.Context, ) (resp []SoftwareInstalled, err error)
GetSoftwareInstalled queries the software packages that are installed on each appliance, or on the cluster as a whole
func (*ClientIMPL) GetSoftwareMajorMinorVersion ¶ added in v1.8.0
func (c *ClientIMPL) GetSoftwareMajorMinorVersion( ctx context.Context, ) (majorMinorVersion float32, err error)
func (*ClientIMPL) GetStorageContainer ¶ added in v1.11.0
func (c *ClientIMPL) GetStorageContainer(ctx context.Context, id string) (resp StorageContainer, err error)
GetStorageContainer get existing StorageContainer with ID
func (*ClientIMPL) GetStorageISCSITargetAddresses ¶
func (c *ClientIMPL) GetStorageISCSITargetAddresses( ctx context.Context, ) (resp []IPPoolAddress, err error)
GetStorageISCSITargetAddresses returns a list of PowerStore iSCSI targets ip addresses
func (*ClientIMPL) GetStorageNVMETCPTargetAddresses ¶ added in v1.14.1
func (c *ClientIMPL) GetStorageNVMETCPTargetAddresses( ctx context.Context, ) (resp []IPPoolAddress, err error)
GetStorageNVMETCPTargetAddresses returns a list of PowerStore NVME/TCP targets ip addresses
func (*ClientIMPL) GetVolumeByName ¶
GetVolumeByName query and return specific volume by name
func (*ClientIMPL) GetVolumeGroup ¶ added in v1.4.0
func (c *ClientIMPL) GetVolumeGroup(ctx context.Context, id string) (resp VolumeGroup, err error)
GetVolumeGroup query and return specific volume group by id
func (*ClientIMPL) GetVolumeGroupByName ¶ added in v1.4.0
func (c *ClientIMPL) GetVolumeGroupByName(ctx context.Context, name string) (resp VolumeGroup, err error)
GetVolumeGroupByName query and return specific volume group by name
func (*ClientIMPL) GetVolumeGroupSnapshot ¶ added in v1.12.0
func (c *ClientIMPL) GetVolumeGroupSnapshot(ctx context.Context, snapID string) (resVol VolumeGroup, err error)
GetVolumeGroupSnapshot query and return specific snapshot by id
func (*ClientIMPL) GetVolumeGroupSnapshotByName ¶ added in v1.12.0
func (c *ClientIMPL) GetVolumeGroupSnapshotByName(ctx context.Context, name string) (resVol VolumeGroup, err error)
GetVolumeGroupSnapshotByName fetches volume group snapshots by name
func (*ClientIMPL) GetVolumeGroupSnapshots ¶ added in v1.12.0
func (c *ClientIMPL) GetVolumeGroupSnapshots(ctx context.Context) ([]VolumeGroup, error)
GetVolumeGroupSnapshots returns all volume group snapshots
func (*ClientIMPL) GetVolumeGroups ¶ added in v1.12.0
func (c *ClientIMPL) GetVolumeGroups(ctx context.Context) ([]VolumeGroup, error)
GetVolumeGroups returns a list of volume groups
func (*ClientIMPL) GetVolumeGroupsByVolumeID ¶ added in v1.4.0
func (c *ClientIMPL) GetVolumeGroupsByVolumeID(ctx context.Context, id string) (resp VolumeGroups, err error)
func (*ClientIMPL) GetVolumes ¶
func (c *ClientIMPL) GetVolumes(ctx context.Context) ([]Volume, error)
GetVolumes returns a list of volumes
func (*ClientIMPL) ModifyFS ¶ added in v1.1.0
func (c *ClientIMPL) ModifyFS(ctx context.Context, modifyParams *FSModify, id string, ) (resp EmptyResponse, err error)
func (*ClientIMPL) ModifyHost ¶
func (c *ClientIMPL) ModifyHost(ctx context.Context, modifyParams *HostModify, id string, ) (resp CreateResponse, err error)
ModifyHost update host info
func (*ClientIMPL) ModifyHostGroup ¶ added in v1.12.0
func (c *ClientIMPL) ModifyHostGroup(ctx context.Context, modifyParams *HostGroupModify, id string, ) (resp EmptyResponse, err error)
func (*ClientIMPL) ModifyNFSExport ¶ added in v1.1.0
func (c *ClientIMPL) ModifyNFSExport(ctx context.Context, modifyParams *NFSExportModify, id string, ) (resp CreateResponse, err error)
ModifyNFSExport patches existing NFS export, adding or removing new hosts
func (*ClientIMPL) ModifyProtectionPolicy ¶ added in v1.11.0
func (c *ClientIMPL) ModifyProtectionPolicy(ctx context.Context, modifyParams *ProtectionPolicyCreate, id string) (resp EmptyResponse, err error)
ModifyProtectionPolicy updates existing protection policy
func (*ClientIMPL) ModifyReplicationRule ¶ added in v1.17.0
func (c *ClientIMPL) ModifyReplicationRule(ctx context.Context, modifyParams *ReplicationRuleModify, id string) (resp EmptyResponse, err error)
ModifyReplicationRule modifies replication rule
func (*ClientIMPL) ModifySnapshotRule ¶ added in v1.10.0
func (c *ClientIMPL) ModifySnapshotRule(ctx context.Context, modifyParams *SnapshotRuleCreate, id string) (resp EmptyResponse, err error)
ModifySnapshotRule updates existing snapshot rule If the snapshot rule is associated with a policy that is currently applied to a storage resource, the modified rule is immediately applied to the associated storage resource.
func (*ClientIMPL) ModifyStorageContainer ¶ added in v1.11.0
func (c *ClientIMPL) ModifyStorageContainer(ctx context.Context, modifyParams *StorageContainer, id string) (resp EmptyResponse, err error)
ModifyStorageContainer updates existing storage container
func (*ClientIMPL) ModifyVolume ¶ added in v1.1.0
func (c *ClientIMPL) ModifyVolume(ctx context.Context, modifyParams *VolumeModify, volID string, ) (resp EmptyResponse, err error)
ModifyVolume changes some volumes properties. Used for volume expansion
func (*ClientIMPL) ModifyVolumeGroup ¶ added in v1.4.0
func (c *ClientIMPL) ModifyVolumeGroup(ctx context.Context, modifyParams *VolumeGroupModify, id string, ) (resp EmptyResponse, err error)
func (*ClientIMPL) ModifyVolumeGroupSnapshot ¶ added in v1.15.0
func (c *ClientIMPL) ModifyVolumeGroupSnapshot(ctx context.Context, modifyParams *VolumeGroupSnapshotModify, id string, ) (resp EmptyResponse, err error)
ModifyVolumeGroup modifies existing volume group snapshot
func (*ClientIMPL) PerformanceMetricsByAppliance ¶ added in v1.3.0
func (c *ClientIMPL) PerformanceMetricsByAppliance(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByApplianceResponse, error)
PerformanceMetricsByAppliance - Appliance performance metrics
func (*ClientIMPL) PerformanceMetricsByCluster ¶ added in v1.3.0
func (c *ClientIMPL) PerformanceMetricsByCluster(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByClusterResponse, error)
PerformanceMetricsByCluster - Cluster performance metrics
func (*ClientIMPL) PerformanceMetricsByFeEthNode ¶ added in v1.3.0
func (c *ClientIMPL) PerformanceMetricsByFeEthNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByFeEthNodeResponse, error)
PerformanceMetricsByFeEthNode - Frontend ethernet performance metrics for node
func (*ClientIMPL) PerformanceMetricsByFeEthPort ¶ added in v1.3.0
func (c *ClientIMPL) PerformanceMetricsByFeEthPort(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByFeEthPortResponse, error)
PerformanceMetricsByFeEthPort - Frontend ethernet port performance metrics
func (*ClientIMPL) PerformanceMetricsByFeFcNode ¶ added in v1.3.0
func (c *ClientIMPL) PerformanceMetricsByFeFcNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByFeFcNodeResponse, error)
PerformanceMetricsByFeFcNode - Frontend fibre channel performance metrics for node
func (*ClientIMPL) PerformanceMetricsByFeFcPort ¶ added in v1.3.0
func (c *ClientIMPL) PerformanceMetricsByFeFcPort(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByFeFcPortResponse, error)
PerformanceMetricsByFeFcPort - Frontend fibre channel port performance metrics
func (*ClientIMPL) PerformanceMetricsByFileSystem ¶ added in v1.3.0
func (c *ClientIMPL) PerformanceMetricsByFileSystem(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByFileSystemResponse, error)
PerformanceMetricsByFileSystem - Performance metrics for the file system
func (*ClientIMPL) PerformanceMetricsByNode ¶ added in v1.3.0
func (c *ClientIMPL) PerformanceMetricsByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByNodeResponse, error)
PerformanceMetricsByNode - Node performance metrics
func (*ClientIMPL) PerformanceMetricsByVM ¶ added in v1.3.0
func (c *ClientIMPL) PerformanceMetricsByVM(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByVMResponse, error)
PerformanceMetricsByVM - Virtual Machine performance metrics
func (*ClientIMPL) PerformanceMetricsByVg ¶ added in v1.3.0
func (c *ClientIMPL) PerformanceMetricsByVg(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByVgResponse, error)
PerformanceMetricsByVg - Storage performance metrics for all volumes in a volume group
func (*ClientIMPL) PerformanceMetricsByVolume ¶ added in v1.3.0
func (c *ClientIMPL) PerformanceMetricsByVolume(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByVolumeResponse, error)
PerformanceMetricsByVolume - Volume performance metrics
func (*ClientIMPL) PerformanceMetricsNfsByNode ¶ added in v1.3.0
func (c *ClientIMPL) PerformanceMetricsNfsByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByNfsResponse, error)
PerformanceMetricsNfsByNode - Performance metrics for the NFS protocol
func (*ClientIMPL) PerformanceMetricsNfsv3ByNode ¶ added in v1.3.0
func (c *ClientIMPL) PerformanceMetricsNfsv3ByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByNfsv3Response, error)
PerformanceMetricsNfsv3ByNode - Performance metrics for the NFSv3 protocol
func (*ClientIMPL) PerformanceMetricsNfsv4ByNode ¶ added in v1.3.0
func (c *ClientIMPL) PerformanceMetricsNfsv4ByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsByNfsv4Response, error)
PerformanceMetricsNfsv4ByNode - Performance metrics for the NFSv4 protocol
func (*ClientIMPL) PerformanceMetricsSmb1BuiltinclientByNode ¶ added in v1.3.0
func (c *ClientIMPL) PerformanceMetricsSmb1BuiltinclientByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsBySmbV1BuiltinClientResponse, error)
PerformanceMetricsSmb1BuiltinclientByNode - Performance metrics for the SMB1 protocol built-in client
func (*ClientIMPL) PerformanceMetricsSmb1ByNode ¶ added in v1.3.0
func (c *ClientIMPL) PerformanceMetricsSmb1ByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsBySmbV1NodeResponse, error)
PerformanceMetricsSmb1ByNode - Performance metrics for the SMB1 protocol basic
func (*ClientIMPL) PerformanceMetricsSmb2BuiltinclientByNode ¶ added in v1.3.0
func (c *ClientIMPL) PerformanceMetricsSmb2BuiltinclientByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsBySmbV2BuiltinClientResponse, error)
PerformanceMetricsSmb2BuiltinclientByNode - Performance metrics for the SMB2 protocol built-in client
func (*ClientIMPL) PerformanceMetricsSmb2ByNode ¶ added in v1.3.0
func (c *ClientIMPL) PerformanceMetricsSmb2ByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsBySmbV2NodeResponse, error)
PerformanceMetricsSmb2ByNode - Performance metrics for the SMB2 protocol basic
func (*ClientIMPL) PerformanceMetricsSmbBranchCacheByNode ¶ added in v1.3.0
func (c *ClientIMPL) PerformanceMetricsSmbBranchCacheByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsBySmbCacheResponse, error)
PerformanceMetricsSmbBranchCacheByNode - Performance metrics for the SMB protocol Branch-Cache
func (*ClientIMPL) PerformanceMetricsSmbBuiltinclientByNode ¶ added in v1.3.0
func (c *ClientIMPL) PerformanceMetricsSmbBuiltinclientByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsBySmbClientResponse, error)
PerformanceMetricsSmbBuiltinclientByNode - Performance metrics for the SMB protocol built-in client
func (*ClientIMPL) PerformanceMetricsSmbByNode ¶ added in v1.3.0
func (c *ClientIMPL) PerformanceMetricsSmbByNode(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]PerformanceMetricsBySmbNodeResponse, error)
PerformanceMetricsSmbByNode - Performance metrics for the SMB protocol global
func (*ClientIMPL) RemoveMembersFromVolumeGroup ¶ added in v1.4.0
func (c *ClientIMPL) RemoveMembersFromVolumeGroup(ctx context.Context, params *VolumeGroupMembers, id string, ) (resp EmptyResponse, err error)
func (*ClientIMPL) SetCustomHTTPHeaders ¶
func (c *ClientIMPL) SetCustomHTTPHeaders(headers http.Header)
SetCustomHTTPHeaders method register headers which will be sent with every request
func (*ClientIMPL) SetLogger ¶
func (c *ClientIMPL) SetLogger(logger Logger)
SetLogger set logger which will be used by client
func (*ClientIMPL) SetTraceID ¶
SetTraceID method allows to set tracing ID to context which will be used in log messages
func (*ClientIMPL) SpaceMetricsByAppliance ¶ added in v1.3.0
func (c *ClientIMPL) SpaceMetricsByAppliance(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]SpaceMetricsByApplianceResponse, error)
SpaceMetricsByAppliance returns the Appliance space metrics
func (*ClientIMPL) SpaceMetricsByCluster ¶ added in v1.3.0
func (c *ClientIMPL) SpaceMetricsByCluster(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]SpaceMetricsByClusterResponse, error)
SpaceMetricsByCluster returns the Cluster space metrics
func (*ClientIMPL) SpaceMetricsByStorageContainer ¶ added in v1.3.0
func (c *ClientIMPL) SpaceMetricsByStorageContainer(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]SpaceMetricsByStorageContainerResponse, error)
SpaceMetricsByStorageContainer returns the Storage Container space metrics
func (*ClientIMPL) SpaceMetricsByVM ¶ added in v1.3.0
func (c *ClientIMPL) SpaceMetricsByVM(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]SpaceMetricsByVMResponse, error)
SpaceMetricsByVM returns the Virtual Machine space metrics
func (*ClientIMPL) SpaceMetricsByVolume ¶ added in v1.3.0
func (c *ClientIMPL) SpaceMetricsByVolume(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]SpaceMetricsByVolumeResponse, error)
SpaceMetricsByVolume returns the Volume space metrics
func (*ClientIMPL) SpaceMetricsByVolumeFamily ¶ added in v1.3.0
func (c *ClientIMPL) SpaceMetricsByVolumeFamily(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]SpaceMetricsByVolumeFamilyResponse, error)
SpaceMetricsByVolumeFamily returns the Volume family space metrics
func (*ClientIMPL) SpaceMetricsByVolumeGroup ¶ added in v1.3.0
func (c *ClientIMPL) SpaceMetricsByVolumeGroup(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]SpaceMetricsByVolumeGroupResponse, error)
SpaceMetricsByVolumeGroup returns the Volume space metrics in a volume group
func (*ClientIMPL) UpdateVolumeGroupProtectionPolicy ¶ added in v1.4.0
func (c *ClientIMPL) UpdateVolumeGroupProtectionPolicy(ctx context.Context, id string, params *VolumeGroupChangePolicy) (resp EmptyResponse, err error)
func (*ClientIMPL) VolumeMirrorTransferRate ¶ added in v1.16.0
func (c *ClientIMPL) VolumeMirrorTransferRate(ctx context.Context, entityID string) ([]VolumeMirrorTransferRateResponse, error)
VolumeMirrorTransferRate - Volume Mirror Transfer Rate
func (*ClientIMPL) WearMetricsByDrive ¶ added in v1.3.0
func (c *ClientIMPL) WearMetricsByDrive(ctx context.Context, entityID string, interval MetricsIntervalEnum) ([]WearMetricsByDriveResponse, error)
WearMetricsByDrive returns the Drive wear metrics
type ClientOptions ¶
type ClientOptions struct {
// contains filtered or unexported fields
}
ClientOptions struct provide additional options for api client configuration
func NewClientOptions ¶
func NewClientOptions() *ClientOptions
NewClientOptions returns pointer to a new ClientOptions struct
func (*ClientOptions) DefaultTimeout ¶
func (co *ClientOptions) DefaultTimeout() int64
DefaultTimeout returns http client default timeout
func (*ClientOptions) Insecure ¶
func (co *ClientOptions) Insecure() bool
Insecure returns insecure client option
func (*ClientOptions) RateLimit ¶ added in v1.3.0
func (co *ClientOptions) RateLimit() int
RateLimit returns http client rate limit
func (*ClientOptions) RequestIDKey ¶
func (co *ClientOptions) RequestIDKey() api.ContextKey
RequestIDKey returns client requestIDKey
func (*ClientOptions) SetDefaultTimeout ¶
func (co *ClientOptions) SetDefaultTimeout(value int64) *ClientOptions
SetDefaultTimeout sets default http client timeout value
func (*ClientOptions) SetInsecure ¶
func (co *ClientOptions) SetInsecure(value bool) *ClientOptions
SetInsecure sets insecure value
func (*ClientOptions) SetRateLimit ¶ added in v1.3.0
func (co *ClientOptions) SetRateLimit(value int) *ClientOptions
SetRateLimit returns http client rate limit
func (*ClientOptions) SetRequestIDKey ¶
func (co *ClientOptions) SetRequestIDKey(value api.ContextKey) *ClientOptions
SetRequestIDKey sets requestIdKey value
type Cluster ¶ added in v1.4.0
type Cluster struct { // Unique identifier of the cluster. ID string `json:"id,omitempty"` // User-specified name of the cluster Name string `json:"name,omitempty"` // Management IP address of the remote system instance ManagementAddress string `json:"management_address,omitempty"` // Current state of the cluster State string `json:"state,omitempty"` // NVMe Subsystem NQN for cluster NVMeNQN string `json:"nvm_subsystem_nqn,omitempty"` // Current clock time for the system in UTC format. SystemTime string `json:"system_time,omitempty"` }
Cluster details about the cluster
type CommonAvgFields ¶ added in v1.3.0
type CommonAvgFields struct { // Average size of read and write operations in bytes. AvgIoSize float32 `json:"avg_io_size,omitempty"` // Average read and write latency in microseconds. AvgLatency float32 `json:"avg_latency,omitempty"` // Weighted average read bandwidth in bytes per second. AvgReadBandwidth float32 `json:"avg_read_bandwidth,omitempty"` // Average reads per second. AvgReadIops float32 `json:"avg_read_iops,omitempty"` // Average read latency in microseconds. AvgReadLatency float32 `json:"avg_read_latency,omitempty"` // Average read size in bytes. AvgReadSize float32 `json:"avg_read_size,omitempty"` // Weighted average total bandwidth in bytes per second. AvgTotalBandwidth float32 `json:"avg_total_bandwidth,omitempty"` // Average total input and output operations per second. AvgTotalIops float64 `json:"avg_total_iops,omitempty"` // Weighted average write bandwidth in bytes per second. AvgWriteBandwidth float32 `json:"avg_write_bandwidth,omitempty"` // Average writes per second. AvgWriteIops float32 `json:"avg_write_iops,omitempty"` // Average write latency in microseconds. AvgWriteLatency float32 `json:"avg_write_latency,omitempty"` // Average write size in bytes. AvgWriteSize float32 `json:"avg_write_size,omitempty"` }
type CommonEthPortFields ¶ added in v1.3.0
type CommonEthPortFields struct { // The average total bytes received per second. AvgBytesRxPs float32 `json:"avg_bytes_rx_ps,omitempty"` // The average total bytes transmitted per second. AvgBytesTxPs float32 `json:"avg_bytes_tx_ps,omitempty"` // The average number of packets received with CRC error (and thus dropped) per second. AvgPktRxCrcErrorPs float32 `json:"avg_pkt_rx_crc_error_ps,omitempty"` // The average number of packets discarded per second due to lack of buffer space. AvgPktRxNoBufferErrorPs float32 `json:"avg_pkt_rx_no_buffer_error_ps,omitempty"` // The average number of packets received per second. AvgPktRxPs float32 `json:"avg_pkt_rx_ps,omitempty"` // The average number of packets that failed to be transmitted per second due to error. AvgPktTxErrorPs float32 `json:"avg_pkt_tx_error_ps,omitempty"` // The average number of packets transmitted per second. AvgPktTxPs float32 `json:"avg_pkt_tx_ps,omitempty"` // The total bytes received per second. BytesRxPs float32 `json:"bytes_rx_ps,omitempty"` // The total bytes transmitted per second. BytesTxPs float32 `json:"bytes_tx_ps,omitempty"` // The maximum total bytes received per second. MaxBytesRxPs float32 `json:"max_bytes_rx_ps,omitempty"` // The maximum total bytes transmitted per second. MaxBytesTxPs float32 `json:"max_bytes_tx_ps,omitempty"` // The maximum number of packets received with CRC error (and thus dropped) per second. MaxPktRxCrcErrorPs float32 `json:"max_pkt_rx_crc_error_ps,omitempty"` // The maximum number of packets discarded per second due to lack of buffer space. MaxPktRxNoBufferErrorPs float32 `json:"max_pkt_rx_no_buffer_error_ps,omitempty"` // The maximum number of packets received per second. MaxPktRxPs float32 `json:"max_pkt_rx_ps,omitempty"` // The maximum number of packets that failed to be transmitted per second due to error. MaxPktTxErrorPs float32 `json:"max_pkt_tx_error_ps,omitempty"` // The maximum number of packets transmitted per second. MaxPktTxPs float32 `json:"max_pkt_tx_ps,omitempty"` // Reference to the associated node on which these metrics were recorded. NodeID string `json:"node_id,omitempty"` // The number of packets received with CRC error (and thus dropped) per second. PktRxCrcErrorPs float32 `json:"pkt_rx_crc_error_ps,omitempty"` // The number of packets discarded per second due to lack of buffer space. PktRxNoBufferErrorPs float32 `json:"pkt_rx_no_buffer_error_ps,omitempty"` // The number of packets received per second. PktRxPs float32 `json:"pkt_rx_ps,omitempty"` // The number of packets that failed to be transmitted per second due to error. PktTxErrorPs float32 `json:"pkt_tx_error_ps,omitempty"` // The number of packets transmitted per second. PktTxPs float32 `json:"pkt_tx_ps,omitempty"` }
CommonEthPortFields contains fields common across all ethernet port metrics responses
type CommonMaxAvgIopsBandwidthFields ¶ added in v1.3.0
type CommonMaxAvgIopsBandwidthFields struct { // Maximum average size of input and output operations in bytes. MaxAvgIoSize float32 `json:"max_avg_io_size,omitempty"` // Maximum of average latency in microseconds. MaxAvgLatency float32 `json:"max_avg_latency,omitempty"` // Maximum read latency in microseconds. MaxAvgReadLatency float32 `json:"max_avg_read_latency,omitempty"` // Maximum of average read size in bytes. MaxAvgReadSize float32 `json:"max_avg_read_size,omitempty"` // Maximum of average write latency in microseconds. MaxAvgWriteLatency float32 `json:"max_avg_write_latency,omitempty"` // Maximum of average write size in bytes. MaxAvgWriteSize float32 `json:"max_avg_write_size,omitempty"` // Maximum read bandwidth in bytes per second. MaxReadBandwidth float32 `json:"max_read_bandwidth,omitempty"` // Maximum reads per second. MaxReadIops float32 `json:"max_read_iops,omitempty"` // Maximum total bandwidth in bytes per second. MaxTotalBandwidth float32 `json:"max_total_bandwidth,omitempty"` // Maximum totals per second. MaxTotalIops float64 `json:"max_total_iops,omitempty"` // Maximum write bandwidth in bytes per second. MaxWriteBandwidth float32 `json:"max_write_bandwidth,omitempty"` // Maximum writes per second. MaxWriteIops float32 `json:"max_write_iops,omitempty"` // Read rate in bytes per second. ReadBandwidth float32 `json:"read_bandwidth,omitempty"` // Total read operations per second. ReadIops float32 `json:"read_iops,omitempty"` // Total data transfer rate in bytes per second. TotalBandwidth float32 `json:"total_bandwidth,omitempty"` // Total read and write operations per second. TotalIops float64 `json:"total_iops,omitempty"` // Write rate in byte/sec. WriteBandwidth float32 `json:"write_bandwidth,omitempty"` // Total write operations per second. WriteIops float32 `json:"write_iops,omitempty"` }
CommonMaxAvgIopsBandwidthFields contains common fiels for max/avg I/O, latency, size, and bandwith fields for metrics responses
type CommonMetricsFields ¶ added in v1.3.0
type CommonMetricsFields struct { Entity string `json:"entity,omitempty"` // Number of times the metrics is repeated. // Maximum: 2.147483647e+09 // Minimum: 0 RepeatCount *int32 `json:"repeat_count,omitempty"` // End of sample period. // Format: date-time Timestamp strfmt.DateTime `json:"timestamp,omitempty"` }
CommonMetricsFields contains fields common across all metrics responses
type CommonNfsv34ResponseFields ¶ added in v1.3.0
type CommonNfsv34ResponseFields struct { // Average failed operations per second. AvgFailedMdOps float32 `json:"avg_failed_md_ops,omitempty"` // Average md latency operations per second. AvgMdLatency float32 `json:"avg_md_latency,omitempty"` // Average md operations per second. AvgMdOps float32 `json:"avg_md_ops,omitempty"` // Average read operations per second. AvgReadIops float32 `json:"avg_read_iops,omitempty"` // Average read and write operations per second. AvgTotalIops float32 `json:"avg_total_iops,omitempty"` // Average write operations per second. AvgWriteIops float32 `json:"avg_write_iops,omitempty"` // Total failed md operations per second. FailedMdOps float32 `json:"failed_md_ops,omitempty"` // Maximum average md latency per second. MaxAvgMdLatency float32 `json:"max_avg_md_latency,omitempty"` // Max failed operations per second. MaxFailedMdOps float32 `json:"max_failed_md_ops,omitempty"` // Maximum read operations per second. MaxReadIops float32 `json:"max_read_iops,omitempty"` // Maximum read and write operations per second. MaxTotalIops float32 `json:"max_total_iops,omitempty"` // Maximum write operations per second. MaxWriteIops float32 `json:"max_write_iops,omitempty"` // Total md operations per second. MdOps float32 `json:"md_ops,omitempty"` // Unique identifier of the nfs. NodeID string `json:"node_id,omitempty"` // Total read iops in microseconds. ReadIops float32 `json:"read_iops,omitempty"` // Total read and write iops in microseconds. TotalIops float32 `json:"total_iops,omitempty"` // Total write iops in microseconds. WriteIops float32 `json:"write_iops,omitempty"` }
CommonNfsv34ResponseFields contains common fields from Nfs v3/4 metrics responses
type CommonSMBFields ¶ added in v1.3.0
type CommonSMBFields struct { // Average calls. AvgCalls float32 `json:"avg_calls,omitempty"` // Average read and write operations per second. AvgIops float32 `json:"avg_iops,omitempty"` // Average read and write size in bytes. AvgIoSize float32 `json:"avg_io_size,omitempty"` // Average read and write latency in microseconds. AvgLatency float32 `json:"avg_latency,omitempty"` // Average read operations per second. AvgReadIops float32 `json:"avg_read_iops,omitempty"` // Average read latency in microseconds. AvgReadLatency float32 `json:"avg_read_latency,omitempty"` // Average read size in bytes. AvgReadSize float32 `json:"avg_read_size,omitempty"` // Average write operations per second. AvgWriteIops float32 `json:"avg_write_iops,omitempty"` // Average write latency in microseconds. AvgWriteLatency float32 `json:"avg_write_latency,omitempty"` // Average write size in bytes. AvgWriteSize float32 `json:"avg_write_size,omitempty"` // Maximum of average read and write latency in microseconds. MaxAvgLatency float32 `json:"max_avg_latency,omitempty"` // Maximum of average read latency in microseconds. MaxAvgReadLatency float32 `json:"max_avg_read_latency,omitempty"` // Maximum of average read size in bytes. MaxAvgReadSize float32 `json:"max_avg_read_size,omitempty"` // Maximum of average read and write size in bytes. MaxAvgSize float32 `json:"max_avg_size,omitempty"` // Maximum of average write latency in microseconds. MaxAvgWriteLatency float32 `json:"max_avg_write_latency,omitempty"` // Maximum of average write size in bytes. MaxAvgWriteSize float32 `json:"max_avg_write_size,omitempty"` // Maximum calls. MaxCalls float32 `json:"max_calls,omitempty"` // Maximum read and write operations per second. MaxIops float32 `json:"max_iops,omitempty"` // Maximum read operations per second. MaxReadIops float32 `json:"max_read_iops,omitempty"` // Maximum write operations per second. MaxWriteIops float32 `json:"max_write_iops,omitempty"` // Unique identifier of the node. NodeID string `json:"node_id,omitempty"` // Total read operations per second. ReadIops float32 `json:"read_iops,omitempty"` // Total calls. TotalCalls float32 `json:"total_calls,omitempty"` // Total read and write operations per second. TotalIops float32 `json:"total_iops,omitempty"` // Total write operations per second. WriteIops float32 `json:"write_iops,omitempty"` }
CommonSMBFields contains common fields for SMB metrics responses
type CommonUnalignedFields ¶ added in v1.3.0
type CommonUnalignedFields struct { // Average unaligned read/write rate in bytes per second. AvgUnalignedBandwidth float32 `json:"avg_unaligned_bandwidth,omitempty"` // Average unaligned total input/output per second. AvgUnalignedIops float32 `json:"avg_unaligned_iops,omitempty"` // Average unaligned read rate in bytes per second. AvgUnalignedReadBandwidth float32 `json:"avg_unaligned_read_bandwidth,omitempty"` // Average unaligned read input/output per second. AvgUnalignedReadIops float32 `json:"avg_unaligned_read_iops,omitempty"` // Average unaligned write rate in bytes per second. AvgUnalignedWriteBandwidth float32 `json:"avg_unaligned_write_bandwidth,omitempty"` // Average unaligned write input/output per second. AvgUnalignedWriteIops float32 `json:"avg_unaligned_write_iops,omitempty"` // Maximum unaligned read/write rate in bytes per second. MaxUnalignedBandwidth float32 `json:"max_unaligned_bandwidth,omitempty"` // Maximum unaligned total input/output per second. MaxUnalignedIops float32 `json:"max_unaligned_iops,omitempty"` // Maximum unaligned read rate in bytes per second. MaxUnalignedReadBandwidth float32 `json:"max_unaligned_read_bandwidth,omitempty"` // Maximum unaligned read input/output per second. MaxUnalignedReadIops float32 `json:"max_unaligned_read_iops,omitempty"` // Maximum unaligned write rate in bytes per second. MaxUnalignedWriteBandwidth float32 `json:"max_unaligned_write_bandwidth,omitempty"` // Maximum unaligned write input/output per second. MaxUnalignedWriteIops float32 `json:"max_unaligned_write_iops,omitempty"` // Unaligned read/write rate in bytes per second. UnalignedBandwidth float32 `json:"unaligned_bandwidth,omitempty"` // Unaligned total input/output per second. UnalignedIops float32 `json:"unaligned_iops,omitempty"` // Unaligned read rate in bytes per second. UnalignedReadBandwidth float32 `json:"unaligned_read_bandwidth,omitempty"` // Unaligned read input/output per second. UnalignedReadIops float32 `json:"unaligned_read_iops,omitempty"` // Unaligned write rate in bytes per second. UnalignedWriteBandwidth float32 `json:"unaligned_write_bandwidth,omitempty"` // Unaligned write input/output per second. UnalignedWriteIops float32 `json:"unaligned_write_iops,omitempty"` }
CommonUnalignedFields contains common unaligned fields from metrics responses
type CopyMetricsByApplianceResponse ¶ added in v1.3.0
type CopyMetricsByApplianceResponse struct { CommonMetricsFields CopyMetricsCommonFields // Unique identifier of the appliance. ApplianceID string `json:"appliance_id,omitempty"` }
CopyMetricsByApplianceResponse is returned by copy_metrics_by_appliance
type CopyMetricsByClusterResponse ¶ added in v1.3.0
type CopyMetricsByClusterResponse struct { CommonMetricsFields CopyMetricsCommonFields }
CopyMetricsByClusterResponse is returned by copy_metrics_by_cluster
type CopyMetricsByRemoteSystemResponse ¶ added in v1.3.0
type CopyMetricsByRemoteSystemResponse struct { CommonMetricsFields CopyMetricsCommonFields // Unique identifier of the remote system. RemoteSystemID string `json:"remote_system_id,omitempty"` }
CopyMetricsByRemoteSystemResponse is returned by copy_metrics_by_remote_system
type CopyMetricsByVolumeGroupResponse ¶ added in v1.3.0
type CopyMetricsByVolumeGroupResponse struct { CommonMetricsFields CopyMetricsCommonFields // Unique identifier of the volume group. VgID string `json:"vg_id,omitempty"` }
CopyMetricsByVolumeGroupResponse is returned by copy_metrics_by_vg
type CopyMetricsByVolumeResponse ¶ added in v1.3.0
type CopyMetricsByVolumeResponse struct { CommonMetricsFields CopyMetricsCommonFields // Unique identifier of the volume. VolumeID string `json:"volume_id,omitempty"` }
CopyMetricsByVolumeResponse is returned by copy_metrics_by_volume
type CopyMetricsCommonFields ¶ added in v1.3.0
type CopyMetricsCommonFields struct { // Number of bytes remaining to be copied at the end of this sampling period. // Maximum: 9.223372036854776e+18 // Minimum: 0 DataRemaining *int64 `json:"data_remaining,omitempty"` // Number of bytes transferred during this sampling period. // Maximum: 9.223372036854776e+18 // Minimum: 0 DataTransferred *int64 `json:"data_transferred,omitempty"` // Time (in milliseconds) spent doing reads during this sampling period. // // Maximum: 9.223372036854776e+18 // Minimum: 0 ReadTime *int64 `json:"read_time,omitempty"` // session type SessionType CopySessionTypeEnum `json:"session_type,omitempty"` // Localized message string corresponding to session_type SessionTypeL10n string `json:"session_type_l10n,omitempty"` // Data transfer rate (in bytes/second) computed using data_transferred and transfer_time. // TransferRate float32 `json:"transfer_rate,omitempty"` // The time (in milliseconds) spent in copy activity during this sampling period. // // Maximum: 9.223372036854776e+18 // Minimum: 0 TransferTime *int64 `json:"transfer_time,omitempty"` // Time (in milliseconds) spent doing writes during this sampling period. // // Maximum: 9.223372036854776e+18 // Minimum: 0 WriteTime *int64 `json:"write_time,omitempty"` }
CopyMetricsCommonFields is the filed common to all copy metrics
type CopySessionTypeEnum ¶ added in v1.3.0
type CopySessionTypeEnum string
CopySessionTypeEnum is a copy session type
type CreateResponse ¶
type CreateResponse struct { // Unique identifier of the new instance created. ID string `json:"id,omitempty"` }
CreateResponse create response
type DataConnectStateEnum ¶ added in v1.16.0
type DataConnectStateEnum string
const ( ConnStateOK DataConnectStateEnum = "OK" ConnStatePartialDataConnLoss DataConnectStateEnum = "Partial_Data_Connection_Loss" ConnStateCompleteDataConnLoss DataConnectStateEnum = "Complete_Data_Connection_Loss" ConnStateNotAvailable DataConnectStateEnum = "Status_Not_Available" ConnStateNoTargetsDiscovered DataConnectStateEnum = "No_Targets_Discovered" ConnStateInitializing DataConnectStateEnum = "Initializing" ConnStateUnstable DataConnectStateEnum = "Data_Connection_Unstable" )
List of possible data connection states for a RemoteSystem
type Datastores ¶ added in v1.11.0
type Datastores struct { ID string `json:"id"` Name string `json:"name"` InstanceUUID string `json:"istance_uuid"` }
Datastores contains properties of datastores.
type DaysOfWeekEnum ¶ added in v1.10.0
type DaysOfWeekEnum string
DaysOfWeekEnum - days of week
const ( DaysOfWeekEnumMonday DaysOfWeekEnum = "Monday" DaysOfWeekEnumTuesday DaysOfWeekEnum = "Tuesday" DaysOfWeekEnumWednesday DaysOfWeekEnum = "Wednesday" DaysOfWeekEnumThursday DaysOfWeekEnum = "Thursday" DaysOfWeekEnumFriday DaysOfWeekEnum = "Friday" DaysOfWeekEnumSaturday DaysOfWeekEnum = "Saturday" DaysOfWeekEnumSunday DaysOfWeekEnum = "Sunday" )
DaysOfWeekEnum - known days of week
type EndMetroVolumeGroupOptions ¶ added in v1.16.0
type EndMetroVolumeGroupOptions struct { // DeleteRemoteVolumeGroup specifies whether or not to delete the remote volume group when ending the metro session. DeleteRemoteVolumeGroup bool `json:"delete_remote_volume_group,omitempty"` // ForceDelete specifies if the Metro volume group should be forcefully deleted. // If the force option is specified, any errors returned while attempting to tear down the remote side of the // metro session will be ignored and the remote side may be left in an indeterminate state. // If any errors occur on the local side the operation can still fail. // It is not recommended to use this option unless the remote side is known to be down. ForceDelete bool `json:"force,omitempty"` }
EndMetroVolumeGroupOptions provides options for deleting the remote volume group and forcing the deletion.
type EndMetroVolumeOptions ¶ added in v1.16.0
type EndMetroVolumeOptions struct { // DeleteRemoteVolume specifies whether or not to delete the remote volume when ending the metro session. DeleteRemoteVolume bool `json:"delete_remote_volume,omitempty"` // ForceDelete specifies if the Metro volume should be forcefully deleted. // If the force option is specified, any errors returned while attempting to tear down the remote side of the // metro session will be ignored and the remote side may be left in an indeterminate state. // If any errors occur on the local side the operation can still fail. // It is not recommended to use this option unless the remote side is known to be down. ForceDelete bool `json:"force,omitempty"` }
EndMetroVolumeOptions provides options for deleting the remote volume and forcing the deletion.
type FSModify ¶ added in v1.1.0
type FSModify struct { // integer($int64) //minimum: 3221225472 //maximum: 281474976710656 // //Size, in bytes, presented to the host or end user. This can be used for both expand and shrink on a file system. Size int `json:"size_total,omitempty"` Description string `json:"description,omitempty"` AccessPolicy string `json:"access_policy,omitempty"` LockingPolicy string `json:"locking_policy,omitempty"` FolderRenamePolicy string `json:"folder_rename_policy,omitempty"` IsSmbSyncWritesEnabled *bool `json:"is_smb_sync_writes_enabled,omitempty"` IsSmbOpLocksEnabled *bool `json:"is_smb_op_locks_enabled,omitempty"` IsSmbNotifyOnAccessEnabled *bool `json:"is_smb_notify_on_access_enabled,omitempty"` IsSmbNotifyOnWriteEnabled *bool `json:"is_smb_notify_on_write_enabled,omitempty"` SmbNotifyOnChangeDirDepth int32 `json:"smb_notify_on_change_dir_depth,omitempty"` IsSmbNoNotifyEnabled *bool `json:"is_smb_no_notify_enabled,omitempty"` IsAsyncMtimeEnabled *bool `json:"is_async_MTime_enabled,omitempty"` ProtectionPolicyID string `json:"protection_policy_id,omitempty"` FileEventsPublishingMode string `json:"file_events_publishing_mode,omitempty"` FlrCreate FlrAttributes `json:"flr_attributes,omitempty"` ExpirationTimestamp string `json:"expiration_timestamp,omitempty"` }
FSModify modifies existing FS
type FailoverParams ¶ added in v1.5.0
type FailoverParams struct { // For DR failover. IsPlanned bool `json:"is_planned"` // Reverse replication direction Reverse bool `json:"reverse,omitempty"` // Force for DR Force bool `json:"force,omitempty"` }
failover params create failover request
type FcPort ¶
type FcPort struct { ApplianceID string `json:"appliance_id,omitempty"` // current speed CurrentSpeed FcPortSpeedEnum `json:"current_speed,omitempty"` // Localized message string corresponding to <b>current_speed</b> // Unique identifier of the port. ID string `json:"id,omitempty"` // This is the embeddable reference form of io_module_id attribute. IoModuleID string `json:"io_module_id,omitempty"` // Indicates whether the port's link is up. Values are: // * true - Link is up. // * false - Link is down. IsLinkUp bool `json:"is_link_up,omitempty"` // Name of the port. Name string `json:"name,omitempty"` // This is the embeddable reference form of node_id attribute. NodeID string `json:"node_id,omitempty"` // This is the embeddable reference form of partner_id attribute. PartnerID string `json:"partner_id,omitempty"` // port connector type PortIndex int64 `json:"port_index,omitempty"` // requested speed RequestedSpeed FcPortSpeedEnum `json:"requested_speed,omitempty"` // Localized message string corresponding to <b>requested_speed</b> SfpID string `json:"sfp_id,omitempty"` // List of supported transmission speeds for the port. SupportedSpeeds []FcPortSpeedEnum `json:"supported_speeds"` // World Wide Name (WWN) of the port. Wwn string `json:"wwn,omitempty"` // World Wide Name (WWN) of NVME port WwnNVMe string `json:"wwn_nvme,omitempty"` // World Wide Name (WWN) of the Node of the port. WwnNode string `json:"wwn_node,omitempty"` }
FcPort This resource type has queriable associations from appliance, hardware, hardware, hardware, fc_port
type FcPortModify ¶
type FcPortModify struct { // requested speed // Required: true RequestedSpeed *FcPortSpeedEnum `json:"requested_speed"` }
FcPortModify fc port modify
type FcPortSpeedEnum ¶
type FcPortSpeedEnum string
FcPortSpeedEnum Possible Fibre Channel port speeds. For the current_speed attribute, these values show the current transmission speed on the port. For the requested_speed attribute, these values show the transmission speed set by the user. A requested speed of Auto means that the current speed value will be automatically detected. If this file is updated, also update FrontEndPortSpeedEnum.yaml * Auto - the speed value is automatically detected * 4_Gbps - 4 Gigabits per second * 8_Gbps - 8 Gigabits per second * 16_Gbps - 16 Gigabits per second * 32_Gbps - 32 Gigabits per second
swagger:model FcPortSpeedEnum
const ( // FcPortSpeedEnumAuto captures enum value "Auto" FcPortSpeedEnumAuto FcPortSpeedEnum = "Auto" // FcPortSpeedEnumNr4Gbps captures enum value "4_Gbps" FcPortSpeedEnumNr4Gbps FcPortSpeedEnum = "4_Gbps" // FcPortSpeedEnumNr8Gbps captures enum value "8_Gbps" FcPortSpeedEnumNr8Gbps FcPortSpeedEnum = "8_Gbps" // FcPortSpeedEnumNr16Gbps captures enum value "16_Gbps" FcPortSpeedEnumNr16Gbps FcPortSpeedEnum = "16_Gbps" // FcPortSpeedEnumNr32Gbps captures enum value "32_Gbps" FcPortSpeedEnumNr32Gbps FcPortSpeedEnum = "32_Gbps" )
type FileInterface ¶ added in v1.1.0
type FileInterface struct { // Unique id of the file interface ID string `json:"id"` // Ip address of file interface IPAddress string `json:"ip_address"` }
Details about the file interface
func (*FileInterface) Fields ¶ added in v1.1.0
func (n *FileInterface) Fields() []string
Fields returns fields which must be requested to fill struct
type FileSystem ¶ added in v1.1.0
type FileSystem struct { // File system id ID string `json:"id,omitempty"` // File system name Name string `json:"name,omitempty"` // File system description Description string `json:"description,omitempty"` // Id of the NAS Server on which the file system is mounted NasServerID string `json:"nas_server_id,omitempty"` // Type of filesystem: normal or snapshot FilesystemType FileSystemTypeEnum `json:"filesystem_type,omitempty"` // Size, in bytes, presented to the host or end user SizeTotal int64 `json:"size_total,omitempty"` // Size used, in bytes, for the data and metadata of the file system SizeUsed int64 `json:"size_used,omitempty"` // Id of a parent filesystem ParentID string `json:"parent_id,omitempty"` // Indicates the file system type. ConfigType string `json:"config_type,omitempty"` // File system security access policies. AccessPolicy string `json:"access_policy,omitempty"` // [ Native, UNIX, Windows ] LockingPolicy string `json:"locking_policy,omitempty"` // File system folder rename policies for the file system with multiprotocol access enabled. FolderRenamePolicy string `json:"folder_rename_policy,omitempty"` // Indicates whether asynchronous MTIME is enabled on the file system IsAsyncMTimeEnabled bool `json:"is_async_MTime_enabled,omitempty"` // Unique identifier of the protection policy ProtectionPolicyID string `json:"protection_policy_id,omitempty"` // State of the event notification services for all file systems FileEventsPublishingMode string `json:"file_events_publishing_mode,omitempty"` // Typical size of writes HostIOSize string `json:"host_io_size,omitempty"` // Flr attributes FlrCreate FlrAttributes `json:"flr_attributes,omitempty"` // Indicates whether the synchronous writes option is enabled IsSmbSyncWritesEnabled bool `json:"is_smb_sync_writes_enabled,omitempty"` // Indicates whether notifications of changes to a directory file structure are enabled. IsSmbNoNotifyEnabled bool `json:"is_smb_no_notify_enabled,omitempty"` // Indicates whether opportunistic file locking is enabled on the file system. IsSmbOpLocksEnabled bool `json:"is_smb_op_locks_enabled,omitempty"` // Indicates whether file access notifications are enabled on the file system IsSmbNotifyOnAccessEnabled bool `json:"is_smb_notify_on_access_enabled,omitempty"` // Indicates whether file writes notifications are enabled on the file system. IsSmbNotifyOnWriteEnabled bool `json:"is_smb_notify_on_write_enabled,omitempty"` // Lowest directory level to which the enabled notifications apply SmbNotifyOnChangeDirDepth int32 `json:"smb_notify_on_change_dir_depth,omitempty"` // Expiration timestamp in unix timestamp ExpirationTimestamp string `json:"expiration_timestamp,omitempty"` // Access type of the file system AccessType string `json:"access_type,omitempty"` // Indicates whether quota is enabled IsQuotaEnabled bool `json:"is_quota_enabled,omitempty"` // Grace period of soft limit GracePeriod int32 `json:"grace_period,omitempty"` // Default hard limit of user quotas and tree quotas DefaultHardLimit int64 `json:"default_hard_limit,omitempty"` // Default soft limit of user quotas and tree quotas DefaultSoftLimit int64 `json:"default_soft_limit,omitempty"` // Time, in seconds, when the snapshot was created. CreationTimestamp string `json:"creation_timestamp,omitempty"` // Time, in seconds, when the snapshot was last refreshed. LastRefreshTimestamp string `json:"last_refresh_timestamp,omitempty"` // The time (in seconds) of last mount LastWritableTimestamp string `json:"last_writable_timestamp,omitempty"` // Indicates whether the snapshot may have changed since it was created IsModified bool `json:"is_modified,omitempty"` // Snapshot creator types CreatorType string `json:"creator_type,omitempty"` }
Details about the FileSystem
func (*FileSystem) Fields ¶ added in v1.1.0
func (n *FileSystem) Fields() []string
Fields returns fields which must be requested to fill struct
type FileSystemTypeEnum ¶ added in v1.1.0
type FileSystemTypeEnum string
const ( FileSystemTypeEnumPrimary FileSystemTypeEnum = "Primary" // Normal file system or clone FileSystemTypeEnumSnapshot FileSystemTypeEnum = "Snapshot" // Snapshot of a file system )
type FileSystems ¶ added in v1.12.0
type FileSystems struct { ID string `json:"id"` Name string `json:"name"` Description string `json:"description"` }
FileSystems - Details of file system
type FlrAttributes ¶ added in v1.17.0
type FlrAttributes struct { Mode string `json:"mode,omitempty"` MinimumRetention string `json:"minimum_retention,omitempty"` DefaultRetention string `json:"default_retention,omitempty"` MaximumRetention string `json:"maximum_retention,omitempty"` AutoLock bool `json:"auto_lock,omitempty"` AutoDelete bool `json:"auto_delete,omitempty"` PolicyInterval int32 `json:"policy_interval,omitempty"` HasProtectedFiles bool `json:"has_protected_files,omitempty"` ClockTime string `json:"clock_time,omitempty"` MaximumRetentionDate string `json:"maximum_retention_date,omitempty"` }
type FsClone ¶ added in v1.1.0
type FsClone struct { // Unique name for the fs to be created. Name *string `json:"name"` Description *string `json:"description,omitempty"` MetaDataHeader }
FsClone request for cloning snapshot/fs
type FsCreate ¶ added in v1.1.0
type FsCreate struct { Description string `json:"description,omitempty"` Name string `json:"name,omitempty"` NASServerID string `json:"nas_server_id,omitempty"` Size int64 `json:"size_total,omitempty"` ConfigType string `json:"config_type,omitempty"` AccessPolicy string `json:"access_policy,omitempty"` LockingPolicy string `json:"locking_policy,omitempty"` FolderRenamePolicy string `json:"folder_rename_policy,omitempty"` IsAsyncMTimeEnabled bool `json:"is_async_MTime_enabled,omitempty"` ProtectionPolicyID string `json:"protection_policy_id,omitempty"` FileEventsPublishingMode string `json:"file_events_publishing_mode,omitempty"` HostIOSize string `json:"host_io_size,omitempty"` FlrCreate interface{} `json:"flr_attributes,omitempty"` IsSmbSyncWritesEnabled *bool `json:"is_smb_sync_writes_enabled,omitempty"` IsSmbNoNotifyEnabled *bool `json:"is_smb_no_notify_enabled,omitempty"` IsSmbOpLocksEnabled *bool `json:"is_smb_op_locks_enabled,omitempty"` IsSmbNotifyOnAccessEnabled *bool `json:"is_smb_notify_on_access_enabled,omitempty"` IsSmbNotifyOnWriteEnabled *bool `json:"is_smb_notify_on_write_enabled,omitempty"` SmbNotifyOnChangeDirDepth int32 `json:"smb_notify_on_change_dir_depth,omitempty"` MetaDataHeader }
FsCreate params for creating 'create fs' request
type Host ¶
type Host struct { // A description for the host. Description string `json:"description,omitempty"` // Associated host group, if host is part of host group. HostGroupID string `json:"host_group_id,omitempty"` // Unique id of the host. ID string `json:"id,omitempty"` // initiators Initiators []InitiatorInstance `json:"host_initiators"` // The host name. Name string `json:"name,omitempty"` // os type OsType OSTypeEnum `json:"os_type,omitempty"` // HostConnectivity connectivity type for host and hostGroup. HostConnectivity HostConnectivityEnum `json:"host_connectivity,omitempty"` // Type of the host Type HostTypeEnum `json:"type,omitempty"` // Localized message string corresponding to type TypeL10n string `json:"type_l10n,omitempty"` // Localized message string corresponding to os_type OSTypeL10n string `json:"os_type_l10n,omitempty"` // Localized message string corresponding to host_connectivity HostConnectivityL10n string `json:"host_connectivity_l10n,omitempty"` // Properties of a host group HostGroup HostGroup `json:"host_group,omitempty"` // Details about an import host system. ImportHostSystem ImportHostSystem `json:"import_host_system,omitempty"` // Details about a configured host or host group attached to a volume. MappedHosts []MappedHosts `json:"mapped_hosts,omitempty"` // Virtual volume mapping details. HostVirtualVolumeMappings []HostVirtualVolumeMappings `json:"host_virtual_volume_mappings,omitempty"` // Properties of a vsphere_host. VsphereHosts []VsphereHosts `json:"vsphere_hosts,omitempty"` }
Host host instance
type HostConnectivityEnum ¶ added in v1.12.0
type HostConnectivityEnum string
HostConnectivityEnum Operating system of the host.
const ( // HostConnectivityEnumLocalOnly captures enum value "Local_Only" HostConnectivityEnumLocalOnly HostConnectivityEnum = "Local_Only" // HostConnectivityEnumMetroOptimizeBoth captures enum value "Metro_Optimize_Both" HostConnectivityEnumMetroOptimizeBoth HostConnectivityEnum = "Metro_Optimize_Both" // HostConnectivityEnumMetroOptimizeLocal captures enum value "Metro_Optimize_Local" HostConnectivityEnumMetroOptimizeLocal HostConnectivityEnum = "Metro_Optimize_Local" // HostConnectivityEnumMetroOptimizeRemote captures enum value "Metro_Optimize_Remote" HostConnectivityEnumMetroOptimizeRemote HostConnectivityEnum = "Metro_Optimize_Remote" )
type HostCreate ¶
type HostCreate struct { // An optional description for the host. The description should not be more than 256 UTF-8 // characters long and should not have any unprintable characters. Description *string `json:"description,omitempty"` // Normally, this operation is not allowed on host types other than external. // This flag will override that error and allow the operation to continue. ForceInternal *bool `json:"force_internal,omitempty"` // initiator Initiators *[]InitiatorCreateModify `json:"initiators"` // The host name. The name should not be more than 128 UTF-8 characters long // and should not have any unprintable characters. Name *string `json:"name"` // os type OsType *OSTypeEnum `json:"os_type"` // Metadata addition for Hosts on array with OE version 3.0 and above Metadata *map[string]string `json:"metadata,omitempty"` // HostConnectivity connectivity type for host and hostGroup. HostConnectivity HostConnectivityEnum `json:"host_connectivity,omitempty"` }
HostCreate request
type HostDelete ¶
type HostDelete struct { // Normally, this operation is not allowed on host types other than external. // This flag will override that error and allow the operation to continue. ForceInternal *bool `json:"force_internal,omitempty"` }
HostDelete request
type HostGroup ¶ added in v1.11.0
type HostGroup struct { // A description for the hostgroup. Description string `json:"description,omitempty"` // Unique id of the hostgroup. ID string `json:"id,omitempty"` // The hostgroup name. Name string `json:"name,omitempty"` // Properties of a host. Hosts []Host `json:"hosts,omitempty"` // Connectivity type for hosts and host groups. HostConnectivity HostConnectivityEnum `json:"host_connectivity,omitempty"` // HostConnectivityL10n Localized message string corresponding to host_connectivity HostConnectivityL10n string `json:"host_connectivity_l10n,omitempty"` // MappedHostGroups Details about a configured host or host group attached to a volume. MappedHostGroups []MappedHostGroup `json:"mapped_host_groups,omitempty"` // HostVirtualVolumeMappings Virtual volume mapping details. HostVirtualVolumeMappings []HostVirtualVolumeMapping `json:"host_virtual_volume_mappings,omitempty"` }
HostGroup hostgroup instance
type HostGroupCreate ¶ added in v1.12.0
type HostGroupCreate struct { // The hostgroup name. Name string `json:"name,omitempty"` // A description for the hostgroup. Description string `json:"description,omitempty"` // The list of hosts to include in the host group. HostIDs []string `json:"host_ids,omitempty"` }
HostGroupCreate create hostgroup request
type HostGroupModify ¶ added in v1.12.0
type HostGroupModify struct { // The hostgroup name. Name string `json:"name,omitempty"` // A description for the hostgroup. Description string `json:"description,omitempty"` // Connectivity type for hosts and host groups. HostConnectivity string `json:"host_connectivity,omitempty"` // List of hosts to be removed from the host group. RemoveHostIDs []string `json:"remove_host_ids,omitempty"` // List of hosts to be added to host group. AddHostIDs []string `json:"add_host_ids,omitempty"` }
HostGroupModify modifies existing hostgroup
type HostModify ¶
type HostModify struct { // The list of initiators to be added. CHAP username and password are optional. AddInitiators *[]InitiatorCreateModify `json:"add_initiators,omitempty"` // An optional description for the host. // The description should not be more than 256 UTF-8 characters long and should not have any unprintable characters. Description *string `json:"description,omitempty"` // Normally, this operation is not allowed on host types other than external. // This flag will override that error and allow the operation to continue. ForceInternal *bool `json:"force_internal,omitempty"` // Update list of existing initiators, identified by port_name, with new CHAP usernames and/or passwords. ModifyInitiators *[]UpdateInitiatorInHost `json:"modify_initiators,omitempty"` // The host name. The name should not be more than 128 UTF-8 characters long and should not have any unprintable characters. Name *string `json:"name,omitempty"` // The list of initiator port_names to be removed. RemoveInitiators *[]string `json:"remove_initiators,omitempty"` // HostConnectivity connectivity type for host and hostGroup. HostConnectivity HostConnectivityEnum `json:"host_connectivity,omitempty"` }
HostModify host modify
type HostTypeEnum ¶
type HostTypeEnum string
HostTypeEnum gives type of host.
const ( // HostTypeEnumExternal captures enum value "External" HostTypeEnumExternal HostTypeEnum = "External" // HostTypeEnumInternal captures enum value "Internal" HostTypeEnumInternal HostTypeEnum = "Internal" )
type HostVirtualVolumeMapping ¶ added in v1.12.0
type HostVirtualVolumeMapping struct { // Unique identifier of a mapping between a host and a virtual volume. ID string `json:"id,omitempty"` // Unique identifier of a host attached to a volume. HostID string `json:"host_id,omitempty"` // Unique identifier of the virtual volume to which the host is attached. VirtualVolumeID string `json:"virtual_volume_id,omitempty"` // A virtual volume. VirtualVolume VirtualVolume `json:"virtual_volume,omitempty"` }
type HostVirtualVolumeMappings ¶ added in v1.12.0
type HostVirtualVolumeMappings struct { // Unique identifier of a mapping between a host and a virtual volume. ID string `json:"id"` // Unique identifier of a host attached to a virtual volume. HostID string `json:"host_id"` // Unique identifier of the virtual volume to which the host is attached. VirtualVolumeID string `json:"virtual_volume_id"` }
HostVirtualVolumeMappings - Virtual volume mapping details.
type HostVolumeAttach ¶
type HostVolumeAttach struct { // Logical unit number for the volume, if desired. LogicalUnitNumber *int64 `json:"logical_unit_number,omitempty"` // Volume to attach. VolumeID *string `json:"volume_id"` }
HostVolumeAttach Volume id and optional logical unit number for attaching to host.
type HostVolumeDetach ¶
type HostVolumeDetach struct { // Volume to detach. VolumeID *string `json:"volume_id"` }
HostVolumeDetach Volume id for detaching from host.
type HostVolumeMapping ¶
type HostVolumeMapping struct { Volume struct { ApplianceID string `json:"appliance_id,omitempty"` } `json:"volume,omitempty"` // Unique identifier of a host group attached to a volume. The host_id and host_group_id cannot both be set. HostGroupID string `json:"host_group_id,omitempty"` // Unique identifier of a host attached to a volume. The host_id and host_group_id cannot both be set. HostID string `json:"host_id,omitempty"` // Unique identifier of a mapping between a host and a volume. ID string `json:"id,omitempty"` // Logical unit number for the host volume access. LogicalUnitNumber int64 `json:"logical_unit_number,omitempty"` // Unique identifier of the volume to which the host is attached. VolumeID string `json:"volume_id,omitempty"` }
HostVolumeMapping Details about a configured host or host group attached to a volume. The host or host group may not necessarily be connected.
func (*HostVolumeMapping) Fields ¶
func (h *HostVolumeMapping) Fields() []string
Fields returns fields which must be requested to fill struct
type IPPoolAddress ¶
type IPPoolAddress struct { // IP address value, in IPv4 or IPv6 format. Address string `json:"address,omitempty"` // Unique identifier of the appliance to which the IP address belongs. ApplianceID string `json:"appliance_id,omitempty"` // Unique identifier of the IP address. ID string `json:"id,omitempty"` // Unique identifier of the port that uses this IP address to provide access to storage network services, such as iSCSI. This attribute can be set only for an IP address used by networks of type Storage. IPPortID string `json:"ip_port_id,omitempty"` // IPPort instance IPPort IPPortInstance `json:"ip_port,omitempty"` // Unique identifier of the network to which the IP address belongs. NetworkID string `json:"network_id,omitempty"` // Unique identifier of the cluster node to which the IP address belongs. NodeID string `json:"node_id,omitempty"` // purposes Purposes []IPPurposeTypeEnum `json:"purposes,omitempty"` }
IPPoolAddress ip pool address instance
func (*IPPoolAddress) Fields ¶
func (ip *IPPoolAddress) Fields() []string
Fields returns fields which must be requested to fill struct
type IPPortInstance ¶
type IPPortInstance struct { // Unique identifier of the IP port. ID string `json:"id,omitempty"` // iSCSI qualified name used by the target configured on top of the IP port initially or as a result of network scaling. If the IP port is not used by an iSCSI connection, this attribute should be empty. TargetIqn string `json:"target_iqn,omitempty"` }
IPPortInstance ip port instance
type IPPurposeTypeEnum ¶
type IPPurposeTypeEnum string
IPPurposeTypeEnum Network IP address purpose.
const ( // IPPurposeTypeEnumMgmtClusterFloating captures enum value "Mgmt_Cluster_Floating" IPPurposeTypeEnumMgmtClusterFloating IPPurposeTypeEnum = "Mgmt_Cluster_Floating" // IPPurposeTypeEnumMgmtApplianceFloating captures enum value "Mgmt_Appliance_Floating" IPPurposeTypeEnumMgmtApplianceFloating IPPurposeTypeEnum = "Mgmt_Appliance_Floating" // IPPurposeTypeEnumMgmtNodeCoreOS captures enum value "Mgmt_Node_CoreOS" IPPurposeTypeEnumMgmtNodeCoreOS IPPurposeTypeEnum = "Mgmt_Node_CoreOS" // IPPurposeTypeEnumMgmtNodeHost captures enum value "Mgmt_Node_Host" IPPurposeTypeEnumMgmtNodeHost IPPurposeTypeEnum = "Mgmt_Node_Host" // IPPurposeTypeEnumICMClusterFloating captures enum value "ICM_Cluster_Floating" IPPurposeTypeEnumICMClusterFloating IPPurposeTypeEnum = "ICM_Cluster_Floating" // IPPurposeTypeEnumICMApplianceFloating captures enum value "ICM_Appliance_Floating" IPPurposeTypeEnumICMApplianceFloating IPPurposeTypeEnum = "ICM_Appliance_Floating" // IPPurposeTypeEnumICMNodeCoreOS captures enum value "ICM_Node_CoreOS" IPPurposeTypeEnumICMNodeCoreOS IPPurposeTypeEnum = "ICM_Node_CoreOS" // IPPurposeTypeEnumStorageGlobal captures enum value "Storage_Global" IPPurposeTypeEnumStorageGlobal IPPurposeTypeEnum = "Storage_Global" // IPPurposeTypeEnumStorageIscsiInitiator captures enum value "Storage_Iscsi_Initiator" IPPurposeTypeEnumStorageIscsiInitiator IPPurposeTypeEnum = "Storage_Iscsi_Initiator" // IPPurposeTypeEnumStorageIscsiTarget captures enum value "Storage_Iscsi_Target" IPPurposeTypeEnumStorageIscsiTarget IPPurposeTypeEnum = "Storage_Iscsi_Target" // IPPurposeTypeEnumStorageNVMETCPPort captures enum value "Storage_NVMe_TCP_Port" IPPurposeTypeEnumStorageNVMETCPPort IPPurposeTypeEnum = "Storage_NVMe_TCP_Port" // IPPurposeTypeEnumStorageClusterFloating captures enum value "Storage_Cluster_Floating" IPPurposeTypeEnumStorageClusterFloating IPPurposeTypeEnum = "Storage_Cluster_Floating" // IPPurposeTypeEnumICDNode captures enum value "ICD_Node" IPPurposeTypeEnumICDNode IPPurposeTypeEnum = "ICD_Node" // IPPurposeTypeEnumSDNASClusterFloating captures enum value "SDNAS_Cluster_Floating" IPPurposeTypeEnumSDNASClusterFloating IPPurposeTypeEnum = "SDNAS_Cluster_Floating" // IPPurposeTypeEnumSDNASNode captures enum value "SDNAS_Node" IPPurposeTypeEnumSDNASNode IPPurposeTypeEnum = "SDNAS_Node" // IPPurposeTypeEnumSDNASNodeServiceability captures enum value "SDNAS_Node_Serviceability" IPPurposeTypeEnumSDNASNodeServiceability IPPurposeTypeEnum = "SDNAS_Node_Serviceability" // IPPurposeTypeEnumVmotion captures enum value "VMotion" IPPurposeTypeEnumVmotion IPPurposeTypeEnum = "VMotion" // IPPurposeTypeEnumUnused captures enum value "Unused" IPPurposeTypeEnumUnused IPPurposeTypeEnum = "Unused" )
type ImportHostSystem ¶ added in v1.12.0
type ImportHostSystem struct { // Unique identifier of the import host system. ID string `json:"id"` // Hostname or IPv4 address of the import host system. AgentAddress string `json:"agent_address"` }
ImportHostSystem - Details about an import host system.
type InitiatorCreateModify ¶
type InitiatorCreateModify struct { // Password for CHAP authentication. This value must be 12 to 64 UTF-8 characters. // This password is not queriable. CHAP password is required when the cluster CHAP mode is mutual authentication. ChapMutualPassword *string `json:"chap_mutual_password,omitempty"` // Username for CHAP authentication. This value must be 1 to 64 UTF-8 characters. // CHAP username is required when the cluster CHAP mode is mutual authentication. ChapMutualUsername *string `json:"chap_mutual_username,omitempty"` // Password for CHAP authentication. This value must be 12 to 64 UTF-8 characters. // This password is not queriable. CHAP password is required when the cluster CHAP mode is mutual authentication. ChapSinglePassword *string `json:"chap_single_password,omitempty"` // Username for CHAP authentication. This value must be 1 to 64 UTF-8 characters. // CHAP username is required when the cluster CHAP mode is mutual authentication. ChapSingleUsername *string `json:"chap_single_username,omitempty"` // IQN name aka address. // Required: true PortName *string `json:"port_name"` // port type // Required: true PortType *InitiatorProtocolTypeEnum `json:"port_type"` }
InitiatorCreateModify initiator create modify
type InitiatorInstance ¶
type InitiatorInstance struct { // Array of active login session between an initiator and a target port. ActiveSessions []ActiveSessionInstance `json:"active_sessions"` // Password for CHAP authentication. This value must be 12 to 64 UTF-8 characters. // This password is not queriable. CHAP password is required when the cluster CHAP mode is mutual authentication. ChapMutualPassword string `json:"chap_mutual_password,omitempty"` // Username for CHAP authentication. This value must be 1 to 64 UTF-8 characters. // CHAP username is required when the cluster CHAP mode is mutual authentication. ChapMutualUsername string `json:"chap_mutual_username,omitempty"` // Password for CHAP authentication. This value must be 12 to 64 UTF-8 characters. // This password is not queriable. CHAP password is required when the cluster CHAP mode is mutual authentication. ChapSinglePassword string `json:"chap_single_password,omitempty"` // Username for CHAP authentication. This value must be 1 to 64 UTF-8 characters. // CHAP username is required when the cluster CHAP mode is mutual authentication. ChapSingleUsername string `json:"chap_single_username,omitempty"` // IQN name aka address. PortName string `json:"port_name,omitempty"` // port type PortType InitiatorProtocolTypeEnum `json:"port_type,omitempty"` }
InitiatorInstance initiator instance
type InitiatorProtocolTypeEnum ¶
type InitiatorProtocolTypeEnum string
InitiatorProtocolTypeEnum Protocol type of the host initiator.
- iSCSI - An iSCSI initiator.
- FC - A Fibre Channel initiator.
const ( // InitiatorProtocolTypeEnumISCSI captures enum value "iSCSI" InitiatorProtocolTypeEnumISCSI InitiatorProtocolTypeEnum = "iSCSI" // InitiatorProtocolTypeEnumNVME captures enum value "NVMe" InitiatorProtocolTypeEnumNVME InitiatorProtocolTypeEnum = "NVMe" // InitiatorProtocolTypeEnumFC captures enum value "FC" InitiatorProtocolTypeEnumFC InitiatorProtocolTypeEnum = "FC" )
type LimitIDEnum ¶ added in v1.14.0
type LimitIDEnum string
LimitIDEnum - ID of limits returned by the /limit endpoint
const ( // MaxVolumeSize - Max size of a volume MaxVolumeSize LimitIDEnum = "Max_Volume_Size" // Max_VirtualVolume_Size - Max size of a virtual volume MaxVirtualVolumeSize LimitIDEnum = "Max_VirtualVolume_Size" // Max_Folder_Size - Max size of a folder MaxFolderSize LimitIDEnum = "Max_Folder_Size" )
type LocationHistory ¶ added in v1.11.0
type LocationHistory struct { FromApplianceID string `json:"from_appliance_id"` ToApplianceID string `json:"to_appliance_id"` }
LocationHistory of the volume resource
type MappedHostGroup ¶ added in v1.12.0
type MappedHostGroup struct { // Unique identifier of a mapping between a host and a volume. ID string `json:"id,omitempty"` // Unique identifier of a host attached to a volume. HostID string `json:"host_id,omitempty"` // Unique identifier of a host group attached to a volume. HostGroupID string `json:"host_group_id,omitempty"` // Unique identifier of the volume to which the host is attached. VolumeID string `json:"volume_id,omitempty"` // Details about a volume, including snapshots and clones of volumes. Volume Volume `json:"volume,omitempty"` }
type MappedHosts ¶ added in v1.12.0
type MappedHosts struct { // Unique identifier of a mapping between a host and a volume. ID string `json:"id"` // Unique identifier of a host attached to a volume. HostID string `json:"host_id"` // Unique identifier of the volume to which the host is attached. VolumeID string `json:"volume_id"` }
MappedHosts - Details about a configured host or host group attached to a volume.
type MappedVolumes ¶ added in v1.11.0
type MappedVolumes struct {
ID string `json:"id"`
}
MappedVolumes provides details about a configured host or host group attached to a volume
type MetaDataHeader ¶ added in v1.3.0
type MetaDataHeader struct {
// contains filtered or unexported fields
}
MetaDataHeader stores metadata used by other types
type MetricsIntervalEnum ¶ added in v1.3.0
type MetricsIntervalEnum string
Intervals of which metrics can be provided
Enum: [ Twenty_Sec, Five_Mins, One_Hour, One_Day ]
const ( // TwentySec is an interval used when retrieving metrics TwentySec MetricsIntervalEnum = "Twenty_Sec" // FiveMins is an interval used when retrieving metrics FiveMins MetricsIntervalEnum = "Five_Mins" // OneHour is an interval used when retrieving metrics OneHour MetricsIntervalEnum = "One_Hour" // OneDay is an interval used when retrieving metrics OneDay MetricsIntervalEnum = "One_Day" )
type MetricsRequest ¶ added in v1.1.0
type MetricsRequest struct { Entity string `json:"entity"` EntityID string `json:"entity_id"` Interval string `json:"interval"` }
MetricsRequest parameters to make metrics request
type MetroConfig ¶ added in v1.16.0
type MetroConfig struct { // RemoteSystemID is a required parameter specifying the remote PowerStore array/cluster on which // the metro volume should be replicated. RemoteSystemID string `json:"remote_system_id"` // RemoteApplianceID is an optional parameter specifying a specific remote PowerStore appliance // on which the metro volume or volume group should be replicated. RemoteApplianceID string `json:"remote_appliance_id,omitempty"` }
MetroConfig defines the properties required to configure a metro volume replication session.
type MetroSessionResponse ¶ added in v1.16.0
type MetroSessionResponse struct { // ID is a unique identifier of the metro replication session and // is included in response to configuring a metro . ID string `json:"metro_replication_session_id,omitempty"` }
MetroSessionResponse id the Unique identifier of the replication session assigned to the volume if it has been configured as a metro volume between two PowerStore clusters.
type MigrationSession ¶ added in v1.11.0
MigrationSession details of migration session
type NAS ¶ added in v1.1.0
type NAS struct { // Unique identifier of the NAS server. ID string `json:"id,omitempty"` // Description of the NAS server Description string `json:"description,omitempty"` // Name of the NAS server Name string `json:"name,omitempty"` // CurrentNodeId represents on which node the nas server is present CurrentNodeID string `json:"current_node_id,omitempty"` // NAS server operational status: [ Stopped, Starting, Started, Stopping, Failover, Degraded, Unknown ] OperationalStatus NASServerOperationalStatusEnum `json:"operational_status,omitempty"` // IPv4 file interface id nas server currently uses CurrentPreferredIPv4InterfaceID string `json:"current_preferred_IPv4_interface_id"` // NfsServers define NFS server instance if nfs exports are present NfsServers []NFSServerInstance `json:"nfs_servers"` }
Details about the NAS.
type NASAccessTypeEnum ¶ added in v1.10.0
type NASAccessTypeEnum string
NASAccessTypeEnums - NAS filesystem snapshot access method
const ( // NASAccessTypeEnumSnapshot - NAS filesystem snapshot access method - snapshot // the files within the snapshot may be access directly from the production file system in the .snapshot subdirectory of each directory. NASAccessTypeEnumSnapshot NASAccessTypeEnum = "Snapshot" // NASAccessTypeEnumProtocol - NAS filesystem snapshot access method - protocol // the entire file system snapshot may be shared and mounted on a client like any other file system, except that it is readonly. NASAccessTypeEnumProtocol NASAccessTypeEnum = "Protocol" )
type NASCreate ¶ added in v1.1.0
type NASCreate struct { Description string `json:"description,omitempty"` Name string `json:"name"` }
NASCreate params for creating 'create nas' request
type NASServerOperationalStatusEnum ¶ added in v1.1.0
type NASServerOperationalStatusEnum string
NASServerOperationalStatusEnum NAS lifecycle state.
const ( Stopped NASServerOperationalStatusEnum = "Stopped" Starting NASServerOperationalStatusEnum = "Starting" Started NASServerOperationalStatusEnum = "Started" Stopping NASServerOperationalStatusEnum = "Stopping" Failover NASServerOperationalStatusEnum = "Failover" Degraded NASServerOperationalStatusEnum = "Degraded" Unknown NASServerOperationalStatusEnum = "Unknown" )
type NFSExport ¶ added in v1.1.0
type NFSExport struct { // Unique id of the NFS Export ID string `json:"id,omitempty"` // Unique identifier of the file system on which the NFS Export was created FileSystemID string `json:"file_system_id,omitempty"` // NFS Export name Name string `json:"name,omitempty"` // NFS Export description Description string `json:"description,omitempty"` // Default access level for all hosts that can access the Export // [ No_Access, Read_Only, Read_Write, Root, Read_Only_Root ] DefaultAccess NFSExportDefaultAccessEnum `json:"default_access"` // Local path to a location within the file system. // With NFS, each export must have a unique local path. Path string `json:"path,omitempty"` // Read-Write hosts RWHosts []string `json:"read_write_hosts,omitempty"` // Read-Only hosts ROHosts []string `json:"read_only_hosts,omitempty"` // Read-Write, allow Root hosts RWRootHosts []string `json:"read_write_root_hosts,omitempty"` // Read-Only, allow Roots hosts RORootHosts []string `json:"read_only_root_hosts,omitempty"` // NFS enforced security type for users accessing an NFS Export. // [ Sys, Kerberos, Kerberos_With_Integrity, Kerberos_With_Encryption ] MinSecurity string `json:"min_security,omitempty"` // (*Applies to NFS shares of VMware NFS storage resources.*) // Default owner of the NFS Export associated with the datastore. // Required if secure NFS enabled. NFSOwnerUsername string `json:"nfs_owner_username,omitempty"` // Hosts with no access to the NFS export or its snapshots. NoAccessHosts []string `json:"no_access_hosts,omitempty"` // Specifies the user ID of the anonymous account. AnonymousUID int32 `json:"anonymous_UID,omitempty"` // Specifies the group ID of the anonymous account. AnonymousGID int32 `json:"anonymous_GID,omitempty"` // If set, do not allow access to set SUID. Otherwise, allow access. IsNoSUID bool `json:"is_no_SUID"` }
Details about the NFSExport.
type NFSExportCreate ¶ added in v1.1.0
type NFSExportCreate struct { // NFS Export name Name string `json:"name"` // NFS Export description Description string `json:"description,omitempty"` // Unique identifier of the file system on which the NFS Export was created FileSystemID string `json:"file_system_id"` // Local path to a location within the file system. Path string `json:"path"` // Default access level for all hosts that can access the Export DefaultAccess NFSExportDefaultAccessEnum `json:"default_access,omitempty"` // NFS enforced security type for users accessing an NFS Export. MinSecurity string `json:"min_security,omitempty"` // Hosts with no access to the NFS export or its snapshots. NoAccessHosts []string `json:"no_access_hosts,omitempty"` // Hosts with read-only access to the NFS export and its snapshots. ReadOnlyHosts []string `json:"read_only_hosts,omitempty"` // Hosts with read-only and read-only for root user access to the NFS Export and its snapshots. ReadOnlyRootHosts []string `json:"read_only_root_hosts,omitempty"` // Hosts with read and write access to the NFS export and its snapshots. ReadWriteHosts []string `json:"read_write_hosts,omitempty"` // Hosts with read and write and read and write for root user access to the NFS Export and its snapshots. ReadWriteRootHosts []string `json:"read_write_root_hosts,omitempty"` // Specifies the user ID of the anonymous account. AnonymousUID int32 `json:"anonymous_UID,omitempty"` // Specifies the group ID of the anonymous account. AnonymousGID int32 `json:"anonymous_GID,omitempty"` // If set, do not allow access to set SUID. Otherwise, allow access. IsNoSUID bool `json:"is_no_SUID"` // (*Applies to NFS shares of VMware NFS storage resources.*) Default owner of the NFS Export associated with the datastore. Required if secure NFS enabled. For NFSv3 or NFSv4 without Kerberos, the default owner is root. Was added in version 3.0.0.0. NFSOwnerUsername string `json:"nfs_owner_username,omitempty"` }
NFSExportCreate details about creation of new NFS export
type NFSExportDefaultAccessEnum ¶ added in v1.1.0
type NFSExportDefaultAccessEnum string
const ( NoAccess NFSExportDefaultAccessEnum = "No_Access" ReadOnly NFSExportDefaultAccessEnum = "Read_Only" ReadWrite NFSExportDefaultAccessEnum = "Read_Write" Root NFSExportDefaultAccessEnum = "Root" ReadOnlyRoot NFSExportDefaultAccessEnum = "Read_Only_Root " )
type NFSExportModify ¶ added in v1.1.0
type NFSExportModify struct { // An optional description for the host. // The description should not be more than 256 UTF-8 characters long and should not have any unprintable characters. Description string `json:"description,omitempty"` // Read-Write // Hosts to add to the current read_write_hosts list. Hosts can be entered by Hostname, IP addresses AddRWHosts []string `json:"add_read_write_hosts,omitempty"` // Hosts to remove from the current read_write_hosts list. Hosts can be entered by Hostname, IP addresses. RemoveRWHosts []string `json:"remove_read_write_hosts,omitempty"` // Read-Only // Hosts to add to the current read_only_hosts list. Hosts can be entered by Hostname, IP addresses AddROHosts []string `json:"add_read_only_hosts,omitempty"` // Hosts to remove from the current read_only_hosts list. Hosts can be entered by Hostname, IP addresses. RemoveROHosts []string `json:"remove_read_only_hosts,omitempty"` // Read-Write, allow Root // Hosts to add to the current read_write_root_hosts list. Hosts can be entered by Hostname, IP addresses AddRWRootHosts []string `json:"add_read_write_root_hosts,omitempty"` // Hosts to remove from the current read_write_root_hosts list. Hosts can be entered by Hostname, IP addresses. RemoveRWRootHosts []string `json:"remove_read_write_root_hosts,omitempty"` // Read-Only, allow Roots // Hosts to add to the current read_only_hosts list. Hosts can be entered by Hostname, IP addresses AddRORootHosts []string `json:"add_read_only_root_hosts,omitempty"` // Hosts to remove from the current read_only_hosts list. Hosts can be entered by Hostname, IP addresses. RemoveRORootHosts []string `json:"remove_read_only_root_hosts,omitempty"` // No-Access // Hosts to add to the current no_access_hosts list. Hosts can be entered by Hostname, IP addresses AddNoAccessHosts []string `json:"add_no_access_hosts,omitempty"` // Hosts to remove from the current no_access_hosts list. Hosts can be entered by Hostname, IP addresses RemoveNoAccessHosts []string `json:"remove_no_access_hosts,omitempty"` // Default access level for all hosts that can access the Export. DefaultAccess string `json:"default_access,omitempty"` // NFS enforced security type for users accessing an NFS Export. MinSecurity string `json:"min_security,omitempty"` // Hosts with no access to the NFS export or its snapshots. NoAccessHosts []string `json:"no_access_hosts,omitempty"` // Hosts with read-only access to the NFS export and its snapshots. ReadOnlyHosts []string `json:"read_only_hosts,omitempty"` // Hosts with read-only and read-only for root user access to the NFS Export and its snapshots. ReadOnlyRootHosts []string `json:"read_only_root_hosts,omitempty"` // Hosts with read and write access to the NFS export and its snapshots. ReadWriteHosts []string `json:"read_write_hosts,omitempty"` // Hosts with read and write and read and write for root user access to the NFS Export and its snapshots. ReadWriteRootHosts []string `json:"read_write_root_hosts,omitempty"` // Specifies the user ID of the anonymous account. AnonymousUID int32 `json:"anonymous_UID,omitempty"` // Specifies the group ID of the anonymous account. AnonymousGID int32 `json:"anonymous_GID,omitempty"` // If set, do not allow access to set SUID. Otherwise, allow access. IsNoSUID bool `json:"is_no_SUID"` // (*Applies to NFS shares of VMware NFS storage resources.*) Default owner of the NFS Export associated with the datastore. Required if secure NFS enabled. For NFSv3 or NFSv4 without Kerberos, the default owner is root. Was added in version 3.0.0.0. NFSOwnerUsername string `json:"nfs_owner_usernamestring,omitempty"` }
NFSExportModify details about modification of exiting NFS export
type NFSServerCreate ¶ added in v1.1.0
type NFSServerCreate struct { // Unique identifier of the NAS server NasServerID string `json:"nas_server_id"` // The name that will be used by NFS clients to connect to this NFS server // This name is required when using secure NFS HostName string `json:"host_name,omitempty"` // Indicates whether NFSv3 is enabled on the NAS server. When enabled, NFS shares can be accessed with NFSv3 IsNFSv3Enabled bool `json:"is_nfsv3_enabled,omitempty"` // Indicates whether NFSv4 is enabled on the NAS server. When enabled, NFS shares can be accessed with NFSv4 IsNFSv4Enabled bool `json:"is_nfsv4_enabled,omitempty"` // Indicates whether secure NFS is enabled on the NFS server IsSecureEnabled bool `json:"is_secure_enabled,omitempty"` }
NFSServerCreate details about creation of new NFS server
type NFSServerInstance ¶ added in v1.7.0
type NFSServerInstance struct { // Unique identifier for NFS server ID string `json:"id"` // IsNFSv4Enabled is set to true if nfsv4 is enabled on NAS server IsNFSv4Enabled bool `json:"is_nfsv4_enabled,omitempty"` }
NFS server instance in NAS server
func (*NFSServerInstance) Fields ¶ added in v1.7.0
func (n *NFSServerInstance) Fields() []string
type NodeAffinityEnum ¶ added in v1.11.0
type NodeAffinityEnum string
const ( NodeAffinityEnumSelectAtAttach NodeAffinityEnum = "System_Select_At_Attach" NodeAffinityEnumSelectNodeA NodeAffinityEnum = "System_Selected_Node_A" NodeAffinityEnumSelectNodeB NodeAffinityEnum = "System_Selected_Node_B" NodeAffinityEnumPreferredNodeA NodeAffinityEnum = "Preferred_Node_A" NodeAffinityEnumPreferredNodeB NodeAffinityEnum = "Preferred_Node_B" )
type OSTypeEnum ¶
type OSTypeEnum string
OSTypeEnum Operating system of the host.
const ( // OSTypeEnumWindows captures enum value "Windows" OSTypeEnumWindows OSTypeEnum = "Windows" // OSTypeEnumLinux captures enum value "Linux" OSTypeEnumLinux OSTypeEnum = "Linux" // OSTypeEnumESXi captures enum value "ESXi" OSTypeEnumESXi OSTypeEnum = "ESXi" )
type PerformanceMetricsByApplianceResponse ¶ added in v1.3.0
type PerformanceMetricsByApplianceResponse struct { CommonMetricsFields // Unique identifier representing a specific appliance. ApplianceID string `json:"appliance_id,omitempty"` // The average percentage of CPU Utilization on the cores dedicated to servicing storage I/O requests. Calculated over time interval across appliance. Derived from an average of utilization across all nodes within the appliance. AvgIoWorkloadCPUUtilization float32 `json:"avg_io_workload_cpu_utilization,omitempty"` CommonAvgFields // The percentage of CPU Utilization on the cores dedicated to servicing storage I/O requests. IoWorkloadCPUUtilization float32 `json:"io_workload_cpu_utilization,omitempty"` // The maximum percentage of CPU Utilization on the cores dedicated to servicing storage I/O requests. Calculated over time interval across appliance. Derived from an average of utilization across all nodes within the appliance. MaxIoWorkloadCPUUtilization float32 `json:"max_io_workload_cpu_utilization,omitempty"` CommonMaxAvgIopsBandwidthFields }
PerformanceMetricsByApplianceResponse is returned from performance_metrics_by_appliance
type PerformanceMetricsByClusterResponse ¶ added in v1.3.0
type PerformanceMetricsByClusterResponse struct { CommonMetricsFields // Identifier of the cluster. ClusterID string `json:"cluster_id,omitempty"` // Average size of read and write operations in bytes. AvgIoSize float32 `json:"avg_io_size,omitempty"` // Average read and write latency in microseconds. AvgLatency float32 `json:"avg_latency,omitempty"` // Weighted average read bandwidth in bytes per second. AvgReadBandwidth float32 `json:"avg_read_bandwidth,omitempty"` // Average reads per second. AvgReadIops float32 `json:"avg_read_iops,omitempty"` // Average read latency in microseconds. AvgReadLatency float32 `json:"avg_read_latency,omitempty"` // Average read size in bytes. AvgReadSize float32 `json:"avg_read_size,omitempty"` // Weighted average total bandwidth in bytes per second. AvgTotalBandwidth float32 `json:"avg_total_bandwidth,omitempty"` // Average total input and output operations per second. AvgTotalIops float64 `json:"avg_total_iops,omitempty"` // Weighted average write bandwidth in bytes per second. AvgWriteBandwidth float32 `json:"avg_write_bandwidth,omitempty"` // Average writes per second. AvgWriteIops float32 `json:"avg_write_iops,omitempty"` // Average write latency in microseconds. AvgWriteLatency float32 `json:"avg_write_latency,omitempty"` // Average write size in bytes. AvgWriteSize float32 `json:"avg_write_size,omitempty"` CommonMaxAvgIopsBandwidthFields }
PerformanceMetricsByClusterResponse is returned by performance_metrics_by_cluster
type PerformanceMetricsByFeEthNodeResponse ¶ added in v1.3.0
type PerformanceMetricsByFeEthNodeResponse struct { CommonMetricsFields // Reference to the associated appliance on which these metrics were recorded. ApplianceID string `json:"appliance_id,omitempty"` CommonEthPortFields }
PerformanceMetricsByFeEthNodeResponse is returned by performance_metrics_by_fe_eth_node
type PerformanceMetricsByFeEthPortResponse ¶ added in v1.3.0
type PerformanceMetricsByFeEthPortResponse struct { CommonMetricsFields // Reference to the associated appliance on which these metrics were recorded. ApplianceID string `json:"appliance_id,omitempty"` // Reference to the associated frontend ethernet port (eth_port) on which these metrics were recorded. FePortID string `json:"fe_port_id,omitempty"` CommonEthPortFields }
PerformanceMetricsByFeEthPortResponse is returned by performance_metrics_by_fe_eth_port
type PerformanceMetricsByFeFcNodeResponse ¶ added in v1.3.0
type PerformanceMetricsByFeFcNodeResponse struct { CommonMetricsFields // Average number of logins to the target from initiators. // Maximum: 9.223372036854776e+18 // Minimum: 0 AvgCurrentLogins *int64 `json:"avg_current_logins,omitempty"` // Average dumped frames per second. AvgDumpedFramesPs float32 `json:"avg_dumped_frames_ps,omitempty"` // Average invalid crc count per second. AvgInvalidCrcCountPs float32 `json:"avg_invalid_crc_count_ps,omitempty"` // Average invalid transmission word count per second. AvgInvalidTxWordCountPs float32 `json:"avg_invalid_tx_word_count_ps,omitempty"` // Average size of read and write operations in bytes. AvgIoSize float32 `json:"avg_io_size,omitempty"` // Average read and write latency in microseconds. AvgLatency float32 `json:"avg_latency,omitempty"` // Average link failure count per second. AvgLinkFailureCountPs float32 `json:"avg_link_failure_count_ps,omitempty"` // Average loss of signal count per second. AvgLossOfSignalCountPs float32 `json:"avg_loss_of_signal_count_ps,omitempty"` // Average loss of sync count per second. AvgLossOfSyncCountPs float32 `json:"avg_loss_of_sync_count_ps,omitempty"` // Average primitive sequence protocol error count per second. AvgPrimSeqProtErrCountPs float32 `json:"avg_prim_seq_prot_err_count_ps,omitempty"` // Weighted average read bandwidth in bytes per second. AvgReadBandwidth float32 `json:"avg_read_bandwidth,omitempty"` // Average reads per second. AvgReadIops float32 `json:"avg_read_iops,omitempty"` // Average read latency in microseconds. AvgReadLatency float32 `json:"avg_read_latency,omitempty"` // Average read size in bytes. AvgReadSize float32 `json:"avg_read_size,omitempty"` // Weighted average total bandwidth in bytes per second. AvgTotalBandwidth float32 `json:"avg_total_bandwidth,omitempty"` // Average total input and output operations per second. AvgTotalIops float64 `json:"avg_total_iops,omitempty"` // Weighted average write bandwidth in bytes per second. AvgWriteBandwidth float32 `json:"avg_write_bandwidth,omitempty"` // Average writes per second. AvgWriteIops float32 `json:"avg_write_iops,omitempty"` // Average write latency in microseconds. AvgWriteLatency float32 `json:"avg_write_latency,omitempty"` // Average write size in bytes. AvgWriteSize float32 `json:"avg_write_size,omitempty"` // The number of logins to the target from initiators. // Maximum: 9.223372036854776e+18 // Minimum: 0 CurrentLogins *int64 `json:"current_logins,omitempty"` // Dumped frames per second. DumpedFramesPs float32 `json:"dumped_frames_ps,omitempty"` // Invalid crc count per second. InvalidCrcCountPs float32 `json:"invalid_crc_count_ps,omitempty"` // Invalid transmission word count per second. InvalidTxWordCountPs float32 `json:"invalid_tx_word_count_ps,omitempty"` // Link failure count per second. LinkFailureCountPs float32 `json:"link_failure_count_ps,omitempty"` // Loss of signal count per second. LossOfSignalCountPs float32 `json:"loss_of_signal_count_ps,omitempty"` // Loss of sync count per second. LossOfSyncCountPs float32 `json:"loss_of_sync_count_ps,omitempty"` // Maximum number of logins to the target from initiators. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxCurrentLogins *int64 `json:"max_current_logins,omitempty"` // The maximum dumped frames per second. MaxDumpedFramesPs float32 `json:"max_dumped_frames_ps,omitempty"` // The maximum invalid crc count per second. MaxInvalidCrcCountPs float32 `json:"max_invalid_crc_count_ps,omitempty"` // The maximum invalid transmission word count per second. MaxInvalidTxWordCountPs float32 `json:"max_invalid_tx_word_count_ps,omitempty"` // The maximum link failure count per second. MaxLinkFailureCountPs float32 `json:"max_link_failure_count_ps,omitempty"` // The maximum loss of signal count per second. MaxLossOfSignalCountPs float32 `json:"max_loss_of_signal_count_ps,omitempty"` // The maximum loss of sync count per second. MaxLossOfSyncCountPs float32 `json:"max_loss_of_sync_count_ps,omitempty"` // The maximum primitive sequence protocol error count per second. MaxPrimSeqProtErrCountPs float32 `json:"max_prim_seq_prot_err_count_ps,omitempty"` // Reference to the associated node on which these metrics were recorded. NodeID string `json:"node_id,omitempty"` // Primitive sequence protocol error count per second. PrimSeqProtErrCountPs float32 `json:"prim_seq_prot_err_count_ps,omitempty"` CommonUnalignedFields CommonMaxAvgIopsBandwidthFields }
PerformanceMetricsByFeFcNodeResponse is returned by performance_metrics_by_fe_fc_node
type PerformanceMetricsByFeFcPortResponse ¶ added in v1.3.0
type PerformanceMetricsByFeFcPortResponse struct { CommonMetricsFields // Reference to the associated frontend fibre channel port (fc_port) on which these metrics were recorded. FePortID string `json:"fe_port_id,omitempty"` // Reference to the associated appliance on which these metrics were recorded. ApplianceID string `json:"appliance_id,omitempty"` // Average number of logins to the target from initiators. // Maximum: 9.223372036854776e+18 // Minimum: 0 AvgCurrentLogins *int64 `json:"avg_current_logins,omitempty"` // Average dumped frames per second. AvgDumpedFramesPs float32 `json:"avg_dumped_frames_ps,omitempty"` // Average invalid crc count per second. AvgInvalidCrcCountPs float32 `json:"avg_invalid_crc_count_ps,omitempty"` // Average invalid transmission word count per second. AvgInvalidTxWordCountPs float32 `json:"avg_invalid_tx_word_count_ps,omitempty"` // Average size of read and write operations in bytes. AvgIoSize float32 `json:"avg_io_size,omitempty"` // Average read and write latency in microseconds. AvgLatency float32 `json:"avg_latency,omitempty"` // Average link failure count per second. AvgLinkFailureCountPs float32 `json:"avg_link_failure_count_ps,omitempty"` // Average loss of signal count per second. AvgLossOfSignalCountPs float32 `json:"avg_loss_of_signal_count_ps,omitempty"` // Average loss of sync count per second. AvgLossOfSyncCountPs float32 `json:"avg_loss_of_sync_count_ps,omitempty"` // Average primitive sequence protocol error count per second. AvgPrimSeqProtErrCountPs float32 `json:"avg_prim_seq_prot_err_count_ps,omitempty"` // Weighted average read bandwidth in bytes per second. AvgReadBandwidth float32 `json:"avg_read_bandwidth,omitempty"` // Average reads per second. AvgReadIops float32 `json:"avg_read_iops,omitempty"` // Average read latency in microseconds. AvgReadLatency float32 `json:"avg_read_latency,omitempty"` // Average read size in bytes. AvgReadSize float32 `json:"avg_read_size,omitempty"` // Weighted average total bandwidth in bytes per second. AvgTotalBandwidth float32 `json:"avg_total_bandwidth,omitempty"` // Average total input and output operations per second. AvgTotalIops float64 `json:"avg_total_iops,omitempty"` // Weighted average write bandwidth in bytes per second. AvgWriteBandwidth float32 `json:"avg_write_bandwidth,omitempty"` // Average writes per second. AvgWriteIops float32 `json:"avg_write_iops,omitempty"` // Average write latency in microseconds. AvgWriteLatency float32 `json:"avg_write_latency,omitempty"` // Average write size in bytes. AvgWriteSize float32 `json:"avg_write_size,omitempty"` // The number of logins to the target from initiators. // Maximum: 9.223372036854776e+18 // Minimum: 0 CurrentLogins *int64 `json:"current_logins,omitempty"` // Dumped frames per second. DumpedFramesPs float32 `json:"dumped_frames_ps,omitempty"` // Invalid crc count per second. InvalidCrcCountPs float32 `json:"invalid_crc_count_ps,omitempty"` // Invalid transmission word count per second. InvalidTxWordCountPs float32 `json:"invalid_tx_word_count_ps,omitempty"` // Link failure count per second. LinkFailureCountPs float32 `json:"link_failure_count_ps,omitempty"` // Loss of signal count per second. LossOfSignalCountPs float32 `json:"loss_of_signal_count_ps,omitempty"` // Loss of sync count per second. LossOfSyncCountPs float32 `json:"loss_of_sync_count_ps,omitempty"` // Maximum number of logins to the target from initiators. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxCurrentLogins *int64 `json:"max_current_logins,omitempty"` // The maximum dumped frames per second. MaxDumpedFramesPs float32 `json:"max_dumped_frames_ps,omitempty"` // The maximum invalid crc count per second. MaxInvalidCrcCountPs float32 `json:"max_invalid_crc_count_ps,omitempty"` // The maximum invalid transmission word count per second. MaxInvalidTxWordCountPs float32 `json:"max_invalid_tx_word_count_ps,omitempty"` // The maximum link failure count per second. MaxLinkFailureCountPs float32 `json:"max_link_failure_count_ps,omitempty"` // The maximum loss of signal count per second. MaxLossOfSignalCountPs float32 `json:"max_loss_of_signal_count_ps,omitempty"` // The maximum loss of sync count per second. MaxLossOfSyncCountPs float32 `json:"max_loss_of_sync_count_ps,omitempty"` // The maximum primitive sequence protocol error count per second. MaxPrimSeqProtErrCountPs float32 `json:"max_prim_seq_prot_err_count_ps,omitempty"` // Reference to the node the port belongs to. NodeID string `json:"node_id,omitempty"` // Primitive sequence protocol error count per second. PrimSeqProtErrCountPs float32 `json:"prim_seq_prot_err_count_ps,omitempty"` CommonUnalignedFields CommonMaxAvgIopsBandwidthFields }
PerformanceMetricsByFeFcPortResponse is returned by performance_metrics_by_fe_fc_port
type PerformanceMetricsByFileSystemResponse ¶ added in v1.3.0
type PerformanceMetricsByFileSystemResponse struct { CommonMetricsFields // Average read and write latency in microseconds. AvgLatency float32 `json:"avg_latency,omitempty"` // Average read rate in bytes per second. AvgReadBandwidth float32 `json:"avg_read_bandwidth,omitempty"` // Average read operations per second. AvgReadIops float32 `json:"avg_read_iops,omitempty"` // Average read latency in microseconds. AvgReadLatency float32 `json:"avg_read_latency,omitempty"` // Average read size in bytes. AvgReadSize float32 `json:"avg_read_size,omitempty"` // Average read and write size in bytes. AvgSize float32 `json:"avg_size,omitempty"` // Average data transfer rate in bytes per second. AvgTotalBandwidth float32 `json:"avg_total_bandwidth,omitempty"` // Average read and write operations per second. AvgTotalIops float32 `json:"avg_total_iops,omitempty"` // Average write rate in bytes per second. AvgWriteBandwidth float32 `json:"avg_write_bandwidth,omitempty"` // Average write operations per second. AvgWriteIops float32 `json:"avg_write_iops,omitempty"` // Average write latency in microseconds. AvgWriteLatency float32 `json:"avg_write_latency,omitempty"` // Average write size in bytes. AvgWriteSize float32 `json:"avg_write_size,omitempty"` // Unique identifier of the file system. FileSystemID string `json:"file_system_id,omitempty"` // Maximum of average read and write latency in microseconds. MaxAvgLatency float32 `json:"max_avg_latency,omitempty"` // Maximum of average read latency in microseconds. MaxAvgReadLatency float32 `json:"max_avg_read_latency,omitempty"` // Maximum of average read size in bytes. MaxAvgReadSize float32 `json:"max_avg_read_size,omitempty"` // Maximum of average read and write size in bytes. MaxAvgSize float32 `json:"max_avg_size,omitempty"` // Maximum of average write latency in microseconds. MaxAvgWriteLatency float32 `json:"max_avg_write_latency,omitempty"` // Maximum of average write size in bytes. MaxAvgWriteSize float32 `json:"max_avg_write_size,omitempty"` // Maximum read and write operations per second. MaxIops float32 `json:"max_iops,omitempty"` // Maximum read rate in bytes per second. MaxReadBandwidth float32 `json:"max_read_bandwidth,omitempty"` // Maximum read operations per second. MaxReadIops float32 `json:"max_read_iops,omitempty"` // Maximum data transfer rate in bytes per second. MaxTotalBandwidth float32 `json:"max_total_bandwidth,omitempty"` // Maximum write rate in bytes per second. MaxWriteBandwidth float32 `json:"max_write_bandwidth,omitempty"` // Maximum write operations per second. MaxWriteIops float32 `json:"max_write_iops,omitempty"` // Read rate in bytes per second. ReadBandwidth float32 `json:"read_bandwidth,omitempty"` // Total read operations per second. ReadIops float32 `json:"read_iops,omitempty"` // Total data transfer rate in bytes per second. TotalBandwidth float32 `json:"total_bandwidth,omitempty"` // Total read and write operations per second. TotalIops float32 `json:"total_iops,omitempty"` // Write rate in bytes per second. WriteBandwidth float32 `json:"write_bandwidth,omitempty"` // Total write operations per second. WriteIops float32 `json:"write_iops,omitempty"` }
PerformanceMetricsByFileSystemResponse is returned by performance_metrics_by_file_system
type PerformanceMetricsByNfsResponse ¶ added in v1.3.0
type PerformanceMetricsByNfsResponse struct { CommonMetricsFields // Average read and write size in bytes. AvgIoSize float32 `json:"avg_io_size,omitempty"` // Average read and write latency in microseconds. AvgLatency float32 `json:"avg_latency,omitempty"` // Average read operations per second. AvgReadIops float32 `json:"avg_read_iops,omitempty"` // Average read latency in microseconds. AvgReadLatency float32 `json:"avg_read_latency,omitempty"` // Average read size in bytes. AvgReadSize float32 `json:"avg_read_size,omitempty"` // Average write latency in microseconds. AvgWriteLatency float32 `json:"avg_write_latency,omitempty"` // Average read and write operations per second. AvgTotalIops float32 `json:"avg_total_iops,omitempty"` // Average write operations per second. AvgWriteIops float32 `json:"avg_write_iops,omitempty"` // Average write size in bytes. AvgWriteSize float32 `json:"avg_write_size,omitempty"` // Maximum of average read and write size in bytes. MaxAvgIoSize float32 `json:"max_avg_io_size,omitempty"` // Maximum of average read and write latency in microseconds. MaxAvgLatency float32 `json:"max_avg_latency,omitempty"` // Maximum of average read latency in microseconds. MaxAvgReadLatency float32 `json:"max_avg_read_latency,omitempty"` // Maximum of average read size in bytes. MaxAvgReadSize float32 `json:"max_avg_read_size,omitempty"` // Maximum of average write latency in microseconds. MaxAvgWriteLatency float32 `json:"max_avg_write_latency,omitempty"` // Maximum of average write size in bytes. MaxAvgWriteSize float32 `json:"max_avg_write_size,omitempty"` // Maximum read and write operations per second. MaxIops float32 `json:"max_iops,omitempty"` // Maximum read operations per second. MaxReadIops float32 `json:"max_read_iops,omitempty"` // Maximum write operations per second. MaxWriteIops float32 `json:"max_write_iops,omitempty"` // Unique identifier of the node. NodeID string `json:"node_id,omitempty"` // Total read operations per second. ReadIops float32 `json:"read_iops,omitempty"` // Total read and write operations per second. TotalIops float32 `json:"total_iops,omitempty"` // Total write operations per second. WriteIops float32 `json:"write_iops,omitempty"` }
PerformanceMetricsByNfsResponse is returned by performance_metrics_nfs_by_node
type PerformanceMetricsByNfsv3Response ¶ added in v1.3.0
type PerformanceMetricsByNfsv3Response struct { CommonMetricsFields CommonNfsv34ResponseFields }
PerformanceMetricsByNfsv3Response is returned by performance_metrics_nfsv3_by_node
type PerformanceMetricsByNfsv4Response ¶ added in v1.3.0
type PerformanceMetricsByNfsv4Response struct { CommonMetricsFields CommonNfsv34ResponseFields }
PerformanceMetricsByNfsv4Response is returned by performance_metrics_nfsv4_by_node
type PerformanceMetricsByNodeResponse ¶ added in v1.3.0
type PerformanceMetricsByNodeResponse struct { CommonMetricsFields // Reference to the associated appliance on which these metrics were recorded. ApplianceID string `json:"appliance_id,omitempty"` // Average number of logins to the target from initiators. // Maximum: 9.223372036854776e+18 // Minimum: 0 AvgCurrentLogins *int64 `json:"avg_current_logins,omitempty"` // The average percentage of CPU Utilization on the cores dedicated to servicing storage I/O requests. Calculated over time across appliance. Derived from an average of utilization across all nodes within the appliance. AvgIoWorkloadCPUUtilization float32 `json:"avg_io_workload_cpu_utilization,omitempty"` // Average size of read and write operations in bytes. AvgIoSize float32 `json:"avg_io_size,omitempty"` // Average read and write latency in microseconds. AvgLatency float32 `json:"avg_latency,omitempty"` // Weighted average read bandwidth in bytes per second. AvgReadBandwidth float32 `json:"avg_read_bandwidth,omitempty"` // Average reads per second. AvgReadIops float32 `json:"avg_read_iops,omitempty"` // Average read latency in microseconds. AvgReadLatency float32 `json:"avg_read_latency,omitempty"` // Average read size in bytes. AvgReadSize float32 `json:"avg_read_size,omitempty"` // Weighted average total bandwidth in bytes per second. AvgTotalBandwidth float32 `json:"avg_total_bandwidth,omitempty"` // Average total input and output operations per second. AvgTotalIops float64 `json:"avg_total_iops,omitempty"` // Weighted average write bandwidth in bytes per second. AvgWriteBandwidth float32 `json:"avg_write_bandwidth,omitempty"` // Average writes per second. AvgWriteIops float32 `json:"avg_write_iops,omitempty"` // Average write latency in microseconds. AvgWriteLatency float32 `json:"avg_write_latency,omitempty"` // Average write size in bytes. AvgWriteSize float32 `json:"avg_write_size,omitempty"` // The number of logins to the target from initiators. // Maximum: 9.223372036854776e+18 // Minimum: 0 CurrentLogins *int64 `json:"current_logins,omitempty"` // The percentage of CPU Utilization on the cores dedicated to servicing storage I/O requests. IoWorkloadCPUUtilization float32 `json:"io_workload_cpu_utilization,omitempty"` // Maximum number of logins to the target from initiators. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxCurrentLogins *int64 `json:"max_current_logins,omitempty"` // The maximum percentage of CPU Utilization on the cores dedicated to servicing storage I/O requests. Calculated over time across appliance. Derived from an average of utilization across all nodes within the appliance. MaxIoWorkloadCPUUtilization float32 `json:"max_io_workload_cpu_utilization,omitempty"` // Unique identifier representing a specific node. NodeID string `json:"node_id,omitempty"` CommonUnalignedFields CommonMaxAvgIopsBandwidthFields }
PerformanceMetricsByNodeResponse is returned by performance_metrics_by_node
type PerformanceMetricsBySmbCacheResponse ¶ added in v1.3.0
type PerformanceMetricsBySmbCacheResponse struct { CommonMetricsFields // Average hash latency. HashAvgLatency float32 `json:"hash_avg_latency,omitempty"` // Average hash size. HashAvgSize float32 `json:"hash_avg_size,omitempty"` // Average max hash latency. HashMaxAvgLatency float32 `json:"hash_max_avg_latency,omitempty"` // Average max hash size. HashMaxAvgSize float32 `json:"hash_max_avg_size,omitempty"` // Max hash latency. HashMaxLatency float32 `json:"hash_max_latency,omitempty"` // Max hash size. HashMaxSize float32 `json:"hash_max_size,omitempty"` // Min hash latency. HashMinLatency float32 `json:"hash_min_latency,omitempty"` // Max hash size. HashMinSize float32 `json:"hash_min_size,omitempty"` // Max used threads MaxUsedThreads float32 `json:"max_used_threads,omitempty"` // Unique identifier of the node. NodeID string `json:"node_id,omitempty"` // Total rejected task. TotalRejectedTasks float32 `json:"total_rejected_tasks,omitempty"` // Total tasks. TotalTasks float32 `json:"total_tasks,omitempty"` }
PerformanceMetricsBySmbCacheResponse is returned by performance_metrics_smb_branch_cache_by_node
type PerformanceMetricsBySmbClientResponse ¶ added in v1.3.0
type PerformanceMetricsBySmbClientResponse struct { CommonMetricsFields CommonSMBFields }
PerformanceMetricsBySmbClientResponse is returned by performance_metrics_smb_builtinclient_by_node
type PerformanceMetricsBySmbNodeResponse ¶ added in v1.3.0
type PerformanceMetricsBySmbNodeResponse struct { CommonMetricsFields CommonSMBFields }
PerformanceMetricsBySmbNodeResponse is returned by performance_metrics_smb_by_node
type PerformanceMetricsBySmbV1BuiltinClientResponse ¶ added in v1.3.0
type PerformanceMetricsBySmbV1BuiltinClientResponse struct { CommonMetricsFields CommonSMBFields }
PerformanceMetricsBySmbV1BuiltinClientResponse is returned by performance_metrics_smb1_builtinclient_by_node
type PerformanceMetricsBySmbV1NodeResponse ¶ added in v1.3.0
type PerformanceMetricsBySmbV1NodeResponse struct { CommonMetricsFields CommonSMBFields }
PerformanceMetricsBySmbV1NodeResponse is returned by performance_metrics_smb1_by_node
type PerformanceMetricsBySmbV2BuiltinClientResponse ¶ added in v1.3.0
type PerformanceMetricsBySmbV2BuiltinClientResponse struct { CommonMetricsFields CommonSMBFields }
PerformanceMetricsBySmbV2BuiltinClientResponse is returned by performance_metrics_smb2_builtinclient_by_node
type PerformanceMetricsBySmbV2NodeResponse ¶ added in v1.3.0
type PerformanceMetricsBySmbV2NodeResponse struct { CommonMetricsFields CommonSMBFields }
PerformanceMetricsBySmbV2NodeResponse is returned by performance_metrics_smb2_by_node
type PerformanceMetricsByVMResponse ¶ added in v1.3.0
type PerformanceMetricsByVMResponse struct { CommonMetricsFields // Unique identifier representing a specific virtual machine. VMID string `json:"vm_id,omitempty"` CommonAvgFields CommonMaxAvgIopsBandwidthFields }
PerformanceMetricsByVMResponse is returned by performance_metrics_by_vm
type PerformanceMetricsByVgResponse ¶ added in v1.3.0
type PerformanceMetricsByVgResponse struct { CommonMetricsFields // Unique identifier representing a volume group. VgID string `json:"vg_id,omitempty"` // Average size of read and write operations in bytes. AvgIoSize float32 `json:"avg_io_size,omitempty"` // Average read and write latency in microseconds. AvgLatency float32 `json:"avg_latency,omitempty"` // Average read latency in microseconds. AvgReadLatency float32 `json:"avg_read_latency,omitempty"` // Average read size in bytes. AvgReadSize float32 `json:"avg_read_size,omitempty"` // Average write latency in microseconds. AvgWriteLatency float32 `json:"avg_write_latency,omitempty"` // Average write size in bytes. AvgWriteSize float32 `json:"avg_write_size,omitempty"` // Read rate in byte/sec. ReadBandwidth float32 `json:"read_bandwidth,omitempty"` // Total read operations per second. ReadIops float32 `json:"read_iops,omitempty"` // Total data transfer rate in bytes per second. TotalBandwidth float32 `json:"total_bandwidth,omitempty"` // Total read and write operations per second. TotalIops float32 `json:"total_iops,omitempty"` // Write rate in byte/sec. WriteBandwidth float32 `json:"write_bandwidth,omitempty"` // Total write operations per second. WriteIops float32 `json:"write_iops,omitempty"` }
PerformanceMetricsByVgResponse is returned by performance_metrics_by_vg
type PerformanceMetricsByVolumeResponse ¶ added in v1.3.0
type PerformanceMetricsByVolumeResponse struct { CommonMetricsFields // Unique identifier representing a specific volume. VolumeID string `json:"volume_id,omitempty"` // Reference to the associated appliance on which these metrics were recorded. ApplianceID string `json:"appliance_id,omitempty"` CommonAvgFields CommonMaxAvgIopsBandwidthFields }
PerformanceMetricsByVolumeResponse is returned by performance_metrics_by_volume
type PerformanceRules ¶ added in v1.12.0
type PerformanceRules struct { ID string `json:"id"` Name string `json:"name"` IoPriority string `json:"io_priority"` }
PerformanceRules - Details of performance rule
type PolicyManagedByEnum ¶ added in v1.10.0
type PolicyManagedByEnum string
PolicyManagedByEnum - defines entities who manage the instance
const ( // PolicyManagedByEnumUser - instance is managed by the end user PolicyManagedByEnumUser PolicyManagedByEnum = "User" // PolicyManagedByEnumMetro - instance is managed by the peer system where the policy was assigned, in a Metro Cluster configuration PolicyManagedByEnumMetro PolicyManagedByEnum = "Metro" // PolicyManagedByEnumReplication - destination instance is managed by the source system in a Replication configuration PolicyManagedByEnumReplication PolicyManagedByEnum = "Replication" // PolicyManagedByEnumVMware_vSphere - instance is managed by the system through VMware vSphere/vCenter PolicyManagedByEnumVMwareVSphere PolicyManagedByEnum = "VMware_vSphere" )
type ProtectionData ¶
type ProtectionData struct { SourceID string `json:"source_id"` ExpirationTimeStamp string `json:"expiration_timestamp"` CreatorType string `json:"creator_type"` ParentID string `json:"parent_id"` }
ProtectionData is a field that holds meta information about volume creation
type ProtectionPolicy ¶ added in v1.4.0
type ProtectionPolicy struct { ID string `json:"id"` Name string `json:"name"` Description string `json:"description"` Type string `json:"type"` ManagedBy string `json:"managed_by,omitempty"` ManagedByID string `json:"managed_by_id"` IsReadOnly bool `json:"is_read_only"` IsReplica bool `json:"is_replica"` TypeL10 string `json:"type_l10"` ManagedByL10 string `json:"managed_by_l10n"` VirtualMachines []VirtualMachines `json:"virtual_machines"` FileSystems []FileSystems `json:"file_systems"` PerformanceRules []PerformanceRules `json:"performance_rules"` ReplicationRules []ReplicationRule `json:"replication_rules"` SnapshotRules []SnapshotRule `json:"snapshot_rules"` Volumes []Volume `json:"volumes"` VolumeGroups []VolumeGroup `json:"volume_groups"` }
func (*ProtectionPolicy) Fields ¶ added in v1.4.0
func (policy *ProtectionPolicy) Fields() []string
type ProtectionPolicyCreate ¶ added in v1.4.0
type ProtectionPolicyCreate struct { // Policy name. Name string `json:"name"` // Policy description. Description string `json:"description,omitempty"` // IDs of replication rules ReplicationRuleIDs []string `json:"replication_rule_ids"` // IDs of snapshot rules SnapshotRuleIDs []string `json:"snapshot_rule_ids"` }
ProtectionPolicyCreate create protection policy request
type RSStateEnum ¶ added in v1.5.0
type RSStateEnum string
type RemoteCapabilitiesEnum ¶ added in v1.16.0
type RemoteCapabilitiesEnum string
const ( AsyncBlock RemoteCapabilitiesEnum = "Asynchronous_Block_Replication" SyncBlock RemoteCapabilitiesEnum = "Synchronous_Block_Replication" AsyncFile RemoteCapabilitiesEnum = "Asynchronous_File_Replication" AsyncVvol RemoteCapabilitiesEnum = "Asynchronous_Vvol_Replication" BlockNonDisruptiveImport RemoteCapabilitiesEnum = "Block_Nondisruptive_Import" BlockAgentlessImport RemoteCapabilitiesEnum = "Block_Agentless_Import" FileImport RemoteCapabilitiesEnum = "File_Import" BlockMetro RemoteCapabilitiesEnum = "Block_Metro_Active_Active" RemoteBackup RemoteCapabilitiesEnum = "Remote_Backup" SyncFile RemoteCapabilitiesEnum = "Synchronous_File_Replication" )
List of possible remote protection capabilities for a remote system
type RemoteSystem ¶ added in v1.4.0
type RemoteSystem struct { // Unique identifier of the remote system instance. ID string `json:"id,omitempty"` // User-specified name of the remote system instance. // This property supports case-insensitive filtering Name string `json:"name,omitempty"` // User-specified description of the remote system instance. Description string `json:"description,omitempty"` // Serial number of the remote system instance SerialNumber string `json:"serial_number,omitempty"` // Management IP address of the remote system instance ManagementAddress string `json:"management_address,omitempty"` // Possible data connection states of a remote system DataConnectionState string `json:"data_connection_state,omitempty"` // List of supported remote protection capabilities Capabilities []string `json:"capabilities,omitempty"` }
RemoteSystem details about a remote system
func (*RemoteSystem) Fields ¶ added in v1.4.0
func (r *RemoteSystem) Fields() []string
Fields returns fields which must be requested to fill struct
type ReplicationRoleEnum ¶ added in v1.16.0
type ReplicationRoleEnum string
ReplicationRoleEnum - List of replication role types associated with a replication session
const ( ReplicationRoleSource ReplicationRoleEnum = "Source" ReplicationRoleDestination ReplicationRoleEnum = "Destination" ReplicationRoleMetroPreferred ReplicationRoleEnum = "Metro_Preferred" ReplicationRoleMetroNonPreferred ReplicationRoleEnum = "Metro_Non_Preferred" )
type ReplicationRule ¶ added in v1.4.0
type ReplicationRule struct { // ID of replication rule ID string `json:"id"` // Name of replication rule Name string `json:"name"` // Rpo (Recovery point objective), which is the acceptable amount of data, measured in units of time, that may be lost in case of a failure. // If RPO is Zero, it indicates the replication_type is 'sync'. Rpo RPOEnum `json:"rpo"` // RemoteSystemID - unique identifier of the remote system to which this rule will replicate the associated resources. RemoteSystemID string `json:"remote_system_id"` ProtectionPolicies []ProtectionPolicy `json:"policies"` AlertThreshold int `json:"alert_threshold"` IsReadOnly bool `json:"is_read_only,omitempty"` IsReplica bool `json:"is_replica,omitempty"` ManagedBy string `json:"managed_by,omitempty"` ManagedByID string `json:"managed_by_id,omitempty"` RemoteSystem RemoteSystem `json:"remote_system,omitempty"` ReplicationSession []ReplicationSession `json:"replication_sessions,omitempty"` }
func (*ReplicationRule) Fields ¶ added in v1.4.0
func (rule *ReplicationRule) Fields() []string
type ReplicationRuleCreate ¶ added in v1.4.0
type ReplicationRuleCreate struct { // Name of the replication rule. Name string `json:"name"` // Recovery point objective (RPO), which is the acceptable amount of data, measured in units of time, that may be lost in case of a failure. // If RPO is Zero, it indicates the replication_type is 'sync'. Rpo RPOEnum `json:"rpo"` // Unique identifier of the remote system to which this rule will replicate the associated resources RemoteSystemID string `json:"remote_system_id"` AlertThreshold int `json:"alert_threshold,omitempty"` IsReadOnly bool `json:"is_read_only,omitempty"` }
ReplicationRuleCreate create replication rule request
type ReplicationRuleModify ¶ added in v1.17.0
type ReplicationRuleModify struct { // Name of the replication rule. Name string `json:"name,omitempty"` // Recovery point objective (RPO), which is the acceptable amount of data, measured in units of time, that may be lost in case of a failure. // If RPO is Zero, it indicates the replication_type is 'sync'. Rpo RPOEnum `json:"rpo,omitempty"` // Unique identifier of the remote system to which this rule will replicate the associated resources RemoteSystemID string `json:"remote_system_id,omitempty"` AlertThreshold int `json:"alert_threshold,omitempty"` }
ReplicationRuleModify modifies replication rule
type ReplicationSession ¶ added in v1.4.0
type ReplicationSession struct { ID string `json:"id,omitempty"` State RSStateEnum `json:"state,omitempty"` Role string `json:"role,omitempty"` ResourceType string `json:"resource_type,omitempty"` LocalResourceID string `json:"local_resource_id,omitempty"` RemoteResourceID string `json:"remote_resource_id,omitempty"` RemoteSystemID string `json:"remote_system_id,omitempty"` // todo: maybe name? // Type of replication session. One of Synchronous, Asynchronous, or Metro_Active_Active. Type string `json:"type,omitempty"` StorageElementPairs []StorageElementPair `json:"storage_element_pairs,omitempty"` }
func (*ReplicationSession) Fields ¶ added in v1.4.0
func (r *ReplicationSession) Fields() []string
type RequestConfig ¶
type RequestConfig api.RequestConfig
RequestConfig represents options for request
func (RequestConfig) RenderRequestConfig ¶
func (rc RequestConfig) RenderRequestConfig() api.RequestConfig
RenderRequestConfig returns internal struct with request config
type SnapshotCreate ¶
type SnapshotCreate struct { // Unique name for the snapshot to be created. Name *string `json:"name,omitempty"` // Description of the snapshot. Description *string `json:"description,omitempty"` // Unique identifier of the performance policy assigned to the volume. PerformancePolicyID string `json:"performance_policy_id,omitempty"` // ExpirationTimestamp provides volume group creation time ExpirationTimestamp string `json:"expiration_timestamp,omitempty"` // CreatorType provides volume group creation time CreatorType StorageCreatorTypeEnum `json:"creator_type,omitempty"` }
SnapshotCreate params for creating 'create snapshot' request
type SnapshotFSCreate ¶ added in v1.1.0
type SnapshotFSCreate struct { // Unique name for the snapshot to be created. Name string `json:"name,omitempty"` // Description of the snapshot. Description string `json:"description,omitempty"` // Expiration timestamp of the snapshot. ExpirationTimestamp string `json:"expiration_timestamp,omitempty"` // Access type of the snapshot which can be 'Protocol' / 'Snapshot' AccessType string `json:"access_type,omitempty"` }
SnapshotFSCreate params for creating 'create snapshot' request
type SnapshotRule ¶ added in v1.10.0
type SnapshotRule struct { // Unique identifier of the snapshot rule ID string `json:"id,omitempty"` // Snapshot rule name. // This property supports case-insensitive filtering. Name string `json:"name,omitempty"` // Interval between snapshots taken by a snapshot rule. Interval SnapshotRuleIntervalEnum `json:"interval,omitempty"` // Time of the day to take a daily snapshot, with format "hh:mm" using a 24 hour clock // Either the interval parameter or the time_of_day parameter will be set, but not both. TimeOfDay string `json:"time_of_day,omitempty"` // Time zone identifier for applying the time zone to the time_of_day for a snapshot rule, including any DST effects if applicable // Applies only when a time_of_day is specified in the snapshot rule. Defaults to UTC if not specified. // Was added in version 2.0.0.0 TimeZone TimeZoneEnum `json:"timezone,omitempty"` // Days of the week when the snapshot rule should be applied. // Days are determined based on the UTC time zone, unless the time_of_day and timezone properties are set. DaysOfWeek []DaysOfWeekEnum `json:"days_of_week,omitempty"` // Desired snapshot retention period in hours. The system will retain snapshots for this time period. // minimum: 0 // maximum: 8760 DesiredRetention int32 `json:"desired_retention,omitempty"` // Indicates whether this is a replica of a snapshot rule on a remote system // that is the source of a replication session replicating a storage resource to the local system. // defalut : false IsReplica bool `json:"is_replica,omitempty"` // NAS filesystem snapshot access method. // setting is ignored for volume, virtual_volume, and volume_group snapshots NASAccessType NASAccessTypeEnum `json:"nas_access_type,omitempty"` // Indicates whether this snapshot rule can be modified. // default: false IsReadOnly bool `json:"is_read_only,omitempty"` // entity that owns and manages this instance ManagedBy PolicyManagedByEnum `json:"managed_by,omitempty"` // Unique identifier of the managing entity based on the value of the managed_by property, as shown below: // User - Empty // Metro - Unique identifier of the remote system where the policy was assigned. // Replication - Unique identifier of the source remote system. // VMware_vSphere - Unique identifier of the owning VMware vSphere/vCenter. ManagedByID string `json:"managed_by_id,omitempty"` // Localized message string corresponding to interval IntervalL10n string `json:"interval_l10n,omitempty"` // Localized message string corresponding to timezone TimezoneL10n string `json:"timezone_l10n,omitempty"` // Localized message array corresponding to days_of_week DaysOfWeekL10n []string `json:"days_of_week_l10n,omitempty"` // Localized message string corresponding to nas_access_type NASAccessTypeL10n string `json:"nas_access_type_l10n,omitempty"` ManagedNyL10n string `json:"managed_by_l10n,omitempty"` Policies []ProtectionPolicy `json:"policies,omitempty"` }
SnapshotRule Details about a snapshot rule
func (*SnapshotRule) Fields ¶ added in v1.10.0
func (s *SnapshotRule) Fields() []string
Fields returns fields which must be requested to fill struct
type SnapshotRuleCreate ¶ added in v1.10.0
type SnapshotRuleCreate struct { // Name of the snapshot rule // minLength: 1 // maxLength: 128 Name string `json:"name,omitempty"` // Interval between snapshots taken by a snapshot rule Interval SnapshotRuleIntervalEnum `json:"interval,omitempty"` // Time of the day to take a daily snapshot, with format "hh:mm" using a 24 hour clock // Either the interval parameter or the time_of_day parameter will be set, but not both. TimeOfDay string `json:"time_of_day,omitempty"` // Time zone identifier for applying the time zone to the time_of_day for a snapshot rule, including any DST effects if applicable // Applies only when a time_of_day is specified in the snapshot rule. Defaults to UTC if not specified. // Was added in version 2.0.0.0 TimeZone TimeZoneEnum `json:"timezone,omitempty"` // Days of the week when the snapshot rule should be applied. // Days are determined based on the UTC time zone, unless the time_of_day and timezone properties are set. DaysOfWeek []DaysOfWeekEnum `json:"days_of_week,omitempty"` // Desired snapshot retention period in hours. The system will retain snapshots for this time period. // minimum: 0 // maximum: 8760 DesiredRetention int32 `json:"desired_retention,omitempty"` // NAS filesystem snapshot access method. // setting is ignored for volume, virtual_volume, and volume_group snapshots NASAccessType NASAccessTypeEnum `json:"nas_access_type,omitempty"` // Indicates whether this snapshot rule can be modified. // default: false IsReadOnly bool `json:"is_read_only,omitempty"` }
SnapshotRuleCreate create snapshot rule request
type SnapshotRuleDelete ¶ added in v1.10.0
type SnapshotRuleDelete struct { // Specify whether all snapshots previously created by this snapshot rule should also be deleted when this rule is removed. // default false DeleteSnaps bool `json:"delete_snaps,omitempty"` }
SnapshotRuleDelete body for SnapshotRuleDelete request
type SnapshotRuleIntervalEnum ¶ added in v1.10.0
type SnapshotRuleIntervalEnum string
SnapshotRuleIntervalEnum - Interval between snapshots taken by a snapshot rule.
const ( SnapshotRuleIntervalEnumFiveMinutes SnapshotRuleIntervalEnum = "Five_Minutes" SnapshotRuleIntervalEnumFifteenMinutes SnapshotRuleIntervalEnum = "Fifteen_Minutes" SnapshotRuleIntervalEnumThirtyMinutes SnapshotRuleIntervalEnum = "Thirty_Minutes" SnapshotRuleIntervalEnumOneHour SnapshotRuleIntervalEnum = "One_Hour" SnapshotRuleIntervalEnumTwoHours SnapshotRuleIntervalEnum = "Two_Hours" SnapshotRuleIntervalEnumThreeHours SnapshotRuleIntervalEnum = "Three_Hours" SnapshotRuleIntervalEnumFourHours SnapshotRuleIntervalEnum = "Four_Hours" SnapshotRuleIntervalEnumSixHours SnapshotRuleIntervalEnum = "Six_Hours" SnapshotRuleIntervalEnumEightHours SnapshotRuleIntervalEnum = "Eight_Hours" SnapshotRuleIntervalEnumTwelveHours SnapshotRuleIntervalEnum = "Twelve_Hours" SnapshotRuleIntervalEnumOneDay SnapshotRuleIntervalEnum = "One_Day" )
SnapshotRuleIntervalEnum known intervals
type SoftwareInstalled ¶ added in v1.8.0
type SoftwareInstalled struct { // Unique identifier of the installed software instance. ID string `json:"id,omitempty"` // Whether this information represents the common software release version that is supported on all appliances in the cluster. IsCluster bool `json:"is_cluster,omitempty"` // Version of the installed release software package release. ReleaseVersion string `json:"release_version,omitempty"` // Build version of the installed software package release. BuildVersion string `json:"build_version,omitempty"` // Unique identifier of this build. BuildID string `json:"build_id,omitempty"` }
SoftwareInstalled queries the software packages that are known by the cluster.
func (*SoftwareInstalled) Fields ¶ added in v1.8.0
func (h *SoftwareInstalled) Fields() []string
Fields returns fields which must be requested to fill struct
type SpaceMetricsByApplianceResponse ¶ added in v1.3.0
type SpaceMetricsByApplianceResponse struct { CommonMetricsFields // Reference to the associated appliance on which these metrics were recorded. ApplianceID string `json:"appliance_id,omitempty"` // This metric represents amount of physical space user data occupies after deduplication and compression. // Maximum: 9.223372036854776e+18 // Minimum: 0 DataPhysicalUsed *int64 `json:"data_physical_used,omitempty"` // Ratio of the logical used space to data physical used space which is after deduplication and compression. DataReduction float32 `json:"data_reduction,omitempty"` // The overall efficiency is computed as a ratio of the total space provisioned to physical used space. // For example, ten 2 GB volumes were provisioned and 1 GB of data is written to each of them. // Each of the volumes has one snapshot as well, for another ten 2 GB volumes. // All volumes are thinly provisioned with deduplication and compression applied, there is 4 GB of physical space used. Overall efficiency would be (20 * 2 GB) / 4 GB or 10:1. // The efficiency_ratio value will be 10 in this example. EfficiencyRatio float32 `json:"efficiency_ratio,omitempty"` // Last physical used space for data during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 LastDataPhysicalUsed *int64 `json:"last_data_physical_used,omitempty"` // Last data reduction space during the period. LastDataReduction float32 `json:"last_data_reduction,omitempty"` // Last efficiency ratio during the period. LastEfficiencyRatio float32 `json:"last_efficiency_ratio,omitempty"` // Last logical total space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 LastLogicalProvisioned *int64 `json:"last_logical_provisioned,omitempty"` // Last logical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 LastLogicalUsed *int64 `json:"last_logical_used,omitempty"` // Last physical total space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 LastPhysicalTotal *int64 `json:"last_physical_total,omitempty"` // Last physical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 LastPhysicalUsed *int64 `json:"last_physical_used,omitempty"` // Maximum: 9.223372036854776e+18 // Minimum: 0 LastSharedLogicalUsed *int64 `json:"last_shared_logical_used,omitempty"` // Last snapshot savings space during the period. LastSnapshotSavings float32 `json:"last_snapshot_savings,omitempty"` // Last thin savings ratio during the period. LastThinSavings float32 `json:"last_thin_savings,omitempty"` // Total configured size of all storage objects on an appliance. This metric includes all primaries, snaps and clones. // Maximum: 9.223372036854776e+18 // Minimum: 0 LogicalProvisioned *int64 `json:"logical_provisioned,omitempty"` // Amount of data in bytes written to all storage objects on an appliance, without any deduplication and/or compression. This metric includes all primaries, snaps and clones. // Maximum: 9.223372036854776e+18 // Minimum: 0 LogicalUsed *int64 `json:"logical_used,omitempty"` // Maximum physical used space for data during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxDataPhysicalUsed *int64 `json:"max_data_physical_used,omitempty"` // Maximum data reduction space during the period. MaxDataReduction float32 `json:"max_data_reduction,omitempty"` // Maximum efficiency ratio during the period. MaxEfficiencyRatio float32 `json:"max_efficiency_ratio,omitempty"` // Maxiumum logical total space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxLogicalProvisioned *int64 `json:"max_logical_provisioned,omitempty"` // Maxiumum logical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxLogicalUsed *int64 `json:"max_logical_used,omitempty"` // Maximum physical total space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxPhysicalTotal *int64 `json:"max_physical_total,omitempty"` // Maximum physical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxPhysicalUsed *int64 `json:"max_physical_used,omitempty"` // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxSharedLogicalUsed *int64 `json:"max_shared_logical_used,omitempty"` // Maximum snapshot savings space during the period. MaxSnapshotSavings float32 `json:"max_snapshot_savings,omitempty"` // Maximum thin savings ratio during the period. MaxThinSavings float32 `json:"max_thin_savings,omitempty"` // Total combined space on the physical drives of the appliance available for data. // Maximum: 9.223372036854776e+18 // Minimum: 0 PhysicalTotal *int64 `json:"physical_total,omitempty"` // Total physical space consumed in the appliance, accounting for all efficiency mechanisms, as well as all data protection. // Maximum: 9.223372036854776e+18 // Minimum: 0 PhysicalUsed *int64 `json:"physical_used,omitempty"` // Maximum: 9.223372036854776e+18 // Minimum: 0 SharedLogicalUsed *int64 `json:"shared_logical_used,omitempty"` // Ratio of the amount of space that would have been used by snapshots if space efficiency was not applied to logical space used solely by snapshots. // For example, an object is provisioned as 1 GB and it has two snapshots. Each snapshot has 200 MB of data. // Snapshot savings will be (1 GB + 1 GB) / (0.2 GB + 0.2 GB) or 5:1. The snapshot_savings value will be 5 in this case. SnapshotSavings float32 `json:"snapshot_savings,omitempty"` // Ratio of all the vVol provisioned to data they contain. This is the ratio of logical_provisioned to logical_used. // For example, a cluster has two 2 GB objects and have written 500 MB bytes of data to them. // The thin savings would be (2 * 2 GB) / (2 * 0.5 GB) or 4:1, so the thin_savings value would be 4.0. ThinSavings float32 `json:"thin_savings,omitempty"` }
SpaceMetricsByApplianceResponse is returned by space_metrics_by_appliance request
type SpaceMetricsByClusterResponse ¶ added in v1.3.0
type SpaceMetricsByClusterResponse struct { CommonMetricsFields // Identifier of the cluster. ClusterID string `json:"cluster_id,omitempty"` // This metric represents total amount of physical space user data occupies after deduplication and compression. // Maximum: 9.223372036854776e+18 // Minimum: 0 DataPhysicalUsed *int64 `json:"data_physical_used,omitempty"` // Ratio of the logical used space to data physical used space which is after deduplication and compression. DataReduction float32 `json:"data_reduction,omitempty"` // The overall efficiency is computed as a ratio of the total space provisioned to physical used space. For example, ten 2 GB volumes were provisioned and 1 GB of data is written to each of them. // Each of the volumes has one snapshot as well, for another ten 2 GB volumes. All volumes are thinly provisioned with deduplication and compression applied, there is 4 GB of physical space used. // Overall efficiency would be (20 * 2 GB) / 4 GB or 10:1. The efficiency_ratio value will be 10 in this example. EfficiencyRatio float32 `json:"efficiency_ratio,omitempty"` // Total configured size of all storage ojects within the cluster. This metric includes all primaries, snaps and clones. // Maximum: 9.223372036854776e+18 // Minimum: 0 LogicalProvisioned *int64 `json:"logical_provisioned,omitempty"` // Amount of data in bytes written to all storage objects within the cluster, without any deduplication and/or compression. This metric includes all primaries, snaps and clones. // Maximum: 9.223372036854776e+18 // Minimum: 0 LogicalUsed *int64 `json:"logical_used,omitempty"` // The total combined space on the physical drives of the cluster available for data. // Maximum: 9.223372036854776e+18 // Minimum: 0 PhysicalTotal *int64 `json:"physical_total,omitempty"` // The total physical space consumed in the cluster, accounting for all efficiency mechanisms, as well as all data protection. // Maximum: 9.223372036854776e+18 // Minimum: 0 PhysicalUsed *int64 `json:"physical_used,omitempty"` // Maximum: 9.223372036854776e+18 // Minimum: 0 SharedLogicalUsed *int64 `json:"shared_logical_used,omitempty"` // Ratio of the amount of space that would have been used by snapshots if space efficiency was not applied to logical space used solely by snapshots. // For example, an object is provisioned as 1 GB and it has two snapshots. // Each snapshot has 200 MB of data. Snapshot savings will be (1 GB + 1 GB) / (0.2 GB + 0.2 GB) or 5:1. The snapshot_savings value will be 5 in this case. SnapshotSavings float32 `json:"snapshot_savings,omitempty"` // Ratio of all the vVol provisioned to data they contain. This is the ratio of logical_provisioned to logical_used. // For example, a cluster has two 2 GB objects and have written 500 MB bytes of data to them. // he thin savings would be (2 * 2 GB) / (2 * 0.5 GB) or 4:1, so the thin_savings value would be 4.0. ThinSavings float32 `json:"thin_savings,omitempty"` // Last physical used space for data during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 LastDataPhysicalUsed *int64 `json:"last_data_physical_used,omitempty"` // Last data reduction space during the period. LastDataReduction float32 `json:"last_data_reduction,omitempty"` // Last efficiency ratio during the period. LastEfficiencyRatio float32 `json:"last_efficiency_ratio,omitempty"` // Last logical total space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 LastLogicalProvisioned *int64 `json:"last_logical_provisioned,omitempty"` // Last logical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 LastLogicalUsed *int64 `json:"last_logical_used,omitempty"` // Last physical total space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 LastPhysicalTotal *int64 `json:"last_physical_total,omitempty"` // Last physical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 LastPhysicalUsed *int64 `json:"last_physical_used,omitempty"` // Maximum: 9.223372036854776e+18 // Minimum: 0 LastSharedLogicalUsed *int64 `json:"last_shared_logical_used,omitempty"` // Last snapshot savings space during the period. LastSnapshotSavings float32 `json:"last_snapshot_savings,omitempty"` // Last thin savings ratio during the period. LastThinSavings float32 `json:"last_thin_savings,omitempty"` // Maximum physical used space for data during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxDataPhysicalUsed *int64 `json:"max_data_physical_used,omitempty"` // Maximum data reduction space during the period. MaxDataReduction float32 `json:"max_data_reduction,omitempty"` // Maximum efficiency ratio during the period. MaxEfficiencyRatio float32 `json:"max_efficiency_ratio,omitempty"` // Maximum logical total space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxLogicalProvisioned *int64 `json:"max_logical_provisioned,omitempty"` // Maximum logical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxLogicalUsed *int64 `json:"max_logical_used,omitempty"` // Maximum physical total space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxPhysicalTotal *int64 `json:"max_physical_total,omitempty"` // Maximum physical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxPhysicalUsed *int64 `json:"max_physical_used,omitempty"` // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxSharedLogicalUsed *int64 `json:"max_shared_logical_used,omitempty"` // Maximum snapshot savings space during the period. MaxSnapshotSavings float32 `json:"max_snapshot_savings,omitempty"` // Maximum thin savings ratio during the period. MaxThinSavings float32 `json:"max_thin_savings,omitempty"` }
SpaceMetricsByClusterResponse is returned by space_metrics_by_cluster request
type SpaceMetricsByStorageContainerResponse ¶ added in v1.3.0
type SpaceMetricsByStorageContainerResponse struct { CommonMetricsFields // Internal ID of the storage container. StorageContainerID string `json:"storage_container_id"` // Last logical provisioned space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 LastLogicalProvisioned *int64 `json:"last_logical_provisioned,omitempty"` // Last logical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 LastLogicalUsed *int64 `json:"last_logical_used,omitempty"` // Last snapshot savings during the period. LastSnapshotSavings float32 `json:"last_snapshot_savings,omitempty"` // Total configured size in bytes of the primary and clone virtual volumes within the storage container. // Maximum: 9.223372036854776e+18 // Minimum: 0 LogicalProvisioned *int64 `json:"logical_provisioned,omitempty"` // Amount of data in bytes written to primary and clone virtual volumes within the storage container. // Maximum: 9.223372036854776e+18 // Minimum: 0 LogicalUsed *int64 `json:"logical_used,omitempty"` // Maximum logical provisioned space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxLogicalProvisioned *int64 `json:"max_logical_provisioned,omitempty"` // Maximum logical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxLogicalUsed *int64 `json:"max_logical_used,omitempty"` // Maximum snapshot savings during the period. MaxSnapshotSavings float32 `json:"max_snapshot_savings,omitempty"` // Ratio of the amount of space that would have been used by snapshots if space efficiency was not applied to logical space used solely by snapshots. // For example, a volume is provisioned as 1 GB and it has two snapshots. Each snapshot has 200 MB of data. // Snapshot savings will be (1 GB + 1 GB) / (0.2 GB + 0.2 GB) or 5:1. The snapshot_savings value will be 5 in this case. SnapshotSavings float32 `json:"snapshot_savings,omitempty"` }
SpaceMetricsByStorageContainerResponse is returned by space_metrics_by_storage_container
type SpaceMetricsByVMResponse ¶ added in v1.3.0
type SpaceMetricsByVMResponse struct { CommonMetricsFields // Last logical provisioned space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 LastLogicalProvisioned *int64 `json:"last_logical_provisioned,omitempty"` // Last logical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 LastLogicalUsed *int64 `json:"last_logical_used,omitempty"` // Last snap and clone logical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 LastSnapCloneLogicalUsed *int64 `json:"last_snap_clone_logical_used,omitempty"` // Last snapshot savings space during the period. LastSnapshotSavings float32 `json:"last_snapshot_savings,omitempty"` // Last thin savings ratio during the period. LastThinSavings float32 `json:"last_thin_savings,omitempty"` // Last unique physical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 LastUniquePhysicalUsed *int64 `json:"last_unique_physical_used,omitempty"` // Total configured size in bytes of all virtual volumes used by virtual machine. // Maximum: 9.223372036854776e+18 // Minimum: 0 LogicalProvisioned *int64 `json:"logical_provisioned,omitempty"` // Total amount of data in bytes written to all virtual volumes used by virtual machine. // Maximum: 9.223372036854776e+18 // Minimum: 0 LogicalUsed *int64 `json:"logical_used,omitempty"` // Max logical provisioned space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxLogicalProvisioned *int64 `json:"max_logical_provisioned,omitempty"` // Max logical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxLogicalUsed *int64 `json:"max_logical_used,omitempty"` // Max snap and clone logical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxSnapCloneLogicalUsed *int64 `json:"max_snap_clone_logical_used,omitempty"` // Max snapshot savings space during the period. MaxSnapshotSavings float32 `json:"max_snapshot_savings,omitempty"` // Max thin savings ratio during the period. MaxThinSavings float32 `json:"max_thin_savings,omitempty"` // Max unique physical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxUniquePhysicalUsed *int64 `json:"max_unique_physical_used,omitempty"` // Total Amount of data in bytes host has written to all volumes used by virtual machine without any deduplication, compression or sharing. // This metric includes snaps and clones in the volume family used by virtual machine. // Maximum: 9.223372036854776e+18 // Minimum: 0 SnapCloneLogicalUsed *int64 `json:"snap_clone_logical_used,omitempty"` // Ratio of the amount of space that would have been used by snapshots if space efficiency was not applied to logical space used solely by snapshots of vVols used by virtual machine. // For example, a vVol is provisioned as 1 GB and it has two snapshots. // Each snapshot has 200 MB of data. Snapshot savings will be (1 GB + 1 GB) / (0.2 GB + 0.2 GB) or 5:1. The snapshot_savings value will be 5 in this case. SnapshotSavings float32 `json:"snapshot_savings,omitempty"` // Ratio of all the vVol provisioned to data they contain. This is the ratio of logical_provisioned to logical_used. // For example, a VM has two 2 GB vVol's and have written 500 MB of data to them. The thin savings would be (2 * 2GB) / (2 * 0.5 GB) or 4:1, so the thin_savings value would be 4.0. ThinSavings float32 `json:"thin_savings,omitempty"` // Amount of physical space virtual machine used after compression and deduplication. This is the space to be freed up if a virtual machine is removed. // Maximum: 9.223372036854776e+18 // Minimum: 0 UniquePhysicalUsed *int64 `json:"unique_physical_used,omitempty"` // Unique identifier representing a specific virtual machine. VMID string `json:"vm_id,omitempty"` }
SpaceMetricsByVMResponse is returned by space_metrics_by_vm
type SpaceMetricsByVolumeFamilyResponse ¶ added in v1.3.0
type SpaceMetricsByVolumeFamilyResponse struct { CommonMetricsFields // Reference to the associated appliance on which these metrics were recorded. ApplianceID string `json:"appliance_id,omitempty"` // ID of the family. FamilyID string `json:"family_id,omitempty"` // Last logical provisioned space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 LastLogicalProvisioned *int64 `json:"last_logical_provisioned,omitempty"` // Last logical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 LastLogicalUsed *int64 `json:"last_logical_used,omitempty"` // Maximum: 9.223372036854776e+18 // Minimum: 0 LastSharedLogicalUsed *int64 `json:"last_shared_logical_used,omitempty"` // Last snap and clone logical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 LastSnapCloneLogicalUsed *int64 `json:"last_snap_clone_logical_used,omitempty"` // Last snapshot savings space during the period. LastSnapshotSavings float32 `json:"last_snapshot_savings,omitempty"` // Last unique physical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 LastUniquePhysicalUsed *int64 `json:"last_unique_physical_used,omitempty"` // Configured size in bytes of a volume which amount of data can be written to. This metric includes primaries, snaps and clones. // Maximum: 9.223372036854776e+18 // Minimum: 0 LogicalProvisioned *int64 `json:"logical_provisioned,omitempty"` // Amount of data in bytes host has written to a volume family without any deduplication, compression or sharing. This metric includes primaries, snaps and clones. // Maximum: 9.223372036854776e+18 // Minimum: 0 LogicalUsed *int64 `json:"logical_used,omitempty"` // Max logical provisioned space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxLogicalProvisioned *int64 `json:"max_logical_provisioned,omitempty"` // Max logical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxLogicalUsed *int64 `json:"max_logical_used,omitempty"` // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxSharedLogicalUsed *int64 `json:"max_shared_logical_used,omitempty"` // Max snap and clone logical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxSnapCloneLogicalUsed *int64 `json:"max_snap_clone_logical_used,omitempty"` // Max snapshot savings space during the period. MaxSnapshotSavings float32 `json:"max_snapshot_savings,omitempty"` // Max unique physical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxUniquePhysicalUsed *int64 `json:"max_unique_physical_used,omitempty"` // Maximum: 9.223372036854776e+18 // Minimum: 0 SharedLogicalUsed *int64 `json:"shared_logical_used,omitempty"` // Total Amount of data in bytes host has written to all volumes in the volume family without any deduplication, compression or sharing. // This metric includes snaps and clones in the volume family. // Maximum: 9.223372036854776e+18 // Minimum: 0 SnapCloneLogicalUsed *int64 `json:"snap_clone_logical_used,omitempty"` // Ratio of the amount of space that would have been used by snapshots if space efficiency was not applied to logical space used solely by snapshots. // For example, a volume is provisioned as 1 GB bytes and it has two snapshots. Each snapshot has 200 MB of data. // Snapshot savings will be (1 GB + 1 GB) / (0.2 GB + 0.2 GB) or 5:1. The snapshot_savings value will be 5 in this case. SnapshotSavings float32 `json:"snapshot_savings,omitempty"` // Amount of physical space volume family used after compression and deduplication. This is the space to be freed up if a volume family is removed from the appliance. // Maximum: 9.223372036854776e+18 // Minimum: 0 UniquePhysicalUsed *int64 `json:"unique_physical_used,omitempty"` }
SpaceMetricsByVolumeFamilyResponse is returned by space_metrics_by_volume_family
type SpaceMetricsByVolumeGroupResponse ¶ added in v1.3.0
type SpaceMetricsByVolumeGroupResponse struct { CommonMetricsFields // Last logical provisioned space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 LastLogicalProvisioned *int64 `json:"last_logical_provisioned,omitempty"` // Last logical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 LastLogicalUsed *int64 `json:"last_logical_used,omitempty"` // Last snap and clone logical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 LastSnapCloneLogicalUsed *int64 `json:"last_snap_clone_logical_used,omitempty"` // Last snapshot savings space during the period. LastSnapshotSavings float32 `json:"last_snapshot_savings,omitempty"` // Last thin savings ratio during the period. LastThinSavings float32 `json:"last_thin_savings,omitempty"` // Total configured size in bytes of all member volumes in a volume group. // Maximum: 9.223372036854776e+18 // Minimum: 0 LogicalProvisioned *int64 `json:"logical_provisioned,omitempty"` // Total amount of data in bytes written to all member volumes in a volume group. // Maximum: 9.223372036854776e+18 // Minimum: 0 LogicalUsed *int64 `json:"logical_used,omitempty"` // Max logical provisioned space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxLogicalProvisioned *int64 `json:"max_logical_provisioned,omitempty"` // Maximum logical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxLogicalUsed *int64 `json:"max_logical_used,omitempty"` // Max snap and clone logical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxSnapCloneLogicalUsed *int64 `json:"max_snap_clone_logical_used,omitempty"` // Max snapshot savings space during the period. MaxSnapshotSavings float32 `json:"max_snapshot_savings,omitempty"` // Max thin savings ratio during the period. MaxThinSavings float32 `json:"max_thin_savings,omitempty"` // Total amount of data in bytes host has written to all volumes in the volume group without any deduplication, compression or sharing. // This metric includes used snaps and clones in the volume group. // Maximum: 9.223372036854776e+18 // Minimum: 0 SnapCloneLogicalUsed *int64 `json:"snap_clone_logical_used,omitempty"` // Ratio of the amount of space that would have been used by snapshots in the volume group if space efficiency was not applied to logical space used solely by snapshots. // For example, two volumes are provisioned as 1 GB and each has two snapshots. // Each snapshot has 200 MB of data. Snapshot savings will be (1 GB * 2 + 1 GB * 2) / (0.2 GB * 2 + 0.2 GB * 2) or 5:1. The snapshot_savings value will be 5 in this case. SnapshotSavings float32 `json:"snapshot_savings,omitempty"` // Ratio of all the volumes provisioned to data being written to them. For example, a volume group has two 2 GB volumes and have written 500 MB of data to them. // The thin savings would be (2 * 2 GB) / (2 * 0.5 GB) or 4:1, so the thin_savings value would be 4.0. ThinSavings float32 `json:"thin_savings,omitempty"` // Unique identifier representing a volume group. VgID string `json:"vg_id,omitempty"` }
SpaceMetricsByVolumeGroupResponse is returned by space_metrics_by_vg
type SpaceMetricsByVolumeResponse ¶ added in v1.3.0
type SpaceMetricsByVolumeResponse struct { CommonMetricsFields // Reference to the associated appliance on which these metrics were recorded. ApplianceID string `json:"appliance_id,omitempty"` // Last logical provisioned space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 LastLogicalProvisioned *int64 `json:"last_logical_provisioned,omitempty"` // Last logical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 LastLogicalUsed *int64 `json:"last_logical_used,omitempty"` // Last thin savings ratio during the period. LastThinSavings float32 `json:"last_thin_savings,omitempty"` // Configured size in bytes of a volume which amount of data can be written to. This metric includes primaries, snaps and clones. // Maximum: 9.223372036854776e+18 // Minimum: 0 LogicalProvisioned *int64 `json:"logical_provisioned,omitempty"` // Amount of data in bytes host has written to a volume without any deduplication, compression or sharing. // This metric includes primaries, snaps and clones. // Maximum: 9.223372036854776e+18 // Minimum: 0 LogicalUsed *int64 `json:"logical_used,omitempty"` // Max logical provisioned space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxLogicalProvisioned *int64 `json:"max_logical_provisioned,omitempty"` // Max logical used space during the period. // Maximum: 9.223372036854776e+18 // Minimum: 0 MaxLogicalUsed *int64 `json:"max_logical_used,omitempty"` // Max thin savings ratio during the period. MaxThinSavings float32 `json:"max_thin_savings,omitempty"` // Ratio of all the volumes provisioned to data being written to them. For example, an appliance has two 2 GB volumes and have written 500 MB of data to them. // The thin savings would be (2 GB * 2) / (0.5 GB * 2) or 4:1, so the thin_savings value would be 4.0. ThinSavings float32 `json:"thin_savings,omitempty"` // ID of the volume. VolumeID string `json:"volume_id,omitempty"` }
SpaceMetricsByVolumeResponse is returned by space_metrics_by_volume
type StorageContainer ¶ added in v1.11.0
type StorageContainer struct { ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` Quota int64 `json:"quota,omitempty"` StorageProtocol StorageContainerStorageProtocolEnum `json:"storage_protocol,omitempty"` HighWaterMark int16 `json:"high_water_mark,omitempty"` }
func (StorageContainer) Fields ¶ added in v1.11.0
func (s StorageContainer) Fields() []string
type StorageContainerStorageProtocolEnum ¶ added in v1.11.0
type StorageContainerStorageProtocolEnum string
const ( StorageContainerStorageProtocolEnumSCSI StorageContainerStorageProtocolEnum = "SCSI" StorageContainerStorageProtocolEnumNVME StorageContainerStorageProtocolEnum = "NVMe" )
type StorageCreatorTypeEnum ¶
type StorageCreatorTypeEnum string
StorageCreatorTypeEnum Creator type of the storage resource.
const ( // StorageCreatorTypeEnumUser - A resource created by a user StorageCreatorTypeEnumUser StorageCreatorTypeEnum = "User" // StorageCreatorTypeEnumSystem - A resource created by the replication engine. StorageCreatorTypeEnumSystem StorageCreatorTypeEnum = "System" // StorageCreatorTypeEnumScheduler - A resource created by the snapshot scheduler StorageCreatorTypeEnumScheduler StorageCreatorTypeEnum = "Scheduler" )
type StorageElementPair ¶ added in v1.4.0
type StorageElementPair struct { LocalStorageElementID string `json:"local_storage_element_id,omitempty"` RemoteStorageElementID string `json:"remote_storage_element_id,omitempty"` StorageElementType string `json:"storage_element_type,omitempty"` ReplicationShadowID string `json:"replication_shadow_id,omitempty"` }
type StorageTypeEnum ¶
type StorageTypeEnum string
StorageTypeEnum Possible types of storage for a volume.
const ( // StorageTypeEnumBlock - Typical storage type that is displayed for all system management. StorageTypeEnumBlock StorageTypeEnum = "Block" // StorageTypeEnumFile - Volume internal to an SD-NAS file_system or nas_server object. Not manageable by the external user StorageTypeEnumFile StorageTypeEnum = "File" )
type TimeZoneEnum ¶ added in v1.10.0
type TimeZoneEnum string
TimeZoneEnum defines identifier for timezone
const ( TimeZoneEnumEtcGMTplus12 TimeZoneEnum = "Etc__GMT_plus_12" TimeZoneEnumUSSamoa TimeZoneEnum = "US__Samoa" TimeZoneEnumEtcGMTPlus11 TimeZoneEnum = "Etc__GMT_plus_11" TimeZoneEnumAmericaAtka TimeZoneEnum = "America__Atka" TimeZoneEnumUSHawaii TimeZoneEnum = "US__Hawaii" TimeZoneEnumEtcGMTPlus10 TimeZoneEnum = "Etc__GMT_plus_10" TimeZoneEnumPacificMarquesas TimeZoneEnum = "Pacific__Marquesas" TimeZoneEnumUSAlaska TimeZoneEnum = "US__Alaska" TimeZoneEnumPacificGambier TimeZoneEnum = "Pacific__Gambier" TimeZoneEnumEtcGMTPlus9 TimeZoneEnum = "Etc__GMT_plus_9" TimeZoneEnumPST8PDT TimeZoneEnum = "PST8PDT" TimeZoneEnumPacificPitcairn TimeZoneEnum = "Pacific__Pitcairn" TimeZoneEnumUSPacific TimeZoneEnum = "US__Pacific" TimeZoneEnumEtcGMTPlus8 TimeZoneEnum = "Etc__GMT_plus_8" TimeZoneEnumMexicoBajaSur TimeZoneEnum = "Mexico__BajaSur" TimeZoneEnumAmericaBoise TimeZoneEnum = "America__Boise" TimeZoneEnumAmericaPhoenix TimeZoneEnum = "America__Phoenix" TimeZoneEnumMST7MDT TimeZoneEnum = "MST7MDT" TimeZoneEnumEtcGMTPlus7 TimeZoneEnum = "Etc__GMT_plus_7" TimeZoneEnumCST6CDT TimeZoneEnum = "CST6CDT" TimeZoneEnumAmericaChicago TimeZoneEnum = "America__Chicago" TimeZoneEnumCanadaSaskatchewan TimeZoneEnum = "Canada__Saskatchewan" TimeZoneEnumAmericaBahiaBanderas TimeZoneEnum = "America__Bahia_Banderas" TimeZoneEnumEtcGMTPlus6 TimeZoneEnum = "Etc__GMT_plus_6" TimeZoneEnumChileEasterIsland TimeZoneEnum = "Chile__EasterIsland" TimeZoneEnumAmericaBogota TimeZoneEnum = "America__Bogota" TimeZoneEnumAmericaNewYork TimeZoneEnum = "America__New_York" TimeZoneEnumEST5EDT TimeZoneEnum = "EST5EDT" TimeZoneEnumAmericaHavana TimeZoneEnum = "America__Havana" TimeZoneEnumEtcGMTPlus5 TimeZoneEnum = "Etc__GMT_plus_5" TimeZoneEnumAmericaCaracas TimeZoneEnum = "America__Caracas" TimeZoneEnumAmericaCuiaba TimeZoneEnum = "America__Cuiaba" TimeZoneEnumAmericaSantoDomingo TimeZoneEnum = "America__Santo_Domingo" TimeZoneEnumCanadaAtlantic TimeZoneEnum = "Canada__Atlantic" TimeZoneEnumAmericaAsuncion TimeZoneEnum = "America__Asuncion" TimeZoneEnumEtcGMTPlus4 TimeZoneEnum = "Etc__GMT_plus_4" TimeZoneEnumCanadaNewfoundland TimeZoneEnum = "Canada__Newfoundland" TimeZoneEnumChileContinental TimeZoneEnum = "Chile__Continental" TimeZoneEnumBrazilEast TimeZoneEnum = "Brazil__East" TimeZoneEnumAmericaGodthab TimeZoneEnum = "America__Godthab" TimeZoneEnumAmericaMiquelon TimeZoneEnum = "America__Miquelon" TimeZoneEnumAmericaBuenosAires TimeZoneEnum = "America__Buenos_Aires" TimeZoneEnumEtcMTPlus3 TimeZoneEnum = "Etc__GMT_plus_3" TimeZoneEnumAmericaNoronha TimeZoneEnum = "America__Noronha" TimeZoneEnumEtcGMTPlus2 TimeZoneEnum = "Etc__GMT_plus_2" TimeZoneEnumAmericaScoresbysund TimeZoneEnum = "America__Scoresbysund" TimeZoneEnumAtlanticCapeVerde TimeZoneEnum = "Atlantic__Cape_Verde" TimeZoneEnumEtcGMTPlus1 TimeZoneEnum = "Etc__GMT_plus_1" TimeZoneEnumUTC TimeZoneEnum = "UTC" TimeZoneEnumEuropeLondon TimeZoneEnum = "Europe__London" TimeZoneEnumAfricaCasablanca TimeZoneEnum = "Africa__Casablanca" TimeZoneEnumAtlanticReykjavik TimeZoneEnum = "Atlantic__Reykjavik" TimeZoneEnumAntarcticaTroll TimeZoneEnum = "Antarctica__Troll" TimeZoneEnumEuropeParis TimeZoneEnum = "Europe__Paris" TimeZoneEnumEuropeSarajevo TimeZoneEnum = "Europe__Sarajevo" TimeZoneEnumEuropeBelgrade TimeZoneEnum = "Europe__Belgrade" TimeZoneEnumEuropeRome TimeZoneEnum = "Europe__Rome" TimeZoneEnumAfricaTunis TimeZoneEnum = "Africa__Tunis" TimeZoneEnumEtcGMTMinus1 TimeZoneEnum = "Etc__GMT_minus_1" TimeZoneEnumAsiaGaza TimeZoneEnum = "Asia__Gaza" TimeZoneEnumEuropeBucharest TimeZoneEnum = "Europe__Bucharest" TimeZoneEnumEuropeHelsinki TimeZoneEnum = "Europe__Helsinki" TimeZoneEnumAsiaBeirut TimeZoneEnum = "Asia__Beirut" TimeZoneEnumAfricaHarare TimeZoneEnum = "Africa__Harare" TimeZoneEnumAsiaDamascus TimeZoneEnum = "Asia__Damascus" TimeZoneEnumAsiaAmman TimeZoneEnum = "Asia__Amman" TimeZoneEnumEuropeTiraspol TimeZoneEnum = "Europe__Tiraspol" TimeZoneEnumAsiaJerusalem TimeZoneEnum = "Asia__Jerusalem" TimeZoneEnumEtcGMTMinus2 TimeZoneEnum = "Etc__GMT_minus_2" TimeZoneEnumAsiaBaghdad TimeZoneEnum = "Asia__Baghdad" TimeZoneEnumAfricaAsmera TimeZoneEnum = "Africa__Asmera" TimeZoneEnumEtcGMTMinus3 TimeZoneEnum = "Etc__GMT_minus_3" TimeZoneEnumAsiaTehran TimeZoneEnum = "Asia__Tehran" TimeZoneEnumAsiaBaku TimeZoneEnum = "Asia__Baku" TimeZoneEnumEtcGMTMinus4 TimeZoneEnum = "Etc__GMT_minus_4" TimeZoneEnumAsiaKabul TimeZoneEnum = "Asia__Kabul" TimeZoneEnumAsiaKarachi TimeZoneEnum = "Asia__Karachi" TimeZoneEnumEtcGMTMinus5 TimeZoneEnum = "Etc__GMT_minus_5" TimeZoneEnumAsiaKolkata TimeZoneEnum = "Asia__Kolkata" TimeZoneEnumAsiaKatmandu TimeZoneEnum = "Asia__Katmandu" TimeZoneEnumAsiaAlmaty TimeZoneEnum = "Asia__Almaty" TimeZoneEnumEtcGMTMinus6 TimeZoneEnum = "Etc__GMT_minus_6" TimeZoneEnumAsiaRangoon TimeZoneEnum = "Asia__Rangoon" TimeZoneEnumAsiaHovd TimeZoneEnum = "Asia__Hovd" TimeZoneEnumAsiaBangkok TimeZoneEnum = "Asia__Bangkok" TimeZoneEnumEtcGMTMinus7 TimeZoneEnum = "Etc__GMT_minus_7" TimeZoneEnumAsiaHongKong TimeZoneEnum = "Asia__Hong_Kong" TimeZoneEnumAsiaBrunei TimeZoneEnum = "Asia__Brunei" TimeZoneEnumAsiaSingapore TimeZoneEnum = "Asia__Singapore" TimeZoneEnumEtcGMTMinus8 TimeZoneEnum = "Etc__GMT_minus_8" TimeZoneEnumAsiaPyongyang TimeZoneEnum = "Asia__Pyongyang" TimeZoneEnumAustraliaEucla TimeZoneEnum = "Australia__Eucla" TimeZoneEnumAsiaSeoul TimeZoneEnum = "Asia__Seoul" TimeZoneEnumEtcGMTMinus9 TimeZoneEnum = "Etc__GMT_minus_9" TimeZoneEnumAustraliaDarwin TimeZoneEnum = "Australia__Darwin" TimeZoneEnumAustraliaAdelaide TimeZoneEnum = "Australia__Adelaide" TimeZoneEnumAustraliaSydney TimeZoneEnum = "Australia__Sydney" TimeZoneEnumAustraliaBrisbane TimeZoneEnum = "Australia__Brisbane" TimeZoneEnumAsiaMagadan TimeZoneEnum = "Asia__Magadan" TimeZoneEnumEtcGMTMinus10 TimeZoneEnum = "Etc__GMT_minus_10" TimeZoneEnumAustraliaLordHowe TimeZoneEnum = "Australia__Lord_Howe" TimeZoneEnumEtcGMTMinus11 TimeZoneEnum = "Etc__GMT_minus_11" TimeZoneEnumAsiaKamchatka TimeZoneEnum = "Asia__Kamchatka" TimeZoneEnumPacificFiji TimeZoneEnum = "Pacific__Fiji" TimeZoneEnumAntarcticaSouthPole TimeZoneEnum = "Antarctica__South_Pole" TimeZoneEnumEtcGMTMinus12 TimeZoneEnum = "Etc__GMT_minus_12" TimeZoneEnumPacificChatham TimeZoneEnum = "Pacific__Chatham" TimeZoneEnumPacificTongatapu TimeZoneEnum = "Pacific__Tongatapu" TimeZoneEnumPacificApia TimeZoneEnum = "Pacific__Apia" TimeZoneEnumEtcGMTMinus13 TimeZoneEnum = "Etc__GMT_minus_13" TimeZoneEnumPacificKiritimati TimeZoneEnum = "Pacific__Kiritimati" TimeZoneEnumEtcGMTMinus14 TimeZoneEnum = "Etc__GMT_minus_14" )
TimeZoneEnum known timezones
type UpdateInitiatorInHost ¶
type UpdateInitiatorInHost struct { // Password for CHAP authentication. This value must be 12 to 64 printable UTF-8 characters. // CHAP password is required when the cluster CHAP mode is mutual authentication. ChapMutualPassword *string `json:"chap_mutual_password,omitempty"` // Username for CHAP authentication. This value must be 1 to 64 printable UTF-8 characters. // CHAP username is required when the cluster CHAP mode is mutual authentication. ChapMutualUsername *string `json:"chap_mutual_username,omitempty"` // Password for CHAP authentication. This value must be 12 to 64 printable UTF-8 characters. // CHAP password is required when the cluster CHAP mode is mutual authentication. ChapSinglePassword *string `json:"chap_single_password,omitempty"` // Username for CHAP authentication. This value must be 1 to 64 printable UTF-8 characters. // CHAP username is required when the cluster CHAP mode is mutual authentication. ChapSingleUsername *string `json:"chap_single_username,omitempty"` // Initiator name PortName *string `json:"port_name,omitempty"` }
UpdateInitiatorInHost update initiator in host
type VGPlacementRuleEnum ¶ added in v1.12.0
type VGPlacementRuleEnum string
VGPlacementRuleEnum - This is set during creation, and determines resource balancer recommendations.
type VirtualMachines ¶ added in v1.12.0
type VirtualMachines struct { ID string `json:"id"` InstanceUUID string `json:"instance_uuid"` Name string `json:"name"` }
VirtualMachines - Details of virtual machine
type VirtualVolume ¶ added in v1.12.0
type Volume ¶
type Volume struct { Description string `json:"description,omitempty"` // Unique identifier of the volume instance. ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` // Size of the volume in bytes. Minimum volume size is 1MB. Maximum volume size is 256TB. // Size must be a multiple of 8192. Size int64 `json:"size,omitempty"` // state State VolumeStateEnum `json:"state,omitempty"` // type Type VolumeTypeEnum `json:"type,omitempty"` // volume topology // World wide name of the volume. Wwn string `json:"wwn,omitempty"` // ApplianceID - Placeholder for appliance ID where the volume resides ApplianceID string `json:"appliance_id,omitempty"` // ProtectionData provides snapshot details of the volume ProtectionData ProtectionData `json:"protection_data,omitempty"` // CreationTimeStamp provides volume group creation time CreationTimeStamp string `json:"creation_timestamp,omitempty"` // Current amount of data (in bytes) host has written to a volume without dedupe, compression or sharing. LogicalUsed int64 `json:"logical_used,omitempty"` // It shows which node will be advertised as the optimized IO path to the volume NodeAffinity NodeAffinityEnum `json:"node_affinity,omitempty"` // Unique identifier of the protection policy assigned to the volume. Only applicable to primary and clone volumes. ProtectionPolicyID string `json:"protection_policy_id,omitempty"` // Unique identifier of the performance policy assigned to the volume. PerformancePolicyID string `json:"performance_policy_id,omitempty"` // Indicates whether this volume is a replication destination. IsReplicationDestination bool `json:"is_replication_destination,omitempty"` // This attribute indicates the intended use of this volume. It may be null. AppType AppTypeEnum `json:"app_type,omitempty"` // An optional field used to describe application type usage for a volume. AppTypeOther string `json:"app_type_other,omitempty"` // NVMe Namespace unique identifier in the NVME subsystem. Used for volumes attached to NVMEoF hosts. Nsid int64 `json:"nsid,omitempty"` // NVMe Namespace globally unique identifier. Used for volumes attached to NVMEoF hosts. Nguid string `json:"nguid,omitempty"` // Appliance defines the properties of the appliance Appliance ApplianceInstance `json:"Appliance"` // MigrationSessionID is the Unique identifier of the migration session assigned to the volume if it is part of a migration activity. MigrationSessionID string `json:"migration_session_id,omitempty"` // MetroReplicationSessionID id the Unique identifier of the replication session assigned to the volume if it has been configured as a metro volume between two PowerStore clusters MetroReplicationSessionID string `json:"metro_replication_session_id,omitempty"` // TypeL10n Localized message string corresponding to type TypeL10n string `json:"type_l10n,omitempty"` // StateL10n Localized message string corresponding to state StateL10n string `json:"state_l10n,omitempty"` // NodeAffinityL10n Localized message string corresponding to Node Affinity NodeAffinityL10n string `json:"node_affinity_l10n,omitempty"` // AppTypeL10n Localized message string corresponding to App type AppTypeL10n string `json:"app_type_l10n,omitempty"` // LocationHistory contains the storage resource location history. LocationHistory []LocationHistory `json:"location_history,omitempty"` // ProtectionPolicy defines the properties of a policy. ProtectionPolicy ProtectionPolicy `json:"protection_policy,omitempty"` // MigrationSession defines the migration session. MigrationSession MigrationSession `json:"migration_session,omitempty"` // MappedVolumes contains details about a configured host or host group attached to a volume. MappedVolumes []MappedVolumes `json:"mapped_volumes,omitempty"` // VolumeGroup contains information about a volume group. VolumeGroup []VolumeGroup `json:"volume_groups,omitempty"` // Datastores defines properties of a datastore. Datastores []Datastores `json:"datastores,omitempty"` }
Volume Details about a volume, including snapshots and clones of volumes.
type VolumeClone ¶
type VolumeClone struct { // Unique name for the volume to be created. Name *string `json:"name"` Description *string `json:"description,omitempty"` MetaDataHeader }
VolumeClone request for cloning snapshot/volume
func (*VolumeClone) MetaData ¶ added in v1.3.0
func (vc *VolumeClone) MetaData() http.Header
MetaData returns the metadata headers.
type VolumeComputeDifferences ¶ added in v1.5.0
type VolumeComputeDifferences struct { // Unique identifier of the snapshot used to determine the differences from the current snapshot. // If not specified, returns all allocated extents of the current snapshot. // The base snapshot must be from the same base volume as the snapshot being compared with. BaseSnapshotID *string `json:"base_snapshot_id"` // The position of the first logical byte to be used in the comparison. // If not specified, the comparison starts at the beginning of the snapshot. // The offset must be a multiple of the chunk_size. For best performance, use a multiple of 4K bytes. Offset *int64 `json:"offset"` // Length of the comparison scan segment in bytes. length / chunk_size is the number of chunks, // with each chunk represented as a bit in the bitmap returned in the response. The number of chunks // must be divisible by 8 so that the returned bitmap is a byte array. The length and chunk_size // must be chosen so that there are no more than 32K chunks, resulting in a returned byte array // bitmap of at most 4K bytes. The length starting from the offset must not exceed the size of // the snapshot. The length must be a multiple of the chunk_size. Length *int64 `json:"length"` // Granularity of the chunk in bytes. Must be a power of 2 so that each bit in the returned // bitmap represents a chunk sized range of bytes. ChunkSize *int64 `json:"chunk_size"` }
VolumeComputeDifferences compute snapshot differences in a volume request
type VolumeComputeDifferencesResponse ¶ added in v1.5.0
type VolumeComputeDifferencesResponse struct { // Base64-encoded bitmap with bits set for chunks that are either: // Allocated and nonzero when base_snapshot_id not specified, or // Unshared with the base snapshot when a base_snapshot_id is specified ChunkBitmap *string `json:"chunk_bitmap"` // Recommended offset to be used for the next compute_differences invocation // A value of -1 will be returned if the end of the object has been reached // while scanning for differences or allocations NextOffset *int64 `json:"next_offset"` }
VolumeComputeDifferencesResponse compute snapshot differences in a volume response
type VolumeCreate ¶
type VolumeCreate struct { // Unique name for the volume to be created. // This value must contain 128 or fewer printable Unicode characters. Name *string `json:"name"` // Optional sector size, in bytes. Only 512-byte and 4096-byte sectors are supported. SectorSize *int64 `json:"sector_size,omitempty"` // Size of the volume to be created, in bytes. Minimum volume size is 1MB. // Maximum volume size is 256TB. Size must be a multiple of 8192. Size *int64 `json:"size"` // Volume group to add the volume to. If not specified, the volume is not added to a volume group. VolumeGroupID string `json:"volume_group_id,omitempty"` // Appliance on which volume will be placed on. If not specified, an appliance is chosen by the array. ApplianceID string `json:"appliance_id,omitempty"` // Description of the volume Description string `json:"description,omitempty"` // Protection policy to associate the volume with. If not specified, protection policy is not associated to the volume. ProtectionPolicyID string `json:"protection_policy_id,omitempty"` // Performance policy to associate the volume with. If not specified, performance policy is not associated to the volume. PerformancePolicyID string `json:"performance_policy_id,omitempty"` // Type of application using the volume AppType AppTypeEnum `json:"app_type,omitempty"` // More details on type of application using the volume AppTypeOther string `json:"app_type_other,omitempty"` // Unique identifier of a host attached to a volume HostID string `json:"host_id,omitempty"` // Unique identifier of a host group attached to a volume. The host_id and host_group_id cannot both be set. HostGroupID string `json:"host_group_id,omitempty"` // Logical unit number for the host volume access. LogicalUnitNumber int64 `json:"logical_unit_number,omitempty"` // Minimum size for the volume, in bytes. MinimumSize int64 `json:"min_size,omitempty"` // Metadata addition for volumes on array with OE version 3.0 and above Metadata *map[string]string `json:"metadata,omitempty"` MetaDataHeader }
VolumeCreate create volume request
func (*VolumeCreate) MetaData ¶ added in v1.3.0
func (vc *VolumeCreate) MetaData() http.Header
MetaData returns the metadata headers.
type VolumeDelete ¶
type VolumeDelete struct {
ForceInternal *bool `json:"force_internal,omitempty"`
}
VolumeDelete body for VolumeDelete request
type VolumeGroup ¶ added in v1.4.0
type VolumeGroup struct { // Unique identifier of the volume group. ID string `json:"id,omitempty"` // Name of the volume group. // This property supports case-insensitive filtering Name string `json:"name,omitempty"` // Description for the volume group. Description string `json:"description,omitempty"` // Unique identifier of the protection policy assigned to the volume. ProtectionPolicyID string `json:"protection_policy_id,omitempty"` // For a primary or a clone volume group, this property determines whether snapshot sets of the group will be write order consistent. IsWriteOrderConsistent bool `json:"is_write_order_consistent,omitempty"` // Volumes provides list of volumes associated to the volume group Volumes []Volume `json:"volumes"` // ProtectionPolicy provides snapshot details of the volume or volumeGroup ProtectionPolicy ProtectionPolicy `json:"protection_policy"` // CreationTimeStamp provides volume group creation time CreationTimeStamp string `json:"creation_timestamp,omitempty"` // IsReplicationDestination indicates whether this volume group is a replication destination. IsReplicationDestination bool `json:"is_replication_destination,omitempty"` // is_importing indicates whether the volume group is being imported. IsImporting bool `json:"is_importing,omitempty"` // TypeL10 localized message string corresponding to type TypeL10 string `json:"type_l10n,omitempty"` // IsProtectable is a derived field that is set internally. IsProtectable bool `json:"is_protectable,omitempty"` // Unique identifier of the migration session assigned to the volume group when it is part of a migration activity. MigrationSessionID string `json:"migration_session_id,omitempty"` // This is set during creation, and determines resource balancer recommendations. PlacementRule VGPlacementRuleEnum `json:"placement_rule,omitempty"` // Type of volume. Type VolumeTypeEnum `json:"type,omitempty"` // Protection data associated with a resource. ProtectionData ProtectionData `json:"protection_data,omitempty"` // A list of locations. The list of locations includes the move to the current appliance. LocationHistory []LocationHistory `json:"location_history,omitempty"` // This resource type has queriable associations from virtual_volume, volume, volume_group, replication_session MigrationSession MigrationSession `json:"migration_session,omitempty"` // Unique identifier of the replication session assigned to the volume group if it has been configured as a metro volume group between two PowerStore clusters. MetroReplicationSessionID string `json:"metro_replication_session_id,omitempty"` }
VolumeGroup details about a volume groups.
func (*VolumeGroup) Fields ¶ added in v1.4.0
func (v *VolumeGroup) Fields() []string
Fields returns fields which must be requested to fill struct
type VolumeGroupChangePolicy ¶ added in v1.4.0
type VolumeGroupChangePolicy struct {
ProtectionPolicyID string `json:"protection_policy_id"`
}
type VolumeGroupCreate ¶ added in v1.4.0
type VolumeGroupCreate struct { // Unique name for the volume group. // The name should contain no special HTTP characters and no unprintable characters. // Although the case of the name provided is reserved, uniqueness check is case-insensitive, // so the same name in two different cases is not considered unique. Name string `json:"name"` // Description for the volume group. The description should not be more than 256 // characters long and should not have any unprintable characters. Description string `json:"description,omitempty"` // Unique identifier of an optional protection policy to assign to the volume group. ProtectionPolicyID string `json:"protection_policy_id,omitempty"` // For a primary or a clone volume group, this property determines whether snapshot sets of the group will be write order consistent. // If not specified, this parameter defaults to true in PowerStore API. IsWriteOrderConsistent *bool `json:"is_write_order_consistent,omitempty"` // A list of identifiers of existing volumes that should be added to the volume group. // All the volumes must be on the same Cyclone appliance and should not be part of another volume group. // If a list of volumes is not specified or if the specified list is empty, an // empty volume group of type Volume will be created. VolumeIDs []string `json:"volume_ids,omitempty"` }
VolumeGroupCreate create volume group request
type VolumeGroupMembers ¶ added in v1.8.0
type VolumeGroupMembers struct {
VolumeIDs []string `json:"volume_ids"`
}
type VolumeGroupModify ¶ added in v1.4.0
type VolumeGroupModify struct { ProtectionPolicyID string `json:"protection_policy_id"` // empty to unassign Description string `json:"description"` Name string `json:"name,omitempty"` IsWriteOrderConsistent *bool `json:"is_write_order_consistent,omitempty"` ExpirationTimestamp *string `json:"expiration_timestamp,omitempty"` }
VolumeGroupModify modifies existing Volume Group
type VolumeGroupSnapshotCreate ¶ added in v1.8.0
type VolumeGroupSnapshotCreate struct { // Unique name for the volume group. Name string `json:"name"` // Optional description Description string `json:"description,omitempty"` // ExpirationTimestamp provides volume group creation time ExpirationTimestamp string `json:"expiration_timestamp,omitempty"` }
VolumeGroupSnapshotCreate create volume group snapshot request
type VolumeGroupSnapshotModify ¶ added in v1.15.0
type VolumeGroupSnapshotModify struct { Description string `json:"description"` Name string `json:"name,omitempty"` IsWriteOrderConsistent *bool `json:"is_write_order_consistent,omitempty"` ExpirationTimestamp *string `json:"expiration_timestamp,omitempty"` }
VolumeGroupSnapshotModify modifies existing Volume Group Snapshot Similar to volume group modify without protection policy since this is an invalid field for VolumeGroupSnapshot
type VolumeGroups ¶ added in v1.4.0
type VolumeGroups struct {
VolumeGroup []VolumeGroup `json:"volume_groups,omitempty"`
}
type VolumeMirrorTransferRateResponse ¶ added in v1.16.0
type VolumeMirrorTransferRateResponse struct { // Unique identifier representing a specific volume. ID string `json:"id,omitempty"` // The timestamp of the last read or write operation. Timestamp strfmt.DateTime `json:"timestamp,omitempty"` // The read or write bandwidth in bytes per second. SynchronizationBandwidth float32 `json:"synchronization_bandwidth,omitempty"` // The read or write bandwidth in bytes per second. MirrorBandwidth float32 `json:"mirror_bandwidth,omitempty"` // The amount of data remaining in the bandwidth DataRemaining float32 `json:"data_remaining,omitempty"` }
VolumeMirrorTransferRateResponse is returned by volume_mirror_transfer_rate
type VolumeModify ¶ added in v1.1.0
type VolumeModify struct { // Unique identifier of the volume instance. Name string `json:"name,omitempty"` // Size of the volume in bytes. Minimum volume size is 1MB. Maximum volume size is 256TB. // Size must be a multiple of 8192. Size int64 `json:"size,omitempty"` // Unique identifier of the protection policy assigned to the volume. ProtectionPolicyID string `json:"protection_policy_id"` // Unique identifier of the performance policy assigned to the volume. PerformancePolicyID string `json:"performance_policy_id,omitempty"` // Description of the volume Description string `json:"description"` // This attribute indicates the intended use of this volume. AppType string `json:"app_type,omitempty"` // An optional field used to describe application type usage for a volume. AppTypeOther string `json:"app_type_other,omitempty"` // ExpirationTimestamp provides time at which snapshot will be auto-purged. Valid only for snapshot type. ExpirationTimestamp *string `json:"expiration_timestamp,omitempty"` }
VolumeModify modify volume request
type VolumeStateEnum ¶
type VolumeStateEnum string
VolumeStateEnum Volume life cycle states.
const ( // VGPlacementRuleEnumSameAppliance - All the members of the group should be on the same appliance in the cluster. VGPlacementRuleEnumSameAppliance VolumeStateEnum = "Same_Appliance" // VGPlacementRuleEnumNoPreference - The volumes can be placed on any of the appliances in the cluster. VGPlacementRuleEnumNoPreference VolumeStateEnum = "No_Preference" )
const ( // VolumeStateEnumReady - Volume is operating normally VolumeStateEnumReady VolumeStateEnum = "Ready" // VolumeStateEnumInitializing - Volume is starting but not yet ready for use VolumeStateEnumInitializing VolumeStateEnum = "Initializing" // VolumeStateEnumOffline - Volume is not available VolumeStateEnumOffline VolumeStateEnum = "Offline" // VolumeStateEnumDestroying - Volume is being deleted. No new operations are allowed VolumeStateEnumDestroying VolumeStateEnum = "Destroying" )
type VolumeTypeEnum ¶
type VolumeTypeEnum string
VolumeTypeEnum Type of volume.
const ( // VolumeTypeEnumPrimary - A base object. VolumeTypeEnumPrimary VolumeTypeEnum = "Primary" // VolumeTypeEnumClone - A read-write object that shares storage with the object from which it is sourced. VolumeTypeEnumClone VolumeTypeEnum = "Clone" // VolumeTypeEnumSnapshot - A read-only object created from a volume or clone. VolumeTypeEnumSnapshot VolumeTypeEnum = "Snapshot" )
type VsphereHosts ¶ added in v1.12.0
type VsphereHosts struct { // Unique identifier of the vsphere_host instance. ID string `json:"id"` // User-assigned name of the ESXi host in vCenter Name string `json:"name"` }
VsphereHosts - Properties of a vsphere_host.
type WearMetricsByDriveResponse ¶ added in v1.3.0
type WearMetricsByDriveResponse struct { CommonMetricsFields // Reference to the associated drive which these metrics were recorded. DriveID string `json:"drive_id,omitempty"` // The percentage of drive wear remaining. PercentEnduranceRemaining float32 `json:"percent_endurance_remaining,omitempty"` }
WearMetricsByDriveResponse is returned by wear_metrics_by_drive request
Source Files
¶
- client.go
- client_options.go
- cluster.go
- cluster_types.go
- fc_port.go
- fc_port_types.go
- fs.go
- fs_types.go
- gopowerstore_types.go
- host.go
- host_group.go
- host_group_types.go
- host_types.go
- ip_pool_address.go
- ip_pool_address_types.go
- limit.go
- limit_types.go
- metadata_types.go
- metrics.go
- metrics_types.go
- nfs.go
- nfs_types.go
- replication.go
- replication_types.go
- snapshot_rule.go
- snapshot_rule_types.go
- software_installed.go
- software_installed_types.go
- storage_container.go
- storage_container_types.go
- volume.go
- volume_group.go
- volume_group_types.go
- volume_types.go