Embedded nesting in hostgroup init.

This commit is contained in:
Raymond Kuiper 2024-12-18 14:06:40 +01:00
parent 73d5306898
commit ffb8d5239c
3 changed files with 15 additions and 7 deletions

View File

@ -100,9 +100,11 @@ class PhysicalDevice():
def set_hostgroup(self, hg_format, nb_site_groups, nb_regions): def set_hostgroup(self, hg_format, nb_site_groups, nb_regions):
"""Set the hostgroup for this device""" """Set the hostgroup for this device"""
# Create new Hostgroup instance # Create new Hostgroup instance
hg = Hostgroup("dev", self.nb, self.nb_api_version) hg = Hostgroup("dev", self.nb, self.nb_api_version, logger=self.logger,
# Set Hostgroup nesting options nested_sitegroup_flag=traverse_site_groups,
hg.set_nesting(traverse_site_groups, traverse_regions, nb_site_groups, nb_regions) nested_region_flag=traverse_regions,
nb_groups=nb_site_groups,
nb_regions=nb_regions)
# Generate hostgroup based on hostgroup format # Generate hostgroup based on hostgroup format
self.hostgroup = hg.generate(hg_format) self.hostgroup = hg.generate(hg_format)

View File

@ -6,7 +6,9 @@ from modules.tools import build_path
class Hostgroup(): class Hostgroup():
"""Hostgroup class for devices and VM's """Hostgroup class for devices and VM's
Takes type (vm or dev) and NB object""" Takes type (vm or dev) and NB object"""
def __init__(self, obj_type, nb_obj, version, logger=None): def __init__(self, obj_type, nb_obj, version, logger=None,
nested_sitegroup_flag=False, nested_region_flag=False,
nb_regions=None, nb_groups=None):
self.logger = logger if logger else getLogger(__name__) self.logger = logger if logger else getLogger(__name__)
if obj_type not in ("vm", "dev"): if obj_type not in ("vm", "dev"):
msg = f"Unable to create hostgroup with type {type}" msg = f"Unable to create hostgroup with type {type}"
@ -17,7 +19,8 @@ class Hostgroup():
self.name = self.nb.name self.name = self.nb.name
self.nb_version = version self.nb_version = version
# Used for nested data objects # Used for nested data objects
self.nested_objects = {} self.set_nesting(nested_sitegroup_flag, nested_region_flag,
nb_groups, nb_regions)
self._set_format_options() self._set_format_options()
def __str__(self): def __str__(self):

View File

@ -27,8 +27,11 @@ class VirtualMachine(PhysicalDevice):
def set_hostgroup(self, hg_format, nb_site_groups, nb_regions): def set_hostgroup(self, hg_format, nb_site_groups, nb_regions):
"""Set the hostgroup for this device""" """Set the hostgroup for this device"""
# Create new Hostgroup instance # Create new Hostgroup instance
hg = Hostgroup("vm", self.nb, self.nb_api_version, logger=self.logger) hg = Hostgroup("vm", self.nb, self.nb_api_version, logger=self.logger,
hg.set_nesting(traverse_site_groups, traverse_regions, nb_site_groups, nb_regions) nested_sitegroup_flag=traverse_site_groups,
nested_region_flag=traverse_regions,
nb_groups=nb_site_groups,
nb_regions=nb_regions)
# Generate hostgroup based on hostgroup format # Generate hostgroup based on hostgroup format
self.hostgroup = hg.generate(hg_format) self.hostgroup = hg.generate(hg_format)