mirror of
https://github.com/GAM-team/GAM.git
synced 2026-07-03 12:21:35 +00:00
Do print|show for caalevels and oushareddrives (#1506)
This commit is contained in:
@@ -11740,9 +11740,9 @@ def ProcessGAMCommand(args):
|
|||||||
elif argument in ['chatmembers']:
|
elif argument in ['chatmembers']:
|
||||||
gapi_chat.print_members()
|
gapi_chat.print_members()
|
||||||
elif argument in ['caalevels']:
|
elif argument in ['caalevels']:
|
||||||
gapi_caa.print_access_levels()
|
gapi_caa.printshow_access_levels(True)
|
||||||
elif argument in ['oushareddrives', 'orgunitshareddrives']:
|
elif argument in ['oushareddrives', 'orgunitshareddrives']:
|
||||||
gapi_cloudidentity_orgunits.print_orgunit_shared_drives()
|
gapi_cloudidentity_orgunits.printshow_orgunit_shared_drives(True)
|
||||||
else:
|
else:
|
||||||
controlflow.invalid_argument_exit(argument, 'gam print')
|
controlflow.invalid_argument_exit(argument, 'gam print')
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
@@ -11773,6 +11773,10 @@ def ProcessGAMCommand(args):
|
|||||||
gapi_chromepolicy.printshow_policies()
|
gapi_chromepolicy.printshow_policies()
|
||||||
elif argument == 'crostelemetry':
|
elif argument == 'crostelemetry':
|
||||||
gapi_chromemanagement.printShowCrosTelemetry('show')
|
gapi_chromemanagement.printShowCrosTelemetry('show')
|
||||||
|
elif argument in ['caalevels']:
|
||||||
|
gapi_caa.printshow_access_levels(False)
|
||||||
|
elif argument in ['oushareddrives', 'orgunitshareddrives']:
|
||||||
|
gapi_cloudidentity_orgunits.printshow_orgunit_shared_drives(False)
|
||||||
else:
|
else:
|
||||||
controlflow.invalid_argument_exit(argument, 'gam show')
|
controlflow.invalid_argument_exit(argument, 'gam show')
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|||||||
@@ -52,9 +52,22 @@ def get_access_policy(caa=None):
|
|||||||
controlflow.system_error_exit(2, ' Could not find a org level access policy. That is odd.')
|
controlflow.system_error_exit(2, ' Could not find a org level access policy. That is odd.')
|
||||||
|
|
||||||
|
|
||||||
def print_access_levels():
|
def printshow_access_levels(csvFormat):
|
||||||
caa = build()
|
caa = build()
|
||||||
ap_name = get_access_policy(caa)
|
ap_name = get_access_policy(caa)
|
||||||
|
if csvFormat:
|
||||||
|
todrive = False
|
||||||
|
csvRows = []
|
||||||
|
titles = ['name', 'title']
|
||||||
|
i = 3
|
||||||
|
while i < len(sys.argv):
|
||||||
|
myarg = sys.argv[i].lower()
|
||||||
|
if csvFormat and myarg == 'todrive':
|
||||||
|
todrive = True
|
||||||
|
i += 1
|
||||||
|
else:
|
||||||
|
controlflow.invalid_argument_exit(sys.argv[i],
|
||||||
|
f"gam {['show', 'print'][csvFormat]} caalevels")
|
||||||
try:
|
try:
|
||||||
levels = gapi.get_all_pages(caa.accessPolicies().accessLevels(),
|
levels = gapi.get_all_pages(caa.accessPolicies().accessLevels(),
|
||||||
'list',
|
'list',
|
||||||
@@ -64,9 +77,16 @@ def print_access_levels():
|
|||||||
accessLevelFormat='CEL', fields='*')
|
accessLevelFormat='CEL', fields='*')
|
||||||
except googleapiclient.errors.HttpError:
|
except googleapiclient.errors.HttpError:
|
||||||
_gen_role_error(caa)
|
_gen_role_error(caa)
|
||||||
for level in levels:
|
if not csvFormat:
|
||||||
display.print_json(level)
|
for level in levels:
|
||||||
print()
|
display.print_json(level)
|
||||||
|
print()
|
||||||
|
else:
|
||||||
|
for level in levels:
|
||||||
|
display.add_row_titles_to_csv_file(
|
||||||
|
utils.flatten_json(level),
|
||||||
|
csvRows, titles)
|
||||||
|
display.write_csv_file(csvRows, titles, 'CAA Levels', todrive)
|
||||||
|
|
||||||
|
|
||||||
def build_os_constraints(constraints):
|
def build_os_constraints(constraints):
|
||||||
|
|||||||
@@ -32,11 +32,24 @@ def move_shared_drive(driveId, orgUnit):
|
|||||||
name=name,
|
name=name,
|
||||||
body=body)
|
body=body)
|
||||||
|
|
||||||
def print_orgunit_shared_drives():
|
def printshow_orgunit_shared_drives(csvFormat):
|
||||||
try:
|
try:
|
||||||
orgunit = sys.argv[3]
|
orgunit = sys.argv[3]
|
||||||
except IndexError:
|
except IndexError:
|
||||||
orgunit = '/'
|
orgunit = '/'
|
||||||
|
if csvFormat:
|
||||||
|
todrive = False
|
||||||
|
csvRows = []
|
||||||
|
titles = ['name']
|
||||||
|
i = 4
|
||||||
|
while i < len(sys.argv):
|
||||||
|
myarg = sys.argv[i].lower()
|
||||||
|
if csvFormat and myarg == 'todrive':
|
||||||
|
todrive = True
|
||||||
|
i += 1
|
||||||
|
else:
|
||||||
|
controlflow.invalid_argument_exit(sys.argv[i],
|
||||||
|
f"gam {['show', 'print'][csvFormat]} oushareddrives")
|
||||||
ci = gapi_cloudidentity.build('cloudidentity_beta')
|
ci = gapi_cloudidentity.build('cloudidentity_beta')
|
||||||
_, orgUnitId = gapi_directory_orgunits.getOrgUnitId(orgunit)
|
_, orgUnitId = gapi_directory_orgunits.getOrgUnitId(orgunit)
|
||||||
parent = f'orgUnits/{orgUnitId[3:]}'
|
parent = f'orgUnits/{orgUnitId[3:]}'
|
||||||
@@ -47,6 +60,13 @@ def print_orgunit_shared_drives():
|
|||||||
parent=parent,
|
parent=parent,
|
||||||
customer=_get_orgunit_customerid(),
|
customer=_get_orgunit_customerid(),
|
||||||
filter=filter_)
|
filter=filter_)
|
||||||
for sd in sds:
|
if not csvFormat:
|
||||||
display.print_json(sd)
|
for sd in sds:
|
||||||
print()
|
display.print_json(sd)
|
||||||
|
print()
|
||||||
|
else:
|
||||||
|
for sd in sds:
|
||||||
|
display.add_row_titles_to_csv_file(
|
||||||
|
utils.flatten_json(sd),
|
||||||
|
csvRows, titles)
|
||||||
|
display.write_csv_file(csvRows, titles, f'OrgUnit {orgunit} Shared Drives', todrive)
|
||||||
|
|||||||
Reference in New Issue
Block a user