mirror of
https://github.com/GAM-team/GAM.git
synced 2026-06-28 09:51:36 +00:00
Classification labels are now available for Gmail in addition to Drive.
This commit is contained in:
@@ -379,6 +379,11 @@ If an item contains spaces, it should be surrounded by ".
|
||||
<GIGroupItem> ::= <EmailAddress>|<UniqueID>|groups/<String>
|
||||
<CIGroupType> ::= customer|group|other|serviceaccount|user
|
||||
<CIPolicyName> ::= policies/<String>|settings/<String>|<String>
|
||||
<ClassificationLabelID> ::= <String>
|
||||
<ClassificationLabelFieldID> ::= <String>
|
||||
<ClassificationLabelSelectionID> ::= <String>
|
||||
<ClassificationLabelName> ::= labels/<ClassificationLabelID>[@latest|@published|@<Number>]
|
||||
<ClassificationLabelPermissionName> ::= labels/<ClassificationLabelID>[@latest|@published|@<Number>]/permissions/(audiences|groups|people)/<String>
|
||||
<ClassroomInvitationID> ::= <String>
|
||||
<ClientID> ::= <String>
|
||||
<CommandID> ::= <String>
|
||||
@@ -448,11 +453,6 @@ If an item contains spaces, it should be surrounded by ".
|
||||
<DriveFilePermissionID> ::= anyone|anyonewithlink|id:<String>
|
||||
<DriveFilePermissionIDorEmail> ::= <DriveFilePermissionID>|<EmailAddress>
|
||||
<DriveFileRevisionID> ::= <String>
|
||||
<DriveLabelID> ::= <String>
|
||||
<DriveLabelFieldID> ::= <String>
|
||||
<DriveLabelSelectionID> ::= <String>
|
||||
<DriveLabelName> ::= labels/<DriveLabelID>[@latest|@published|@<Number>]
|
||||
<DriveLabelPermissionName> ::= labels/<DriveLabelID>[@latest|@published|@<Number>]/permissions/(audiences|groups|people)/<String>
|
||||
<EmailAddress> ::= <String>@<DomainName>
|
||||
<EmailItem> ::= <EmailAddress>|<UniqueID>|<String>
|
||||
<EmailReplacement> ::= <String>
|
||||
@@ -694,11 +694,6 @@ If an item contains spaces, it should be surrounded by ".
|
||||
<DriveFileRevisionIDList> ::= "<DriveFileRevisionID>(,<DriveFileRevisionID>)*"
|
||||
<DriveFolderIDList> ::= "<DriveFolderID>(,<DriveFolderID>)*"
|
||||
<DriveFolderNameList> ::= "<DriveFolderName>(,<DriveFolderName>)*"
|
||||
<DriveLabelIDList> ::= "<DriveLabelID>(,<DriveLabelID>)*"
|
||||
<DriveLabelNameList> ::= "<DriveLabelName>(,<DriveLabelName>)*"
|
||||
<DriveLabelPermissionNameList> ::= "<DriveLabelPermissionName>(,<DriveLabelPermissionName>)*"
|
||||
<DriveLabelFieldIDList> ::= "<DriveLabelFieldID>(,<DriveLabelFieldID>)*"
|
||||
<DriveLabelSelectionIDList> ::= "<DriveLabelSelectionID>(,<DriveLabelSelectionID>)*"
|
||||
<EmailAddressList> ::= "<EmailAddress>(,<EmailAddress>)*"
|
||||
<EmailItemList> ::= "<EmailItem>(,<EmailItem>)*"
|
||||
<EventIDList> ::= "<EventID>(,<EventID>)*"
|
||||
@@ -1004,6 +999,10 @@ Specify a collection of items by directly specifying them; the item type is dete
|
||||
<CalendarList> | <FileSelector> | <CSVFileSelector> | <CSVkmdSelector> | <CSVDataSelector>
|
||||
<CIPolicyNameEntity> ::=
|
||||
<CIPolicyNameList> | <FileSelector> | <CSVFileSelector>
|
||||
<ClassificationLabelNameEntity> ::=
|
||||
<ClassificationLabelNameList> | <FileSelector> | <CSVFileSelector> | <CSVDataSelector>
|
||||
<ClassificationLabelPermissionNameEntity> ::=
|
||||
<ClassificationLabelPermissionNameList> | <FileSelector> | <CSVFileSelector> | <CSVDataSelector>
|
||||
<ClassroomInvitationIDEntity> ::=
|
||||
<ClassroomInvitationIDList> | <FileSelector> | <CSVFileSelector> | <CSVkmdSelector> | <CSVDataSelector>
|
||||
<ContactEntity> ::=
|
||||
@@ -1127,10 +1126,6 @@ Specify a collection of items by directly specifying them; the item type is dete
|
||||
(first|last|allexceptfirst|allexceptlast <Number>)|
|
||||
(before|after <Time>) | (range <Time> <Time>)|
|
||||
<FileSelector> | <CSVFileSelector> | <CSVkmdSelector> | <CSVDataSelector>
|
||||
<DriveLabelNameEntity> ::=
|
||||
<DriveLabelNameList> | <FileSelector> | <CSVFileSelector> | <CSVDataSelector>
|
||||
<DriveLabelPermissionNameEntity> ::=
|
||||
<DriveLabelPermissionNameList> | <FileSelector> | <CSVFileSelector> | <CSVDataSelector>
|
||||
<EmailAddressEntity> ::=
|
||||
<EmailAddressList> | <FileSelector> | <CSVFileSelector> | <CSVkmdSelector> | <CSVDataSelector>
|
||||
<FilterIDEntity> ::=
|
||||
@@ -2707,6 +2702,35 @@ gam print chromesnvalidity [todrive <ToDriveAttribute>*]
|
||||
cros_sn <SerialNumberEntity> [listlimit <Number>]
|
||||
[delimiter <Character>]
|
||||
|
||||
# Classification Labels
|
||||
|
||||
gam [<UserTypeEntity>] info classificationlabels <ClassificationLabelNameEntity>
|
||||
[[basic|full] [languagecode <LanguageCode>]
|
||||
[formatjson] [adminaccess|asadmin]
|
||||
gam [<UserTypeEntity>] print classificationlabels [todrive <ToDriveAttribute>*]
|
||||
[basic|full] [languagecode <LanguageCode>]
|
||||
[publishedonly [<Boolean>]] [minimumrole applier|editor|organizer|reader]
|
||||
[formatjson [quotechar <Character>]] [adminaccess|asadmin]
|
||||
gam [<UserTypeEntity>] show classificationlabels
|
||||
[basic|full] [languagecode <LanguageCode>]
|
||||
[publishedonly [<Boolean>]] [minimumrole applier|editor|organizer|reader]
|
||||
[formatjson] [adminaccess|asadmin]
|
||||
`
|
||||
gam [<UserTypeEntity>] create classificationlabelpermission <ClassificationLabelNameEntity>
|
||||
(user <UserItem>) | (group <GroupItem>) | (audience <String>)
|
||||
role applier|editor|organizer|reader
|
||||
[formatjson] [adminaccess|asadmin]
|
||||
gam [<UserTypeEntity>] delete classificationlabelpermission <ClassificationLabelNameEntity>
|
||||
(user <UserItem>) | (group <GroupItem>) | (audience <String>)
|
||||
[adminaccess|asadmin]
|
||||
gam [<UserTypeEntity>] remove classificationlabelpermission <ClassificationLabelPermissionNameEntity>
|
||||
[adminaccess|asadmin]
|
||||
|
||||
gam [<UserTypeEntity>] print classificationlabelpermissions <ClassificationLabelNameEntity> [todrive <ToDriveAttribute>*]
|
||||
[formatjson [quotechar <Character>]] [adminaccess|asadmin]
|
||||
gam [<UserTypeEntity>] show classificationlabelpermissions <ClassificationLabelNameEntity>
|
||||
[formatjson] [adminaccess|asadmin]
|
||||
|
||||
# Context Aware Access
|
||||
|
||||
<QueryCEL> ::= <String>
|
||||
@@ -3534,35 +3558,6 @@ gam show people|peopleprofile
|
||||
[allfields|(fields <PeopleFieldNameList>)] [showmetadata]
|
||||
[formatjson]
|
||||
|
||||
# Drive Labels
|
||||
|
||||
gam [<UserTypeEntity>] info drivelabels <DriveLabelNameEntity>
|
||||
[[basic|full] [languagecode <LanguageCode>]
|
||||
[formatjson] [adminaccess|asadmin]
|
||||
gam [<UserTypeEntity>] print drivelabels [todrive <ToDriveAttribute>*]
|
||||
[basic|full] [languagecode <LanguageCode>]
|
||||
[publishedonly [<Boolean>]] [minimumrole applier|editor|organizer|reader]
|
||||
[formatjson [quotechar <Character>]] [adminaccess|asadmin]
|
||||
gam [<UserTypeEntity>] show drivelabels
|
||||
[basic|full] [languagecode <LanguageCode>]
|
||||
[publishedonly [<Boolean>]] [minimumrole applier|editor|organizer|reader]
|
||||
[formatjson] [adminaccess|asadmin]
|
||||
`
|
||||
gam [<UserTypeEntity>] create drivelabelpermission <DriveLabelNameEntity>
|
||||
(user <UserItem>) | (group <GroupItem>) | (audience <String>)
|
||||
role applier|editor|organizer|reader
|
||||
[formatjson] [adminaccess|asadmin]
|
||||
gam [<UserTypeEntity>] delete drivelabelpermission <DriveLabelNameEntity>
|
||||
(user <UserItem>) | (group <GroupItem>) | (audience <String>)
|
||||
[adminaccess|asadmin]
|
||||
gam [<UserTypeEntity>] remove drivelabelpermission <DriveLabelPermissionNameEntity>
|
||||
[adminaccess|asadmin]
|
||||
|
||||
gam [<UserTypeEntity>] print drivelabelpermissions <DriveLabelNameEntity> [todrive <ToDriveAttribute>*]
|
||||
[formatjson [quotechar <Character>]] [adminaccess|asadmin]
|
||||
gam [<UserTypeEntity>] show drivelabelpermissions <DriveLabelNameEntity>
|
||||
[formatjson] [adminaccess|asadmin]
|
||||
|
||||
# Email Audit Monitor
|
||||
|
||||
gam audit monitor create <EmailAddress> <DestEmailAddress> [begin <DateTime>] [end <DateTime>]
|
||||
@@ -6564,7 +6559,7 @@ gam <UserTypeEntity> info drivefile <DriveFileEntity>
|
||||
[allfields|<DriveFieldName>*|(fields <DriveFieldNameList>)]
|
||||
(orderby <DriveFileOrderByFieldName> [ascending|descending])*
|
||||
[showdrivename] [showshareddrivepermissions]
|
||||
[(showlabels details|ids)|(includelabels <DriveLabelIDList>)]
|
||||
[(showlabels details|ids)|(includelabels <ClassificationLabelIDList>)]
|
||||
[showparentsidsaslist] [followshortcuts [<Boolean>]]
|
||||
[stripcrsfromname]
|
||||
[formatjson]
|
||||
@@ -6668,26 +6663,13 @@ gam <UserTypeEntity> create|add permissions <DriveFileEntity> <DriveFilePermissi
|
||||
gam <UserTypeEntity> delete permissions <DriveFileEntity> <DriveFilePermissionIDEntity>
|
||||
<PermissionMatch>* [<PermissionMatchAction>]
|
||||
|
||||
gam [<UserTypeEntity>] info drivelabels <DriveLabelNameEntity>
|
||||
[[basic|full] [languagecode <BCP47LanguageCode>]
|
||||
[formatjson] [adminaccess|asadmin]
|
||||
|
||||
gam [<UserTypeEntity>] print <drivelabels> [todrive <ToDriveAttribute>*]
|
||||
[basic|full] [languagecode <BCP47LanguageCode>]
|
||||
[publishedonly [<Boolean>]] [minimumrole applier|editor|organizer|reader]
|
||||
[formatjson [quotechar <Character>]] [adminaccess|asadmin]
|
||||
gam [<UserTypeEntity>] show drivelabels
|
||||
[basic|full] [languagecode <BCP47LanguageCode>]
|
||||
[publishedonly [<Boolean>]] [minimumrole applier|editor|organizer|reader]
|
||||
[formatjson] [adminaccess|asadmin]
|
||||
|
||||
gam <UserTypeEntity> process filedrivelabels <DriveFileEntity>
|
||||
(addlabel <DriveLabelIDList>)*
|
||||
(deletelabel <DriveLabelIDList>)*
|
||||
(addlabelfield <DriveLabelID> <DriveLabelFieldID>
|
||||
(text <String>)|selection <DriveLabelSelectionIDList>)|
|
||||
(addlabel <ClassificationLabelIDList>)*
|
||||
(deletelabel <ClassificationLabelIDList>)*
|
||||
(addlabelfield <ClassificationLabelID> <ClassificationLabelFieldID>
|
||||
(text <String>)|selection <ClassificationLabelSelectionIDList>)|
|
||||
(integer <Number>)|(date <Date>)|(user <EmailAddressList>))*
|
||||
(deletelabelfield <DriveLabelID> <DriveLabelFieldID>)*
|
||||
(deletelabelfield <ClassificationLabelID> <ClassificationLabelFieldID>)*
|
||||
[nodetails]
|
||||
|
||||
gam show ownership <DriveFileID>|(drivefilename <DriveFileName>)
|
||||
@@ -6873,12 +6855,12 @@ gam <UserTypeEntity> collect orphans
|
||||
contentrestrictions.restrictiontime|
|
||||
contentrestrictions.type
|
||||
|
||||
<DriveLabelInfoSubfieldName> ::=
|
||||
<ClassificationLabelInfoSubfieldName> ::=
|
||||
labels.id| # modifiedByMe
|
||||
labels.revisionid| # copyRequiresWriterPermission
|
||||
labels.fields # viewedByMe
|
||||
|
||||
<DriveLabelsSubfieldName> ::=
|
||||
<ClassificationLabelsSubfieldName> ::=
|
||||
labels.modified| # modifiedByMe
|
||||
labels.restricted| # copyRequiresWriterPermission
|
||||
labels.starred| # starred
|
||||
@@ -6984,9 +6966,9 @@ gam <UserTypeEntity> collect orphans
|
||||
inheritedpermissionsdisabled|
|
||||
isappauthorized|
|
||||
labelinfo|
|
||||
<DriveLabelInfoSubfieldName>|
|
||||
<ClassificationLabelInfoSubfieldName>|
|
||||
labels|
|
||||
<DriveLabelsSubfieldName>|
|
||||
<ClassificationLabelsSubfieldName>|
|
||||
lastmodifyinguser|
|
||||
<DriveLastModifyingUserSubfieldName>|
|
||||
lastmodifyingusername|
|
||||
@@ -7050,7 +7032,7 @@ gam <UserTypeEntity> show fileinfo <DriveFileEntity>
|
||||
[allfields|<DriveFieldName>*|(fields <DriveFieldNameList>)]
|
||||
(orderby <DriveFileOrderByFieldName> [ascending|descending])*
|
||||
[showdrivename] [showshareddrivepermissions]
|
||||
[(showlabels details|ids)|(includelabels <DriveLabelIDList>)]
|
||||
[(showlabels details|ids)|(includelabels <ClassificationLabelIDList>)]
|
||||
[showparentsidsaslist] [followshortcuts [<Boolean>]]
|
||||
[stripcrsfromname]
|
||||
[formatjson]
|
||||
@@ -7166,7 +7148,7 @@ gam <UserTypeEntity> print filelist [todrive <ToDriveAttribute>*]
|
||||
[filepath|fullpath [folderpathonly [<Boolean>]] [pathdelimiter <Character>] [addpathstojson] [showdepth]] [buildtree]
|
||||
[allfields|<DriveFieldName>*|(fields <DriveFieldNameList>)]
|
||||
[showdrivename] [showshareddrivepermissions]
|
||||
[(showlabels details|ids)|(includelabels <DriveLabelIDList>)]
|
||||
[(showlabels details|ids)|(includelabels <ClassificationLabelIDList>)]
|
||||
[showparentsidsaslist] [showpermissionslast]
|
||||
(orderby <DriveFileOrderByFieldName> [ascending|descending])* [delimiter <Character>]
|
||||
[stripcrsfromname]
|
||||
|
||||
@@ -1,3 +1,21 @@
|
||||
7.00.35
|
||||
|
||||
Classification labels are now available for Gmail in addition to Drive.
|
||||
|
||||
* See: https://workspaceupdates.googleblog.com/2024/11/open-beta-data-classification-labels-gmail.html
|
||||
|
||||
The following command synonyms are available, there is no change in functionality:
|
||||
```
|
||||
gam [<UserTypeEntity>] info classificationlabels|drivelabels
|
||||
gam [<UserTypeEntity>] print classificationlabels|drivelabels
|
||||
gam [<UserTypeEntity>] show classificationlabels|drivelabels
|
||||
gam [<UserTypeEntity>] create classificationlabelpermission|drivelabelpermission
|
||||
gam [<UserTypeEntity>] delete classificationlabelpermission|drivelabelpermission
|
||||
gam [<UserTypeEntity>] remove classificationlabelpermission|drivelabelpermission
|
||||
gam [<UserTypeEntity>] print classificationlabelpermissions|drivelabelpermission
|
||||
gam [<UserTypeEntity>] show classificationlabelpermissions|drivelabelpermission
|
||||
```
|
||||
|
||||
7.00.34
|
||||
|
||||
Fixed bug introduced in 7.00.33 in `gam print group-members` that caused a trap.
|
||||
|
||||
@@ -25,7 +25,7 @@ https://github.com/GAM-team/GAM/wiki
|
||||
"""
|
||||
|
||||
__author__ = 'GAM Team <google-apps-manager@googlegroups.com>'
|
||||
__version__ = '7.00.34'
|
||||
__version__ = '7.00.35'
|
||||
__license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
|
||||
|
||||
#pylint: disable=wrong-import-position
|
||||
@@ -35214,7 +35214,7 @@ def doInfoCIPolicies():
|
||||
printGettingAllAccountEntities(Ent.POLICY, ifilter)
|
||||
policies = _filterPolicies(ci, getPageMessage(), ifilter)
|
||||
_showPolicies(policies, FJQC, add_warnings, no_appnames, cd, groups_ci)
|
||||
|
||||
|
||||
# gam print policies [todrive <ToDriveAttribute>*]
|
||||
# [filter <String>] [nowarnings] [noappnames]
|
||||
# [formatjson [quotechar <Character>]]
|
||||
@@ -53831,7 +53831,7 @@ class DriveFileFields():
|
||||
else:
|
||||
_getDriveFieldSubField(field, self.fieldsList, self.parentsSubFields)
|
||||
elif myarg == 'includelabels':
|
||||
labelIds = getEntityList(Cmd.OB_DRIVE_LABEL_ID, shlexSplit=True)
|
||||
labelIds = getEntityList(Cmd.OB_CLASSIFICATION_LABEL_ID, shlexSplit=True)
|
||||
for labelId in labelIds:
|
||||
self.includeLabels.append(normalizeDriveLabelID(labelId))
|
||||
elif myarg.find('.') != -1:
|
||||
@@ -63842,16 +63842,16 @@ def _showDriveLabel(label, j, jcount, FJQC):
|
||||
if FJQC.formatJSON:
|
||||
printLine(json.dumps(cleanJSON(label, timeObjects=DRIVELABELS_TIME_OBJECTS), ensure_ascii=False, sort_keys=True))
|
||||
return
|
||||
printEntity([Ent.DRIVE_LABEL_NAME, f'{label["name"]}'], j, jcount)
|
||||
printEntity([Ent.CLASSIFICATION_LABEL_NAME, f'{label["name"]}'], j, jcount)
|
||||
Ind.Increment()
|
||||
showJSON(None, label, timeObjects=DRIVELABELS_TIME_OBJECTS, dictObjectsKey={'fields': 'id', 'choices': 'id'})
|
||||
Ind.Decrement()
|
||||
|
||||
# gam [<UserTypeEntity>] info drivelabels <DriveLabelNameEntity>
|
||||
# gam [<UserTypeEntity>] info classificationlabels <ClassificationLabelNameEntity>
|
||||
# [[basic|full] [languagecode <BCP47LanguageCode>]
|
||||
# [formatjson] [asadmin]
|
||||
def infoDriveLabels(users, useAdminAccess=False):
|
||||
driveLabelNameEntity = getUserObjectEntity(Cmd.OB_DRIVE_LABEL_NAME, Ent.DRIVE_LABEL, shlexSplit=True)
|
||||
driveLabelNameEntity = getUserObjectEntity(Cmd.OB_CLASSIFICATION_LABEL_NAME, Ent.CLASSIFICATION_LABEL, shlexSplit=True)
|
||||
FJQC = FormatJSONQuoteChar()
|
||||
parameters = {'useAdminAccess': useAdminAccess}
|
||||
while Cmd.ArgumentsRemaining():
|
||||
@@ -63872,7 +63872,7 @@ def infoDriveLabels(users, useAdminAccess=False):
|
||||
j = 0
|
||||
for name in labelNames:
|
||||
j += 1
|
||||
kvList = [Ent.USER, user, Ent.DRIVE_LABEL_NAME, name]
|
||||
kvList = [Ent.USER, user, Ent.CLASSIFICATION_LABEL_NAME, name]
|
||||
name = validateDriveLabelName(name, kvList, j, jcount, False)
|
||||
if name is None:
|
||||
continue
|
||||
@@ -63896,11 +63896,11 @@ def infoDriveLabels(users, useAdminAccess=False):
|
||||
def doInfoDriveLabels():
|
||||
infoDriveLabels([_getAdminEmail()], True)
|
||||
|
||||
# gam [<UserTypeEntity>] print drivelabels> [todrive <ToDriveAttribute>*]
|
||||
# gam [<UserTypeEntity>] print classificationlabels> [todrive <ToDriveAttribute>*]
|
||||
# [basic|full] [languagecode <BCP47LanguageCode>]
|
||||
# [publishedonly [<Boolean>]] [minimumrole applier|editor|organizer|reader]
|
||||
# [formatjson [quotechar <Character>]] [asadmin]
|
||||
# gam [<UserTypeEntity>] show drivelabels
|
||||
# gam [<UserTypeEntity>] show classificationlabels
|
||||
# [basic|full] [languagecode <BCP47LanguageCode>]
|
||||
# [publishedonly [<Boolean>]] [minimumrole applier|editor|organizer|reader]
|
||||
# [formatjson] [asadmin]
|
||||
@@ -63926,7 +63926,7 @@ def printShowDriveLabels(users, useAdminAccess=False):
|
||||
if not drive:
|
||||
continue
|
||||
if csvPF:
|
||||
printGettingAllEntityItemsForWhom(Ent.DRIVE_LABEL, user, i, count)
|
||||
printGettingAllEntityItemsForWhom(Ent.CLASSIFICATION_LABEL, user, i, count)
|
||||
pageMessage = getPageMessageForWhom()
|
||||
else:
|
||||
pageMessage = None
|
||||
@@ -63938,7 +63938,7 @@ def printShowDriveLabels(users, useAdminAccess=False):
|
||||
if not csvPF:
|
||||
jcount = len(labels)
|
||||
if not FJQC.formatJSON:
|
||||
entityPerformActionNumItems([Ent.USER, user], jcount, Ent.DRIVE_LABEL, i, count)
|
||||
entityPerformActionNumItems([Ent.USER, user], jcount, Ent.CLASSIFICATION_LABEL, i, count)
|
||||
Ind.Increment()
|
||||
j = 0
|
||||
for label in labels:
|
||||
@@ -63956,11 +63956,11 @@ def printShowDriveLabels(users, useAdminAccess=False):
|
||||
ensure_ascii=False, sort_keys=True)
|
||||
csvPF.WriteRowNoFilter(row)
|
||||
except GAPI.permissionDenied as e:
|
||||
entityActionFailedWarning([Ent.USER, user, Ent.DRIVE_LABEL, None], str(e), i, count)
|
||||
entityActionFailedWarning([Ent.USER, user, Ent.CLASSIFICATION_LABEL, None], str(e), i, count)
|
||||
except (GAPI.serviceNotAvailable, GAPI.authError, GAPI.domainPolicy) as e:
|
||||
userSvcNotApplicableOrDriveDisabled(user, str(e), i, count)
|
||||
if csvPF:
|
||||
csvPF.writeCSVfile('Drive Labels')
|
||||
csvPF.writeCSVfile('Classification Labels')
|
||||
|
||||
def doPrintShowDriveLabels():
|
||||
printShowDriveLabels([_getAdminEmail()], True)
|
||||
@@ -63969,17 +63969,17 @@ def _showDriveLabelPermission(labelperm, j, jcount, FJQC):
|
||||
if FJQC.formatJSON:
|
||||
printLine(json.dumps(cleanJSON(labelperm), ensure_ascii=False, sort_keys=True))
|
||||
return
|
||||
printEntity([Ent.DRIVE_LABEL_PERMISSION_NAME, f'{labelperm["name"]}'], j, jcount)
|
||||
printEntity([Ent.CLASSIFICATION_LABEL_PERMISSION_NAME, f'{labelperm["name"]}'], j, jcount)
|
||||
Ind.Increment()
|
||||
showJSON(None, labelperm)
|
||||
Ind.Decrement()
|
||||
|
||||
# gam [<UserTypeEntity>] create drivelabelpermission <DriveLabelNameEntity>
|
||||
# gam [<UserTypeEntity>] create classificationlabelpermission <ClassificationLabelNameEntity>
|
||||
# (user <UserItem>) | (group <GroupItem) | (audience <String>)
|
||||
# role applier|editor|organizer|reader
|
||||
# [nodetails|formatjson] [asadmin]
|
||||
def createDriveLabelPermissions(users, useAdminAccess=False):
|
||||
driveLabelNameEntity = getUserObjectEntity(Cmd.OB_DRIVE_LABEL_NAME, Ent.DRIVE_LABEL_PERMISSION, shlexSplit=True)
|
||||
driveLabelNameEntity = getUserObjectEntity(Cmd.OB_CLASSIFICATION_LABEL_NAME, Ent.CLASSIFICATION_LABEL_PERMISSION, shlexSplit=True)
|
||||
FJQC = FormatJSONQuoteChar()
|
||||
parameters = {'useAdminAccess': useAdminAccess}
|
||||
body = {}
|
||||
@@ -64021,7 +64021,7 @@ def createDriveLabelPermissions(users, useAdminAccess=False):
|
||||
j = 0
|
||||
for name in labelNames:
|
||||
j += 1
|
||||
kvList = [Ent.USER, user, Ent.DRIVE_LABEL_NAME, name, Ent.DRIVE_LABEL_PERMISSION, None]
|
||||
kvList = [Ent.USER, user, Ent.CLASSIFICATION_LABEL_NAME, name, Ent.CLASSIFICATION_LABEL_PERMISSION, None]
|
||||
name = validateDriveLabelName(name, kvList, j, jcount, False)
|
||||
if name is None:
|
||||
continue
|
||||
@@ -64031,7 +64031,7 @@ def createDriveLabelPermissions(users, useAdminAccess=False):
|
||||
throwReasons=GAPI.DRIVE_USER_THROW_REASONS+[GAPI.PERMISSION_DENIED, GAPI.NOT_FOUND,
|
||||
GAPI.INVALID, GAPI.INTERNAL_ERROR],
|
||||
parent=name, body=body, **parameters)
|
||||
kvList = [Ent.USER, user, Ent.DRIVE_LABEL_PERMISSION, labelperm['name']]
|
||||
kvList = [Ent.USER, user, Ent.CLASSIFICATION_LABEL_PERMISSION, labelperm['name']]
|
||||
if not FJQC.formatJSON:
|
||||
entityActionPerformed(kvList, j, jcount)
|
||||
if showDetails:
|
||||
@@ -64048,17 +64048,17 @@ def createDriveLabelPermissions(users, useAdminAccess=False):
|
||||
def doCreateDriveLabelPermissions():
|
||||
createDriveLabelPermissions([_getAdminEmail()], True)
|
||||
|
||||
# gam [<UserTypeEntity>] delete drivelabelpermission <DriveLabelNameEntity>
|
||||
# gam [<UserTypeEntity>] delete classificationlabelpermission <ClassificationLabelNameEntity>
|
||||
# (user <UserItem>) | (group <GroupItem) | (audience <String>)
|
||||
# [asadmin]
|
||||
# gam [<UserTypeEntity>] remove drivelabelpermission <DriveLabelPermissionNameEntity>
|
||||
# gam [<UserTypeEntity>] remove classificationlabelpermission <ClassificationLabelPermissionNameEntity>
|
||||
# [asadmin]
|
||||
def deleteDriveLabelPermissions(users, useAdminAccess=False):
|
||||
doDelete = Act.Get() == Act.DELETE
|
||||
if doDelete:
|
||||
driveLabelNameEntity = getUserObjectEntity(Cmd.OB_DRIVE_LABEL_NAME, Ent.DRIVE_LABEL, shlexSplit=True)
|
||||
driveLabelNameEntity = getUserObjectEntity(Cmd.OB_CLASSIFICATION_LABEL_NAME, Ent.CLASSIFICATION_LABEL, shlexSplit=True)
|
||||
else:
|
||||
driveLabelNameEntity = getUserObjectEntity(Cmd.OB_DRIVE_LABEL_PERMISSION_NAME, Ent.DRIVE_LABEL_PERMISSION, shlexSplit=True)
|
||||
driveLabelNameEntity = getUserObjectEntity(Cmd.OB_CLASSIFICATION_LABEL_PERMISSION_NAME, Ent.CLASSIFICATION_LABEL_PERMISSION, shlexSplit=True)
|
||||
parameters = {'useAdminAccess': useAdminAccess, 'requests': [None]}
|
||||
labelperm = ''
|
||||
while Cmd.ArgumentsRemaining():
|
||||
@@ -64088,7 +64088,7 @@ def deleteDriveLabelPermissions(users, useAdminAccess=False):
|
||||
j = 0
|
||||
for name in labelPermNames:
|
||||
j += 1
|
||||
kvList = [Ent.USER, user, Ent.DRIVE_LABEL_PERMISSION_NAME, name]
|
||||
kvList = [Ent.USER, user, Ent.CLASSIFICATION_LABEL_PERMISSION_NAME, name]
|
||||
if doDelete:
|
||||
parent = validateDriveLabelName(name, kvList, j, jcount, False)
|
||||
if parent is None:
|
||||
@@ -64115,13 +64115,13 @@ def deleteDriveLabelPermissions(users, useAdminAccess=False):
|
||||
def doDeleteDriveLabelPermissions():
|
||||
deleteDriveLabelPermissions([_getAdminEmail()], True)
|
||||
|
||||
# gam [<UserTypeEntity>] print drivelabelpermissions <DriveLabelNameEntity> [todrive <ToDriveAttribute>*]
|
||||
# gam [<UserTypeEntity>] print classificationlabelpermissions <ClassificationLabelNameEntity> [todrive <ToDriveAttribute>*]
|
||||
# [formatjson [quotechar <Character>]] [asadmin]
|
||||
# gam [<UserTypeEntity>] show drivelabelpermissions <DriveLabelNameEntity>
|
||||
# gam [<UserTypeEntity>] show classificationlabelpermissions <ClassificationLabelNameEntity>
|
||||
# [formatjson] [asadmin]
|
||||
def printShowDriveLabelPermissions(users, useAdminAccess=False):
|
||||
csvPF = CSVPrintFile(['User', 'name', 'email', 'role', 'person', 'group', 'audience'], 'sortall') if Act.csvFormat() else None
|
||||
driveLabelNameEntity = getUserObjectEntity(Cmd.OB_DRIVE_LABEL_NAME, Ent.DRIVE_LABEL_PERMISSION, shlexSplit=True)
|
||||
driveLabelNameEntity = getUserObjectEntity(Cmd.OB_CLASSIFICATION_LABEL_NAME, Ent.CLASSIFICATION_LABEL_PERMISSION, shlexSplit=True)
|
||||
FJQC = FormatJSONQuoteChar(csvPF)
|
||||
parameters = {'useAdminAccess': useAdminAccess}
|
||||
while Cmd.ArgumentsRemaining():
|
||||
@@ -64146,13 +64146,13 @@ def printShowDriveLabelPermissions(users, useAdminAccess=False):
|
||||
j = 0
|
||||
for name in labelNames:
|
||||
j += 1
|
||||
kvList = [Ent.USER, user, Ent.DRIVE_LABEL_NAME, name, Ent.DRIVE_LABEL_PERMISSION, None]
|
||||
kvList = [Ent.USER, user, Ent.CLASSIFICATION_LABEL_NAME, name, Ent.CLASSIFICATION_LABEL_PERMISSION, None]
|
||||
name = validateDriveLabelName(name, kvList, j, jcount, False)
|
||||
if name is None:
|
||||
continue
|
||||
kvList = [Ent.USER, user, Ent.DRIVE_LABEL_NAME, name]
|
||||
kvList = [Ent.USER, user, Ent.CLASSIFICATION_LABEL_NAME, name]
|
||||
if csvPF:
|
||||
printGettingAllEntityItemsForWhom(Ent.DRIVE_LABEL_PERMISSION, name, j, jcount)
|
||||
printGettingAllEntityItemsForWhom(Ent.CLASSIFICATION_LABEL_PERMISSION, name, j, jcount)
|
||||
pageMessage = getPageMessageForWhom()
|
||||
else:
|
||||
pageMessage = None
|
||||
@@ -64164,7 +64164,7 @@ def printShowDriveLabelPermissions(users, useAdminAccess=False):
|
||||
if not csvPF:
|
||||
jcount = len(labelperms)
|
||||
if not FJQC.formatJSON:
|
||||
entityPerformActionNumItems(kvList, jcount, Ent.DRIVE_LABEL_PERMISSION, i, count)
|
||||
entityPerformActionNumItems(kvList, jcount, Ent.CLASSIFICATION_LABEL_PERMISSION, i, count)
|
||||
Ind.Increment()
|
||||
j = 0
|
||||
for labelperm in labelperms:
|
||||
@@ -64188,7 +64188,7 @@ def printShowDriveLabelPermissions(users, useAdminAccess=False):
|
||||
break
|
||||
Ind.Decrement()
|
||||
if csvPF:
|
||||
csvPF.writeCSVfile('Drive Label Permissions')
|
||||
csvPF.writeCSVfile('Classification Label Permissions')
|
||||
|
||||
def doPrintShowDriveLabelPermissions():
|
||||
printShowDriveLabelPermissions([_getAdminEmail()], True)
|
||||
@@ -64202,12 +64202,12 @@ DRIVELABEL_FIELD_TYPE_MAP = {
|
||||
}
|
||||
|
||||
# gam <UserTypeEntity> process filedrivelabels <DriveFileEntity>
|
||||
# (addlabel <DriveLabelIDList>)*
|
||||
# (deletelabel <DriveLabelIDList>)*
|
||||
# (addlabelfield <DriveLabelID> <DriveLabelFieldID>
|
||||
# (text <String>)|selection <DriveLabelSelectionIDList>)|
|
||||
# (addlabel <ClassificationLabelIDList>)*
|
||||
# (deletelabel <ClassificationLabelIDList>)*
|
||||
# (addlabelfield <ClassificationLabelID> <ClassificationLabelFieldID>
|
||||
# (text <String>)|selection <ClassificationLabelSelectionIDList>)|
|
||||
# (integer <Number>)|(date <Date>)|(user <EmailAddressList>))*
|
||||
# (deletelabelfield <DriveLabelID> <DriveLabelFieldID>)*
|
||||
# (deletelabelfield <ClassificationLabelID> <ClassificationLabelFieldID>)*
|
||||
# [nodetails]
|
||||
def processFileDriveLabels(users):
|
||||
fileIdEntity = getDriveFileEntity()
|
||||
@@ -64221,23 +64221,23 @@ def processFileDriveLabels(users):
|
||||
while Cmd.ArgumentsRemaining():
|
||||
myarg = getArgument()
|
||||
if myarg == 'addlabel':
|
||||
labelIds = getEntityList(Cmd.OB_DRIVE_LABEL_ID, shlexSplit=True)
|
||||
labelIds = getEntityList(Cmd.OB_CLASSIFICATION_LABEL_ID, shlexSplit=True)
|
||||
for labelId in labelIds:
|
||||
actionList[myarg]['list'].append({'labelModifications': [{'labelId': normalizeDriveLabelID(labelId)}]})
|
||||
kcount += 1
|
||||
elif myarg == 'deletelabel':
|
||||
labelIds = getEntityList(Cmd.OB_DRIVE_LABEL_ID, shlexSplit=True)
|
||||
labelIds = getEntityList(Cmd.OB_CLASSIFICATION_LABEL_ID, shlexSplit=True)
|
||||
for labelId in labelIds:
|
||||
actionList[myarg]['list'].append({'labelModifications': [{'labelId': normalizeDriveLabelID(labelId), 'removeLabel': True}]})
|
||||
kcount += 1
|
||||
elif myarg == 'addlabelfield':
|
||||
labelId = normalizeDriveLabelID(getString(Cmd.OB_DRIVE_LABEL_ID))
|
||||
fieldId = getString(Cmd.OB_DRIVE_LABEL_FIELD_ID)
|
||||
labelId = normalizeDriveLabelID(getString(Cmd.OB_CLASSIFICATION_LABEL_ID))
|
||||
fieldId = getString(Cmd.OB_CLASSIFICATION_LABEL_FIELD_ID)
|
||||
fieldType = getChoice(DRIVELABEL_FIELD_TYPE_MAP, mapChoice=True)
|
||||
if fieldType == 'setTextValues':
|
||||
valueList = [getString(Cmd.OB_STRING, minLen=0)]
|
||||
elif fieldType == 'setSelectionValues':
|
||||
valueList = convertEntityToList(getString(Cmd.OB_DRIVE_LABEL_SELECTION_ID_LIST, minLen=0), shlexSplit=True)
|
||||
valueList = convertEntityToList(getString(Cmd.OB_CLASSIFICATION_LABEL_SELECTION_ID_LIST, minLen=0), shlexSplit=True)
|
||||
elif fieldType == 'setIntegerValues':
|
||||
valueList = [getInteger()]
|
||||
elif fieldType == 'setDateValues':
|
||||
@@ -64248,8 +64248,8 @@ def processFileDriveLabels(users):
|
||||
'fieldModifications': [{'fieldId': fieldId, fieldType: valueList}]}]})
|
||||
kcount += 1
|
||||
elif myarg == 'deletelabelfield':
|
||||
labelId = normalizeDriveLabelID(getString(Cmd.OB_DRIVE_LABEL_ID))
|
||||
fieldId = getString(Cmd.OB_DRIVE_LABEL_FIELD_ID)
|
||||
labelId = normalizeDriveLabelID(getString(Cmd.OB_CLASSIFICATION_LABEL_ID))
|
||||
fieldId = getString(Cmd.OB_CLASSIFICATION_LABEL_FIELD_ID)
|
||||
actionList[myarg]['list'].append({'labelModifications': [{'labelId': labelId,
|
||||
'fieldModifications': [{'fieldId': fieldId, 'unsetValues': True}]}]})
|
||||
kcount += 1
|
||||
@@ -64264,7 +64264,7 @@ def processFileDriveLabels(users):
|
||||
if jcount == 0:
|
||||
continue
|
||||
Act.Set(Act.PROCESS)
|
||||
entityPerformActionSubItemModifierNumItems([Ent.USER, user], Ent.DRIVE_LABEL, Act.MODIFIER_FOR, jcount, Ent.DRIVE_FILE_OR_FOLDER)
|
||||
entityPerformActionSubItemModifierNumItems([Ent.USER, user], Ent.CLASSIFICATION_LABEL, Act.MODIFIER_FOR, jcount, Ent.DRIVE_FILE_OR_FOLDER)
|
||||
Ind.Increment()
|
||||
j = 0
|
||||
userError = False
|
||||
@@ -64273,16 +64273,16 @@ def processFileDriveLabels(users):
|
||||
k = 0
|
||||
kvList = [Ent.USER, user, Ent.DRIVE_FILE_OR_FOLDER_ID, fileId]
|
||||
Act.Set(Act.PROCESS)
|
||||
entityPerformActionNumItems(kvList, kcount, Ent.DRIVE_LABEL)
|
||||
entityPerformActionNumItems(kvList, kcount, Ent.CLASSIFICATION_LABEL)
|
||||
Ind.Increment()
|
||||
for operation in ['deletelabelfield', 'deletelabel', 'addlabel', 'addlabelfield']:
|
||||
Act.Set(actionList[operation]['action'])
|
||||
for action in actionList[operation]['list']:
|
||||
k += 1
|
||||
xkvList = kvList.copy()
|
||||
xkvList.extend([Ent.DRIVE_LABEL_ID, action['labelModifications'][0]['labelId']])
|
||||
xkvList.extend([Ent.CLASSIFICATION_LABEL_ID, action['labelModifications'][0]['labelId']])
|
||||
if 'fieldModifications' in action['labelModifications'][0]:
|
||||
xkvList.extend([Ent.DRIVE_LABEL_FIELD_ID, action['labelModifications'][0]['fieldModifications'][0]['fieldId']])
|
||||
xkvList.extend([Ent.CLASSIFICATION_LABEL_FIELD_ID, action['labelModifications'][0]['fieldModifications'][0]['fieldId']])
|
||||
try:
|
||||
label = callGAPI(drive.files(), 'modifyLabels',
|
||||
throwReasons=GAPI.DRIVE3_MODIFY_LABEL_THROW_REASONS,
|
||||
@@ -75589,6 +75589,10 @@ MAIN_COMMANDS_OBJ_ALIASES = {
|
||||
Cmd.ARG_CIMEMBER: Cmd.ARG_CIGROUPMEMBERS,
|
||||
Cmd.ARG_CIMEMBERS: Cmd.ARG_CIGROUPMEMBERS,
|
||||
Cmd.ARG_CIPOLICIES: Cmd.ARG_CIPOLICY,
|
||||
Cmd.ARG_CLASSIFICATIONLABEL: Cmd.ARG_DRIVELABEL,
|
||||
Cmd.ARG_CLASSIFICATIONLABELS: Cmd.ARG_DRIVELABEL,
|
||||
Cmd.ARG_CLASSIFICATIONLABELPERMISSION: Cmd.ARG_DRIVELABELPERMISSION,
|
||||
Cmd.ARG_CLASSIFICATIONLABELPERMISSIONS: Cmd.ARG_DRIVELABELPERMISSION,
|
||||
Cmd.ARG_CLASS: Cmd.ARG_COURSE,
|
||||
Cmd.ARG_CLASSES: Cmd.ARG_COURSES,
|
||||
Cmd.ARG_CLASSPARTICIPANTS: Cmd.ARG_COURSEPARTICIPANTS,
|
||||
@@ -76619,6 +76623,10 @@ USER_COMMANDS_OBJ_ALIASES = {
|
||||
Cmd.ARG_BACKUPCODES: Cmd.ARG_BACKUPCODE,
|
||||
Cmd.ARG_CALENDARS: Cmd.ARG_CALENDAR,
|
||||
Cmd.ARG_CALENDARACLS: Cmd.ARG_CALENDARACL,
|
||||
Cmd.ARG_CLASSIFICATIONLABEL: Cmd.ARG_DRIVELABEL,
|
||||
Cmd.ARG_CLASSIFICATIONLABELS: Cmd.ARG_DRIVELABEL,
|
||||
Cmd.ARG_CLASSIFICATIONLABELPERMISSION: Cmd.ARG_DRIVELABELPERMISSION,
|
||||
Cmd.ARG_CLASSIFICATIONLABELPERMISSIONS: Cmd.ARG_DRIVELABELPERMISSION,
|
||||
Cmd.ARG_CLASSROOMINVITATIONS: Cmd.ARG_CLASSROOMINVITATION,
|
||||
Cmd.ARG_CHATEVENTS: Cmd.ARG_CHATEVENT,
|
||||
Cmd.ARG_CHATMEMBERS: Cmd.ARG_CHATMEMBER,
|
||||
|
||||
@@ -240,8 +240,8 @@ _INFO = {
|
||||
DRIVE3: {'name': 'Drive API v3', 'version': 'v3', 'v2discovery': False, 'mappedAPI': 'drive'},
|
||||
DRIVETD: {'name': 'Drive API v3 - todrive', 'version': 'v3', 'v2discovery': False, 'mappedAPI': 'drive'},
|
||||
DRIVEACTIVITY: {'name': 'Drive Activity API v2', 'version': 'v2', 'v2discovery': True},
|
||||
DRIVELABELS_ADMIN: {'name': 'Drive Labels API v2beta - Admin', 'version': 'v2beta', 'v2discovery': True, 'mappedAPI': DRIVELABELS},
|
||||
DRIVELABELS_USER: {'name': 'Drive Labels API v2beta - User', 'version': 'v2beta', 'v2discovery': True, 'mappedAPI': DRIVELABELS},
|
||||
DRIVELABELS_ADMIN: {'name': 'Drive Labels API - Admin', 'version': 'v2', 'v2discovery': True, 'mappedAPI': DRIVELABELS},
|
||||
DRIVELABELS_USER: {'name': 'Drive Labels API - User', 'version': 'v2', 'v2discovery': True, 'mappedAPI': DRIVELABELS},
|
||||
EMAIL_AUDIT: {'name': 'Email Audit API', 'version': 'v1', 'v2discovery': False},
|
||||
FORMS: {'name': 'Forms API', 'version': 'v1', 'v2discovery': True},
|
||||
GMAIL: {'name': 'Gmail API', 'version': 'v1', 'v2discovery': True},
|
||||
@@ -619,11 +619,11 @@ _SVCACCT_SCOPES = [
|
||||
'api': DRIVEACTIVITY,
|
||||
'subscopes': [],
|
||||
'scope': 'https://www.googleapis.com/auth/drive.activity'},
|
||||
{'name': 'Drive Labels API v2beta - Admin',
|
||||
{'name': 'Drive Labels API - Admin',
|
||||
'api': DRIVELABELS_ADMIN,
|
||||
'subscopes': READONLY,
|
||||
'scope': 'https://www.googleapis.com/auth/drive.admin.labels'},
|
||||
{'name': 'Drive Labels API v2beta - User',
|
||||
{'name': 'Drive Labels API - User',
|
||||
'api': DRIVELABELS_USER,
|
||||
'subscopes': READONLY,
|
||||
'scope': 'https://www.googleapis.com/auth/drive.labels'},
|
||||
|
||||
@@ -495,6 +495,10 @@ class GamCLArgs():
|
||||
ARG_CIMEMBERS = 'cimembers'
|
||||
ARG_CIPOLICY = 'policy'
|
||||
ARG_CIPOLICIES = 'policies'
|
||||
ARG_CLASSIFICATIONLABEL = 'classificationlabel'
|
||||
ARG_CLASSIFICATIONLABELS = 'classificationlabels'
|
||||
ARG_CLASSIFICATIONLABELPERMISSION = 'classificationlabelpermission'
|
||||
ARG_CLASSIFICATIONLABELPERMISSIONS = 'classificationlabelpermissions'
|
||||
ARG_CLASS = 'class'
|
||||
ARG_CLASSES = 'classes'
|
||||
ARG_CLASSPARTICIPANTS = 'classparticipants'
|
||||
@@ -846,6 +850,11 @@ class GamCLArgs():
|
||||
OB_CIDR_NETMASK = 'CIDRnetmask'
|
||||
OB_CIGROUP_ALIAS_LIST = "CIGroupAliasList"
|
||||
OB_CIPOLICY_NAME_ENTITY = 'CIPolicyNameEntity'
|
||||
OB_CLASSIFICATION_LABEL_ID = 'ClassificationLabelID'
|
||||
OB_CLASSIFICATION_LABEL_NAME = 'ClassificationLabelName'
|
||||
OB_CLASSIFICATION_LABEL_PERMISSION_NAME = 'ClassificationLabelPermissionName'
|
||||
OB_CLASSIFICATION_LABEL_FIELD_ID = 'ClassificationLabelFieldID'
|
||||
OB_CLASSIFICATION_LABEL_SELECTION_ID_LIST = 'ClassificationLabelSelectionIDList'
|
||||
OB_CLASSROOM_INVITATION_ID_ENTITY = 'ClassroomInvitationIDEntity'
|
||||
OB_CLIENT_ID = 'ClientID'
|
||||
OB_COLLABORATOR_ITEM = 'CollaboratorItem'
|
||||
@@ -899,11 +908,6 @@ class GamCLArgs():
|
||||
OB_DRIVE_FOLDER_NAME = 'DriveFolderName'
|
||||
OB_DRIVE_FOLDER_NAME_LIST = 'DriveFolderNameList'
|
||||
OB_DRIVE_FOLDER_PATH = 'DriveFolderPath'
|
||||
OB_DRIVE_LABEL_ID = 'DriveLabelID'
|
||||
OB_DRIVE_LABEL_NAME = 'DriveLabelName'
|
||||
OB_DRIVE_LABEL_PERMISSION_NAME = 'DriveLabelPermissionName'
|
||||
OB_DRIVE_LABEL_FIELD_ID = 'DriveLabelFieldID'
|
||||
OB_DRIVE_LABEL_SELECTION_ID_LIST = 'DriveLabelSelectionIDList'
|
||||
OB_EMAIL_ADDRESS = 'EmailAddress'
|
||||
OB_EMAIL_ADDRESS_ENTITY = 'EmailAddressEntity'
|
||||
OB_EMAIL_ADDRESS_LIST = 'EmailAddressList'
|
||||
|
||||
@@ -110,6 +110,12 @@ class GamEntity():
|
||||
CHROME_POLICY_SCHEMA = 'cpsc'
|
||||
CHROME_RELEASE = 'crel'
|
||||
CHROME_VERSION = 'cver'
|
||||
CLASSIFICATION_LABEL = 'dlab'
|
||||
CLASSIFICATION_LABEL_FIELD_ID = 'dlfi'
|
||||
CLASSIFICATION_LABEL_ID = 'dlid'
|
||||
CLASSIFICATION_LABEL_NAME = 'dlna'
|
||||
CLASSIFICATION_LABEL_PERMISSION = 'dlpe'
|
||||
CLASSIFICATION_LABEL_PERMISSION_NAME = 'dlpn'
|
||||
CLASSROOM_INVITATION = 'clai'
|
||||
CLASSROOM_INVITATION_OWNER = 'clio'
|
||||
CLASSROOM_INVITATION_STUDENT = 'clis'
|
||||
@@ -193,12 +199,6 @@ class GamEntity():
|
||||
DRIVE_FOLDER_PATH = 'folp'
|
||||
DRIVE_FOLDER_RENAMED = 'forn'
|
||||
DRIVE_FOLDER_SHORTCUT = 'fols'
|
||||
DRIVE_LABEL = 'dlab'
|
||||
DRIVE_LABEL_FIELD_ID = 'dlfi'
|
||||
DRIVE_LABEL_ID = 'dlid'
|
||||
DRIVE_LABEL_NAME = 'dlna'
|
||||
DRIVE_LABEL_PERMISSION = 'dlpe'
|
||||
DRIVE_LABEL_PERMISSION_NAME = 'dlpn'
|
||||
DRIVE_ORPHAN_FILE_OR_FOLDER = 'orph'
|
||||
DRIVE_PARENT_FOLDER = 'fipf'
|
||||
DRIVE_PARENT_FOLDER_ID = 'fipi'
|
||||
@@ -462,6 +462,12 @@ class GamEntity():
|
||||
CHROME_POLICY_SCHEMA: ['Chrome Policy Schemas', 'Chrome Policy Schema'],
|
||||
CHROME_RELEASE: ['Chrome Releases', 'Chrome Release'],
|
||||
CHROME_VERSION: ['Chrome Versions', 'Chrome Version'],
|
||||
CLASSIFICATION_LABEL: ['Classification Labels', 'Classification Label'],
|
||||
CLASSIFICATION_LABEL_FIELD_ID: ['Classification Label Field IDs', 'Classification Label Field ID'],
|
||||
CLASSIFICATION_LABEL_ID: ['Classification Label IDs', 'Classification Label ID'],
|
||||
CLASSIFICATION_LABEL_NAME: ['Classification Label Names', 'Classification Label Name'],
|
||||
CLASSIFICATION_LABEL_PERMISSION: ['Classification Label Permissions', 'Classification Label Permission'],
|
||||
CLASSIFICATION_LABEL_PERMISSION_NAME: ['Classification Label Permission Names', 'Classification Label Permission Name'],
|
||||
CLASSROOM_INVITATION: ['Classroom Invitations', 'Classroom Invitation'],
|
||||
CLASSROOM_INVITATION_OWNER: ['Classroom Owner Invitations', 'Classroom Owner Invitation'],
|
||||
CLASSROOM_INVITATION_STUDENT: ['Classroom Student Invitations', 'Classroom Student Invitation'],
|
||||
@@ -545,12 +551,6 @@ class GamEntity():
|
||||
DRIVE_FOLDER_PATH: ['Drive Folder Paths', 'Drive Folder Path'],
|
||||
DRIVE_FOLDER_RENAMED: ['Drive Folders Renamed', 'Drive Folder Renamed'],
|
||||
DRIVE_FOLDER_SHORTCUT: ['Drive Folder Shortcuts', 'Drive Folder Shortcut'],
|
||||
DRIVE_LABEL: ['Drive Labels', 'Drive Label'],
|
||||
DRIVE_LABEL_FIELD_ID: ['Drive Label Field IDs', 'Drive Label Field ID'],
|
||||
DRIVE_LABEL_ID: ['Drive Label IDs', 'Drive Label ID'],
|
||||
DRIVE_LABEL_NAME: ['Drive Label Names', 'Drive Label Name'],
|
||||
DRIVE_LABEL_PERMISSION: ['Drive Label Permissions', 'Drive Label Permission'],
|
||||
DRIVE_LABEL_PERMISSION_NAME: ['Drive Label Permission Names', 'Drive Label Permission Name'],
|
||||
DRIVE_ORPHAN_FILE_OR_FOLDER: ['Drive Orphan Files/Folders', 'Drive Orphan File/Folder'],
|
||||
DRIVE_PARENT_FOLDER: ['Drive Parent Folders', 'Drive Parent Folder'],
|
||||
DRIVE_PARENT_FOLDER_ID: ['Drive Parent Folder IDs', 'Drive Parent Folder ID'],
|
||||
|
||||
Reference in New Issue
Block a user