{
    "$id": "http://redfish.dmtf.org/schemas/v1/ManagerAccount.v1_5_10.json",
    "$ref": "#/definitions/ManagerAccount",
    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
    "copyright": "Copyright 2014-2026 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.",
            "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": {
                "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.",
                    "versionAdded": "v1_1_0"
                }
            },
            "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": {
                "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."
                },
                "Role": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Role.json#/definitions/Role",
                    "description": "The link to the Redfish role that defines the privileges for this account.",
                    "longDescription": "This property shall contain a link to a resource of type `Role`, and should link to the resource identified by the `RoleId` property.",
                    "readonly": true
                }
            },
            "type": "object"
        },
        "ManagerAccount": {
            "additionalProperties": false,
            "description": "The `ManagerAccount` schema defines the user accounts that are owned by a manager.  Changes to a manager account might affect the current Redfish service connection if this manager is responsible for the Redfish service.",
            "longDescription": "This resource shall represent a user account for the manager in a Redfish implementation.  The account shall indicate the allowed access to one of more services in the manager.",
            "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": {
                "@odata.context": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
                },
                "@odata.etag": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
                },
                "@odata.id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
                },
                "@odata.type": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
                },
                "AccountTypes": {
                    "description": "The list of services in the manager that the account is allowed to access.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "http://redfish.dmtf.org/schemas/v1/ManagerAccount.json#/definitions/AccountTypes"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "longDescription": "This property shall contain an array of the various manager services that the account is allowed to access.  This shall not include functionality for receiving events or other notifications.  If this property is not provided by the client, the default value shall be an array that contains the value `Redfish`.  The service may add additional values when this property is set or updated if allowed by the value of the `StrictAccountTypes` property.",
                    "readonly": false,
                    "type": "array",
                    "versionAdded": "v1_4_0"
                },
                "Actions": {
                    "$ref": "#/definitions/Actions",
                    "description": "The available actions for this resource.",
                    "longDescription": "This property shall contain the available actions for this resource.",
                    "versionAdded": "v1_1_0"
                },
                "Certificates": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/CertificateCollection.json#/definitions/CertificateCollection",
                    "description": "The link to a collection of user identity certificates for this account.",
                    "longDescription": "This property shall contain a link to a resource collection of type `CertificateCollection` that represents the user identity certificates for this account.",
                    "readonly": true,
                    "versionAdded": "v1_2_0"
                },
                "Description": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "readonly": true
                },
                "Enabled": {
                    "description": "An indication of whether an account is enabled.  An administrator can disable it without deleting the user information.  If `true`, the account is enabled and the user can log in.  If `false`, the account is disabled and, in the future, the user cannot log in.",
                    "longDescription": "This property shall indicate whether an account is enabled.  If `true`, the account is enabled and the user can log in.  If `false`, the account is disabled and, in the future, the user cannot log in.  If this property is modified to `false`, any currently open sessions for this account should be automatically closed by the service.",
                    "readonly": false,
                    "type": "boolean"
                },
                "Id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                    "readonly": true
                },
                "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."
                },
                "Locked": {
                    "description": "An indication of whether the account service automatically locked the account because the lockout threshold was exceeded.  To manually unlock the account before the lockout duration period, an administrator can change the property to `false` to clear the lockout condition.",
                    "longDescription": "This property shall indicate whether the account service automatically locked the account because the `AccountLockoutThreshold` was exceeded.  To manually unlock the account before the lockout duration period, an administrator shall be able to change the property to `false` to clear the lockout condition.  If this property is modified to `true`, any currently open sessions for this account should be automatically closed by the service.",
                    "readonly": false,
                    "type": "boolean"
                },
                "Name": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
                    "readonly": true
                },
                "OEMAccountTypes": {
                    "description": "The OEM account types.",
                    "items": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "longDescription": "This property shall contain an array of the OEM account types for this account.  This property shall be valid when `AccountTypes` contains `OEM`.",
                    "readonly": false,
                    "type": "array",
                    "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 that this object contains shall conform to the Redfish Specification-described requirements."
                },
                "Password": {
                    "description": "The password.  Use this property with a `PATCH` or `PUT` to write the password for the account.  This property is `null` in responses.",
                    "longDescription": "This property shall contain the password for this account.  The value shall be `null` in responses.",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ],
                    "writeOnly": true
                },
                "PasswordChangeRequired": {
                    "description": "An indication of whether the service requires that the password for this account be changed before further access to the account is allowed.",
                    "longDescription": "This property shall indicate whether the service requires that the password for this account be changed before further access to the account is allowed.  The implementation may deny access to the service if the password has not been changed.  A manager account created with an initial `PasswordChangeRequired` value of `true` may force a password change before first access of the account.  When the `Password` property for this account is updated, the service shall set this property to `false`.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ],
                    "versionAdded": "v1_3_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.",
                    "readonly": false,
                    "type": "string"
                },
                "SNMP": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/SNMPUserInfo"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The SNMP settings for this account.",
                    "longDescription": "This property shall contain the SNMP settings for this account when `AccountTypes` contains `SNMP`.",
                    "versionAdded": "v1_4_0"
                },
                "UserName": {
                    "description": "The username for the account.",
                    "longDescription": "This property shall contain the username for this account.",
                    "readonly": false,
                    "type": "string"
                }
            },
            "required": [
                "@odata.id",
                "@odata.type",
                "Id",
                "Name",
                "AccountTypes"
            ],
            "requiredOnCreate": [
                "Password",
                "UserName",
                "RoleId"
            ],
            "type": "object"
        },
        "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.",
            "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": {},
            "type": "object"
        },
        "SNMPAuthenticationProtocols": {
            "enum": [
                "None",
                "HMAC_MD5",
                "HMAC_SHA96"
            ],
            "enumDescriptions": {
                "HMAC_MD5": "HMAC-MD5-96 authentication.",
                "HMAC_SHA96": "HMAC-SHA-96 authentication.",
                "None": "No authentication."
            },
            "enumLongDescriptions": {
                "HMAC_MD5": "This value shall indicate authentication conforms to the RFC3414-defined HMAC-MD5-96 authentication protocol.",
                "HMAC_SHA96": "This value shall indicate authentication conforms to the RFC3414-defined HMAC-SHA-96 authentication protocol.",
                "None": "This value shall indicate authentication is not required."
            },
            "type": "string"
        },
        "SNMPEncryptionProtocols": {
            "enum": [
                "None",
                "CBC_DES",
                "CFB128_AES128"
            ],
            "enumDescriptions": {
                "CBC_DES": "CBC-DES encryption.",
                "CFB128_AES128": "CFB128-AES-128 encryption.",
                "None": "No encryption."
            },
            "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 RFC3826-defined CFB128-AES-128 encryption protocol.",
                "None": "This value shall indicate there is no encryption."
            },
            "type": "string"
        },
        "SNMPUserInfo": {
            "additionalProperties": false,
            "description": "The SNMP settings for an account.",
            "longDescription": "This object shall contain the SNMP settings for an account.",
            "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": {
                "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.  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.",
                    "pattern": "(^[ -~]+$)|(^Passphrase:[ -~]+$)|(^Hex:[0-9A-Fa-f]{24,96})|(^\\*+$)",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ],
                    "versionAdded": "v1_4_0",
                    "writeOnly": true
                },
                "AuthenticationKeySet": {
                    "description": "Indicates if the `AuthenticationKey` property is set.",
                    "longDescription": "This property shall contain `true` if a valid value was provided for the `AuthenticationKey` property.  Otherwise, the property shall contain `false`.",
                    "readonly": true,
                    "type": "boolean",
                    "versionAdded": "v1_5_0"
                },
                "AuthenticationProtocol": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/SNMPAuthenticationProtocols"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The authentication protocol for SNMPv3.",
                    "longDescription": "This property shall contain the SNMPv3 authentication protocol.",
                    "readonly": false,
                    "versionAdded": "v1_4_0"
                },
                "EncryptionKey": {
                    "description": "The secret encryption key used in SNMPv3.",
                    "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.",
                    "pattern": "(^[ -~]+$)|(^Passphrase:[ -~]+$)|(^Hex:[0-9A-Fa-f]{16,64}$)|(^\\*+$)",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ],
                    "versionAdded": "v1_4_0",
                    "writeOnly": true
                },
                "EncryptionKeySet": {
                    "description": "Indicates if the `EncryptionKey` property is set.",
                    "longDescription": "This property shall contain `true` if a valid value was provided for the `EncryptionKey` property.  Otherwise, the property shall contain `false`.",
                    "readonly": true,
                    "type": "boolean",
                    "versionAdded": "v1_5_0"
                },
                "EncryptionProtocol": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/SNMPEncryptionProtocols"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The encryption protocol for SNMPv3.",
                    "longDescription": "This property shall contain the SNMPv3 encryption protocol.",
                    "readonly": false,
                    "versionAdded": "v1_4_0"
                }
            },
            "type": "object"
        }
    },
    "language": "en",
    "owningEntity": "DMTF",
    "release": "2019.4",
    "title": "#ManagerAccount.v1_5_10.ManagerAccount"
}