xref: /openbmc/bmcweb/redfish-core/schema/oem/openbmc/json-schema/OpenBMCAccountService.v1_0_0.json (revision d1eeb7917313a778a2eed4b2fe5aa51075597ee7)
1{
2    "$id": "https://github.com/openbmc/bmcweb/tree/master/redfish-core/schema/oem/openbmc/json-schema/OpenBMCAccountService.v1_0_0.json",
3    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
4    "copyright": "Copyright 2024 OpenBMC.",
5    "definitions": {
6        "AccountService": {
7            "additionalProperties": false,
8            "description": "OpenBMC OEM Extension for AccountService.",
9            "longDescription": "OpenBMC OEM Extension for AccountService providing info about authentication methods.",
10            "patternProperties": {
11                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
12                    "description": "This property shall specify a valid odata or Redfish property.",
13                    "type": [
14                        "array",
15                        "boolean",
16                        "integer",
17                        "number",
18                        "null",
19                        "object",
20                        "string"
21                    ]
22                }
23            },
24            "properties": {
25                "AuthMethods": {
26                    "anyOf": [
27                        {
28                            "$ref": "#/definitions/AuthMethodsConfig"
29                        },
30                        {
31                            "type": "null"
32                        }
33                    ],
34                    "description": "Authorization Methods configuration.",
35                    "longDescription": "Configuration describing which auth methods are enabled."
36                }
37            },
38            "type": "object"
39        },
40        "AuthMethodsConfig": {
41            "additionalProperties": false,
42            "description": "Authorization Methods configuration.",
43            "longDescription": "Configuration describing which auth methods are enabled.",
44            "patternProperties": {
45                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
46                    "description": "This property shall specify a valid odata or Redfish property.",
47                    "type": [
48                        "array",
49                        "boolean",
50                        "integer",
51                        "number",
52                        "null",
53                        "object",
54                        "string"
55                    ]
56                }
57            },
58            "properties": {
59                "BasicAuth": {
60                    "description": "Indicates whether BasicAuth authorization is enabled.",
61                    "longDescription": "The value of this property shall be a boolean indicating whether BasicAuth authorization is enabled.",
62                    "readonly": false,
63                    "type": ["boolean", "null"]
64                },
65                "Cookie": {
66                    "description": "Indicates whether Cookie authorization is enabled.",
67                    "longDescription": "The value of this property shall be a boolean indicating whether Cookie authorization is enabled.",
68                    "readonly": false,
69                    "type": ["boolean", "null"]
70                },
71                "SessionToken": {
72                    "description": "Indicates whether SessionToken authorization is enabled.",
73                    "longDescription": "The value of this property shall be a boolean indicating whether SessionToken authorization is enabled.",
74                    "readonly": false,
75                    "type": ["boolean", "null"]
76                },
77                "TLS": {
78                    "description": "Indicates whether TLS authorization is enabled.",
79                    "longDescription": "The value of this property shall be a boolean indicating whether TLS authorization is enabled.",
80                    "readonly": false,
81                    "type": ["boolean", "null"]
82                },
83                "XToken": {
84                    "description": "Indicates whether XToken authorization is enabled.",
85                    "longDescription": "The value of this property shall be a boolean indicating whether XToken authorization is enabled.",
86                    "readonly": false,
87                    "type": ["boolean", "null"]
88                }
89            },
90            "type": "object"
91        }
92    },
93    "owningEntity": "OpenBMC",
94    "title": "#OpenBMCAccountService.v1_0_0"
95}
96