mirror of
https://github.com/GAM-team/GAM.git
synced 2026-06-29 18:31:38 +00:00
Compare commits
33 Commits
v7.00.39
...
20241204.2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
65c2a7f3b8 | ||
|
|
74b18457d4 | ||
|
|
82ac454080 | ||
|
|
111471a5ad | ||
|
|
2bc1429ee2 | ||
|
|
25fdd76af0 | ||
|
|
ff3f31cf9e | ||
|
|
0b303ffc30 | ||
|
|
4c78c5fe9f | ||
|
|
17b97d2fb1 | ||
|
|
2193d34f76 | ||
|
|
b1c212e9f6 | ||
|
|
da58ae62a8 | ||
|
|
84d04141b3 | ||
|
|
f29c697455 | ||
|
|
a1238c6397 | ||
|
|
4dfdc3a717 | ||
|
|
7e97f68013 | ||
|
|
48ef2450fd | ||
|
|
ec769703d6 | ||
|
|
e2984ca10b | ||
|
|
7400bfab70 | ||
|
|
1870b25b0b | ||
|
|
8f7eeae4a7 | ||
|
|
f2e16c52cb | ||
|
|
759f0cfb69 | ||
|
|
e1941cb220 | ||
|
|
1af1f10974 | ||
|
|
0e3d82b718 | ||
|
|
74417bbe24 | ||
|
|
3ed60c95c2 | ||
|
|
f859d5eb26 | ||
|
|
f9848c78dc |
4
.github/workflows/build.yml
vendored
4
.github/workflows/build.yml
vendored
@@ -17,7 +17,7 @@ defaults:
|
|||||||
working-directory: src
|
working-directory: src
|
||||||
|
|
||||||
env:
|
env:
|
||||||
SCRATCH_COUNTER: 3
|
SCRATCH_COUNTER: 4
|
||||||
OPENSSL_CONFIG_OPTS: no-fips --api=3.0.0
|
OPENSSL_CONFIG_OPTS: no-fips --api=3.0.0
|
||||||
OPENSSL_INSTALL_PATH: ${{ github.workspace }}/bin/ssl
|
OPENSSL_INSTALL_PATH: ${{ github.workspace }}/bin/ssl
|
||||||
OPENSSL_SOURCE_PATH: ${{ github.workspace }}/src/openssl
|
OPENSSL_SOURCE_PATH: ${{ github.workspace }}/src/openssl
|
||||||
@@ -120,7 +120,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
path: |
|
path: |
|
||||||
cache.tar.xz
|
cache.tar.xz
|
||||||
key: gam-${{ matrix.jid }}-20241114
|
key: gam-${{ matrix.jid }}-20241203
|
||||||
|
|
||||||
- name: Untar Cache archive
|
- name: Untar Cache archive
|
||||||
if: matrix.goal == 'build' && steps.cache-python-ssl.outputs.cache-hit == 'true'
|
if: matrix.goal == 'build' && steps.cache-python-ssl.outputs.cache-hit == 'true'
|
||||||
|
|||||||
@@ -1059,6 +1059,7 @@ Specify a collection of items by directly specifying them; the item type is dete
|
|||||||
all_shortcuts |
|
all_shortcuts |
|
||||||
all_3p_shortcuts |
|
all_3p_shortcuts |
|
||||||
all_items |
|
all_items |
|
||||||
|
my_commentable_items |
|
||||||
my_docs |
|
my_docs |
|
||||||
my_files |
|
my_files |
|
||||||
my_folders |
|
my_folders |
|
||||||
@@ -1894,136 +1895,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 +2007,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 +2191,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
|
||||||
@@ -6717,12 +6780,12 @@ gam print ownership <DriveFileID>|(drivefilename <DriveFileName>) [todrive <ToDr
|
|||||||
gam <UserTypeEntity> show filecomments <DriveFileEntity>
|
gam <UserTypeEntity> show filecomments <DriveFileEntity>
|
||||||
[showdeleted] [start <Date>|<Time>]
|
[showdeleted] [start <Date>|<Time>]
|
||||||
[fields <CommentsFieldNameList>] [showphotolinks]
|
[fields <CommentsFieldNameList>] [showphotolinks]
|
||||||
[countsonly]
|
[countsonly|positivecountsonly]
|
||||||
[formatjson]
|
[formatjson]
|
||||||
gam <UserTypeEntity> print filecomments <DriveFileEntity> [todrive <ToDriveAttribute>*]
|
gam <UserTypeEntity> print filecomments <DriveFileEntity> [todrive <ToDriveAttribute>*]
|
||||||
[showdeleted] [start <Date>|<Time>]
|
[showdeleted] [start <Date>|<Time>]
|
||||||
[fields <CommentsFieldNameList>] [showphotolinks]
|
[fields <CommentsFieldNameList>] [showphotolinks]
|
||||||
[countsonly]
|
[countsonly|positivecountsonly]
|
||||||
(addcsvdata <FieldName> <String>)*
|
(addcsvdata <FieldName> <String>)*
|
||||||
[formatjson [quotechar <Character>]]
|
[formatjson [quotechar <Character>]]
|
||||||
|
|
||||||
@@ -7518,7 +7581,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 +7592,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,7 +1,79 @@
|
|||||||
|
7.01.04
|
||||||
|
|
||||||
|
Admin role assignments are now in the v1 stable API, use that and remove custom local workaround for the beta. #1724
|
||||||
|
|
||||||
|
Remove duplicate local JSON discovery files. #1724
|
||||||
|
|
||||||
|
Suppress "UserWarning: Attribute's length must be..." messages on service accounts with long emails. #1725
|
||||||
|
|
||||||
|
Added options `internal`, `internaldomains <DomainNameList>` and `external` to these commands
|
||||||
|
that expand the options for viewing group members:
|
||||||
|
```
|
||||||
|
gam info group
|
||||||
|
gam print groups
|
||||||
|
gam print|show group-members
|
||||||
|
gam info cigroup
|
||||||
|
gam print cigroups
|
||||||
|
gam print|show cigroup-members
|
||||||
|
```
|
||||||
|
By default, when listing group members, GAM does not take the domain of the member into account.
|
||||||
|
* `internal internaldomains <DomainNameList>` - Display members whose domain is in `<DomainNameList>`
|
||||||
|
* `external internaldomains <DomainNameList>` - Display members whose domain is not in `<DomainNameList>`
|
||||||
|
* `internal external internaldomains <DomainNameList>` - Display all members, indicate their category: internal or external
|
||||||
|
* `internaldomains <DomainNameList>` - Defaults to value of `domain` in `gam.cfg`
|
||||||
|
|
||||||
|
Members without an email address, e.g. `customer`, `chrome-os-device` and `cbcm-browser` are considered internal.
|
||||||
|
|
||||||
|
Updated to Python 3.13.1.
|
||||||
|
|
||||||
|
7.01.03
|
||||||
|
|
||||||
|
Fixed bug in `gam update cigroups <GroupEntity> delete|sync|update` where `cbcm-browser` and `chrome-os_device`
|
||||||
|
addresses were not properly handled.
|
||||||
|
|
||||||
|
7.01.02
|
||||||
|
|
||||||
|
Added option `positivecountsonly` to `gam <UserTypeEntity> print|show filecomments` that causes
|
||||||
|
GAM to display the number of comments and replies only for files that have comments.
|
||||||
|
|
||||||
|
Added `my_commentable_items` to `<DriveFileQueryShortcut>` that can be used with
|
||||||
|
`gam <UserTypeEntity> print|show filecomments my_commentable_items` to speed up processing.
|
||||||
|
|
||||||
|
Updated code that uses the Domain Shared Contacts API with an HTTPS proxy to avoid a trap:
|
||||||
|
```
|
||||||
|
Traceback (most recent call last):
|
||||||
|
...
|
||||||
|
File "atom/http.py", line 250, in _prepare_connection
|
||||||
|
AttributeError: module 'ssl' has no attribute 'wrap_socket'
|
||||||
|
```
|
||||||
|
|
||||||
|
7.01.01
|
||||||
|
|
||||||
|
Fixed bug in `gam <UserTypeEntity> print|show filetree` where no error message was generated
|
||||||
|
if a user had Drive disabled.
|
||||||
|
|
||||||
|
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 managing/displaying Chrome profiles.
|
||||||
|
|
||||||
|
* See: https://github.com/GAM-team/GAM/wiki/Chrome-Profile-Management
|
||||||
|
|
||||||
|
7.00.40
|
||||||
|
|
||||||
|
Updated `gam <UserTypeEntity> update serviceaccount` to properly set the readonly scope
|
||||||
|
for `[R] 35) Meet API (supports readonly)` as it is a special case.
|
||||||
|
|
||||||
7.00.39
|
7.00.39
|
||||||
|
|
||||||
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.
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,594 +0,0 @@
|
|||||||
{
|
|
||||||
"auth": {
|
|
||||||
"oauth2": {
|
|
||||||
"scopes": {
|
|
||||||
"https://www.googleapis.com/auth/admin.directory.device.chromebrowsers": {
|
|
||||||
"description": "View and manage your Chrome browsers registered with Cloud Management"
|
|
||||||
},
|
|
||||||
"https://www.googleapis.com/auth/admin.directory.device.chromebrowsers.readonly": {
|
|
||||||
"description": "View your Chrome browsers registered with Cloud Management"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"basePath": "",
|
|
||||||
"baseUrl": "https://admin.googleapis.com/admin/directory/v1.1beta1/customer/",
|
|
||||||
"batchPath": "batch",
|
|
||||||
"canonicalName": "cbcm",
|
|
||||||
"discoveryVersion": "v1",
|
|
||||||
"documentationLink": "https://support.google.com/chrome/a/answer/9681204",
|
|
||||||
"fullyEncodeReservedExpansion": true,
|
|
||||||
"icons": {
|
|
||||||
"x16": "http://www.google.com/images/icons/product/search-16.gif",
|
|
||||||
"x32": "http://www.google.com/images/icons/product/search-32.gif"
|
|
||||||
},
|
|
||||||
"id": "cbcm:v1.1beta1",
|
|
||||||
"kind": "discovery#restDescription",
|
|
||||||
"mtlsRootUrl": "https://admin.mtls.googleapis.com/",
|
|
||||||
"name": "cbcm",
|
|
||||||
"ownerDomain": "google.com",
|
|
||||||
"ownerName": "Jay Lee",
|
|
||||||
"packagePath": "cbcm",
|
|
||||||
"parameters": {
|
|
||||||
"$.xgafv": {
|
|
||||||
"description": "V1 error format.",
|
|
||||||
"enum": [
|
|
||||||
"1",
|
|
||||||
"2"
|
|
||||||
],
|
|
||||||
"enumDescriptions": [
|
|
||||||
"v1 error format",
|
|
||||||
"v2 error format"
|
|
||||||
],
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"access_token": {
|
|
||||||
"description": "OAuth access token.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"alt": {
|
|
||||||
"default": "json",
|
|
||||||
"description": "Data format for response.",
|
|
||||||
"enum": [
|
|
||||||
"json",
|
|
||||||
"media",
|
|
||||||
"proto"
|
|
||||||
],
|
|
||||||
"enumDescriptions": [
|
|
||||||
"Responses with Content-Type of application/json",
|
|
||||||
"Media download with context-dependent Content-Type",
|
|
||||||
"Responses with Content-Type of application/x-protobuf"
|
|
||||||
],
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"callback": {
|
|
||||||
"description": "JSONP",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"fields": {
|
|
||||||
"description": "Selector specifying which fields to include in a partial response.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"key": {
|
|
||||||
"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"oauth_token": {
|
|
||||||
"description": "OAuth 2.0 token for the current user.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"prettyPrint": {
|
|
||||||
"default": "true",
|
|
||||||
"description": "Returns response with indentations and line breaks.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"quotaUser": {
|
|
||||||
"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"uploadType": {
|
|
||||||
"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"upload_protocol": {
|
|
||||||
"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"protocol": "rest",
|
|
||||||
"resources": {
|
|
||||||
"chromebrowsers": {
|
|
||||||
"methods": {
|
|
||||||
"delete": {
|
|
||||||
"description": "Deletes a browser.",
|
|
||||||
"flatPath": "{customer}/devices/chromebrowsers/{deviceId}",
|
|
||||||
"httpMethod": "DELETE",
|
|
||||||
"id": "cbcm.chromebrowsers.delete",
|
|
||||||
"parameterOrder": [
|
|
||||||
"customer",
|
|
||||||
"deviceId"
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"customer": {
|
|
||||||
"description": "Immutable ID of the G Suite account.",
|
|
||||||
"location": "path",
|
|
||||||
"required": true,
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"deviceId": {
|
|
||||||
"description": "Immutable ID of the browser.",
|
|
||||||
"location": "path",
|
|
||||||
"required": true,
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"path": "{customer}/devices/chromebrowsers/{deviceId}",
|
|
||||||
"scopes": [
|
|
||||||
"https://www.googleapis.com/auth/admin.directory.device.chromebrowsers"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"get": {
|
|
||||||
"description": "Retrieves a browser.",
|
|
||||||
"flatPath": "{customer}/devices/chromebrowsers/{deviceId}",
|
|
||||||
"httpMethod": "GET",
|
|
||||||
"id": "cbcm.chromebrowsers.get",
|
|
||||||
"parameterOrder": [
|
|
||||||
"customer",
|
|
||||||
"deviceId"
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"customer": {
|
|
||||||
"description": "Immutable ID of the G Suite account.",
|
|
||||||
"location": "path",
|
|
||||||
"required": true,
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"deviceId": {
|
|
||||||
"description": "Immutable ID of the browser.",
|
|
||||||
"location": "path",
|
|
||||||
"required": true,
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"projection": {
|
|
||||||
"description": "Restrict information returned to a set of selected fields. FULL or BASIC.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"path": "{customer}/devices/chromebrowsers/{deviceId}",
|
|
||||||
"response": {
|
|
||||||
"$ref": "ChromeBrowser"
|
|
||||||
},
|
|
||||||
"scopes": [
|
|
||||||
"https://www.googleapis.com/auth/admin.directory.device.chromebrowsers",
|
|
||||||
"https://www.googleapis.com/auth/admin.directory.device.chromebrowsers.readonly"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"list": {
|
|
||||||
"description": "Retrieves a paginated list of all the browsers in a domain.",
|
|
||||||
"flatPath": "{customer}/devices/chromebrowsers",
|
|
||||||
"httpMethod": "GET",
|
|
||||||
"id": "cbcm.chromebrowsers.list",
|
|
||||||
"parameterOrder": [
|
|
||||||
"customer"
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"customer": {
|
|
||||||
"description": "Immutable ID of the G Suite account.",
|
|
||||||
"location": "path",
|
|
||||||
"required": true,
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"maxResults": {
|
|
||||||
"description": "Maximum number of results to return.",
|
|
||||||
"format": "int32",
|
|
||||||
"location": "query",
|
|
||||||
"maximum": "100",
|
|
||||||
"minimum": "1",
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"orderBy": {
|
|
||||||
"description": "property to use for sorting results.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"orgUnitPath": {
|
|
||||||
"description": "The full path of the organizational unit or its unique ID.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"pageToken": {
|
|
||||||
"description": "Token to specify the next page in the list.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"projection": {
|
|
||||||
"description": "Restrict information returned to a set of selected fields. FULL or BASIC.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"query": {
|
|
||||||
"description": "Search string using the list page query language.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"sortOrder": {
|
|
||||||
"description": "Whether to return results in ascending or descending order. Must be used with the orderBy parameter.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"path": "{customer}/devices/chromebrowsers",
|
|
||||||
"response": {
|
|
||||||
"$ref": "ChromeBrowsers"
|
|
||||||
},
|
|
||||||
"scopes": [
|
|
||||||
"https://www.googleapis.com/auth/admin.directory.device.chromebrowsers",
|
|
||||||
"https://www.googleapis.com/auth/admin.directory.device.chromebrowsers.readonly"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"moveChromeBrowsersToOu": {
|
|
||||||
"description": "Move Chrome Browsers Device between Organization Units",
|
|
||||||
"flatPath": "{customer}/devices/chromebrowsers/moveChromeBrowsersToOu",
|
|
||||||
"httpMethod": "POST",
|
|
||||||
"id": "cbcm.chromebrowsers.moveChromeBrowsersToOu",
|
|
||||||
"parameterOrder": [
|
|
||||||
"customer"
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"customer": {
|
|
||||||
"description": "Immutable ID of the G Suite account.",
|
|
||||||
"location": "path",
|
|
||||||
"required": true,
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"path": "{customer}/devices/chromebrowsers/moveChromeBrowsersToOu",
|
|
||||||
"request": {
|
|
||||||
"$ref": "MoveChromeBrowsersRequest"
|
|
||||||
},
|
|
||||||
"scopes": [
|
|
||||||
"https://www.googleapis.com/auth/admin.directory.device.chromebrowsers"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"update": {
|
|
||||||
"description": "Updates a browser.",
|
|
||||||
"flatPath": "{customer}/devices/chromebrowsers/{deviceId}",
|
|
||||||
"httpMethod": "PUT",
|
|
||||||
"id": "cbcm.chromebrowsers.update",
|
|
||||||
"parameterOrder": [
|
|
||||||
"customer",
|
|
||||||
"deviceId"
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"customer": {
|
|
||||||
"description": "Immutable ID of the G Suite account.",
|
|
||||||
"location": "path",
|
|
||||||
"required": true,
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"deviceId": {
|
|
||||||
"description": "Immutable ID of the browser.",
|
|
||||||
"location": "path",
|
|
||||||
"required": true,
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"projection": {
|
|
||||||
"description": "BASIC or FULL",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"path": "{customer}/devices/chromebrowsers/{deviceId}",
|
|
||||||
"request": {
|
|
||||||
"$ref": "ChromeBrowser"
|
|
||||||
},
|
|
||||||
"response": {
|
|
||||||
"$ref": "ChromeBrowser"
|
|
||||||
},
|
|
||||||
"scopes": [
|
|
||||||
"https://www.googleapis.com/auth/admin.directory.device.chromebrowsers"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"enrollmentTokens": {
|
|
||||||
"methods": {
|
|
||||||
"list": {
|
|
||||||
"description": "Retrieves a paginated list of all the browser entollment tokens in a domain.",
|
|
||||||
"flatPath": "{customer}/chrome/enrollmentTokens",
|
|
||||||
"httpMethod": "GET",
|
|
||||||
"id": "cbcm.enrollmentTokens.list",
|
|
||||||
"parameterOrder": [
|
|
||||||
"customer"
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"customer": {
|
|
||||||
"description": "Immutable ID of the G Suite account.",
|
|
||||||
"location": "path",
|
|
||||||
"required": true,
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"pageSize": {
|
|
||||||
"description": "Maximum number of results to return.",
|
|
||||||
"format": "int32",
|
|
||||||
"location": "query",
|
|
||||||
"maximum": "100",
|
|
||||||
"minimum": "1",
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"orgUnitPath": {
|
|
||||||
"description": "The full path of the organizational unit or its unique ID.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"pageToken": {
|
|
||||||
"description": "Token to specify the next page in the list.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"query": {
|
|
||||||
"description": "Search string using the list page query language.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"path": "{customer}/chrome/enrollmentTokens",
|
|
||||||
"response": {
|
|
||||||
"$ref": "EnrollmentTokens"
|
|
||||||
},
|
|
||||||
"scopes": [
|
|
||||||
"https://www.googleapis.com/auth/admin.directory.device.chromebrowsers",
|
|
||||||
"https://www.googleapis.com/auth/admin.directory.device.chromebrowsers.readonly"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"create": {
|
|
||||||
"description": "Creates a browser enrollment token in a domain.",
|
|
||||||
"flatPath": "{customer}/chrome/enrollmentTokens",
|
|
||||||
"httpMethod": "POST",
|
|
||||||
"id": "cbcm.enrollmentTokens.create",
|
|
||||||
"parameterOrder": [
|
|
||||||
"customer"
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"customer": {
|
|
||||||
"description": "Immutable ID of the G Suite account.",
|
|
||||||
"location": "path",
|
|
||||||
"required": true,
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"path": "{customer}/chrome/enrollmentTokens",
|
|
||||||
"request": {
|
|
||||||
"$ref": "CreateEnrollmentTokenRequest"
|
|
||||||
},
|
|
||||||
"response": {
|
|
||||||
"$ref": "EnrollmentToken"
|
|
||||||
},
|
|
||||||
"scopes": [
|
|
||||||
"https://www.googleapis.com/auth/admin.directory.device.chromebrowsers"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"revoke": {
|
|
||||||
"description": "Revokes a browser enrollment token in a domain.",
|
|
||||||
"flatPath": "{customer}/chrome/enrollmentTokens/{tokenPermanentId}:revoke",
|
|
||||||
"httpMethod": "POST",
|
|
||||||
"id": "cbcm.enrollmentTokens.revoke",
|
|
||||||
"parameterOrder": [
|
|
||||||
"customer",
|
|
||||||
"tokenPermanentId"
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"customer": {
|
|
||||||
"description": "Immutable ID of the G Suite account.",
|
|
||||||
"location": "path",
|
|
||||||
"required": true,
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"tokenPermanentId": {
|
|
||||||
"description": "Unique identifier for an enrollment token.",
|
|
||||||
"location": "path",
|
|
||||||
"required": true,
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"path": "{customer}/chrome/enrollmentTokens/{tokenPermanentId}:revoke",
|
|
||||||
"scopes": [
|
|
||||||
"https://www.googleapis.com/auth/admin.directory.device.chromebrowsers"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"revision": "20201203",
|
|
||||||
"rootUrl": "https://admin.googleapis.com/admin/directory/v1.1beta1/customer/",
|
|
||||||
"schemas": {
|
|
||||||
"ChromeBrowser": {
|
|
||||||
"id": "ChromeBrowser",
|
|
||||||
"properties": {
|
|
||||||
"annotatedAssetId": {
|
|
||||||
"description": "Asset identifier as annotated by the administrator or specified during enrollment.",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"annotatedLocation": {
|
|
||||||
"description": "Address or location of the device as annotated by the administrator.",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"annotatedNotes": {
|
|
||||||
"description": "Notes about this device as annotated by the administrator",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"annotatedUser": {
|
|
||||||
"description": "User of the device as annotated by the administrator.",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"deviceId": {
|
|
||||||
"annotations": {
|
|
||||||
"required": [
|
|
||||||
"cbcm.chromebrowsers.update"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"description": "The unique ID of the device.",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"ChromeBrowsers": {
|
|
||||||
"id": "ChromeBrowsers",
|
|
||||||
"properties": {
|
|
||||||
"browsers": {
|
|
||||||
"description": "List of Chrome browser objects.",
|
|
||||||
"items": {
|
|
||||||
"$ref": "ChromeBrowser"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
},
|
|
||||||
"etag": {
|
|
||||||
"description": "ETag of the resource.",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"kind": {
|
|
||||||
"default": "admin#directory#chromeosdevices",
|
|
||||||
"description": "Kind of resource this is.",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"nextPageToken": {
|
|
||||||
"description": "Token used to access the next page of this result. To access the next page, use this token's value in the `pageToken` query string of this request.",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"EnrollmentToken": {
|
|
||||||
"id": "EnrollmentToken",
|
|
||||||
"properties": {
|
|
||||||
"kind": {
|
|
||||||
"default": "admin#directory#chromeEnrollmentToken",
|
|
||||||
"description": "Kind of resource this is.",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"tokenId": {
|
|
||||||
"description": "Enrollment Token ID.",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"tokenPermanentId": {
|
|
||||||
"description": "Enrollment Token Permanent ID.",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"customerId": {
|
|
||||||
"description": "Immutable ID of the G Suite account.",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"orgUnitPath": {
|
|
||||||
"description": "The full path of the organizational unit or its unique ID.",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"creatorId": {
|
|
||||||
"description": "Creator ID.",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"createTime": {
|
|
||||||
"description": "Creation Time.",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"revokerId": {
|
|
||||||
"description": "Revoker ID.",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"revokeTime": {
|
|
||||||
"description": "Revoke Time",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"EnrollmentTokens": {
|
|
||||||
"id": "EnrollmentTokens",
|
|
||||||
"properties": {
|
|
||||||
"chrome_enrollment_tokens": {
|
|
||||||
"description": "List of Chrome browser enrollment token objects.",
|
|
||||||
"items": {
|
|
||||||
"$ref": "EnrollmentToken"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
},
|
|
||||||
"kind": {
|
|
||||||
"default": "admin#directory#chromeEnrollmentTokens",
|
|
||||||
"description": "Kind of resource this is.",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"nextPageToken": {
|
|
||||||
"description": "Token used to access the next page of this result. To access the next page, use this token's value in the `pageToken` query string of this request.",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"CreateEnrollmentTokenRequest": {
|
|
||||||
"id": "CreateEnrollmentTokenRequest",
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"org_unit_path": {
|
|
||||||
"description": "The full path of the organizational unit or its unique ID.",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"expire_time": {
|
|
||||||
"description": "Expiration Time.",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"token_type": {
|
|
||||||
"id": "token_type",
|
|
||||||
"annotations": {
|
|
||||||
"required": [
|
|
||||||
"cbcm.enrollmentTokens.create"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"description": "CHROME_BROWSER.",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"MoveChromeBrowsersRequest": {
|
|
||||||
"id": "MoveChromeBrowsersRequest",
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"org_unit_path": {
|
|
||||||
"annotations": {
|
|
||||||
"required": [
|
|
||||||
"cbcm.chromebrowsers.moveChromeBrowsersToOu"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"description": "Destination organization unit to move devices to. Full path of the organizational unit or its ID prefixed with id:",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"resource_ids": {
|
|
||||||
"annotations": {
|
|
||||||
"required": [
|
|
||||||
"cbcm.chromebrowsers.moveChromeBrowsersToOu"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"description": "List of unique device IDs of Chrome Browser Devices to move. A maximum of 600 browsers may be moved per request.",
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"servicePath": "",
|
|
||||||
"title": "Admin SDK API",
|
|
||||||
"version": "cbcm_v1.1beta1"
|
|
||||||
}
|
|
||||||
@@ -1,249 +0,0 @@
|
|||||||
{
|
|
||||||
"auth": {
|
|
||||||
"oauth2": {
|
|
||||||
"scopes": {
|
|
||||||
"https://www.googleapis.com/auth/admin.contact.delegation": {
|
|
||||||
"description": "View and manage your Contact Delegation"
|
|
||||||
},
|
|
||||||
"https://www.googleapis.com/auth/admin.contact.delegation.readonly": {
|
|
||||||
"description": "View your Contact Delegation"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"basePath": "",
|
|
||||||
"baseUrl": "https://admin.googleapis.com/admin/contacts/v1/",
|
|
||||||
"batchPath": "batch",
|
|
||||||
"canonicalName": "contactdelegation",
|
|
||||||
"description": "The Contact Delegation API allows Admins to delegate access of one user's, called the delegator, contacts to another user, called the delegate.",
|
|
||||||
"discoveryVersion": "v1",
|
|
||||||
"documentationLink": "https://developers.google.com/admin-sdk/contact-delegation",
|
|
||||||
"fullyEncodeReservedExpansion": true,
|
|
||||||
"icons": {
|
|
||||||
"x16": "http://www.google.com/images/icons/product/search-16.gif",
|
|
||||||
"x32": "http://www.google.com/images/icons/product/search-32.gif"
|
|
||||||
},
|
|
||||||
"id": "contactdelegation:v1",
|
|
||||||
"kind": "discovery#restDescription",
|
|
||||||
"name": "contactdelegation",
|
|
||||||
"ownerDomain": "google.com",
|
|
||||||
"ownerName": "Google",
|
|
||||||
"packagePath": "admin",
|
|
||||||
"parameters": {
|
|
||||||
"$.xgafv": {
|
|
||||||
"description": "V1 error format.",
|
|
||||||
"enum": [
|
|
||||||
"1",
|
|
||||||
"2"
|
|
||||||
],
|
|
||||||
"enumDescriptions": [
|
|
||||||
"v1 error format",
|
|
||||||
"v2 error format"
|
|
||||||
],
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"access_token": {
|
|
||||||
"description": "OAuth access token.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"alt": {
|
|
||||||
"default": "json",
|
|
||||||
"description": "Data format for response.",
|
|
||||||
"enum": [
|
|
||||||
"json",
|
|
||||||
"media",
|
|
||||||
"proto"
|
|
||||||
],
|
|
||||||
"enumDescriptions": [
|
|
||||||
"Responses with Content-Type of application/json",
|
|
||||||
"Media download with context-dependent Content-Type",
|
|
||||||
"Responses with Content-Type of application/x-protobuf"
|
|
||||||
],
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"callback": {
|
|
||||||
"description": "JSONP",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"fields": {
|
|
||||||
"description": "Selector specifying which fields to include in a partial response.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"key": {
|
|
||||||
"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"oauth_token": {
|
|
||||||
"description": "OAuth 2.0 token for the current user.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"prettyPrint": {
|
|
||||||
"default": "true",
|
|
||||||
"description": "Returns response with indentations and line breaks.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"quotaUser": {
|
|
||||||
"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"uploadType": {
|
|
||||||
"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"upload_protocol": {
|
|
||||||
"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"protocol": "rest",
|
|
||||||
"resources": {
|
|
||||||
"delegates": {
|
|
||||||
"methods": {
|
|
||||||
"create": {
|
|
||||||
"description": "Creates a contact delegations",
|
|
||||||
"flatPath": "users/{user}/delegates",
|
|
||||||
"httpMethod": "POST",
|
|
||||||
"id": "contactdelegations.delegates.create",
|
|
||||||
"parameterOrder": [
|
|
||||||
"user"
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"user": {
|
|
||||||
"description": "Email address of the delegator.",
|
|
||||||
"location": "path",
|
|
||||||
"required": true,
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"path": "users/{user}/delegates/{delegate}",
|
|
||||||
"request": {
|
|
||||||
"$ref": "Delegate"
|
|
||||||
},
|
|
||||||
"scopes": [
|
|
||||||
"https://www.googleapis.com/auth/admin.contact.delegation"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"delete": {
|
|
||||||
"description": "Deletes a contact delegation.",
|
|
||||||
"flatPath": "users/{user}/delegates/{delegate}",
|
|
||||||
"httpMethod": "DELETE",
|
|
||||||
"id": "contactdelegations.delegates.delete",
|
|
||||||
"parameterOrder": [
|
|
||||||
"user",
|
|
||||||
"delegate"
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"delegate": {
|
|
||||||
"description": "Email address of the delegate",
|
|
||||||
"location": "path",
|
|
||||||
"required": true,
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"user": {
|
|
||||||
"description": "Email address of the delegator.",
|
|
||||||
"location": "path",
|
|
||||||
"required": true,
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"path": "users/{user}/delegates/{delegate}",
|
|
||||||
"scopes": [
|
|
||||||
"https://www.googleapis.com/auth/admin.contact.delegation"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"list": {
|
|
||||||
"description": "Lists contact delegates for a user",
|
|
||||||
"flatPath": "users/{user}/delegates",
|
|
||||||
"httpMethod": "GET",
|
|
||||||
"id": "contactdelegations.delegates.list",
|
|
||||||
"parameterOrder": [
|
|
||||||
"user"
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"pageSize": {
|
|
||||||
"description": "Determines how many delegates are returned in each response. ",
|
|
||||||
"format": "int32",
|
|
||||||
"location": "query",
|
|
||||||
"minimum": "1",
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"pageToken": {
|
|
||||||
"description": "Token to specify the next page in the list.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"user": {
|
|
||||||
"description": "Email address of the delegator.",
|
|
||||||
"location": "path",
|
|
||||||
"required": true,
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"path": "users/{user}/delegates",
|
|
||||||
"response": {
|
|
||||||
"$ref": "Delegates"
|
|
||||||
},
|
|
||||||
"scopes": [
|
|
||||||
"https://www.googleapis.com/auth/admin.contact.delegation",
|
|
||||||
"https://www.googleapis.com/auth/admin.contact.delegation.readonly"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"rootUrl": "https://admin.googleapis.com/admin/contacts/v1/",
|
|
||||||
"schemas": {
|
|
||||||
"Delegate": {
|
|
||||||
"description": "JSON template for a delegate.",
|
|
||||||
"id": "Delegate",
|
|
||||||
"properties": {
|
|
||||||
"email": {
|
|
||||||
"description": "Email of the delegate.",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"Delegates": {
|
|
||||||
"id": "Delegates",
|
|
||||||
"properties": {
|
|
||||||
"delegates": {
|
|
||||||
"description": "List of delegates.",
|
|
||||||
"items": {
|
|
||||||
"$ref": "Delegate"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
},
|
|
||||||
"etag": {
|
|
||||||
"description": "ETag of the resource.",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"kind": {
|
|
||||||
"default": "",
|
|
||||||
"description": "Kind of resource this is.",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"nextPageToken": {
|
|
||||||
"description": "Token used to access the next page of this result. To access the next page, use this token's value in the `pageToken` query string of this request.",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"type": "object"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"servicePath": "",
|
|
||||||
"title": "Contact Delegation API",
|
|
||||||
"version": "v1",
|
|
||||||
"version_module": true
|
|
||||||
}
|
|
||||||
@@ -1,486 +0,0 @@
|
|||||||
{
|
|
||||||
"basePath": "",
|
|
||||||
"discoveryVersion": "v1",
|
|
||||||
"documentationLink": "https://support.google.com/datastudio",
|
|
||||||
"canonicalName": "Data Studio",
|
|
||||||
"id": "datastudio:v1",
|
|
||||||
"ownerName": "Google",
|
|
||||||
"description": "Allows programmatic viewing and editing of Data Studio assets.",
|
|
||||||
"rootUrl": "https://datastudio.googleapis.com/",
|
|
||||||
"ownerDomain": "google.com",
|
|
||||||
"mtlsRootUrl": "https://datastudio.mtls.googleapis.com/",
|
|
||||||
"batchPath": "batch",
|
|
||||||
"version_module": true,
|
|
||||||
"version": "v1",
|
|
||||||
"schemas": {
|
|
||||||
"Asset": {
|
|
||||||
"id": "Asset",
|
|
||||||
"properties": {
|
|
||||||
"title": {
|
|
||||||
"description": "The title of the asset.",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"createTime": {
|
|
||||||
"format": "google-datetime",
|
|
||||||
"description": "Date the asset was created.",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"lastViewByMeTime": {
|
|
||||||
"type": "string",
|
|
||||||
"description": "Date the asset was last viewed by me.",
|
|
||||||
"format": "google-datetime"
|
|
||||||
},
|
|
||||||
"owner": {
|
|
||||||
"type": "string",
|
|
||||||
"description": "The owner of the asset."
|
|
||||||
},
|
|
||||||
"name": {
|
|
||||||
"type": "string",
|
|
||||||
"description": "The name of the asset."
|
|
||||||
},
|
|
||||||
"trashed": {
|
|
||||||
"type": "boolean",
|
|
||||||
"description": "Value indicating if the asset is in the trash."
|
|
||||||
},
|
|
||||||
"updateTime": {
|
|
||||||
"format": "google-datetime",
|
|
||||||
"description": "Date the asset was last modified.",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"updateByMeTime": {
|
|
||||||
"description": "Date the asset was last modified by me.",
|
|
||||||
"type": "string",
|
|
||||||
"format": "google-datetime"
|
|
||||||
},
|
|
||||||
"assetType": {
|
|
||||||
"enumDescriptions": [
|
|
||||||
"Asset type not specified.",
|
|
||||||
"A report asset.",
|
|
||||||
"A data Source asset."
|
|
||||||
],
|
|
||||||
"enum": [
|
|
||||||
"ASSET_TYPE_UNSPECIFIED",
|
|
||||||
"REPORT",
|
|
||||||
"DATA_SOURCE"
|
|
||||||
],
|
|
||||||
"description": "The type of the asset.",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"description": "A Data Studio asset.",
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"SearchAssetsResponse": {
|
|
||||||
"id": "SearchAssetsResponse",
|
|
||||||
"properties": {
|
|
||||||
"assets": {
|
|
||||||
"items": {
|
|
||||||
"$ref": "Asset"
|
|
||||||
},
|
|
||||||
"type": "array",
|
|
||||||
"description": "The list of assets."
|
|
||||||
},
|
|
||||||
"nextPageToken": {
|
|
||||||
"type": "string",
|
|
||||||
"description": "A token to retrieve next page of results. Pass this value in the SearchAssetsRequest.page_token field in the subsequent call to `SearchAssets` method to retrieve the next page of results."
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"description": "Response message for DataStudioService.SearchAssets",
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"UpdatePermissionsRequest": {
|
|
||||||
"description": "Request message for DataStudioService.UpdatePermissions",
|
|
||||||
"properties": {
|
|
||||||
"updateMask": {
|
|
||||||
"description": "The list of fields to be updated. Currently not supported.",
|
|
||||||
"type": "string",
|
|
||||||
"format": "google-fieldmask"
|
|
||||||
},
|
|
||||||
"permissions": {
|
|
||||||
"description": "The permissions object to update.",
|
|
||||||
"$ref": "Permissions"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"id": "UpdatePermissionsRequest",
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"AddMembersRequest": {
|
|
||||||
"properties": {
|
|
||||||
"members": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"description": "Required. The members to add to the role. The format of a member is one of - user:alice@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-app@appspot.gserviceaccount.com"
|
|
||||||
},
|
|
||||||
"role": {
|
|
||||||
"type": "string",
|
|
||||||
"enumDescriptions": [
|
|
||||||
"Role not specified.",
|
|
||||||
"A viewer.",
|
|
||||||
"An editor.",
|
|
||||||
"An owner.",
|
|
||||||
"Link shared viewer.",
|
|
||||||
"Link shared editor."
|
|
||||||
],
|
|
||||||
"enum": [
|
|
||||||
"ROLE_UNSPECIFIED",
|
|
||||||
"VIEWER",
|
|
||||||
"EDITOR",
|
|
||||||
"OWNER",
|
|
||||||
"LINK_VIEWER",
|
|
||||||
"LINK_EDITOR"
|
|
||||||
],
|
|
||||||
"description": "Required. The role to add members to."
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"type": "object",
|
|
||||||
"id": "AddMembersRequest",
|
|
||||||
"description": "Request message for DataStudioService.AddMembers"
|
|
||||||
},
|
|
||||||
"Permissions": {
|
|
||||||
"type": "object",
|
|
||||||
"id": "Permissions",
|
|
||||||
"description": "A Data Studio asset's Permissions.",
|
|
||||||
"properties": {
|
|
||||||
"permissions": {
|
|
||||||
"description": "A map from a Role to a list of members. Role is a string representation of the Role enum. One of: - OWNER - EDITOR - VIEWER",
|
|
||||||
"additionalProperties": {
|
|
||||||
"$ref": "Members"
|
|
||||||
},
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"etag": {
|
|
||||||
"format": "byte",
|
|
||||||
"description": "etag to detect and fail concurrent modifications",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"RevokeAllPermissionsRequest": {
|
|
||||||
"description": "Request message for DataStudioService.RevokeAllPermissions",
|
|
||||||
"id": "RevokeAllPermissionsRequest",
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"members": {
|
|
||||||
"description": "Required. The members that are having their access revoked. The format of a member is one of - user:alice@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-app@appspot.gserviceaccount.com",
|
|
||||||
"items": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Members": {
|
|
||||||
"description": "A wrapper message for a list of members.",
|
|
||||||
"properties": {
|
|
||||||
"members": {
|
|
||||||
"description": "Format of string is one of - user:alice@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-app@appspot.gserviceaccount.com",
|
|
||||||
"items": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"type": "array"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"type": "object",
|
|
||||||
"id": "Members"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"name": "datastudio",
|
|
||||||
"protocol": "rest",
|
|
||||||
"baseUrl": "https://datastudio.googleapis.com/",
|
|
||||||
"title": "Data Studio API",
|
|
||||||
"revision": "20210412",
|
|
||||||
"fullyEncodeReservedExpansion": true,
|
|
||||||
"icons": {
|
|
||||||
"x32": "http://www.google.com/images/icons/product/search-32.gif",
|
|
||||||
"x16": "http://www.google.com/images/icons/product/search-16.gif"
|
|
||||||
},
|
|
||||||
"parameters": {
|
|
||||||
"quotaUser": {
|
|
||||||
"location": "query",
|
|
||||||
"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"prettyPrint": {
|
|
||||||
"location": "query",
|
|
||||||
"type": "boolean",
|
|
||||||
"description": "Returns response with indentations and line breaks.",
|
|
||||||
"default": "true"
|
|
||||||
},
|
|
||||||
"callback": {
|
|
||||||
"location": "query",
|
|
||||||
"type": "string",
|
|
||||||
"description": "JSONP"
|
|
||||||
},
|
|
||||||
"uploadType": {
|
|
||||||
"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
|
|
||||||
"type": "string",
|
|
||||||
"location": "query"
|
|
||||||
},
|
|
||||||
"upload_protocol": {
|
|
||||||
"type": "string",
|
|
||||||
"location": "query",
|
|
||||||
"description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
|
|
||||||
},
|
|
||||||
"$.xgafv": {
|
|
||||||
"enumDescriptions": [
|
|
||||||
"v1 error format",
|
|
||||||
"v2 error format"
|
|
||||||
],
|
|
||||||
"description": "V1 error format.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"1",
|
|
||||||
"2"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"oauth_token": {
|
|
||||||
"type": "string",
|
|
||||||
"location": "query",
|
|
||||||
"description": "OAuth 2.0 token for the current user."
|
|
||||||
},
|
|
||||||
"alt": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"json",
|
|
||||||
"media",
|
|
||||||
"proto"
|
|
||||||
],
|
|
||||||
"location": "query",
|
|
||||||
"description": "Data format for response.",
|
|
||||||
"enumDescriptions": [
|
|
||||||
"Responses with Content-Type of application/json",
|
|
||||||
"Media download with context-dependent Content-Type",
|
|
||||||
"Responses with Content-Type of application/x-protobuf"
|
|
||||||
],
|
|
||||||
"default": "json"
|
|
||||||
},
|
|
||||||
"fields": {
|
|
||||||
"description": "Selector specifying which fields to include in a partial response.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"access_token": {
|
|
||||||
"type": "string",
|
|
||||||
"description": "OAuth access token.",
|
|
||||||
"location": "query"
|
|
||||||
},
|
|
||||||
"key": {
|
|
||||||
"type": "string",
|
|
||||||
"location": "query",
|
|
||||||
"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"servicePath": "",
|
|
||||||
"kind": "discovery#restDescription",
|
|
||||||
"resources": {
|
|
||||||
"assets": {
|
|
||||||
"methods": {
|
|
||||||
"getPermissions": {
|
|
||||||
"parameters": {
|
|
||||||
"name": {
|
|
||||||
"type": "string",
|
|
||||||
"location": "path",
|
|
||||||
"description": "Required. The name of the asset.",
|
|
||||||
"required": true
|
|
||||||
},
|
|
||||||
"role": {
|
|
||||||
"enumDescriptions": [
|
|
||||||
"Role not specified.",
|
|
||||||
"A viewer.",
|
|
||||||
"An editor.",
|
|
||||||
"An owner.",
|
|
||||||
"Link shared viewer.",
|
|
||||||
"Link shared editor."
|
|
||||||
],
|
|
||||||
"type": "string",
|
|
||||||
"location": "query",
|
|
||||||
"description": "The role of the permssion.",
|
|
||||||
"enum": [
|
|
||||||
"ROLE_UNSPECIFIED",
|
|
||||||
"VIEWER",
|
|
||||||
"EDITOR",
|
|
||||||
"OWNER",
|
|
||||||
"LINK_VIEWER",
|
|
||||||
"LINK_EDITOR"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"id": "datastudio.assets.getPermissions",
|
|
||||||
"response": {
|
|
||||||
"$ref": "Permissions"
|
|
||||||
},
|
|
||||||
"flatPath": "v1/assets/{name}/permissions",
|
|
||||||
"path": "v1/assets/{name}/permissions",
|
|
||||||
"description": "Gets the asset's permission for a given role.",
|
|
||||||
"parameterOrder": [
|
|
||||||
"name"
|
|
||||||
],
|
|
||||||
"httpMethod": "GET"
|
|
||||||
},
|
|
||||||
"updatePermissions": {
|
|
||||||
"id": "datastudio.assets.updatePermissions",
|
|
||||||
"parameterOrder": [
|
|
||||||
"name"
|
|
||||||
],
|
|
||||||
"flatPath": "v1/assets/{name}/permissions",
|
|
||||||
"description": "Updates a permission.",
|
|
||||||
"request": {
|
|
||||||
"$ref": "UpdatePermissionsRequest"
|
|
||||||
},
|
|
||||||
"path": "v1/assets/{name}/permissions",
|
|
||||||
"parameters": {
|
|
||||||
"name": {
|
|
||||||
"description": "Required. The name of the asset.",
|
|
||||||
"location": "path",
|
|
||||||
"type": "string",
|
|
||||||
"required": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"response": {
|
|
||||||
"$ref": "Permissions"
|
|
||||||
},
|
|
||||||
"httpMethod": "PATCH"
|
|
||||||
},
|
|
||||||
"get": {
|
|
||||||
"path": "v1/{+name}",
|
|
||||||
"id": "datastudio.assets.get",
|
|
||||||
"parameterOrder": [
|
|
||||||
"name"
|
|
||||||
],
|
|
||||||
"description": "Gets the asset by name.",
|
|
||||||
"parameters": {
|
|
||||||
"name": {
|
|
||||||
"description": "Required. The name of the asset. Format: assets/{asset}",
|
|
||||||
"location": "path",
|
|
||||||
"required": true,
|
|
||||||
"pattern": "^assets/[^/]+$",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flatPath": "v1/assets/{assetsId}",
|
|
||||||
"response": {
|
|
||||||
"$ref": "Asset"
|
|
||||||
},
|
|
||||||
"httpMethod": "GET"
|
|
||||||
},
|
|
||||||
"search": {
|
|
||||||
"response": {
|
|
||||||
"$ref": "SearchAssetsResponse"
|
|
||||||
},
|
|
||||||
"path": "v1/assets:search",
|
|
||||||
"parameters": {
|
|
||||||
"pageToken": {
|
|
||||||
"type": "string",
|
|
||||||
"location": "query",
|
|
||||||
"description": "A token identifying a page of results the server should return. Use the value of SearchAssetsResponse.next_page_token returned from the previous call to `SearchAssets` method."
|
|
||||||
},
|
|
||||||
"assetTypes": {
|
|
||||||
"type": "string",
|
|
||||||
"repeated": true,
|
|
||||||
"description": "Exactly one AssetType must be specified.",
|
|
||||||
"enumDescriptions": [
|
|
||||||
"Asset type not specified.",
|
|
||||||
"A report asset.",
|
|
||||||
"A data Source asset."
|
|
||||||
],
|
|
||||||
"location": "query",
|
|
||||||
"enum": [
|
|
||||||
"ASSET_TYPE_UNSPECIFIED",
|
|
||||||
"REPORT",
|
|
||||||
"DATA_SOURCE"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"title": {
|
|
||||||
"description": "The title of assets to include. Not an exact match, works the same as search from the UI.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"owner": {
|
|
||||||
"type": "string",
|
|
||||||
"location": "query",
|
|
||||||
"description": "The email of the owner of the asset."
|
|
||||||
},
|
|
||||||
"pageSize": {
|
|
||||||
"description": "Requested page size. If unspecified, server will pick an appropriate default.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "integer",
|
|
||||||
"format": "int32"
|
|
||||||
},
|
|
||||||
"orderBy": {
|
|
||||||
"location": "query",
|
|
||||||
"description": "How the results should be ordered. Valid options are: - title",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"includeTrashed": {
|
|
||||||
"location": "query",
|
|
||||||
"type": "boolean",
|
|
||||||
"description": "Value indicating if assets in trash should be included."
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flatPath": "v1/assets:search",
|
|
||||||
"httpMethod": "GET",
|
|
||||||
"description": "Searches assets.",
|
|
||||||
"id": "datastudio.assets.search",
|
|
||||||
"parameterOrder": []
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"resources": {
|
|
||||||
"permissions": {
|
|
||||||
"methods": {
|
|
||||||
"revokeAllPermissions": {
|
|
||||||
"path": "v1/assets/{name}/permissions:revokeAllPermissions",
|
|
||||||
"response": {
|
|
||||||
"$ref": "Permissions"
|
|
||||||
},
|
|
||||||
"flatPath": "v1/assets/{name}/permissions:revokeAllPermissions",
|
|
||||||
"id": "datastudio.assets.permissions.revokeAllPermissions",
|
|
||||||
"description": "Revokes one or more members' access to an asset.",
|
|
||||||
"parameters": {
|
|
||||||
"name": {
|
|
||||||
"required": true,
|
|
||||||
"type": "string",
|
|
||||||
"location": "path",
|
|
||||||
"description": "Required. The name of the asset."
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"parameterOrder": [
|
|
||||||
"name"
|
|
||||||
],
|
|
||||||
"httpMethod": "POST",
|
|
||||||
"request": {
|
|
||||||
"$ref": "RevokeAllPermissionsRequest"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"addMembers": {
|
|
||||||
"path": "v1/assets/{name}/permissions:addMembers",
|
|
||||||
"parameters": {
|
|
||||||
"name": {
|
|
||||||
"required": true,
|
|
||||||
"location": "path",
|
|
||||||
"type": "string",
|
|
||||||
"description": "Required. The name of the asset."
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"httpMethod": "POST",
|
|
||||||
"parameterOrder": [
|
|
||||||
"name"
|
|
||||||
],
|
|
||||||
"response": {
|
|
||||||
"$ref": "Permissions"
|
|
||||||
},
|
|
||||||
"id": "datastudio.assets.permissions.addMembers",
|
|
||||||
"request": {
|
|
||||||
"$ref": "AddMembersRequest"
|
|
||||||
},
|
|
||||||
"description": "Adds one or more members to a role.",
|
|
||||||
"flatPath": "v1/assets/{name}/permissions:addMembers"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -260,16 +260,18 @@ case $gamos in
|
|||||||
# versions after 7.00.38 include MacOS version info
|
# versions after 7.00.38 include MacOS version info
|
||||||
gam_macos_vers=$(echo -e "$gam_macos_urls" | \
|
gam_macos_vers=$(echo -e "$gam_macos_urls" | \
|
||||||
grep --only-matching '\-macos[0-9\.]*' | \
|
grep --only-matching '\-macos[0-9\.]*' | \
|
||||||
cut -c 6-9)
|
cut -c 7-10)
|
||||||
for gam_mac_ver in $gam_macos_vers; do
|
for gam_mac_ver in $gam_macos_vers; do
|
||||||
echo -e "$gam_mac_ver\n"
|
|
||||||
if version_gt $currentversion $gam_mac_ver; then
|
if version_gt $currentversion $gam_mac_ver; then
|
||||||
usemac="$gam_mac_ver"
|
download_url=$(echo -e "$gam_macos_urls" | grep "$gam_mac_ver")
|
||||||
echo_green "Using GAM compiled against $usemac"
|
echo_green "You are running MacOS ${currentversion} Using GAM compiled against ${gam_mac_ver}"
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
download_url=$(echo -e "$gam_macos_urls" | grep "$usemac")
|
if [ -z ${download_url+x} ]; then
|
||||||
|
echo_red "Sorry, you are running MacOS ${osversion} but GAM on ${gamarch} requires MacOS ${gam_mac_ver} or newer. Exiting."
|
||||||
|
exit
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
# versions 7.00.38 and older don't include version info
|
# versions 7.00.38 and older don't include version info
|
||||||
case $gamarch in
|
case $gamarch in
|
||||||
|
|||||||
11
src/gam.exe.manifest
Normal file
11
src/gam.exe.manifest
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||||
|
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||||
|
<application>
|
||||||
|
<!-- Windows 8.1 / Server 2012 R2 -->
|
||||||
|
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
|
||||||
|
<!-- Windows 10+ / Server 2016+ -->
|
||||||
|
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
|
||||||
|
</application>
|
||||||
|
</compatibility>
|
||||||
|
</assembly>
|
||||||
36
src/gam.spec
36
src/gam.spec
@@ -1,20 +1,37 @@
|
|||||||
# -*- mode: python ; coding: utf-8 -*-
|
# -*- mode: python ; coding: utf-8 -*-
|
||||||
from os import getenv
|
from os import getenv
|
||||||
from re import search
|
import re
|
||||||
from sys import platform
|
from sys import platform
|
||||||
|
|
||||||
from PyInstaller.utils.hooks import copy_metadata
|
from PyInstaller.utils.hooks import copy_metadata
|
||||||
|
|
||||||
from gam.gamlib.glverlibs import GAM_VER_LIBS
|
from gam.gamlib.glverlibs import GAM_VER_LIBS
|
||||||
|
|
||||||
|
|
||||||
|
with open("gam/__init__.py") as f:
|
||||||
|
version_file = f.read()
|
||||||
|
version = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]", version_file, re.M).group(1)
|
||||||
|
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:
|
||||||
|
version_info = f.read()
|
||||||
|
version_info = version_info.replace("{VERSION}", version).replace(
|
||||||
|
"{VERSION_TUPLE}", version_str
|
||||||
|
)
|
||||||
|
with open("version_info.txt", "w") as f:
|
||||||
|
f.write(version_info)
|
||||||
|
print(version_info)
|
||||||
|
|
||||||
datas = []
|
datas = []
|
||||||
for pkg in GAM_VER_LIBS:
|
for pkg in GAM_VER_LIBS:
|
||||||
datas += copy_metadata(pkg, recursive=True)
|
datas += copy_metadata(pkg, recursive=True)
|
||||||
datas += [('admin-directory_v1.1beta1.json', '.')]
|
datas += [('gam/cbcm-v1.1beta1.json', '.')]
|
||||||
datas += [('cbcm-v1.1beta1.json', '.')]
|
datas += [('gam/contactdelegation-v1.json', '.')]
|
||||||
datas += [('contactdelegation-v1.json', '.')]
|
datas += [('gam/datastudio-v1.json', '.')]
|
||||||
datas += [('datastudio-v1.json', '.')]
|
datas += [('gam/serviceaccountlookup-v1.json', '.')]
|
||||||
datas += [('serviceaccountlookup-v1.json', '.')]
|
|
||||||
datas += [('cacerts.pem', '.')]
|
datas += [('cacerts.pem', '.')]
|
||||||
hiddenimports = [
|
hiddenimports = [
|
||||||
'gam.gamlib.yubikey',
|
'gam.gamlib.yubikey',
|
||||||
@@ -50,6 +67,8 @@ pyz = PYZ(a.pure,
|
|||||||
target_arch = None
|
target_arch = None
|
||||||
codesign_identity = None
|
codesign_identity = None
|
||||||
entitlements_file = None
|
entitlements_file = None
|
||||||
|
manifest = None
|
||||||
|
version = 'version_info.txt'
|
||||||
match platform:
|
match platform:
|
||||||
case "darwin":
|
case "darwin":
|
||||||
if getenv('arch') == 'universal2':
|
if getenv('arch') == 'universal2':
|
||||||
@@ -62,6 +81,7 @@ match platform:
|
|||||||
case "win32":
|
case "win32":
|
||||||
target_arch = None
|
target_arch = None
|
||||||
strip = False
|
strip = False
|
||||||
|
manifest = 'gam.exe.manifest'
|
||||||
case _:
|
case _:
|
||||||
target_arch = None
|
target_arch = None
|
||||||
strip = True
|
strip = True
|
||||||
@@ -83,6 +103,7 @@ if getenv('PYINSTALLER_BUILD_ONEDIR') == 'yes':
|
|||||||
debug=debug,
|
debug=debug,
|
||||||
bootloader_ignore_signals=bootloader_ignore_signals,
|
bootloader_ignore_signals=bootloader_ignore_signals,
|
||||||
strip=strip,
|
strip=strip,
|
||||||
|
manifest=manifest,
|
||||||
upx=upx,
|
upx=upx,
|
||||||
console=console,
|
console=console,
|
||||||
# put most everyting under a lib/ subfolder
|
# put most everyting under a lib/ subfolder
|
||||||
@@ -92,6 +113,7 @@ if getenv('PYINSTALLER_BUILD_ONEDIR') == 'yes':
|
|||||||
target_arch=target_arch,
|
target_arch=target_arch,
|
||||||
codesign_identity=codesign_identity,
|
codesign_identity=codesign_identity,
|
||||||
entitlements_file=entitlements_file,
|
entitlements_file=entitlements_file,
|
||||||
|
version=version,
|
||||||
)
|
)
|
||||||
coll = COLLECT(
|
coll = COLLECT(
|
||||||
exe,
|
exe,
|
||||||
@@ -115,6 +137,7 @@ else:
|
|||||||
name=name,
|
name=name,
|
||||||
debug=debug,
|
debug=debug,
|
||||||
bootloader_ignore_signals=bootloader_ignore_signals,
|
bootloader_ignore_signals=bootloader_ignore_signals,
|
||||||
|
manifest=manifest,
|
||||||
strip=strip,
|
strip=strip,
|
||||||
upx=upx,
|
upx=upx,
|
||||||
console=console,
|
console=console,
|
||||||
@@ -123,5 +146,6 @@ else:
|
|||||||
target_arch=target_arch,
|
target_arch=target_arch,
|
||||||
codesign_identity=codesign_identity,
|
codesign_identity=codesign_identity,
|
||||||
entitlements_file=entitlements_file,
|
entitlements_file=entitlements_file,
|
||||||
|
version=version,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -247,7 +247,9 @@ class ProxiedHttpClient(HttpClient):
|
|||||||
# Trivial setup for ssl socket.
|
# Trivial setup for ssl socket.
|
||||||
sslobj = None
|
sslobj = None
|
||||||
if ssl_imported:
|
if ssl_imported:
|
||||||
sslobj = ssl.wrap_socket(p_sock, None, None)
|
context = ssl.SSLContext(ssl.PROTOCOL_TLS)
|
||||||
|
context.minimum_version = ssl.TLSVersion.TLSv1_2
|
||||||
|
sslobj = context.wrap_socket(p_sock, server_hostname=url.host)
|
||||||
else:
|
else:
|
||||||
sock_ssl = socket.ssl(p_sock, None, None)
|
sock_ssl = socket.ssl(p_sock, None, None)
|
||||||
sslobj = http.client.FakeSocket(p_sock, sock_ssl)
|
sslobj = http.client.FakeSocket(p_sock, sock_ssl)
|
||||||
|
|||||||
@@ -564,9 +564,11 @@ class ProxiedHttpClient(HttpClient):
|
|||||||
# Trivial setup for ssl socket.
|
# Trivial setup for ssl socket.
|
||||||
sslobj = None
|
sslobj = None
|
||||||
if ssl is not None:
|
if ssl is not None:
|
||||||
sslobj = ssl.wrap_socket(p_sock, None, None)
|
context = ssl.SSLContext(ssl.PROTOCOL_TLS)
|
||||||
|
context.minimum_version = ssl.TLSVersion.TLSv1_2
|
||||||
|
sslobj = context.wrap_socket(p_sock, server_hostname=uri.host)
|
||||||
else:
|
else:
|
||||||
sock_ssl = socket.ssl(p_sock, None, Nonesock_)
|
sock_ssl = socket.ssl(p_sock, None, None)
|
||||||
sslobj = http.client.FakeSocket(p_sock, sock_ssl)
|
sslobj = http.client.FakeSocket(p_sock, sock_ssl)
|
||||||
# Initalize httplib and replace with the proxy socket.
|
# Initalize httplib and replace with the proxy socket.
|
||||||
connection = http.client.HTTPConnection(proxy_uri.host)
|
connection = http.client.HTTPConnection(proxy_uri.host)
|
||||||
|
|||||||
@@ -38,8 +38,8 @@ class GamAction():
|
|||||||
CLAIM_OWNERSHIP = 'clow'
|
CLAIM_OWNERSHIP = 'clow'
|
||||||
CLEAR = 'clea'
|
CLEAR = 'clea'
|
||||||
CLOSE = 'clos'
|
CLOSE = 'clos'
|
||||||
COLLECT = 'collect'
|
COLLECT = 'coll'
|
||||||
COMMENT = 'comment'
|
COMMENT = 'comm'
|
||||||
COPY = 'copy'
|
COPY = 'copy'
|
||||||
COPY_MERGE = 'copm'
|
COPY_MERGE = 'copm'
|
||||||
CREATE = 'crea'
|
CREATE = 'crea'
|
||||||
|
|||||||
@@ -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'
|
||||||
@@ -54,7 +55,6 @@ CONTACTS = 'contacts'
|
|||||||
CONTACTDELEGATION = 'contactdelegation'
|
CONTACTDELEGATION = 'contactdelegation'
|
||||||
DATATRANSFER = 'datatransfer'
|
DATATRANSFER = 'datatransfer'
|
||||||
DIRECTORY = 'directory'
|
DIRECTORY = 'directory'
|
||||||
DIRECTORY_BETA = 'directory_beta'
|
|
||||||
DOCS = 'docs'
|
DOCS = 'docs'
|
||||||
DRIVE2 = 'drive2'
|
DRIVE2 = 'drive2'
|
||||||
DRIVE3 = 'drive3'
|
DRIVE3 = 'drive3'
|
||||||
@@ -234,7 +234,6 @@ _INFO = {
|
|||||||
CONTACTDELEGATION: {'name': 'Contact Delegation API', 'version': 'v1', 'v2discovery': True, 'localjson': True},
|
CONTACTDELEGATION: {'name': 'Contact Delegation API', 'version': 'v1', 'v2discovery': True, 'localjson': True},
|
||||||
DATATRANSFER: {'name': 'Data Transfer API', 'version': 'datatransfer_v1', 'v2discovery': True, 'mappedAPI': 'admin'},
|
DATATRANSFER: {'name': 'Data Transfer API', 'version': 'datatransfer_v1', 'v2discovery': True, 'mappedAPI': 'admin'},
|
||||||
DIRECTORY: {'name': 'Directory API', 'version': 'directory_v1', 'v2discovery': True, 'mappedAPI': 'admin'},
|
DIRECTORY: {'name': 'Directory API', 'version': 'directory_v1', 'v2discovery': True, 'mappedAPI': 'admin'},
|
||||||
DIRECTORY_BETA: {'name': 'Directory API', 'version': 'directory_v1.1beta1', 'v2discovery': True, 'mappedAPI': 'admin', 'localjson': True},
|
|
||||||
DOCS: {'name': 'Docs API', 'version': 'v1', 'v2discovery': True},
|
DOCS: {'name': 'Docs API', 'version': 'v1', 'v2discovery': True},
|
||||||
DRIVE2: {'name': 'Drive API v2', 'version': 'v2', 'v2discovery': False, 'mappedAPI': 'drive'},
|
DRIVE2: {'name': 'Drive API v2', 'version': 'v2', 'v2discovery': False, 'mappedAPI': 'drive'},
|
||||||
DRIVE3: {'name': 'Drive API v3', 'version': 'v3', 'v2discovery': False, 'mappedAPI': 'drive'},
|
DRIVE3: {'name': 'Drive API v3', 'version': 'v3', 'v2discovery': False, 'mappedAPI': 'drive'},
|
||||||
@@ -297,6 +296,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': [],
|
||||||
@@ -666,7 +669,8 @@ _SVCACCT_SCOPES = [
|
|||||||
{'name': 'Meet API',
|
{'name': 'Meet API',
|
||||||
'api': MEET,
|
'api': MEET,
|
||||||
'subscopes': READONLY,
|
'subscopes': READONLY,
|
||||||
'scope': 'https://www.googleapis.com/auth/meetings.space.created'},
|
'scope': 'https://www.googleapis.com/auth/meetings.space.created',
|
||||||
|
'roscope': 'https://www.googleapis.com/auth/meetings.space.readonly'},
|
||||||
{'name': 'OAuth2 API',
|
{'name': 'OAuth2 API',
|
||||||
'api': OAUTH2,
|
'api': OAUTH2,
|
||||||
'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"
|
||||||
|
|||||||
@@ -25,14 +25,16 @@ class GamEntity():
|
|||||||
ROLE_MANAGER = 'MANAGER'
|
ROLE_MANAGER = 'MANAGER'
|
||||||
ROLE_MEMBER = 'MEMBER'
|
ROLE_MEMBER = 'MEMBER'
|
||||||
ROLE_OWNER = 'OWNER'
|
ROLE_OWNER = 'OWNER'
|
||||||
|
ROLE_LIST = [ROLE_MANAGER, ROLE_MEMBER, ROLE_OWNER]
|
||||||
ROLE_USER = 'USER'
|
ROLE_USER = 'USER'
|
||||||
ROLE_MANAGER_MEMBER = ','.join([ROLE_MANAGER, ROLE_MEMBER])
|
ROLE_MANAGER_MEMBER = ','.join([ROLE_MANAGER, ROLE_MEMBER])
|
||||||
ROLE_MANAGER_OWNER = ','.join([ROLE_MANAGER, ROLE_OWNER])
|
ROLE_MANAGER_OWNER = ','.join([ROLE_MANAGER, ROLE_OWNER])
|
||||||
ROLE_MEMBER_OWNER = ','.join([ROLE_MEMBER, ROLE_OWNER])
|
ROLE_MEMBER_OWNER = ','.join([ROLE_MEMBER, ROLE_OWNER])
|
||||||
ROLE_MANAGER_MEMBER_OWNER = ','.join([ROLE_MANAGER, ROLE_MEMBER, ROLE_OWNER])
|
ROLE_MANAGER_MEMBER_OWNER = ','.join(ROLE_LIST)
|
||||||
ROLE_PUBLIC = 'PUBLIC'
|
ROLE_PUBLIC = 'PUBLIC'
|
||||||
ROLE_ALL = ROLE_MANAGER_MEMBER_OWNER
|
ROLE_ALL = ROLE_MANAGER_MEMBER_OWNER
|
||||||
|
|
||||||
|
TYPE_CBCM_BROWSER = 'CBCM_BROWSER'
|
||||||
TYPE_CUSTOMER = 'CUSTOMER'
|
TYPE_CUSTOMER = 'CUSTOMER'
|
||||||
TYPE_EXTERNAL = 'EXTERNAL'
|
TYPE_EXTERNAL = 'EXTERNAL'
|
||||||
TYPE_OTHER = 'OTHER'
|
TYPE_OTHER = 'OTHER'
|
||||||
@@ -108,6 +110,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 +463,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'],
|
||||||
|
|||||||
@@ -116,6 +116,7 @@ LABEL_MUTATION_ILLEGAL_SELECTION = 'labelMutationIllegalSelection'
|
|||||||
LABEL_MUTATION_UNKNOWN_FIELD = 'labelMutationUnknownField'
|
LABEL_MUTATION_UNKNOWN_FIELD = 'labelMutationUnknownField'
|
||||||
LIMIT_EXCEEDED = 'limitExceeded'
|
LIMIT_EXCEEDED = 'limitExceeded'
|
||||||
LOGIN_REQUIRED = 'loginRequired'
|
LOGIN_REQUIRED = 'loginRequired'
|
||||||
|
MAIL_SERVICE_NOT_ENABLED = 'mailServiceNotEnabled'
|
||||||
MALFORMED_WORKING_LOCATION_EVENT = 'malformedWorkingLocationEvent'
|
MALFORMED_WORKING_LOCATION_EVENT = 'malformedWorkingLocationEvent'
|
||||||
MEMBER_NOT_FOUND = 'memberNotFound'
|
MEMBER_NOT_FOUND = 'memberNotFound'
|
||||||
MYDRIVE_HIERARCHY_DEPTH_LIMIT_EXCEEDED = 'myDriveHierarchyDepthLimitExceeded'
|
MYDRIVE_HIERARCHY_DEPTH_LIMIT_EXCEEDED = 'myDriveHierarchyDepthLimitExceeded'
|
||||||
@@ -536,6 +537,8 @@ class limitExceeded(Exception):
|
|||||||
pass
|
pass
|
||||||
class loginRequired(Exception):
|
class loginRequired(Exception):
|
||||||
pass
|
pass
|
||||||
|
class mailServiceNotEnabled(Exception):
|
||||||
|
pass
|
||||||
class malformedWorkingLocationEvent(Exception):
|
class malformedWorkingLocationEvent(Exception):
|
||||||
pass
|
pass
|
||||||
class memberNotFound(Exception):
|
class memberNotFound(Exception):
|
||||||
@@ -753,6 +756,7 @@ REASON_EXCEPTION_MAP = {
|
|||||||
LABEL_MUTATION_UNKNOWN_FIELD: labelMutationUnknownField,
|
LABEL_MUTATION_UNKNOWN_FIELD: labelMutationUnknownField,
|
||||||
LIMIT_EXCEEDED: limitExceeded,
|
LIMIT_EXCEEDED: limitExceeded,
|
||||||
LOGIN_REQUIRED: loginRequired,
|
LOGIN_REQUIRED: loginRequired,
|
||||||
|
MAIL_SERVICE_NOT_ENABLED: mailServiceNotEnabled,
|
||||||
MALFORMED_WORKING_LOCATION_EVENT: malformedWorkingLocationEvent,
|
MALFORMED_WORKING_LOCATION_EVENT: malformedWorkingLocationEvent,
|
||||||
MEMBER_NOT_FOUND: memberNotFound,
|
MEMBER_NOT_FOUND: memberNotFound,
|
||||||
NO_LIST_TEAMDRIVES_ADMINISTRATOR_PRIVILEGE: noListTeamDrivesAdministratorPrivilege,
|
NO_LIST_TEAMDRIVES_ADMINISTRATOR_PRIVILEGE: noListTeamDrivesAdministratorPrivilege,
|
||||||
|
|||||||
@@ -457,6 +457,7 @@ SCHEMA_WOULD_HAVE_NO_FIELDS = '{0} would have no {1}'
|
|||||||
SELECTED = 'Selected'
|
SELECTED = 'Selected'
|
||||||
SERVICE_NOT_APPLICABLE = 'Service not applicable/Does not exist'
|
SERVICE_NOT_APPLICABLE = 'Service not applicable/Does not exist'
|
||||||
SERVICE_NOT_APPLICABLE_THIS_ADDRESS = 'Service not applicable for this address: {0}'
|
SERVICE_NOT_APPLICABLE_THIS_ADDRESS = 'Service not applicable for this address: {0}'
|
||||||
|
SERVICE_NOT_ENABLED = '{0} Service/App not enabled'
|
||||||
SHORTCUT_TARGET_CAPABILITY_IS_FALSE = '{0} capability {1} is False'
|
SHORTCUT_TARGET_CAPABILITY_IS_FALSE = '{0} capability {1} is False'
|
||||||
STARTING_THREAD = 'Starting thread'
|
STARTING_THREAD = 'Starting thread'
|
||||||
STATISTICS_COPY_FILE = 'Total: {0}, Copied: {1}, Shortcut created {2}, Shortcut exists {3}, Duplicate: {4}, Copy Failed: {5}, Not copyable: {6}, In skipids: {7}, Permissions Failed: {8}, Protected Ranges Failed: {9}'
|
STATISTICS_COPY_FILE = 'Total: {0}, Copied: {1}, Shortcut created {2}, Shortcut exists {3}, Duplicate: {4}, Copy Failed: {5}, Not copyable: {6}, In skipids: {7}, Permissions Failed: {8}, Protected Ranges Failed: {9}'
|
||||||
|
|||||||
@@ -1,141 +0,0 @@
|
|||||||
{
|
|
||||||
"basePath": "",
|
|
||||||
"baseUrl": "https://www.googleapis.com/service_accounts/v1",
|
|
||||||
"canonicalName": "serviceaccountlookup",
|
|
||||||
"description": "Pseudo-API to lookup public certificates for a service account anonymously",
|
|
||||||
"discoveryVersion": "v1",
|
|
||||||
"documentationLink": "https://example.com/",
|
|
||||||
"fullyEncodeReservedExpansion": true,
|
|
||||||
"icons": {
|
|
||||||
"x16": "http://www.google.com/images/icons/product/search-16.gif",
|
|
||||||
"x32": "http://www.google.com/images/icons/product/search-32.gif"
|
|
||||||
},
|
|
||||||
"id": "serviceaccountlookup:v1",
|
|
||||||
"kind": "discovery#restDescription",
|
|
||||||
"name": "serviceaccountlookup",
|
|
||||||
"ownerDomain": "google.com",
|
|
||||||
"ownerName": "Google",
|
|
||||||
"packagePath": "admin",
|
|
||||||
"parameters": {
|
|
||||||
"$.xgafv": {
|
|
||||||
"description": "V1 error format.",
|
|
||||||
"enum": [
|
|
||||||
"1",
|
|
||||||
"2"
|
|
||||||
],
|
|
||||||
"enumDescriptions": [
|
|
||||||
"v1 error format",
|
|
||||||
"v2 error format"
|
|
||||||
],
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"access_token": {
|
|
||||||
"description": "OAuth access token.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"alt": {
|
|
||||||
"default": "json",
|
|
||||||
"description": "Data format for response.",
|
|
||||||
"enum": [
|
|
||||||
"json",
|
|
||||||
"media",
|
|
||||||
"proto"
|
|
||||||
],
|
|
||||||
"enumDescriptions": [
|
|
||||||
"Responses with Content-Type of application/json",
|
|
||||||
"Media download with context-dependent Content-Type",
|
|
||||||
"Responses with Content-Type of application/x-protobuf"
|
|
||||||
],
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"callback": {
|
|
||||||
"description": "JSONP",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"fields": {
|
|
||||||
"description": "Selector specifying which fields to include in a partial response.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"key": {
|
|
||||||
"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"oauth_token": {
|
|
||||||
"description": "OAuth 2.0 token for the current user.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"prettyPrint": {
|
|
||||||
"default": "true",
|
|
||||||
"description": "Returns response with indentations and line breaks.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"quotaUser": {
|
|
||||||
"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"uploadType": {
|
|
||||||
"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"upload_protocol": {
|
|
||||||
"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
|
|
||||||
"location": "query",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"protocol": "rest",
|
|
||||||
"resources": {
|
|
||||||
"serviceaccounts": {
|
|
||||||
"methods": {
|
|
||||||
"lookup": {
|
|
||||||
"description": "Lookup",
|
|
||||||
"flatPath": "metadata/x509/{account}",
|
|
||||||
"httpMethod": "GET",
|
|
||||||
"id": "serviceaccountslookup.lookup",
|
|
||||||
"parameterOrder": [
|
|
||||||
"account"
|
|
||||||
],
|
|
||||||
"parameters": {
|
|
||||||
"account": {
|
|
||||||
"description": "Email or ID of the service account.",
|
|
||||||
"location": "path",
|
|
||||||
"required": true,
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"path": "metadata/x509/{account}",
|
|
||||||
"response": {
|
|
||||||
"$ref": "Certificates"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"rootUrl": "https://www.googleapis.com/service_accounts/v1",
|
|
||||||
"schemas": {
|
|
||||||
"Certificates": {
|
|
||||||
"description": "JSON template for certificates.",
|
|
||||||
"id": "Certificates",
|
|
||||||
"properties": {
|
|
||||||
"email": { "description": "Email of the delegate.",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"type": "object"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"servicePath": "",
|
|
||||||
"title": "Service Account Lookup Pseudo-API",
|
|
||||||
"version": "v1",
|
|
||||||
"version_module": true
|
|
||||||
}
|
|
||||||
42
src/version_info.txt.in
Normal file
42
src/version_info.txt.in
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
# UTF-8
|
||||||
|
#
|
||||||
|
# For more details about fixed file info 'ffi' see:
|
||||||
|
# http://msdn.microsoft.com/en-us/library/ms646997.aspx
|
||||||
|
VSVersionInfo(
|
||||||
|
ffi=FixedFileInfo(
|
||||||
|
# filevers and prodvers should be always a tuple with four items: (1, 2, 3, 4)
|
||||||
|
# Set not needed items to zero 0.
|
||||||
|
filevers={VERSION_TUPLE},
|
||||||
|
prodvers={VERSION_TUPLE},
|
||||||
|
# Contains a bitmask that specifies the valid bits 'flags'r
|
||||||
|
mask=0x3f,
|
||||||
|
# Contains a bitmask that specifies the Boolean attributes of the file.
|
||||||
|
flags=0x0,
|
||||||
|
# The operating system for which this file was designed.
|
||||||
|
# 0x4 - NT and there is no need to change it.
|
||||||
|
OS=0x4,
|
||||||
|
# The general type of file.
|
||||||
|
# 0x1 - the file is an application.
|
||||||
|
fileType=0x2,
|
||||||
|
# The function of the file.
|
||||||
|
# 0x0 - the function is not defined for this fileType
|
||||||
|
subtype=0x0,
|
||||||
|
# Creation date and time stamp.
|
||||||
|
date=(0, 0)
|
||||||
|
),
|
||||||
|
kids=[
|
||||||
|
StringFileInfo(
|
||||||
|
[
|
||||||
|
StringTable(
|
||||||
|
'040904b0',
|
||||||
|
[StringStruct('CompanyName', 'GAM-team'),
|
||||||
|
StringStruct('FileDescription', 'CLI for Google Workspace admins'),
|
||||||
|
StringStruct('FileVersion', '{VERSION}'),
|
||||||
|
StringStruct('LegalCopyright', 'Copyright (c) 2024 GAM team'),
|
||||||
|
StringStruct('OriginalFilename', 'gam.exe'),
|
||||||
|
StringStruct('ProductName', 'GAM'),
|
||||||
|
StringStruct('ProductVersion', '{VERSION}')])
|
||||||
|
]),
|
||||||
|
VarFileInfo([VarStruct('Translation', [1033, 1200])])
|
||||||
|
]
|
||||||
|
)
|
||||||
Reference in New Issue
Block a user