''' Script that adds or updates a static group. ''' import vmtconnect as vconn from csv_to_static_groups import StaticGroup DRYRUN = False # My Group Variables GROUP_NAME = "Sample_Group" ENTITY_TYPE = "VirtualMachine" MEMBERS = ["SampleVM1", "SampleVM2"] # Credentials TURBO_TARGET = "localhost" TURBO_USER = "" TURBO_PASS = "" TURBO_CREDS = b"" # Establish Turbonomic Connection conn = vconn.VMTConnection(TURBO_TARGET, TURBO_USER, TURBO_PASS, TURBO_CREDS) # Build Group group = StaticGroup(conn, GROUP_NAME, ENTITY_TYPE, MEMBERS) group.add_or_update(lookup_names=True, dryrun=DRYRUN, case_sensitive=True)
log_handler = RotatingFileHandler(args_dict["log"], mode='a', maxBytes=10 * 1024 * 1024, backupCount=1, encoding=None, delay=0) log_handler.setFormatter(log_formatter) LOGGER.addHandler(log_handler) QUIET = args_dict["quiet"] WARN = args_dict["no_warn"] try: # Make connection object conn = vconn.VMTConnection(__TURBO_TARGET, __TURBO_USER, __TURBO_PASS, __TURBO_CREDS) __TURBO_USER = __TURBO_PASS = __TURBO_ENC = None # Execute main function change_summary = main(conn, args_dict["input_csv"], group_headers=args_dict["group_headers"], no_add=args_dict["no_add"], no_remove=args_dict["no_remove"], dryrun=args_dict["dryrun"], delete=args_dict["delete"], case_sensitive=not args_dict["case_insensitive"]) # Log Summary _log_summary(change_summary, args_dict["dryrun"], ignore_total=[TRK_MISS_ENTITY])
'Risks Avoided': 0, 'Actions Completed': 0, 'Actions Outstanding': action['count'] }) return hist_actions def write_csv(final_report, dest_path): with open(dest_path, 'w') as csvfile: fieldnames = final_report[0].keys() writer = csv.DictWriter(csvfile, fieldnames=fieldnames) writer.writeheader() for i in final_report: writer.writerow(i) if __name__ == '__main__': vmt = vc.VMTConnection(TURBO_TARGET, TURBO_USER, TURBO_PASS) actions_list = vmt.request('markets/Market/actions/') action_details = get_notification_details(get_action_details(actions_list)) total_counts = get_counts(action_details) hist_actions = read_csv(IN_FILE_NAME) final_report = combine_current_and_hist(total_counts, hist_actions) write_csv(final_report, OUT_FILE_NAME)