defaultProvider = "[MQTT]" # Target Provider Name
defaultSourceProvider = "[Ignition_Common_IO_Gtwy]" # "[Ignition_Common_IO_Gtwy]"
Logger = system.util.getLogger("utils.admin.tags.helper")
def generateUDTDef():
	""" One stop shop execution to deploy the MQTT tags.
	
	"""
	logger = Logger.createSubLogger("generateUDTDef")
	
	utils.admin.tags.utils.definition.transformBase()
	utils.admin.tags.utils.definition.transformObjects(udtFolder= "Objects/Parent")
	utils.admin.tags.utils.definition.transformObjects(udtFolder= "Objects")

def generateUDTInstances():
	"""  Generate UDT Instances based off of MQTT Reference UDTs. Iterate over every provider and perform the execution
	"""
	logger = Logger.createSubLogger("generateUDTInstances")
	for prov in ["Ignition_Common_IO_Gtwy", "Ignition_SATB1_IO1_default", "Ignition_SATB1_IO2_default", 
				 "Ignition_SATB1_IO3_default", "Ignition_SATB1_IO4_default", "Ignition_SATB1_IO5_default"]:
		logger.debug("Processing provider: %s"%(prov))
		utils.admin.tags.utils.instances.transformObjects(prov)
	logger.debug("Finished Processing")	

def generateUDTInstances_demo():
	"""  Generate UDT Instances based off of MQTT Reference UDTs. Iterate over every provider and perform the execution
	"""
#	utils.admin.tags.utils.instances.transformObjects("[Ignition_Common_IO_Gtwy]Yard/SATB1_YARD_SES_1A")
	utils.admin.tags.utils.instances.transformObjects("[Ignition_Common_IO_Gtwy]Yard")

def exportAllTags():
	""" Browse all the tags in the MQTT provider and generate a tag export.
	
	"""
	return system.dataset.toExcel(True, [utils.admin.tags.utils.instances.generateTagExport()], ["All Tags"])