Make gam info crostelemetry <SerialNumber> (#1464)

* Make gam info crostelemetry <SerialNumber>

* Handle missing <SerialNumber> for gam info crostelemetry
This commit is contained in:
Ross Scroggs
2021-12-29 11:48:57 -08:00
committed by GitHub
parent 1777c762b3
commit 8bf8d45ebe
3 changed files with 15 additions and 4 deletions

View File

@@ -1285,6 +1285,9 @@ The listlimit <Number> argument limits the number of recent users, time ranges a
The start <Date> and end <Date> arguments filter the time ranges.
Delimiter defaults to comma.
gam info crostelemetry <SerialNumber>
<CrOSTelemetryFieldName>* [fields <CrOSTelemetryFieldNameList>]
[storagepercentonly] [showorgunitpath]
gam show crostelemetry
[(ou|org|orgunit <OrgUnitItem>)|(cros_sn <SerialNumber>)|(filter <String>)]
<CrOSTelemetryFieldName>* [fields <CrOSTelemetryFieldNameList>]

View File

@@ -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)

View File

@@ -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'<SerialNumber> 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()