summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Redfish.md8
-rw-r--r--redfish-core/include/redfish.hpp4
-rw-r--r--redfish-core/include/schemas.hpp1
-rw-r--r--redfish-core/lib/aggregation_service.hpp63
-rw-r--r--redfish-core/lib/service_root.hpp4
-rwxr-xr-xscripts/update_schemas.py1
-rw-r--r--static/redfish/v1/$metadata/index.xml5
-rw-r--r--static/redfish/v1/JsonSchemas/AggregationService/AggregationService.json268
-rw-r--r--static/redfish/v1/schema/AggregationService_v1.xml174
9 files changed, 528 insertions, 0 deletions
diff --git a/Redfish.md b/Redfish.md
index d22abdfc82..dd82a06134 100644
--- a/Redfish.md
+++ b/Redfish.md
@@ -32,6 +32,7 @@ Fields common to all schemas
#### ServiceRoot
- AccountService
+- AggregationService
- CertificateService
- Chassis
- EventService
@@ -66,6 +67,13 @@ Fields common to all schemas
- Roles
- ServiceEnabled
+### /redfish/v1/AggregationService/
+
+#### AggregationService
+
+- Description
+- ServiceEnabled
+
### /redfish/v1/AccountService/Accounts/
#### ManagerAccountCollection
diff --git a/redfish-core/include/redfish.hpp b/redfish-core/include/redfish.hpp
index e1d07a2b0b..55ffeec0fc 100644
--- a/redfish-core/include/redfish.hpp
+++ b/redfish-core/include/redfish.hpp
@@ -16,6 +16,7 @@
#pragma once
#include "account_service.hpp"
+#include "aggregation_service.hpp"
#include "bios.hpp"
#include "cable.hpp"
#include "certificate_service.hpp"
@@ -71,6 +72,9 @@ class RedfishService
explicit RedfishService(App& app)
{
requestAccountServiceRoutes(app);
+#ifdef BMCWEB_ENABLE_REDFISH_AGGREGATION
+ requestAggregationServiceRoutes(app);
+#endif
requestRoutesRoles(app);
requestRoutesRoleCollection(app);
requestRoutesServiceRoot(app);
diff --git a/redfish-core/include/schemas.hpp b/redfish-core/include/schemas.hpp
index 8267338867..c81e304526 100644
--- a/redfish-core/include/schemas.hpp
+++ b/redfish-core/include/schemas.hpp
@@ -17,6 +17,7 @@ namespace redfish
constexpr std::array schemas {
"AccountService",
"ActionInfo",
+ "AggregationService",
"Assembly",
"AttributeRegistry",
"Bios",
diff --git a/redfish-core/lib/aggregation_service.hpp b/redfish-core/lib/aggregation_service.hpp
new file mode 100644
index 0000000000..e03047aac4
--- /dev/null
+++ b/redfish-core/lib/aggregation_service.hpp
@@ -0,0 +1,63 @@
+#pragma once
+
+#include "app.hpp"
+#include "error_messages.hpp"
+#include "http_request.hpp"
+#include "http_response.hpp"
+#include "query.hpp"
+#include "registries/privilege_registry.hpp"
+
+#include <nlohmann/json.hpp>
+
+#include <functional>
+#include <memory>
+
+namespace redfish
+{
+
+inline void handleAggregationServiceHead(
+ App& app, const crow::Request& req,
+ const std::shared_ptr<bmcweb::AsyncResp>& asyncResp)
+{
+ if (!redfish::setUpRedfishRoute(app, req, asyncResp))
+ {
+ return;
+ }
+ asyncResp->res.addHeader(
+ boost::beast::http::field::link,
+ "</redfish/v1/JsonSchemas/AggregationService/AggregationService.json>; rel=describedby");
+}
+
+inline void handleAggregationServiceGet(
+ App& app, const crow::Request& req,
+ const std::shared_ptr<bmcweb::AsyncResp>& asyncResp)
+{
+ if (!redfish::setUpRedfishRoute(app, req, asyncResp))
+ {
+ return;
+ }
+ asyncResp->res.addHeader(
+ boost::beast::http::field::link,
+ "</redfish/v1/JsonSchemas/AggregationService/AggregationService.json>; rel=describedby");
+ nlohmann::json& json = asyncResp->res.jsonValue;
+ json["@odata.id"] = "/redfish/v1/AggregationService";
+ json["@odata.type"] = "#AggregationService.v1_0_1.AggregationService";
+ json["Id"] = "AggregationService";
+ json["Name"] = "Aggregation Service";
+ json["Description"] = "Aggregation Service";
+ json["ServiceEnabled"] = true;
+}
+
+inline void requestAggregationServiceRoutes(App& app)
+{
+ BMCWEB_ROUTE(app, "/redfish/v1/AggregationService/")
+ .privileges(redfish::privileges::headAggregationService)
+ .methods(boost::beast::http::verb::head)(
+ std::bind_front(handleAggregationServiceHead, std::ref(app)));
+ BMCWEB_ROUTE(app, "/redfish/v1/AggregationService/")
+ .privileges(redfish::privileges::getAggregationService)
+ .methods(boost::beast::http::verb::get)(
+ std::bind_front(handleAggregationServiceGet, std::ref(app)));
+}
+
+} // namespace redfish
diff --git a/redfish-core/lib/service_root.hpp b/redfish-core/lib/service_root.hpp
index 98d39d61a7..7d586cbd2e 100644
--- a/redfish-core/lib/service_root.hpp
+++ b/redfish-core/lib/service_root.hpp
@@ -58,6 +58,10 @@ inline void handleServiceRootGetImpl(
"/redfish/v1/SessionService/Sessions";
asyncResp->res.jsonValue["AccountService"]["@odata.id"] =
"/redfish/v1/AccountService";
+#ifdef BMCWEB_ENABLE_REDFISH_AGGREGATION
+ asyncResp->res.jsonValue["AggregationService"]["@odata.id"] =
+ "/redfish/v1/AggregationService";
+#endif
asyncResp->res.jsonValue["Chassis"]["@odata.id"] = "/redfish/v1/Chassis";
asyncResp->res.jsonValue["JsonSchemas"]["@odata.id"] =
"/redfish/v1/JsonSchemas";
diff --git a/scripts/update_schemas.py b/scripts/update_schemas.py
index da7c3acc6e..7fea60be7e 100755
--- a/scripts/update_schemas.py
+++ b/scripts/update_schemas.py
@@ -27,6 +27,7 @@ WARNING = """/****************************************************************
include_list = [
"AccountService",
"ActionInfo",
+ "AggregationService",
"Assembly",
"AttributeRegistry",
"Bios",
diff --git a/static/redfish/v1/$metadata/index.xml b/static/redfish/v1/$metadata/index.xml
index dcf7de3940..0ef12fa517 100644
--- a/static/redfish/v1/$metadata/index.xml
+++ b/static/redfish/v1/$metadata/index.xml
@@ -113,6 +113,11 @@
<edmx:Include Namespace="ActionInfo.v1_2_0"/>
<edmx:Include Namespace="ActionInfo.v1_3_0"/>
</edmx:Reference>
+ <edmx:Reference Uri="/redfish/v1/schema/AggregationService_v1.xml">
+ <edmx:Include Namespace="AggregationService"/>
+ <edmx:Include Namespace="AggregationService.v1_0_0"/>
+ <edmx:Include Namespace="AggregationService.v1_0_1"/>
+ </edmx:Reference>
<edmx:Reference Uri="/redfish/v1/schema/Assembly_v1.xml">
<edmx:Include Namespace="Assembly"/>
<edmx:Include Namespace="Assembly.v1_0_0"/>
diff --git a/static/redfish/v1/JsonSchemas/AggregationService/AggregationService.json b/static/redfish/v1/JsonSchemas/AggregationService/AggregationService.json
new file mode 100644
index 0000000000..f0c1394d93
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/AggregationService/AggregationService.json
@@ -0,0 +1,268 @@
+{
+ "$id": "http://redfish.dmtf.org/schemas/v1/AggregationService.v1_0_1.json",
+ "$ref": "#/definitions/AggregationService",
+ "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+ "copyright": "Copyright 2014-2020 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+ "definitions": {
+ "Actions": {
+ "additionalProperties": false,
+ "description": "The available actions for this resource.",
+ "longDescription": "This type shall contain the available actions for this resource.",
+ "patternProperties": {
+ "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+ "description": "This property shall specify a valid odata or Redfish property.",
+ "type": [
+ "array",
+ "boolean",
+ "integer",
+ "number",
+ "null",
+ "object",
+ "string"
+ ]
+ }
+ },
+ "properties": {
+ "#AggregationService.Reset": {
+ "$ref": "#/definitions/Reset"
+ },
+ "#AggregationService.SetDefaultBootOrder": {
+ "$ref": "#/definitions/SetDefaultBootOrder"
+ },
+ "Oem": {
+ "$ref": "#/definitions/OemActions",
+ "description": "The available OEM-specific actions for this resource.",
+ "longDescription": "This property shall contain the available OEM-specific actions for this resource."
+ }
+ },
+ "type": "object"
+ },
+ "AggregationService": {
+ "additionalProperties": true,
+ "description": "The AggregationService schema contains properties for managing aggregation operations, either on ad hoc combinations of resources or on defined sets of resources called aggregates. Access points define the properties needed to access the entity being aggregated and connection methods describe the protocol or other semantics of the connection.",
+ "longDescription": "This resource shall represent an aggregation service for a Redfish implementation.",
+ "patternProperties": {
+ "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+ "description": "This property shall specify a valid odata or Redfish property.",
+ "type": [
+ "array",
+ "boolean",
+ "integer",
+ "number",
+ "null",
+ "object",
+ "string"
+ ]
+ }
+ },
+ "properties": {
+ "@odata.context": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
+ },
+ "@odata.etag": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
+ },
+ "@odata.id": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
+ },
+ "@odata.type": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
+ },
+ "Actions": {
+ "$ref": "#/definitions/Actions",
+ "description": "The available actions for this resource.",
+ "longDescription": "This property shall contain the available actions for this resource."
+ },
+ "Aggregates": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/AggregateCollection.json#/definitions/AggregateCollection",
+ "description": "The link to the collection of aggregates associated with this service.",
+ "longDescription": "This property shall contain a link to a resource collection of type AggregateCollection.",
+ "readonly": true
+ },
+ "AggregationSources": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/AggregationSourceCollection.json#/definitions/AggregationSourceCollection",
+ "description": "The link to the collection of aggregation sources associated with this service.",
+ "longDescription": "This property shall contain a link to a resource collection of type AggregationSourceCollection.",
+ "readonly": true
+ },
+ "ConnectionMethods": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/ConnectionMethodCollection.json#/definitions/ConnectionMethodCollection",
+ "description": "The link to the collection of connection methods associated with this service.",
+ "longDescription": "This property shall contain a link to a resource collection of type ConnectionMethodCollection.",
+ "readonly": true
+ },
+ "Description": {
+ "anyOf": [
+ {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "readonly": true
+ },
+ "Id": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
+ "readonly": true
+ },
+ "Name": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
+ "readonly": true
+ },
+ "Oem": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+ "description": "The OEM extension property.",
+ "longDescription": "This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
+ },
+ "ServiceEnabled": {
+ "description": "An indication of whether the aggregation service is enabled.",
+ "longDescription": "This property shall indicate whether the aggregation service is enabled.",
+ "readonly": false,
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "Status": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+ "description": "The status and health of the resource and its subordinate or dependent resources.",
+ "longDescription": "This property shall contain any status or health properties of the resource."
+ }
+ },
+ "required": [
+ "@odata.id",
+ "@odata.type",
+ "Id",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "OemActions": {
+ "additionalProperties": true,
+ "description": "The available OEM-specific actions for this resource.",
+ "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
+ "patternProperties": {
+ "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+ "description": "This property shall specify a valid odata or Redfish property.",
+ "type": [
+ "array",
+ "boolean",
+ "integer",
+ "number",
+ "null",
+ "object",
+ "string"
+ ]
+ }
+ },
+ "properties": {},
+ "type": "object"
+ },
+ "Reset": {
+ "additionalProperties": false,
+ "description": "This action is used to reset a set of resources. For example this could be a list of computer systems.",
+ "longDescription": "This action shall perform a reset of a set of resources.",
+ "parameters": {
+ "BatchSize": {
+ "description": "The number of elements in each batch being reset.",
+ "longDescription": "This parameter shall contain the number of elements in each batch simultaneously being issued a reset.",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "DelayBetweenBatchesInSeconds": {
+ "description": "The delay of the batches of elements being reset in seconds.",
+ "longDescription": "This parameter shall contain the delay of the batches of elements being reset in seconds.",
+ "minimum": 0,
+ "type": "integer",
+ "units": "s"
+ },
+ "ResetType": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/ResetType",
+ "description": "The type of reset.",
+ "longDescription": "This parameter shall contain the type of reset. The service can accept a request without the parameter and perform an implementation-specific default reset."
+ },
+ "TargetURIs": {
+ "description": "An array of links to the resources being reset.",
+ "items": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Resource"
+ },
+ "longDescription": "This parameter shall contain an array of links to the resources being reset.",
+ "requiredParameter": true,
+ "type": "array"
+ }
+ },
+ "patternProperties": {
+ "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+ "description": "This property shall specify a valid odata or Redfish property.",
+ "type": [
+ "array",
+ "boolean",
+ "integer",
+ "number",
+ "null",
+ "object",
+ "string"
+ ]
+ }
+ },
+ "properties": {
+ "target": {
+ "description": "Link to invoke action",
+ "format": "uri-reference",
+ "type": "string"
+ },
+ "title": {
+ "description": "Friendly action name",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SetDefaultBootOrder": {
+ "additionalProperties": false,
+ "description": "This action is used to restore the boot order to the default state for the specified computer systems.",
+ "longDescription": "This action shall restore the boot order to the default state for the specified computer systems.",
+ "parameters": {
+ "Systems": {
+ "description": "The computer systems to restore.",
+ "items": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/ComputerSystem.json#/definitions/ComputerSystem"
+ },
+ "longDescription": "This parameter shall contain an array of links to resources of type ComputerSystem.",
+ "requiredParameter": true,
+ "type": "array"
+ }
+ },
+ "patternProperties": {
+ "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+ "description": "This property shall specify a valid odata or Redfish property.",
+ "type": [
+ "array",
+ "boolean",
+ "integer",
+ "number",
+ "null",
+ "object",
+ "string"
+ ]
+ }
+ },
+ "properties": {
+ "target": {
+ "description": "Link to invoke action",
+ "format": "uri-reference",
+ "type": "string"
+ },
+ "title": {
+ "description": "Friendly action name",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "owningEntity": "DMTF",
+ "release": "2020.2",
+ "title": "#AggregationService.v1_0_1.AggregationService"
+} \ No newline at end of file
diff --git a/static/redfish/v1/schema/AggregationService_v1.xml b/static/redfish/v1/schema/AggregationService_v1.xml
new file mode 100644
index 0000000000..080c0202c2
--- /dev/null
+++ b/static/redfish/v1/schema/AggregationService_v1.xml
@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!---->
+<!--################################################################################ -->
+<!--# Redfish Schema: AggregationService v1.0.1 -->
+<!--# -->
+<!--# For a detailed change log, see the README file contained in the DSP8010 bundle, -->
+<!--# available at http://www.dmtf.org/standards/redfish -->
+<!--# Copyright 2014-2022 DMTF. -->
+<!--# For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright -->
+<!--################################################################################ -->
+<!---->
+<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
+
+ <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Core.V1.xml">
+ <edmx:Include Namespace="Org.OData.Core.V1" Alias="OData"/>
+ </edmx:Reference>
+ <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Measures.V1.xml">
+ <edmx:Include Namespace="Org.OData.Measures.V1" Alias="Measures"/>
+ </edmx:Reference>
+ <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Capabilities.V1.xml">
+ <edmx:Include Namespace="Org.OData.Capabilities.V1" Alias="Capabilities"/>
+ </edmx:Reference>
+ <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml">
+ <edmx:Include Namespace="Validation.v1_0_0" Alias="Validation"/>
+ <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
+ </edmx:Reference>
+ <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Resource_v1.xml">
+ <edmx:Include Namespace="Resource"/>
+ <edmx:Include Namespace="Resource.v1_0_0"/>
+ </edmx:Reference>
+ <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/AggregationSourceCollection_v1.xml">
+ <edmx:Include Namespace="AggregationSourceCollection"/>
+ </edmx:Reference>
+ <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/AggregateCollection_v1.xml">
+ <edmx:Include Namespace="AggregateCollection"/>
+ </edmx:Reference>
+ <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/ConnectionMethodCollection_v1.xml">
+ <edmx:Include Namespace="ConnectionMethodCollection"/>
+ </edmx:Reference>
+ <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/ComputerSystem_v1.xml">
+ <edmx:Include Namespace="ComputerSystem"/>
+ </edmx:Reference>
+
+ <edmx:DataServices>
+
+ <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="AggregationService">
+ <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
+
+ <EntityType Name="AggregationService" BaseType="Resource.v1_0_0.Resource" Abstract="true">
+ <Annotation Term="OData.Description" String="The AggregationService schema contains properties for managing aggregation operations, either on ad hoc combinations of resources or on defined sets of resources called aggregates. Access points define the properties needed to access the entity being aggregated and connection methods describe the protocol or other semantics of the connection."/>
+ <Annotation Term="OData.LongDescription" String="This resource shall represent an aggregation service for a Redfish implementation."/>
+ <Annotation Term="OData.AdditionalProperties" Bool="true"/>
+ <Annotation Term="Capabilities.InsertRestrictions">
+ <Record>
+ <PropertyValue Property="Insertable" Bool="false"/>
+ </Record>
+ </Annotation>
+ <Annotation Term="Capabilities.UpdateRestrictions">
+ <Record>
+ <PropertyValue Property="Updatable" Bool="true"/>
+ <Annotation Term="OData.Description" String="The aggregation service can be updated to change some properties"/>
+ </Record>
+ </Annotation>
+ <Annotation Term="Capabilities.DeleteRestrictions">
+ <Record>
+ <PropertyValue Property="Deletable" Bool="false"/>
+ </Record>
+ </Annotation>
+ <Annotation Term="Redfish.Uris">
+ <Collection>
+ <String>/redfish/v1/AggregationService</String>
+ </Collection>
+ </Annotation>
+ </EntityType>
+
+ <Action Name="Reset" IsBound="true">
+ <Annotation Term="OData.Description" String="This action is used to reset a set of resources. For example this could be a list of computer systems."/>
+ <Annotation Term="OData.LongDescription" String="This action shall perform a reset of a set of resources."/>
+ <Parameter Name="Aggregate" Type="AggregationService.v1_0_0.Actions"/>
+ <Parameter Name="DelayBetweenBatchesInSeconds" Type="Edm.Int64">
+ <Annotation Term="OData.Description" String="The delay of the batches of elements being reset in seconds."/>
+ <Annotation Term="OData.LongDescription" String="This parameter shall contain the delay of the batches of elements being reset in seconds."/>
+ <Annotation Term="Validation.Minimum" Int="0"/>
+ <Annotation Term="Measures.Unit" String="s"/>
+ </Parameter>
+ <Parameter Name="BatchSize" Type="Edm.Int64">
+ <Annotation Term="OData.Description" String="The number of elements in each batch being reset."/>
+ <Annotation Term="OData.LongDescription" String="This parameter shall contain the number of elements in each batch simultaneously being issued a reset."/>
+ <Annotation Term="Validation.Minimum" Int="0"/>
+ </Parameter>
+ <Parameter Name="ResetType" Type="Resource.ResetType">
+ <Annotation Term="OData.Description" String="The type of reset."/>
+ <Annotation Term="OData.LongDescription" String="This parameter shall contain the type of reset. The service can accept a request without the parameter and perform an implementation-specific default reset."/>
+ </Parameter>
+ <Parameter Name="TargetURIs" Type="Collection(Resource.Resource)" Nullable="false">
+ <Annotation Term="OData.Description" String="An array of links to the resources being reset."/>
+ <Annotation Term="OData.LongDescription" String="This parameter shall contain an array of links to the resources being reset."/>
+ </Parameter>
+ </Action>
+
+ <Action Name="SetDefaultBootOrder" IsBound="true">
+ <Annotation Term="OData.Description" String="This action is used to restore the boot order to the default state for the specified computer systems."/>
+ <Annotation Term="OData.LongDescription" String="This action shall restore the boot order to the default state for the specified computer systems."/>
+ <Parameter Name="AggregationService" Type="AggregationService.v1_0_0.Actions" />
+ <Parameter Name="Systems" Type="Collection(ComputerSystem.ComputerSystem)" Nullable="false">
+ <Annotation Term="OData.Description" String="The computer systems to restore."/>
+ <Annotation Term="OData.LongDescription" String="This parameter shall contain an array of links to resources of type ComputerSystem."/>
+ </Parameter>
+ </Action>
+ </Schema>
+
+ <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="AggregationService.v1_0_0">
+ <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
+ <Annotation Term="Redfish.Release" String="2020.2"/>
+
+ <EntityType Name="AggregationService" BaseType="AggregationService.AggregationService">
+ <Property Name="ServiceEnabled" Type="Edm.Boolean">
+ <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
+ <Annotation Term="OData.Description" String="An indication of whether the aggregation service is enabled."/>
+ <Annotation Term="OData.LongDescription" String="This property shall indicate whether the aggregation service is enabled."/>
+ </Property>
+ <Property Name="Status" Type="Resource.Status" Nullable="false">
+ <Annotation Term="OData.Description" String="The status and health of the resource and its subordinate or dependent resources."/>
+ <Annotation Term="OData.LongDescription" String="This property shall contain any status or health properties of the resource."/>
+ </Property>
+ <NavigationProperty Name="Aggregates" Type="AggregateCollection.AggregateCollection" ContainsTarget="true" Nullable="false">
+ <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
+ <Annotation Term="OData.Description" String="The link to the collection of aggregates associated with this service."/>
+ <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource collection of type AggregateCollection."/>
+ <Annotation Term="OData.AutoExpandReferences"/>
+ </NavigationProperty>
+ <NavigationProperty Name="AggregationSources" Type="AggregationSourceCollection.AggregationSourceCollection" ContainsTarget="true" Nullable="false">
+ <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
+ <Annotation Term="OData.Description" String="The link to the collection of aggregation sources associated with this service."/>
+ <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource collection of type AggregationSourceCollection."/>
+ <Annotation Term="OData.AutoExpandReferences"/>
+ </NavigationProperty>
+ <NavigationProperty Name="ConnectionMethods" Type="ConnectionMethodCollection.ConnectionMethodCollection" ContainsTarget="true" Nullable="false">
+ <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
+ <Annotation Term="OData.Description" String="The link to the collection of connection methods associated with this service."/>
+ <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource collection of type ConnectionMethodCollection."/>
+ <Annotation Term="OData.AutoExpandReferences"/>
+ </NavigationProperty>
+ <Property Name="Actions" Type="AggregationService.v1_0_0.Actions" Nullable="false">
+ <Annotation Term="OData.Description" String="The available actions for this resource."/>
+ <Annotation Term="OData.LongDescription" String="This property shall contain the available actions for this resource."/>
+ </Property>
+ </EntityType>
+
+ <ComplexType Name="Actions">
+ <Annotation Term="OData.AdditionalProperties" Bool="false"/>
+ <Annotation Term="OData.Description" String="The available actions for this resource."/>
+ <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this resource."/>
+ <Property Name="Oem" Type="AggregationService.v1_0_0.OemActions" Nullable="false">
+ <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
+ <Annotation Term="OData.LongDescription" String="This property shall contain the available OEM-specific actions for this resource."/>
+ </Property>
+ </ComplexType>
+
+ <ComplexType Name="OemActions">
+ <Annotation Term="OData.AdditionalProperties" Bool="true"/>
+ <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
+ <Annotation Term="OData.LongDescription" String="This type shall contain the available OEM-specific actions for this resource."/>
+ </ComplexType>
+ </Schema>
+
+ <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="AggregationService.v1_0_1">
+ <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
+ <Annotation Term="OData.Description" String="This version was created specify 64-bit integers in OpenAPI."/>
+ <EntityType Name="AggregationService" BaseType="AggregationService.v1_0_0.AggregationService"/>
+ </Schema>
+
+ </edmx:DataServices>
+</edmx:Edmx>