code: def MI_createInstance(self,
                            env,
                            instance):
          # pylint: disable=invalid-name
          
  
          logger = env.get_logger()
          logger.log_debug('CIMProvider MI_createInstance called...')
          rval = None
          ch = env.get_cimom_handle()
          cimClass = ch.GetClass(instance.classname,
                                 instance.path.namespace,
                                 LocalOnly=False,
                                 IncludeQualifiers=True)
          # CIMOM has already filled in default property values for
          # props with default values, if values not supplied by client.
          rval = self.set_instance(env=env,
                                   instance=instance,
                                   previous_instance=None,
                                   cim_class=cimClass)
          rval = build_instance_name(rval, cimClass)
          logger.log_debug('CIMProvider MI_createInstance returning')
          return rval
docs: Create a CIM instance, and return its instance name
  
          Implements the WBEM operation CreateInstance in terms
          of the set_instance method.  A derived class will not normally
          override this method.