mirror of
https://github.com/GAM-team/GAM.git
synced 2026-07-03 12:21:35 +00:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7e97f68013 | ||
|
|
48ef2450fd | ||
|
|
ec769703d6 | ||
|
|
e2984ca10b | ||
|
|
7400bfab70 |
@@ -1894,136 +1894,6 @@ gam calendar|calendars <CalendarEntity> print settings [todrive <ToDriveAttribut
|
|||||||
[formatjson [quotechar <Character>]]
|
[formatjson [quotechar <Character>]]
|
||||||
gam calendar|calendars <CalendarEntity> modify <CalendarSettings>+
|
gam calendar|calendars <CalendarEntity> modify <CalendarSettings>+
|
||||||
|
|
||||||
# Chrome Browser Cloud Management
|
|
||||||
|
|
||||||
<QueryBrowser> ::= <String>
|
|
||||||
See: https://support.google.com/chrome/a/answer/9681204#retrieve_all_chrome_devices_for_an_account
|
|
||||||
<QueryBrowserList> ::= "<QueryBrowser>(,<QueryBrowser>)*"
|
|
||||||
|
|
||||||
<BrowserEntity> ::=
|
|
||||||
<DeviceIDList> |
|
|
||||||
(query:<QueryBrowser>)|(query:orgunitpath:<OrgUnitPath>)|(query <QueryBrowser>) |
|
|
||||||
(browserou <OrgUnitItem>) | (browserous <OrgUnitList>) |
|
|
||||||
<FileSelector> | <CSVFileSelector>
|
|
||||||
|
|
||||||
<BrowserAttribute> ::=
|
|
||||||
(annotatedassetid|asset|assetid <String>)|
|
|
||||||
(annotatedlocation|location <String>)|
|
|
||||||
(annotatednotes|notes <String>)|(updatenotes <String>)|
|
|
||||||
(annotateduser|user <String>
|
|
||||||
|
|
||||||
<BrowserFieldName> ::=
|
|
||||||
annotatedassetid|asset|assetid|
|
|
||||||
annotatedlocation|location|
|
|
||||||
annotatednotes|notes|
|
|
||||||
annotateduser|user|
|
|
||||||
browsers|
|
|
||||||
browserversions|
|
|
||||||
deviceid|
|
|
||||||
extensioncount|
|
|
||||||
installedbrowserversion|
|
|
||||||
lastactivitytime|
|
|
||||||
lastdeviceuser|
|
|
||||||
lastdeviceusers|
|
|
||||||
lastpolicyfetchtime|
|
|
||||||
lastregistrationtime|
|
|
||||||
laststatusreporttime|
|
|
||||||
machineextensionpolicies|
|
|
||||||
machinename|
|
|
||||||
machinepolicies|
|
|
||||||
orgunitpath|org|orgunit|
|
|
||||||
osarchitecture|
|
|
||||||
osplatform|
|
|
||||||
osplatformversion|
|
|
||||||
osversion|
|
|
||||||
ou|
|
|
||||||
policycount|
|
|
||||||
safebrowsingclickthroughcount|
|
|
||||||
serialnumber|
|
|
||||||
virtualdeviceid
|
|
||||||
<BrowserFieldNameList> ::= "<BrowseFieldName>(,<BrowserFieldName>)*"
|
|
||||||
|
|
||||||
<BrowserOrderByFieldName> ::=
|
|
||||||
annotatedassetid|assetassetid|
|
|
||||||
annotatedlocation|location|
|
|
||||||
annotatednotes|notes|
|
|
||||||
annotateduser|user|
|
|
||||||
browserversionchannel|
|
|
||||||
browserversionsortable|
|
|
||||||
deviceid|id|
|
|
||||||
enrollmentdate|
|
|
||||||
extensioncount|
|
|
||||||
lastactivity|
|
|
||||||
lastsignedinuser|
|
|
||||||
lastsync|
|
|
||||||
machinename|
|
|
||||||
orgunit|ou|org|
|
|
||||||
osversion|
|
|
||||||
osversionsortable|
|
|
||||||
platformmajorversion|
|
|
||||||
policycount
|
|
||||||
|
|
||||||
gam delete browser <DeviceID>
|
|
||||||
gam update browser <BrowserEntity> <BrowserAttibute>+
|
|
||||||
gam move browsers ou|org|orgunit <OrgUnitPath>
|
|
||||||
((ids <DeviceIDList>) |
|
|
||||||
(queries <QueryBrowserList> [querytime<String> <Time>]) |
|
|
||||||
(browserou <OrgUnitItem>) | (browserous <OrgUnitList>) |
|
|
||||||
<FileSelector> | <CSVFileSelector>)
|
|
||||||
[batchsize <Integer>]
|
|
||||||
|
|
||||||
gam info browser <DeviceID>
|
|
||||||
[basic|full|annotated] <BrowserFieldName>* [fields <BrowserFieldNameList>]
|
|
||||||
[formatjson]
|
|
||||||
gam show browsers
|
|
||||||
([ou|org|orgunit|browserou <OrgUnitPath>] [(query <QueryBrowser>)|(queries <QueryBrowserList>))|(select <BrowserEntity>))
|
|
||||||
[querytime<String> <Time>]
|
|
||||||
[orderby <BrowserOrderByFieldName> [ascending|descending]]
|
|
||||||
[basic|full|allfields|annotated] <BrowserFieldName>* [fields <BrowserFieldNameList>]
|
|
||||||
[formatjson]
|
|
||||||
gam print browsers [todrive <ToDriveAttribute>*]
|
|
||||||
([ou|org|orgunit|browserou <OrgUnitPath>] [(query <QueryBrowser>)|(queries <QueryBrowserList>))|(select <BrowserEntity>))
|
|
||||||
[querytime<String> <Time>]
|
|
||||||
[orderby <BrowserOrderByFieldName> [ascending|descending]]
|
|
||||||
[basic|full|allfields|annotated] <BrowserFieldName>* [fields <BrowserFieldNameList>]
|
|
||||||
[sortheaders]
|
|
||||||
[formatjson [quotechar <Character>]]
|
|
||||||
|
|
||||||
gam create browsertoken
|
|
||||||
[ou|org|orgunit|browserou <OrgUnitPath>] [expire|expires <Time>]
|
|
||||||
[formatjson]
|
|
||||||
gam revoke browsertoken <BrowserTokenPermanentID>
|
|
||||||
|
|
||||||
<BrowserTokenFieldName> ::=
|
|
||||||
createtime|
|
|
||||||
creatorid|
|
|
||||||
customerid|
|
|
||||||
expiretime|
|
|
||||||
org|
|
|
||||||
orgunit|
|
|
||||||
orgunitpath|
|
|
||||||
ou|
|
|
||||||
revoketime|
|
|
||||||
revokerid|
|
|
||||||
state|
|
|
||||||
token|
|
|
||||||
tokenpermanentid
|
|
||||||
<BrowserTokenFieldNameList> ::= "<BrowserTokenFieldName>(,<BrowserTokenFieldName>)*"
|
|
||||||
|
|
||||||
gam show browsertokens
|
|
||||||
([ou|org|orgunit|browserou <OrgUnitPath>] [(query <QueryBrowserToken>)|(queries <QueryBrowserTokenList>)))
|
|
||||||
[querytime<String> <Time>]
|
|
||||||
[orderby <BrowserTokenFieldName> [ascending|descending]]
|
|
||||||
[allfields] <BrowserTokenFieldName>* [fields <BrowserTokenFieldNameList>]
|
|
||||||
[formatjson]
|
|
||||||
gam print browsertokens [todrive <ToDriveAttribute>*]
|
|
||||||
([ou|org|orgunit|browserou <OrgUnitPath>] [(query <QueryBrowserToken>)|(queries <QueryBrowserTokenList>)))
|
|
||||||
[querytime<String> <Time>]
|
|
||||||
[orderby <BrowserTokenFieldName> [ascending|descending]]
|
|
||||||
[allfields] <BrowserTokenFieldName>* [fields <BrowserTokenFieldNameList>]
|
|
||||||
[sortheaders]
|
|
||||||
[formatjson [quotechar <Character>]]
|
|
||||||
|
|
||||||
# Chat Bot
|
# Chat Bot
|
||||||
|
|
||||||
<ChatContent> ::=
|
<ChatContent> ::=
|
||||||
@@ -2136,6 +2006,136 @@ gam info chatmessage name <ChatMessage>
|
|||||||
gam info chatevent name <ChatEvent>
|
gam info chatevent name <ChatEvent>
|
||||||
[formatjson]
|
[formatjson]
|
||||||
|
|
||||||
|
# Chrome Browser Cloud Management
|
||||||
|
|
||||||
|
<QueryBrowser> ::= <String>
|
||||||
|
See: https://support.google.com/chrome/a/answer/9681204#retrieve_all_chrome_devices_for_an_account
|
||||||
|
<QueryBrowserList> ::= "<QueryBrowser>(,<QueryBrowser>)*"
|
||||||
|
|
||||||
|
<BrowserEntity> ::=
|
||||||
|
<DeviceIDList> |
|
||||||
|
(query:<QueryBrowser>)|(query:orgunitpath:<OrgUnitPath>)|(query <QueryBrowser>) |
|
||||||
|
(browserou <OrgUnitItem>) | (browserous <OrgUnitList>) |
|
||||||
|
<FileSelector> | <CSVFileSelector>
|
||||||
|
|
||||||
|
<BrowserAttribute> ::=
|
||||||
|
(annotatedassetid|asset|assetid <String>)|
|
||||||
|
(annotatedlocation|location <String>)|
|
||||||
|
(annotatednotes|notes <String>)|(updatenotes <String>)|
|
||||||
|
(annotateduser|user <String>
|
||||||
|
|
||||||
|
<BrowserFieldName> ::=
|
||||||
|
annotatedassetid|asset|assetid|
|
||||||
|
annotatedlocation|location|
|
||||||
|
annotatednotes|notes|
|
||||||
|
annotateduser|user|
|
||||||
|
browsers|
|
||||||
|
browserversions|
|
||||||
|
deviceid|
|
||||||
|
extensioncount|
|
||||||
|
installedbrowserversion|
|
||||||
|
lastactivitytime|
|
||||||
|
lastdeviceuser|
|
||||||
|
lastdeviceusers|
|
||||||
|
lastpolicyfetchtime|
|
||||||
|
lastregistrationtime|
|
||||||
|
laststatusreporttime|
|
||||||
|
machineextensionpolicies|
|
||||||
|
machinename|
|
||||||
|
machinepolicies|
|
||||||
|
orgunitpath|org|orgunit|
|
||||||
|
osarchitecture|
|
||||||
|
osplatform|
|
||||||
|
osplatformversion|
|
||||||
|
osversion|
|
||||||
|
ou|
|
||||||
|
policycount|
|
||||||
|
safebrowsingclickthroughcount|
|
||||||
|
serialnumber|
|
||||||
|
virtualdeviceid
|
||||||
|
<BrowserFieldNameList> ::= "<BrowserFieldName>(,<BrowserFieldName>)*"
|
||||||
|
|
||||||
|
<BrowserOrderByFieldName> ::=
|
||||||
|
annotatedassetid|assetassetid|
|
||||||
|
annotatedlocation|location|
|
||||||
|
annotatednotes|notes|
|
||||||
|
annotateduser|user|
|
||||||
|
browserversionchannel|
|
||||||
|
browserversionsortable|
|
||||||
|
deviceid|id|
|
||||||
|
enrollmentdate|
|
||||||
|
extensioncount|
|
||||||
|
lastactivity|
|
||||||
|
lastsignedinuser|
|
||||||
|
lastsync|
|
||||||
|
machinename|
|
||||||
|
orgunit|ou|org|
|
||||||
|
osversion|
|
||||||
|
osversionsortable|
|
||||||
|
platformmajorversion|
|
||||||
|
policycount
|
||||||
|
|
||||||
|
gam delete browser <DeviceID>
|
||||||
|
gam update browser <BrowserEntity> <BrowserAttibute>+
|
||||||
|
gam move browsers ou|org|orgunit <OrgUnitPath>
|
||||||
|
((ids <DeviceIDList>) |
|
||||||
|
(queries <QueryBrowserList> [querytime<String> <Time>]) |
|
||||||
|
(browserou <OrgUnitItem>) | (browserous <OrgUnitList>) |
|
||||||
|
<FileSelector> | <CSVFileSelector>)
|
||||||
|
[batchsize <Integer>]
|
||||||
|
|
||||||
|
gam info browser <DeviceID>
|
||||||
|
[basic|full|annotated] <BrowserFieldName>* [fields <BrowserFieldNameList>]
|
||||||
|
[formatjson]
|
||||||
|
gam show browsers
|
||||||
|
([ou|org|orgunit|browserou <OrgUnitPath>] [(query <QueryBrowser>)|(queries <QueryBrowserList>))|(select <BrowserEntity>))
|
||||||
|
[querytime<String> <Time>]
|
||||||
|
[orderby <BrowserOrderByFieldName> [ascending|descending]]
|
||||||
|
[basic|full|allfields|annotated] <BrowserFieldName>* [fields <BrowserFieldNameList>]
|
||||||
|
[formatjson]
|
||||||
|
gam print browsers [todrive <ToDriveAttribute>*]
|
||||||
|
([ou|org|orgunit|browserou <OrgUnitPath>] [(query <QueryBrowser>)|(queries <QueryBrowserList>))|(select <BrowserEntity>))
|
||||||
|
[querytime<String> <Time>]
|
||||||
|
[orderby <BrowserOrderByFieldName> [ascending|descending]]
|
||||||
|
[basic|full|allfields|annotated] <BrowserFieldName>* [fields <BrowserFieldNameList>]
|
||||||
|
[sortheaders]
|
||||||
|
[formatjson [quotechar <Character>]]
|
||||||
|
|
||||||
|
gam create browsertoken
|
||||||
|
[ou|org|orgunit|browserou <OrgUnitPath>] [expire|expires <Time>]
|
||||||
|
[formatjson]
|
||||||
|
gam revoke browsertoken <BrowserTokenPermanentID>
|
||||||
|
|
||||||
|
<BrowserTokenFieldName> ::=
|
||||||
|
createtime|
|
||||||
|
creatorid|
|
||||||
|
customerid|
|
||||||
|
expiretime|
|
||||||
|
org|
|
||||||
|
orgunit|
|
||||||
|
orgunitpath|
|
||||||
|
ou|
|
||||||
|
revoketime|
|
||||||
|
revokerid|
|
||||||
|
state|
|
||||||
|
token|
|
||||||
|
tokenpermanentid
|
||||||
|
<BrowserTokenFieldNameList> ::= "<BrowserTokenFieldName>(,<BrowserTokenFieldName>)*"
|
||||||
|
|
||||||
|
gam show browsertokens
|
||||||
|
([ou|org|orgunit|browserou <OrgUnitPath>] [(query <QueryBrowserToken>)|(queries <QueryBrowserTokenList>)))
|
||||||
|
[querytime<String> <Time>]
|
||||||
|
[orderby <BrowserTokenFieldName> [ascending|descending]]
|
||||||
|
[allfields] <BrowserTokenFieldName>* [fields <BrowserTokenFieldNameList>]
|
||||||
|
[formatjson]
|
||||||
|
gam print browsertokens [todrive <ToDriveAttribute>*]
|
||||||
|
([ou|org|orgunit|browserou <OrgUnitPath>] [(query <QueryBrowserToken>)|(queries <QueryBrowserTokenList>)))
|
||||||
|
[querytime<String> <Time>]
|
||||||
|
[orderby <BrowserTokenFieldName> [ascending|descending]]
|
||||||
|
[allfields] <BrowserTokenFieldName>* [fields <BrowserTokenFieldNameList>]
|
||||||
|
[sortheaders]
|
||||||
|
[formatjson [quotechar <Character>]]
|
||||||
|
|
||||||
# Chrome Installed Apps Counts
|
# Chrome Installed Apps Counts
|
||||||
|
|
||||||
gam show chromeapps
|
gam show chromeapps
|
||||||
@@ -2190,6 +2190,68 @@ gam show chromeneedsattn
|
|||||||
(ous <OrgUnitList>)|(ous_and_children <OrgUnitList>)]
|
(ous <OrgUnitList>)|(ous_and_children <OrgUnitList>)]
|
||||||
[formatjson]
|
[formatjson]
|
||||||
|
|
||||||
|
# Chrome Profile Management
|
||||||
|
|
||||||
|
<ChromeProfileFieldName> ::=
|
||||||
|
affiliationstate|
|
||||||
|
annotatedlocation|
|
||||||
|
annotateduser|
|
||||||
|
attestationcredential|
|
||||||
|
browserchannel|
|
||||||
|
browserversion|
|
||||||
|
deviceinfo|
|
||||||
|
displayname|
|
||||||
|
extensioncount|
|
||||||
|
firstenrollmenttime|
|
||||||
|
identityprovider|
|
||||||
|
lastactivitytime|
|
||||||
|
lastpolicyfetchtime|
|
||||||
|
lastpolicysynctime|
|
||||||
|
laststatusreporttime|
|
||||||
|
name|
|
||||||
|
osplatformtype|
|
||||||
|
osplatformversion|
|
||||||
|
osversion|
|
||||||
|
policycount|
|
||||||
|
profileid|
|
||||||
|
profilepermanentid|
|
||||||
|
reportingdata|
|
||||||
|
useremail|
|
||||||
|
userid
|
||||||
|
<ChromeProfileFieldNameList> ::= "<ChromeProfileFieldName>(,<ChromeProfileFieldName>)*"
|
||||||
|
|
||||||
|
<ChromeProfileOrderByFieldName> ::=
|
||||||
|
affiliationstate|
|
||||||
|
browserchannel|
|
||||||
|
browserversion|
|
||||||
|
displayname|
|
||||||
|
extensioncount|
|
||||||
|
firstenrollmenttime|
|
||||||
|
identityprovider|
|
||||||
|
lastactivitytime|
|
||||||
|
lastpolicysynctime|
|
||||||
|
laststatusreporttime|
|
||||||
|
osplatformtype|
|
||||||
|
osversion|
|
||||||
|
policycount|
|
||||||
|
profileid|
|
||||||
|
useremail
|
||||||
|
|
||||||
|
gam delete chromeprofile <ChromeProfileName>
|
||||||
|
|
||||||
|
gam info chromeprofile <ChromeProfileName>
|
||||||
|
<ChromeProfileFieldName>* [fields <ChromeProfileFieldNameList>]
|
||||||
|
gam show chromeprofiles
|
||||||
|
[filtertime.* <Time>] [filter <String>]
|
||||||
|
[orderby <ChromeProfileOrderByFieldName> [ascending|descending]]
|
||||||
|
<ChromeProfileFieldName>* [fields <ChromeProfileFieldNameList>]
|
||||||
|
[formatjson]
|
||||||
|
gam print chromeprofiles [todrive <ToDriveAttribute>*]
|
||||||
|
[filtertime.* <Time>] [filter <String>]
|
||||||
|
[orderby <ChromeProfileOrderByFieldName> [ascending|descending]]
|
||||||
|
<ChromeProfileFieldName>* [fields <ChromeProfileFieldNameList>]
|
||||||
|
[[formatjson [quotechar <Character>]]
|
||||||
|
|
||||||
# Chrome Versions Counts
|
# Chrome Versions Counts
|
||||||
|
|
||||||
gam show chromeversions
|
gam show chromeversions
|
||||||
@@ -7518,7 +7580,7 @@ gam <UserTypeEntity> show messages|threads
|
|||||||
[labelmatchpattern <RegularExpression>] [sendermatchpattern <RegularExpression>]
|
[labelmatchpattern <RegularExpression>] [sendermatchpattern <RegularExpression>]
|
||||||
[countsonly|positivecountsonly] [useronly]
|
[countsonly|positivecountsonly] [useronly]
|
||||||
[headers all|<SMTPHeaderList>] [dateheaderformat iso|rfc2822|<String>] [dateheaderconverttimezone [<Boolean>]]
|
[headers all|<SMTPHeaderList>] [dateheaderformat iso|rfc2822|<String>] [dateheaderconverttimezone [<Boolean>]]
|
||||||
[showlabels] [delimiter <Character>] [showbody] [showdate] [showsize] [showsnippet]
|
[showlabels] [delimiter <Character>] [showbody] [showhtml] [showdate] [showsize] [showsnippet]
|
||||||
[[attachmentnamepattern <RegularExpression>]
|
[[attachmentnamepattern <RegularExpression>]
|
||||||
[showattachments [noshowtextplain]]
|
[showattachments [noshowtextplain]]
|
||||||
[saveattachments [targetfolder <FilePath>] [overwrite [<Boolean>]]]
|
[saveattachments [targetfolder <FilePath>] [overwrite [<Boolean>]]]
|
||||||
@@ -7529,7 +7591,7 @@ gam <UserTypeEntity> print messages|threads [todrive <ToDriveAttribute>*]
|
|||||||
[labelmatchpattern <RegularExpression>] [sendermatchpattern <RegularExpression>]
|
[labelmatchpattern <RegularExpression>] [sendermatchpattern <RegularExpression>]
|
||||||
[countsonly|positivecountsonly] [useronly]
|
[countsonly|positivecountsonly] [useronly]
|
||||||
[headers all|<SMTPHeaderList>] [dateheaderformat iso|rfc2822|<String> [dateheaderconverttimezone [<Boolean>]]]
|
[headers all|<SMTPHeaderList>] [dateheaderformat iso|rfc2822|<String> [dateheaderconverttimezone [<Boolean>]]]
|
||||||
[showlabels] [delimiter <Character>] [showbody] [showdate] [showsize] [showsnippet]
|
[showlabels] [delimiter <Character>] [showbody] [showhtml] [showdate] [showsize] [showsnippet]
|
||||||
[convertcrnl] [delimiter <Character>]
|
[convertcrnl] [delimiter <Character>]
|
||||||
[[attachmentnamepattern <RegularExpression>]
|
[[attachmentnamepattern <RegularExpression>]
|
||||||
[showattachments [noshowtextplain]]]
|
[showattachments [noshowtextplain]]]
|
||||||
|
|||||||
@@ -1,3 +1,14 @@
|
|||||||
|
7.01.00
|
||||||
|
|
||||||
|
Fixed bug in `gam update chromepolicy` that caused some policy updates to fail.
|
||||||
|
|
||||||
|
Added option `showhtml` to `gam <UserTypeEntity> print|show messages` that, when used with `showbody`,
|
||||||
|
will display message body content of type HTML.
|
||||||
|
|
||||||
|
Added support for manageing/displaying Chrome profiles.
|
||||||
|
|
||||||
|
* See: https://github.com/GAM-team/GAM/wiki/Chrome-Profile-Management
|
||||||
|
|
||||||
7.00.40
|
7.00.40
|
||||||
|
|
||||||
Updated `gam <UserTypeEntity> update serviceaccount` to properly set the readonly scope
|
Updated `gam <UserTypeEntity> update serviceaccount` to properly set the readonly scope
|
||||||
@@ -7,6 +18,8 @@ for `[R] 35) Meet API (supports readonly)` as it is a special case.
|
|||||||
|
|
||||||
Supported MacOS versions are now in the download filename.
|
Supported MacOS versions are now in the download filename.
|
||||||
|
|
||||||
|
Minor code fixes.
|
||||||
|
|
||||||
7.00.38
|
7.00.38
|
||||||
|
|
||||||
Fixed logic flaw in `gam print|show policies` where non-matching policies were displayed.
|
Fixed logic flaw in `gam print|show policies` where non-matching policies were displayed.
|
||||||
|
|||||||
@@ -11,12 +11,15 @@ from gam.gamlib.glverlibs import GAM_VER_LIBS
|
|||||||
with open("gam/__init__.py") as f:
|
with open("gam/__init__.py") as f:
|
||||||
version_file = f.read()
|
version_file = f.read()
|
||||||
version = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]", version_file, re.M).group(1)
|
version = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]", version_file, re.M).group(1)
|
||||||
version_tuple = "(" + version.split("-")[0].replace(".", ", ") + ", 0)"
|
version_list = [int(i) for i in version.split('.')]
|
||||||
|
while len(version_list) < 4:
|
||||||
|
version_list.append(0)
|
||||||
|
version_tuple = tuple(version_list)
|
||||||
|
version_str = str(version_tuple)
|
||||||
with open("version_info.txt.in") as f:
|
with open("version_info.txt.in") as f:
|
||||||
version_info = f.read()
|
version_info = f.read()
|
||||||
version_info = version_info.replace("{VERSION}", version).replace(
|
version_info = version_info.replace("{VERSION}", version).replace(
|
||||||
"{VERSION_TUPLE}", version_tuple
|
"{VERSION_TUPLE}", version_str
|
||||||
)
|
)
|
||||||
with open("version_info.txt", "w") as f:
|
with open("version_info.txt", "w") as f:
|
||||||
f.write(version_info)
|
f.write(version_info)
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ https://github.com/GAM-team/GAM/wiki
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
__author__ = 'GAM Team <google-apps-manager@googlegroups.com>'
|
__author__ = 'GAM Team <google-apps-manager@googlegroups.com>'
|
||||||
__version__ = '7.00.40'
|
__version__ = '7.01.00'
|
||||||
__license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
|
__license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
|
||||||
|
|
||||||
#pylint: disable=wrong-import-position
|
#pylint: disable=wrong-import-position
|
||||||
@@ -25122,6 +25122,192 @@ def doUpdateBrowsers():
|
|||||||
except (GAPI.badRequest, GAPI.resourceNotFound, GAPI.forbidden):
|
except (GAPI.badRequest, GAPI.resourceNotFound, GAPI.forbidden):
|
||||||
checkEntityAFDNEorAccessErrorExit(None, Ent.CHROME_BROWSER, deviceId, i, count)
|
checkEntityAFDNEorAccessErrorExit(None, Ent.CHROME_BROWSER, deviceId, i, count)
|
||||||
|
|
||||||
|
def _getChromeProfileName():
|
||||||
|
profileName = getString(Cmd.OB_CHROMEPROFILE_ID)
|
||||||
|
if not profileName.startswith('customers'):
|
||||||
|
customerId = _getCustomerId()
|
||||||
|
profileName = f'customers/{customerId}/profiles/{profileName}'
|
||||||
|
return profileName
|
||||||
|
|
||||||
|
# gam delete chromeprofile <ChromeProfileName>
|
||||||
|
def doDeleteChromeProfile():
|
||||||
|
cm = buildGAPIObject(API.CHROMEMANAGEMENT)
|
||||||
|
profileName = _getChromeProfileName()
|
||||||
|
checkForExtraneousArguments()
|
||||||
|
try:
|
||||||
|
callGAPI(cm.customers().profiles(), 'delete',
|
||||||
|
throwReasons=[GAPI.INVALID_ARGUMENT, GAPI.NOT_FOUND, GAPI.PERMISSION_DENIED],
|
||||||
|
name=profileName)
|
||||||
|
entityActionPerformed([Ent.CHROME_PROFILE, profileName])
|
||||||
|
except (GAPI.invalidArgument, GAPI.notFound, GAPI.permissionDenied) as e:
|
||||||
|
entityActionFailedExit([Ent.CHROME_PROFILE, profileName], str(e))
|
||||||
|
|
||||||
|
CHROMEPROFILE_TIME_OBJECTS = {
|
||||||
|
'firstEnrollmentTime',
|
||||||
|
'lastActivityTime',
|
||||||
|
'lastPolicyFetchTime',
|
||||||
|
'lastPolicySyncTime',
|
||||||
|
'lastStatusReportTime',
|
||||||
|
}
|
||||||
|
|
||||||
|
def _showChromeProfile(profile, FJQC, i=0, count=0):
|
||||||
|
if FJQC.formatJSON:
|
||||||
|
printLine(json.dumps(cleanJSON(profile, timeObjects=CHROMEPROFILE_TIME_OBJECTS),
|
||||||
|
ensure_ascii=False, sort_keys=True))
|
||||||
|
return
|
||||||
|
printEntity([Ent.CHROME_PROFILE, profile['name']], i, count)
|
||||||
|
Ind.Increment()
|
||||||
|
showJSON(None, profile, timeObjects=CHROMEPROFILE_TIME_OBJECTS)
|
||||||
|
Ind.Decrement()
|
||||||
|
|
||||||
|
CHROMEPROFILE_FIELDS_CHOICE_MAP = {
|
||||||
|
'affiliationstate': 'affiliationState',
|
||||||
|
'annotatedlocation': 'annotatedLocation',
|
||||||
|
'annotateduser': 'annotatedUser',
|
||||||
|
'attestationcredential': 'attestationCredential',
|
||||||
|
'browserchannel': 'browserChannel',
|
||||||
|
'browserversion': 'browserVersion',
|
||||||
|
'deviceinfo': 'deviceInfo',
|
||||||
|
'displayname': 'displayName',
|
||||||
|
'extensioncount': 'extensionCount',
|
||||||
|
'firstenrollmenttime': 'firstEnrollmentTime',
|
||||||
|
'identityprovider':'identityProvider',
|
||||||
|
'lastactivitytime': 'lastActivityTime',
|
||||||
|
'lastpolicyfetchtime': 'lastPolicyFetchTime',
|
||||||
|
'lastpolicysynctime': 'lastPolicySyncTime',
|
||||||
|
'laststatusreporttime': 'lastStatusReportTime',
|
||||||
|
'name': 'name',
|
||||||
|
'osplatformtype': 'osPlatformType',
|
||||||
|
'osplatformversion':'osPlatformVersion',
|
||||||
|
'osversion': 'osVersion',
|
||||||
|
'policycount': 'policyCount',
|
||||||
|
'profileid': 'profileId',
|
||||||
|
'profilepermanentid': 'profilePermanentId',
|
||||||
|
'reportingdata': 'reportingData',
|
||||||
|
'useremail': 'userEmail',
|
||||||
|
'userid': 'userId',
|
||||||
|
}
|
||||||
|
|
||||||
|
# gam info chromeprofile <ChromeProfileName>
|
||||||
|
# <ChromeProfileFieldName>* [fields <ChromeProfileFieldNameList>]
|
||||||
|
# [formatjson]
|
||||||
|
def doInfoChromeProfile():
|
||||||
|
cm = buildGAPIObject(API.CHROMEMANAGEMENT)
|
||||||
|
profileName = _getChromeProfileName()
|
||||||
|
fieldsList = []
|
||||||
|
FJQC = FormatJSONQuoteChar()
|
||||||
|
while Cmd.ArgumentsRemaining():
|
||||||
|
myarg = getArgument()
|
||||||
|
if getFieldsList(myarg, CHROMEPROFILE_FIELDS_CHOICE_MAP, fieldsList, initialField='name'):
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
FJQC.GetFormatJSON(myarg)
|
||||||
|
fields = ','.join(set(fieldsList))
|
||||||
|
try:
|
||||||
|
profile = callGAPI(cm.customers().profiles(), 'get',
|
||||||
|
throwReasons=[GAPI.INVALID_ARGUMENT, GAPI.NOT_FOUND, GAPI.PERMISSION_DENIED],
|
||||||
|
name=profileName, fields=fields)
|
||||||
|
_showChromeProfile(profile, FJQC)
|
||||||
|
except (GAPI.invalidArgument, GAPI.notFound, GAPI.permissionDenied) as e:
|
||||||
|
entityActionFailedExit([Ent.CHROME_PROFILE, profileName], str(e))
|
||||||
|
|
||||||
|
CHROMEPROFILE_ORDERBY_CHOICE_MAP = {
|
||||||
|
'affiliationstate': 'affiliationState',
|
||||||
|
'browserchannel': 'browserChannel',
|
||||||
|
'browserversion': 'browserVersion',
|
||||||
|
'displayname': 'displayName',
|
||||||
|
'extensioncount': 'extensionCount',
|
||||||
|
'firstenrollmenttime': 'firstEnrollmentTime',
|
||||||
|
'identityprovider': 'identityProvider',
|
||||||
|
'lastactivitytime': 'lastActivityTime',
|
||||||
|
'lastpolicysynctime': 'lastPolicySyncTime',
|
||||||
|
'laststatusreporttime': 'lastStatusReportTime',
|
||||||
|
'osplatformtype': 'osPlatformType',
|
||||||
|
'osversion': 'osVersion',
|
||||||
|
'policycount': 'policyCount',
|
||||||
|
'profileid': 'profileId',
|
||||||
|
'useremail': 'userEmail',
|
||||||
|
}
|
||||||
|
|
||||||
|
# gam show chromeprofiles
|
||||||
|
# [filtertime.* <Time>] [filter <String>]
|
||||||
|
# [orderby <ChromeProfileOrderByFieldName> [ascending|descending]]
|
||||||
|
# <ChromeProfileFieldName>* [fields <ChromeProfileFieldNameList>]
|
||||||
|
# [formatjson]
|
||||||
|
# gam print chromeprofiles [todrive <ToDriveAttribute>*]
|
||||||
|
# [filtertime.* <Time>] [filter <String>]
|
||||||
|
# [orderby <ChromeProfileOrderByFieldName> [ascending|descending]]
|
||||||
|
# <ChromeProfileFieldName>* [fields <ChromeProfileFieldNameList>]
|
||||||
|
# [[formatjson [quotechar <Character>]]
|
||||||
|
def doPrintShowChromeProfiles():
|
||||||
|
def _printProfile(profile):
|
||||||
|
row = flattenJSON(profile, timeObjects=CHROMEPROFILE_TIME_OBJECTS)
|
||||||
|
if not FJQC.formatJSON:
|
||||||
|
csvPF.WriteRowTitles(row)
|
||||||
|
elif csvPF.CheckRowTitles(row):
|
||||||
|
csvPF.WriteRowNoFilter({'name': profile['name'], 'profileId': profile['profileId'],
|
||||||
|
'JSON': json.dumps(cleanJSON(profile, timeObjects=CHROMEPROFILE_TIME_OBJECTS),
|
||||||
|
ensure_ascii=False, sort_keys=True)})
|
||||||
|
|
||||||
|
cm = buildGAPIObject(API.CHROMEMANAGEMENT)
|
||||||
|
csvPF = CSVPrintFile(['name', 'profileId']) if Act.csvFormat() else None
|
||||||
|
FJQC = FormatJSONQuoteChar(csvPF)
|
||||||
|
OBY = OrderBy(CHROMEPROFILE_ORDERBY_CHOICE_MAP)
|
||||||
|
sortHeaders = False
|
||||||
|
fieldsList = []
|
||||||
|
cbfilter = None
|
||||||
|
filterTimes = {}
|
||||||
|
while Cmd.ArgumentsRemaining():
|
||||||
|
myarg = getArgument()
|
||||||
|
if csvPF and myarg == 'todrive':
|
||||||
|
csvPF.GetTodriveParameters()
|
||||||
|
elif getFieldsList(myarg, CHROMEPROFILE_FIELDS_CHOICE_MAP, fieldsList, initialField=['name', 'profileId']):
|
||||||
|
pass
|
||||||
|
elif myarg == 'orderby':
|
||||||
|
OBY.GetChoice()
|
||||||
|
elif myarg.startswith('filtertime'):
|
||||||
|
filterTimes[myarg] = getTimeOrDeltaFromNow()
|
||||||
|
elif myarg in {'filter', 'filters'}:
|
||||||
|
cbfilter = getString(Cmd.OB_STRING)
|
||||||
|
elif myarg == 'sortheaders':
|
||||||
|
sortHeaders = True
|
||||||
|
else:
|
||||||
|
FJQC.GetFormatJSONQuoteChar(myarg, True)
|
||||||
|
if filterTimes and filter is not None:
|
||||||
|
for filterTimeName, filterTimeValue in iter(filterTimes.items()):
|
||||||
|
cbfilter = cbfilter.replace(f'#{filterTimeName}#', filterTimeValue)
|
||||||
|
fields = getItemFieldsFromFieldsList('chromeBrowserProfiles', fieldsList)
|
||||||
|
customerId = _getCustomerId()
|
||||||
|
parent = f'customers/{customerId}'
|
||||||
|
printGettingAllAccountEntities(Ent.CHROME_PROFILE, cbfilter)
|
||||||
|
pageMessage = getPageMessage()
|
||||||
|
try:
|
||||||
|
feed = yieldGAPIpages(cm.customers().profiles(), 'list', 'chromeBrowserProfiles',
|
||||||
|
pageMessage=pageMessage,
|
||||||
|
throwReasons=[GAPI.INVALID_ARGUMENT, GAPI.PERMISSION_DENIED],
|
||||||
|
parent=parent, pageSize=200,
|
||||||
|
filter=cbfilter, orderBy=OBY.orderBy, fields=fields)
|
||||||
|
for profiles in feed:
|
||||||
|
if not csvPF:
|
||||||
|
jcount = len(profiles)
|
||||||
|
if not FJQC.formatJSON:
|
||||||
|
performActionNumItems(jcount, Ent.CHROME_PROFILE)
|
||||||
|
Ind.Increment()
|
||||||
|
j = 0
|
||||||
|
for profile in profiles:
|
||||||
|
j += 1
|
||||||
|
_showChromeProfile(profile, FJQC, j, jcount)
|
||||||
|
Ind.Decrement()
|
||||||
|
else:
|
||||||
|
for profile in profiles:
|
||||||
|
_printProfile(profile)
|
||||||
|
except (GAPI.invalidArgument, GAPI.permissionDenied) as e:
|
||||||
|
entityActionFailedExit([Ent.CHROME_PROFILE, cbfilter], str(e))
|
||||||
|
if csvPF:
|
||||||
|
if sortHeaders:
|
||||||
|
csvPF.SetSortTitles(['name', 'profileId'])
|
||||||
|
csvPF.writeCSVfile('Chrome Profiles')
|
||||||
|
|
||||||
BROWSER_ORDERBY_CHOICE_MAP = {
|
BROWSER_ORDERBY_CHOICE_MAP = {
|
||||||
'annotatedassetid': 'annotated_asset_id', 'asset': 'annotated_asset_id', 'assetid': 'annotated_asset_id',
|
'annotatedassetid': 'annotated_asset_id', 'asset': 'annotated_asset_id', 'assetid': 'annotated_asset_id',
|
||||||
'annotatedlocation': 'annotated_location', 'location': 'annotated_location',
|
'annotatedlocation': 'annotated_location', 'location': 'annotated_location',
|
||||||
@@ -27769,7 +27955,9 @@ def doUpdateChromePolicy():
|
|||||||
elif vtype == 'TYPE_BOOL':
|
elif vtype == 'TYPE_BOOL':
|
||||||
pass
|
pass
|
||||||
elif vtype == 'TYPE_ENUM':
|
elif vtype == 'TYPE_ENUM':
|
||||||
value = f"{schema['settings'][lowerField]['enum_prefix']}{value}"
|
prefix = schema['settings'][lowerField]['enum_prefix']
|
||||||
|
if not value.startswith(prefix):
|
||||||
|
value = "{prefix}{value}"
|
||||||
elif vtype == 'TYPE_LIST':
|
elif vtype == 'TYPE_LIST':
|
||||||
value = value.split(',') if value else []
|
value = value.split(',') if value else []
|
||||||
if myarg == 'chrome.users.chromebrowserupdates' and casedField == 'targetVersionPrefixSetting':
|
if myarg == 'chrome.users.chromebrowserupdates' and casedField == 'targetVersionPrefixSetting':
|
||||||
@@ -70019,6 +70207,9 @@ def printShowMessagesThreads(users, entityType):
|
|||||||
if part['mimeType'] == 'text/plain':
|
if part['mimeType'] == 'text/plain':
|
||||||
if 'data' in part['body']:
|
if 'data' in part['body']:
|
||||||
data += base64.urlsafe_b64decode(str(part['body']['data'])).decode(UTF8)+'\n'
|
data += base64.urlsafe_b64decode(str(part['body']['data'])).decode(UTF8)+'\n'
|
||||||
|
elif show_html and part['mimeType'] == 'text/html':
|
||||||
|
if 'data' in part['body']:
|
||||||
|
data += base64.urlsafe_b64decode(str(part['body']['data'])).decode(UTF8)+'\n'
|
||||||
elif part['mimeType'] == 'text/rfc822-headers':
|
elif part['mimeType'] == 'text/rfc822-headers':
|
||||||
if 'data' in part['body']:
|
if 'data' in part['body']:
|
||||||
data += _decodeHeader(base64.urlsafe_b64decode(str(part['body']['data'])).decode(UTF8)+'\n')
|
data += _decodeHeader(base64.urlsafe_b64decode(str(part['body']['data'])).decode(UTF8)+'\n')
|
||||||
@@ -70473,7 +70664,7 @@ def printShowMessagesThreads(users, entityType):
|
|||||||
convertCRNL = GC.Values[GC.CSV_OUTPUT_CONVERT_CR_NL]
|
convertCRNL = GC.Values[GC.CSV_OUTPUT_CONVERT_CR_NL]
|
||||||
delimiter = GC.Values[GC.CSV_OUTPUT_FIELD_DELIMITER]
|
delimiter = GC.Values[GC.CSV_OUTPUT_FIELD_DELIMITER]
|
||||||
countsOnly = positiveCountsOnly = includeSpamTrash = onlyUser = overwrite = save_attachments = upload_attachments = False
|
countsOnly = positiveCountsOnly = includeSpamTrash = onlyUser = overwrite = save_attachments = upload_attachments = False
|
||||||
show_all_headers = show_attachments = show_body = show_date = show_labels = show_size = show_snippet = False
|
show_all_headers = show_attachments = show_body = show_date = show_html = show_labels = show_size = show_snippet = False
|
||||||
noshow_text_plain = False
|
noshow_text_plain = False
|
||||||
attachmentNamePattern = None
|
attachmentNamePattern = None
|
||||||
targetFolderPattern = GC.Values[GC.DRIVE_DIR]
|
targetFolderPattern = GC.Values[GC.DRIVE_DIR]
|
||||||
@@ -70503,6 +70694,8 @@ def printShowMessagesThreads(users, entityType):
|
|||||||
show_date = True
|
show_date = True
|
||||||
elif myarg == 'showbody':
|
elif myarg == 'showbody':
|
||||||
show_body = True
|
show_body = True
|
||||||
|
elif myarg == 'showhtml':
|
||||||
|
show_html = True
|
||||||
elif myarg == 'showlabels':
|
elif myarg == 'showlabels':
|
||||||
show_labels = True
|
show_labels = True
|
||||||
elif myarg == 'showsize':
|
elif myarg == 'showsize':
|
||||||
@@ -70773,7 +70966,7 @@ def printShowMessagesThreads(users, entityType):
|
|||||||
# (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])* [quick|notquick] [max_to_print <Number>] [includespamtrash])|(ids <MessageIDEntity>)
|
# (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])* [quick|notquick] [max_to_print <Number>] [includespamtrash])|(ids <MessageIDEntity>)
|
||||||
# [labelmatchpattern <RegularExpression>] [sendermatchpattern <RegularExpression>]
|
# [labelmatchpattern <RegularExpression>] [sendermatchpattern <RegularExpression>]
|
||||||
# [headers all|<SMTPHeaderList>] [dateheaderformat iso|rfc2822|<String>] [dateheaderconverttimezone [<Boolean>]]
|
# [headers all|<SMTPHeaderList>] [dateheaderformat iso|rfc2822|<String>] [dateheaderconverttimezone [<Boolean>]]
|
||||||
# [showlabels] [showbody] [showdate] [showsize] [showsnippet]
|
# [showlabels] [showbody] [showhtml] [showdate] [showsize] [showsnippet]
|
||||||
# [convertcrnl] [delimiter <Character>]
|
# [convertcrnl] [delimiter <Character>]
|
||||||
# [countsonly|positivecountsonly] [useronly]
|
# [countsonly|positivecountsonly] [useronly]
|
||||||
# [[attachmentnamepattern <RegularExpression>]
|
# [[attachmentnamepattern <RegularExpression>]
|
||||||
@@ -70783,7 +70976,7 @@ def printShowMessagesThreads(users, entityType):
|
|||||||
# (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])* [quick|notquick] [max_to_show <Number>] [includespamtrash])|(ids <MessageIDEntity>)
|
# (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])* [quick|notquick] [max_to_show <Number>] [includespamtrash])|(ids <MessageIDEntity>)
|
||||||
# [labelmatchpattern <RegularExpression>] [sendermatchpattern <RegularExpression>]
|
# [labelmatchpattern <RegularExpression>] [sendermatchpattern <RegularExpression>]
|
||||||
# [headers all|<SMTPHeaderList>] [dateheaderformat iso|rfc2822|<String>] [dateheaderconverttimezone [<Boolean>]]
|
# [headers all|<SMTPHeaderList>] [dateheaderformat iso|rfc2822|<String>] [dateheaderconverttimezone [<Boolean>]]
|
||||||
# [showlabels] [showbody] [showdate] [showsize] [showsnippet]
|
# [showlabels] [showbody] [showhtml] [showdate] [showsize] [showsnippet]
|
||||||
# [countsonly|positivecountsonly] [useronly]
|
# [countsonly|positivecountsonly] [useronly]
|
||||||
# [[attachmentnamepattern <RegularExpression>]
|
# [[attachmentnamepattern <RegularExpression>]
|
||||||
# [showattachments [noshowtextplain]]
|
# [showattachments [noshowtextplain]]
|
||||||
@@ -70796,7 +70989,7 @@ def printShowMessages(users):
|
|||||||
# (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])* [quick|notquick] [max_to_print <Number>] [includespamtrash])|(ids <ThreadIDEntity>)
|
# (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])* [quick|notquick] [max_to_print <Number>] [includespamtrash])|(ids <ThreadIDEntity>)
|
||||||
# [labelmatchpattern <RegularExpression>]
|
# [labelmatchpattern <RegularExpression>]
|
||||||
# [headers all|<SMTPHeaderList>] [dateheaderformat iso|rfc2822|<String>] [dateheaderconverttimezone [<Boolean>]]
|
# [headers all|<SMTPHeaderList>] [dateheaderformat iso|rfc2822|<String>] [dateheaderconverttimezone [<Boolean>]]
|
||||||
# [showlabels] [showbody] [showdate] [showsize] [showsnippet]
|
# [showlabels] [showbody] [showhtml] [showdate] [showsize] [showsnippet]
|
||||||
# [convertcrnl] [delimiter <Character>]
|
# [convertcrnl] [delimiter <Character>]
|
||||||
# [countsonly|positivecountsonly] [useronly]
|
# [countsonly|positivecountsonly] [useronly]
|
||||||
# [[attachmentnamepattern <RegularExpression>]
|
# [[attachmentnamepattern <RegularExpression>]
|
||||||
@@ -70806,7 +70999,7 @@ def printShowMessages(users):
|
|||||||
# (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])* [quick|notquick] [max_to_show <Number>] [includespamtrash])|(ids <ThreadIDEntity>)
|
# (((query <QueryGmail> [querytime<String> <Date>]*) (matchlabel <LabelName>) [or|and])* [quick|notquick] [max_to_show <Number>] [includespamtrash])|(ids <ThreadIDEntity>)
|
||||||
# [labelmatchpattern <RegularExpression>]
|
# [labelmatchpattern <RegularExpression>]
|
||||||
# [headers all|<SMTPHeaderList>] [dateheaderformat iso|rfc2822|<String>] [dateheaderconverttimezone [<Boolean>]]
|
# [headers all|<SMTPHeaderList>] [dateheaderformat iso|rfc2822|<String>] [dateheaderconverttimezone [<Boolean>]]
|
||||||
# [showlabels] [showbody] [showdate] [showsize] [showsnippet]
|
# [showlabels] [showbody] [showhtml] [showdate] [showsize] [showsnippet]
|
||||||
# [countsonly|positivecountsonly] [useronly]
|
# [countsonly|positivecountsonly] [useronly]
|
||||||
# [[attachmentnamepattern <RegularExpression>]
|
# [[attachmentnamepattern <RegularExpression>]
|
||||||
# [showattachments [noshowtextplain]]
|
# [showattachments [noshowtextplain]]
|
||||||
@@ -75062,6 +75255,7 @@ MAIN_COMMANDS_WITH_OBJECTS = {
|
|||||||
Cmd.ARG_CHATMESSAGE: doDeleteChatMessage,
|
Cmd.ARG_CHATMESSAGE: doDeleteChatMessage,
|
||||||
Cmd.ARG_CHROMENETWORK: doDeleteChromeNetwork,
|
Cmd.ARG_CHROMENETWORK: doDeleteChromeNetwork,
|
||||||
Cmd.ARG_CHROMEPOLICY: doDeleteChromePolicy,
|
Cmd.ARG_CHROMEPOLICY: doDeleteChromePolicy,
|
||||||
|
Cmd.ARG_CHROMEPROFILE: doDeleteChromeProfile,
|
||||||
Cmd.ARG_CIGROUP: doDeleteCIGroups,
|
Cmd.ARG_CIGROUP: doDeleteCIGroups,
|
||||||
Cmd.ARG_CLASSROOMINVITATION: doDeleteClassroomInvitations,
|
Cmd.ARG_CLASSROOMINVITATION: doDeleteClassroomInvitations,
|
||||||
Cmd.ARG_CONTACT: doDeleteDomainContacts,
|
Cmd.ARG_CONTACT: doDeleteDomainContacts,
|
||||||
@@ -75142,6 +75336,7 @@ MAIN_COMMANDS_WITH_OBJECTS = {
|
|||||||
Cmd.ARG_CHATMESSAGE: doInfoChatMessage,
|
Cmd.ARG_CHATMESSAGE: doInfoChatMessage,
|
||||||
Cmd.ARG_CHATSPACE: doInfoChatSpace,
|
Cmd.ARG_CHATSPACE: doInfoChatSpace,
|
||||||
Cmd.ARG_CHROMEAPP: doInfoChromeApp,
|
Cmd.ARG_CHROMEAPP: doInfoChromeApp,
|
||||||
|
Cmd.ARG_CHROMEPROFILE: doInfoChromeProfile,
|
||||||
Cmd.ARG_CHROMESCHEMA: doInfoChromePolicySchemas,
|
Cmd.ARG_CHROMESCHEMA: doInfoChromePolicySchemas,
|
||||||
Cmd.ARG_CIGROUP: doInfoCIGroups,
|
Cmd.ARG_CIGROUP: doInfoCIGroups,
|
||||||
Cmd.ARG_CIGROUPMEMBERS: doInfoCIGroupMembers,
|
Cmd.ARG_CIGROUPMEMBERS: doInfoCIGroupMembers,
|
||||||
@@ -75228,6 +75423,7 @@ MAIN_COMMANDS_WITH_OBJECTS = {
|
|||||||
Cmd.ARG_CHROMEHISTORY: doPrintShowChromeHistory,
|
Cmd.ARG_CHROMEHISTORY: doPrintShowChromeHistory,
|
||||||
Cmd.ARG_CHROMENEEDSATTN: doPrintShowChromeNeedsAttn,
|
Cmd.ARG_CHROMENEEDSATTN: doPrintShowChromeNeedsAttn,
|
||||||
Cmd.ARG_CHROMEPOLICY: doPrintShowChromePolicies,
|
Cmd.ARG_CHROMEPOLICY: doPrintShowChromePolicies,
|
||||||
|
Cmd.ARG_CHROMEPROFILE: doPrintShowChromeProfiles,
|
||||||
Cmd.ARG_CHROMESCHEMA: doPrintShowChromeSchemas,
|
Cmd.ARG_CHROMESCHEMA: doPrintShowChromeSchemas,
|
||||||
Cmd.ARG_CHROMESNVALIDITY: doPrintChromeSnValidity,
|
Cmd.ARG_CHROMESNVALIDITY: doPrintChromeSnValidity,
|
||||||
Cmd.ARG_CHROMEVERSIONS: doPrintShowChromeVersions,
|
Cmd.ARG_CHROMEVERSIONS: doPrintShowChromeVersions,
|
||||||
@@ -75359,6 +75555,7 @@ MAIN_COMMANDS_WITH_OBJECTS = {
|
|||||||
Cmd.ARG_CHROMEHISTORY: doPrintShowChromeHistory,
|
Cmd.ARG_CHROMEHISTORY: doPrintShowChromeHistory,
|
||||||
Cmd.ARG_CHROMENEEDSATTN: doPrintShowChromeNeedsAttn,
|
Cmd.ARG_CHROMENEEDSATTN: doPrintShowChromeNeedsAttn,
|
||||||
Cmd.ARG_CHROMEPOLICY: doPrintShowChromePolicies,
|
Cmd.ARG_CHROMEPOLICY: doPrintShowChromePolicies,
|
||||||
|
Cmd.ARG_CHROMEPROFILE: doPrintShowChromeProfiles,
|
||||||
Cmd.ARG_CHROMESCHEMA: doPrintShowChromeSchemas,
|
Cmd.ARG_CHROMESCHEMA: doPrintShowChromeSchemas,
|
||||||
Cmd.ARG_CHROMEVERSIONS: doPrintShowChromeVersions,
|
Cmd.ARG_CHROMEVERSIONS: doPrintShowChromeVersions,
|
||||||
Cmd.ARG_CIGROUPMEMBERS: doShowCIGroupMembers,
|
Cmd.ARG_CIGROUPMEMBERS: doShowCIGroupMembers,
|
||||||
@@ -75541,6 +75738,7 @@ MAIN_COMMANDS_OBJ_ALIASES = {
|
|||||||
Cmd.ARG_CHROMEAPPS: Cmd.ARG_CHROMEAPP,
|
Cmd.ARG_CHROMEAPPS: Cmd.ARG_CHROMEAPP,
|
||||||
Cmd.ARG_CHROMENETWORKS: Cmd.ARG_CHROMENETWORK,
|
Cmd.ARG_CHROMENETWORKS: Cmd.ARG_CHROMENETWORK,
|
||||||
Cmd.ARG_CHROMEPOLICIES: Cmd.ARG_CHROMEPOLICY,
|
Cmd.ARG_CHROMEPOLICIES: Cmd.ARG_CHROMEPOLICY,
|
||||||
|
Cmd.ARG_CHROMEPROFILES: Cmd.ARG_CHROMEPROFILE,
|
||||||
Cmd.ARG_CHROMESCHEMAS: Cmd.ARG_CHROMESCHEMA,
|
Cmd.ARG_CHROMESCHEMAS: Cmd.ARG_CHROMESCHEMA,
|
||||||
Cmd.ARG_CIGROUPS: Cmd.ARG_CIGROUP,
|
Cmd.ARG_CIGROUPS: Cmd.ARG_CIGROUP,
|
||||||
Cmd.ARG_CIGROUPSMEMBERS: Cmd.ARG_CIGROUPMEMBERS,
|
Cmd.ARG_CIGROUPSMEMBERS: Cmd.ARG_CIGROUPMEMBERS,
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ CHAT_SPACES_DELETE = 'chatspacesdelete'
|
|||||||
CHAT_SPACES_DELETE_ADMIN = 'chatspacesdeleteadmin'
|
CHAT_SPACES_DELETE_ADMIN = 'chatspacesdeleteadmin'
|
||||||
CHROMEMANAGEMENT = 'chromemanagement'
|
CHROMEMANAGEMENT = 'chromemanagement'
|
||||||
CHROMEMANAGEMENT_APPDETAILS = 'chromemanagementappdetails'
|
CHROMEMANAGEMENT_APPDETAILS = 'chromemanagementappdetails'
|
||||||
|
CHROMEMANAGEMENT_CHROMEPROFILES = 'chromemanagementchromeprofiles'
|
||||||
CHROMEMANAGEMENT_TELEMETRY = 'chromemanagementtelemetry'
|
CHROMEMANAGEMENT_TELEMETRY = 'chromemanagementtelemetry'
|
||||||
CHROMEPOLICY = 'chromepolicy'
|
CHROMEPOLICY = 'chromepolicy'
|
||||||
CHROMEVERSIONHISTORY = 'versionhistory'
|
CHROMEVERSIONHISTORY = 'versionhistory'
|
||||||
@@ -297,6 +298,10 @@ _CLIENT_SCOPES = [
|
|||||||
'api': CHROMEMANAGEMENT_APPDETAILS,
|
'api': CHROMEMANAGEMENT_APPDETAILS,
|
||||||
'subscopes': [],
|
'subscopes': [],
|
||||||
'scope': 'https://www.googleapis.com/auth/chrome.management.appdetails.readonly'},
|
'scope': 'https://www.googleapis.com/auth/chrome.management.appdetails.readonly'},
|
||||||
|
{'name': 'Chrome Management API - Profiles',
|
||||||
|
'api': CHROMEMANAGEMENT_CHROMEPROFILES,
|
||||||
|
'subscopes': READONLY,
|
||||||
|
'scope': 'https://www.googleapis.com/auth/chrome.management.profiles'},
|
||||||
{'name': 'Chrome Management API - Telemetry read only',
|
{'name': 'Chrome Management API - Telemetry read only',
|
||||||
'api': CHROMEMANAGEMENT_TELEMETRY,
|
'api': CHROMEMANAGEMENT_TELEMETRY,
|
||||||
'subscopes': [],
|
'subscopes': [],
|
||||||
|
|||||||
@@ -483,6 +483,8 @@ class GamCLArgs():
|
|||||||
ARG_CHROMEPOLICYIMAGE = 'chromepolicyimage'
|
ARG_CHROMEPOLICYIMAGE = 'chromepolicyimage'
|
||||||
ARG_CHROMEPOLICY = 'chromepolicy'
|
ARG_CHROMEPOLICY = 'chromepolicy'
|
||||||
ARG_CHROMEPOLICIES = 'chromepolicies'
|
ARG_CHROMEPOLICIES = 'chromepolicies'
|
||||||
|
ARG_CHROMEPROFILE = 'chromeprofile'
|
||||||
|
ARG_CHROMEPROFILES = 'chromeprofiles'
|
||||||
ARG_CHROMESCHEMA = 'chromeschema'
|
ARG_CHROMESCHEMA = 'chromeschema'
|
||||||
ARG_CHROMESCHEMAS = 'chromeschemas'
|
ARG_CHROMESCHEMAS = 'chromeschemas'
|
||||||
ARG_CHROMESNVALIDITY = 'chromesnvalidity'
|
ARG_CHROMESNVALIDITY = 'chromesnvalidity'
|
||||||
@@ -846,6 +848,7 @@ class GamCLArgs():
|
|||||||
OB_CHAT_MESSAGE_ID = 'ChatMessageID'
|
OB_CHAT_MESSAGE_ID = 'ChatMessageID'
|
||||||
OB_CHAT_SPACE = 'ChatSpace'
|
OB_CHAT_SPACE = 'ChatSpace'
|
||||||
OB_CHAT_THREAD = 'ChatThread'
|
OB_CHAT_THREAD = 'ChatThread'
|
||||||
|
OB_CHROMEPROFILE_ID = 'ChromeProfileId'
|
||||||
OB_CHROME_VERSION = 'ChromeVersion'
|
OB_CHROME_VERSION = 'ChromeVersion'
|
||||||
OB_CIDR_NETMASK = 'CIDRnetmask'
|
OB_CIDR_NETMASK = 'CIDRnetmask'
|
||||||
OB_CIGROUP_ALIAS_LIST = "CIGroupAliasList"
|
OB_CIGROUP_ALIAS_LIST = "CIGroupAliasList"
|
||||||
|
|||||||
@@ -108,6 +108,7 @@ class GamEntity():
|
|||||||
CHROME_POLICY = 'cpol'
|
CHROME_POLICY = 'cpol'
|
||||||
CHROME_POLICY_IMAGE = 'cpim'
|
CHROME_POLICY_IMAGE = 'cpim'
|
||||||
CHROME_POLICY_SCHEMA = 'cpsc'
|
CHROME_POLICY_SCHEMA = 'cpsc'
|
||||||
|
CHROME_PROFILE = 'cpro'
|
||||||
CHROME_RELEASE = 'crel'
|
CHROME_RELEASE = 'crel'
|
||||||
CHROME_VERSION = 'cver'
|
CHROME_VERSION = 'cver'
|
||||||
CLASSIFICATION_LABEL = 'dlab'
|
CLASSIFICATION_LABEL = 'dlab'
|
||||||
@@ -460,6 +461,7 @@ class GamEntity():
|
|||||||
CHROME_POLICY: ['Chrome Policies', 'Chrome Policy'],
|
CHROME_POLICY: ['Chrome Policies', 'Chrome Policy'],
|
||||||
CHROME_POLICY_IMAGE: ['Chrome Policy Images', 'Chrome Policy Image'],
|
CHROME_POLICY_IMAGE: ['Chrome Policy Images', 'Chrome Policy Image'],
|
||||||
CHROME_POLICY_SCHEMA: ['Chrome Policy Schemas', 'Chrome Policy Schema'],
|
CHROME_POLICY_SCHEMA: ['Chrome Policy Schemas', 'Chrome Policy Schema'],
|
||||||
|
CHROME_PROFILE: ['Chrome Profiles', 'Chrome Profile'],
|
||||||
CHROME_RELEASE: ['Chrome Releases', 'Chrome Release'],
|
CHROME_RELEASE: ['Chrome Releases', 'Chrome Release'],
|
||||||
CHROME_VERSION: ['Chrome Versions', 'Chrome Version'],
|
CHROME_VERSION: ['Chrome Versions', 'Chrome Version'],
|
||||||
CLASSIFICATION_LABEL: ['Classification Labels', 'Classification Label'],
|
CLASSIFICATION_LABEL: ['Classification Labels', 'Classification Label'],
|
||||||
|
|||||||
Reference in New Issue
Block a user