Update Redfish Schema to 2018.1

Change-Id: I4e5d5d49b4524c8a4d73ae0117fcf7e9aedfbb79
diff --git a/static/redfish/v1/schema/PCIeFunction_v1.xml b/static/redfish/v1/schema/PCIeFunction_v1.xml
new file mode 100644
index 0000000..9de78e0
--- /dev/null
+++ b/static/redfish/v1/schema/PCIeFunction_v1.xml
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!---->

+<!--################################################################################       -->

+<!--# Redfish Schema:  PCIeFunction  v1.2.0-->

+<!--#                                                                                      -->

+<!--# For a detailed change log, see the README file contained in the DSP8010 bundle,      -->

+<!--# available at http://www.dmtf.org/standards/redfish                                   -->

+<!--# Copyright 2014-2018 Distributed Management Task Force, Inc. (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://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml">

+    <edmx:Include Namespace="Validation.v1_0_0" Alias="Validation"/>

+  </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/RedfishExtensions_v1.xml">

+    <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>

+  </edmx:Reference>

+  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/EthernetInterface_v1.xml">

+    <edmx:Include Namespace="EthernetInterface"/>

+  </edmx:Reference>

+  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/PCIeDevice_v1.xml">

+    <edmx:Include Namespace="PCIeDevice"/>

+  </edmx:Reference>

+  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Drive_v1.xml">

+    <edmx:Include Namespace="Drive"/>

+  </edmx:Reference>

+  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Storage_v1.xml">

+    <edmx:Include Namespace="Storage"/>

+  </edmx:Reference>

+    <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunction_v1.xml">

+    <edmx:Include Namespace="NetworkDeviceFunction"/>

+  </edmx:Reference>

+

+  <edmx:DataServices>

+    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PCIeFunction">

+      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>

+

+      <EntityType Name="PCIeFunction" BaseType="Resource.v1_0_0.Resource" Abstract="true">

+        <Annotation Term="OData.Description" String="This is the schema definition for the PCIeFunction resource.  It represents the properties of a PCIeFunction attached to a System."/>

+        <Annotation Term="OData.AdditionalProperties" Bool="false"/>

+      </EntityType>

+

+    </Schema>

+

+    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PCIeFunction.v1_0_0">

+      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>

+      <EntityType Name="PCIeFunction" BaseType="PCIeFunction.PCIeFunction">

+        <Annotation Term="OData.Description" String="This is the schema definition for the PCIeFunction resource.  It represents the properties of a PCIeFunction attached to a System."/>

+        <Annotation Term="OData.AdditionalProperties" Bool="false"/>

+

+        <Property Name="FunctionId" Type="Edm.Int64">

+          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>

+          <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/Read"/>

+          <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/Read"/>

+          <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/Read"/>

+          <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/Read"/>

+          <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/Read"/>

+          <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/Read"/>

+          <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/Read"/>

+          <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/Read"/>

+          <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>

+

+        <Property Name="Status" Type="Resource.Status"/>

+

+        <Property Name="Links" Type="PCIeFunction.v1_0_0.Links" Nullable="false">

+          <Annotation Term="OData.Description" String="The links object contains the links to other resources that are related to this resource."/>

+        </Property>

+      </EntityType>

+

+      <ComplexType Name="Links" BaseType="Resource.Links">

+        <Annotation Term="OData.Description" String="Contains references to other resources that are related to this resource."/>

+        <Annotation Term="OData.LongDescription" String="This type, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource."/>

+        <NavigationProperty Name="EthernetInterfaces" Type="Collection(EthernetInterface.EthernetInterface)">

+          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>

+          <Annotation Term="OData.Description" String="An array of references to the ethernet interfaces which the PCIe device produces."/>

+          <Annotation Term="OData.LongDescription" String="The value of this property shall reference a resource of type EthernetInterface that represents the network interfaces associated with this resource."/>

+          <Annotation Term="OData.AutoExpandReferences"/>

+        </NavigationProperty>

+        <NavigationProperty Name="Drives" Type="Collection(Drive.Drive)">

+          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>

+          <Annotation Term="OData.Description" String="An array of references to the drives which the PCIe device produces."/>

+          <Annotation Term="OData.LongDescription" String="The value of this property shall reference a resource of type Drive that represents the storage drives associated with this resource."/>

+          <Annotation Term="OData.AutoExpandReferences"/>

+        </NavigationProperty>

+        <NavigationProperty Name="StorageControllers" Type="Collection(Storage.StorageController)">

+          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>

+          <Annotation Term="OData.Description" String="An array of references to the storage controllers which the PCIe device produces."/>

+          <Annotation Term="OData.LongDescription" String="The value of this property shall reference a resource of type StorageController that represents the storage controllers associated with this resource."/>

+          <Annotation Term="OData.AutoExpandReferences"/>

+        </NavigationProperty>

+        <NavigationProperty Name="PCIeDevice" Type="PCIeDevice.PCIeDevice">

+          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>

+          <Annotation Term="OData.Description" String="A reference to the PCIeDevice on which this function resides."/>

+          <Annotation Term="OData.LongDescription" String="The value of this property shall be a reference to the resource that this function is a part of and shall reference a resource of type PCIeDevice."/>

+          <Annotation Term="OData.AutoExpandReferences"/>

+        </NavigationProperty>

+      </ComplexType>

+

+      <EnumType Name="DeviceClass">

+        <Member Name="UnclassifiedDevice">

+          <Annotation Term="OData.Description" String="An unclassified device."/>

+        </Member>

+        <Member Name="MassStorageController">

+          <Annotation Term="OData.Description" String="A mass storage controller."/>

+        </Member>

+        <Member Name="NetworkController">

+          <Annotation Term="OData.Description" String="A network controller."/>

+        </Member>

+        <Member Name="DisplayController">

+          <Annotation Term="OData.Description" String="A display controller."/>

+        </Member>

+        <Member Name="MultimediaController">

+          <Annotation Term="OData.Description" String="A multimedia controller."/>

+        </Member>

+        <Member Name="MemoryController">

+          <Annotation Term="OData.Description" String="A memory controller."/>

+        </Member>

+        <Member Name="Bridge">

+          <Annotation Term="OData.Description" String="A bridge."/>

+        </Member>

+        <Member Name="CommunicationController">

+          <Annotation Term="OData.Description" String="A communication controller."/>

+        </Member>

+        <Member Name="GenericSystemPeripheral">

+          <Annotation Term="OData.Description" String="A generic system peripheral."/>

+        </Member>

+        <Member Name="InputDeviceController">

+          <Annotation Term="OData.Description" String="An input device controller."/>

+        </Member>

+        <Member Name="DockingStation">

+          <Annotation Term="OData.Description" String="A docking station."/>

+        </Member>

+        <Member Name="Processor">

+          <Annotation Term="OData.Description" String="A processor."/>

+        </Member>

+        <Member Name="SerialBusController">

+          <Annotation Term="OData.Description" String="A serial bus controller."/>

+        </Member>

+        <Member Name="WirelessController">

+          <Annotation Term="OData.Description" String="A wireless controller."/>

+        </Member>

+        <Member Name="IntelligentController">

+          <Annotation Term="OData.Description" String="An intelligent controller."/>

+        </Member>

+        <Member Name="SatelliteCommunicationsController">

+          <Annotation Term="OData.Description" String="A satellite communications controller."/>

+        </Member>

+        <Member Name="EncryptionController">

+          <Annotation Term="OData.Description" String="An encryption controller."/>

+        </Member>

+        <Member Name="SignalProcessingController">

+          <Annotation Term="OData.Description" String="A signal processing controller."/>

+        </Member>

+        <Member Name="ProcessingAccelerators">

+          <Annotation Term="OData.Description" String="A processing accelerators."/>

+        </Member>

+        <Member Name="NonEssentialInstrumentation">

+          <Annotation Term="OData.Description" String="A non-essential instrumentation."/>

+        </Member>

+        <Member Name="Coprocessor">

+          <Annotation Term="OData.Description" String="A coprocessor."/>

+        </Member>

+        <Member Name="UnassignedClass">

+          <Annotation Term="OData.Description" String="An unassigned class."/>

+        </Member>

+        <Member Name="Other">

+          <Annotation Term="OData.Description" String="A other class. The function Device Class Id needs to be verified."/>

+        </Member>

+      </EnumType>

+

+      <EnumType Name="FunctionType">

+        <Member Name="Physical">

+          <Annotation Term="OData.Description" String="A physical PCie function."/>

+        </Member>

+        <Member Name="Virtual">

+          <Annotation Term="OData.Description" String="A virtual PCIe function."/>

+        </Member>

+      </EnumType>

+      

+    </Schema>

+

+    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PCIeFunction.v1_0_1">

+      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>

+      <Annotation Term="OData.Description" String="This version was created to show annotations in previous namespaces were updated."/>

+      <EntityType Name="PCIeFunction" BaseType="PCIeFunction.v1_0_0.PCIeFunction"/>

+    </Schema>

+

+    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PCIeFunction.v1_0_2">

+      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>

+      <Annotation Term="OData.Description" String="This version was created to show annotations in previous namespaces were updated."/>

+      <EntityType Name="PCIeFunction" BaseType="PCIeFunction.v1_0_1.PCIeFunction"/>

+    </Schema>

+

+    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PCIeFunction.v1_0_3">

+      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>

+      <Annotation Term="OData.Description" String="This version was created to change references to StorageController to be its abstract base type."/>

+      <EntityType Name="PCIeFunction" BaseType="PCIeFunction.v1_0_2.PCIeFunction"/>

+    </Schema>

+

+    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PCIeFunction.v1_1_0">

+      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>

+      <EntityType Name="PCIeFunction" BaseType="PCIeFunction.v1_0_2.PCIeFunction">

+        <Property Name="Actions" Type="PCIeFunction.v1_1_0.Actions" Nullable="false">

+          <Annotation Term="OData.Description" String="The available actions for this resource."/>

+          <Annotation Term="OData.LongDescription" String="The Actions 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="PCIeFunction.v1_1_0.OemActions" Nullable="false"/>

+      </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 any additional OEM actions for this resource."/>

+      </ComplexType>

+    </Schema>

+

+    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PCIeFunction.v1_1_1">

+      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>

+      <Annotation Term="OData.Description" String="This version was created to change references to StorageController to be its abstract base type."/>

+      <EntityType Name="PCIeFunction" BaseType="PCIeFunction.v1_1_0.PCIeFunction"/>

+    </Schema>

+

+    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PCIeFunction.v1_2_0">

+      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>

+      <Annotation Term="OData.Description" String="This version was created to add NetworkDeviceFunctions to the Links section."/>

+      <EntityType Name="PCIeFunction" BaseType="PCIeFunction.v1_1_1.PCIeFunction"/>

+      <ComplexType Name="Links" BaseType="PCIeFunction.v1_0_0.Links">

+        <Annotation Term="OData.Description" String="Contains references to other resources that are related to this resource."/>

+        <Annotation Term="OData.LongDescription" String="This type, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource."/>

+        <NavigationProperty Name="NetworkDeviceFunctions" Type="Collection(NetworkDeviceFunction.NetworkDeviceFunction)">

+          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>

+          <Annotation Term="OData.Description" String="An array of references to the Network Device Functions which the PCIe device produces."/>

+          <Annotation Term="OData.LongDescription" String="The value of this property shall be an array of references to resources of type NetworkDeviceFunction that represents the network device functions associated with this resource."/>

+          <Annotation Term="OData.AutoExpandReferences"/>

+        </NavigationProperty>

+      </ComplexType>      

+    </Schema>    

+

+  </edmx:DataServices>

+</edmx:Edmx>