Pegasus
Status and work on Qualifiers
13 Feb 2002, Original, KS
17 Feb 2002, V 0.2, KS
19 Feb 2002 V 0.3 KS – Extended the definition of work for Pegasus
29 March Status updated
This table defines the qualifiers that are valid for CIM effective with the CIM Specification 2.2.1 (specification 2.2, errata, and addendum 2.2.1). It does not yet cover extensions for CIM specification 2.3. That will be added. We have attempted to define the qualifier and its characteristics from the existing documentation and then to define the state of usage of the qualifier in Pegasus and any work needed for Pegasus 2.0. This document does not yet define the changes at module level but the majority of the extensions are expected to be between the CIM Operations processors (request dispatcher and response module) and the compiler. The remaning question is what special support must we supply for management, manipulation, validation of qualifiers for providers.
Qualifier |
Default |
Source |
QualType |
Applies To |
Type |
Meaning |
Status Pegasus |
Work |
Association |
|
Spec 22 |
Meta |
|
Boolean |
The object class is defining an association. |
Done |
|
Indication |
|
Spec 22 |
Meta |
|
Boolean |
The object class is defining an indication. |
Done |
We have to add validations to the create functions. |
Abstract |
False |
Spec 22 |
Standard |
Class, Association, Indication |
Boolean |
Indicates that the class is abstract and serves only
as a base for new classes. It is not possible to create instances of such
classes. |
??? |
Possible extra validation for valid use of this type. Disallow instance creation of abstract types |
Aggregate |
False |
Spec 22 |
Standard |
Reference |
Boolean |
Defines the "parent" component
of an Aggregation association. Usage Rule: The Aggregation and Aggregate qualifiers
are used together – Aggregation qualifying the association, and Aggregate
specifying the "parent"
reference. |
ignored |
Resolution – See aggregation qualifier. |
Aggregation |
False |
Spec 22 |
Standard |
Association |
Boolean |
Indicates that the association is an aggregation. |
ignored |
resolution – Should we check if other side has aggregation qualifier. YES |
Alias |
Null |
Spec 22 |
Standard |
Property, Reference, method |
String |
Establishes an alternate name for a property or
method in the schema. |
Possible to be dropped. |
We will ignore this qualifier based on the proposal that it be deprecated. |
Arraytype |
“bag” |
Spec 22 |
Standard |
Property, parameter |
String |
Indicates the type of the qualified array.
Valid values are "Bag", "Indexed" and
"Ordered". Usage rule: The ArrayType qualifier should only be applied to properties and
method parameters that are arrays (defined using the square bracket
syntax specified in Appendix A). |
ignored |
Resolution – Add test - Should only apply to property that is an array?? Check to see if really ordered or indexed if this type set. Need to put in a check for unordered insertions COMMENT: Why no sets |
Bitmap |
NULL |
Spec 22 |
Standard |
Property, method, parameter |
String Array |
Indicates which bit positions are significant in a bit map. The position of a specific value in the BitMap array defines an index that is used in selecting a string literal from the BitValues array. |
Installed correctly but no validation against bitvalues |
Resolution – Test for existence of bitvalues qualifier. |
Bitvalues |
NULL |
Spec 22 |
Standard |
Property, method, parameter |
String Array |
Provides translation between a bit position value and an associated string.
See the description for the BitMap qualifier. |
See Bitmap |
See Bitmap |
Counter |
FALSE |
Spec 22 |
Standard |
Property, method, parameter |
Boolean |
Applicable only to unsigned integer types.
Represents a non-negative integer which monotonically increases until it reaches a
maximum value of 2^n-1, when it wraps around and starts increasing again from
zero. N can be 8, 16, 32 or 64 depending on the datatype of the object to which the qualifier is applied. Counters have no defined "initial" value, and thus, a single value of a
Counter has (in general) no information content |
Ignored |
Resolution- confirm it applies only to unsigned integers |
Deprecated |
Null |
|
|
Class, association, property |
String array |
Indicates that the feature to which the qualifier is
attached is tolerated byt not recommended and may be superceded by another.
Existing instrumentation should continue to support deprecated features. The
qualifier serves only as an indication that the feature should not be used in
new development |
Nothing |
No action required. |
Description |
Null |
Spec 22 |
Standard |
Any |
String |
Provides a description of a Named Element. |
Done |
No Action Required |
Displayname |
Null |
Spec 22 |
Standard |
Any |
String |
Defines a name that will be displayed on
UI instead of the actual name of the element. |
Nothing Special |
No action required |
DN |
False |
Add 221 |
Standard |
Property, Parameter |
Boolean |
When applied to a string property or method, the DN qualifier specifies that the string must be a distinguished name as defined in section 9 of X.501. |
ignored |
Resolution: Do we need this qualifier in version 2. If so, need to validate test. Proposal – V 2.1 |
EmbeddedObject |
False |
Add221 |
Standard |
Property, Parameter |
Boolean |
This qualifier can only be used in conjunction with string properties and method parameters. In indiates that the qualified entity contains an encoding of an instance’s data. At this time the DMTF defines twoo possible encodings – character striing encoded in MOF (INSTANCE OF abc {…}: or an XML representation (<INSTANCECLASSNAME=”abc”>…</INSTANCE>). It is desirable that the encoding of the embedded object data match the encoding of the instance/indication that contains this property or method parameter. This allows the same parsing engine that decodes the instance/indication envelope to decode the EmbeddedObject string. (However, encodings are defined by an implementation and are not the subject of this document). Please see Appendis H for examples and furher explanation. |
Must handle through indications. State unknown today |
Work unknown If we agree to MOF, we will have to embed the MOF compiler in the client, etc. Proposal: We go only XML in version 2. We need to add validation to assure that the object is XML. NOTE: This qualifier not needed in V2 Pegasus. The above is for 2.1 and after |
Expensive |
False |
Add 221. Moved from Optional |
Standard |
Property, Reference, Class, Association, Method |
Boolean |
Indicates the property or class is expensive to compute. |
Nothing to do |
Nothing planned for version 2 |
Gauge |
False |
Spec 22 and erratta22 |
Standard |
Property, method, parameter |
Boolean |
.Applicable only to integer types. Represents an integer which may increase or decrease in any order or magnitude. The value of a Gauge is capped at the implied limits of the effected property’s datatype. If and while the information being modeled exceeds an implied limit, the value represented will instead be that limit; values do not wrap. For unsigned integers, the limits are zero (0) to 2^n-1, inclusive. For signed integers, the limits are –(2^(n-1)) to 2^(n-1)-1, inclusive. N can be 8, 16, 32, or 64 depending on the datatype of the property to which the qualifier is applied. |
Ignored today |
Resolution – Check for integer type |
In |
True |
Spec 22 |
Standard |
Parameter |
Boolean |
Indicates that the associated parameter is used to
pass values to a method. |
Ignored today by CIMOM |
Question if provider or CIMOM should enforce? CIMOM only checks this this against required. Need to confirm not inputting any output parameters. |
Key |
False |
Spec 22 and erratta |
Standard |
Property, Reference |
Boolean |
Reference Indicates that the property is part of the namespace handle (see Section 5.3.1.2 for information about namespace handles). If more than one property has the KEY qualifier, then all such properties collectively form the key (a compound key). Usage Rule: Keys are written once at object instantiation and must not be modified thereafter. It does not make sense to apply a default value to a KEY-qualified property. Properties which are of an array type must not be qualified with KEY. |
OK |
Modification – refuse modifications to key properties This test exists in instance repository today. Do we need any expansion of convenciene functions to protect. |
MappingStrings |
Null |
Spec 22 |
Standard |
Class, property, association, indication, reference |
String Array |
Mapping strings for one or more management
data providers or agents. See Section
2.5.5 and 2.5.6 for more
details. |
|
Resolution – Should we check values? Answer Yes. Question: Do we need this in V2? |
Max |
Null |
Spec 22 |
Standard |
Reference |
INT |
Indicates the maximum cardinality of the
reference (i.e. the maximum number of values a given reference can have for
each set of other reference values in the association). For example, if an
association relates A instances to B instances, and there must be at most one
A instance for each B instance, then the reference to A should have a Max(1)
qualifier. |
Ignored by CIMOM today |
Should CIMOM Check? Validate: assure that this not applied to numeric types. CIMOM needs to check on |
Maxlen |
Null |
Spec 22 |
Standard |
Property, Method Parameter |
INT |
Indicates the maximum length, in
characters, of a string data item. When overriding the default value, any
unsigned integer value (uint32) can be specified. A value of NULL implies
unlimited length. |
? Provider or CIMOM |
Same as Max Instance – Should CIMOM check in 1) requests 2) Responses 3)
|
Maxvalue |
Null |
Spec 22 |
Standard |
Property, Method Parameter |
INT |
Maximum value of this object. |
Installed but not used by CIMOM. Not tested by compiler |
Resolve – Check for integer type property. Instance – Should CIMOM Verify or provider? |
Min |
0 |
Spec 22 |
Standard |
Reference |
INT |
Indicates the minimum cardinality of the
reference (i.e. the minimum number of values a given reference can have for
each set of other reference values in the association). For example, if an
association relates A instances to B
instances, and there must be at least one A instance for each B
instance, then the reference to A should have a Min(1) qualifier. |
Ignored today |
Should the CIMOM Check or the provider? |
Minvalue |
Null |
Spec 22 |
Standard |
Property, Method Parameter |
INT |
Minimum value of this object. |
Installed but not used by CIMOM. Not tested by compiler |
Resolve – Check for integer type property. Instance – Should CIMOM Verify or provider? |
Model Correspondence |
Null |
Spec 22 |
Standard |
Property |
String Array |
Indicates a correspondence between an object’s
property and other properties in the CIM Schema. Object properties are identified using the following syntax: <schema name> "_" <class or association name> "." <property
name> |
Ignored |
??? |
NonLocal |
Null |
Spec 22 |
Standard |
Reference |
String |
Indicates the location of an instance. Its
value is <namespacetype>://<namespacehandle> Usage Rule: Cannot be used with the NonLocalType
qualifier. |
Installed but ignored by CIMOM |
Not clear. Needs more explanation Do not support in V2 |
NonLocalType |
Null |
Spec 22 |
Standard |
Reference |
String |
Indicates the type of location of an
instance. Its value is <namespacetype> Usage Rule: Cannot be used with the NonLocal
qualifier. |
|
See NonLocal Not not support in V2 |
Nullvalue |
Null |
Spec 22 |
Standard |
Property |
String |
Defines a value the presence of which
indicates that the associated property is NULL – that is that the property cannot
be considered as having a valid or meaningful value. The conventions and
restrictions used for defining null values are the same as those applicable
to the ValueMap qualifier. Note this qualifier cannot be overridden as it
seems unreasonable to permit a subclass to return a different null value to
that of the superclass. |
No check today |
Needs check by compiler and CIMOM. Also needs clarification. Consider not supporting in V2 |
OctetString |
False |
Erratta 22 |
Standard? |
Property, Parameter |
Boolean |
This qualifier is used to identify the qualified property or parameter as an octet string. When used in conjunction with an unsigned 8-bit integer (uint8) array, the OCTETSTRING qualifer indicates that the unsigned 8-bit integer array |
Unsure. May need testing |
Assure that it applies only 8-bit unsigned array. |
Out |
False |
Spec 22 |
Standard |
Parameter |
Boolean |
Indicates that the associated parameter is used to
return values from a method. |
Installed but ignored by CIMOM today |
? Provider or CIMOM See In |
Override |
Null |
Spec 22 |
Standard |
Property, Method, Reference |
String |
Indicates that the property, method, or
reference in the derived class overrides the similar construct (of the same name)
in the parent class in the inheritance tree, or in the specified parent
class. The value of this qualifier MAY identify the
parent class whose subordinate construct (property, method, or reference) is
overridden. The format of the string to accomplish this is: [<class>.]<subordinate
construct> If the class name is omitted, the Override
applies to the subordinate construct
in the parent class in the inheritance tree. Usage Rule: The Override qualifier can only refer to
constructs based on the same meta model. Also, it is not allowed to change a
construct's name or signature when overriding. |
Unsure |
Part of general create class validation and processing that we may need to extend. Verify Treated as part of cimclass::resolve. |
Propagated |
Null |
Spec 22 |
Standard |
Property |
String |
The propagated qualifier is a stringvalued qualifier
that contains the name of the key that is being propagated. Its use assumes
the existence of only one weak qualifier on a reference that has the
containing class as its target. The associated property must have the same
value as the property named by the qualifier in the class on the other side
of the weak association. The format of the string to
accomplish this is: [<class>.]<subordinate construct> Usage Rule: When
the PROPAGATED qualifier is used, the KEY qualifier must be specified with a
value of TRUE. |
CIMOM |
Resolution – Verify reference class exists and has weak. See weak for contra test. |
Read |
true |
Spec 22 |
Standard |
Property |
Boolean |
Indicates that the property is readable. |
Installed but ignored by CIMOM today |
Should CIMOM verify for instances? Test for notreadable on all instance operations. |
Required |
False |
Spec 22 |
Standard |
Property |
Boolean |
Indicates that a non-NULL value is required for the
property. |
Nothing now |
Need to check that CIMOM is validating for create instance. Should response handler validate for instance responses? |
Revision |
Null |
Spec 22 |
Standard |
|
String |
Provides the minor revision number of the schema
object. Usage Rule: The
VERSION qualifier must be present to supply the major version number when the
REVISION qualifier is used. |
Installed but ignored |
Nothing to do Deprecated |
Schema |
Null |
Spec 22 |
Standard |
Propety method |
String |
The name of the schema in which the feature is
defined. |
Needs clarification |
Do not understand and do not see any support requirements |
Source |
Null |
Spec 22 |
Standard |
Class, Association, Indication, Reference |
String |
Indicates the location of an instance. Its
value is <namespacetype>://<namespacehandle> Usage Rule: Cannot be used with the SourceType
qualifier. |
|
??? |
Sourcetype |
Null |
Spec 22 |
Standard |
Class, Association, Indication, Reference |
String |
Indicates the type of location of an
instance. Its value is <namespacetype> Usage Rule: Cannot be used with the Source
qualifier. |
|
??? |
Static |
False |
Spec 22 |
Standard |
Property, Method |
Boolean |
For methods indicates that the method is a
class method that does not depend on any per-instance data. For properties,
indicates that the property is a class variable rather than an instance
variable. |
|
? Do we need to do validation? Probably but not sure yet. This may require method provider work. |
Terminal |
False |
Spec 22 |
Standard |
Class |
Boolean |
Indicate that the class can have no
subclasses. If such a subclass is declared the compiler will generate an error.
Note this qualifier cannot coexist with the Abstract qualifier. If both are
specified the compiler generates an error. |
??? |
Superclass not terminal on create. Abstract not set if terminal set |
Units |
Null |
Spec 22 |
Standard |
Property, Method, Parameter |
String |
Provides units in which the associated
data item is expressed. For example, a Size data item might have Units
("bytes"). The complete set of standard units is defined in
Appendix C. |
Nothing Now |
Resolve – Check against standard set from spec |
Valuemap |
Null |
Spec 22, Add221 (add .. syntax) |
Standard |
Property, Method, Parameter |
String Array |
NOTE: See the addenda for latest
description. The following is from V 2.2 spec. Defines the set of permissible values for
this property, method return type or method parameter. The ValueMap can be
used alone, or in combination with the Values qualifier. When used in combination with the Values qualifier, the
location of the value in the ValueMap array provides the location of the
corresponding entry in the Values array. ValueMap may only be used with string and
integer values. The syntax for representing an integer value in the ValueMap
array is: [+|-]digit[*digit] The content, maximum number of digits and
represented value are constrained by the type of the associated property. For
example, uint8 may not be signed, must be less than four digits, and must represent a value less than 256. |
|
Add test for values and value emap validity on input. Cardinality should be the same. Constrain the content to be one of the values |
Values |
Null |
Spec 22 |
Standard |
Property, Method Parameter |
String Array |
Provides translation between an integer value
and an associated string. If a ValueMap qualifier is not present, the Values
array is indexed (zero relative) using the value in the associated property,
method return type or method parameter. If a ValueMap qualifier is present,
the Values index is defined by the location of the property value in the
ValueMap. |
|
See value map. |
Version |
Null |
Spec 22 and erratta |
Standard |
Class, Schema, Association, Indication |
|
Provides the major version number of the schema
object. This is incremented when changes are made to the schema that alter the
interface. |
Installed but ignored today |
Request to provide option in compiler. |
Weak |
False |
Spec 22 |
Standard |
Reference |
Boolean |
Indicates that the keys of the referenced class include
the keys of the other participants in the association. This qualifier is used
when the identity of the referenced class depends on the identity of the other
participants in the association. No more than one reference to any given
class can be weak. The other classes in the association must define a key.
The keys of the other classes in the association are repeated in the referenced class and tagged with a propagated
qualifier. |
Boolean |
See propagated |
Write |
False |
Spec 22 |
Standard |
Property |
Boolean |
Indicates whether write access is allowed for a property by any "consumers" of that property’s
data. This qualifier does not address the initial assignment of a property
value, nor its maintenance by its "provider". It describes the maximal level of access
that is allowed, and does not address whether security and authorization
restrictions may actually prevent writing of the data. A value of true indicates
that the property is readable and writable by "consumers", given appropriate administrative authorization. A value of
false indicates that the property is only readable by "consumers",
regardless of authorization. |
Boolean |
Should test against write requests (set property, create, modify instance). This is a CIMOM task |
Delete |
False |
Spec 22 |
Optional |
Association, Reference |
Boolean |
For associations: Indicates that the qualified association must be deleted if any of
the objects referenced in the association are deleted, AND the respective
object referenced in the association is qualified with IFDELETED. For references:
Indicates that the referenced object must be deleted if the association
containing the reference is deleted, AND qualified with IFDELETED, or if any
of the objects referenced in the association are deleted AND the respective object referenced in the
association is qualified with IFDELETED. Usage Rule:
Applications must to chase associations according to the modeled semantic and
delete objects appropriately. Note: This usage rule must be verified when the
CIM security model is defined. |
|
Ignore, this is an optional qualifier. |
|
|
Spec 22 |
Optional |
|
Boolean |
NOTE: Changed in Erratta. See standard. |
|
|
IfDeleted |
False |
Spec 22 |
Optional |
Association, Reference |
Boolean |
Indicates that all objects qualified by DELETE within
the association must be deleted if the referenced object or the association,
respectively, is deleted. |
|
See Delete |
Invisible |
False |
Spec 22 |
Optional |
Association, Property, Method, Reference, Class |
Boolean |
Indicates that the association is defined only for
internal purposes (for example, for definition of dependency semantics) and should
not be displayed (for example, in maps). |
|
Is there any use case to implement this? |
Large |
False |
Spec 22 |
Optional |
Property, Class |
Boolean |
Class Indicates the property or class requires a
large amount of storage space. |
|
Nothing to do |
Provider |
Null |
Spec 22 |
Optional |
Any |
String |
An implementation specific handle to the
instrumentation that populates those elements in the schemas which refer to
dynamic data. |
Used today |
Ignore it will not be used after provider registration works |
Syntax |
Null |
Spec 22 |
Optional |
Property, Referene, Method, Parameter |
String |
Specific type assigned to a data item. Usage Rule: Must be used with the SyntaxType
qualifier. |
|
Ignore, this is an optional qualifier. |
Syntaxtype |
Null |
Spec 22 |
Optional |
Property, Reference, Method, Parameter |
String |
Defines the format of the SYNTAX
qualifier. Usage Rule: Must be used with the SYNTAX qualifier. |
|
Ignore, this is an optional qualifier. |
Triggertype |
Null |
Spec 22 |
Optional |
Class, Property, Method, Association, Indication, Reference |
String Array |
Indicates the circumstances under which a trigger is
fired. Usage Rule: The
trigger types vary by meta-model construct. For classes and associations, the
legal values are CREATE, DELETE, UPDATE and ACCESS. For properties and
references, the legal values are: UPDATE and ACCESS. For methods, the legal
values are BEFORE and AFTER. For indications, the legal values are THROWN. |
|
Ignore, this is an optional qualifier. |
UnknownValues |
Null |
Spec 22 |
Optional |
Property |
String Array |
Defines a set of values the presence of
which indicates that the value of the associated property is unknown – that
is that the property cannot be considered as
having a valid or meaningful value. The
onventions and restrictions used for defining unknown values are the same
as those applicable to the ValueMap qualifier. Note this qualifier cannot be overridden
as it seems unreasonable to permit a subclass to treat as a known value a value
that is treated as unknown by some superclass. |
|
Ignore, this is an optional qualifier. |
UnsupportedValues |
Null |
Spec 22 |
Optional |
Property |
String Array |
Defines a set of values the presence of
which indicates that the value of the associated property is unsupported –
that is that the property cannot be considered as having a valid or meaningful value. The conventions and
restrictions used for defining unsupported values are the same
as those applicable to the ValueMap qualifier. Note this qualifier cannot be overridden
as it seems unreasonable to permit a subclass to treat as a supported value a
value that is treated as unknown by some superclass. |
|
Ignore, this is an optional qualifier. |
PropertyUsage |
CurrentContext |
Add 221 |
Optional |
|
|
NOTE: See the addendum since it will not let me copy the text |
|
Ignore, this is an optional qualifier. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|