swordfish

package
v0.18.0 Latest Latest
Warning

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

Go to latest
Published: May 15, 2024 License: BSD-3-Clause Imports: 6 Imported by: 15

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ALUA added in v0.18.0

type ALUA struct {
	// ANAGroupID shall contain the ANA group id for this volume.
	ANAGroupID int64
}

type AccessState

type AccessState string

AccessState is used for associated resources through all aggregated endpoints shall share this access state.

const (
	// OptimizedAccessState shall be in an Active/Optimized state.
	OptimizedAccessState AccessState = "Optimized"
	// NonOptimizedAccessState shall be in an Active/NonOptimized state.
	NonOptimizedAccessState AccessState = "NonOptimized"
	// StandbyAccessState shall be in a Standby state.
	StandbyAccessState AccessState = "Standby"
	// UnavailableAccessState shall be in an unavailable state.
	UnavailableAccessState AccessState = "Unavailable"
	// TransitioningAccessState shall be transitioning to a new AccessState.
	TransitioningAccessState AccessState = "Transitioning"
)

type AntiVirusScanTrigger

type AntiVirusScanTrigger string

AntiVirusScanTrigger shall specify types of antivirus scan triggers.

const (
	// NoneAntiVirusScanTrigger specifies there is no trigger.
	NoneAntiVirusScanTrigger AntiVirusScanTrigger = "None"
	// OnFirstReadAntiVirusScanTrigger specifies to trigger on first read.
	OnFirstReadAntiVirusScanTrigger AntiVirusScanTrigger = "OnFirstRead"
	// OnPatternUpdateAntiVirusScanTrigger specifies to trigger on antivirus
	// pattern file update.
	OnPatternUpdateAntiVirusScanTrigger AntiVirusScanTrigger = "OnPatternUpdate"
	// OnUpdateAntiVirusScanTrigger specifies to trigger on object update.
	OnUpdateAntiVirusScanTrigger AntiVirusScanTrigger = "OnUpdate"
	// OnRenameAntiVirusScanTrigger specifies to trigger on object rename.
	OnRenameAntiVirusScanTrigger AntiVirusScanTrigger = "OnRename"
)

type ApplicationConsistencyMethod added in v0.18.0

type ApplicationConsistencyMethod string
const (
	// HostStandbyApplicationConsistencyMethod supports consistency method commonly orchestrated using application-specific code.
	HostStandbyApplicationConsistencyMethod ApplicationConsistencyMethod = "HotStandby"
	// OtherApplicationConsistencyMethod supports consistency method orchestrated using vendor-specific code.
	OtherApplicationConsistencyMethod ApplicationConsistencyMethod = "Other"
	// VASAApplicationConsistencyMethod supports VMware consistency requirements, such as for VASA and VVOLs.
	VASAApplicationConsistencyMethod ApplicationConsistencyMethod = "VASA"
	// VDIApplicationConsistencyMethod supports Microsoft virtual backup device interface (VDI).
	VDIApplicationConsistencyMethod ApplicationConsistencyMethod = "VDI"
	// VSSApplicationConsistencyMethod supports Microsoft VSS.
	VSSApplicationConsistencyMethod ApplicationConsistencyMethod = "VSS"
)

type AuthenticationMethod

type AuthenticationMethod string

AuthenticationMethod is method used to authenticate.

const (
	// NoneAuthenticationMethod No authentication is used.
	NoneAuthenticationMethod AuthenticationMethod = "None"
	// CHAPAuthenticationMethod iSCSI Challenge Handshake Authentication
	// Protocol (CHAP) authentication is used.
	CHAPAuthenticationMethod AuthenticationMethod = "CHAP"
	// MutualCHAPAuthenticationMethod iSCSI Mutual Challenge Handshake
	// Authentication Protocol (CHAP) authentication is used.
	MutualCHAPAuthenticationMethod AuthenticationMethod = "MutualCHAP"
	// DHCHAPAuthenticationMethod Diffie-Hellman Challenge Handshake
	// Authentication Protocol (DHCHAP) is an authentication protocol used in
	// Fibre Channel. DHCHAP implies that only properties 'TargetCHAPUser'
	// and 'TargetPassword' need to be present.
	DHCHAPAuthenticationMethod AuthenticationMethod = "DHCHAP"
)

type AuthenticationType

type AuthenticationType string

AuthenticationType shall specify authentication algorithms.

const (
	// NoneAuthenticationType specifies No authentication.
	NoneAuthenticationType AuthenticationType = "None"
	// PKIAuthenticationType specifies a Public Key Infrastructure. Customers
	// with the highest assurance requirements roll PKI out to hosts and users
	// (it is more common for hosts than users. User PKI-based authentication
	// has significant operational complications and administrative overheads,
	// e.g., smart cards may be involved.
	PKIAuthenticationType AuthenticationType = "PKI"
	// TicketAuthenticationType specifies Ticket-
	// based (e.g., Kerberos): This is the most common class of
	// authentication infrastructure used in enterprises. Kerberos is the
	// best known example, and Windows usage of that via Active Directory is
	// so widely deployed as to be a de facto standard. In other areas (e.g.,
	// academia) there are comparable ticket-based systems.
	TicketAuthenticationType AuthenticationType = "Ticket"
	// PasswordAuthenticationType specifies
	// Password/shared-secret: Absent an distributed authentication
	// infrastructure, this is what is typically done.
	PasswordAuthenticationType AuthenticationType = "Password"
)

type CHAPInformation

type CHAPInformation struct {
	// CHAPPassword shall be the password when CHAP authentication is specified.
	CHAPPassword string
	// CHAPUser shall be the username when CHAP authentication is specified.
	CHAPUser string
	// InitiatorCHAPPassword shall be the shared secret for Mutual (2-way) CHAP
	// authentication.
	InitiatorCHAPPassword string
	// InitiatorCHAPUser If present, this property is the initiator CHAP username
	// for Mutual (2-way) authentication. For example, with an iSCSI scenario,
	// use the initiator iQN.
	InitiatorCHAPUser string
	// TargetCHAPPassword shall be the CHAP Secret for 2-way CHAP authentication.
	TargetCHAPPassword string
	// TargetCHAPUser shall be the Target CHAP Username for Mutual (2-way) CHAP
	// authentication. For example, with an iSCSI scenario, use the target iQN.
	TargetCHAPUser string
}

CHAPInformation is used for CHAP auth.

type Capacity

type Capacity struct {
	// Data shall be capacity information relating to provisioned user data.
	Data CapacityInfo
	// IsThinProvisioned is If the value is false, the capacity shall be
	// fully allocated. The default value shall be false.
	IsThinProvisioned bool
	// Metadata shall be capacity information relating to provisioned system
	// (non-user accessible) data.
	Metadata CapacityInfo
	// Snapshot shall be capacity information relating to
	// provisioned snapshot or backup data.
	Snapshot CapacityInfo
}

Capacity is used to represent storage capacity. The sum of the values in Data, Metadata, and Snapshot shall be equal to the total capacity for the data store.

type CapacityInfo

type CapacityInfo struct {
	// AllocatedBytes shall be the number of bytes currently
	// allocated by the storage system in this data store for this data type.
	AllocatedBytes int64
	// ConsumedBytes shall be the number of logical bytes
	// currently consumed in this data store for this data type.
	ConsumedBytes int64
	// GuaranteedBytes shall be the number of bytes the storage
	// system guarantees can be allocated in this data store for this data
	// type.
	GuaranteedBytes int64
	// ProvisionedBytes shall be the maximum number of bytes
	// that can be allocated in this data store for this data type.
	ProvisionedBytes int64
}

CapacityInfo is used to represent the utilization of storage capacity.

type CapacitySource

type CapacitySource struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string
	// ProvidedCapacity shall be the amount of space that has been provided from
	// the ProvidingDrives, ProvidingVolumes, ProvidingMemory or ProvidingPools.
	ProvidedCapacity Capacity
	// contains filtered or unexported fields
}

CapacitySource is used to represent the source and type of storage capacity. At most one of the ProvidingDrives, ProvidingVolumes, ProvidingMemoryChunks, ProvidingMemory or ProvidingPools properties may have a value. If any of ProvidingDrives, ProvidingVolumes, ProvidingMemory or ProvidingPools reference more than one resource, allocation of capacity across those resources is implementation dependent.

func GetCapacitySource

func GetCapacitySource(c common.Client, uri string) (*CapacitySource, error)

GetCapacitySource will get a CapacitySource instance from the service.

func ListReferencedCapacitySources

func ListReferencedCapacitySources(c common.Client, link string) ([]*CapacitySource, error)

ListReferencedCapacitySources gets the collection of CapacitySources from a provided reference.

func (*CapacitySource) ProvidedClassOfService

func (capacitysource *CapacitySource) ProvidedClassOfService() (*ClassOfService, error)

ProvidedClassOfService gets the ClassOfService from the ProvidingDrives, ProvidingVolumes, ProvidingMemoryChunks, ProvidingMemory or ProvidingPools.

func (*CapacitySource) ProvidingDrives

func (capacitysource *CapacitySource) ProvidingDrives() ([]*redfish.Drive, error)

ProvidingDrives gets contributing drives.

func (*CapacitySource) ProvidingMemory

func (capacitysource *CapacitySource) ProvidingMemory() ([]*redfish.Memory, error)

ProvidingMemory gets contributing memory.

func (*CapacitySource) ProvidingPools

func (capacitysource *CapacitySource) ProvidingPools() ([]*StoragePool, error)

ProvidingPools gets contributing pools.

func (*CapacitySource) ProvidingVolumes

func (capacitysource *CapacitySource) ProvidingVolumes() ([]*Volume, error)

ProvidingVolumes gets contributing volumes.

func (*CapacitySource) UnmarshalJSON

func (capacitysource *CapacitySource) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a CapacitySource object from the raw JSON.

type CharacterCodeSet

type CharacterCodeSet string

CharacterCodeSet shall indicate the character code standards supported by the file system.

const (
	// ASCIICharacterCodeSet shall indicate that the ASCII character encoding
	// is supported by the file system.
	ASCIICharacterCodeSet CharacterCodeSet = "ASCII"
	// UnicodeCharacterCodeSet shall indicate that Unicode character encoding
	// is supported by the file system.
	UnicodeCharacterCodeSet CharacterCodeSet = "Unicode"
	// ISO2022CharacterCodeSet shall indicate that ISO-2022 character
	// encoding is supported by the file system.
	ISO2022CharacterCodeSet CharacterCodeSet = "ISO2022"
	// ISO88591CharacterCodeSet shall indicate that ISO-8859-1 character
	// encoding is supported by the file system.
	ISO88591CharacterCodeSet CharacterCodeSet = "ISO8859_1"
	// ExtendedUNIXCodeCharacterCodeSet shall indicate that Extended Unix
	// Code character encoding is supported by the file system.
	ExtendedUNIXCodeCharacterCodeSet CharacterCodeSet = "ExtendedUNIXCode"
	// UTF8CharacterCodeSet shall indicate that the UTF-8 character encoding
	// is supported by the file system.
	UTF8CharacterCodeSet CharacterCodeSet = "UTF_8"
	// UTF16CharacterCodeSet shall indicate that the UTF-16 character
	// encoding is supported by the file system.
	UTF16CharacterCodeSet CharacterCodeSet = "UTF_16"
	// UCS2CharacterCodeSet shall indicate that the UCS-2 character encoding
	// is supported by the file system.
	UCS2CharacterCodeSet CharacterCodeSet = "UCS_2"
)

type ClassOfService

type ClassOfService struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// ClassOfServiceVersion is the version describing the creation or last
	// modification of this service option specification. The string
	// representing the version shall be in the form: M + '.' + N + '.' + U
	// Where: M - The major version (in numeric form). N - The minor version
	// (in numeric form). U - The update (e.g. errata or patch in numeric
	// form).
	ClassOfServiceVersion string

	// DataProtectionLinesOfServiceCount is the number of DataProtectionLineOfService.
	DataProtectionLinesOfServiceCount int `json:"DataProtectionLinesOfService@odata.count"`

	// DataSecurityLinesOfServiceCount is number of DataSecurityLineOfService.
	DataSecurityLinesOfServiceCount int `json:"DataSecurityLinesOfService@odata.count"`

	// DataStorageLinesOfServiceCount is the number of DataStorageLinesOfService.
	DataStorageLinesOfServiceCount int `json:"DataStorageLinesOfService@odata.count"`
	// Description provides a description of this resource.
	Description string

	// IOConnectivityLinesOfServiceCount is the number of IOConnectivityLinesOfService.
	IOConnectivityLinesOfServiceCount int `json:"IOConnectivityLinesOfService@odata.count"`

	// IOPerformanceLinesOfServiceCount is the number of IOPerformanceLinesOfService.
	IOPerformanceLinesOfServiceCount int `json:"IOPerformanceLinesOfService@odata.count"`
	// Identifier shall be unique within the managed ecosystem.
	Identifier common.Identifier
	// contains filtered or unexported fields
}

ClassOfService shall define a service option composed of one or more line of service entities. ITIL defines a service option as a choice of utility or warranty for a service.

func GetClassOfService

func GetClassOfService(c common.Client, uri string) (*ClassOfService, error)

GetClassOfService will get a ClassOfService instance from the service.

func ListReferencedClassOfServices

func ListReferencedClassOfServices(c common.Client, link string) ([]*ClassOfService, error)

ListReferencedClassOfServices gets the collection of ClassOfService from a provided reference.

func (*ClassOfService) DataProtectionLinesOfServices

func (classofservice *ClassOfService) DataProtectionLinesOfServices() ([]*DataProtectionLineOfService, error)

DataProtectionLinesOfServices gets the DataProtectionLinesOfService that are part of this ClassOfService.

func (*ClassOfService) DataSecurityLinesOfServices

func (classofservice *ClassOfService) DataSecurityLinesOfServices() ([]*DataSecurityLineOfService, error)

DataSecurityLinesOfServices gets the DataSecurityLinesOfService that are part of this ClassOfService.

func (*ClassOfService) DataStorageLinesOfServices

func (classofservice *ClassOfService) DataStorageLinesOfServices() ([]*DataStorageLineOfService, error)

DataStorageLinesOfServices gets the DataStorageLinesOfService that are part of this ClassOfService.

func (*ClassOfService) IOConnectivityLinesOfServices

func (classofservice *ClassOfService) IOConnectivityLinesOfServices() ([]*IOConnectivityLineOfService, error)

IOConnectivityLinesOfServices gets the IOConnectivityLinesOfService that are part of this ClassOfService.

func (*ClassOfService) IOPerformanceLinesOfServices

func (classofservice *ClassOfService) IOPerformanceLinesOfServices() ([]*IOPerformanceLineOfService, error)

IOPerformanceLinesOfServices gets the IOPerformanceLinesOfService that are part of this ClassOfService.

func (*ClassOfService) UnmarshalJSON

func (classofservice *ClassOfService) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a ClassOfService object from the raw JSON.

type ConsistencyGroup added in v0.18.0

type ConsistencyGroup struct {
	common.Entity
	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataEtag is the odata etag.
	ODataEtag string `json:"@odata.etag"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// ConsistencyMethod shall set the consistency method used by this group.
	ConsistencyMethod ApplicationConsistencyMethod
	// ConsistencyType shall set the consistency type used by this group.
	ConsistencyType ConsistencyType
	// Description provides a description of this resource.
	Description string
	// IsConsistent shall be set to true when the consistency group is in a consistent state.
	IsConsistent bool
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// RemoteReplicaTargets shall reference the URIs to the remote target replicas that are sourced by this replica.
	// Remote indicates that the replica is managed by a separate Swordfish service instance.
	RemoteReplicaTargets []string
	// ReplicaInfo shall describe the replication relationship between this storage group and a corresponding source
	// storage group.
	ReplicaInfo ReplicaInfo
	// ReplicaTargets shall reference the target replicas that are sourced by this replica.
	ReplicaTargets []string
	// ReplicaTargetsCount is the number of replica targets.
	ReplicaTargetsCount int `json:"ReplicaTargets@odata.count"`
	// Status shall contain the status of the ConsistencyGroup.
	Status common.Status

	// VolumesCount is the number of volumes.
	VolumesCount int `json:"Volumes@odata.count"`
	// contains filtered or unexported fields
}

ConsistencyGroup A collection of volumes grouped together to ensure write order consistency across all those volumes. A management operation on a consistency group, such as configuring replication properties, applies to all the volumes within the consistency group.

func GetConsistencyGroup added in v0.18.0

func GetConsistencyGroup(c common.Client, uri string) (*ConsistencyGroup, error)

GetConsistencyGroup will get a ConsistencyGroup instance from the service.

func ListReferencedConsistencyGroups added in v0.18.0

func ListReferencedConsistencyGroups(c common.Client, link string) ([]*ConsistencyGroup, error)

ListReferencedConsistencyGroups gets the collection of ConsistencyGroup from a provided reference.

func (*ConsistencyGroup) AssignReplicaTarget added in v0.18.0

func (consistencygroup *ConsistencyGroup) AssignReplicaTarget(replicaType ReplicaType, updateMode ReplicaUpdateMode, targetGroupURI string) error

AssignReplicaTarget will establish a replication relationship by assigning an existing consistency group to serve as a target replica for an existing source consistency group.

`replicaType` is the type of replica relationship to be created (e.g., Clone, Mirror, Snap). `updateMode` is the replica update mode (synchronous vs asynchronous). `targetGroupURI` is the Uri to the existing consistency group.

func (*ConsistencyGroup) CreateReplicaTarget added in v0.18.0

func (consistencygroup *ConsistencyGroup) CreateReplicaTarget(groupName string, replicaType ReplicaType, updateMode ReplicaUpdateMode, targetGroupURI string) error

CreateReplicaTarget will create a new consistency group resource to provide expanded data protection through a replica relationship with the specified source consistency group.

`groupName` is the name for the target consistency group. `replicaType` is the type of replica relationship to be created (e.g., Clone, Mirror, Snap). `updateMode` is the replica update mode (synchronous vs asynchronous). `targetGroupURI` is the Uri to the existing consistency group.

func (*ConsistencyGroup) RemoveReplicaRelationship added in v0.18.0

func (consistencygroup *ConsistencyGroup) RemoveReplicaRelationship(deleteTarget bool, targetGroupURI string) error

RemoveReplicaRelationship will disable data synchronization between a source and target consistency group, remove the replication relationship, and optionally delete the target consistency group.

`deleteTarget` indicates whether or not to delete the target consistency group as part of the operation. `targetGroupURI` is the Uri to the existing consistency group.

func (*ConsistencyGroup) ResumeReplication added in v0.18.0

func (consistencygroup *ConsistencyGroup) ResumeReplication(targetGroupURI string) error

ResumeReplication will resume the active data synchronization between a source and target consistency group, without otherwise altering the replication relationship.

`targetGroupURI` is the Uri to the existing consistency group.

func (*ConsistencyGroup) ReverseReplicationRelationship added in v0.18.0

func (consistencygroup *ConsistencyGroup) ReverseReplicationRelationship(targetGroupURI string) error

ReverseReplicationRelationship will resume the active data synchronization between a source and target consistency group, without otherwise altering the replication relationship.

`targetGroupURI` is the Uri to the existing consistency group.

func (*ConsistencyGroup) SplitReplication added in v0.18.0

func (consistencygroup *ConsistencyGroup) SplitReplication(targetGroupURI string) error

SplitReplication will split the replication relationship and suspend data synchronization between a source and target consistency group.

`targetGroupURI` is the Uri to the existing consistency group.

func (*ConsistencyGroup) SuspendReplication added in v0.18.0

func (consistencygroup *ConsistencyGroup) SuspendReplication(targetGroupURI string) error

SuspendReplication will suspend active data synchronization between a source and target consistency group, without otherwise altering the replication relationship.

`targetGroupURI` is the Uri to the existing consistency group.

func (*ConsistencyGroup) UnmarshalJSON added in v0.18.0

func (consistencygroup *ConsistencyGroup) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a ConsistencyGroup object from the raw JSON.

func (*ConsistencyGroup) Update added in v0.18.0

func (consistencygroup *ConsistencyGroup) Update() error

Update commits updates to this object's properties to the running system.

func (*ConsistencyGroup) Volumes added in v0.18.0

func (consistencygroup *ConsistencyGroup) Volumes() ([]*Volume, error)

Volumes gets the volumes in this consistency group.

type ConsistencyState

type ConsistencyState string

ConsistencyState is used to describe the consistency type used by the source and its associated target group.

const (
	// ConsistentConsistencyState shall indicate that the source and target
	// shall be consistent.
	ConsistentConsistencyState ConsistencyState = "Consistent"
	// InconsistentConsistencyState shall indicate that the source and target
	// are not required to be consistent.
	InconsistentConsistencyState ConsistencyState = "Inconsistent"
)

type ConsistencyStatus

type ConsistencyStatus string

ConsistencyStatus is used to indicate the current status of consistency. Consistency may have been disabled or may be experiencing an error condition.

const (
	// ConsistentConsistencyStatus shall indicate that the source and target
	// are consistent.
	ConsistentConsistencyStatus ConsistencyStatus = "Consistent"
	// InProgressConsistencyStatus shall indicate that the source and target
	// are becoming consistent.
	InProgressConsistencyStatus ConsistencyStatus = "InProgress"
	// DisabledConsistencyStatus shall indicate that the source and target
	// have consistency disabled.
	DisabledConsistencyStatus ConsistencyStatus = "Disabled"
	// InErrorConsistencyStatus shall indicate that the source and target are
	// not consistent.
	InErrorConsistencyStatus ConsistencyStatus = "InError"
)

type ConsistencyType

type ConsistencyType string

ConsistencyType is used by the source and its associated target group.

const (
	// SequentiallyConsistentConsistencyType shall indicate that the source
	// and target shall be sequentially consistent.
	SequentiallyConsistentConsistencyType ConsistencyType = "SequentiallyConsistent"
)

type DHCHAPInformation added in v0.18.0

type DHCHAPInformation struct {
	// LocalDHCHAPAuthSecret shall be the local DHCHAP auth secret for DHCHAP authentication.
	LocalDHCHAPAuthSecret string
	// PeerDHCHAPAuthSecret shall be the peer DHCHAP auth secret for DHCHAP authentication.
	PeerDHCHAPAuthSecret string
}

DHCHAPInformation User name and password values for target and initiator endpoints when CHAP authentication is used.

type DataProtectionLineOfService

type DataProtectionLineOfService struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string
	// IsIsolated is True shall indicate that the replica is in a separate
	// fault domain from its source. The default value of this property is
	// false.
	IsIsolated bool
	// MinLifetime shall be an ISO 8601 duration that specifies
	// the minimum required lifetime of the replica. Note: The maximum number
	// of replicas can be determined using this value together with the
	// replicaSchedule.
	MinLifetime string
	// RecoveryGeographicObjective specifies the geographic scope of the failure
	// domain.
	RecoveryGeographicObjective FailureDomainScope
	// RecoveryPointObjectiveTime shall be an ISO 8601 duration that specifies
	// the maximum time over which source data may be lost on failure. In the
	// case that IsIsolated = false, failure of the domain is not a
	// consideration.
	RecoveryPointObjectiveTime string
	// RecoveryTimeObjective shall be an enumeration that
	// indicates the maximum time required to access an alternate replica. In
	// the case that IsIsolated = false, failure of the domain is not a
	// consideration.
	RecoveryTimeObjective RecoveryAccessScope
	// ReplicaAccessLocation is used if the data access location of the
	// replica is required to be at a specific location.   Note 1: The
	// location value may be granular.  Note 2: A value may be required for
	// some regulatory compliance.
	ReplicaAccessLocation common.Location
	// ReplicaClassOfService shall reference the class of
	// service that defines the required service levels of the replica.
	ReplicaClassOfService ClassOfService
	// ReplicaType is the type of replica.
	ReplicaType ReplicaType
	// Schedule if a replica is made periodically, the value shall define
	// the schedule.
	Schedule common.Schedule
}

DataProtectionLineOfService describes a replica that protects data from loss. The requirements must be met collectively by the communication path and the replica.

func GetDataProtectionLineOfService

func GetDataProtectionLineOfService(c common.Client, uri string) (*DataProtectionLineOfService, error)

GetDataProtectionLineOfService will get a DataProtectionLineOfService instance from the service.

func ListReferencedDataProtectionLineOfServices

func ListReferencedDataProtectionLineOfServices(c common.Client, link string) ([]*DataProtectionLineOfService, error)

ListReferencedDataProtectionLineOfServices gets the collection of DataProtectionLineOfService from a provided reference.

type DataProtectionLoSCapabilities

type DataProtectionLoSCapabilities struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string
	// Identifier shall be unique within the managed ecosystem.
	Identifier common.Identifier

	// SupportedLinesOfService@odata.count is
	SupportedLinesOfServiceCount int `json:"SupportedLinesOfService@odata.count"`
	// SupportedMinLifetimes each entry shall be an ISO 8601 duration that
	// specifies the minimum lifetime required for the replica.
	SupportedMinLifetimes []string
	// SupportedRecoveryGeographicObjectives each entry shall specify a
	// supported failure domain.
	SupportedRecoveryGeographicObjectives []FailureDomainScope
	// SupportedRecoveryPointObjectiveTimes each entry shall specify a supported
	// ISO 8601 time interval defining the maximum source information that may
	// be lost on failure. In the case that IsIsolated = false, failure of the
	// domain is not a consideration.
	SupportedRecoveryPointObjectiveTimes []string
	// SupportedRecoveryTimeObjectives each entry shall specify an enumerated
	// value that indicates a supported expectation for the time required to
	// access an alternate replica. In the case that IsIsolated = false, failure
	// of the domain is not a consideration.
	SupportedRecoveryTimeObjectives []RecoveryAccessScope
	// SupportedReplicaTypes each entry shall specify a supported replica type,
	SupportedReplicaTypes []ReplicaType
	// SupportsIsolated is A value of true shall indicate that allocating a
	// replica in a separate fault domain is supported. The default value for
	// this property is false.
	SupportsIsolated bool
	// SupportedReplicaOptionsCount is the number of supported replica options.
	SupportedReplicaOptionsCount int
	// contains filtered or unexported fields
}

DataProtectionLoSCapabilities is the capabilities to protect data from loss by the use of a replica. The requirements shall be met collectively by the communication path and the replica. There should be one instance associated to a class of service for each replica. Each replica independently should have a class of service that describes its characteristics.

func GetDataProtectionLoSCapabilities

func GetDataProtectionLoSCapabilities(c common.Client, uri string) (*DataProtectionLoSCapabilities, error)

GetDataProtectionLoSCapabilities will get a DataProtectionLoSCapabilities instance from the service.

func ListReferencedDataProtectionLoSCapabilities

func ListReferencedDataProtectionLoSCapabilities(c common.Client, link string) ([]*DataProtectionLoSCapabilities, error)

ListReferencedDataProtectionLoSCapabilities gets the collection of DataProtectionLoSCapabilities from a provided reference.

func (*DataProtectionLoSCapabilities) SupportedLinesOfService

func (dataprotectionloscapabilities *DataProtectionLoSCapabilities) SupportedLinesOfService() ([]*DataProtectionLineOfService, error)

SupportedLinesOfService gets the supported lines of service.

func (*DataProtectionLoSCapabilities) SupportedReplicaOptions

func (dataprotectionloscapabilities *DataProtectionLoSCapabilities) SupportedReplicaOptions() ([]*ClassOfService, error)

SupportedReplicaOptions gets the support replica ClassesOfService.

func (*DataProtectionLoSCapabilities) UnmarshalJSON

func (dataprotectionloscapabilities *DataProtectionLoSCapabilities) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a DataProtectionLoSCapabilities object from the raw JSON.

func (*DataProtectionLoSCapabilities) Update added in v0.5.0

func (dataprotectionloscapabilities *DataProtectionLoSCapabilities) Update() error

Update commits updates to this object's properties to the running system.

type DataSanitizationPolicy

type DataSanitizationPolicy string

DataSanitizationPolicy shall specify types of data sanitization policies.

const (
	// NoneDataSanitizationPolicy specifies no sanitization.
	NoneDataSanitizationPolicy DataSanitizationPolicy = "None"
	// ClearDataSanitizationPolicy specifies to
	// sanitize data in all user-addressable storage locations for protection
	// against simple non-invasive data recovery techniques.
	ClearDataSanitizationPolicy DataSanitizationPolicy = "Clear"
	// CryptographicEraseDataSanitizationPolicy This enumeration literal
	// specifies to leverages the encryption of target data by enabling
	// sanitization of the target data's encryption key. This leaves only the
	// ciphertext remaining on the media, effectively sanitizing the data by
	// preventing read-access. For more information, see NIST800-88 and
	// ISO/IEC 27040.
	CryptographicEraseDataSanitizationPolicy DataSanitizationPolicy = "CryptographicErase"
)

type DataSecurityLineOfService

type DataSecurityLineOfService struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// AntivirusEngineProvider shall specify an AntiVirus provider.
	AntivirusEngineProvider string
	// AntivirusScanPolicies shall specify the
	// policy for triggering an AntiVirus scan.
	AntivirusScanPolicies []AntiVirusScanTrigger
	// ChannelEncryptionStrength shall specify a key size in a symmetric
	// encryption algorithm for transport channel encryption.
	ChannelEncryptionStrength KeySize
	// DataSanitizationPolicy shall specify the data sanitization policy.
	DataSanitizationPolicy DataSanitizationPolicy
	// Description provides a description of this resource.
	Description string
	// HostAuthenticationType shall specify the
	// authentication type for hosts (servers) or initiator endpoints.
	HostAuthenticationType AuthenticationType
	// MediaEncryptionStrength shall specify a key
	// size in a symmetric encryption algorithm for media encryption.
	MediaEncryptionStrength KeySize
	// SecureChannelProtocol shall specify the
	// protocol that provide encrypted communication.
	SecureChannelProtocol SecureChannelProtocol
	// UserAuthenticationType shall specify the
	// authentication type for users (or programs).
	UserAuthenticationType AuthenticationType
}

DataSecurityLineOfService is used to describe data security service level requirements.

func GetDataSecurityLineOfService

func GetDataSecurityLineOfService(c common.Client, uri string) (*DataSecurityLineOfService, error)

GetDataSecurityLineOfService will get a DataSecurityLineOfService instance from the service.

func ListReferencedDataSecurityLineOfServices

func ListReferencedDataSecurityLineOfServices(c common.Client, link string) ([]*DataSecurityLineOfService, error)

ListReferencedDataSecurityLineOfServices gets the collection of DataSecurityLineOfService from a provided reference.

type DataSecurityLoSCapabilities

type DataSecurityLoSCapabilities struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string
	// Identifier shall be unique within the managed ecosystem.
	Identifier common.Identifier
	// SupportedAntivirusEngineProviders shall specify supported AntiVirus providers.
	SupportedAntivirusEngineProviders []string
	// SupportedAntivirusScanPolicies shall specify supported policies that
	// trigger an AntiVirus scan.
	SupportedAntivirusScanPolicies []AntiVirusScanTrigger
	// SupportedChannelEncryptionStrengths shall specify supported key sizes in
	// a symmetric encryption algorithm (AES) for transport channel encryption.
	SupportedChannelEncryptionStrengths []KeySize
	// SupportedDataSanitizationPolicies shall specify supported data
	// sanitization policies.
	SupportedDataSanitizationPolicies []DataSanitizationPolicy
	// SupportedHostAuthenticationTypes shall specify supported authentication
	// types for hosts (servers) or initiator endpoints.
	SupportedHostAuthenticationTypes []AuthenticationType
	// SupportedLinesOfService shall contain supported DataSecurity service options.
	SupportedLinesOfService []DataSecurityLineOfService
	// SupportedLinesOfServiceCount is the number of supported lines of service.
	SupportedLinesOfServiceCount int `json:"SupportedLinesOfService@odata.count"`
	// SupportedMediaEncryptionStrengths shall specify supported key sizes in a
	// symmetric encryption algorithm (AES) for media encryption.
	SupportedMediaEncryptionStrengths []KeySize
	// SupportedSecureChannelProtocols shall specify supported protocols that
	// provide encrypted communication.
	SupportedSecureChannelProtocols []SecureChannelProtocol
	// SupportedUserAuthenticationTypes shall specify supported authentication
	// types for users (or programs).
	SupportedUserAuthenticationTypes []AuthenticationType
}

DataSecurityLoSCapabilities is used to describe data security capabilities.

func GetDataSecurityLoSCapabilities

func GetDataSecurityLoSCapabilities(c common.Client, uri string) (*DataSecurityLoSCapabilities, error)

GetDataSecurityLoSCapabilities will get a DataSecurityLoSCapabilities instance from the service.

func ListReferencedDataSecurityLoSCapabilities

func ListReferencedDataSecurityLoSCapabilities(c common.Client, link string) ([]*DataSecurityLoSCapabilities, error)

ListReferencedDataSecurityLoSCapabilities gets the collection of DataSecurityLoSCapabilities from a provided reference.

type DataStorageLineOfService

type DataStorageLineOfService struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// AccessCapabilities is Each entry specifies a required storage access
	// capability.
	AccessCapabilities []StorageAccessCapability
	// Description provides a description of this resource.
	Description string
	// IsSpaceEfficient is A value of true shall indicate that the storage is
	// compressed or deduplicated. The default value for this property is
	// false.
	IsSpaceEfficient bool
	// Oem is The value of this string shall be of the format for the
	// reserved word *Oem*.
	OEM string `json:"Oem"`
	// ProvisioningPolicy is The enumeration literal shall define the
	// provisioning policy for storage.
	ProvisioningPolicy ProvisioningPolicy
	// RecoverableCapacitySourceCount is The value is minimum required number
	// of available capacity source resources that shall be available in the
	// event that an equivalent capacity source resource fails.  It is
	// assumed that drives and memory components can be replaced, repaired or
	// otherwise added to increase an associated resource's
	// RecoverableCapacitySourceCount.
	RecoverableCapacitySourceCount int
	// RecoveryTimeObjectives is The enumeration literal specifies the time
	// after a disaster that the client shall regain conformant service level
	// access to the primary store, typical values are 'immediate' or
	// 'offline'. The expectation is that the services required to implement
	// this capability are part of the advertising system.
	RecoveryTimeObjectives RecoveryAccessScope
	// contains filtered or unexported fields
}

DataStorageLineOfService is used to describe a service option covering storage provisioning and availability.

func GetDataStorageLineOfService

func GetDataStorageLineOfService(c common.Client, uri string) (*DataStorageLineOfService, error)

GetDataStorageLineOfService will get a DataStorageLineOfService instance from the service.

func ListReferencedDataStorageLineOfServices

func ListReferencedDataStorageLineOfServices(c common.Client, link string) ([]*DataStorageLineOfService, error)

ListReferencedDataStorageLineOfServices gets the collection of DataStorageLineOfService from a provided reference.

func (*DataStorageLineOfService) UnmarshalJSON

func (datastoragelineofservice *DataStorageLineOfService) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a DataStorageLineOfService object from the raw JSON.

func (*DataStorageLineOfService) Update added in v0.18.0

func (datastoragelineofservice *DataStorageLineOfService) Update() error

Update commits updates to this object's properties to the running system.

type DataStorageLoSCapabilities

type DataStorageLoSCapabilities struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string
	// Identifier shall be unique within the managed ecosystem.
	Identifier common.Identifier
	// MaximumRecoverableCapacitySourceCount is the maximum number of capacity
	// source resources that can be supported for the purpose of recovery when
	// in the event that an equivalent capacity source resource fails.
	MaximumRecoverableCapacitySourceCount int
	// SupportedAccessCapabilities specifies a storage access capabilities.
	SupportedAccessCapabilities []StorageAccessCapability
	// SupportedLinesOfService shall contain known and supported DataStorageLinesOfService.
	SupportedLinesOfService []DataStorageLineOfService
	// SupportedLinesOfServiceCount is
	SupportedLinesOfServiceCount int `json:"SupportedLinesOfService@odata.count"`
	// SupportedProvisioningPolicies specifies supported storage allocation policies.
	SupportedProvisioningPolicies []ProvisioningPolicy
	// SupportedRecoveryTimeObjectives specifies supported expectations for time
	// to access the primary store after recovery.
	SupportedRecoveryTimeObjectives []RecoveryAccessScope
	// SupportsSpaceEfficiency specifies whether storage compression or
	// deduplication is supported. The default value for this property is false.
	SupportsSpaceEfficiency bool
	// contains filtered or unexported fields
}

DataStorageLoSCapabilities describes capabilities of the system to support various data storage service options.

func GetDataStorageLoSCapabilities

func GetDataStorageLoSCapabilities(c common.Client, uri string) (*DataStorageLoSCapabilities, error)

GetDataStorageLoSCapabilities will get a DataStorageLoSCapabilities instance from the service.

func ListReferencedDataStorageLoSCapabilities

func ListReferencedDataStorageLoSCapabilities(c common.Client, link string) ([]*DataStorageLoSCapabilities, error)

ListReferencedDataStorageLoSCapabilities gets the collection of DataStorageLoSCapabilities from a provided reference.

func (*DataStorageLoSCapabilities) UnmarshalJSON added in v0.5.0

func (datastorageloscapabilities *DataStorageLoSCapabilities) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a DataStorageLoSCapabilities object from the raw JSON.

func (*DataStorageLoSCapabilities) Update added in v0.5.0

func (datastorageloscapabilities *DataStorageLoSCapabilities) Update() error

Update commits updates to this object's properties to the running system.

type DomainContents added in v0.18.0

type DomainContents struct {

	// ControllersCount is the number of controllers
	ControllersCount int `json:"Controllers@odata.count"`
	// Namespaces contains the current namespaces that are part of this domain. These can be IO, Admin, or discovery
	// controllers.
	Namespaces []Volume
	// NamespacesCount is the number of namespaces.
	NamespacesCount int `json:"Namespaces@odata.count"`
	// contains filtered or unexported fields
}

DomainContents shall contain properties that define the contents of the domain.

func (*DomainContents) UnmarshalJSON added in v0.18.0

func (domaincontents *DomainContents) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a DomainContents object from the raw JSON.

type EndGrpLifetime added in v0.18.0

type EndGrpLifetime struct {
	// DataUnitsRead shall contain the total number of data units read from this endurance group. This value does not
	// include controller reads due to internal operations such as garbage collection. The value is reported in
	// billions, where a value of 1 corresponds to 1 billion bytes written, and is rounded up. A value of zero
	// indicates the property is unsupported.
	DataUnitsRead int
	// DataUnitsWritten shall contain the total number of data units written from this endurance group. This value does
	// not include controller writes due to internal operations such as garbage collection. The value is reported in
	// billions, where a value of 1 corresponds to 1 billion bytes written, and is rounded up. A value of zero
	// indicates the property is unsupported.
	DataUnitsWritten int
	// EnduranceEstimate shall contain an estimate of the total number of data bytes that may be written to the
	// Endurance Group over the lifetime of the Endurance Group assuming a write amplication of 1. The value is
	// reported in billions, where a value of 1 corresponds to 1 billion bytes written, and is rounded up. A value of
	// zero indicates endurance estimates are unsupported.
	EnduranceEstimate int
	// ErrorInformationLogEntryCount shall contain the number of error information log entries over the life of the
	// controller for the endurance group.
	ErrorInformationLogEntryCount int
	// HostReadCommandCount shall contain the number of read commands completed by all controllers in the NVM subsystem
	// for the Endurance Group. For the NVM command set, the is the number of compare commands and read commands.
	HostReadCommandCount int
	// HostWriteCommandCount shall contain the number of write commands completed by all controllers in the NVM
	// subsystem for the Endurance Group. For the NVM command set, the is the number of compare commands and write
	// commands.
	HostWriteCommandCount int
	// MediaAndDataIntegrityErrorCount shall contain the number of occurrences where the controller detected an
	// unrecovered data integrity error for the Endurance Group. Errors such as uncorrectable ECC, CRC checksum
	// failure, or LBA tag mismatch are included in this field.
	MediaAndDataIntegrityErrorCount int
	// MediaUnitsWritten shall contain the total number of data units written from this endurance group. This value
	// includes host and controller writes due to internal operations such as garbage collection. The value is reported
	// in billions, where a value of 1 corresponds to 1 billion bytes written, and is rounded up. A value of zero
	// indicates the property is unsupported.
	MediaUnitsWritten int
	// PercentUsed shall contain a vendor-specific estimate of the percent life used for the endurance group based on
	// the actual usage and the manufacturer prediction of NVM life. A value of 100 indicates that the estimated
	// endurance of the NVM in the Endurance Group has been consumed, but may not indicate an NVM failure. According to
	// the NVMe and JEDEC specs, the value is allowed to exceed 100. Percentages greater than 254 shall be represented
	// as 255.
	PercentUsed int
}

EndGrpLifetime This contains properties for the Endurance Group Lifetime attributes.

type EndpointGroup

type EndpointGroup struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// AccessState is used for associated resources through all
	// aggregated endpoints shall share this access state.
	AccessState AccessState
	// Description provides a description of this resource.
	Description string

	// EndpointsCount is the number of Endpoints
	EndpointsCount int
	// GroupType contains only endpoints of a given type
	// Client/Initiator or Server/Target.  If this endpoint group represents
	// a SCSI target group, the value of GroupType shall be Server.
	GroupType GroupType
	// Identifier shall be unique within the managed ecosystem.
	Identifier common.Identifier
	// Preferred with a value of True shall indicate that
	// access to the associated resource through the endpoints in this
	// endpoint group is preferred over access through other endpoints. The
	// default value for this property is false.
	Preferred bool
	// TargetEndpointGroupIdentifier represents a
	// SCSI target group, the value of this property shall contain a SCSI
	// defined identifier for this group, which corresponds to the TARGET
	// PORT GROUP field in the REPORT TARGET PORT GROUPS response and the
	// TARGET PORT GROUP field in an INQUIRY VPD page 85 response, type 5h
	// identifier. See the INCITS SAM-5 specification.
	TargetEndpointGroupIdentifier int
	// contains filtered or unexported fields
}

EndpointGroup is a group of endpoints that shall be managed as a unit.

func GetEndpointGroup

func GetEndpointGroup(c common.Client, uri string) (*EndpointGroup, error)

GetEndpointGroup will get a EndpointGroup instance from the service.

func ListReferencedEndpointGroups

func ListReferencedEndpointGroups(c common.Client, link string) ([]*EndpointGroup, error)

ListReferencedEndpointGroups gets the collection of EndpointGroup from a provided reference.

func (*EndpointGroup) Endpoints

func (endpointgroup *EndpointGroup) Endpoints() ([]*redfish.Endpoint, error)

Endpoints gets the group's endpoints.

func (*EndpointGroup) UnmarshalJSON

func (endpointgroup *EndpointGroup) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a EndpointGroup object from the raw JSON.

func (*EndpointGroup) Update added in v0.5.0

func (endpointgroup *EndpointGroup) Update() error

Update commits updates to this object's properties to the running system.

type FailureDomainScope

type FailureDomainScope string

FailureDomainScope shall represent a geographic scope in which all components within that scope have similar vulnerabilities.

const (
	// ServerFailureDomainScope are components of a CPU/memory complex that share
	// the same infrastructure.
	ServerFailureDomainScope FailureDomainScope = "Server"
	// RackFailureDomainScope is a container within a datacenter that provides
	// communication, power, or cooling to a set of components.
	RackFailureDomainScope FailureDomainScope = "Rack"
	// RackGroupFailureDomainScope is a set of racks that may share common
	// communication, power, or cooling.
	RackGroupFailureDomainScope FailureDomainScope = "RackGroup"
	// RowFailureDomainScope is a set of adjacent racks or rackgroups that may
	// share common communication, power, or cooling.
	RowFailureDomainScope FailureDomainScope = "Row"
	// DatacenterFailureDomainScope is a facility that provides communication,
	// power, or cooling infrastructure to a co-located set of servers,
	// networking and storage.
	DatacenterFailureDomainScope FailureDomainScope = "Datacenter"
	// RegionFailureDomainScope is a set of resources that are required to be
	// either geographically or politically isolated from resources not in
	// the resources.
	RegionFailureDomainScope FailureDomainScope = "Region"
)

type FeaturesRegistry added in v0.18.0

type FeaturesRegistry struct {
	common.Entity
	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataEtag is the odata etag.
	ODataEtag string `json:"@odata.etag"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string
	// Features shall represent the suffix to be used in the FeatureId and shall be unique within this message
	// registry.
	Features []SupportedFeature
	// Language shall be a string consisting of an RFC 5646 language code.
	Language string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// OwningEntity shall be a string that represents the publisher of this registry.
	OwningEntity string
	// RegistryPrefix shall be the prefix used in IDs which uniquely identifies all of the Features in this registry as
	// belonging to this registry.
	RegistryPrefix string
	// RegistryVersion shall be the version of this message registry. The format of this string shall be of the format
	// majorversion.minorversion.errata.
	RegistryVersion string
}

FeaturesRegistry shall be used to represent a Feature registry for a Redfish implementation.

func GetFeaturesRegistry added in v0.18.0

func GetFeaturesRegistry(c common.Client, uri string) (*FeaturesRegistry, error)

GetFeaturesRegistry will get a FeaturesRegistry instance from the service.

func ListReferencedFeaturesRegistrys added in v0.18.0

func ListReferencedFeaturesRegistrys(c common.Client, link string) ([]*FeaturesRegistry, error)

ListReferencedFeaturesRegistrys gets the collection of FeaturesRegistry from a provided reference.

type FeaturesRegistryProperty added in v0.18.0

type FeaturesRegistryProperty struct {
}

FeaturesRegistryProperty shall represent the suffix to be used in the Feature and shall be unique within this registry.

type FileProtocol

type FileProtocol string

FileProtocol shall indicate the file sharing protocols supported by the file system. At least one value shall be present.

const (
	// NFSv3FileProtocol shall indicate that NFSv3, as defined in RFC 1813,
	// is supported by the file system.
	NFSv3FileProtocol FileProtocol = "NFSv3"
	// NFSv40FileProtocol shall indicate that NFSv4, as defined in RFC 7530,
	// is supported by the file system.
	NFSv40FileProtocol FileProtocol = "NFSv4_0"
	// NFSv41FileProtocol shall indicate that NFSv4.1, as defined in RFC
	// 5661, is supported by the file system.
	NFSv41FileProtocol FileProtocol = "NFSv4_1"
	// SMBv20FileProtocol shall indicate that Server Message Block version
	// 2.0 is supported by the file system.
	SMBv20FileProtocol FileProtocol = "SMBv2_0"
	// SMBv21FileProtocol shall indicate that Server Message Block version
	// 2.1 is supported by the file system.
	SMBv21FileProtocol FileProtocol = "SMBv2_1"
	// SMBv30FileProtocol shall indicate that Server Message Block version
	// 3.0 is supported by the file system.
	SMBv30FileProtocol FileProtocol = "SMBv3_0"
	// SMBv302FileProtocol shall indicate that Server Message Block version
	// 3.0.2 is supported by the file system.
	SMBv302FileProtocol FileProtocol = "SMBv3_0_2"
	// SMBv311FileProtocol shall indicate that Server Message Block version
	// 3.1.1 is supported by the file system.
	SMBv311FileProtocol FileProtocol = "SMBv3_1_1"
)

type FileShare

type FileShare struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// CASupported shall indicate that Continuous Availability is supported.
	// Client/Server mediated recovery from network and server failure with
	// application transparency. This property shall be NULL unless the
	// FileSharingProtocols property includes SMB. The default value for this
	// property is false.
	CASupported bool
	// DefaultAccessCapabilities shall be an array containing entries for the
	// default access capabilities for the file share. Each entry shall specify
	// a default access privilege. The types of default access can include Read,
	// Write, and/or Execute.
	DefaultAccessCapabilities []StorageAccessCapability
	// Description provides a description of this resource.
	Description string

	// ExecuteSupport shall indicate whether Execute access is supported by the
	// file share. The default value for this property is false.
	ExecuteSupport bool
	// FileSharePath shall be a path (relative to the file system root) to the
	// exported file or directory on the file system where this file share is
	// hosted.
	FileSharePath string
	// FileShareQuotaType value of Soft shall specify that quotas are not
	// enforced, and a value of Hard shall specify that writes shall fail if the
	// space consumed would exceed the value of the FileShareTotalQuotaBytes
	// property.
	FileShareQuotaType QuotaType
	// FileShareRemainingQuotaBytes value of this property shall indicate the
	// remaining number of bytes that may be consumed by this file share.
	FileShareRemainingQuotaBytes int64
	// FileShareTotalQuotaBytes value of this property shall indicate the
	// maximum number of bytes that may be consumed by this file share.
	FileShareTotalQuotaBytes int64
	// FileSharingProtocols is This property shall be an array containing
	// entries for the file sharing protocols supported by this file share.
	// Each entry shall specify a file sharing protocol supported by the file
	// system.
	FileSharingProtocols []FileProtocol
	// LowSpaceWarningThresholdPercents is This property shall be an array
	// containing entries for the percentages of file share capacity at which
	// low space warning events are be issued. A LOW_SPACE_THRESHOLD_WARNING
	// event shall be triggered each time the remaining file share capacity
	// value becomes less than one of the values in the array. The following
	// shall be true: Across all CapacitySources entries, percent =
	// (SUM(AllocatedBytes) - SUM(ConsumedBytes))/SUM(AllocatedBytes)
	LowSpaceWarningThresholdPercents []int
	// RemainingCapacityPercent is If present, this value shall return
	// {[(SUM(AllocatedBytes) - SUM(ConsumedBytes)]/SUM(AllocatedBytes)}*100
	// represented as an integer value.
	RemainingCapacityPercent int
	// ReplicationEnabled shall indicate whether or not replication is enabled
	// on the file share. This property shall be consistent with the state
	// reflected at the storage pool level.
	ReplicationEnabled bool
	// RootAccess shall indicate whether Root
	// access is allowed by the file share. The default value for this
	// property is false.
	RootAccess bool
	// Status is This value of this property shall indicate the status of the
	// file share.
	Status common.Status
	// WritePolicy shall define how writes are
	// replicated to the shared source.
	WritePolicy ReplicaUpdateMode
	// contains filtered or unexported fields
}

FileShare is used to represent a shared set of files with a common directory structure.

func GetFileShare

func GetFileShare(c common.Client, uri string) (*FileShare, error)

GetFileShare will get a FileShare instance from the service.

func ListReferencedFileShares

func ListReferencedFileShares(c common.Client, link string) ([]*FileShare, error)

ListReferencedFileShares gets the collection of FileShare from a provided reference.

func (*FileShare) ClassOfService

func (fileshare *FileShare) ClassOfService() (*ClassOfService, error)

ClassOfService gets the file share's class of service.

func (*FileShare) EthernetInterfaces

func (fileshare *FileShare) EthernetInterfaces() ([]*redfish.EthernetInterface, error)

EthernetInterfaces gets the EthernetInterfaces associated with this share.

func (*FileShare) FileSystem

func (fileshare *FileShare) FileSystem() (*FileSystem, error)

FileSystem gets the file share's associated file system.

func (*FileShare) UnmarshalJSON

func (fileshare *FileShare) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a FileShare object from the raw JSON.

func (*FileShare) Update added in v0.5.0

func (fileshare *FileShare) Update() error

Update commits updates to this object's properties to the running system.

type FileSystem

type FileSystem struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// AccessCapabilities shall be an array containing entries for the supported
	// IO access capabilities. Each entry shall specify a current storage access
	// capability.
	AccessCapabilities []StorageAccessCapability
	// BlockSizeBytes shall be the block size of the file system in bytes.
	BlockSizeBytes int64
	// Capacity shall be the capacity allocated to the file system in bytes.
	Capacity Capacity
	// CapacitySources shall be an array containing entries for all the capacity
	// sources for the file system. Each entry shall provide capacity allocation
	// information from a named resource.
	CapacitySources []CapacitySource
	// CapacitySourcesCount is the number of CapacitySource entries.
	CapacitySourcesCount int `json:"CapacitySources@odata.count"`
	// CasePreserved shall indicate that the case of file names is preserved by
	// the file system. A value of True shall indicate that case of file names
	// shall be preserved.
	CasePreserved bool
	// CaseSensitive shall indicate that case sensitive file names are supported
	// by the file system. A value of True shall indicate that file names are
	// case sensitive.
	CaseSensitive bool
	// CharacterCodeSet shall be an array containing entries for the character
	// sets or encodings supported by the file system. Each entry shall specify
	// a character set encoding supported by the file system.
	CharacterCodeSet []CharacterCodeSet
	// ClusterSizeBytes shall specify the minimum file allocation size imposed
	// by the file system. This minimum allocation size shall be the smallest
	// amount of storage allocated to a file by the file system. Under stress
	// conditions, the file system may allocate storage in amounts smaller than
	// this value.
	ClusterSizeBytes int
	// Description provides a description of this resource.
	Description string
	// Identifiers shall contain a list of all known durable names for this file
	// system.
	Identifiers []common.Identifier
	// IOStatistics shall represent IO statistics for this FileSystem.
	IOStatistics IOStatistics
	// LowSpaceWarningThresholdPercents shall be an array containing entries for
	// the percentages of file system capacity at which low space warning events
	// are be issued. A LOW_SPACE_THRESHOLD_WARNING event shall be triggered
	// each time the remaining file system capacity value becomes less than one
	// of the values in the array. The following shall be true: Across all
	// CapacitySources entries, percent = (SUM(AllocatedBytes) -
	// SUM(ConsumedBytes))/SUM(AllocatedBytes)
	LowSpaceWarningThresholdPercents []int
	// MaxFileNameLengthBytes shall specify the maximum length of a file name
	// within the file system.
	MaxFileNameLengthBytes int64

	// RecoverableCapacitySourceCount is the number of available capacity source
	// resources currently available in the event that an equivalent capacity
	// source resource fails.
	RecoverableCapacitySourceCount int
	// RemainingCapacityPercent is If present, this value shall return
	// {[(SUM(AllocatedBytes) - SUM(ConsumedBytes)]/SUM(AllocatedBytes)}*100
	// represented as an integer value.
	RemainingCapacityPercent int
	// ReplicaInfo if this file system is a replica, this value shall
	// describe its replication attributes. This value shall not be present
	// if this file system is not a replica. A file system may be both a
	// source and a replica.
	ReplicaInfo ReplicaInfo
	// ReplicaTargetCount is the number of replica targets.
	ReplicaTargetsCount int `json:"ReplicaTargets@odata.count"`

	// ReplicaCollectionCount is the number of replica collections.
	ReplicaCollectionCount int

	// SpareResourceSetsCount is the number of spare resource sets.
	SpareResourceSetsCount int
	// contains filtered or unexported fields
}

FileSystem is used to represent an instance of a hierarchical namespace of files.

func GetFileSystem

func GetFileSystem(c common.Client, uri string) (*FileSystem, error)

GetFileSystem will get a FileSystem instance from the service.

func ListReferencedFileSystems

func ListReferencedFileSystems(c common.Client, link string) ([]*FileSystem, error)

ListReferencedFileSystems gets the collection of FileSystem from a provided reference.

func (*FileSystem) ClassOfService

func (filesystem *FileSystem) ClassOfService() (*ClassOfService, error)

ClassOfService gets the filesystem's class of service.

func (*FileSystem) ExportedShares

func (filesystem *FileSystem) ExportedShares() ([]*FileShare, error)

ExportedShares gets the exported file shares for this file system.

func (*FileSystem) Metrics added in v0.18.0

func (filesystem *FileSystem) Metrics() (*FileSystemMetrics, error)

Metrics gets the filesystem metrics.

func (*FileSystem) SpareResourceSets

func (filesystem *FileSystem) SpareResourceSets() ([]*SpareResourceSet, error)

SpareResourceSets gets the spare resource sets used for this filesystem.

func (*FileSystem) UnmarshalJSON

func (filesystem *FileSystem) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a FileSystem object from the raw JSON.

func (*FileSystem) Update added in v0.5.0

func (filesystem *FileSystem) Update() error

Update commits updates to this object's properties to the running system.

type FileSystemMetrics added in v0.18.0

type FileSystemMetrics struct {
	common.Entity
	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataEtag is the odata etag.
	ODataEtag string `json:"@odata.etag"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string
	// IOStatistics shall represent IO statistics for this file system.
	IOStatistics IOStatistics
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
}

FileSystemMetrics shall contain the usage and health statistics for a file system in a Redfish implementation.

func GetFileSystemMetrics added in v0.18.0

func GetFileSystemMetrics(c common.Client, uri string) (*FileSystemMetrics, error)

GetFileSystemMetrics will get a FileSystemMetrics instance from the service.

func ListReferencedFileSystemMetricss added in v0.18.0

func ListReferencedFileSystemMetricss(c common.Client, link string) ([]*FileSystemMetrics, error)

ListReferencedFileSystemMetricss gets the collection of FileSystemMetrics from a provided reference.

type FileSystemPersistenceType

type FileSystemPersistenceType string

FileSystemPersistenceType shall indicate the persistence characteristics of the file system.

const (
	// PersistentFileSystemPersistenceType shall indicate that the file
	// system is persistent, and shall be preserved through an orderly
	// shutdown.
	PersistentFileSystemPersistenceType FileSystemPersistenceType = "Persistent"
	// TemporaryFileSystemPersistenceType shall indicate that the file system
	// is non-persistent and may not survive a shutdown.
	TemporaryFileSystemPersistenceType FileSystemPersistenceType = "Temporary"
	// OtherFileSystemPersistenceType shall indicate that the persistence
	// type is known, but not defined by this standard. Use of this value is
	// not recommended.
	OtherFileSystemPersistenceType FileSystemPersistenceType = "Other"
)

type GroupType

type GroupType string

GroupType is the type of endpoint grouping.

const (
	// ClientGroupType The group contains the client (initiator) endpoints.
	ClientGroupType GroupType = "Client"
	// ServerGroupType The group contains the server (target) endpoints.
	ServerGroupType GroupType = "Server"
)

type IOAccessPattern

type IOAccessPattern string

IOAccessPattern is used to specify an IO access pattern.

const (
	// ReadWriteIOAccessPattern shall indicate a Uniform distribution of
	// reads and writes.
	ReadWriteIOAccessPattern IOAccessPattern = "ReadWrite"
	// SequentialReadIOAccessPattern shall indicate a sequential read pattern
	// of access.
	SequentialReadIOAccessPattern IOAccessPattern = "SequentialRead"
	// SequentialWriteIOAccessPattern shall indicate a sequential write
	// pattern of access.
	SequentialWriteIOAccessPattern IOAccessPattern = "SequentialWrite"
	// RandomReadNewIOAccessPattern shall indicate an access pattern of
	// random reads of uncached data.
	RandomReadNewIOAccessPattern IOAccessPattern = "RandomReadNew"
	// RandomReadAgainIOAccessPattern shall indicate an access pattern of
	// random reads of cached data.
	RandomReadAgainIOAccessPattern IOAccessPattern = "RandomReadAgain"
)

type IOConnectivityLineOfService

type IOConnectivityLineOfService struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// AccessProtocols shall specify the Access protocol for this service
	// option. NOTE: If multiple protocols are specified,  the corresponding
	// MaxSupportedIOPS governs the max achieved across all protocol uses. This
	// may be less than the sum of the individual max values, which may be
	// specified by individual Line of Service entries.
	AccessProtocols []common.Protocol
	// Description provides a description of this resource.
	Description string
	// MaxBytesPerSecond shall be the maximum bytes per second that a connection
	// can support.
	MaxBytesPerSecond int64
	// MaxIOPS shall be the maximum IOs per second that the connection shall
	// allow for the selected access protocol.
	MaxIOPS int
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// contains filtered or unexported fields
}

IOConnectivityLineOfService is used to specify the characteristics of storage connectivity.

func GetIOConnectivityLineOfService

func GetIOConnectivityLineOfService(c common.Client, uri string) (*IOConnectivityLineOfService, error)

GetIOConnectivityLineOfService will get a IOConnectivityLineOfService instance from the service.

func ListReferencedIOConnectivityLineOfServices

func ListReferencedIOConnectivityLineOfServices(c common.Client, link string) ([]*IOConnectivityLineOfService, error)

ListReferencedIOConnectivityLineOfServices gets the collection of IOConnectivityLineOfService from a provided reference.

func (*IOConnectivityLineOfService) UnmarshalJSON added in v0.18.0

func (ioconnectivitylineofservice *IOConnectivityLineOfService) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a IOConnectivityLineOfService object from the raw JSON.

func (*IOConnectivityLineOfService) Update added in v0.18.0

func (ioconnectivitylineofservice *IOConnectivityLineOfService) Update() error

Update commits updates to this object's properties to the running system.

type IOConnectivityLoSCapabilities

type IOConnectivityLoSCapabilities struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string
	// Identifier shall be unique within the managed ecosystem.
	Identifier common.Identifier
	// MaxSupportedBytesPerSecond shall be the maximum bytes per second that a
	// connection can support.
	MaxSupportedBytesPerSecond int64
	// MaxSupportedIOPS shall be the maximum IOPS that a connection can support.
	MaxSupportedIOPS int
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// SupportedAccessProtocols is Access protocols supported by this service
	// option. NOTE: SMB+NFS* requires that SMB and at least one of NFSv3 or
	// NFXv4 are also selected, (i.e. {'SMB', 'NFSv4', 'SMB+NFS*'}).
	SupportedAccessProtocols []common.Protocol
	// SupportedLinesOfService shall contain known and
	// supported IOConnectivityLinesOfService.
	SupportedLinesOfService []IOConnectivityLineOfService
	// SupportedLinesOfServiceCount is the number of IOConnectivityLineOfServices.
	SupportedLinesOfServiceCount int `json:"SupportedLinesOfService@odata.count"`
	// contains filtered or unexported fields
}

IOConnectivityLoSCapabilities describes capabilities of the system to support various IO Connectivity service options.

func GetIOConnectivityLoSCapabilities

func GetIOConnectivityLoSCapabilities(c common.Client, uri string) (*IOConnectivityLoSCapabilities, error)

GetIOConnectivityLoSCapabilities will get a IOConnectivityLoSCapabilities instance from the service.

func ListReferencedIOConnectivityLoSCapabilitiess

func ListReferencedIOConnectivityLoSCapabilitiess(c common.Client, link string) ([]*IOConnectivityLoSCapabilities, error)

ListReferencedIOConnectivityLoSCapabilitiess gets the collection of IOConnectivityLoSCapabilities from a provided reference.

func (*IOConnectivityLoSCapabilities) UnmarshalJSON added in v0.5.0

func (ioconnectivityloscapabilities *IOConnectivityLoSCapabilities) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a IOConnectivityLoSCapabilities object from the raw JSON.

func (*IOConnectivityLoSCapabilities) Update added in v0.5.0

func (ioconnectivityloscapabilities *IOConnectivityLoSCapabilities) Update() error

Update commits updates to this object's properties to the running system.

type IOPerformanceLineOfService

type IOPerformanceLineOfService struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// AverageIOOperationLatencyMicroseconds shall be the expected average IO
	// latency in microseconds calculated over sample periods (see
	// SamplePeriodSeconds).
	AverageIOOperationLatencyMicroseconds int
	// Description provides a description of this resource.
	Description string
	// IOOperationsPerSecondIsLimited means if true, the system should not allow
	// IOPS to exceed MaxIoOperationsPerSecondPerTerabyte * VolumeSize.
	// Otherwise, the system shall not enforce a limit. The default value
	// for this property is false.
	IOOperationsPerSecondIsLimited bool
	// IOWorkload shall be a description of the expected
	// workload. The workload provides the context in which the values of
	// MaxIOOperationsPerSecondPerTerabyte and
	// AverageIOOperationLatencyMicroseconds are expected to be achievable.
	IOWorkload IOWorkload
	// MaxIOOperationsPerSecondPerTerabyte shall be the amount
	// of IOPS a volume of a given committed size in Terabytes can support.
	// This IOPS density value is useful as a metric that is independent of
	// capacity. Cost is a function of this value and the
	// AverageIOOperationLatencyMicroseconds.
	MaxIOOperationsPerSecondPerTerabyte int
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// SamplePeriod shall be an ISO 8601 duration specifying the
	// sampling period over which average values are calculated.
	SamplePeriod string
	// contains filtered or unexported fields
}

IOPerformanceLineOfService is used to define a service option related to IO performance.

func GetIOPerformanceLineOfService

func GetIOPerformanceLineOfService(c common.Client, uri string) (*IOPerformanceLineOfService, error)

GetIOPerformanceLineOfService will get a IOPerformanceLineOfService instance from the service.

func ListReferencedIOPerformanceLineOfServices

func ListReferencedIOPerformanceLineOfServices(c common.Client, link string) ([]*IOPerformanceLineOfService, error)

ListReferencedIOPerformanceLineOfServices gets the collection of IOPerformanceLineOfService from a provided reference.

func (*IOPerformanceLineOfService) UnmarshalJSON added in v0.18.0

func (ioperformancelineofservice *IOPerformanceLineOfService) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a IOPerformanceLineOfService object from the raw JSON.

func (*IOPerformanceLineOfService) Update added in v0.18.0

func (ioperformancelineofservice *IOPerformanceLineOfService) Update() error

Update commits updates to this object's properties to the running system.

type IOPerformanceLoSCapabilities

type IOPerformanceLoSCapabilities struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string
	// IOLimitingIsSupported if true, the system should limit IOPS to
	// MaxIOOperationsPerSecondPerTerabyte * (Volume Size in Terabytes).
	// Otherwise, the system shall not enforce a limit. The default value for
	// this property is false.
	IOLimitingIsSupported bool
	// Identifier shall be unique within the managed ecosystem.
	Identifier common.Identifier
	// MaxSamplePeriod shall be an ISO 8601 duration specifying the maximum
	// sampling period over which average values are calculated.
	MaxSamplePeriod string
	// MinSamplePeriod shall be an ISO 8601 duration specifying the minimum
	// sampling period over which average values are calculated.
	MinSamplePeriod string
	// MinSupportedIoOperationLatencyMicroseconds shall be the minimum supported
	// average IO latency in microseconds calculated over the SamplePeriod
	MinSupportedIoOperationLatencyMicroseconds int
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// SupportedIOWorkloads shall be a collection of supported workloads.
	SupportedIOWorkloads []IOWorkload
	// SupportedLinesOfService shall be a collection of supported IO performance
	// service options.
	SupportedLinesOfService []IOPerformanceLineOfService
	// SupportedLinesOfServiceCount is
	SupportedLinesOfServiceCount int `json:"SupportedLinesOfService@odata.count"`
	// contains filtered or unexported fields
}

IOPerformanceLoSCapabilities shall describe the capabilities of the system to support various IO performance service options.

func GetIOPerformanceLoSCapabilities

func GetIOPerformanceLoSCapabilities(c common.Client, uri string) (*IOPerformanceLoSCapabilities, error)

GetIOPerformanceLoSCapabilities will get a IOPerformanceLoSCapabilities instance from the service.

func ListReferencedIOPerformanceLoSCapabilitiess

func ListReferencedIOPerformanceLoSCapabilitiess(c common.Client, link string) ([]*IOPerformanceLoSCapabilities, error)

ListReferencedIOPerformanceLoSCapabilitiess gets the collection of IOPerformanceLoSCapabilities from a provided reference.

func (*IOPerformanceLoSCapabilities) UnmarshalJSON added in v0.5.0

func (ioperformanceloscapabilities *IOPerformanceLoSCapabilities) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a IOPerformanceLoSCapabilities object from the raw JSON.

func (*IOPerformanceLoSCapabilities) Update added in v0.5.0

func (ioperformanceloscapabilities *IOPerformanceLoSCapabilities) Update() error

Update commits updates to this object's properties to the running system.

type IOStatistics

type IOStatistics struct {
	// NonIORequestTime shall be an ISO 8601 conformant duration describing the
	// time that the resource is busy processing non IO requests.
	NonIORequestTime string
	// NonIORequests shall represent the total count from the time of last reset
	// or wrap of non IO requests.
	NonIORequests int64
	// ReadHitIORequests shall represent the total count from the time of last
	// reset or wrap of read IO requests satisfied from memory.
	ReadHitIORequests int64
	// ReadIOKiBytes shall represent the total number of kibibytes read from the
	// time of last reset or wrap.
	ReadIOKiBytes int64
	// ReadIORequestTime shall be an ISO 8601 conformant duration describing the
	// time that the resource is busy processing read requests.
	ReadIORequestTime string
	// ReadIORequests shall represent the total count from the time of last
	// reset or wrap of read IO requests satisfied from either media or memory
	// (i.e. from a storage device or from a cache).
	ReadIORequests int64
	// WriteHitIORequests shall represent the total count from the time of last
	// reset or wrap of write IO requests coalesced into memory.
	WriteHitIORequests int64
	// WriteIOKiBytes shall represent the total number of kibibytes written from
	// the time of last reset or wrap.
	WriteIOKiBytes int64
	// WriteIORequestTime shall be an ISO 8601 conformant duration describing
	// the time that the resource is busy processing write requests.
	WriteIORequestTime string
	// WriteIORequests shall represent the total count from the time of last
	// reset or wrap of write IO requests.
	WriteIORequests int64
}

IOStatistics is used to represent the IO statistics of the requested object.

type IOWorkload

type IOWorkload struct {
	// Components shall be an array of IO workload component
	// descriptions.
	Components []IOWorkloadComponent
}

IOWorkload is used to describe an IO Workload.

type IOWorkloadComponent

type IOWorkloadComponent struct {
	// AverageIOBytes shall be the expected average I/O size.
	AverageIOBytes int
	// Duration is The value of each entry shall be an ISO 8601 duration that
	// shall specify the expected length of time that this component is
	// applied to the workload. This attribute shall be specified if a
	// schedule is specified and otherwise shall not be specified.
	Duration string
	// IOAccessPattern is The enumeration literal shall be the expected
	// access pattern.
	IOAccessPattern IOAccessPattern
	// PercentOfData shall be the expected percent of the data
	// referenced by the workload that is covered by this component.
	PercentOfData int
	// PercentOfIOPS shall be the expected percent of the total
	// IOPS for this workload that is covered by this component
	PercentOfIOPS int
	// Schedule shall specifies when this workload component is
	// applied to the overall workload.
	Schedule common.Schedule
}

IOWorkloadComponent is used to describe a component of an IO workload.

type InitializeMethod added in v0.18.0

type InitializeMethod string
const (
	// BackgroundInitializeMethod means the volume will be available for use immediately, with data erasure and preparation to happen as background tasks.
	BackgroundInitializeMethod InitializeMethod = "Background"
	// ForegroundInitializeMethod means data erasure and preparation tasks will complete before the volume is presented as available for use.
	ForegroundInitializeMethod InitializeMethod = "Foreground"
	// SkipInitializeMethod means the volume will be available for use immediately, with no preparation.
	SkipInitializeMethod InitializeMethod = "Skip"
)

type InitializeType

type InitializeType string

InitializeType is

const (

	// FastInitializeType The volume is prepared for use quickly, typically
	// by erasing just the beginning and end of the space so that
	// partitioning can be performed.
	FastInitializeType InitializeType = "Fast"
	// SlowInitializeType The volume is prepared for use slowly, typically by
	// completely erasing the volume.
	SlowInitializeType InitializeType = "Slow"
)

type KeySize

type KeySize string

KeySize shall specify Key sizes in a symmetric encryption algorithm, (see NIST SP 800-57 part 1 ( http:/csrc.nist.gov/publications/nistpubs/800-57/sp800-57_part1_rev3_general.pdf)

const (
	// Bits0KeySize specifies that there is no key.
	Bits0KeySize KeySize = "Bits_0"
	// Bits112KeySize specifies a 3DES 112 bit key.
	Bits112KeySize KeySize = "Bits_112"
	// Bits128KeySize specifies an AES 128 bit key.
	Bits128KeySize KeySize = "Bits_128"
	// Bits192KeySize specifies an AES 192 bit key.
	Bits192KeySize KeySize = "Bits_192"
	// Bits256KeySize specifies an AES 256 bit key.
	Bits256KeySize KeySize = "Bits_256"
)

type LBAFormat added in v0.18.0

type LBAFormat struct {
	// LBADataSizeBytes shall be the LBA data size reported in bytes.
	LBADataSizeBytes int
	// LBAFormatType shall be the LBA format type. This property is intended for capabilities instrumentation.
	LBAFormatType LBAFormatType
	// LBAMetadataSizeBytes shall be the LBA metadata size reported in bytes.
	LBAMetadataSizeBytes int
	// RelativePerformance shall be the LBA Relative Performance type. This field indicates the relative performance of
	// the LBA format indicated relative to other LBA formats supported by the controller. This property is intended
	// for capabilities instrumentation.
	RelativePerformance LBARelativePerformanceType
}

type LBAFormatType added in v0.18.0

type LBAFormatType string
const (
	// LBAFormat0LBAFormatType indicates the LBA data size supported.
	LBAFormat0LBAFormatType LBAFormatType = "LBAFormat0"
	// LBAFormat1LBAFormatType indicates the LBA data size supported.
	LBAFormat1LBAFormatType LBAFormatType = "LBAFormat1"
	// LBAFormat10LBAFormatType indicates the LBA data size supported.
	LBAFormat10LBAFormatType LBAFormatType = "LBAFormat10"
	// LBAFormat11LBAFormatType indicates the LBA data size supported.
	LBAFormat11LBAFormatType LBAFormatType = "LBAFormat11"
	// LBAFormat12LBAFormatType indicates the LBA data size supported.
	LBAFormat12LBAFormatType LBAFormatType = "LBAFormat12"
	// LBAFormat13LBAFormatType indicates the LBA data size supported.
	LBAFormat13LBAFormatType LBAFormatType = "LBAFormat13"
	// LBAFormat14LBAFormatType indicates the LBA data size supported.
	LBAFormat14LBAFormatType LBAFormatType = "LBAFormat14"
	// LBAFormat15LBAFormatType indicates the LBA data size supported.
	LBAFormat15LBAFormatType LBAFormatType = "LBAFormat15"
	// LBAFormat2LBAFormatType indicates the LBA data size supported.
	LBAFormat2LBAFormatType LBAFormatType = "LBAFormat2"
	// LBAFormat3LBAFormatType indicates the LBA data size supported.
	LBAFormat3LBAFormatType LBAFormatType = "LBAFormat3"
	// LBAFormat4LBAFormatType indicates the LBA data size supported.
	LBAFormat4LBAFormatType LBAFormatType = "LBAFormat4"
	// LBAFormat5LBAFormatType indicates the LBA data size supported.
	LBAFormat5LBAFormatType LBAFormatType = "LBAFormat5"
	// LBAFormat6LBAFormatType indicates the LBA data size supported.
	LBAFormat6LBAFormatType LBAFormatType = "LBAFormat6"
	// LBAFormat7LBAFormatType indicates the LBA data size supported.
	LBAFormat7LBAFormatType LBAFormatType = "LBAFormat7"
	// LBAFormat8LBAFormatType indicates the LBA data size supported.
	LBAFormat8LBAFormatType LBAFormatType = "LBAFormat8"
	// LBAFormat9LBAFormatType indicates the LBA data size supported.
	LBAFormat9LBAFormatType LBAFormatType = "LBAFormat9"
)

type LBARelativePerformanceType added in v0.18.0

type LBARelativePerformanceType string
const (
	// BestLBARelativePerformanceType indicates the best performance.
	BestLBARelativePerformanceType LBARelativePerformanceType = "Best"
	// BetterLBARelativePerformanceType indicates the bestbetter performance.
	BetterLBARelativePerformanceType LBARelativePerformanceType = "Better"
	// DegradedLBARelativePerformanceType indicates degraded performance.
	DegradedLBARelativePerformanceType LBARelativePerformanceType = "Degraded"
	// GoodLBARelativePerformanceType indicates good performance.
	GoodLBARelativePerformanceType LBARelativePerformanceType = "Good"
)

type LineOfService added in v0.18.0

type LineOfService struct {
	common.Entity
	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataEtag is the odata etag.
	ODataEtag string `json:"@odata.etag"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
}

LineOfService This service option is the abstract base class for other ClassOfService and concrete lines of service.

func GetLineOfService added in v0.18.0

func GetLineOfService(c common.Client, uri string) (*LineOfService, error)

GetLineOfService will get a LineOfService instance from the service.

func ListReferencedLineOfServices added in v0.18.0

func ListReferencedLineOfServices(c common.Client, link string) ([]*LineOfService, error)

ListReferencedLineOfServices gets the collection of LineOfService from a provided reference.

type MappedVolume

type MappedVolume struct {
	// LogicalUnitNumber is the value is a SCSI Logical Unit Number for the Volume.
	LogicalUnitNumber int
	// Volume shall reference a mapped Volume.
	Volume common.Link
}

MappedVolume is an exposed volume mapping.

type NVMeDeviceType added in v0.18.0

type NVMeDeviceType string

NVMeDeviceType is the type of NVMe device.

const (
	// DriveNVMeDeviceType specifies a device type of Drive, indicating a NVMe device that presents as an NVMe SSD device.
	DriveNVMeDeviceType NVMeDeviceType = "Drive"
	// FabricAttachArrayNVMeDeviceType specifies an NVMe device type of FabricAttachArray,
	// indicating a NVMe device that presents an NVMe front-end that abstracts the back end
	// storage, typically with multiple options for availability and protection.
	FabricAttachArrayNVMeDeviceType NVMeDeviceType = "FabricAttachArray"
	// JBOFNVMeDeviceType specifies a device type of JBOF, indicating a NVMe device that
	// presents as an NVMe smart enclosure for NVMe devices, typically NVMe Drives.
	JBOFNVMeDeviceType NVMeDeviceType = "JBOF"
)

type NVMeDomain added in v0.18.0

type NVMeDomain struct {
	common.Entity
	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataEtag is the odata etag.
	ODataEtag string `json:"@odata.etag"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// ANAGroupID shall contain the ANA group id which applies to all namespaces within the domain. This corresponds to
	// the value in the ANAGroupID field in volume.
	ANAGroupID float64
	// AvailableFirmwareImages is a collection of available firmware images.
	AvailableFirmwareImages []NVMeFirmwareImage
	// AvailableFirmwareImagesCount is the number of available firmware images.
	AvailableFirmwareImagesCount int `json:"AvailableFirmwareImages@odata.count"`
	// Description provides a description of this resource.
	Description string
	// DomainContents shall contain the members of the domain.
	DomainContents DomainContents

	// DomainMembers@odata.count
	DomainMembersCount int `json:"DomainMembers@odata.count"`

	// FirmwareImagesCount is the number of firmware images.
	FirmwareImagesCount int `json:"FirmwareImages@odata.count"`
	// MaxNamespacesSupportedPerController shall contain the maximum number of namespace attachments supported in this
	// NVMe Domain. If there are no limits imposed, this property should not be implemented.
	MaxNamespacesSupportedPerController float64
	// MaximumCapacityPerEnduranceGroupBytes shall contain the maximum capacity per endurance group in bytes of this
	// NVMe Domain.
	MaximumCapacityPerEnduranceGroupBytes int
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// TotalDomainCapacityBytes shall contain the total capacity in bytes of this NVMe Domain.
	TotalDomainCapacityBytes int64
	// UnallocatedDomainCapacityBytes shall contain the total unallocated capacity in bytes of this NVMe Domain.
	UnallocatedDomainCapacityBytes int64

	// AssociatedDomainsCount is the number of associated domains.
	AssociatedDomainsCount int
	// contains filtered or unexported fields
}

NVMeDomain Properties for the Domain.

func GetNVMeDomain added in v0.18.0

func GetNVMeDomain(c common.Client, uri string) (*NVMeDomain, error)

GetNVMeDomain will get a NVMeDomain instance from the service.

func ListReferencedNVMeDomains added in v0.18.0

func ListReferencedNVMeDomains(c common.Client, link string) ([]*NVMeDomain, error)

ListReferencedNVMeDomains gets the collection of NVMeDomain from a provided reference.

func (*NVMeDomain) AssociatedDomains added in v0.18.0

func (nvmedomain *NVMeDomain) AssociatedDomains() ([]*NVMeDomain, error)

AssociatedDomains gets the NVMeDomains associated with this domain.

func (*NVMeDomain) UnmarshalJSON added in v0.18.0

func (nvmedomain *NVMeDomain) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a NVMeDomain object from the raw JSON.

func (*NVMeDomain) Update added in v0.18.0

func (nvmedomain *NVMeDomain) Update() error

Update commits updates to this object's properties to the running system.

type NVMeEnduranceGroupProperties added in v0.18.0

type NVMeEnduranceGroupProperties struct {
	// EndGrpLifetime shall contain any Endurance Group Lifetime properties.
	EndGrpLifetime EndGrpLifetime
	// PredictedMediaLifeLeftPercent shall contain an indicator of the percentage of life remaining in the drive's
	// media.
	PredictedMediaLifeLeftPercent float64
}

NVMeEnduranceGroupProperties contains properties to use when StoragePool is used to describe an NVMe Endurance Group.

type NVMeFirmwareImage added in v0.18.0

type NVMeFirmwareImage struct {
	common.Entity
	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataEtag is the odata etag.
	ODataEtag string `json:"@odata.etag"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string
	// FirmwareVersion shall contain the firmware version of the available NVMe firmware image.
	FirmwareVersion string
	// NVMeDeviceType shall specify the type of NVMe device for this NVMe firmware image.
	NVMeDeviceType NVMeDeviceType
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// Vendor shall include the name of the manufacturer or vendor associate with this NVMe firmware image.
	Vendor string
}

NVMeFirmwareImage NVMe Domain firmware image information.

func GetNVMeFirmwareImage added in v0.18.0

func GetNVMeFirmwareImage(c common.Client, uri string) (*NVMeFirmwareImage, error)

GetNVMeFirmwareImage will get a NVMeFirmwareImage instance from the service.

func ListReferencedNVMeFirmwareImages added in v0.18.0

func ListReferencedNVMeFirmwareImages(c common.Client, link string) ([]*NVMeFirmwareImage, error)

ListReferencedNVMeFirmwareImages gets the collection of NVMeFirmwareImage from a provided reference.

type NVMeNamespaceProperties added in v0.18.0

type NVMeNamespaceProperties struct {
	// FormattedLBASize shall contain the LBA data size and metadata size combination that the namespace has been
	// formatted with. This is a 4-bit data structure.
	FormattedLBASize string
	// IsShareable shall indicate whether the namespace is shareable.
	IsShareable bool
	// LBAFormat shall describe the current LBA format ID and corresponding detailed properties, such as the LBA data
	// size and metadata size. Use the LBAFormats property to describe namespace capabilities in a collection
	// capabilities annotation.
	LBAFormat LBAFormat
	// LBAFormats shall describe the LBA format IDs and corresponding detailed properties, such as the LBA data size
	// and metadata size. This property is intended for use in a collection capabilities annotation. Use the LBAFormat
	// property on an instance of a namespace.
	LBAFormats []LBAFormat
	// LBAFormatsSupported shall be a list of the LBA formats supported for the namespace, or potential namespaces.
	LBAFormatsSupported []LBAFormatType
	// MetadataTransferredAtEndOfDataLBA shall indicate whether or not the metadata is transferred at the end of the
	// LBA creating an extended data LBA.
	MetadataTransferredAtEndOfDataLBA bool
	// NVMeVersion shall contain the version of the NVMe Base Specification supported.
	NVMeVersion string
	// NamespaceFeatures shall contain a set of Namespace Features.
	NamespaceFeatures NamespaceFeatures
	// NamespaceID shall contain the NVMe Namespace Identifier for this namespace. This property shall be a hex value.
	// Namespace identifiers are not durable and do not have meaning outside the scope of the NVMe subsystem. NSID 0x0,
	// 0xFFFFFFFF, 0xFFFFFFFE are special purpose values.
	NamespaceID string
	// NamespaceType shall identify the type of namespace.
	NamespaceType NamespaceType
	// NumberLBAFormats shall contain the number of LBA data size and metadata size combinations supported by this
	// namespace. The value of this property is between 0 and 16. LBA formats with an index set beyond this value will
	// not be supported.
	NumberLBAFormats int
	// SupportsIOPerformanceHints shall indicate whether the namespace supports IO performance hints.
	SupportsIOPerformanceHints bool
	// SupportsMultipleNamespaceAttachments shall indicate whether the namespace may be attached to two or more
	// controllers.
	SupportsMultipleNamespaceAttachments bool
	// Type shall identify the type of namespace.
	Type NamespaceType
}

NVMeNamespaceProperties This contains properties to use when Volume is used to describe an NVMe Namespace.

type NVMePoolType added in v0.18.0

type NVMePoolType string
const (
	// EnduranceGroupNVMePoolType is of type EnduranceGroup, used by NVMe devices.
	EnduranceGroupNVMePoolType NVMePoolType = "EnduranceGroup"
	// NVMSetNVMePoolType is of type NVMSet, used by NVMe devices.
	NVMSetNVMePoolType NVMePoolType = "NVMSet"
)

type NVMeProperties added in v0.18.0

type NVMeProperties struct {
	// NVMePoolType shall indicate whether the StoragePool is used as an EnduranceGroup or an NVMSet.
	NVMePoolType NVMePoolType
}

NVMeProperties contains properties to use when StoragePool is used to describe an NVMe construct.

type NVMeSetProperties added in v0.18.0

type NVMeSetProperties struct {
	// EnduranceGroupIdentifier shall contain a 16-bit hex value that contains the endurance group identifier. The
	// endurance group identifier is unique within a subsystem. Reserved values include 0.
	EnduranceGroupIdentifier string
	// OptimalWriteSizeBytes shall contain the Optimal Write Size in Bytes for this NVMe Set.
	OptimalWriteSizeBytes int
	// Random4kReadTypicalNanoSeconds shall contain the typical time to complete a 4k read in 100 nano-second units
	// when the NVM Set is in a Predictable Latency Mode Deterministic Window and there is 1 outstanding command per
	// NVM Set.
	Random4kReadTypicalNanoSeconds int
	// SetIdentifier shall contain a 16-bit hex value that contains the NVMe Set group identifier. The NVM Set
	// identifier is unique within a subsystem. Reserved values include 0.
	SetIdentifier string
	// UnallocatedNVMNamespaceCapacityBytes shall contain the unallocated capacity of the NVMe Set in bytes.
	UnallocatedNVMNamespaceCapacityBytes int
}

NVMeSetProperties contains properties to use when StoragePool is used to describe an NVMe Set.

type NamespaceFeatures added in v0.18.0

type NamespaceFeatures struct {
	// SupportsAtomicTransactionSize shall indicate whether or not the NVM fields for Namespace preferred write
	// granularity (NPWG), write alignment (NPWA), deallocate granularity (NPDG), deallocate alignment (NPDA) and
	// optimal write size (NOWS) are defined for this namespace and should be used by the host for I/O optimization.
	SupportsAtomicTransactionSize bool
	// SupportsDeallocatedOrUnwrittenLBError shall indicate that the controller supports deallocated or unwritten
	// logical block error for this namespace.
	SupportsDeallocatedOrUnwrittenLBError bool
	// SupportsIOPerformanceHints shall indicate that the Namespace Atomic Write Unit Normal (NAWUN), Namespace Atomic
	// Write Unit Power Fail (NAWUPF), and Namespace Atomic Compare and Write Unit (NACWU) fields are defined for this
	// namespace and should be used by the host for this namespace instead of the controller-level properties AWUN,
	// AWUPF, and ACWU.
	SupportsIOPerformanceHints bool
	// SupportsNGUIDReuse shall indicate that the namespace supports the use of an NGUID (namespace globally unique
	// identifier) value.
	SupportsNGUIDReuse bool
	// SupportsThinProvisioning shall indicate whether or not the NVMe Namespace supports thin provisioning.
	// Specifically, the namespace capacity reported may be less than the namespace size.
	SupportsThinProvisioning bool
}

NamespaceFeatures

type NamespaceType added in v0.18.0

type NamespaceType string
const (
	// BlockNamespaceType indicates the namespace is configured for use with a block storage interface.
	BlockNamespaceType NamespaceType = "Block"
	// ComputationalNamespaceType indicates the namespace is configured for use with a computational storage interface.
	ComputationalNamespaceType NamespaceType = "Computational"
	// KeyValueNamespaceType indicates the namespace is configured for use with a KeyValue interface.
	KeyValueNamespaceType NamespaceType = "KeyValue"
	// ZNSNamespaceType indicates the namespace is configured for use with a zoned storage interface.
	ZNSNamespaceType NamespaceType = "ZNS"
)

type Operation added in v0.18.0

type Operation struct {
	// AssociatedFeaturesRegistry A reference to the task associated with the operation if any.
	AssociatedFeaturesRegistry string
	// Operation shall contain the type of the operation.
	Operation OperationType
	// PercentageComplete The percentage of the operation that has been completed.
	PercentageComplete int
}

type OperationType added in v0.18.0

type OperationType string
const (
	// ChangeRAIDTypeOperationType indicates a ChangeRAIDType operation is being performed.
	ChangeRAIDTypeOperationType OperationType = "ChangeRAIDType"
	// ChangeStripSizeOperationType indicates a ChangeStripSize operation is being performed.
	ChangeStripSizeOperationType OperationType = "ChangeStripSize"
	// CheckConsistencyOperationType indicates a CheckConsistency operation is being performed.
	CheckConsistencyOperationType OperationType = "CheckConsistency"
	// CompressOperationType indicates a Compress operation is being performed.
	CompressOperationType OperationType = "Compress"
	// DecryptOperationType indicates a Decrypt operation is being performed.
	DecryptOperationType OperationType = "Decrypt"
	// DeduplicateOperationType indicates a Deduplicate operation is being performed.
	DeduplicateOperationType OperationType = "Deduplicate"
	// DeleteOperationType indicates a Delete operation is being performed.
	DeleteOperationType OperationType = "Delete"
	// EncryptOperationType indicates a Encrypt operation is being performed.
	EncryptOperationType OperationType = "Encrypt"
	// FormatOperationType indicates an Format operation is being performed.
	FormatOperationType OperationType = "Format"
	// InitializeOperationType indicates a Initialize operation is being performed.
	InitializeOperationType OperationType = "Initialize"
	// RebuildOperationType indicates a Rebuild operation is being performed.
	RebuildOperationType OperationType = "Rebuild"
	// ReplicateOperationType indicates a Replicate operation is being performed.
	ReplicateOperationType OperationType = "Replicate"
	// ResizeOperationType indicates a Resize operation is being performed.
	ResizeOperationType OperationType = "Resize"
	// ChangeRAIDTypeOperationType indicates a Sanitize operation is being performed.
	SanitizeOperationType OperationType = "Sanitize"
)

type PoolType added in v0.18.0

type PoolType string
const (
	// BlockPoolType is of type block.
	BlockPoolType PoolType = "Block"
	// FilePoolType is of type file.
	FilePoolType PoolType = "File"
	// ObjectPoolType is of type object.
	ObjectPoolType PoolType = "Object"
	// PoolPoolType is of type pool, indicating a hierarchy.
	PoolPoolType PoolType = "Pool"
)

type ProvisioningPolicy

type ProvisioningPolicy string

ProvisioningPolicy is used to specify space provisioning policy.

const (
	// FixedProvisioningPolicy shall be fully allocated.
	FixedProvisioningPolicy ProvisioningPolicy = "Fixed"
	// ThinProvisioningPolicy specifies storage may be over allocated.
	ThinProvisioningPolicy ProvisioningPolicy = "Thin"
)

type QuotaType

type QuotaType string

QuotaType shall indicate whether quotas are enabled and enforced by this file share. If QuotaType is present, a value of Soft shall mean that quotas are enabled but not enforced, and a value of Hard shall mean that quotas are enabled and enforced.

const (
	// SoftQuotaType shall indicate that quotas are enabled but not enforced.
	SoftQuotaType QuotaType = "Soft"
	// HardQuotaType shall indicate that quotas are enabled and enforced.
	HardQuotaType QuotaType = "Hard"
)

type RAIDType

type RAIDType string

RAIDType is

const (

	// RAID0RAIDType A placement policy where consecutive logical blocks of
	// data are uniformly distributed across a set of independent storage
	// devices without offering any form of redundancy. This is commonly
	// referred to as data striping. This form of RAID will encounter data
	// loss with the failure of any storage device in the set.
	RAID0RAIDType RAIDType = "RAID0"
	// RAID1RAIDType A placement policy where each logical block of data is
	// stored on more than one independent storage device. This is commonly
	// referred to as mirroring. Data stored using this form of RAID is able
	// to survive a single storage device failure without data loss.
	RAID1RAIDType RAIDType = "RAID1"
	// RAID3RAIDType A placement policy using parity-based protection where
	// logical bytes of data are uniformly distributed across a set of
	// independent storage devices and where the parity is stored on a
	// dedicated independent storage device. Data stored using this form of
	// RAID is able to survive a single storage device failure without data
	// loss. If the storage devices use rotating media, they are assumed to
	// be rotationally synchronized, and the data stripe size should be no
	// larger than the exported block size.
	RAID3RAIDType RAIDType = "RAID3"
	// RAID4RAIDType A placement policy using parity-based protection where
	// logical blocks of data are uniformly distributed across a set of
	// independent storage devices and where the parity is stored on a
	// dedicated independent storage device. Data stored using this form of
	// RAID is able to survive a single storage device failure without data
	// loss.
	RAID4RAIDType RAIDType = "RAID4"
	// RAID5RAIDType A placement policy using parity-based protection for
	// storing stripes of 'n' logical blocks of data and one logical block of
	// parity across a set of 'n+1' independent storage devices where the
	// parity and data blocks are interleaved across the storage devices.
	// Data stored using this form of RAID is able to survive a single
	// storage device failure without data loss.
	RAID5RAIDType RAIDType = "RAID5"
	// RAID6RAIDType A placement policy using parity-based protection for
	// storing stripes of 'n' logical blocks of data and two logical blocks
	// of independent parity across a set of 'n+2' independent storage
	// devices where the parity and data blocks are interleaved across the
	// storage devices. Data stored using this form of RAID is able to
	// survive any two independent storage device failures without data loss.
	RAID6RAIDType RAIDType = "RAID6"
	// RAID10RAIDType A placement policy that creates a striped device (RAID
	// 0) over a set of mirrored devices (RAID 1). This is commonly referred
	// to as RAID 1/0. Data stored using this form of RAID is able to survive
	// storage device failures in each RAID 1 set without data loss.
	RAID10RAIDType RAIDType = "RAID10"
	// RAID01RAIDType A data placement policy that creates a mirrored device
	// (RAID 1) over a set of striped devices (RAID 0). This is commonly
	// referred to as RAID 0+1 or RAID 0/1. Data stored using this form of
	// RAID is able to survive a single RAID 0 data set failure without data
	// loss.
	RAID01RAIDType RAIDType = "RAID01"
	// RAID6TPRAIDType A placement policy that uses parity-based protection
	// for storing stripes of 'n' logical blocks of data and three logical
	// blocks of independent parity across a set of 'n+3' independent storage
	// devices where the parity and data blocks are interleaved across the
	// storage devices. This is commonly referred to as Triple Parity RAID.
	// Data stored using this form of RAID is able to survive any three
	// independent storage device failures without data loss.
	RAID6TPRAIDType RAIDType = "RAID6TP"
	// RAID1ERAIDType A placement policy that uses a form of mirroring
	// implemented over a set of independent storage devices where logical
	// blocks are duplicated on a pair of independent storage devices so that
	// data is uniformly distributed across the storage devices. This is
	// commonly referred to as RAID 1 Enhanced. Data stored using this form
	// of RAID is able to survive a single storage device failure without
	// data loss.
	RAID1ERAIDType RAIDType = "RAID1E"
	// RAID50RAIDType A placement policy that uses a RAID 0 stripe set over
	// two or more RAID 5 sets of independent storage devices. Data stored
	// using this form of RAID is able to survive a single storage device
	// failure within each RAID 5 set without data loss.
	RAID50RAIDType RAIDType = "RAID50"
	// RAID60RAIDType A placement policy that uses a RAID 0 stripe set over
	// two or more RAID 6 sets of independent storage devices. Data stored
	// using this form of RAID is able to survive two device failures within
	// each RAID 6 set without data loss.
	RAID60RAIDType RAIDType = "RAID60"
	// RAID00RAIDType A placement policy that creates a RAID 0 stripe set
	// over two or more RAID 0 sets. This is commonly referred to as RAID
	// 0+0. This form of data layout is not fault tolerant; if any storage
	// device fails there will be data loss.
	RAID00RAIDType RAIDType = "RAID00"
	// RAID10ERAIDType A placement policy that uses a RAID 0 stripe set over
	// two or more RAID 10 sets. This is commonly referred to as Enhanced
	// RAID 10. Data stored using this form of RAID is able to survive a
	// single device failure within each nested RAID 1 set without data loss.
	RAID10ERAIDType RAIDType = "RAID10E"
	// RAID1TripleRAIDType A placement policy where each logical block of
	// data is mirrored three times across a set of three independent storage
	// devices. This is commonly referred to as three-way mirroring. This
	// form of RAID can survive two device failures without data loss.
	RAID1TripleRAIDType RAIDType = "RAID1Triple"
	// RAID10TripleRAIDType A placement policy that uses a striped device
	// (RAID 0) over a set of triple mirrored devices (RAID 1Triple). This
	// form of RAID can survive up to two failures in each triple mirror set
	// without data loss.
	RAID10TripleRAIDType RAIDType = "RAID10Triple"
)

type ReadCachePolicyType added in v0.5.0

type ReadCachePolicyType string

ReadCachePolicyType is the type of read cache policy.

const (

	// ReadAheadReadCachePolicyType A caching technique in which the
	// controller pre-fetches data anticipating future read requests.
	ReadAheadReadCachePolicyType ReadCachePolicyType = "ReadAhead"
	// AdaptiveReadAheadReadCachePolicyType A caching technique in which the
	// controller dynamically determines whether to pre-fetch data
	// anticipating future read requests, based on previous cache hit ratio.
	AdaptiveReadAheadReadCachePolicyType ReadCachePolicyType = "AdaptiveReadAhead"
	// OffReadCachePolicyType The read cache is disabled.
	OffReadCachePolicyType ReadCachePolicyType = "Off"
)

type RecoveryAccessScope

type RecoveryAccessScope string

RecoveryAccessScope shall represent the relative time required to make a replica available as a source.

const (
	// OnlineActiveRecoveryAccessScope shall be instantaneous.
	OnlineActiveRecoveryAccessScope RecoveryAccessScope = "OnlineActive"
	// OnlinePassiveRecoveryAccessScope shall be consistent with switching
	// access to a different path the same front-end interconnect. A restore
	// step shall not be required.
	OnlinePassiveRecoveryAccessScope RecoveryAccessScope = "OnlinePassive"
	// NearlineRecoveryAccessScope shall be consistent with switching access
	// to a different path through a different front-end interconnection
	// infrastructure. Some inconsistency may occur. A restore step may be
	// required before recovery can commence.
	NearlineRecoveryAccessScope RecoveryAccessScope = "Nearline"
	// OfflineRecoveryAccessScope Access to a replica may take a significant
	// amount of time. No direct connection to the replica is assumed. Some
	// inconsistency loss may occur. A restore step is likely to be
	// required.
	OfflineRecoveryAccessScope RecoveryAccessScope = "Offline"
)

type ReplicaFaultDomain added in v0.18.0

type ReplicaFaultDomain string
const (
	// LocalReplicaFaultDomain indicates that the source and target replicas are contained within a single fault domain.
	LocalReplicaFaultDomain ReplicaFaultDomain = "Local"
	// RemoteReplicaFaultDomain indicates that the source and target replicas are in separate fault domains.
	RemoteReplicaFaultDomain ReplicaFaultDomain = "Remote"
)

type ReplicaInfo

type ReplicaInfo struct {
	// ConsistencyEnabled is If true, consistency shall be enabled across the
	// source and its associated target replica(s). The default value for
	// this property is false.
	ConsistencyEnabled bool
	// ConsistencyState is The ConsistencyState enumeration literal shall
	// indicate the current state of consistency.
	ConsistencyState ConsistencyState
	// ConsistencyStatus is The ConsistencyStatus enumeration literal shall
	// specify the current status of consistency. Consistency may have been
	// disabled or is experiencing an error condition.
	ConsistencyStatus ConsistencyStatus
	// ConsistencyType is used by the source and its associated target group.
	ConsistencyType ConsistencyType

	// FailedCopyStopsHostIO is If true, the storage array shall stop
	// receiving data to the source element if copying to a remote element
	// fails. The default value for this property is false.
	FailedCopyStopsHostIO bool
	// PercentSynced is Specifies the percent of the work completed to reach
	// synchronization. Shall not be instantiated if implementation is not
	// capable of providing this information.  If related to a group, then
	// PercentSynced shall be an average of the PercentSynced across all
	// members of the group.
	PercentSynced int
	// RemoteSourceReplica shall describe the fault domain (local or remote) of the replica relationship.
	RemoteSourceReplica string

	// ReplicaFaultDomain shall describe the fault domain (local or remote) of the replica relationship.
	ReplicaFaultDomain ReplicaFaultDomain
	// ReplicaPriority shall specify the priority
	// of background copy engine I/O to be managed relative to host I/O
	// operations during a sequential background copy operation.
	ReplicaPriority ReplicaPriority
	// ReplicaProgressStatus is The ReplicaProgressStatus enumeration literal
	// shall specify the status of the session with respect to Replication
	// activity.
	ReplicaProgressStatus ReplicaProgressStatus
	// ReplicaReadOnlyAccess shall specify whether
	// the source, the target, or both elements are read only to the host.
	ReplicaReadOnlyAccess ReplicaReadOnlyAccess
	// ReplicaRecoveryMode shall specify whether
	// the copy operation continues after a broken link is restored.
	ReplicaRecoveryMode ReplicaRecoveryMode
	// ReplicaSkewBytes is Applies to Adaptive mode and it describes maximum
	// number of bytes the SyncedElement (target) can be out of sync. If the
	// number of out-of-sync bytes exceeds the skew value, ReplicaUpdateMode
	// shall be switched to synchronous.
	ReplicaSkewBytes int64
	// ReplicaState is The ReplicaState enumeration literal shall specify the
	// state of the relationship with respect to Replication activity.
	ReplicaState ReplicaState
	// ReplicaType is The ReplicaType enumeration literal shall describe the
	// intended outcome of the replication.
	ReplicaType ReplicaType
	// ReplicaUpdateMode shall specify whether the
	// target elements will be updated synchronously or asynchronously.
	ReplicaUpdateMode ReplicaUpdateMode
	// RequestedReplicaState is The last requested or desired state for the
	// relationship. The actual state of the relationship shall be
	// represented by ReplicaState. When RequestedState reaches the requested
	// state, this property shall be null.
	RequestedReplicaState ReplicaState
	// SourceReplica shall contain the URI to the source replica when located on a different Swordfish service
	// instance.
	SourceReplica string
	// SyncMaintained is If true, Synchronization shall be maintained. The
	// default value for this property is false.
	SyncMaintained bool
	// UndiscoveredElement shall specify whether
	// the source, the target, or both elements involved in a copy operation
	// are undiscovered. An element is considered undiscovered if its object
	// model is not known to the service performing the copy operation.
	UndiscoveredElement UndiscoveredElement
	// WhenActivated shall be an ISO 8601 conformant time of day
	// that specifies when the point-in-time copy was taken or when the
	// replication relationship is activated, reactivated, resumed or re-
	// established. This property shall be null if the implementation is not
	// capable of providing this information.
	WhenActivated string
	// WhenDeactivated shall be an ISO 8601 conformant time of
	// day that specifies when the replication relationship is deactivated.
	// Do not instantiate this property if implementation is not capable of
	// providing this information.
	WhenDeactivated string
	// WhenEstablished shall be an ISO 8601 conformant time of
	// day that specifies when the replication relationship is established.
	// Do not instantiate this property if implementation is not capable of
	// providing this information.
	WhenEstablished string
	// WhenSuspended shall be an ISO 8601 conformant time of day
	// that specifies when the replication relationship is suspended. Do not
	// instantiate this property if implementation is not capable of
	// providing this information.
	WhenSuspended string
	// WhenSynced shall be an ISO 8601 conformant time of day
	// that specifies when the elements were synchronized.
	WhenSynced string
	// WhenSynchronized shall be an ISO 8601 conformant time of
	// day that specifies when the replication relationship is synchronized.
	// Do not instantiate this property if implementation is not capable of
	// providing this information.
	WhenSynchronized string
	// contains filtered or unexported fields
}

ReplicaInfo shall define the characteristics of a replica.

func (*ReplicaInfo) UnmarshalJSON

func (replicainfo *ReplicaInfo) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a ReplicaInfo object from the raw JSON.

type ReplicaPriority

type ReplicaPriority string

ReplicaPriority is used to specify the priority of background copy engine I/O relative to host I/O operations during a sequential background copy operation.

const (
	// LowReplicaPriority shall have a lower priority than host I/O.
	LowReplicaPriority ReplicaPriority = "Low"
	// SameReplicaPriority shall have the same priority as host I/O.
	SameReplicaPriority ReplicaPriority = "Same"
	// HighReplicaPriority shall have a higher priority than host I/O.
	HighReplicaPriority ReplicaPriority = "High"
	// UrgentReplicaPriority shall be performed as soon as possible.
	UrgentReplicaPriority ReplicaPriority = "Urgent"
)

type ReplicaProgressStatus

type ReplicaProgressStatus string

ReplicaProgressStatus is used to describe the status of the session with respect to Replication activity.

const (
	// CompletedReplicaProgressStatus shall indicate that the request is
	// completed. Data flow is idle.
	CompletedReplicaProgressStatus ReplicaProgressStatus = "Completed"
	// DormantReplicaProgressStatus shall indicate that the data flow is
	// inactive, suspended or quiesced.
	DormantReplicaProgressStatus ReplicaProgressStatus = "Dormant"
	// InitializingReplicaProgressStatus shall indicate that replication is
	// in the process of establishing source/replica relationship and the
	// data flow has not started.
	InitializingReplicaProgressStatus ReplicaProgressStatus = "Initializing"
	// PreparingReplicaProgressStatus shall indicate that replication has
	// preparation in progress.
	PreparingReplicaProgressStatus ReplicaProgressStatus = "Preparing"
	// SynchronizingReplicaProgressStatus shall indicate that replication has
	// synchronization in progress.
	SynchronizingReplicaProgressStatus ReplicaProgressStatus = "Synchronizing"
	// ResyncingReplicaProgressStatus shall indicate that replication has
	// resynchronization in progress.
	ResyncingReplicaProgressStatus ReplicaProgressStatus = "Resyncing"
	// RestoringReplicaProgressStatus shall indicate that replication has a
	// restore in progress.
	RestoringReplicaProgressStatus ReplicaProgressStatus = "Restoring"
	// FracturingReplicaProgressStatus shall indicate that replication has a
	// fracture in progress.
	FracturingReplicaProgressStatus ReplicaProgressStatus = "Fracturing"
	// SplittingReplicaProgressStatus shall indicate that replication has a
	// split in progress.
	SplittingReplicaProgressStatus ReplicaProgressStatus = "Splitting"
	// FailingOverReplicaProgressStatus shall indicate that replication is in
	// the process of switching source and target.
	FailingOverReplicaProgressStatus ReplicaProgressStatus = "FailingOver"
	// FailingBackReplicaProgressStatus shall indicate that replication is
	// undoing the result of failover.
	FailingBackReplicaProgressStatus ReplicaProgressStatus = "FailingBack"
	// DetachingReplicaProgressStatus shall indicate that replication has a
	// detach in progress.
	DetachingReplicaProgressStatus ReplicaProgressStatus = "Detaching"
	// AbortingReplicaProgressStatus shall indicate that replication has an
	// abort in progress.
	AbortingReplicaProgressStatus ReplicaProgressStatus = "Aborting"
	// MixedReplicaProgressStatus shall indicate that replication status is
	// mixed across element pairs in a replication group. Generally, the
	// individual statuses need to be examined.
	MixedReplicaProgressStatus ReplicaProgressStatus = "Mixed"
	// SuspendingReplicaProgressStatus shall indicate that replication has a
	// copy operation in the process of being suspended.
	SuspendingReplicaProgressStatus ReplicaProgressStatus = "Suspending"
	// RequiresFractureReplicaProgressStatus shall indicate that the
	// requested operation has completed, however, the synchronization
	// relationship needs to be fractured before further copy operations can
	// be issued.
	RequiresFractureReplicaProgressStatus ReplicaProgressStatus = "RequiresFracture"
	// RequiresResyncReplicaProgressStatus shall indicate that the requested
	// operation has completed, however, the synchronization relationship
	// needs to be resynced before further copy operations can be issued.
	RequiresResyncReplicaProgressStatus ReplicaProgressStatus = "RequiresResync"
	// RequiresActivateReplicaProgressStatus shall indicate that the
	// requested operation has completed, however, the synchronization
	// relationship needs to be activated before further copy operations can
	// be issued.
	RequiresActivateReplicaProgressStatus ReplicaProgressStatus = "RequiresActivate"
	// PendingReplicaProgressStatus shall indicate that the flow of data has
	// stopped momentarily due to limited bandwidth or a busy system.
	PendingReplicaProgressStatus ReplicaProgressStatus = "Pending"
	// RequiresDetachReplicaProgressStatus shall indicate that the requested
	// operation has completed, however, the synchronization relationship
	// needs to be detached before further copy operations can be issued.
	RequiresDetachReplicaProgressStatus ReplicaProgressStatus = "RequiresDetach"
	// TerminatingReplicaProgressStatus shall indicate that the replication
	// relationship is in the process of terminating.
	TerminatingReplicaProgressStatus ReplicaProgressStatus = "Terminating"
	// RequiresSplitReplicaProgressStatus shall indicate that the requested
	// operation has completed, however, the synchronization relationship
	// needs to be split before further copy operations can be issued.
	RequiresSplitReplicaProgressStatus ReplicaProgressStatus = "RequiresSplit"
	// RequiresResumeReplicaProgressStatus shall indicate that the requested
	// operation has completed, however, the synchronization relationship
	// needs to be resumed before further copy operations can be issued.
	RequiresResumeReplicaProgressStatus ReplicaProgressStatus = "RequiresResume"
)

type ReplicaReadOnlyAccess

type ReplicaReadOnlyAccess string

ReplicaReadOnlyAccess is used to specify whether the source, the target, or both elements are read-only to the host.

const (
	// SourceElementReplicaReadOnlyAccess shall be read-only to the host.
	SourceElementReplicaReadOnlyAccess ReplicaReadOnlyAccess = "SourceElement"
	// ReplicaElementReplicaReadOnlyAccess shall be read-only to the host.
	ReplicaElementReplicaReadOnlyAccess ReplicaReadOnlyAccess = "ReplicaElement"
	// BothReplicaReadOnlyAccess shall be read only to the host.
	BothReplicaReadOnlyAccess ReplicaReadOnlyAccess = "Both"
)

type ReplicaRecoveryMode

type ReplicaRecoveryMode string

ReplicaRecoveryMode is used to specify whether the copy operation continues after a broken link is restored.

const (
	// AutomaticReplicaRecoveryMode shall resume automatically.
	AutomaticReplicaRecoveryMode ReplicaRecoveryMode = "Automatic"
	// ManualReplicaRecoveryMode shall be set to Suspended after the link is
	// restored. It is required to issue the Resume operation to continue.
	ManualReplicaRecoveryMode ReplicaRecoveryMode = "Manual"
)

type ReplicaRequest

type ReplicaRequest struct {
	// ReplicaName shall be the names of the replica.
	ReplicaName string
	// ReplicaSource shall reference a resource to be
	// replicated.
	ReplicaSource common.Link
}

ReplicaRequest is a request for a replica.

type ReplicaRole

type ReplicaRole string

ReplicaRole is used to specify whether the resource is a source of replication or the target of replication.

const (
	// SourceReplicaRole shall indicate a source element.
	SourceReplicaRole ReplicaRole = "Source"
	// TargetReplicaRole shall indicate target element.
	TargetReplicaRole ReplicaRole = "Target"
)

type ReplicaState

type ReplicaState string

ReplicaState is used to describe the state of the relationship with respect to Replication activity.

const (
	// InitializedReplicaState shall indicate that the link to enable
	// replication is established and source/replica elements are associated,
	// but the data flow has not started.
	InitializedReplicaState ReplicaState = "Initialized"
	// UnsynchronizedReplicaState shall indicate that not all the source
	// element data has been copied to the target element.
	UnsynchronizedReplicaState ReplicaState = "Unsynchronized"
	// SynchronizedReplicaState shall indicate that for Mirror, Snapshot, or
	// Clone replication, the target represents a copy of the source.
	SynchronizedReplicaState ReplicaState = "Synchronized"
	// BrokenReplicaState shall indicate that the relationship is non-
	// functional due to errors in the source, the target, the path between
	// the two or space constraints.
	BrokenReplicaState ReplicaState = "Broken"
	// FracturedReplicaState shall indicate that the Target is split from the
	// source. The target may not be consistent.
	FracturedReplicaState ReplicaState = "Fractured"
	// SplitReplicaState shall indicate that the target element was
	// gracefully (or systematically) split from its source element --
	// consistency shall be guaranteed.
	SplitReplicaState ReplicaState = "Split"
	// InactiveReplicaState shall indicate that data flow has stopped, writes
	// to source element shall not be sent to target element.
	InactiveReplicaState ReplicaState = "Inactive"
	// SuspendedReplicaState shall indicate that the data flow between the
	// source and target elements has stopped. Writes to source element shall
	// be held until the relationship is Resumed.
	SuspendedReplicaState ReplicaState = "Suspended"
	// FailedoverReplicaState shall indicate that the reads and writes are
	// sent to the target element. The source element may not be reachable.
	FailedoverReplicaState ReplicaState = "Failedover"
	// PreparedReplicaState shall indicate that initialization is completed,
	// however, the data flow has not started.
	PreparedReplicaState ReplicaState = "Prepared"
	// AbortedReplicaState shall indicate that the copy operation is aborted
	// with the Abort operation. The Resync Replica operation can be used to
	// restart the copy operation.
	AbortedReplicaState ReplicaState = "Aborted"
	// SkewedReplicaState shall indicate that the target has been modified
	// and is no longer synchronized with the source element or the point-in-
	// time view.
	SkewedReplicaState ReplicaState = "Skewed"
	// MixedReplicaState shall indicate the ReplicaState of
	// GroupSynchronized. The value indicates the StorageSynchronized
	// relationships of the elements in the group have different ReplicaState
	// values.
	MixedReplicaState ReplicaState = "Mixed"
	// PartitionedReplicaState shall indicate that the state of replication
	// relationship can not be determined, for example, due to a connection
	// problem.
	PartitionedReplicaState ReplicaState = "Partitioned"
	// InvalidReplicaState shall indicate that the storage server is unable
	// to determine the state of the replication relationship, for example,
	// after the connection is restored; however, either source or target
	// elements have an unknown status.
	InvalidReplicaState ReplicaState = "Invalid"
	// RestoredReplicaState shall indicate that the source element was
	// restored from the target element.
	RestoredReplicaState ReplicaState = "Restored"
)

type ReplicaType

type ReplicaType string

ReplicaType is used to specify the intended outcome of the replication.

const (
	// MirrorReplicaType shall indicate that replication shall create and
	// maintain a copy of the source.
	MirrorReplicaType ReplicaType = "Mirror"
	// SnapshotReplicaType shall indicate that replication shall create a
	// point in time, virtual copy of the source.
	SnapshotReplicaType ReplicaType = "Snapshot"
	// CloneReplicaType shall indicate that replication shall create a point
	// in time, full copy the source.
	CloneReplicaType ReplicaType = "Clone"
	// TokenizedCloneReplicaType shall indicate that replication shall create
	// a token based clone.
	TokenizedCloneReplicaType ReplicaType = "TokenizedClone"
)

type ReplicaUpdateMode

type ReplicaUpdateMode string

ReplicaUpdateMode is used to specify whether the target elements will be updated synchronously or asynchronously.

const (
	// ActiveReplicaUpdateMode shall indicate Active-Active (i.e.
	// bidirectional) synchronous updates.
	ActiveReplicaUpdateMode ReplicaUpdateMode = "Active"
	// SynchronousReplicaUpdateMode shall indicate Synchronous updates.
	SynchronousReplicaUpdateMode ReplicaUpdateMode = "Synchronous"
	// AsynchronousReplicaUpdateMode shall indicate Asynchronous updates.
	AsynchronousReplicaUpdateMode ReplicaUpdateMode = "Asynchronous"
	// AdaptiveReplicaUpdateMode shall indicate that an implementation may
	// switch between synchronous and asynchronous modes.
	AdaptiveReplicaUpdateMode ReplicaUpdateMode = "Adaptive"
)

type SecureChannelProtocol

type SecureChannelProtocol string

SecureChannelProtocol shall specify types of Secure channel protocols.

const (
	// NoneSecureChannelProtocol specifies no encryption.
	NoneSecureChannelProtocol SecureChannelProtocol = "None"
	// TLSSecureChannelProtocol specifies Transport
	// Layer Security (TLS), as defined by IETF RFC 5246.
	TLSSecureChannelProtocol SecureChannelProtocol = "TLS"
	// IPsecSecureChannelProtocol specifies Internet
	// Protocol Security (IPsec), as defined by IETF RFC 2401.
	IPsecSecureChannelProtocol SecureChannelProtocol = "IPsec"
	// RPCSECGSSSecureChannelProtocol specifies RPC
	// access to the Generic Security Services Application Programming
	// Interface (GSS-API), as defined by IETF RPC 2203.
	RPCSECGSSSecureChannelProtocol SecureChannelProtocol = "RPCSEC_GSS"
)

type SpareResourceSet

type SpareResourceSet struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string
	// OnHandLocation is the location where this set of spares is kept.
	OnHandLocation common.Location
	// OnLine indicates if the set is online.
	OnLine bool
	// ResourceType is the type of resources in the set.
	ResourceType string
	// TimeToProvision is the amount of time needed to make an on-hand resource
	// available as a spare.
	TimeToProvision string
	// TimeToReplenish is the amount of time to needed replenish consumed on-hand
	// resources.
	TimeToReplenish string
	// OnHandSparesCount is the number of on hand spares.
	OnHandSparesCount int `json:"OnHandSpares@odata.count"`
	// ReplacementSpareSetsCount is the number of replacement spare sets.
	ReplacementSpareSetsCount int `json:"ReplacementSpareSets@odata.count"`
	// contains filtered or unexported fields
}

SpareResourceSet define a set of spares of a particular type.

func GetSpareResourceSet

func GetSpareResourceSet(c common.Client, uri string) (*SpareResourceSet, error)

GetSpareResourceSet will get a SpareResourceSet instance from the service.

func ListReferencedSpareResourceSets

func ListReferencedSpareResourceSets(c common.Client, link string) ([]*SpareResourceSet, error)

ListReferencedSpareResourceSets gets the collection of SpareResourceSet from a provided reference.

func (*SpareResourceSet) ReplacementSpareSets

func (spareresourceset *SpareResourceSet) ReplacementSpareSets() ([]*SpareResourceSet, error)

ReplacementSpareSets gets other spare sets that can be utilized to replenish this spare set.

func (*SpareResourceSet) UnmarshalJSON

func (spareresourceset *SpareResourceSet) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a SpareResourceSet object from the raw JSON.

func (*SpareResourceSet) Update added in v0.5.0

func (spareresourceset *SpareResourceSet) Update() error

Update commits updates to this object's properties to the running system.

type StorageAccessCapability

type StorageAccessCapability string

StorageAccessCapability is used to describe abilities to read or write storage.

const (
	// ReadStorageAccessCapability shall indicate that the storage may be
	// read.
	ReadStorageAccessCapability StorageAccessCapability = "Read"
	// WriteStorageAccessCapability shall indicate that the storage may be
	// written multiple times.
	WriteStorageAccessCapability StorageAccessCapability = "Write"
	// WriteOnceStorageAccessCapability shall indicate that the storage may
	// be written only once.
	WriteOnceStorageAccessCapability StorageAccessCapability = "WriteOnce"
	// AppendStorageAccessCapability shall indicate that the storage may be
	// written only to append.
	AppendStorageAccessCapability StorageAccessCapability = "Append"
	// StreamingStorageAccessCapability shall indicate that the storage may
	// be read sequentially.
	StreamingStorageAccessCapability StorageAccessCapability = "Streaming"
	// ExecuteStorageAccessCapability shall indicate that Execute access is
	// allowed by the file share.
	ExecuteStorageAccessCapability StorageAccessCapability = "Execute"
)

type StorageGroup

type StorageGroup struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// AccessState shall describe the access
	// characteristics of this storage group. All associated logical units
	// through all aggregated ports shall share this access state.
	AccessState AccessState
	// AuthenticationMethod is The value of this property must be what kind
	// of authentication that the endpoints in this StorageGroup understands.
	AuthenticationMethod AuthenticationMethod
	// ChapInfo is used by this specific endpoint. For example, if this
	// endpoint represents an initiator, and AuthenticationMethod is CHAP or
	// MutualCHAP, the Credentials fields CHAPUsername and CHAPSecret must be
	// used. If this endpoint represents a target endpoint and
	// AuthenticationMethod is MutualCHAP, then MutualCHAPUsername and
	// MutualCHAPSecret must be used.
	ChapInfo []CHAPInformation
	// ClientEndpointGroups is used to make requests to the storage exposed
	// by this StorageGroup. If null, the implementation may allow access to
	// the storage via any client-side endpoint. If empty, the
	// implementation shall not allow access to the storage via any client-
	// side endpoint.
	ClientEndpointGroups []EndpointGroup
	// ClientEndpointGroups@odata.count is
	ClientEndpointGroupsCount int `json:"ClientEndpointGroups@odata.count"`
	// Description provides a description of this resource.
	Description string
	// Identifier shall be unique within the managed ecosystem.
	Identifier common.Identifier
	// mappedVolumes is an array of mapped volumes managed by this storage
	// group.
	MappedVolumes []MappedVolume
	// MembersAreConsistent shall be set to true if all members are in a
	// consistent state. The default value for this property is false.
	// Deprecated in favor of using the ConsistencyGroup for Consistency set management.
	MembersAreConsistent bool
	// ReplicaInfo shall describe the replication relationship between this
	// storage group and a corresponding source storage group.
	ReplicaInfo ReplicaInfo
	// ReplicaTargets shall reference the target replicas that
	// are sourced by this replica.
	// replicaTargets []string
	// ReplicaTargetsCount is number of replica targets.
	ReplicaTargetsCount int `json:"ReplicaTargets@odata.count"`
	// serverEndpointGroups is used to make requests to the storage exposed
	// by this storage group. If null, the implementation may allow access
	// to the storage via any server-side endpoint. If empty, the
	// implementation shall not allow access to the storage via any server-
	// side endpoint.
	// serverEndpointGroups []string
	// ServerEndpointGroupsCount is the number of server endpoints.
	ServerEndpointGroupsCount int `json:"ServerEndpointGroups@odata.count"`
	// Status is the status of this group.
	Status common.Status
	// VolumesCount is the number of volumes.
	// These references are replaced by the MappedVolumes array in StorageGroup.
	VolumesCount int `json:"Volumes@odata.count"`
	// VolumesAreExposed shall be set to true if storage volumes are exposed to
	// the paths defined by the client and server endpoints. The default value
	// for this property is false.
	VolumesAreExposed bool

	// ChildStorageGroupsCount is the number of child storage groups.
	ChildStorageGroupsCount int

	// ParentStorageGroupsCount is the number of parent storage groups.
	ParentStorageGroupsCount int
	// contains filtered or unexported fields
}

StorageGroup is a set of related storage entities (volumes, file systems...) The collection should be useful for managing the storage of a set of related client applications.

func GetStorageGroup

func GetStorageGroup(c common.Client, uri string) (*StorageGroup, error)

GetStorageGroup will get a StorageGroup instance from the service.

func ListReferencedStorageGroups

func ListReferencedStorageGroups(c common.Client, link string) ([]*StorageGroup, error)

ListReferencedStorageGroups gets the collection of StorageGroup from a provided reference.

func (*StorageGroup) ChildStorageGroups

func (storagegroup *StorageGroup) ChildStorageGroups() ([]*StorageGroup, error)

ChildStorageGroups gets child groups of this group.

func (*StorageGroup) ClassOfService

func (storagegroup *StorageGroup) ClassOfService() (*ClassOfService, error)

ClassOfService gets the ClassOfService that all storage in this StorageGroup conforms to.

func (*StorageGroup) ExposeVolumes

func (storagegroup *StorageGroup) ExposeVolumes() error

ExposeVolumes exposes the storage of this group via the target endpoints named in the ServerEndpointGroups to the initiator endpoints named in the ClientEndpointGroups. The property VolumesAreExposed shall be set to true when this action is completed.

func (*StorageGroup) HideVolumes

func (storagegroup *StorageGroup) HideVolumes() error

HideVolumes hides the storage of this group from the initiator endpoints named in the ClientEndpointGroups. The property VolumesAreExposed shall be set to false when this action is completed.

func (*StorageGroup) ParentStorageGroups

func (storagegroup *StorageGroup) ParentStorageGroups() ([]*StorageGroup, error)

ParentStorageGroups gets parent groups of this group.

func (*StorageGroup) UnmarshalJSON

func (storagegroup *StorageGroup) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a StorageGroup object from the raw JSON.

func (*StorageGroup) Update added in v0.5.0

func (storagegroup *StorageGroup) Update() error

Update commits updates to this object's properties to the running system.

type StoragePool

type StoragePool struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`

	// Capacity shall provide information about the actual utilization of the
	// capacity within this storage pool.
	Capacity Capacity

	// CapacitySourcesCount is the number of capacity sources.
	CapacitySourcesCount int `json:"CapacitySources@odata.count"`

	// Compressed shall contain a boolean indicator if the StoragePool is
	// currently utilizing compression or not.
	// This property has been deprecated in favor of the IsCompressed and
	// DefaultCompressionBehavior properties.
	Compressed bool
	// CompressionEnabled shall indicate whether or not compression is enabled on the storage pool.
	CompressionEnabled bool
	// Deduplicted shall contain a boolean indicator if the StoragePool is
	// currently utilizing deduplication or not.
	// This property has been deprecated in favor of the IsDeduplicated and
	// DefaultDedupeBehavior properties.
	Deduplicated bool
	// DeduplicationEnabled shall indicate whether or not deduplication is enabled on the storage pool.
	DeduplicationEnabled bool

	// DefaultCompressionBehavior shall indicate the default dedupe behavior applied to the child resource (E.g.,
	// volume or storage pool) created out of the storage pool if the 'Compressed' property is not set on the create
	// request.
	DefaultCompressionBehavior bool
	// DefaultDeduplicationBehavior shall indicate the default deduplication behavior applied to the child resource
	// (E.g., volume or storage pool) created out of the storage pool if the 'Deduplicated' property is not set on the
	// create request.
	DefaultDeduplicationBehavior bool
	// DefaultEncryptionBehavior shall indicate the default dedupe behavior applied to the child resource (E.g., volume
	// or storage pool) created out of the storage pool if the 'Encrypted' property is not set on the create request.
	DefaultEncryptionBehavior bool
	// Description provides a description of this resource.
	Description string
	// EncryptionEnabled shall indicate whether or not encryption is enabled on the storage pool.
	EncryptionEnabled bool
	// Encrypted shall contain a boolean indicator if the
	// StoragePool is currently utilizing encryption or not.
	// This property has been deprecated in favor of the IsEncrypted and DefaultEncryptionBehavior properties.
	Encrypted bool
	// IOStatistics is the value shall represent IO statistics for this
	// StoragePool.
	IOStatistics IOStatistics
	// Identifier shall be unique within the managed ecosystem.
	Identifier common.Identifier
	// LowSpaceWarningThresholdPercents is each time the following value is
	// less than one of the values in the array the
	// LOW_SPACE_THRESHOLD_WARNING event shall be triggered: Across all
	// CapacitySources entries, percent = (SUM(AllocatedBytes) -
	// SUM(ConsumedBytes))/SUM(AllocatedBytes).
	LowSpaceWarningThresholdPercents []int
	// MaxBlockSizeBytes if present, the value is the maximum block size
	// of an allocated resource. If the block size is unknown or if a block
	// concept is not valid (for example, with Memory), this property shall
	// be NULL.
	MaxBlockSizeBytes int64

	// NVMeEnduranceGroupProperties shall contain properties to use when StoragePool is used to describe an NVMe
	// Endurance Group.
	NVMeEnduranceGroupProperties NVMeEnduranceGroupProperties
	// NVMeProperties shall indicate the type of storage pool.
	NVMeProperties NVMeProperties
	// NVMeSetProperties shall contain properties to use when StoragePool is used to describe an NVMe Set.
	NVMeSetProperties NVMeSetProperties
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// RecoverableCapacitySourceCount is the value of the number of available
	// capacity source resources currently available in the event that an
	// equivalent capacity source resource fails.
	RecoverableCapacitySourceCount int
	// RemainingCapacityPercent if present, this value shall return
	// {[(SUM(AllocatedBytes) - SUM(ConsumedBytes)]/SUM(AllocatedBytes)}*100
	// represented as an integer value.
	RemainingCapacityPercent int
	// ReplicationEnabled shall indicate whether or not replication is enabled on the storage pool. If enabled for
	// pool, replication can still be disabled on individual resources (e.g., volumes) within the pool.
	ReplicationEnabled bool
	// Status is the storage pool status.
	Status common.Status
	// SupportedPoolTypes shall contain all the PoolType values supported by the storage pool.
	SupportedPoolTypes []PoolType
	// SupportedProvisioningPolicies shall specify all supported storage allocation policies for the Storage Pool.
	SupportedProvisioningPolicies []ProvisioningPolicy
	// SupportedRAIDTypes shall contain all the RAIDType values supported by the storage pool.
	SupportedRAIDTypes []RAIDType

	// DedicatedSpareDrivesCount is the number of drives.
	DedicatedSpareDrivesCount int

	// SpareResourceSetsCount is the number of spare resource sets.
	SpareResourceSetsCount int
	// contains filtered or unexported fields
}

StoragePool is a container of data storage capable of providing capacity conforming to one of its supported classes of service. The storage pool does not support IO to its data storage.

func GetStoragePool

func GetStoragePool(c common.Client, uri string) (*StoragePool, error)

GetStoragePool will get a StoragePool instance from the service.

func ListReferencedStoragePools

func ListReferencedStoragePools(c common.Client, link string) ([]*StoragePool, error)

ListReferencedStoragePools gets the collection of StoragePool from a provided reference.

func (*StoragePool) AddDrives added in v0.18.0

func (storagepool *StoragePool) AddDrives(capacitySource *CapacitySource, drives []*redfish.Drive) error

AddDrives will add an additional drive, or set of drives, to a capacity source for the storage pool.

`capacitySource` is the target capacity source for the drive(s). This property does not need to be specified if the storage pool only contains one capacity source, or if the implementation is capable of automatically selecting the appropriate capacity source. `drives` is the existing drive or drives to be added to a capacity source of the storage pool. The implementation may impose restrictions on the number of drives added simultaneously.

func (*StoragePool) AllocatedPools

func (storagepool *StoragePool) AllocatedPools() ([]*StoragePool, error)

AllocatedPools gets the storage pools allocated from this storage pool.

func (*StoragePool) AllocatedVolumes

func (storagepool *StoragePool) AllocatedVolumes() ([]*Volume, error)

AllocatedVolumes gets the volumes allocated from this storage pool.

func (*StoragePool) CapacitySources

func (storagepool *StoragePool) CapacitySources() ([]*CapacitySource, error)

CapacitySources gets space allocations to this pool.

func (*StoragePool) ClassesOfService

func (storagepool *StoragePool) ClassesOfService() ([]*ClassOfService, error)

ClassesOfService gets references to all classes of service supported by this storage pool. Capacity allocated from this storage pool shall conform to one of the referenced classes of service.

func (*StoragePool) DedicatedSpareDrives

func (storagepool *StoragePool) DedicatedSpareDrives() ([]*redfish.Drive, error)

DedicatedSpareDrives gets the Drive entities which are currently assigned as a dedicated spare and are able to support this StoragePool.

func (*StoragePool) DefaultClassOfService

func (storagepool *StoragePool) DefaultClassOfService() (*ClassOfService, error)

DefaultClassOfService gets the default ClassOfService for this pool.

func (*StoragePool) Metrics added in v0.18.0

func (storagepool *StoragePool) Metrics() (*StoragePoolMetrics, error)

Metrics gets the metrics for this storage pool.

func (*StoragePool) OwningStorageResource added in v0.18.0

func (storagepool *StoragePool) OwningStorageResource() (*redfish.Storage, error)

OwningStorageResource gets the Storage resource that owns or contains this StoragePool.

func (*StoragePool) RemoveDrives added in v0.18.0

func (storagepool *StoragePool) RemoveDrives(drives []*redfish.Drive) error

RemoveDrives will remove drive(s) from the capacity source for the StoragePool.

`drives` is the drive or drives to be removed from the underlying capacity source.

func (*StoragePool) SetCompressionState added in v0.18.0

func (storagepool *StoragePool) SetCompressionState(enable bool) error

SetCompressionState will set the compression state of the storage pool. This may be both a highly impactful, as well as a long running operation.

`enable` indicates the desired compression state of the storage pool.

func (*StoragePool) SetDeduplicationState added in v0.18.0

func (storagepool *StoragePool) SetDeduplicationState(enable bool) error

SetDeduplicationState will set the dedupe state of the storage pool. This may be both a highly impactful, as well as a long running operation.

`enable` indicates the desired deduplication state of the storage pool.

func (*StoragePool) SetEncryptionState added in v0.18.0

func (storagepool *StoragePool) SetEncryptionState(enable bool) error

SetEncryptionState set the encryption state of the storage pool. This may be both a highly impactful, as well as a long running operation.

`enable` indicates the desired encryption state of the storage pool.

func (*StoragePool) SpareResourceSets

func (storagepool *StoragePool) SpareResourceSets() ([]*SpareResourceSet, error)

SpareResourceSets gets resources that may be utilized to replace the capacity provided by a failed resource having a compatible type.

func (*StoragePool) UnmarshalJSON

func (storagepool *StoragePool) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a StoragePool object from the raw JSON.

func (*StoragePool) Update added in v0.5.0

func (storagepool *StoragePool) Update() error

Update commits updates to this object's properties to the running system.

type StoragePoolMetrics added in v0.18.0

type StoragePoolMetrics struct {
	common.Entity
	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataEtag is the odata etag.
	ODataEtag string `json:"@odata.etag"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// ConsistencyCheckErrorCount shall contain the number of consistency check errors over the lifetime of the storage
	// pool.
	ConsistencyCheckErrorCount int
	// CorrectableIOReadErrorCount shall contain the number of the correctable read errors for the lifetime of the
	// storage pool.
	CorrectableIOReadErrorCount int
	// CorrectableIOWriteErrorCount shall contain the number of the correctable write errors for the lifetime of the
	// storage pool.
	CorrectableIOWriteErrorCount int
	// Description provides a description of this resource.
	Description string
	// IOStatistics shall represent IO statistics for this storage pool.
	IOStatistics IOStatistics
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// RebuildErrorCount shall contain the number of rebuild errors over the lifetime of the storage pool.
	RebuildErrorCount int
	// StateChangeCount shall contain the number of state changes (changes in Status.State) for this storage pool.
	StateChangeCount int
	// UncorrectableIOReadErrorCount shall contain the number of the uncorrectable read errors for the lifetime of the
	// storage pool.
	UncorrectableIOReadErrorCount int
	// UncorrectableIOWriteErrorCount shall contain the number of the uncorrectable write errors for the lifetime of
	// the storage pool.
	UncorrectableIOWriteErrorCount int
}

StoragePoolMetrics shall contain the usage and health statistics for a storage pool in a Redfish implementation.

func GetStoragePoolMetrics added in v0.18.0

func GetStoragePoolMetrics(c common.Client, uri string) (*StoragePoolMetrics, error)

GetStoragePoolMetrics will get a StoragePoolMetrics instance from the service.

func ListReferencedStoragePoolMetricss added in v0.18.0

func ListReferencedStoragePoolMetricss(c common.Client, link string) ([]*StoragePoolMetrics, error)

ListReferencedStoragePoolMetricss gets the collection of StoragePoolMetrics from a provided reference.

type StorageReplicaInfo

type StorageReplicaInfo struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
}

StorageReplicaInfo is

func GetStorageReplicaInfo

func GetStorageReplicaInfo(c common.Client, uri string) (*StorageReplicaInfo, error)

GetStorageReplicaInfo will get a StorageReplicaInfo instance from the service.

func ListReferencedStorageReplicaInfos

func ListReferencedStorageReplicaInfos(c common.Client, link string) ([]*StorageReplicaInfo, error)

ListReferencedStorageReplicaInfos gets the collection of StorageReplicaInfo from a provided reference.

type StorageService

type StorageService struct {
	common.Entity

	// ODataContext is
	ODataContext string `json:"@odata.context"`
	// ODataEtag is
	// ODataId is
	// ODataType is
	ODataType string `json:"@odata.type"`
	// Description is a description for this StorageService.
	Description string
	// Identifier identifies this resource. The value shall be
	// unique within the managed ecosystem.
	Identifier common.Identifier
	// RedundancyCount is the Redundancy collection object count.
	RedundancyCount int `json:"Redundancy@odata.count"`
	// SpareResourceSetsCount is the number of SpareResourceSet objects.
	SpareResourceSetsCount int `json:"SpareResourceSets@odata.count"`
	// Status is the StorageService status.
	Status common.Status

	// IOStatistics shall represent IO statistics for this StorageService.
	IOStatistics IOStatistics

	// LinesOfServiceCount is the number of lines of service.
	LinesOfServiceCount int `json:"LinesOfService@odata.count"`

	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// contains filtered or unexported fields
}

StorageService is a collection of resources that the system can make available to one or more host systems. The collection can contain: block, file, or object storage; local system access points through which the collection is made available; hosts, or host access points to which the collection is made available.

func GetStorageService

func GetStorageService(c common.Client, uri string) (*StorageService, error)

GetStorageService will get a StorageService instance from the service.

func ListReferencedStorageServices

func ListReferencedStorageServices(c common.Client, link string) ([]*StorageService, error)

ListReferencedStorageServices gets the collection of StorageService from a provided reference.

func (*StorageService) ClassesOfService

func (storageservice *StorageService) ClassesOfService() ([]*ClassOfService, error)

ClassesOfService gets the storage service's classes of service.

func (*StorageService) DataProtectionLoSCapabilities

func (storageservice *StorageService) DataProtectionLoSCapabilities() (*DataProtectionLoSCapabilities, error)

DataProtectionLoSCapabilities gets the storage service's data protection capabilities.

func (*StorageService) DataSecurityLoSCapabilities

func (storageservice *StorageService) DataSecurityLoSCapabilities() (*DataSecurityLoSCapabilities, error)

DataSecurityLoSCapabilities gets the storage service's data security capabilities.

func (*StorageService) DataStorageLoSCapabilities

func (storageservice *StorageService) DataStorageLoSCapabilities() (*DataStorageLoSCapabilities, error)

DataStorageLoSCapabilities references the data storage capabilities of this service.

func (*StorageService) DefaultClassOfService

func (storageservice *StorageService) DefaultClassOfService() (*ClassOfService, error)

DefaultClassOfService references the default class of service for entities allocated by this storage service.

func (*StorageService) Drives

func (storageservice *StorageService) Drives() ([]*redfish.Drive, error)

Drives gets the storage service's drives.

func (*StorageService) EndpointGroups

func (storageservice *StorageService) EndpointGroups() ([]*EndpointGroup, error)

EndpointGroups gets the storage service's endpoint groups.

func (*StorageService) Endpoints

func (storageservice *StorageService) Endpoints() ([]*redfish.Endpoint, error)

Endpoints gets the storage service's endpoints.

func (*StorageService) FileSystems

func (storageservice *StorageService) FileSystems() ([]*FileSystem, error)

FileSystems gets all filesystems available through this storage service.

func (*StorageService) IOConnectivityLoSCapabilities

func (storageservice *StorageService) IOConnectivityLoSCapabilities() (*IOConnectivityLoSCapabilities, error)

IOConnectivityLoSCapabilities references the IO connectivity capabilities of this service.

func (*StorageService) IOPerformanceLoSCapabilities

func (storageservice *StorageService) IOPerformanceLoSCapabilities() (*IOPerformanceLoSCapabilities, error)

IOPerformanceLoSCapabilities references the IO performance capabilities of this service.

func (*StorageService) LinesOfService added in v0.18.0

func (storageservice *StorageService) LinesOfService() ([]*LineOfService, error)

LinesOfService gets lines of service for this service.

func (*StorageService) Metrics added in v0.18.0

func (storageservice *StorageService) Metrics() (*StorageServiceMetrics, error)

Metrics gets the metrics for this storage pool.

func (*StorageService) Redundancy

func (storageservice *StorageService) Redundancy() ([]*redfish.Redundancy, error)

Redundancy gets the redundancy information for the storage subsystem.

func (*StorageService) SetEncryptionKey

func (storageservice *StorageService) SetEncryptionKey(key string) error

SetEncryptionKey shall set the encryption key for the storage subsystem.

func (*StorageService) SpareResourceSets

func (storageservice *StorageService) SpareResourceSets() ([]*SpareResourceSet, error)

SpareResourceSets gets resources that may be utilized to replace the capacity provided by a failed resource having a compatible type.

func (*StorageService) StorageGroups

func (storageservice *StorageService) StorageGroups() ([]*StorageGroup, error)

StorageGroups gets the storage groups that are a part of this storage service.

func (*StorageService) UnmarshalJSON

func (storageservice *StorageService) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a StorageService object from the raw JSON.

func (*StorageService) Update added in v0.18.0

func (storageservice *StorageService) Update() error

Update commits updates to this object's properties to the running system.

func (*StorageService) Volumes

func (storageservice *StorageService) Volumes() ([]*Volume, error)

Volumes gets the volumes that are a part of this storage service.

type StorageServiceMetrics added in v0.18.0

type StorageServiceMetrics struct {
	common.Entity
	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataEtag is the odata etag.
	ODataEtag string `json:"@odata.etag"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string
	// IOStatistics shall represent IO statistics for this storage service.
	IOStatistics IOStatistics
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
}

StorageServiceMetrics shall contain the usage and health statistics for a storage service in a Redfish implementation.

func GetStorageServiceMetrics added in v0.18.0

func GetStorageServiceMetrics(c common.Client, uri string) (*StorageServiceMetrics, error)

GetStorageServiceMetrics will get a StorageServiceMetrics instance from the service.

func ListReferencedStorageServiceMetricss added in v0.18.0

func ListReferencedStorageServiceMetricss(c common.Client, link string) ([]*StorageServiceMetrics, error)

ListReferencedStorageServiceMetricss gets the collection of StorageServiceMetrics from a provided reference.

type StorageSystem

type StorageSystem struct {
	redfish.ComputerSystem
}

StorageSystem is a Swordfish storage system instance.

func GetStorageSystem

func GetStorageSystem(c common.Client, uri string) (*StorageSystem, error)

GetStorageSystem will get a StorageSystem instance from the Swordfish service.

func ListReferencedStorageSystems

func ListReferencedStorageSystems(c common.Client, link string) ([]*StorageSystem, error)

ListReferencedStorageSystems gets the collection of StorageSystems.

type SupportedFeature added in v0.18.0

type SupportedFeature struct {
	// CorrespondingProfileDefinition shall define a profile definition that contains the named profile declaration.
	CorrespondingProfileDefinition string
	// Description provides a description of this resource.
	Description string
	// FeatureName shall be the unique name of the feature prefixed by the defining organization separated by a period
	// (e.g. 'vendor.feature').
	FeatureName string
	// Version shall uniquely identify the version of the feature, using the major.minor.errata format.
	Version string
}

SupportedFeature shall name a feature.

type UndiscoveredElement

type UndiscoveredElement string

UndiscoveredElement is used to specify whether the source, the target, or both elements involved in a copy operation are undiscovered. An element shall be considered undiscovered if its object model is not known to the service performing the copy operation.

const (
	// SourceElementUndiscoveredElement shall indicate that the source
	// element is undiscovered.
	SourceElementUndiscoveredElement UndiscoveredElement = "SourceElement"
	// ReplicaElementUndiscoveredElement shall indicate that the replica
	// element is undiscovered.
	ReplicaElementUndiscoveredElement UndiscoveredElement = "ReplicaElement"
)

type Volume

type Volume struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// ALUA shall identify the ALUA properties for this volume.
	ALUA ALUA
	// AccessCapabilities shall specify a current storage access capability.
	AccessCapabilities []StorageAccessCapability

	// BlockSizeBytes shall contain size of the smallest
	// addressable unit of the associated volume.
	BlockSizeBytes int
	// Capacity is Information about the utilization of capacity allocated to
	// this storage volume.
	Capacity Capacity
	// CapacityBytes shall contain the size in bytes of the
	// associated volume.
	CapacityBytes int64

	// CapacitySourcesCount is the number of capacity sources.
	CapacitySourcesCount int `json:"CapacitySources@odata.count"`
	// Compressed shall contain a boolean indicator if the Volume is currently
	// utilizing compression or not.
	Compressed bool

	// ConnectionsCount is the number of connections.
	ConnectionsCount int `json:"Connections@odata.count"`
	// Deduplicated shall contain a boolean indicator if the Volume is currently
	// utilizing deduplication or not.
	Deduplicated bool
	// Description provides a description of this resource.
	Description string
	// DisplayName shall contain a user-configurable string to name the volume.
	DisplayName string
	// Encrypted shall contain a boolean indicator if the
	// Volume is currently utilizing encryption or not.
	Encrypted bool
	// EncryptionTypes is the type of encryption used by this Volume.
	EncryptionTypes []redfish.EncryptionTypes
	// IOPerfModeEnabled shall indicate whether IO performance mode is enabled for the volume.
	IOPerfModeEnabled bool
	// Identifiers shall contain a list of all known durable
	// names for the associated volume.
	Identifiers []common.Identifier
	// InitializeMethod shall indicate the initialization method used for this volume. If InitializeMethod is not
	// specified, the InitializeMethod should be Foreground. This value reflects the most recently used Initialization
	// Method, and may be changed using the Initialize Action.
	InitializeMethod InitializeMethod
	// IsBootCapable shall indicate whether or not the Volume contains a boot image and is capable of booting. This
	// property may be settable by an admin or client with visibility into the contents of the volume. This property
	// should only be set to true when VolumeUsage is either not specified, or when VolumeUsage is set to Data or
	// SystemData.
	IsBootCapable bool
	// LogicalUnitNumber shall contain host-visible LogicalUnitNumber assigned
	// to this Volume. This property shall only be used when in a single connect
	// configuration and no StorageGroup configuration is used.
	LogicalUnitNumber int
	// LowSpaceWarningThresholdPercents is Each time the following value is
	// less than one of the values in the array the
	// LOW_SPACE_THRESHOLD_WARNING event shall be triggered: Across all
	// CapacitySources entries, percent = (SUM(AllocatedBytes) -
	// SUM(ConsumedBytes))/SUM(AllocatedBytes).
	LowSpaceWarningThresholdPercents []int
	// Manufacturer shall contain a value that represents
	// the manufacturer or implementer of the storage volume.
	Manufacturer string
	// MaxBlockSizeBytes shall contain size of the largest
	// addressable unit of this storage volume.
	MaxBlockSizeBytes int
	// MediaSpanCount shall indicate the number of media elements used per span
	// in the secondary RAID for a hierarchical RAID type.
	MediaSpanCount int

	// Model is The value is assigned by the manufacturer and shall
	// represents a specific storage volume implementation.
	Model string
	// NVMeNamespaceProperties shall contain properties to use when Volume is used to describe an NVMe Namespace.
	NVMeNamespaceProperties NVMeNamespaceProperties
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// Operations shall contain a list of all operations currently
	// running on the Volume.
	Operations []common.Operations
	// OptimumIOSizeBytes shall contain the optimum IO size
	// to use when performing IO on this volume. For logical disks, this is
	// the stripe size. For physical disks, this describes the physical
	// sector size.
	OptimumIOSizeBytes int
	// ProvisioningPolicy shall specify the volume's supported storage
	// allocation policy.
	ProvisioningPolicy ProvisioningPolicy
	// RAIDType shall contain the RAID type of the associated Volume.
	RAIDType RAIDType
	// ReadCachePolicy shall contain a boolean indicator of the read cache
	// policy for the Volume.
	ReadCachePolicy ReadCachePolicyType
	// RecoverableCapacitySourceCount is the number of available
	// capacity source resources currently available in the event that an
	// equivalent capacity source resource fails.
	RecoverableCapacitySourceCount int
	// RemainingCapacityPercent is if present, this value shall return
	// {[(SUM(AllocatedBytes) - SUM(ConsumedBytes)]/SUM(AllocatedBytes)}*100
	// represented as an integer value.
	RemainingCapacityPercent int
	// RemoteReplicaTargets shall reference the URIs to the remote target replicas that are sourced by this replica.
	// Remote indicates that the replica is managed by a separate Swordfish service instance.
	RemoteReplicaTargets []string
	// ReplicaInfo shall describe the replica relationship between this storage volume and a corresponding source
	// volume.
	ReplicaInfo ReplicaInfo

	// ReplicaTargetsCount is the number of replica targets.
	ReplicaTargetsCount int `json:"ReplicaTargets@odata.count"`
	// ReplicationEnabled shall indicate whether or not replication is enabled on the volume. This property shall be
	// consistent with the state reflected at the storage pool level.
	ReplicationEnabled bool
	// Status shall contain the status of the Volume.
	Status common.Status
	// StripSizeBytes is the number of consecutively addressed virtual disk
	// blocks (bytes) mapped to consecutively addressed blocks on a single
	// member extent of a disk array. Synonym for stripe depth and chunk
	// size.
	StripSizeBytes int
	// VolumeUsage shall contain the volume usage type for the Volume.
	VolumeUsage VolumeUsageType
	// WriteCachePolicy shall contain a boolean indicator of the write cache
	// policy for the Volume.
	WriteCachePolicy WriteCachePolicyType
	// WriteCacheState shall contain the WriteCacheState policy setting for the
	// Volume.
	WriteCacheState WriteCacheStateType
	// WriteHoleProtectionPolicy specifies the policy that is enabled to address
	// the write hole issue on the RAID volume. If no policy is enabled at the
	// moment, this property shall be set to 'Off'.
	WriteHoleProtectionPolicy WriteHoleProtectionPolicyType

	// CacheDatavolumesCount is the number of cache data volumes.
	CacheDataVolumesCount int

	// ClientEndpointsCount is the number of client endpoints.
	ClientEndpointsCount int

	// ConsistencyGroupsCount is the number of consistency groups associated with this volume.
	ConsistencyGroupsCount int

	// ControllersCount is the number of storage controllers associated with this volume.
	ControllersCount int

	// DedicatedSpareDrivesCount is the number of dedicates spare drives
	DedicatedSpareDrivesCount int

	// DrivesCount is the number of associated drives.
	DrivesCount int

	// ServerEndpointsCount is the number of server endpoints this volume is associated with.
	ServerEndpointsCount int

	// SpareResourceSetsCount is the number of spare resources sets.
	SpareResourceSetsCount int

	// StorageGroupsCount is the number of storage groups associated with this volume.
	StorageGroupsCount int
	// contains filtered or unexported fields
}

Volume is used to represent a volume, virtual disk, logical disk, LUN, or other logical storage for a Redfish implementation.

func GetVolume

func GetVolume(c common.Client, uri string) (*Volume, error)

GetVolume will get a Volume instance from the service.

func ListReferencedVolumes

func ListReferencedVolumes(c common.Client, link string) ([]*Volume, error)

ListReferencedVolumes gets the collection of Volume from a provided reference.

func (*Volume) AllocatedPools added in v0.18.0

func (volume *Volume) AllocatedPools() ([]*StoragePool, error)

AllocatedPools gets the storage pools that associated with this volume.

func (*Volume) AssignReplicaTarget

func (volume *Volume) AssignReplicaTarget(replicaType ReplicaType, updateMode ReplicaUpdateMode, targetVolumeODataID string) error

AssignReplicaTarget is used to establish a replication relationship by assigning an existing volume to serve as a target replica for an existing source volume.

func (*Volume) CacheDataVolumes added in v0.18.0

func (volume *Volume) CacheDataVolumes() ([]*Volume, error)

CacheDataVolumes gets the data volumes this volume serves as a cache volume.

func (*Volume) CacheVolumeSource added in v0.18.0

func (volume *Volume) CacheVolumeSource() (*Volume, error)

CacheVolumeSources gets the cache volume source for this volume.

func (*Volume) CapacitySources

func (volume *Volume) CapacitySources() ([]*CapacitySource, error)

CapacitySources gets the space allocations to this volume.

func (*Volume) CheckConsistency

func (volume *Volume) CheckConsistency() error

CheckConsistency is used to force a check of the Volume's parity or redundant data to ensure it matches calculated values.

func (*Volume) ClassOfService

func (volume *Volume) ClassOfService() (*ClassOfService, error)

ClassOfService gets the class of service that this storage volume conforms to.

func (*Volume) ClientEndpoints added in v0.18.0

func (volume *Volume) ClientEndpoints() ([]*redfish.Endpoint, error)

ClientEndpoints gets the client Endpoints associated with this volume.

func (*Volume) Connections added in v0.18.0

func (volume *Volume) Connections() ([]*redfish.Connection, error)

Connections gets the connections that include this volume.

func (*Volume) ConsistencyGroups added in v0.18.0

func (volume *Volume) ConsistencyGroups() ([]*ConsistencyGroup, error)

ConsistencyGroups gets the ConsistencyGroups associated with this volume.

func (*Volume) Controllers added in v0.18.0

func (volume *Volume) Controllers() ([]*redfish.StorageController, error)

Controllers gets the controllers (of type StorageController) associated with this volume. When the volume is of type NVMe, these may be both the physical and logical controller representations.

func (*Volume) DedicatedSpareDrives

func (volume *Volume) DedicatedSpareDrives() ([]*redfish.Drive, error)

DedicatedSpareDrives references the Drives that are dedicated spares for this volume.

func (*Volume) Drives

func (volume *Volume) Drives() ([]*redfish.Drive, error)

Drives references the Drives that are associated with this volume.

func (*Volume) Initialize

func (volume *Volume) Initialize(initType InitializeType) error

Initialize is used to prepare the contents of the volume for use by the system.

func (*Volume) Metrics added in v0.18.0

func (volume *Volume) Metrics() (*VolumeMetrics, error)

Metrics gets the metrics for this volume. IO metrics are reported in the IOStatistics property.

func (*Volume) OwningStorageResource added in v0.18.0

func (volume *Volume) OwningStorageResource() (*redfish.Storage, error)

OwningStorageResource gets the Storage resource that owns or contains this volume.

func (*Volume) OwningStorageService added in v0.18.0

func (volume *Volume) OwningStorageService() (*StorageService, error)

OwningStorageService gets the StorageService that owns or contains this volume.

func (*Volume) ProvidingStoragePool added in v0.18.0

func (volume *Volume) ProvidingStoragePool() (*StoragePool, error)

ProvidingStoragePool gets the StoragePool resource that provides this volume resource.

func (*Volume) RemoveReplicaRelationship

func (volume *Volume) RemoveReplicaRelationship(deleteTarget bool, targetVolumeODataID string) error

RemoveReplicaRelationship is used to disable data synchronization between a source and target volume, remove the replication relationship, and optionally delete the target volume.

func (*Volume) ResumeReplication

func (volume *Volume) ResumeReplication(targetVolumeODataID string) error

ResumeReplication is used to resume the active data synchronization between a source and target volume, without otherwise altering the replication relationship.

func (*Volume) ReverseReplicationRelationship

func (volume *Volume) ReverseReplicationRelationship(targetVolumeODataID string) error

ReverseReplicationRelationship is used to reverse the replication relationship between a source and target volume.

func (*Volume) ServerEndpoints added in v0.18.0

func (volume *Volume) ServerEndpoints() ([]*redfish.Endpoint, error)

ServerEndpoints gets the server Endpoints associated with this volume.

func (*Volume) SpareResourceSets

func (volume *Volume) SpareResourceSets() ([]*SpareResourceSet, error)

SpareResourceSets gets the spare resources that can be used for this volume.

func (*Volume) SplitReplication

func (volume *Volume) SplitReplication(targetVolumeODataID string) error

SplitReplication is used to split the replication relationship and suspend data synchronization between a source and target volume.

func (*Volume) StorageGroups

func (volume *Volume) StorageGroups() ([]*StorageGroup, error)

StorageGroups gets the storage groups that associated with this volume. This property is deprecated in favor of the Connections property.

func (*Volume) SuspendReplication

func (volume *Volume) SuspendReplication(targetVolumeODataID string) error

SuspendReplication is used to suspend active data synchronization between a source and target volume, without otherwise altering the replication relationship.

func (*Volume) UnmarshalJSON

func (volume *Volume) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Volume object from the raw JSON.

func (*Volume) Update added in v0.5.0

func (volume *Volume) Update() error

Update commits updates to this object's properties to the running system.

type VolumeMetrics added in v0.18.0

type VolumeMetrics struct {
	common.Entity
	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataEtag is the odata etag.
	ODataEtag string `json:"@odata.etag"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// ConsistencyCheckCount shall contain the number of consistency checks completed over the lifetime of the volume.
	ConsistencyCheckCount int64
	// ConsistencyCheckErrorCount shall contain the number of consistency check errors over the lifetime of the volume.
	ConsistencyCheckErrorCount int64
	// CorrectableIOReadErrorCount shall contain the number of the correctable read errors for the lifetime of the
	// volume.
	CorrectableIOReadErrorCount int64
	// CorrectableIOWriteErrorCount shall contain the number of the correctable write errors for the lifetime of the
	// volume.
	CorrectableIOWriteErrorCount int64
	// Description provides a description of this resource.
	Description string
	// IOStatistics shall represent IO statistics for this volume.
	IOStatistics IOStatistics
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// RebuildErrorCount shall contain the number of rebuild errors over the lifetime of the volume.
	RebuildErrorCount int64
	// StateChangeCount shall contain the number of state changes (changes in Status.State) for this volume.
	StateChangeCount int64
	// UncorrectableIOReadErrorCount shall contain the number of the uncorrectable read errors for the lifetime of the
	// volume.
	UncorrectableIOReadErrorCount int64
	// UncorrectableIOWriteErrorCount shall contain the number of the uncorrectable write errors for the lifetime of
	// the volume.
	UncorrectableIOWriteErrorCount int64
}

VolumeMetrics shall contain the usage and health statistics for a volume in a Redfish implementation.

func GetVolumeMetrics added in v0.18.0

func GetVolumeMetrics(c common.Client, uri string) (*VolumeMetrics, error)

GetVolumeMetrics will get a VolumeMetrics instance from the service.

func ListReferencedVolumeMetricss added in v0.18.0

func ListReferencedVolumeMetricss(c common.Client, link string) ([]*VolumeMetrics, error)

ListReferencedVolumeMetricss gets the collection of VolumeMetrics from a provided reference.

type VolumeUsageType added in v0.5.0

type VolumeUsageType string

VolumeUsageType is the type of volume usage.

const (

	// DataVolumeUsageType shall be allocated for use as a consumable data
	// volume.
	DataVolumeUsageType VolumeUsageType = "Data"
	// SystemDataVolumeUsageType shall be allocated for use as a consumable
	// data volume reserved for system use.
	SystemDataVolumeUsageType VolumeUsageType = "SystemData"
	// CacheOnlyVolumeUsageType shall be allocated for use as a non-
	// consumable cache only volume.
	CacheOnlyVolumeUsageType VolumeUsageType = "CacheOnly"
	// SystemReserveVolumeUsageType shall be allocated for use as a non-
	// consumable system reserved volume.
	SystemReserveVolumeUsageType VolumeUsageType = "SystemReserve"
	// ReplicationReserveVolumeUsageType shall be allocated for use as a non-
	// consumable reserved volume for replication use.
	ReplicationReserveVolumeUsageType VolumeUsageType = "ReplicationReserve"
)

type WriteCachePolicyType added in v0.5.0

type WriteCachePolicyType string

WriteCachePolicyType is the type of write cache policy.

const (

	// WriteThroughWriteCachePolicyType A caching technique in which the
	// completion of a write request is not signaled until data is safely
	// stored on non-volatile media.
	WriteThroughWriteCachePolicyType WriteCachePolicyType = "WriteThrough"
	// ProtectedWriteBackWriteCachePolicyType A caching technique in which
	// the completion of a write request is signaled as soon as the data is
	// in cache, and actual writing to non-volatile media is guaranteed to
	// occur at a later time.
	ProtectedWriteBackWriteCachePolicyType WriteCachePolicyType = "ProtectedWriteBack"
	// UnprotectedWriteBackWriteCachePolicyType A caching technique in which
	// the completion of a write request is signaled as soon as the data is
	// in cache; actual writing to non-volatile media is not guaranteed to
	// occur at a later time.
	UnprotectedWriteBackWriteCachePolicyType WriteCachePolicyType = "UnprotectedWriteBack"
	// OffWriteCachePolicyType shall be disabled.
	OffWriteCachePolicyType WriteCachePolicyType = "Off"
)

type WriteCacheStateType added in v0.5.0

type WriteCacheStateType string

WriteCacheStateType is the write cache state.

const (

	// UnprotectedWriteCacheStateType Indicates that the cache state type in
	// use generally does not protect write requests on non-volatile media.
	UnprotectedWriteCacheStateType WriteCacheStateType = "Unprotected"
	// ProtectedWriteCacheStateType Indicates that the cache state type in
	// use generally protects write requests on non-volatile media.
	ProtectedWriteCacheStateType WriteCacheStateType = "Protected"
	// DegradedWriteCacheStateType Indicates an issue with the cache state in
	// which the cache space is diminished or disabled due to a failure or an
	// outside influence such as a discharged battery.
	DegradedWriteCacheStateType WriteCacheStateType = "Degraded"
)

type WriteHoleProtectionPolicyType added in v0.5.0

type WriteHoleProtectionPolicyType string

WriteHoleProtectionPolicyType is the write hole protection policy.

const (

	// OffWriteHoleProtectionPolicyType The support for addressing the write
	// hole issue is disabled. The volume is not performing any additional
	// activities to close the RAID write hole.
	OffWriteHoleProtectionPolicyType WriteHoleProtectionPolicyType = "Off"
	// JournalingWriteHoleProtectionPolicyType The policy that uses separate
	// block device for write-ahead logging to adddress write hole issue. All
	// write operations on the RAID volume are first logged on dedicated
	// journaling device that is not part of the volume.
	JournalingWriteHoleProtectionPolicyType WriteHoleProtectionPolicyType = "Journaling"
	// DistributedLogWriteHoleProtectionPolicyType The policy that
	// distributes additional log (e.q. cheksum of the parity) among the
	// volume's capacity sources to address write hole issue. Additional data
	// is used to detect data corruption on the volume.
	DistributedLogWriteHoleProtectionPolicyType WriteHoleProtectionPolicyType = "DistributedLog"
	// OEMWriteHoleProtectionPolicyType The policy that is Oem specific. The
	// mechanism details are unknown unless provided separatly by the Oem.
	OEMWriteHoleProtectionPolicyType WriteHoleProtectionPolicyType = "Oem"
)

Jump to

Keyboard shortcuts

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