Пример #1
0
    def _encode(self, provider, entity, pretty, subtree):
        """Encode a YDK entity to string payload.

        Args:
            provider (ydk.providers.CodecServiceProvider): Codec provider.
            entity (ydk.types.Entity) : Encoding target.
            pretty (bool): Pretty formatting if True.
            subtree: (bool) flag, which directs encode to XML subtree; default= False

        Returns:
            Encoded payload if success.

        Raises:
            Instance of YError is encoding fails.
        """
        bundle_name = _get_bundle_name(entity)
        provider.initialize(bundle_name, _get_yang_path(entity))
        root_schema = provider.get_root_schema(bundle_name)

        if subtree:
            if provider.encoding != EncodingFormat.XML:
                raise _YServiceError('Subtree option can only be used with XML encoding')
            xml_codec = XmlSubtreeCodec()
            return xml_codec.encode(entity, root_schema)

        with _handle_error():
            data_node = _get_data_node_from_entity(entity, root_schema)
            codec_service = _Codec()
            result = codec_service.encode(data_node, provider.encoding, pretty)
            self.logger.debug("Performing encode operation, resulting in {}".format(result))
            return result
Пример #2
0
    def get_config(self, provider, source, read_filter):
        if None in (provider, source, read_filter):
            raise _YPYServiceError(
                "provider, source, and filter cannot be None")

        with _handle_error():
            return self._ns.get_config(provider, source, read_filter)
Пример #3
0
    def _encode(self, provider, entity, pretty, subtree):
        """Encode a YDK entity to string payload.

        Args:
            provider (ydk.providers.CodecServiceProvider): Codec provider.
            entity (ydk.types.Entity) : Encoding target.
            pretty (bool): Pretty formatting if True.
            subtree: (bool) flag, which directs encode to XML subtree; default= False

        Returns:
            Encoded payload if success.

        Raises:
            Instance of YError is encoding fails.
        """
        bundle_name = _get_bundle_name(entity)
        provider.initialize(bundle_name, _get_yang_path(entity))
        root_schema = provider.get_root_schema(bundle_name)

        if subtree:
            if provider.encoding != EncodingFormat.XML:
                raise _YServiceError(
                    'Subtree option can only be used with XML encoding')
            xml_codec = XmlSubtreeCodec()
            return xml_codec.encode(entity, root_schema)

        with _handle_error():
            data_node = _get_data_node_from_entity(entity, root_schema)
            codec_service = _Codec()
            result = codec_service.encode(data_node, provider.encoding, pretty)
            self.logger.debug(
                "Performing encode operation, resulting in {}".format(result))
            return result
Пример #4
0
    def read_config(self, provider, read_filter=None):
        if provider is None:
            raise YServiceError("provider cannot be None")

        if read_filter is None:
            with _handle_error():
                return _read_entities(provider)

        filters = read_filter
        if isinstance(read_filter, EntityCollection):
            filters = read_filter.entities()
        with _handle_error():
            read_entity = self._crud.read_config(provider, filters)
        if isinstance(read_filter, EntityCollection):
            read_entity = Config(read_entity)
        return read_entity
Пример #5
0
    def get_config(self, provider, source=Datastore.running, read_filter=None):
        if None in (provider, source):
            raise _YServiceError("provider and source cannot be None")

        if read_filter is None:
            with _handle_error():
                return _read_entities(provider, True, source)

        filters = read_filter
        if isinstance(read_filter, EntityCollection):
            filters = read_filter.entities()

        with _handle_error():
            result = self._ns.get_config(provider, source, filters)
        if isinstance(read_filter, EntityCollection):
            result = Config(result)
        return result
Пример #6
0
    def get(self, provider, read_filter=None):
        if provider is None:
            raise _YServiceError("provider cannot be None")

        if read_filter is None:
            with _handle_error():
                return _read_entities(provider, get_config=False)

        filters = read_filter
        if isinstance(read_filter, EntityCollection):
            filters = read_filter.entities()

        with _handle_error():
            result = self._ns.get(provider, filters)
        if isinstance(read_filter, EntityCollection):
            result = Config(result)
        return result
Пример #7
0
    def cancel_commit(self, provider, persist_id=None):
        if provider is None:
            raise _YServiceError("provider cannot be None")

        if persist_id is None:
            persist_id = -1

        with _handle_error():
            return self._ns.cancel_commit(provider, persist_id)
Пример #8
0
    def cancel_commit(self, provider, persist_id=None):
        if provider is None:
            raise _YServiceError("provider cannot be None")

        if persist_id is None:
            persist_id = -1

        with _handle_error():
            return self._ns.cancel_commit(provider, persist_id)
Пример #9
0
    def read_config(self, provider, read_filter=None):
        if provider is None:
            raise YServiceError("provider cannot be None")

        if read_filter is None:
            with _handle_error():
                return _read_entities(provider)

        filters = read_filter
        if isinstance(read_filter, EntityCollection):
            filters = read_filter.entities()

        top_filters = _get_top_level_entity(filters, provider.get_session().get_root_schema())
        with _handle_error():
            read_top_entity = self._crud.read_config(provider, top_filters)
        read_entity = _get_child_entity_from_top(read_top_entity, filters)

        if isinstance(read_filter, EntityCollection):
            read_entity = Config(read_entity)
        return read_entity
Пример #10
0
    def edit_config(self, provider, target, config,
        default_operation="", test_option="", error_option=""):

        if None in (provider, target, config):
            raise _YServiceError("provider, target, and config cannot be None")

        with _handle_error():
            if isinstance(config, Config):
                config = config.entities()
            return self._ns.edit_config(provider, target, config,
                default_operation, test_option, error_option)
Пример #11
0
    def get_config(self, provider, source=Datastore.running, read_filter=None):
        if None in (provider, source):
            raise _YServiceError("provider and source cannot be None")

        if read_filter is None:
            with _handle_error():
                return _read_entities(provider, True, source)

        filters = read_filter
        if isinstance(read_filter, EntityCollection):
            filters = read_filter.entities()

        top_filters = _get_top_level_entity(filters, provider.get_session().get_root_schema())
        with _handle_error():
            top_result = self._ns.get_config(provider, source, top_filters)
        result = _get_child_entity_from_top(top_result, filters)

        if isinstance(read_filter, EntityCollection):
            result = Config(result)
        return result
Пример #12
0
    def validate(self, provider, source=None, url="", source_config=None):
        if provider is None or (source is None and source_config is None):
            raise _YServiceError("provider and source/source_config cannot be None")

        with _handle_error():
            if isinstance(source, Datastore):
                return self._ns.validate(provider, source, url)
            elif source_config is not None:
                return self._ns.validate(provider, source_config)
            else:
                return self._ns.validate(provider, source)
Пример #13
0
    def validate(self, provider, source=None, url="", source_config=None):
        if provider is None or (source is None and source_config is None):
            raise _YServiceError("provider and source/source_config cannot be None")

        with _handle_error():
            if isinstance(source, Datastore):
                return self._ns.validate(provider, source, url)
            elif source_config is not None:
                return self._ns.validate(provider, source_config)
            else:
                return self._ns.validate(provider, source)
Пример #14
0
    def edit_config(self, provider, target, config,
                    default_operation="", test_option="", error_option=""):

        if None in (provider, target, config):
            raise _YServiceError("provider, target, and config cannot be None")

        with _handle_error():
            if isinstance(config, Config):
                config = config.entities()
            return self._ns.edit_config(provider, target, config,
                                        default_operation, test_option, error_option)
Пример #15
0
    def get(self, provider, read_filter=None):
        if provider is None:
            raise _YServiceError("provider cannot be None")

        if read_filter is None:
            with _handle_error():
                return _read_entities(provider, get_config=False)

        filters = read_filter
        if isinstance(read_filter, EntityCollection):
            filters = read_filter.entities()

        top_filters = _get_top_level_entity(filters, provider.get_session().get_root_schema())
        with _handle_error():
            top_result = self._ns.get(provider, top_filters)
        result = _get_child_entity_from_top(top_result, filters)

        if isinstance(read_filter, EntityCollection):
            result = Config(result)
        return result
Пример #16
0
    def read_config(self, provider, read_filter=None):
        if provider is None:
            raise YServiceError("provider cannot be None")

        if read_filter is None:
            with _handle_error():
                return _read_entities(provider)

        filters = read_filter
        if isinstance(read_filter, EntityCollection):
            filters = read_filter.entities()

        top_filters = _get_top_level_entity(filters, provider.get_session().get_root_schema())
        with _handle_error():
            read_top_entity = self._crud.read_config(provider, top_filters)
        read_entity = _get_child_entity_from_top(read_top_entity, filters)

        if isinstance(read_filter, EntityCollection):
            read_entity = Config(read_entity)
        return read_entity
Пример #17
0
    def commit(self,
               provider,
               confirmed=False,
               confirm_timeout=-1,
               persist=-1,
               persist_id=-1):
        if provider is None:
            raise _YPYServiceError("provider cannot be None")

        with _handle_error():
            return self._ns.commit(provider, confirmed, confirm_timeout,
                                   persist, persist_id)
Пример #18
0
def _ns_get(provider, source, read_filter, ns_call):
    is_config = (source is not None)
    if read_filter is None:
        with _handle_error():
            return _read_entities(provider, get_config=is_config)

    filters = read_filter
    if isinstance(read_filter, EntityCollection):
        filters = read_filter.entities()

    _set_nontop_entity_filter(filters, YFilter.read)
    top_filters = _get_top_level_entity(filters, provider.get_session().get_root_schema())
    with _handle_error():
        if is_config:
            top_result = ns_call(provider, source, top_filters)
        else:
            top_result = ns_call(provider, top_filters)
    result = _get_child_entity_from_top(top_result, filters)

    if isinstance(read_filter, EntityCollection):
        result = Config(result)
    return result
Пример #19
0
    def copy_config(self, provider, target, source=None, url="", source_config=None):
        if None in (provider, target) or (source is None and source_config is None):
            raise _YServiceError("provider, target, and source/source_config cannot be None")

        with _handle_error():
            if isinstance(source, Datastore):
                return self._ns.copy_config(provider, target, source, url)
            elif source_config is not None:
                if isinstance(source_config, EntityCollection):
                    source_config = source_config.entities()
                return self._ns.copy_config(provider, target, source_config)
            else:
                return self._ns.copy_config(provider, target, source)
Пример #20
0
    def copy_config(self, provider, target, source=None, url="", source_config=None):
        if None in (provider, target) or (source is None and source_config is None):
            raise _YServiceError("provider, target, and source/source_config cannot be None")

        with _handle_error():
            if isinstance(source, Datastore):
                return self._ns.copy_config(provider, target, source, url)
            elif source_config is not None:
                if isinstance(source_config, EntityCollection):
                    source_config = source_config.entities()
                return self._ns.copy_config(provider, target, source_config)
            else:
                return self._ns.copy_config(provider, target, source)
Пример #21
0
    def set(self, provider, entity):
        if provider is None:
            raise _YServiceError("Provider cannot be None")

        if entity is None:
            raise _YServiceError("Set entiy cannot be None")

        entities = entity
        if isinstance(entity, EntityCollection):
            entities = entity.entities()

        with _handle_error():
            result = self._gs.set(provider, entities)
        return result
Пример #22
0
def _crud_read(provider, read_filter, is_config, crud_call):
    if provider is None:
        raise YServiceError("provider cannot be None")

    if read_filter is None:
        with _handle_error():
            return _read_entities(provider, get_config=is_config)

    filters = read_filter
    if isinstance(read_filter, EntityCollection):
        filters = read_filter.entities()

    _set_nontop_entity_filter(filters, YFilter.read)
    top_filters = _get_top_level_entity(
        filters,
        provider.get_session().get_root_schema())
    with _handle_error():
        read_top_entity = crud_call(provider, top_filters)
    read_entity = _get_child_entity_from_top(read_top_entity, filters)

    if isinstance(read_filter, EntityCollection):
        read_entity = Config(read_entity)
    return read_entity
Пример #23
0
    def set(self, provider, entity):
        if provider is None:
            raise _YServiceError("Provider cannot be None")

        if entity is None:
            raise _YServiceError("Set entiy cannot be None")

        entities = entity
        if isinstance(entity, EntityCollection):
            entities = entity.entities()

        with _handle_error():
            result = self._gs.set(provider, entities)
        return result
Пример #24
0
    def commit(self, provider, confirmed=False, confirm_timeout=None, persist=None, persist_id=None):
        if provider is None:
            raise _YServiceError("provider cannot be None")

        if confirm_timeout is None:
            confirm_timeout = -1

        if persist is None:
            persist = -1

        if persist_id is None:
            persist_id = -1

        with _handle_error():
            return self._ns.commit(provider, confirmed, confirm_timeout, persist, persist_id)
Пример #25
0
    def get(self, provider, read_filter, operation='CONFIG'):
        if provider is None:
            raise _YServiceError("Service Provider cannot be None")

        if read_filter is None:
            raise _YServiceError("Get filter cannot be None")

        filters = read_filter
        if isinstance(read_filter, EntityCollection):
            filters = read_filter.entities()

        with _handle_error():
            result = self._gs.get(provider, filters, operation)
        if isinstance(read_filter, EntityCollection):
            result = Config(result)
        return result
Пример #26
0
    def get(self, provider, read_filter, operation='CONFIG'):
        if provider is None:
            raise _YServiceError("Service Provider cannot be None")

        if read_filter is None:
            raise _YServiceError("Get filter cannot be None")

        filters = read_filter
        if isinstance(read_filter, EntityCollection):
            filters = read_filter.entities()

        _set_nontop_entity_filter(filters, YFilter.read)
        top_filters = _get_top_level_entity(
            filters,
            provider.get_session().get_root_schema())
        with _handle_error():
            top_result = self._gs.get(provider, top_filters, operation)
        result = _get_child_entity_from_top(top_result, filters)

        if isinstance(read_filter, EntityCollection):
            result = Config(result)
        return result
Пример #27
0
 def read_config(self, provider, read_filter):
     with _handle_error():
         return self._crud.read_config(provider, read_filter)
Пример #28
0
    def discard_changes(self, provider):
        if provider is None:
            raise _YServiceError("provider cannot be None")

        with _handle_error():
            return self._ns.discard_changes(provider)
Пример #29
0
    def unlock(self, provider, target):
        if None in (provider, target):
            raise _YServiceError("provider and target cannot be None")

        with _handle_error():
            return self._ns.unlock(provider, target)
Пример #30
0
def _crud_update(provider, entity, crud_call):
    if isinstance(entity, EntityCollection):
        entity = entity.entities()
    with _handle_error():
        return crud_call(provider, entity)
Пример #31
0
    def delete_config(self, provider, target, url=""):
        if None in (provider, target):
            raise _YServiceError("provider and target cannot be None")

        with _handle_error():
            return self._ns.delete_config(provider, target, url)
Пример #32
0
    def close_session(self, provider):
        if provider is None:
            raise _YServiceError("provider cannot be None")

        with _handle_error():
            return self._ns.close_session(provider)
Пример #33
0
    def close_session(self, provider):
        if provider is None:
            raise _YServiceError("provider cannot be None")

        with _handle_error():
            return self._ns.close_session(provider)
Пример #34
0
    def discard_changes(self, provider):
        if provider is None:
            raise _YServiceError("provider cannot be None")

        with _handle_error():
            return self._ns.discard_changes(provider)
Пример #35
0
    def cancel_commit(self, provider, persist_id=-1):
        if None in (provider, persist_id):
            raise _YPYServiceError("provider and persist_id cannot be None")

        with _handle_error():
            return self._ns.cancel_commit(provider, persist_id)
Пример #36
0
 def update(self, provider, entity):
     if isinstance(entity, EntityCollection):
         entity = entity.entities()
     with _handle_error():
         return self._crud.update(provider, entity)
Пример #37
0
    def kill_session(self, provider, session_id):
        if None in (provider, session_id):
            raise _YServiceError("provider and session_id cannot be None")

        with _handle_error():
            return self._ns.kill_session(provider, session_id)
Пример #38
0
 def update(self, provider, entity):
     with _handle_error():
         return self._crud.update(provider, entity)
Пример #39
0
 def delete(self, provider, entity):
     if isinstance(entity, EntityCollection):
         entity = entity.entities()
     with _handle_error():
         return self._crud.delete(provider, entity)
Пример #40
0
    def delete_config(self, provider, target, url=""):
        if None in (provider, target):
            raise _YServiceError("provider and target cannot be None")

        with _handle_error():
            return self._ns.delete_config(provider, target, url)
Пример #41
0
 def delete(self, provider, entity):
     with _handle_error():
         return self._crud.delete(provider, entity)
Пример #42
0
    def kill_session(self, provider, session_id):
        if None in (provider, session_id):
            raise _YServiceError("provider and session_id cannot be None")

        with _handle_error():
            return self._ns.kill_session(provider, session_id)
Пример #43
0
    def execute_rpc(self, provider, entity, top_entity=None):
        if None in (provider, entity):
            raise _YServiceError("provider and entity cannot be None")

        with _handle_error():
            return self._es.execute_rpc(provider, entity, top_entity)
Пример #44
0
    def unlock(self, provider, target):
        if None in (provider, target):
            raise _YServiceError("provider and target cannot be None")

        with _handle_error():
            return self._ns.unlock(provider, target)