v100

package
v2.6.0 Latest Latest
Warning

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

Go to latest
Published: Feb 23, 2024 License: Apache-2.0 Imports: 1 Imported by: 4

Documentation

Index

Constants

View Source
const (
	CapacityUnitTb  = "TB"
	CapacityUnitGb  = "GB"
	CapacityUnitMb  = "MB"
	CapacityUnitCyl = "CYL"
)

constants of storage units

View Source
const (
	JobStatusUnscheduled = "UNSCHEDULED"
	JobStatusScheduled   = "SCHEDULED"
	JobStatusSucceeded   = "SUCCEEDED"
	JobStatusFailed      = "FAILED"
	JobStatusRunning     = "RUNNING"
)

constants

View Source
const ExecutionOptionAsynchronous = "ASYNCHRONOUS"

ExecutionOptionAsynchronous : execute tasks asynchronously

View Source
const ExecutionOptionSynchronous = "SYNCHRONOUS"

ExecutionOptionSynchronous : execute tasks synchronously

View Source
const InSG = "inSG"

InSG can be passed as a query param to the volume listing endpoing for filtering the results based on their association to a storage group

View Source
const IncludeDetails = "includeDetails"

IncludeDetails is boolean flag that can be passed as a query param to the volume listing endpoing for getting the extensive details about the snapshots.

View Source
const IsRdf = "isRdf"

IsRdf can be passed as a query param to the volume listing endpoing for filtering the resluts based on their RDF relationship

View Source
const SnapshotName = "snapshotName"

SnapshotName can be passed as a query param to the volume listing endpoing for filtering the results based on snapshot name

Variables

This section is empty.

Functions

This section is empty.

Types

type AddExistingStorageGroupParam

type AddExistingStorageGroupParam struct {
	StorageGroupIDs        []string `json:"storageGroupId,omitempty"`
	EnableComplianceAlerts bool     `json:"enableComplianceAlerts,omitempty"`
}

AddExistingStorageGroupParam contains SG ids and compliance alert flag

type AddHostInitiators

type AddHostInitiators struct {
	AddInitiator *ChangeInitiatorParam `json:"addInitiatorParam,omitempty"`
}

AddHostInitiators holds initiator parameter to add

type AddNewStorageGroupParam

type AddNewStorageGroupParam struct {
	SRPID                     string                      `json:"srpId,omitempty"`
	SLOBasedStorageGroupParam []SLOBasedStorageGroupParam `json:"sloBasedStorageGroupParam,omitempty"`
	Emulation                 string                      `json:"emulation,omitempty"`
	EnableComplianceAlerts    bool                        `json:"enableComplianceAlerts,omitempty"`
}

AddNewStorageGroupParam contains parameters required to add a new storage group

type AddPortParam

type AddPortParam struct {
	Ports []SymmetrixPortKeyType `json:"port"`
}

AddPortParam ...

type AddSpecificVolumeParam

type AddSpecificVolumeParam struct {
	VolumeIDs             []string              `json:"volumeId,omitempty"`
	RemoteSymmetrixSGInfo RemoteSymmSGInfoParam `json:"remoteSymmSGInfoParam"`
}

AddSpecificVolumeParam holds volume ids

type AddTagsParam

type AddTagsParam struct {
	TagName []string `json:"tag_name,omitempty"`
}

AddTagsParam holds array of tags to be added

type AddVolumeParam

type AddVolumeParam struct {
	VolumeAttributes      []VolumeAttributeType `json:"volumeAttributes,omitempty"`
	CreateNewVolumes      bool                  `json:"create_new_volumes"`
	Emulation             string                `json:"emulation,omitempty"`
	EnableMobilityID      bool                  `json:"enable_mobility_id"`
	VolumeIdentifier      *VolumeIdentifierType `json:"volumeIdentifier,omitempty"`
	RemoteSymmetrixSGInfo RemoteSymmSGInfoParam `json:"remoteSymmSGInfoParam"`
}

AddVolumeParam holds number volumes to add and related param

type AllVolumeParam

type AllVolumeParam struct {
	VolumeAttribute VolumeAttributeType `json:"volumeAttribute,omitempty"`
	RDFGroupNumber  int                 `json:"rdfGroupNumber,omitempty"`
}

AllVolumeParam contains volume attributes and RDF group number

type ArrayInfo added in v2.2.0

type ArrayInfo struct {
	SymmetrixID        string `json:"symmetrixId"`
	FirstAvailableDate int64  `json:"firstAvailableDate"`
	LastAvailableDate  int64  `json:"lastAvailableDate"`
}

ArrayInfo is the information of the array key

type ArrayKeysResult added in v2.2.0

type ArrayKeysResult struct {
	ArrayInfos []ArrayInfo `json:"arrayInfo"`
}

ArrayKeysResult is the list of array info

type AssociateStorageGroupParam added in v2.3.0

type AssociateStorageGroupParam struct {
	// The storage group to add to the snapshot policy
	StorageGroupName []string `json:"storage_group_name,omitempty"`
}

AssociateStorageGroupParam defines storage group ids that you want to add to the Snapshot Policy

type ChangeInitiatorParam

type ChangeInitiatorParam struct {
	Initiators []string `json:"initiator,omitempty"`
}

ChangeInitiatorParam contains initiators

type CkdCap

type CkdCap struct {
	Provisioned *provisioned `json:"provisioned"`
}

CkdCap CKD storage pool capacity

type CloneSession

type CloneSession struct {
	SourceVolume  string `json:"sourceVolume"`
	TargetVolume  string `json:"targetVolume"`
	Timestamp     int64  `json:"timestamp"`
	State         string `json:"state"`
	RemoteVolumes string `json:"remoteVolumes"`
}

CloneSession contains information on a clone session

type CloudSnapshotPolicyDetails added in v2.3.0

type CloudSnapshotPolicyDetails struct {
	// The number of cloud retention days. Has to be a minimum of 3 days and maximum of 5110 days
	CloudRetentionDays int32 `json:"cloud_retention_days,omitempty"`
	// The name of the Cloud Provider
	CloudProviderName string `json:"cloud_provider_name,omitempty"`
}

CloudSnapshotPolicyDetails holds the cloud snapshot policy details

type CreateFileSystem added in v2.4.0

type CreateFileSystem struct {
	Name                      string       `json:"name"`
	SizeTotal                 int64        `json:"size_total"`
	FsType                    string       `json:"fs_type,omitempty"`
	AccessPolicy              string       `json:"access_policy,omitempty"`
	LockingPolicy             string       `json:"locking_policy,omitempty"`
	FolderRenamePolicy        string       `json:"folder_rename_policy,omitempty"`
	HostIOBlock               int          `json:"host_ioblock,omitempty"`
	NasServer                 string       `json:"nas_server"`
	SmbSyncWrites             bool         `json:"smb_sync_writes,omitempty"`
	SmbOpLocks                bool         `json:"smb_op_locks,omitempty"`
	SmbNoNotify               bool         `json:"smb_no_notify,omitempty"`
	SmbNotifyOnAccess         bool         `json:"smb_notify_on_access,omitempty"`
	SmbNotifyOnWrite          bool         `json:"smb_notify_on_write,omitempty"`
	SmbNotifyOnChangeDirDepth int          `json:"smb_notify_on_change_dir_depth,omitempty"`
	AsyncMtime                bool         `json:"async_mtime,omitempty"`
	FlrMode                   string       `json:"flr_mode,omitempty"`
	FlrMinRet                 string       `json:"flr_min_ret,omitempty"`
	FlrDefRet                 string       `json:"flr_def_ret,omitempty"`
	FlrMaxRet                 string       `json:"flr_max_ret,omitempty"`
	FlrAutoLock               bool         `json:"flr_auto_lock,omitempty"`
	FlrAutoDelete             bool         `json:"flr_auto_delete,omitempty"`
	FlrPolicyInterval         int          `json:"flr_policy_interval,omitempty"`
	FlrEnabled                bool         `json:"flr_enabled,omitempty"`
	FlrClockTime              string       `json:"flr_clock_time,omitempty"`
	FlrMaxRetentionDate       string       `json:"flr_max_retention_date,omitempty"`
	FlrHasProtectedFiles      bool         `json:"flr_has_protected_files,omitempty"`
	QuotaConfig               *QuotaConfig `json:"quota_config,omitempty"`
	EventNotifications        string       `json:"event_notifications,omitempty"`
	InfoThreshold             int          `json:"info_threshold,omitempty"`
	HighThreshold             int          `json:"high_threshold,omitempty"`
	WarningThreshold          int          `json:"warning_threshold,omitempty"`
	ServiceLevel              string       `json:"service_level,omitempty"`
	DataReduction             bool         `json:"data_reduction,omitempty"`
}

CreateFileSystem has payload to create file system

type CreateHostGroupParam

type CreateHostGroupParam struct {
	HostGroupID     string            `json:"hostGroupId"`
	HostIDs         []string          `json:"hostId"`
	HostFlags       *HostFlags        `json:"hostFlags,omitempty"`
	ExecutionOption string            `json:"executionOption"`
	NewHosts        []CreateHostParam `json:"new_hosts,omitempty"`
}

CreateHostGroupParam contains parameters required to create host group

type CreateHostParam

type CreateHostParam struct {
	HostID          string     `json:"hostId"`
	InitiatorIDs    []string   `json:"initiatorId"`
	HostFlags       *HostFlags `json:"hostFlags,omitempty"`
	ExecutionOption string     `json:"executionOption"`
}

CreateHostParam contains input fields to create a host

type CreateMigrationEnv added in v2.2.0

type CreateMigrationEnv struct {
	OtherArrayID    string `json:"otherArrayId"`
	ExecutionOption string `json:"executionOption"`
}

CreateMigrationEnv param creates migration environment

type CreateNFSExport added in v2.4.0

type CreateNFSExport struct {
	StorageResource    string   `json:"storage_resource"`
	Name               string   `json:"name"`
	Path               string   `json:"path"`
	Description        string   `json:"description,omitempty"`
	DefaultAccess      string   `json:"default_access,omitempty"`
	MinSecurity        string   `json:"min_security,omitempty"`
	NFSOwnerUsername   bool     `json:"nfs_owner_username,omitempty"`
	NoAccessHosts      []string `json:"no_access_hosts,omitempty"`
	ReadOnlyHosts      []string `json:"read_only_hosts,omitempty"`
	ReadOnlyRootHosts  []string `json:"read_only_root_hosts,omitempty"`
	ReadWriteHosts     []string `json:"read_write_hosts,omitempty"`
	ReadWriteRootHosts []string `json:"read_write_root_hosts,omitempty"`
	AnonymousUID       int      `json:"anonymous_uid,omitempty"`
	AnonymousGID       int      `json:"anonymous_gid,omitempty"`
	NoSUID             bool     `json:"no_suid,omitempty"`
}

CreateNFSExport holds param to create NFS export

type CreatePortGroupParam

type CreatePortGroupParam struct {
	PortGroupID      string                 `json:"portGroupId,omitempty"`
	SymmetrixPortKey []SymmetrixPortKeyType `json:"symmetrixPortKey,omitempty"`
}

CreatePortGroupParam contains the port group id and port type

type CreatePortGroupParams

type CreatePortGroupParams struct {
	PortGroupID       string    `json:"portGroupId"`
	SymmetrixPortKey  []PortKey `json:"symmetrixPortKey"`
	ExecutionOption   string    `json:"executionOption"`
	PortGroupProtocol string    `json:"port_group_protocol,omitempty"`
}

CreatePortGroupParams - Input params for creating port groups

type CreateRDFPair

type CreateRDFPair struct {
	RdfMode                 string                   `json:"rdfMode"`
	RdfType                 string                   `json:"rdfType"`
	InvalidateR1            bool                     `json:"invalidateR1"`
	InvalidateR2            bool                     `json:"invalidateR2"`
	Establish               bool                     `json:"establish"`
	Restore                 bool                     `json:"restore"`
	Format                  bool                     `json:"format"`
	Exempt                  bool                     `json:"exempt"`
	NoWD                    bool                     `json:"noWD"`
	Remote                  bool                     `json:"remote"`
	Bias                    bool                     `json:"bias"`
	RecoverPoint            bool                     `json:"recoverPoint,omitempty"`
	LocalDeviceAutoCriteria *LocalDeviceAutoCriteria `json:"localDeviceAutoCriteriaParam"`
	LocalDeviceListCriteria *LocalDeviceListCriteria `json:"localDeviceListCriteriaParam"`
	ExecutionOption         string                   `json:"executionOption"`
}

CreateRDFPair holds SG create replica pair parameters

type CreateSGSRDF

type CreateSGSRDF struct {
	RemoteSymmID           string `json:"remoteSymmId"`
	ReplicationMode        string `json:"replicationMode"`
	RdfgNumber             int    `json:"rdfgNumber"`
	ForceNewRdfGroup       string `json:"forceNewRdfGroup"`
	Establish              bool   `json:"establish"`
	MetroBias              bool   `json:"metroBias"`
	RemoteStorageGroupName string `json:"remoteStorageGroupName"`
	ThinPool               string `json:"thinPool"`
	FastPolicy             string `json:"fastPolicy"`
	RemoteSLO              string `json:"remoteSLO"`
	NoCompression          bool   `json:"noCompression"`
	ExecutionOption        string `json:"executionOption"`
}

CreateSGSRDF contains parameters to create storage group replication {in u4p a.k.a "storageGroupSrdfCreate"}

type CreateSnapshotPolicyParam added in v2.3.0

type CreateSnapshotPolicyParam struct {
	// The name of the new snapshot policy.
	SnapshotPolicyName string `json:"snapshot_policy_name"`
	// The interval between snapshots Valid values:(10 Minutes, 12 Minutes, 15 Minutes, 20 Minutes, 30 Minutes,
	// 1 Hour, 2 Hours, 3 Hours, 4 Hours, 6 Hours, 8 Hours, 12 Hours, 1 Day, 7 Days)
	Interval string `json:"interval,omitempty"`
	// The number of minutes from 00:00 on a Monday morning when the policy should run. Default is 0 if not specified.
	OffsetMins int32 `json:"offset_mins,omitempty"`
	// The number of snapshots which are not failed or bad when compliance changes to warning.
	ComplianceCountWarning int64 `json:"compliance_count_warning,omitempty"`
	// The number of snapshots which are not failed or bad when compliance changes to critical.
	ComplianceCountCritical int64 `json:"compliance_count_critical,omitempty"`
	// Cloud Snapshot Policy Details
	CloudSnapshotPolicyDetails *CloudSnapshotPolicyDetails `json:"cloud_snapshot_policy_details,omitempty"`
	// Local Snapshot Policy Details
	LocalSnapshotPolicyDetails *LocalSnapshotPolicyDetails `json:"local_snapshot_policy_details,omitempty"`
	ExecutionOption            string                      `json:"executionOption"`
}

CreateSnapshotPolicyParam Parameters for creating a new snapshot policy

type CreateStorageGroupParam

type CreateStorageGroupParam struct {
	ExecutionOption           string                      `json:"executionOption,omitempty"`
	StorageGroupID            string                      `json:"storageGroupId"`
	SnapshotPolicies          []string                    `json:"snapshot_policies"`
	SRPID                     string                      `json:"srpId,omitempty"`
	SLOBasedStorageGroupParam []SLOBasedStorageGroupParam `json:"sloBasedStorageGroupParam,omitempty"`
	Emulation                 string                      `json:"emulation,omitempty"`
}

CreateStorageGroupParam : Payload for creating Storage Group

type CreateStorageGroupSnapshot added in v2.3.0

type CreateStorageGroupSnapshot struct {
	SnapshotName    string `json:"snapshotName"`
	ExecutionOption string `json:"executionOption"`
	TimeToLive      int32  `json:"timeToLive,omitempty"`
	Secure          int32  `json:"secure,omitempty"`
	TimeInHours     bool   `json:"force,omitempty"`
	Star            bool   `json:"start,omitempty"`
	Bothsides       bool   `json:"bothsides,omitempty"`
}

CreateStorageGroupSnapshot object to create a storage group snapshot

type CreateVolumesSnapshot

type CreateVolumesSnapshot struct {
	SourceVolumeList []VolumeList `json:"deviceNameListSource"`
	BothSides        bool         `json:"bothSides"`
	Star             bool         `json:"star"`
	Force            bool         `json:"force"`
	TimeInHours      bool         `json:"timeInHours"`
	TimeToLive       int64        `json:"timeToLive"`
	TTL              int64        `json:"ttl,omitempty"`
	Securettl        int64        `json:"securettl,omitempty"`
	ExecutionOption  string       `json:"executionOption"`
}

CreateVolumesSnapshot contains parameters to create a volume snapshot

type DeleteVolumeSnapshot

type DeleteVolumeSnapshot struct {
	DeviceNameListSource []VolumeList `json:"deviceNameListSource"`
	Symforce             bool         `json:"symforce,omitempty"`
	Star                 bool         `json:"star,omitempty"`
	Force                bool         `json:"force,omitempty"`
	Restore              bool         `json:"restore,omitempty"`
	Generation           int64        `json:"generation"`
	ExecutionOption      string       `json:"executionOption,omitempty"`
}

DeleteVolumeSnapshot contains input parameters to delete the snapshot

type DirectorIDList

type DirectorIDList struct {
	DirectorIDs []string `json:"directorId"`
}

DirectorIDList : list of directors

type DisassociateStorageGroupParam added in v2.3.0

type DisassociateStorageGroupParam struct {
	// The storage group to remove to the snapshot policy
	StorageGroupName []string `json:"storage_group_name,omitempty"`
}

DisassociateStorageGroupParam defines storage group ids that you want to remove from the Snapshot Policy

type EditCompressionParam

type EditCompressionParam struct {
	Compression *bool `json:"compression,omitempty"`
}

EditCompressionParam hold param to edit compression attribute with an SG

type EditHostGroupActionParams added in v2.2.0

type EditHostGroupActionParams struct {
	SetHostGroupFlags    *SetHostFlags         `json:"setHostGroupFlagsParam,omitempty"`
	RenameHostGroupParam *RenameHostGroupParam `json:"renameHostGroupParam,omitempty"`
	RemoveHostParam      *EditHostsParam       `json:"removeHostParam,omitempty"`
	AddHostParam         *EditHostsParam       `json:"addHostParam,omitempty"`
}

EditHostGroupActionParams holds the parameters of the hostGroup to modify

type EditHostParams

type EditHostParams struct {
	SetHostFlags    *SetHostFlags    `json:"setHostFlagsParam,omitempty"`
	RenameHostParam *RenameHostParam `json:"renameHostParam,omitempty"`
}

EditHostParams holds the host flags to modify

type EditHostsParam added in v2.2.0

type EditHostsParam struct {
	Host []string `json:"host"`
}

EditHostsParam holds the list of hosts to be updated in the host group

type EditMaskingViewActionParam added in v2.1.0

type EditMaskingViewActionParam struct {
	RenameMaskingViewParam RenameMaskingViewParam `json:"renameMaskingViewParam"`
}

EditMaskingViewActionParam holds values to modify for masking view

type EditMaskingViewParam added in v2.1.0

type EditMaskingViewParam struct {
	EditMaskingViewActionParam EditMaskingViewActionParam `json:"editMaskingViewActionParam"`
	ExecutionOption            string                     `json:"executionOption"`
}

EditMaskingViewParam holds values to modify for masking view with execution option

type EditPortGroup

type EditPortGroup struct {
	ExecutionOption          string                    `json:"executionOption"`
	EditPortGroupActionParam *EditPortGroupActionParam `json:"editPortGroupActionParam"`
}

EditPortGroup ...

type EditPortGroupActionParam

type EditPortGroupActionParam struct {
	AddPortParam         *AddPortParam         `json:"addPortParam,omitempty"`
	RemovePortParam      *RemovePortParam      `json:"removePortParam,omitempty"`
	RenamePortGroupParam *RenamePortGroupParam `json:"renamePortGroupParam,omitempty"`
}

EditPortGroupActionParam ...

type EditSnapshotPoliciesParam added in v2.1.0

type EditSnapshotPoliciesParam struct {
	ResumeSnapshotPolicyParam       *SnapshotPolicies `json:"resume_snapshot_policy_param,omitempty"`
	SuspendSnapshotPolicyParam      *SnapshotPolicies `json:"suspend_snapshot_policy_param,omitempty"`
	DisassociateSnapshotPolicyParam *SnapshotPolicies `json:"disassociate_snapshot_policy_param,omitempty"`
	AssociateSnapshotPolicyParam    *SnapshotPolicies `json:"associate_snapshot_policy_param,omitempty"`
}

EditSnapshotPoliciesParam holds the updates for snapshotpolicies of the storageGroup

type EditStorageGroupActionParam

type EditStorageGroupActionParam struct {
	MergeStorageGroupParam        *MergeStorageGroupParam        `json:"mergeStorageGroupParam,omitempty"`
	SplitStorageGroupVolumesParam *SplitStorageGroupVolumesParam `json:"splitStorageGroupVolumesParam,omitempty"`
	SplitChildStorageGroupParam   *SplitChildStorageGroupParam   `json:"splitChildStorageGroupParam,omitempty"`
	MoveVolumeToStorageGroupParam *MoveVolumeToStorageGroupParam `json:"moveVolumeToStorageGroupParam,omitempty"`
	EditCompressionParam          *EditCompressionParam          `json:"editCompressionParam,omitempty"`
	SetHostIOLimitsParam          *SetHostIOLimitsParam          `json:"setHostIOLimitsParam,omitempty"`
	RemoveVolumeParam             *RemoveVolumeParam             `json:"removeVolumeParam,omitempty"`
	ExpandStorageGroupParam       *ExpandStorageGroupParam       `json:"expandStorageGroupParam,omitempty"`
	EditStorageGroupWorkloadParam *EditStorageGroupWorkloadParam `json:"editStorageGroupWorkloadParam,omitempty"`
	EditStorageGroupSLOParam      *EditStorageGroupSLOParam      `json:"editStorageGroupSLOParam,omitempty"`
	EditStorageGroupSRPParam      *EditStorageGroupSRPParam      `json:"editStorageGroupSRPParam,omitempty"`
	RemoveStorageGroupParam       *RemoveStorageGroupParam       `json:"removeStorageGroupParam,omitempty"`
	RenameStorageGroupParam       *RenameStorageGroupParam       `json:"renameStorageGroupParam,omitempty"`
	EditSnapshotPoliciesParam     *EditSnapshotPoliciesParam     `json:"edit_snapshot_policies_param,omitempty"`
}

EditStorageGroupActionParam holds parameters to modify an SG

type EditStorageGroupSLOParam

type EditStorageGroupSLOParam struct {
	SLOID string `json:"sloId,omitempty"`
}

EditStorageGroupSLOParam hold param to change SLOs

type EditStorageGroupSRPParam

type EditStorageGroupSRPParam struct {
	SRPID string `json:"srpId,omitempty"`
}

EditStorageGroupSRPParam holds param to change SRPs

type EditStorageGroupWorkloadParam

type EditStorageGroupWorkloadParam struct {
	WorkloadSelection string `json:"workloadSelection,omitempty,omitempty"`
}

EditStorageGroupWorkloadParam holds selected work load

type EditVolumeActionParam

type EditVolumeActionParam struct {
	EnableMobilityIDParam       *EnableMobilityIDParam       `json:"enable_mobility_id_param"`
	FreeVolumeParam             *FreeVolumeParam             `json:"freeVolumeParam,omitempty"`
	ExpandVolumeParam           *ExpandVolumeParam           `json:"expandVolumeParam,omitempty"`
	ModifyVolumeIdentifierParam *ModifyVolumeIdentifierParam `json:"modifyVolumeIdentifierParam,omitempty"`
}

EditVolumeActionParam : action information to edit volume

type EditVolumeParam

type EditVolumeParam struct {
	EditVolumeActionParam EditVolumeActionParam `json:"editVolumeActionParam"`
	ExecutionOption       string                `json:"executionOption"`
}

EditVolumeParam : parameters required to edit volume information

type EnableMobilityIDParam

type EnableMobilityIDParam struct {
	EnableMobilityID bool `json:"enable_mobility_id"`
}

EnableMobilityIDParam has mobility ID for a volume

type Error

type Error struct {
	Message        string `json:"message"`
	HTTPStatusCode int    `json:"httpStatusCode"`
	ErrorCode      int    `json:"errorCode"`
}

Error : contains fields to report rest interface errors

func (Error) Error

func (e Error) Error() string

type Establish

type Establish struct {
	Force     bool `json:"force"`
	SymForce  bool `json:"symForce"`
	Star      bool `json:"star"`
	Hop2      bool `json:"hop2"`
	Bypass    bool `json:"bypass"`
	Full      bool `json:"full"`
	MetroBias bool `json:"metroBias"`
}

Establish action

type ExpandStorageGroupParam

type ExpandStorageGroupParam struct {
	AddExistingStorageGroupParam *AddExistingStorageGroupParam `json:"addExistingStorageGroupParam,omitempty"`
	AddNewStorageGroupParam      *AddNewStorageGroupParam      `json:"addNewStorageGroupParam,omitempty"`
	ExpandVolumesParams          *ExpandVolumesParam           `json:"expandVolumesParam,omitempty"`
	AddSpecificVolumeParam       *AddSpecificVolumeParam       `json:"addSpecificVolumeParam,omitempty"`
	AddVolumeParam               *AddVolumeParam               `json:"addVolumeParam,omitempty"`
}

ExpandStorageGroupParam holds params related to expanding size of an SG

type ExpandVolumeParam

type ExpandVolumeParam struct {
	VolumeAttribute VolumeAttributeType `json:"volumeAttribute"`
	RDFGroupNumber  int                 `json:"rdfGroupNumber,omitempty"`
}

ExpandVolumeParam : attributes to expand a volume

type ExpandVolumesParam

type ExpandVolumesParam struct {
	SpecificVolumeParam SpecificVolumeParam `json:"specificVolumeParam,omitempty"`
	AllVolumeParam      AllVolumeParam      `json:"allVolumeParam,omitempty"`
}

ExpandVolumesParam holds parameters to expand volumes

type Failback

type Failback struct {
	Force        bool `json:"force"`
	SymForce     bool `json:"symForce"`
	Star         bool `json:"star"`
	Hop2         bool `json:"hop2"`
	Bypass       bool `json:"bypass"`
	Remote       bool `json:"remote"`
	RecoverPoint bool `json:"recoverPoint,omitempty"`
}

Failback action

type Failover

type Failover struct {
	Force     bool `json:"force"`
	SymForce  bool `json:"symForce"`
	Star      bool `json:"star"`
	Hop2      bool `json:"hop2"`
	Bypass    bool `json:"bypass"`
	Immediate bool `json:"immediate"`
	Establish bool `json:"establish"`
	Restore   bool `json:"restore"`
	Remote    bool `json:"remote"`
}

Failover action

type FbaCap

type FbaCap struct {
	Provisioned *provisioned `json:"provisioned"`
}

FbaCap FBA storage pool capacity

type FileInterface added in v2.4.0

type FileInterface struct {
	ID         string `json:"id"`
	NasServer  string `json:"nas_server"`
	NetDevice  string `json:"net_device"`
	MacAddress string `json:"mac_address"`
	IPAddress  string `json:"ip_address"`
	Netmask    string `json:"netmask"`
	Gateway    string `json:"gateway"`
	VlanID     int    `json:"vlan_id"`
	Name       string `json:"name"`
	Role       string `json:"role"`
	IsDisabled bool   `json:"is_disabled"`
	Override   bool   `json:"override"`
}

FileInterface holds file interface details

type FileSystem added in v2.4.0

type FileSystem struct {
	ID                        string       `json:"id"`
	ParentOID                 string       `json:"parent_oid"`
	Name                      string       `json:"name"`
	StorageWWN                string       `json:"storage_wwn"`
	ExportFSID                string       `json:"export_fsid"`
	Description               string       `json:"description"`
	SizeTotal                 int64        `json:"size_total"`
	SizeUsed                  int64        `json:"size_used"`
	Health                    Health       `json:"health"`
	ReadOnly                  bool         `json:"read_only"`
	FsType                    string       `json:"fs_type"`
	MountState                string       `json:"mount_state"`
	AccessPolicy              string       `json:"access_policy"`
	LockingPolicy             string       `json:"locking_policy"`
	FolderRenamePolicy        string       `json:"folder_rename_policy"`
	HostIOBlockSize           int          `json:"host_ioblock_size"`
	NasServer                 string       `json:"nas_server"`
	SmbSyncWrites             bool         `json:"smb_sync_writes"`
	SmbOpLocks                bool         `json:"smb_op_locks"`
	SmbNoNotify               bool         `json:"smb_no_notify"`
	SmbNotifyOnAccess         bool         `json:"smb_notify_on_access"`
	SmbNotifyOnWrite          bool         `json:"smb_notify_on_write"`
	SmbNotifyOnChangeDirDepth int          `json:"smb_notify_on_change_dir_depth"`
	AsyncMtime                bool         `json:"async_mtime"`
	FlrMode                   string       `json:"flr_mode"`
	FlrMinRet                 string       `json:"flr_min_ret"`
	FlrDefRet                 string       `json:"flr_def_ret"`
	FlrMaxRet                 string       `json:"flr_max_ret"`
	FlrAutoLock               bool         `json:"flr_auto_lock"`
	FlrAutoDelete             bool         `json:"flr_auto_delete"`
	FlrPolicyInterval         int          `json:"flr_policy_interval"`
	FlrEnabled                bool         `json:"flr_enabled"`
	FlrClockTime              string       `json:"flr_clock_time"`
	FlrMaxRetentionDate       string       `json:"flr_max_retention_date"`
	FlrHasProtectedFiles      bool         `json:"flr_has_protected_files"`
	QuotaConfig               *QuotaConfig `json:"quota_config"`
	EventNotifications        string       `json:"event_notifications"`
	InfoThreshold             int          `json:"info_threshold"`
	HighThreshold             int          `json:"high_threshold"`
	WarningThreshold          int          `json:"warning_threshold"`
	ServiceLevel              string       `json:"service_level"`
	DataReduction             bool         `json:"data_reduction"`
}

FileSystem holds information about a file system

type FileSystemIDName added in v2.4.0

type FileSystemIDName struct {
	ID   string `json:"id"`
	Name string `json:"name"`
}

FileSystemIDName holds id and name for a file system

type FileSystemIterator added in v2.4.0

type FileSystemIterator struct {
	ResultList     FileSystemList `json:"resultList"`
	ID             string         `json:"id"`
	Count          int            `json:"count"`
	ExpirationTime int64          `json:"expirationTime"`
	MaxPageSize    int            `json:"maxPageSize"`
}

FileSystemIterator holds the iterator of resultant file system list

type FileSystemList added in v2.4.0

type FileSystemList struct {
	FileSystemList []FileSystemIDName `json:"result"`
	From           int                `json:"from"`
	To             int                `json:"to"`
}

FileSystemList file system list resulted

type FreeVolumeParam

type FreeVolumeParam struct {
	FreeVolume bool `json:"free_volume"`
}

FreeVolumeParam : boolean value representing data to be freed

type Health added in v2.4.0

type Health struct {
	HealthStatus string `json:"health_status"`
}

Health holds health info

type Host

type Host struct {
	HostID             string   `json:"hostId"`
	NumberMaskingViews int64    `json:"num_of_masking_views"`
	NumberInitiators   int64    `json:"num_of_initiators"`
	NumberHostGroups   int64    `json:"num_of_host_groups"`
	PortFlagsOverride  bool     `json:"port_flags_override"`
	ConsistentLun      bool     `json:"consistent_lun"`
	EnabledFlags       string   `json:"enabled_flags"`
	DisabledFlags      string   `json:"disabled_flags"`
	HostType           string   `json:"type"`
	Initiators         []string `json:"initiator"`
	MaskingviewIDs     []string `json:"maskingview"`
	PowerPathHosts     []string `json:"powerpathhosts"`
	NumPowerPathHosts  int64    `json:"num_of_powerpath_hosts"`
	BWLimit            int      `json:"bw_limit"`
}

Host : Information about a host

type HostFlag

type HostFlag struct {
	Enabled  bool `json:"enabled"`
	Override bool `json:"override"`
}

HostFlag holds the host flags

type HostFlags

type HostFlags struct {
	VolumeSetAddressing *HostFlag `json:"volume_set_addressing,omitempty"`
	DisableQResetOnUA   *HostFlag `json:"disable_q_reset_on_ua,omitempty"`
	EnvironSet          *HostFlag `json:"environ_set,omitempty"`
	AvoidResetBroadcast *HostFlag `json:"avoid_reset_broadcast,omitempty"`
	OpenVMS             *HostFlag `json:"openvms,omitempty"`
	SCSI3               *HostFlag `json:"scsi_3,omitempty"`
	Spc2ProtocolVersion *HostFlag `json:"spc2_protocol_version,omitempty"`
	SCSISupport1        *HostFlag `json:"scsi_support1,omitempty"`
	ConsistentLUN       bool      `json:"consistent_lun"`
}

HostFlags holds additional host flags

type HostGroup added in v2.2.0

type HostGroup struct {
	HostGroupID        string        `json:"hostGroupId"`
	NumOfHosts         int64         `json:"num_of_hosts"`
	NumberMaskingViews int64         `json:"num_of_masking_views"`
	NumberInitiators   int64         `json:"num_of_initiators"`
	PortFlagsOverride  bool          `json:"port_flags_override"`
	ConsistentLun      bool          `json:"consistent_lun"`
	EnabledFlags       string        `json:"enabled_flags"`
	DisabledFlags      string        `json:"disabled_flags"`
	HostGroupType      string        `json:"type"`
	MaskingviewIDs     []string      `json:"maskingview"`
	Hosts              []HostSummary `json:"host"`
}

HostGroup holds the information about a hostgroup

type HostGroupList added in v2.2.0

type HostGroupList struct {
	HostGroupIDs []string `json:"hostGroupId"`
}

HostGroupList : list of hostgroups

type HostList

type HostList struct {
	HostIDs []string `json:"hostId"`
}

HostList : list of hosts

type HostOrHostGroupSelection

type HostOrHostGroupSelection struct {
	CreateHostGroupParam      *CreateHostGroupParam      `json:"createHostGroupParam,omitempty"`
	UseExistingHostGroupParam *UseExistingHostGroupParam `json:"useExistingHostGroupParam,omitempty"`
	CreateHostParam           *CreateHostParam           `json:"createHostParam,omitempty"`
	UseExistingHostParam      *UseExistingHostParam      `json:"useExistingHostParam,omitempty"`
}

HostOrHostGroupSelection contains parameters to select a host or host group

type HostSummary added in v2.2.0

type HostSummary struct {
	HostID     string   `json:"hostId"`
	Initiators []string `json:"initiator"`
}

HostSummary holds the information about hostIDs and its corresponding initiators associated with the hostgroup

type Initiator

type Initiator struct {
	InitiatorID          string    `json:"initiatorId"`
	SymmetrixPortKey     []PortKey `json:"symmetrixPortKey"`
	Alias                string    `json:"alias"`
	InitiatorType        string    `json:"type"`
	FCID                 string    `json:"fcid,omitempty"`
	FCIDValue            string    `json:"fcid_value"`
	FCIDLockdown         string    `json:"fcid_lockdown"`
	IPAddress            string    `json:"ip_address,omitempty"`
	Host                 string    `json:"host,omitempty"`
	HostGroupIDs         []string  `json:"hostGroup,omitempty"`
	LoggedIn             bool      `json:"logged_in"`
	OnFabric             bool      `json:"on_fabric"`
	FabricName           string    `json:"fabric_name"`
	PortFlagsOverride    bool      `json:"port_flags_override"`
	EnabledFlags         string    `json:"enabled_flags"`
	DisabledFlags        string    `json:"disabled_flags"`
	FlagsInEffect        string    `json:"flags_in_effect"`
	NumberVols           int64     `json:"num_of_vols"`
	NumberHostGroups     int64     `json:"num_of_host_groups"`
	NumberMaskingViews   int64     `json:"num_of_masking_views"`
	MaskingView          []string  `json:"maskingview"`
	PowerPathHosts       []string  `json:"powerpathhosts"`
	NumberPowerPathHosts int64     `json:"num_of_powerpath_hosts"`
	HostID               string    `json:"host_id"`
}

Initiator : Information about an initiator

type InitiatorGroup added in v2.2.0

type InitiatorGroup struct {
	Name         string       `json:"name"`
	Invalid      bool         `json:"invalid"`
	ChildInvalid bool         `json:"childInvalid"`
	Missing      bool         `json:"missing"`
	Initiator    []Initiators `json:"initiator"`
}

InitiatorGroup contains initiator group information

type InitiatorList

type InitiatorList struct {
	InitiatorIDs []string `json:"initiatorId"`
}

InitiatorList : list of initiators

type Initiators added in v2.2.0

type Initiators struct {
	Name    string `json:"name"`
	WWN     string `json:"wwn"`
	Invalid bool   `json:"invalid"`
}

Initiators contains initiator group information

type Job

type Job struct {
	JobID                        string `json:"jobId"`
	Name                         string `json:"name"`
	SymmetrixID                  string `json:"symmetrixId"`
	Status                       string `json:"status"`
	Username                     string `json:"username"`
	LastModifiedDate             string `json:"last_modified_date"`
	LastModifiedDateMilliseconds int64  `json:"last_modified_date_milliseconds"`
	ScheduledDate                string `json:"scheduled_date"`
	ScheduledDateMilliseconds    int64  `json:"scheduled_date_milliseconds"`
	CompletedDate                string `json:"completed_date"`
	CompletedDateMilliseconds    int64  `json:"completed_date_milliseconds"`
	Tasks                        []Task `json:"task"`
	ResourceLink                 string `json:"resourceLink"`
	Result                       string `json:"result"`
	Links                        []Link `json:"links"`
}

Job : information about a job

func (*Job) GetJobResource

func (j *Job) GetJobResource() (string, string, string)

GetJobResource parses the Resource link and returns three things: The 1) the symmetrixID, 2) the resource type (e.g.) volume, and 3) the resourceID If the Resource Link cannot be parsed, empty strings are returned.

type JobIDList

type JobIDList struct {
	JobIDs []string `json:"jobId"`
}

JobIDList : list of Job ids

type Link struct {
	Key string   `json:"key"`
	URI []string `json:"uris"`
}

Link : key and URI

type LinkSnapshotAction added in v2.3.0

type LinkSnapshotAction struct {
	Force            bool   `json:"force,omitempty"`
	Star             bool   `json:"star,omitempty"`
	Remote           bool   `json:"remote,omitempty"`
	StorageGroupName string `json:"storage_group_name"`
	NoCompression    bool   `json:"no_compression,omitempty"`
	Exact            bool   `json:"exact,omitempty"`
	Copy             bool   `json:"copy,omitempty"`
}

LinkSnapshotAction an action on a Storage Group snap

type LinkSnapshotGenInfo

type LinkSnapshotGenInfo struct {
	TargetDevice  string `json:"targetDevice"`
	State         string `json:"state"`
	Restored      bool   `json:"restored"`
	Defined       bool   `json:"defined"`
	Destaged      bool   `json:"destaged"`
	BackgroundDef bool   `json:"backgroundDef"`
}

LinkSnapshotGenInfo contains information on snapshot generation for links

type LinkStorageGroupSnapshot added in v2.3.0

type LinkStorageGroupSnapshot struct {
	ExecutionOption string             `json:"executionOption,omitempty"`
	Action          string             `json:"action"`
	Link            LinkSnapshotAction `json:"link"`
}

LinkStorageGroupSnapshot Modify a Storage Group snap to link

type LinkedStorageGroup added in v2.3.0

type LinkedStorageGroup struct {
	Name                       string `json:"name"`
	SourceVolumeName           string `json:"source_volume_name"`
	LinkedVolumeName           string `json:"linked_volume_name"`
	Tracks                     int64  `json:"tracks"`
	TrackSize                  int64  `json:"trackSize"`
	PercentageCopied           int64  `json:"percentageCopied"`
	Defined                    bool   `json:"defined"`
	BackgroundDefineInProgress bool   `json:"background_define_in_progress"`
}

LinkedStorageGroup linked storage group

type LinkedVolumes

type LinkedVolumes struct {
	TargetDevice     string `json:"targetDevice"`
	Timestamp        string `json:"timestamp"`
	State            string `json:"state"`
	TrackSize        int64  `json:"trackSize"`
	Tracks           int64  `json:"tracks"`
	PercentageCopied int64  `json:"percentageCopied"`
	Linked           bool   `json:"linked"`
	Restored         bool   `json:"restored"`
	Defined          bool   `json:"defined"`
	Copy             bool   `json:"copy"`
	Destage          bool   `json:"destage"`
	Modified         bool   `json:"modified"`
	LinkSource       string `json:"linkSourceName"`
	SnapshotName     string `json:"snapshot_name"`
	Generation       int64  `json:"generation"`
}

LinkedVolumes contains information about linked volumes of the snapshot

type LocalDeviceAutoCriteria

type LocalDeviceAutoCriteria struct {
	PairCount          int    `json:"pairCount"`
	Emulation          string `json:"emulation"`
	Capacity           int64  `json:"capacity"`
	CapacityUnit       string `json:"capacityUnit"`
	LocalThinPoolName  string `json:"localThinPoolName"`
	RemoteThinPoolName string `json:"remoteThinPoolName"`
}

LocalDeviceAutoCriteria holds parameters for auto selecting local device parameters

type LocalDeviceListCriteria

type LocalDeviceListCriteria struct {
	LocalDeviceList    []string `json:"localDeviceList"`
	RemoteThinPoolName string   `json:"remoteThinPoolName"`
}

LocalDeviceListCriteria holds parameters for local device lis

type LocalSnapshotPolicyDetails added in v2.3.0

type LocalSnapshotPolicyDetails struct {
	// The snapshot policy will create secure snapshots
	Secure bool `json:"secure,omitempty"`
	// The number of the snapshots that will be maintained by the snapshot policy
	SnapshotCount int32 `json:"snapshot_count,omitempty"`
}

LocalSnapshotPolicyDetails holds the local snapshot policy details

type MaskingView

type MaskingView struct {
	MaskingViewID  string `json:"maskingViewId"`
	HostID         string `json:"hostId"`
	HostGroupID    string `json:"hostGroupId"`
	PortGroupID    string `json:"portGroupId"`
	StorageGroupID string `json:"storageGroupId"`
}

MaskingView holds masking view fields

type MaskingViewConnection

type MaskingViewConnection struct {
	VolumeID       string `json:"volumeId"`
	HostLUNAddress string `json:"host_lun_address"`
	CapacityGB     string `json:"cap_gb"`
	InitiatorID    string `json:"initiatorId"`
	Alias          string `json:"alias"`
	DirectorPort   string `json:"dir_port"`
	LoggedIn       bool   `json:"logged_in"`
	OnFabric       bool   `json:"on_fabric"`
}

MaskingViewConnection is a connection entry for the massking view associating a volume with the HostLUNAddress, the InitiatID and DirectorPort used for the path, and other attributes.

type MaskingViewConnectionsResult

type MaskingViewConnectionsResult struct {
	MaskingViewConnections []*MaskingViewConnection `json:"maskingViewConnection"`
}

MaskingViewConnectionsResult is the result structure for .../maskingview/{id}/connections

type MaskingViewCreateParam

type MaskingViewCreateParam struct {
	MaskingViewID            string                    `json:"maskingViewId"`
	HostOrHostGroupSelection *HostOrHostGroupSelection `json:"hostOrHostGroupSelection,omitempty"`
	PortGroupSelection       *PortGroupSelection       `json:"portGroupSelection,omitempty"`
	StorageGroupSelection    *StorageGroupSelection    `json:"storageGroupSelection,omitempty"`
	EnableComplianceAlerts   bool                      `json:"enableComplianceAlerts,omitempty"`
	ExecutionOption          string                    `json:"executionOption,omitempty"`
}

MaskingViewCreateParam holds the parameters to create masking views

type MaskingViewList

type MaskingViewList struct {
	MaskingViewIDs []string `json:"maskingViewId"`
}

MaskingViewList contains list of masking views

type MergeStorageGroupParam

type MergeStorageGroupParam struct {
	StorageGroupID string `json:"storageGroupId,omitempty"`
}

MergeStorageGroupParam : Payloads for updating Storage Group

type MigrationDevicePairs added in v2.2.0

type MigrationDevicePairs struct {
	SrcVolumeName string `json:"srcVolumeName"`
	InvalidSrc    bool   `json:"invalidSrc"`
	MissingSrc    bool   `json:"missingSrc"`
	TgtVolumeName string `json:"tgtVolumeName"`
	InvalidTgt    bool   `json:"invalidTgt"`
	MissingTgt    bool   `json:"missingTgt"`
}

MigrationDevicePairs contains device pair information amidst migration

type MigrationEnv added in v2.2.0

type MigrationEnv struct {
	ArrayID               string `json:"arrayId"`
	StorageGroupCount     int    `json:"storageGroupCount"`
	MigrationSessionCount int    `json:"migrationSessionCount"`
	Local                 bool   `json:"local"`
}

MigrationEnv related data types

type MigrationSession added in v2.2.0

type MigrationSession struct {
	SourceArray       string                 `json:"sourceArray"`
	TargetArray       string                 `json:"targetArray"`
	StorageGroup      string                 `json:"storageGroup"`
	State             string                 `json:"state"`
	TotalCapacity     float64                `json:"totalCapacity"`
	RemainingCapacity float64                `json:"remainingCapacity"`
	DevicePairs       []MigrationDevicePairs `json:"devicePairs"`
	SourceMaskingView []SourceMaskingView    `json:"sourceMaskingView"`
	TargetMaskingView []TargetMaskingView    `json:"targetMaskingView"`
	Offline           bool                   `json:"offline"`
	Type              string                 `json:"type"`
}

MigrationSession contains information about device pairs, source and target masking views

type MigrationStorageGroups added in v2.2.0

type MigrationStorageGroups struct {
	StorageGroupIDList []string `json:"name"`
	MigratingNameList  []string `json:"migratingName"`
}

MigrationStorageGroups contains list of storage group for migration

type MirrorSession

type MirrorSession struct {
	Timestamp    int64  `json:"timestamp"`
	State        string `json:"state"`
	SourceVolume string `json:"sourceVolume"`
	TargetVolume string `json:"targetVolume"`
}

MirrorSession contains info about mirrored session

type ModifyFileSystem added in v2.4.0

type ModifyFileSystem struct {
	SizeTotal                 int64        `json:"size_total,omitempty"`
	AccessPolicy              string       `json:"access_policy,omitempty"`
	LockingPolicy             string       `json:"locking_policy,omitempty"`
	FolderRenamePolicy        string       `json:"folder_rename_policy,omitempty"`
	SmbSyncWrites             bool         `json:"smb_sync_writes,omitempty"`
	SmbOpLocks                bool         `json:"smb_op_locks,omitempty"`
	SmbNoNotify               bool         `json:"smb_no_notify,omitempty"`
	SmbNotifyOnAccess         bool         `json:"smb_notify_on_access,omitempty"`
	SmbNotifyOnWrite          bool         `json:"smb_notify_on_write,omitempty"`
	SmbNotifyOnChangeDirDepth int          `json:"smb_notify_on_change_dir_depth,omitempty"`
	AsyncMtime                bool         `json:"async_mtime,omitempty"`
	FlrMinRet                 string       `json:"flr_min_ret,omitempty"`
	FlrDefRet                 string       `json:"flr_def_ret,omitempty"`
	FlrMaxRet                 string       `json:"flr_max_ret,omitempty"`
	FlrAutoLock               bool         `json:"flr_auto_lock,omitempty"`
	FlrAutoDelete             bool         `json:"flr_auto_delete,omitempty"`
	FlrPolicyInterval         int          `json:"flr_policy_interval,omitempty"`
	FlrClockTime              string       `json:"flr_clock_time,omitempty"`
	FlrMaxRetentionDate       string       `json:"flr_max_retention_date,omitempty"`
	FlrHasProtectedFiles      bool         `json:"flr_has_protected_files,omitempty"`
	QuotaConfig               *QuotaConfig `json:"quota_config,omitempty"`
	EventNotifications        string       `json:"event_notifications,omitempty"`
	InfoThreshold             int          `json:"info_threshold,omitempty"`
	HighThreshold             int          `json:"high_threshold,omitempty"`
	WarningThreshold          int          `json:"warning_threshold,omitempty"`
	ServiceLevel              string       `json:"service_level,omitempty"`
	DataReduction             bool         `json:"data_reduction,omitempty"`
}

ModifyFileSystem params to modifies a file system

type ModifyMigrationSessionRequest added in v2.2.0

type ModifyMigrationSessionRequest struct {
	Action          string `json:"action"`
	ExecutionOption string `json:"executionOption"`
}

ModifyMigrationSessionRequest contains param to modify a migration session

type ModifyNASServer added in v2.4.0

type ModifyNASServer struct {
	Name                        string `json:"name,omitempty"`
	CurrentUnixDirectoryService string `json:"current_unix_directory_service,omitempty"`
	UsernameTranslation         bool   `json:"username_translation,omitempty"`
	AutoUserMapping             bool   `json:"auto_user_mapping,omitempty"`
}

ModifyNASServer modifies nas server

type ModifyNFSExport added in v2.4.0

type ModifyNFSExport struct {
	Name               string   `json:"name,omitempty"`
	Path               string   `json:"path,omitempty"`
	Description        string   `json:"description,omitempty"`
	DefaultAccess      string   `json:"default_access,omitempty"`
	MinSecurity        string   `json:"min_security,omitempty"`
	NFSOwnerUsername   bool     `json:"nfs_owner_username,omitempty"`
	NoAccessHosts      []string `json:"no_access_hosts,omitempty"`
	ReadOnlyHosts      []string `json:"read_only_hosts,omitempty"`
	ReadOnlyRootHosts  []string `json:"read_only_root_hosts,omitempty"`
	ReadWriteHosts     []string `json:"read_write_hosts,omitempty"`
	ReadWriteRootHosts []string `json:"read_write_root_hosts,omitempty"`
	AnonymousUID       int      `json:"anonymous_uid,omitempty"`
	AnonymousGID       int      `json:"anonymous_gid,omitempty"`
	NoSUID             bool     `json:"no_suid,omitempty"`
}

ModifyNFSExport holds param for modification

type ModifySGRDFGroup

type ModifySGRDFGroup struct {
	Action          string     `json:"action"`
	Establish       *Establish `json:"establish,omitempty"`
	Suspend         *Suspend   `json:"suspend,omitempty"`
	Resume          *Resume    `json:"resume,omitempty"`
	Failback        *Failback  `json:"failback,omitempty"`
	Failover        *Failover  `json:"failover,omitempty"`
	Swap            *Swap      `json:"swap,omitempty"`
	ExecutionOption string     `json:"executionOption"`
}

ModifySGRDFGroup holds parameters for rdf storage group updates

type ModifySnapshotPolicyParam added in v2.3.0

type ModifySnapshotPolicyParam struct {
	// The name to change the snapshot policy to.
	SnapshotPolicyName string `json:"snapshot_policy_name,omitempty"`
	// The number of minutes between when the snapshot policy runs. For valid values convert the allowed interval values((10 Minutes, 12 Minutes,
	// 15 Minutes,20 Minutes, 30 Minutes, 1 Hour, 2 Hours, 3 Hours, 4 Hours, 6 Hours, 8 Hours, 12 Hours, 1 Day, 7 Days)) to minutes.
	// Ex: 7 Days would be 10080 minutes.
	IntervalMinutes int64 `json:"interval_mins,omitempty"`
	// The number of minutes from 00:00 on a Monday morning when the SP should run first.
	OffsetMins int32 `json:"offset_mins,omitempty"`
	// The number of snapshots which are not failed or bad when compliance changes to warning. Set to -1 to disable this compliance threshold.
	ComplianceCountWarning int64 `json:"compliance_count_warning,omitempty"`
	// The number of snapshots which are not failed or bad when compliance changes to critical. Set to -1 to disable this compliance threshold.
	ComplianceCountCritical int64 `json:"compliance_count_critical,omitempty"`
	// The number of the snapshots that will be maintained by the snapshot policy
	SnapshotCount int32 `json:"snapshot_count,omitempty"`
}

ModifySnapshotPolicyParam Parameters for modifying basic Snapshot Policy fields

type ModifyStorageGroupSnapshot added in v2.3.0

type ModifyStorageGroupSnapshot struct {
	ExecutionOption string                   `json:"executionOption,omitempty"`
	Action          string                   `json:"action"`
	Restore         RestoreSnapshotAction    `json:"restore,omitempty"`
	Link            LinkSnapshotAction       `json:"link,omitempty"`
	Relink          RelinkSnapshotAction     `json:"relink,omitempty"`
	Unlink          UnlinkSnapshotAction     `json:"unlink,omitempty"`
	SetMode         SetModeSnapshotAction    `json:"set_mode,omitempty"`
	Rename          RenameSnapshotAction     `json:"rename,omitempty"`
	TimeToLive      TimeToLiveSnapshotAction `json:"time_to_live,omitempty"`
	Secure          SecureSnapshotAction     `json:"secure,omitempty"`
	Persist         PresistSnapshotAction    `json:"persist,omitempty"`
}

ModifyStorageGroupSnapshot Modify a Storage Group snap

type ModifyVolumeIdentifierParam

type ModifyVolumeIdentifierParam struct {
	VolumeIdentifier VolumeIdentifierType `json:"volumeIdentifier"`
}

ModifyVolumeIdentifierParam : volume identifier to modify the volume information

type ModifyVolumeSnapshot

type ModifyVolumeSnapshot struct {
	VolumeNameListSource []VolumeList `json:"deviceNameListSource"`
	VolumeNameListTarget []VolumeList `json:"deviceNameListTarget"`
	Force                bool         `json:"force,omitempty"`
	Star                 bool         `json:"star,omitempty"`
	Exact                bool         `json:"exact,omitempty"`
	Copy                 bool         `json:"copy,omitempty"`
	Remote               bool         `json:"remote,omitempty"`
	Symforce             bool         `json:"symforce,omitempty"`
	NoCopy               bool         `json:"nocopy,omitempty"`
	TTL                  int64        `json:"ttl,omitempty"`
	SecureTTL            int64        `json:"securettl,omitempty"`
	NewSnapshotName      string       `json:"newsnapshotname,omitempty"`
	TimeInHours          bool         `json:"timeInHours"`
	Action               string       `json:"action"`
	Generation           int64        `json:"generation"`
	ExecutionOption      string       `json:"executionOption,omitempty"`
}

ModifyVolumeSnapshot contains input parameters to modify the snapshot

type MoveVolumeToStorageGroupParam

type MoveVolumeToStorageGroupParam struct {
	VolumeIDs      []string `json:"volumeId,omitempty"`
	StorageGroupID string   `json:"storageGroupId,omitempty"`
	Force          bool     `json:"force,omitempty"`
}

MoveVolumeToStorageGroupParam stores parameters to move volumes to SG

type NASServer added in v2.4.0

type NASServer struct {
	ID                          string   `json:"id"`
	Health                      Health   `json:"health"`
	Name                        string   `json:"name"`
	StorageResourcePool         string   `json:"storage_resource_pool"`
	OperationalStatus           string   `json:"operational_status"`
	PrimaryNode                 string   `json:"primary_node"`
	BackupNode                  string   `json:"backup_node"`
	Cluster                     string   `json:"cluster"`
	ProductionMode              bool     `json:"production_mode"`
	CurrentUnixDirectoryService string   `json:"current_unix_directory_service"`
	UsernameTranslation         bool     `json:"username_translation"`
	AutoUserMapping             bool     `json:"auto_user_mapping"`
	FileInterfaces              []string `json:"file_interfaces"`
	PreferredInterfaceSettings  struct {
		CurrentPreferredIPV4 string `json:"current_preferred_ip_v4"`
	} `json:"preferred_interface_settings"`
	NFSServer   string `json:"nfs_server"`
	RootFSWWN   string `json:"root_fs_wwn"`
	ConfigFSWWN string `json:"config_fs_wwn"`
}

NASServer holds nas server details

type NASServerIterator added in v2.4.0

type NASServerIterator struct {
	Entries []NASServerList `json:"entries"`
}

NASServerIterator holds the iterator of resultant NAS server list

type NASServerList added in v2.4.0

type NASServerList struct {
	ID   string `json:"id"`
	Name string `json:"name"`
}

NASServerList holds nas server metadata items

type NFSExport added in v2.4.0

type NFSExport struct {
	ID                 string   `json:"id"`
	Type               string   `json:"type"`
	Role               string   `json:"role"`
	Filesystem         string   `json:"filesystem"`
	Snap               string   `json:"snap"`
	NASServer          string   `json:"nas_server"`
	Name               string   `json:"name"`
	Path               string   `json:"path"`
	Description        string   `json:"description"`
	DefaultAccess      string   `json:"default_access"`
	MinSecurity        string   `json:"min_security"`
	NFSOwnerUsername   string   `json:"nfs_owner_username"`
	NoAccessHosts      []string `json:"no_access_hosts"`
	ReadOnlyHosts      []string `json:"read_only_hosts"`
	ReadOnlyRootHosts  []string `json:"read_only_root_hosts"`
	ReadWriteHosts     []string `json:"read_write_hosts"`
	ReadWriteRootHosts []string `json:"read_write_root_hosts"`
	AnonymousUID       int      `json:"anonymous_uid"`
	AnonymousGID       int      `json:"anonymous_gid"`
	NoSUID             bool     `json:"no_suid"`
}

NFSExport holds export nfs export details

type NFSExportIDName added in v2.4.0

type NFSExportIDName struct {
	ID   string `json:"id"`
	Name string `json:"name"`
}

NFSExportIDName holds id and name for a file system

type NFSExportIterator added in v2.4.0

type NFSExportIterator struct {
	ResultList     NFSExportList `json:"resultList"`
	ID             string        `json:"id"`
	Count          int           `json:"count"`
	ExpirationTime int64         `json:"expirationTime"`
	MaxPageSize    int           `json:"maxPageSize"`
}

NFSExportIterator holds the iterator of resultant file system list

type NFSExportList added in v2.4.0

type NFSExportList struct {
	NFSExportList []NFSExportIDName `json:"result"`
	From          int               `json:"from"`
	To            int               `json:"to"`
}

NFSExportList NFS export list resulted

type NextFreeRDFGroup

type NextFreeRDFGroup struct {
	LocalRdfGroup  []int `json:"rdfg_number"`
	RemoteRdfGroup []int `json:"remote_rdfg_number"`
}

NextFreeRDFGroup - Free RDFg contains information about the Next free RDFg in R1 and R2

type PersistStorageGroupSnapshot added in v2.3.0

type PersistStorageGroupSnapshot struct {
	ExecutionOption string                `json:"executionOption,omitempty"`
	Action          string                `json:"action"`
	Persist         PresistSnapshotAction `json:"persist"`
}

PersistStorageGroupSnapshot Modify a Storage Group snap to persist

type Port

type Port struct {
	ExecutionOption string            `json:"executionOption,omitempty"`
	SymmetrixPort   SymmetrixPortType `json:"symmetrixPort"`
}

Port is a minimal represation of a Symmetrix Port for iSCSI target purpose

type PortGroup

type PortGroup struct {
	PortGroupID        string    `json:"portGroupId"`
	SymmetrixPortKey   []PortKey `json:"symmetrixPortKey"`
	NumberPorts        int64     `json:"num_of_ports"`
	NumberMaskingViews int64     `json:"num_of_masking_views"`
	PortGroupType      string    `json:"type"`
	MaskingView        []string  `json:"maskingview"`
	TestID             string    `json:"testId"`
	PortGroupProtocol  string    `json:"port_group_protocol"`
}

PortGroup : Information about a port group

type PortGroupList

type PortGroupList struct {
	PortGroupIDs []string `json:"portGroupId"`
}

PortGroupList : list of port groups

type PortGroupSelection

type PortGroupSelection struct {
	CreatePortGroupParam      *CreatePortGroupParam      `json:"createPortGroupParam,omitempty"`
	UseExistingPortGroupParam *UseExistingPortGroupParam `json:"useExistingPortGroupParam,omitempty"`
}

PortGroupSelection contains parameters to select the port group

type PortGroups added in v2.2.0

type PortGroups struct {
	Name         string  `json:"name"`
	Invalid      bool    `json:"invalid"`
	ChildInvalid bool    `json:"childInvalid"`
	Missing      bool    `json:"missing"`
	Ports        []Ports `json:"ports"`
}

PortGroups contains port group information

type PortKey

type PortKey struct {
	DirectorID string `json:"directorId"`
	PortID     string `json:"portId"`
}

PortKey : combination of a port and a key

type PortList

type PortList struct {
	ExecutionOption  string    `json:"executionOption,omitempty"`
	SymmetrixPortKey []PortKey `json:"symmetrixPortKey"`
}

PortList : list of ports

type Ports added in v2.2.0

type Ports struct {
	Name    string `json:"name"`
	Invalid bool   `json:"invalid"`
}

Ports contains port information

type PresistSnapshotAction added in v2.3.0

type PresistSnapshotAction struct {
	Force   bool `json:"force,omitempty"`
	Star    bool `json:"star,omitempty"`
	Remote  bool `json:"remote,omitempty"`
	Persist bool `json:"persist,omitempty"`
}

PresistSnapshotAction an action on a Storage Group snap

type PrivVolumeIterator

type PrivVolumeIterator struct {
	ResultList PrivVolumeResultList `json:"resultList"`
	ID         string               `json:"id"`
	Count      int                  `json:"count"`
	// What units is ExpirationTime in?
	ExpirationTime int64 `json:"expirationTime"`
	MaxPageSize    int   `json:"maxPageSize"`
}

PrivVolumeIterator : holds the iterator of resultant volume list

type PrivVolumeResultList

type PrivVolumeResultList struct {
	PrivVolumeList []VolumeResultPrivate `json:"result"`
	From           int                   `json:"from"`
	To             int                   `json:"to"`
}

PrivVolumeResultList : volume list resulted

type QueryParams

type QueryParams map[string]interface{}

QueryParams is a map of key value pairs that can be appended to any url as query parameters.

type QuotaConfig added in v2.4.0

type QuotaConfig struct {
	QuotaEnabled     bool `json:"quota_enabled,omitempty"`
	GracePeriod      int  `json:"grace_period,omitempty"`
	DefaultHardLimit int  `json:"default_hard_limit,omitempty"`
	DefaultSoftLimit int  `json:"default_soft_limit,omitempty"`
}

QuotaConfig defines quotas for file

type RDFDevicePair

type RDFDevicePair struct {
	LocalSymmID          string `json:"localSymmetrixId"`
	RemoteSymmID         string `json:"remoteSymmetrixId"`
	LocalRdfGroupNumber  int    `json:"localRdfGroupNumber"`
	RemoteRdfGroupNumber int    `json:"remoteRdfGroupNumber"`
	LocalVolumeName      string `json:"localVolumeName"`
	RemoteVolumeName     string `json:"remoteVolumeName"`
	LocalVolumeState     string `json:"localVolumeState"`
	RemoteVolumeState    string `json:"remoteVolumeState"`
	VolumeConfig         string `json:"volumeConfig"`
	RdfMode              string `json:"rdfMode"`
	RdfpairState         string `json:"rdfpairState"`
	LargerRdfSide        string `json:"largerRdfSide"`
	LocalWWNExternal     string `json:"local_wwn_external"`
	RemoteWWNExternal    string `json:"remote_wwn_external"`
}

RDFDevicePair holds RDF volume pair information

type RDFDevicePairList

type RDFDevicePairList struct {
	RDFDevicePair []RDFDevicePair `json:"devicePair"`
}

RDFDevicePairList holds list of newly created RDF volume pair information

type RDFDirDetails

type RDFDirDetails struct {
	SymID           string `json:"symmetrixID"`
	DirNum          int    `json:"directorNumber"`
	DirID           string `json:"directorId"`
	DirOnline       string `json:"online"`
	DirProtocolFC   bool   `json:"fiber"`
	DirProtocolGigE bool   `json:"gige"`
	DirHWCompress   bool   `json:"hwCompressionSupported"`
}

RDFDirDetails gets details of a given RDF Director

type RDFDirList

type RDFDirList struct {
	RdfDirs []string `json:"directorID"`
}

RDFDirList gets a List of RDF Directors

type RDFGroup

type RDFGroup struct {
	RdfgNumber               int      `json:"rdfgNumber"`
	Label                    string   `json:"label"`
	RemoteRdfgNumber         int      `json:"remoteRdfgNumber"`
	RemoteSymmetrix          string   `json:"remoteSymmetrix"`
	NumDevices               int      `json:"numDevices"`
	TotalDeviceCapacity      float64  `json:"totalDeviceCapacity"`
	LocalPorts               []string `json:"localPorts"`
	RemotePorts              []string `json:"remotePorts"`
	Modes                    []string `json:"modes"`
	Type                     string   `json:"type"`
	Metro                    bool     `json:"metro"`
	Async                    bool     `json:"async"`
	Witness                  bool     `json:"witness"`
	WitnessName              string   `json:"witnessName"`
	WitnessProtectedPhysical bool     `json:"witnessProtectedPhysical"`
	WitnessProtectedVirtual  bool     `json:"witnessProtectedVirtual"`
	WitnessConfigured        bool     `json:"witnessConfigured"`
	WitnessEffective         bool     `json:"witnessEffective"`
	BiasConfigured           bool     `json:"biasConfigured"`
	BiasEffective            bool     `json:"biasEffective"`
	WitnessDegraded          bool     `json:"witnessDegraded"`
	LocalOnlinePorts         []string `json:"localOnlinePorts"`
	RemoteOnlinePorts        []string `json:"remoteOnlinePorts"`
	DevicePolarity           string   `json:"device_polarity"`
	Offline                  bool     `json:"offline"`
}

RDFGroup contains information about an RDF group

type RDFGroupCreate

type RDFGroupCreate struct {
	Label        string           `json:"label"`
	LocalRDFNum  int              `json:"local_rdfg_number"`
	LocalPorts   []RDFPortDetails `json:"local_ports"`
	RemoteRDFNum int              `json:"remote_rdfg_number"`
	RemotePorts  []RDFPortDetails `json:"remote_ports"`
}

RDFGroupCreate RDF Group Create Action

type RDFGroupID

type RDFGroupID struct {
	RDFGroupNumber int    `json:"rdf_group_number"`
	Label          string `json:"label"`
}

RDFGroupID contains the group number and label

type RDFGroupIDL

type RDFGroupIDL struct {
	RDFGNumber  int    `json:"rdfgNumber"`
	Label       string `json:"label"`
	RemoteSymID string `json:"remote_symmetrix_id"`
	GroupType   string `json:"group_type"`
}

RDFGroupIDL contains the RDF group when we list RDF groups

type RDFGroupList

type RDFGroupList struct {
	RDFGroupCount int           `json:"rdfg_count"`
	RDFGroupIDs   []RDFGroupIDL `json:"rdfGroupID"`
}

RDFGroupList has list of RDF group

type RDFPortDetails

type RDFPortDetails struct {
	SymmID     string `json:"symmetrixID"`
	DirNum     int    `json:"directorNumber"`
	DirID      string `json:"directorId"`
	PortNum    int    `json:"portNumber"`
	PortOnline bool   `json:"online"`
	PortWWN    string `json:"wwn"`
}

RDFPortDetails has RDF ports details

type RDFPortList

type RDFPortList struct {
	RdfPorts []string `json:"portNumber"`
}

RDFPortList gets a List of RDF Ports

type RDFStorageGroup

type RDFStorageGroup struct {
	Name                        string                  `json:"name"`
	SymmetrixID                 string                  `json:"symmetrixId"`
	ParentName                  string                  `json:"parentName"`
	ChildNames                  []string                `json:"childNames"`
	NumDevicesNonGk             int                     `json:"numDevicesNonGk"`
	CapacityGB                  float64                 `json:"capacityGB"`
	NumSnapVXSnapshots          int                     `json:"numSnapVXSnapshots"`
	SnapVXSnapshots             []string                `json:"snapVXSnapshots"`
	NumCloudSnapshots           int                     `json:"num_cloud_snapshots"`
	Rdf                         bool                    `json:"rdf"`
	IsLinkTarget                bool                    `json:"isLinkTarget"`
	SnapshotPolicies            []string                `json:"snapshot_policies"`
	RDFGroups                   []int                   `json:"rdf_groups"`
	NumCloneTargetStorageGroups int                     `json:"num_clone_target_storage_groups"`
	RemoteStorageGroups         []RemoteRDFStorageGroup `json:"remote_storage_groups"`
}

RDFStorageGroup contains information about protected SG {in u4p a.k.a "StorageGroup"}

type RelinkSnapshotAction added in v2.3.0

type RelinkSnapshotAction struct {
	Force            bool   `json:"force,omitempty"`
	Star             bool   `json:"star,omitempty"`
	Remote           bool   `json:"remote,omitempty"`
	StorageGroupName string `json:"storage_group_name"`
	Exact            bool   `json:"exact,omitempty"`
	Copy             bool   `json:"copy,omitempty"`
}

RelinkSnapshotAction an action on a Storage Group snap

type RelinkStorageGroupSnapshot added in v2.3.0

type RelinkStorageGroupSnapshot struct {
	ExecutionOption string               `json:"executionOption,omitempty"`
	Action          string               `json:"action"`
	Relink          RelinkSnapshotAction `json:"relink"`
}

RelinkStorageGroupSnapshot Modify a Storage Group snap to relink

type RemoteRDFPortDetails

type RemoteRDFPortDetails struct {
	RemotePorts []RDFPortDetails `json:"remotePort"`
}

RemoteRDFPortDetails gets a list of Remote Directors:Port that are zoned to a given Local RDF Port.

type RemoteRDFStorageGroup

type RemoteRDFStorageGroup struct {
	SymmetrixID      string `json:"symmetrix_id"`
	StorageGroupID   string `json:"storage_group_id"`
	StorageGroupUUID string `json:"storage_group_uuid"`
}

RemoteRDFStorageGroup holds information about remote storage groups

type RemoteSymmSGInfoParam

type RemoteSymmSGInfoParam struct {
	RemoteSymmetrix1ID  string   `json:"remote_symmetrix_1_id,omitempty"`
	RemoteSymmetrix1SGs []string `json:"remote_symmetrix_1_sgs,omitempty"`
	RemoteSymmetrix2ID  string   `json:"remote_symmetrix_2_id,omitempty"`
	RemoteSymmetrix2SGs []string `json:"remote_symmetrix_2_sgs,omitempty"`
	Force               bool     `json:"force,omitempty"`
}

RemoteSymmSGInfoParam have info about remote symmetrix Id's and storage groups

type RemoveHostInitiators

type RemoveHostInitiators struct {
	RemoveInitiator *ChangeInitiatorParam `json:"removeInitiatorParam,omitempty"`
}

RemoveHostInitiators holds the initiator parameter to remove

type RemovePortParam

type RemovePortParam struct {
	Ports []SymmetrixPortKeyType `json:"port"`
}

RemovePortParam ...

type RemoveStorageGroupParam

type RemoveStorageGroupParam struct {
	StorageGroupIDs []string `json:"storageGroupId,omitempty"`
	Force           bool     `json:"force,omitempty"`
}

RemoveStorageGroupParam holds parameters to remove an SG

type RemoveTagsParam

type RemoveTagsParam struct {
	TagName []string `json:"tag_name,omitempty"`
}

RemoveTagsParam holds array of tags to be removed

type RemoveVolumeParam

type RemoveVolumeParam struct {
	VolumeIDs             []string              `json:"volumeId,omitempty"`
	RemoteSymmSGInfoParam RemoteSymmSGInfoParam `json:"remoteSymmSGInfoParam"`
}

RemoveVolumeParam holds volume ids to remove from SG

type RenameHostGroupParam added in v2.2.0

type RenameHostGroupParam struct {
	NewHostGroupName string `json:"new_host_group_name,omitempty"`
}

RenameHostGroupParam holds the new name for the host group

type RenameHostParam

type RenameHostParam struct {
	NewHostName string `json:"new_host_name,omitempty"`
}

RenameHostParam holds the new name

type RenameMaskingViewParam added in v2.1.0

type RenameMaskingViewParam struct {
	NewMaskingViewName string `json:"new_masking_view_name"`
}

RenameMaskingViewParam holds the new name of masking view

type RenamePortGroupParam

type RenamePortGroupParam struct {
	NewPortGroupName string `json:"new_port_group_name"`
}

RenamePortGroupParam ...

type RenameSnapshotAction added in v2.3.0

type RenameSnapshotAction struct {
	Force                       bool   `json:"force,omitempty"`
	Star                        bool   `json:"star,omitempty"`
	NewStorageGroupSnapshotName string `json:"new_snapshot_name"`
}

RenameSnapshotAction an action on a Storage Group snap

type RenameStorageGroupParam

type RenameStorageGroupParam struct {
	NewStorageGroupName string `json:"new_storage_Group_name,omitempty"`
}

RenameStorageGroupParam holds new name of a storage group

type RenameStorageGroupSnapshot added in v2.3.0

type RenameStorageGroupSnapshot struct {
	ExecutionOption string               `json:"executionOption,omitempty"`
	Action          string               `json:"action"`
	Rename          RenameSnapshotAction `json:"rename"`
}

RenameStorageGroupSnapshot Modify a Storage Group snap to rename

type RestoreSnapshotAction added in v2.3.0

type RestoreSnapshotAction struct {
	Force  bool `json:"force,omitempty"`
	Star   bool `json:"star,omitempty"`
	Remote bool `json:"remote,omitempty"`
}

RestoreSnapshotAction an action on a Storage Group snap

type RestoreStorageGroupSnapshot added in v2.3.0

type RestoreStorageGroupSnapshot struct {
	ExecutionOption string                `json:"executionOption,omitempty"`
	Action          string                `json:"action"`
	Restore         RestoreSnapshotAction `json:"restore"`
}

RestoreStorageGroupSnapshot Modify a Storage Group snap to restore

type Resume

type Resume struct {
	Force        bool `json:"force"`
	SymForce     bool `json:"symForce"`
	Star         bool `json:"star"`
	Hop2         bool `json:"hop2"`
	Bypass       bool `json:"bypass"`
	Remote       bool `json:"remote"`
	RecoverPoint bool `json:"recoverPoint,omitempty"`
}

Resume action

type SGRDFGList

type SGRDFGList struct {
	RDFGList []string `json:"rdfgs"`
}

SGRDFGList contains list of all RDF enabled storage groups {in u4p a.k.a "storageGroupRDFg"}

type SGRDFInfo

type SGRDFInfo struct {
	SymmetrixID               string   `json:"symmetrixId"`
	StorageGroupName          string   `json:"storageGroupName"`
	RdfGroupNumber            int      `json:"rdfGroupNumber"`
	VolumeRdfTypes            []string `json:"volumeRdfTypes"`
	States                    []string `json:"states"`
	Modes                     []string `json:"modes"`
	Hop2Rdfgs                 []int    `json:"hop2Rdfgs"`
	Hop2States                []string `json:"hop2States"`
	Hop2Modes                 []string `json:"hop2Modes"`
	LargerRdfSides            []string `json:"largerRdfSides"`
	TotalTracks               int      `json:"totalTracks"`
	CapacityMB                float64  `json:"capacity_mb"`
	LocalR1InvalidTracksHop1  int      `json:"localR1InvalidTracksHop1"`
	LocalR2InvalidTracksHop1  int      `json:"localR2InvalidTracksHop1"`
	RemoteR1InvalidTracksHop1 int      `json:"remoteR1InvalidTracksHop1"`
	RemoteR2InvalidTracksHop1 int      `json:"remoteR2InvalidTracksHop1"`
	SrcR1InvalidTracksHop2    int      `json:"srcR1InvalidTracksHop2"`
	SrcR2InvalidTracksHop2    int      `json:"srcR2InvalidTracksHop2"`
	TgtR1InvalidTracksHop2    int      `json:"tgtR1InvalidTracksHop2"`
	TgtR2InvalidTracksHop2    int      `json:"tgtR2InvalidTracksHop2"`
	Domino                    []string `json:"domino"`
	ConsistencyProtection     string   `json:"consistency_protection"`
	ConsistencyProtectionHop2 string   `json:"consistency_protection_hop2"`
}

SGRDFInfo contains parameters to hold srdf information of a storage group {in u4p a.k.a "storageGroupRDFg"}

type SLOBasedStorageGroupParam

type SLOBasedStorageGroupParam struct {
	CustomCascadedStorageGroupID                   string                `json:"custom_cascaded_storageGroupId"`
	SnapshotPolicies                               []string              `json:"snapshot_policies"`
	SLOID                                          string                `json:"sloId,omitempty"`
	WorkloadSelection                              string                `json:"workloadSelection,omitempty"`
	VolumeAttributes                               []VolumeAttributeType `json:"volumeAttributes,omitempty"`
	AllocateCapacityForEachVol                     bool                  `json:"allocate_capacity_for_each_vol,omitempty"`
	PersistPrealloctedCapacityThroughReclaimOrCopy bool                  `json:"persist_preallocated_capacity_through_reclaim_or_copy,omitempty"`
	NoCompression                                  bool                  `json:"noCompression,omitempty"`
	EnableMobilityID                               bool                  `json:"enable_mobility_id"`
	SetHostIOLimitsParam                           *SetHostIOLimitsParam `json:"setHostIOLimitsParam,omitempty"`
}

SLOBasedStorageGroupParam holds parameters related to an SG and SLO

type SecureSnapshotAction added in v2.3.0

type SecureSnapshotAction struct {
	Force       bool  `json:"force,omitempty"`
	Star        bool  `json:"star,omitempty"`
	Secure      int32 `json:"secure,omitempty"`
	TimeInHours bool  `json:"time_in_hours,omitempty"`
}

SecureSnapshotAction an action on a Storage Group snap

type SecureStorageGroupSnapshot added in v2.3.0

type SecureStorageGroupSnapshot struct {
	ExecutionOption string               `json:"executionOption,omitempty"`
	Action          string               `json:"action"`
	Secure          SecureSnapshotAction `json:"secure"`
}

SecureStorageGroupSnapshot Modify a Storage Group snap be secure

type SetHostFlags

type SetHostFlags struct {
	HostFlags *HostFlags `json:"hostFlags,omitempty"`
}

SetHostFlags contains the host flags

type SetHostIOLimitsParam

type SetHostIOLimitsParam struct {
	HostIOLimitMBSec    string `json:"host_io_limit_mb_sec,omitempty"`
	HostIOLimitIOSec    string `json:"host_io_limit_io_sec,omitempty"`
	DynamicDistribution string `json:"dynamicDistribution,omitempty"`
}

SetHostIOLimitsParam holds param to set host IO limit

type SetModeSnapshotAction added in v2.3.0

type SetModeSnapshotAction struct {
	Force            bool   `json:"force,omitempty"`
	Star             bool   `json:"star,omitempty"`
	StorageGroupName string `json:"storage_group_name"`
	Copy             bool   `json:"copy,omitempty"`
}

SetModeSnapshotAction an action on a Storage Group snap

type SetModeStorageGroupSnapshot added in v2.3.0

type SetModeStorageGroupSnapshot struct {
	ExecutionOption string                `json:"executionOption,omitempty"`
	Action          string                `json:"action"`
	SetMode         SetModeSnapshotAction `json:"set_mode"`
}

SetModeStorageGroupSnapshot Modify a Storage Group snaps set mode

type SnapID added in v2.3.0

type SnapID struct {
	SnapIds []int64 `json:"snapids"`
}

SnapID list of snap ids related to a Storage Group snapshot

type SnapTarget

type SnapTarget struct {
	Target  string
	Defined bool
	CpMode  bool
}

SnapTarget contains target information

type SnapVXSession

type SnapVXSession struct {
	SourceSnapshotGenInfo       []SourceSnapshotGenInfo      `json:"srcSnapshotGenInfo"`
	LinkSnapshotGenInfo         []LinkSnapshotGenInfo        `json:"lnkSnapshotGenInfo"`
	TargetSourceSnapshotGenInfo *TargetSourceSnapshotGenInfo `json:"tgtSrcSnapshotGenInfo"`
}

SnapVXSession holds snapshot session information

type Snapshot

type Snapshot struct {
	Name       string `json:"name"`
	Generation int64  `json:"generation"`
	Linked     bool   `json:"linked"`
	Restored   bool   `json:"restored"`
	Timestamp  string `json:"timestamp"`
	State      string `json:"state"`
}

Snapshot contains information for a snapshot

type SnapshotHeader

type SnapshotHeader struct {
	Device       string `json:"device"`
	SnapshotName string `json:"snapshotName"`
	Generation   int64  `json:"generation"`
	Secured      bool   `json:"secured"`
	Expired      bool   `json:"expired"`
	TimeToLive   int64  `json:"timeToLive"`
	Timestamp    int64  `json:"timestamp"`
}

SnapshotHeader contians information for snapshot header

type SnapshotNameAndCounts added in v2.3.0

type SnapshotNameAndCounts struct {
	Name               string `json:"name"`
	SnapshotCount      int64  `json:"snapshot_count"`
	NewestTimestampUtc int64  `json:"newest_timestamp_utc"`
}

SnapshotNameAndCounts object for storage group snapshots

type SnapshotPolicies added in v2.1.0

type SnapshotPolicies struct {
	SnapshotPolicies []string `json:"snapshot_policies,omitempty"`
}

SnapshotPolicies holds the list of snapshot policy names

type SnapshotPolicy added in v2.3.0

type SnapshotPolicy struct {
	// The System where the snapshot policy is located
	SymmetrixID string `json:"symmetrixID"`
	// The name of the snapshot policy on this System
	SnapshotPolicyName string `json:"snapshot_policy_name"`
	// The number of snapshots that will be taken before the oldest ones are no longer required
	SnapshotCount int64 `json:"snapshot_count"`
	// The number of minutes between each policy execution
	IntervalMinutes int64 `json:"interval_minutes"`
	// The number of minutes after 00:00 on Monday morning that the policy will execute
	OffsetMinutes int64 `json:"offset_minutes"`
	// The name of the cloud provider associated with this policy. Only applies to cloud policies.
	ProviderName string `json:"provider_name"`
	// The number of days that snapshots will be retained in the cloud for. Only applies to cloud policies.
	RetentionDays int64 `json:"retention_days"`
	// Set if the snapshot policy has been suspended
	Suspended bool `json:"suspended"`
	// Set if the snapshot policy creates secure snapshots
	Secure bool `json:"secure"`
	// The last time that the snapshot policy was run
	LastTimeUsed string `json:"last_time_used"`
	// The total number of storage groups that this snapshot policy is associated with
	StorageGroupCount int32 `json:"storage_group_count"`
	// The threshold of good snapshots which are not failed/bad for compliance to change from normal to warning.
	ComplianceCountWarning int64 `json:"compliance_count_warning"`
	// The threshold of good snapshots which are not failed/bad for compliance to change from warning to critical.
	ComplianceCountCritical int64 `json:"compliance_count_critical"`
	// The type of Snapshots that are created with the policy, local or cloud.
	Type string `json:"type"`
}

SnapshotPolicy holds all the fields of a Snapshot Policy

type SnapshotPolicyList added in v2.3.0

type SnapshotPolicyList struct {
	SnapshotPolicyIds []string `json:"name"`
}

SnapshotPolicyList contains list of snapshot Policiy ids

type SnapshotVolumeGeneration

type SnapshotVolumeGeneration struct {
	DeviceName           string                 `json:"deviceName"`
	VolumeSnapshotSource []VolumeSnapshotSource `json:"snapshotSrcs"`
	VolumeSnapshotLink   []VolumeSnapshotLink   `json:"snapshotLnks,omitempty"`
}

SnapshotVolumeGeneration contains information on all snapshots related to a volume

type SourceMaskingView added in v2.2.0

type SourceMaskingView struct {
	Name           string         `json:"name"`
	Invalid        bool           `json:"invalid"`
	ChildInvalid   bool           `json:"childInvalid"`
	Missing        bool           `json:"missing"`
	InitiatorGroup InitiatorGroup `json:"initiatorGroup"`
	PortGroup      PortGroups     `json:"portGroup"`
}

SourceMaskingView contains source masking view information

type SourceSnapshotGenInfo

type SourceSnapshotGenInfo struct {
	SnapshotHeader      SnapshotHeader        `json:"snapshotHeader"`
	LinkSnapshotGenInfo []LinkSnapshotGenInfo `json:"lnkSnapshotGenInfo"`
}

SourceSnapshotGenInfo contains source snapshot generation info

type SourceVolume added in v2.3.0

type SourceVolume struct {
	Name       string  `json:"name"`
	Capacity   int64   `json:"capacity"`
	CapacityGb float64 `json:"capacity_gb"`
}

SourceVolume the source of a volume

type SpecificVolumeParam

type SpecificVolumeParam struct {
	VolumeIDs       []string            `json:"volumeId,omitempty"`
	VolumeAttribute VolumeAttributeType `json:"volumeAttribute,omitempty"`
	RDFGroupNumber  int                 `json:"rdfGroupNumber,omitempty"`
}

SpecificVolumeParam holds volume ids, volume attributes and RDF group num

type SplitChildStorageGroupParam

type SplitChildStorageGroupParam struct {
	StorageGroupID string `json:"storageGroupId,omitempty"`
	MaskingViewID  string `json:"maskingViewId,omitempty"`
}

SplitChildStorageGroupParam holds param to split child SG

type SplitStorageGroupVolumesParam

type SplitStorageGroupVolumesParam struct {
	VolumeIDs      []string `json:"volumeId,omitempty"`
	StorageGroupID string   `json:"storageGroupId,omitempty"`
	MaskingViewID  string   `json:"maskingViewId,omitempty"`
}

SplitStorageGroupVolumesParam holds parameters to split

type SrpCap

type SrpCap struct {
	SubAllocCapInTB              float64 `json:"subscribed_allocated_tb"`
	SubTotInTB                   float64 `json:"subscribed_total_tb"`
	SnapModInTB                  float64 `json:"snapshot_modified_tb"`
	SnapTotInTB                  float64 `json:"snapshot_total_tb"`
	UsableUsedInTB               float64 `json:"usable_used_tb"`
	UsableTotInTB                float64 `json:"usable_total_tb"`
	EffectiveUsedCapacityPercent int     `json:"effective_used_capacity_percent"`
}

SrpCap : capacity of an SRP

type SrpEfficiency

type SrpEfficiency struct {
	EfficiencyRatioToOne     float32 `json:"overall_efficiency_ratio_to_one"`
	DataReductionRatioToOne  float32 `json:"data_reduction_ratio_to_one"`
	DataReductionEnabledPerc float32 `json:"data_reduction_enabled_percent"`
	VirtProvSavingRatioToOne float32 `json:"virtual_provisioning_savings_ratio_to_one"`
	SanpSavingRatioToOne     float32 `json:"snapshot_savings_ratio_to_one"`
}

SrpEfficiency : efficiency attributes of an SRP

type StorageGroup

type StorageGroup struct {
	StorageGroupID        string                `json:"storageGroupId"`
	SLO                   string                `json:"slo"`
	ServiceLevel          string                `json:"service_level"`
	BaseSLOName           string                `json:"base_slo_name"`
	SRP                   string                `json:"srp"`
	Workload              string                `json:"workload"`
	SLOCompliance         string                `json:"slo_compliance"`
	NumOfVolumes          int                   `json:"num_of_vols"`
	NumOfChildSGs         int                   `json:"num_of_child_sgs"`
	NumOfParentSGs        int                   `json:"num_of_parent_sgs"`
	NumOfMaskingViews     int                   `json:"num_of_masking_views"`
	NumOfSnapshots        int                   `json:"num_of_snapshots"`
	NumOfSnapshotPolicies int                   `json:"num_of_snapshot_policies"`
	CapacityGB            float64               `json:"cap_gb"`
	DeviceEmulation       string                `json:"device_emulation"`
	Type                  string                `type:"type"`
	Unprotected           bool                  `type:"unprotected"`
	ChildStorageGroup     []string              `json:"child_storage_group"`
	ParentStorageGroup    []string              `json:"parent_storage_group"`
	MaskingView           []string              `json:"maskingview"`
	SnapshotPolicies      []string              `json:"snapshot_policies"`
	HostIOLimit           *SetHostIOLimitsParam `json:"hostIOLimit"`
	Compression           bool                  `json:"compression"`
	CompressionRatio      string                `json:"compressionRatio"`
	CompressionRatioToOne float64               `json:"compression_ratio_to_one"`
	VPSavedPercent        float64               `json:"vp_saved_percent"`
	Tags                  string                `json:"tags"`
	UUID                  string                `json:"uuid"`
	UnreducibleDataGB     float64               `json:"unreducible_data_gb"`
}

StorageGroup holds all the fields of an SG

type StorageGroupIDList

type StorageGroupIDList struct {
	StorageGroupIDs []string `json:"storageGroupId"`
}

StorageGroupIDList : list of sg's

type StorageGroupInfo added in v2.2.0

type StorageGroupInfo struct {
	StorageGroupID     string `json:"storageGroupId"`
	FirstAvailableDate int64  `json:"firstAvailableDate"`
	LastAvailableDate  int64  `json:"lastAvailableDate"`
}

StorageGroupInfo is the information of the storage group key

type StorageGroupKeysParam added in v2.2.0

type StorageGroupKeysParam struct {
	SymmetrixID string `json:"symmetrixId"`
}

StorageGroupKeysParam is the parameter of keys query

type StorageGroupKeysResult added in v2.2.0

type StorageGroupKeysResult struct {
	StorageGroupInfos []StorageGroupInfo `json:"storageGroupInfo"`
}

StorageGroupKeysResult is the list of storage group info

type StorageGroupMetric added in v2.2.0

type StorageGroupMetric struct {
	HostReads         float64 `json:"HostReads"`
	HostWrites        float64 `json:"HostWrites"`
	HostMBReads       float64 `json:"HostMBReads"`
	HostMBWritten     float64 `json:"HostMBWritten"`
	ReadResponseTime  float64 `json:"ReadResponseTime"`
	WriteResponseTime float64 `json:"WriteResponseTime"`
	AllocatedCapacity float64 `json:"AllocatedCapacity"`
	AvgIOSize         float64 `json:"AvgIOSize"`
	Timestamp         int64   `json:"timestamp"`
}

StorageGroupMetric is the struct of metric

type StorageGroupMetricsIterator added in v2.2.0

type StorageGroupMetricsIterator struct {
	ResultList     StorageGroupMetricsResultList `json:"resultList"`
	ID             string                        `json:"id"`
	Count          int                           `json:"count"`
	ExpirationTime int64                         `json:"expirationTime"`
	MaxPageSize    int                           `json:"maxPageSize"`
}

StorageGroupMetricsIterator contains the result of query

type StorageGroupMetricsParam added in v2.2.0

type StorageGroupMetricsParam struct {
	SymmetrixID    string   `json:"symmetrixId"`
	StartDate      int64    `json:"startDate"`
	EndDate        int64    `json:"endDate"`
	DataFormat     string   `json:"dataFormat"`
	StorageGroupID string   `json:"storageGroupId"`
	Metrics        []string `json:"metrics"`
}

StorageGroupMetricsParam parameters for query

type StorageGroupMetricsResultList added in v2.2.0

type StorageGroupMetricsResultList struct {
	Result []StorageGroupMetric `json:"result"`
	From   int                  `json:"from"`
	To     int                  `json:"to"`
}

StorageGroupMetricsResultList contains the list of storage group metrics

type StorageGroupName

type StorageGroupName struct {
	StorageGroupName       string `json:"storage_group_name"`
	ParentStorageGroupName string `json:"parent_storage_group_name"`
}

StorageGroupName holds group name in which volume exists

type StorageGroupRDFG

type StorageGroupRDFG struct {
	SymmetrixID      string   `json:"symmetrixId"`
	StorageGroupName string   `json:"storageGroupName"`
	RdfGroupNumber   int      `json:"rdfGroupNumber"`
	VolumeRdfTypes   []string `json:"volumeRdfTypes"`
	States           []string `json:"states"`
	Modes            []string `json:"modes"`
	LargerRdfSides   []string `json:"largerRdfSides"`
}

StorageGroupRDFG holds information about protected storage group

type StorageGroupResult

type StorageGroupResult struct {
	StorageGroup []StorageGroup `json:"storageGroup"`
	Success      bool           `json:"success"`
	Message      string         `json:"message"`
}

StorageGroupResult holds result of an operation

type StorageGroupSelection

type StorageGroupSelection struct {
	CreateStorageGroupParam      *CreateStorageGroupParam      `json:"createStorageGroupParam,omitempty"`
	UseExistingStorageGroupParam *UseExistingStorageGroupParam `json:"useExistingStorageGroupParam,omitempty"`
}

StorageGroupSelection contains parameters to select storage group

type StorageGroupSnap added in v2.3.0

type StorageGroupSnap struct {
	Name                    string               `json:"name"`
	Generation              int64                `json:"generation"`
	SnapID                  int64                `json:"snapid"`
	Timestamp               string               `json:"timestamp"`
	TimestampUtc            int64                `json:"timestamp_utc"`
	State                   []string             `json:"state"`
	NumSourceVolumes        int32                `json:"num_source_volumes"`
	SourceVolume            []SourceVolume       `json:"source_volume"`
	NumStorageGroupVolumes  int32                `json:"num_storage_group_volumes"`
	Tracks                  int64                `json:"tracks"`
	NotSharedTracks         int64                `json:"non_shared_tracks"`
	TimeToLiveExpiryDate    string               `json:"time_to_live_expiry_date"`
	SecureExpiryDate        string               `json:"secure_expiry_date"`
	Expired                 bool                 `json:"expired"`
	Linked                  bool                 `json:"linked"`
	Restored                bool                 `json:"restored"`
	LinkedStorageGroupNames []string             `json:"linked_storage_group_names"`
	Persistent              bool                 `json:"persistent"`
	LinkedStorageGroups     []LinkedStorageGroup `json:"linked_storage_group"`
}

StorageGroupSnap a PowerMax Snap Object

type StorageGroupSnapshot added in v2.3.0

type StorageGroupSnapshot struct {
	Name                   []string                `json:"name"`
	SlSnapshotName         []string                `json:"sl_snapshot_name"`
	SnapshotNamesAndCounts []SnapshotNameAndCounts `json:"snapshot_names_and_counts"`
}

StorageGroupSnapshot contains a list of storage group snapshots

type StorageGroupSnapshotPolicy added in v2.1.0

type StorageGroupSnapshotPolicy struct {
	SymmetrixID           string `json:"symmetrixID,omitempty"`
	SnapshotPolicyID      string `json:"snapshot_policy_id,omitempty"`
	StorageGroupID        string `json:"storage_group_id,omitempty"`
	Compliance            string `json:"compliance,omitempty"`
	SnapshotsInTimeWindow int    `json:"snapshots_in_time_window,omitempty"`
	TotalSnapshots        int    `json:"total_snapshots,omitempty"`
	Suspended             bool   `json:"suspended,omitempty"`
}

StorageGroupSnapshotPolicy holds storage group snapshot policy

type StoragePool

type StoragePool struct {
	StoragePoolID        string         `json:"srpId"`
	DiskGrouCount        int            `json:"num_of_disk_groups"`
	Description          string         `json:"description"`
	Emulation            string         `json:"emulation"`
	CompressionState     string         `json:"compression_state"`
	EffectiveUsedCapPerc int            `json:"effective_used_capacity_percent"`
	ReservedCapPerc      int            `json:"reserved_cap_percent"`
	SrdfDseAllocCap      float64        `json:"total_srdf_dse_allocated_cap_gb"`
	RdfaDse              bool           `json:"rdfa_dse"`
	ReliabilityState     string         `json:"reliability_state"`
	DiskGroupIDs         []string       `json:"diskGroupId"`
	ExternalCap          float64        `json:"external_capacity_gb"`
	SrpCap               *SrpCap        `json:"srp_capacity,omitempty"`
	FbaCap               *FbaCap        `json:"fba_srp_capacity,omitempty"`
	CkdCap               *CkdCap        `json:"ckd_srp_capacity,omitempty"`
	SrpEfficiency        *SrpEfficiency `json:"srp_efficiency"`
	ServiceLevels        []string       `json:"service_levels"`
}

StoragePool : information about a storage pool

type StoragePoolList

type StoragePoolList struct {
	StoragePoolIDs []string `json:"srpID"`
}

StoragePoolList : list of storage pools in the system

type Suspend

type Suspend struct {
	Force      bool `json:"force"`
	SymForce   bool `json:"symForce"`
	Star       bool `json:"star"`
	Hop2       bool `json:"hop2"`
	Bypass     bool `json:"bypass"`
	Immediate  bool `json:"immediate"`
	ConsExempt bool `json:"consExempt"`
	MetroBias  bool `json:"metroBias"`
}

Suspend action

type Swap

type Swap struct {
	Force     bool `json:"force"`
	SymForce  bool `json:"symForce"`
	Star      bool `json:"star"`
	Hop2      bool `json:"hop2"`
	Bypass    bool `json:"bypass"`
	HalfSwap  bool `json:"halfSwap"`
	RefreshR1 bool `json:"refreshR1"`
	RefreshR2 bool `json:"refreshR2"`
}

Swap action

type SymDevice

type SymDevice struct {
	SymmetrixID string     `json:"symmetrixId"`
	Name        string     `json:"name"`
	Snapshot    []Snapshot `json:"snapshot"`
	RdfgNumbers []int64    `json:"rdfgNumbers"`
}

SymDevice list of devices on a particular symmetrix system

type SymReplicationCapabilities

type SymReplicationCapabilities struct {
	SymmetrixCapability []SymmetrixCapability `json:"symmetrixCapability"`
	Successful          bool                  `json:"successful,omitempty"`
	FailMessage         string                `json:"failMessage,omitempty"`
}

SymReplicationCapabilities holds whether or not snapshot is licensed

type SymVolumeList

type SymVolumeList struct {
	Name      []string    `json:"name"`
	SymDevice []SymDevice `json:"device"`
}

SymVolumeList contains information on private volume get

type Symmetrix

type Symmetrix struct {
	SymmetrixID          string                `json:"symmetrixId"`
	DellServiceTag       string                `json:"dell_service_tag"`
	DeviceCount          int                   `json:"device_count"`
	Ucode                string                `json:"ucode"`
	UcodeDate            string                `json:"ucode_date"`
	Model                string                `json:"model"`
	Local                bool                  `json:"local"`
	AllFlash             bool                  `json:"all_flash"`
	DisplayName          string                `json:"display_name"`
	DiskCount            int                   `json:"disk_count"`
	CacheSizeMB          int                   `json:"cache_size_mb"`
	DataEncryption       string                `json:"data_encryption"`
	FEDirCount           int                   `json:"fe_dir_count"`
	BEDirCount           int                   `json:"be_dir_count"`
	RDFDirCount          int                   `json:"rdf_dir_count"`
	MaxHyperPerDisk      int                   `json:"max_hyper_per_disk"`
	VCMState             string                `json:"vcm_state"`
	VCMDBState           string                `json:"vcmdb_state"`
	ReliabilityState     string                `json:"reliability_state"`
	UcodeRegisteredBuild int                   `json:"ucode_registered_build"`
	SystemSizedProperty  []SystemSizedProperty `json:"system_sized_property"`
}

Symmetrix : information about a Symmetrix system

type SymmetrixCapability

type SymmetrixCapability struct {
	SymmetrixID   string `json:"symmetrixId"`
	SnapVxCapable bool   `json:"snapVxCapable"`
	RdfCapable    bool   `json:"rdfCapable"`
}

SymmetrixCapability holds replication capabilities

type SymmetrixIDList

type SymmetrixIDList struct {
	SymmetrixIDs []string `json:"symmetrixId"`
}

SymmetrixIDList : contains list of symIDs

type SymmetrixPortKeyType

type SymmetrixPortKeyType struct {
	DirectorID string `json:"directorId,omitempty"`
	PortID     string `json:"portId,omitempty"`
}

SymmetrixPortKeyType contains the director id and port number

type SymmetrixPortType

type SymmetrixPortType struct {
	SymmetrixPortKey                       PortKey  `json:"symmetrixPortKey"`
	PortStatus                             string   `json:"port_status"`
	DirectorStatus                         string   `json:"director_status"`
	Type                                   string   `json:"type,omitempty"`
	NumberOfCores                          string   `json:"number_of_cores"`
	Identifier                             string   `json:"identifier,omitempty"`
	PortGroups                             []string `json:"portgroup"`
	MaskingViews                           []string `json:"maskingview"`
	PortInterface                          string   `json:"port_interface"`
	ISCSITarget                            bool     `json:"iscsi_target,omitempty"`
	IPAddresses                            []string `json:"ip_addresses,omitempty"`
	NegotiatedSpeed                        string   `json:"negotiated_speed,omitempty"`
	MacAddress                             string   `json:"mac_address,omitempty"`
	NumOfPortGroups                        int64    `json:"num_of_port_groups,omitempty"`
	NumOfMaskingViews                      int64    `json:"num_of_masking_views,omitempty"`
	NumOfMappedVols                        int64    `json:"num_of_mapped_vols,omitempty"`
	VcmState                               string   `json:"vcm_state,omitempty"`
	Aclx                                   bool     `json:"aclx,omitempty"`
	CommonSerialNumber                     bool     `json:"common_serial_number,omitempty"`
	UniqueWwn                              bool     `json:"unique_wwn,omitempty"`
	InitPointToPoint                       bool     `json:"init_point_to_point,omitempty"`
	VolumeSetAddressing                    bool     `json:"volume_set_addressing,omitempty"`
	VnxAttached                            bool     `json:"vnx_attached,omitempty"`
	AvoidResetBroadcast                    bool     `json:"avoid_reset_broadcast,omitempty"`
	NegotiateReset                         bool     `json:"negotiate_reset,omitempty"`
	EnableAutoNegotiate                    bool     `json:"enable_auto_negotiate,omitempty"`
	EnvironSet                             bool     `json:"environ_set,omitempty"`
	DisableQResetOnUA                      bool     `json:"disable_q_reset_on_ua,omitempty"`
	SoftReset                              bool     `json:"soft_reset,omitempty"`
	Scsi3                                  bool     `json:"scsi_3,omitempty"`
	ScsiSupport1                           bool     `json:"scsi_support1,omitempty"`
	NoParticipating                        bool     `json:"no_participating,omitempty"`
	Spc2ProtocolVersion                    bool     `json:"spc2_protocol_version,omitempty"`
	Hp3000Mode                             bool     `json:"hp_3000_mode,omitempty"`
	Sunapee                                bool     `json:"sunapee,omitempty"`
	Siemens                                bool     `json:"siemens,omitempty"`
	RxPowerLevelMw                         float64  `json:"rx_power_level_mw,omitempty"`
	TxPowerLevelMw                         float64  `json:"tx_power_level_mw,omitempty"`
	PowerLevelsLastSampledDataMilliseconds int64    `json:"power_levels_last_sampled_data_milliseconds,omitempty"`
	NumOfHypers                            int64    `json:"num_of_hypers,omitempty"`
	RdfRaGroupAttributesFarpoint           bool     `json:"rdf_ra_group_attributes_farpoint,omitempty"`
	PreventAutomaticRdfLinkRecovery        string   `json:"prevent_automatic_rdf_link_recovery,omitempty"`
	PreventRaOnlineOnPowerUp               string   `json:"prevent_ra_online_on_power_up,omitempty"`
	RdfSoftwareCompressionSupported        string   `json:"rdf_software_compression_supported,omitempty"`
	RdfSoftwareCompression                 string   `json:"rdf_software_compression,omitempty"`
	Ipv4Address                            string   `json:"ipv4_address,omitempty"`
	Ipv6Adderess                           string   `json:"ipv6_address,omitempty"`
	Ipv6Prefix                             string   `json:"ipv6_prefix,omitempty"`
	Ipv4DefaultGateway                     string   `json:"ipv4_default_gateway,omitempty"`
	Ipv4DomainName                         string   `json:"ipv4_domain_name,omitempty"`
	Ipv4Netmask                            string   `json:"ipv4_netmask,omitempty"`
	MaxSpeed                               string   `json:"max_speed,omitempty"`
	WwnNode                                string   `json:"wwn_node,omitempty"`
	ISCSIEndpoint                          bool     `json:"iscsi_endpoint,omitempty"`
	NvmetcpEndpoint                        bool     `json:"nvmetcp_endpoint,omitempty"`
	NetworkID                              int64    `json:"network_id,omitempty"`
	TCPPort                                int32    `json:"tcp_port,omitempty"`
	EnabledProtocols                       []string `json:"enabled_protocols,omitempty"`
	CapableProtocols                       []string `json:"capable_protocols,omitempty"`
}

SymmetrixPortType : type of symmetrix port

type SystemSizedProperty

type SystemSizedProperty struct {
	SRPName                    string `json:"srp_name"`
	SizedFBADataReductionRatio string `json:"sized_fba_data_reduction_ratio"`
	SizedCKDDataReductionRatio string `json:"sized_ckd_data_reduction_ratio"`
	SizedFBACapacityTB         int    `json:"sized_fba_capacity_tb"`
	SizedCKDCapacityTB         int    `json:"sized_ckd_capacity_tb"`
	SizedFBAReduciblePercent   int    `json:"sized_fba_reducible_percent"`
	SizedCKDReduciblePercent   int    `json:"sized_ckd_reducible_percent"`
}

SystemSizedProperty contains information about size data

type TagManagementParam

type TagManagementParam struct {
	RemoveTagsParam *RemoveTagsParam `json:"removeTagsParam,omitempty"`
	AddTagsParam    *AddTagsParam    `json:"addTagsParam,omitempty"`
}

TagManagementParam holds parameters to remove or add tags

type TargetMaskingView added in v2.2.0

type TargetMaskingView struct {
	Name           string         `json:"name"`
	Invalid        bool           `json:"invalid"`
	ChildInvalid   bool           `json:"childInvalid"`
	Missing        bool           `json:"missing"`
	InitiatorGroup InitiatorGroup `json:"initiatorGroup"`
	PortGroup      PortGroups     `json:"portGroup"`
}

TargetMaskingView contains target masking view information

type TargetSourceSnapshotGenInfo

type TargetSourceSnapshotGenInfo struct {
	TargetDevice string `json:"targetDevice"`
	SourceDevice string `json:"sourceDevice"`
	SnapshotName string `json:"snapshotName"`
	Generation   int64  `json:"generation"`
	Secured      bool   `json:"secured"`
	Expired      bool   `json:"expired"`
	TimeToLive   int64  `json:"timeToLive"`
	Timestamp    int64  `json:"timestamp"`
	Defined      string `json:"state"`
}

TargetSourceSnapshotGenInfo contains information on target snapshot generation

type Task

type Task struct {
	ExecutionOrder int    `json:"execution_order"`
	Description    string `json:"description"`
}

Task : holds execution order with a description

type TimeFinderInfo

type TimeFinderInfo struct {
	SnapSource    bool            `json:"snapSource"`
	SnapTarget    bool            `json:"snapTarget"`
	SnapVXSrc     bool            `json:"snapVXSrc"`
	SnapVXTgt     bool            `json:"snapVXTgt"`
	Mirror        bool            `json:"mirror"`
	CloneSrc      bool            `json:"cloneSrc"`
	CloneTarget   bool            `json:"cloneTarget"`
	SnapVXSession []SnapVXSession `json:"snapVXSession"`
	CloneSession  []CloneSession  `json:"cloneSession"`
	MirrorSession []MirrorSession `json:"MirrorSession"`
}

TimeFinderInfo contains snap information for a volume

type TimeToLiveSnapshotAction added in v2.3.0

type TimeToLiveSnapshotAction struct {
	Force       bool  `json:"force,omitempty"`
	Star        bool  `json:"star,omitempty"`
	TimeToLive  int32 `json:"time_to_live,omitempty"`
	TimeInHours bool  `json:"time_in_hours,omitempty"`
}

TimeToLiveSnapshotAction an action on a Storage Group snap

type TimeToLiveStorageGroupSnapshot added in v2.3.0

type TimeToLiveStorageGroupSnapshot struct {
	ExecutionOption string                   `json:"executionOption,omitempty"`
	Action          string                   `json:"action"`
	TimeToLive      TimeToLiveSnapshotAction `json:"time_to_live"`
}

TimeToLiveStorageGroupSnapshot Modify a Storage Group snaps time to live

type UnlinkSnapshotAction added in v2.3.0

type UnlinkSnapshotAction struct {
	Force            bool   `json:"force,omitempty"`
	Star             bool   `json:"star,omitempty"`
	Symforce         bool   `json:"symforce,omitempty"`
	StorageGroupName string `json:"storage_group_name"`
}

UnlinkSnapshotAction an action on a Storage Group snap

type UnlinkStorageGroupSnapshot added in v2.3.0

type UnlinkStorageGroupSnapshot struct {
	ExecutionOption string               `json:"executionOption,omitempty"`
	Action          string               `json:"action"`
	Unlink          UnlinkSnapshotAction `json:"unlink"`
}

UnlinkStorageGroupSnapshot Modify a Storage Group snap to unlink

type UpdateHostAddInitiatorsParam

type UpdateHostAddInitiatorsParam struct {
	EditHostAction  *AddHostInitiators `json:"editHostActionParam"`
	ExecutionOption string             `json:"executionOption"`
}

UpdateHostAddInitiatorsParam contains action and option to update the host initiators

type UpdateHostGroupParam added in v2.2.0

type UpdateHostGroupParam struct {
	EditHostGroupAction *EditHostGroupActionParams `json:"editHostGroupActionParam"`
	ExecutionOption     string                     `json:"executionOption"`
}

UpdateHostGroupParam contains action and option to update the hostGroup

type UpdateHostParam

type UpdateHostParam struct {
	EditHostAction  *EditHostParams `json:"editHostActionParam"`
	ExecutionOption string          `json:"executionOption"`
}

UpdateHostParam contains action and option to update the host

type UpdateHostRemoveInititorsParam

type UpdateHostRemoveInititorsParam struct {
	EditHostAction  *RemoveHostInitiators `json:"editHostActionParam"`
	ExecutionOption string                `json:"executionOption"`
}

UpdateHostRemoveInititorsParam contains action and option to remove the host initiators

type UpdateSnapshotPolicyParam added in v2.3.0

type UpdateSnapshotPolicyParam struct {
	// The action to be performed. Enumeration values: a)Modify - Modify the attributes of a snapshot policy
	// b)Suspend - Suspend a snapshot policy from running c)Resume - Resume a snapshot policy to running
	// d)AssociateToStorageGroups - Associate the snapshot policy to storage groups
	// e)DisassociateFromStorageGroups - Disassociate the snapshot policy from storage groups
	Action                        string                         `json:"action"`
	ModifySnapshotPolicyParam     *ModifySnapshotPolicyParam     `json:"modify,omitempty"`
	AssociateStorageGroupParam    *AssociateStorageGroupParam    `json:"associate_to_storage_group,omitempty"`
	DisassociateStorageGroupParam *DisassociateStorageGroupParam `json:"disassociate_from_storage_group,omitempty"`
	ExecutionOption               string                         `json:"executionOption"`
}

UpdateSnapshotPolicyParam Parameters for update Snapshot Policy

type UpdateStorageGroupPayload

type UpdateStorageGroupPayload struct {
	EditStorageGroupActionParam EditStorageGroupActionParam `json:"editStorageGroupActionParam"`
	// ExecutionOption "SYNCHRONOUS" or "ASYNCHRONOUS"
	ExecutionOption string `json:"executionOption"`
}

UpdateStorageGroupPayload : updates SG rest paylod

type UseExistingHostGroupParam

type UseExistingHostGroupParam struct {
	HostGroupID string `json:"hostGroupId"`
}

UseExistingHostGroupParam contains ID of the host group

type UseExistingHostParam

type UseExistingHostParam struct {
	HostID string `json:"hostId"`
}

UseExistingHostParam contains host id to use

type UseExistingPortGroupParam

type UseExistingPortGroupParam struct {
	PortGroupID string `json:"portGroupId,omitempty"`
}

UseExistingPortGroupParam contains the port group id

type UseExistingStorageGroupParam

type UseExistingStorageGroupParam struct {
	StorageGroupID string `json:"storageGroupId,omitempty"`
}

UseExistingStorageGroupParam : use this sg ID

type Version

type Version struct {
	Version string `json:"version"`
}

Version : /unixmax/restapi/system/version

type Volume

type Volume struct {
	VolumeID              string                 `json:"volumeId"`
	Type                  string                 `json:"type"`
	Emulation             string                 `json:"emulation"`
	SSID                  string                 `json:"ssid"`
	AllocatedPercent      int                    `json:"allocated_percent"`
	CapacityGB            float64                `json:"cap_gb"`
	FloatCapacityMB       float64                `json:"cap_mb"`
	CapacityCYL           int                    `json:"cap_cyl"`
	Status                string                 `json:"status"`
	Reserved              bool                   `json:"reserved"`
	Pinned                bool                   `json:"pinned"`
	PhysicalName          string                 `json:"physical_name"`
	VolumeIdentifier      string                 `json:"volume_identifier"`
	WWN                   string                 `json:"wwn"`
	Encapsulated          bool                   `json:"encapsulated"`
	NumberOfStorageGroups int                    `json:"num_of_storage_groups"`
	NumberOfFrontEndPaths int                    `json:"num_of_front_end_paths"`
	StorageGroupIDList    []string               `json:"storageGroupId"`
	RDFGroupIDList        []RDFGroupID           `json:"rdfGroupId"`
	SymmetrixPortKey      []SymmetrixPortKeyType `json:"symmetrixPortKey"`
	SnapSource            bool                   `json:"snapvx_source"`
	SnapTarget            bool                   `json:"snapvx_target"`
	CUImageBaseAddress    string                 `json:"cu_image_base_address"`
	HasEffectiveWWN       bool                   `json:"has_effective_wwn"`
	EffectiveWWN          string                 `json:"effective_wwn"`
	EncapsulatedWWN       string                 `json:"encapsulated_wwn"`
	OracleInstanceName    string                 `json:"oracle_instance_name"`
	MobilityIDEnabled     bool                   `json:"mobility_id_enabled"`
	StorageGroups         []StorageGroupName     `json:"storage_groups"`
	UnreducibleDataGB     float64                `json:"unreducible_data_gb"`
	NGUID                 string                 `json:"nguid"`
}

Volume : information about a volume

type VolumeAttributeType

type VolumeAttributeType struct {
	NumberOfVolumes  int                   `json:"num_of_vols,omitempty"`
	VolumeIdentifier *VolumeIdentifierType `json:"volumeIdentifier,omitempty"`
	CapacityUnit     string                `json:"capacityUnit"` // CAPACITY_UNIT_{TB,GB,MB,CYL}
	VolumeSize       string                `json:"volume_size"`
}

VolumeAttributeType : volume attributes for 9.1

type VolumeHeader

type VolumeHeader struct {
	VolumeID              string   `json:"volumeId"`
	NameModifier          string   `json:"nameModifier"`
	FormattedName         string   `json:"formattedName"`
	PhysicalDeviceName    string   `json:"physicalDeviceName"`
	Configuration         string   `json:"configuration"`
	SRP                   string   `json:"SRP"`
	ServiceLevel          string   `json:"serviceLevel"`
	ServiceLevelBaseName  string   `json:"serviceLevelBaseName"`
	Workload              string   `json:"workload"`
	StorageGroup          []string `json:"storageGroup"`
	FastStorageGroup      string   `json:"fastStorageGroup"`
	ServiceState          string   `json:"serviceState"`
	Status                string   `json:"status"`
	CapTB                 float64  `json:"capTB"`
	CapGB                 float64  `json:"capGB"`
	CapMB                 float64  `json:"capMB"`
	BlockSize             int64    `json:"blockSize"`
	AllocatedPercent      int64    `json:"allocatedPercent"`
	EmulationType         string   `json:"emulationType"`
	SystemResource        bool     `json:"system_resource"`
	Encapsulated          bool     `json:"encapsulated"`
	BCV                   bool     `json:"BCV"`
	SplitName             string   `json:"splitName"`
	SplitSerialNumber     string   `json:"splitSerialNumber"`
	FBA                   bool     `json:"FBA"`
	CKD                   bool     `json:"CKD"`
	Mapped                bool     `json:"mapped"`
	Private               bool     `json:"private"`
	DataDev               bool     `json:"dataDev"`
	VVol                  bool     `json:"VVol"`
	MobilityID            bool     `json:"mobilityID"`
	Meta                  bool     `json:"meta"`
	MetaHead              bool     `json:"metaHead"`
	NumSymDevMaskingViews int64    `json:"numSymDevMaskingViews"`
	NumStorageGroups      int64    `json:"numStorageGroups"`
	NumDGs                int64    `json:"numDGs"`
	NumCGs                int64    `json:"numCGs"`
	Lun                   string   `json:"lun"`
	MetaConfigNumber      int64    `json:"metaConfigNumber"`
	WWN                   string   `json:"wwn"`
	HasEffectiveWWN       bool     `json:"hasEffectiveWWN"`
	EffectiveWWN          string   `json:"effectiveWWN"`
	PersistentAllocation  string   `json:"persistentAllocation"`
	CUImageNum            string   `json:"CUImageNum"`
	CUImageStatus         string   `json:"CUImageStatus"`
	SSID                  string   `json:"SSID"`
	CUImageBaseAddress    string   `json:"CUImageBaseAddress"`
	PAVMode               string   `json:"PAVMode"`
	FEDirPorts            []string `json:"FEDirPorts"`
	CompressionEnabled    bool     `json:"compressionEnabled"`
	CompressionRatio      string   `json:"compressionRatio"`
}

VolumeHeader holds private volume header information

type VolumeIDList

type VolumeIDList struct {
	VolumeIDs string `json:"volumeId"`
}

VolumeIDList : list of volume ids

type VolumeIdentifierType

type VolumeIdentifierType struct {
	VolumeIdentifierChoice string `json:"volumeIdentifierChoice,omitempty"`
	IdentifierName         string `json:"identifier_name,omitempty"`
	AppendNumber           string `json:"append_number,omitempty"`
}

VolumeIdentifierType : volume identifier

type VolumeIterator

type VolumeIterator struct {
	ResultList     VolumeResultList `json:"resultList"`
	ID             string           `json:"id"`
	Count          int              `json:"count"`
	ExpirationTime int64            `json:"expirationTime"` // What units is ExpirationTime in?
	MaxPageSize    int              `json:"maxPageSize"`
	WarningMessage string           `json:"warningMessage"`
}

VolumeIterator : holds the iterator of resultant volume list

type VolumeList

type VolumeList struct {
	Name string `json:"name"`
}

VolumeList contains list of device names

type VolumeMetric added in v2.2.0

type VolumeMetric struct {
	MBRead            float64 `json:"MBRead"`
	MBWritten         float64 `json:"MBWritten"`
	Reads             float64 `json:"Reads"`
	Writes            float64 `json:"Writes"`
	ReadResponseTime  float64 `json:"ReadResponseTime"`
	WriteResponseTime float64 `json:"WriteResponseTime"`
	Timestamp         int64   `json:"timestamp"`
}

VolumeMetric is the struct of metric

type VolumeMetricsIterator added in v2.2.0

type VolumeMetricsIterator struct {
	ResultList     VolumeMetricsResultList `json:"resultList"`
	ID             string                  `json:"id"`
	Count          int                     `json:"count"`
	ExpirationTime int64                   `json:"expirationTime"`
	MaxPageSize    int                     `json:"maxPageSize"`
}

VolumeMetricsIterator contains the result of query

type VolumeMetricsParam added in v2.2.0

type VolumeMetricsParam struct {
	SystemID                       string   `json:"systemId"`
	StartDate                      int64    `json:"startDate"`
	EndDate                        int64    `json:"endDate"`
	DataFormat                     string   `json:"dataFormat"`
	CommaSeparatedStorageGroupList string   `json:"commaSeparatedStorageGroupList"`
	Metrics                        []string `json:"metrics"`
}

VolumeMetricsParam parameters for query

type VolumeMetricsResultList added in v2.2.0

type VolumeMetricsResultList struct {
	Result []VolumeResult `json:"result"`
	From   int            `json:"from"`
	To     int            `json:"to"`
}

VolumeMetricsResultList contains the list of volume result

type VolumeResult added in v2.2.0

type VolumeResult struct {
	VolumeResult  []VolumeMetric `json:"volumeResult"`
	VolumeID      string         `json:"volumeId"`
	StorageGroups string         `json:"storageGroups"`
}

VolumeResult contains the list of volume metrics and ID of volume

type VolumeResultList

type VolumeResultList struct {
	VolumeList []VolumeIDList `json:"result"`
	From       int            `json:"from"`
	To         int            `json:"to"`
}

VolumeResultList : volume list resulted

type VolumeResultPrivate

type VolumeResultPrivate struct {
	VolumeHeader   VolumeHeader   `json:"volumeHeader"`
	TimeFinderInfo TimeFinderInfo `json:"timeFinderInfo"`
}

VolumeResultPrivate holds private volume information

type VolumeSnapshot

type VolumeSnapshot struct {
	DeviceName           string                 `json:"deviceName"`
	SnapshotName         string                 `json:"snapshotName"`
	VolumeSnapshotSource []VolumeSnapshotSource `json:"snapshotSrc"`
	VolumeSnapshotLink   []VolumeSnapshotLink   `json:"snapshotLnk,omitempty"`
}

VolumeSnapshot contains list of volume snapshots

type VolumeSnapshotGeneration

type VolumeSnapshotGeneration struct {
	DeviceName           string               `json:"deviceName"`
	SnapshotName         string               `json:"snapshotName"`
	Generation           int64                `json:"generation"`
	VolumeSnapshotSource VolumeSnapshotSource `json:"snapshotSrc"`
	VolumeSnapshotLink   []VolumeSnapshotLink `json:"snapshotLnk,omitempty"`
}

VolumeSnapshotGeneration contains information on generation of a snapshot

type VolumeSnapshotGenerations

type VolumeSnapshotGenerations struct {
	DeviceName           string                 `json:"deviceName"`
	Generation           []int64                `json:"generation"`
	SnapshotName         string                 `json:"snapshotName"`
	VolumeSnapshotSource []VolumeSnapshotSource `json:"snapshotSrc"`
	VolumeSnapshotLink   []VolumeSnapshotLink   `json:"snapshotLnk,omitempty"`
}

VolumeSnapshotGenerations contains list of volume snapshot generations

type VolumeSnapshotLink struct {
	TargetDevice     string `json:"targetDevice"`
	Timestamp        string `json:"timestamp"`
	State            string `json:"state"`
	TrackSize        int64  `json:"trackSize"`
	Tracks           int64  `json:"tracks"`
	PercentageCopied int64  `json:"percentageCopied"`
	Linked           bool   `json:"linked"`
	Restored         bool   `json:"restored"`
	Defined          bool   `json:"defined"`
	Copy             bool   `json:"copy"`
	Destage          bool   `json:"destage"`
	Modified         bool   `json:"modified"`
	LinkSource       string `json:"linkSourceName"`
	SnapshotName     string `json:"snapshot_name"`
	Generation       int64  `json:"generation"`
}

VolumeSnapshotLink contains information about linked snapshots

type VolumeSnapshotSource

type VolumeSnapshotSource struct {
	SnapshotName         string          `json:"snapshotName"`
	Generation           int64           `json:"generation"`
	TimeStamp            string          `json:"timestamp"`
	State                string          `json:"state"`
	ProtectionExpireTime int64           `json:"protectionExpireTime"`
	GCM                  bool            `json:"gcm"`
	ICDP                 bool            `json:"icdp"`
	Secured              bool            `json:"secured"`
	IsRestored           bool            `json:"isRestored"`
	TTL                  int64           `json:"ttl"`
	Expired              bool            `json:"expired"`
	LinkedVolumes        []LinkedVolumes `json:"linkedDevices"`
}

VolumeSnapshotSource holds information on volume snapshot source

Jump to

Keyboard shortcuts

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