// Copyright (c) 2005 DMTF.  All rights reserved.
   [Version ( "2.8.0" ), 
    UMLPackagePath ( "CIM::IPsecPolicy" ), 
    Description ( 
       "IKERule contains the Conditions and Actions for IKE phase 1 "
       "negotiations or to specify static actions such as Discard." ), 
    MappingStrings { "IPSP Policy Model.IETF|IKERule" }]
class CIM_IKERule : CIM_SARule {

      [Description ( 
          "An IP endpoint may have multiple identities for use in "
          "different situations. The IdentityContext property "
          "specifies the specific context/identities which pertain "
          "to this Rule. The property\'s function is similar to "
          "that of PolicyRoles. A context may be a VPN name or "
          "other identifier that selects the appropriate identity. \n"
          "\n"
          "IdentityContext is an array of strings. The multiple "
          "values in the array are logically ORed together in "
          "matching an IPNetworkIdentity\'s IdentityContext. Each "
          "value in the array may be a composition of multiple "
          "context names. When an array value is a composition, the "
          "individual values are logically ANDed together for "
          "evaluation purposes. The syntax is: \n"
          "<ContextName>[&&<ContextName>]* \n"
          "where the individual context names appear in "
          "alphabetical order (according to the collating sequence "
          "for UCS-2). So, for example, the values \'CompanyXVPN\', "
          "\'CompanyYVPN&&TopSecret\', \'CompanyZVPN&&Confidential\' "
          "are possible contexts for a Rule. They are matched "
          "against an IPNetworkIdentity\'s IdentityContext. Any of "
          "the values may indicate a match and select an Identity, "
          "since the values in the array are logically ORed." ), 
       MappingStrings { 
          "IPSP Policy Model.IETF|IKERule.IdentityContexts" }, 
       ModelCorrespondence { "CIM_IdentityContext" }]
   string IdentityContexts[];


};
