Commit a0af5055 by Gunnar Billung-Meyer

deny POST/DELETE for PCIeFunctions and Ports

add actions to expose/remove Ports from ComposedNodes
change syntax of operations.json to contain objects only (no arrays)
parent 1830ec59
{
"ComposedNode": [
"DELETE"
],
"ComposedNode": {
"DELETE": true,
"#ComposedNode.ExposePort": {
"Status": 201,
"Headers": {
"Location": "Port"
}
}
},
"ComposedNodeCollection": {
"#ComposedNodeCollection.Allocate": {
"Status": 201,
......@@ -10,26 +16,14 @@
}
}
},
"ComputerSystem": [
"PATCH"
],
"PCIeFunction": [
"DELETE"
],
"PCIeFunctionCollection": [
"POST"
],
"Port": [
"DELETE"
],
"PortCollection": [
"POST"
],
"VLanNetworkInterface": [
"PATCH",
"DELETE"
],
"VLanNetworkInterfaceCollection": [
"POST"
]
"ComputerSystem": {
"PATCH": true
},
"VLanNetworkInterface": {
"PATCH": true,
"DELETE": true
},
"VLanNetworkInterfaceCollection": {
"POST": true
}
}
\ No newline at end of file
......@@ -29,6 +29,15 @@
<edmx:Reference Uri="HSLLConnectionCollection_v1.xml">
<edmx:Include Namespace="HSLLConnectionCollection"/>
</edmx:Reference>
<edmx:Reference Uri="HSLLInterface_v1.xml">
<edmx:Include Namespace="HSLLInterface"/>
</edmx:Reference>
<edmx:Reference Uri="PCIeFunctionParameter_v1.xml">
<edmx:Include Namespace="PCIeFunctionParameter.v1_0_0"/>
</edmx:Reference>
<edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Port_v1.xml">
<edmx:Include Namespace="Port"/>
</edmx:Reference>
<edmx:DataServices>
<Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="ComposedNode">
......@@ -62,6 +71,34 @@
<Annotation Term="OData.Description" String="This action is used to reject an allocated but not assembled composed node."/>
</Action>
<Action Name="ExposePort" IsBound="true">
<Parameter Name="ComposedNode" Type="ComposedNode.v1_0_0.Actions"/>
<Parameter Name="Name" Type="Edm.String">
<Annotation Term="OData.Description" String="The name of the Port" />
</Parameter>
<Parameter Name="Description" Type="Edm.String">
<Annotation Term="OData.Description" String="The description of the Port" />
</Parameter>
<Parameter Name="Width" Type="Edm.Int64">
<Annotation Term="OData.Description" String="The number of (usable) lanes that this port contains." />
</Parameter>
<Parameter Name="HSLLInterface" Type="HSLLInterface.HSLLInterface">
<Annotation Term="OData.Description" String="The URI of a HSLLInterface resource, on which the Port is exposed." />
</Parameter>
<Parameter Name="PCIeFunctions" Type="Collection(PCIeFunctionParameter.v1_0_0.PCIeFunction)">
<Annotation Term="OData.Description" String="An array of PCIeFunctions, provided by this port." />
</Parameter>
<Annotation Term="OData.Description" String="This action is used to expose a port of a composed node."/>
</Action>
<Action Name="RemovePort" IsBound="true">
<Parameter Name="ComposedNode" Type="ComposedNode.v1_0_0.Actions"/>
<Parameter Name="Port" Type="Port.Port">
<Annotation Term="OData.Description" String="The URI of the Port resource to remove." />
</Parameter>
<Annotation Term="OData.Description" String="This action is used to expose a port of a composed node."/>
</Action>
</Schema>
<Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="ComposedNode.v1_0_0">
......
......@@ -29,6 +29,15 @@
<edmx:Reference Uri="HSLLConnectionCollection_v1.xml">
<edmx:Include Namespace="HSLLConnectionCollection"/>
</edmx:Reference>
<edmx:Reference Uri="HSLLInterface_v1.xml">
<edmx:Include Namespace="HSLLInterface"/>
</edmx:Reference>
<edmx:Reference Uri="PCIeFunctionParameter_v1.xml">
<edmx:Include Namespace="PCIeFunctionParameter.v1_0_0"/>
</edmx:Reference>
<edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Port_v1.xml">
<edmx:Include Namespace="Port"/>
</edmx:Reference>
<edmx:DataServices>
<Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="ComposedNode">
......@@ -62,6 +71,34 @@
<Annotation Term="OData.Description" String="This action is used to reject an allocated but not assembled composed node."/>
</Action>
<Action Name="ExposePort" IsBound="true">
<Parameter Name="ComposedNode" Type="ComposedNode.v1_0_0.Actions"/>
<Parameter Name="Name" Type="Edm.String">
<Annotation Term="OData.Description" String="The name of the Port" />
</Parameter>
<Parameter Name="Description" Type="Edm.String">
<Annotation Term="OData.Description" String="The description of the Port" />
</Parameter>
<Parameter Name="Width" Type="Edm.Int64">
<Annotation Term="OData.Description" String="The number of (usable) lanes that this port contains." />
</Parameter>
<Parameter Name="HSLLInterface" Type="HSLLInterface.HSLLInterface">
<Annotation Term="OData.Description" String="The URI of a HSLLInterface resource, on which the Port is exposed." />
</Parameter>
<Parameter Name="PCIeFunctions" Type="Collection(PCIeFunctionParameter.v1_0_0.PCIeFunction)">
<Annotation Term="OData.Description" String="An array of PCIeFunctions, provided by this port." />
</Parameter>
<Annotation Term="OData.Description" String="This action is used to expose a port of a composed node."/>
</Action>
<Action Name="RemovePort" IsBound="true">
<Parameter Name="ComposedNode" Type="ComposedNode.v1_0_0.Actions"/>
<Parameter Name="Port" Type="Port.Port">
<Annotation Term="OData.Description" String="The URI of the Port resource to remove." />
</Parameter>
<Annotation Term="OData.Description" String="This action is used to expose a port of a composed node."/>
</Action>
</Schema>
<Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="ComposedNode.v1_0_0">
......
<?xml version="1.0" encoding="UTF-8"?>
<!---->
<!--################################################################################ -->
<!--# Copyright 2017-2019 christmann informationstechnik + medien GmbH & Co. KG -->
<!--################################################################################ -->
<!---->
<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://redfish.dmtf.org/schemas/v1/PCIeFunction_v1.xml">
<edmx:Include Namespace="PCIeFunction.v1_0_0"/>
</edmx:Reference>
<edmx:DataServices>
<Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PCIeFunctionParameter.v1_0_0">
<ComplexType Name="PCIeFunction">
<Annotation Term="OData.AdditionalProperties" Bool="false"/>
<Annotation Term="OData.Description" String="The definition of a custom PCIeFunction" />
<Property Name="Name" Type="Edm.String">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
<Annotation Term="OData.Description" String="The name of the PCIeFunction" />
</Property>
<Property Name="Description" Type="Edm.String">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
<Annotation Term="OData.Description" String="The description of the PCIeFunction" />
</Property>
<Property Name="FunctionId" Type="Edm.Int64">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
<Annotation Term="OData.Description" String="The the PCIe Function identifier."/>
<Annotation Term="OData.LongDescription" String="The value of this property shall the PCIe device function number within a given PCIe device."/>
</Property>
<Property Name="FunctionType" Type="PCIeFunction.v1_0_0.FunctionType" Nullable="false">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
<Annotation Term="OData.Description" String="The type of the PCIe Function."/>
<Annotation Term="OData.LongDescription" String="The value of this property shall be the function type of the PCIe device function such as Physical or Virtual."/>
</Property>
<Property Name="DeviceClass" Type="PCIeFunction.v1_0_0.DeviceClass" Nullable="false">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
<Annotation Term="OData.Description" String="The class for this PCIe Function."/>
<Annotation Term="OData.LongDescription" String="The value of this property shall be the device class of the PCIe device function such as Storage, Network, Memory etc."/>
</Property>
<Property Name="DeviceId" Type="Edm.String">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
<Annotation Term="OData.Description" String="The Device ID of this PCIe function."/>
<Annotation Term="OData.LongDescription" String="The value of this property shall be the PCI Device ID of the PCIe device function."/>
<Annotation Term="Validation.Pattern" String="^0[xX](([a-fA-F]|[0-9]){2}){2}$"/>
</Property>
<Property Name="VendorId" Type="Edm.String">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
<Annotation Term="OData.Description" String="The Vendor ID of this PCIe function."/>
<Annotation Term="OData.LongDescription" String="The value of this property shall be the PCI Vendor ID of the PCIe device function."/>
<Annotation Term="Validation.Pattern" String="^0[xX](([a-fA-F]|[0-9]){2}){2}$"/>
</Property>
<Property Name="ClassCode" Type="Edm.String">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
<Annotation Term="OData.Description" String="The Class Code of this PCIe function."/>
<Annotation Term="OData.LongDescription" String="The value of this property shall be the PCI Class Code of the PCIe device function."/>
<Annotation Term="Validation.Pattern" String="^0[xX](([a-fA-F]|[0-9]){2}){3}$"/>
</Property>
<Property Name="RevisionId" Type="Edm.String">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
<Annotation Term="OData.Description" String="The Revision ID of this PCIe function."/>
<Annotation Term="OData.LongDescription" String="The value of this property shall be the PCI Revision ID of the PCIe device function."/>
<Annotation Term="Validation.Pattern" String="^0[xX](([a-fA-F]|[0-9]){2}){1}$"/>
</Property>
<Property Name="SubsystemId" Type="Edm.String">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
<Annotation Term="OData.Description" String="The Subsystem ID of this PCIe function."/>
<Annotation Term="OData.LongDescription" String="The value of this property shall be the PCI Subsystem ID of the PCIe device function."/>
<Annotation Term="Validation.Pattern" String="^0[xX](([a-fA-F]|[0-9]){2}){2}$"/>
</Property>
<Property Name="SubsystemVendorId" Type="Edm.String">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
<Annotation Term="OData.Description" String="The Subsystem Vendor ID of this PCIe function."/>
<Annotation Term="OData.LongDescription" String="The value of this property shall be the PCI Subsystem Vendor ID of the PCIe device function."/>
<Annotation Term="Validation.Pattern" String="^0[xX](([a-fA-F]|[0-9]){2}){2}$"/>
</Property>
</ComplexType>
</Schema>
</edmx:DataServices>
</edmx:Edmx>
<?xml version="1.0" encoding="UTF-8"?>
<!---->
<!--################################################################################ -->
<!--# Copyright 2017-2019 christmann informationstechnik + medien GmbH & Co. KG -->
<!--################################################################################ -->
<!---->
<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://redfish.dmtf.org/schemas/v1/PCIeFunction_v1.xml">
<edmx:Include Namespace="PCIeFunction.v1_0_0"/>
</edmx:Reference>
<edmx:DataServices>
<Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PCIeFunctionParameter.v1_0_0">
<ComplexType Name="PCIeFunction">
<Annotation Term="OData.AdditionalProperties" Bool="false"/>
<Annotation Term="OData.Description" String="The definition of a custom PCIeFunction" />
<Property Name="Name" Type="Edm.String">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
<Annotation Term="OData.Description" String="The name of the PCIeFunction" />
</Property>
<Property Name="Description" Type="Edm.String">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
<Annotation Term="OData.Description" String="The description of the PCIeFunction" />
</Property>
<Property Name="FunctionId" Type="Edm.Int64">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
<Annotation Term="OData.Description" String="The the PCIe Function identifier."/>
<Annotation Term="OData.LongDescription" String="The value of this property shall the PCIe device function number within a given PCIe device."/>
</Property>
<Property Name="FunctionType" Type="PCIeFunction.v1_0_0.FunctionType" Nullable="false">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
<Annotation Term="OData.Description" String="The type of the PCIe Function."/>
<Annotation Term="OData.LongDescription" String="The value of this property shall be the function type of the PCIe device function such as Physical or Virtual."/>
</Property>
<Property Name="DeviceClass" Type="PCIeFunction.v1_0_0.DeviceClass" Nullable="false">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
<Annotation Term="OData.Description" String="The class for this PCIe Function."/>
<Annotation Term="OData.LongDescription" String="The value of this property shall be the device class of the PCIe device function such as Storage, Network, Memory etc."/>
</Property>
<Property Name="DeviceId" Type="Edm.String">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
<Annotation Term="OData.Description" String="The Device ID of this PCIe function."/>
<Annotation Term="OData.LongDescription" String="The value of this property shall be the PCI Device ID of the PCIe device function."/>
<Annotation Term="Validation.Pattern" String="^0[xX](([a-fA-F]|[0-9]){2}){2}$"/>
</Property>
<Property Name="VendorId" Type="Edm.String">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
<Annotation Term="OData.Description" String="The Vendor ID of this PCIe function."/>
<Annotation Term="OData.LongDescription" String="The value of this property shall be the PCI Vendor ID of the PCIe device function."/>
<Annotation Term="Validation.Pattern" String="^0[xX](([a-fA-F]|[0-9]){2}){2}$"/>
</Property>
<Property Name="ClassCode" Type="Edm.String">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
<Annotation Term="OData.Description" String="The Class Code of this PCIe function."/>
<Annotation Term="OData.LongDescription" String="The value of this property shall be the PCI Class Code of the PCIe device function."/>
<Annotation Term="Validation.Pattern" String="^0[xX](([a-fA-F]|[0-9]){2}){3}$"/>
</Property>
<Property Name="RevisionId" Type="Edm.String">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
<Annotation Term="OData.Description" String="The Revision ID of this PCIe function."/>
<Annotation Term="OData.LongDescription" String="The value of this property shall be the PCI Revision ID of the PCIe device function."/>
<Annotation Term="Validation.Pattern" String="^0[xX](([a-fA-F]|[0-9]){2}){1}$"/>
</Property>
<Property Name="SubsystemId" Type="Edm.String">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
<Annotation Term="OData.Description" String="The Subsystem ID of this PCIe function."/>
<Annotation Term="OData.LongDescription" String="The value of this property shall be the PCI Subsystem ID of the PCIe device function."/>
<Annotation Term="Validation.Pattern" String="^0[xX](([a-fA-F]|[0-9]){2}){2}$"/>
</Property>
<Property Name="SubsystemVendorId" Type="Edm.String">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
<Annotation Term="OData.Description" String="The Subsystem Vendor ID of this PCIe function."/>
<Annotation Term="OData.LongDescription" String="The value of this property shall be the PCI Subsystem Vendor ID of the PCIe device function."/>
<Annotation Term="Validation.Pattern" String="^0[xX](([a-fA-F]|[0-9]){2}){2}$"/>
</Property>
</ComplexType>
</Schema>
</edmx:DataServices>
</edmx:Edmx>
......@@ -235,14 +235,11 @@ HTTP/1.1 405 Method Not Allowed
<br />
</div>
<h3 id="delete">DELETE</h3>
<h4 id="request">Request</h4>
<div class="code">
DELETE /redfish/v1/PCIeDevices/PCIeDevice1/PCIeFunction1
This operation is not supported on this resource and will result in the following response:
<br />
<br />
</div>
<h4 id="response">Response</h4>
<div class="code">
HTTP/1.1 204 No Content
HTTP/1.1 405 Method Not Allowed
<br />
</div>
</div>
......
......@@ -75,7 +75,7 @@ table { border-collapse: collapse; }
<tr><td>@odata.id</td><td>string</td><td></td><td></td><td>read-only</td><td>The unique identifier for a resource.<br />Format: uri</td></tr>
<tr><td>@odata.type</td><td>string</td><td></td><td></td><td>read-only</td><td>The type of a resource.</td></tr>
<tr><td>Description</td><td>string</td><td>Yes</td><td></td><td>read-only</td><td>Provides a description of this resource and is used for commonality in the schema definitions.</td></tr>
<tr><td>Members [ {</td><td>array[reference(<a href="pciefunction.html#pciefunction">PCIeFunction</a>)]</td><td></td><td></td><td>read-write</td><td>Contains the members of this collection.</td></tr>
<tr><td>Members [ {</td><td>array[reference(<a href="pciefunction.html#pciefunction">PCIeFunction</a>)]</td><td></td><td></td><td>read-only</td><td>Contains the members of this collection.</td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;@odata.id</td><td>string</td><td></td><td></td><td>read-only</td><td>The unique identifier for a resource.<br />Format: uri</td></tr>
<tr><td>} ]</td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>Members@odata.count</td><td>number</td><td></td><td></td><td>read-only</td><td>The number of items in a collection.</td></tr>
......@@ -119,22 +119,11 @@ Content-Type: application/json
<br />
</div>
<h3 id="post">POST</h3>
<h4 id="request">Request</h4>
<div class="code">
POST /redfish/v1/ComposedNodes/ComposedNode1/ProvidedPorts/Port1/PCIeFunctions
<br />
Content-Type: application/json
<br />
{
This operation is not supported on this resource and will result in the following response:
<br />
}
<br />
</div>
<h4 id="response">Response</h4>
<div class="code">
HTTP/1.1 201 Created
<br />
Location: http://{IP}:{PORT}/redfish/v1/PCIeDevices/PCIeDevice1/PCIeFunction1
HTTP/1.1 405 Method Not Allowed
<br />
</div>
<h3 id="patch">PATCH</h3>
......
......@@ -234,14 +234,11 @@ HTTP/1.1 405 Method Not Allowed
<br />
</div>
<h3 id="delete">DELETE</h3>
<h4 id="request">Request</h4>
<div class="code">
DELETE /redfish/v1/ComposedNodes/ComposedNode1/ProvidedPorts/Port1
This operation is not supported on this resource and will result in the following response:
<br />
<br />
</div>
<h4 id="response">Response</h4>
<div class="code">
HTTP/1.1 204 No Content
HTTP/1.1 405 Method Not Allowed
<br />
</div>
</div>
......
......@@ -76,7 +76,7 @@ A Collection of Port resource instances.
<tr><td>@odata.id</td><td>string</td><td></td><td></td><td>read-only</td><td>The unique identifier for a resource.<br />Format: uri</td></tr>
<tr><td>@odata.type</td><td>string</td><td></td><td></td><td>read-only</td><td>The type of a resource.</td></tr>
<tr><td>Description</td><td>string</td><td>Yes</td><td></td><td>read-only</td><td>Provides a description of this resource and is used for commonality in the schema definitions.</td></tr>
<tr><td>Members [ {</td><td>array[reference(<a href="port.html#port">Port</a>)]</td><td></td><td></td><td>read-write</td><td>Contains the members of this collection.</td></tr>
<tr><td>Members [ {</td><td>array[reference(<a href="port.html#port">Port</a>)]</td><td></td><td></td><td>read-only</td><td>Contains the members of this collection.</td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;@odata.id</td><td>string</td><td></td><td></td><td>read-only</td><td>The unique identifier for a resource.<br />Format: uri</td></tr>
<tr><td>} ]</td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>Members@odata.count</td><td>number</td><td></td><td></td><td>read-only</td><td>The number of items in a collection.</td></tr>
......@@ -120,22 +120,11 @@ Content-Type: application/json
<br />
</div>
<h3 id="post">POST</h3>
<h4 id="request">Request</h4>
<div class="code">
POST /redfish/v1/ComposedNodes/ComposedNode1/ProvidedPorts
<br />
Content-Type: application/json
<br />
{
This operation is not supported on this resource and will result in the following response:
<br />
}
<br />
</div>
<h4 id="response">Response</h4>
<div class="code">
HTTP/1.1 201 Created
<br />
Location: http://{IP}:{PORT}/redfish/v1/ComposedNodes/ComposedNode1/ProvidedPorts/Port1
HTTP/1.1 405 Method Not Allowed
<br />
</div>
<h3 id="patch">PATCH</h3>
......
......@@ -22,9 +22,15 @@
"#ComposedNode.Assemble": {
"$ref": "#/definitions/Assemble"
},
"#ComposedNode.ExposePort": {
"$ref": "#/definitions/ExposePort"
},
"#ComposedNode.Reject": {
"$ref": "#/definitions/Reject"
},
"#ComposedNode.RemovePort": {
"$ref": "#/definitions/RemovePort"
},
"#ComposedNode.Reset": {
"$ref": "#/definitions/Reset"
},
......@@ -224,6 +230,60 @@
},
"type": "string"
},
"ExposePort": {
"additionalProperties": false,
"description": "This action is used to expose a port of a composed node.",
"parameters": {
"Description": {
"description": "The description of the Port",
"type": "string"
},
"HSLLInterface": {
"$ref": "HSLLInterface_v1.xml/HSLLInterface.json#/definitions/HSLLInterface",
"description": "The URI of a HSLLInterface resource, on which the Port is exposed."
},
"Name": {
"description": "The name of the Port",
"type": "string"
},
"PCIeFunctions": {
"description": "An array of PCIeFunctions, provided by this port.",
"items": {
"$ref": "PCIeFunctionParameter_v1.xml/PCIeFunctionParameter.v1_0_0.json#/definitions/PCIeFunction"
},
"type": "array"
},
"Width": {
"description": "The number of (usable) lanes that this port contains.",
"type": "number"
}
},
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"description": "This property shall specify a valid odata or Redfish property.",
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
]
}
},
"properties": {
"target": {
"description": "Link to invoke action",
"format": "uri",
"type": "string"
},
"title": {
"description": "Friendly action name",
"type": "string"
}
},
"type": "object"
},
"Links": {
"additionalProperties": false,
"patternProperties": {
......@@ -296,6 +356,41 @@
},
"type": "object"
},
"RemovePort": {
"additionalProperties": false,
"description": "This action is used to expose a port of a composed node.",
"parameters": {
"Port": {
"$ref": "http://redfish.dmtf.org/schemas/v1/Port.json#/definitions/Port",
"description": "The URI of the Port resource to remove."
}
},
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"description": "This property shall specify a valid odata or Redfish property.",
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
]
}
},
"properties": {
"target": {
"description": "Link to invoke action",
"format": "uri",
"type": "string"
},
"title": {
"description": "Friendly action name",
"type": "string"
}
},
"type": "object"
},
"Reset": {
"additionalProperties": false,
"description": "This action is used to reset all systems within this ComposedNode.",
......
......@@ -22,9 +22,15 @@
"#ComposedNode.Assemble": {
"$ref": "#/definitions/Assemble"
},
"#ComposedNode.ExposePort": {
"$ref": "#/definitions/ExposePort"
},
"#ComposedNode.Reject": {
"$ref": "#/definitions/Reject"
},
"#ComposedNode.RemovePort": {
"$ref": "#/definitions/RemovePort"
},
"#ComposedNode.Reset": {
"$ref": "#/definitions/Reset"
},
......@@ -224,6 +230,60 @@
},
"type": "string"
},
"ExposePort": {
"additionalProperties": false,
"description": "This action is used to expose a port of a composed node.",
"parameters": {
"Description": {
"description": "The description of the Port",
"type": "string"
},
"HSLLInterface": {
"$ref": "HSLLInterface_v1.xml/HSLLInterface.json#/definitions/HSLLInterface",
"description": "The URI of a HSLLInterface resource, on which the Port is exposed."
},
"Name": {
"description": "The name of the Port",
"type": "string"
},
"PCIeFunctions": {
"description": "An array of PCIeFunctions, provided by this port.",
"items": {
"$ref": "PCIeFunctionParameter_v1.xml/PCIeFunctionParameter.v1_0_0.json#/definitions/PCIeFunction"
},
"type": "array"
},
"Width": {
"description": "The number of (usable) lanes that this port contains.",
"type": "number"
}
},
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"description": "This property shall specify a valid odata or Redfish property.",
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
]
}
},
"properties": {
"target": {
"description": "Link to invoke action",
"format": "uri",
"type": "string"
},
"title": {
"description": "Friendly action name",
"type": "string"
}
},
"type": "object"
},
"Links": {
"additionalProperties": false,
"patternProperties": {
......@@ -296,6 +356,41 @@
},
"type": "object"
},
"RemovePort": {
"additionalProperties": false,
"description": "This action is used to expose a port of a composed node.",
"parameters": {
"Port": {
"$ref": "http://redfish.dmtf.org/schemas/v1/Port.json#/definitions/Port",
"description": "The URI of the Port resource to remove."
}
},
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"description": "This property shall specify a valid odata or Redfish property.",
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
]
}
},
"properties": {
"target": {
"description": "Link to invoke action",
"format": "uri",
"type": "string"
},
"title": {
"description": "Friendly action name",
"type": "string"
}
},
"type": "object"
},
"Reset": {
"additionalProperties": false,
"description": "This action is used to reset all systems within this ComposedNode.",
......
{
"$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
"copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
"definitions": {
"PCIeFunction": {
"additionalProperties": false,
"description": "The definition of a custom PCIeFunction",
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"description": "This property shall specify a valid odata or Redfish property.",
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
]
}
},
"properties": {
"ClassCode": {
"description": "The Class Code of this PCIe function.",
"longDescription": "The value of this property shall be the PCI Class Code of the PCIe device function.",
"pattern": "^0[xX](([a-fA-F]|[0-9]){2}){3}$",
"readonly": false,
"type": [
"string",
"null"
]
},
"Description": {
"description": "The description of the PCIeFunction",
"readonly": false,
"type": [
"string",
"null"
]
},
"DeviceClass": {
"$ref": "http://redfish.dmtf.org/schemas/v1/PCIeFunction.v1_0_0.json#/definitions/DeviceClass",
"description": "The class for this PCIe Function.",
"longDescription": "The value of this property shall be the device class of the PCIe device function such as Storage, Network, Memory etc.",
"readonly": false
},
"DeviceId": {
"description": "The Device ID of this PCIe function.",
"longDescription": "The value of this property shall be the PCI Device ID of the PCIe device function.",
"pattern": "^0[xX](([a-fA-F]|[0-9]){2}){2}$",
"readonly": false,
"type": [
"string",
"null"
]
},
"FunctionId": {