Update schema pack to 2022.3

Update scripts/update_schemas.py to point at 2022.3 and run.

Schema pack 2022.3 is the latest Redfish release, released 01/23/2023.
It contains several new schemas and support for Multi-factor
Authentication and CXL support along other things.

Update done by automation.

Tested: Redfish service validator passes.

Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I55a64d7cda26572e7b75135acc324cb44d316fe6
diff --git a/static/redfish/v1/JsonSchemas/PCIeFunction/PCIeFunction.json b/static/redfish/v1/JsonSchemas/PCIeFunction/PCIeFunction.json
index 6f70214..9a9a7a8 100644
--- a/static/redfish/v1/JsonSchemas/PCIeFunction/PCIeFunction.json
+++ b/static/redfish/v1/JsonSchemas/PCIeFunction/PCIeFunction.json
@@ -1,13 +1,13 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/PCIeFunction.v1_4_0.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/PCIeFunction.v1_5_0.json",
     "$ref": "#/definitions/PCIeFunction",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2022 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.",
+            "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.",
@@ -25,8 +25,8 @@
             "properties": {
                 "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.",
+                    "description": "The available OEM-specific actions for this resource.",
+                    "longDescription": "This property shall contain the available OEM-specific actions for this resource.",
                     "versionAdded": "v1_1_0"
                 }
             },
@@ -73,7 +73,7 @@
                 "MultimediaController": "A multimedia controller.",
                 "NetworkController": "A network controller.",
                 "NonEssentialInstrumentation": "A non-essential instrumentation.",
-                "Other": "A other class.  The function Device Class Id needs to be verified.",
+                "Other": "Other class.  The function Class Code needs to be verified.",
                 "ProcessingAccelerators": "A processing accelerators.",
                 "Processor": "A processor.",
                 "SatelliteCommunicationsController": "A satellite communications controller.",
@@ -85,6 +85,17 @@
             },
             "type": "string"
         },
+        "FunctionProtocol": {
+            "enum": [
+                "PCIe",
+                "CXL"
+            ],
+            "enumDescriptions": {
+                "CXL": "A PCIe function supporting CXL extensions.",
+                "PCIe": "A standard PCIe function."
+            },
+            "type": "string"
+        },
         "FunctionType": {
             "enum": [
                 "Physical",
@@ -98,8 +109,8 @@
         },
         "Links": {
             "additionalProperties": false,
-            "description": "The links to other Resources that are related to this Resource.",
-            "longDescription": "This Redfish Specification-described type shall contain links to Resources that are related to but are not contained by or subordinate to this Resource.",
+            "description": "The links to other resources that are related to this resource.",
+            "longDescription": "This Redfish Specification-described type shall contain links to resources that are related to but are not contained by, or subordinate to, 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.",
@@ -115,12 +126,26 @@
                 }
             },
             "properties": {
+                "CXLLogicalDevice": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/CXLLogicalDevice.json#/definitions/CXLLogicalDevice"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The link to the CXL logical device to which this function is assigned.",
+                    "longDescription": "This property shall contain a link to a resource of type CXLLogicalDevice that represents the CXL logical device to which this PCIe function is assigned.",
+                    "readonly": true,
+                    "versionAdded": "v1_5_0"
+                },
                 "Drives": {
-                    "description": "An array of links to the drives that the PCIe device produces.",
+                    "description": "An array of links to the drives that this PCIe function produces.",
                     "items": {
                         "$ref": "http://redfish.dmtf.org/schemas/v1/Drive.json#/definitions/Drive"
                     },
-                    "longDescription": "This property shall link to a Resource of type Drive that represents the storage drives associated with this Resource.",
+                    "longDescription": "This property shall contain an arrays of links to resources of type Drive that represent the drives associated with this PCIe function.",
                     "readonly": true,
                     "type": "array"
                 },
@@ -128,23 +153,36 @@
                     "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                 },
                 "EthernetInterfaces": {
-                    "description": "An array of links to the Ethernet interfaces that the PCIe device produces.",
+                    "description": "An array of links to the Ethernet interfaces that this PCIe function produces.",
                     "items": {
                         "$ref": "http://redfish.dmtf.org/schemas/v1/EthernetInterface.json#/definitions/EthernetInterface"
                     },
-                    "longDescription": "This property shall link to a Resource of type EthernetInterface that represents the network interfaces associated with this Resource.",
+                    "longDescription": "This property shall contain an arrays of links to resources of type EthernetInterface that represent the network interfaces associated with this PCIe function.",
                     "readonly": true,
                     "type": "array"
                 },
                 "EthernetInterfaces@odata.count": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                 },
+                "MemoryDomains": {
+                    "description": "An array of links to the memory domains that the PCIe function produces.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/MemoryDomain.json#/definitions/MemoryDomain"
+                    },
+                    "longDescription": "This property shall contain an array of links to resources of type MemoryDomain that represents the memory domains associated with this PCIe function.",
+                    "readonly": true,
+                    "type": "array",
+                    "versionAdded": "v1_5_0"
+                },
+                "MemoryDomains@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
                 "NetworkDeviceFunctions": {
-                    "description": "An array of links to the network device functions that the PCIe device produces.",
+                    "description": "An array of links to the network device functions that the PCIe function produces.",
                     "items": {
                         "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunction.json#/definitions/NetworkDeviceFunction"
                     },
-                    "longDescription": "This property shall contain an array of links to Resources of the NetworkDeviceFunction type that represents the network device functions associated with this Resource.",
+                    "longDescription": "This property shall contain an array of links to resources of type NetworkDeviceFunction that represents the network device functions associated with this PCIe function.",
                     "readonly": true,
                     "type": "array",
                     "versionAdded": "v1_2_0"
@@ -160,7 +198,7 @@
                 "PCIeDevice": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeDevice.json#/definitions/PCIeDevice",
                     "description": "The link to the PCIe device on which this function resides.",
-                    "longDescription": "This property shall contain a link to a Resource of type PCIeDevice of which this function is a part.",
+                    "longDescription": "This property shall contain a link to a resource of type PCIeDevice that represents the PCIe devices on which this function resides.",
                     "readonly": true
                 },
                 "Processor": {
@@ -172,17 +210,17 @@
                             "type": "null"
                         }
                     ],
-                    "description": "The link to a processor that is hosted on this PCIe device function.",
-                    "longDescription": "This property shall link to a resource of type Processor that is hosted on this PCIe device function.",
+                    "description": "The link to a processor that is hosted on this PCIe function.",
+                    "longDescription": "This property shall link to a resource of type Processor that represents the processor that is hosted on this PCIe function.",
                     "readonly": true,
                     "versionAdded": "v1_4_0"
                 },
                 "StorageControllers": {
-                    "description": "An array of links to the storage controllers that the PCIe device produces.",
+                    "description": "An array of links to the storage controllers that this PCIe function produces.",
                     "items": {
                         "$ref": "http://redfish.dmtf.org/schemas/v1/Storage.json#/definitions/StorageController"
                     },
-                    "longDescription": "This property shall link to a Resource of type StorageController that represents the storage controllers associated with this Resource.",
+                    "longDescription": "This property shall contain an arrays of links to referenceable members of type StorageController that represent the storage controllers associated with this PCIe function.",
                     "readonly": true,
                     "type": "array"
                 },
@@ -194,8 +232,8 @@
         },
         "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.",
+            "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.",
@@ -215,8 +253,8 @@
         },
         "PCIeFunction": {
             "additionalProperties": false,
-            "description": "The schema definition for the PCIeFunction Resource.  It represents the properties of a PCIeFunction attached to a System.",
-            "longDescription": "This Resource shall represent a PCIeFunction attached to a System.",
+            "description": "The PCIeFunction schema describes the properties of a PCIe function that is attached to a system.",
+            "longDescription": "This resource shall represent a PCIe function in 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.",
@@ -246,14 +284,14 @@
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
-                    "description": "The available actions for this Resource.",
-                    "longDescription": "This property shall contain the available actions for this Resource.",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "This property shall contain the available actions for this resource.",
                     "versionAdded": "v1_1_0"
                 },
                 "ClassCode": {
                     "description": "The Class Code of this PCIe function.",
-                    "longDescription": "This property shall contain the PCI Class Code of the PCIe device function.",
-                    "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){3}$",
+                    "longDescription": "This property shall contain the PCI Class Code, Subclass, and Programming Interface of the PCIe device function in the order listed.",
+                    "pattern": "^0[xX]([0-9A-Fa-f]{2}){3}$",
                     "readonly": true,
                     "type": [
                         "string",
@@ -279,8 +317,8 @@
                 },
                 "DeviceId": {
                     "description": "The Device ID of this PCIe function.",
-                    "longDescription": "This property shall contain the PCI Device ID of the PCIe device function.",
-                    "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){2}$",
+                    "longDescription": "This property shall contain the PCI Device ID of the PCIe device function with the most significant byte shown first.",
+                    "pattern": "^0[xX]([0-9A-Fa-f]{2}){2}$",
                     "readonly": true,
                     "type": [
                         "string",
@@ -295,18 +333,32 @@
                     "versionAdded": "v1_3_0"
                 },
                 "FunctionId": {
-                    "description": "The PCIe Function Number.",
-                    "longDescription": "This property shall contain the PCIe Function Number within a given PCIe device.",
+                    "description": "The PCIe function number.",
+                    "longDescription": "This property shall contain the PCIe function number within a given PCIe device.",
                     "readonly": true,
                     "type": [
                         "integer",
                         "null"
                     ]
                 },
+                "FunctionProtocol": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/FunctionProtocol"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The PCIe function protocol.",
+                    "longDescription": "This property shall contain the protocol supported by this PCIe function.",
+                    "readonly": true,
+                    "versionAdded": "v1_5_0"
+                },
                 "FunctionType": {
                     "$ref": "#/definitions/FunctionType",
                     "description": "The type of the PCIe function.",
-                    "longDescription": "This property shall contain the function type of the PCIe device function such as Physical or Virtual.",
+                    "longDescription": "This property shall contain the function type of the PCIe device function such as physical or virtual.",
                     "readonly": true
                 },
                 "Id": {
@@ -315,8 +367,8 @@
                 },
                 "Links": {
                     "$ref": "#/definitions/Links",
-                    "description": "The links to other Resources that are related to this Resource.",
-                    "longDescription": "This property shall contain links to Resources that are related to but are not contained by, or subordinate to, this Resource."
+                    "description": "The links to other resources that are related to this resource.",
+                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."
                 },
                 "Name": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
@@ -330,7 +382,7 @@
                 "RevisionId": {
                     "description": "The Revision ID of this PCIe function.",
                     "longDescription": "This property shall contain the PCI Revision ID of the PCIe device function.",
-                    "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){1}$",
+                    "pattern": "^0[xX]([0-9A-Fa-f]{2}){1}$",
                     "readonly": true,
                     "type": [
                         "string",
@@ -339,13 +391,13 @@
                 },
                 "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."
+                    "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."
                 },
                 "SubsystemId": {
                     "description": "The Subsystem ID of this PCIe function.",
-                    "longDescription": "This property shall contain the PCI Subsystem ID of the PCIe device function.",
-                    "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){2}$",
+                    "longDescription": "This property shall contain the PCI Subsystem ID of the PCIe device function with the most significant byte shown first.",
+                    "pattern": "^0[xX]([0-9A-Fa-f]{2}){2}$",
                     "readonly": true,
                     "type": [
                         "string",
@@ -354,8 +406,8 @@
                 },
                 "SubsystemVendorId": {
                     "description": "The Subsystem Vendor ID of this PCIe function.",
-                    "longDescription": "This property shall contain the PCI Subsystem Vendor ID of the PCIe device function.",
-                    "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){2}$",
+                    "longDescription": "This property shall contain the PCI Subsystem Vendor ID of the PCIe device function with the most significant byte shown first.",
+                    "pattern": "^0[xX]([0-9A-Fa-f]{2}){2}$",
                     "readonly": true,
                     "type": [
                         "string",
@@ -364,8 +416,8 @@
                 },
                 "VendorId": {
                     "description": "The Vendor ID of this PCIe function.",
-                    "longDescription": "This property shall contain the PCI Vendor ID of the PCIe device function.",
-                    "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){2}$",
+                    "longDescription": "This property shall contain the PCI Vendor ID of the PCIe device function with the most significant byte shown first.",
+                    "pattern": "^0[xX]([0-9A-Fa-f]{2}){2}$",
                     "readonly": true,
                     "type": [
                         "string",
@@ -383,6 +435,6 @@
         }
     },
     "owningEntity": "DMTF",
-    "release": "2022.2",
-    "title": "#PCIeFunction.v1_4_0.PCIeFunction"
+    "release": "2022.3",
+    "title": "#PCIeFunction.v1_5_0.PCIeFunction"
 }
\ No newline at end of file