{
    "$ref": "#/definitions/ActionInfo",
    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
    "definitions": {
        "ActionInfo": {
            "additionalProperties": false,
            "description": "The ActionInfo schema describes the parameters and other information necessary to perform a Redfish Action on a particular Action target. Parameter support can differ between vendors and even between instances of a resource. This data can be used to ensure Action requests from applications contain supported parameters.",
            "longDescription": "This resource shall be used to represent information about the supported parameters for an Action within a Redfish implementation.",
            "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_0_3.json#/definitions/context"
                },
                "@odata.etag": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                },
                "@odata.id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                },
                "@odata.type": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.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": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
                    "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
                },
                "Parameters": {
                    "description": "The parameters associated with the specified Redfish Action.",
                    "items": {
                        "$ref": "#/definitions/Parameters"
                    },
                    "longDescription": "This property shall contain a list of parameters associated with a Redfish Action associated with 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 (true or false).",
                "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": "A parameter associated with the specified Redfish Action.",
            "longDescription": "This property shall contain information about a specific parameter associated with a Redfish Action associated with 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": {
                "AllowableValues": {
                    "description": "A list of values for this parameter supported by this Action target.",
                    "items": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "longDescription": "This property shall indicate the allowable values for this parameter as applied to this Action target.",
                    "readonly": true,
                    "type": "array"
                },
                "DataType": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/ParameterTypes"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The JSON property type used for this parameter.",
                    "longDescription": "This property shall indicate the JSON property type of the parameter.",
                    "readonly": true
                },
                "MaximumValue": {
                    "description": "The maximum supported value of this parameter.",
                    "longDescription": "This property shall indicate the maximum value of an integer or number type parameter supported by this service. This property shall not be present for parameters that are of types other than integer or number.",
                    "readonly": true,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "MinimumValue": {
                    "description": "The minimum supported value for this parameter.",
                    "longDescription": "This property shall indicate the minimum value of an integer or number type parameter supported by this service. This property shall not be present for parameters that are of types other than integer or number.",
                    "readonly": true,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "Name": {
                    "description": "The name of the parameter for this Action.",
                    "longDescription": "This property shall contain the name of the parameter used by the associated Redfish Action.",
                    "readonly": true,
                    "type": "string"
                },
                "ObjectDataType": {
                    "description": "The OData 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 DataType of Object or ObjectArray, and shall not be present for parameters with other DataType(s).",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "Required": {
                    "description": "Indicates whether the parameter is required to perform this Action.",
                    "longDescription": "This property shall return true if the parameter is required to be present to perform the associated Action, and shall be false if the parameter is not required (optional) to perform the associated Action.",
                    "readonly": true,
                    "type": "boolean"
                }
            },
            "required": [
                "Name"
            ],
            "type": "object"
        }
    },
    "owningEntity": "DMTF",
    "title": "#ActionInfo.v1_1_0.ActionInfo"
}