// Copyright (c) 2012 DMTF.  All rights reserved.
   [Version ( "2.32.0" ), 
    UMLPackagePath ( "CIM::Network::IP" ), 
    Description ( 
       "CIM_IPConfigurationService provides management of the IP "
       "configuration associated with a LANEndpoint or "
       "IPProtocolEndpoint or IPNetworkConnection or the global IP "
       "configuration for the ComputerSystem." )]
class CIM_IPConfigurationService : CIM_Service {


      [Description ( 
          "Apply the configuration represented by the "
          "CIM_IPAssignmentSettingData to the specified "
          "IPProtocolEndpoint. This will result in the value of the "
          "IsCurrent property of the CIM_ElementSettingData which "
          "associates the specified CIM_IPAssignmentSettingData and "
          "specified CIM_IPProtocolEndpoint having a value of "
          "\"true\". The IsCurrent property of any other instances "
          "of CIM_ElementSettingData which reference the specified "
          "CIM_IPProtocolEndpoint and an instance of "
          "CIM_IPAssignmentSettingData will have a value of "
          "\"false\". Each instance of CIM_IPAssignmentSettingData "
          "which is aggregated into the target "
          "CIM_IPAssignmentSettingData instance will be applied to "
          "the CIM_ProtocolEndpoint to which it is associated via "
          "an instance of CIM_ElementSettingData where the "
          "CIM_ProtocolEndpoint is associated with the target "
          "CIM_IPProtocolEndpoint via an instance of "
          "CIM_EndpointIdentity." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "4096", "..", 
          "32768..65535" }, 
       Values { "Completed with No Error", "Not Supported", 
          "Unknown/Unspecified Error", "Failed", 
          "Invalid Parameter", "Busy", 
          "Method Parameters Checked - Job Started", 
          "DMTF Reserved", "Vendor Reserved" }]
   uint32 ApplySettingToIPProtocolEndpoint(
         [Required, IN, Description ( 
             "The IPAssignmentSettingData to apply." )]
      CIM_IPAssignmentSettingData REF Configuration, 
         [Required, IN, Description ( 
             "The IPProtocolEndpoint to which the configuration "
             "will be applied." )]
      CIM_IPProtocolEndpoint REF Endpoint, 
         [IN ( false ), OUT, Description ( 
             "Reference to the job spawned if the operation "
             "continues after the method returns. This parameter "
             "MUST NOT be null if a value of 4096 is returned. "
             "This parameter MUST be null if any other value is "
             "returned by the method." )]
      CIM_ConcreteJob REF Job);

      [Description ( 
          "Apply the IP Version respresented by the "
          "CIM_IPVersionSettingData to the specified "
          "ComputerSystem. The IP Version may take effect or "
          "disable immediatley or may be set to take effect or "
          "disable in the next boot, depending on ComputerSystem "
          "and the value specified for Mode. This will reflect in "
          "the IsCurrent & IsNext property of "
          "CIM_ElementSettingData associating the "
          "IPVersionSettingData with the ComputerSystem. Refer the "
          "description for the Mode parameter for more details." ), 
       ValueMap { "0", "1", "2", "4096", "..", "32768..65535" }, 
       Values { "Completed with No Error", "Not Supported", 
          "Failed", "Job Started", "DMTF Reserved", "Vendor Reserved" }]
   uint32 ApplySettingToComputerSystem(
         [Required, IN, Description ( 
             "The IPVersionSettingData to be apply." )]
      CIM_IPVersionSettingData REF IPVersionSettingData, 
         [Required, IN, Description ( 
             "The ComputerSystem to which the setting will be applied"
              )]
      CIM_ComputerSystem REF ComputerSystem, 
         [Required, IN, Description ( 
             "The mode in which the configuration need to be "
             "applied to the ComputerSystem.\n"
             "Mode 0 - implies use Mode 1 if allowed, else Mode 2.\n"
             "Mode 1 - Results in IsNext = 1 (Is Next), "
             "IsCurrent = 1 (Is Current) for the "
             "CIM_ElementSettingData associating the setting "
             "with ComputerSystem.\n"
             "Mode 2 - Results in IsNext = 1 (Is Next) for the "
             "CIM_ElementSettingData associating the setting "
             "with ComputerSystem. The value of IsCurrent will "
             "not be affected.\n"
             "Mode 3 - implies use Mode 4 if allowed, else Mode 5.\n"
             "Mode 4 - Results in IsNext = 2 (Is Not Next), "
             "IsCurrent = 2 (Is Not Current) for the "
             "CIM_ElementSettingData associating the setting "
             "with ComputerSystem.\n"
             "Mode 5 - Results in IsNext = 2 (Is Not Next) for "
             "the CIM_ElementSettingData associating the setting "
             "with ComputerSystem. The value of IsCurrent will "
             "not be affected.\n"
             "Mode 6 - Results in IsNext = 3 (Is Next For Single "
             "Use)for the CIM_ElementSettingData associating the "
             "setting with ComputerSystem. The value of "
             "IsCurrent will not be affected. To change the "
             "IsNext=3 (Is Next For Single Use) for a Setting, "
             "invoke the method with any of the other values for "
             "the mode." ), 
          ValueMap { "0", "1", "2", "3", "4", "5", "6", "..", 
             "32768..65535" }, 
          Values { "Mode 0", "Mode 1", "Mode 2", "Mode 3", 
             "Mode 4", "Mode 5", "Mode 6", "DMTF Reserved", 
             "Vendor Reserved" }]
      uint16 Mode, 
         [IN ( false ), OUT, Description ( 
             "Reference to the job spawned if the operation "
             "continues after the method returns. (may be null "
             "if task completed)." )]
      CIM_ConcreteJob REF Job);

      [Description ( 
          "Apply the IP setting respresented by the "
          "CIM_IPAssignmentSettingData and/or the IPVersion Setting "
          "respresented by the CIM_IPVersionSettingData to the "
          "specified IPNetworkConnection. The settings may take "
          "effect or disable immediatley or may be set to take "
          "effect or disable in the next boot, depending on system, "
          "IPNetworkConnection, Setting and the value specified for "
          "Mode. This will reflect in the IsCurrent & IsNext "
          "property of instances of CIM_ElementSettingData "
          "associating the SettingData and or IPVersionSettingData "
          "with the IPNetworkConnection. For cases, enabling one "
          "setting can result in automatic disabling of another "
          "setting, it will be refelected in the properties of "
          "ElementSettingData associating those settings to the "
          "IPNetworkConnection.Refer the description for the Mode "
          "parameter for more details.\n"
          "At least one of the SettingData or IPVersionSettingData "
          "is required in the method call; both may be specified on "
          "the same method call." ), 
       ValueMap { "0", "1", "2", "4096", "..", "32768..65535" }, 
       Values { "Completed with No Error", "Not Supported", 
          "Failed", "Job Started", "DMTF Reserved", "Vendor Reserved" }]
   uint32 ApplySettingToIPNetworkConnection(
         [IN, Description ( 
             "The IPAssignmentSettingData to apply." )]
      CIM_IPAssignmentSettingData REF SettingData, 
         [IN, Description ( 
             "The IPVersionSettingData to be apply." )]
      CIM_IPVersionSettingData REF IPVersionSettingData, 
         [Required, IN, Description ( 
             "The IPNetworkConnection to which the setting will be applied"
              )]
      CIM_IPNetworkConnection REF IPNetworkConnection, 
         [Required, IN, Description ( 
             "The mode in which the configuration need to be "
             "applied to the IPNetworkConnection.\n"
             "Mode 0 - implies use Mode 1 if allowed, else Mode 2.\n"
             "Mode 1 - Results in IsNext = 1 (Is Next), "
             "IsCurrent = 1 (Is Current) for the "
             "CIM_ElementSettingData associating the setting "
             "with IPNetworkConnection.\n"
             "Mode 2 - Results in IsNext = 1 (Is Next) for the "
             "CIM_ElementSettingData associating the setting "
             "with IPNetworkConnection. The value of IsCurrent "
             "will not be affected.\n"
             "Mode 3 - implies use Mode 4 if allowed, else Mode 5.\n"
             "Mode 4 - Results in IsNext = 2 (Is Not Next), "
             "IsCurrent = 2 (Is Not Current) for the "
             "CIM_ElementSettingData associating the setting "
             "with IPNetworkConnection.\n"
             "Mode 5 - Results in IsNext = 2 (Is Not Next) for "
             "the CIM_ElementSettingData associating the setting "
             "with IPNetworkConnection. The value of IsCurrent "
             "will not be affected.\n"
             "Mode 6 - Results in IsNext = 3 (Is Next For Single "
             "Use)for the CIM_ElementSettingData associating the "
             "setting with IPNetworkConnection. The value of "
             "IsCurrent will not be affected. To change the "
             "IsNext=3 (Is Next For Single Use) for a Setting, "
             "invoke the method with any of the other values for "
             "the mode." ), 
          ValueMap { "0", "1", "2", "3", "4", "5", "6", "..", 
             "32768..65535" }, 
          Values { "Mode 0", "Mode 1", "Mode 2", "Mode 3", 
             "Mode 4", "Mode 5", "Mode 6", "DMTF Reserved", 
             "Vendor Reserved" }]
      uint16 Mode, 
         [IN ( false ), OUT, Description ( 
             "Reference to the job spawned if the operation "
             "continues after the method returns. (may be null "
             "if task completed)." )]
      CIM_ConcreteJob REF Job);

};
