{
    "$id": "http://redfish.dmtf.org/schemas/v1/ActionInfo.v1_3_1.json",
    "$ref": "#/definitions/ActionInfo",
    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
    "copyright": "Copyright 2014-2023 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
    "definitions": {
        "ActionInfo": {
            "additionalProperties": false,
            "description": "The ActionInfo schema defines the supported parameters and other information for a Redfish action.  Supported parameters can differ among vendors and even among resource instances.  This data can ensure that action requests from applications contain supported parameters.",
            "longDescription": "This resource shall represent the supported parameters and other information for a Redfish action on a target within a Redfish implementation.  Supported parameters can differ among vendors and even among resource instances.  This data can ensure that action requests from applications contain supported parameters.",
            "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"
                },
                "Description": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "readonly": true
                },
                "Id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                    "readonly": true
                },
                "Name": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
                    "readonly": true
                },
                "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."
                },
                "Parameters": {
                    "description": "The list of parameters included in the specified Redfish action.",
                    "items": {
                        "$ref": "#/definitions/Parameters"
                    },
                    "longDescription": "This property shall list the parameters included in the specified Redfish action for this resource.",
                    "type": "array"
                }
            },
            "required": [
                "@odata.id",
                "@odata.type",
                "Id",
                "Name"
            ],
            "type": "object"
        },
        "ParameterTypes": {
            "enum": [
                "Boolean",
                "Number",
                "NumberArray",
                "String",
                "StringArray",
                "Object",
                "ObjectArray"
            ],
            "enumDescriptions": {
                "Boolean": "A boolean.",
                "Number": "A number.",
                "NumberArray": "An array of numbers.",
                "Object": "An embedded JSON object.",
                "ObjectArray": "An array of JSON objects.",
                "String": "A string.",
                "StringArray": "An array of strings."
            },
            "type": "string"
        },
        "Parameters": {
            "additionalProperties": false,
            "description": "The information about a parameter included in a Redfish action for this resource.",
            "longDescription": "This property shall contain information about a parameter included in a Redfish action 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": {
                "AllowableNumbers": {
                    "description": "The allowable numeric values or duration values, inclusive ranges of values, and incremental step values for this parameter as applied to this action target.",
                    "items": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "longDescription": "This property shall indicate the allowable numeric values, inclusive ranges of values, and incremental step values for this parameter as applied to this action target, as defined in the 'Allowable values for numbers and durations' clause of the Redfish Specification.  For arrays, this property shall represent the allowable values for each array member.  This property shall only be present for numeric parameters or string parameters that specify a duration.",
                    "readonly": true,
                    "type": "array",
                    "versionAdded": "v1_3_0"
                },
                "AllowablePattern": {
                    "description": "The allowable pattern for this parameter as applied to this action target.",
                    "longDescription": "This property shall contain a regular expression that describes the allowable values for this parameter as applied to this action target.  For arrays, this property shall represent the allowable values for each array member.  This property shall only be present for string parameters.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ],
                    "versionAdded": "v1_3_0"
                },
                "AllowableValues": {
                    "description": "The allowable values for this parameter as applied to this action target.",
                    "items": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "longDescription": "This property shall indicate the allowable values for this parameter as applied to this action target.  For arrays, this property shall represent the allowable values for each array member.",
                    "readonly": true,
                    "type": "array"
                },
                "ArraySizeMaximum": {
                    "description": "The maximum number of array elements allowed for this parameter.",
                    "longDescription": "This property shall contain the maximum number of array elements that this service supports for this parameter.  This property shall not be present for non-array parameters.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "versionAdded": "v1_2_0"
                },
                "ArraySizeMinimum": {
                    "description": "The minimum number of array elements required for this parameter.",
                    "longDescription": "This property shall contain the minimum number of array elements required by this service for this parameter.  This property shall not be present for non-array parameters.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "versionAdded": "v1_2_0"
                },
                "DataType": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/ParameterTypes"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The JSON property type for this parameter.",
                    "longDescription": "This property shall contain the JSON property type for this parameter.",
                    "readonly": true
                },
                "MaximumValue": {
                    "description": "The maximum supported value for this parameter.",
                    "longDescription": "This integer or number property shall contain the maximum value that this service supports.  For arrays, this property shall represent the maximum value for each array member.  This property shall not be present for non-integer or number parameters.",
                    "readonly": true,
                    "type": [
                        "number",
                        "null"
                    ],
                    "versionAdded": "v1_1_0"
                },
                "MinimumValue": {
                    "description": "The minimum supported value for this parameter.",
                    "longDescription": "This integer or number property shall contain the minimum value that this service supports.  For arrays, this property shall represent the minimum value for each array member.  This property shall not be present for non-integer or number parameters.",
                    "readonly": true,
                    "type": [
                        "number",
                        "null"
                    ],
                    "versionAdded": "v1_1_0"
                },
                "Name": {
                    "description": "The name of the parameter for this action.",
                    "longDescription": "This property shall contain the name of the parameter included in a Redfish action.",
                    "readonly": true,
                    "type": "string"
                },
                "ObjectDataType": {
                    "description": "The data type of an object-based parameter.",
                    "longDescription": "This property shall describe the entity type definition in `@odata.type` format for the parameter.  This property shall be required for parameters with a data type of `Object` or `ObjectArray`, and shall not be present for parameters with other data types.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "Required": {
                    "description": "An indication of whether the parameter is required to complete this action.",
                    "longDescription": "This property shall indicate whether the parameter is required to complete this action.",
                    "readonly": true,
                    "type": "boolean"
                }
            },
            "required": [
                "Name"
            ],
            "type": "object"
        }
    },
    "owningEntity": "DMTF",
    "release": "2022.2",
    "title": "#ActionInfo.v1_3_1.ActionInfo"
}