Ejemplo n.º 1
0
    def get_reference_book(self, name):
        # type: (str) -> ReferenceBook
        """
        Returns the specified reference book for the active network.

        :param name: name of the reference book to fetch
        :type name: str
        """
        return ReferenceBook.from_dict(restv2helper.get_reference_book(self, name))
Ejemplo n.º 2
0
def create_reference_book(definitions, book_name='capirca'):
    # type: (Union[str, naming.Naming], str) -> ReferenceBook
    """
    Create a :py:class:~pybatfish.datamodel.referencelibrary.ReferenceBook containing the given Capirca network definitions.

    :param definitions: a Capirca Naming definitions object, or the path to the
       Capirca definitions folder.
    :type definitions: capirca.lib.naming.Naming or str
    :param book_name: the name of the created ReferenceBook. Defaults to
       'capirca'.
    :type book_name: str, optional
    """
    definitions = _init_definitions(definitions)

    groups = [_entry_to_group(network.name, network.items, definitions)
              for network in definitions.networks.values()]

    return ReferenceBook(name=book_name, addressGroups=groups)
Ejemplo n.º 3
0
def add_address_groups(bf):
    with open(ADDRESS_GROUPS_FILE, "r") as f:
        groups = yaml.safe_load(f)
    address_groups = [AddressGroup(g["name"], g["addresses"]) for g in groups["metadata"]]
    bf.put_reference_book(ReferenceBook(name="metadata", addressGroups=address_groups))