diff --git a/src/GamCommands.txt b/src/GamCommands.txt index 942c5fed..01d02a64 100644 --- a/src/GamCommands.txt +++ b/src/GamCommands.txt @@ -1285,6 +1285,9 @@ The listlimit argument limits the number of recent users, time ranges a The start and end arguments filter the time ranges. Delimiter defaults to comma. +gam info crostelemetry + * [fields ] + [storagepercentonly] [showorgunitpath] gam show crostelemetry [(ou|org|orgunit )|(cros_sn )|(filter )] * [fields ] diff --git a/src/gam/__init__.py b/src/gam/__init__.py index c5869e3b..aa1737d7 100755 --- a/src/gam/__init__.py +++ b/src/gam/__init__.py @@ -11552,6 +11552,8 @@ def ProcessGAMCommand(args): gapi_directory_resource.getResourceCalendarInfo() elif argument == 'cros': gapi_directory_cros.doGetCrosInfo() + elif argument == 'crostelemetry': + gapi_chromemanagement.printShowCrosTelemetry('info') elif argument == 'mobile': gapi_directory_mobiledevices.info() elif argument in ['verify', 'verification']: @@ -11705,7 +11707,7 @@ def ProcessGAMCommand(args): elif argument == 'devices': gapi_cloudidentity_devices.print_() elif argument == 'crostelemetry': - gapi_chromemanagement.printShowCrosTelemetry() + gapi_chromemanagement.printShowCrosTelemetry('print') elif argument in ['groupmembers', 'groupsmembers']: gapi_directory_groups.print_members() elif argument in ['cigroupmembers', 'cigroupsmembers']: @@ -11815,7 +11817,7 @@ def ProcessGAMCommand(args): elif argument in ['chromepolicy', 'chromepolicies']: gapi_chromepolicy.printshow_policies() elif argument == 'crostelemetry': - gapi_chromemanagement.printShowCrosTelemetry(True) + gapi_chromemanagement.printShowCrosTelemetry('show') else: controlflow.invalid_argument_exit(argument, 'gam show') sys.exit(0) diff --git a/src/gam/gapi/chromemanagement.py b/src/gam/gapi/chromemanagement.py index 436ec735..c71331fa 100644 --- a/src/gam/gapi/chromemanagement.py +++ b/src/gam/gapi/chromemanagement.py @@ -203,7 +203,7 @@ def printAppDevices(): display.write_csv_file(csvRows, titles, 'Chrome Installed Application Devices', todrive) -def printShowCrosTelemetry(show=False): +def printShowCrosTelemetry(mode): cm = build() cd = None parent = _get_customerid() @@ -217,6 +217,12 @@ def printShowCrosTelemetry(show=False): supported_readmask_values.sort() supported_readmask_map = {item.lower():item for item in supported_readmask_values} i = 3 + if mode == 'info': + if i >= len(sys.argv): + controlflow.system_error_exit(3, f' required for "gam info crostelemetry"') + filter_ = f'serialNumber={sys.argv[i]}' + i += 1 + mode = 'show' while i < len(sys.argv): myarg = sys.argv[i].lower().replace('_', '') if myarg == 'fields': @@ -286,7 +292,7 @@ def printShowCrosTelemetry(show=False): if orgUnitId not in orgUnitIdPathMap: orgUnitIdPathMap[orgUnitId] = gapi_directory_orgunits.orgunit_from_orgunitid(orgUnitId, cd) device['orgUnitPath'] = orgUnitIdPathMap[orgUnitId] - if show: + if mode == 'show': for device in devices: display.print_json(device) print()