summaryrefslogtreecommitdiffstats
path: root/Schemas/CIM228/DMTF/Policy/CIM_PolicyTimePeriodCondition.mof
diff options
context:
space:
mode:
Diffstat (limited to 'Schemas/CIM228/DMTF/Policy/CIM_PolicyTimePeriodCondition.mof')
-rw-r--r--Schemas/CIM228/DMTF/Policy/CIM_PolicyTimePeriodCondition.mof285
1 files changed, 285 insertions, 0 deletions
diff --git a/Schemas/CIM228/DMTF/Policy/CIM_PolicyTimePeriodCondition.mof b/Schemas/CIM228/DMTF/Policy/CIM_PolicyTimePeriodCondition.mof
new file mode 100644
index 0000000..86ebafb
--- /dev/null
+++ b/Schemas/CIM228/DMTF/Policy/CIM_PolicyTimePeriodCondition.mof
@@ -0,0 +1,285 @@
+// Copyright (c) 2005 DMTF. All rights reserved.
+ [Version ( "2.7.0" ),
+ UMLPackagePath ( "CIM::Policy" ),
+ Description (
+ "This class provides a means of representing the time periods "
+ "during which a PolicySet is valid, i.e., active. At all times "
+ "that fall outside these time periods, the PolicySet has no "
+ "effect. A PolicySet is treated as valid at ALL times, if it "
+ "does not specify a PolicyTimePeriodCondition. \n"
+ "\n"
+ "In some cases a Policy Consumer may need to perform certain "
+ "setup / cleanup actions when a PolicySet becomes active / "
+ "inactive. For example, sessions that were established while a "
+ "PolicySet was active might need to be taken down when the "
+ "PolicySet becomes inactive. In other cases, however, such "
+ "sessions might be left up. In this case, the effect of "
+ "deactivating the PolicySet would just be to prevent the "
+ "establishment of new sessions. \n"
+ "\n"
+ "Setup / cleanup behaviors on validity period transitions are "
+ "not currently addressed by the Policy Model, and must be "
+ "specified in \'guideline\' documents or via subclasses of "
+ "CIM_PolicySet, CIM_PolicyTimePeriod Condition or other "
+ "concrete subclasses of CIM_Policy. If such behaviors need to "
+ "be under the control of the policy administrator, then a "
+ "mechanism to allow this control must also be specified in the "
+ "subclasses. \n"
+ "\n"
+ "PolicyTimePeriodCondition is defined as a subclass of "
+ "PolicyCondition. This is to allow the inclusion of time-based "
+ "criteria in the AND/OR condition definitions for a PolicyRule. \n"
+ "\n"
+ "Instances of this class may have up to five properties "
+ "identifying time periods at different levels. The values of "
+ "all the properties present in an instance are ANDed together "
+ "to determine the validity period(s) for the instance. For "
+ "example, an instance with an overall validity range of January "
+ "1, 2000 through December 31, 2000; a month mask that selects "
+ "March and April; a day-of-the-week mask that selects Fridays; "
+ "and a time of day range of 0800 through 1600 would be "
+ "represented using the following time periods: \n"
+ "Friday, March 5, 2000, from 0800 through 1600; \n"
+ "Friday, March 12, 2000, from 0800 through 1600; \n"
+ "Friday, March 19, 2000, from 0800 through 1600; \n"
+ "Friday, March 26, 2000, from 0800 through 1600; \n"
+ "Friday, April 2, 2000, from 0800 through 1600; \n"
+ "Friday, April 9, 2000, from 0800 through 1600; \n"
+ "Friday, April 16, 2000, from 0800 through 1600; \n"
+ "Friday, April 23, 2000, from 0800 through 1600; \n"
+ "Friday, April 30, 2000, from 0800 through 1600. \n"
+ "\n"
+ "Properties not present in an instance of "
+ "PolicyTimePeriodCondition are implicitly treated as having "
+ "their value \'always enabled\'. Thus, in the example above, "
+ "the day-of-the-month mask is not present, and so the validity "
+ "period for the instance implicitly includes a day-of-the-month "
+ "mask that selects all days of the month. If this \'missing "
+ "property\' rule is applied to its fullest, we see that there "
+ "is a second way to indicate that a PolicySet is always "
+ "enabled: associate with it an instance of "
+ "PolicyTimePeriodCondition whose only properties with specific "
+ "values are its key properties." )]
+class CIM_PolicyTimePeriodCondition : CIM_PolicyCondition {
+
+ [Description (
+ "This property identifies an overall range of calendar "
+ "dates and times over which a PolicySet is valid. It is "
+ "formatted as a string representing a start date and "
+ "time, in which the character \'T\' indicates the "
+ "beginning of the time portion, followed by the solidus "
+ "character \'/\', followed by a similar string "
+ "representing an end date and time. The first date "
+ "indicates the beginning of the range, while the second "
+ "date indicates the end. Thus, the second date and time "
+ "must be later than the first. Date/times are expressed "
+ "as substrings of the form yyyymmddThhmmss. For example: \n"
+ "20000101T080000/20000131T120000 defines \n"
+ "January 1, 2000, 0800 through January 31, 2000, noon \n"
+ "\n"
+ "There are also two special cases in which one of the "
+ "date/time strings is replaced with a special string "
+ "defined in RFC 2445. \n"
+ "o If the first date/time is replaced with the string "
+ "\'THISANDPRIOR\', then the property indicates that a "
+ "PolicySet is valid [from now] until the date/time that "
+ "appears after the \'/\'. \n"
+ "o If the second date/time is replaced with the string "
+ "\'THISANDFUTURE\', then the property indicates that a "
+ "PolicySet becomes valid on the date/time that appears "
+ "before the \'/\', and remains valid from that point on." ),
+ ModelCorrespondence {
+ "CIM_PolicyTimePeriodCondition.MonthOfYearMask",
+ "CIM_PolicyTimePeriodCondition.DayOfMonthMask",
+ "CIM_PolicyTimePeriodCondition.DayOfWeekMask",
+ "CIM_PolicyTimePeriodCondition.TimeOfDayMask",
+ "CIM_PolicyTimePeriodCondition.LocalOrUtcTime" }]
+ string TimePeriod;
+
+ [Description (
+ "The purpose of this property is to refine the valid time "
+ "period that is defined by the TimePeriod property, by "
+ "explicitly specifying in which months the PolicySet is "
+ "valid. These properties work together, with the "
+ "TimePeriod used to specify the overall time period in "
+ "which the PolicySet is valid, and the MonthOfYearMask "
+ "used to pick out the months during which the PolicySet "
+ "is valid. \n"
+ "\n"
+ "This property is formatted as an octet string, "
+ "structured as follows: \n"
+ "o a 4-octet length field, indicating the length of the "
+ "entire octet string; this field is always set to "
+ "0x00000006 for this property; \n"
+ "o a 2-octet field consisting of 12 bits identifying the "
+ "12 months of the year, beginning with January and ending "
+ "with December, followed by 4 bits that are always set to "
+ "\'0\'. For each month, the value \'1\' indicates that "
+ "the policy is valid for that month, and the value \'0\' "
+ "indicates that it is not valid. \n"
+ "\n"
+ "The value 0x000000060830, for example, indicates that a "
+ "PolicySet is valid only in the months May, November, and "
+ "December. \n"
+ "\n"
+ "If a value for this property is not provided, then the "
+ "PolicySet is treated as valid for all twelve months, and "
+ "only restricted by its TimePeriod property value and the "
+ "other Mask properties." ),
+ OctetString, ModelCorrespondence {
+ "CIM_PolicyTimePeriodCondition.TimePeriod",
+ "CIM_PolicyTimePeriodCondition.LocalOrUtcTime" }]
+ uint8 MonthOfYearMask[];
+
+ [Description (
+ "The purpose of this property is to refine the valid time "
+ "period that is defined by the TimePeriod property, by "
+ "explicitly specifying in which days of the month the "
+ "PolicySet is valid. These properties work together, with "
+ "the TimePeriod used to specify the overall time period "
+ "in which the PolicySet is valid, and the DayOfMonthMask "
+ "used to pick out the days of the month during which the "
+ "PolicySet is valid. \n"
+ "\n"
+ "This property is formatted as an octet string, "
+ "structured as follows: \n"
+ "o a 4-octet length field, indicating the length of the "
+ "entire octet string; this field is always set to "
+ "0x0000000C for this property; \n"
+ "o an 8-octet field consisting of 31 bits identifying the "
+ "days of the month counting from the beginning, followed "
+ "by 31 more bits identifying the days of the month "
+ "counting from the end, followed by 2 bits that are "
+ "always set to \'0\'. For each day, the value \'1\' "
+ "indicates that the PolicySet is valid for that day, and "
+ "the value \'0\' indicates that it is not valid. \n"
+ "\n"
+ "The value 0x0000000C8000000100000000, for example, "
+ "indicates that a PolicySet is valid on the first and "
+ "last days of the month. \n"
+ "\n"
+ "For months with fewer than 31 days, the digits "
+ "corresponding to days that the months do not have "
+ "(counting in both directions) are ignored. \n"
+ "\n"
+ "If a value for this property is not provided, then the "
+ "PolicySet is treated as valid for all days of the month, "
+ "and only restricted by its TimePeriod property value and "
+ "the other Mask properties." ),
+ OctetString, ModelCorrespondence {
+ "CIM_PolicyTimePeriodCondition.TimePeriod",
+ "CIM_PolicyTimePeriodCondition.LocalOrUtcTime" }]
+ uint8 DayOfMonthMask[];
+
+ [Description (
+ "The purpose of this property is to refine the valid time "
+ "period that is defined by the TimePeriod property, by "
+ "explicitly specifying in which days of the week the "
+ "PolicySet is valid. These properties work together, with "
+ "the TimePeriod used to specify the overall time period "
+ "in which the PolicySet is valid, and the DayOfWeekMask "
+ "used to pick out the days of the week during which the "
+ "PolicySet is valid. \n"
+ "\n"
+ "This property is formatted as an octet string, "
+ "structured as follows: \n"
+ "o a 4-octet length field, indicating the length of the "
+ "entire octet string; this field is always set to "
+ "0x00000005 for this property; \n"
+ "o a 1-octet field consisting of 7 bits identifying the 7 "
+ "days of the week, beginning with Sunday and ending with "
+ "Saturday, followed by 1 bit that is always set to \'0\'. "
+ "For each day of the week, the value \'1\' indicates that "
+ "the PolicySet is valid for that day, and the value \'0\' "
+ "indicates that it is not valid. \n"
+ "\n"
+ "The value 0x000000057C, for example, indicates that a "
+ "PolicySet is valid Monday through Friday. \n"
+ "\n"
+ "If a value for this property is not provided, then the "
+ "PolicySet is treated as valid for all days of the week, "
+ "and only restricted by its TimePeriod property value and "
+ "the other Mask properties." ),
+ OctetString, ModelCorrespondence {
+ "CIM_PolicyTimePeriodCondition.TimePeriod",
+ "CIM_PolicyTimePeriodCondition.LocalOrUtcTime" }]
+ uint8 DayOfWeekMask[];
+
+ [Description (
+ "The purpose of this property is to refine the valid time "
+ "period that is defined by the TimePeriod property, by "
+ "explicitly specifying a range of times in a day during "
+ "which the PolicySet is valid. These properties work "
+ "together, with the TimePeriod used to specify the "
+ "overall time period in which the PolicySet is valid, and "
+ "the TimeOfDayMask used to pick out the range of time "
+ "periods in a given day of during which the PolicySet is "
+ "valid. \n"
+ "\n"
+ "This property is formatted in the style of RFC 2445: a "
+ "time string beginning with the character \'T\', followed "
+ "by the solidus character \'/\', followed by a second "
+ "time string. The first time indicates the beginning of "
+ "the range, while the second time indicates the end. "
+ "Times are expressed as substrings of the form \'Thhmmss\'. \n"
+ "\n"
+ "The second substring always identifies a later time than "
+ "the first substring. To allow for ranges that span "
+ "midnight, however, the value of the second string may be "
+ "smaller than the value of the first substring. Thus, "
+ "\'T080000/T210000\' identifies the range from 0800 until "
+ "2100, while \'T210000/T080000\' identifies the range "
+ "from 2100 until 0800 of the following day. \n"
+ "\n"
+ "When a range spans midnight, it by definition includes "
+ "parts of two successive days. When one of these days is "
+ "also selected by either the MonthOfYearMask, "
+ "DayOfMonthMask, and/or DayOfWeekMask, but the other day "
+ "is not, then the PolicySet is active only during the "
+ "portion of the range that falls on the selected day. For "
+ "example, if the range extends from 2100 until 0800, and "
+ "the day of week mask selects Monday and Tuesday, then "
+ "the PolicySet is active during the following three "
+ "intervals: \n"
+ "From midnight Sunday until 0800 Monday; \n"
+ "From 2100 Monday until 0800 Tuesday; \n"
+ "From 2100 Tuesday until 23:59:59 Tuesday. \n"
+ "\n"
+ "If a value for this property is not provided, then the "
+ "PolicySet is treated as valid for all hours of the day, "
+ "and only restricted by its TimePeriod property value and "
+ "the other Mask properties." ),
+ ModelCorrespondence {
+ "CIM_PolicyTimePeriodCondition.TimePeriod",
+ "CIM_PolicyTimePeriodCondition.LocalOrUtcTime" }]
+ string TimeOfDayMask;
+
+ [Description (
+ "This property indicates whether the times represented in "
+ "the TimePeriod property and in the various Mask "
+ "properties represent local times or UTC times. There is "
+ "no provision for mixing of local times and UTC times: "
+ "the value of this property applies to all of the other "
+ "time-related properties. TimePeriods are synchronized "
+ "worldwide by using the enumeration value \'UTCTime\'. If "
+ "the goal is to synchronize worldwide on a particular "
+ "local time (such as 0300 - 0500 in New York), then if "
+ "the TimePeriod property spans a Daylight Savings Time "
+ "transition in New York, it will be necessary to create "
+ "multiple instances of PolicyTimePeriodCondition, one "
+ "based on the offset UTC-0500 for the part of each year "
+ "when standard time is used in New York, and one based on "
+ "the offset UTC-0400 for the part of each year when "
+ "Daylight Savings Time is used there." ),
+ ValueMap { "1", "2" },
+ Values { "Local Time", "UTC Time" },
+ ModelCorrespondence {
+ "CIM_PolicyTimePeriodCondition.TimePeriod",
+ "CIM_PolicyTimePeriodCondition.MonthOfYearMask",
+ "CIM_PolicyTimePeriodCondition.DayOfMonthMask",
+ "CIM_PolicyTimePeriodCondition.DayOfWeekMask",
+ "CIM_PolicyTimePeriodCondition.TimeOfDayMask" }]
+ uint16 LocalOrUtcTime;
+
+
+};