gam7 7.5.8__tar.gz → 7.5.11__tar.gz
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.
- {gam7-7.5.8 → gam7-7.5.11}/PKG-INFO +1 -1
- {gam7-7.5.8 → gam7-7.5.11}/src/GamCommands.txt +4 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/GamUpdate.txt +22 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/__init__.py +15 -5
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gamlib/glskus.py +8 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/googleapiclient/version.py +1 -1
- {gam7-7.5.8 → gam7-7.5.11}/.github/ISSUE_TEMPLATE/aa-question.md +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/.github/ISSUE_TEMPLATE/za-bug-report.md +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/.github/ISSUE_TEMPLATE/zz-feature-request.md +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/.github/ISSUE_TEMPLATE.txt +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/.github/actions/creds.tar.xz.gpg +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/.github/actions/decrypt.sh +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/.github/actions/entitlements.plist +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/.github/actions/package_exclusions.txt +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/.github/stale.yml +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/.github/workflows/build.yml +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/.github/workflows/codeql-analysis.yml +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/.github/workflows/get-cacerts.yml +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/.github/workflows/pypi.yml +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/.pre-commit-config.yaml +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/LICENSE +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/README.md +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/pyproject.toml +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/.gitignore +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/LICENSE +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/cacerts.pem +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/callgam.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/__main__.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/atom/__init__.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/atom/auth.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/atom/client.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/atom/core.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/atom/data.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/atom/http.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/atom/http_core.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/atom/http_interface.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/atom/mock_http.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/atom/mock_http_core.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/atom/mock_service.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/atom/service.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/atom/token_store.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/atom/url.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/cacerts.pem +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/cbcm-v1.1beta1.json +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/contactdelegation-v1.json +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/datastudio-v1.json +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gamlib/__init__.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gamlib/glaction.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gamlib/glapi.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gamlib/glcfg.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gamlib/glclargs.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gamlib/glentity.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gamlib/glgapi.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gamlib/glgdata.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gamlib/glglobals.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gamlib/glindent.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gamlib/glmsgs.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gamlib/gluprop.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gamlib/glverlibs.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gamlib/yubikey.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gdata/__init__.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gdata/alt/__init__.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gdata/alt/app_engine.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gdata/alt/appengine.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gdata/apps/__init__.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gdata/apps/audit/__init__.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gdata/apps/audit/service.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gdata/apps/contacts/__init__.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gdata/apps/contacts/service.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gdata/apps/service.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gdata/service.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/gdata/urlfetch.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/googleapiclient/__init__.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/googleapiclient/_auth.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/googleapiclient/_helpers.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/googleapiclient/channel.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/googleapiclient/discovery.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/googleapiclient/discovery_cache/__init__.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/googleapiclient/discovery_cache/appengine_memcache.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/googleapiclient/discovery_cache/base.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/googleapiclient/discovery_cache/file_cache.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/googleapiclient/errors.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/googleapiclient/http.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/googleapiclient/mimeparse.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/googleapiclient/model.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/googleapiclient/schema.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/iso8601/__init__.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/iso8601/iso8601.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/meet-v2beta.json +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/serviceaccountlookup-v1.json +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam/six.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam-install.sh +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam-setup.bat +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam.exe.manifest +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam.spec +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/gam.wxs +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/license.rtf +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/project-apis.txt +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/requirements-dev.txt +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/requirements.txt +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/setup.cfg +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/setup.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/tools/a_atleast_b.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/tools/gen-wix-xml-filelist.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/tools/mkGamRef.py +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/tools/openssl.props +0 -0
- {gam7-7.5.8 → gam7-7.5.11}/src/version_info.txt.in +0 -0
|
@@ -281,11 +281,15 @@ If an item contains spaces, it should be surrounded by ".
|
|
|
281
281
|
gsuitebasic | gafb | gafw | basic | Google-Apps-For-Business |
|
|
282
282
|
gsuitebusiness | gau | gsb | unlimited | Google-Apps-Unlimited |
|
|
283
283
|
gsuitebusinessarchived | gsbau | businessarchived | 1010340002 | Google Workspace Business - Archived User |
|
|
284
|
+
gsuiteedu | gafe | gsuiteeducation | Google-Apps-For-Education |
|
|
284
285
|
gsuiteenterprisearchived | gseau | enterprisearchived | 1010340001 | Google Workspace Enterprise Plus - Archived User |
|
|
285
286
|
gsuiteenterpriseeducation | gsefe | e4e | 1010310002 | Google Workspace for Education Plus - Legacy |
|
|
286
287
|
gsuiteenterpriseeducationstudent | gsefes | e4es | 1010310003 | Google Workspace for Education Plus - Legacy (Student) |
|
|
287
288
|
gsuitegov | gafg | gsuitegovernment | Google-Apps-For-Government |
|
|
288
289
|
gsuitelite | gal | gsl | lite | Google-Apps-Lite |
|
|
290
|
+
gwef | workspaceeducationfundamentals | 1010070001 | Google Workspace for Education Fundamentals |
|
|
291
|
+
gwefau | gwefarchived | workspaceeducationfundamentalsarchived | 1010340007 | Google Workspace for Education Fundamentals - Archived User |
|
|
292
|
+
gwegmo | workspaceeducationgmailonly | 1010070004 | Google Workspace for Education Gmail Only |
|
|
289
293
|
gwep | workspaceeducationplus | 1010310008 | Google Workspace for Education Plus |
|
|
290
294
|
gwepstaff | workspaceeducationplusstaff | 1010310009 | Google Workspace for Education Plus (Staff) |
|
|
291
295
|
gwepstudent | workspaceeducationplusstudent | 1010310010 | Google Workspace for Education Plus (Extra Student)|
|
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
7.05.11
|
|
2
|
+
|
|
3
|
+
Added the following License SKUs:
|
|
4
|
+
```
|
|
5
|
+
ProductId SKUId Display Name
|
|
6
|
+
Google-Apps 1010070001 Google Workspace for Education Fundamentals
|
|
7
|
+
Google-Apps 1010070004 Google Workspace for Education Gmail Only
|
|
8
|
+
101034 1010340007 Google Workspace for Education Fundamentals - Archived User
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
7.05.10
|
|
12
|
+
|
|
13
|
+
Updated various chat space commands to handle the following error:
|
|
14
|
+
```
|
|
15
|
+
ERROR: 503: serviceNotAvailable - The service is currently unavailable
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
7.05.09
|
|
19
|
+
|
|
20
|
+
Fixed bug in `gam calendars <CalendarEntity> print events matchfield attendeesstatus required accepted resource_calendar@resource.calendar.google.com`
|
|
21
|
+
that caused a trap.
|
|
22
|
+
|
|
1
23
|
7.05.08
|
|
2
24
|
|
|
3
25
|
Added error message to `gam report` commands to indicate forbidden access;
|
|
@@ -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.
|
|
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:
|
|
@@ -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',
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|