Swordfish Scalable Storage Management API Specification

Swordfish Scalable Storage Management API Specification

Version 1.2.1

ABSTRACT: The Swordfish Scalable Storage Management API defines a RESTful interface and a standardized data model to provide a scalable, customer-centric interface for managing storage and related data services.

Publication of this Working Draft for review and comment has been approved by the Scalable Storage Management Technical Work Group. This draft represents a ‘best effort’ attempt by the Scalable Storage Management Technical Work Group to reach preliminary consensus, and it may be updated, replaced, or made obsolete at any time. This document should not be used as reference material or cited as other than a ‘work in progress.’ Suggestions for revision should be directed to http://www.snia.org/feedback.

Working Draft

Last Updated 18 August 2020

USAGE

Copyright (c) 2016 - 2020 SNIA. All rights reserved. All other trademarks or registered trademarks are the property of their respective owners.

The SNIA hereby grants permission for individuals to use this document for personal use only, and for corporations and other business entities to use this document for internal use only (including internal copying, distribution, and display) provided that:

  1. Any text, diagram, chart, table or definition reproduced must be reproduced in its entirety with no alteration, and,

  2. Any document, printed or electronic, in which material from this document (or any portion hereof) is reproduced must acknowledge the SNIA copyright on that material, and must credit the SNIA for granting permission for its reuse.

Other than as explicitly provided above, you may not make any commercial use of this document, or any portion thereof, or distribute this document to third parties. All rights not explicitly granted are expressly reserved to SNIA.

Permission to use this document for purposes other than those enumerated above may be requested by emailing tcmd@snia.org. Please include the identity of the requesting individual and/or company and a brief description of the purpose, nature, and scope of the requested use.

All code fragments, scripts, data tables, and sample code in this SNIA document are made available under the following license:

BSD 3-Clause Software License

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

DISCLAIMER

The information contained in this publication is subject to change without notice. The SNIA makes no warranty of any kind with regard to this specification, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The SNIA shall not be liable for errors contained herein or for incidental or consequential damages in connection with the furnishing, performance, or use.

Suggestions for revisions should be directed to http://www.snia.org/feedback/.

Revision History

The evolution of this document is summarized in Table 1.

Table 1: Revision history
Date Revision Notes
19 September 2016 1.0.0 Initial Release
12 October 2016 1.0.1 Errata release for general clean up and formatting consistency
1 November 2016 1.0.2 Errata release to change multiple collections’ types from collections (arrays) to ResourceCollections to conform to Redfish usage guidelines
Change multiple collections’ types from collections (arrays) to ResourceCollections to conform to Redfish usage guidelines and move NavigationProperties from Links section.
24 January 2017 1.0.3 Errata release to move complex types and enum to versioned namespace
Schedule schema: add property
json schema fix (Swordfish to swordfish)
Specification enhancements, multiple areas
User’s guide: multiple new use cases and new document section
25 April 2017 1.0.4 Errata release with minor updates to schema: move FileShare collection, integrate DMTF and SNIA versions of Volume, fix incorrect property references and update descriptions. Update mockups. User’s guide: Update cross-references.
3 October 2017 1.0.5 Errata release to include schema simplifications and other lessons from initial implementations, as well as general cleanup of specification.
13 February 2018 1.0.6 Updated Storage Systems model – added notion of Integrated Service Configuration in addition to (and named) Hosted Service Configuration
Added ComplexType common definition section
Added/updated common Redfish property definitions
Updates to conform to new SNIA templates.
12 October 2018 1.0.7 Enhanced Spare Capacity Management Model; Deprecated Remaining Capacity
Added OpenAPI support: schema references and OpenAPI YAML files
Added iSCSI properties for CHAP
Event usage enhancements and guidance
Volume schema updates – RAID Type enum (deprecating VolumeType usage), add ReplicaTargets
Schema updates: Annotations enhancements: Capabilities designations, owning entities, Redfish.Required usage
Clarified and updated ClassOfService IsDefault property usage
Updated Capabilities location in hierarchy
Fix cardinality issue of StorageReplicaInfo usage in StorageGroups and Volume
Consolidate Client and Server Endpoint Groups into single Endpoint Group entity (deprecate usage of separate Client Endpoint Group and Server Endpoint Group)
Add MappedVolume construct to StorageGroup – adds LUN info and other properties
Clarified and updated ClassOfService IsDefault property usage
Updated Capabilities location in hierarchy
Fix cardinality issue of StorageReplicaInfo usage in StorageGroups and Volume
Consolidate Client and Server Endpoint Groups into single Endpoint Group entity (deprecate usage of separate Client Endpoint Group and Server Endpoint Group)
Add MappedVolume construct to StorageGroup – adds LUN info and other properties
8 November 2018 1.0.7a Restored RAIDType property that was missing from 1.0.7
Minor correction to schema versioning
22 August 2019 1.1.0 Restructured to add features and profiles
    Add description of SupportedFeatures usage and requirements
12 November 2019 1.1.0 Released as Technical Position
12 November 2019 1.1.0a Released as Corrected Technical Position
    Formatting fixes – word wrap in pdf doc format to fix truncated lines
    Consistent object labeling in images (replace drive with disk)
    Editorial and grammar changes and cleanup to status code guidance section
24 March 2020 1.1.0b Released as Corrected Technical Position
TLS requirements now based on both ISO and SNIA standards
Redfish references now based on both ISO and SNIA standards
Bibliography added
29 May 2020 1.2.0 Note: This release is done in conjunction with the DMTF’s Redfish Forum Work-in-Progress June 2020 release of DSP-IS0014 (v0.95), which contains multiple schema to support this work. Both are released as Working Drafts / work-in-progress for public review, and plan simultaneous releases in early fall 2020 to support full technical specification level capability and availability.
Functionality availability in Swordfish includes:
• Enhancements to Volume, StoragePools
• New schema: NVMeDomain
Other supporting documentation released in conjunction with this specification and schema bundle:
• Multiple mockups reflecting multiple implementation permutation options (available on swordfishmockups.com)
• Model overview documentation (NVMe to RF/SF Model Mapping Working Draft, dated May 2020)
18 August 2020 1.2.1 Note: This release is done in conjunction with the DMTF’s Redfish Forum 2020.3 Release of the Redfish Specification, schema bundle and other supporting materials.
Functionality availability in Swordfish includes:
• NVMe Mapping Support, Enhancements to Volume, StoragePools
Additional Enhancements in the Specification and schema:
• Added InitializeMethod property to Volume.
• Made DedicateSpareDrives ReadWrite-able
• Added enhanced Volume Access Capabilities and usage in StorageGroup.
• Fix multiple URI issues across various schema.
Updated formatting of tables to support automatic table numbering and ISO compatible table representation.

Current Revision

SNIA is actively engaged in expanding and refining the Swordfish specification. The most current revision can be found on the SNIA web site at https://www.snia.org/tech_activities/standards/curr_standards/swordfish.

Contact SNIA

Current SNIA practice is to make updates and other information available through their web site at http://www.snia.org.

FEEDBACK AND INTERPRETATIONS

Requests for interpretation, suggestions for improvement and addenda, or defect reports are welcome. They should be sent via the SNIA Feedback Portal at http://www.snia.org/feedback/ or by mail to the Storage Networking Industry Association, 4360 ArrowsWest Drive, Colorado Springs, Colorado 80907, U.S.A.

INTENDED AUDIENCE

This document is intended for use by individuals and companies engaged in storage management.

VERSIONING POLICY

This document is versioned material. Versioned material shall have a three-level revision identifier, comprised of a version number ‘v’, a release number ‘r’ and an errata number ‘e’. Future publications of this document are subject to specific constraints on the scope of change that is permissible from one revision to the next and the degree of interoperability and backward compatibility that should be assumed between products designed to this standard. This versioning policy applies to all SNIA Swordfish versioned materials.

Version Number: Versioned material having version number ‘v’ shall be backwards compatible with all of revisions of that material that have the same version number ‘v’. There is no assurance of interoperability or backward compatibility between revisions of a versioned material with different version numbers.

Release Number: Versioned material with a version number ‘v’ and release number ‘r’ shall be backwards compatible with previous revisions of the material with the same version number, and a lower release number. A minor revision represents a technical change to existing content or an adjustment to the scope of the versioned material. Each minor revision causes the release number to be increased by one.

Errata Number: Versioned material having version number ‘v’, a release number ‘r’, and an errata number ‘e’ should be backwards compatible with previous revisions of the material with the same version number and release number (“errata versions”). An errata revision of versioned material is limited to minor corrections or clarifications of existing versioned material. An errata revision may be backwards incompatible, if the incompatibility is necessary for correct operation of implementations of the versioned material.

About SNIA

The Storage Networking Industry Association (SNIA) is a non-profit organization made up of member companies spanning information technology. A globally recognized and trusted authority, SNIA’s mission is to lead the storage industry in developing and promoting vendor-neutral architectures, standards and educational services that facilitate the efficient management, movement and security of information.

Acknowledgements

The SNIA Scalable Storage Management Technical Work Group, which developed and reviewed this work in progress, would like to recognize the significant contributions made by the following members listed in Table 2.

Table 2: Contributors
Member Representatives
(* – prior employer)
Broadcom Inc. Richelle Ahlvers
Cisco Systems, Inc. Krishnakumar Gowravaram
Dell Inc. Patrick Boyd
George Ericson
Sean McGinnis
Michael Raineri
Rich Roscoe
Futurewei Inc. Sean McGinnis*
Hitachi Data Systems Eric Hibbard
Hewlett Packard Enterprise Jeff Hilland
Chris Lionetti
John Mendonca
Doug Voigt
Inova Development Inc. Karl Schopmeyer
Intel Corporation Klaudia Jablonska
Mariusz Krzywienski
Mateusz Mania
Slawek Putyrski
Paul von Behren
Microsemi Corporation Anand Nagarjan
Microsoft Corporation Hector Linares
Jim Pinkerton
Michael Pizzo
Scott Seligman
NetApp, Inc. Don Deel
Nilesh Maheshwari
ScienceLogic Patrick Strick
VMware, Inc. Murali Rajagopal

Table of Contents


1. Abstract
2. Scope
2.1. Document Goals
2.2. Audience Assumptions
3. Normative References
3.1. Overview
3.2. Approved references
3.3. References under development
3.4. Other references
4. Terms and Definitions
4.1. Overview
4.2. Swordfish-specific Terms
4.2.1. Definitions
4.2.2. Symbols and abbreviated terms
4.3. Reference to Redfish terms
4.4. Keywords (normative language terms)
5. Swordfish Overview
5.1. Introduction
5.2. Relation to Redfish
5.3. Storage System Models
5.4. The ServiceRoot and ServiceContainer entities
5.4.1. Overview
5.4.2. The Storage resource collection
5.4.3. The Systems resource collection
5.4.4. The Chassis resource collection
5.4.5. The StorageSystems resource collection
5.5. Swordfish model overview
5.5.1. The Storage resource
5.5.1.1. The StorageController resource
5.5.1.2. The Endpoint resource
5.5.1.3. The Endpoint Collection resource
5.5.1.4. The ConsistencyGroup resource
5.5.1.5. The ConsistencyGroup Collection resource
5.5.1.6. The StorageGroup resource
5.5.1.7. The StoragePool resource
5.5.1.8. The Volume resource
5.5.1.9. The FileSystem resource
6. Features and Profiles
6.1. Overview
6.2. Requirement for SupportedFeatures
6.3. EnergyStar for Storage Feature
6.4. Class of Service Feature
6.4.1. Overview
6.4.2. Class of Service Model
6.4.3. ServiceRoot Additions
6.4.4. The StorageService resource
6.4.4.1. Principal Properties
6.4.4.2. Capabilities and Lines of ServiceRoot
6.4.4.3. The ClassOfService resource
6.4.4.4. The StoragePool resource
6.4.4.5. The Volume resource
6.4.4.6. The FileSystem resource
7. Schema Considerations
7.1. Schema Introduction
7.1.1. Overview
7.1.2. Swordfish Extension of the Redfish ServiceRoot
7.2. Default values and NULLABLE attributes
7.3. Common schema annotations
7.4. Property implementation requirements
7.5. Schema repository
7.6. Referencing other schemas
8. Implementation requirements
8.1. Security
8.2. General constraints
8.2.1. Redfish elements
8.2.2. Storage Events
8.2.2.1. Overview
8.2.2.2. Message Registry Selection and Management
8.2.2.3. Required Usage
8.2.2.4. Recommended Usage
8.3. Discovering Swordfish resources
8.4. ClassOfService requirements
8.5. StorageSystems requirements
8.6. Entity Sets
8.7. Addressing entities within a collection
8.8. Addressing members of a ResourceCollection
8.9. HTTP status codes
8.9.1. Overview
8.9.2. Create
8.9.3. Update, Replace, Delete
8.9.4. Actions
9. Swordfish type definitions
9.1. Overview
9.2. Common properties
9.2.1. Properties defined for all Redfish schemas
9.2.2. Links
9.2.3. Actions
9.2.4. OEM
9.2.5. RelatedItem
9.2.6. Status
9.2.6.1. Overview
9.2.6.2. Property details
9.2.7. Location
9.2.7.1. Location properties overview
9.2.7.2. Property details
9.3. Complex Types
9.4. CapacitySource 1.1.3
9.4.1. Description
9.4.2. URIs
9.4.3. Properties
9.5. CapacitySourceCollection
9.5.1. Properties
9.6. ClassOfServiceCollection
9.6.1. URIs
9.6.2. Properties
9.7. ConsistencyGroup 1.0.1
9.7.1. Description
9.7.2. URIs
9.7.3. Properties
9.7.4. Actions
9.7.4.1. AssignReplicaTarget
9.7.4.2. CreateReplicaTarget
9.7.4.3. RemoveReplicaRelationship
9.7.4.4. ResumeReplication
9.7.4.5. ReverseReplicationRelationship
9.7.4.6. SplitReplication
9.7.4.7. SuspendReplication
9.7.5. Property details
9.7.5.1. ConsistencyMethod
9.7.5.2. ConsistencyType
9.7.5.3. ReplicaType
9.7.5.4. ReplicaUpdateMode
9.8. ConsistencyGroupCollection
9.8.1. URIs
9.8.2. Properties
9.9. DataProtectionLoSCapabilities 1.1.3
9.9.1. Description
9.9.2. URIs
9.9.3. Properties
9.9.4. Property details
9.9.4.1. SupportedRecoveryGeographicObjectives
9.9.4.2. SupportedRecoveryTimeObjectives
9.9.4.3. SupportedReplicaTypes
9.10. DataSecurityLoSCapabilities 1.1.3
9.10.1. Description
9.10.2. URIs
9.10.3. Properties
9.10.4. Property details
9.10.4.1. SupportedAntivirusScanPolicies
9.10.4.2. SupportedChannelEncryptionStrengths
9.10.4.3. SupportedDataSanitizationPolicies
9.10.4.4. SupportedHostAuthenticationTypes
9.10.4.5. SupportedMediaEncryptionStrengths
9.10.4.6. SupportedSecureChannelProtocols
9.10.4.7. SupportedUserAuthenticationTypes
9.11. DataStorageLoSCapabilities 1.2.1
9.11.1. Description
9.11.2. URIs
9.11.3. Properties
9.11.4. Property details
9.11.4.1. SupportedAccessCapabilities
9.11.4.2. SupportedProvisioningPolicies
9.11.4.3. SupportedRecoveryTimeObjectives
9.12. DriveCollection
9.12.1. URIs
9.12.2. Properties
9.13. EndpointGroup 1.2.1
9.13.1. Description
9.13.2. URIs
9.13.3. Properties
9.13.4. Property details
9.13.4.1. AccessState
9.13.4.2. GroupType
9.14. EndpointGroupCollection
9.14.1. URIs
9.14.2. Properties
9.15. FeaturesRegistry 1.0.0
9.15.1. Description
9.15.2. Properties
9.16. FileShare 1.1.3
9.16.1. Description
9.16.2. URIs
9.16.3. Properties
9.16.4. Property details
9.16.4.1. DefaultAccessCapabilities
9.16.4.2. FileShareQuotaType
9.16.4.3. FileSharingProtocols
9.16.4.4. WritePolicy
9.17. FileShareCollection
9.17.1. URIs
9.17.2. Properties
9.18. FileSystem 1.2.2
9.18.1. Description
9.18.2. URIs
9.18.3. Properties
9.18.4. Property details
9.18.4.1. AccessCapabilities
9.18.4.2. CharacterCodeSet
9.19. FileSystemCollection
9.19.1. URIs
9.19.2. Properties
9.20. HostedStorageServices
9.20.1. URIs
9.20.2. Properties
9.21. IOConnectivityLoSCapabilities 1.1.3
9.21.1. Description
9.21.2. URIs
9.21.3. Properties
9.21.4. Property details
9.21.4.1. SupportedAccessProtocols
9.22. IOPerformanceLoSCapabilities 1.1.3
9.22.1. Description
9.22.2. URIs
9.22.3. Properties
9.22.4. Property details
9.22.4.1. IOAccessPattern
9.23. LineOfService 1.0.0
9.23.1. Description
9.23.2. Properties
9.24. LineOfServiceCollection
9.24.1. URIs
9.24.2. Properties
9.25. NVMeFirmwareImage 1.0.0
9.25.1. Description
9.25.2. URIs
9.25.3. Properties
9.25.4. Property details
9.25.4.1. NVMeDeviceType
9.26. NVMeDomainCollection
9.26.1. URIs
9.26.2. Properties
9.27. SpareResourceSet 1.0.1
9.27.1. Description
9.27.2. Properties
9.28. StorageGroup 1.4.0
9.28.1. Description
9.28.2. URIs
9.28.3. Properties
9.28.4. Actions
9.28.4.1. ExposeVolumes
9.28.4.2. HideVolumes
9.28.5. Property details
9.28.5.1. AccessCapability
9.28.5.2. AccessState
9.28.5.3. AuthenticationMethod
9.29. StorageGroupCollection
9.29.1. URIs
9.29.2. Properties
9.30. StoragePool 1.5.0
9.30.1. Description
9.30.2. URIs
9.30.3. Properties
9.30.4. Property details
9.30.4.1. SupportedProvisioningPolicies
9.30.4.2. SupportedRAIDTypes
9.31. StoragePoolCollection
9.31.1. URIs
9.31.2. Properties
9.32. StorageReplicaInfo 1.3.0
9.32.1. Description
9.32.2. Properties
9.33. StorageService 1.4.0
9.33.1. Description
9.33.2. URIs
9.33.3. Properties
9.33.4. Actions
9.33.4.1. SetEncryptionKey
9.34. StorageServiceCollection
9.34.1. URIs
9.34.2. Properties
9.35. StorageSystemCollection
9.35.1. URIs
9.35.2. Properties
9.36. Volume 1.6.0
9.36.1. Description
9.36.2. URIs
9.36.3. Properties
9.36.4. Actions
9.36.4.1. AssignReplicaTarget (v1.4+)
9.36.4.2. ChangeRAIDLayout (v1.5+)
9.36.4.3. CheckConsistency
9.36.4.4. CreateReplicaTarget (v1.4+)
9.36.4.5. ForceEnable (v1.5+)
9.36.4.6. Initialize (v1.5+)
9.36.4.7. RemoveReplicaRelationship (v1.4+)
9.36.4.8. ResumeReplication (v1.4+)
9.36.4.9. ReverseReplicationRelationship (v1.4+)
9.36.4.10. SplitReplication (v1.4+)
9.36.4.11. SuspendReplication (v1.4+)
9.36.5. Property details
9.36.5.1. AccessCapabilities
9.36.5.2. EncryptionTypes
9.36.5.3. InitializeMethod
9.36.5.4. InitializeType
9.36.5.5. ProvisioningPolicy
9.36.5.6. RAIDType
9.36.5.7. ReadCachePolicy
9.36.5.8. ReplicaType
9.36.5.9. ReplicaUpdateMode
9.36.5.10. VolumeType
9.36.5.11. VolumeUsage
9.36.5.12. WriteCachePolicy
9.36.5.13. WriteCacheState
9.36.5.14. WriteHoleProtectionPolicy
9.37. VolumeCollection
9.37.1. URIs
9.37.2. Properties

1. Abstract

The Swordfish Scalable Storage Management API (“Swordfish”) defines a RESTful interface and a standardized data model to provide a scalable, customer-centric interface for managing storage and related data services. It extends the Redfish Scalable Platforms Management API Specification (DSP0266) from the DMTF.

2. Scope

2.1. Document Goals

Swordfish extends the Redfish Scalable Platforms Management API Specification to define a comprehensive, RESTful API for storage management that addresses block storage, file systems, object storage, and storage network infrastructure. It is centered around common operational and business concerns of storage management, including:

Swordfish’s storage model is built around well-defined classes of service, which provide a means to map high-level business goals and objectives to specific, storage-based actions and requirements, in a clear and consistent way that can be applied uniformly across a broad spectrum of storage configurations and storage types (e.g., block storage, file systems, object stores). Common storage management functionality covered by class of service includes snapshots, replication, mapping and masking, and provisioning.

The Redfish specification provides the protocols and a core set of data models and behaviors for the management of systems. It defines the elements and behaviors that are mandatory for all Redfish implementations. Additionally it defines additional elements and behaviors that can be chosen by system vendors or manufacturers. The specifications also defines points at which OEM (system vendor) extensions can be provided by a given implementation. The specifications specifies normative requirements for Redfish Services and associated materials, such as Redfish Schema files. The Redfish specifications does not set requirements for Redfish clients, but will indicate what a Redfish client should do in order to access and utilize a Redfish Service successfully and effectively.

The Swordfish specification defines additional data models and behaviors for the management of storage systems and storage infrastructure. A Swordfish implementation shall conform to all requirements specified in the Redfish specifications.

Swordfish is suitable for a wide range of storage, from small-scale object drives, integrated RAID cards or RBODs providing storage services, to external disk arrays or file servers, to infrastructure providing storage services for converged, hyperscale and large scale cloud environments.

This document defines the Swordfish Scalable Storage Management API.

2.2. Audience Assumptions

As Swordfish is designed as an extension of the Redfish specification, this document is written with the presumption that the reader has a detailed understanding of the Redfish specification. This document cannot be fully understood without that context.

3. Normative References

3.1. Overview

The documents referenced in Table 3 are indispensable for the application of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.

3.2. Approved references

Table 3: Approved normative references
Tag Title (Version) Author URL
ISO-8601 Data elements and interchange formats – Information interchange – Representation of dates and times – Part 1: Basic rules ISO/IEC http://www.iso.org/iso/home/store/catalogue_ics/
catalogue_detail_ics.htm?csnumber=70907
ISO-Direct ISO/IEC Directives, Part 2
Principles and rules for the structure and drafting of ISO and IEC documents (Seventh Edition, 2016)
ISO/IEC http://isotc.iso.org/livelink/livelink/ fetch/2000/2122/4230450/4230456/
ISO_IEC_Directives Part_2 Principles_and_rules_for_the structure_and_drafting_of_ISO_and_IEC documents
-2016%287th_edition%29-_PDF.pdf?nodeid=17667902&vernum=-2
Redfish Redfish Scalable Platforms Management API Specification (v1.11.0) DMTF http://www.dmtf.org/sites/default/files/standards
/documents/DSP0266_1.11.0.pdf
OData Open Data Protocol (v. 4.0) OASIS https://www.oasis-open.org/standards#odatav4.0
RFC3986 Uniform Resource Identifier (URI): Generic Syntax (2005) The Internet Society http://www.rfc-base.org/txt/rfc-3986.txt
CSDL Common Schema Definition Language (4.0) OASIS http://docs.oasis-open.org/odata/
odata/v4.0/odata-v4.0-part3-csdl.html
ITIL ITIL Glossary (2011) ITIL https://www.axelos.com/Corporate/media/ Files/Glossaries/
ITIL_2011_Glossary_GB-v1-0.pdf
Units The Unified Code for Units of Measure (v2.0.1) Regenstrief Institute, Inc. and the UCUM Organization http://unitsofmeasure.org/trac
TLS Transport Layer Security (TLS) Protocol Version 1.2 IETF https://www.ietf.org/rfc/rfc5246.txt
SPC-4 SCSI Primary Commands - 4 (SPC-4) INCITS 513-2015 T10 http://www.techstreet.com/cgi-bin/joint.cgi/incits
Features Swordfish Features Registry, version 1.0.1 SNIA https://redfish.dmtf.org/registries/swordfish/v1/
SwordfishFeatureRegistry.1.0.1.json
Messages Swordfish Message Registry, version 1.0.2 SNIA https://redfish.dmtf.org/registries/swordfish/v1/
Swordfish.1.0.2.json
EnergyStar ENERGY STAR Data Center Storage Version 1.1 Updated Program Requirements – April 1, 2019 EPA https://www.energystar.gov/sites/default/files/ENERGY STAR Data Center Storage Final Version 1.1 Specification Rev. April 2019.pdf

3.3. References under development

Documents referenced in Table 4 are under active development, and subject to revision or replacement at any time. In the event that the provided URL is no longer valid, refer to the related parent page to locate a replacement.

Table 4: References under development
Tag Title (Version) Author URL Parent Page
RedfishResource Redfish Resource and Schema Guide DMTF http://www.dmtf.org/sites/default/
files/standards/documents/
DSP2046_2017.0a.pdf
http://www.dmtf.org/redfish

3.4. Other references

None defined in this document.

4. Terms and Definitions

4.1. Overview

In this document, some terms have a specific meaning beyond the normal English meaning. Those terms are defined in this clause. New terms, frequently used Redfish terms.

4.2. Swordfish-specific Terms

4.2.1. Definitions

The terms listed in Table 5 are used in this document.

Table 5: Swordfish terms
Term Definition
Entity An instance of a schema element.
Model A set of entities and the relationships between them that define the semantics, behavior and state of that set.
OData service A REST-based service that allows resources, identified using Uniform Resource Locators (URLs) and defined in a model, to be published and edited by Web clients using simple HTTP messages.
Resource A central element in a model, which represents a physical construct or a logical service, and is further defined by other model entities.
Schema A formal language representation of a model that conforms to a metamodel.
Service Document A particular resource that is directly accessed via an OData service entry point.
This resource serves as a starting point for locating and accessing the other resources and associated metadata that together make up an instance of a Swordfish service.
Swordfish service An extension to the Redfish Service that conforms to the Swordfish specification, and provides REST-ful storage management functionality.

4.2.2. Symbols and abbreviated terms

None in this document.

4.3. Reference to Redfish terms

Many terms in this document were originally defined in the Redfish Specification. Some of the more common terms and definitions are reproduced in Table 6, as an aid to the reader.

Table 6: Redfish terms
Term Definition (as of 16 August 2019)
OData The Open Data Protocol, as defined in OData-Protocol.
OData Service Document Resource that provides information about the service root for generic OData clients.
Redfish Schema Defines Redfish Resources according to OData schema representation. You can directly translate a Redfish Schema to a JSON Schema representation.
Redfish service Implementation of the protocols, resources, and functions that deliver the interface that this specification defines and its associated behaviors for one or more managed systems.
Request A message from a client to a service.
Service Root Resource that serves as the starting point for locating and accessing the other resources and associated metadata that together make up an instance of a Redfish Service.

4.4. Keywords (normative language terms)

This document conforms to ISO/IEC Directives, Part 2 for keyword usage. The most common terms and their intended meanings are summarized Table 7.

Table 7: Normative language terms
Term(s) Meaning
shall /
shall not
Used to identify objectively verifiable criteria to be fulfilled and from which no deviation is permitted if compliance with the document is to be claimed
should /
should not
Used to identify a suggested possible choice or course of action deemed to be particularly suitable without necessarily mentioning or excluding others
may /
need not
Used to convey consent or liberty (or opportunity) to do something
can /
cannot
Expected or conceivable material, physical or causal outcome
must Identifies a constraint or obligation on the user of the document, typically due to one or more legal requirements or laws of nature, that is not stated as a provision of the standard
NB: “must” is not an alternative for “shall”, and should only be used for constraints that arise from outside this standard

5. Swordfish Overview

5.1. Introduction

The Swordfish Scalable Storage Management API (“Swordfish”) defines a RESTful interface and a standardized data model to provide a scalable, customer-centric interface for managing storage and related data services. It extends the Redfish Scalable Platforms Management API Specification (DSP0266) from the DMTF.

5.2. Relation to Redfish

Figure 1: Model overview

The Swordfish service interface extends the Redfish service interface. As such, a Swordfish service is a Redfish service and includes all required elements of the Redfish model, as illustrated by Figure 1.

The storage systems shall be instantiated in one of two places in the hierarchy: - directly in the Storage resource collection, or - attached to a ComputerSystems, with an associated reference link in the StorageSystems resource collection at the Service Root. In this case, there shall also be a reference link to the Storage resource in the Storage resource collection at the Service Root.

As a result, a Swordfish client is always to locate the storage systems managed by the Swordfish service in the ServiceRoot via the Storage resource collection; this may be a combination of references to instances and instantiated instances.

The physical infrastructure is modeled using Redfish Chassis.

As modeling for storage systems may cover both logical and physical constructs, Swordfish management clients that are focused on logical storage management use cases may choose to manage functionality entirely by way of logical resources.

Each Swordfish service is accessed via well known URLs on the system supporting the Swordfish Service. Since Swordfish is an extension of Redfish, these URLs are the same as for accessing the Redfish defined aspects of the service.

5.3. Storage System Models

Swordfish has been designed to support a broad range of configurations, requirements, size and complexity, as well as logical and physical architectures. As a result, there are two primary methods of modelling the storage system for a Swordfish implementation:

  1. Swordfish Standalone Configuration

The standalone configuration instantiates the logical storage system instance representation in the Storage resource collection directly off the Service Root. The logical storage system is modeled using the Redfish Storage and StorageController resources, as shown in Figure 2. Managed resources are connected to the Storage resource, including Volumes and StoragePools.

Figure 2: Logical subsystem in swordfish standalone configuration

This configuration works well for standalone devices or storage systems. An example of a Storage System for an standalone configuration is shown in Figure 3.

Figure 3: Swordfish standalone configuration
  1. Swordfish Integrated Configuration

The integrated configuration attaches to the Storage collection within the same ComputerSystem model instantiation as the server where the physical element resides.

The logical storage system is modeled using the Redfish Storage and StorageController resources. The Storage resource is located in the Redfish hierarchy contained by ComputerSystems, typically running as ApplicationServers. The physical infrastructure is modeled using Redfish Chassis. Managed resources are connected to the Storage resource, including Volumes and StoragePools.

The integrated configuration is illustrated in Figure 4.

Figure 4: Swordfish integrated configuration

This configuration works well when the storage system can be modeled by simply instantiating a new Storage object within an existing computer system. An example of a Storage System for an integrated configuration is shown in Figure 5.

Figure 5: Swordfish standalone configuration

5.4. The ServiceRoot and ServiceContainer entities

5.4.1. Overview

A GET of /redfish/v1 will return the ServiceRoot entity. A GET of /redfish/v1/odata will return the ServiceContainer instances that represents the OData service document. Each of these instances provides links to the remainder of the system.

The following are the elements utilized for Swordfish management.
- Storage: A reference to the Storage resource collection. - Systems: A reference to a Systems resource collection; - Chassis: A reference to a Chassis resource collection; - StorageSystems: A reference to a StorageSystems resource collection.

5.4.2. The Storage resource collection

A resource collection that references a set of Storage resources that each represents a storage subsystem. This collection can contain either resources or references to instances of Storage resources. Each Storage resource represents an instance of a storage subsystem. For Swordfish subsystems, refer to the details in the Swordfish model overview for details on required elements.

5.4.3. The Systems resource collection

A resource collection that references a set of ComputerSystem resources that each represents a general purpose application server. Each ComputerSystem resource will have an entry with the value of “ApplicationServer” in its HostingRoles property. A particular ComputerSystem resource can be in both the StorageSystems collection and the Systems collection.

5.4.4. The Chassis resource collection

A resource collection that references a set of Chassis resources. Each Chassis resource represents physical containers, (i.e. sheet-metal confined spaces and logical zones like racks, enclosures, chassis and all other containers). Subsystems (like sensors), which operate outside of a system’s data plane (meaning the resources are not accessible to software running on the system) are linked either directly or indirectly through this resource.

5.4.5. The StorageSystems resource collection

A reference to a ComputerSystemCollection with members of type ComputerSystem that support storage services. These ComputerSystem resources represent systems that support Swordfish storage management services. They will have an entry with the value of “StorageServer” in their HostingRoles property. This collection, then, is a resource collection that references a set of ComputerSystem resources that each represents a storage server. Each ComputerSystem resource will have an entry with the value of “StorageServer” in its HostingRoles property. A particular ComputerSystem resource can be a member of both the StorageSystems resource collection and the Systems resource collection.

5.5. Swordfish model overview

5.5.1. The Storage resource

The storage system exposes logical storage, associated resources and related functionality. Storage resources can be found in the service root or service container via the Storage resource collection, and are attached to the Storage object within the Storage resource collection.

The storage system typically provides the ability to create, manage and present block, file or object store from a set of back-end media, presented to one or more hosts. Storage controllers can work in coordinated sets of one or more to present value-add capabilities, such as failover, data protection, and data path management within the storage system, that are represented through the various resources within the storage system.

The following are the principal properties of Storage that point to resources managed or defined by the storage system:

5.5.1.1. The StorageController resource

The storage controller presents the foundational resources used by the storage system. It generally contains connectivity resources between the system and connected consumers.

5.5.1.2. The Endpoint resource

Endpoints represent one end of a protocol specific connection that supports sending or receiving messages according to a particular protocol.

5.5.1.3. The Endpoint Collection resource

The Endpoint Group is resource collection that references a set of Endpoint resources.

5.5.1.4. The ConsistencyGroup resource

ConsistencyGroups represent a set of volumes that are managed consistently and collectively as a group, to allow system and application level activities to be performed on a set of data that spans volumes. This activities include device-level replication activities as well as system level functions, such as reset.

When ConsistencyGroups are implemented, they are attached to a Storage resource and its internal Volumes collection is constructed from a subset of the Volumes collection of the Storage resource.

5.5.1.5. The ConsistencyGroup Collection resource

The ConsistencyGroupCollection is a resource collection that references a set of ConsistencyGroup resources.

5.5.1.6. The StorageGroup resource

StorageGroups represent a set of volumes that are managed as a group in order to facilitate mapping and masking, in which the volumes of a storage group are collectively exposed or hidden to a set of clients.

The set of volumes is specified by the Mapped Volumes attribute. MappedVolumes is a resource collection of the Mapped Volume construct (a tuple of a pointer to a volume and a corresponding Logical Unit Number for that volume).

The set of client endpoints to which the volumes can be exposed is specified by the ClientEndpointGroupsattribute. The ClientEndpointGroup resource specifies a collection of EndpointGroup resources.

The set of server endpoints to which the volumes can be exposed is specified by the ServerEndpointGroupsattribute. The ServerEndpointGroup resource specifies a collection of EndpointGroup resources.

5.5.1.7. The StoragePool resource

The StoragePool resource represents unassigned storage capacity that can be used to produce storage volumes or other storage pools.

The following are the principal properties of StoragePool that are used to create or identify resources provisioned or supported by the storage pool:

5.5.1.8. The Volume resource

Volume resource represents a block-addressable container of storage, sometimes referred to as a “Logical Unit”, “LU”, “LUN”, or “StorageVolume” in the storage industry.

5.5.1.9. The FileSystem resource

This FileSystem resource represents a file system. Each FileSystem may contain a collection of FileShares that can be presented to hosts.

6. Features and Profiles

6.1. Overview

Features are high-level descriptions of functionality which an implementation uses to advertise what functionality it currently supports, and for some features, is capable of supporting.

The detailed definitions required to describe to implementers how to implement a feature are written in profile definition files. A feature is generally represented in one (but may be more) profile definition file, or profile.

Profiles are detailed descriptions that describe down to the individual property level what functionality is required in order to advertise features. Different profile definitions can exist for the same feature type but for various types of storage configurations: Swordfish.Block.Provisioning, Swordfish.File.Provisioning

The Swordfish Features Registry shall be used to advertise what standard and Oem Features an implementation supports.

6.2. Requirement for SupportedFeatures

SupportedFeatures entries in the Features registry represent the client’s primary initial runtime view of the capabilities of a Swordfish implementation. Without properly formed entries in this registry, there is no visibility to an implementation’s functionality.

Swordfish implementations shall implement the Features registry and advertise at least the SNIA.Swordfish.Discovery supported feature in order to be considered a Swordfish implementation.

Features define coarse-grained sets of functionality. In order to advertise a feature (using the SupportedFeature mechanism in the SupportedFeatures Registry), the implementation must support the complete set of functionality as defined in the corresponding profile.

The Swordfish Features Registry publishes the official list of supported SNIA Features, and provides a high-level description of their functionality. Many of those features are self-explanatory (e.g., local replication, remote replication), but there are some features where additional context is appropriate:

6.3. EnergyStar for Storage Feature

The EnergyStar for Storage Feature and profile has been created to formalize the requirements from the ENERGY STAR Data Center Storage Program Requirements on storage products. The profile indicates what properties Swordfish implementations need to support in order to properly instrument EnergyStar reporting capability. This functionality is intended to support EnergyStar data gathering requirements as part of the EnergyStar certification process.

6.4. Class of Service Feature

6.4.1. Overview

Swordfish supports a ClassOfService feature. The ClassOfService functionality supports systems that are capable of providing a greater level of management automation, where a higher-level set of goals is provided as direction rather than requiring parameterized inputs for all configuration actions.

The Class of Service feature uses a combination of device-defined capabilities to structure LinesOfService, which are sets of available functionality in a given system, that can then be grouped together to provide classes of service.

When Class of service functionality is implemented, the Swordfish functionality may be entirely exposed through the StorageService resource. Each Swordfish StorageService is located in the ServiceRoot (and ServiceContainer) via the StorageServices resource collection.

6.4.2. Class of Service Model

For Swordfish with a class of service interface, the following two models apply. Either model choice results in the same storage service, regardless of the storage system model.

  1. Integrated Service Configuration

The storage systems managed by the Swordfish storage service are modeled using the Redfish Storage resource and StorageController resource collections. The Storage resource is located in the Redfish hierarchy contained by ComputerSystems, typically running as ApplicationServers. The physical infrastructure is modeled using Redfish Chassis, as shown in Figure 6.

Figure 6: Swordfish standalone configuration

This configuration works well when the storage service is hosted by a storage resource within a computer system. An example of a Storage Service for an integrated service configuration is shown in figure 7.

Note: This diagram and the discussion of the configuration description have been simplified slightly to avoid confusion. A full implementation would likely include additional links to the logical storage controller resources.

Figure 7: Swordfish standalone configuration
  1. Standalone Service Configuration

The storage systems managed by the Swordfish storage service are located in the ServiceRoot (and ServiceContainer) via the Storage resource collection. They model the logical storage system using Redfish Storage and ‘StorageController’ resources. The physical infrastructure is modeled using Redfish Chassis. This is shown in Figure 8.

Figure 8: Swordfish standalone configuration

This configuration works well when the standalone storage system directly hosts the storage service(s). An example of a Storage Service for a hosted service configuration is shown in Figure 9.

Note: This diagram and the discussion of the configuration description have been simplified slightly to avoid confusion. A full implementation would likely include additional links to the logical storage controller resources.

Figure 9: Swordfish standalone configuration

6.4.3. ServiceRoot Additions

When the StorageService feature is implemented, the following is added to the ServiceRoot:

6.4.4. The StorageService resource

6.4.4.1. Principal Properties

The storage service is hosted on a storage system and exposes logical storage, associated resources and related functionality. Storage service resources can be found in the service root or service container via the StorageServices resource collection.

The following are the principal properties of StorageService that point to resources managed or defined by the storage service:

6.4.4.2. Capabilities and Lines of ServiceRoot

The following properties each define a set of attributes, which describe capabilities that the storage service may support:

In each of the above, not all combinations of attribute values defined within a capability are likely to be supported by the storage service.

Known, supported combinations of attribute values are used to construct entries in the LinesOfService array property. Not all attributes of a line of service entry need be specified (i.e. some may be Null). If an attribute has no value, the storage service may choose any supported values when provisioning for that entry. Otherwise, the line of service attribute values specifies the kind or level of service to be provided.

6.4.4.3. The ClassOfService resource

A class of service represents a choice of utility or warranty offered to customers by a service. (ITIL uses the term service option. See the Normative References.)

Each ClassOfService resource is a uniquely named description of the characteristics of one choice of utility or warranty for a service. Each ClassOfService is a description of the kind and quality of service to provide and is not intended to describe how the service provides that service.

Each ClassOfService is defined by an aggregation of lines of service. Supported lines of service are listed in the corresponding capabilities attributes of the storage service, (see above).

Currently defined lines of service are:

Some advertised ClassOfService resources are created by the service implementation. These are generally not changeable and are intrinsic to the implementation.

A service may support creation or modification of ClassOfService resources. All must be consistent with the capabilities of the service.

6.4.4.4. The StoragePool resource

When a Swordfish implementation advertises support for the Class of Service feature, the StoragePool resource now presents a new method to the client to allocate unassigned storage capacity. This is automated by the system as conformance to one or more classes of service. Requests to StoragePool shall automatically allocate capacity based on the constraints of the selected class of service and any other selected parameters, with priority given to the class of service constraints.

The following are the principal properties of StoragePool that are used to identify resources provisioned or supported by the storage pool related to Class of Storage:

6.4.4.5. The Volume resource

Volume resource represents a block-addressable container of storage, sometimes referred to as a “Logical Unit”, “LU”, “LUN”, or “StorageVolume” in the storage industry. Volumes optionally adhere to a ClassOfService, which defines added functionality. Examples include:

6.4.4.6. The FileSystem resource

In a Swordfish implementation that advertises support for the Class of Service feature, File systems represent file-addressable capacity that are conformant to a ClassOfService.

7. Schema Considerations

7.1. Schema Introduction

7.1.1. Overview

A Swordfish implementation is a Redfish implementation, and as such it minimally includes support for some Redfish-defined schema, including ServiceRoot and ComputerSystem. Swordfish implementations include support for Swordfish-defined schema. The Swordfish model focuses primarily on the logical model of a storage system and does not require full representation of a physical instantiation. This is left to the implementer to complete from available Redfish schema models.

Swordfish schema is conformant with the rules used to define Redfish schema. Redfish schema is conformant with the Common Schema Definition Language, see CSDL. This section provides additional definition and context for the CSDL elements used to define Swordfish schema.

7.1.2. Swordfish Extension of the Redfish ServiceRoot

The Redfish ServiceRoot has properties that provide access to Swordfish resources.

The first is StorageSystems. This property references a collection of ComputerSystem resources that each support Swordfish functionality. Each such ComputerSystem shall have an entry in its HostingRoles property with the value of StorageServer.

For implementations that advertise support for the ClassOfService feature, the implementation shall instantiate a collection of StorageServicesat the ServiceRoot with at least one member. The collection provides the client an efficient means to search across all StorageService resources, regardless of which ComputerSystem is supporting the service.

7.2. Default values and NULLABLE attributes

The interaction of Nullable and DefaultValue needs to be clearly understood by both implementers and client developers. The possible combinations of are summarized in Table 8. The table contains:

Table 8: Default and Nullable Interaction
Nullable DefaultValue Client Value
T T T C
T T F D
T F T C
T F F I or Null
F T T C
F T F D
F F T C
F F F I or Error

7.3. Common schema annotations

Table 9 lists common annotation used in the definition of Swordfish, for details see OData Capabilities Vocabulary, OData Core Vocabulary, OData Measures Vocabulary, and Redfish Extensions.

Table 9: Schema annotations
Name Applies to Description
AllowableValues Parameter The set of allowable values for a parameter
AutoExpand NavigationProperty If true, return expand the target element
AutoExpandReferences NavigationProperty If true, return references to the target element
ConformanceLevel EntityContainer Specifies OData conformance level
Deprecated All Specifies that the element may be removed in future major revisions, but shall continue to be supported as specified in the current revision.
Description All A brief description of a model element
LongDescription All A normative description of a model element
Maximum Parameter, Property Maximum value that an integer property or parameter may have
Minimum Parameter, Property Minimum value that an integer property or parameter may have
Pattern Parameter, Property Specifies a pattern that the value shall match
Permissions NavigationProperty, Property Access permission for the property.
Required NavigationProperty, Property If true, property is required to be supported by the service. The default is optional. See Required Properties
RequiredOnCreate NavigationProperty, Property If true, property is required on creation. See Required Properties
Unit Property The unit of measure for the value.

7.4. Property implementation requirements

The client and the implementer should understand that, regardless of the schema declaration, an implementer may choose to not implement a property. If not implemented, a representation of the property will not be present in a reply. This should not be confused with a response that indicates that a property has been implemented, but has no value (i.e. propertyName = null).

There are several factors that could affect the implementation choice. Implementation requirements can be defined in many documents. At a minimum, a developer should review, in order: 1. the Redfish specification, 2. this document, and 3. associated profile specifications.

7.5. Schema repository

The primary online source for the Swordfish schema shall be co-located on the DMTF schema site with the Redfish schema: http://redfish.dmtf.org/schemas/swordfish Developers may also download the schema as part of the Swordfish bundle from snia.org (refer to snia.org/swordfish for pointers to the bundle locations).

Implementations should refer either to the versions available on the dmtf.org site or to locally provided instances of the schema.

7.6. Referencing other schemas

Swordfish directly references many Redfish schemas when functionality is already defined and can be leveraged. Other Redfish schema may be added by inference or directly to implementations. Examples are available in the Swordfish mockups.

8. Implementation requirements

8.1. Security

This document generally adheres to the security requirements defined in the Redfish Specification. It extends the Redfish security model in one important way:

8.2. General constraints

8.2.1. Redfish elements

The Swordfish service interface extends the Redfish service interface. As such, a Swordfish service is a Redfish service and all required elements of the Redfish model shall be present in a Swordfish model.

Swordfish functionality shall not conflict with any previously defined Redfish functionality but it may add to or extend it, and it may add additional constraints on Redfish functionality.

Additionally, any functionality desired in a Swordfish implementation that is specified in Redfish shall follow the requirements as specified in the Redfish specification.

8.2.2. Storage Events

8.2.2.1. Overview

A Swordfish implementation should implement an event service. Redfish defines the Event Service framework, client subscription model, event delivery mechanism, as well as standard message registries. Swordfish extends the standard message registries to provide additional message registries that correspond to Swordfish-specific services and properties.

The Redfish event service publishes a list of event types supported, and maintains a list of clients that have subscribed. Each subscription maps clients, subscribed events, and the resources that generate them.

8.2.2.2. Message Registry Selection and Management

Swordfish constrains the existing event model to provide a more consistent handling of event notifications and the related messages, in order to assure that client systems can easily and consistently parse and respond to system-level events.

8.2.2.3. Required Usage

8.3. Discovering Swordfish resources

Each Swordfish implementation supports the following well-known URLs, as defined in Redfish. Specifically:

Note: Since the ServiceContainer is required to return an @odata.context value of /redfish/v1, all other elements accessed via it will be the same elements found via the ServiceRoot.

Note: A Swordfish service is a Redfish service with extensions to support storage management. No additional service entry-points are necessary.

Both the ServiceRoot and ServiceContainer contain a resource collection named Systems that lists ComputerSystem instances. A ComputerSystem instance that supports Swordfish defined services will have a value of “StorageServer” in an entry of its HostingRoles property.

The ServiceContainer additionally has a Service attribute that references the ServiceRoot resource.

Regardless of starting point, the property values of the ServiceRoot instance enable navigation to all other resources exposed by the Swordfish service.

8.4. ClassOfService requirements

Each ClassOfService shall include at least one line of service. The providing server shall assure that the line of service values of a ClassOfService collectively represent a supported choice of service.

8.5. StorageSystems requirements

For Hosted Service Configurations, this property of the ServiceRoot references a collection of ComputerSystem resources that each support Swordfish functionality. Each ComputerSystem included in the StorageSystems entry in the ServiceRoot shall have:

For Integrated Service Configurations, the StorageSystems concept is realized through the StorageController resource. Each StorageController instantiated as a Swordfish StorageSystem shall have:

8.6. Entity Sets

The Swordfish model does not currently expose any explicitly defined entity sets. OData specifies that an entity set is defined for each NavigationProperty that is defined as a collection and that has the ContainsTarget attribute set to true. In all other cases, Swordfish assumes that an entity set is defined globally within the implementation for each entity type. This is effectively the same as if the entity sets were explicitly defined in the ServiceRoot entity container.

8.7. Addressing entities within a collection

An instance (entity) of an EntityType is uniquely identified within its entity set by its key. The URI for the reference may specify the key using one of two general strategies

  1. OData recommends specifying the key value within parenthesis following the path segment that identifies the referencing entity set. (See clause “Canonical URL” in in OData)

  2. Redfish common practice is to use an alternative form that adds a path segment having the value of the key following the path segment that identifies the referencing collection. (See clause “Alternate Key-as-Segment Syntax” in OData.)

A Swordfish implementation shall support both strategies.

8.8. Addressing members of a ResourceCollection

Redfish specifies that subclasses of ResourceCollection shall include a Members collection property (See clause “Collection resource response” in DSP0266)

Redfish allows a POST request to a ResourceCollection to be equivalent to the same POST request to the Members property of that ResourceCollection. For a particular ResourceCollection, if a Swordfish implementation supports either form, it shall support both.

It is common practice in Redfish to also eliminate the Members property from any request URI that navigates through a type hierarchy that includes a Member within a ResourceCollection. Care should be taken when defining and using a ResourceCollection subclass to not introduce ambiguities when an explicit reference to a Members property is dropped from a request URI.

8.9. HTTP status codes

8.9.1. Overview

Status codes are generally defined as part of the general HTTP protocol definition. In addition, the Redfish specification calls out general usage for HTTP status codes. This section provides additional usage guidance and constraints for Swordfish implementations.

In some instances, Redfish and Swordfish expand the standard use of HTTP status codes by associating additional system status with specific status codes. In addition, error response data may be included via standardized message registry entries. The specific messaging requirements will be defined in the following sections.

In cases where Swordfish adds additional constraints or expands on the Redfish handling of a given issue, this document will include both a clause reference (relative to the 1.7.0 version of the Redfish specification), and a small wording extract for additional context. For example:

Swordfish refines the requirements in x.y.z of the Redfish Specification: Redfish has no constraint on external storage functionality to require that all references to external storage functionality shall be compliant with the current release of Swordfish.

8.9.2. Create

If a request to create a resource can be completed successfully without additional time, the Redfish service shall return a status code of 201, and the body of the response shall contain the JSON representation of the newly created resource.

If the create resource request has been accepted, but no information about the resource can be returned at this point, the Redfish service shall return a status code of 204. The payload of the response shall be empty, but the Location header shall contain the resource URI. The client will be required to poll the appropriate resource to determine both when and if the operation is complete.

Swordfish refines the requirements in clauses 7.5.1 and 12.2 of the Redfish Specification.

If a request to create a resource cannot be completed without additional time, the implementation shall:

8.9.3. Update, Replace, Delete

If a request to modify or delete a resource can be completed without additional time, the Redfish service shall return a status code of 200, and the body of the response shall contain the JSON representation of the modified (or deleted) resource.

If the resource modification or deletion request has been accepted, but no information about the resource can be returned at this point, the Redfish service shall return a status code of 204. The payload of the response shall be empty. The client will be required to poll the appropriate collection to determine both when and if the operation is complete.

If a request to modify a resource cannot be completed without additional time, the implementation shall:

8.9.4. Actions

Swordfish supports the approach to Actions in 5.6.3 of the Redfish Specification: Actions are Redfish operations that do not easily map to RESTful interface semantics. These types of operations may not directly affect properties in the Redfish Resources.

Swordfish refines the requirements in 7.10 of the Redfish Specification: Services shall support the POST method to send actions to Resources.

If a Task Service has been implemented, the Redfish service shall return a status code of 202, with the Location header set to the URI of the Task Monitor. Once the provider has returned a Task Monitor to the client, the Client can then query the provided task URI to track the task completion status. Once the task has completed successfully, a GET against the task monitor shall return the created object.

If a Task Service has not been implemented, the Redfish service shall return a status code of 200, and the body of the response shall contain the URI of the skeletal resource created as part of accepting the request. The client will be required to poll the URI provided to determine when the operation is complete. When processing ACTIONS, the handling of HTTP status codes is slightly different than that seen when processing CREATE or MODIFY requests. The HTTP status code is used to reflect the acceptance and formatting of the request. The outcome of any requested processing is reflected in the body of the returned message and its associated Error response structure. For example, a properly formatted request to execute a system reset may return an HTTP status code of 200 (OK), to reflect that the request has been received, was validly formatted, and has been accepted for processing, while the reset of the system may not complete successfully. The Error response structure would contain further detail of the success of failure of the system reset. The implementation must check both the HTTP status code and the underlying Error response message structure to confirm the successful execution of the ACTION.

9. Swordfish type definitions

9.1. Overview

The following sections define the schema and type definitions that make up a Swordfish implementation. Each data type or entity within the schema includes a description that defines its implementation requirements and their interaction

9.2. Common properties

9.2.1. Properties defined for all Redfish schemas

The properties summarized in Table 10 are included in every Redfish schema, and therefore may be encountered in any Response payload. They are documented here to avoid repetition in the Resource Guide tables for each schema.

Table 10: Common Properties
Property Datatype Attributes Notes
@odata.context string read-only The @odata.context property is a URL to a metadata document with a fragment describing the data (typically rooted at the top-level singleton or collection). Technically the metadata document only has to define, or reference, any of the types that it directly uses, and different payloads could reference different metadata documents. However, since the @odata.context provides a root URL for resolving relative references (such as @odata.id’s), we return the canonical metadata document.
@odata.id string read-only The @odata.id property is a string that indicates the unique identifier of a resource.
@odata.type string read-only The @odata.type property is a URL fragment that indicates the type of the resource.
Description string read-write The Description property is used to convey a human-readable description of the resource.
Id string read-write The Id property of a resource uniquely identifies the resource within the Resource Collection that contains it. The value of Id is unique within a Resource Collection.
Name string read-write The Name property is used to convey a human-readable moniker for a resource. The type of the Name property is a string. The value of Name is NOT necessarily unique across resource instances within a Resource Collection.
Oem { } object read-write This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections. See the Resource schema for details on this property.

The Links property represents the links associated with the resource, as defined by that resource’s schema definition. All associated reference properties defined for a resource are nested under the Links property. All directly referenced (subordinate) properties defined for a resource can be found from the root of the resource.

9.2.3. Actions

The Actions property contains the actions supported by a resource.

9.2.4. OEM

The OEM property is used for OEM extensions.

9.2.5. RelatedItem

The RelatedItem property is represented as a set of links. The links point to a resource, or part of a resource, as defined by that resource’s schema definition.

This representation is not intended to be a strong linking methodology like other references. Instead it is used to show a relationship between elements or sub-elements in disparate parts of the service. For example, Fans may be in one area of the system and Processors in another area of the system. It could be that the relationship between the two is not obvious. The RelatedItem property can be used to show that one is related to the other. In this example, it might indicate that a specific fan is cooling a specific processor.

9.2.6. Status

9.2.6.1. Overview

The Status property is common to many Redfish schema. Its attributes are summarized in Table 11.

Table 11: Status property attributes
Property Datatype Attributes Notes
Health string (enum) read-only This represents the health state of this resource in the absence of its dependent resources. See Health in Property Details, below, for the possible values of this property.
HealthRollup string (enum) read-only This represents the overall health state from the view of this resource. See HealthRollup in Property Details, below, for the possible values of this property.
Oem { } object read-write Oem extension object.
State string (enum) read-only This indicates the known state of the resource, such as if it is enabled. See State in Property Details, below, for the possible values of this property.

9.2.6.2. Property details

Health:

This represents the health state of this resource in the absence of its dependent resources. Its possible values are summarized in Table 12.

Table 12: Health ENUM values
string Description
Critical A critical condition exists that requires immediate attention.
OK Normal.
Warning A condition exists that requires attention.

HealthRollup:

This represents the overall health state from the view of this resource. Its possible values are summarized in Table 13.

Table 13: HealthRollup ENUM values
string Description
Critical A critical condition exists that requires immediate attention.
OK Normal.
Warning A condition exists that requires attention.
Absent This function or resource is not present or not detected.
Disabled This function or resource has been disabled.
Enabled This function or resource has been enabled.
InTest This function or resource is undergoing testing.
Table 14: State ENUM values
string Description
Quiesced The element is enabled but only processes a restricted set of commands.
StandbyOffline This function or resource is enabled, but awaiting an external action to activate it.
StandbySpare This function or resource is part of a redundancy set and is awaiting a failover or other external action to activate it.
Starting This function or resource is starting.
UnavailableOffline This function or resource is present but cannot be used.
Updating The element is updating and may be unavailable or degraded.

9.2.7. Location

9.2.7.1. Location properties overview

The properties of a Location object are summarized in Table 15.

Table 15: Location properties
Property Type Notes
AltitudeMeters number (m) read-only (null) The altitude of the resource in meters.
Info string read-only (null) This indicates the location of the resource.
InfoFormat string read-only (null) This represents the format of the Info property.
Latitude number (deg) read-only (null) The latitude resource.
Longitude number (deg) read-only (null) The longitude resource in degrees.
Oem { } object read-write Oem extension object. See the Resource schema for details on this property.
PartLocation { object read-write Postal address of the addressed resource.
LocationOrdinalValue number read-only (null) The number that represents the location of the part. If LocationType is slot and this unit is in slot 2 then the LocationOrdinalValue will be 2.
LocationType string (enum) read-only The type of location of the part, such as slot, bay, socket and slot. See LocationType in Property Details, below, for the possible values of this property.
Orientation string (enum) read-only The orientation for the ordering of the slot enumeration used by the LocationOrdinalValue property. See Orientation in Property Details, below, for the possible values of this property.
Reference string (enum) read-only The reference point for the part location. This is used to give guidance as to the general location of the part. See Reference in Property Details, below, for the possible values of this property.
ServiceLabel
}
string read-only (null) This is the label of the part location, such as a silk screened name or a printed label.
Placement { object read-write A place within the addressed location.
Rack string read-write (null) Name of a rack location within a row.
RackOffset number read-write (null) Vertical location of the item in terms of RackOffsetUnits.
RackOffsetUnits string (enum) read-write The type of Rack Units in use. See RackOffsetUnits in Property Details, below, for the possible values of this property.
Row
}
string read-write (null) Name of row.
PostalAddress { object read-write Postal address of the addressed resource.
AdditionalCode string read-write (null) Additional code.
Building string read-write (null) Name of the building.
City string read-write (null) City, township, or shi (JP).
Community string read-write (null) Postal community name.
Country string read-write (null) Country.
District string read-write (null) A county, parish, gun (JP), or district (IN).
Division string read-write (null) City division, borough, dity district, ward, chou (JP).
Floor string read-write (null) Floor.
GPSCoords string read-write (null) The GPS coordinates of the part.
HouseNumber number read-write (null) Numeric portion of house number.
HouseNumberSuffix string read-write (null) House number suffix.
Landmark string read-write (null) Landmark.
LeadingStreetDirection string read-write (null) A leading street direction.
Location string read-write (null) Room designation or other additional info.
Name string read-write (null) Name.
Neighborhood string read-write (null) Neighborhood or block.
POBox string read-write (null) Post office box (P.O. box).
PlaceType string read-write (null) A description of the type of place that is addressed.
PostalCode string read-write (null) Postal code (or zip code).
Road string read-write (null) A primary road or street.
RoadBranch string read-write (null) Road branch.
RoadPostModifier string read-write (null) Road post-modifier.
RoadPreModifier string read-write (null) Road pre-modifier.
RoadSection string read-write (null) Road Section.
RoadSubBranch string read-write (null) Road sub branch.
Room string read-write (null) Name or number of the room.
Seat string read-write (null) Seat (desk, cubicle, workstation).
Street string read-write (null) Street name.
StreetSuffix string read-write (null) Avenue, Platz, Street, Circle.
Territory string read-write (null) A top-level subdivision within a country.
TrailingStreetSuffix string read-write (null) A trailing street suffix.
Unit
}
string read-write (null) Name or number of the unit (apartment, suite).

9.2.7.2. Property details

LocationType:

The type of location of the part, such as slot, bay, socket and slot. The enum’s potential values are sumamrized in Table 16.

Table 16: LocationType ENUM values
string Description
Bay Defines a bay as the type of location.
Connector Defines a connector as the type of location.
Slot Defines a slot as the type of location.
Socket Defines a socket as the type of location.

Orientation:

The orientation for the ordering of the slot enumeration used by the LocationOrdinalValue property. The enum’s potential values are sumamrized in Table 17.

Table 17: Orientation ENUM values
string Description
BackToFront Defines the ordering for the LocationOrdinalValue is back to front.
BottomToTop Defines the ordering for the LocationOrdinalValue is bottom to top.
FrontToBack Defines the ordering for the LocationOrdinalValue is front to back.
LeftToRight Defines the ordering for the LocationOrdinalValue is left to right.
RightToLeft Defines the ordering for the LocationOrdinalValue is right to left.
TopToBottom Defines the ordering for the LocationOrdinalValue is top to bottom.

RackOffsetUnits:

The type of Rack Units in use. The enum’s potential values are sumamrized in Table 18.

Table 18: RockOffsetUnits ENUM values
string Description
EIA_310 Defines a rack unit as being equal to 1.75 in (44.45 mm).
OpenU Defines a rack unit as being equal to 48 mm (1.89 in).

Reference:

The reference point for the part location. This is used to give guidance as to the general location of the part. The enum’s potential values are sumamrized in Table 19.

Table 19: LocationType ENUM values
string Description
Bottom Defines the part as being in the bottom of the unit.
Front Defines the part as being in the front of the unit.
Left Defines the part as being in the left of the unit.
Middle Defines the part as being in the middle of the unit.
Rear Defines the part as being in the rear of the unit.
Right Defines the part as being in the right of the unit.
Top Defines the part as being in the top of the unit.

9.3. Complex Types

The Table 20 defines a number of complex types that are used frequently in Swordfish schema. Multiple references to each complex type may be seen in later sections. For detailed definitions and properties contained in each complex type, refer to the schema definitions as referenced in the table.

Table 20: Common complex types
Type Name Notes
Capacity {} This composition may be used to represent storage capacity. The sum of the values in Data, Metadata,and Snapshot shall be equal to the total capacity for the datastore. See the Capacity.v1_1_0 schema for details.
CapacityInfo {} This composition may be used to represent the utilization of storage capacity. See the Capacity.v1_1_0 schema for details.
IOStatistics {} See the IOStatistics.v1_0_1 schema for details on this property.
IOWorkload {} This structure may be used to describe an IO Workload. See the IOPerformanceLoSCapabilities.v1_0_0 schema for details.
IOWorkloadComponent{} This structure may be used to describe a component of an IO workload. See the IOPerformanceLoSCapabilities.v1_1_1 schema for details.
ReplicaInfo {} The value shall define the characteristics of a replica. See the StorageReplicaInfo.v1_1_0 schema for details.
ReplicaRequest {} See the DataProtectionLineOfService.v1_1_0 schema for details.
Schedule {} Schedule a series of occurrences. See the Schedule.v1_1_0 schema for details.

9.4. CapacitySource 1.1.3

9.4.1. Description

This composition may be 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.

9.4.2. URIs

/redfish/v1/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId} /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId} /redfish/v1/Storage/{StorageId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId} /redfish/v1/StorageServices/{StorageServiceId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId} /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId} /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId} /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId} /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId} /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}

9.4.3. Properties

The properties defined for the CapacitySource 1.1.3 schema are summarized in Table 21.

Table 21: CapacitySource 1.1.3 properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Actions (v1.1.2+) {} object The Actions property shall contain the available actions for this resource.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Id string

read-only required
This property represents an identifier for the resource. The resource values shall comply with the Redfish Specification-described requirements.
Name string

read-only required
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
ProvidedCapacity { object The value shall be the amount of space that has been provided from the ProvidingDrives, ProvidingVolumes, ProvidingMemory or ProvidingPools.
      Data { object The value shall be capacity information relating to provisioned user data.
            AllocatedBytes integer
(By)

read-write
(null)
The value shall be the number of bytes currently allocated by the storage system in this data store for this data type.
            ConsumedBytes integer
(By)

read-only
(null)
The value shall be the number of logical bytes currently consumed in this data store for this data type.
            GuaranteedBytes integer
(By)

read-write
(null)
The value shall be the number of bytes the storage system guarantees can be allocated in this data store for this data type.
            ProvisionedBytes integer
(By)

read-write
(null)
The value shall be the maximum number of bytes that can be allocated in this data store for this data type.
      }
      IsThinProvisioned boolean

read-only
(null)
If the value is false, the capacity shall be fully allocated. The default value shall be false.
      Metadata { object The value shall be capacity information relating to provisioned system (non-user accessible) data.
            AllocatedBytes integer
(By)

read-write
(null)
The value shall be the number of bytes currently allocated by the storage system in this data store for this data type.
            ConsumedBytes integer
(By)

read-only
(null)
The value shall be the number of logical bytes currently consumed in this data store for this data type.
            GuaranteedBytes integer
(By)

read-write
(null)
The value shall be the number of bytes the storage system guarantees can be allocated in this data store for this data type.
            ProvisionedBytes integer
(By)

read-write
(null)
The value shall be the maximum number of bytes that can be allocated in this data store for this data type.
      }
      Snapshot { object The value shall be capacity information relating to provisioned snapshot or backup data.
            AllocatedBytes integer
(By)

read-write
(null)
The value shall be the number of bytes currently allocated by the storage system in this data store for this data type.
            ConsumedBytes integer
(By)

read-only
(null)
The value shall be the number of logical bytes currently consumed in this data store for this data type.
            GuaranteedBytes integer
(By)

read-write
(null)
The value shall be the number of bytes the storage system guarantees can be allocated in this data store for this data type.
            ProvisionedBytes integer
(By)

read-write
(null)
The value shall be the maximum number of bytes that can be allocated in this data store for this data type.
      }
}
ProvidedClassOfService { object The value shall reference the provided ClassOfService from the ProvidingDrives, ProvidingVolumes, ProvidingMemoryChunks, ProvidingMemory or ProvidingPools.
      @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
}
ProvidingDrives { object If present, the value shall be a reference to a contributing drive or drives. Contains a link to a resource.
      @odata.id string

read-only
Link to Collection of redfish.dmtf.org/schemas/v1/Drive.json. See the redfish.dmtf.org/schemas/v1/Drive.json schema for details.
}
ProvidingMemory (v1.1+) { object If present, the value shall be a reference to the contributing memory.
      @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
}
ProvidingMemoryChunks (v1.1+) { object If present, the value shall be a reference to the contributing memory chunks.
      @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
}
ProvidingPools { object If present, the value shall be a reference to a contributing storage pool or storage pools. Contains a link to a resource.
      @odata.id string

read-only
Link to Collection of StoragePool. See the StoragePool schema for details.
}
ProvidingVolumes { object If present, the value shall be a reference to a contributing volume or volumes. Contains a link to a resource.
      @odata.id string

read-only
Link to Collection of Volume. See the Volume schema for details.
}

9.5. CapacitySourceCollection

9.5.1. Properties

The properties defined for the CapacitySourceCollection schema are summarized in Table 22.

Table 22: CapacitySourceCollection properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Members [ { array The value of each member entry shall reference a CapacitySource resource.
      @odata.id string

read-only
Link to a CapacitySource resource. See the Links section and the CapacitySource schema for details.
} ]
Members@odata.nextLink string
(URI)

read-only
The value of this property shall be a URI to a resource, with the same @odata.type, containing the next set of partial members.
Name string

read-only
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.

9.6. ClassOfServiceCollection

9.6.1. URIs

/redfish/v1/StorageServices/{StorageServiceId}/ClassesOfService /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/ClassesOfService

9.6.2. Properties

The properties defined for the ClassOfServiceCollection schema are summarized in Table 23.

Table 23: ClassOfServiceCollection properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Members [ { array The value of each member entry shall reference a ClassOfService or LineOfService resource.
      @odata.id string

read-only
Link to a LineOfService resource. See the Links section and the LineOfService schema for details.
} ]
Members@odata.nextLink string
(URI)

read-only
The value of this property shall be a URI to a resource, with the same @odata.type, containing the next set of partial members.
Name string

read-only
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.

9.7. ConsistencyGroup 1.0.1

9.7.1. Description

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.

9.7.2. URIs

/redfish/v1/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId} /redfish/v1/StorageServices/{StorageServiceId}/ConsistencyGroups/{ConsistencyGroupId} /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/ConsistencyGroups/{ConsistencyGroupId} /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}

9.7.3. Properties

The properties defined for the ConsistencyGroup 1.0.1 schema are summarized in Table 24.

Table 24: ConsistencyGroup 1.0.1 properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Actions { object The Actions property shall contain the available actions for this resource.
      #ConsistencyGroup.AssignReplicaTarget {} object This action shall be used to establish a replication relationship by assigning an existing consistency group to serve as a target replica for an existing source consistency group. For more information, see the Actions section below.
      #ConsistencyGroup.CreateReplicaTarget {} object This action shall be used to create a new consistency group resource to provide expanded data protection through a replica relationship with the specified source consistency group. For more information, see the Actions section below.
      #ConsistencyGroup.RemoveReplicaRelationship {} object This action shall be used to disable data synchronization between a source and target consistency group, remove the replication relationship, and optionally delete the target consistency group. For more information, see the Actions section below.
      #ConsistencyGroup.ResumeReplication {} object This action shall be used to resume the active data synchronization between a source and target consistency group, without otherwise altering the replication relationship. For more information, see the Actions section below.
      #ConsistencyGroup.ReverseReplicationRelationship {} object This action shall be used to reverse the replication relationship between a source and target consistency group. For more information, see the Actions section below.
      #ConsistencyGroup.SplitReplication {} object This action shall be used to split the replication relationship and suspend data synchronization between a source and target consistency group. For more information, see the Actions section below.
      #ConsistencyGroup.SuspendReplication {} object This action shall be used to suspend active data synchronization between a source and target consistency group, without otherwise altering the replication relationship. For more information, see the Actions section below.
}
ConsistencyMethod string
(enum)

read-write
(null)
The property shall set the consistency method used by this group. For the possible property values, see ConsistencyMethod in Property details.
ConsistencyType string
(enum)

read-write
(null)
This property shall set the consistency type used by this group. For the possible property values, see ConsistencyType in Property details.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Id string

read-only required
This property represents an identifier for the resource. The resource values shall comply with the Redfish Specification-described requirements.
IsConsistent boolean

read-only
(null)
The value of this property shall be set to true when the consistency group is in a consistent state.
Links { object This property shall contain links to other resources that are related to this resource.
      Oem {} object This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
}
Name string

read-only required
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
ReplicaInfo {} object This property shall describe the replication relationship between this storage group and a corresponding source storage group. See the StorageReplicaInfo.v1_3_0 schema for details on this property.
ReplicaTargets [ { array The value shall reference the target replicas that are sourced by this replica.
      @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
} ]
Status {} object The property shall contain the status of the ConsistencyGroup. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
Volumes [ { array An array of references to volumes managed by this storage group.
      @odata.id string

read-write
Link to a Volume resource. See the Links section and the Volume schema for details.
} ]

9.7.4. Actions

9.7.4.1. AssignReplicaTarget

Description

This action shall be used to establish a replication relationship by assigning an existing consistency group to serve as a target replica for an existing source consistency group.

Action URIs

/redfish/v1/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.AssignReplicaTarget /redfish/v1/StorageServices/{StorageServiceId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.AssignReplicaTarget /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.AssignReplicaTarget /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.AssignReplicaTarget

Action parameters

The parameters for the action which are included in the POST body to the URI shown in the ‘target’ property of the Action are summarized in Table 25.

Table 25: AssignReplicaTarget action parameters
{
      ReplicaType string
(enum)

required
This parameter shall contain the type of replica relationship to be created. For the possible property values, see ReplicaType in Property details.
      ReplicaUpdateMode string
(enum)

required
This parameter shall specify the replica update mode. For the possible property values, see ReplicaUpdateMode in Property details.
      TargetConsistencyGroup string

required
This parameter shall contain the Uri to the existing consistency group.
}

9.7.4.2. CreateReplicaTarget

Description

This action shall be used to create a new consistency group resource to provide expanded data protection through a replica relationship with the specified source consistency group.

Action URIs

/redfish/v1/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.CreateReplicaTarget /redfish/v1/StorageServices/{StorageServiceId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.CreateReplicaTarget /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.CreateReplicaTarget /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.CreateReplicaTarget

Action parameters

The parameters for the action which are included in the POST body to the URI shown in the ‘target’ property of the Action are summarized in Table 26.

Table 26: CreateReplicaTarget action parameters
{
      ConsistencyGroupName string

required
This parameter shall contain the Name for the target consistency group.
      ReplicaType string
(enum)

required
This parameter shall contain the type of replica relationship to be created. For the possible property values, see ReplicaType in Property details.
      ReplicaUpdateMode string
(enum)

required
This parameter shall specify the replica update mode. For the possible property values, see ReplicaUpdateMode in Property details.
      TargetStoragePool string

required
This parameter shall contain the Uri to the existing StoragePool in which to create the target consistency group.
}

9.7.4.3. RemoveReplicaRelationship

Description

This action shall be used to disable data synchronization between a source and target consistency group, remove the replication relationship, and optionally delete the target consistency group.

Action URIs

/redfish/v1/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.RemoveReplicaRelationship /redfish/v1/StorageServices/{StorageServiceId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.RemoveReplicaRelationship /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.RemoveReplicaRelationship /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.RemoveReplicaRelationship

Action parameters

The parameters for the action which are included in the POST body to the URI shown in the ‘target’ property of the Action are summarized in Table 27.

Table 27: RemoveReplicaRelationship action parameters
{
      DeleteTargetConsistencyGroup boolean

optional
This parameter shall indicate whether or not to delete the target consistency group as part of the operation. If not specified, the system should use its default behavior.
      TargetConsistencyGroup string

required
This parameter shall contain the Uri to the existing target consistency group.
}

9.7.4.4. ResumeReplication

Description

This action shall be used to resume the active data synchronization between a source and target consistency group, without otherwise altering the replication relationship.

Action URIs

/redfish/v1/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.ResumeReplication /redfish/v1/StorageServices/{StorageServiceId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.ResumeReplication /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.ResumeReplication /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.ResumeReplication

Action parameters

The parameters for the action which are included in the POST body to the URI shown in the ‘target’ property of the Action are summarized in Table 28.

Table 28: ResumeReplication action parameters
{
      TargetConsistencyGroup string

required
This parameter shall contain the Uri to the existing target consistency group.
}

9.7.4.5. ReverseReplicationRelationship

Description

This action shall be used to reverse the replication relationship between a source and target consistency group.

Action URIs

/redfish/v1/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.ReverseReplicationRelationship /redfish/v1/StorageServices/{StorageServiceId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.ReverseReplicationRelationship /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.ReverseReplicationRelationship /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.ReverseReplicationRelationship

Action parameters

The parameters for the action which are included in the POST body to the URI shown in the ‘target’ property of the Action are summarized in Table 29.

Table 29: ReverseReplicationRelationship action parameters
{
      TargetConsistencyGroup string

required
This parameter shall contain the Uri to the existing target consistency group.
}

9.7.4.6. SplitReplication

Description

This action shall be used to split the replication relationship and suspend data synchronization between a source and target consistency group.

Action URIs

/redfish/v1/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.SplitReplication /redfish/v1/StorageServices/{StorageServiceId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.SplitReplication /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.SplitReplication /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.SplitReplication

Action parameters

The parameters for the action which are included in the POST body to the URI shown in the ‘target’ property of the Action are summarized in Table 30.

Table 30: SplitReplication action parameters
{
      TargetConsistencyGroup string

required
This parameter shall contain the Uri to the existing target consistency group.
}

9.7.4.7. SuspendReplication

Description

This action shall be used to suspend active data synchronization between a source and target consistency group, without otherwise altering the replication relationship.

Action URIs

/redfish/v1/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.SuspendReplication /redfish/v1/StorageServices/{StorageServiceId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.SuspendReplication /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.SuspendReplication /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Actions/ConsistencyGroup.SuspendReplication

Action parameters

The parameters for the action which are included in the POST body to the URI shown in the ‘target’ property of the Action are summarized in Table 31.

Table 31: SuspendReplication action parameters
{
      TargetConsistencyGroup string

required
This parameter shall contain the Uri to the existing target consistency group.
}

9.7.5. Property details

9.7.5.1. ConsistencyMethod

The defined property values are listed in Table 32. The property shall set the consistency method used by this group.

string Description
HotStandby Supports consistency method commonly orchestrated using application-specific code.
Other Supports consistency method orchestrated using vendor-specific code.
VASA Supports VMware consistency requirements, such as for VASA and VVOLs.
VDI Supports Microsoft virtual backup device interface (VDI).
VSS Supports Microsoft VSS.

9.7.5.2. ConsistencyType

The defined property values are listed in Table 33. This property shall set the consistency type used by this group.

string Description
ApplicationConsistent Orchestration exists to either flush or halt pending IO to ensure operations occur in a transactionally consistent manner.
CrashConsistent Requested operations are either triggered or instituted without regard to pending IO.

9.7.5.3. ReplicaType

The defined property values are listed in Table 34. This parameter shall contain the type of replica relationship to be created.

string Description
Clone This enumeration literal shall indicate that replication shall create a point in time, full copy the source.
Mirror This enumeration literal shall indicate that replication shall create and maintain a copy of the source.
Snapshot This enumeration literal shall indicate that replication shall create a point in time, virtual copy of the source.
TokenizedClone This enumeration literal shall indicate that replication shall create a token based clone.

9.7.5.4. ReplicaUpdateMode

The defined property values are listed in Table 35. This parameter shall specify the replica update mode.

string Description
Active This enumeration literal shall indicate Active-Active (i.e. bidirectional) synchronous updates.
Adaptive This enumeration literal shall indicate that an implementation may switch between synchronous and asynchronous modes.
Asynchronous This enumeration literal shall indicate Asynchronous updates.
Synchronous This enumeration literal shall indicate Synchronous updates.

9.8. ConsistencyGroupCollection

9.8.1. URIs

/redfish/v1/Storage/{StorageId}/ConsistencyGroups /redfish/v1/StorageServices/{StorageServiceId}/ConsistencyGroups /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/ConsistencyGroups /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/ConsistencyGroups

9.8.2. Properties

The properties defined for the ConsistencyGroupCollection schema are summarized in Table 36.

Table 36: ConsistencyGroupCollection properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Members [ { array The value of each member entry shall reference a ConsistencyGroup resource.
      @odata.id string

read-only
Link to a ConsistencyGroup resource. See the Links section and the ConsistencyGroup schema for details.
} ]
Members@odata.nextLink string
(URI)

read-only
The value of this property shall be a URI to a resource, with the same @odata.type, containing the next set of partial members.
Name string

read-only
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.

9.9. DataProtectionLoSCapabilities 1.1.3

9.9.1. Description

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.

9.9.2. URIs

/redfish/v1/StorageServices/{StorageServiceId}/DataProtectionLoSCapabilities

9.9.3. Properties

The properties defined for the DataProtectionLoSCapabilities 1.1.3 schema are summarized in Table 37.

Table 37: DataProtectionLoSCapabilities 1.1.3 properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Actions (v1.1+) {} object The Actions property shall contain the available actions for this resource.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Id string

read-only required
This property represents an identifier for the resource. The resource values shall comply with the Redfish Specification-described requirements.
Identifier {} object The value shall be unique within the managed ecosystem. See the redfish.dmtf.org/schemas/v1/Resource.v1_9_2.json schema for details on this property.
Links { object The value of this property shall contains links to other resources that are not contained in this resource.
      Oem {} object This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
      SupportedReplicaOptions [ { array The collection shall contain known and supported replica Classes of Service.
            @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
      } ]
      SupportedReplicaOptions@odata.count integer

read-only
The value of this property shall be an integer representing the number of items in a collection.
}
Name string

read-only required
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
SupportedLinesOfService [ { array The collection shall contain known and supported DataProtectionLinesOfService.
      @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
} ]
SupportedMinLifetimes [ ] array (string, null)

read-write
The value of each entry shall be an ISO 8601 duration that specifies the minimum lifetime required for the replica.
SupportedRecoveryGeographicObjectives [ ] array (string
(enum))

read-write
(null)
The value of each entry shall specify a supported failure domain. The enumeration literals of this enumeration shall represent a geographic scope in which all components within that scope have similar vulnerabilities. For the possible property values, see SupportedRecoveryGeographicObjectives in Property details.
SupportedRecoveryPointObjectiveTimes [ ] array (string, null)

read-write
The value of 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.
SupportedRecoveryTimeObjectives [ ] array (string
(enum))

read-write
(null)
The value of 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. The enumeration literals shall represent the relative time required to make a replica available as a source. For the possible property values, see SupportedRecoveryTimeObjectives in Property details.
SupportedReplicaTypes [ ] array (string
(enum))

read-write
(null)
The value of each entry shall specify a supported replica type. The enumeration literals may be used to specify the intended outcome of the replication. For the possible property values, see SupportedReplicaTypes in Property details.
SupportsIsolated boolean

read-write
(null)
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.

9.9.4. Property details

9.9.4.1. SupportedRecoveryGeographicObjectives

The defined property values are listed in Table 38. The value of each entry shall specify a supported failure domain. The enumeration literals of this enumeration shall represent a geographic scope in which all components within that scope have similar vulnerabilities.

string Description
Datacenter A facility that provides communication, power, or cooling infrastructure to a co-located set of servers, networking and storage.
Rack A container within a datacenter that provides communication, power, or cooling to a set of components.
RackGroup A set of racks that may share common communication, power, or cooling.
Region A set of resources that are required to be either geographically or politically isolated from resources not in the resources.
Row A set of adjacent racks or rackgroups that may share common communication, power, or cooling.
Server Components of a CPU/memory complex that share the same infrastructure.

9.9.4.2. SupportedRecoveryTimeObjectives

The defined property values are listed in Table 39. The value of 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. The enumeration literals shall represent the relative time required to make a replica available as a source.

string Description
Nearline Access to a replica 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.
Offline 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.
OnlineActive Access to synchronous replicas shall be instantaneous.
OnlinePassive Access to a synchronous replica shall be consistent with switching access to a different path the same front-end interconnect. A restore step shall not be required.

9.9.4.3. SupportedReplicaTypes

The defined property values are listed in Table 40. The value of each entry shall specify a supported replica type. The enumeration literals may be used to specify the intended outcome of the replication.

string Description
Clone This enumeration literal shall indicate that replication shall create a point in time, full copy the source.
Mirror This enumeration literal shall indicate that replication shall create and maintain a copy of the source.
Snapshot This enumeration literal shall indicate that replication shall create a point in time, virtual copy of the source.
TokenizedClone This enumeration literal shall indicate that replication shall create a token based clone.

9.10. DataSecurityLoSCapabilities 1.1.3

9.10.1. Description

This resource may be used to describe data security capabilities.

9.10.2. URIs

/redfish/v1/StorageServices/{StorageServiceId}/DataSecurityLoSCapabilities

9.10.3. Properties

The properties defined for the DataSecurityLoSCapabilities 1.1.3 schema are summarized in Table 41.

Table 41: DataSecurityLoSCapabilities 1.1.3 properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Actions (v1.1+) {} object The Actions property shall contain the available actions for this resource.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Id string

read-only required
This property represents an identifier for the resource. The resource values shall comply with the Redfish Specification-described requirements.
Identifier {} object The value identifies this resource. The value shall be unique within the managed ecosystem. See the redfish.dmtf.org/schemas/v1/Resource.v1_9_2.json schema for details on this property.
Name string

read-only required
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
SupportedAntivirusEngineProviders [ ] array (string, null)

read-write
The entry values shall specify supported AntiVirus providers.
SupportedAntivirusScanPolicies [ ] array (string
(enum))

read-write
(null)
The enumeration literal shall specify supported policies that trigger an AntiVirus scan. The enumberation literals shall specify types of antivirus scan triggers. For the possible property values, see SupportedAntivirusScanPolicies in Property details.
SupportedChannelEncryptionStrengths [ ] array (string
(enum))

read-write
(null)
The enumeration literal shall specify supported key sizes in a symmetric encryption algorithm (AES) for transport channel encryption. The enumeration literals 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). For the possible property values, see SupportedChannelEncryptionStrengths in Property details.
SupportedDataSanitizationPolicies [ ] array (string
(enum))

read-write
(null)
The enumeration literal shall specify supported data sanitization policies. The enumberation literals shall specify types of data sanitization policies. For the possible property values, see SupportedDataSanitizationPolicies in Property details.
SupportedHostAuthenticationTypes [ ] array (string
(enum))

read-write
(null)
The enumeration literal shall specify supported authentication types for hosts (servers) or initiator endpoints. The enumeration literals shall specify authentication algorithms. For the possible property values, see SupportedHostAuthenticationTypes in Property details.
SupportedLinesOfService [ { array The collection shall contain supported DataSecurity service options.
      @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
} ]
SupportedMediaEncryptionStrengths [ ] array (string
(enum))

read-write
(null)
The enumeration literal shall specify supported key sizes in a symmetric encryption algorithm (AES) for media encryption. The enumeration literals 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). For the possible property values, see SupportedMediaEncryptionStrengths in Property details.
SupportedSecureChannelProtocols [ ] array (string
(enum))

read-write
(null)
The enumeration literal shall specify supported protocols that provide encrypted communication. The enumeration literals shall specify types of Secure channel protocols. For the possible property values, see SupportedSecureChannelProtocols in Property details.
SupportedUserAuthenticationTypes [ ] array (string
(enum))

read-write
(null)
The enumeration literal shall specify supported authentication types for users (or programs). The enumeration literals shall specify authentication algorithms. For the possible property values, see SupportedUserAuthenticationTypes in Property details.

9.10.4. Property details

9.10.4.1. SupportedAntivirusScanPolicies

The defined property values are listed in Table 42. The enumeration literal shall specify supported policies that trigger an AntiVirus scan. The enumberation literals shall specify types of antivirus scan triggers.

string Description
None This enumeration literal specifies No trigger.
OnFirstRead This enumeration literal specifies to trigger on first read.
OnPatternUpdate This enumeration literal specifies to trigger on antivirus pattern file update.
OnRename This enumeration literal specifies to trigger on object rename.
OnUpdate This enumeration literal specifies to trigger on object update.

9.10.4.2. SupportedChannelEncryptionStrengths

The defined property values are listed in Table 43. The enumeration literal shall specify supported key sizes in a symmetric encryption algorithm (AES) for transport channel encryption. The enumeration literals 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).

string Description
Bits_0 This enumeration literal specifies that there is no key.
Bits_112 This enumeration literal specifies a 3DES 112 bit key.
Bits_128 This enumeration literal specifies an AES 128 bit key.
Bits_192 This enumeration literal specifies an AES 192 bit key.
Bits_256 This enumeration literal specifies an AES 256 bit key.

9.10.4.3. SupportedDataSanitizationPolicies

The defined property values are listed in Table 44. The enumeration literal shall specify supported data sanitization policies. The enumberation literals shall specify types of data sanitization policies.

string Description
Clear This enumeration literal specifies to sanitize data in all user-addressable storage locations for protection against simple non-invasive data recovery techniques.
CryptographicErase 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.
None This enumeration literal specifies no sanitization.

9.10.4.4. SupportedHostAuthenticationTypes

The defined property values are listed in Table 45. The enumeration literal shall specify supported authentication types for hosts (servers) or initiator endpoints. The enumeration literals shall specify authentication algorithms.

string Description
None This enumeration literal specifies No authentication.
Password This enumeration literal specifies Password/shared-secret: Absent an distributed authentication infrastructure, this is what is typically done.
PKI This enumeration literal 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.
Ticket This enumeration literal 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.

9.10.4.5. SupportedMediaEncryptionStrengths

The defined property values are listed in Table 46. The enumeration literal shall specify supported key sizes in a symmetric encryption algorithm (AES) for media encryption. The enumeration literals 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).

string Description
Bits_0 This enumeration literal specifies that there is no key.
Bits_112 This enumeration literal specifies a 3DES 112 bit key.
Bits_128 This enumeration literal specifies an AES 128 bit key.
Bits_192 This enumeration literal specifies an AES 192 bit key.
Bits_256 This enumeration literal specifies an AES 256 bit key.

9.10.4.6. SupportedSecureChannelProtocols

The defined property values are listed in Table 47. The enumeration literal shall specify supported protocols that provide encrypted communication. The enumeration literals shall specify types of Secure channel protocols.

string Description
IPsec This enumeration literal specifies Internet Protocol Security (IPsec), as defined by IETF RFC 2401.
None This enumeration literal specifies no encryption.
RPCSEC_GSS This enumeration literal specifies RPC access to the Generic Security Services Application Programming Interface (GSS-API), as defined by IETF RPC 2203.
TLS This enumeration literal specifies Transport Layer Security (TLS), as defined by IETF RFC 5246.

9.10.4.7. SupportedUserAuthenticationTypes

The defined property values are listed in Table 48. The enumeration literal shall specify supported authentication types for users (or programs). The enumeration literals shall specify authentication algorithms.

string Description
None This enumeration literal specifies No authentication.
Password This enumeration literal specifies Password/shared-secret: Absent an distributed authentication infrastructure, this is what is typically done.
PKI This enumeration literal 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.
Ticket This enumeration literal 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.

9.11. DataStorageLoSCapabilities 1.2.1

9.11.1. Description

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

9.11.2. URIs

/redfish/v1/StorageServices/{StorageServiceId}/DataStorageLoSCapabilities

9.11.3. Properties

The properties defined for the DataStorageLoSCapabilities 1.2.1 schema are summarized in Table 49.

Table 49: DataStorageLoSCapabilities 1.2.1 properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Actions (v1.1+) {} object The Actions property shall contain the available actions for this resource.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Id string

read-only required
This property represents an identifier for the resource. The resource values shall comply with the Redfish Specification-described requirements.
Identifier {} object The value shall be unique within the managed ecosystem. See the redfish.dmtf.org/schemas/v1/Resource.v1_9_2.json schema for details on this property.
MaximumRecoverableCapacitySourceCount (v1.2+) integer

read-write
(null)
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.
Name string

read-only required
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
SupportedAccessCapabilities [ ] array (string
(enum))

read-write
(null)
Each entry specifies a storage access capability. StorageAccessCapability enumeration literals may be used to describe abilities to read or write storage. For the possible property values, see SupportedAccessCapabilities in Property details.
SupportedLinesOfService [ { array The collection shall contain known and supported DataStorageLinesOfService.
      @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
} ]
SupportedProvisioningPolicies [ ] array (string
(enum))

read-write
(null)
This collection specifies supported storage allocation policies. The enumeration literals may be used to specify space provisioning policy. For the possible property values, see SupportedProvisioningPolicies in Property details.
SupportedRecoveryTimeObjectives [ ] array (string
(enum))

read-write
(null)
This collection specifies supported expectations for time to access the primary store after recovery. The enumeration literals shall represent the relative time required to make a replica available as a source. For the possible property values, see SupportedRecoveryTimeObjectives in Property details.
SupportsSpaceEfficiency boolean

read-write
(null)
The value specifies whether storage compression or deduplication is supported. The default value for this property is false.

9.11.4. Property details

9.11.4.1. SupportedAccessCapabilities

The defined property values are listed in Table 50. Each entry specifies a storage access capability. StorageAccessCapability enumeration literals may be used to describe abilities to read or write storage.

string Description
Append This enumeration literal shall indicate that the storage may be written only to append.
Execute This value shall indicate that Execute access is allowed by the file share.
Read This enumeration literal shall indicate that the storage may be read.
Streaming This enumeration literal shall indicate that the storage may be read sequentially.
Write This enumeration literal shall indicate that the storage may be written multiple times.
WriteOnce This enumeration literal shall indicate that the storage may be written only once.

9.11.4.2. SupportedProvisioningPolicies

The defined property values are listed in Table 51. This collection specifies supported storage allocation policies. The enumeration literals may be used to specify space provisioning policy.

string Description
Fixed This enumeration literal specifies storage shall be fully allocated.
Thin This enumeration literal specifies storage may be over allocated.

9.11.4.3. SupportedRecoveryTimeObjectives

The defined property values are listed in Table 52. This collection specifies supported expectations for time to access the primary store after recovery. The enumeration literals shall represent the relative time required to make a replica available as a source.

string Description
Nearline Access to a replica 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.
Offline 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.
OnlineActive Access to synchronous replicas shall be instantaneous.
OnlinePassive Access to a synchronous replica shall be consistent with switching access to a different path the same front-end interconnect. A restore step shall not be required.

9.12. DriveCollection

9.12.1. URIs

/redfish/v1/Chassis/{ChassisId}/Drives /redfish/v1/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingDrives /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingDrives /redfish/v1/Storage/{StorageId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingDrives /redfish/v1/StorageServices/{StorageServiceId}/Drives /redfish/v1/StorageServices/{StorageServiceId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingDrives /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingDrives /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingDrives /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingDrives /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingDrives /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingDrives

9.12.2. Properties

The properties defined for the DriveCollection schema are summarized in Table 53.

Table 53: DriveCollection properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Members [ { array The value of each entry of this property shall reference a Drive resource.
      @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
} ]
Members@odata.nextLink string
(URI)

read-only
The value of this property shall be a URI to a resource, with the same @odata.type, containing the next set of partial members.
Name string

read-only
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.

9.13. EndpointGroup 1.2.1

9.13.1. Description

An EndpointGroup represents a collection of endpoints that are managed as a unit. By grouping together a collection of Endpoints, the EndpointGroup allows a collection of entities from differing sources or hosts to be manipulated uniformly and efficiently.

For any given EndpointGroup, all of its endpoints act exclusively as either server endpoints or client endpoints, as indicated by the value of the EndpointType property. Similarly, each Endpoint within a group has the same AccessState.

A server or client may define multiple EndpointGroup entities that access the same set of resources or functionality. A group may be designated as preferred, which signifies that access should be directed through its members in preference to the Endpoints listed in other EndpointGroups. If the value of EndpointType is Server, an EndpointGroup entity can be used to represent target port group as defined by SCSI. In that mode, the value of the TargetEndpointGroupIdentifier should correspond to the target port group number. (See clause “Device Identification VPD page” as defined in the SCSI Primary Commands specification.)

9.13.2. URIs

/redfish/v1/Storage/{StorageId}/EndpointGroups/{EndpointGroupId} /redfish/v1/StorageServices/{StorageServiceId}/EndpointGroups/{EndpointGroupId} /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/EndpointGroups/{EndpointGroupId}

9.13.3. Properties

The properties defined for the EndpointGroup 1.2.1 schema are summarized in Table 54.

Table 54: EndpointGroup 1.2.1 properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
AccessState string
(enum)

read-write
(null)
Access to all associated resources through all aggregated endpoints shall share this access state. For the possible property values, see AccessState in Property details.
Actions (v1.1+) {} object The Actions property shall contain the available actions for this resource.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Endpoints [ { array The value of each entry shall reference an Endpoint resource.
      @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
} ]
GroupType string
(enum)

read-write
(null)
The group 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. For the possible property values, see GroupType in Property details.
Id string

read-only required
This property represents an identifier for the resource. The resource values shall comply with the Redfish Specification-described requirements.
Identifier {} object The value shall be unique within the managed ecosystem. See the redfish.dmtf.org/schemas/v1/Resource.v1_9_2.json schema for details on this property.
Links { object This structure shall contain references to resources that are not contained within this resource.
      Oem {} object This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
}
Name string

read-only required
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
Preferred boolean

read-write
(null)
A value of True in this property 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.
TargetEndpointGroupIdentifier integer

read-write
(null)
If this endpoint group 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.

9.13.4. Property details

9.13.4.1. AccessState

The defined property values are listed in Table 55. Access to all associated resources through all aggregated endpoints shall share this access state.

string Description
NonOptimized In the context of this enumeration literal, each endpoint shall be in an Active/NonOptimized state.
Optimized In the context of this enumeration literal, each endpoint shall be in an Active/Optimized state.
Standby In the context of this enumeration literal, each endpoint shall be in a Standby state.
Transitioning In the context of this enumeration literal, at least one endpoint shall be transitioning to a new AccessState.
Unavailable In the context of this enumeration literal, each endpoint shall be in an unavailable state.

9.13.4.2. GroupType

The defined property values are listed in Table 56. The group 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.

string Description
Client The group contains the client (initiator) endpoints.
Server The group contains the server (target) endpoints.

9.14. EndpointGroupCollection

9.14.1. URIs

/redfish/v1/Storage/{StorageId}/EndpointGroups /redfish/v1/StorageServices/{StorageServiceId}/EndpointGroups /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/EndpointGroups

9.14.2. Properties

The properties defined for the EndpointGroupCollection schema are summarized in Table 57.

Table 57: EndpointGroupCollection properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Members [ { array The value of each member entry shall reference an endpoint group resource.
      @odata.id string

read-only
Link to a EndpointGroup resource. See the Links section and the EndpointGroup schema for details.
} ]
Members@odata.nextLink string
(URI)

read-only
The value of this property shall be a URI to a resource, with the same @odata.type, containing the next set of partial members.
Name string

read-only
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.

9.15. FeaturesRegistry 1.0.0

9.15.1. Description

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

9.15.2. Properties

The properties defined for the FeaturesRegistry 1.0.0 schema are summarized in Table 58.

Table 58: FeaturesRegistry 1.0.0 properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Actions {} object The Actions property shall contain the available actions for this resource.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Features { object

* required*
The pattern property shall represent the suffix to be used in the FeatureId and shall be unique within this message registry.
      (pattern) { object Property names follow regular expression pattern “[A-Za-z0-9]+”
            CorrespondingProfileDefinition string

read-only required
(null)
If present, the value shall define a profile definition that contains the named profile declaration.
            Description string

read-only required
(null)
The value shall be a detailed description of the feature.
            FeatureName string

read-only required
(null)
The value shall be the unique name of the feature prefixed by the defining organization separated by a period (e.g. ‘vendor.feature’).
            Version string

read-only required
(null)
The value shall uniquely identify the version of the feature, using the major.minor.errata format.
      }
      (pattern) {} [ ] array, boolean, integer, number, object, string


(null)
Property names follow regular expression pattern “^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_]*$”
}
Id string

read-only required
This property represents an identifier for the resource. The resource values shall comply with the Redfish Specification-described requirements.
Language string

read-only required
The value of this property shall be a string consisting of an RFC 5646 language code.
Name string

read-only required
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
OwningEntity string

read-only required
The value of this property shall be a string that represents the publisher of this registry.
RegistryPrefix string

read-only required
The value of this property shall be the prefix used in IDs which uniquely identifies all of the Features in this registry as belonging to this registry.
RegistryVersion string

read-only required
The value of this property shall be the version of this message registry. The format of this string shall be of the format majorversion.minorversion.errata.

9.16. FileShare 1.1.3

9.16.1. Description

This resource shall be used to represent a shared set of files with a common directory structure.

9.16.2. URIs

/redfish/v1/Storage/{StorageId}/FileSystems/{FileSystemsId}/ExportedShares/{ExportedSharesId} /redfish/v1/StorageServices/{StorageServiceId}/FileSystems/{FileSystemsId}/ExportedShares/{ExportedSharesId} /redfish/v1/Systems/{ComputerSystemsId}/Storage/{StorageId}/FileSystems/{FileSystemsId}/ExportedShares/{ExportedSharesId}

9.16.3. Properties

The properties defined for the FileShare 1.1.3 schema are summarized in Table 59.

Table 59: FileShare 1.1.3 properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Actions (v1.1+) {} object The Actions property shall contain the available actions for this resource.
CASupported boolean

read-write
(null)
The value of this property 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.
DefaultAccessCapabilities [ ] array (string
(enum))

read-only
(null)
The value of this property 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. StorageAccessCapability enumeration literals may be used to describe abilities to read or write storage. For the possible property values, see DefaultAccessCapabilities in Property details.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
EthernetInterfaces { object The value shall be a link to an EthernetInterfaceCollection with members that provide access to the file share.
      @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
}
ExecuteSupport boolean

read-only
(null)
The value of this property shall indicate whether Execute access is supported by the file share. The default value for this property is false.
FileSharePath string

read-only
(null)
The value of this property 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.
FileShareQuotaType string
(enum)

read-write
(null)
If FileShareQuotaType is present, a 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. For the possible property values, see FileShareQuotaType in Property details.
FileShareRemainingQuotaBytes integer
(By)

read-only
(null)
If present, the value of this property shall indicate the remaining number of bytes that may be consumed by this file share.
FileShareTotalQuotaBytes integer
(By)

read-write
(null)
If present, the value of this property shall indicate the maximum number of bytes that may be consumed by this file share.
FileSharingProtocols [ ] array (string
(enum))

read-only
(null)
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. The values shall indicate the file sharing protocols supported by the file system. At least one value shall be present. For the possible property values, see FileSharingProtocols in Property details.
Id string

read-only required
This property represents an identifier for the resource. The resource values shall comply with the Redfish Specification-described requirements.
Links { object The Links property, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource.
      ClassOfService { object This value shall be a link to the ClassOfService for this file share.
            @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
      }
      FileSystem { object The value shall be a link to the file system containing the file share. See the FileSystem schema for details on this property.
            @odata.id string

read-only
Link to a FileSystem resource. See the Links section and the FileSystem schema for details.
      }
      Oem {} object This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
}
LowSpaceWarningThresholdPercents [ ] array
(%) (integer, null)

read-write
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).
Name string

read-only required
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
RemainingCapacityPercent (v1.1+) integer

read-only
(null)
If present, this value shall return {[(SUM(AllocatedBytes) - SUM(ConsumedBytes)]/SUM(AllocatedBytes)}*100 represented as an integer value.
RootAccess boolean

read-only
(null)
The value of this property shall indicate whether Root access is allowed by the file share. The default value for this property is false.
Status {} object This value of this property shall indicate the status of the file share. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
WritePolicy string
(enum)

read-only
(null)
The value of this property shall define how writes are replicated to the shared source. For the possible property values, see WritePolicy in Property details.

9.16.4. Property details

9.16.4.1. DefaultAccessCapabilities

The defined property values are listed in Table 60. The value of this property 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. StorageAccessCapability enumeration literals may be used to describe abilities to read or write storage.

string Description
Append This enumeration literal shall indicate that the storage may be written only to append.
Execute This value shall indicate that Execute access is allowed by the file share.
Read This enumeration literal shall indicate that the storage may be read.
Streaming This enumeration literal shall indicate that the storage may be read sequentially.
Write This enumeration literal shall indicate that the storage may be written multiple times.
WriteOnce This enumeration literal shall indicate that the storage may be written only once.

9.16.4.2. FileShareQuotaType

The defined property values are listed in Table 61. If FileShareQuotaType is present, a 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.

string Description
Hard This value shall indicate that quotas are enabled and enforced.
Soft This value shall indicate that quotas are enabled but not enforced.

9.16.4.3. FileSharingProtocols

The defined property values are listed in Table 62. 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. The values shall indicate the file sharing protocols supported by the file system. At least one value shall be present.

string Description
NFSv3 This value shall indicate that NFSv3, as defined in RFC 1813, is supported by the file system.
NFSv4_0 This value shall indicate that NFSv4, as defined in RFC 7530, is supported by the file system.
NFSv4_1 This value shall indicate that NFSv4.1, as defined in RFC 5661, is supported by the file system.
SMBv2_0 This value shall indicate that Server Message Block version 2.0 is supported by the file system.
SMBv2_1 This value shall indicate that Server Message Block version 2.1 is supported by the file system.
SMBv3_0 This value shall indicate that Server Message Block version 3.0 is supported by the file system.
SMBv3_0_2 This value shall indicate that Server Message Block version 3.0.2 is supported by the file system.
SMBv3_1_1 This value shall indicate that Server Message Block version 3.1.1 is supported by the file system.

9.16.4.4. WritePolicy

The defined property values are listed in Table 63. The value of this property shall define how writes are replicated to the shared source.

string Description
Active This enumeration literal shall indicate Active-Active (i.e. bidirectional) synchronous updates.
Adaptive This enumeration literal shall indicate that an implementation may switch between synchronous and asynchronous modes.
Asynchronous This enumeration literal shall indicate Asynchronous updates.
Synchronous This enumeration literal shall indicate Synchronous updates.

9.17. FileShareCollection

9.17.1. URIs

/redfish/v1/Storage/{StorageId}/FileSystems/{FileSystemsId}/ExportedShares /redfish/v1/StorageServices/{StorageServiceId}/FileSystems/{FileSystemsId}/ExportedShares

9.17.2. Properties

The properties defined for the FileShareCollection schema are summarized in Table 64.

Table 64: FileShareCollection properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Members [ { array This property shall contain references to the members of this FileSystem collection.
      @odata.id string

read-only
Link to a FileShare resource. See the Links section and the FileShare schema for details.
} ]
Members@odata.nextLink string
(URI)

read-only
The value of this property shall be a URI to a resource, with the same @odata.type, containing the next set of partial members.
Name string

read-only
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.

9.18. FileSystem 1.2.2

9.18.1. Description

This resource shall be used to represent an instance of a hierarchical namespace of files.

9.18.2. URIs

/redfish/v1/Storage/{StorageId}/FileSystems/{FileSystemId} /redfish/v1/StorageServices/{StorageServiceId}/FileSystems/{FileSystemId}

9.18.3. Properties

The properties defined for the FileSystem 1.2.2 schema are summarized in Table 65.

Table 65: FileSystem 1.2.2 properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
AccessCapabilities [ ] array (string
(enum))

read-write
(null)
This property shall be an array containing entries for the supported IO access capabilities. Each entry shall specify a current storage access capability. StorageAccessCapability enumeration literals may be used to describe abilities to read or write storage. For the possible property values, see AccessCapabilities in Property details.
Actions (v1.1+) {} object The Actions property shall contain the available actions for this resource.
BlockSizeBytes integer
(By)

read-only
(null)
The value of this property shall be the block size of the file system in bytes.
Capacity {} object The value of this property shall be the capacity allocated to the file system in bytes. See the CapacitySource.v1_0_0 schema for details on this property.
CapacitySources [ { array This property 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.
      @odata.id string

read-write
Link to a CapacitySource resource. See the Links section and the CapacitySource schema for details.
} ]
CasePreserved boolean

read-write
(null)
This property 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.
CaseSensitive boolean

read-write
(null)
This property 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.
CharacterCodeSet [ ] array (string
(enum))

read-write
(null)
This property 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. The values shall indicate the character code standards supported by the file system. For the possible property values, see CharacterCodeSet in Property details.
ClusterSizeBytes integer
(By)

read-write
(null)
This value 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.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
ExportedShares { object This property shall be an array of exported file shares of this file system. Each entry shall define an exported file share of this file system. Contains a link to a resource.
      @odata.id string

read-write
Link to Collection of FileShare. See the FileShare schema for details.
}
Id string

read-only required
This property represents an identifier for the resource. The resource values shall comply with the Redfish Specification-described requirements.
Identifiers (v1.1.1+) [ { } ] array (object) This property shall contain a list of all known durable names for this file system. This type shall contain any additional identifiers for a resource. See the redfish.dmtf.org/schemas/v1/Resource.v1_9_2.json schema for details on this property.
ImportedShares (v1.0.1+) [ { array The value shall be an array of imported file shares.
      ImportedShare

read-write
} ]
IOStatistics (v1.2+) {} object The value shall represent IO statistics for this FileSystem. See the v1_0_3.v1_0_3 schema for details on this property.
Links { object This property shall contain links to other resources that are related to this resource.
      ClassOfService { object This value shall be a link to the ClassOfService for this file system.
            @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
      }
      Oem {} object This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
      ReplicaCollection [ { array This property shall be an array of links to replicas for this file system. Each entry shall be a link to a replica for this file system.
            @odata.id string

read-only
Link to another FileSystem resource.
      } ]
      ReplicaCollection@odata.count integer

read-only
The value of this property shall be an integer representing the number of items in a collection.
      SpareResourceSets (v1.2+) [ { array Each referenced SpareResourceSet shall contain resources that may be utilized to replace the capacity provided by a failed resource having a compatible type.
            @odata.id string

read-write
Link to a SpareResourceSet resource. See the Links section and the SpareResourceSet schema for details.
      } ]
      SpareResourceSets@odata.count integer

read-only
The value of this property shall be an integer representing the number of items in a collection.
}
LowSpaceWarningThresholdPercents [ ] array
(%) (integer, null)

read-write
This property 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).
MaxFileNameLengthBytes integer
(By)

read-write
(null)
If specified, this value shall specify the maximum length of a file name within the file system.
Name string

read-only required
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
RecoverableCapacitySourceCount (v1.2+) integer

read-write
(null)
The value is the number of available capacity source resources currently available in the event that an equivalent capacity source resource fails.
RemainingCapacity {} object The value of this property shall be the remaining capacity allocated to the file system in bytes. See the CapacitySource.v1_0_0 schema for details on this property.
RemainingCapacityPercent (v1.1+) integer

read-only
(null)
If present, this value shall return {[(SUM(AllocatedBytes) - SUM(ConsumedBytes)]/SUM(AllocatedBytes)}*100 represented as an integer value.
ReplicaInfo { object 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. See the StorageReplicaInfo schema for details on this property.
      @odata.id string

read-only
Link to a ReplicaInfo resource. See the Links section and the StorageReplicaInfo schema for details.
}
ReplicaTargets (v1.2.1+) [ { array The value shall reference the target replicas that are sourced by this replica.
      @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
} ]

9.18.4. Property details

9.18.4.1. AccessCapabilities

The defined property values are listed in Table 66. This property shall be an array containing entries for the supported IO access capabilities. Each entry shall specify a current storage access capability. StorageAccessCapability enumeration literals may be used to describe abilities to read or write storage.

string Description
Append This enumeration literal shall indicate that the storage may be written only to append.
Execute This value shall indicate that Execute access is allowed by the file share.
Read This enumeration literal shall indicate that the storage may be read.
Streaming This enumeration literal shall indicate that the storage may be read sequentially.
Write This enumeration literal shall indicate that the storage may be written multiple times.
WriteOnce This enumeration literal shall indicate that the storage may be written only once.

9.18.4.2. CharacterCodeSet

The defined property values are listed in Table 67. This property 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. The values shall indicate the character code standards supported by the file system.

string Description
ASCII This value shall indicate that the ASCII character encoding is supported by the file system.
ExtendedUNIXCode This value shall indicate that Extended Unix Code character encoding is supported by the file system.
ISO2022 This value shall indicate that ISO-2022 character encoding is supported by the file system.
ISO8859_1 This value shall indicate that ISO-8859-1 character encoding is supported by the file system.
UCS_2 This value shall indicate that the UCS-2 character encoding is supported by the file system.
Unicode This value shall indicate that Unicode character encoding is supported by the file system.
UTF_16 This value shall indicate that the UTF-16 character encoding is supported by the file system.
UTF_8 This value shall indicate that the UTF-8 character encoding is supported by the file system.

9.19. FileSystemCollection

9.19.1. URIs

/redfish/v1/Storage/{StorageId}/FileSystems/{FileSystemsId}/ExportedShares/{FileShareId} /redfish/v1/StorageServices/{StorageServiceId}/FileSystems/{FileSystemsId}/ExportedShares/{FileShareId}

9.19.2. Properties

The properties defined for the FileSystemCollection schema are summarized in Table 68.

Table 68: FileSystemCollection properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Members [ { array This property shall contain references to the members of this FileSystem collection.
      @odata.id string

read-only
Link to a FileSystem resource. See the Links section and the FileSystem schema for details.
} ]
Members@odata.nextLink string
(URI)

read-only
The value of this property shall be a URI to a resource, with the same @odata.type, containing the next set of partial members.
Name string

read-only
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.

9.20. HostedStorageServices

9.20.1. URIs

/redfish/v1/Systems/{ComputerSystemId}/HostedServices/StorageServices

9.20.2. Properties

The properties defined for the HostedStorageServices schema are summarized in Table 69.

Table 69: HostedStorageServices properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Members [ { array The value of each member entry shall reference a StorageService resource.
      @odata.id string

read-only
Link to a StorageService resource. See the Links section and the StorageService schema for details.
} ]
Members@odata.nextLink string
(URI)

read-only
The value of this property shall be a URI to a resource, with the same @odata.type, containing the next set of partial members.
Name string

read-only
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.

9.21. IOConnectivityLoSCapabilities 1.1.3

9.21.1. Description

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

9.21.2. URIs

/redfish/v1/StorageServices/{StorageServiceId}/IOConnectivityLoSCapabilities

9.21.3. Properties

The properties defined for the IOConnectivityLoSCapabilities 1.1.3 schema are summarized in Table 70.

Table 70: IOConnectivityLoSCapabilities 1.1.3 properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Actions (v1.1+) {} object The Actions property shall contain the available actions for this resource.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Id string

read-only required
This property represents an identifier for the resource. The resource values shall comply with the Redfish Specification-described requirements.
Identifier {} object The value identifies this resource. The value shall be unique within the managed ecosystem. See the redfish.dmtf.org/schemas/v1/Resource.v1_9_2.json schema for details on this property.
MaxSupportedBytesPerSecond integer
(By/s)

read-write
(null)
The value shall be the maximum bytes per second that a connection can support.
MaxSupportedIOPS (v1.1+) integer
([IO]/s)

read-write
(null)
The value shall be the maximum IOPS that a connection can support.
Name string

read-only required
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
SupportedAccessProtocols [ ] array (string
(enum))

read-write
(null)
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’}). For the possible property values, see SupportedAccessProtocols in Property details.*
SupportedLinesOfService [ { array The collection shall contain known and supported IOConnectivityLinesOfService.
      @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
} ]

9.21.4. Property details

9.21.4.1. SupportedAccessProtocols

The defined property values are listed in Table 71. 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*’}).

Table 71: SupportedAccessProtocols property values
string Description
AHCI This value shall indicate conformance to the Intel Advanced Host Controller Interface (AHCI) Specification.
FC This value shall indicate conformance to the T11 Fibre Channel Physical and Signaling Interface Specification.
FCoE This value shall indicate conformance to the T11 FC-BB-5 Specification.
FCP This value shall indicate conformance to the INCITS 481: Information Technology - Fibre Channel Protocol for SCSI.
FICON This value shall indicate conformance to the ANSI FC-SB-3 Single-Byte Command Code Sets-3 Mapping Protocol for the Fibre Channel (FC) protocol. Fibre Connection (FICON) is the IBM-proprietary name for this protocol.
FTP This value shall indicate conformance to the RFC114-defined File Transfer Protocol (FTP).
GenZ This value shall indicate conformance to the Gen-Z Core Specification.
HTTP This value shall indicate conformance to the Hypertext Transport Protocol (HTTP) as defined by RFC3010 or RFC5661.
HTTPS This value shall indicate conformance to the Hypertext Transfer Protocol Secure (HTTPS) as defined by RFC2068 or RFC2616, which uses Transport Layer Security (TLS) as defined by RFC5246 or RFC6176.
I2C This value shall indicate conformance to the NXP Semiconductors I2C-bus Specification.
iSCSI This value shall indicate conformance to the IETF Internet Small Computer Systems Interface (iSCSI) Specification.
iWARP This value shall indicate conformance to the RFC5042-defined Internet Wide Area RDMA Protocol (iWARP) that uses the transport layer mechanisms as defined by RFC5043 or RFC5044.
MultiProtocol This value shall indicate conformance to multiple protocols.
NFSv3 This value shall indicate conformance to the RFC1813-defined Network File System (NFS) protocol.
NFSv4
NVMe This value shall indicate conformance to the Non-Volatile Memory Host Controller Interface Specification.
NVMeOverFabrics This value shall indicate conformance to the NVM Express over Fabrics Specification.
OEM This value shall indicate conformance to an OEM-specific architecture and the OEM section might include additional information.
PCIe This value shall indicate conformance to the PCI-SIG PCI Express Base Specification.
RoCE This value shall indicate conformance to the Infiniband Architecture Specification-defined RDMA over Converged Ethernet Protocol.
RoCEv2 This value shall indicate conformance to the Infiniband Architecture Specification-defined RDMA over Converged Ethernet Protocol version 2.
SAS This value shall indicate conformance to the T10 SAS Protocol Layer Specification.
SATA This value shall indicate conformance to the Serial ATA International Organization Serial ATA Specification.
SFTP This value shall indicate conformance to the RFC114-defined SSH File Transfer Protocol (SFTP) that uses Transport Layer Security (TLS) as defined by RFC5246 or RFC6176.
SMB This value shall indicate conformance to the Server Message Block (SMB), or Common Internet File System (CIFS), protocol.
TCP This value shall indicate conformance to the IETF-defined Tranmission Control Protocol (TCP). For example, RFC7414 defines the roadmap of the TCP specification.
TFTP This value shall indicate conformance to the IETF-defined Trivial File Transfer Protocol (TFTP). For example, RFC1350 defines the core TFTP version 2 specification.
UDP This value shall indicate conformance to the IETF-defined User Datagram Protocol (UDP). For example, RFC768 defines the core UDP specification.
UHCI This value shall indicate conformance to the Intel Universal Host Controller Interface (UHCI) Specification, Enhanced Host Controller Interface Specification, or the Extensible Host Controller Interface Specification.
USB This value shall indicate conformance to the USB Implementers Forum Universal Serial Bus Specification.

9.22. IOPerformanceLoSCapabilities 1.1.3

9.22.1. Description

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

9.22.2. URIs

/redfish/v1/StorageServices/{StorageServiceId}/IOPerformanceLoSCapabilities

9.22.3. Properties

The properties defined for the IOPerformanceLoSCapabilities 1.1.3 schema are summarized in Table 72.

Table 72: IOPerformanceLoSCapabilities 1.1.3 properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Actions (v1.1+) {} object The Actions property shall contain the available actions for this resource.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Id string

read-only required
This property represents an identifier for the resource. The resource values shall comply with the Redfish Specification-described requirements.
Identifier {} object The value shall be unique within the managed ecosystem. See the redfish.dmtf.org/schemas/v1/Resource.v1_9_2.json schema for details on this property.
IOLimitingIsSupported boolean

read-write
(null)
If true, the system should limit IOPS to MaxIOOperationsPerSecondPerTerabyte * (Volume Size in Terabytes). Otherwise, the system shall not inforce a limit. The default value for this property is false.
MaxSamplePeriod string
(s)

read-write
(null)
The value shall be an ISO 8601 duration specifying the maximum sampling period over which average values are calculated.
MinSamplePeriod string
(s)

read-write
(null)
The value shall be an ISO 8601 duration specifying the minimum sampling period over which average values are calculated.
MinSupportedIoOperationLatencyMicroseconds integer
(us)

read-write
(null)
The value shall be the minimum supported average IO latency in microseconds calculated over the SamplePeriod.
Name string

read-only required
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
SupportedIOWorkloads [ { array The value shall be a collection of supported workloads.
      Components [ { array The value shall be an array of IO workload component descriptions.
            AverageIOBytes integer
(By)

read-write
(null)
The value shall be the expected average I/O size.
            Duration string
(s)

read-write
(null)
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.
            IOAccessPattern string
(enum)

read-write
(null)
The enumeration literal shall be the expected access pattern. For the possible property values, see IOAccessPattern in Property details.
            PercentOfData integer
(%)

read-write
(null)
The value shall be the expected percent of the data referenced by the workload that is covered by this component.
            PercentOfIOPS integer
(%)

read-write
(null)
The value shall be the expected percent of the total IOPS for this workload that is covered by this component.
            Schedule {} object The value shall specifies when this workload component is applied to the overall workload. See the redfish.dmtf.org/schemas/v1/Schedule.v1_2_1.json schema for details on this property.
      } ]
      Name string

read-write
(null)
The value shall be a name of the workload. It should be constructed as OrgID:WorkloadID. Examples: ACME:DSS, ACME:DSS-REP, ACME:Exchange, ACME:OLTP, ACME:OLTP-REPA. An organization may define a set of well known workloads.
} ]
SupportedLinesOfService [ { array The value shall be a collection supported IO performance service options.
      @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
} ]

9.22.4. Property details

9.22.4.1. IOAccessPattern

The defined property values are listed in Table 73. The enumeration literal shall be the expected access pattern.

string Description
RandomReadAgain Use of this enumeration literal shall indicate an access pattern of random reads of cached data.
RandomReadNew Use of this enumeration literal shall indicate an access pattern of random reads of uncached data.
ReadWrite Use of this enumeration literal shall indicate a Uniform distribution of reads and writes.
SequentialRead Use of this enumeration literal shall indicate a sequential read pattern of access.
SequentialWrite Use of this enumeration literal shall indicate a sequential write pattern of access.

9.23. LineOfService 1.0.0

9.23.1. Description

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

9.23.2. Properties

The properties defined for the LineOfService 1.0.0 schema are summarized in Table 74.

Table 74: LineOfService 1.0.0 properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Id string

read-only required
This property represents an identifier for the resource. The resource values shall comply with the Redfish Specification-described requirements.
Name string

read-only required
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.

9.24. LineOfServiceCollection

9.24.1. URIs

/redfish/v1/StorageServices/{StorageServiceId}/ClassesOfService/{ClassOfServiceId}/DataProtectionLinesOfService /redfish/v1/StorageServices/{StorageServiceId}/ClassesOfService/{ClassOfServiceId}/DataSecurityLinesOfService /redfish/v1/StorageServices/{StorageServiceId}/ClassesOfService/{ClassOfServiceId}/DataStorageLinesOfService /redfish/v1/StorageServices/{StorageServiceId}/ClassesOfService/{ClassOfServiceId}/IOConnectivityLinesOfService /redfish/v1/StorageServices/{StorageServiceId}/ClassesOfService/{ClassOfServiceId}/IOPerformanceLinesOfService /redfish/v1/StorageServices/{StorageServiceId}/LinesOfService/DataProtectionLinesOfService /redfish/v1/StorageServices/{StorageServiceId}/LinesOfService/DataSecurityLinesOfService /redfish/v1/StorageServices/{StorageServiceId}/LinesOfService/DataStorageLinesOfService /redfish/v1/StorageServices/{StorageServiceId}/LinesOfService/IOConnectivityLinesOfService /redfish/v1/StorageServices/{StorageServiceId}/LinesOfService/IOPerformanceLinesOfService

9.24.2. Properties

The properties defined for the LineOfServiceCollection schema are summarized in Table 75.

Table 75: LineOfServiceCollection properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Members [ { array The value of each member entry shall reference a LineOfService resource.
      @odata.id string

read-only
Link to a LineOfService resource. See the Links section and the LineOfService schema for details.
} ]
Members@odata.nextLink string
(URI)

read-only
The value of this property shall be a URI to a resource, with the same @odata.type, containing the next set of partial members.
Name string

read-only
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.

9.25. NVMeFirmwareImage 1.0.0

9.25.1. Description

NVMe Domain firmware image information.

9.25.2. URIs

/redfish/v1/NVMeDomains/{NVMeDomainId}

9.25.3. Properties

The properties defined for the NVMeFirmwareImage 1.0.0 schema are summarized in Table 76.

Table 76: NVMeFirmwareImage 1.0.0 properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Actions {} object This property shall contain the available actions for this resource.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
FirmwareVersion string

read-only
(null)
This property shall contain the firmware version of the available NVMe firmware image.
Id string

read-only required
This property represents an identifier for the resource. The resource values shall comply with the Redfish Specification-described requirements.
Name string

read-only required
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
NVMeDeviceType string
(enum)

read-only
(null)
This property shall specify the type of NVMe device for this NVMe firmware image. For the possible property values, see NVMeDeviceType in Property details.
Oem {} object This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
Vendor string

read-only
(null)
This property shall include the name of the manufacturer or vendor associate with this NVMe firmware image.

9.25.4. Property details

9.25.4.1. NVMeDeviceType

The defined property values are listed in Table 77. This property shall specify the type of NVMe device for this NVMe firmware image.

string Description
Drive Specifies an device type of Drive, indicating a NVMe device that presents as an NVMe SSD device.
FabricAttachArray 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.
JBOF Specifies an device type of JBOF, indicating a NVMe device that presents as an NVMe smart enclosure for NVMe devices, typically NVMe Drives.

9.26. NVMeDomainCollection

9.26.1. URIs

/redfish/v1/NVMeDomains

9.26.2. Properties

The properties defined for the NVMeDomainCollection schema are summarized in Table 78.

Table 78: NVMeDomainCollection properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Members [ { array The value of each member entry shall reference a NVMeDomain resource.
      

read-only
} ]
Members@odata.nextLink string
(URI)

read-only
The value of this property shall be a URI to a resource, with the same @odata.type, containing the next set of partial members.
Name string

read-only
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.

9.27. SpareResourceSet 1.0.1

9.27.1. Description

The values define a set of spares of a particular type.

9.27.2. Properties

The properties defined for the SpareResourceSet 1.0.1 schema are summarized in Table 79.

Table 79: SpareResourceSet 1.0.1 properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Actions (v1.0.1+) {} object The Actions property shall contain the available actions for this resource.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Id string

read-only required
This property represents an identifier for the resource. The resource values shall comply with the Redfish Specification-described requirements.
Links { object This structure shall contain references to resources that are not contained within this resource.
      Oem {} object This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
      OnHandSpares [ { array The type of resources in the set.
            @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
      } ]
      OnHandSpares@odata.count integer

read-only
The value of this property shall be an integer representing the number of items in a collection.
      ReplacementSpareSets [ { array Other spare sets that can be utilized to replenish this spare set.
            @odata.id string

read-only
Link to another SpareResourceSet resource.
      } ]
      ReplacementSpareSets@odata.count integer

read-only
The value of this property shall be an integer representing the number of items in a collection.
}
Name string

read-only required
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
OnHandLocation {} object The location where this set of spares is kept. See the redfish.dmtf.org/schemas/v1/Resource.v1_5_0.json schema for details on this property.
OnLine boolean

read-write
(null)
This set shall be available online.
ResourceType string

read-write
(null)
The type of resources in the set.
TimeToProvision string

read-write
(null)
Amount of time needed to make an on-hand resource available as a spare. Pattern: -?P(D)?(T(H)?(M)?((.)?S)?)?
TimeToReplenish string

read-write
(null)
Amount of time to needed replenish consumed on-hand resources. Pattern: -?P(D)?(T(H)?(M)?((.)?S)?)?

9.28. StorageGroup 1.4.0

9.28.1. Description

The primary purposes of the collection shall be to govern access to the storage by clients or to add service requirements for the members of the collection. Access to the collected storage by a specified set of hosts shall be made available or unavailable atomically. Requirements specified by the class of service shall be satisfied by each collected element to which they apply. The storage group may contain: block, file, or object storage; local storage system access points through which the collection is made available; and hosts, or host access points to which the collection is made available.

9.28.2. URIs

/redfish/v1/Storage/{StorageId}/StorageGroups/{StorageGroupId} /redfish/v1/Storage/{StorageId}/Volumes/{VolumeId}/StorageGroups/{StorageGroupId} /redfish/v1/StorageServices/{StorageServiceId}/StorageGroups/{StorageGroupId} /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/StorageGroups/{StorageGroupId}

9.28.3. Properties

The properties defined for the StorageGroup 1.4.0 schema are summarized in Table 80.

Table 80: StorageGroup 1.4.0 properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
AccessState string
(enum)

read-write
(null)
The value of this property shall describe the access characteristics of this storage group. All associated logical units through all aggregated ports shall share this access state. For the possible property values, see AccessState in Property details.
Actions { object The Actions property shall contain the available actions for this resource.
      #StorageGroup.ExposeVolumes {} object 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. For more information, see the Actions section below.
      #StorageGroup.HideVolumes {} object Hide 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. For more information, see the Actions section below.
}
AuthenticationMethod (v1.2+) string
(enum)

read-write
(null)
The value of this property must be what kind of authentication that the endpoints in this StorageGroup understands. For the possible property values, see AuthenticationMethod in Property details.
ChapInfo (v1.2+) [ { array The value of this property must reflect the authentication used by this specific endpoint. 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.
      CHAPPassword (v1.3+) string

read-write
(null)
The value of this property shall be the password when CHAP authentication is specified.
      CHAPUser (v1.3+) string

read-write
(null)
The value of this property shall be the username when CHAP authentication is specified.
      InitiatorCHAPPassword (v1.2+) string

read-write
(null)
The value of this property shall be the shared secret for Mutual (2-way)CHAP authentication.
      InitiatorCHAPUser (v1.2+) string

read-write
(null)
If present, this property is the initiator CHAP username for Mutual (2-way) authentication. For example, with an iSCSI scenario, use the initiator iQN.
      TargetCHAPPassword (v1.3+) string

read-write
(null)
The value of this property shall be the CHAP Secret for 2-way CHAP authentication.
      TargetCHAPUser (v1.2+) string

read-write
(null)
The value of this property shall be the Target CHAP Username for Mutual (2-way) CHAP authentication. For example, with an iSCSI scenario, use the target iQN.
      TargetPassword (v1.2+, deprecated v1.3) string

read-write
(null)
The value of this property shall be the CHAP Secret for 2-way CHAP authentication. Deprecated in v1.3 and later. This property is deprecated in favor of TargetCHAPPassword.
} ]
ClientEndpointGroups [ { array An array of references to groups of client-side endpoints that may be 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.
      @odata.id string

read-write
Link to a EndpointGroup resource. See the Links section and the EndpointGroup schema for details.
} ]
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
DHChapInfo (v1.3+) [ { array The value of this property must reflect the authentication used by this specific endpoint when the authentication type is specificed as DHCHAP. If this endpoint represents an initiator, and AuthenticationMethod is DHCHAP, the Credentials fields LocalDHCHAPAuthSecret and PeerDHCHAPAuthSecret must be used.
      LocalDHCHAPAuthSecret (v1.3+) string

read-write
(null)
This property shall be the local DHCHAP auth secret for DHCHAP authentication.
      PeerDHCHAPAuthSecret (v1.3+) string

read-write
(null)
The value of this property shall be the peer DHCHAP auth secret for DHCHAP authentication.
} ]
Id string

read-only required
This property represents an identifier for the resource. The resource values shall comply with the Redfish Specification-described requirements.
Identifier {} object The value shall be unique within the managed ecosystem. See the redfish.dmtf.org/schemas/v1/Resource.v1_9_2.json schema for details on this property.
Links { object This property shall contain links to other resources that are related to this resource.
      ChildStorageGroups [ { array An array of references to StorageGroups are incorporated into this StorageGroup.
            @odata.id string

read-write
Link to another StorageGroup resource.
      } ]
      ChildStorageGroups@odata.count integer

read-only
The value of this property shall be an integer representing the number of items in a collection.
      ClassOfService { object The ClassOfService that all storage in this StorageGroup conforms to.
            @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
      }
      Oem {} object This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
      ParentStorageGroups [ { array An array of references to StorageGroups that incorporate this StorageGroup.
            @odata.id string

read-only
Link to another StorageGroup resource.
      } ]
      ParentStorageGroups@odata.count integer

read-only
The value of this property shall be an integer representing the number of items in a collection.
}
MappedVolumes (v1.1+) [ { array An array of mapped volumes managed by this storage group.
      AccessCapability (v1.4+) string
(enum)

read-write
(null)
Each entry shall specify the storage access capability for this mapped volume. For the possible property values, see AccessCapability in Property details.
      LogicalUnitNumber string

read-write
(null)
If present, the value is a SCSI Logical Unit Number for the Volume.
      Volume { object The value shall reference a mapped Volume. See the Volume schema for details on this property.
            @odata.id string

read-write
Link to a Volume resource. See the Links section and the Volume schema for details.
      }
} ]
MembersAreConsistent boolean

read-write
(null)
The value of this property shall be set to true if all members are in a consistent state. The default value for this property is false.
Name string

read-only required
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
ReplicaInfo { object This property shall describe the replication relationship between this storage group and a corresponding source storage group. See the StorageReplicaInfo schema for details on this property.
      @odata.id string

read-only
Link to a ReplicaInfo resource. See the Links section and the StorageReplicaInfo schema for details.
}
ReplicaTargets (v1.1.1+) [ { array The value shall reference the target replicas that are sourced by this replica.
      @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
} ]
ServerEndpointGroups [ { array An array of references to groups of server-side endpoints that may be 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.
      @odata.id string

read-write
Link to a EndpointGroup resource. See the Links section and the EndpointGroup schema for details.
} ]
Status {} object The property shall contain the status of the StorageGroup. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
Volumes [ { array An array of references to volumes managed by this storage group.
      @odata.id string

read-write
Link to a Volume resource. See the Links section and the Volume schema for details.
} ]
VolumesAreExposed boolean

read-write
(null)
The value of this property 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.

9.28.4. Actions

9.28.4.1. ExposeVolumes

Description

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.

Action URIs

/redfish/v1/Storage/{StorageId}/StorageGroups/{StorageGroupId}/Actions/StorageGroup.ExposeVolumes /redfish/v1/Storage/{StorageId}/Volumes/{VolumeId}/StorageGroups/{StorageGroupId}/Actions/StorageGroup.ExposeVolumes /redfish/v1/StorageServices/{StorageServiceId}/StorageGroups/{StorageGroupId}/Actions/StorageGroup.ExposeVolumes /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/StorageGroups/{StorageGroupId}/Actions/StorageGroup.ExposeVolumes

Action Parameters

This action takes no parameters.

9.28.4.2. HideVolumes

Description

Hide 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.

Action URIs

/redfish/v1/Storage/{StorageId}/StorageGroups/{StorageGroupId}/Actions/StorageGroup.HideVolumes /redfish/v1/Storage/{StorageId}/Volumes/{VolumeId}/StorageGroups/{StorageGroupId}/Actions/StorageGroup.HideVolumes /redfish/v1/StorageServices/{StorageServiceId}/StorageGroups/{StorageGroupId}/Actions/StorageGroup.HideVolumes /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/StorageGroups/{StorageGroupId}/Actions/StorageGroup.HideVolumes

Action Parameters

This action takes no parameters.

9.28.5. Property details

9.28.5.1. AccessCapability

The defined property values are listed in Table 81. Each entry shall specify the storage access capability for this mapped volume.

string Description
Read Endpoints are allowed to perform reads from the specified resource.
ReadWrite Endpoints are allowed to perform reads from and writes to the specified resource.

9.28.5.2. AccessState

The defined property values are listed in Table 82. The value of this property shall describe the access characteristics of this storage group. All associated logical units through all aggregated ports shall share this access state.

string Description
NonOptimized In the context of this enumeration literal, each endpoint shall be in an Active/NonOptimized state.
Optimized In the context of this enumeration literal, each endpoint shall be in an Active/Optimized state.
Standby In the context of this enumeration literal, each endpoint shall be in a Standby state.
Transitioning In the context of this enumeration literal, at least one endpoint shall be transitioning to a new AccessState.
Unavailable In the context of this enumeration literal, each endpoint shall be in an unavailable state.

9.28.5.3. AuthenticationMethod

The defined property values are listed in Table 83. The value of this property must be what kind of authentication that the endpoints in this StorageGroup understands.

string Description
CHAP iSCSI Challenge Handshake Authentication Protocol (CHAP) authentication is used. For ChapInfo, the CHAPUser and CHAPPassword properties shall be used when type CHAP is selected.
DHCHAP Diffie-Hellman Challenge Handshake Authentication Protocol (DHCHAP) is an authentication protocol used in Fibre Channel. When MutualCHAP is selected, DHChapInfo shall be used instead of CHAPInfo, and the LocalDHCHAPAuthSecret and PeerDHCHAPAuthSecret properties shall be used.
MutualCHAP iSCSI Mutual Challenge Handshake Authentication Protocol (CHAP) authentication is used. For ChapInfo, the InitiatorCHAPUser, InitiatorCHAPPassword, TargetCHAPUser, and TargetCHAPPassword properties shall be used when type MutualCHAP is selected.
None

9.29. StorageGroupCollection

9.29.1. URIs

/redfish/v1/Storage/{StorageId}/StorageGroups /redfish/v1/Storage/{StorageId}/Volumes/{VolumeId}/StorageGroups /redfish/v1/StorageServices/{StorageServiceId}/StorageGroups /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/StorageGroups

9.29.2. Properties

The properties defined for the StorageGroupCollection schema are summarized in Table 84.

Table 84: StorageGroupCollection properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Members [ { array The value of each member entry shall reference a StorageGroup resource.
      @odata.id string

read-only
Link to a StorageGroup resource. See the Links section and the StorageGroup schema for details.
} ]
Members@odata.nextLink string
(URI)

read-only
The value of this property shall be a URI to a resource, with the same @odata.type, containing the next set of partial members.
Name string

read-only
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.

9.30. StoragePool 1.5.0

9.30.1. Description

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.

9.30.2. URIs

/redfish/v1/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingPools/{StoragePoolId} /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId} /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedPools/{AllocatedPoolId} /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingPools/{ProvidingPoolId} /redfish/v1/Storage/{StorageId}/Volumes/{VolumeId}/AllocatedPools/{StoragePoolId} /redfish/v1/Storage/{StorageId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingPools/{StoragePoolId} /redfish/v1/StorageServices/{StorageServiceId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingPools/{StoragePoolId} /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId} /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/AllocatedPools/{AllocatedPoolId} /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingPools/{ProvidingPoolId} /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/AllocatedPools/{StoragePoolId} /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingPools/{StoragePoolId} /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingPools/{StoragePoolId} /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId} /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedPools/{AllocatedPoolId} /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingPools/{ProvidingPoolId} /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/AllocatedPools/{StoragePoolId} /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingPools/{StoragePoolId}

9.30.3. Properties

The properties defined for the StoragePool 1.5.0 schema are summarized in Table 85.

Table 85: StoragePool 1.5.0 properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Actions (v1.3+) {} object The Actions property shall contain the available actions for this resource.
AllocatedPools { object The value of this property shall contain a reference to the collection of storage pools allocated from this storage pool. Contains a link to a resource.
      @odata.id string

read-only
Link to Collection of StoragePool. See the StoragePool schema for details.
}
AllocatedVolumes { object The value of this property shall contain a reference to the collection of volumes allocated from this storage pool. Contains a link to a resource.
      @odata.id string

read-only
Link to Collection of Volume. See the Volume schema for details.
}
BlockSizeBytes integer
(By)

read-only
(null)
Maximum size in bytes of the blocks which form this Volume. If the block size is variable, then the maximum block size in bytes should be specified. If the block size is unknown or if a block concept is not valid (for example, with Memory), enter a 1.
Capacity {} object The value of this property shall provide an information about the actual utilization of the capacity within this storage pool. See the CapacitySource.v1_0_0 schema for details on this property.
CapacitySources [ { array Fully or partially consumed storage from a source resource. Each entry shall provide capacity allocation data from a named source resource.
      @odata.id string

read-write
Link to a CapacitySource resource. See the Links section and the CapacitySource schema for details.
} ]
ClassesOfService { object This property shall contain 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. Contains a link to a resource.
      @odata.id string

read-write
Link to Collection of LineOfService. See the LineOfService schema for details.
}
Compressed (v1.3+) boolean

read-write
(null)
This property shall contain a boolean indicator if the StoragePool is currently utilizing compression or not.
Deduplicated (v1.3+) boolean

read-write
(null)
This property shall contain a boolean indicator if the StoragePool is currently utilizing deduplication or not.
DefaultClassOfService (v1.2+) { object If present, this property shall reference the default class of service for entities allocated from this storage pool. If the ClassesOfService collection is not empty, then the value of this property shall be one of its entries. If not present, the default class of service of the containing StorageService entity shall be used.
      @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
}
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Encrypted (v1.3+) boolean

read-write
(null)
This property shall contain a boolean indicator if the StoragePool is currently utilizing encryption or not.
Id string

read-only required
This property represents an identifier for the resource. The resource values shall comply with the Redfish Specification-described requirements.
Identifier {} object The value identifies this resource. The value shall be unique within the managed ecosystem. See the redfish.dmtf.org/schemas/v1/Resource.v1_9_2.json schema for details on this property.
IOStatistics (v1.2+) {} object The value shall represent IO statistics for this StoragePool. See the v1_0_3.v1_0_3 schema for details on this property.
Links { object The Links property, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource.
      DedicatedSpareDrives (v1.2+) [ { array The value of this property shall be a reference to the resources that this StoragePool is associated with and shall reference resources of type Drive. This property shall only contain references to Drive entities which are currently assigned as a dedicated spare and are able to support this StoragePool.
            @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
      } ]
      DedicatedSpareDrives@odata.count integer

read-only
The value of this property shall be an integer representing the number of items in a collection.
      DefaultClassOfService { object If present, this property shall reference the default class of service for entities allocated from this storage pool. If the ClassesOfService collection is not empty, then the value of this property shall be one of its entries. If not present, the default class of service of the containing StorageService entity shall be used.
            @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
      }
      Oem {} object This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
      OwningStorageResource (v1.4+) { object This shall be a pointer to the Storage resource that owns or contains this StoragePool.
            @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
      }
      SpareResourceSets (v1.2+) [ { array Each referenced SpareResourceSet shall contain resources that may be utilized to replace the capacity provided by a failed resource having a compatible type.
            @odata.id string

read-write
Link to a SpareResourceSet resource. See the Links section and the SpareResourceSet schema for details.
      } ]
      SpareResourceSets@odata.count integer

read-only
The value of this property shall be an integer representing the number of items in a collection.
}
LowSpaceWarningThresholdPercents [ ] array
(%) (integer, null)

read-write
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).
MaxBlockSizeBytes (v1.1.1+) integer
(By)

read-only
(null)
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.
Name string

read-only required
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
NVMeEnduranceGroupProperties (v1.4+) { object


(null)
This property shall contain properties to use when StoragePool is used to describe an NVMe Endurance Group.
      EndGrpLifetime (v1.4+) { object


(null)
This property shall contain any Endurance Group Lifetime properties.
            DataUnitsRead (v1.4+) integer

read-only
(null)
The property 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.
            DataUnitsWritten (v1.4+) integer

read-only
(null)
The property 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.
            EnduranceEstimate (v1.4+) integer

read-only
(null)
This property 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.
            ErrorInformationLogEntryCount (v1.4+) integer

read-only
(null)
This property shall contain the number of error information log entries over the life of the controller for the endurance group.
            HostReadCommandCount (v1.4+) integer

read-only
(null)
This property 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.
            HostWriteCommandCount (v1.4+) integer

read-only
(null)
This property 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.
            MediaAndDataIntegrityErrorCount (v1.4+) integer

read-only
(null)
This property shall contain the number of occurences 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.
            MediaUnitsWritten (v1.4+) integer

read-only
(null)
The property 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.
            PercentUsed (v1.4+) integer

read-only
(null)
This property 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.
      }
      PredictedMediaLifeLeftPercent (v1.4+) number
(%)

read-only
(null)
This property shall contain an indicator of the percentage of life remaining in the drive’s media.
}
NVMeSetProperties (v1.4+) { object


(null)
This property shall contain properties to use when StoragePool is used to describe an NVMe Set.
      EnduranceGroupIdentifier (v1.4+) string

read-only
(null)
This property 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. Pattern: ^0[xX](([a-fA-F]
      OptimalWriteSizeBytes (v1.4+) integer
(By)

read-only
(null)
This property shall contain the Optimal Write Size in Bytes for this NVMe Set.
      Random4kReadTypicalNanoSeconds (v1.4+) integer

read-only
(null)
This property 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.
      SetIdentifier (v1.4+) string

read-only
(null)
This property 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. Pattern: ^0[xX](([a-fA-F]
      UnallocatedNVMNamespaceCapacityBytes (v1.4+) integer
(By)

read-only
(null)
This property shall contain the unallocated capacity of the NVMe Set in bytes.
}
Oem {} object This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
RecoverableCapacitySourceCount (v1.2+) integer

read-write
(null)
The value is the number of available capacity source resources currently available in the event that an equivalent capacity source resource fails.
RemainingCapacityPercent (v1.1+) integer

read-only
(null)
If present, this value shall return {[(SUM(AllocatedBytes) - SUM(ConsumedBytes)]/SUM(AllocatedBytes)}*100 represented as an integer value.
Status {} object The property shall contain the status of the StoragePool. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
SupportedProvisioningPolicies (v1.3+) [ ] array (string
(enum))

read-write
(null)
This collection shall specify all supported storage allocation policies for the Storage Pool. The enumeration literals may be used to specify space provisioning policy. For the possible property values, see SupportedProvisioningPolicies in Property details.
SupportedRAIDTypes (v1.3+) [ ] array (string
(enum))

read-only
(null)
This collection shall contain all the RAIDType values supported by the storage pool. For the possible property values, see SupportedRAIDTypes in Property details.

9.30.4. Property details

9.30.4.1. SupportedProvisioningPolicies

The defined property values are listed in Table 86. This collection shall specify all supported storage allocation policies for the Storage Pool. The enumeration literals may be used to specify space provisioning policy.

string Description
Fixed This enumeration literal specifies storage shall be fully allocated.
Thin This enumeration literal specifies storage may be over allocated.

9.30.4.2. SupportedRAIDTypes

The defined property values are listed in Table 87. This collection shall contain all the RAIDType values supported by the storage pool.

Table 87: SupportedRAIDTypes property values
string Description
None A placement policy with no redundancy at the device level.
RAID0 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.
RAID00 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.
RAID01 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.
RAID1 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.
RAID10 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.
RAID10E 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.
RAID10Triple 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.
RAID1E 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.
RAID1Triple 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.
RAID3 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.
RAID4 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.
RAID5 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.
RAID50 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.
Table 87: SupportedRAIDTypes property values
string Description
RAID6 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.
RAID60 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.
RAID6TP 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.

9.31. StoragePoolCollection

9.31.1. URIs

/redfish/v1/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingPools /redfish/v1/Storage/{StorageId}/StoragePools /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedPools /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingPools /redfish/v1/Storage/{StorageId}/Volumes/{VolumeId}/AllocatedPools /redfish/v1/Storage/{StorageId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingPools /redfish/v1/StorageServices/{StorageServiceId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingPools /redfish/v1/StorageServices/{StorageServiceId}/StoragePools /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/AllocatedPools /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingPools /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/AllocatedPools /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingPools /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingPools /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedPools /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingPools /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/AllocatedPools /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingPools

9.31.2. Properties

The properties defined for the StoragePoolCollection schema are summarized in Table 88.

Table 88: StoragePoolCollection properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Members [ { array The value of each member entry shall reference a StoragePool resource.
      @odata.id string

read-only
Link to a StoragePool resource. See the Links section and the StoragePool schema for details.
} ]
Members@odata.nextLink string
(URI)

read-only
The value of this property shall be a URI to a resource, with the same @odata.type, containing the next set of partial members.
Name string

read-only
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.

9.32. StorageReplicaInfo 1.3.0

9.32.1. Description

This entity shall define the characteristics of a replica.

9.32.2. Properties

The properties defined for the StorageReplicaInfo 1.3.0 schema are summarized in Table 89.

Table 89: StorageReplicaInfo 1.3.0 properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Actions (v1.2+) {} object The Actions property shall contain the available actions for this resource.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Id string

read-only required
This property represents an identifier for the resource. The resource values shall comply with the Redfish Specification-described requirements.
Name string

read-only required
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.

9.33. StorageService 1.4.0

9.33.1. Description

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.

9.33.2. URIs

/redfish/v1/StorageServices/{StorageServiceId}

9.33.3. Properties

The properties defined for the StorageService 1.4.0 schema are summarized in Table 90.

Table 90: StorageService 1.4.0 properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Actions { object The Actions property shall contain the available actions for this resource.
      #StorageService.SetEncryptionKey {} object This defines the name of the custom action supported on this resource. For more information, see the Actions section below.
}
ClassesOfService { object The value of each entry in the array shall reference a ClassOfService supported by this service. Contains a link to a resource.
      @odata.id string

read-write
Link to Collection of LineOfService. See the LineOfService schema for details.
}
ClientEndpointGroups { object The value of each entry in the array shall reference an EndpointGroup. Contains a link to a resource.
      @odata.id string

read-write
Link to Collection of EndpointGroup. See the EndpointGroup schema for details.
}
ConsistencyGroups (v1.3+) { object The value of each entry in the array shall reference a ConsistencyGroup. Contains a link to a resource.
      @odata.id string

read-write
Link to Collection of ConsistencyGroup. See the ConsistencyGroup schema for details.
}
DataProtectionLoSCapabilities (v1.2+) { object The value shall reference the data protection capabilities of this service. See the DataProtectionLoSCapabilities schema for details on this property.
      @odata.id string

read-write
Link to a DataProtectionLoSCapabilities resource. See the Links section and the DataProtectionLoSCapabilities schema for details.
}
DataSecurityLoSCapabilities (v1.2+) { object The value shall reference the data security capabilities of this service. See the DataSecurityLoSCapabilities schema for details on this property.
      @odata.id string

read-write
Link to a DataSecurityLoSCapabilities resource. See the Links section and the DataSecurityLoSCapabilities schema for details.
}
DataStorageLoSCapabilities (v1.2+) { object The value shall reference the data storage capabilities of this service. See the DataStorageLoSCapabilities schema for details on this property.
      @odata.id string

read-write
Link to a DataStorageLoSCapabilities resource. See the Links section and the DataStorageLoSCapabilities schema for details.
}
DefaultClassOfService (v1.2+) { object If present, this property shall reference the default class of service for entities allocated by this storage service. This default may be overridden by the DefaultClassOfService property values within contained StoragePools.
      @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
}
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Drives { object A collection that indicates all the drives managed by this storage service. Contains a link to a resource.
      @odata.id string

read-only
Link to Collection of redfish.dmtf.org/schemas/v1/Drive.json. See the redfish.dmtf.org/schemas/v1/Drive.json schema for details.
}
EndpointGroups { object The value of each entry in the array shall reference an EndpointGroup. Contains a link to a resource.
      @odata.id string

read-write
Link to Collection of EndpointGroup. See the EndpointGroup schema for details.
}
Endpoints { object The value of each entry in the array shall reference an Endpoint managed by this service.
      @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
}
FileSystems { object An array of references to FileSystems managed by this storage service. Contains a link to a resource.
      @odata.id string

read-write
Link to Collection of FileSystem. See the FileSystem schema for details.
}
Id string

read-only required
This property represents an identifier for the resource. The resource values shall comply with the Redfish Specification-described requirements.
Identifier {} object The value identifies this resource. The value shall be unique within the managed ecosystem. See the redfish.dmtf.org/schemas/v1/Resource.v1_9_2.json schema for details on this property.
IOConnectivityLoSCapabilities (v1.2+) { object The value shall reference the IO connectivity capabilities of this service. See the IOConnectivityLoSCapabilities schema for details on this property.
      @odata.id string

read-write
Link to a IOConnectivityLoSCapabilities resource. See the Links section and the IOConnectivityLoSCapabilities schema for details.
}
IOPerformanceLoSCapabilities (v1.2+) { object The value shall reference the IO performance capabilities of this service. See the IOPerformanceLoSCapabilities schema for details on this property.
      @odata.id string

read-write
Link to a IOPerformanceLoSCapabilities resource. See the Links section and the IOPerformanceLoSCapabilities schema for details.
}
IOStatistics (v1.2+) {} object The value shall represent IO statistics for this StorageService. See the v1_0_3.v1_0_3 schema for details on this property.
LinesOfService (v1.4+) [ { array The value of each entry shall reference a LineOfService collection defined for this service.
      @odata.id string

read-write
Link to Collection of LineOfService. See the LineOfService schema for details.
} ]
Links { object This property shall contain links to other resources that are related to this resource.
      DataProtectionLoSCapabilities { object The value shall reference the data protection capabilities of this service. See the DataProtectionLoSCapabilities schema for details on this property.
            @odata.id string

read-write
Link to a DataProtectionLoSCapabilities resource. See the Links section and the DataProtectionLoSCapabilities schema for details.
      }
      DataSecurityLoSCapabilities { object The value shall reference the data security capabilities of this service. See the DataSecurityLoSCapabilities schema for details on this property.
            @odata.id string

read-write
Link to a DataSecurityLoSCapabilities resource. See the Links section and the DataSecurityLoSCapabilities schema for details.
      }
      DataStorageLoSCapabilities { object The value shall reference the data storage capabilities of this service. See the DataStorageLoSCapabilities schema for details on this property.
            @odata.id string

read-write
Link to a DataStorageLoSCapabilities resource. See the Links section and the DataStorageLoSCapabilities schema for details.
      }
      DefaultClassOfService { object If present, this property shall reference the default class of service for entities allocated by this storage service. This default may be overridden by the DefaultClassOfService property values within contained StoragePools.
            @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
      }
      HostingSystem

read-write
The value shall reference the ComputerSystem or StorageController that hosts this service.
      IOConnectivityLoSCapabilities { object The value shall reference the IO connectivity capabilities of this service. See the IOConnectivityLoSCapabilities schema for details on this property.
            @odata.id string

read-write
Link to a IOConnectivityLoSCapabilities resource. See the Links section and the IOConnectivityLoSCapabilities schema for details.
      }
      IOPerformanceLoSCapabilities { object The value shall reference the IO performance capabilities of this service. See the IOPerformanceLoSCapabilities schema for details on this property.
            @odata.id string

read-write
Link to a IOPerformanceLoSCapabilities resource. See the Links section and the IOPerformanceLoSCapabilities schema for details.
      }
      Oem {} object This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
}
Name string

read-only required
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
Redundancy [ { array This collection shall contain the redundancy information for the storage subsystem.
      @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
} ]
ServerEndpointGroups { object The value of each entry in the array shall reference a EndpointGroup. Contains a link to a resource.
      @odata.id string

read-write
Link to Collection of EndpointGroup. See the EndpointGroup schema for details.
}
SpareResourceSets (v1.2+) [ { array Each contained SpareResourceSet shall contain resources that may be utilized to replace the capacity provided by a failed resource having a compatible type.
      @odata.id string

read-write
Link to a SpareResourceSet resource. See the Links section and the SpareResourceSet schema for details.
} ]
Status {} object The property shall contain the status of the StorageService. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
StorageGroups { object The value of each entry in the array shall reference a StorageGroup. Contains a link to a resource.
      @odata.id string

read-only
Link to Collection of StorageGroup. See the StorageGroup schema for details.
}
StoragePools { object An array of references to StoragePools. Contains a link to a resource.
      @odata.id string

read-only
Link to Collection of StoragePool. See the StoragePool schema for details.
}
StorageSubsystems (v1.0.1+) { object The value shall be a link to a collection of type StorageCollection having members that represent storage subsystems managed by this storage service.
      @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
}
Volumes { object An array of references to Volumes managed by this storage service. Contains a link to a resource.
      @odata.id string

read-write
Link to Collection of Volume. See the Volume schema for details.
}

9.33.4. Actions

9.33.4.1. SetEncryptionKey

Description

This defines the name of the custom action supported on this resource.

Action URIs

/redfish/v1/StorageServices/{StorageServiceId}/Actions/StorageService.SetEncryptionKey

Action parameters

The parameters for the action which are included in the POST body to the URI shown in the ‘target’ property of the Action are summarized in Table 91.

Table 91: SetEncryptionKey action parameters
{
      EncryptionKey string

optional
This defines the property name for the action.
}

9.34. StorageServiceCollection

9.34.1. URIs

/redfish/v1/StorageServices

9.34.2. Properties

The properties defined for the StorageServiceCollection schema are summarized in Table 92.

Table 92: StorageServiceCollection properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Members [ { array The value of each member entry shall reference a StorageService resource.
      @odata.id string

read-only
Link to a StorageService resource. See the Links section and the StorageService schema for details.
} ]
Members@odata.nextLink string
(URI)

read-only
The value of this property shall be a URI to a resource, with the same @odata.type, containing the next set of partial members.
Name string

read-only
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.

9.35. StorageSystemCollection

9.35.1. URIs

/redfish/v1/StorageSystems

9.35.2. Properties

The properties defined for the StorageSystemCollection schema are summarized in Table 93.

Table 93: StorageSystemCollection properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Members [ { array The value of each member entry shall reference a ComputerSystem resource that shall have a HostingRoles entry with a value of ‘StorageServer’.
      @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
} ]
Members@odata.nextLink string
(URI)

read-only
The value of this property shall be a URI to a resource, with the same @odata.type, containing the next set of partial members.
Name string

read-only
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.

9.36. Volume 1.6.0

9.36.1. Description

This resource shall be used to represent a volume, virtual disk, logical disk, LUN, or other logical storage for a Redfish implementation.

9.36.2. URIs

/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Volumes/{VolumeId} /redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId} /redfish/v1/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Volumes/{VolumeId} /redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId} /redfish/v1/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId} /redfish/v1/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId} /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId} /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId} /redfish/v1/Storage/{StorageId}/Volumes/{VolumeId} /redfish/v1/StorageServices/{StorageServiceId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId} /redfish/v1/StorageServices/{StorageServiceId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId} /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId} /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId} /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId} /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{ProvidingVolumeId} /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId} /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId} /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId} /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId} /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}

9.36.3. Properties

The properties defined for the Volume 1.6.0 schema are summarized in Table 94.

Table 94: Volume 1.6.0 properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
AccessCapabilities (v1.1+) [ ] array (string
(enum))

read-write
(null)
Each entry shall specify a current storage access capability. StorageAccessCapability enumeration literals may be used to describe abilities to read or write storage. For the possible property values, see AccessCapabilities in Property details.
Actions { object The Actions property shall contain the available actions for this resource.
      #Volume.AssignReplicaTarget (v1.4+) {} object This action shall be used to establish a replication relationship by assigning an existing volume to serve as a target replica for an existing source volume. For more information, see the Actions section below.
      #Volume.ChangeRAIDLayout (v1.5+) {} object This action shall request the system to change the RAID layout of the volume. Depending on the combination of the submitted parameters, this could be changing the RAID type, changing the span count, changing the number of drives used by the volume, or another configuration change suppported by the system. Note that usage of this action while online may potentially cause data loss if the available capacity is reduced. For more information, see the Actions section below.
      #Volume.CheckConsistency {} object This defines the name of the custom action supported on this resource. For more information, see the Actions section below.
      #Volume.CreateReplicaTarget (v1.4+) {} object This action shall be used to create a new volume resource to provide expanded data protection through a replica relationship with the specified source volume. For more information, see the Actions section below.
      #Volume.ForceEnable (v1.5+) {} object This action shall request the system to force the volume to enabled state regardless of data loss scenarios. For more information, see the Actions section below.
      #Volume.Initialize (v1.5+) {} object This defines the name of the custom action supported on this resource. If InitializeMethod is not specified in the request body, but the property InitializeMethod is specified, the property InitializeMethod value should be used. If neither is specified, the InitializeMethod should be Foreground. For more information, see the Actions section below.
      #Volume.RemoveReplicaRelationship (v1.4+) {} object This action shall be used to disable data synchronization between a source and target volume, remove the replication relationship, and optionally delete the target volume. For more information, see the Actions section below.
      #Volume.ResumeReplication (v1.4+) {} object This action shall be used to resume the active data synchronization between a source and target volume, without otherwise altering the replication relationship. For more information, see the Actions section below.
      #Volume.ReverseReplicationRelationship (v1.4+) {} object This action shall be used to reverse the replication relationship between a source and target volume. For more information, see the Actions section below.
      #Volume.SplitReplication (v1.4+) {} object This action shall be used to split the replication relationship and suspend data synchronization between a source and target volume. For more information, see the Actions section below.
      #Volume.SuspendReplication (v1.4+) {} object This action shall be used to suspend active data synchronization between a source and target volume, without otherwise altering the replication relationship. For more information, see the Actions section below.
}
AllocatedPools (v1.1+) { object The value of this property shall contain references to all storage pools allocated from this volume. Contains a link to a resource.
      @odata.id string

read-only
Link to Collection of StoragePool. See the StoragePool schema for details.
}
BlockSizeBytes integer
(By)

read-only
(null)
This property shall contain size of the smallest addressable unit of the associated volume.
Capacity (v1.1+) {} object Information about the utilization of capacity allocated to this storage volume. See the CapacitySource.v1_0_0 schema for details on this property.
CapacityBytes integer
(By)

read-write
(null)
This property shall contain the size in bytes of the associated volume.
CapacitySources (v1.1+) [ { array Fully or partially consumed storage from a source resource. Each entry provides capacity allocation information from a named source resource.
      @odata.id string

read-write
Link to a CapacitySource resource. See the Links section and the CapacitySource schema for details.
} ]
Compressed (v1.4+) boolean

read-write
(null)
This property shall contain a boolean indicator if the Volume is currently utilizing compression or not.
Deduplicated (v1.4+) boolean

read-write
(null)
This property shall contain a boolean indicator if the Volume is currently utilizing deduplication or not.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
DisplayName (v1.4+) string

read-write
(null)
This property shall contain a user-configurable string to name the volume.
Encrypted boolean

read-write
(null)
This property shall contain a boolean indicator if the Volume is currently utilizing encryption or not.
EncryptionTypes [ ] array (string
(enum))

read-write
This property shall contain the types of encryption used by this Volume. For the possible property values, see EncryptionTypes in Property details.
Id string

read-only required
This property represents an identifier for the resource. The resource values shall comply with the Redfish Specification-described requirements.
Identifiers [ { } ] array (object) This property shall contain a list of all known durable names for the associated volume. This type shall contain any additional identifiers for a resource. See the redfish.dmtf.org/schemas/v1/Resource.v1_9_2.json schema for details on this property.
InitializeMethod (v1.6+) string
(enum)

read-only
(null)
This property shall indicate the initiatialization 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. For the possible property values, see InitializeMethod in Property details.
IOPerfModeEnabled (v1.5+) boolean

read-write
(null)
This property shall indicate whether IO performance mode is enabled for the volume.
IOStatistics (v1.2+) {} object The value shall represent IO statistics for this volume. See the v1_0_3.v1_0_3 schema for details on this property.
Links { object The Links property, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource.
      CacheDataVolumes (v1.6+) [ { array This shall be a pointer to the cache data volumes this volume serves as a cache volume. The corresponding VolumeUsage property shall be set to CacheOnly when this property is used.
            @odata.id string

read-only
Link to another Volume resource.
      } ]
      CacheDataVolumes@odata.count integer

read-only
The value of this property shall be an integer representing the number of items in a collection.
      CacheVolumeSource (v1.6+) { object


(null)
This shall be a pointer to the cache volume source for this volume. The corresponding VolumeUsage property shall be set to Data when this property is used.
            @odata.id string

read-only
Link to another Volume resource.
      }
      ClassOfService (v1.1+) { object This property shall contain a reference to the ClassOfService that this storage volume conforms to.
            @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
      }
      ClientEndpoints (v1.4+) [ { array The value of this property shall be references to the client Endpoints this volume is associated with.
            @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
      } ]
      ClientEndpoints@odata.count integer

read-only
The value of this property shall be an integer representing the number of items in a collection.
      ConsistencyGroups (v1.4+) [ { array The value of this property shall be references to the ConsistencyGroups this volume is associated with.
            @odata.id string

read-only
Link to a ConsistencyGroup resource. See the Links section and the ConsistencyGroup schema for details.
      } ]
      ConsistencyGroups@odata.count integer

read-only
The value of this property shall be an integer representing the number of items in a collection.
      DedicatedSpareDrives (v1.2+) [ { array The value of this property shall be a reference to the resources that this volume is associated with and shall reference resources of type Drive. This property shall only contain references to Drive entities which are currently assigned as a dedicated spare and are able to support this Volume.
            @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
      } ]
      DedicatedSpareDrives@odata.count integer

read-only
The value of this property shall be an integer representing the number of items in a collection.
      Drives [ { array The value of this property shall be a reference to the resources that this volume is associated with and shall reference resources of type Drive. This property shall only contain references to Drive entities which are currently members of the Volume, not hot spare Drives which are not currently a member of the volume.
            @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
      } ]
      Drives@odata.count integer

read-only
The value of this property shall be an integer representing the number of items in a collection.
      JournalingMedia (v1.5+)

read-write
(null)
This shall be a pointer to the journaling media used for this Volume to address the write hole issue. Valid when WriteHoleProtectionPolicy property is set to ‘Journaling’.
      Oem {} object This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
      OwningStorageResource (v1.5+) { object This shall be a pointer to the Storage resource that owns or contains this volume.
            @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
      }
      OwningStorageService (v1.4+) { object This shall be a pointer to the StorageService that owns or contains this volume. See the StorageService schema for details on this property.
            @odata.id string

read-only
Link to a StorageService resource. See the Links section and the StorageService schema for details.
      }
      ServerEndpoints (v1.4+) [ { array The value of this property shall be references to the server Endpoints this volume is associated with.
            @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
      } ]
      ServerEndpoints@odata.count integer

read-only
The value of this property shall be an integer representing the number of items in a collection.
      SpareResourceSets (v1.3+) [ { array Each referenced SpareResourceSet shall contain resources that may be utilized to replace the capacity provided by a failed resource having a compatible type.
            @odata.id string

read-write
Link to a SpareResourceSet resource. See the Links section and the SpareResourceSet schema for details.
      } ]
      SpareResourceSets@odata.count integer

read-only
The value of this property shall be an integer representing the number of items in a collection.
      StorageGroups (v1.4+) [ { array The value of this property shall be references to the StorageGroups this volume is associated with.
            @odata.id string

read-only
Link to a StorageGroup resource. See the Links section and the StorageGroup schema for details.
      } ]
      StorageGroups@odata.count integer

read-only
The value of this property shall be an integer representing the number of items in a collection.
}
LogicalUnitNumber (v1.4+) integer

read-only
(null)
This property 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.
LowSpaceWarningThresholdPercents (v1.1+) [ ] array
(%) (integer, null)

read-write
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).
Manufacturer (v1.1+) string

read-only
(null)
This property shall contain a value that represents the manufacturer or implementer of the storage volume.
MaxBlockSizeBytes (v1.1+) integer
(By)

read-only
(null)
This property shall contain size of the largest addressable unit of this storage volume.
MediaSpanCount (v1.4+) integer

read-only
(null)
This property shall indicate the number of media elements used per span in the secondary RAID for a hierarchical RAID type.
Model (v1.1+) string

read-only
(null)
The value is assigned by the manufacturer and shall represents a specific storage volume implementation.
Name string

read-only required
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
NVMeNamespaceProperties (v1.5+) { object


(null)
This property shall contain properties to use when Volume is used to describe an NVMe Namespace.
      FormattedLBASize (v1.5+) string

read-only
(null)
This property shall contain the LBA data size and metadata size combination that the namespace has been formatted with. This is a 4-bit data structure.
      IsShareable (v1.5+) boolean

read-write
(null)
This property shall indicate whether the namespace is shareable.
      MetadataTransferredAtEndOfDataLBA (v1.5+) boolean

read-only
(null)
This property shall indicate whether or not the metadata is transferred at the end of the LBA creating an extended data LBA.
      NamespaceFeatures (v1.5+) { object


(null)
This property shall contain a set of Namespace Features.
            SupportsAtomicTransactionSize (v1.5+) boolean

read-only
(null)
This property shall indicate whether or not the NVM fields for Namespace preferred write granularity (NPWG), write alignment (NPWA), deallocate granularity (NPDG), deallocate alignment (NPDA) and optimimal write size (NOWS) are defined for this namespace and should be used by the host for I/O optimization.
            SupportsDeallocatedOrUnwrittenLBError (v1.5+) boolean

read-only
(null)
This property shall indicate that the controller supports deallocated or unwritten logical block error for this namespace. .
            SupportsIOPerformanceHints (v1.5+) boolean

read-only
(null)
This property shall indicate that the Namepsace 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.
            SupportsNGUIDReuse (v1.5+) boolean

read-only
(null)
This property shall indicate that the namespace supports the use of an NGUID (namespace globally unique identifier) value.
            SupportsThinProvisioning (v1.5+) boolean

read-only
(null)
This property shall indicate whether or not the NVMe Namespace supports thin provisioning. Specifically, the namespace capacity reported may be less than the namespace size.
      }
      NamespaceId (v1.5+) string

read-only
(null)
This property 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. Pattern: ^0[xX](([a-fA-F]
      NumberLBAFormats (v1.5+) integer
(By)

read-only
(null)
This property 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.
      NVMeVersion (v1.5+) string

read-only
(null)
This property shall contain the version of the NVMe Base Specification supported.
}
Oem {} object This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
Operations [ { array This property shall contain a list of all currently running on the Volume.
      AssociatedFeaturesRegistry { object This resource shall be used to represent a Feature registry for a Redfish implementation. See the FeaturesRegistry schema for details on this property.
            @odata.id string

read-only
Link to a FeaturesRegistry resource. See the Links section and the FeaturesRegistry schema for details.
      }
      OperationName string

read-only
(null)
The name of the operation.
      PercentageComplete integer

read-only
(null)
The percentage of the operation that has been completed.
} ]
OptimumIOSizeBytes integer
(By)

read-only
(null)
This property 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.
ProvisioningPolicy (v1.4+) string
(enum)

read-write
(null)
This property shall specify the volume’s supported storage allocation policy. For the possible property values, see ProvisioningPolicy in Property details.
RAIDType (v1.3.1+) string
(enum)

read-only
(null)
This property shall contain the RAID type of the associated Volume. For the possible property values, see RAIDType in Property details.
ReadCachePolicy (v1.4+) string
(enum)

read-write
(null)
This property shall contain a boolean indicator of the read cache policy for the Volume. For the possible property values, see ReadCachePolicy in Property details.
RecoverableCapacitySourceCount (v1.3+) integer

read-write
(null)
The value is the number of available capacity source resources currently available in the event that an equivalent capacity source resource fails.
RemainingCapacityPercent (v1.2+) integer

read-only
(null)
If present, this value shall return {[(SUM(AllocatedBytes) - SUM(ConsumedBytes)]/SUM(AllocatedBytes)}*100 represented as an integer value.
ReplicaInfo (v1.1+) {} object This property shall describe the replica relationship between this storage volume and a corresponding source volume. See the StorageReplicaInfo.v1_3_0 schema for details on this property.
ReplicaTargets (v1.3+) [ { array The value shall reference the target replicas that are sourced by this replica.
      @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
} ]
Status {} object The property shall contain the status of the Volume. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.
StorageGroups (v1.1+) { object The value of this property shall contain references to all storage groups that include this volume. Contains a link to a resource.
      @odata.id string

read-only
Link to Collection of StorageGroup. See the StorageGroup schema for details.
}
StripSizeBytes (v1.4+) integer
(By)

read-write
(null)
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.
VolumeType string
(enum)

read-only
(null)
This property shall contain the type of the associated Volume. For the possible property values, see VolumeType in Property details.
VolumeUsage (v1.4+) string
(enum)

read-only
(null)
This property shall contain the volume usage type for the Volume. For the possible property values, see VolumeUsage in Property details.
WriteCachePolicy (v1.4+) string
(enum)

read-write
(null)
This property shall contain a boolean indicator of the write cache policy for the Volume. For the possible property values, see WriteCachePolicy in Property details.
WriteCacheState (v1.4+) string
(enum)

read-only
(null)
This property shall contain the WriteCacheState policy setting for the Volume. For the possible property values, see WriteCacheState in Property details.
WriteHoleProtectionPolicy (v1.4+) string
(enum)

read-write
This property 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’. For the possible property values, see WriteHoleProtectionPolicy in Property details.

9.36.4. Actions

9.36.4.1. AssignReplicaTarget (v1.4+)

Description

This action shall be used to establish a replication relationship by assigning an existing volume to serve as a target replica for an existing source volume.

Action URIs

/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.AssignReplicaTarget /redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.AssignReplicaTarget /redfish/v1/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.AssignReplicaTarget /redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.AssignReplicaTarget /redfish/v1/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.AssignReplicaTarget /redfish/v1/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.AssignReplicaTarget /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.AssignReplicaTarget /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.AssignReplicaTarget /redfish/v1/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.AssignReplicaTarget /redfish/v1/StorageServices/{StorageServiceId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.AssignReplicaTarget /redfish/v1/StorageServices/{StorageServiceId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.AssignReplicaTarget /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.AssignReplicaTarget /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.AssignReplicaTarget /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/Actions/Volume.AssignReplicaTarget /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{ProvidingVolumeId}/Actions/Volume.AssignReplicaTarget /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.AssignReplicaTarget /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.AssignReplicaTarget /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.AssignReplicaTarget /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.AssignReplicaTarget /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.AssignReplicaTarget

Action parameters

The parameters for the action which are included in the POST body to the URI shown in the ‘target’ property of the Action are summarized in Table 95.

Table 95: AssignReplicaTarget action parameters
{
      ReplicaType string
(enum)

required
This parameter shall contain the type of replica relationship to be created (e.g., Clone, Mirror, Snap). For the possible property values, see ReplicaType in Property details.
      ReplicaUpdateMode string
(enum)

required
This parameter shall specify the replica update mode. For the possible property values, see ReplicaUpdateMode in Property details.
      TargetVolume string

required
This parameter shall contain the Uri to the existing target volume.
}

9.36.4.2. ChangeRAIDLayout (v1.5+)

Description

This action shall request the system to change the RAID layout of the volume. Depending on the combination of the submitted parameters, this could be changing the RAID type, changing the span count, changing the number of drives used by the volume, or another configuration change suppported by the system. Note that usage of this action while online may potentially cause data loss if the available capacity is reduced.

Action URIs

/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.ChangeRAIDLayout /redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.ChangeRAIDLayout /redfish/v1/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.ChangeRAIDLayout /redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.ChangeRAIDLayout /redfish/v1/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.ChangeRAIDLayout /redfish/v1/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.ChangeRAIDLayout /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.ChangeRAIDLayout /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.ChangeRAIDLayout /redfish/v1/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.ChangeRAIDLayout /redfish/v1/StorageServices/{StorageServiceId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.ChangeRAIDLayout /redfish/v1/StorageServices/{StorageServiceId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.ChangeRAIDLayout /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.ChangeRAIDLayout /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.ChangeRAIDLayout /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/Actions/Volume.ChangeRAIDLayout /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{ProvidingVolumeId}/Actions/Volume.ChangeRAIDLayout /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.ChangeRAIDLayout /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.ChangeRAIDLayout /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.ChangeRAIDLayout /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.ChangeRAIDLayout /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.ChangeRAIDLayout

Action parameters

The parameters for the action which are included in the POST body to the URI shown in the ‘target’ property of the Action are summarized in Table 96.

Table 96: ChangeRAIDLayout action parameters
{
      Drives [ { array

optional
This parameter shall contain an array of the drives to be used by the volume.
            @odata.id string
(URI)

read-only
The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification.
      } ]
      MediaSpanCount integer

optional
This parameter shall contain the requested number of media elements used per span in the secondary RAID for a hierarchical RAID type.
      RAIDType string
(enum)

optional
This parameter shall contain the requested RAID type for the volume. For the possible property values, see RAIDType in Property details.
      StripSizeBytes integer

optional
This parameter shall contain the number of blocks (bytes) requested for the strip size.
}

9.36.4.3. CheckConsistency

Description

This defines the name of the custom action supported on this resource.

Action URIs

/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.CheckConsistency /redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.CheckConsistency /redfish/v1/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.CheckConsistency /redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.CheckConsistency /redfish/v1/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.CheckConsistency /redfish/v1/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.CheckConsistency /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.CheckConsistency /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.CheckConsistency /redfish/v1/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.CheckConsistency /redfish/v1/StorageServices/{StorageServiceId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.CheckConsistency /redfish/v1/StorageServices/{StorageServiceId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.CheckConsistency /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.CheckConsistency /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.CheckConsistency /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/Actions/Volume.CheckConsistency /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{ProvidingVolumeId}/Actions/Volume.CheckConsistency /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.CheckConsistency /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.CheckConsistency /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.CheckConsistency /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.CheckConsistency /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.CheckConsistency

Action Paremeters

This action takes no parameters.

9.36.4.4. CreateReplicaTarget (v1.4+)

Description

This action shall be used to create a new volume resource to provide expanded data protection through a replica relationship with the specified source volume.

Action URIs

/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.CreateReplicaTarget /redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.CreateReplicaTarget /redfish/v1/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.CreateReplicaTarget /redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.CreateReplicaTarget /redfish/v1/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.CreateReplicaTarget /redfish/v1/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.CreateReplicaTarget /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.CreateReplicaTarget /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.CreateReplicaTarget /redfish/v1/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.CreateReplicaTarget /redfish/v1/StorageServices/{StorageServiceId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.CreateReplicaTarget /redfish/v1/StorageServices/{StorageServiceId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.CreateReplicaTarget /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.CreateReplicaTarget /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.CreateReplicaTarget /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/Actions/Volume.CreateReplicaTarget /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{ProvidingVolumeId}/Actions/Volume.CreateReplicaTarget /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.CreateReplicaTarget /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.CreateReplicaTarget /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.CreateReplicaTarget /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.CreateReplicaTarget /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.CreateReplicaTarget

Action parameters

The parameters for the action which are included in the POST body to the URI shown in the ‘target’ property of the Action are summarized in Table 97.

Table 97: CreateReplicaTarget action parameters
{
      ReplicaType string
(enum)

required
This parameter shall contain the type of replica relationship to be created (e.g., Clone, Mirror, Snap). For the possible property values, see ReplicaType in Property details.
      ReplicaUpdateMode string
(enum)

required
This parameter shall specify the replica update mode. For the possible property values, see ReplicaUpdateMode in Property details.
      TargetStoragePool string

required
This parameter shall contain the Uri to the existing StoragePool in which to create the target volume.
      VolumeName string

optional
This parameter shall contain the Name for the target volume.
}

9.36.4.5. ForceEnable (v1.5+)

Description

This action shall request the system to force the volume to enabled state regardless of data loss scenarios.

Action URIs

/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.ForceEnable /redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.ForceEnable /redfish/v1/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.ForceEnable /redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.ForceEnable /redfish/v1/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.ForceEnable /redfish/v1/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.ForceEnable /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.ForceEnable /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.ForceEnable /redfish/v1/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.ForceEnable /redfish/v1/StorageServices/{StorageServiceId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.ForceEnable /redfish/v1/StorageServices/{StorageServiceId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.ForceEnable /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.ForceEnable /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.ForceEnable /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/Actions/Volume.ForceEnable /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{ProvidingVolumeId}/Actions/Volume.ForceEnable /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.ForceEnable /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.ForceEnable /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.ForceEnable /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.ForceEnable /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.ForceEnable

Action Parameters

This action takes no parameters.

9.36.4.6. Initialize (v1.5+)

Description

This defines the name of the custom action supported on this resource. If InitializeMethod is not specified in the request body, but the property InitializeMethod is specified, the property InitializeMethod value should be used. If neither is specified, the InitializeMethod should be Foreground.

Action URIs

/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.Initialize /redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.Initialize /redfish/v1/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.Initialize /redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.Initialize /redfish/v1/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.Initialize /redfish/v1/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.Initialize /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.Initialize /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.Initialize /redfish/v1/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.Initialize /redfish/v1/StorageServices/{StorageServiceId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.Initialize /redfish/v1/StorageServices/{StorageServiceId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.Initialize /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.Initialize /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.Initialize /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/Actions/Volume.Initialize /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{ProvidingVolumeId}/Actions/Volume.Initialize /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.Initialize /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.Initialize /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.Initialize /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.Initialize /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.Initialize

Action parameters

The parameters for the action which are included in the POST body to the URI shown in the ‘target’ property of the Action are summarized in Table 98.

Table 98: Initialize action parameters
{
      InitializeMethod string
(enum)

optional
This defines the property name for the action. For the possible property values, see InitializeMethod in Property details.
      InitializeType string
(enum)

optional
This defines the property name for the action. For the possible property values, see InitializeType in Property details.
}

9.36.4.7. RemoveReplicaRelationship (v1.4+)

Description

This action shall be used to disable data synchronization between a source and target volume, remove the replication relationship, and optionally delete the target volume.

Action URIs

/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.RemoveReplicaRelationship /redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.RemoveReplicaRelationship /redfish/v1/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.RemoveReplicaRelationship /redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.RemoveReplicaRelationship /redfish/v1/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.RemoveReplicaRelationship /redfish/v1/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.RemoveReplicaRelationship /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.RemoveReplicaRelationship /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.RemoveReplicaRelationship /redfish/v1/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.RemoveReplicaRelationship /redfish/v1/StorageServices/{StorageServiceId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.RemoveReplicaRelationship /redfish/v1/StorageServices/{StorageServiceId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.RemoveReplicaRelationship /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.RemoveReplicaRelationship /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.RemoveReplicaRelationship /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/Actions/Volume.RemoveReplicaRelationship /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{ProvidingVolumeId}/Actions/Volume.RemoveReplicaRelationship /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.RemoveReplicaRelationship /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.RemoveReplicaRelationship /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.RemoveReplicaRelationship /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.RemoveReplicaRelationship /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.RemoveReplicaRelationship

Action parameters

The parameters for the action which are included in the POST body to the URI shown in the ‘target’ property of the Action are summarized in Table 99.

Table 99: RemoveReplicaRelationship action parameters
{
      DeleteTargetVolume boolean

optional
This parameter shall indicate whether or not to delete the target volume as part of the operation. If not defined, the system should use its default behavior.
      TargetVolume string

required
This parameter shall contain the Uri to the existing target volume.
}

9.36.4.8. ResumeReplication (v1.4+)

Description

This action shall be used to resume the active data synchronization between a source and target volume, without otherwise altering the replication relationship.

Action URIs

/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.ResumeReplication /redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.ResumeReplication /redfish/v1/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.ResumeReplication /redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.ResumeReplication /redfish/v1/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.ResumeReplication /redfish/v1/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.ResumeReplication /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.ResumeReplication /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.ResumeReplication /redfish/v1/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.ResumeReplication /redfish/v1/StorageServices/{StorageServiceId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.ResumeReplication /redfish/v1/StorageServices/{StorageServiceId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.ResumeReplication /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.ResumeReplication /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.ResumeReplication /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/Actions/Volume.ResumeReplication /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{ProvidingVolumeId}/Actions/Volume.ResumeReplication /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.ResumeReplication /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.ResumeReplication /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.ResumeReplication /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.ResumeReplication /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.ResumeReplication

Action parameters

The parameters for the action which are included in the POST body to the URI shown in the ‘target’ property of the Action are summarized in Table 100.

Table 100: ResumeReplication action parameters
{
      TargetVolume string

required
This parameter shall contain the Uri to the existing target volume.
}

9.36.4.9. ReverseReplicationRelationship (v1.4+)

Description

This action shall be used to reverse the replication relationship between a source and target volume.

Action URIs

/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.ReverseReplicationRelationship /redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.ReverseReplicationRelationship /redfish/v1/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.ReverseReplicationRelationship /redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.ReverseReplicationRelationship /redfish/v1/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.ReverseReplicationRelationship /redfish/v1/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.ReverseReplicationRelationship /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.ReverseReplicationRelationship /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.ReverseReplicationRelationship /redfish/v1/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.ReverseReplicationRelationship /redfish/v1/StorageServices/{StorageServiceId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.ReverseReplicationRelationship /redfish/v1/StorageServices/{StorageServiceId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.ReverseReplicationRelationship /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.ReverseReplicationRelationship /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.ReverseReplicationRelationship /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/Actions/Volume.ReverseReplicationRelationship /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{ProvidingVolumeId}/Actions/Volume.ReverseReplicationRelationship /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.ReverseReplicationRelationship /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.ReverseReplicationRelationship /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.ReverseReplicationRelationship /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.ReverseReplicationRelationship /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.ReverseReplicationRelationship

Action parameters

The parameters for the action which are included in the POST body to the URI shown in the ‘target’ property of the Action are summarized in Table 101.

Table 101: ReverseReplicationRelationship action parameters
{
      TargetVolume string

required
This parameter shall contain the Uri to the existing target volume.
}

9.36.4.10. SplitReplication (v1.4+)

Description

This action shall be used to split the replication relationship and suspend data synchronization between a source and target volume.

Action URIs

/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.SplitReplication /redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.SplitReplication /redfish/v1/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.SplitReplication /redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.SplitReplication /redfish/v1/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.SplitReplication /redfish/v1/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.SplitReplication /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.SplitReplication /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.SplitReplication /redfish/v1/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.SplitReplication /redfish/v1/StorageServices/{StorageServiceId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.SplitReplication /redfish/v1/StorageServices/{StorageServiceId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.SplitReplication /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.SplitReplication /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.SplitReplication /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/Actions/Volume.SplitReplication /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{ProvidingVolumeId}/Actions/Volume.SplitReplication /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.SplitReplication /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.SplitReplication /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.SplitReplication /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.SplitReplication /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.SplitReplication

Action parameters

The parameters for the action which are included in the POST body to the URI shown in the ‘target’ property of the Action are summarized in Table 102.

Table 102: SplitReplication action parameters
{
      TargetVolume string

required
This parameter shall contain the Uri to the existing target volume.
}

9.36.4.11. SuspendReplication (v1.4+)

Description

This action shall be used to suspend active data synchronization between a source and target volume, without otherwise altering the replication relationship.

Action URIs

/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.SuspendReplication /redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.SuspendReplication /redfish/v1/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.SuspendReplication /redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.SuspendReplication /redfish/v1/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.SuspendReplication /redfish/v1/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.SuspendReplication /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.SuspendReplication /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.SuspendReplication /redfish/v1/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.SuspendReplication /redfish/v1/StorageServices/{StorageServiceId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.SuspendReplication /redfish/v1/StorageServices/{StorageServiceId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.SuspendReplication /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.SuspendReplication /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.SuspendReplication /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/Actions/Volume.SuspendReplication /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{ProvidingVolumeId}/Actions/Volume.SuspendReplication /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes/{VolumeId}/Actions/Volume.SuspendReplication /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.SuspendReplication /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedVolumes/{VolumeId}/Actions/Volume.SuspendReplication /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes/{VolumeId}/Actions/Volume.SuspendReplication /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes/{VolumeId}/Actions/Volume.SuspendReplication

Action parameters

The parameters for the action which are included in the POST body to the URI shown in the ‘target’ property of the Action are summarized in Table 103.

Table 103: SuspendReplication action parameters
{
      TargetVolume string

required
This parameter shall contain the Uri to the existing target volume.
}

9.36.5. Property details

9.36.5.1. AccessCapabilities

The defined property values are listed in Table 104. Each entry shall specify a current storage access capability. StorageAccessCapability enumeration literals may be used to describe abilities to read or write storage.

string Description
Append This enumeration literal shall indicate that the storage may be written only to append.
Execute This value shall indicate that Execute access is allowed by the file share.
Read This enumeration literal shall indicate that the storage may be read.
Streaming This enumeration literal shall indicate that the storage may be read sequentially.
Write This enumeration literal shall indicate that the storage may be written multiple times.
WriteOnce This enumeration literal shall indicate that the storage may be written only once.

9.36.5.2. EncryptionTypes

The defined property values are listed in Table 105. This property shall contain the types of encryption used by this Volume.

string Description
ControllerAssisted The volume is being encrypted by the storage controller entity.
NativeDriveEncryption The volume is utilizing the native drive encryption capabilities of the drive hardware.
SoftwareAssisted The volume is being encrypted by software running on the system or the operating system.

9.36.5.3. InitializeMethod

The defined property values are listed in Table 106. This defines the property name for the action.

string Description
Background The volume will be available for use immediately, with data erasure and preparation to happen as background tasks.
Foreground Data erasure and preparation tasks will complete before the volume is presented as available for use.
Skip The volume will be available for use immediately, with no preparation.

9.36.5.4. InitializeType

The defined property values are listed in Table 107. This defines the property name for the action.

string Description
Fast The volume is prepared for use quickly, typically by erasing just the beginning and end of the space so that partitioning can be performed.
Slow The volume is prepared for use slowly, typically by completely erasing the volume.

9.36.5.5. ProvisioningPolicy

The defined property values are listed in Table 108. This property shall specify the volume’s supported storage allocation policy.

string Description
Fixed This enumeration literal specifies storage shall be fully allocated.
Thin This enumeration literal specifies storage may be over allocated.

9.36.5.6. RAIDType

The defined property values are listed in Table 109. This parameter shall contain the requested RAID type for the volume.

Table 109: RAIDType property values
string Description
None (v1.4.2+) A placement policy with no redundancy at the device level.
RAID0 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.
RAID00 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.
RAID01 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.
RAID1 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.
RAID10 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.
RAID10E 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.
RAID10Triple 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.
RAID1E 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.
RAID1Triple 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.
RAID3 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.
RAID4 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.
RAID5 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.
RAID50 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.
RAID6 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.
RAID60 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.
RAID6TP 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.

9.36.5.7. ReadCachePolicy

The defined property values are listed in Table 110. This property shall contain a boolean indicator of the read cache policy for the Volume.

string Description
AdaptiveReadAhead A caching technique in which the controller dynamically determines whether to pre-fetch data anticipating future read requests, based on previous cache hit ratio.
Off The read cache is disabled.
ReadAhead A caching technique in which the controller pre-fetches data anticipating future read requests.

9.36.5.8. ReplicaType

The defined property values are listed in Table 111. This parameter shall contain the type of replica relationship to be created (e.g., Clone, Mirror, Snap).

string Description
Clone This enumeration literal shall indicate that replication shall create a point in time, full copy the source.
Mirror This enumeration literal shall indicate that replication shall create and maintain a copy of the source.
Snapshot This enumeration literal shall indicate that replication shall create a point in time, virtual copy of the source.
TokenizedClone This enumeration literal shall indicate that replication shall create a token based clone.

9.36.5.9. ReplicaUpdateMode

The defined property values are listed in Table 112. This parameter shall specify the replica update mode.

string Description
Active This enumeration literal shall indicate Active-Active (i.e. bidirectional) synchronous updates.
Adaptive This enumeration literal shall indicate that an implementation may switch between synchronous and asynchronous modes.
Asynchronous This enumeration literal shall indicate Asynchronous updates.
Synchronous This enumeration literal shall indicate Synchronous updates.

9.36.5.10. VolumeType

The defined property values are listed in Table 113. This property shall contain the type of the associated Volume.

string Description
Mirrored The volume is a mirrored device.
NonRedundant The volume is a non-redundant storage device.
RawDevice The volume is a raw physical device without any RAID or other virtualization applied.
SpannedMirrors The volume is a spanned set of mirrored devices.
SpannedStripesWithParity The volume is a spanned set of devices which uses parity to retain redundant information.
StripedWithParity The volume is a device which uses parity to retain redundant information.

9.36.5.11. VolumeUsage

The defined property values are listed in Table 114. This property shall contain the volume usage type for the Volume.

string Description
CacheOnly The volume shall be allocated for use as a non-consumable cache only volume.
Data The volume shall be allocated for use as a consumable data volume.
ReplicationReserve The volume shall be allocated for use as a non-consumable reserved volume for replication use.
SystemData The volume shall be allocated for use as a consumable data volume reserved for system use.
SystemReserve The volume shall be allocated for use as a non-consumable system reserved volume.

9.36.5.12. WriteCachePolicy

The defined property values are listed in Table 115. This property shall contain a boolean indicator of the write cache policy for the Volume.

string Description
Off (v1.4.1+) Indicates that the write cache shall be disabled.
ProtectedWriteBack 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.
UnprotectedWriteBack 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.
WriteThrough A caching technique in which the completion of a write request is not signaled until data is safely stored on non-volatile media.

9.36.5.13. WriteCacheState

The defined property values are listed in Table 116. This property shall contain the WriteCacheState policy setting for the Volume.

string Description
Degraded 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.
Protected Indicates that the cache state type in use generally protects write requests on non-volatile media.
Unprotected Indicates that the cache state type in use generally does not protect write requests on non-volatile media.

9.36.5.14. WriteHoleProtectionPolicy

The defined property values are listed in Table 117. This property 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’.

string Description
DistributedLog 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.
Journaling 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.
Oem The policy that is Oem specific. The mechanism details are unknown unless provided separatly by the Oem.
Off The support for addressing the write hole issue is disabled. The volume is not performing any additional activities to close the RAID write hole.

9.37. VolumeCollection

9.37.1. URIs

/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Volumes /redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes /redfish/v1/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Volumes /redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes /redfish/v1/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes /redfish/v1/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedVolumes /redfish/v1/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes /redfish/v1/Storage/{StorageId}/Volumes /redfish/v1/StorageServices/{StorageServiceId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes /redfish/v1/StorageServices/{StorageServiceId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/AllocatedVolumes /redfish/v1/StorageServices/{StorageServiceId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes /redfish/v1/StorageServices/{StorageServiceId}/Volumes /redfish/v1/StorageServices/{StorageServiceId}/Volumes/{VolumeId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/ConsistencyGroups/{ConsistencyGroupId}/Volumes /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/FileSystems/{FileSystemId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/AllocatedVolumes /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StoragePools/{StoragePoolId}/CapacitySources/{CapacitySourceId}/ProvidingVolumes /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Volumes

9.37.2. Properties

The properties defined for the VolumeCollection schema are summarized in Table 118.

Table 118: VolumeCollection properties
Property Type Notes
@odata.etag string

read-only
The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232.
Description string

read-only
(null)
This object represents the description of this resource. The resource values shall comply with the Redfish Specification-described requirements.
Members [ { array The value of each member entry shall reference a Volume resource.
      @odata.id string

read-only
Link to a Volume resource. See the Links section and the Volume schema for details.
} ]
Members@odata.nextLink string
(URI)

read-only
The value of this property shall be a URI to a resource, with the same @odata.type, containing the next set of partial members.
Name string

read-only
This object represents the name of this resource or array member. The resource values shall comply with the Redfish Specification-described requirements. This string value shall be of the ‘Name’ reserved word format.
Oem {} object This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements. See the redfish.dmtf.org/schemas/v1/Resource.json schema for details on this property.