gam7 7.23.6__py3-none-any.whl → 7.23.7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of gam7 might be problematic. Click here for more details.
- gam/__init__.py +29 -25
- {gam7-7.23.6.dist-info → gam7-7.23.7.dist-info}/METADATA +1 -1
- {gam7-7.23.6.dist-info → gam7-7.23.7.dist-info}/RECORD +6 -6
- {gam7-7.23.6.dist-info → gam7-7.23.7.dist-info}/WHEEL +0 -0
- {gam7-7.23.6.dist-info → gam7-7.23.7.dist-info}/entry_points.txt +0 -0
- {gam7-7.23.6.dist-info → gam7-7.23.7.dist-info}/licenses/LICENSE +0 -0
gam/__init__.py
CHANGED
|
@@ -25,7 +25,7 @@ https://github.com/GAM-team/GAM/wiki
|
|
|
25
25
|
"""
|
|
26
26
|
|
|
27
27
|
__author__ = 'GAM Team <google-apps-manager@googlegroups.com>'
|
|
28
|
-
__version__ = '7.23.
|
|
28
|
+
__version__ = '7.23.07'
|
|
29
29
|
__license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
|
|
30
30
|
|
|
31
31
|
#pylint: disable=wrong-import-position
|
|
@@ -16998,22 +16998,11 @@ ADMIN_ASSIGNEE_TYPE_TO_ASSIGNEDTO_FIELD_MAP = {
|
|
|
16998
16998
|
}
|
|
16999
16999
|
ALL_ASSIGNEE_TYPES = ['user', 'group', 'serviceaccount']
|
|
17000
17000
|
|
|
17001
|
-
PRINT_ADMIN_FIELDS = ['roleAssignmentId', 'roleId', 'assignedTo', 'scopeType', 'orgUnitId'
|
|
17001
|
+
PRINT_ADMIN_FIELDS = ['roleAssignmentId', 'roleId', 'assignedTo', 'scopeType', 'orgUnitId']
|
|
17002
17002
|
PRINT_ADMIN_TITLES = ['roleAssignmentId', 'roleId', 'role',
|
|
17003
17003
|
'assignedTo', 'assignedToUser', 'assignedToGroup', 'assignedToServiceAccount', 'assignedToUnknown',
|
|
17004
17004
|
'scopeType', 'orgUnitId', 'orgUnit']
|
|
17005
17005
|
|
|
17006
|
-
def getAssigneeTypes(myarg, typesSet):
|
|
17007
|
-
if myarg in {'type', 'types'}:
|
|
17008
|
-
for gtype in getString(Cmd.OB_ADMIN_ASSIGNEE_TYPE_LIST).lower().replace(',', ' ').split():
|
|
17009
|
-
if gtype in ADMIN_ASSIGNEE_TYPE_TO_ASSIGNEDTO_FIELD_MAP:
|
|
17010
|
-
typesSet.add(ADMIN_ASSIGNEE_TYPE_TO_ASSIGNEDTO_FIELD_MAP[gtype])
|
|
17011
|
-
else:
|
|
17012
|
-
invalidChoiceExit(gtype, ADMIN_ASSIGNEE_TYPE_TO_ASSIGNEDTO_FIELD_MAP, True)
|
|
17013
|
-
else:
|
|
17014
|
-
return False
|
|
17015
|
-
return True
|
|
17016
|
-
|
|
17017
17006
|
# gam print admins [todrive <ToDriveAttribute>*]
|
|
17018
17007
|
# [user|group <EmailAddress>|<UniqueID>] [role <RoleItem>]
|
|
17019
17008
|
# [types <AdminAssigneeTypeList>]
|
|
@@ -17023,6 +17012,17 @@ def getAssigneeTypes(myarg, typesSet):
|
|
|
17023
17012
|
# [types <AdminAssigneeTypeList>]
|
|
17024
17013
|
# [recursive] [condition] [privileges]
|
|
17025
17014
|
def doPrintShowAdmins():
|
|
17015
|
+
def _getAssigneeTypes(myarg):
|
|
17016
|
+
if myarg in {'type', 'types'}:
|
|
17017
|
+
for gtype in getString(Cmd.OB_ADMIN_ASSIGNEE_TYPE_LIST).lower().replace(',', ' ').split():
|
|
17018
|
+
if gtype in ADMIN_ASSIGNEE_TYPE_TO_ASSIGNEDTO_FIELD_MAP:
|
|
17019
|
+
typesSet.add(ADMIN_ASSIGNEE_TYPE_TO_ASSIGNEDTO_FIELD_MAP[gtype])
|
|
17020
|
+
else:
|
|
17021
|
+
invalidChoiceExit(gtype, ADMIN_ASSIGNEE_TYPE_TO_ASSIGNEDTO_FIELD_MAP, True)
|
|
17022
|
+
else:
|
|
17023
|
+
return False
|
|
17024
|
+
return True
|
|
17025
|
+
|
|
17026
17026
|
def _getPrivileges(admin):
|
|
17027
17027
|
if showPrivileges:
|
|
17028
17028
|
roleId = admin['roleId']
|
|
@@ -17048,9 +17048,10 @@ def doPrintShowAdmins():
|
|
|
17048
17048
|
def _setNamesFromIds(admin, privileges):
|
|
17049
17049
|
admin['role'] = role_from_roleid(admin['roleId'])
|
|
17050
17050
|
assignedTo = admin['assignedTo']
|
|
17051
|
+
admin['assignedToUnknown'] = False
|
|
17051
17052
|
if assignedTo not in assignedToIdEmailMap:
|
|
17052
|
-
|
|
17053
|
-
|
|
17053
|
+
emailTypes = ALL_ASSIGNEE_TYPES if admin.get('assigneeType', '') != 'group' else ['group']
|
|
17054
|
+
assigneeEmail, assigneeType = convertUIDtoEmailAddressWithType(f'uid:{assignedTo}', cd, sal, emailTypes=emailTypes)
|
|
17054
17055
|
if assigneeType in ADMIN_ASSIGNEE_TYPE_TO_ASSIGNEDTO_FIELD_MAP:
|
|
17055
17056
|
assignedToField = ADMIN_ASSIGNEE_TYPE_TO_ASSIGNEDTO_FIELD_MAP[assigneeType]
|
|
17056
17057
|
else:
|
|
@@ -17069,17 +17070,21 @@ def doPrintShowAdmins():
|
|
|
17069
17070
|
admin['condition'] = 'securitygroup'
|
|
17070
17071
|
elif admin['condition'] == NONSECURITY_GROUP_CONDITION:
|
|
17071
17072
|
admin['condition'] = 'nonsecuritygroup'
|
|
17073
|
+
if debug:
|
|
17074
|
+
print('******', admin['assignedTo'], admin.get('assigneeType', 'no type'),
|
|
17075
|
+
admin['assignedToField'], not typesSet or admin['assignedToField'] in typesSet)
|
|
17076
|
+
return not typesSet or admin['assignedToField'] in typesSet
|
|
17072
17077
|
|
|
17073
17078
|
cd = buildGAPIObject(API.DIRECTORY)
|
|
17074
17079
|
sal = buildGAPIObject(API.SERVICEACCOUNTLOOKUP)
|
|
17075
17080
|
csvPF = CSVPrintFile(PRINT_ADMIN_TITLES) if Act.csvFormat() else None
|
|
17076
17081
|
roleId = None
|
|
17077
17082
|
userKey = None
|
|
17078
|
-
oneItemPerRow = recursive = showPrivileges = False
|
|
17083
|
+
debug = oneItemPerRow = recursive = showPrivileges = False
|
|
17079
17084
|
typesSet = set()
|
|
17080
17085
|
kwargs = {}
|
|
17081
17086
|
rolePrivileges = {}
|
|
17082
|
-
fieldsList = PRINT_ADMIN_FIELDS
|
|
17087
|
+
fieldsList = PRINT_ADMIN_FIELDS+['assigneeType']
|
|
17083
17088
|
assignedToIdEmailMap = {}
|
|
17084
17089
|
while Cmd.ArgumentsRemaining():
|
|
17085
17090
|
myarg = getArgument()
|
|
@@ -17089,7 +17094,7 @@ def doPrintShowAdmins():
|
|
|
17089
17094
|
userKey = kwargs['userKey'] = getEmailAddress()
|
|
17090
17095
|
elif myarg == 'role':
|
|
17091
17096
|
_, roleId = getRoleId()
|
|
17092
|
-
elif
|
|
17097
|
+
elif _getAssigneeTypes(myarg):
|
|
17093
17098
|
pass
|
|
17094
17099
|
elif myarg == 'recursive':
|
|
17095
17100
|
recursive = True
|
|
@@ -17108,13 +17113,13 @@ def doPrintShowAdmins():
|
|
|
17108
17113
|
showPrivileges = True
|
|
17109
17114
|
elif myarg == 'oneitemperrow':
|
|
17110
17115
|
oneItemPerRow = True
|
|
17116
|
+
elif myarg == 'debug':
|
|
17117
|
+
debug = True
|
|
17111
17118
|
else:
|
|
17112
17119
|
unknownArgumentExit()
|
|
17113
17120
|
if roleId and not kwargs:
|
|
17114
17121
|
kwargs['roleId'] = roleId
|
|
17115
17122
|
roleId = None
|
|
17116
|
-
if not typesSet:
|
|
17117
|
-
typesSet = set(ADMIN_ASSIGNEE_TYPE_TO_ASSIGNEDTO_FIELD_MAP.values())
|
|
17118
17123
|
fields = getItemFieldsFromFieldsList('items', fieldsList)
|
|
17119
17124
|
printGettingAllAccountEntities(Ent.ADMIN_ROLE_ASSIGNMENT)
|
|
17120
17125
|
try:
|
|
@@ -17147,8 +17152,7 @@ def doPrintShowAdmins():
|
|
|
17147
17152
|
continue
|
|
17148
17153
|
assignedTo = admin['assignedTo']
|
|
17149
17154
|
if admin['assigneeType'] != 'group' or not recursive:
|
|
17150
|
-
_setNamesFromIds(admin, _getPrivileges(admin))
|
|
17151
|
-
if admin['assignedToField'] in typesSet:
|
|
17155
|
+
if _setNamesFromIds(admin, _getPrivileges(admin)):
|
|
17152
17156
|
expandedAdmins.append(admin)
|
|
17153
17157
|
continue
|
|
17154
17158
|
if assignedTo not in groupMembers:
|
|
@@ -17158,8 +17162,7 @@ def doPrintShowAdmins():
|
|
|
17158
17162
|
getGroupMembers(cd, assignedTo, allGroupRoles, membersList, membersSet, i, count,
|
|
17159
17163
|
memberOptions, memberDisplayOptions, level, {Ent.TYPE_USER})
|
|
17160
17164
|
groupMembers[assignedTo] = membersList[:]
|
|
17161
|
-
_setNamesFromIds(admin, _getPrivileges(admin))
|
|
17162
|
-
if admin[assignedToIdEmailMap[assignedTo]['assignedToField']] not in typesSet:
|
|
17165
|
+
if not _setNamesFromIds(admin, _getPrivileges(admin)):
|
|
17163
17166
|
continue
|
|
17164
17167
|
expandedAdmins.append(admin)
|
|
17165
17168
|
if not groupMembers[assignedTo]:
|
|
@@ -17184,7 +17187,7 @@ def doPrintShowAdmins():
|
|
|
17184
17187
|
Ind.Increment()
|
|
17185
17188
|
for field in PRINT_ADMIN_TITLES:
|
|
17186
17189
|
if field in admin:
|
|
17187
|
-
if field == 'roleAssignmentId':
|
|
17190
|
+
if (field == 'roleAssignmentId') or (field == 'assignedToUnknown' and not admin[field]):
|
|
17188
17191
|
continue
|
|
17189
17192
|
printKeyValueList([field, admin[field]])
|
|
17190
17193
|
if showPrivileges:
|
|
@@ -17199,6 +17202,7 @@ def doPrintShowAdmins():
|
|
|
17199
17202
|
Ind.Decrement()
|
|
17200
17203
|
else:
|
|
17201
17204
|
for admin in expandedAdmins:
|
|
17205
|
+
admin.pop('assigneeType', None)
|
|
17202
17206
|
admin.pop('assignedToField')
|
|
17203
17207
|
if not oneItemPerRow or 'rolePrivileges' not in admin:
|
|
17204
17208
|
csvPF.WriteRowTitles(flattenJSON(admin))
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
gam/__init__.py,sha256=
|
|
1
|
+
gam/__init__.py,sha256=4YrLoMJgKhbcDviaShnbuPe-BAk8K_GZF8H-TtlObxM,3623580
|
|
2
2
|
gam/__main__.py,sha256=amz0-959ph6zkZKqjaar4n60yho-T37w6qWI36qx0CA,1049
|
|
3
3
|
gam/cacerts.pem,sha256=DUsVo2XlFYwfkhe3gnxa-Km4Z4noz74hSApXwTT-nQE,44344
|
|
4
4
|
gam/cbcm-v1.1beta1.json,sha256=xO5XloCQQULmPbFBx5bckdqmbLFQ7sJ2TImhE1ysDIY,19439
|
|
@@ -47,8 +47,8 @@ gam/gdata/apps/audit/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrK
|
|
|
47
47
|
gam/gdata/apps/audit/service.py,sha256=Z1eueThcNeVUMWP1DRWc_DGHrJCiJI8W_xj6L-cqu-Q,9658
|
|
48
48
|
gam/gdata/apps/contacts/__init__.py,sha256=Um6zgIkiahZns7yAEuC3pxHSMD8iciZ_EoynSLoYPfU,30463
|
|
49
49
|
gam/gdata/apps/contacts/service.py,sha256=5lNb-Ii1Gyek6ePFji3kyoYtCBc8CuJTwagx2BL2o14,15684
|
|
50
|
-
gam7-7.23.
|
|
51
|
-
gam7-7.23.
|
|
52
|
-
gam7-7.23.
|
|
53
|
-
gam7-7.23.
|
|
54
|
-
gam7-7.23.
|
|
50
|
+
gam7-7.23.7.dist-info/METADATA,sha256=2BHtjvFhi6hIfTYI-IaSHB8pv4Omsqb3l1zJ0C9qBK8,3092
|
|
51
|
+
gam7-7.23.7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
52
|
+
gam7-7.23.7.dist-info/entry_points.txt,sha256=HVUM5J7dA8YwvJfG30jiLefR19ExMs387TWugWd9sf4,42
|
|
53
|
+
gam7-7.23.7.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
54
|
+
gam7-7.23.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|