fixes indentations and adds updated default settings

This commit is contained in:
Ricardo Bartels
2026-03-18 22:36:32 +01:00
parent 8b939420b8
commit 9e0b5cd2b2
5 changed files with 25 additions and 15 deletions
-3
View File
@@ -1,9 +1,6 @@
# NetBox-Sync
> [!CAUTION]
> **Maintainer wanted - sunsetting this repository by 31.10.2025 [#474](https://github.com/bb-Ricardo/netbox-sync/issues/474)**
This is a tool to sync data from different sources to a NetBox instance.
Available source types:
+1 -1
View File
@@ -750,7 +750,7 @@ class NetBoxObject:
new_value_str = new_value_str.replace("\n", " ")
log.info(f"{self.name.capitalize()} '{display_name}' attribute '{key}' changed from "
f"'{current_value_str}' to '{new_value_str}'")
self.data[key] = new_value
self.updated_items.append(key)
data_updated = True
+2 -2
View File
@@ -89,7 +89,7 @@ class VMWareConfig(ConfigBase):
If a filter is unset it will be ignored. Filters are all treated as regex expressions!
If more then one expression should match, a '|' needs to be used
""",
config_example="""Example: (exclude all VMs with "replica" in their name
config_example="""Example: (exclude all VMs with "replica" in their name
and all VMs starting with "backup"): vm_exclude_filter = .*replica.*|^backup.*""",
options=[
ConfigOption("cluster_exclude_filter",
@@ -143,7 +143,7 @@ class VMWareConfig(ConfigBase):
description="""Same as cluster site but on host level.
If unset it will fall back to cluster_site_relation""",
config_example="nyc02.* = New York, ffm01.* = Frankfurt"),
ConfigOption("cluster_scope_type_relation",
ConfigOption("cluster_scope_type_relation",
str,
description="""This option defines the scope type for a cluster.
The scope type can be 'dcim.site', 'dcim.sitegroup', 'dcim.location' or 'dcim.region'.
+9 -9
View File
@@ -501,7 +501,7 @@ class VMWareHandler(SourceBase):
log.debug2(f"Returning site name '{site_name}' for {object_type.name} '{object_name}'.")
return site_name
def get_scope_type(self, object_type, object_name):
"""
Retrieve the scope_type for a NBCluster instance by object name or from the config option
@@ -524,12 +524,12 @@ class VMWareHandler(SourceBase):
# Validate object type
if object_type != NBCluster:
raise ValueError(f"Object type must be '{NBCluster.name}'.")
# get scope type from relation config
relation_name = "cluster_scope_type_relation"
scope_type = self.get_object_relation(object_name, relation_name)
log.debug(f"Retrieved scope type '{scope_type}' for {object_type.name} '{object_name}' from relation '{relation_name}'.")
# if the scope_type is a list, use the first element
if scope_type is not None and type(scope_type) is list:
scope_type_list = scope_type
@@ -545,7 +545,7 @@ class VMWareHandler(SourceBase):
if scope_type == "<NONE>":
log.debug(f"Scope type for {object_type.name} '{object_name}' is set to None")
return None
log.debug2(f"Returning scope type '{scope_type}' for {object_type.name} '{object_name}'.")
return scope_type
@@ -577,16 +577,16 @@ class VMWareHandler(SourceBase):
# return None if scope_id is None or not a string
if scope_id is None:
log.debug(f"No scope id found for {object_name}.")
log.debug(f"No scope id found for {object_name}.")
return None
if type(scope_id) is not str:
log.debug(f"scope_id is type: {type(scope_id)}, not str")
return None
log.debug2(f"Retrieved scope id '{scope_id}' for {object_type.name} '{object_name}' from relation '{relation_name}'. End of method.")
return scope_id
def get_object_based_on_macs(self, object_type, mac_list=None):
"""
Try to find a NetBox object based on list of MAC addresses.
@@ -1480,10 +1480,10 @@ class VMWareHandler(SourceBase):
scope_type = self.get_scope_type(NBCluster, full_cluster_name)
if scope_type is None:
scope_type = self.get_scope_type(NBCluster, name)
site_name = self.get_site_name(NBCluster, full_cluster_name)
scope_id = self.get_scope_id(NBCluster, full_cluster_name)
scope_id = self.get_scope_id(NBCluster, full_cluster_name)
if scope_id is None:
scope_id = self.get_scope_id(NBCluster, name)
log.debug(f"Cluster '{full_cluster_name}' has scope id '{scope_id}' of type {type(scope_id)}.")
+13
View File
@@ -199,6 +199,19 @@ password = super-secret
; cluster_site_relation
;host_site_relation = nyc02.* = New York, ffm01.* = Frankfurt
; This option defines the scope type for a cluster. The scope type can be 'dcim.site',
; 'dcim.sitegroup', 'dcim.location' or 'dcim.region'. This is done with a comma separated
; key = value list. Can be set to "<NONE>" to not assign a scope type. Note: this does not
; remove scope types from existing clusters in NetBox. key: defines a cluster name as
; regex value: defines the NetBox scope type name (use quotes if name contains commas)
;cluster_scope_type_relation = Cluster_NYC = dcim.site, Cluster_FFM = dcim.sitegroup, Cluster_BER = dcim.location
; This option defines the scope id for a cluster. The scope id is the NetBox ID of the
; scope type. This is done with a comma separated key = value list. To be used in
; combination with the 'cluster_scope_type_relation'. key: defines a cluster name as regex
; value: defines the NetBox scope id (use quotes if name contains commas)
;cluster_scope_id_relation = Cluster_NYC = 1, Cluster_FFM.* = 2, Cluster_BER = 7
; This option defines which cluster/host/VM belongs to which tenant.
; This is done with a comma separated key = value list.
; key: defines a hosts/VM name as regex