'Create consistency group of FlashCopy or RemoteCopy.'

@proxy.logger
def create_group(self, ctxt, group):

    grp = Group(group)
    if (grp.group_replication_enabled or grp.consisgroup_replication_enabled):
        for volume_type in group.volume_types:
            replication_type = utils.is_replicated_spec(volume_type.extra_specs)
            self._assert(replication_type, ('Unable    to    create    group:    group    %(grp)s    is    for    replication    type,    but    volume    %(vtype)s    is    a    non-replication    one.' % {'grp': grp.id, 'vtype': volume_type.id}))
    if (grp.consisgroup_snapshot_enabled or grp.consisgroup_replication_enabled):
        self._assert(self._helper.backend['lss_ids_for_cg'], 'No    LSS(s)    for    CG,    please    make    sure    you    have    reserved    LSS    for    CG    via    param    lss_range_for_cg.')
        model_update = {}
        if grp.consisgroup_replication_enabled:
            self._helper.verify_rest_version_for_pprc_cg()
            target_helper = self._replication.get_target_helper()
            target_helper.verify_rest_version_for_pprc_cg()
            model_update['replication_status'] = fields.ReplicationStatus.ENABLED
        model_update.update(self._helper.create_group(group))
        return model_update
    else:
        raise NotImplementedError()
