def add_datacenter(self): vrops = Vrops() for dc in Vrops.get_datacenter(vrops, target=self.target, token=self.token, parentid=self.uuid): self.datacenter.append( Datacenter(target=self.target, token=self.token, name=dc['name'], uuid=dc['uuid']))
def create_vcenter_objects(self, target: str, token: str): vrops = Vrops() vcenter_adapter = Vrops.get_vcenter_adapter(vrops, target, token) if not vcenter_adapter: logger.critical(f'Could not get vcenter adapter!') return False logger.debug(f'Collecting vcenter: {vcenter_adapter.name}') datacenter = Vrops.get_datacenter(vrops, target, token, [vcenter_adapter.uuid]) cluster = Vrops.get_cluster(vrops, target, token, [dc.uuid for dc in datacenter]) datastores = Vrops.get_datastores(vrops, target, token, [dc.uuid for dc in datacenter]) hosts = Vrops.get_hosts(vrops, target, token, [cl.uuid for cl in cluster]) vms = Vrops.get_vms(vrops, target, token, [hs.uuid for hs in hosts], vcenter_adapter.uuid) for dc in datacenter: vcenter_adapter.add_datacenter(dc) for dc_object in vcenter_adapter.datacenter: logger.debug(f'Collecting datacenter: {dc_object.name}') for ds in datastores: if ds.parent == dc_object.uuid: dc_object.add_datastore(ds) logger.debug(f'Collecting datastore: {ds.name}') for cl in cluster: dc_object.add_cluster(cl) for cl_object in dc_object.clusters: logger.debug(f'Collecting cluster: {cl_object.name}') for hs in hosts: if hs.parent == cl_object.uuid: cl_object.add_host(hs) for hs_object in cl_object.hosts: logger.debug(f'Collecting host: {hs_object.name}') for vm in vms: if vm.parent == hs_object.uuid: hs_object.add_vm(vm) logger.debug(f'Collecting VM: {vm.name}') return vcenter_adapter
def create_resource_objects(self, target: str, token: str) -> Vcenter: vrops = Vrops() vcenter_name, vcenter_uuid = Vrops.get_adapter(vrops, target, token) if not vcenter_name: return False logger.debug(f'Collecting vcenter: {vcenter_name}') datacenter = Vrops.get_datacenter(vrops, target, token, [vcenter_uuid]) cluster_and_ds = Vrops.get_cluster_and_datastores(vrops, target, token, [dc.get('uuid') for dc in datacenter]) cluster = [cl for cl in cluster_and_ds if cl.get('resourcekind') == "ClusterComputeResource"] dss = [ds for ds in cluster_and_ds if ds.get('resourcekind') == "Datastore"] hosts = Vrops.get_hosts(vrops, target, token, [cl.get('uuid') for cl in cluster]) vms = Vrops.get_vms(vrops, target, token, [hs.get('uuid') for hs in hosts]) vcenter = Vcenter(target, token, vcenter_uuid, vcenter_name) for dc in datacenter: vcenter.add_datacenter(dc) for dc_object in vcenter.datacenter: logger.debug(f'Collecting datacenter: {dc_object.name}') for ds in dss: if ds.get('parent') == dc_object.uuid: dc_object.add_datastore(ds) logger.debug(f'Collecting Datastore: {ds.get("name")}') for cl in cluster: dc_object.add_cluster(cl) for cl_object in dc_object.clusters: logger.debug(f'Collecting cluster: {cl_object.name}') for hs in hosts: if hs.get('parent') == cl_object.uuid: cl_object.add_host(hs) for hs_object in cl_object.hosts: logger.debug(f'Collecting host: {hs_object.name}') for vm in vms: if vm.get('parent') == hs_object.uuid: hs_object.add_vm(vm) logger.debug(f'Collecting VM: {vm.get("name")}') return vcenter
def create_vcenter_objects(self, vrops, target: str, token: str, query_specs: dict): vcenter_adapter, self.response_codes[target][ "vcenter"] = Vrops.get_vcenter_adapter(vrops, target, token) # just one vcenter adapter supported vcenter_adapter = vcenter_adapter[0] if not vcenter_adapter: logger.critical(f'Could not get vcenter adapter!') return False logger.debug(f'Collecting vcenter: {vcenter_adapter.name}') datacenter, self.response_codes[target]["datacenters"] = \ Vrops.get_datacenter(vrops, target, token, [vcenter_adapter.uuid], query_specs=query_specs) cluster, self.response_codes[target]["clusters"] = \ Vrops.get_cluster(vrops, target, token, [dc.uuid for dc in datacenter], query_specs=query_specs) datastores, self.response_codes[target]["datastores"] = \ Vrops.get_datastores(vrops, target, token, [dc.uuid for dc in datacenter], query_specs=query_specs) hosts, self.response_codes[target]["hosts"] = \ Vrops.get_hosts(vrops, target, token, [cl.uuid for cl in cluster], query_specs=query_specs) vms, self.response_codes[target]["vms"] = \ Vrops.get_vms(vrops, target, token, [hs.uuid for hs in hosts], vcenter_adapter.uuid, query_specs=query_specs) distributed_virtual_switchs, self.response_codes[target]["distributed_virtual_switch"] = \ Vrops.get_dis_virtual_switch(vrops, target, token, [dc.uuid for dc in datacenter], query_specs=query_specs) vcenter_adapter.datacenter = list() for dc in datacenter: vcenter_adapter.datacenter.append(dc) logger.debug(f'Collecting datacenter: {dc.name}') for dc_object in vcenter_adapter.datacenter: dc_object.datastores = list() dc_object.clusters = list() dc_object.dvss = list() for ds in datastores: if ds.parent == dc_object.uuid: dc_object.datastores.append(ds) logger.debug(f'Collecting datastore: {ds.name}') for cl in cluster: if cl.parent == dc_object.uuid: dc_object.clusters.append(cl) logger.debug(f'Collecting cluster: {cl.name}') for cl_object in dc_object.clusters: cl_object.hosts = list() for hs in hosts: if hs.parent == cl_object.uuid: cl_object.hosts.append(hs) logger.debug(f'Collecting host: {hs.name}') for hs_object in cl_object.hosts: hs_object.vms = list() for vm in vms: if vm.parent == hs_object.uuid: hs_object.vms.append(vm) logger.debug(f'Collecting VM: {vm.name}') for dvs in distributed_virtual_switchs: if dvs.parent == dc_object.uuid: dc_object.dvss.append(dvs) logger.debug( f'Collecting distributed virtual switch: {dvs.name}') return vcenter_adapter