mirror of
https://github.com/GAM-team/GAM.git
synced 2025-07-04 03:33:44 +00:00
Updated cigroup
commands to handle the following error:
ERROR: 400: invalidArgument - Request contains an invalid argument.
This commit is contained in:
@ -2,6 +2,13 @@
|
|||||||
|
|
||||||
Merged GAM-Team version
|
Merged GAM-Team version
|
||||||
|
|
||||||
|
6.63.08
|
||||||
|
|
||||||
|
Updated `cigroup` commands to handle the following error:
|
||||||
|
```
|
||||||
|
ERROR: 400: invalidArgument - Request contains an invalid argument.
|
||||||
|
```
|
||||||
|
|
||||||
6.63.07
|
6.63.07
|
||||||
|
|
||||||
Fixed bug in `gam <UserTypeEntity> append sheetrange` that caused a trap when appending to an empty sheet.
|
Fixed bug in `gam <UserTypeEntity> append sheetrange` that caused a trap when appending to an empty sheet.
|
||||||
|
@ -5892,7 +5892,7 @@ def getCIGroupMembershipGraph(ci, member):
|
|||||||
query=f"member_key_id == '{member}' && 'cloudidentity.googleapis.com/groups.discussion_forum' in labels")
|
query=f"member_key_id == '{member}' && 'cloudidentity.googleapis.com/groups.discussion_forum' in labels")
|
||||||
return (ci, result.get('response', {}))
|
return (ci, result.get('response', {}))
|
||||||
except (GAPI.resourceNotFound, GAPI.domainNotFound, GAPI.domainCannotUseApis,
|
except (GAPI.resourceNotFound, GAPI.domainNotFound, GAPI.domainCannotUseApis,
|
||||||
GAPI.forbidden, GAPI.badRequest, GAPI.invalid,
|
GAPI.forbidden, GAPI.badRequest, GAPI.invalid, GAPI.invalidArgument,
|
||||||
GAPI.systemError, GAPI.permissionDenied, GAPI.serviceNotAvailable) as e:
|
GAPI.systemError, GAPI.permissionDenied, GAPI.serviceNotAvailable) as e:
|
||||||
action = Act.Get()
|
action = Act.Get()
|
||||||
Act.Set(Act.LOOKUP)
|
Act.Set(Act.LOOKUP)
|
||||||
@ -5982,7 +5982,7 @@ def getItemsToModify(entityType, entity, memberRoles=None, isSuspended=None, isA
|
|||||||
parent=groupName, view='FULL',
|
parent=groupName, view='FULL',
|
||||||
fields=f'nextPageToken,memberships(name,{CIGROUP_MEMBERKEY}(id),roles(name),type)', pageSize=GC.Values[GC.MEMBER_MAX_RESULTS])
|
fields=f'nextPageToken,memberships(name,{CIGROUP_MEMBERKEY}(id),roles(name),type)', pageSize=GC.Values[GC.MEMBER_MAX_RESULTS])
|
||||||
except (GAPI.resourceNotFound, GAPI.domainNotFound, GAPI.domainCannotUseApis,
|
except (GAPI.resourceNotFound, GAPI.domainNotFound, GAPI.domainCannotUseApis,
|
||||||
GAPI.forbidden, GAPI.badRequest, GAPI.invalid,
|
GAPI.forbidden, GAPI.badRequest, GAPI.invalid, GAPI.invalidArgument,
|
||||||
GAPI.systemError, GAPI.permissionDenied, GAPI.serviceNotAvailable):
|
GAPI.systemError, GAPI.permissionDenied, GAPI.serviceNotAvailable):
|
||||||
entityUnknownWarning(Ent.CLOUD_IDENTITY_GROUP, groupEmail)
|
entityUnknownWarning(Ent.CLOUD_IDENTITY_GROUP, groupEmail)
|
||||||
_incrEntityDoesNotExist(Ent.CLOUD_IDENTITY_GROUP)
|
_incrEntityDoesNotExist(Ent.CLOUD_IDENTITY_GROUP)
|
||||||
@ -6154,7 +6154,7 @@ def getItemsToModify(entityType, entity, memberRoles=None, isSuspended=None, isA
|
|||||||
fields=f'nextPageToken,memberships({CIGROUP_MEMBERKEY}(id),roles(name),type)',
|
fields=f'nextPageToken,memberships({CIGROUP_MEMBERKEY}(id),roles(name),type)',
|
||||||
pageSize=GC.Values[GC.MEMBER_MAX_RESULTS])
|
pageSize=GC.Values[GC.MEMBER_MAX_RESULTS])
|
||||||
except (GAPI.resourceNotFound, GAPI.domainNotFound, GAPI.domainCannotUseApis,
|
except (GAPI.resourceNotFound, GAPI.domainNotFound, GAPI.domainCannotUseApis,
|
||||||
GAPI.forbidden, GAPI.badRequest, GAPI.invalid,
|
GAPI.forbidden, GAPI.badRequest, GAPI.invalid, GAPI.invalidArgument,
|
||||||
GAPI.systemError, GAPI.permissionDenied, GAPI.serviceNotAvailable):
|
GAPI.systemError, GAPI.permissionDenied, GAPI.serviceNotAvailable):
|
||||||
entityUnknownWarning(Ent.CLOUD_IDENTITY_GROUP, groupEmail)
|
entityUnknownWarning(Ent.CLOUD_IDENTITY_GROUP, groupEmail)
|
||||||
_incrEntityDoesNotExist(Ent.CLOUD_IDENTITY_GROUP)
|
_incrEntityDoesNotExist(Ent.CLOUD_IDENTITY_GROUP)
|
||||||
@ -12055,7 +12055,7 @@ def doProcessSvcAcctKeys(mode=None, iam=None, projectId=None, clientEmail=None,
|
|||||||
for retry in range(1, maxRetries+1):
|
for retry in range(1, maxRetries+1):
|
||||||
try:
|
try:
|
||||||
result = callGAPI(iam.projects().serviceAccounts().keys(), 'upload',
|
result = callGAPI(iam.projects().serviceAccounts().keys(), 'upload',
|
||||||
throwReasons=[GAPI.NOT_FOUND, GAPI.BAD_REQUEST, GAPI.PERMISSION_DENIED],
|
throwReasons=[GAPI.NOT_FOUND, GAPI.BAD_REQUEST, GAPI.PERMISSION_DENIED, GAPI.FAILED_PRECONDITION],
|
||||||
name=name, body={'publicKeyData': publicKeyData})
|
name=name, body={'publicKeyData': publicKeyData})
|
||||||
break
|
break
|
||||||
except GAPI.notFound as e:
|
except GAPI.notFound as e:
|
||||||
@ -12068,7 +12068,7 @@ def doProcessSvcAcctKeys(mode=None, iam=None, projectId=None, clientEmail=None,
|
|||||||
entityActionFailedWarning([Ent.PROJECT, projectId, Ent.SVCACCT, clientEmail], Msg.UPDATE_PROJECT_TO_VIEW_MANAGE_SAKEYS)
|
entityActionFailedWarning([Ent.PROJECT, projectId, Ent.SVCACCT, clientEmail], Msg.UPDATE_PROJECT_TO_VIEW_MANAGE_SAKEYS)
|
||||||
return False
|
return False
|
||||||
waitForCompletion(retry)
|
waitForCompletion(retry)
|
||||||
except GAPI.badRequest as e:
|
except (GAPI.badRequest, GAPI.failedPrecondition) as e:
|
||||||
entityActionFailedWarning([Ent.PROJECT, projectId, Ent.SVCACCT, clientEmail], str(e))
|
entityActionFailedWarning([Ent.PROJECT, projectId, Ent.SVCACCT, clientEmail], str(e))
|
||||||
return False
|
return False
|
||||||
newPrivateKeyId = result['name'].rsplit('/', 1)[-1]
|
newPrivateKeyId = result['name'].rsplit('/', 1)[-1]
|
||||||
@ -30972,7 +30972,7 @@ def doPrintGroups():
|
|||||||
parent=f'customers/{GC.Values[GC.CUSTOMER_ID]}', view='FULL',
|
parent=f'customers/{GC.Values[GC.CUSTOMER_ID]}', view='FULL',
|
||||||
fields=cifieldsnp, pageSize=500)
|
fields=cifieldsnp, pageSize=500)
|
||||||
except (GAPI.resourceNotFound, GAPI.domainNotFound, GAPI.domainCannotUseApis,
|
except (GAPI.resourceNotFound, GAPI.domainNotFound, GAPI.domainCannotUseApis,
|
||||||
GAPI.forbidden, GAPI.badRequest, GAPI.invalid,
|
GAPI.forbidden, GAPI.badRequest, GAPI.invalid, GAPI.invalidArgument,
|
||||||
GAPI.systemError, GAPI.permissionDenied, GAPI.serviceNotAvailable) as e:
|
GAPI.systemError, GAPI.permissionDenied, GAPI.serviceNotAvailable) as e:
|
||||||
accessErrorExitNonDirectory(API.CLOUDIDENTITY_GROUPS, str(e))
|
accessErrorExitNonDirectory(API.CLOUDIDENTITY_GROUPS, str(e))
|
||||||
for ciGroup in ciGroupList:
|
for ciGroup in ciGroupList:
|
||||||
@ -32789,7 +32789,7 @@ def doPrintCIGroups():
|
|||||||
throwReasons=GAPI.CIGROUP_LIST_THROW_REASONS, retryReasons=GAPI.CIGROUP_RETRY_REASONS,
|
throwReasons=GAPI.CIGROUP_LIST_THROW_REASONS, retryReasons=GAPI.CIGROUP_RETRY_REASONS,
|
||||||
view='FULL', fields=fieldsnp, pageSize=pageSize, **kwargs)
|
view='FULL', fields=fieldsnp, pageSize=pageSize, **kwargs)
|
||||||
except (GAPI.resourceNotFound, GAPI.domainNotFound, GAPI.domainCannotUseApis,
|
except (GAPI.resourceNotFound, GAPI.domainNotFound, GAPI.domainCannotUseApis,
|
||||||
GAPI.forbidden, GAPI.badRequest, GAPI.invalid,
|
GAPI.forbidden, GAPI.badRequest, GAPI.invalid, GAPI.invalidArgument,
|
||||||
GAPI.systemError, GAPI.permissionDenied, GAPI.serviceNotAvailable) as e:
|
GAPI.systemError, GAPI.permissionDenied, GAPI.serviceNotAvailable) as e:
|
||||||
entityActionFailedWarning([Ent.CLOUD_IDENTITY_GROUP, None], str(e))
|
entityActionFailedWarning([Ent.CLOUD_IDENTITY_GROUP, None], str(e))
|
||||||
return
|
return
|
||||||
@ -32899,7 +32899,7 @@ def getCIGroupMembersEntityList(ci, entityList, query, subTitle, matchPatterns,
|
|||||||
parent=parent, view='FULL',
|
parent=parent, view='FULL',
|
||||||
fields=f'nextPageToken,groups({",".join(set(fieldsList))})', pageSize=500)
|
fields=f'nextPageToken,groups({",".join(set(fieldsList))})', pageSize=500)
|
||||||
except (GAPI.resourceNotFound, GAPI.domainNotFound, GAPI.domainCannotUseApis,
|
except (GAPI.resourceNotFound, GAPI.domainNotFound, GAPI.domainCannotUseApis,
|
||||||
GAPI.forbidden, GAPI.badRequest, GAPI.invalid,
|
GAPI.forbidden, GAPI.badRequest, GAPI.invalid, GAPI.invalidArgument,
|
||||||
GAPI.systemError, GAPI.permissionDenied, GAPI.serviceNotAvailable) as e:
|
GAPI.systemError, GAPI.permissionDenied, GAPI.serviceNotAvailable) as e:
|
||||||
entityActionFailedExit([Ent.CLOUD_IDENTITY_GROUP, parent], str(e))
|
entityActionFailedExit([Ent.CLOUD_IDENTITY_GROUP, parent], str(e))
|
||||||
else:
|
else:
|
||||||
@ -32913,7 +32913,7 @@ def getCIGroupTransitiveMembers(ci, groupName, membersList, i, count):
|
|||||||
parent=groupName,
|
parent=groupName,
|
||||||
fields='nextPageToken,memberships(*)', pageSize=GC.Values[GC.MEMBER_MAX_RESULTS])
|
fields='nextPageToken,memberships(*)', pageSize=GC.Values[GC.MEMBER_MAX_RESULTS])
|
||||||
except (GAPI.resourceNotFound, GAPI.domainNotFound, GAPI.domainCannotUseApis,
|
except (GAPI.resourceNotFound, GAPI.domainNotFound, GAPI.domainCannotUseApis,
|
||||||
GAPI.forbidden, GAPI.badRequest, GAPI.invalid, GAPI.systemError, GAPI.serviceNotAvailable):
|
GAPI.forbidden, GAPI.badRequest, GAPI.invalid, GAPI.invalidArgument, GAPI.systemError, GAPI.serviceNotAvailable):
|
||||||
entityUnknownWarning(Ent.CLOUD_IDENTITY_GROUP, groupName, i, count)
|
entityUnknownWarning(Ent.CLOUD_IDENTITY_GROUP, groupName, i, count)
|
||||||
return False
|
return False
|
||||||
except GAPI.permissionDenied as e:
|
except GAPI.permissionDenied as e:
|
||||||
@ -32942,7 +32942,7 @@ def getCIGroupMembers(ci, groupName, memberRoles, membersList, membersSet, i, co
|
|||||||
parent=groupName, view='FULL',
|
parent=groupName, view='FULL',
|
||||||
fields='nextPageToken,memberships(*)', pageSize=GC.Values[GC.MEMBER_MAX_RESULTS])
|
fields='nextPageToken,memberships(*)', pageSize=GC.Values[GC.MEMBER_MAX_RESULTS])
|
||||||
except (GAPI.resourceNotFound, GAPI.domainNotFound, GAPI.domainCannotUseApis,
|
except (GAPI.resourceNotFound, GAPI.domainNotFound, GAPI.domainCannotUseApis,
|
||||||
GAPI.forbidden, GAPI.badRequest, GAPI.invalid, GAPI.systemError,
|
GAPI.forbidden, GAPI.badRequest, GAPI.invalid, GAPI.invalidArgument, GAPI.systemError,
|
||||||
GAPI.permissionDenied, GAPI.serviceNotAvailable):
|
GAPI.permissionDenied, GAPI.serviceNotAvailable):
|
||||||
entityUnknownWarning(Ent.CLOUD_IDENTITY_GROUP, groupName, i, count)
|
entityUnknownWarning(Ent.CLOUD_IDENTITY_GROUP, groupName, i, count)
|
||||||
return
|
return
|
||||||
@ -33205,7 +33205,7 @@ def doShowCIGroupMembers():
|
|||||||
for member in membersList:
|
for member in membersList:
|
||||||
getCIGroupMemberRoleFixType(member)
|
getCIGroupMemberRoleFixType(member)
|
||||||
except (GAPI.resourceNotFound, GAPI.domainNotFound, GAPI.domainCannotUseApis,
|
except (GAPI.resourceNotFound, GAPI.domainNotFound, GAPI.domainCannotUseApis,
|
||||||
GAPI.forbidden, GAPI.badRequest, GAPI.invalid, GAPI.systemError,
|
GAPI.forbidden, GAPI.badRequest, GAPI.invalid, GAPI.invalidArgument, GAPI.systemError,
|
||||||
GAPI.permissionDenied, GAPI.serviceNotAvailable):
|
GAPI.permissionDenied, GAPI.serviceNotAvailable):
|
||||||
if depth == 0:
|
if depth == 0:
|
||||||
entityUnknownWarning(Ent.CLOUD_IDENTITY_GROUP, groupEmail, i, count)
|
entityUnknownWarning(Ent.CLOUD_IDENTITY_GROUP, groupEmail, i, count)
|
||||||
@ -49217,6 +49217,7 @@ def getDriveFileAttribute(myarg, body, parameters, updateCmd):
|
|||||||
parameters[DFA_REPLACEFILENAME].append((getREPattern(re.IGNORECASE), getString(Cmd.OB_STRING, minLen=0)))
|
parameters[DFA_REPLACEFILENAME].append((getREPattern(re.IGNORECASE), getString(Cmd.OB_STRING, minLen=0)))
|
||||||
elif myarg in {'convert', 'ocr'}:
|
elif myarg in {'convert', 'ocr'}:
|
||||||
deprecatedArgument(myarg)
|
deprecatedArgument(myarg)
|
||||||
|
stderrWarningMsg(Msg.USE_MIMETYPE_TO_SPECIFY_GOOGLE_FORMAT)
|
||||||
elif myarg in DRIVE_LABEL_CHOICE_MAP:
|
elif myarg in DRIVE_LABEL_CHOICE_MAP:
|
||||||
myarg = DRIVE_LABEL_CHOICE_MAP[myarg]
|
myarg = DRIVE_LABEL_CHOICE_MAP[myarg]
|
||||||
body[myarg] = getBoolean()
|
body[myarg] = getBoolean()
|
||||||
|
@ -177,7 +177,7 @@ ALERT_THROW_REASONS = [SERVICE_NOT_AVAILABLE, AUTH_ERROR]
|
|||||||
CALENDAR_THROW_REASONS = [SERVICE_NOT_AVAILABLE, AUTH_ERROR, NOT_A_CALENDAR_USER]
|
CALENDAR_THROW_REASONS = [SERVICE_NOT_AVAILABLE, AUTH_ERROR, NOT_A_CALENDAR_USER]
|
||||||
CIGROUP_CREATE_THROW_REASONS = [SERVICE_NOT_AVAILABLE, ALREADY_EXISTS, DOMAIN_NOT_FOUND, DOMAIN_CANNOT_USE_APIS, FORBIDDEN, INVALID, INVALID_ARGUMENT, PERMISSION_DENIED]
|
CIGROUP_CREATE_THROW_REASONS = [SERVICE_NOT_AVAILABLE, ALREADY_EXISTS, DOMAIN_NOT_FOUND, DOMAIN_CANNOT_USE_APIS, FORBIDDEN, INVALID, INVALID_ARGUMENT, PERMISSION_DENIED]
|
||||||
CIGROUP_GET_THROW_REASONS = [SERVICE_NOT_AVAILABLE, NOT_FOUND, DOMAIN_NOT_FOUND, DOMAIN_CANNOT_USE_APIS, FORBIDDEN, BAD_REQUEST, INVALID, SYSTEM_ERROR, PERMISSION_DENIED]
|
CIGROUP_GET_THROW_REASONS = [SERVICE_NOT_AVAILABLE, NOT_FOUND, DOMAIN_NOT_FOUND, DOMAIN_CANNOT_USE_APIS, FORBIDDEN, BAD_REQUEST, INVALID, SYSTEM_ERROR, PERMISSION_DENIED]
|
||||||
CIGROUP_LIST_THROW_REASONS = [SERVICE_NOT_AVAILABLE, RESOURCE_NOT_FOUND, DOMAIN_NOT_FOUND, DOMAIN_CANNOT_USE_APIS, FORBIDDEN, BAD_REQUEST, INVALID, SYSTEM_ERROR, PERMISSION_DENIED]
|
CIGROUP_LIST_THROW_REASONS = [SERVICE_NOT_AVAILABLE, RESOURCE_NOT_FOUND, DOMAIN_NOT_FOUND, DOMAIN_CANNOT_USE_APIS, FORBIDDEN, BAD_REQUEST, INVALID, INVALID_ARGUMENT, SYSTEM_ERROR, PERMISSION_DENIED]
|
||||||
CIGROUP_LIST_USERKEY_THROW_REASONS = CIGROUP_LIST_THROW_REASONS+[INVALID_ARGUMENT]
|
CIGROUP_LIST_USERKEY_THROW_REASONS = CIGROUP_LIST_THROW_REASONS+[INVALID_ARGUMENT]
|
||||||
CIGROUP_UPDATE_THROW_REASONS = [SERVICE_NOT_AVAILABLE, NOT_FOUND, GROUP_NOT_FOUND, DOMAIN_NOT_FOUND, DOMAIN_CANNOT_USE_APIS,
|
CIGROUP_UPDATE_THROW_REASONS = [SERVICE_NOT_AVAILABLE, NOT_FOUND, GROUP_NOT_FOUND, DOMAIN_NOT_FOUND, DOMAIN_CANNOT_USE_APIS,
|
||||||
FORBIDDEN, BAD_REQUEST, INVALID, INVALID_INPUT, INVALID_ARGUMENT,
|
FORBIDDEN, BAD_REQUEST, INVALID, INVALID_INPUT, INVALID_ARGUMENT,
|
||||||
|
@ -462,6 +462,7 @@ UPDATE_USER_PASSWORD_CHANGE_NOTIFY_SUBJECT = 'Account #user# password has been c
|
|||||||
UPLOAD_CSV_FILE_INTERNAL_ERROR = 'Google reported "{0}" but the file was probably uploaded, check that it has {1} rows'
|
UPLOAD_CSV_FILE_INTERNAL_ERROR = 'Google reported "{0}" but the file was probably uploaded, check that it has {1} rows'
|
||||||
UPLOADING_NEW_PUBLIC_CERTIFICATE_TO_GOOGLE = 'Uploading new public certificate to Google...\n'
|
UPLOADING_NEW_PUBLIC_CERTIFICATE_TO_GOOGLE = 'Uploading new public certificate to Google...\n'
|
||||||
URL_ERROR = 'URL error: {0}'
|
URL_ERROR = 'URL error: {0}'
|
||||||
|
USE_MIMETYPE_TO_SPECIFY_GOOGLE_FORMAT = 'Use "mimetype <MimeType>" to specify Google file format\n'
|
||||||
USED = 'Used'
|
USED = 'Used'
|
||||||
USER_BELONGS_TO_N_GROUPS_THAT_MAP_TO_ORGUNITS = 'User belongs to {0} groups ({1}) that map to OUs'
|
USER_BELONGS_TO_N_GROUPS_THAT_MAP_TO_ORGUNITS = 'User belongs to {0} groups ({1}) that map to OUs'
|
||||||
USER_CANCELLED = 'User cancelled'
|
USER_CANCELLED = 'User cancelled'
|
||||||
|
Reference in New Issue
Block a user