// Copyright (c) 2005 DMTF.  All rights reserved.
   [Abstract, Version ( "2.8.0" ), 
    UMLPackagePath ( "CIM::Network::IPsec" ), 
    Description ( 
       "SATransform is the base class for the various types of "
       "transforms that are in effect for an existing IPsecSAEndpoint, "
       "or aggregated into phase 2 proposals used during the IPsec "
       "negotiation process. This class is defined as a kind of "
       "ScopedSettingData, since it describes the set of transform "
       "properties that MUST be applied together, if negotiated. This "
       "subclassing is different than that defined in IETF\'s IPSP "
       "Policy draft - where it is subclassed from Policy. The "
       "definition as SettingData is more consistent with the "
       "application of the properties as a set, to the negotiated "
       "Security Association. \n"
       "\n"
       "Note that an instance of this class is \'scoped\' or contained "
       "by a System (either a ComputerSystem or AdminDomain), rather "
       "than by a SecurityAssociationEndpoint. This is indicated by "
       "instantiating the ScopedSetting association, and is necessary "
       "since the transform data is used in IPsec negotiation policies "
       "(also scoped by Systems) before ever being associated with a "
       "SecurityAssociationEndpoint. The latter semantics (i.e., that "
       "\'this\' transform is negotiated for \'this\' Security "
       "Association) is conveyed via a subclass of ElementSettingData, "
       "TransformOfSecurityAssociation." ), 
    MappingStrings { "IPSP Model.IETF|SATransform" }]
class CIM_SATransform : CIM_ScopedSettingData {

      [Override ( "ElementName" ), 
       MappingStrings { "IPSP Model.IETF|SATransform.CommonName" }]
   string ElementName;

      [Description ( 
          "MaxLifetimeSeconds specifies the maximum time that the "
          "Security Association should be considered valid after it "
          "has been created. A value of 0, the default, indicates "
          "that 8 hours should be used. A non-zero value indicates "
          "the maximum lifetime in seconds." ), 
       Units ( "Seconds" ), 
       MappingStrings { 
          "IPSP Model.IETF|SATransform.MaxLifetimeSeconds" }]
   uint64 MaxLifetimeSeconds = 0;

      [Description ( 
          "MaxLifetimeKilobytes specifies the maximum kilobyte "
          "lifetime for a Security Association. Different lifetimes "
          "are used, depending on the strength of the encryption "
          "algorithm. A value of 0, the default, indicates that no "
          "maximum should be defined. A non-zero value specifies "
          "the desired kilobyte lifetime." ), 
       Units ( "KiloBytes" ), 
       MappingStrings { 
          "IPSP Model.IETF|SATransform.MaxLifetimeKilobytes" }]
   uint64 MaxLifetimeKilobytes = 0;

      [Description ( 
          "VendorID identifies vendor-defined transforms. If this "
          "field is empty (the default), then this is a standard "
          "transform." ), 
       MappingStrings { "IPSP Model.IETF|SATransform.VendorID" }]
   string VendorID = "";


};
