limit namespaces based on id type, quote userinvitation emails

This commit is contained in:
Jay Lee
2021-03-18 15:43:07 -04:00
parent aaed2a6d86
commit 0eee6979b0
2 changed files with 19 additions and 13 deletions

View File

@ -53,16 +53,6 @@ def print_policies():
msg = f'{myarg} is not a valid argument to "gam print chromepolicy"'
controlflow.system_error_exit(3, msg)
orgunit = _get_orgunit(orgunit)
namespaces = [
'chrome.users',
# 'chrome.users.apps',
# 'chrome.devices',
# 'chrome.devices.managedGuest',
# 'chrome.devices.managedGuest.apps',
# 'chrome.devices.kiosk',
# 'chrome.devices.kiosk.apps',
'chrome.printers',
]
body = {
'policyTargetKey': {
'targetResource': orgunit,
@ -70,8 +60,20 @@ def print_policies():
}
if printer_id:
body['policyTargetKey']['additionalTargetKeys'] = {'printer_id': printer_id}
namespaces = ['chrome.printers']
elif app_id:
body['policyTargetKey']['additionalTargetKeys'] = {'app_id': app_id}
namespaces = ['chrome.users.apps',
'chrome.devices.managedGuest.apps',
'chrome.devices.kiosk.apps']
else:
namespaces = [
'chrome.users',
# Not yet implemented:
# 'chrome.devices',
# 'chrome.devices.managedGuest',
# 'chrome.devices.kiosk',
]
throw_reasons = [gapi_errors.ErrorReason.FOUR_O_O,]
for namespace in namespaces:
body['policySchemaFilter'] = f'{namespace}.*'

View File

@ -1,5 +1,6 @@
"""Methods related to Cloud Identity User Invitation API"""
import sys
from urllib.parse import quote_plus
import googleapiclient
@ -26,7 +27,8 @@ def _generic_action(action):
svc = gapi_cloudidentity.build('cloudidentity_beta')
customer = _get_customerid()
email = sys.argv[3].lower()
name = f'{customer}/userinvitations/{email}'
encoded_email = quote_plus(email)
name = f'{customer}/userinvitations/{encoded_email}'
action_map = {
'cancel': 'Cancelling',
'send': 'Sending'
@ -45,7 +47,8 @@ def _generic_get(get_type):
svc = gapi_cloudidentity.build('cloudidentity_beta')
customer = _get_customerid()
email = sys.argv[3].lower()
name = f'{customer}/userinvitations/{email}'
encoded_email = quote_plus(email)
name = f'{customer}/userinvitations/{encoded_email}'
result = gapi.call(svc.customers().userinvitations(), get_type,
name=name)
if 'name' in result:
@ -69,7 +72,8 @@ def bulk_is_invitable(emails):
rows = []
throw_reasons = [gapi_errors.ErrorReason.FOUR_O_THREE]
for email in emails:
name = f'{customer}/userinvitations/{email}'
encoded_email = quote_plus(email)
name = f'{customer}/userinvitations/{encoded_email}'
endpoint = svc.customers().userinvitations()
#if len(ebatch._order) == batch_size:
# ebatch.execute()