Returns get template request specification, using default values if not present in spec.
        If dictionary is provided, it is considered as JSON.
        If Configuration is provided, we look at createTpl object
        :param spec:
        :return:

def get_template_request_spec(spec):
        """
        Returns get template request specification, using default values if not present in spec.
        If dictionary is provided, it is considered as JSON.
        If Configuration is provided, we look at createTpl object
        :param spec:
        :return:
        """
        dst = CreateUO.get_default_template()
        src = None
        if isinstance(spec, Configuration):
            src = spec.create_tpl
        elif isinstance(spec, dict):
            src = spec
        else:
            raise ValueError('Unrecognized spec type')

        if spec is not None:
            dst = EBUtils.merge(dst, src)

        return dst