(file) Return to CIM_User25.mof CVS log (file) (dir) Up to [Pegasus] / pegasus / Schemas / CIM25

   1 karl  1.1 // ===================================================================
   2           // Title:       User-Security MOF specification 2.5
   3 mike  1.2 // Filename:    CIM_UserSec25a.mof
   4 karl  1.1 // Version:     2.5
   5           // Release:     0
   6 mike  1.2 // Date:        01/23/2001
   7 karl  1.1 // Description: These object classes define the user and security 
   8           //              model for CIM and includes classes needed to represent
   9           //              users, groups and organizational entities as well as 
  10           //              security services and authentication and authorization 
  11           //              information.
  12           //              The object classes below are listed in an order that
  13           //              avoids forward references. Required objects, defined 
  14           //		    by other working groups, are omitted. 
  15           // ===================================================================
  16           // Author:      DMTF User and Security Working Group
  17 mike  1.2 //
  18           // 14 Mar 2000  - Version 2.3
  19 karl  1.1 //
  20           // 09 Jun 2000  - ERRATA to Version 2.3 creating V2.4
  21           //		- CR493a, Correction of Antecedent/Dependent references
  22           //			References are reversed from the original 2.3 model
  23           //		- CR497: Corrections to antecedent/dependent references
  24           //			1.  ElementAsUser should run between an ME and a 
  25           //                UsersAccess.  Both references are ME in the MOF.  
  26           //                UsersAccess is the Dependent reference.
  27           //
  28           //			2.  ManagesAccount should subclass from Dependency.
  29           //
  30           //			3.  ServiceUsesSecurityService - antecedent and 
  31           //                dependent are backwards.  SecurityService should 
  32           //			be the antecedent and Service the dependent.
  33           //
  34           //			4.  SecurityServiceForSystem - should subclass from 
  35           //			ProvidesServiceToElement.
  36           //
  37           //			5.  UsersCredentials - The antecedent and dependent 
  38           //			references are backwards.  The UsersAccess is 
  39           //			dependent on the Credentials - the credentials 
  40 karl  1.1 //			are the antecedent.
  41           //
  42           //			6.  The change in UsersCredentials affects 
  43           //			PublicPrivateKeyPair, since it inherits from 
  44           //			UsersCredentials.
  45           //
  46           //			7.  CAHasPublicCertificate - The antecedent and 
  47           //			dependent references are backwards.  The CA USES 
  48           //			the public certificate - therefore, it is dependent
  49           //			on the certificate.
  50           //
  51           //			8.  AuthenticateForUse - The antecedent and 
  52           //			dependent are backwards. The association "provides 
  53           //			an AuthenticationService with the 
  54           //			AuthenticationRequirement it needs to do its job". 
  55           //			AuthenticationService is Dependent on the 
  56           //			Requirement.
  57           //
  58           //			9.  RequireCredentialsFrom - Antecedent and 
  59           //			dependent are backwards.  The requirement is for 
  60           //			a specific credential mgmt service - the service 
  61 karl  1.1 //			has no dependencies at all on the requirement.
  62           //
  63           //			10.  AuthenticationTarget - Clarification that the 
  64           //			"target" is dependent on the requirement to protect 
  65           //			it.
  66           //
  67           //			11.  AuthorizedUse - The antecedent and dependent 
  68           //			are backwards since the description says that the 
  69           //			association "provides an AuthorizationService
  70           //			with the AccessControlInformation it needs to do 
  71           //			its job". AuthorizationService is Dependent on the 
  72           //			ACI.
  73           //
  74           // 21 June 2000 - ERRATA to Version 2.3 creating Version 2.4
  75           //          - CR515: CIM Account keys.  CIM_Account currently has two
  76           //			local keys, Name and UserID. 
  77           //                The intent was to have CreationClassName and Name 
  78           //			as keys where name could be set to a value equal to 
  79           //			the UserID or to some other value, e.g., a DN from 
  80           //			a directory.
  81           //
  82 karl  1.1 // 10 Nov 2000  - Changes to Version 2.4 creating V2.5
  83           //          - CR544a, Adds classes and properties needed for Network 
  84           //                IPsec submodel.  
  85           //                Classes added are:
  86           //			CredentialManagementSAP 
  87           //                LocalCredentialManagementService
  88           //                PublicKeyManagementService
  89           //                UnsignedPublicKey
  90           //                NamedSharedIKESecret
  91           //                TrustHierarchy
  92           //                LocallyManagedPublicKey
  93           //                IKESecretIsNamed
  94           //                Properties added are:
  95           //                CertificateAuthority.CADistinguishedName
  96           //                CertificateAuthority.MaxChainLength
  97           //                CertificateAuthority.CRLRefreshFrequency
  98           //          - CR560, ERRATA renames KerberosTicket.Type to 
  99           //                KerberosTicket.TicketType and changes it from an
 100           //                array to a scalar property 
 101 mike  1.2 // 23 Jan 2001  - ERRATA to Version 2.5 creating V2.6
 102           //          - CR591, Corrections to PROPAGATE qualifiers on 
 103           //			Credential Subclasses
 104 karl  1.1 //
 105           // ===================================================================
 106           
 107           // ===================================================================
 108           // ===                         Pragmas                             ===
 109           // ===================================================================
 110           #pragma Locale ("en_US")
 111           
 112           
 113           
 114           // ==================================================================
 115           // ===                  Data class definitions                    ===
 116           // ==================================================================
 117           
 118           
 119           // ==================================================================
 120           // Group
 121           // ==================================================================
 122              [Description (
 123              "The Group class is used to collect ManagedElements into groups. "
 124              "This class is defined so as to incorporate commonly-used LDAP "
 125 karl  1.1    "attributes to permit implementations to easily derive this "
 126              "information from LDAP-accessible directories.  This class's "
 127              "properties are a subset of a related class, "
 128              "OtherGroupInformation, which defines all the group properties "
 129              "and in array form for directory compatibility." ) ]
 130           class CIM_Group : CIM_Collection
 131              {  
 132                 [Key, MaxLen (256), Description (  
 133           	"CreationClassName indicates the name of the class or the "
 134           	"subclass used in the creation of an instance. When used "
 135           	"with the other key properties of this class, this property "
 136           	"allows all instances of this class and its subclasses to "
 137           	"be uniquely identified.")]
 138              string CreationClassName;
 139                 [Key, MaxLen (1024), Description (  
 140                 "The Name property defines the label by which the object is "
 141           	"known. In the case of an LDAP-derived instance, the Name "
 142           	"property value may be set to the distinguishedName of the "
 143           	"LDAP-accessed object instance.")]
 144              string Name;
 145           	[MaxLen (128), Description (  
 146 karl  1.1       "The BusinessCategory property may be used to describe the "
 147           	"kind of business activity performed by the members of the "
 148           	"group.")]
 149              string BusinessCategory;
 150                 [Required, Description (
 151           	"A Common Name is a (possibly ambiguous) name by which the "
 152           	"group is commonly known in some limited scope (such as an "
 153           	"organization) and conforms to the naming conventions of the "
 154           	"country or culture with which it is associated.")]
 155              string CommonName;
 156              };
 157           
 158           // ==================================================================
 159           // OtherGroupInformation
 160           // ==================================================================
 161              [Description (
 162              "The OtherGroupInformation class provides additional information "
 163              "about an associated Group instance.  This class is defined so as "
 164              "to incorporate commonly-used LDAP attributes to permit "
 165              "implementations to easily derive this information from "
 166              "LDAP-accessible directories.") ]
 167 karl  1.1 class CIM_OtherGroupInformation : CIM_ManagedElement
 168              {  
 169                 [Key, MaxLen (256), Description (  
 170           	"CreationClassName indicates the name of the class or the "
 171           	"subclass used in the creation of an instance. When used "
 172           	"with the other key properties of this class, this property "
 173           	"allows all instances of this class and its subclasses to "
 174           	"be uniquely identified.")]
 175              string CreationClassName;
 176                 [Key, MaxLen (1024), Description (  
 177                 "The Name property defines the label by which the object is "
 178           	"known. In the case of an LDAP-derived instance, the Name "
 179           	"property value may be set to the distinguishedName of the "
 180           	"LDAP-accessed object instance.")]
 181              string Name;
 182                 [Description (  
 183                 "In the case of an LDAP-derived instance, the ObjectClass "
 184                 "property value(s) may be set to the objectClass attribute "
 185           	"values.")]
 186              string ObjectClass[];
 187           	[MaxLen (128), Description (  
 188 karl  1.1       "The BusinessCategory property may be used to describe the "
 189           	"kind of business activity performed by the members of the "
 190           	"group.")]
 191              string BusinessCategory[];
 192                 [Description (
 193           	"A Common Name is a (possibly ambiguous) name by which the "
 194           	"group is commonly known in some limited scope (such as an "
 195           	"organization) and conforms to the naming conventions of the "
 196           	"country or culture with which it is associated.")]
 197              string CommonName[];
 198                 [MaxLen (1024), Description (  
 199                 "The Descriptions property values may contain human-readable "
 200           	"descriptions of the object.  In the case of an LDAP-derived "  
 201           	"instance, the description attribute may have multiple values "
 202           	"that, therefore, cannot be placed in the inherited "
 203           	"Description property.")]
 204              string Descriptions[];
 205                 [Description (  
 206                 "The name of an organization related to the group.")]
 207              string OrganizationName[];
 208                 [Description (  
 209 karl  1.1       "The name of an organizational unit related to the group.")]
 210              string OU[];
 211                 [Description (  
 212           	"The Owner property specifies the name of some object that "
 213           	"has some responsibility for the group.  In the case of an "
 214           	"LDAP-derived instance, a property value for Owner may be a "
 215           	"distinguishedName of owning persons, groups, roles, etc.")]
 216              string Owner[];
 217                 [Description (  
 218           	"In the case of an LDAP-derived instance, the See Also "
 219           	"property specifies distinguishedName of other Directory "
 220           	"objects which may be other aspects (in some sense) of the "
 221           	"same real world object.")]
 222              string SeeAlso[];
 223              };
 224           
 225           // ==================================================================
 226           // Role
 227           // ==================================================================
 228              [Description (  
 229              "The Role object class is used to represent a position or set of "
 230 karl  1.1    "responsibilities within an organization, organizational unit or "
 231              "system administration scope and is filled by a person or persons "
 232              "(or non-human entities represented by ManagedSystemElement "
 233              "subclasses) that may be explicitly or implicitly members of this "
 234              "collection subclass.  The class is defined so as to incorporate "
 235              "commonly-used LDAP attributes to permit implementations to "
 236              "easily derive this information from LDAP-accessible directories. "
 237              "The members of a role are frequently called role occupants. "
 238              "This class's properties are a subset of a related class, "
 239              "OtherRoleInformation, which defines all the group properties "
 240              "and in array form for directory compatibility. ")]
 241           class CIM_Role : CIM_Collection
 242              {  
 243                 [Key, MaxLen (256), Description (  
 244           	"CreationClassName indicates the name of the class or the "
 245           	"subclass used in the creation of an instance. When used "
 246           	"with the other key properties of this class, this property "
 247           	"allows all instances of this class and its subclasses to "
 248           	"be uniquely identified.")]
 249              string CreationClassName;
 250                 [Key, MaxLen (1024),Description (  
 251 karl  1.1       "The Name property defines the label by which the object is "
 252           	"known. In the case of an LDAP-derived instance, the Name " 
 253           	"property value may be set to the distinguishedName of the "
 254           	"LDAP-accessed object instance.")]
 255              string Name;
 256                 [MaxLen (128), Description (  
 257                 "This property may be used to describe the kind of business "
 258           	"activity performed by the members (role occupants) in the "
 259           	"position or set of responsibilities represented by the Role. "
 260           	)]
 261              string BusinessCategory;
 262                 [Required, Description (
 263           	"A Common Name is a (possibly ambiguous) name by which the "
 264           	"role is commonly known in some limited scope (such as an "
 265           	"organization) and conforms to the naming conventions of the "
 266           	"country or culture with which it is associated.")]
 267              string CommonName;
 268              };
 269           
 270           // ==================================================================
 271           // OtherRoleInformation
 272 karl  1.1 // ==================================================================
 273              [Description (  
 274              "The OtherRoleInformation class is used to provide additional "
 275              "information about an associated Role instance.  This class is "
 276              "defined so as to incorporate commonly-used LDAP attributes to "
 277              "permit implementations to easily derive this information from "
 278              "LDAP-accessible directories.") ]
 279           class CIM_OtherRoleInformation : CIM_ManagedElement
 280              {  
 281                 [Key, MaxLen (256), Description (  
 282           	"CreationClassName indicates the name of the class or the "
 283           	"subclass used in the creation of an instance. When used "
 284           	"with the other key properties of this class, this property "
 285           	"allows all instances of this class and its subclasses to "
 286           	"be uniquely identified.")]
 287              string CreationClassName;
 288                 [Key, MaxLen (1024),Description (  
 289                 "The Name property defines the label by which the object is "
 290           	"known. In the case of an LDAP-derived instance, the Name " 
 291           	"property value may be set to the distinguishedName of the "
 292           	"LDAP-accessed object instance.")]
 293 karl  1.1    string Name;
 294                 [Description (  
 295                 "In the case of an LDAP-derived instance, the ObjectClass "
 296                 "property value(s) may be set to the objectClass attribute "
 297           	"values.")]
 298              string ObjectClass[];
 299                 [MaxLen (128), Description (  
 300                 "This property may be used to describe the kind of business "
 301           	"activity performed by the members (role occupants) in the "
 302           	"position or set of responsibilities represented by the Role. "
 303           	)]
 304              string BusinessCategory[];
 305                 [Description (
 306           	"A Common Name is a (possibly ambiguous) name by which the "
 307           	"role is commonly known in some limited scope (such as an "
 308           	"organization) and conforms to the naming conventions of the "
 309           	"country or culture with which it is associated.")]
 310              string CommonName[];
 311                 [MaxLen (1024), Description (  
 312                 "The Descriptions property values may contain human-readable "
 313           	"descriptions of the object.  In the case of an LDAP-derived "  
 314 karl  1.1 	"instance, the description attribute may have multiple values "
 315           	"that, therefore, cannot be placed in the inherited "
 316           	"Description property.")]
 317              string Descriptions[];
 318                 [MaxLen (128), Description (  
 319           	"This property is used for the role occupants' telegram "
 320           	"service.")]
 321              string DestinationIndicator[];
 322                 [Description (  
 323                 "The role occupants' facsimile telephone number.")]
 324              string FacsimileTelephoneNumber[];
 325                 [MaxLen (16), Description (  
 326                 "The role occupants' International ISDN number.")]
 327              string InternationaliSDNNumber[];
 328                 [Description (  
 329                 "The name of an organizational unit related to the role.")]
 330              string OU[];
 331                 [MaxLen (128), Description (  
 332                 "The Physical Delivery Office Name property specifies the name "
 333           	"of the city, village, etc. where a physical delivery office "
 334           	"is situated.")]
 335 karl  1.1    string PhysicalDeliveryOfficeName[];
 336                 [Description (  
 337           	"The Postal Address property values specify the address "
 338           	"information required for the physical delivery of postal "
 339           	"messages by the postal authority to the role occupants.")]
 340              string PostalAddress[];
 341                 [MaxLen (40), Description (  
 342           	"The Postal Code property specifies the postal code for the "
 343           	"role occupants.  If this value is present it will be part of "
 344           	"the object's postal address.")]
 345              string PostalCode[];
 346                 [MaxLen (40), Description (  
 347           	"The Post Office Box property specifies the Post Office Box "
 348           	"by which the role occupants will receive physical postal "
 349           	"delivery. If present, the property value is part of the "
 350           	"object's postal address.")]
 351              string PostOfficeBox[];
 352                 [Description (   
 353           	"The Preferred Delivery Method property specifies the "
 354           	"role occupants' preferred method to be used for contacting "
 355           	"them in their role.")]
 356 karl  1.1    string PreferredDeliveryMethod;
 357                 [Description (  
 358           	"This property specifies a postal address suitable for receipt "
 359           	"of telegrams or expedited documents, where it is necessary to "
 360           	"have the recipient accept delivery.")]
 361              string RegisteredAddress[];
 362                 [Description (  
 363           	"In the case of an LDAP-derived instance, the See Also "
 364           	"property specifies distinguishedName of other Directory "
 365           	"objects which may be other aspects (in some sense) of the "
 366           	"same real world object.")]
 367              string SeeAlso[];
 368                 [Description (  
 369            	"The State or Province Name property specifies a state or "
 370           	"province." )]
 371              string StateOrProvince[];
 372                 [MaxLen (128), Description (  
 373           	"The Street Address property specifies a site for the local "
 374           	"distribution and physical delivery in a postal address, i.e. "
 375           	"the street name, place, avenue, and the number." )]
 376              string Street[];
 377 karl  1.1       [MaxLen (32), Description (  
 378           	"The Telephone Number property specifies a telephone number of "
 379           	"the role occupants, e.g. + 44 582 10101)." )]
 380              string TelephoneNumber[];
 381                 [Description (  
 382           	"The Teletex Terminal Identifier property specifies the "
 383           	"Teletex terminal identifier (and, optionally, parameters) for "
 384           	"a teletex terminal associated with the role occupants." )]
 385              string TeletexTerminalIdentifier[];
 386                 [Description (  
 387           	"The Telex Number property specifies the telex number, country "
 388           	"code, and answerback code of a telex terminal for the "
 389           	"role occupants." )]
 390              string TelexNumber[];
 391                 [MaxLen (15), Description (  
 392                 "An X.121 address for the role occupants.")]
 393              string X121Address[];
 394              };
 395           
 396           // ==================================================================
 397           // OrganizationalEntity
 398 karl  1.1 // ==================================================================
 399              [Abstract, Description (  
 400              "OrganizationalEntity is an abstract class from which classes "
 401              "that fit into an organizational structure are derived.") ]
 402           class CIM_OrganizationalEntity : CIM_ManagedElement   
 403              {  
 404              };
 405           
 406           // ==================================================================
 407           // Organization
 408           // ==================================================================
 409              [Description (  
 410              "The Organization class is used to represent an organization such "
 411              "as a corporation or other autonomous entity.  The class is "
 412              "defined so as to incorporate commonly-used LDAP attributes to "
 413              "permit implementations to easily derive this information from "
 414              "LDAP-accessible directories.  This class's properties are a "
 415              "subset of a related class, OtherOrganizationInformation, which "
 416              "defines all the group properties and in array form for "
 417              "directory compatibility.") ]
 418           class CIM_Organization : CIM_OrganizationalEntity  
 419 karl  1.1    {  
 420                 [Key, MaxLen (256), Description (  
 421           	"CreationClassName indicates the name of the class or the "
 422           	"subclass used in the creation of an instance. When used "
 423           	"with the other key properties of this class, this property "
 424           	"allows all instances of this class and its subclasses to "
 425           	"be uniquely identified.")]
 426              string CreationClassName;
 427                 [Key, MaxLen (1024),Description (  
 428                 "The Name property defines the label by which the object is "
 429           	"known. In the case of an LDAP-derived instance, the Name "
 430           	"property value may be set to the distinguishedName of the "
 431           	"LDAP-accessed object instance.")]
 432              string Name;
 433                 [MaxLen (128), Description (  
 434                 "This property describes the kind of business performed by an "
 435           	"organization.")]
 436              string BusinessCategory;
 437                 [Description (  
 438                 "The organization's facsimile telephone number.")]
 439              string FacsimileTelephoneNumber;
 440 karl  1.1       [Description (  
 441           	"This property contains the name of a locality, such as a "
 442           	"city, county or other geographic region.")]
 443              string LocalityName;
 444                 [Description (  
 445                 "Based on RFC1274, the mail box addresses for the organization "
 446           	"as defined in RFC822.")]
 447              string Mail;
 448                 [Required, Description (  
 449                 "The name of the organization.")]
 450              string OrganizationName;
 451                 [Description (  
 452           	"The Postal Address property values specify the address "
 453           	"information required for the physical delivery of postal "
 454           	"messages by the postal authority to the organization.")]
 455              string PostalAddress[];
 456                 [MaxLen (40), Description (  
 457           	"The Postal Code property specifies the postal code of the "
 458           	"organization.  If this value is present it will be part of "
 459           	"the object's postal address.")]
 460              string PostalCode;
 461 karl  1.1       [Description (  
 462            	"The State or Province Name property specifies a state or "
 463           	"province." )]
 464              string StateOrProvince;
 465                 [MaxLen (32), Description (  
 466           	"The Telephone Number property specifies a telephone number of "
 467           	"the organization, e.g. + 44 582 10101)." )]
 468              string TelephoneNumber;
 469              };
 470           
 471           // ==================================================================
 472           // OtherOrganizationInformation
 473           // ==================================================================
 474              [Description (  
 475              "The OtherOrganizationInformation class is used to provide "
 476              "additional information about an associated Organization instance. "
 477              "This class is defined so as to incorporate commonly-used LDAP "
 478              "attributes to permit implementations to easily derive this "
 479              "information from LDAP-accessible directories.") ]
 480           class CIM_OtherOrganizationInformation : CIM_ManagedElement  
 481              {  
 482 karl  1.1       [Key, MaxLen (256), Description (  
 483           	"CreationClassName indicates the name of the class or the "
 484           	"subclass used in the creation of an instance. When used "
 485           	"with the other key properties of this class, this property "
 486           	"allows all instances of this class and its subclasses to "
 487           	"be uniquely identified.")]
 488              string CreationClassName;
 489                 [Key, MaxLen (1024),Description (  
 490                 "The Name property defines the label by which the object is "
 491           	"known. In the case of an LDAP-derived instance, the Name "
 492           	"property value may be set to the distinguishedName of the "
 493           	"LDAP-accessed object instance.")]
 494              string Name;
 495                 [Description (  
 496                 "In the case of an LDAP-derived instance, the ObjectClass "
 497                 "property value(s) may be set to the objectClass attribute "
 498           	"values.")]
 499              string ObjectClass[];
 500                 [MaxLen (128), Description (  
 501                 "This property describes the kind of business performed by an "
 502           	"organization.")]
 503 karl  1.1    string BusinessCategory[];
 504                 [MaxLen (1024), Description (  
 505                 "The Descriptions property values may contain human-readable "
 506           	"descriptions of the object.  In the case of an LDAP-derived "  
 507           	"instance, the description attribute may have multiple values "
 508           	"that, therefore, cannot be placed in the inherited "
 509           	"Description property.")]
 510              string Descriptions[];
 511                 [MaxLen (128), Description (  
 512           	"This property is used for the organization's telegram "
 513           	"service.")]
 514              string DestinationIndicator[];
 515                 [Description (  
 516                 "The organization's facsimile telephone number.")]
 517              string FacsimileTelephoneNumber[];
 518                 [MaxLen (16), Description (  
 519                 "The organization's International ISDN number.")]
 520              string InternationaliSDNNumber[];
 521                 [Description (  
 522                 "Uniform Resource Identifier with optional label as defined in "
 523           	"RFC2079.")]
 524 karl  1.1    string LabeledURI[]; 
 525                 [Description (  
 526           	"This property contains the name of a locality, such as a "
 527           	"city, county or other geographic region.")]
 528              string LocalityName[];
 529                 [Description (  
 530                 "Based on RFC1274, the mail box addresses for the organization "
 531           	"as defined in RFC822.")]
 532              string Mail[];
 533                 [Description (  
 534                 "The manager for the organization.  In the case of an "
 535           	"LDAP-derived instance, the Manager property value may contain "
 536           	"the distinguishedName of the Manager.")]
 537              string Manager[];
 538                 [Description (  
 539                 "The name of the organization.")]
 540              string OrganizationName[];
 541                 [Description (  
 542                 "Based on RFC1274, this property may be used for electronic "
 543           	"mail box addresses other than RFC822 and X.400.")]
 544              string OtherMailbox[];
 545 karl  1.1       [MaxLen (128), Description (  
 546                 "The Physical Delivery Office Name property specifies the name "
 547           	"of the city, village, etc. where a physical delivery office "
 548           	"is situated.")]
 549              string PhysicalDeliveryOfficeName[];
 550                 [Description (  
 551           	"The Postal Address property values specify the address "
 552           	"information required for the physical delivery of postal "
 553           	"messages by the postal authority to the organization.")]
 554              string PostalAddress[];
 555                 [MaxLen (40), Description (  
 556           	"The Postal Code property specifies the postal code of the "
 557           	"organization.  If this value is present it will be part of "
 558           	"the object's postal address.")]
 559              string PostalCode[];
 560                 [MaxLen (40), Description (  
 561           	"The Post Office Box property specifies the Post Office Box "
 562           	"by which the organization will receive physical postal "
 563           	"delivery. If present, the property value is part of the "
 564           	"object's postal address.")]
 565              string PostOfficeBox[];
 566 karl  1.1       [Description (  
 567           	"The Preferred Delivery Method property specifies the "
 568           	"organization's preferred method to be used for communicating "
 569           	"with it.")]
 570              string PreferredDeliveryMethod;
 571                 [Description (  
 572           	"This property specifies a postal address suitable for receipt "
 573           	"of telegrams or expedited documents, where it is necessary to "
 574           	"have the recipient accept delivery.")]
 575              string RegisteredAddress[];
 576                 [Description (  
 577                 "This property value is for use by X.500 clients in "
 578           	"constructing search filters.")]
 579              string SearchGuide[];
 580                 [Description (  
 581           	"In the case of an LDAP-derived instance, the See Also "
 582           	"property specifies distinguishedName of other Directory "
 583           	"objects which may be other aspects (in some sense) of the "
 584           	"same real world object.")]
 585              string SeeAlso[];
 586                 [Description (  
 587 karl  1.1  	"The State or Province Name property specifies a state or "
 588           	"province." )]
 589              string StateOrProvince[];
 590                 [MaxLen (128), Description (  
 591           	"The Street Address property specifies a site for the local "
 592           	"distribution and physical delivery in a postal address, i.e. "
 593           	"the street name, place, avenue, and the number." )]
 594              string Street[];
 595                 [MaxLen (32), Description (  
 596           	"The Telephone Number property specifies a telephone number of "
 597           	"the organization, e.g. + 44 582 10101)." )]
 598              string TelephoneNumber[];
 599                 [Description (  
 600           	"The Teletex Terminal Identifier property specifies the "
 601           	"Teletex terminal identifier (and, optionally, parameters) for "
 602           	"a teletex terminal associated with the organization." )]
 603              string TeletexTerminalIdentifier[];
 604                 [Description (  
 605           	"The Telex Number property specifies the telex number, country "
 606           	"code, and answerback code of a telex terminal for the "
 607           	"organization." )]
 608 karl  1.1    string TelexNumber[];
 609                 [Octetstring, Description (  
 610                 "An image of the organization logo")]
 611              string ThumbnailLogo[];
 612                 [Description (  
 613           	"A unique identifier that may be assigned in an environment to "
 614           	"differentiate between uses of a given named organization "
 615           	"instance.")]
 616              string UniqueIdentifier[];
 617                 [Octetstring, Description (  
 618                 "In the case of an LDAP-derived instance, the UserPassword "
 619           	"property may contain an encrypted password used to access "
 620           	"the organization's resources in a directory." )]
 621              string UserPassword[];
 622                 [MaxLen (15), Description (  
 623                 "An X.121 address for the organization.")]
 624              string X121Address[];
 625              };
 626           
 627           // ==================================================================
 628           // OrgUnit
 629 karl  1.1 // ==================================================================
 630              [Description (  
 631              "The OrgUnit class is used to represent a sub-unit of an "
 632              "organization such a division or department.  The class is "
 633              "defined so as to incorporate commonly-used LDAP attributes to "
 634              "permit implementations to easily derive this information from "
 635              "LDAP-accessible directories.  This class's properties are a "
 636              "subset of a related class, OtherOrgUnitInformation, which "
 637              "defines all the group properties and in array form for "
 638              "directory compatibility. ") ]
 639           class CIM_OrgUnit : CIM_OrganizationalEntity  
 640              {  
 641                 [Key, MaxLen (256), Description (  
 642           	"CreationClassName indicates the name of the class or the "
 643           	"subclass used in the creation of an instance. When used "
 644           	"with the other key properties of this class, this property "
 645           	"allows all instances of this class and its subclasses to "
 646           	"be uniquely identified.")]
 647              string CreationClassName;
 648                 [Key, MaxLen (1024),Description (  
 649                 "The Name property defines the label by which the object is "
 650 karl  1.1 	"known. In the case of an LDAP-derived instance, the Name " 
 651           	"property value may be set to the distinguishedName of the "
 652           	"LDAP-accessed object instance.")]
 653              string Name;
 654                 [MaxLen (128), Description (  
 655                 "This property describes the kind of business performed by an "
 656           	"organizational unit.")]
 657              string BusinessCategory;
 658                 [Description (  
 659                 "The organizational unit's facsimile telephone number.")]
 660              string FacsimileTelephoneNumber;
 661                 [Description (  
 662           	"This property contains the name of a locality, such as a "
 663           	"city, county or other geographic region.")]
 664              string LocalityName;
 665                 [Required, Description (  
 666                 "The name of the organizational unit.")]
 667              string OU;
 668                 [Description (  
 669           	"The Postal Address property values specify the address "
 670           	"information required for the physical delivery of postal "
 671 karl  1.1 	"messages by the postal authority to the organizational unit."
 672           	)]
 673              string PostalAddress[];
 674                 [MaxLen (40), Description (  
 675           	"The Postal Code property specifies the postal code of the "
 676           	"organizational unit.  If this value is present it will be "
 677           	"part of the object's postal address.")]
 678              string PostalCode;
 679                 [Description (  
 680            	"The State or Province Name property specifies a state or "
 681           	"province." )]
 682              string StateOrProvince;
 683                 [MaxLen (32), Description (  
 684           	"The Telephone Number property specifies a telephone number of "
 685           	"the organizational unit, e.g. + 44 582 10101)." )]
 686              string TelephoneNumber;
 687              };
 688           
 689           // ==================================================================
 690           // OtherOrgUnitInformation
 691           // ==================================================================
 692 karl  1.1    [Description (  
 693              "The OtherOrgUnitInformation class is used to provide "
 694              "additional information about an associated OrgUnit instance. "
 695              "This class is defined so as to incorporate commonly-used LDAP "
 696              "attributes to permit implementations to easily derive this "
 697              "information from LDAP-accessible directories.") ]
 698           class CIM_OtherOrgUnitInformation : CIM_ManagedElement  
 699              {  
 700                 [Key, MaxLen (256), Description (  
 701           	"CreationClassName indicates the name of the class or the "
 702           	"subclass used in the creation of an instance. When used "
 703           	"with the other key properties of this class, this property "
 704           	"allows all instances of this class and its subclasses to "
 705           	"be uniquely identified.")]
 706              string CreationClassName;
 707                 [Key, MaxLen (1024),Description (  
 708                 "The Name property defines the label by which the object is "
 709           	"known. In the case of an LDAP-derived instance, the Name " 
 710           	"property value may be set to the distinguishedName of the "
 711           	"LDAP-accessed object instance.")]
 712              string Name;
 713 karl  1.1       [Description (  
 714                 "In the case of an LDAP-derived instance, the ObjectClass "
 715                 "property value(s) may be set to the objectClass attribute "
 716           	"values.")]
 717              string ObjectClass[];
 718                 [MaxLen (128), Description (  
 719                 "This property describes the kind of business performed by an "
 720           	"organizational unit.")]
 721              string BusinessCategory[];
 722                 [MaxLen (1024), Description (  
 723                 "The Descriptions property values may contain human-readable "
 724           	"descriptions of the object.  In the case of an LDAP-derived "  
 725           	"instance, the description attribute may have multiple values "
 726           	"that, therefore, cannot be placed in the inherited "
 727           	"Description property.")]
 728              string Descriptions[];
 729                 [MaxLen (128), Description (  
 730           	"This property is used for the organizational unit's telegram "
 731           	"service.")]
 732              string DestinationIndicator[];
 733                 [Description (  
 734 karl  1.1       "The organizational unit's facsimile telephone number.")]
 735              string FacsimileTelephoneNumber[];
 736                 [MaxLen (16), Description (  
 737                 "The organizational unit's International ISDN number.")]
 738              string InternationaliSDNNumber[];
 739                 [Description (  
 740           	"This property contains the name of a locality, such as a "
 741           	"city, county or other geographic region.")]
 742              string LocalityName[];
 743                 [Description (  
 744                 "The name of the organizational unit.")]
 745              string OU[];
 746                 [MaxLen (128), Description (  
 747                 "The Physical Delivery Office Name property specifies the name "
 748           	"of the city, village, etc. where a physical delivery office "
 749           	"is situated.")]
 750              string PhysicalDeliveryOfficeName[];
 751                 [Description (  
 752           	"The Postal Address property values specify the address "
 753           	"information required for the physical delivery of postal "
 754           	"messages by the postal authority to the organizational unit."
 755 karl  1.1 	)]
 756              string PostalAddress[];
 757                 [MaxLen (40), Description (  
 758           	"The Postal Code property specifies the postal code of the "
 759           	"organizational unit.  If this value is present it will be "
 760           	"part of the object's postal address.")]
 761              string PostalCode[];
 762                 [MaxLen (40), Description (  
 763           	"The Post Office Box property specifies the Post Office Box "
 764           	"by which the organizational unit will receive physical "
 765           	"postal delivery. If present, the property value is part of "
 766           	"the object's postal address.")]
 767              string PostOfficeBox[];
 768                 [Description (  
 769           	"The Preferred Delivery Method property specifies the "
 770           	"organizational unit's preferred method to be used for "
 771           	"communicating with it.")]
 772              string PreferredDeliveryMethod;
 773                 [Description (  
 774                 "This property value is for use by X.500 clients in "
 775           	"constructing search filters.")]
 776 karl  1.1    string SearchGuide[];
 777                 [Description (  
 778           	"In the case of an LDAP-derived instance, the See Also "
 779           	"property specifies distinguishedName of other Directory "
 780           	"objects which may be other aspects (in some sense) of the "
 781           	"same real world object.")]
 782              string SeeAlso[];
 783                 [Description (  
 784            	"The State or Province Name property specifies a state or "
 785           	"province." )]
 786              string StateOrProvince[];
 787                 [MaxLen (128), Description (  
 788           	"The Street Address property specifies a site for the local "
 789           	"distribution and physical delivery in a postal address, i.e. "
 790           	"the street name, place, avenue, and the number." )]
 791              string Street[];
 792                 [MaxLen (32), Description (  
 793           	"The Telephone Number property specifies a telephone number of "
 794           	"the organizational unit, e.g. + 44 582 10101)." )]
 795              string TelephoneNumber[];
 796                 [Description (  
 797 karl  1.1 	"The Teletex Terminal Identifier property specifies the "
 798           	"Teletex terminal identifier (and, optionally, parameters) for "
 799           	"a teletex terminal associated with the organizational unit."
 800           	)]
 801              string TeletexTerminalIdentifier[];
 802                 [Description (  
 803           	"The Telex Number property specifies the telex number, country "
 804           	"code, and answerback code of a telex terminal for the "
 805           	"organization." )]
 806              string TelexNumber[];
 807                 [Octetstring, Description (  
 808                 "In the case of an LDAP-derived instance, the UserPassword "
 809           	"property may contain an encrypted password used to access "
 810           	"the organizational unit's resources in a directory." )]
 811              string UserPassword[];
 812                 [MaxLen (15), Description (  
 813                 "An X.121 address for the organization.")]
 814              string X121Address[];
 815              };
 816           
 817           // ==================================================================
 818 karl  1.1 // UserEntity
 819           // ==================================================================
 820              [Abstract, Description (  
 821              "UserEntity is an abstract class that represents users.") ]
 822           class CIM_UserEntity : CIM_OrganizationalEntity 
 823              {  
 824              };
 825           
 826           // ==================================================================
 827           // Person
 828           // ==================================================================
 829              [Description (  
 830              "The Person object class is used to represent people.  The class "
 831              "is defined so as to incorporate commonly-used LDAP attributes to "
 832              "permit implementations to easily derive this information from "
 833              "LDAP-accessible directories.  This class's properties are a "
 834              "subset of a related class, OtherPersonInformation, which "
 835              "defines all the group properties and in array form for "
 836              "directory compatibility. ") ]
 837           class CIM_Person : CIM_UserEntity 
 838              {  
 839 karl  1.1       [Key, MaxLen (256), Description (  
 840           	"CreationClassName indicates the name of the class or the "
 841           	"subclass used in the creation of an instance. When used "
 842           	"with the other key properties of this class, this property "
 843           	"allows all instances of this class and its subclasses to "
 844           	"be uniquely identified.")]
 845              string CreationClassName;
 846                 [Key, MaxLen (1024),Description (  
 847                 "The Name property defines the label by which the object is "
 848           	"known. In the case of an LDAP-derived instance, the Name "
 849           	"property value may be set to the distinguishedName of the "
 850           	"LDAP-accessed object instance.")]
 851              string Name;
 852                 [MaxLen (128), Description (  
 853                 "This property describes the kind of business performed by an "
 854           	"organization.")]
 855              string BusinessCategory;
 856                 [Required, Description (
 857           	"A Common Name is a (possibly ambiguous) name by which the "
 858           	"role is commonly known in some limited scope (such as an "
 859           	"organization) and conforms to the naming conventions of the "
 860 karl  1.1 	"country or culture with which it is associated.")]
 861              string CommonName;
 862                 [Description (
 863           	"Based on inetPrgPerson, the Employee Number property "
 864           	"specifies a numeric or an alphanumeric identifier assigned to "
 865           	"a person.")]
 866              string EmployeeNumber;
 867                 [Description (
 868           	"Based on inetOrgPerson, the Employee Type property is used to "
 869           	"identify the employer to employee relationship.  Typical "
 870           	"values used may include 'Contractor', 'Employee', 'Intern', "
 871           	"'Temp', 'External', and 'Unknown' but any value may be used."
 872           	)]
 873              string EmployeeType;
 874                 [Description (  
 875                 "The person's facsimile telephone number.")]
 876              string FacsimileTelephoneNumber;
 877                 [MaxLen (32), Description (  
 878           	"Based on RFC1274, the Home Phone property specifies a home "
 879           	"telephone number for the person, e.g. + 44 582 10101)." )]
 880              string HomePhone;
 881 karl  1.1       [Description (  
 882           	"The Home Postal Address property values specify the home "
 883           	"address information required for the physical delivery of "
 884           	"postal messages by the postal authority.")]
 885              string HomePostalAddress[];
 886                 [Description (
 887           	"From inetOrgPerson, the JPEG Phto property values may be used "
 888           	"for one or more images of a person using the JPEG File "
 889           	"Interchange Format.")]
 890              string JPEGPhoto;
 891                 [Description (  
 892           	"This property contains the name of a locality, such as a "
 893           	"city, county or other geographic region.")]
 894              string LocalityName;
 895                 [Description (  
 896                 "Based on RFC1274, the mail box addresses for the person "
 897           	"as defined in RFC822.")]
 898              string Mail;
 899                 [Description (  
 900                 "The person's manager within the organization.  In the case of "
 901           	"an LDAP-derived instance, the Manager property value may "
 902 karl  1.1 	"contain the distinguishedName of the Manager.")]
 903              string Manager;
 904                 [MaxLen (32), Description (  
 905           	"Based on RFC1274, the Mobile Phone property specifies a "
 906           	"mobile telephone number for the person, e.g. + 44 582 10101)." 
 907           	)]
 908              string Mobile;
 909                 [Description (  
 910                 "The name of an organizational unit related to the person.")]
 911              string OU;
 912                 [MaxLen (32), Description (  
 913           	"Based on RFC1274, the Pager property specifies a pager "
 914           	"telephone number for the person, e.g. + 44 582 10101).")]
 915              string Pager;
 916                 [Description (  
 917           	"The Postal Address property values specify the address "
 918           	"information required for the physical delivery of postal "
 919           	"messages by the postal authority to the person.")]
 920              string PostalAddress[];
 921                 [MaxLen (40), Description (  
 922           	"The Postal Code property specifies the postal code of the "
 923 karl  1.1 	"organization.  If this value is present it will be part of "
 924           	"the object's postal address.")]
 925              string PostalCode;
 926                 [Description (
 927           	"Based on inetOrgPerson, the person's preferred written or "
 928           	"spoken language.")]
 929              string PreferredLanguage;
 930                 [Description (
 931           	"Based on RFC1274, the Secretary property may be used to "
 932           	"specify a secretary for the person.  In the case of an "
 933           	"LDAP-derived object instance, the value may be a "
 934           	"distinguishedName.")]
 935              string Secretary;
 936                 [Description (  
 937            	"The State or Province Name property specifies a state or "
 938           	"province." )]
 939              string StateOrProvince;
 940                 [Required, Description (
 941           	"The Surname property specifies the linguistic construct that "
 942           	"normally is inherited by an individual from the individual's "
 943           	"parent or assumed by marriage, and by which the individual is "
 944 karl  1.1 	"commonly known.")]
 945              string Surname;
 946                 [MaxLen (32), Description (  
 947           	"The Telephone Number property specifies a telephone number of "
 948           	"the organization, e.g. + 44 582 10101)." )]
 949              string TelephoneNumber;
 950                 [Description (
 951           	"The Title property may be used to specify the person's "
 952           	"designated position or function of the object within an "
 953           	"organization, e.g., Manager, Vice-President, etc.")]
 954              string Title;
 955              };
 956           
 957           // ==================================================================
 958           // OtherPersonInformation
 959           // ==================================================================
 960              [Description (  
 961              "The OtherPersonInformation class is used to provide "
 962              "additional information about an associated Person instance. "
 963              "This class is defined so as to incorporate commonly-used LDAP "
 964              "attributes to permit implementations to easily derive this "
 965 karl  1.1    "information from LDAP-accessible directories.") ]
 966           class CIM_OtherPersonInformation : CIM_UserEntity 
 967              {  
 968                 [Key, MaxLen (256), Description (  
 969           	"CreationClassName indicates the name of the class or the "
 970           	"subclass used in the creation of an instance. When used "
 971           	"with the other key properties of this class, this property "
 972           	"allows all instances of this class and its subclasses to "
 973           	"be uniquely identified.")]
 974              string CreationClassName;
 975                 [Key, MaxLen (1024),Description (  
 976                 "The Name property defines the label by which the object is "
 977           	"known. In the case of an LDAP-derived instance, the Name "
 978           	"property value may be set to the distinguishedName of the "
 979           	"LDAP-accessed object instance.")]
 980              string Name;
 981                 [Description (  
 982                 "In the case of an LDAP-derived instance, the ObjectClass "
 983                 "property value(s) may be set to the objectClass attribute "
 984           	"values.")]
 985              string ObjectClass[];
 986 karl  1.1       [Octetstring, Description (  
 987           	"The Audio property may be used to store an audio clip of the "
 988           	"person.")]
 989              string Audio[];
 990                 [MaxLen (128), Description (  
 991                 "This property describes the kind of business performed by an "
 992           	"organization.")]
 993              string BusinessCategory[];
 994                 [MaxLen (128), Description (
 995           	"The Car License property is used to record the values of the "
 996           	"vehicle license or registration plate associated with an "
 997           	"individual.")]
 998              string CarLicense[];
 999                 [Description (
1000           	"A Common Name is a (possibly ambiguous) name by which the "
1001           	"role is commonly known in some limited scope (such as an "
1002           	"organization) and conforms to the naming conventions of the "
1003           	"country or culture with which it is associated.")]
1004              string CommonName[];
1005                 [Description (
1006           	"The Country Name property specifies a country as defined in "
1007 karl  1.1 	"ISO 3166.")]
1008              string CountryName[];
1009                 [Description (
1010           	"Based on inetOrgPerson, the Department Number is a code for "
1011           	"department to which a person belongs.  This can be strictly "
1012           	"numeric (e.g., 1234) or alphanumeric (e.g., ABC/123).")]
1013              string DepartmentNumber[];
1014                 [MaxLen (1024), Description (  
1015                 "The Descriptions property values may contain human-readable "
1016           	"descriptions of the object.  In the case of an LDAP-derived "  
1017           	"instance, the description attribute may have multiple values "
1018           	"that, therefore, cannot be placed in the inherited "
1019           	"Description property.")]
1020              string Descriptions[];
1021                 [MaxLen (128), Description (  
1022           	"This property is used for the organization's telegram "
1023           	"service.")]
1024              string DestinationIndicator[];
1025                 [Description (
1026           	"Based on inetOrgPerson, the Display Name property values are "
1027           	"used when displaying an entry.")]
1028 karl  1.1    string DisplayName[];
1029                 [Description (
1030           	"Based on inetPrgPerson, the Employee Number property "
1031           	"specifies a numeric or an alphanumeric identifier assigned to "
1032           	"a person.")]
1033              string EmployeeNumber;
1034                 [Description (
1035           	"Based on inetOrgPerson, the Employee Type property is used to "
1036           	"identify the employer to employee relationship.  Typical "
1037           	"values used may include 'Contractor', 'Employee', 'Intern', "
1038           	"'Temp', 'External', and 'Unknown' but any value may be used."
1039           	)]
1040              string EmployeeType[];
1041                 [Description (  
1042                 "The person's facsimile telephone number.")]
1043              string FacsimileTelephoneNumber[];
1044                 [Description (
1045           	"Based on liPerson, the GenerationQualifier property specifies "
1046           	"a name qualifier that represents the person's generation "
1047           	"(e.g., JR., III, etc.).")]
1048              string GenerationQualifier[];
1049 karl  1.1       [Description (
1050           	"The Given Name property is used for the part of a person's "
1051           	"name that is not their surname nor their middle name.")]
1052              string GivenName[];
1053                 [Description (
1054           	"Based on liPerson, the Home Fax property specifies the "
1055           	"person's facsimile telephone number at home.")]
1056              string HomeFax[];
1057                 [MaxLen (32), Description (  
1058           	"Based on RFC1274, the Home Phone property specifies a home "
1059           	"telephone number for the person, e.g. + 44 582 10101)." )]
1060              string HomePhone[];
1061                 [Description (  
1062           	"The Home Postal Address property values specify the home "
1063           	"address information required for the physical delivery of "
1064           	"postal messages by the postal authority.")]
1065              string HomePostalAddress[];
1066                 [Description (
1067           	"Based on inetOrgPerson, the Initials property specifies the "
1068           	"first letters of the person's name, typically the property "
1069           	"values will exclude the first letter of the surname.")]
1070 karl  1.1    string Initials[];
1071                 [MaxLen (16), Description (  
1072                 "The person's International ISDN number.")]
1073              string InternationaliSDNNumber[];
1074                 [Description (
1075           	"From inetOrgPerson, the JPEG Phto property values may be used "
1076           	"for one or more images of a person using the JPEG File "
1077           	"Interchange Format.")]
1078              string JPEGPhoto[];
1079                 [Description (  
1080                 "Uniform Resource Identifier with optional label as defined in "
1081           	"RFC2079.")]
1082              string LabeledURI[]; 
1083                 [Description (  
1084           	"This property contains the name of a locality, such as a "
1085           	"city, county or other geographic region.")]
1086              string LocalityName[];
1087                 [Description (  
1088                 "Based on RFC1274, the mail box addresses for the person "
1089           	"as defined in RFC822.")]
1090              string Mail[];
1091 karl  1.1       [Description (  
1092                 "The person's manager within the organization.  In the case of "
1093           	"an LDAP-derived instance, the Manager property value may "
1094           	"contain the distinguishedName of the Manager.")]
1095              string Manager[];
1096                 [Description (
1097           	"Based on liPerson, the middle name of the person.")]
1098              string MiddleName[];
1099                 [MaxLen (32), Description (  
1100           	"Based on RFC1274, the Mobile Phone property specifies a "
1101           	"mobile telephone number for the person, e.g. + 44 582 10101)." 
1102           	)]
1103              string Mobile[];
1104                 [Required, Description (  
1105                 "The name of the person's organization.")]
1106              string OrganizationName[];
1107                 [Description (
1108           	"Based on RFC1274, the OrganizationalStatus property specifies "
1109           	"a category by which a person is often referred to within an "
1110           	"organization.  Examples of usage in academia might include "
1111           	"undergraduate student, researcher, lecturer, etc.")]
1112 karl  1.1    string OrganizationalStatus[];
1113                [Description (  
1114                 "Based on RFC1274, this property may be used for electronic "
1115           	"mail box addresses other than RFC822 and X.400.")]
1116              string OtherMailbox[];
1117                 [Description (  
1118                 "The name of an organizational unit related to the person.")]
1119              string OU[];
1120                 [MaxLen (32), Description (  
1121           	"Based on RFC1274, the Pager property specifies a pager "
1122           	"telephone number for the person, e.g. + 44 582 10101).")]
1123              string Pager[];
1124                 [Description (
1125           	"Based on liPerson, the PersonalTitle property may be used to "
1126           	"specify the person's personal title such as Mr., Ms., Dr., "
1127           	"Prof. etc.")]
1128              string PersonalTitle[];
1129                 [Octetstring, Description (
1130           	"Based on RFC1274, the Photo property may be used to specify a "
1131           	"photograph for the person encoded in G3 fax as explained in "
1132           	"recommendation T.4, with an ASN.1 wrapper to make it "
1133 karl  1.1 	"compatible with an X.400 BodyPart as defined in X.420.")]
1134              string Photo[];
1135                 [MaxLen (128), Description (  
1136                 "The Physical Delivery Office Name property specifies the name "
1137           	"of the city, village, etc. where a physical delivery office "
1138           	"is situated.")]
1139              string PhysicalDeliveryOfficeName[];
1140                 [Description (  
1141           	"The Postal Address property values specify the address "
1142           	"information required for the physical delivery of postal "
1143           	"messages by the postal authority to the person.")]
1144              string PostalAddress[];
1145                 [MaxLen (40), Description (  
1146           	"The Postal Code property specifies the postal code of the "
1147           	"organization.  If this value is present it will be part of "
1148           	"the object's postal address.")]
1149              string PostalCode[];
1150                 [MaxLen (40), Description (  
1151           	"The Post Office Box property specifies the Post Office Box "
1152           	"by which the person will receive physical postal delivery. "
1153           	"If present, the property value is part of the object's postal "
1154 karl  1.1 	"address.")]
1155              string PostOfficeBox[];
1156                 [Description (  
1157           	"The Preferred Delivery Method property specifies the "
1158           	"preferred method to be used for contacting the person.")]
1159              string PreferredDeliveryMethod;
1160                 [Description (
1161           	"Based on inetOrgPerson, the person's preferred written or "
1162           	"spoken language.")]
1163              string PreferredLanguage;
1164                 [Description (  
1165           	"This property specifies a postal address suitable for receipt "
1166           	"of telegrams or expedited documents, where it is necessary to "
1167           	"have the recipient accept delivery.")]
1168              string RegisteredAddress[];
1169                 [Description (
1170           	"Based on RFC1274, the Room Number property specifies the room "
1171           	"number for the person.")]
1172              string RoomNumber[];
1173                 [Description (
1174           	"Based on RFC1274, the Secretary property may be used to "
1175 karl  1.1 	"specify a secretary for the person.  In the case of an "
1176           	"LDAP-derived object instance, the value may be a "
1177           	"distinguishedName.")]
1178              string Secretary[];
1179                 [Description (  
1180           	"In the case of an LDAP-derived instance, the See Also "
1181           	"property specifies distinguishedName of other Directory "
1182           	"objects which may be other aspects (in some sense) of the "
1183           	"same real world object.")]
1184              string SeeAlso[];
1185                 [Description (  
1186            	"The State or Province Name property specifies a state or "
1187           	"province." )]
1188              string StateOrProvince[];
1189                 [MaxLen (128), Description (  
1190           	"The Street Address property specifies a site for the local "
1191           	"distribution and physical delivery in a postal address, i.e. "
1192           	"the street name, place, avenue, and the number." )]
1193              string Street[];
1194                 [Description (
1195           	"The Surname property specifies the linguistic construct that "
1196 karl  1.1 	"normally is inherited by an individual from the individual's "
1197           	"parent or assumed by marriage, and by which the individual is "
1198           	"commonly known.")]
1199              string Surname[];
1200                 [MaxLen (32), Description (  
1201           	"The Telephone Number property specifies a telephone number of "
1202           	"the organization, e.g. + 44 582 10101)." )]
1203              string TelephoneNumber[];
1204                 [Description (  
1205           	"The Teletex Terminal Identifier property specifies the "
1206           	"Teletex terminal identifier (and, optionally, parameters) for "
1207           	"a teletex terminal associated with the organization." )]
1208              string TeletexTerminalIdentifier[];
1209                 [Description (  
1210           	"The Telex Number property specifies the telex number, country "
1211           	"code, and answerback code of a telex terminal for the "
1212           	"organization." )]
1213              string TelexNumber[];
1214                 [Octetstring, Description (  
1215                 "A small image of the person's organization logo")]
1216              string ThumbnailLogo[];
1217 karl  1.1       [Octetstring, Description (
1218           	"A small image of the person.")]
1219              string ThumbnailPhoto[];
1220                 [Description (
1221           	"The Title property may be used to specify the person's "
1222           	"designated position or function of the object within an "
1223           	"organization, e.g., Manager, Vice-President, etc.")]
1224              string Title[];
1225                 [Description (
1226           	"Based on RFC1274, the UserID property may be used to specify "
1227           	"a computer system login name.")]
1228              string UserID[];
1229                 [Description (  
1230           	"A unique identifier that may be assigned in an environment to "
1231           	"differentiate between uses of a given named person instance."
1232           	)]
1233              string UniqueIdentifier[];
1234                 [Octetstring, Description (
1235           	"Based on inetOrgPerson and for directory compatibility, the "
1236           	"User Certificate property may be used to specify a public key "
1237           	"certificate for the person.")]
1238 karl  1.1    string UserCertificate[];
1239                 [Octetstring, Description (  
1240                 "In the case of an LDAP-derived instance, the UserPassword "
1241           	"property may contain an encrypted password used to access "
1242           	"the person's resources in a directory." )]
1243              string UserPassword[];
1244                 [Octetstring, Description (
1245           	"Based on inetOrgPerson and for directory compatibility, the "
1246           	"UserPKCS12 property value may be used to   provides a format "
1247           	"for exchange of personal identity information.  The property "
1248           	"values are PFX PDUs stored as Octetstrings.")]
1249              string UserPKCS12[];
1250                 [Octetstring, Description (
1251           	"Based on inetOrgPerson, the User S/MIME Certificate property "
1252           	"may be used to specify the person's an S/MIME (RFC1847) "
1253           	"signed message with a zero-length body. It contains the "
1254           	"entire certificate chain and the signed attribute that "
1255           	"describes their algorithm capabilities.  If available, this "
1256           	"property is preferred over the UserCertificate property for "
1257           	"S/MIME applications.")]  
1258              string UserSMIMECertificate[];
1259 karl  1.1       [MaxLen (15), Description (  
1260                 "An X.121 address for the organization.")]
1261              string X121Address[];
1262                 [Octetstring, Description (  
1263           	"An X.500 specified unique identifier that may be assigned in "
1264           	"an environment to differentiate between uses of a given named "
1265           	"person object instance.")]
1266              string X500UniqueIdentifier[];
1267              };
1268           
1269           
1270           // ==================================================================
1271           // UsersAccess
1272           // ==================================================================
1273              [Description (  
1274              "The UsersAccess object class is used to specify a system user "
1275              "that permitted access to system resources.  The ManagedElement "
1276              "that has access to system resources (represented in the model in "
1277              "the ElementAsUser association) may be a person, a service, a "
1278              "service access point or any collection thereof. Whereas the "
1279              "Account class represents the user's relationship to a system "
1280 karl  1.1    "from the perspective of the security services of the system, the "
1281              "UserAccess class represents the relationships to the systems "
1282              "independent of a particular system or service.") ]
1283           class CIM_UsersAccess: CIM_UserEntity 
1284              {  
1285                 [Key, MaxLen (256), Description (  
1286           	"CreationClassName indicates the name of the class or the "
1287           	"subclass used in the creation of an instance. When used "
1288           	"with the other key properties of this class, this property "
1289           	"allows all instances of this class and its subclasses to "
1290           	"be uniquely identified.")]
1291              string CreationClassName;
1292                 [Key, MaxLen (256),Description (  
1293                 "The Name property defines the label by which the object is "
1294           	"known.")]
1295              string Name;
1296                 [Key, Description (
1297           	"The ElementID property uniquely specifies the ManagedElement "
1298           	"object instance that is the user represented by the "
1299           	"UsersAccess object instance.  The ElementID is formatted "
1300           	"similarly to a model path except that the property-value "
1301 karl  1.1 	"pairs are ordered in alphabetical order (US ASCII lexical "
1302           	"order).")]
1303              string ElementID;
1304                 [Description ( 
1305           	"Biometric information used to identify a person.  The "
1306           	"property value is left null or set to 'N/A' for non-human "
1307           	"user or a user not using biometric information for "
1308           	"authentication."),
1309           	Values { "N/A", "Other", "Facial", "Retina", "Mark", "Finger", 
1310           	         "Voice", "DNA-RNA", "EEG"} ]
1311              uint16 Biometric[];
1312              };
1313           
1314           // ================================================================== 
1315           //    Account
1316           // ==================================================================
1317                   [Description (
1318                    "CIM_Account is the information held by a SecurityService "
1319                    "to track identity and privileges managed by that service.  "
1320                    "Common examples of an Account are the entries in a UNIX "
1321                    "/etc/passwd file.  Several kinds of security services use "
1322 karl  1.1          "various information from those entries - the /bin/login "
1323                    "program uses the account name ('root') and hashed password "
1324                    "to authenticate users, and the file service, for instance, "
1325                    "uses the UserID field ('0') and GroupID field ('0') to "
1326                    "record ownership and determine access control privileges "
1327                    "on files in the file system. This class is defined so as "
1328                    "to incorporate commonly-used LDAP attributes to permit "
1329                    "implementations to easily derive this information from "
1330                    "LDAP-accessible directories.") ]
1331           class CIM_Account:CIM_LogicalElement
1332           {
1333                    [Propagated ("CIM_System.CreationClassName"), Key, 
1334                     MaxLen (256), Description ("Scoping System")]
1335              string SystemCreationClassName;
1336                    [Propagated ("CIM_System.Name"), Key, 
1337                     MaxLen (256),Description ("Scoping System")]
1338              string SystemName;
1339                 [Key, MaxLen (256), Description (  
1340                   "CreationClassName indicates the name of the class or the "
1341                   "subclass used in the creation of an instance. When used "
1342                   "with the other key properties of this class, this property "
1343 karl  1.1         "allows all instances of this class and its subclasses to "
1344                   "be uniquely identified.")]
1345              string CreationClassName;
1346                 [Key, Override("Name"), MaxLen (1024), Description (  
1347                 "The Name property defines the label by which the object is "
1348                   "known.  The value of this property may be set to be the same "
1349                   "as that of the UserID property or, in the case of an "
1350                   "LDAP-derived instance, the Name property value may be set to "
1351                   "the distinguishedName of the LDAP-accessed object instance.")]
1352              string Name;
1353                   [MaxLen (256), Description (
1354                    "UserID is the value used by the SecurityService to "
1355                    "represent identity.  For an authentication service, the "
1356                    "UserID may be the name of the user, or for an authorization "
1357                    "service the value which serves as a handle to a mapping of "
1358                    "the identity.") ] 
1359              string UserID;
1360                 [Description (  
1361                 "In the case of an LDAP-derived instance, the ObjectClass "
1362                 "property value(s) may be set to the objectClass attribute "
1363                   "values.")]
1364 karl  1.1    string ObjectClass[];
1365                 [MaxLen (1024), Description (  
1366                 "The Descriptions property values may contain human-readable "
1367                   "descriptions of the object.  In the case of an LDAP-derived "  
1368                   "instance, the description attribute may have multiple values "
1369                   "that, therefore, cannot be placed in the inherited "
1370                   "Description property.")]
1371              string Descriptions[];
1372                   [Description (
1373                   "Based on RFC1274, the host name of the system(s) for which "
1374                   "the account applies.  The host name may be a fully-qualified "
1375                   "DNS name or it may be an unqualified host name.")] 
1376              string Host[];
1377                 [Description (  
1378                   "This property contains the name of a locality, such as a "
1379                   "city, county or other geographic region.")]
1380              string LocalityName[];
1381                 [Required, Description (  
1382                 "The name of the organization related to the account.")]
1383              string OrganizationName[];
1384                 [Description (  
1385 karl  1.1       "The name of an organizational unit related to the account.")]
1386              string OU[];
1387                 [Description (  
1388                   "In the case of an LDAP-derived instance, the See Also "
1389                   "property specifies distinguishedName of other Directory "
1390                   "objects which may be other aspects (in some sense) of the "
1391                   "same real world object.")]
1392              string SeeAlso[];
1393                 [Octetstring, Description (
1394                   "Based on inetOrgPerson and for directory compatibility, the "
1395                   "User Certificate property may be used to specify a public key "
1396                   "certificate for the person.")]
1397              string UserCertificate[];
1398                 [Octetstring, Description (  
1399                 "In the case of an LDAP-derived instance, the UserPassword "
1400                   "property may contain an encrypted password used to access "
1401                   "the person's resources in a directory." )]
1402              string UserPassword[];
1403           };
1404           
1405           
1406 karl  1.1 // ================================================================== 
1407           //    SecurityService
1408           // ==================================================================
1409                   [ Abstract, Description (
1410                    "CIM_SecurityService ...") ]
1411           class CIM_SecurityService:CIM_Service
1412           {
1413           };
1414           
1415           // ================================================================== 
1416           //    AccountManagementService
1417           // ==================================================================
1418              [Description (
1419              "CIM_AccountManagementService creates, manages, and if necessary "
1420              "destroys Accounts on behalf of other SecuritySerices.") ]
1421           class CIM_AccountManagementService:CIM_SecurityService
1422              {
1423              };
1424           
1425           // ================================================================== 
1426           //    AuthenticationService
1427 karl  1.1 // ==================================================================
1428              [Description (
1429              "CIM_AuthenticationService verifies users' identities through "
1430              "some means.  These services are decomposed into a subclass that "
1431              "provides credentials to users and a subclass that provides for "
1432              "the verification of the validity of a credential and, perhaps, "
1433              "the appropriateness of its use for access to target resources. "
1434              "The persistent state information used from one such verification "
1435              "to another is maintained in an Account for that Users Access on "
1436              "that AuthenticationService.") ]
1437           class CIM_AuthenticationService:CIM_SecurityService
1438              {
1439              };
1440           
1441           // ================================================================== 
1442           //    VerificationService
1443           // ==================================================================
1444              [Description (
1445              "CIM_VerificationService is the authentication service that "
1446              "verifies a credential for use and may also verify the "
1447              "appropriateness of a particular credential in conjunction with a "
1448 karl  1.1    "particular target resource.")]
1449           class CIM_VerificationService:CIM_AuthenticationService
1450              {
1451              };
1452           
1453           // ================================================================== 
1454           //    CredentialManagementService
1455           // ==================================================================
1456              [Description (
1457              "CIM_CredentialManagementService issues credentials and manages "
1458              "the credential lifecycle.") ] 
1459           class CIM_CredentialManagementService:CIM_AuthenticationService
1460              {
1461              };
1462           
1463           // ==================================================================
1464           //    CredentialManagementSAP
1465           // ==================================================================
1466                   [Description (
1467                    "CIM_CredentialManagementSAP represents the ability to "
1468                    "utilize or invoke a CredentialManagementService.") ] 
1469 karl  1.1 class CIM_CredentialManagementSAP:CIM_ServiceAccessPoint
1470           {
1471                   [Description ("The URL for the access point.") ] 
1472               string URL;
1473           };
1474           
1475           // ================================================================== 
1476           //    CertificateAuthority
1477           // ==================================================================
1478                   [Description ("A Certificate Authority (CA) is a credential "
1479                    "management service that issues and cryptographically "
1480                    "signs certificates thus acting as an trusted third-party "
1481                    "intermediary in establishing trust relationships. The CA "
1482                    "authenicates the holder of the private key related to the "
1483                    "certificate's public key; the authenicated entity is "
1484                    "represented by the UsersAccess class.") ]
1485           class CIM_CertificateAuthority:CIM_CredentialManagementService
1486           {
1487                   [Description (
1488                    "The CAPolicyStatement describes what care is taken by the "
1489                    "CertificateAuthority when signing a new certificate.  "
1490 karl  1.1          "The CAPolicyStatment may be a dot-delimited ASN.1 OID "
1491                    "string which identifies to the formal policy statement.") ] 
1492               string CAPolicyStatement;
1493                   [Description ( "A CRL, or CertificateRevocationList, is a "
1494                    "list of certificates which the CertificateAuthority has "
1495                    "revoked and which are not yet expired.  Revocation is "
1496                    "necessary when the private key associated with the public "
1497                    "key of a certificate is lost or compromised, or when the "
1498                    "person for whom the certificate is signed no longer is "
1499                    "entitled to use the certificate."), Octetstring ]
1500               string CRL[];
1501                   [Description ("Certificate Revocation Lists may be "
1502                    "available from a number of distribution points.  "
1503                    "CRLDistributionPoint array values provide URIs for those "
1504                    "distribution points.")]
1505               string CRLDistributionPoint[];
1506                   [Description ( "Certificates refer to their issuing CA by "
1507                    "its Distinguished Name (as defined in X.501)."), DN]
1508               string CADistinguishedName;
1509                   [Description ( "The frequency, expressed in hours, at which "
1510           	   "the CA will update its Certificate Revocation List.  Zero "
1511 karl  1.1 	   "implies that the refresh frequency is unknown."),
1512           	   Units("Hours")]
1513               uint8 CRLRefreshFrequency;
1514                   [Description ( "The maximum number of certificates in a "
1515                    "certificate chain permitted for credentials issued by "
1516                    "this certificate authority or it's subordinate CAs.\n"
1517                    "The MaxChainLength of a superior CA in the trust "
1518                    "hierarchy should be greater than this value and the "
1519                    "MaxChainLength of a subordinate CA in the trust hierarchy "
1520                    "should be less than this value.")]
1521               uint8 MaxChainLength;
1522           };
1523           
1524           
1525           // ================================================================== 
1526           //    KerberosKeyDistributionCenter
1527           // ==================================================================
1528                   [Description (
1529                    "CIM_KerberosKeyDistributionCenter ...") ]
1530           class CIM_KerberosKeyDistributionCenter:CIM_CredentialManagementService
1531           {
1532 karl  1.1         [Override ("Name"),
1533                    Description ("The Realm served by this KDC.")] 
1534               string Name;
1535                   [Description ("The version of Kerberos supported by this "
1536                    "service."),
1537                    Values {"V4", "V5", "DCE", "MS"} ]
1538               uint16 Protocol[];
1539           };
1540           
1541           
1542           // ================================================================== 
1543           //    Notary
1544           // ==================================================================
1545                   [Description (
1546                    "CIM_Notary is an AuthenticationService (credential "
1547                    "management service) which compares the "
1548                    "biometric characteristics of a person with the "
1549                    "known characteristics of an Users Access, and determines "
1550                    "whether the person is the UsersAccess.  An example is "
1551                    "a bank teller who compares a picture ID with the person "
1552                    "trying to cash a check, or a biometric login service that "
1553 karl  1.1          "uses voice recognition to identify a user.") ]
1554           class CIM_Notary:CIM_CredentialManagementService
1555           {
1556                   [Description ( "The types of biometric information which "
1557           	   "this Notary can compare."),
1558                    Values { "N/A", "Other", "Facial", "Retina", "Mark",
1559                             "Finger", "Voice", "DNA-RNA", "EEG"} ] 
1560               uint16 Comparitors;
1561                   [Description (
1562                    "The SealProtocol is how the decision of the Notary is "
1563                    "recorded for future use by parties who will rely on its "
1564                    "decision.  For instance, a drivers licence frequently "
1565                    "includes tamper-resistent coatings and markings to protect "
1566                    "the recorded decision that a driver, having various "
1567                    "biometric characteristics of height, weight, hair and eye "
1568                    "color, using a particular name, has features represented in "
1569                    "a photograph of their face.")]
1570               string SealProtocol;
1571                   [Description (
1572                    "CharterIssued documents when the Notary is first "
1573                    "authorized, by whoever gave it responsibility, to perform "
1574 karl  1.1          "its service.")]
1575               datetime CharterIssued;
1576                   [Description (
1577                    "CharterExpired documents when the Notary is no longer "
1578                    "authorized, by whoever gave it responsibility, to perform "
1579                    "its service.")]
1580               datetime CharterExpired;
1581           };
1582           
1583           
1584           // ================================================================== 
1585           //    LocalCredentialManagementService
1586           // ==================================================================
1587                   [Description (
1588                    "CIM_LocalCredentialManagementService is a credential "
1589                    "management service that provides local system "
1590                    "management of credentials used by the local system.") ]
1591           class CIM_LocalCredentialManagementService:CIM_CredentialManagementService
1592           {
1593           };
1594           
1595 karl  1.1 // ================================================================== 
1596           //    SharedSecretService
1597           // ==================================================================
1598                   [Description (
1599                    "CIM_SharedSecretService is a service which ascertains "
1600                    "whether messages received are from the Principal with "
1601                    "whom a secret is shared.  Examples include a login "
1602                    "service that proves identity on the basis of knowledge of "
1603                    "the shared secret, or a transport integrity service (like "
1604                    "Kerberos provides) that includes a message authenticity "
1605                    "code that proves each message in the messsage stream came "
1606                    "from someone who knows the shared secret session key.")]
1607           class CIM_SharedSecretService:CIM_LocalCredentialManagementService
1608           {
1609                   [MaxLen (256), Description (
1610                    "The Algorithm used to convey the shared secret, such as "
1611                    "HMAC-MD5,or PLAINTEXT.") ] 
1612               string Algorithm;
1613                   [Description (
1614                    "The Protocol supported by the SharedSecretService.")]
1615               string Protocol;
1616 karl  1.1 };
1617           
1618           // ================================================================== 
1619           //    PublicKeyManagementService
1620           // ==================================================================
1621                   [Description (
1622                    "CIM_PublicKeyManagementService is a credential management "
1623                    "service that provides local system management of public "
1624                    "keys used by the local system.") ]
1625           class CIM_PublicKeyManagementService:CIM_LocalCredentialManagementService
1626           {
1627           };
1628           
1629           // ================================================================== 
1630           //    Credential
1631           // ==================================================================
1632                   [Abstract, Description (
1633                    "Subclasses of CIM_Credential define materials, "
1634                    "information, or other data which are used to prove the "
1635                    "identity of a CIM_UsersAccess to a particular "
1636                    "CIM_SecurityService.  Generally, there may be some shared "
1637 karl  1.1          "information, or credential material which is used to "
1638                    "identify and authenticate ones self in the process of "
1639                    "gaining access to, or permission to use, an Account. "
1640                    "Such credential material may be used to authenticate a "
1641                    "users access identity  initially, as done by a "
1642                    "CIM_AuthenticationService (see later), and additionally on "
1643                    "an ongoing basis during the course of a connection or "
1644                    "other  security association, as proof that each received "
1645                    "message or communication came from the owning user access of "
1646                    "that credential material.") ]
1647           class CIM_Credential:CIM_ManagedElement
1648           {
1649           };
1650           
1651           
1652           // ================================================================== 
1653           //    PublicKeyCertificate
1654           // ==================================================================
1655                   [Description ("A Public Key Certificate is a credential "
1656                    "that is cryptographically signed by a trusted Certificate "
1657                    "Authority (CA) and issued to an authenticated entity "
1658 karl  1.1          "(e.g., human user, service,etc.) called the Subject in "
1659                    "the certificate and represented by the UsersAccess class. "
1660                    "The public key in the certificate is cryptographically "
1661                    "related to a private key that is to be held and kept "
1662                    "private by the authenticated Subject.  The certificate "
1663                    "and its related private key can then be used for "
1664                    "establishing trust relationships and securing "
1665                    "communications with the Subject.  Refer to the ITU/CCITT "
1666                    "X.509 standard as an example of such certificates.") ]
1667           class CIM_PublicKeyCertificate:CIM_Credential
1668           {
1669 mike  1.2          [Propagated ("CIM_CertificateAuthority.SystemCreationClassName"), 
1670 karl  1.1           Key, MaxLen (256), Description ("Scoping System")]
1671                string SystemCreationClassName;
1672 mike  1.2          [Propagated ("CIM_CertificateAuthority.SystemName"), 
1673 karl  1.1           Key, MaxLen (256),Description ("Scoping System")]
1674                string SystemName;
1675                    [Propagated ("CIM_CertificateAuthority.CreationClassName"),
1676                     Key, MaxLen (256), Description ("Scoping Service")]
1677                string ServiceCreationClassName;
1678                    [Propagated ("CIM_CertificateAuthority.Name"), 
1679                     Key, MaxLen (256), Description ("Scoping Service")]
1680                string ServiceName; 
1681                    [Key, MaxLen (256), Description (
1682                     "Certificate subject identifier")]
1683                string Subject;
1684                    [MaxLen (256), Description (
1685                     "Alternate subject identifier for the Certificate.")]
1686                string AltSubject;
1687                    [Description ("The DER-encoded raw public key."), Octetstring]
1688                uint8 PublicKey[];
1689           };
1690           
1691           // ================================================================== 
1692           //    UnsignedPublicKey
1693           // ==================================================================
1694 karl  1.1         [Description (
1695                    "A CIM_UnsignedPublicKey represents an unsigned public "
1696                    "key credential.  The local UsersAccess (or subclass "
1697                    "thereof) accepts the public key as authentic because of "
1698                    "a direct trust relationship rather than via a third-party "
1699                    "Certificate Authority.") ]
1700           class CIM_UnsignedPublicKey:CIM_Credential
1701           {
1702 mike  1.2          [Key, MaxLen (256), Description ("Scoping System"), Propagated 	   ("CIM_PublicKeyManagementService.SystemCreationClassName")]          
1703 karl  1.1      string SystemCreationClassName;
1704 mike  1.2          [Propagated ("CIM_PublicKeyManagementService.SystemName"), 
1705 karl  1.1           Key, MaxLen (256),Description ("Scoping System")]
1706                string SystemName;
1707                    [Propagated ("CIM_PublicKeyManagementService.CreationClassName"),
1708                     Key, MaxLen (256), Description ("Scoping Service")]
1709                string ServiceCreationClassName;
1710                    [Propagated ("CIM_PublicKeyManagementService.Name"), 
1711                     Key, MaxLen (256), Description ("Scoping Service")]
1712                string ServiceName; 
1713                    [Key, MaxLen (256), Description (
1714                     "The Identity of the Peer with whom a direct trust "
1715                     "relationship exists.  The public key may be used for "
1716                     "security functions with the Peer."),
1717                    ModelCorrespondence 
1718                      {"CIM_PublicKeyManagementService.PeerIdentityType" } ]
1719                string PeerIdentity;
1720           	   [Description ("PeerIdentityType is used to describe the "
1721                     "type of the PeerIdentity.  The currently defined values "
1722                     "are used for IKE identities."),
1723           	   ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", 
1724                     "9", "10", "11"},
1725           	   Values {"Other", "IPV4_ADDR", "FQDN", "USER_FQDN", 
1726 karl  1.1           "IPV4_ADDR_SUBNET", "IPV6_ADDR", "IPV6_ADDR_SUBNET", 
1727                     "IPV4_ADDR_RANGE", "IPV6_ADDR_RANGE", "DER_ASN1_DN", 
1728                     "DER_ASN1_GN", "KEY_ID"},
1729                    ModelCorrespondence 
1730                      {"CIM_PublicKeyManagementService.PeerIdentity" } ]
1731                uint16 PeerIdentityType;
1732                    [Description ("The DER-encoded raw public key."), 
1733                     Octetstring]
1734                uint8 PublicKey[];
1735           };
1736           
1737           // ================================================================== 
1738           //    KerberosTicket
1739           // ==================================================================
1740                   [Description (
1741                    "A CIM_KerberosTicket represents a credential issued by a "
1742                    "particular Kerberos Key Distribution Center (KDC) "
1743                    "to a particular CIM_UsersAccess as the result of a "
1744                    "successful authentication process.  There are two types of "
1745                    "tickets that a KDC may issue to a Users Access - a "
1746                    "TicketGranting ticket, which is used to protect and "
1747 karl  1.1          "authenticate communications between the Users Access and the "
1748                    "KDC, and a Session ticket, which the KDC issues to two "
1749                    "Users Access to allow them to communicate with each other. "
1750                     ) ]
1751           class CIM_KerberosTicket:CIM_Credential
1752           {
1753 mike  1.2          [Key, MaxLen (256), Description ("Scoping System"), Propagated
1754           	   ("CIM_KerberosKeyDistributionCenter.SystemCreationClassName")]
1755 karl  1.1      	string SystemCreationClassName;
1756 mike  1.2          [Propagated ("CIM_KerberosKeyDistributionCenter.SystemName"), 
1757           	   Key, MaxLen (256),Description ("Scoping System")]
1758 karl  1.1      	string SystemName;
1759                    [Key, MaxLen (256), Propagated 
1760                    ("CIM_KerberosKeyDistributionCenter.CreationClassName"), 
1761                    Description ("Scoping Service")]
1762                	string ServiceCreationClassName;
1763                    [Propagated ("CIM_KerberosKeyDistributionCenter.Name"), 
1764                    Key, MaxLen (256),
1765                    Description ("Scoping Service.  The Kerberos KDC Realm of "
1766                   "CIM_KerberosTicket is used to record the security "
1767                   "authority, or Realm, name so that tickets issued by "
1768                   "different Realms can be separately managed and "
1769           	  "enumerated.")]
1770                	string ServiceName;
1771                   [Key, MaxLen (256), Description ("The name of the service "
1772           	   "for which this ticket is used.")]
1773                	string AccessesService;
1774                   [Key, MaxLen (256), Description (
1775                    "RemoteID is the name by which the user is known at "
1776                    "the KDC security service.")]
1777                	string RemoteID;
1778                	datetime Issued;
1779 karl  1.1      	datetime Expires;
1780           	  [Description (
1781           	  "The Type of CIM_KerberosTicket is used to indicate whether "
1782           	  "the ticket in question was issued by the Kerberos Key "
1783           	  "Distribution Center (KDC) to support ongoing communication "
1784           	  "between the Users Access and the KDC (\"TicketGranting\"), "
1785           	  "or was issued by the KDC to support ongoing communication "
1786           	  "between two Users Access entities (\"Session\")." ),
1787           	  Values {"Session", "TicketGranting"}]
1788           	uint16 TicketType;
1789           };
1790           
1791           
1792           // ================================================================== 
1793           //    SharedSecret
1794           // ==================================================================
1795                   [Description (
1796                    "CIM_SharedSecret is the secret shared between a Users Access "
1797                    "and a particular SharedSecret security service.  Secrets "
1798                    "may be in the form of a password used for initial "
1799                    "authentication, or as with a session key, used as part of "
1800 karl  1.1          "a message authentication code to verify that a message "
1801                    "originated by the pricinpal with whom the secret is shared. "
1802                    "It is important to note that SharedSecret is not just the "
1803                    "password, but rather is the password used with a particular "
1804                    "security service.")]
1805           class CIM_SharedSecret:CIM_Credential
1806           {
1807 mike  1.2          [Propagated ("CIM_SharedSecretService.SystemCreationClassName"), 
1808           	    Key, MaxLen (256), Description ("Scoping System")]
1809 karl  1.1      string SystemCreationClassName;
1810 mike  1.2          [Propagated ("CIM_SharedSecretService.SystemName"), Key, 
1811 karl  1.1           MaxLen (256),Description ("Scoping System")]
1812                string SystemName;
1813                    [Key, MaxLen (256), Propagated 
1814                     ("CIM_SharedSecretService.CreationClassName"), 
1815                     Description ("Scoping Service")]
1816                string ServiceCreationClassName;
1817                    [Propagated ("CIM_SharedSecretService.Name"), 
1818                     Key, MaxLen (256),
1819                     Description ("Scoping Service")]
1820                string ServiceName;
1821                   [Key, MaxLen (256), Description (
1822                    "RemoteID is the name by which the user is known at "
1823                    "the remote secret key authentication service.")]
1824                string RemoteID; 
1825                   [Description (
1826                    "secret is the secret known by the Users Access.")]
1827                string secret;
1828                   [Description (
1829                    "algorithm names the transformation algorithm, if any, used "
1830                    "to protect passwords before use in the protocol.  For "
1831                    "instance, Kerberos doesn't store passwords as the shared "
1832 karl  1.1          "secret, but rather, a hash of the password.")]
1833                string algorithm;
1834                   [Description (
1835                    "protocol names the protocol with which the SharedSecret is "
1836                    "used.")]
1837                string protocol;
1838           };
1839           
1840           // ================================================================== 
1841           //    NamedSharedIKESecret
1842           // ==================================================================
1843                   [Description (
1844                    "CIM_NamedSharedIKESecret indirectly represents a shared "
1845                    "secret credential.  The local identity, IKEIdentity, "
1846                    "and the remote peer identity share the secret that is "
1847                    "named by the SharedSecretName.  The SharedSecretName is "
1848                    "used SharedSecretService to reference the secret.") ]
1849           class CIM_NamedSharedIKESecret:CIM_Credential
1850           {
1851 mike  1.2          [Propagated ("CIM_SharedSecretService.SystemCreationClassName"), 
1852 karl  1.1           Key, MaxLen (256), Description ("Scoping System")]
1853                string SystemCreationClassName;
1854 mike  1.2          [Propagated ("CIM_SharedSecretService.SystemName"), 
1855 karl  1.1           Key, MaxLen (256),Description ("Scoping System")]
1856                string SystemName;
1857                    [Propagated ("CIM_SharedSecretService.CreationClassName"),
1858                     Key, MaxLen (256), Description ("Scoping Service")]
1859                string ServiceCreationClassName;
1860                    [Propagated ("CIM_SharedSecretService.Name"), 
1861                     Key, MaxLen (256), Description ("Scoping Service")]
1862                string ServiceName; 
1863                    [Key, MaxLen (256), Description (
1864                     "The local Identity with whom the direct trust "
1865                     "relationship exists."),
1866                    ModelCorrespondence 
1867                      {"CIM_NamedSharedIKESecret.LocalIdentityType" } ]
1868                string LocalIdentity;
1869           	   [Key, Description ("LocalIdentityType is used to describe "
1870                     "the type of the LocalIdentity."),
1871           	   ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", 
1872                     "9", "10", "11"},
1873           	   Values {"IPV4_ADDR", "FQDN", "USER_FQDN", 
1874                     "IPV4_ADDR_SUBNET", "IPV6_ADDR", "IPV6_ADDR_SUBNET", 
1875                     "IPV4_ADDR_RANGE", "IPV6_ADDR_RANGE", "DER_ASN1_DN", 
1876 karl  1.1           "DER_ASN1_GN", "KEY_ID"},
1877                    ModelCorrespondence 
1878                      {"CIM_NamedSharedIKESecret.LocalIdentity" } ]
1879               uint16 LocalIdentityType;
1880                    [Key, MaxLen (256), Description (
1881                     "The peer identity with whom the direct trust "
1882                     "relationship exists."),
1883                    ModelCorrespondence 
1884                      {"CIM_NamedSharedIKESecret.PeerIdentityType" } ]
1885                string PeerIdentity;
1886           	   [Key, Description ("PeerIdentityType is used to describe "
1887                     "the type of the PeerIdentity."),
1888           	   ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", 
1889                     "9", "10", "11"},
1890           	   Values {"IPV4_ADDR", "FQDN", "USER_FQDN", 
1891                     "IPV4_ADDR_SUBNET", "IPV6_ADDR", "IPV6_ADDR_SUBNET", 
1892                     "IPV4_ADDR_RANGE", "IPV6_ADDR_RANGE", "DER_ASN1_DN", 
1893                     "DER_ASN1_GN", "KEY_ID"},
1894                    ModelCorrespondence 
1895                      {"CIM_NamedSharedIKESecret.PeerIdentity" } ]
1896                uint16 PeerIdentityType;
1897 karl  1.1          [Description ("SharedSecretName is an indirect reference "
1898                     "to a shared secret.  The SecretService does not expose "
1899                     "the actual secret but rather provides access to the "
1900                     "secret via a name.")]
1901                string SharedSecretName;
1902           };
1903           
1904           // ================================================================== 
1905           //    AuthorizationService
1906           // ==================================================================
1907              [Description (
1908              "CIM_AuthorizationService determines whether a user, by "
1909              "association with an Account used by the AuthorizationService, is "
1910              "permitted access a resource or set of resources.") ]
1911           class CIM_AuthorizationService:CIM_SecurityService
1912              {
1913              };
1914           
1915           // ================================================================== 
1916           //    AuthenticationRequirement
1917           // ==================================================================
1918 karl  1.1    [Description (
1919              "CIM_AuthenticationRequirement provides, through its "
1920              "associations, the authentication requirements for access to "
1921              "system resources.  For a particular set of target resources, the "
1922              "AuthenticationService may require that credentials be issued by "
1923              "a specific CredentialManagementService.  The "
1924              "AuthenticationRequirement class is weak to the system (e.g., "
1925              "Computer System or Administrative Domain) for which the "
1926              "requirements apply.")]
1927           class CIM_AuthenticationRequirement : CIM_LogicalElement
1928              {
1929           	[Key, MaxLen (256), Propagated ("CIM_System.CreationClassName"),
1930           	Description ("Hosting system creation class name")]
1931              string SystemCreationClassName;
1932           	[Key, MaxLen (256), Propagated ("CIM_System.Name"),
1933           	Description ("Hosting system name")]
1934              string SystemName;
1935                 [Key, MaxLen (256), Description (  
1936           	"CreationClassName indicates the name of the class or the "
1937           	"subclass used in the creation of an instance. When used "
1938           	"with the other key properties of this class, this property "
1939 karl  1.1 	"allows all instances of this class and its subclasses to "
1940           	"be uniquely identified.")]
1941              string CreationClassName;
1942                 [Key, MaxLen (256), Override ("Name"), Description (  
1943                 "The Name property defines the unique label, in the context of "
1944           	"the hosting system, by which the AuthenticationRequirement "
1945           	"is known.")]
1946              string Name;
1947           	[Description (
1948           	"The SecurityClassification property specifies a named level "
1949           	"of security associated with the AuthenticationRequirement, "
1950           	"e.g., 'Confidential', 'Top Secret', etc.")]
1951              string SecurityClassification;
1952              };
1953           
1954           
1955           // ================================================================== 
1956           //    AccessControlInformation
1957           // ==================================================================
1958              [Description (
1959              "CIM_AccessControlInformation provides, through its properties "
1960 karl  1.1    "and its associations, the specification of the access rights "
1961              "granted to a set of subject users to a set of target resources. "
1962              "The AccessControlInformation class is weak to the system (e.g., "
1963              "Computer System or Administrative Domain) for which the access "
1964              "controls apply.")]
1965           class CIM_AccessControlInformation: CIM_LogicalElement
1966              {
1967           	[Key, MaxLen (256), Propagated ("CIM_System.CreationClassName"),
1968           	Description ("Hosting system creation class name")]
1969              string SystemCreationClassName;
1970           	[Key, MaxLen (256), Propagated ("CIM_System.Name"),
1971           	Description ("Hosting system name")]
1972              string SystemName;
1973                 [Key, MaxLen (256), Description (  
1974           	"CreationClassName indicates the name of the class or the "
1975           	"subclass used in the creation of an instance. When used "
1976           	"with the other key properties of this class, this property "
1977           	"allows all instances of this class and its subclasses to "
1978           	"be uniquely identified.")]
1979              string CreationClassName;
1980                 [Key, MaxLen (256), Override ("Name"), Description (  
1981 karl  1.1       "The Name property defines the unique label, in the context of "
1982           	"the hosting system, by which the AccessControlInformation "
1983           	"is known.")]
1984              string Name;
1985           	[Description (
1986           	"The SecurityClassification property specifies a named level "
1987           	"of security associated with the AccessControlInformation, "
1988           	"e.g., 'Confidential', 'Top Secret', etc.")]
1989              string SecurityClassification;
1990           	[Description (
1991           	"The AccessType property is an array of string values that "
1992           	"specifies the type of access for which the corresponding "
1993           	"permission applies. For example, it can be used to specify a "
1994           	"generic access such as 'Read-only', 'Read/Write', etc. for "
1995           	"file or record access control or it can be used to specifiy "
1996           	"an entry point name for service access control."),  
1997           	ModelCorrespondence {
1998           		"CIM_AccessControlInformation.AccessQualifier",
1999           		"CIM_AccessControlInformation.Permission" } ]
2000              string AccessType[];
2001           	[Description (
2002 karl  1.1 	"The AccessQualifier property is an array of string values "
2003           	"may be used to further qualify the type of access for which "
2004           	"the corresponding permission applies. For example, it may  be "
2005           	"used to specify a set of parameters that are permitted or "
2006           	"denied in conjunction with the corresponding AccessType entry "
2007           	"point name."),
2008           	ModelCorrespondence {
2009           		"CIM_AccessControlInformation.AccessType",
2010           		"CIM_AccessControlInformation.Permission" } ]
2011              string AccessQualifier[];
2012           	[Description (
2013           	"The Permission property is an array of string values "
2014           	"indicating the permission that applies to the corrsponding "
2015           	"AccessType and AccessQualifier array values.  The values "
2016           	"may be extended in subclasses to provide more specific access "
2017           	"controls."),
2018           	ValueMap {"Unknown", "Allow", "Deny", "Manage"},
2019           	ModelCorrespondence {
2020           		"CIM_AccessControlInformation.AccessType",
2021           		"CIM_AccessControlInformation.AccessQualifier" } ]
2022              string Permission[];
2023 karl  1.1    };
2024           
2025           // ==================================================================
2026           // ===              Association class definitions                 ===
2027           // ==================================================================
2028           
2029           // Aggregations
2030                            
2031           // ==================================================================
2032           // MemberPrincipal    
2033           // ==================================================================
2034              [Association, Aggregation, Description (   
2035              "CIM_MemberPrincipal is an aggregation used to establish "   
2036              "membership of principals (i.e., users) in a Collection.  That "
2037              "membership can be established either directly or indirectly as "
2038              "indicated in the UsersAccessBy property.  For example, a user "
2039              "may be identified directly by their userid (i.e., Account object "
2040              "instance) or the user may be identified indirectly by realm from "
2041              "which a ticket was issued (i.e., CredentialManagementService "
2042              "object instance).  The latter case is useful, for example, for "
2043              "specifying that only users identified by an internal credential "
2044 karl  1.1    "service are permitted to access very sensitive information." ) ]  
2045           class CIM_MemberPrincipal: CIM_MemberOfCollection  
2046              {
2047                       [Override ("Collection") ]   
2048              CIM_Collection REF Collection;
2049                 [Override ("Member") ]
2050              CIM_ManagedElement REF Member;
2051           	[Description (
2052           	"A MemberPrincipal may be identifed in several ways that may "
2053           	"be either direct or indirect membership in the collection. "
2054           	" - A 'UsersAccess' membership directly identifies the user by "
2055           	"   the UsersAccess object instance. "
2056           	" - An 'Account' membership directly identifies the user by "
2057           	"   the Account object class instance. "
2058           	" - A 'UsingElement' membership indirectly identifies the user "
2059           	"   by the ManagedElement object instance that has "
2060           	"   ElementAsUser associations to UsersAccess object "
2061           	"   instances.  Hence, all UsersAccess instances are "
2062           	"   indirectly included in the collection. "),
2063           	ValueMap {"1", "2", "3", "4" },
2064           	Values {"UsersAccess", "Account", "UsingElement", 
2065 karl  1.1 	        "CredentialManagementService"} ]
2066              uint16 UserAccessBy;
2067              };                    
2068           
2069           
2070           // ===================================================================
2071           //    AccountOnSystem
2072           // ===================================================================
2073              [Association, Aggregation, Description (
2074              "A system (e.g., ApplicationSystem, ComputerSystem, AdminDomain) "
2075              "aggregates Accounts and scopes the uniqueness of the Account "
2076              "names (i.e., userids).") ]
2077           class CIM_AccountOnSystem : CIM_SystemComponent
2078              {
2079           	[Override ("GroupComponent"), Min (1), Max (1),
2080           	Description ("The aggregating system also provides name scoping "
2081           	"for the Account.")]
2082              CIM_System REF GroupComponent;
2083           	[Override ("PartComponent"), Weak,
2084           	Description ("The subordinate Account")]
2085              CIM_Account REF PartComponent;
2086 karl  1.1    };
2087           
2088           // ==================================================================
2089           // OrgStructure    
2090           // ==================================================================
2091             [Association, Aggregation, Description (   
2092              "CIM_OrgStructure is an association used to establish parent-child "
2093              "relationships between OrganizationalEntity instances.  This is "
2094              "used to capture organizational relationships between object " 
2095              "instances such as those that are imported from an LDAP-accessible "
2096              "directory.") ]    
2097             class CIM_OrgStructure
2098             {   
2099           	[Key, Max (1),  
2100           	Description ("The organizational parent in this association.") ]    
2101              CIM_OrganizationalEntity REF Parent;   
2102           	[Key,  
2103           	Description ("The organizational child in this association,    "
2104           	"i.e., the sub-unit or other owned object instance.") ]    
2105              CIM_OrganizationalEntity REF Child;   
2106             };   
2107 karl  1.1       
2108           // ==================================================================
2109           // CollectionInOrganization
2110           // ==================================================================
2111              [Association, Aggregation, Description (   
2112              "CIM_CollectionInOrganization is an association used to establish "
2113              "a parent-child relationship between a collection and an 'owning' "
2114              "OrganizationalEntity.  A single collection should not have both "
2115              "a CollectionInOrganization and a CollectionInSystem association." 
2116              )]
2117           class CIM_CollectionInOrganization
2118              {   
2119           	[Key, Max (1), 
2120           	Description ("The parent organization responsible for the "
2121           	"collection.") ]
2122              CIM_OrganizationalEntity REF Parent;   
2123           	[Key, 
2124           	Description ("The collection") ]
2125              CIM_Collection REF Child;   
2126              };   
2127           
2128 karl  1.1 // ==================================================================
2129           // CollectionInSystem
2130           // ==================================================================
2131              [Association, Aggregation, Description (   
2132              "CIM_CollectionInSystem is an association used to establish a "
2133              "parent-child relationship between a collection and an 'owning' "
2134              "System such as an AdminDomain or ComputerSystem.  A single "
2135              "collection should not have both a CollectionInOrganization and a "
2136              "CollectionInSystem association."    )]
2137           class CIM_CollectionInSystem
2138              {   
2139           	[Key, Max (1), 
2140           	Description ("The parent system responsible for the "
2141           	"collection.") ]
2142              CIM_System REF Parent;   
2143           	[Key, 
2144           	Description ("The collection") ]
2145              CIM_Collection REF Child; 
2146              };        
2147           
2148           // Associations
2149 karl  1.1 
2150           // ==================================================================
2151           // ElementAsUser    
2152           // ==================================================================
2153              [Association, Description (   
2154              "CIM_ElementAsUser is an association used to establish the "
2155              "'ownership' of UsersAccess object instances.  That is, the "
2156              "ManagedElement may have UsersAccess to systems and, therefore, "
2157              "be 'users' on those systems.  UsersAccess instances must have an "
2158              "'owning' ManagedElement.  Typically, the ManagedElements will be "
2159              "limited to Collection, Person, Service and ServiceAccessPoint. "
2160              "Other non-human ManagedElements that might be thought of as "
2161              "having UsersAccess (e.g., a device or system) have services that "
2162              "have the UsersAccess.")]
2163           class CIM_ElementAsUser : CIM_Dependency
2164              {   
2165           	[Min (1), Max (1), Override ("Antecedent"), 
2166           	Description ("The ManagedElement that has UsersAccess") ]
2167              CIM_ManagedElement REF Antecedent;   
2168           	[Override ("Dependent"), 
2169           	Description ("The 'owned' UsersAccess") ]
2170 karl  1.1    CIM_UsersAccess REF Dependent;   
2171              }; 
2172           
2173           
2174           // ==================================================================
2175           // MoreOrganizationInfo
2176           // ==================================================================
2177              [Association, Description (   
2178              "CIM_MoreOrganizationInfo is an association used to extend the "
2179              "information in a CIM_Organization class instance."
2180              )]
2181           class CIM_MoreOrganizationInfo : CIM_Dependency
2182              {   
2183           	[Max (1), Override ("Antecedent"), 
2184           	Description (" "
2185           	" ") ]
2186              CIM_Organization REF Antecedent;   
2187           	[Min (0), Max (1), Override ("Dependent"), 
2188           	Description (" ") ]
2189              CIM_OtherOrganizationInformation REF Dependent; 
2190              };        
2191 karl  1.1 
2192           // ==================================================================
2193           // MoreOrgUnitInfo
2194           // ==================================================================
2195              [Association, Description (   
2196              "CIM_MoreOrgUnitInfo is an association used to extend the "
2197              "information in an CIM_OrgUnit class instance."
2198              )]
2199           class CIM_MoreOrgUnitInfo : CIM_Dependency
2200              {   
2201           	[Max (1), Override ("Antecedent"), 
2202           	Description (" "
2203           	" ") ]
2204              CIM_OrgUnit REF Antecedent;   
2205           	[Min (0), Max (1), Override ("Dependent"), 
2206           	Description (" ") ]
2207              CIM_OtherOrgUnitInformation REF Dependent; 
2208              };        
2209           
2210           // ==================================================================
2211           // MoreGroupInfo
2212 karl  1.1 // ==================================================================
2213              [Association, Description (   
2214              "CIM_MoreGroupInfo is an association used to extend the "
2215              "information in a CIM_Group class instance."
2216              )]
2217           class CIM_MoreGroupInfo : CIM_Dependency
2218              {   
2219           	[Max (1), Override ("Antecedent"), 
2220           	Description (" "
2221           	" ") ]
2222              CIM_Group REF Antecedent;   
2223           	[Min (0), Max (1), Override ("Dependent"), 
2224           	Description (" ") ]
2225              CIM_OtherGroupInformation REF Dependent; 
2226              };        
2227           
2228           // ==================================================================
2229           // MoreRoleInfo
2230           // ==================================================================
2231              [Association, Description (   
2232              "CIM_MoreRoleInfo is an association used to extend the "
2233 karl  1.1    "information in a CIM_Role class instance."
2234              )]
2235           class CIM_MoreRoleInfo : CIM_Dependency
2236              {   
2237           	[Max (1), Override ("Antecedent"), 
2238           	Description (" "
2239           	" ") ]
2240              CIM_Role REF Antecedent;   
2241           	[Min (0), Max (1), Override ("Dependent"), 
2242           	Description (" ") ]
2243              CIM_OtherRoleInformation REF Dependent; 
2244              };        
2245           
2246           // ==================================================================
2247           // MorePersonInfo
2248           // ==================================================================
2249              [Association, Description (   
2250              "CIM_MorePersonInfo is an association used to extend the "
2251              "information in a CIM_Person class instance."
2252              )]
2253           class CIM_MorePersonInfo : CIM_Dependency
2254 karl  1.1    {   
2255           	[Max (1), Override ("Antecedent"), 
2256           	Description (" "
2257           	" ") ]
2258              CIM_Person REF Antecedent;   
2259           	[Min (0), Max (1), Override ("Dependent"), 
2260           	Description (" ") ]
2261              CIM_OtherPersonInformation REF Dependent; 
2262              };        
2263           
2264                  
2265           // ==================================================================
2266           // SystemAdministrator    
2267           // ==================================================================
2268             [Association, Description (   
2269              "CIM_SystemAdministrator is an association used to identify "
2270              "the UserEntity as a system administrator of a CIM_System." ) ]    
2271             class CIM_SystemAdministrator: CIM_Dependency  
2272             {   
2273               [Override ("Antecedent"), Description (   
2274               "The administered system.") ]    
2275 karl  1.1    CIM_System REF Antecedent;   
2276              [Override ("Dependent"), Description (   
2277               "The UserEntity that provides the admininstrative function "
2278               "for the associated system.") ]    
2279              CIM_UserEntity REF Dependent;   
2280           
2281             };   
2282           
2283           // ==================================================================
2284           // SystemAdministratorGroup
2285           // ==================================================================
2286              [Association, Description (   
2287              "CIM_SystemAdministratorGroup is an association used to identify "
2288              "a Group that has system administrator responsibilities for a "
2289              "CIM_System. "   )]
2290           class CIM_SystemAdministratorGroup : CIM_Dependency
2291              {   
2292           	[Override ("Antecedent"), 
2293           	Description ("The administered system") ]
2294              CIM_System REF Antecedent;   
2295           	[Override ("Dependent"), 
2296 karl  1.1 	Description ("The Group of administrators") ]
2297              CIM_Group REF Dependent;   
2298              }; 
2299             
2300           // ==================================================================
2301           // SystemAdministratorRole
2302           // ==================================================================
2303              [Association, Description (   
2304              "CIM_SystemAdministratorRole is an association used to identify "
2305              "a system administrator Role for a CIM_System.")]
2306           class CIM_SystemAdministratorRole : CIM_Dependency
2307              {   
2308           	[Override ("Antecedent"), 
2309           	Description ("The administered system") ]
2310              CIM_System REF Antecedent;   
2311           	[Override ("Dependent"), 
2312           	Description ("The system administration role") ]
2313              CIM_Role REF Dependent;   
2314              };   
2315           
2316           // ===================================================================
2317 karl  1.1 //    UsersAccount
2318           // ===================================================================
2319                   [Association, Description (
2320                    "This relationship associates UsersAccess with the Accounts "
2321                    "with which they're able to interact.") ]
2322           class CIM_UsersAccount : CIM_Dependency
2323           {
2324           	[Override ("Antecedent"), 
2325           	Description ( "The user's Account") ]
2326              CIM_Account REF Antecedent;
2327           	[Override ("Dependent"),
2328           	Description ( "The User as identified by their UsersAccess "
2329           	"instance")]
2330              CIM_UsersAccess REF Dependent;
2331           };
2332           
2333           
2334           // ===================================================================
2335           //    AccountMapsToAccount
2336           // ===================================================================
2337              [Association, Description (
2338 karl  1.1    "This relationship may be used to associate an Account used by an "
2339              "AuthenticationService to an Account used for Authorization.  For "
2340              "instance, this mapping occurs naturally in the UNIX /etc/passwd "
2341              "file, where the AuthenticationSerice Account ('root') is mapped "
2342              "to the AuthorizationService Account ('0').  The two are separate "
2343              "accounts, as evidenced by the ability to have another "
2344              "AuthenticationService Account which ALSO maps to the "
2345              "AuthorizationService Account ('0') without ambiguity.  This "
2346              "association may be used for other account mappings as well such "
2347              "as for coordinating single signon for multiple accounts for the "
2348              "same user.") ]
2349           class CIM_AccountMapsToAccount : CIM_Dependency
2350           {
2351           	[Override ("Antecedent"), 
2352           	Description ( "An Account") ]
2353              CIM_Account REF Antecedent;
2354           	[Override ("Dependent"),
2355           	Description ( "A related Account")]
2356              CIM_Account REF Dependent;
2357           };
2358           
2359 karl  1.1 // ===================================================================
2360           //    SecurityServiceUsesAccount
2361           // ===================================================================
2362                   [Association, Description (
2363                    "This relationship associates SecurityService instances to "
2364                    "the Accounts they use in the course of their work.") ]
2365           class CIM_SecurityServiceUsesAccount : CIM_Dependency
2366           {
2367                 [ Override ("Antecedent") ]
2368              CIM_Account REF Antecedent;
2369                 [ Override ("Dependent") ]
2370              CIM_SecurityService REF Dependent;
2371           };
2372           
2373           
2374           // ===================================================================
2375           //    ManagesAccount
2376           // ===================================================================
2377                   [Association, Description (
2378                    "This relationship associates the AccountManagement security "
2379                    "service to the Accounts for which it is responsible.") ]
2380 karl  1.1 class CIM_ManagesAccount:CIM_Dependency
2381           {
2382                 [ Override ("Antecedent") ]
2383              CIM_AccountManagementService REF Antecedent;
2384                 [ Override ("Dependent") ]
2385              CIM_Account REF Dependent;
2386           };
2387           
2388           // ===================================================================
2389           //    ServiceUsesSecurityService
2390           // ===================================================================
2391                   [Association, Description (
2392                    "This relationship associates a Services with the Security "
2393                    "Service it uses.") ]
2394           class CIM_ServiceUsesSecurityService : CIM_ServiceServiceDependency
2395           {
2396                 [ Override ("Antecedent") ]
2397              CIM_SecurityService REF Antecedent;
2398                 [ Override ("Dependent") ]
2399              CIM_Service REF Dependent;
2400           };
2401 karl  1.1 
2402           // ===================================================================
2403           //    SecurityServiceForSystem
2404           // ===================================================================
2405              [Association, Description (
2406              "The CIM_SecurityServiceForSystem provides the association between "
2407              "a System and a SecurityService that provides services for that "
2408              "system." ) ]
2409           class CIM_SecurityServiceForSystem : CIM_ProvidesServiceToElement
2410           {
2411           	[Override ("Antecedent"), Description ( 
2412           	"The SecurityService that provides services for the system.")]
2413              CIM_SecurityService REF Antecedent;
2414           	[Override ("Dependent"), Description (
2415           	"The system that is dependent on the security service.")]
2416              CIM_System REF Dependent;
2417           };
2418           
2419           
2420           // ===================================================================
2421           //    ManagesAccountOnSystem
2422 karl  1.1 // ===================================================================
2423              [Association, Description (
2424              "The CIM_ManagesAccountOnSystem provides the association between a "
2425              "System and the AccountManagementService that manages accounts for "
2426              "that system." ) ]
2427           class CIM_ManagesAccountOnSystem:CIM_SecurityServiceForSystem
2428           {
2429           	[Override ("Antecedent"), Description ( 
2430           	"An AccountManagementService that manages accounts for the "
2431           	"system.")]
2432              CIM_AccountManagementService REF Antecedent;
2433           	[Override ("Dependent"), Description (
2434           	"The system that is dependent on the AccountManagementService."
2435           	)]
2436              CIM_System REF Dependent;
2437           };
2438           
2439           // ==================================================================
2440           //    TrustHierarchy
2441           // ==================================================================
2442                   [Association, Description (
2443 karl  1.1          "CIM_TrustHierarchy is an association between two "
2444                    "CredentialManagementService instances that establishes "
2445                    "the trust hierarchy between them.") ]
2446           class CIM_TrustHierarchy:CIM_Dependency
2447           {
2448                   [Override ("Antecedent"), Max (1),
2449                    Description ("The superior CredentialManagementService "
2450                    "from which the dependent service gets its authority.") ] 
2451               CIM_CredentialManagementService  REF Antecedent;
2452                   [Override ("Dependent"), Description (
2453                    "The subordinate CredentialManagementService.") ] 
2454               CIM_CredentialManagementService  REF Dependent;
2455           };
2456           
2457           // ==================================================================
2458           // UsersCredential
2459           // ==================================================================
2460              [Association, Description (   
2461              "CIM_UsersCredential is an association used to establish the "
2462              "credentials that may be used for a UsersAccess to a system or "
2463              "set of systems. "    )]
2464 karl  1.1 class CIM_UsersCredential : CIM_Dependency
2465              {   
2466           	[Override ("Antecedent"), 
2467           	Description ("The issued credential that may be used.") ]
2468              CIM_Credential REF Antecedent;   
2469           	[Override ("Dependent"), 
2470           	Description ("The UsersAccess that has use of a credential") ]
2471              CIM_UsersAccess REF Dependent;   
2472              };   
2473           
2474           // ===================================================================
2475           //    PublicPrivateKeyPair
2476           // ===================================================================
2477                   [Association, Description (
2478                    "This relationship associates a PublicKeyCertificate with "
2479                    "the Principal who has the PrivateKey used with the "
2480                    "PublicKey.  The PrivateKey is not modeled, since it is not "
2481                    "a data element that ever SHOULD be accessible via "
2482                    "management applications, other than key recovery services, "
2483                    "which are outside our scope.") ]
2484           class CIM_PublicPrivateKeyPair:CIM_UsersCredential
2485 karl  1.1 {
2486                 [ Override ("Antecedent") ]
2487              CIM_PublicKeyCertificate REF Antecedent;
2488                 [ Override ("Dependent") ]
2489              CIM_UsersAccess REF Dependent;
2490           	[Description ( "The Certificate may be used for signature only "
2491           	"or for confidentiality as well as signature"),
2492           	Values { "SignOnly", "ConfidentialityOrSignature"} ]
2493              uint16 Use;
2494              boolean NonRepudiation;
2495              boolean BackedUp;
2496           	[Description ("The repository in which the certificate is "
2497           	"backed up.")]
2498              string Repository;
2499           };
2500           
2501           
2502           // ===================================================================
2503           //    CAHasPublicCertificate
2504           // ===================================================================
2505              [Association, Description (
2506 karl  1.1    "A CertificateAuthority may have certificates issued by other CAs. "
2507              "This association is essentially an optimization of the CA having "
2508              "a UsersAccess instance with an association to a certificate thus "
2509              "mapping more closely to LDAP-based certificate authority "
2510              "implementations.") ]
2511           class CIM_CAHasPublicCertificate:CIM_Dependency
2512           {
2513           	[Max (1), Override ("Antecedent"),
2514           	Description ("The Certificate used by the CA")]
2515              CIM_PublicKeyCertificate REF Antecedent;
2516           	[Override ("Dependent"), 
2517           	Description ("The CA that uses a Certificate")]
2518              CIM_CertificateAuthority REF Dependent;
2519           };
2520           
2521           
2522           // ===================================================================
2523           //    ManagedCredential
2524           // ===================================================================
2525                   [Association, Description (
2526                    "This relationship associates a CredentialManagementService "
2527 karl  1.1          "with the Credential it manages.") ]
2528           class CIM_ManagedCredential:CIM_Dependency
2529           {
2530           	[Override ("Antecedent"), Min (1), Max (1),
2531           	Description ( "The credential management service")] 
2532              CIM_CredentialManagementService REF Antecedent;
2533           	[Override ("Dependent"),
2534           	Description ( "The managed credential")]
2535              CIM_Credential REF Dependent;
2536           };
2537           
2538           // ===================================================================
2539           //    CASignsPublicKeyCertificate
2540           // ===================================================================
2541                   [Association, Description (
2542                    "This relationship associates a CertificateAuthority with "
2543                    "the certificates it signs.") ]
2544           class CIM_CASignsPublicKeyCertificate:CIM_ManagedCredential
2545           {
2546           	[Override ("Antecedent"), Min (1), Max (1),
2547           	Description ( "The CA which signed the certificate")] 
2548 karl  1.1    CIM_CertificateAuthority REF Antecedent;
2549           	[Override ("Dependent"), Weak,
2550           	Description ( "The certificate issued by the CA")]
2551              CIM_PublicKeyCertificate REF Dependent;
2552              string SerialNumber;
2553                 [ Octetstring ]
2554              uint8 Signature[];
2555              datetime Expires;
2556              string CRLDistributionPoint[];
2557           };
2558           
2559           // ==================================================================
2560           //    LocallyManagedPublicKey
2561           // ==================================================================
2562                   [Association, Description (
2563                    "CIM_LocallyManagedPublicKey association provides the "
2564                    "relationship between a PublicKeyManagementService and an "
2565                    "UnsignedPublicKey.") ]
2566           class CIM_LocallyManagedPublicKey:CIM_ManagedCredential
2567           {
2568                   [Override ("Antecedent"), Min (1), Max (1), 
2569 karl  1.1          Description ("The PublicKeyManagementService that manages "
2570                    "an unsigned public key.") ] 
2571               CIM_PublicKeyManagementService REF Antecedent;
2572                   [Override ("Dependent"), Weak, Description (
2573                    "An unsigned public key.") ] 
2574               CIM_UnsignedPublicKey REF Dependent;
2575           };
2576           
2577           // ===================================================================
2578           //    SharedSecretIsShared
2579           // ===================================================================
2580                   [Association, Description (
2581                    "This relationship associates a SharedSecretService with the "
2582                    "SecretKey it verifies.") ]
2583           class CIM_SharedSecretIsShared : CIM_ManagedCredential
2584           {
2585           	[Override ("Antecedent"), Min (1), Max (1),
2586           	Description ("The credential management service")]
2587              CIM_SharedSecretService REF Antecedent;
2588           	[Override ("Dependent"), Weak,
2589           	Description ( "The managed credential")]
2590 karl  1.1    CIM_SharedSecret REF Dependent;
2591           };
2592           
2593           // ==================================================================
2594           //    IKESecretIsNamed
2595           // ==================================================================
2596                   [Association, Description (
2597                    "CIM_IKESecretIsNamed association provides the "
2598                    "relationship between a SharedSecretService and a "
2599                    "NamedSharedIKESecret.") ]
2600           class CIM_IKESecretIsNamed:CIM_ManagedCredential
2601           {
2602                   [Override ("Antecedent"), Min (1), Max (1), 
2603                    Description ("The SharedSecretService that manages a "
2604                    "NamedSharedIKESecret.")] 
2605               CIM_SharedSecretService REF Antecedent;
2606                   [Override ("Dependent"), Weak, Description (
2607                    "The managed NamedSharedIKESecret.") ] 
2608               CIM_NamedSharedIKESecret  REF Dependent;
2609           };
2610           
2611 karl  1.1 // ===================================================================
2612           //    KDCIssuesKerberosTicket
2613           // ===================================================================
2614              [Association, Description (
2615              "The KDC issues and owns Kerberos tickets.  This association "
2616              "captures the relationship between the KDC and its issued tickets."
2617              ) ]
2618           class CIM_KDCIssuesKerberosTicket:CIM_ManagedCredential
2619           {
2620           	[Override ("Antecedent"), Min (1), Max (1),
2621           	Description ( "The issuing KDC") ] 
2622              CIM_KerberosKeyDistributionCenter REF Antecedent;
2623           	[Override ("Dependent"), Weak,
2624           	Description ( "The managed credential")]
2625              CIM_KerberosTicket REF Dependent;
2626           };
2627           
2628           // ===================================================================
2629           //    NotaryVerifiesBiometric
2630           // ===================================================================
2631                   [Association, Description (
2632 karl  1.1          "This relationship associates a Notary service with the "
2633                    "Users Access whose biometric information is verified.") ]
2634           class CIM_NotaryVerifiesBiometric : CIM_Dependency
2635           {
2636           	[Override ("Antecedent"), 
2637           	Description ("The Notary service that verifies biometric "
2638           	"information ") ]
2639              CIM_Notary REF Antecedent;
2640           	[Override ("Dependent"),
2641           	Description ( "The UsersAccess that represents a person using "
2642           	"biometric information for authentication.")]
2643              CIM_UsersAccess REF Dependent;
2644           };
2645           
2646           
2647           // ==================================================================
2648           // HostedAuthenticationRequirement
2649           // ==================================================================
2650              [Association, Description (   
2651              "CIM_HostedAuthenticationRequirement is an association used to "
2652              "provide the namespace scoping of AuthenticationRequirement.  The "
2653 karl  1.1    "hosted requirements may or may not apply to resources on the "
2654              "hosting system." )]
2655           class CIM_HostedAuthenticationRequirement : CIM_Dependency
2656              {   
2657           	[Min (1), Max (1), Override ("Antecedent"), 
2658           	Description ("The hosting system") ]
2659              CIM_System REF Antecedent;   
2660           	[Override ("Dependent"), Weak, 
2661           	Description ("The hosted AuthenticationRequirement") ]
2662              CIM_AuthenticationRequirement REF Dependent;   
2663              };   
2664           
2665           // ==================================================================
2666           // AuthenticateForUse 
2667           // ==================================================================
2668              [Association, Description (   
2669              "CIM_AuthenticateForUse is an association used to provide an "
2670              "AuthenticationService with the AuthenticationRequirement it "
2671              "needs to do its job.")]
2672           class CIM_AuthenticateForUse : CIM_Dependency
2673              {   
2674 karl  1.1 	[Override ("Antecedent"), 
2675           	Description ("AuthenticationRequirement for use") ]
2676              CIM_AuthenticationRequirement REF Antecedent;   
2677           	[Override ("Dependent"), 
2678           	Description ("AuthenticationService that uses the requirements"
2679           	) ]
2680              CIM_AuthenticationService REF Dependent;   
2681              };  
2682            
2683           // ==================================================================
2684           // RequireCredentialsFrom 
2685           // ==================================================================
2686              [Association, Description (   
2687              "CIM_RequireCredentialsFrom is an association used to require "
2688              "that credentials are issued by particular Credential Management "
2689              "Services in order to authenticate a user."   )]
2690           class CIM_RequireCredentialsFrom : CIM_Dependency
2691              {   
2692           	[Override ("Antecedent"),
2693           	Description ("CredentialManagementService from which "
2694           	"credentials are accepted for the associated "
2695 karl  1.1 	"AuthenticationRequirement.") ]
2696              CIM_CredentialManagementService REF Antecedent;   
2697           	[Override ("Dependent"), 
2698           	Description ("AuthenticationRequirement that limit acceptable "
2699           	"credentials. ") ]
2700              CIM_AuthenticationRequirement REF Dependent;   
2701              };   
2702           
2703           // ==================================================================
2704           // AuthenticationTarget 
2705           // ==================================================================
2706              [Association, Description (   
2707              "CIM_AuthenticationTarget is an association used to apply "
2708              "authentication requirements for access to specific resources. "
2709              "For example, a shared secret may be sufficient for access to "
2710              "unclassified resources, but for confidential resources, a "
2711              "stronger authentication may be required."   )]
2712           class CIM_AuthenticationTarget : CIM_Dependency
2713              {   
2714           	[Override ("Antecedent"), 
2715           	Description ("AuthenticationRequirement that apply to "
2716 karl  1.1 	"specific resources") ]
2717              CIM_AuthenticationRequirement REF Antecedent;   
2718           	[Override ("Dependent"), 
2719           	Description ("Target resources that may be in a Collection or "
2720           	"an individual ManagedElement.  These resources are protected "
2721                 "by the AuthenticationRequirement.") ]
2722              CIM_ManagedElement REF Dependent;   
2723              };  
2724            
2725           // ==================================================================
2726           // HostedACI 
2727           // ==================================================================
2728              [Association, Description (   
2729              "CIM_HostedACI is an association used to provide the namespace "
2730              "scoping of AccessControlInformation.  The hosted ACI may or may "
2731              "not apply to resources on the hosting system." )]
2732           class CIM_HostedACI : CIM_Dependency
2733              {   
2734           	[Min (1), Max (1), Override ("Antecedent"), 
2735           	Description ("The hosting system") ]
2736              CIM_System REF Antecedent;   
2737 karl  1.1 	[Override ("Dependent"), Weak,
2738           	Description ("The hosted AccessControlInformation") ]
2739              CIM_AccessControlInformation REF Dependent;   
2740              };   
2741           
2742           // ==================================================================
2743           // AuthorizedUse 
2744           // ==================================================================
2745              [Association, Description (   
2746              "CIM_AuthorizedUse is an association used to provide an "
2747              "AuthorizationService with the AccessControlInformation it needs "
2748              "to do its job."   )]
2749           class CIM_AuthorizedUse : CIM_Dependency
2750              {   
2751           	[Override ("Antecedent"), 
2752           	Description ("AccessControlInformation") ]
2753              CIM_AccessControlInformation REF Antecedent;   
2754           	[Override ("Dependent"), 
2755           	Description ("AuthorizationService that uses an ACI.") ]
2756              CIM_AuthorizationService REF Dependent;   
2757              };   
2758 karl  1.1 
2759           // ==================================================================
2760           // AuthorizationSubject 
2761           // ==================================================================
2762              [Association, Description (   
2763              "CIM_AuthorizationSubject is an association used to apply "
2764              "authorization decisions to specific subjects (i.e., users).  The "
2765              "subjects may be identified directly or they may be aggregated "
2766              "into a collection that may, in turn, use the MemberPrincipal "
2767              "association to provide further indirection in the specification "
2768              "of the subject set."   )]
2769           class CIM_AuthorizationSubject : CIM_Dependency
2770              {   
2771           	[Override ("Antecedent"), Description (
2772           	"AccessControlInformation that applies to a subject set.") ]
2773              CIM_AccessControlInformation REF Antecedent;   
2774           	[Override ("Dependent"), Description (
2775           	"The subject set may be specified as a collection or as a set "
2776           	"of associations to ManagedElements that represent users.") ]
2777              CIM_ManagedElement REF Dependent;   
2778              };
2779 karl  1.1   
2780           // ==================================================================
2781           // AuthorizationTarget 
2782           // ==================================================================
2783              [Association, Description (   
2784              "CIM_AuthorizationTarget is an association used to apply "
2785              "authorization decisions to specific target resources.  The "
2786              "target resources may be aggregated into a collection or may be "
2787              "represented as a set of associations to ManagedElements."   )]
2788           class CIM_AuthorizationTarget : CIM_Dependency
2789              {   
2790           	[Override ("Antecedent"), Description (
2791           	"AccessControlInformation that applies to the target set.") ]
2792              CIM_AccessControlInformation REF Antecedent;   
2793           	[Override ("Dependent"), Description (
2794           	"The target set of resources may be specified as a collection "
2795           	"or as a set of associations to ManagedElements that represent "
2796           	"target resources.") ]
2797              CIM_ManagedElement REF Dependent;   
2798              };   
2799           
2800 karl  1.1 
2801           // End of file
2802           
2803           
2804           
2805           

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2