{
    "$id": "http://redfish.dmtf.org/schemas/v1/Schedule.v1_2_1.json",
    "$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",
    "definitions": {
        "DayOfWeek": {
            "description": "Days of the week.",
            "enum": [
                "Monday",
                "Tuesday",
                "Wednesday",
                "Thursday",
                "Friday",
                "Saturday",
                "Sunday",
                "Every"
            ],
            "enumDescriptions": {
                "Every": "Every day of the week.",
                "Friday": "Friday.",
                "Monday": "Monday.",
                "Saturday": "Saturday.",
                "Sunday": "Sunday.",
                "Thursday": "Thursday.",
                "Tuesday": "Tuesday.",
                "Wednesday": "Wednesday."
            },
            "enumLongDescriptions": {
                "Every": "This value indicates that every day of the week has been selected.  When used in array properties, such as for enabling a function on certain days, it shall be the only member in the array."
            },
            "longDescription": "Days of the week.",
            "type": "string"
        },
        "MonthOfYear": {
            "description": "Months of the year.",
            "enum": [
                "January",
                "February",
                "March",
                "April",
                "May",
                "June",
                "July",
                "August",
                "September",
                "October",
                "November",
                "December",
                "Every"
            ],
            "enumDescriptions": {
                "April": "April.",
                "August": "August.",
                "December": "December.",
                "Every": "Every month of the year.",
                "February": "February.",
                "January": "January.",
                "July": "July.",
                "June": "June.",
                "March": "March.",
                "May": "May.",
                "November": "November.",
                "October": "October.",
                "September": "September."
            },
            "enumLongDescriptions": {
                "Every": "This value indicates that every month of the year has been selected.  When used in array properties, such as for enabling a function for certain months, it shall be the only member in the array."
            },
            "longDescription": "Months of the year.",
            "type": "string"
        },
        "Schedule": {
            "additionalProperties": false,
            "description": "Schedule a series of occurrences.",
            "longDescription": "The properties of this type shall schedule a series of occurrences.",
            "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": {
                "EnabledDaysOfMonth": {
                    "description": "Days of the month when scheduled occurrences are enabled.  `0` indicates that every day of the month is enabled.",
                    "items": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "longDescription": "This property shall contain the days of the month when scheduled occurrences are enabled, for enabled days of week and months of year.  If the array contains a single value of `0`, or if the property is not present, all days of the month shall be enabled.",
                    "maximum": 31,
                    "minimum": 0,
                    "readonly": false,
                    "type": "array"
                },
                "EnabledDaysOfWeek": {
                    "description": "Days of the week when scheduled occurrences are enabled, for enabled days of the month and months of the year.  If not present, all days of the week are enabled.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/DayOfWeek"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "longDescription": "Days of the week when scheduled occurrences are enabled.  If not present, all days of the week shall be enabled.",
                    "readonly": false,
                    "type": "array"
                },
                "EnabledIntervals": {
                    "description": "Intervals when scheduled occurrences are enabled.",
                    "items": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "longDescription": "Each value shall be an ISO 8601 conformant interval specifying when occurences are enabled.",
                    "readonly": false,
                    "type": "array",
                    "versionAdded": "v1_1_0"
                },
                "EnabledMonthsOfYear": {
                    "description": "The months of the year when scheduled occurrences are enabled.  If not present, all months of the year are enabled.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/MonthOfYear"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "longDescription": "This property shall contain the months of the year when scheduled occurrences are enabled, for enabled days of week and days of month.  If not present, all months of the year shall be enabled.",
                    "readonly": false,
                    "type": "array"
                },
                "InitialStartTime": {
                    "description": "The date and time when the initial occurrence is scheduled to occur.",
                    "format": "date-time",
                    "longDescription": "This property shall contain the date and time when the initial occurrence is scheduled to occur.",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "Lifetime": {
                    "description": "The time after provisioning when the schedule as a whole expires.",
                    "longDescription": "This property shall contain a Redfish Duration that describes the time after provisioning when the schedule expires.",
                    "pattern": "-?P(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(.\\d+)?S)?)?",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "MaxOccurrences": {
                    "description": "The maximum number of scheduled occurrences.",
                    "longDescription": "This property shall contain the maximum number of scheduled occurrences.",
                    "readonly": false,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "Name": {
                    "description": "The schedule name.",
                    "longDescription": "The name of the schedule, which is constructed as OrgID:ScheduleName.  Examples include ACME:Daily, ACME:Weekly, and ACME:FirstTuesday.",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "RecurrenceInterval": {
                    "description": "The amount of time until the next occurrence occurs.",
                    "longDescription": "This property shall contain a Redfish Duration that describes the time until the next occurrence.",
                    "pattern": "-?P(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(.\\d+)?S)?)?",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "type": "object"
        }
    },
    "owningEntity": "DMTF",
    "release": "2018.2",
    "title": "#Schedule.v1_2_1"
}