Move to 2020.1

Make changes to update_schemas.py needed for the move and run
update_schemas.py.

Need 1.3.6 or later version of Redfish-Service-Validator.
CI uses the master branch of Redfish-Service-Validator, which has
this fix.

Redfish-Service-Validators before 1.3.6 will incorrectly throw errors in
message registries like (Task Event Message Registry)
/redfish/v1/Registries/TaskEvent/TaskEvent and (Base Message Registry)
/redfish/v1/Registries/Base/Base.

For more information:
https://redfishforum.com/thread/323/validator-errors-when-moving-release

This does introduce some "warnDeprecated" due to "Severity" becoming
Deprecated in MessageRegistry v1_4_0. Since all bmcweb Registries are
<v1_4_0, not a real problem. Redfish has no Base Message Registry and
Task Event Message Registry available to move to something that
uses MessageRegistry v1_4_0. Will take up with Redfish.

2020.1 includes new features like AutoRebot (Boot -> AutomaticRetry),
factory reset (ResetToDefaults action), and Modified Event Log property
which are in OpenBMC's D-Bus interfaces today.

Tested: Built bmcweb, loaded on a Witherspoon, and ran
        the validator. Validator passed.

See new schemas:
curl -k https://${bmc}/redfish/v1/JsonSchemas/SecureBootDatabase
{
    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
    "@odata.id": "/redfish/v1/JsonSchemas/SecureBootDatabase",
    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
    "Name": "SecureBootDatabase Schema File",

Change-Id: If30fcc50276aea44d8a77ed547ee0cbd72e4cf1a
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
diff --git a/static/redfish/v1/JsonSchemas/ManagerAccount/ManagerAccount.json b/static/redfish/v1/JsonSchemas/ManagerAccount/ManagerAccount.json
index f958f40..b714c00 100644
--- a/static/redfish/v1/JsonSchemas/ManagerAccount/ManagerAccount.json
+++ b/static/redfish/v1/JsonSchemas/ManagerAccount/ManagerAccount.json
@@ -1,8 +1,8 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/ManagerAccount.v1_5_0.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/ManagerAccount.v1_6_0.json",
     "$ref": "#/definitions/ManagerAccount",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
-    "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "copyright": "Copyright 2014-2020 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "AccountTypes": {
             "enum": [
@@ -212,6 +212,17 @@
                     ],
                     "versionAdded": "v1_3_0"
                 },
+                "PasswordExpiration": {
+                    "description": "Indicates the date and time when this account password expires.  If `null`, the account password never expires.",
+                    "format": "date-time",
+                    "longDescription": "This property shall contain the date and time when this account password expires.  If the value is `null`, the account password never expires.",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ],
+                    "versionAdded": "v1_6_0"
+                },
                 "RoleId": {
                     "description": "The Role for this account.",
                     "longDescription": "This property shall contain the RoleId of the Role Resource configured for this account.  The Service shall reject POST, PATCH, or PUT operations that provide a RoleId that does not exist by returning the HTTP 400 (Bad Request) status code.",
@@ -304,7 +315,7 @@
             },
             "enumLongDescriptions": {
                 "CBC_DES": "This value shall indicate encryption conforms to the RFC3414-defined CBC-DES encryption protocol.",
-                "CFB128_AES128": "This value shall indicate encryption conforms to the RFC3414-defined CFB128-AES-128 encryption protocol.",
+                "CFB128_AES128": "This value shall indicate encryption conforms to the RFC3826-defined CFB128-AES-128 encryption protocol.",
                 "None": "This value shall indicate there is no encryption."
             },
             "type": "string"
@@ -330,8 +341,8 @@
             "properties": {
                 "AuthenticationKey": {
                     "description": "The secret authentication key for SNMPv3.",
-                    "longDescription": "This property shall contain the key for SNMPv3 authentication.  The value shall be `null` in responses.",
-                    "pattern": "(^[A-Za-z0-9]+$)|(^\\*+$)",
+                    "longDescription": "This property shall contain the key for SNMPv3 authentication.  The value shall be `null` in responses.  This property accepts a passphrase or a hex-encoded key.  If the string starts with `Passphrase:`, the remainder of the string shall be the passphrase and shall be converted to the key as described in the 'Password to Key Algorithm' section of RFC3414.  If the string starts with `Hex:`, then the remainder of the string shall be the key encoded in hexadecimal notation.  If the string starts with neither, the full string shall be a passphrase and shall be converted to the key as described in the 'Password to Key Algorithm' section of RFC3414.  The passphrase may contain any printable characters except for the double quotation mark.",
+                    "pattern": "(^[ !#-~]+$)|(^Passphrase:[ ^[ !#-~]+$)|(^Hex:[0-9A-Fa-f]{24})|(^\\*+$)",
                     "readonly": false,
                     "type": [
                         "string",
@@ -362,8 +373,8 @@
                 },
                 "EncryptionKey": {
                     "description": "The secret authentication key used in SNMPv3.",
-                    "longDescription": "This property shall contain the key for SNMPv3 encryption.  The value shall be `null` in responses.",
-                    "pattern": "(^[A-Za-z0-9]+$)|(^\\*+$)",
+                    "longDescription": "This property shall contain the key for SNMPv3 encryption.  The value shall be `null` in responses.  This property accepts a passphrase or a hex-encoded key.  If the string starts with `Passphrase:`, the remainder of the string shall be the passphrase and shall be converted to the key as described in the 'Password to Key Algorithm' section of RFC3414.  If the string starts with `Hex:`, then the remainder of the string shall be the key encoded in hexadecimal notation.  If the string starts with neither, the full string shall be a passphrase and shall be converted to the key as described in the 'Password to Key Algorithm' section of RFC3414.  The passphrase may contain any printable characters except for the double quotation mark.",
+                    "pattern": "(^[ !#-~]+$)|(^Passphrase:[ ^[ !#-~]+$)|(^Hex:[0-9A-Fa-f]{32})|(^\\*+$)",
                     "readonly": false,
                     "type": [
                         "string",
@@ -397,6 +408,6 @@
         }
     },
     "owningEntity": "DMTF",
-    "release": "2019.4",
-    "title": "#ManagerAccount.v1_5_0.ManagerAccount"
+    "release": "2020.1",
+    "title": "#ManagerAccount.v1_6_0.ManagerAccount"
 }
\ No newline at end of file