Move to 2021.2

Update the script to point at 2021.2, change the path of the files since
they moved yet again, and run the script.

The directory structure moved back to the way they had it pre-2020.1:
https://github.com/openbmc/bmcweb/commit/a778c0261282b95e14ea3f4406959638b5edb040

Since we have an exclude list, this only brings in new versions of
schemas bmcweb already uses.

Overview of 2021.2:
https://www.dmtf.org/sites/default/files/Redfish_Release_2021.2_Overview.pdf

IBM plans to use Control (for PowerCapping) and IdlePowerSaver
immediately.

Tested: Validator passed after DMTF/Redfish-Service-Validator/pull/423
merged.
CI uses the latest Redfish-Service-Validator so not a problem for CI.
For manual users only a small window where an older validator would
fail. After the schemapack changes but before PR423.

See the new schemas.

Change-Id: I2fe539087167cf6d962c14bf31fa23861302646f
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
diff --git a/static/redfish/v1/JsonSchemas/Certificate/Certificate.json b/static/redfish/v1/JsonSchemas/Certificate/Certificate.json
index 675e331..a8dcf82 100644
--- a/static/redfish/v1/JsonSchemas/Certificate/Certificate.json
+++ b/static/redfish/v1/JsonSchemas/Certificate/Certificate.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/Certificate.v1_3_0.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/Certificate.v1_4_0.json",
     "$ref": "#/definitions/Certificate",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
@@ -95,6 +95,23 @@
                     "longDescription": "This property shall contain the format type for the certificate.",
                     "readonly": true
                 },
+                "CertificateUsageTypes": {
+                    "description": "The types or purposes for this certificate.",
+                    "items": {
+                        "anyOf": [
+                            {
+                                "$ref": "#/definitions/CertificateUsageType"
+                            },
+                            {
+                                "type": "null"
+                            }
+                        ]
+                    },
+                    "longDescription": "The value of this property shall contain an array describing the types or purposes for this certificate.",
+                    "readonly": true,
+                    "type": "array",
+                    "versionAdded": "v1_4_0"
+                },
                 "Description": {
                     "anyOf": [
                         {
@@ -146,6 +163,12 @@
                     "readonly": true,
                     "type": "array"
                 },
+                "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.",
+                    "versionAdded": "v1_4_0"
+                },
                 "Name": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
                     "readonly": true
@@ -213,6 +236,25 @@
             ],
             "type": "object"
         },
+        "CertificateUsageType": {
+            "enum": [
+                "User",
+                "Web",
+                "SSH",
+                "Device",
+                "Platform",
+                "BIOS"
+            ],
+            "enumDescriptions": {
+                "BIOS": "This certificate is a BIOS certificate like those associated with UEFI.",
+                "Device": "This certificate is a device type certificate like those associated with SPDM and other standards.",
+                "Platform": "This certificate is a platform type certificate like those associated with SPDM and other standards.",
+                "SSH": "This certificate is used for SSH.",
+                "User": "This certificate is a user certificate like those associated with a manager account.",
+                "Web": "This certificate is a web or HTTPS certificate like those used for event destinations."
+            },
+            "type": "string"
+        },
         "Identifier": {
             "additionalProperties": false,
             "description": "The identifier information about a certificate.",
@@ -280,6 +322,60 @@
             },
             "type": "object"
         },
+        "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.",
+            "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": {
+                "Issuer": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Certificate.json#/definitions/Certificate"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "A link to the certificate of the CA that issued this certificate.",
+                    "longDescription": "This property shall contain a link to a resources of type Certificate that represents the certificate of the CA that issued this certificate.",
+                    "readonly": false,
+                    "versionAdded": "v1_4_0"
+                },
+                "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 contained in this object shall conform to the Redfish Specification-described requirements."
+                },
+                "Subjects": {
+                    "description": "An array of links to certificates that were issued by the CA that is represented by this certificate.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/Certificate.json#/definitions/Certificate"
+                    },
+                    "longDescription": "This property shall contain an array of links to resources of type Certificate that were issued by the CA that is represented by this certificate.",
+                    "readonly": false,
+                    "type": "array",
+                    "versionAdded": "v1_4_0"
+                },
+                "Subjects@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                }
+            },
+            "type": "object"
+        },
         "OemActions": {
             "additionalProperties": true,
             "description": "The available OEM-specific actions for this resource.",
@@ -482,6 +578,6 @@
         }
     },
     "owningEntity": "DMTF",
-    "release": "2021.1",
-    "title": "#Certificate.v1_3_0.Certificate"
+    "release": "2021.2",
+    "title": "#Certificate.v1_4_0.Certificate"
 }
\ No newline at end of file