gam7 7.23.5__py3-none-any.whl → 7.23.6__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 +35 -8
- gam/gamlib/glclargs.py +1 -0
- {gam7-7.23.5.dist-info → gam7-7.23.6.dist-info}/METADATA +1 -1
- {gam7-7.23.5.dist-info → gam7-7.23.6.dist-info}/RECORD +7 -7
- {gam7-7.23.5.dist-info → gam7-7.23.6.dist-info}/WHEEL +0 -0
- {gam7-7.23.5.dist-info → gam7-7.23.6.dist-info}/entry_points.txt +0 -0
- {gam7-7.23.5.dist-info → gam7-7.23.6.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.06'
|
|
29
29
|
__license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
|
|
30
30
|
|
|
31
31
|
#pylint: disable=wrong-import-position
|
|
@@ -16990,21 +16990,37 @@ def doDeleteAdmin():
|
|
|
16990
16990
|
except (GAPI.forbidden, GAPI.permissionDenied) as e:
|
|
16991
16991
|
ClientAPIAccessDeniedExit(str(e))
|
|
16992
16992
|
|
|
16993
|
-
|
|
16993
|
+
ADMIN_ASSIGNEE_TYPE_TO_ASSIGNEDTO_FIELD_MAP = {
|
|
16994
16994
|
'user': 'assignedToUser',
|
|
16995
16995
|
'group': 'assignedToGroup',
|
|
16996
16996
|
'serviceaccount': 'assignedToServiceAccount',
|
|
16997
|
+
'unknown': 'assignedToUnknown',
|
|
16997
16998
|
}
|
|
16999
|
+
ALL_ASSIGNEE_TYPES = ['user', 'group', 'serviceaccount']
|
|
17000
|
+
|
|
16998
17001
|
PRINT_ADMIN_FIELDS = ['roleAssignmentId', 'roleId', 'assignedTo', 'scopeType', 'orgUnitId', 'assigneeType']
|
|
16999
17002
|
PRINT_ADMIN_TITLES = ['roleAssignmentId', 'roleId', 'role',
|
|
17000
17003
|
'assignedTo', 'assignedToUser', 'assignedToGroup', 'assignedToServiceAccount', 'assignedToUnknown',
|
|
17001
17004
|
'scopeType', 'orgUnitId', 'orgUnit']
|
|
17002
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
|
+
|
|
17003
17017
|
# gam print admins [todrive <ToDriveAttribute>*]
|
|
17004
17018
|
# [user|group <EmailAddress>|<UniqueID>] [role <RoleItem>]
|
|
17019
|
+
# [types <AdminAssigneeTypeList>]
|
|
17005
17020
|
# [recursive] [condition] [privileges] [oneitemperrow]
|
|
17006
17021
|
# gam show admins
|
|
17007
17022
|
# [user|group <EmailAddress>|<UniqueID>] [role <RoleItem>]
|
|
17023
|
+
# [types <AdminAssigneeTypeList>]
|
|
17008
17024
|
# [recursive] [condition] [privileges]
|
|
17009
17025
|
def doPrintShowAdmins():
|
|
17010
17026
|
def _getPrivileges(admin):
|
|
@@ -17034,14 +17050,16 @@ def doPrintShowAdmins():
|
|
|
17034
17050
|
assignedTo = admin['assignedTo']
|
|
17035
17051
|
if assignedTo not in assignedToIdEmailMap:
|
|
17036
17052
|
assigneeEmail, assigneeType = convertUIDtoEmailAddressWithType(f'uid:{assignedTo}', cd, sal,
|
|
17037
|
-
emailTypes=
|
|
17038
|
-
if assigneeType in
|
|
17039
|
-
assignedToField =
|
|
17053
|
+
emailTypes=ALL_ASSIGNEE_TYPES if admin.get('assigneeType') != 'group' else ['group'])
|
|
17054
|
+
if assigneeType in ADMIN_ASSIGNEE_TYPE_TO_ASSIGNEDTO_FIELD_MAP:
|
|
17055
|
+
assignedToField = ADMIN_ASSIGNEE_TYPE_TO_ASSIGNEDTO_FIELD_MAP[assigneeType]
|
|
17040
17056
|
else:
|
|
17041
17057
|
assignedToField = 'assignedToUnknown'
|
|
17058
|
+
if assignedToField == 'assignedToUnknown':
|
|
17042
17059
|
assigneeEmail = True
|
|
17043
17060
|
assignedToIdEmailMap[assignedTo] = {'assignedToField': assignedToField, 'assigneeEmail': assigneeEmail}
|
|
17044
17061
|
admin[assignedToIdEmailMap[assignedTo]['assignedToField']] = assignedToIdEmailMap[assignedTo]['assigneeEmail']
|
|
17062
|
+
admin['assignedToField'] = assignedToIdEmailMap[assignedTo]['assignedToField']
|
|
17045
17063
|
if privileges is not None:
|
|
17046
17064
|
admin.update(privileges)
|
|
17047
17065
|
if 'orgUnitId' in admin:
|
|
@@ -17058,11 +17076,11 @@ def doPrintShowAdmins():
|
|
|
17058
17076
|
roleId = None
|
|
17059
17077
|
userKey = None
|
|
17060
17078
|
oneItemPerRow = recursive = showPrivileges = False
|
|
17079
|
+
typesSet = set()
|
|
17061
17080
|
kwargs = {}
|
|
17062
17081
|
rolePrivileges = {}
|
|
17063
17082
|
fieldsList = PRINT_ADMIN_FIELDS
|
|
17064
17083
|
assignedToIdEmailMap = {}
|
|
17065
|
-
allAssigneeTypes = list(ASSIGNEE_EMAILTYPE_TOFIELD_MAP.keys())
|
|
17066
17084
|
while Cmd.ArgumentsRemaining():
|
|
17067
17085
|
myarg = getArgument()
|
|
17068
17086
|
if csvPF and myarg == 'todrive':
|
|
@@ -17071,6 +17089,8 @@ def doPrintShowAdmins():
|
|
|
17071
17089
|
userKey = kwargs['userKey'] = getEmailAddress()
|
|
17072
17090
|
elif myarg == 'role':
|
|
17073
17091
|
_, roleId = getRoleId()
|
|
17092
|
+
elif getAssigneeTypes(myarg, typesSet):
|
|
17093
|
+
pass
|
|
17074
17094
|
elif myarg == 'recursive':
|
|
17075
17095
|
recursive = True
|
|
17076
17096
|
allGroupRoles = ','.join(sorted(ALL_GROUP_ROLES))
|
|
@@ -17093,6 +17113,8 @@ def doPrintShowAdmins():
|
|
|
17093
17113
|
if roleId and not kwargs:
|
|
17094
17114
|
kwargs['roleId'] = roleId
|
|
17095
17115
|
roleId = None
|
|
17116
|
+
if not typesSet:
|
|
17117
|
+
typesSet = set(ADMIN_ASSIGNEE_TYPE_TO_ASSIGNEDTO_FIELD_MAP.values())
|
|
17096
17118
|
fields = getItemFieldsFromFieldsList('items', fieldsList)
|
|
17097
17119
|
printGettingAllAccountEntities(Ent.ADMIN_ROLE_ASSIGNMENT)
|
|
17098
17120
|
try:
|
|
@@ -17123,11 +17145,12 @@ def doPrintShowAdmins():
|
|
|
17123
17145
|
i += 1
|
|
17124
17146
|
if roleId and roleId != admin['roleId']:
|
|
17125
17147
|
continue
|
|
17148
|
+
assignedTo = admin['assignedTo']
|
|
17126
17149
|
if admin['assigneeType'] != 'group' or not recursive:
|
|
17127
17150
|
_setNamesFromIds(admin, _getPrivileges(admin))
|
|
17128
|
-
|
|
17151
|
+
if admin['assignedToField'] in typesSet:
|
|
17152
|
+
expandedAdmins.append(admin)
|
|
17129
17153
|
continue
|
|
17130
|
-
assignedTo = admin['assignedTo']
|
|
17131
17154
|
if assignedTo not in groupMembers:
|
|
17132
17155
|
membersList = []
|
|
17133
17156
|
membersSet = set()
|
|
@@ -17136,6 +17159,9 @@ def doPrintShowAdmins():
|
|
|
17136
17159
|
memberOptions, memberDisplayOptions, level, {Ent.TYPE_USER})
|
|
17137
17160
|
groupMembers[assignedTo] = membersList[:]
|
|
17138
17161
|
_setNamesFromIds(admin, _getPrivileges(admin))
|
|
17162
|
+
if admin[assignedToIdEmailMap[assignedTo]['assignedToField']] not in typesSet:
|
|
17163
|
+
continue
|
|
17164
|
+
expandedAdmins.append(admin)
|
|
17139
17165
|
if not groupMembers[assignedTo]:
|
|
17140
17166
|
expandedAdmins.append(admin)
|
|
17141
17167
|
continue
|
|
@@ -17173,6 +17199,7 @@ def doPrintShowAdmins():
|
|
|
17173
17199
|
Ind.Decrement()
|
|
17174
17200
|
else:
|
|
17175
17201
|
for admin in expandedAdmins:
|
|
17202
|
+
admin.pop('assignedToField')
|
|
17176
17203
|
if not oneItemPerRow or 'rolePrivileges' not in admin:
|
|
17177
17204
|
csvPF.WriteRowTitles(flattenJSON(admin))
|
|
17178
17205
|
else:
|
gam/gamlib/glclargs.py
CHANGED
|
@@ -1138,6 +1138,7 @@ class GamCLArgs():
|
|
|
1138
1138
|
OB_ARGUMENT = 'argument'
|
|
1139
1139
|
OB_ASP_ID_LIST = 'ASPIDList'
|
|
1140
1140
|
OB_ASSET_ID = 'AssetID'
|
|
1141
|
+
OB_ADMIN_ASSIGNEE_TYPE_LIST = 'AdminAssigneeTypeList'
|
|
1141
1142
|
OB_BROWSER_ENROLLEMNT_TOKEN_ID = 'BrowserEnrollmentTokenID'
|
|
1142
1143
|
OB_BROWSER_ENTITY = 'BrowserEntity'
|
|
1143
1144
|
OB_BUILDING_ID = 'BuildingID'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
gam/__init__.py,sha256=
|
|
1
|
+
gam/__init__.py,sha256=hT_6mB1-IGqw6dWjKeo0W3EQF73Ve2_NjiX_xB7INIc,3623383
|
|
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
|
|
@@ -24,7 +24,7 @@ gam/gamlib/__init__.py,sha256=z5mF-y0j8pm-YNFBaiuxB4M_GAUPG-cXWwrhYwrVReM,679
|
|
|
24
24
|
gam/gamlib/glaction.py,sha256=1Il_HrChVnPkzZwiZs5au4mFQVtq4K1Z42uIuR6qdnI,9419
|
|
25
25
|
gam/gamlib/glapi.py,sha256=u97M7Y2BeP3tYEEGYEz-9kY4fdV0fYkeqC3YN-sRwNc,36028
|
|
26
26
|
gam/gamlib/glcfg.py,sha256=jX9IIrqSa8CPZ-UdnMDs2RuGo8vPh3jpgvRhI9VRbII,28325
|
|
27
|
-
gam/gamlib/glclargs.py,sha256=
|
|
27
|
+
gam/gamlib/glclargs.py,sha256=LlTtwJJHqU48l7SQT4bcZCWlw3Y46g42Bn1ACGW8gIk,53307
|
|
28
28
|
gam/gamlib/glentity.py,sha256=KWFomkoNE6lLE83zVqVIlJ2rkzfLkhEasW1M0TWGieA,35373
|
|
29
29
|
gam/gamlib/glgapi.py,sha256=pdBbwNtnCwFWxJGaP-_3hdTjSNoOCJF2yo76WdQOi1k,40426
|
|
30
30
|
gam/gamlib/glgdata.py,sha256=weRppttWm6uRyqtBoGPKoHiNZ2h28nhfUV4J_mbCszY,2707
|
|
@@ -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.6.dist-info/METADATA,sha256=BEAOLvBw21I1PEiIFYzkqJhHRdWQeu1_BzMSM6LDzrU,3092
|
|
51
|
+
gam7-7.23.6.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
52
|
+
gam7-7.23.6.dist-info/entry_points.txt,sha256=HVUM5J7dA8YwvJfG30jiLefR19ExMs387TWugWd9sf4,42
|
|
53
|
+
gam7-7.23.6.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
54
|
+
gam7-7.23.6.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|