// Copyright (c) 2005 DMTF.  All rights reserved.
   [Version ( "2.8.0" ), 
    UMLPackagePath ( "CIM::IPsecPolicy" ), 
    Description ( 
       "IKEAction specifies the parameters to use for an IPsec IKE "
       "phase 1 negotiation." ), 
    MappingStrings { "IPSP Policy Model.IETF|IKEAction" }]
class CIM_IKEAction : CIM_SANegotiationAction {

      [Description ( 
          "The ExchangeMode designates the mode IKE should use for "
          "its key negotiations." ), 
       ValueMap { "2", "3", "4" }, 
       Values { "Base", "Main", "Aggressive" }, 
       MappingStrings { 
          "IPSP Policy Model.IETF|IKEAction.ExchangeMode" }]
   uint16 ExchangeMode;

      [Description ( 
          "UseIKEIdentityType specifies what network identity type "
          "should be used when negotiating with the peer. It is "
          "used in conjunction with the available IPNetworkIdentity "
          "instances, that are associated with an "
          "IPProtocolEndpoint." ), 
       ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", 
          "11", "12", "..", "0x8000.." }, 
       Values { "Other", "IPV4 Address", "FQDN", "User FQDN", 
          "IPV4 Subnet Address", "IPV6 Address", 
          "IPV6 Subnet Address", "IPV4 Address Range", 
          "IPV6 Address Range", "DER ASN1 DN", "DER ASN1 GN", 
          "KEY ID", "DMTF Reserved", "Vendor Reserved" }, 
       MappingStrings { 
          "IPSP Policy Model.IETF|IKEAction.UseIKEIdentityType", 
          "RFC2407.IETF|Section 4.6.2.1" }, 
       ModelCorrespondence { "CIM_IPNetworkIdentity.IdentityType" }]
   uint16 UseIKEIdentityType;

      [Description ( 
          "VendorID specifies the value to be used in the Vendor ID "
          "payload. An empty string (the default) means that the "
          "Vendor ID payload will not be generated or accepted. A "
          "non-NULL value means that a Vendor ID payload will be "
          "generated (when acting as an initiator) or is expected "
          "(when acting as a responder)." ), 
       MappingStrings { "IPSP Policy Model.IETF|IKEAction.VendorID" }]
   string VendorID = "";

      [Description ( 
          "When IKEAction.ExchangeMode is set to \"Aggressive\" "
          "(4), this property specifies the key exchange groupID to "
          "use in the first packets of the phase 1 negotiation. "
          "This property is ignored unless the ExchangeMode is "
          "\'aggressive\'. If the GroupID number is from the "
          "vendor- specific range (32768-65535), the VendorID "
          "qualifies the group number. Well-known group identifiers "
          "from RFC2412, Appendix E, are: Group 1=\'768 bit prime\', "
          "Group 2=\'1024 bit prime\', Group 3=\'Elliptic Curve "
          "Group with 155 bit field element\', Group 4=\'Large "
          "Elliptic Curve Group with 185 bit field element\', and "
          "Group 5=\'1536 bit prime\'." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "..", "0x8000.." }, 
       Values { "No Group/Non-Diffie-Hellman Exchange", 
          "DH-768 bit prime", "DH-1024 bit prime", 
          "EC2N-155 bit field element", 
          "EC2N-185 bit field element", "DH-1536 bit prime", 
          "Standard Group - Reserved", "Vendor Reserved" }, 
       MappingStrings { 
          "IPSP Policy Model.IETF|IKEAction.AggressiveModeGroupID", 
          "RFC2412.IETF|Appendix E" }, 
       ModelCorrespondence { "CIM_IKEAction.VendorID" }]
   uint16 AggressiveModeGroupID;


};
