:py:mod:`nautobot_ssot_ipfabric.diffsync.diffsync_models` ========================================================= .. py:module:: nautobot_ssot_ipfabric.diffsync.diffsync_models .. autoapi-nested-parse:: DiffSyncModel subclasses for Nautobot-to-IPFabric data sync. Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: nautobot_ssot_ipfabric.diffsync.diffsync_models.DiffSyncExtras nautobot_ssot_ipfabric.diffsync.diffsync_models.Location nautobot_ssot_ipfabric.diffsync.diffsync_models.Device nautobot_ssot_ipfabric.diffsync.diffsync_models.Interface nautobot_ssot_ipfabric.diffsync.diffsync_models.Vlan Attributes ~~~~~~~~~~ .. autoapisummary:: nautobot_ssot_ipfabric.diffsync.diffsync_models.CONFIG nautobot_ssot_ipfabric.diffsync.diffsync_models.DEFAULT_DEVICE_ROLE nautobot_ssot_ipfabric.diffsync.diffsync_models.DEFAULT_DEVICE_ROLE_COLOR nautobot_ssot_ipfabric.diffsync.diffsync_models.DEFAULT_DEVICE_STATUS nautobot_ssot_ipfabric.diffsync.diffsync_models.DEFAULT_DEVICE_STATUS_COLOR nautobot_ssot_ipfabric.diffsync.diffsync_models.DEFAULT_INTERFACE_MAC nautobot_ssot_ipfabric.diffsync.diffsync_models.SAFE_DELETE_SITE_STATUS nautobot_ssot_ipfabric.diffsync.diffsync_models.SAFE_DELETE_DEVICE_STATUS nautobot_ssot_ipfabric.diffsync.diffsync_models.SAFE_DELETE_IPADDRESS_STATUS nautobot_ssot_ipfabric.diffsync.diffsync_models.SAFE_DELETE_VLAN_STATUS .. py:data:: CONFIG .. py:data:: DEFAULT_DEVICE_ROLE .. py:data:: DEFAULT_DEVICE_ROLE_COLOR .. py:data:: DEFAULT_DEVICE_STATUS .. py:data:: DEFAULT_DEVICE_STATUS_COLOR .. py:data:: DEFAULT_INTERFACE_MAC .. py:data:: SAFE_DELETE_SITE_STATUS .. py:data:: SAFE_DELETE_DEVICE_STATUS .. py:data:: SAFE_DELETE_IPADDRESS_STATUS .. py:data:: SAFE_DELETE_VLAN_STATUS .. py:class:: DiffSyncExtras Bases: :py:obj:`diffsync.DiffSyncModel` Additional components to mix and subclass from with `DiffSyncModel`. .. py:attribute:: safe_delete_mode :annotation: :ClassVar[bool] = True .. py:method:: safe_delete(nautobot_object: Any, safe_delete_status: Optional[str] = None) Safe delete an object, by adding tags or changing it's default status. Args: nautobot_object (Any): Any type of Nautobot object safe_delete_status (Optional[str], optional): Status name, optional as some objects don't have status field. Defaults to None. .. py:class:: Location Bases: :py:obj:`DiffSyncExtras` Location model. .. py:attribute:: _modelname :annotation: = location .. py:attribute:: _identifiers :annotation: = ['name'] .. py:attribute:: _attributes :annotation: = ['site_id', 'status'] .. py:attribute:: _children .. py:attribute:: name :annotation: :str .. py:attribute:: site_id :annotation: :Optional[str] .. py:attribute:: status :annotation: :str .. py:attribute:: devices :annotation: :List[Device] .. py:attribute:: vlans :annotation: :List[Vlan] .. py:method:: create(diffsync, ids, attrs) :classmethod: Create Site in Nautobot. .. py:method:: delete() -> Optional[diffsync.DiffSyncModel] Delete Site in Nautobot. .. py:method:: update(attrs) Update Site Object in Nautobot. .. py:class:: Device Bases: :py:obj:`DiffSyncExtras` Device model. .. py:attribute:: _modelname :annotation: = device .. py:attribute:: _identifiers :annotation: = ['name'] .. py:attribute:: _attributes :annotation: = ['location_name', 'model', 'vendor', 'serial_number', 'role', 'status'] .. py:attribute:: _children .. py:attribute:: name :annotation: :str .. py:attribute:: location_name :annotation: :Optional[str] .. py:attribute:: model :annotation: :Optional[str] .. py:attribute:: vendor :annotation: :Optional[str] .. py:attribute:: serial_number :annotation: :Optional[str] .. py:attribute:: role :annotation: :Optional[str] .. py:attribute:: status :annotation: :Optional[str] .. py:attribute:: mgmt_address :annotation: :Optional[str] .. py:attribute:: interfaces :annotation: :List[Interface] .. py:method:: create(diffsync, ids, attrs) :classmethod: Create Device in Nautobot under its parent site. .. py:method:: delete() -> Optional[diffsync.DiffSyncModel] Delete device in Nautobot. .. py:method:: update(attrs) Update devices in Nautbot based on Source. .. py:class:: Interface Bases: :py:obj:`DiffSyncExtras` Interface model. .. py:attribute:: _modelname :annotation: = interface .. py:attribute:: _identifiers :annotation: = ['name', 'device_name'] .. py:attribute:: _shortname :annotation: = ['name'] .. py:attribute:: _attributes :annotation: = ['description', 'enabled', 'mac_address', 'mtu', 'type', 'mgmt_only', 'ip_address',... .. py:attribute:: name :annotation: :str .. py:attribute:: device_name :annotation: :str .. py:attribute:: description :annotation: :Optional[str] .. py:attribute:: enabled :annotation: :Optional[bool] .. py:attribute:: mac_address :annotation: :Optional[str] .. py:attribute:: mtu :annotation: :Optional[int] .. py:attribute:: type :annotation: :Optional[str] .. py:attribute:: mgmt_only :annotation: :Optional[bool] .. py:attribute:: ip_address :annotation: :Optional[str] .. py:attribute:: subnet_mask :annotation: :Optional[str] .. py:attribute:: ip_is_primary :annotation: :Optional[bool] .. py:attribute:: status :annotation: :str .. py:method:: create(diffsync, ids, attrs) :classmethod: Create interface in Nautobot under its parent device. .. py:method:: delete() -> Optional[diffsync.DiffSyncModel] Delete Interface Object. .. py:method:: update(attrs) Update Interface object in Nautobot. .. py:class:: Vlan Bases: :py:obj:`DiffSyncExtras` VLAN model. .. py:attribute:: _modelname :annotation: = vlan .. py:attribute:: _identifiers :annotation: = ['name', 'site'] .. py:attribute:: _shortname :annotation: = ['name'] .. py:attribute:: _attributes :annotation: = ['vid', 'status', 'description'] .. py:attribute:: name :annotation: :str .. py:attribute:: vid :annotation: :int .. py:attribute:: status :annotation: :str .. py:attribute:: site :annotation: :str .. py:attribute:: description :annotation: :Optional[str] .. py:attribute:: vlan_pk :annotation: :Optional[uuid.UUID] .. py:method:: create(diffsync, ids, attrs) :classmethod: Create VLANs in Nautobot under the site. .. py:method:: delete() -> Optional[diffsync.DiffSyncModel] Delete. .. py:method:: update(attrs) Update VLAN object in Nautobot.