gam7 7.5.8__py3-none-any.whl → 7.5.11__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 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.05.08'
28
+ __version__ = '7.05.11'
29
29
  __license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
30
30
 
31
31
  #pylint: disable=wrong-import-position
@@ -909,6 +909,8 @@ def getBoolean(defaultValue=True):
909
909
  Cmd.Advance()
910
910
  return False
911
911
  if defaultValue is not None:
912
+ if not Cmd.Current().strip(): # If current argument is empty, skip over it
913
+ Cmd.Advance()
912
914
  return defaultValue
913
915
  invalidChoiceExit(boolean, TRUE_FALSE, False)
914
916
  if defaultValue is not None:
@@ -1482,6 +1484,8 @@ def getInteger(minVal=None, maxVal=None, default=None):
1482
1484
  return number
1483
1485
  except ValueError:
1484
1486
  if default is not None:
1487
+ if not Cmd.Current().strip(): # If current argument is empty, skip over it
1488
+ Cmd.Advance()
1485
1489
  return default
1486
1490
  invalidArgumentExit(integerLimits(minVal, maxVal))
1487
1491
  elif default is not None:
@@ -11842,7 +11846,7 @@ def doCreateProject():
11842
11846
  # Try to set policy on project to allow Service Account Key Upload
11843
11847
  # orgp = getAPIService(API.ORGPOLICY, httpObj)
11844
11848
  # projectParent = f"projects/{projectInfo['projectId']}"
11845
- # policyName = f'{projectParent}/policies/iam.disableServiceAccountKeyUpload'
11849
+ # policyName = f'{projectParent}/policies/iam.managed.disableServiceAccountKeyUpload'
11846
11850
  # try:
11847
11851
  # result = callGAPI(orgp.projects().policies(), 'get',
11848
11852
  # throwReasons=[GAPI.NOT_FOUND, GAPI.FAILED_PRECONDITION, GAPI.PERMISSION_DENIED],
@@ -12646,7 +12650,7 @@ def doProcessSvcAcctKeys(mode=None, iam=None, projectId=None, clientEmail=None,
12646
12650
  return False
12647
12651
  except GAPI.failedPrecondition as e:
12648
12652
  entityActionFailedWarning([Ent.PROJECT, projectId, Ent.SVCACCT, clientEmail], str(e))
12649
- if 'iam.disableServiceAccountKeyUpload' not in str(e):
12653
+ if 'iam.disableServiceAccountKeyUpload' not in str(e) and 'iam.managed.disableServiceAccountKeyUpload' not in str(e):
12650
12654
  return False
12651
12655
  if retry == maxRetries or mode != 'upload':
12652
12656
  sys.stdout.write(Msg.ENABLE_SERVICE_ACCOUNT_PRIVATE_KEY_UPLOAD.format(projectId))
@@ -26380,6 +26384,7 @@ def printShowChatSpaces(users):
26380
26384
  bailOnInternalError=True,
26381
26385
  throwReasons=[GAPI.NOT_FOUND, GAPI.INVALID_ARGUMENT, GAPI.INTERNAL_ERROR,
26382
26386
  GAPI.PERMISSION_DENIED, GAPI.FAILED_PRECONDITION],
26387
+ retryReasons=GAPI.SERVICE_NOT_AVAILABLE_RETRY_REASONS,
26383
26388
  fields=fields, pageSize=CHAT_PAGE_SIZE, **kwargsCS)
26384
26389
  except (GAPI.notFound, GAPI.invalidArgument, GAPI.internalError, GAPI.permissionDenied) as e:
26385
26390
  exitIfChatNotConfigured(chat, kvList, str(e), i, count)
@@ -26798,6 +26803,7 @@ def syncChatMembers(users):
26798
26803
  members = callGAPIpages(chat.spaces().members(), 'list', 'memberships',
26799
26804
  pageMessage=_getChatPageMessage(Ent.CHAT_MEMBER, user, i, count, qfilter),
26800
26805
  throwReasons=[GAPI.NOT_FOUND, GAPI.INVALID_ARGUMENT, GAPI.PERMISSION_DENIED, GAPI.FAILED_PRECONDITION],
26806
+ retryReasons=GAPI.SERVICE_NOT_AVAILABLE_RETRY_REASONS,
26801
26807
  parent=parent, showGroups=groupsSpecified, pageSize=CHAT_PAGE_SIZE, **kwargs, **kwargsUAA)
26802
26808
  for member in members:
26803
26809
  if 'member' in member:
@@ -26995,6 +27001,7 @@ def printShowChatMembers(users):
26995
27001
  bailOnInternalError=True,
26996
27002
  throwReasons=[GAPI.NOT_FOUND, GAPI.INVALID_ARGUMENT, GAPI.INTERNAL_ERROR,
26997
27003
  GAPI.PERMISSION_DENIED, GAPI.FAILED_PRECONDITION],
27004
+ retryReasons=GAPI.SERVICE_NOT_AVAILABLE_RETRY_REASONS,
26998
27005
  fields="nextPageToken,spaces(name,displayName,spaceType,membershipCount)", pageSize=CHAT_PAGE_SIZE,
26999
27006
  **kwargsCS)
27000
27007
  for space in spaces:
@@ -27011,6 +27018,7 @@ def printShowChatMembers(users):
27011
27018
  bailOnInternalError=True,
27012
27019
  throwReasons=[GAPI.NOT_FOUND, GAPI.INVALID_ARGUMENT, GAPI.INTERNAL_ERROR,
27013
27020
  GAPI.PERMISSION_DENIED, GAPI.FAILED_PRECONDITION],
27021
+ retryReasons=GAPI.SERVICE_NOT_AVAILABLE_RETRY_REASONS,
27014
27022
  fields="nextPageToken,spaces(name,displayName,spaceType,membershipCount)", pageSize=CHAT_PAGE_SIZE,
27015
27023
  **kwargsCS)
27016
27024
  for space in spaces:
@@ -27355,6 +27363,7 @@ def printShowChatMessages(users):
27355
27363
  messages = callGAPIpages(chat.spaces().messages(), 'list', 'messages',
27356
27364
  pageMessage=_getChatPageMessage(Ent.CHAT_MESSAGE, user, i, count, qfilter),
27357
27365
  throwReasons=[GAPI.NOT_FOUND, GAPI.INVALID_ARGUMENT, GAPI.PERMISSION_DENIED],
27366
+ retryReasons=GAPI.SERVICE_NOT_AVAILABLE_RETRY_REASONS,
27358
27367
  pageSize=CHAT_PAGE_SIZE, parent=parentName, filter=pfilter, showDeleted=showDeleted,
27359
27368
  fields=fields)
27360
27369
  for message in messages:
@@ -27472,6 +27481,7 @@ def printShowChatEvents(users):
27472
27481
  events = callGAPIpages(chat.spaces().spaceEvents(), 'list', 'spaceEvents',
27473
27482
  pageMessage=_getChatPageMessage(Ent.CHAT_EVENT, user, i, count, qfilter),
27474
27483
  throwReasons=[GAPI.NOT_FOUND, GAPI.INVALID_ARGUMENT, GAPI.PERMISSION_DENIED],
27484
+ retryReasons=GAPI.SERVICE_NOT_AVAILABLE_RETRY_REASONS,
27475
27485
  pageSize=CHAT_PAGE_SIZE, parent=parentName, filter=pfilter)
27476
27486
  except (GAPI.notFound, GAPI.invalidArgument, GAPI.permissionDenied) as e:
27477
27487
  exitIfChatNotConfigured(chat, kvList, str(e), i, count)
@@ -38688,7 +38698,7 @@ def _getEventMatchFields(calendarEventEntity, fieldsList):
38688
38698
  else:
38689
38699
  fieldsList.append('attendees/email')
38690
38700
  if match[0][1] == 'status':
38691
- fieldsList.extend('attendees/optional', 'attendees/responseStatus')
38701
+ fieldsList.extend(['attendees/optional', 'attendees/responseStatus'])
38692
38702
 
38693
38703
  def _eventMatches(event, match):
38694
38704
  if match[0][0] != 'attendees':
@@ -43027,7 +43037,7 @@ def getUserAttributes(cd, updateCmd, noUid=False):
43027
43037
  if value:
43028
43038
  entry[argument] = value
43029
43039
  else:
43030
- entry[argument] = getInteger(minVal=0, maxVal=100000)
43040
+ entry[argument] = getInteger(minVal=0, maxVal=100000, default=0)
43031
43041
  elif primaryNotPrimary(argument, entry):
43032
43042
  break
43033
43043
  else:
gam/gamlib/glskus.py CHANGED
@@ -47,6 +47,10 @@ _SKUS = {
47
47
  'product': '101001', 'aliases': ['identity', 'cloudidentity'], 'displayName': 'Cloud Identity'},
48
48
  '1010050001': {
49
49
  'product': '101005', 'aliases': ['identitypremium', 'cloudidentitypremium'], 'displayName': 'Cloud Identity Premium'},
50
+ '1010070001': {
51
+ 'product': 'Google-Apps', 'aliases': ['gwef', 'workspaceeducationfundamentals'], 'displayName': 'Google Workspace for Education Fundamentals'},
52
+ '1010070004': {
53
+ 'product': 'Google-Apps', 'aliases': ['gwegmo', 'workspaceeducationgmailonly'], 'displayName': 'Google Workspace for Education Gmail Only'},
50
54
  '1010310002': {
51
55
  'product': '101031', 'aliases': ['gsefe', 'e4e', 'gsuiteenterpriseeducation'], 'displayName': 'Google Workspace for Education Plus - Legacy'},
52
56
  '1010310003': {
@@ -111,6 +115,8 @@ _SKUS = {
111
115
  'product': 'Google-Apps', 'aliases': ['standard', 'free'], 'displayName': 'G Suite Legacy'},
112
116
  'Google-Apps-For-Business': {
113
117
  'product': 'Google-Apps', 'aliases': ['gafb', 'gafw', 'basic', 'gsuitebasic'], 'displayName': 'G Suite Basic'},
118
+ 'Google-Apps-For-Education': {
119
+ 'product': 'Google-Apps', 'aliases': ['gafe', 'gsuiteeducation', 'gsuiteedu'], 'displayName': 'Google Workspace for Education - Fundamentals'},
114
120
  'Google-Apps-For-Government': {
115
121
  'product': 'Google-Apps', 'aliases': ['gafg', 'gsuitegovernment', 'gsuitegov'], 'displayName': 'Google Workspace Government'},
116
122
  'Google-Apps-For-Postini': {
@@ -148,6 +154,8 @@ _SKUS = {
148
154
  'product': '101034', 'aliases': ['wsbizstarterarchived', 'workspacebusinessstarterarchived'], 'displayName': 'Google Workspace Business Starter - Archived User'},
149
155
  '1010340006': {
150
156
  'product': '101034', 'aliases': ['wsbizstanarchived', 'workspacebusinessstanarchived'], 'displayName': 'Google Workspace Business Standard - Archived User'},
157
+ '1010340007': {
158
+ 'product': '101034', 'aliases': ['gwefau', 'gwefarchived', 'workspaceeducationfundamentalsarchived'], 'displayName': 'Google Workspace for Education Fundamentals - Archived User'},
151
159
  '1010060001': {
152
160
  'product': '101006', 'aliases': ['gsuiteessentials', 'essentials',
153
161
  'd4e', 'driveenterprise', 'drive4enterprise',
@@ -12,4 +12,4 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- __version__ = "2.156.0"
15
+ __version__ = "2.164.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gam7
3
- Version: 7.5.8
3
+ Version: 7.5.11
4
4
  Summary: CLI tool to manage Google Workspace
5
5
  Project-URL: Homepage, https://github.com/GAM-team/GAM
6
6
  Project-URL: Issues, https://github.com/GAM-team/GAM/issues
@@ -1,4 +1,4 @@
1
- gam/__init__.py,sha256=RNpYcn6A_Egf8De41Ed9anpHZ2Sebw9yC6_kgeHyCqI,3481151
1
+ gam/__init__.py,sha256=OrZbqA0gDEbcEnIk3y_TPjhwAb98sVcBVHAiyRLF_Ps,3481964
2
2
  gam/__main__.py,sha256=amz0-959ph6zkZKqjaar4n60yho-T37w6qWI36qx0CA,1049
3
3
  gam/cacerts.pem,sha256=nJuWha0xm5dHw_5ptGphwRoO-r36Ccpqiww9pCEDbSc,67484
4
4
  gam/cbcm-v1.1beta1.json,sha256=xO5XloCQQULmPbFBx5bckdqmbLFQ7sJ2TImhE1ysDIY,19439
@@ -32,7 +32,7 @@ gam/gamlib/glgdata.py,sha256=weRppttWm6uRyqtBoGPKoHiNZ2h28nhfUV4J_mbCszY,2707
32
32
  gam/gamlib/glglobals.py,sha256=B0kCz4K6PO1-n3eZI_lvdRG99Ane1-dH4zS4J4aymlI,9566
33
33
  gam/gamlib/glindent.py,sha256=RfBa2LDfLIqPLL5vMfC689TCVmqn8xf-qulSzkiatrc,1228
34
34
  gam/gamlib/glmsgs.py,sha256=HSMxHRLbafIv7qByS1XJYbshu-B_xMrNzWXVakEmrME,33278
35
- gam/gamlib/glskus.py,sha256=S-OasG1SteZSV0cG8JM74L3wFp9sozoZd39fTXajQWc,14159
35
+ gam/gamlib/glskus.py,sha256=43JykBXQsB54sm8GZMbSLaOBTXqIOfNYIoGPvwvJeUE,14872
36
36
  gam/gamlib/gluprop.py,sha256=IyPLCyvn7-NHTUenM71YPQPXRZXx6CB5q-GtJ-FYd1c,11461
37
37
  gam/gamlib/glverlibs.py,sha256=XXYhmjOVti78JTy7NNr4ShIwiOX7LrfrmFSlqSWixrE,1077
38
38
  gam/gamlib/yubikey.py,sha256=-UC-3oue9qarYK3LT7YL6Gmqs7TMK8oz9_AoxdaG2FA,7925
@@ -58,15 +58,15 @@ gam/googleapiclient/http.py,sha256=ITE51oqDBqN1-AA5D-Tnlj3egGc_5O0V5xSzBw3UTKI,6
58
58
  gam/googleapiclient/mimeparse.py,sha256=wwouQMCjppTocJtiQhkkTa27kocYwlFRALL2z11Xo1Y,6530
59
59
  gam/googleapiclient/model.py,sha256=NQDO1GhOGNVCJlSSCLOecdA11yf8RDXfSLFxYb3R7EE,14085
60
60
  gam/googleapiclient/schema.py,sha256=rR3u8WPQ_V8a7GCUsNuvtf6GxzwuMO0HaqsTBp3tnyM,10414
61
- gam/googleapiclient/version.py,sha256=7V06Hn57W91fLeZbCvjrZ5wVIEHlak9RzWroyLloxz0,599
61
+ gam/googleapiclient/version.py,sha256=vY1VaLgft_SIONbdSFPvHzipKt1agXbOX-Z-ZFbo9s0,599
62
62
  gam/googleapiclient/discovery_cache/__init__.py,sha256=ww_vl0vhVLuHSEdRTv3-gq6EDG--Ff7rILYHHFifnzc,2315
63
63
  gam/googleapiclient/discovery_cache/appengine_memcache.py,sha256=6T1pQj-toAhDwfgLuiggFGhxKNGw5y-NnLUzLIF_M4s,1657
64
64
  gam/googleapiclient/discovery_cache/base.py,sha256=yCDPtxnbNN-p5_9fzBacC6P3wcUPlaCQIy5v_dXTons,1389
65
65
  gam/googleapiclient/discovery_cache/file_cache.py,sha256=sim3Mg4HgRYo3vX75jvcKy_aV568EvIrtBfvfbw-044,4774
66
66
  gam/iso8601/__init__.py,sha256=Z2PsYbXgAH5a5xzUvgczCboPzqWpm65kRcIngCnhViU,1218
67
67
  gam/iso8601/iso8601.py,sha256=Li2FHZ4sBTWuthuQhyCvmvj0j6At8JbGzkSv2fc2RHU,4384
68
- gam7-7.5.8.dist-info/METADATA,sha256=-OkLrGYNkIVLlvYWhfcghqK3u_u2TWhEfgO1kg3YWHs,2888
69
- gam7-7.5.8.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
70
- gam7-7.5.8.dist-info/entry_points.txt,sha256=HVUM5J7dA8YwvJfG30jiLefR19ExMs387TWugWd9sf4,42
71
- gam7-7.5.8.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
72
- gam7-7.5.8.dist-info/RECORD,,
68
+ gam7-7.5.11.dist-info/METADATA,sha256=XzuFD5rY8lPikiu5vDH75M-DTjfkCVGTxSjKjoH5br0,2889
69
+ gam7-7.5.11.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
70
+ gam7-7.5.11.dist-info/entry_points.txt,sha256=HVUM5J7dA8YwvJfG30jiLefR19ExMs387TWugWd9sf4,42
71
+ gam7-7.5.11.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
72
+ gam7-7.5.11.dist-info/RECORD,,
File without changes