on develop help sign in
.gitignore+1
since splitsnapshots
unifiedsplit
@@ -15,6 +15,7 @@ vendor
15.vagrant.d
15.vagrant.d
16.stack-work
16.stack-work
17bin
17bin
18+/doc
18
19
19# CTAGS
20# CTAGS
20TAGS
21TAGS
.travis.yml+388−191
@@ -1,14 +1,15 @@
1sudo: false
1sudo: false
2−
2+language: c
3−env:
4− global:
5− - DOC_REF: github.com/brendanhay/gogol-doc.git
6− - secure: "e8/e9v3up3L8uzoeUiE+u51JXNtY4run3LPPnUD3l5znUCy4ginsW7Eg3NYyuCq8yyI2QdxFZjD/+5+kHJwmIF02u57F6a8YUUsKu15pqIMB+zPsF+3MftNy+R7c4LvZGqEFwJPX1+yFOn41Wtx+7qawSXht4lqD/nLdbI79tPZxX05ApDnPnoNn6725iE61H8lw+DlXttxemRh5OowXfIaOFbGw0WEQ+oZ2UWTdUUTCyQ7OLZp2H0Mzvh22ym09/UWKXGmuYMZ1AxzqnSabSqEIDhx9gWsEf/cmiVjQTbcLh7sB6u5O0vt6puz5002yvl+EUtKQr2KPEimbkykAvHEuZycD79p6k2pqrhib0XVsCmIxiMmOcSQI4EQnjtosTZac8UeZpvaQomue5CGzM123rmKcD76X7VtSNgWmhoucu+Mo8BFW2JWyA5egLpYkKZe04fWbD6wTxco6mm0LgxwwITRAY/6dDrpPwzZjyJ6wvC4zDZ/wAe+gcYupRXSGJlQrHaabxJKxdGdX20TaogaYDWFdAHBCq3x3PDTUT08a2VsSQ76t1HQ1Eu0cOFXKcrPIpW58K1sFeEJgz638RlRHGCT2yIuWJmF/bdXXYRXGo/7Xl8SzptXalwdrcv+xZGTKNwZzqBgdzg5A4ogqiMLUin6VQi+EOALzgKsOuj4="
7−
8cache:
3cache:
9 apt: true
4 apt: true
10 directories:
5 directories:
6+ - $HOME/.ghc
7+ - $HOME/.cabal
11− - ~/.stack
8+ - $HOME/.stack
9+
10+env:
11+ global:
12+ - secure: 'ewXPUNd7qcveZrgQdpX1edCRIrvZjkfKKP/CphCcEdbh2A/u9hw5U8O8vDs9baxgakriOTFKW3eDKPL0rF6I84GK7HdXiqugKIn26/H0gH5776PP+70t2y047xZPnrjFh37mnKSbY8xg/nUYq3Iw7R2ltY7+rpEJ4GkW6kg+x6oww44DmfiAw74hqNoRAxIj5jZWGw1CC5rn7y8DBo9AQ/p74M6RGsP6A94qpOnvVghg/OnhVVKLv1w3dRhuY5fmOC7SsNVLq44MDjDBpJ4GdSUbyR7tpD1rR4CoIxa5F6/zuNGE9zpToLkiToqO83dkthG1dlnMYmv8iAF1/yjxFNvCEtoOs+sFhQSomYaypwE9Gx3U/u8B0ohZp5AI09i3FoVVYI+ioXxeUL/WDtjwMTRS/Yt799kuxAw45zqbR5Pm0SKHtL6LN0qnpVaqU7R2X0glvie/3MNf5usagahsebm0sfl/78rJXSOGQkbo2YBiAb8lAREfZ6hQpXNH4W8b6xumO4DKwd9pycCdz63XYPj9XiJdboFeEMhz0nHdEe2SLdiOE5e7Ab6H8KK78uxJ8dbno4EfLqoiU0s6A5SSzvQG1oFvfwWp2QICfV3j937ZxOqS7tD3/EfpTaOOLZCK3k/LeWkk2+r11uMwNAHaHU9bReFaIPJU60mf212A2l8='
12
13
13branches:
14branches:
14 only:
15 only:
@@ -28,198 +29,394 @@ script:
28
29
29matrix:
30matrix:
30 fast_finish: true
31 fast_finish: true
31− allow_failures:
32− # This is due to the constant GHC ExitFailure (-9) that occurs on
33− # the non-GCE/container infrastructure.
34− - env: GHCVER=7.10.2 LIBRARY=gogol-dfareporting
35−
36 include:
32 include:
37− # Below is auto-generated by ./scripts/travis-matrix >> .travis.yml
33+# GENERATED
38
34
39 # Documentation
35 # Documentation
40− - env: GHCVER=7.10.2 LIBRARY=documentation
36+ - env: GHCVER=8.2.2 LIBRARY=documentation
41− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
37+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
42
38
43 # Core
39 # Core
40+ - env: GHCVER=8.6.3 LIBRARY=gogol-core
41+ addons: { apt: { packages: [ghc-8.6.3], sources: [hvr-ghc] } }
42+ - env: GHCVER=8.4.4 LIBRARY=gogol-core
43+ addons: { apt: { packages: [ghc-8.4.4], sources: [hvr-ghc] } }
44− - env: GHCVER=7.10.2 LIBRARY=gogol-core
44+ - env: GHCVER=8.2.2 LIBRARY=gogol-core
45− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
45+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
46+ - env: GHCVER=8.6.3 LIBRARY=gogol
47+ addons: { apt: { packages: [ghc-8.6.3], sources: [hvr-ghc] } }
48+ - env: GHCVER=8.4.4 LIBRARY=gogol
49+ addons: { apt: { packages: [ghc-8.4.4], sources: [hvr-ghc] } }
46− - env: GHCVER=7.10.2 LIBRARY=gogol
50+ - env: GHCVER=8.2.2 LIBRARY=gogol
47− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
51+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
48
52
49 # Priority
53 # Priority
50− - env: GHCVER=7.10.2 LIBRARY=gogol-compute
54+ - env: GHCVER=8.6.3 LIBRARY=gogol-compute
55+ addons: { apt: { packages: [ghc-8.6.3], sources: [hvr-ghc] } }
56+ - env: GHCVER=8.4.4 LIBRARY=gogol-compute
57+ addons: { apt: { packages: [ghc-8.4.4], sources: [hvr-ghc] } }
58+ - env: GHCVER=8.2.2 LIBRARY=gogol-compute
59+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
60+ - env: GHCVER=8.6.3 LIBRARY=gogol-drive
61+ addons: { apt: { packages: [ghc-8.6.3], sources: [hvr-ghc] } }
62+ - env: GHCVER=8.4.4 LIBRARY=gogol-drive
63+ addons: { apt: { packages: [ghc-8.4.4], sources: [hvr-ghc] } }
64+ - env: GHCVER=8.2.2 LIBRARY=gogol-drive
65+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
66+ - env: GHCVER=8.6.3 LIBRARY=gogol-appengine
67+ addons: { apt: { packages: [ghc-8.6.3], sources: [hvr-ghc] } }
68+ - env: GHCVER=8.4.4 LIBRARY=gogol-appengine
69+ addons: { apt: { packages: [ghc-8.4.4], sources: [hvr-ghc] } }
70+ - env: GHCVER=8.2.2 LIBRARY=gogol-appengine
71+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
72+ - env: GHCVER=8.6.3 LIBRARY=gogol-storage
73+ addons: { apt: { packages: [ghc-8.6.3], sources: [hvr-ghc] } }
74+ - env: GHCVER=8.4.4 LIBRARY=gogol-storage
51− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
75+ addons: { apt: { packages: [ghc-8.4.4], sources: [hvr-ghc] } }
52− - env: GHCVER=7.10.2 LIBRARY=gogol-drive
76+ - env: GHCVER=8.2.2 LIBRARY=gogol-storage
53− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
77+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
54− - env: GHCVER=7.10.2 LIBRARY=gogol-appengine
78+ - env: GHCVER=8.6.3 LIBRARY=gogol-oauth2
55− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
79+ addons: { apt: { packages: [ghc-8.6.3], sources: [hvr-ghc] } }
56− - env: GHCVER=7.10.2 LIBRARY=gogol-storage
80+ - env: GHCVER=8.4.4 LIBRARY=gogol-oauth2
57− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
81+ addons: { apt: { packages: [ghc-8.4.4], sources: [hvr-ghc] } }
58− - env: GHCVER=7.10.2 LIBRARY=gogol-oauth2
82+ - env: GHCVER=8.2.2 LIBRARY=gogol-oauth2
59− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
83+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
84+ - env: GHCVER=8.6.3 LIBRARY=gogol-gmail
85+ addons: { apt: { packages: [ghc-8.6.3], sources: [hvr-ghc] } }
86+ - env: GHCVER=8.4.4 LIBRARY=gogol-gmail
87+ addons: { apt: { packages: [ghc-8.4.4], sources: [hvr-ghc] } }
60− - env: GHCVER=7.10.2 LIBRARY=gogol-gmail
88+ - env: GHCVER=8.2.2 LIBRARY=gogol-gmail
61− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
89+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
62
90
63 # Remainder
91 # Remainder
64− - env: GHCVER=7.10.2 LIBRARY=gogol-adexchange-buyer
92+ - env: GHCVER=8.2.2 LIBRARY=gogol-abusiveexperiencereport
65− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
93+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
66− - env: GHCVER=7.10.2 LIBRARY=gogol-adexchange-seller
94+ - env: GHCVER=8.2.2 LIBRARY=gogol-acceleratedmobilepageurl
67− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
95+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
68− - env: GHCVER=7.10.2 LIBRARY=gogol-admin-datatransfer
96+ - env: GHCVER=8.2.2 LIBRARY=gogol-accessapproval
69− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
97+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
70− - env: GHCVER=7.10.2 LIBRARY=gogol-admin-directory
98+ - env: GHCVER=8.2.2 LIBRARY=gogol-accesscontextmanager
71− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
99+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
72− - env: GHCVER=7.10.2 LIBRARY=gogol-admin-emailmigration
100+ - env: GHCVER=8.2.2 LIBRARY=gogol-adexchange-buyer
73− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
101+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
74− - env: GHCVER=7.10.2 LIBRARY=gogol-admin-reports
102+ - env: GHCVER=8.2.2 LIBRARY=gogol-adexchangebuyer2
75− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
103+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
76− - env: GHCVER=7.10.2 LIBRARY=gogol-adsense
104+ - env: GHCVER=8.2.2 LIBRARY=gogol-adexchange-seller
77− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
105+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
78− - env: GHCVER=7.10.2 LIBRARY=gogol-adsense-host
106+ - env: GHCVER=8.2.2 LIBRARY=gogol-adexperiencereport
79− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
107+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
80− - env: GHCVER=7.10.2 LIBRARY=gogol-affiliates
108+ - env: GHCVER=8.2.2 LIBRARY=gogol-admin-datatransfer
81− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
109+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
82− - env: GHCVER=7.10.2 LIBRARY=gogol-analytics
110+ - env: GHCVER=8.2.2 LIBRARY=gogol-admin-directory
83− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
111+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
84− - env: GHCVER=7.10.2 LIBRARY=gogol-android-enterprise
112+ - env: GHCVER=8.2.2 LIBRARY=gogol-admin-reports
85− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
113+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
86− - env: GHCVER=7.10.2 LIBRARY=gogol-android-publisher
114+ - env: GHCVER=8.2.2 LIBRARY=gogol-adsense
87− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
115+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
88− - env: GHCVER=7.10.2 LIBRARY=gogol-apps-activity
116+ - env: GHCVER=8.2.2 LIBRARY=gogol-adsense-host
89− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
117+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
90− - env: GHCVER=7.10.2 LIBRARY=gogol-apps-calendar
118+ - env: GHCVER=8.2.2 LIBRARY=gogol-alertcenter
91− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
119+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
92− - env: GHCVER=7.10.2 LIBRARY=gogol-apps-licensing
120+ - env: GHCVER=8.2.2 LIBRARY=gogol-analytics
93− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
121+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
94− - env: GHCVER=7.10.2 LIBRARY=gogol-apps-reseller
122+ - env: GHCVER=8.2.2 LIBRARY=gogol-analyticsreporting
95− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
123+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
96− - env: GHCVER=7.10.2 LIBRARY=gogol-apps-tasks
124+ - env: GHCVER=8.2.2 LIBRARY=gogol-androiddeviceprovisioning
97− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
125+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
98− - env: GHCVER=7.10.2 LIBRARY=gogol-appstate
126+ - env: GHCVER=8.2.2 LIBRARY=gogol-android-enterprise
99− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
127+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
100− - env: GHCVER=7.10.2 LIBRARY=gogol-autoscaler
128+ - env: GHCVER=8.2.2 LIBRARY=gogol-androidmanagement
101− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
129+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
102− - env: GHCVER=7.10.2 LIBRARY=gogol-bigquery
130+ - env: GHCVER=8.2.2 LIBRARY=gogol-android-publisher
103− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
131+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
104− - env: GHCVER=7.10.2 LIBRARY=gogol-billing
132+ - env: GHCVER=8.2.2 LIBRARY=gogol-apps-activity
105− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
133+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
106− - env: GHCVER=7.10.2 LIBRARY=gogol-blogger
134+ - env: GHCVER=8.2.2 LIBRARY=gogol-apps-calendar
107− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
135+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
108− - env: GHCVER=7.10.2 LIBRARY=gogol-books
136+ - env: GHCVER=8.2.2 LIBRARY=gogol-apps-licensing
109− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
137+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
110− - env: GHCVER=7.10.2 LIBRARY=gogol-civicinfo
138+ - env: GHCVER=8.2.2 LIBRARY=gogol-apps-reseller
111− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
139+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
112− - env: GHCVER=7.10.2 LIBRARY=gogol-classroom
140+ - env: GHCVER=8.2.2 LIBRARY=gogol-apps-tasks
113− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
141+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
114− - env: GHCVER=7.10.2 LIBRARY=gogol-container
142+ - env: GHCVER=8.2.2 LIBRARY=gogol-appstate
115− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
143+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
116− - env: GHCVER=7.10.2 LIBRARY=gogol-customsearch
144+ - env: GHCVER=8.2.2 LIBRARY=gogol-bigquery
117− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
145+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
118− - env: GHCVER=7.10.2 LIBRARY=gogol-dataflow
146+ - env: GHCVER=8.2.2 LIBRARY=gogol-bigquerydatatransfer
119− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
147+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
120− - env: GHCVER=7.10.2 LIBRARY=gogol-datastore
148+ - env: GHCVER=8.2.2 LIBRARY=gogol-bigtableadmin
121− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
149+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
122− - env: GHCVER=7.10.2 LIBRARY=gogol-debugger
150+ - env: GHCVER=8.2.2 LIBRARY=gogol-billing
123− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
151+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
124− - env: GHCVER=7.10.2 LIBRARY=gogol-deploymentmanager
152+ - env: GHCVER=8.2.2 LIBRARY=gogol-binaryauthorization
125− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
153+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
126− - env: GHCVER=7.10.2 LIBRARY=gogol-dfareporting
154+ - env: GHCVER=8.2.2 LIBRARY=gogol-blogger
127− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
155+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
128− - env: GHCVER=7.10.2 LIBRARY=gogol-discovery
156+ - env: GHCVER=8.2.2 LIBRARY=gogol-books
129− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
157+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
130− - env: GHCVER=7.10.2 LIBRARY=gogol-dns
158+ - env: GHCVER=8.2.2 LIBRARY=gogol-chat
131− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
159+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
132− - env: GHCVER=7.10.2 LIBRARY=gogol-doubleclick-bids
160+ - env: GHCVER=8.2.2 LIBRARY=gogol-civicinfo
133− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
161+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
134− - env: GHCVER=7.10.2 LIBRARY=gogol-doubleclick-search
162+ - env: GHCVER=8.2.2 LIBRARY=gogol-classroom
135− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
163+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
136− - env: GHCVER=7.10.2 LIBRARY=gogol-fitness
164+ - env: GHCVER=8.2.2 LIBRARY=gogol-cloudasset
137− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
165+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
138− - env: GHCVER=7.10.2 LIBRARY=gogol-fonts
166+ - env: GHCVER=8.2.2 LIBRARY=gogol-clouderrorreporting
139− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
167+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
140− - env: GHCVER=7.10.2 LIBRARY=gogol-freebasesearch
168+ - env: GHCVER=8.2.2 LIBRARY=gogol-cloudfunctions
141− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
169+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
142− - env: GHCVER=7.10.2 LIBRARY=gogol-fusiontables
170+ - env: GHCVER=8.2.2 LIBRARY=gogol-cloudidentity
143− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
171+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
144− - env: GHCVER=7.10.2 LIBRARY=gogol-games
172+ - env: GHCVER=8.2.2 LIBRARY=gogol-cloudiot
145− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
173+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
146− - env: GHCVER=7.10.2 LIBRARY=gogol-games-configuration
174+ - env: GHCVER=8.2.2 LIBRARY=gogol-cloudkms
147− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
175+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
148− - env: GHCVER=7.10.2 LIBRARY=gogol-games-management
176+ - env: GHCVER=8.2.2 LIBRARY=gogol-cloudprivatecatalog
149− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
177+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
150− - env: GHCVER=7.10.2 LIBRARY=gogol-genomics
178+ - env: GHCVER=8.2.2 LIBRARY=gogol-cloudprivatecatalogproducer
151− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
179+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
152− - env: GHCVER=7.10.2 LIBRARY=gogol-groups-migration
180+ - env: GHCVER=8.2.2 LIBRARY=gogol-cloudprofiler
153− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
181+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
154− - env: GHCVER=7.10.2 LIBRARY=gogol-groups-settings
182+ - env: GHCVER=8.2.2 LIBRARY=gogol-cloudscheduler
155− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
183+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
156− - env: GHCVER=7.10.2 LIBRARY=gogol-identity-toolkit
184+ - env: GHCVER=8.2.2 LIBRARY=gogol-cloudsearch
157− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
185+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
158− - env: GHCVER=7.10.2 LIBRARY=gogol-latencytest
186+ - env: GHCVER=8.2.2 LIBRARY=gogol-cloudshell
159− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
187+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
160− - env: GHCVER=7.10.2 LIBRARY=gogol-logging
188+ - env: GHCVER=8.2.2 LIBRARY=gogol-cloudtasks
161− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
189+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
162− - env: GHCVER=7.10.2 LIBRARY=gogol-maps-coordinate
190+ - env: GHCVER=8.2.2 LIBRARY=gogol-cloudtrace
163− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
191+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
164− - env: GHCVER=7.10.2 LIBRARY=gogol-maps-engine
192+ - env: GHCVER=8.2.2 LIBRARY=gogol-commentanalyzer
165− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
193+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
166− - env: GHCVER=7.10.2 LIBRARY=gogol-mirror
194+ - env: GHCVER=8.2.2 LIBRARY=gogol-composer
167− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
195+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
168− - env: GHCVER=7.10.2 LIBRARY=gogol-monitoring
196+ - env: GHCVER=8.2.2 LIBRARY=gogol-consumersurveys
169− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
197+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
170− - env: GHCVER=7.10.2 LIBRARY=gogol-pagespeed
198+ - env: GHCVER=8.2.2 LIBRARY=gogol-container
171− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
199+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
172− - env: GHCVER=7.10.2 LIBRARY=gogol-partners
200+ - env: GHCVER=8.2.2 LIBRARY=gogol-containeranalysis
173− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
201+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
174− - env: GHCVER=7.10.2 LIBRARY=gogol-play-moviespartner
202+ - env: GHCVER=8.2.2 LIBRARY=gogol-containerbuilder
175− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
203+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
176− - env: GHCVER=7.10.2 LIBRARY=gogol-plus
204+ - env: GHCVER=8.2.2 LIBRARY=gogol-customsearch
177− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
205+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
178− - env: GHCVER=7.10.2 LIBRARY=gogol-plus-domains
206+ - env: GHCVER=8.2.2 LIBRARY=gogol-dataflow
179− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
207+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
180− - env: GHCVER=7.10.2 LIBRARY=gogol-prediction
208+ - env: GHCVER=8.2.2 LIBRARY=gogol-datafusion
181− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
209+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
182− - env: GHCVER=7.10.2 LIBRARY=gogol-proximitybeacon
210+ - env: GHCVER=8.2.2 LIBRARY=gogol-dataproc
183− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
211+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
184− - env: GHCVER=7.10.2 LIBRARY=gogol-pubsub
212+ - env: GHCVER=8.2.2 LIBRARY=gogol-datastore
185− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
213+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
186− - env: GHCVER=7.10.2 LIBRARY=gogol-qpxexpress
214+ - env: GHCVER=8.2.2 LIBRARY=gogol-debugger
187− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
215+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
188− - env: GHCVER=7.10.2 LIBRARY=gogol-replicapool
216+ - env: GHCVER=8.2.2 LIBRARY=gogol-deploymentmanager
189− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
217+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
190− - env: GHCVER=7.10.2 LIBRARY=gogol-replicapool-updater
218+ - env: GHCVER=8.2.2 LIBRARY=gogol-dfareporting
191− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
219+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
192− - env: GHCVER=7.10.2 LIBRARY=gogol-resourcemanager
220+ - env: GHCVER=8.2.2 LIBRARY=gogol-dialogflow
193− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
221+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
194− - env: GHCVER=7.10.2 LIBRARY=gogol-resourceviews
222+ - env: GHCVER=8.2.2 LIBRARY=gogol-digitalassetlinks
195− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
223+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
196− - env: GHCVER=7.10.2 LIBRARY=gogol-shopping-content
224+ - env: GHCVER=8.2.2 LIBRARY=gogol-discovery
197− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
225+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
198− - env: GHCVER=7.10.2 LIBRARY=gogol-siteverification
226+ - env: GHCVER=8.2.2 LIBRARY=gogol-dlp
199− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
227+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
200− - env: GHCVER=7.10.2 LIBRARY=gogol-spectrum
228+ - env: GHCVER=8.2.2 LIBRARY=gogol-dns
201− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
229+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
202− - env: GHCVER=7.10.2 LIBRARY=gogol-sqladmin
230+ - env: GHCVER=8.2.2 LIBRARY=gogol-docs
203− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
231+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
204− - env: GHCVER=7.10.2 LIBRARY=gogol-storage-transfer
232+ - env: GHCVER=8.2.2 LIBRARY=gogol-doubleclick-bids
205− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
233+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
206− - env: GHCVER=7.10.2 LIBRARY=gogol-tagmanager
234+ - env: GHCVER=8.2.2 LIBRARY=gogol-doubleclick-search
207− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
235+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
208− - env: GHCVER=7.10.2 LIBRARY=gogol-taskqueue
236+ - env: GHCVER=8.2.2 LIBRARY=gogol-driveactivity
209− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
237+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
210− - env: GHCVER=7.10.2 LIBRARY=gogol-translate
238+ - env: GHCVER=8.2.2 LIBRARY=gogol-factchecktools
211− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
239+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
212− - env: GHCVER=7.10.2 LIBRARY=gogol-urlshortener
240+ - env: GHCVER=8.2.2 LIBRARY=gogol-file
213− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
241+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
214− - env: GHCVER=7.10.2 LIBRARY=gogol-useraccounts
242+ - env: GHCVER=8.2.2 LIBRARY=gogol-firebase-dynamiclinks
215− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
243+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
216− - env: GHCVER=7.10.2 LIBRARY=gogol-webmaster-tools
244+ - env: GHCVER=8.2.2 LIBRARY=gogol-firebasehosting
217− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
245+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
218− - env: GHCVER=7.10.2 LIBRARY=gogol-youtube
246+ - env: GHCVER=8.2.2 LIBRARY=gogol-firebaseremoteconfig
219− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
247+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
220− - env: GHCVER=7.10.2 LIBRARY=gogol-youtube-analytics
248+ - env: GHCVER=8.2.2 LIBRARY=gogol-firebase-rules
221− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
249+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
250+ - env: GHCVER=8.2.2 LIBRARY=gogol-firestore
251+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
252+ - env: GHCVER=8.2.2 LIBRARY=gogol-fitness
253+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
254+ - env: GHCVER=8.2.2 LIBRARY=gogol-fonts
255+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
256+ - env: GHCVER=8.2.2 LIBRARY=gogol-fusiontables
257+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
258+ - env: GHCVER=8.2.2 LIBRARY=gogol-games
259+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
260+ - env: GHCVER=8.2.2 LIBRARY=gogol-games-configuration
261+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
262+ - env: GHCVER=8.2.2 LIBRARY=gogol-games-management
263+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
264+ - env: GHCVER=8.2.2 LIBRARY=gogol-genomics
265+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
266+ - env: GHCVER=8.2.2 LIBRARY=gogol-groups-migration
267+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
268+ - env: GHCVER=8.2.2 LIBRARY=gogol-groups-settings
269+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
270+ - env: GHCVER=8.2.2 LIBRARY=gogol-healthcare
271+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
272+ - env: GHCVER=8.2.2 LIBRARY=gogol-iam
273+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
274+ - env: GHCVER=8.2.2 LIBRARY=gogol-iamcredentials
275+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
276+ - env: GHCVER=8.2.2 LIBRARY=gogol-iap
277+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
278+ - env: GHCVER=8.2.2 LIBRARY=gogol-identity-toolkit
279+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
280+ - env: GHCVER=8.2.2 LIBRARY=gogol-indexing
281+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
282+ - env: GHCVER=8.2.2 LIBRARY=gogol-jobs
283+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
284+ - env: GHCVER=8.2.2 LIBRARY=gogol-kgsearch
285+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
286+ - env: GHCVER=8.2.2 LIBRARY=gogol-language
287+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
288+ - env: GHCVER=8.2.2 LIBRARY=gogol-libraryagent
289+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
290+ - env: GHCVER=8.2.2 LIBRARY=gogol-logging
291+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
292+ - env: GHCVER=8.2.2 LIBRARY=gogol-manufacturers
293+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
294+ - env: GHCVER=8.2.2 LIBRARY=gogol-mirror
295+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
296+ - env: GHCVER=8.2.2 LIBRARY=gogol-ml
297+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
298+ - env: GHCVER=8.2.2 LIBRARY=gogol-monitoring
299+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
300+ - env: GHCVER=8.2.2 LIBRARY=gogol-oslogin
301+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
302+ - env: GHCVER=8.2.2 LIBRARY=gogol-pagespeed
303+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
304+ - env: GHCVER=8.2.2 LIBRARY=gogol-partners
305+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
306+ - env: GHCVER=8.2.2 LIBRARY=gogol-people
307+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
308+ - env: GHCVER=8.2.2 LIBRARY=gogol-playcustomapp
309+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
310+ - env: GHCVER=8.2.2 LIBRARY=gogol-play-moviespartner
311+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
312+ - env: GHCVER=8.2.2 LIBRARY=gogol-plus
313+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
314+ - env: GHCVER=8.2.2 LIBRARY=gogol-plus-domains
315+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
316+ - env: GHCVER=8.2.2 LIBRARY=gogol-poly
317+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
318+ - env: GHCVER=8.2.2 LIBRARY=gogol-prediction
319+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
320+ - env: GHCVER=8.2.2 LIBRARY=gogol-proximitybeacon
321+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
322+ - env: GHCVER=8.2.2 LIBRARY=gogol-pubsub
323+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
324+ - env: GHCVER=8.2.2 LIBRARY=gogol-qpxexpress
325+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
326+ - env: GHCVER=8.2.2 LIBRARY=gogol-redis
327+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
328+ - env: GHCVER=8.2.2 LIBRARY=gogol-remotebuildexecution
329+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
330+ - env: GHCVER=8.2.2 LIBRARY=gogol-replicapool
331+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
332+ - env: GHCVER=8.2.2 LIBRARY=gogol-replicapool-updater
333+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
334+ - env: GHCVER=8.2.2 LIBRARY=gogol-resourcemanager
335+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
336+ - env: GHCVER=8.2.2 LIBRARY=gogol-run
337+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
338+ - env: GHCVER=8.2.2 LIBRARY=gogol-runtimeconfig
339+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
340+ - env: GHCVER=8.2.2 LIBRARY=gogol-safebrowsing
341+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
342+ - env: GHCVER=8.2.2 LIBRARY=gogol-script
343+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
344+ - env: GHCVER=8.2.2 LIBRARY=gogol-searchconsole
345+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
346+ - env: GHCVER=8.2.2 LIBRARY=gogol-securitycenter
347+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
348+ - env: GHCVER=8.2.2 LIBRARY=gogol-servicebroker
349+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
350+ - env: GHCVER=8.2.2 LIBRARY=gogol-serviceconsumermanagement
351+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
352+ - env: GHCVER=8.2.2 LIBRARY=gogol-servicecontrol
353+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
354+ - env: GHCVER=8.2.2 LIBRARY=gogol-servicemanagement
355+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
356+ - env: GHCVER=8.2.2 LIBRARY=gogol-servicenetworking
357+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
358+ - env: GHCVER=8.2.2 LIBRARY=gogol-serviceusage
359+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
360+ - env: GHCVER=8.2.2 LIBRARY=gogol-serviceuser
361+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
362+ - env: GHCVER=8.2.2 LIBRARY=gogol-sheets
363+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
364+ - env: GHCVER=8.2.2 LIBRARY=gogol-shopping-content
365+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
366+ - env: GHCVER=8.2.2 LIBRARY=gogol-siteverification
367+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
368+ - env: GHCVER=8.2.2 LIBRARY=gogol-slides
369+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
370+ - env: GHCVER=8.2.2 LIBRARY=gogol-sourcerepo
371+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
372+ - env: GHCVER=8.2.2 LIBRARY=gogol-spanner
373+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
374+ - env: GHCVER=8.2.2 LIBRARY=gogol-spectrum
375+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
376+ - env: GHCVER=8.2.2 LIBRARY=gogol-speech
377+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
378+ - env: GHCVER=8.2.2 LIBRARY=gogol-sqladmin
379+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
380+ - env: GHCVER=8.2.2 LIBRARY=gogol-storage-transfer
381+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
382+ - env: GHCVER=8.2.2 LIBRARY=gogol-streetviewpublish
383+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
384+ - env: GHCVER=8.2.2 LIBRARY=gogol-surveys
385+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
386+ - env: GHCVER=8.2.2 LIBRARY=gogol-tagmanager
387+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
388+ - env: GHCVER=8.2.2 LIBRARY=gogol-testing
389+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
390+ - env: GHCVER=8.2.2 LIBRARY=gogol-texttospeech
391+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
392+ - env: GHCVER=8.2.2 LIBRARY=gogol-toolresults
393+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
394+ - env: GHCVER=8.2.2 LIBRARY=gogol-tpu
395+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
396+ - env: GHCVER=8.2.2 LIBRARY=gogol-tracing
397+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
398+ - env: GHCVER=8.2.2 LIBRARY=gogol-translate
399+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
400+ - env: GHCVER=8.2.2 LIBRARY=gogol-urlshortener
401+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
402+ - env: GHCVER=8.2.2 LIBRARY=gogol-vault
403+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
404+ - env: GHCVER=8.2.2 LIBRARY=gogol-videointelligence
405+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
406+ - env: GHCVER=8.2.2 LIBRARY=gogol-vision
407+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
408+ - env: GHCVER=8.2.2 LIBRARY=gogol-webmaster-tools
409+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
410+ - env: GHCVER=8.2.2 LIBRARY=gogol-websecurityscanner
411+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
412+ - env: GHCVER=8.2.2 LIBRARY=gogol-youtube
413+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
414+ - env: GHCVER=8.2.2 LIBRARY=gogol-youtube-analytics
415+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
416+ - env: GHCVER=8.2.2 LIBRARY=gogol-youtube-reporting
417+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
222
418
223 # Examples
419 # Examples
224− - env: GHCVER=7.10.2 LIBRARY=gogol-examples
420+ - env: GHCVER=8.2.2 LIBRARY=gogol-examples
225− addons: { apt: { packages: [ghc-7.10.2], sources: [hvr-ghc] } }
421+ addons: { apt: { packages: [ghc-8.2.2], sources: [hvr-ghc] } }
422+# END GENERATED
CONTRIBUTORSnew file+19
@@ -0,0 +1,19 @@
1+Aleksey Makarov
2+Alex Babkin
3+Benjamin Summers
4+Brendan Hay
5+Cthulhu Den
6+David Tulig
7+Eugene Smolanka
8+Grigory Bordyugov
9+Markus Schirp
10+Trayton White
11+Tsai Chia-Chi
12+Koray Al
13+Michael Xavier
14+miladz68
15+Steven Shaw
16+Karshan Sharma
17+Julian Arni
18+Benjamin Smith
19+Julian Ospald
Makefile+5−5
@@ -1,9 +1,9 @@
1SERVICES ?= $(wildcard gogol-*)
1SERVICES ?= $(wildcard gogol-*)
2LIBRARIES ?= core gogol $(SERVICES)
2LIBRARIES ?= core gogol $(SERVICES)
3−FORWARD := sdist upload candidate
3+FORWARD := sdist upload upload-docs
4
4
5build:
5build:
6− stack --docker --docker-run-args '--memory=3G --cpuset-cpus=0,1' build
6+ stack build --fast
7
7
8clean:
8clean:
9 stack clean
9 stack clean
@@ -22,10 +22,10 @@ $(foreach c,$(FORWARD),$(eval $(call forward, $c)))
22.PHONY: $(LIBRARIES)
22.PHONY: $(LIBRARIES)
23
23
24gogol:
24gogol:
25− stack build gogol
25+ stack build --fast gogol
26
26
27core:
27core:
28− stack build gogol-core
28+ stack build --fast gogol-core
29
29
30$(SERVICES):
30$(SERVICES):
31− stack build $@
31+ stack build --fast $@
README.md+43
@@ -3,8 +3,15 @@
3**Warning:** This is an experimental prototype/preview release which is still
3**Warning:** This is an experimental prototype/preview release which is still
4under heavy development and not intended for public consumption, caveat emptor!
4under heavy development and not intended for public consumption, caveat emptor!
5
5
6+[![Build Status](https://img.shields.io/travis/brendanhay/gogol/develop.svg?maxAge=2592000)](https://travis-ci.org/brendanhay/gogol)
7+[![Hackage Version](https://img.shields.io/hackage/v/gogol.svg)](http://hackage.haskell.org/package/gogol)
8+[![Gitter Chat](https://img.shields.io/gitter/room/brendanhay/gogol.js.svg?maxAge=2592000)](https://gitter.im/brendanhay/gogol)
9+
6
10
7* [Description](#description)
11* [Description](#description)
12+* [Documentation](#documentation)
13+* [Organisation](#organisation)
14+* [Change Log](#change-log)
8* [Contribute](#contribute)
15* [Contribute](#contribute)
9* [Licence](#licence)
16* [Licence](#licence)
10
17
@@ -14,6 +21,39 @@ under heavy development and not intended for public consumption, caveat emptor!
14<img alt="Гоголь-моголь" height="261px;" src="https://upload.wikimedia.org/wikipedia/commons/c/c7/Kogel_mogel.JPG">
21<img alt="Гоголь-моголь" height="261px;" src="https://upload.wikimedia.org/wikipedia/commons/c/c7/Kogel_mogel.JPG">
15<img alt="Мико́ла Васи́льович Го́голь" height="261px" src="https://upload.wikimedia.org/wikipedia/commons/3/31/NV_Gogol.png">
22<img alt="Мико́ла Васи́льович Го́голь" height="261px" src="https://upload.wikimedia.org/wikipedia/commons/3/31/NV_Gogol.png">
16
23
24+A comprehensive Google Services SDK for Haskell supporting all of the publicly
25+available services.
26+
27+An introductory blog post detailing the motivation can be found [here](http://brendanhay.nz/gogol-comprehensive-haskell-google-client).
28+
29+## Documentation
30+
31+You can find the latest stable release documentation for each respective library
32+on Hackage under the [Google section](http://hackage.haskell.org/packages/#cat:Google).
33+
34+Haddock documentation which is built by CI from the `develop` branch
35+can be found [here](http://brendanhay.nz/gogol-doc).
36+
37+
38+## Organisation
39+
40+This repository is organised into the following directory structure:
41+
42+* [`gogol`](gogol): Actual operational logic, you'll need to import this to send requests etc.
43+* `gogol-*`: Data types for each of the individual Google Compute Engine Service libraries.
44+* [`core`](core): The `gogol-core` library upon which each of the services depends.
45+* [`examples`](examples): A currently sparse collection of examples for the various services.
46+* [`gen`](gen): The code generation binary, along with configuration, templates, and assets.
47+* [`script`](script): CI scripts to manage the release lifecycle of the service libraries.
48+* [`share`](share): Makefile plumbing common to all service libraries
49+
50+> See the `./gen` subdirectory for further details about generating an API client/SDK.
51+
52+
53+## Change Log
54+
55+A change log for the entire project can be found under [`gogol/CHANGELOG.md`](gogol/CHANGELOG.md).
56+
17
57
18## Contribute
58## Contribute
19
59
@@ -23,3 +63,6 @@ For any problems, comments, or feedback please create an issue [here on GitHub](
23## Licence
63## Licence
24
64
25Gogol is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).
65Gogol is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).
66+
67+Parts of the code are derived from Google Compute Engine service descriptions, licensed under Apache 2.0.
68+Source files subject to this contain an additional licensing clause in their header.
core/gogol-core.cabal+12−9
@@ -1,5 +1,5 @@
1name: gogol-core
1name: gogol-core
2−version: 0.0.1
2+version: 0.5.0
3synopsis: Core data types and functionality for Gogol libraries.
3synopsis: Core data types and functionality for Gogol libraries.
4homepage: https://github.com/brendanhay/gogol
4homepage: https://github.com/brendanhay/gogol
5bug-reports: https://github.com/brendanhay/gogol/issues
5bug-reports: https://github.com/brendanhay/gogol/issues
@@ -7,7 +7,7 @@ license: OtherLicense
7license-file: LICENSE
7license-file: LICENSE
8author: Brendan Hay
8author: Brendan Hay
9maintainer: Brendan Hay <brendan.g.hay@gmail.com>
9maintainer: Brendan Hay <brendan.g.hay@gmail.com>
10−copyright: Copyright (c) 2015 Brendan Hay
10+copyright: Copyright (c) 2015-2016 Brendan Hay
11category: Network, Google, Cloud
11category: Network, Google, Cloud
12build-type: Simple
12build-type: Simple
13extra-source-files: README.md
13extra-source-files: README.md
@@ -36,7 +36,8 @@ library
36 ghc-options: -Wall
36 ghc-options: -Wall
37
37
38 exposed-modules:
38 exposed-modules:
39− Network.Google.Data.JSON
39+ Network.Google.Data.Bytes
40+ , Network.Google.Data.JSON
40 , Network.Google.Data.Numeric
41 , Network.Google.Data.Numeric
41 , Network.Google.Data.Time
42 , Network.Google.Data.Time
42 , Network.Google.Prelude
43 , Network.Google.Prelude
@@ -45,20 +46,22 @@ library
45 build-depends:
46 build-depends:
46 aeson >= 0.8
47 aeson >= 0.8
47 , attoparsec >= 0.11.3
48 , attoparsec >= 0.11.3
48− , base >= 4.7 && < 5
49+ , base >= 4.7 && < 5
50+ , bifunctors >= 0.1
49 , bytestring >= 0.9
51 , bytestring >= 0.9
50 , case-insensitive >= 1.2
52 , case-insensitive >= 1.2
51− , conduit >= 1.1
53+ , conduit >= 1.3
52 , dlist >= 0.7
54 , dlist >= 0.7
53 , exceptions >= 0.6
55 , exceptions >= 0.6
54 , hashable >= 1.2
56 , hashable >= 1.2
57+ , http-api-data >= 0.2
55− , http-client >= 0.4.4
58+ , http-client >= 0.5 && < 1
56 , http-media >= 0.6
59 , http-media >= 0.6
57 , http-types >= 0.8.6
60 , http-types >= 0.8.6
58 , lens >= 4.4
61 , lens >= 4.4
59 , resourcet >= 1.1
62 , resourcet >= 1.1
60 , scientific >= 0.3
63 , scientific >= 0.3
61− , servant >= 0.4.4
64+ , servant >= 0.14.1
62 , text >= 1.1
65 , text >= 1.1
63 , unordered-containers >= 0.2.5
66 , unordered-containers >= 0.2.5
64
67
@@ -72,7 +75,7 @@ library
72 , time >= 1.2 && < 1.5
75 , time >= 1.2 && < 1.5
73 else
76 else
74 build-depends:
77 build-depends:
75− time >= 1.5 && < 1.6
78+ time >= 1.5
76
79
77test-suite tests
80test-suite tests
78 type: exitcode-stdio-1.0
81 type: exitcode-stdio-1.0
@@ -87,4 +90,4 @@ test-suite tests
87 build-depends:
90 build-depends:
88 gogol-core
91 gogol-core
89 , base
92 , base
90− , tasty
93+ , tasty
core/src/Network/Google/Data/Bytes.hsnew file+49
@@ -0,0 +1,49 @@
1+{-# LANGUAGE DeriveDataTypeable #-}
2+{-# LANGUAGE DeriveGeneric #-}
3+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
4+
5+-- |
6+-- Module : Network.Google.Data.Bytes
7+-- Copyright : (c) 2013-2016 Brendan Hay
8+-- License : Mozilla Public License, v. 2.0.
9+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
10+-- Stability : provisional
11+-- Portability : non-portable (GHC extensions)
12+--
13+module Network.Google.Data.Bytes
14+ ( Bytes (..)
15+ , _Bytes
16+ ) where
17+
18+import Control.Lens (Iso', iso)
19+import Data.Aeson (FromJSON (..), ToJSON (..))
20+import Data.ByteString (ByteString)
21+import Data.Data (Data, Typeable)
22+import Data.Hashable
23+import qualified Data.Text.Encoding as Text
24+import GHC.Generics (Generic)
25+import Network.Google.Data.JSON (parseJSONText, toJSONText)
26+import Web.HttpApiData (FromHttpApiData (..),
27+ ToHttpApiData (..))
28+-- | Binary data.
29+--
30+-- This data is passed to/from the serialisation routines as-is, and any
31+-- particular encoding or decoding (say, base64) is left up to the caller.
32+newtype Bytes = Bytes { unBytes :: ByteString }
33+ deriving (Eq, Show, Read, Ord, Data, Typeable, Generic)
34+
35+instance Hashable Bytes
36+
37+_Bytes :: Iso' Bytes ByteString
38+_Bytes = iso unBytes Bytes
39+
40+instance ToHttpApiData Bytes where
41+ toQueryParam = Text.decodeUtf8 . unBytes
42+ toHeader = unBytes
43+
44+instance FromHttpApiData Bytes where
45+ parseQueryParam = pure . Bytes . Text.encodeUtf8
46+ parseHeader = pure . Bytes
47+
48+instance FromJSON Bytes where parseJSON = parseJSONText "Bytes"
49+instance ToJSON Bytes where toJSON = toJSONText
core/src/Network/Google/Data/JSON.hs+33−6
@@ -4,7 +4,7 @@
4
4
5-- |
5-- |
6-- Module : Network.Google.Data.JSON
6-- Module : Network.Google.Data.JSON
7−-- Copyright : (c) 2015 Brendan Hay <brendan.g.hay@gmail.com>
7+-- Copyright : (c) 2015-2016 Brendan Hay <brendan.g.hay@gmail.com>
8-- License : Mozilla Public License, v. 2.0.
8-- License : Mozilla Public License, v. 2.0.
9-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
9-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
10-- Stability : provisional
10-- Stability : provisional
@@ -12,6 +12,7 @@
12--
12--
13module Network.Google.Data.JSON
13module Network.Google.Data.JSON
14 ( JSONValue
14 ( JSONValue
15+ , Textual (..)
15 , parseJSONObject
16 , parseJSONObject
16 , parseJSONText
17 , parseJSONText
17 , toJSONText
18 , toJSONText
@@ -32,17 +33,43 @@ module Network.Google.Data.JSON
32
33
33import Data.Aeson
34import Data.Aeson
34import Data.Aeson.Types
35import Data.Aeson.Types
36+import Data.Data
35import Data.HashMap.Strict (HashMap)
37import Data.HashMap.Strict (HashMap)
36import Data.Text (Text)
38import Data.Text (Text)
37−import Servant.API
39+import qualified Data.Text as Text
40+import Web.HttpApiData (FromHttpApiData (..), ToHttpApiData (..))
38
41
39type JSONValue = Value
42type JSONValue = Value
40
43
44+newtype Textual a = Textual a
45+ deriving
46+ ( Eq
47+ , Ord
48+ , Read
49+ , Show
50+ , Num
51+ , Fractional
52+ , Data
53+ , Typeable
54+ , ToHttpApiData
55+ , FromHttpApiData
56+ )
57+
58+instance (FromJSON a, FromHttpApiData a) => FromJSON (Textual a) where
59+ parseJSON (String s) =
60+ either (fail . Text.unpack) (pure . Textual) (parseQueryParam s)
61+ parseJSON o = Textual <$> parseJSON o
62+
63+instance ToHttpApiData a => ToJSON (Textual a) where
64+ toJSON (Textual x) = String (toQueryParam x)
65+
41parseJSONObject :: FromJSON a => HashMap Text Value -> Parser a
66parseJSONObject :: FromJSON a => HashMap Text Value -> Parser a
42parseJSONObject = parseJSON . Object
67parseJSONObject = parseJSON . Object
43
68
44−parseJSONText :: FromText a => String -> Value -> Parser a
69+parseJSONText :: FromHttpApiData a => String -> Value -> Parser a
45−parseJSONText n = withText n (maybe (fail n) pure . fromText)
70+parseJSONText n = withText n (either (fail . f) pure . parseQueryParam)
71+ where
72+ f x = n ++ " - " ++ Text.unpack x
46
73
47−toJSONText :: ToText a => a -> Value
74+toJSONText :: ToHttpApiData a => a -> Value
48−toJSONText = String . toText
75+toJSONText = String . toQueryParam
core/src/Network/Google/Data/Numeric.hs+9−12
@@ -1,10 +1,11 @@
1{-# LANGUAGE DeriveDataTypeable #-}
1{-# LANGUAGE DeriveDataTypeable #-}
2{-# LANGUAGE GeneralizedNewtypeDeriving #-}
2{-# LANGUAGE GeneralizedNewtypeDeriving #-}
3+{-# LANGUAGE OverloadedStrings #-}
3{-# LANGUAGE ScopedTypeVariables #-}
4{-# LANGUAGE ScopedTypeVariables #-}
4
5
5-- |
6-- |
6-- Module : Network.Google.Data.Numeric
7-- Module : Network.Google.Data.Numeric
7−-- Copyright : (c) 2015 Brendan Hay <brendan.g.hay@gmail.com>
8+-- Copyright : (c) 2015-2016 Brendan Hay <brendan.g.hay@gmail.com>
8-- License : Mozilla Public License, v. 2.0.
9-- License : Mozilla Public License, v. 2.0.
9-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
10-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
10-- Stability : provisional
11-- Stability : provisional
@@ -12,13 +13,12 @@
12--
13--
13module Network.Google.Data.Numeric
14module Network.Google.Data.Numeric
14 ( Nat (..)
15 ( Nat (..)
15− , _Nat
16 ) where
16 ) where
17
17
18−import Control.Lens
19import Control.Monad
18import Control.Monad
20import Data.Aeson
19import Data.Aeson
21import Data.Data
20import Data.Data
21+import Data.Monoid ((<>))
22import Data.Scientific
22import Data.Scientific
23import Data.Text (Text)
23import Data.Text (Text)
24import qualified Data.Text as Text
24import qualified Data.Text as Text
@@ -33,9 +33,6 @@ import Servant.API
33newtype Nat = Nat { unNat :: Natural }
33newtype Nat = Nat { unNat :: Natural }
34 deriving (Eq, Ord, Enum, Show, Read, Num, Real, Integral, Data, Typeable)
34 deriving (Eq, Ord, Enum, Show, Read, Num, Real, Integral, Data, Typeable)
35
35
36−_Nat :: Iso' Nat Natural
37−_Nat = iso unNat Nat
38−
39instance FromJSON Nat where
36instance FromJSON Nat where
40 parseJSON = parseJSON >=> go
37 parseJSON = parseJSON >=> go
41 where
38 where
@@ -51,15 +48,15 @@ instance FromJSON Nat where
51instance ToJSON Nat where
48instance ToJSON Nat where
52 toJSON = Number . flip scientific 0 . toInteger . unNat
49 toJSON = Number . flip scientific 0 . toInteger . unNat
53
50
54−instance ToText Nat where
51+instance ToHttpApiData Nat where
55− toText = shortText . Build.decimal
52+ toQueryParam = shortText . Build.decimal
56
53
57−instance FromText Nat where
54+instance FromHttpApiData Nat where
58− fromText t =
55+ parseQueryParam t =
59 case Read.decimal t of
56 case Read.decimal t of
60 Right (x, r) | Text.null r
57 Right (x, r) | Text.null r
61− -> Just x
58+ -> Right x
62− _ -> Nothing
59+ _ -> Left ("Unable to parse natural from: " <> t)
63
60
64shortText :: Builder -> Text
61shortText :: Builder -> Text
65shortText = LText.toStrict . Build.toLazyTextWith 32
62shortText = LText.toStrict . Build.toLazyTextWith 32
core/src/Network/Google/Data/Time.hs+65−38
@@ -1,70 +1,104 @@
1+{-# LANGUAGE OverloadedStrings #-}
1{-# LANGUAGE DeriveDataTypeable #-}
2{-# LANGUAGE DeriveDataTypeable #-}
2{-# LANGUAGE DeriveGeneric #-}
3{-# LANGUAGE DeriveGeneric #-}
3{-# LANGUAGE GeneralizedNewtypeDeriving #-}
4{-# LANGUAGE GeneralizedNewtypeDeriving #-}
4
5
5-- |
6-- |
6-- Module : Network.Google.Data.Time
7-- Module : Network.Google.Data.Time
7−-- Copyright : (c) 2015 Brendan Hay <brendan.g.hay@gmail.com>
8+-- Copyright : (c) 2015-2016 Brendan Hay <brendan.g.hay@gmail.com>
8-- License : Mozilla Public License, v. 2.0.
9-- License : Mozilla Public License, v. 2.0.
9-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
10-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
10-- Stability : provisional
11-- Stability : provisional
11-- Portability : non-portable (GHC extensions)
12-- Portability : non-portable (GHC extensions)
12--
13--
13module Network.Google.Data.Time
14module Network.Google.Data.Time
14− ( Time' (..)
15+ ( Time'
15− , Date' (..)
16+ , Date'
16 , DateTime' (..)
17 , DateTime' (..)
18+ , GDuration
17
19
18 , _Time
20 , _Time
19 , _Date
21 , _Date
20 , _DateTime
22 , _DateTime
23+ , _GDuration
21 ) where
24 ) where
22
25
26+import Data.Monoid ((<>))
23import Control.Lens
27import Control.Lens
24import Data.Aeson
28import Data.Aeson
25−import Data.Aeson.Encode
26−import qualified Data.Aeson.Types as Aeson
29+import qualified Data.Aeson.Types as Aeson
27import Data.Attoparsec.Text
30import Data.Attoparsec.Text
28−import Data.Bits ((.&.))
31+import Data.Bifunctor (first, second)
32+import Data.Bits ((.&.))
29−import Data.Char (ord)
33+import Data.Char (ord)
30−import Data.Data (Data, Typeable)
34+import Data.Data (Data, Typeable)
35+import Data.Scientific (Scientific)
36+import qualified Data.Scientific as Sci
31−import Data.Text (Text)
37+import Data.Text (Text)
32−import qualified Data.Text as Text
38+import qualified Data.Text as Text
33−import qualified Data.Text.Lazy as LText
39+import qualified Data.Text.Lazy as LText
34−import qualified Data.Text.Lazy.Builder as Build
40+import qualified Data.Text.Lazy.Builder as Build
41+import qualified Data.Text.Lazy.Builder.Scientific as Sci
35import Data.Time
42import Data.Time
36import GHC.Generics
43import GHC.Generics
37−import Servant.Common.Text
44+import Web.HttpApiData (FromHttpApiData (..),
45+ ToHttpApiData (..))
38
46
39-- | This SHOULD be a time in the format of hh:mm:ss. It is
47-- | This SHOULD be a time in the format of hh:mm:ss. It is
40-- recommended that you use the "date-time" format instead of "time"
48-- recommended that you use the "date-time" format instead of "time"
41-- unless you need to transfer only the time part.
49-- unless you need to transfer only the time part.
42−newtype Time' = Time' TimeOfDay
50+newtype Time' = Time' { unTime :: TimeOfDay }
43 deriving (Eq, Ord, Show, Read, Generic, Data, Typeable)
51 deriving (Eq, Ord, Show, Read, Generic, Data, Typeable)
44
52
45_Time :: Iso' Time' TimeOfDay
53_Time :: Iso' Time' TimeOfDay
46−_Time = iso (\(Time' t) -> t) Time'
54+_Time = iso unTime Time'
55+
56+instance ToHttpApiData Time' where
57+ toQueryParam = Text.pack . show . unTime
58+
59+instance FromHttpApiData Time' where
60+ parseQueryParam = second Time' . parseText timeParser
47
61
48-- | This SHOULD be a date in the format of YYYY-MM-DD. It is
62-- | This SHOULD be a date in the format of YYYY-MM-DD. It is
49-- recommended that you use the "date-time" format instead of "date"
63-- recommended that you use the "date-time" format instead of "date"
50-- unless you need to transfer only the date part.
64-- unless you need to transfer only the date part.
51−newtype Date' = Date' Day
65+newtype Date' = Date' { unDate :: Day }
52− deriving (Eq, Ord, Show, Read, Generic, Data, Typeable)
66+ deriving (Eq, Ord, Show, Read, Generic, Data, Typeable, ToHttpApiData, FromHttpApiData)
53
67
54_Date :: Iso' Date' Day
68_Date :: Iso' Date' Day
55−_Date = iso (\(Date' t) -> t) Date'
69+_Date = iso unDate Date'
56
70
57-- | This SHOULD be a date in ISO 8601 format of YYYY-MM-
71-- | This SHOULD be a date in ISO 8601 format of YYYY-MM-
58-- DDThh:mm:ssZ in UTC time. This is the recommended form of date/timestamp.
72-- DDThh:mm:ssZ in UTC time. This is the recommended form of date/timestamp.
59−newtype DateTime' = DateTime' UTCTime
73+newtype DateTime' = DateTime' { unDateTime :: UTCTime }
60− deriving (Eq, Ord, Show, Read, Generic, Data, Typeable)
74+ deriving (Eq, Ord, Show, Read, Generic, Data, Typeable, ToHttpApiData, FromHttpApiData)
61
75
62_DateTime :: Iso' DateTime' UTCTime
76_DateTime :: Iso' DateTime' UTCTime
63−_DateTime = iso (\(DateTime' t) -> t) DateTime'
77+_DateTime = iso unDateTime DateTime'
78+
79+-- | A duration in seconds with up to nine fractional digits, terminated by 's'.
80+--
81+-- /Example/: @"3.5s"@.
82+newtype GDuration = GDuration { unGDuration :: Scientific }
83+ deriving (Eq, Ord, Show, Read, Generic, Data, Typeable)
64
84
65−instance FromText Time' where fromText = fmap Time' . parseText timeParser
85+_GDuration :: Iso' GDuration Scientific
66−instance FromText Date' where fromText = fmap Date' . parseText dayParser
86+_GDuration = iso unGDuration GDuration
67−instance FromText DateTime' where fromText = Aeson.parseMaybe parseJSON . String
87+
88+instance ToHttpApiData GDuration where
89+ toQueryParam =
90+ LText.toStrict
91+ . (\seconds -> Build.toLazyText seconds <> "s")
92+ . Sci.formatScientificBuilder Sci.Fixed (Just 9)
93+ . unGDuration
94+
95+instance FromHttpApiData GDuration where
96+ parseQueryParam = second GDuration . parseText durationParser
97+
98+instance ToJSON Time' where toJSON = String . toQueryParam
99+instance ToJSON Date' where toJSON = String . toQueryParam
100+instance ToJSON DateTime' where toJSON = toJSON . unDateTime
101+instance ToJSON GDuration where toJSON = String . toQueryParam
68
102
69instance FromJSON Time' where
103instance FromJSON Time' where
70 parseJSON = fmap Time' . withText "time" (run timeParser)
104 parseJSON = fmap Time' . withText "time" (run timeParser)
@@ -75,21 +109,11 @@ instance FromJSON Date' where
75instance FromJSON DateTime' where
109instance FromJSON DateTime' where
76 parseJSON = fmap DateTime' . parseJSON
110 parseJSON = fmap DateTime' . parseJSON
77
111
78−-- FIXME: Revisit once aeson-0.10 is more widely available.
112+instance FromJSON GDuration where
79−instance ToText Time' where toText = Text.pack . show . view _Time
113+ parseJSON = fmap GDuration . withText "duration" (run durationParser)
80−instance ToText Date' where toText = Text.pack . show . view _Date
81−instance ToText DateTime' where toText = encodeText
82
114
83−-- FIXME: Revisit once aeson-0.10 is more widely available.
84−instance ToJSON Time' where toJSON = String . toText
85−instance ToJSON Date' where toJSON = String . toText
86−instance ToJSON DateTime' where toJSON = toJSON . view _DateTime
87−
88−parseText :: Parser a -> Text -> Maybe a
115+parseText :: Parser a -> Text -> Either Text a
89−parseText p = either (const Nothing) Just . parseOnly p
116+parseText p = first Text.pack . parseOnly p
90−
91−encodeText :: ToJSON a => a -> Text
92−encodeText = LText.toStrict . Build.toLazyText . encodeToTextBuilder . toJSON
93
117
94-- | Parse a time of the form @HH:MM:SS@.
118-- | Parse a time of the form @HH:MM:SS@.
95timeParser :: Parser TimeOfDay
119timeParser :: Parser TimeOfDay
@@ -109,6 +133,9 @@ dayParser = do
109 d <- twoDigits
133 d <- twoDigits
110 maybe (fail "invalid date") pure (fromGregorianValid y m d)
134 maybe (fail "invalid date") pure (fromGregorianValid y m d)
111
135
136+durationParser :: Parser Scientific
137+durationParser = Sci.fromFloatDigits <$> (double <* char 's')
138+
112-- | Parse a two-digit integer (e.g. day of month, hour).
139-- | Parse a two-digit integer (e.g. day of month, hour).
113twoDigits :: Parser Int
140twoDigits :: Parser Int
114twoDigits = do
141twoDigits = do
core/src/Network/Google/Prelude.hs+27−24
@@ -1,6 +1,6 @@
1-- |
1-- |
2-- Module : Network.Google.Prelude
2-- Module : Network.Google.Prelude
3−-- Copyright : (c) 2015 Brendan Hay <brendan.g.hay@gmail.com>
3+-- Copyright : (c) 2015-2016 Brendan Hay <brendan.g.hay@gmail.com>
4-- License : Mozilla Public License, v. 2.0.
4-- License : Mozilla Public License, v. 2.0.
5-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
5-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
6-- Stability : provisional
6-- Stability : provisional
@@ -10,26 +10,29 @@ module Network.Google.Prelude
10 ( module Export
10 ( module Export
11 ) where
11 ) where
12
12
13−import Control.Applicative as Export (pure, (<$>), (<*>))
14−import Control.Lens as Export (Lens', lens, mapping,
13+import Control.Lens as Export (Lens', lens, mapping, ( # ), (^.), _Just)
15− (^.), _Just)
14+import Data.ByteString as Export (ByteString)
16−import Data.Data as Export (Data, Typeable)
15+import Data.Data as Export (Data, Typeable)
17−import Data.Hashable as Export
16+import Data.Hashable as Export (Hashable, hashWithSalt)
18−import Data.HashMap.Strict as Export (HashMap)
17+import Data.HashMap.Strict as Export (HashMap)
19−import Data.Int as Export (Int32, Int64)
18+import Data.Int as Export (Int32, Int64)
20−import Data.Maybe as Export
19+import Data.Maybe as Export
21−import Data.Monoid as Export (mempty, (<>))
20+import Data.Monoid as Export (mempty, (<>))
22−import Data.Proxy as Export
21+import Data.Proxy as Export
22+import Data.Scientific as Export (Scientific)
23−import Data.Text as Export (Text)
23+import Data.Text as Export (Text)
24−import Data.Time as Export (Day, TimeOfDay, UTCTime)
24+import Data.Time as Export (Day, TimeOfDay, UTCTime)
25−import Data.Word as Export (Word32, Word64, Word8)
25+import Data.Word as Export (Word32, Word64, Word8)
26−import GHC.Generics as Export (Generic)
26+import GHC.Generics as Export (Generic)
27−import Network.Google.Data.JSON as Export
28−import Network.Google.Data.Numeric as Export
29−import Network.Google.Data.Time as Export
30−import Network.Google.Types as Export
31−import Network.HTTP.Client as Export (RequestBody)
27+import Network.HTTP.Client as Export (RequestBody)
32−import Numeric.Natural as Export (Natural)
28+import Numeric.Natural as Export (Natural)
33−import Prelude as Export hiding (product)
29+import Prelude as Export hiding (product, span, any, Word)
34−import Servant.API as Export hiding (getResponse)
30+import Servant.API as Export hiding (Headers, Link, getResponse, Stream, ResponseHeader, Header, header)
35−import Servant.Utils.Links as Export hiding (Link)
31+import Servant.Links as Export hiding (Link)
32+import Web.HttpApiData as Export (FromHttpApiData (..), ToHttpApiData (..))
33+
34+import Network.Google.Data.Bytes as Export
35+import Network.Google.Data.JSON as Export
36+import Network.Google.Data.Numeric as Export
37+import Network.Google.Data.Time as Export
38+import Network.Google.Types as Export
core/src/Network/Google/Types.hs+310−186
@@ -3,18 +3,20 @@
3{-# LANGUAGE DeriveGeneric #-}
3{-# LANGUAGE DeriveGeneric #-}
4{-# LANGUAGE FlexibleInstances #-}
4{-# LANGUAGE FlexibleInstances #-}
5{-# LANGUAGE GeneralizedNewtypeDeriving #-}
5{-# LANGUAGE GeneralizedNewtypeDeriving #-}
6+{-# LANGUAGE KindSignatures #-}
6{-# LANGUAGE LambdaCase #-}
7{-# LANGUAGE LambdaCase #-}
7{-# LANGUAGE MultiParamTypeClasses #-}
8{-# LANGUAGE MultiParamTypeClasses #-}
8{-# LANGUAGE OverloadedStrings #-}
9{-# LANGUAGE OverloadedStrings #-}
9{-# LANGUAGE RecordWildCards #-}
10{-# LANGUAGE RecordWildCards #-}
10{-# LANGUAGE ScopedTypeVariables #-}
11{-# LANGUAGE ScopedTypeVariables #-}
12+{-# LANGUAGE TupleSections #-}
11{-# LANGUAGE TypeFamilies #-}
13{-# LANGUAGE TypeFamilies #-}
12{-# LANGUAGE TypeOperators #-}
14{-# LANGUAGE TypeOperators #-}
13{-# LANGUAGE UndecidableInstances #-}
15{-# LANGUAGE UndecidableInstances #-}
14
16
15-- |
17-- |
16-- Module : Network.Google.Types
18-- Module : Network.Google.Types
17−-- Copyright : (c) 2015 Brendan Hay <brendan.g.hay@gmail.com>
19+-- Copyright : (c) 2015-2016 Brendan Hay <brendan.g.hay@gmail.com>
18-- License : Mozilla Public License, v. 2.0.
20-- License : Mozilla Public License, v. 2.0.
19-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
21-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
20-- Stability : provisional
22-- Stability : provisional
@@ -22,66 +24,150 @@
22--
24--
23module Network.Google.Types where
25module Network.Google.Types where
24
26
25−import Control.Applicative
26−import Control.Exception.Lens (exception)
27+import Control.Exception.Lens (exception)
27−import Control.Lens hiding (coerce)
28+import Control.Lens
28−import Control.Monad
29−import Control.Monad.Catch
29+import Control.Monad.Catch
30−import Control.Monad.Trans.Resource
30+import Control.Monad.Trans.Resource
31+
31−import Data.Aeson
32+import Data.Aeson
32−import Data.ByteString (ByteString)
33+import Data.ByteString (ByteString)
33−import qualified Data.ByteString.Char8 as BS8
34−import qualified Data.ByteString.Lazy as LBS
35−import qualified Data.CaseInsensitive as CI
36−import Data.Coerce
34+import Data.Coerce
37−import Data.Conduit
35+import Data.Conduit
38−import qualified Data.Conduit.List as CL
39−import Data.Data
36+import Data.Data
40−import Data.DList (DList)
37+import Data.DList (DList)
41−import qualified Data.DList as DList
42−import Data.Foldable (foldl')
38+import Data.Foldable (foldMap, foldl')
43−import Data.Monoid
44−import Data.String
39+import Data.String
45−import Data.Text (Text)
40+import Data.Semigroup
46−import qualified Data.Text.Encoding as Text
41+import Data.Text (Text)
47−import Data.Text.Lazy.Builder (Builder)
42+import Data.Text.Lazy.Builder (Builder)
48−import qualified Data.Text.Lazy.Builder as Build
43+
49−import GHC.Generics
44+import GHC.Generics
50−import GHC.TypeLits
45+import GHC.TypeLits
46+
51−import Network.HTTP.Client (HttpException)
47+import Network.HTTP.Client (HttpException, RequestBody (..))
52−import Network.HTTP.Media hiding (Accept)
48+import Network.HTTP.Media hiding (Accept)
53−import Network.HTTP.Types hiding (Header)
49+import Network.HTTP.Types hiding (Header)
54−import qualified Network.HTTP.Types as HTTP
50+
55−import Servant.API
51+import Servant.API hiding (Stream)
56−
52+
53+import qualified Data.ByteString.Char8 as BS8
54+import qualified Data.ByteString.Lazy as LBS
55+import qualified Data.CaseInsensitive as CI
56+import qualified Data.Conduit.Combinators as Conduit
57+import qualified Data.DList as DList
58+import qualified Data.Text.Encoding as Text
59+import qualified Data.Text.Lazy.Builder as Build
60+import qualified Network.HTTP.Types as HTTP
61+
57−data AltJSON = AltJSON
62+data AltJSON = AltJSON deriving (Eq, Ord, Show, Read, Generic, Typeable)
63+data AltMedia = AltMedia deriving (Eq, Ord, Show, Read, Generic, Typeable)
58− deriving (Eq, Ord, Show, Read, Generic, Typeable)
64+data Multipart = Multipart deriving (Eq, Ord, Show, Read, Generic, Typeable)
59−
65+
60−instance ToText AltJSON where
66+instance ToHttpApiData AltJSON where toQueryParam = const "json"
61− toText = const "json"
67+instance ToHttpApiData AltMedia where toQueryParam = const "media"
62−
68+instance ToHttpApiData Multipart where toQueryParam = const "multipart"
63−data AltMedia = AltMedia
69+
64− deriving (Eq, Ord, Show, Read, Generic, Typeable)
70+-- | An OAuth2 scope.
65−
71+newtype OAuthScope = OAuthScope Text
66−instance ToText AltMedia where
72+ deriving
67− toText = const "media"
73+ ( Eq
68−
74+ , Ord
69−newtype AuthKey = AuthKey Text
75+ , Show
70− deriving (Eq, Ord, Show, Read, Generic, Typeable, ToText, FromJSON, ToJSON)
76+ , Read
71−
77+ , IsString
72−newtype OAuthScope = OAuthScope { scopeToText :: Text }
78+ , Generic
73− deriving (Eq, Ord, Show, Read, IsString, Generic, Typeable, ToText, FromJSON, ToJSON)
79+ , Typeable
74−
80+ , FromHttpApiData
75−newtype OAuthToken = OAuthToken { tokenToBS :: ByteString }
81+ , ToHttpApiData
76− deriving (Eq, Ord, Show, Read, IsString, Generic, Typeable)
82+ , FromJSON
77−
83+ , ToJSON
78−instance FromJSON OAuthToken where
84+ )
79− parseJSON = withText "oauth_token" (pure . OAuthToken . Text.encodeUtf8)
85+
86+-- | An OAuth2 access token.
87+newtype AccessToken = AccessToken Text
88+ deriving
89+ ( Eq
90+ , Ord
91+ , Show
92+ , Read
93+ , IsString
94+ , Generic
95+ , Typeable
96+ , FromHttpApiData
97+ , ToHttpApiData
98+ , FromJSON
99+ , ToJSON
100+ )
101+
102+-- | An OAuth2 refresh token.
103+newtype RefreshToken = RefreshToken Text
104+ deriving
105+ ( Eq
106+ , Ord
107+ , Show
108+ , Read
109+ , IsString
110+ , Generic
111+ , Typeable
112+ , FromHttpApiData
113+ , ToHttpApiData
114+ , FromJSON
115+ , ToJSON
116+ )
117+
118+-- | A client identifier.
119+newtype ClientId = ClientId Text
120+ deriving
121+ ( Eq
122+ , Ord
123+ , Show
124+ , Read
125+ , IsString
126+ , Generic
127+ , Typeable
128+ , FromHttpApiData
129+ , ToHttpApiData
130+ , FromJSON
131+ , ToJSON
132+ )
133+
134+-- | A service identifier.
135+newtype ServiceId = ServiceId Text
136+ deriving
137+ ( Eq
138+ , Ord
139+ , Show
140+ , Read
141+ , IsString
142+ , Generic
143+ , Typeable
144+ , FromHttpApiData
145+ , ToHttpApiData
146+ , FromJSON
147+ , ToJSON
148+ )
149+
150+-- | An opaque client secret.
151+newtype GSecret = GSecret Text
152+ deriving
153+ ( Eq
154+ , Ord
155+ , Read
156+ , IsString
157+ , Generic
158+ , Typeable
159+ , FromHttpApiData
160+ , ToHttpApiData
161+ , FromJSON
162+ , ToJSON
163+ )
164+
165+instance Show GSecret where
166+ show = const "*****"
80
167
81newtype MediaDownload a = MediaDownload a
168newtype MediaDownload a = MediaDownload a
82
169
83−_MediaDownload :: Iso' (MediaDownload a) a
170+data MediaUpload a = MediaUpload a GBody
84−_MediaDownload = iso (\(MediaDownload x) -> x) MediaDownload
85
171
86_Coerce :: (Coercible a b, Coercible b a) => Iso' a b
172_Coerce :: (Coercible a b, Coercible b a) => Iso' a b
87_Coerce = iso coerce coerce
173_Coerce = iso coerce coerce
@@ -94,14 +180,7 @@ _Default = iso f Just
94 f (Just x) = x
180 f (Just x) = x
95 f Nothing = mempty
181 f Nothing = mempty
96
182
97−type Body = Source IO ByteString
98−type Stream = ResumableSource (ResourceT IO) ByteString
183+type Stream = ConduitM () ByteString (ResourceT IO) ()
99−
100−newtype ClientId = ClientId { clientIdToText :: Text }
101− deriving (Eq, Ord, Show, Read, IsString, Generic, Typeable, ToText, FromJSON, ToJSON)
102−
103−newtype ServiceId = ServiceId { serviceIdToText :: Text }
104− deriving (Eq, Ord, Show, Read, IsString, Generic, Typeable, ToText, FromJSON, ToJSON)
105
184
106data Error
185data Error
107 = TransportError HttpException
186 = TransportError HttpException
@@ -115,14 +194,15 @@ data SerializeError = SerializeError'
115 { _serializeId :: !ServiceId
194 { _serializeId :: !ServiceId
116 , _serializeHeaders :: [HTTP.Header]
195 , _serializeHeaders :: [HTTP.Header]
117 , _serializeStatus :: !Status
196 , _serializeStatus :: !Status
118− , _serializeMessage :: String
197+ , _serializeMessage :: !String
198+ , _serializeBody :: !(Maybe LBS.ByteString)
119 } deriving (Eq, Show, Typeable)
199 } deriving (Eq, Show, Typeable)
120
200
121data ServiceError = ServiceError'
201data ServiceError = ServiceError'
122 { _serviceId :: !ServiceId
202 { _serviceId :: !ServiceId
123 , _serviceStatus :: !Status
203 , _serviceStatus :: !Status
124− , _serviceHeaders :: [HTTP.Header]
204+ , _serviceHeaders :: ![HTTP.Header]
125− , _serviceBody :: Maybe LBS.ByteString
205+ , _serviceBody :: !(Maybe LBS.ByteString)
126 } deriving (Eq, Show, Typeable)
206 } deriving (Eq, Show, Typeable)
127
207
128class AsError a where
208class AsError a where
@@ -161,69 +241,87 @@ instance AsError Error where
161 ServiceError e -> Right e
241 ServiceError e -> Right e
162 x -> Left x
242 x -> Left x
163
243
164−data Service = Service
244+data ServiceConfig = ServiceConfig
165 { _svcId :: !ServiceId
245 { _svcId :: !ServiceId
166 , _svcHost :: !ByteString
246 , _svcHost :: !ByteString
167 , _svcPath :: !Builder
247 , _svcPath :: !Builder
168 , _svcPort :: !Int
248 , _svcPort :: !Int
169 , _svcSecure :: !Bool
249 , _svcSecure :: !Bool
170 , _svcTimeout :: !(Maybe Seconds)
250 , _svcTimeout :: !(Maybe Seconds)
171− , _svcScopes :: ![OAuthScope]
172 }
251 }
173
252
174−defaultService :: ServiceId -> ByteString -> Builder -> Service
253+defaultService :: ServiceId -> ByteString -> ServiceConfig
175−defaultService i h p = Service
254+defaultService i h = ServiceConfig
176 { _svcId = i
255 { _svcId = i
177 , _svcHost = h
256 , _svcHost = h
178− , _svcPath = p
257+ , _svcPath = mempty
179 , _svcPort = 443
258 , _svcPort = 443
180 , _svcSecure = True
259 , _svcSecure = True
181 , _svcTimeout = Just 70
260 , _svcTimeout = Just 70
182− , _svcScopes = []
183 }
261 }
184
262
263+-- | The remote host name, used for both the IP address to connect to and the
264+-- host request header.
185−serviceHost :: Lens' Service ByteString
265+serviceHost :: Lens' ServiceConfig ByteString
186serviceHost = lens _svcHost (\s a -> s { _svcHost = a })
266serviceHost = lens _svcHost (\s a -> s { _svcHost = a })
187
267
188−servicePath :: Lens' Service Builder
268+-- | The remote port to connect to.
189−servicePath = lens _svcPath (\s a -> s { _svcPath = a })
269+--
190−
270+-- Defaults to @443@.
191−servicePort :: Lens' Service Int
271+servicePort :: Lens' ServiceConfig Int
192servicePort = lens _svcPort (\s a -> s { _svcPort = a })
272servicePort = lens _svcPort (\s a -> s { _svcPort = a })
193
273
274+-- | A path prefix that is prepended to any sent HTTP request.
275+--
276+-- Defaults to @mempty@.
277+servicePath :: Lens' ServiceConfig Builder
278+servicePath = lens _svcPath (\s a -> s { _svcPath = a })
279+
280+-- | Whether to use HTTPS/SSL.
281+--
282+-- Defaults to @True@.
194−serviceSecure :: Lens' Service Bool
283+serviceSecure :: Lens' ServiceConfig Bool
195serviceSecure = lens _svcSecure (\s a -> s { _svcSecure = a })
284serviceSecure = lens _svcSecure (\s a -> s { _svcSecure = a })
196
285
286+-- | Number of seconds to wait for a response.
197−serviceTimeout :: Lens' Service (Maybe Seconds)
287+serviceTimeout :: Lens' ServiceConfig (Maybe Seconds)
198serviceTimeout = lens _svcTimeout (\s a -> s { _svcTimeout = a })
288serviceTimeout = lens _svcTimeout (\s a -> s { _svcTimeout = a })
199
289
200−-- | A single part of a multipart message.
290+-- | A single part of a (potentially multipart) request body.
201−data Part = Part MediaType [(HeaderName, ByteString)] Body
291+--
292+-- /Note:/ The 'IsString' instance defaults to a @text/plain@ MIME type.
293+data GBody = GBody !MediaType !RequestBody
202
294
203−data Payload
295+instance IsString GBody where
204− = Body !MediaType !Body
296+ fromString = GBody ("text" // "plain") . fromString
205− | Related ![Part]
297+
298+-- | A lens into the 'MediaType' of a request 'Body'.
299+bodyContentType :: Lens' GBody MediaType
300+bodyContentType = lens (\(GBody m _) -> m) (\(GBody _ b) m -> GBody m b)
206
301
207-- | An intermediary request builder.
302-- | An intermediary request builder.
208data Request = Request
303data Request = Request
209 { _rqPath :: !Builder
304 { _rqPath :: !Builder
210 , _rqQuery :: !(DList (ByteString, Maybe ByteString))
305 , _rqQuery :: !(DList (ByteString, Maybe ByteString))
211 , _rqHeaders :: !(DList (HeaderName, ByteString))
306 , _rqHeaders :: !(DList (HeaderName, ByteString))
212− , _rqBody :: !(Maybe Payload)
307+ , _rqBody :: ![GBody]
213 }
308 }
214
309
215instance Monoid Request where
310instance Monoid Request where
216− mempty = Request mempty mempty mempty Nothing
311+ mempty = Request mempty mempty mempty mempty
312+ mappend = (<>)
313+
314+instance Semigroup Request where
217− mappend a b = Request
315+ a <> b = Request
218− (_rqPath a <> "/" <> _rqPath b)
316+ (_rqPath a <> "/" <> _rqPath b)
219− (_rqQuery a <> _rqQuery b)
317+ (_rqQuery a <> _rqQuery b)
220− (_rqHeaders a <> _rqHeaders b)
318+ (_rqHeaders a <> _rqHeaders b)
221− (_rqBody b <|> _rqBody a)
319+ (_rqBody b <> _rqBody a)
222
320
223appendPath :: Request -> Builder -> Request
321appendPath :: Request -> Builder -> Request
224appendPath rq x = rq { _rqPath = _rqPath rq <> "/" <> x }
322appendPath rq x = rq { _rqPath = _rqPath rq <> "/" <> x }
225
323
226−appendPaths :: ToText a => Request -> [a] -> Request
324+appendPaths :: ToHttpApiData a => Request -> [a] -> Request
227appendPaths rq = appendPath rq . foldMap (mappend "/" . buildText)
325appendPaths rq = appendPath rq . foldMap (mappend "/" . buildText)
228
326
229appendQuery :: Request -> ByteString -> Maybe Text -> Request
327appendQuery :: Request -> ByteString -> Maybe Text -> Request
@@ -231,87 +329,98 @@ appendQuery rq k v = rq
231 { _rqQuery = DList.snoc (_rqQuery rq) (k, Text.encodeUtf8 <$> v)
329 { _rqQuery = DList.snoc (_rqQuery rq) (k, Text.encodeUtf8 <$> v)
232 }
330 }
233
331
234−appendHeader :: Request -> ByteString -> Maybe Text -> Request
332+appendHeader :: Request -> HeaderName -> Maybe Text -> Request
235appendHeader rq _ Nothing = rq
333appendHeader rq _ Nothing = rq
236appendHeader rq k (Just v) = rq
334appendHeader rq k (Just v) = rq
237− { _rqHeaders = DList.snoc (_rqHeaders rq) (CI.mk k, Text.encodeUtf8 v)
335+ { _rqHeaders = DList.snoc (_rqHeaders rq) (k, Text.encodeUtf8 v)
238 }
336 }
239
337
240−setBody :: Request -> MediaType -> Body -> Request
338+setBody :: Request -> [GBody] -> Request
241−setBody rq c x = rq { _rqBody = Just (Body c x) }
339+setBody rq bs = rq { _rqBody = bs }
242−
243−setRelated :: Request -> [Part] -> Request
244−setRelated rq ps = rq { _rqBody = Just (Related ps) }
245
340
246-- | A materialised 'http-client' request and associated response parser.
341-- | A materialised 'http-client' request and associated response parser.
247−data Client a = Client
342+data GClient a = GClient
248 { _cliAccept :: !(Maybe MediaType)
343 { _cliAccept :: !(Maybe MediaType)
249 , _cliMethod :: !Method
344 , _cliMethod :: !Method
250 , _cliCheck :: !(Status -> Bool)
345 , _cliCheck :: !(Status -> Bool)
251− , _cliService :: !Service
346+ , _cliService :: !ServiceConfig
252 , _cliRequest :: !Request
347 , _cliRequest :: !Request
253− , _cliResponse :: !(Stream -> ResourceT IO (Either String a))
348+ , _cliResponse :: !(Stream -> ResourceT IO (Either (String, LBS.ByteString) a))
254 }
349 }
255
350
256−clientService :: Lens' (Client a) Service
351+clientService :: Lens' (GClient a) ServiceConfig
257clientService = lens _cliService (\s a -> s { _cliService = a })
352clientService = lens _cliService (\s a -> s { _cliService = a })
258
353
259−mime :: FromStream c a => Proxy c -> Method -> [Int] -> Request -> Service -> Client a
354+mime :: FromStream c a
355+ => Proxy c
356+ -> Method
357+ -> [Int]
358+ -> Request
359+ -> ServiceConfig
360+ -> GClient a
260−mime p = client (fromStream p) (Just (contentType p))
361+mime p = gClient (fromStream p) (Just (contentType p))
261−
362+
262−discard :: Method -> [Int] -> Request -> Service -> Client ()
363+discard :: Method
364+ -> [Int]
365+ -> Request
366+ -> ServiceConfig
367+ -> GClient ()
263−discard = client (\b -> closeResumableSource b >> pure (Right ())) Nothing
368+discard = gClient (\b -> runConduit (b .| Conduit.sinkNull) >> pure (Right ())) Nothing
264−
369+
265−client :: (Stream -> ResourceT IO (Either String a))
370+gClient :: (Stream -> ResourceT IO (Either (String, LBS.ByteString) a))
266 -> Maybe MediaType
371 -> Maybe MediaType
267 -> Method
372 -> Method
268 -> [Int]
373 -> [Int]
269 -> Request
374 -> Request
270− -> Service
375+ -> ServiceConfig
271− -> Client a
376+ -> GClient a
272−client f cs m ns rq s = Client
377+gClient f cs m statuses rq s = GClient
273 { _cliAccept = cs
378 { _cliAccept = cs
274 , _cliMethod = m
379 , _cliMethod = m
275− , _cliCheck = (`elem` ns) . fromEnum
380+ , _cliCheck = \status -> fromEnum status `elem` statuses
276 , _cliService = s
381 , _cliService = s
277 , _cliRequest = rq
382 , _cliRequest = rq
278 , _cliResponse = f
383 , _cliResponse = f
279 }
384 }
280
385
281class Accept c => ToBody c a where
386class Accept c => ToBody c a where
282− toBody :: Proxy c -> a -> Body
387+ toBody :: Proxy c -> a -> GBody
283−
284−instance ToBody OctetStream Body where
285− toBody Proxy = id
286
388
287instance ToBody OctetStream ByteString where
389instance ToBody OctetStream ByteString where
288− toBody Proxy = CL.sourceList . (:[])
390+ toBody p = GBody (contentType p) . RequestBodyBS
289
391
290instance ToBody OctetStream LBS.ByteString where
392instance ToBody OctetStream LBS.ByteString where
291− toBody Proxy = CL.sourceList . LBS.toChunks
393+ toBody p = GBody (contentType p) . RequestBodyLBS
292
394
293instance ToBody PlainText ByteString where
395instance ToBody PlainText ByteString where
294− toBody Proxy = CL.sourceList . (:[])
396+ toBody p = GBody (contentType p) . RequestBodyBS
295
397
296instance ToBody PlainText LBS.ByteString where
398instance ToBody PlainText LBS.ByteString where
297− toBody Proxy = CL.sourceList . LBS.toChunks
399+ toBody p = GBody (contentType p) . RequestBodyLBS
298
400
299instance ToJSON a => ToBody JSON a where
401instance ToJSON a => ToBody JSON a where
300− toBody Proxy = CL.sourceList . LBS.toChunks . encode
402+ toBody p = GBody (contentType p) . RequestBodyLBS . encode
301
403
302class Accept c => FromStream c a where
404class Accept c => FromStream c a where
405+ fromStream :: Proxy c
406+ -> Stream
303− fromStream :: Proxy c -> Stream -> ResourceT IO (Either String a)
407+ -> ResourceT IO (Either (String, LBS.ByteString) a)
304
408
305instance FromStream OctetStream Stream where
409instance FromStream OctetStream Stream where
306 fromStream Proxy = pure . Right
410 fromStream Proxy = pure . Right
307
411
308instance FromJSON a => FromStream JSON a where
412instance FromJSON a => FromStream JSON a where
309− fromStream Proxy = sinkLBS >=> pure . eitherDecode
413+ fromStream Proxy s = do
414+ bs <- sinkLBS s
415+ case eitherDecode bs of
416+ Left e -> pure $! Left (e, bs)
417+ Right x -> pure $! Right x
310
418
311class GoogleRequest a where
419class GoogleRequest a where
312− type Rs a :: *
420+ type Rs a :: *
421+ type Scopes a :: [Symbol]
313
422
314− requestClient :: a -> Client (Rs a)
423+ requestClient :: a -> GClient (Rs a)
315
424
316class GoogleClient fn where
425class GoogleClient fn where
317 type Fn fn :: *
426 type Fn fn :: *
@@ -326,23 +435,24 @@ data Captures (s :: Symbol) a
326data CaptureMode (s :: Symbol) (m :: Symbol) a
435data CaptureMode (s :: Symbol) (m :: Symbol) a
327 deriving (Typeable)
436 deriving (Typeable)
328
437
329−data MultipartRelated (cs :: [*]) m b
438+data MultipartRelated (cs :: [*]) m
330 deriving (Typeable)
439 deriving (Typeable)
331
440
332instance ( ToBody c m
441instance ( ToBody c m
333− , ToBody OctetStream b
334 , GoogleClient fn
442 , GoogleClient fn
335− ) => GoogleClient (MultipartRelated (c ': cs) m b :> fn) where
443+ ) => GoogleClient (MultipartRelated (c ': cs) m :> fn) where
336− type Fn (MultipartRelated (c ': cs) m b :> fn) = m -> b -> Fn fn
444+ type Fn (MultipartRelated (c ': cs) m :> fn) = m -> GBody -> Fn fn
337−
445+
446+ buildClient Proxy rq m b =
338− buildClient Proxy rq m b = buildClient (Proxy :: Proxy fn) $
447+ buildClient (Proxy :: Proxy fn) $
339− setRelated rq
448+ setBody rq [toBody (Proxy :: Proxy c) m, b]
340− [ Part (contentType mc) [] (toBody mc m)
449+
341− , Part (contentType mb) [] (toBody mb b)
450+instance GoogleClient fn => GoogleClient (AltMedia :> fn) where
342− ]
451+ type Fn (AltMedia :> fn) = GBody -> Fn fn
343− where
452+
344− mc = Proxy :: Proxy c
453+ buildClient Proxy rq b =
345− mb = Proxy :: Proxy OctetStream
454+ buildClient (Proxy :: Proxy fn) $
455+ setBody rq [b]
346
456
347instance (KnownSymbol s, GoogleClient fn) => GoogleClient (s :> fn) where
457instance (KnownSymbol s, GoogleClient fn) => GoogleClient (s :> fn) where
348 type Fn (s :> fn) = Fn fn
458 type Fn (s :> fn) = Fn fn
@@ -357,9 +467,9 @@ instance (GoogleClient a, GoogleClient b) => GoogleClient (a :<|> b) where
357 buildClient (Proxy :: Proxy a) rq
467 buildClient (Proxy :: Proxy a) rq
358 :<|> buildClient (Proxy :: Proxy b) rq
468 :<|> buildClient (Proxy :: Proxy b) rq
359
469
360−instance ( KnownSymbol s
470+instance ( KnownSymbol s
361− , ToText a
471+ , ToHttpApiData a
362− , GoogleClient fn
472+ , GoogleClient fn
363 ) => GoogleClient (Capture s a :> fn) where
473 ) => GoogleClient (Capture s a :> fn) where
364 type Fn (Capture s a :> fn) = a -> Fn fn
474 type Fn (Capture s a :> fn) = a -> Fn fn
365
475
@@ -367,29 +477,29 @@ instance ( KnownSymbol s
367 . appendPath rq
477 . appendPath rq
368 . buildText
478 . buildText
369
479
370−instance ( KnownSymbol s
480+instance ( KnownSymbol s
371− , ToText a
481+ , ToHttpApiData a
372− , GoogleClient fn
482+ , GoogleClient fn
373 ) => GoogleClient (Captures s a :> fn) where
483 ) => GoogleClient (Captures s a :> fn) where
374 type Fn (Captures s a :> fn) = [a] -> Fn fn
484 type Fn (Captures s a :> fn) = [a] -> Fn fn
375
485
376 buildClient Proxy rq = buildClient (Proxy :: Proxy fn)
486 buildClient Proxy rq = buildClient (Proxy :: Proxy fn)
377 . appendPaths rq
487 . appendPaths rq
378
488
379−instance ( KnownSymbol s
489+instance ( KnownSymbol s
380− , KnownSymbol m
490+ , KnownSymbol m
381− , ToText a
491+ , ToHttpApiData a
382− , GoogleClient fn
492+ , GoogleClient fn
383 ) => GoogleClient (CaptureMode s m a :> fn) where
493 ) => GoogleClient (CaptureMode s m a :> fn) where
384 type Fn (CaptureMode s m a :> fn) = a -> Fn fn
494 type Fn (CaptureMode s m a :> fn) = a -> Fn fn
385
495
386 buildClient Proxy rq x = buildClient (Proxy :: Proxy fn)
496 buildClient Proxy rq x = buildClient (Proxy :: Proxy fn)
387 . appendPath rq
497 . appendPath rq
388− $ buildText x <> buildSymbol (Proxy :: Proxy m)
498+ $ buildText x <> ":" <> buildSymbol (Proxy :: Proxy m)
389
499
390−instance ( KnownSymbol s
500+instance ( KnownSymbol s
391− , ToText a
501+ , ToHttpApiData a
392− , GoogleClient fn
502+ , GoogleClient fn
393 ) => GoogleClient (QueryParam s a :> fn) where
503 ) => GoogleClient (QueryParam s a :> fn) where
394 type Fn (QueryParam s a :> fn) = Maybe a -> Fn fn
504 type Fn (QueryParam s a :> fn) = Maybe a -> Fn fn
395
505
@@ -399,110 +509,108 @@ instance ( KnownSymbol s
399 Just x -> appendQuery rq k v
509 Just x -> appendQuery rq k v
400 where
510 where
401 k = byteSymbol (Proxy :: Proxy s)
511 k = byteSymbol (Proxy :: Proxy s)
402− v = Just (toText x)
512+ v = Just (toQueryParam x)
403
513
404−instance ( KnownSymbol s
514+instance ( KnownSymbol s
405− , ToText a
515+ , ToHttpApiData a
406− , GoogleClient fn
516+ , GoogleClient fn
407 ) => GoogleClient (QueryParams s a :> fn) where
517 ) => GoogleClient (QueryParams s a :> fn) where
408 type Fn (QueryParams s a :> fn) = [a] -> Fn fn
518 type Fn (QueryParams s a :> fn) = [a] -> Fn fn
409
519
410 buildClient Proxy rq = buildClient (Proxy :: Proxy fn) . foldl' go rq
520 buildClient Proxy rq = buildClient (Proxy :: Proxy fn) . foldl' go rq
411 where
521 where
412− go r = appendQuery r k . Just . toText
522+ go r = appendQuery r k . Just . toQueryParam
413
523
414 k = byteSymbol (Proxy :: Proxy s)
524 k = byteSymbol (Proxy :: Proxy s)
415
525
416−instance ( KnownSymbol s
526+instance ( KnownSymbol s
417− , ToText a
527+ , ToHttpApiData a
418− , GoogleClient fn
528+ , GoogleClient fn
419 ) => GoogleClient (Header s a :> fn) where
529 ) => GoogleClient (Header s a :> fn) where
420 type Fn (Header s a :> fn) = Maybe a -> Fn fn
530 type Fn (Header s a :> fn) = Maybe a -> Fn fn
421
531
422 buildClient Proxy rq mx = buildClient (Proxy :: Proxy fn) $
532 buildClient Proxy rq mx = buildClient (Proxy :: Proxy fn) $
423 case mx of
533 case mx of
424 Nothing -> rq
534 Nothing -> rq
425− Just x -> appendHeader rq k v
535+ Just x -> appendHeader rq (CI.mk k) v
426 where
536 where
427 k = byteSymbol (Proxy :: Proxy s)
537 k = byteSymbol (Proxy :: Proxy s)
428− v = Just (toText x)
538+ v = Just (toQueryParam x)
429
539
430instance ( ToBody c a
540instance ( ToBody c a
431 , GoogleClient fn
541 , GoogleClient fn
432 ) => GoogleClient (ReqBody (c ': cs) a :> fn) where
542 ) => GoogleClient (ReqBody (c ': cs) a :> fn) where
433 type Fn (ReqBody (c ': cs) a :> fn) = a -> Fn fn
543 type Fn (ReqBody (c ': cs) a :> fn) = a -> Fn fn
434
544
545+ buildClient Proxy rq x =
435− buildClient Proxy rq = buildClient (Proxy :: Proxy fn)
546+ buildClient (Proxy :: Proxy fn) $
436− . setBody rq (contentType p)
437− . toBody p
438− where
439− p = Proxy :: Proxy c
547+ setBody rq [toBody (Proxy :: Proxy c) x]
440
548
441instance {-# OVERLAPPABLE #-}
549instance {-# OVERLAPPABLE #-}
442 FromStream c a => GoogleClient (Get (c ': cs) a) where
550 FromStream c a => GoogleClient (Get (c ': cs) a) where
443− type Fn (Get (c ': cs) a) = Service -> Client a
551+ type Fn (Get (c ': cs) a) = ServiceConfig -> GClient a
444
552
445 buildClient Proxy = mime (Proxy :: Proxy c) methodGet [200, 203]
553 buildClient Proxy = mime (Proxy :: Proxy c) methodGet [200, 203]
446
554
447instance {-# OVERLAPPING #-}
555instance {-# OVERLAPPING #-}
448 GoogleClient (Get (c ': cs) ()) where
556 GoogleClient (Get (c ': cs) ()) where
449− type Fn (Get (c ': cs) ()) = Service -> Client ()
557+ type Fn (Get (c ': cs) ()) = ServiceConfig -> GClient ()
450
558
451 buildClient Proxy = discard methodGet [204]
559 buildClient Proxy = discard methodGet [204]
452
560
453instance {-# OVERLAPPABLE #-}
561instance {-# OVERLAPPABLE #-}
454 (FromStream c a, cs' ~ (c ': cs)) => GoogleClient (Post cs' a) where
562 (FromStream c a, cs' ~ (c ': cs)) => GoogleClient (Post cs' a) where
455− type Fn (Post cs' a) = Service -> Client a
563+ type Fn (Post cs' a) = ServiceConfig -> GClient a
456
564
457 buildClient Proxy = mime (Proxy :: Proxy c) methodPost [200, 201]
565 buildClient Proxy = mime (Proxy :: Proxy c) methodPost [200, 201]
458
566
459instance {-# OVERLAPPING #-}
567instance {-# OVERLAPPING #-}
460 GoogleClient (Post cs ()) where
568 GoogleClient (Post cs ()) where
461− type Fn (Post cs ()) = Service -> Client ()
569+ type Fn (Post cs ()) = ServiceConfig -> GClient ()
462
570
463 buildClient Proxy = discard methodPost [204]
571 buildClient Proxy = discard methodPost [204]
464
572
465instance {-# OVERLAPPABLE #-}
573instance {-# OVERLAPPABLE #-}
466 FromStream c a => GoogleClient (Put (c ': cs) a) where
574 FromStream c a => GoogleClient (Put (c ': cs) a) where
467− type Fn (Put (c ': cs) a) = Service -> Client a
575+ type Fn (Put (c ': cs) a) = ServiceConfig -> GClient a
468
576
469 buildClient Proxy = mime (Proxy :: Proxy c) methodPut [200, 201]
577 buildClient Proxy = mime (Proxy :: Proxy c) methodPut [200, 201]
470
578
471instance {-# OVERLAPPING #-}
579instance {-# OVERLAPPING #-}
472 GoogleClient (Put (c ': cs) ()) where
580 GoogleClient (Put (c ': cs) ()) where
473− type Fn (Put (c ': cs) ()) = Service -> Client ()
581+ type Fn (Put (c ': cs) ()) = ServiceConfig -> GClient ()
474
582
475 buildClient Proxy = discard methodPut [204]
583 buildClient Proxy = discard methodPut [204]
476
584
477instance {-# OVERLAPPABLE #-}
585instance {-# OVERLAPPABLE #-}
478 FromStream c a => GoogleClient (Patch (c ': cs) a) where
586 FromStream c a => GoogleClient (Patch (c ': cs) a) where
479− type Fn (Patch (c ': cs) a) = Service -> Client a
587+ type Fn (Patch (c ': cs) a) = ServiceConfig -> GClient a
480
588
481 buildClient Proxy = mime (Proxy :: Proxy c) methodPatch [200, 201]
589 buildClient Proxy = mime (Proxy :: Proxy c) methodPatch [200, 201]
482
590
483instance {-# OVERLAPPING #-}
591instance {-# OVERLAPPING #-}
484 GoogleClient (Patch (c ': cs) ()) where
592 GoogleClient (Patch (c ': cs) ()) where
485− type Fn (Patch (c ': cs) ()) = Service -> Client ()
593+ type Fn (Patch (c ': cs) ()) = ServiceConfig -> GClient ()
486
594
487 buildClient Proxy = discard methodPatch [204]
595 buildClient Proxy = discard methodPatch [204]
488
596
489instance {-# OVERLAPPABLE #-}
597instance {-# OVERLAPPABLE #-}
490 FromStream c a => GoogleClient (Delete (c ': cs) a) where
598 FromStream c a => GoogleClient (Delete (c ': cs) a) where
491− type Fn (Delete (c ': cs) a) = Service -> Client a
599+ type Fn (Delete (c ': cs) a) = ServiceConfig -> GClient a
492
600
493 buildClient Proxy = mime (Proxy :: Proxy c) methodDelete [200, 202]
601 buildClient Proxy = mime (Proxy :: Proxy c) methodDelete [200, 202]
494
602
495instance {-# OVERLAPPING #-}
603instance {-# OVERLAPPING #-}
496− GoogleClient (Delete (c ': cs) ()) where
604+ GoogleClient (Delete (c ': cs) ()) where
497− type Fn (Delete (c ': cs) ()) = Service -> Client ()
605+ type Fn (Delete (c ': cs) ()) = ServiceConfig -> GClient ()
498
606
499 buildClient Proxy = discard methodDelete [204]
607 buildClient Proxy = discard methodDelete [204]
500
608
501sinkLBS :: Stream -> ResourceT IO LBS.ByteString
609sinkLBS :: Stream -> ResourceT IO LBS.ByteString
502−sinkLBS = fmap LBS.fromChunks . ($$+- CL.consume)
610+sinkLBS = runConduit . (.| Conduit.sinkLazy)
503
611
504−buildText :: ToText a => a -> Builder
612+buildText :: ToHttpApiData a => a -> Builder
505−buildText = Build.fromText . toText
613+buildText = Build.fromText . toQueryParam
506
614
507buildSymbol :: forall n proxy. KnownSymbol n => proxy n -> Builder
615buildSymbol :: forall n proxy. KnownSymbol n => proxy n -> Builder
508buildSymbol = Build.fromString . symbolVal
616buildSymbol = Build.fromString . symbolVal
@@ -534,3 +642,19 @@ seconds (Seconds n)
534
642
535microseconds :: Seconds -> Int
643microseconds :: Seconds -> Int
536microseconds = (1000000 *) . seconds
644microseconds = (1000000 *) . seconds
645+
646+newtype GFieldMask = GFieldMask Text
647+ deriving
648+ ( Eq
649+ , Ord
650+ , Show
651+ , Read
652+ , IsString
653+ , Generic
654+ , Data
655+ , Typeable
656+ , FromHttpApiData
657+ , ToHttpApiData
658+ , FromJSON
659+ , ToJSON
660+ )
core/test/Main.hs+1−1
@@ -1,5 +1,5 @@
1-- Module : Main
1-- Module : Main
2−-- Copyright : (c) 2015 Brendan Hay
2+-- Copyright : (c) 2015-2016 Brendan Hay
3-- License : Mozilla Public License, v. 2.0.
3-- License : Mozilla Public License, v. 2.0.
4-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
4-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
5-- Stability : experimental
5-- Stability : experimental
examples/gogol-examples.cabal+11−10
@@ -1,12 +1,12 @@
1name: gogol-examples
1name: gogol-examples
2−version: 0.0.1
2+version: 0.5.0
3synopsis: Basic examples for various gogol libraries.
3synopsis: Basic examples for various gogol libraries.
4homepage: https://github.com/brendanhay/gogol
4homepage: https://github.com/brendanhay/gogol
5license: OtherLicense
5license: OtherLicense
6license-file: LICENSE
6license-file: LICENSE
7author: Brendan Hay
7author: Brendan Hay
8maintainer: Brendan Hay <brendan.g.hay@gmail.com>
8maintainer: Brendan Hay <brendan.g.hay@gmail.com>
9−copyright: Copyright (c) 2015 Brendan Hay
9+copyright: Copyright (c) 2015-2016 Brendan Hay
10build-type: Simple
10build-type: Simple
11extra-source-files: README.md
11extra-source-files: README.md
12cabal-version: >= 1.10
12cabal-version: >= 1.10
@@ -18,18 +18,19 @@ library
18 ghc-options: -Wall
18 ghc-options: -Wall
19
19
20 exposed-modules:
20 exposed-modules:
21− Example.Compute
21+ Example.Storage
22+ , Example.Sheets
22
23
23 build-depends:
24 build-depends:
24− base >= 4.7 && < 5
25+ base >= 4.7
25 , bytestring
26 , bytestring
26 , conduit
27 , conduit
27− , exceptions
28+ , conduit-extra
28− , gogol == 0.0.1.*
29+ , gogol == 0.5.0.*
29− , gogol-compute
30 , gogol-core
30 , gogol-core
31− , http-conduit
31+ , gogol-storage
32+ , gogol-sheets
32 , lens
33 , lens
33− , semigroups
34+ , resourcet
34 , text
35 , text
35− , transformers
36+ , aeson
examples/src/Example/Compute.hsdeleted−13
@@ -1,13 +0,0 @@
1−-- |
2−-- Module : Example.Compute
3−-- Copyright : (c) 2015 Brendan Hay
4−-- License : Mozilla Public License, v. 2.0.
5−-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
6−-- Stability : provisional
7−-- Portability : non-portable (GHC extensions)
8−--
9−module Example.Compute where
10−
11−example :: IO ()
12−example = pure ()
13−
examples/src/Example/Sheets.hsnew file+54
@@ -0,0 +1,54 @@
1+{-# LANGUAGE OverloadedStrings #-}
2+
3+module Example.Sheets where
4+
5+---------------------------------------------------------------------------------
6+import Network.Google.Resource.Sheets.Spreadsheets.Get
7+import Network.Google.Sheets
8+import Network.Google
9+
10+import Control.Lens ((.~), (<&>))
11+import Data.Text (Text)
12+import System.IO (stdout)
13+import Data.Aeson.Types
14+
15+---------------------------------------------------------------------------------
16+
17+-- |
18+-- This gets the Information about an spreadsheet.
19+-- In order to be able to run these examples you need to
20+-- create a service acount from google's developers console
21+-- and copy the dowloaded json file to ~/.config/gcloud/application_default_credentials.json.
22+--
23+-- you must also share with your service the spreadsheet that you want to get the info of.
24+-- In order to do this you must share the sheet with the email address of your service
25+-- which is in your downloaded service config file.
26+--
27+-- after doing above step just pass the sreadsheet id to the function.
28+exampleGetSheet :: Text -> IO Spreadsheet
29+exampleGetSheet sheetID = do
30+ lgr <- newLogger Debug stdout
31+ env <- newEnv <&> (envLogger .~ lgr) . (envScopes .~ spreadsheetsScope)
32+ runResourceT . runGoogle env $
33+ send (spreadsheetsGet sheetID )
34+
35+-- |
36+-- you pass the sheet id and a range (eg. "sheet1!A1:C3") in that sheet
37+-- and it retreives the values in the specified range
38+exampleGetValue :: Text -> Text -> IO ValueRange
39+exampleGetValue sheetID range = do
40+ lgr <- newLogger Debug stdout
41+ env <- newEnv <&> (envLogger .~ lgr) . (envScopes .~ spreadsheetsScope)
42+ runResourceT . runGoogle env $
43+ send (spreadsheetsValuesGet sheetID range )
44+
45+
46+exampleAppendValue :: Text -> Text -> [[Value]] -> IO AppendValuesResponse
47+exampleAppendValue sheetID range val = do
48+ lgr <- newLogger Debug stdout
49+ env <- newEnv <&> (envLogger .~ lgr) . (envScopes .~ spreadsheetsScope)
50+ runResourceT . runGoogle env $
51+ send (svaValueInputOption .~ Just "USER_ENTERED" $ spreadsheetsValuesAppend
52+ sheetID
53+ ( vrMajorDimension .~ Just VRMDRows $ vrValues .~ val $ vrRange .~ Just range $ valueRange)
54+ range )
examples/src/Example/Storage.hsnew file+68
@@ -0,0 +1,68 @@
1+{-# LANGUAGE FlexibleContexts #-}
2+{-# LANGUAGE OverloadedStrings #-}
3+{-# LANGUAGE ScopedTypeVariables #-}
4+
5+-- |
6+-- Module : Example.Storage
7+-- Copyright : (c) 2015-2016 Brendan Hay
8+-- License : Mozilla Public License, v. 2.0.
9+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
10+-- Stability : provisional
11+-- Portability : non-portable (GHC extensions)
12+--
13+module Example.Storage where
14+
15+import Control.Lens ((&), (.~), (<&>), (?~))
16+import Control.Monad.Trans.Resource (liftResourceT, runResourceT)
17+
18+import Data.Conduit (runConduit, (.|))
19+import Data.Text (Text)
20+
21+import System.IO (stdout)
22+
23+import qualified Data.Conduit.Binary as Conduit
24+import qualified Data.Text as Text
25+import qualified Network.Google as Google
26+import qualified Network.Google.Storage as Storage
27+
28+
29+-- This will calculate the MIME type (and therefore Content-Type) of
30+-- the stored object based on the file extension.
31+--
32+-- You can explicitly set the desired MIME type by using:
33+-- {-
34+-- import Network.HTTP.Media ((//))
35+----
36+-- b <- sourceBody f <&> bodyContentType .~ "application" // "json"
37+-- ...
38+--
39+-- -}
40+--example :: Text -> FilePath -> IO ()
41+example bucket input output = do
42+ -- Setup a logger to emit 'Debug' (or higher) log statements to 'stdout':
43+ lgr <- Google.newLogger Google.Debug stdout
44+
45+ -- Create a new environment which will discover the appropriate
46+ -- AuthN/AuthZ credentials, and explicitly state the OAuth scopes
47+ -- we will be using below, which will be enforced by the compiler:
48+ env <- Google.newEnv <&>
49+ (Google.envLogger .~ lgr)
50+ . (Google.envScopes .~ Storage.storageReadWriteScope)
51+
52+ -- Create a streaming 'Conduit' source of the input file contents:
53+ body <- Google.sourceBody input
54+
55+ let key = Text.pack input
56+
57+ runResourceT . Google.runGoogle env $ do
58+ -- Upload the 'input' file contents to the specified bucket, using
59+ -- the file path as the key:
60+ _ <- Google.upload (Storage.objectsInsert bucket Storage.object' & Storage.oiName ?~ key) body
61+
62+ -- Download from the bucket/key and create a source of the HTTP stream:
63+ stream <- Google.download (Storage.objectsGet bucket key)
64+
65+ -- 'Conduit' actions such as '.|' need to be lifted into the 'Google'
66+ -- monad using 'liftResourceT', this will stream the received bytes
67+ -- into the 'output' file:
68+ liftResourceT (runConduit (stream .| Conduit.sinkFile output))
gen/.ghcinew file+3
@@ -0,0 +1,3 @@
1+:set -XOverloadedStrings
2+
3+:set prompt "> "
gen/.stylish-haskell.yaml+7−3
@@ -4,12 +4,16 @@ steps:
4 - language_pragmas:
4 - language_pragmas:
5 style: vertical
5 style: vertical
6 remove_redundant: true
6 remove_redundant: true
7+ - simple_align:
8+ cases: true
9+ top_level_patterns: true
7− - records: {}
10+ records: true
8 - trailing_whitespace: {}
11 - trailing_whitespace: {}
9
12
10−columns: 80
13+# In recent stylish-haskell versions, record fields do not get aligned at all if any one of the fields length exceeds columns, so we pad it out from 80.
14+columns: 140
11
15
12language_extensions:
16language_extensions:
13 - MultiParamTypeClasses
17 - MultiParamTypeClasses
14 - TypeOperators
18 - TypeOperators
15− - DataKinds
19+ - DataKinds
gen/Makefile+10−2
@@ -38,7 +38,7 @@ format:
38 -exec stylish-haskell -i {} \;
38 -exec stylish-haskell -i {} \;
39
39
40$(BIN)/gogol-gen: $(BIN)
40$(BIN)/gogol-gen: $(BIN)
41− stack build gogol-gen --copy-bins --local-bin-path $(BIN)
41+ stack build gogol-gen --nix --copy-bins --local-bin-path $(BIN)
42
42
43$(BIN):
43$(BIN):
44 mkdir $@
44 mkdir $@
@@ -54,4 +54,12 @@ $(MODEL_DIR): vendor/google-api-go-client
54 @./script/copy-models $< $@
54 @./script/copy-models $< $@
55
55
56vendor/google-api-go-client:
56vendor/google-api-go-client:
57− git clone git@github.com:google/google-api-go-client $@
57+ git clone https://github.com/google/google-api-go-client $@
58+
59+.PHONY: audit
60+
61+ACTUAL = $(addsuffix \\n,$(sort $(notdir $(MODELS))))
62+EXPECT = $(addsuffix -api.json\\n,$(sort $(notdir $(basename $(wildcard annex/*.json)))))
63+
64+audit: $(MODEL_DIR)
65+ @diff -B -y <(echo -e $(ACTUAL)) <(echo -e $(EXPECT))
gen/README.mdnew file+52
@@ -0,0 +1,52 @@
1+# gogol-gen
2+
3+For pull requests which affect generated output, please _do not include_ the
4+actual regenerated service code, only commit the updates to the generator,
5+config and annex connection.
6+
7+This ensures the Continuous Integration process is the single source of truth
8+for generated code changes, and keeps pull requests readable and focused on
9+actual generator code/logic changes.
10+
11+## Generating
12+
13+The configuration for the generation step of each individual service endpoint lives
14+under `./annex`. The naming matches the Google Discovery Service naming of endpoints,
15+which are vendored under `./model`.
16+
17+Rather than actually crawling the Discovery Service, the [Google API Go Client](https://www.github.com/google/google-api-go-client)
18+is vendored under `./vendor`, and the JSON service definitions are copied to `./model`
19+to ensure reproducibility of the generation steps and the abilitry to diff across versions.
20+
21+### Example: Cloud Dataproc
22+
23+To add a new endpoint, first create the related JSON configuration in the `./annex` directory.
24+
25+Since the Cloud Dataproc API is called `dataproc-api.json` in the Google Discovery API,
26+you would create the configuration `./annex/dataproc.json` with the following contents:
27+
28+```
29+{
30+ "library": "dataproc",
31+ "canonicalName": "Dataproc"
32+}
33+```
34+
35+Then, the `Makefile` is used:
36+
37+```
38+make clean
39+make
40+```
41+
42+This will build the `./bin/gogol-gen` binary, and will generate a Haskell library
43+for each API that has matching `./annex/*.json` configuration.
44+
45+For the above example, the result would be a `../gogol-dataproc` directory at the
46+top-level of the project containing the generated API client.
47+
48+> `make full-clean` can be used to cause a complete re-download of all (including new)
49+service models.
50+
51+> Individual clients/SDKs can be generated by passing a specific `MODELS` environment
52+variable to the `make` command, for example: `MODELS=model/admin/directory/v1/admin-api.json make`
gen/annex/abusiveexperiencereport.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "abusiveexperiencereport",
3+ "canonicalName": "AbusiveExperienceReport"
4+}
gen/annex/acceleratedmobilepageurl.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "acceleratedmobilepageurl",
3+ "canonicalName": "AcceleratedMobilePageUrl"
4+}
gen/annex/accessapproval.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "accessapproval",
3+ "canonicalName": "AccessApproval"
4+}
gen/annex/accesscontextmanager.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "accesscontextmanager",
3+ "canonicalName": "AccessContextManager"
4+}
gen/annex/adexchangebuyer.json−1
@@ -2,4 +2,3 @@
2 "library": "adexchange-buyer",
2 "library": "adexchange-buyer",
3 "canonicalName": "AdExchangeBuyer"
3 "canonicalName": "AdExchangeBuyer"
4}
4}
5−
gen/annex/adexchangebuyer2.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "adexchangebuyer2",
3+ "canonicalName": "AdExchangeBuyer2"
4+}
gen/annex/adexchangeseller.json−1
@@ -2,4 +2,3 @@
2 "library": "adexchange-seller",
2 "library": "adexchange-seller",
3 "canonicalName": "AdExchangeSeller"
3 "canonicalName": "AdExchangeSeller"
4}
4}
5−
gen/annex/adexperiencereport.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "adexperiencereport",
3+ "canonicalName": "AdExperienceReport"
4+}
gen/annex/alertcenter.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "alertcenter",
3+ "canonicalName": "AlertCenter"
4+}
gen/annex/analyticsreporting.jsonnew file+17
@@ -0,0 +1,17 @@
1+{
2+ "library": "analyticsreporting",
3+ "canonicalName": "AnalyticsReporting",
4+ "schemas": {
5+ "User": {
6+ "properties": {
7+ "type": {
8+ "enum": [
9+ "USER_ID_TYPE_UNSPECIFIED",
10+ "USER_ID_TYPE_USER_ID",
11+ "USER_ID_TYPE_CLIENT_ID"
12+ ]
13+ }
14+ }
15+ }
16+ }
17+}
gen/annex/androiddeviceprovisioning.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "androiddeviceprovisioning",
3+ "canonicalName": "AndroidDeviceProvisioning"
4+}
gen/annex/androidmanagement.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "androidmanagement",
3+ "canonicalName": "AndroidManagement"
4+}
gen/annex/bigquery.json+18−2
@@ -1,5 +1,21 @@
1{
1{
2 "library": "bigquery",
2 "library": "bigquery",
3− "canonicalName": "BigQuery"
3+ "canonicalName": "BigQuery",
4+ "schemas": {
5+ "JobConfigurationLoad": {
6+ "properties": {
7+ "quote": {
8+ "default": null
9+ }
10+ }
11+ },
12+ "Table": {
13+ "properties": {
14+ "requirePartitionFilter": {
15+ "default": null
16+ }
17+ }
4−}
18+ }
5
19
20+ }
21+}
gen/annex/bigquerydatatransfer.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "bigquerydatatransfer",
3+ "canonicalName": "BigQueryDataTransfer"
4+}
gen/annex/bigtableadmin.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "bigtableadmin",
3+ "canonicalName": "BigtableAdmin"
4+}
gen/annex/binaryauthorization.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "binaryauthorization",
3+ "canonicalName": "BinaryAuthorization"
4+}
gen/annex/chat.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "chat",
3+ "canonicalName": "Chat"
4+}
gen/annex/cloudasset.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "cloudasset",
3+ "canonicalName": "CloudAsset"
4+}
gen/annex/cloudbuild.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "containerbuilder",
3+ "canonicalName": "ContainerBuilder"
4+}
gen/annex/clouderrorreporting.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "clouderrorreporting",
3+ "canonicalName": "CloudErrorReporting"
4+}
gen/annex/cloudfunctions.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "cloudfunctions",
3+ "canonicalName": "CloudFunctions"
4+}
gen/annex/cloudidentity.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "cloudidentity",
3+ "canonicalName": "CloudIdentity"
4+}
gen/annex/cloudiot.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "cloudiot",
3+ "canonicalName": "CloudIOT"
4+}
gen/annex/cloudkms.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "cloudkms",
3+ "canonicalName": "CloudKMS"
4+}
gen/annex/cloudmonitoring.json+2−2
@@ -1,5 +1,5 @@
1{
1{
2− "library": "monitoring",
2+ "library": "cloudmonitoring",
3− "canonicalName": "Monitoring"
3+ "canonicalName": "CloudMonitoring"
4}
4}
5
5
gen/annex/cloudprivatecatalog.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "cloudprivatecatalog",
3+ "canonicalName": "CloudPrivateCatalog"
4+}
gen/annex/cloudprivatecatalogproducer.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "cloudprivatecatalogproducer",
3+ "canonicalName": "CloudPrivateCatalogProducer"
4+}
gen/annex/cloudprofiler.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "cloudprofiler",
3+ "canonicalName": "CloudProfiler"
4+}
gen/annex/cloudscheduler.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "cloudscheduler",
3+ "canonicalName": "CloudScheduler"
4+}
gen/annex/cloudsearch.jsonnew file+24
@@ -0,0 +1,24 @@
1+{
2+ "library": "cloudsearch",
3+ "canonicalName": "CloudSearch",
4+ "resources": {
5+ "media": {
6+ "methods": {
7+ "upload": {
8+ "mediaUpload": {
9+ "protocols": {
10+ "resumable": {
11+ "multipart": true,
12+ "path": "/resumable/upload/v1/media/{+resourceName}"
13+ },
14+ "simple": {
15+ "multipart": true,
16+ "path": "/upload/v1/media/{+resourceName}"
17+ }
18+ }
19+ }
20+ }
21+ }
22+ }
23+ }
24+}
gen/annex/cloudshell.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "cloudshell",
3+ "canonicalName": "CloudShell"
4+}
gen/annex/cloudtasks.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "cloudtasks",
3+ "canonicalName": "CloudTasks"
4+}
gen/annex/cloudtrace.jsonnew file+5
@@ -0,0 +1,5 @@
1+{
2+ "library": "cloudtrace",
3+ "canonicalName": "CloudTrace"
4+}
5+
gen/annex/commentanalyzer.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "commentanalyzer",
3+ "canonicalName": "CommentAnalyzer"
4+}
gen/annex/composer.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "composer",
3+ "canonicalName": "Composer"
4+}
gen/annex/consumersurveys.jsonnew file+5
@@ -0,0 +1,5 @@
1+{
2+ "library": "consumersurveys",
3+ "canonicalName": "ConsumerSurveys",
4+ "documentationLink": "https://developers.google.com/surveys/"
5+}
gen/annex/containeranalysis.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "containeranalysis",
3+ "canonicalName": "ContainerAnalysis"
4+}
gen/annex/datafusion.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "datafusion",
3+ "canonicalName": "DataFusion"
4+}
gen/annex/dataproc.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "dataproc",
3+ "canonicalName": "Dataproc"
4+}
gen/annex/dialogflow.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "dialogflow",
3+ "canonicalName": "DialogFlow"
4+}
gen/annex/digitalassetlinks.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "digitalassetlinks",
3+ "canonicalName": "DigitalAssetLinks"
4+}
gen/annex/dlp.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "dlp",
3+ "canonicalName": "DLP"
4+}
gen/annex/dns.json−1
@@ -2,4 +2,3 @@
2 "library": "dns",
2 "library": "dns",
3 "canonicalName": "DNS"
3 "canonicalName": "DNS"
4}
4}
5−
gen/annex/docs.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "docs",
3+ "canonicalName": "Docs"
4+}
gen/annex/driveactivity.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "driveactivity",
3+ "canonicalName": "DriveActivity"
4+}
gen/annex/factchecktools.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "factchecktools",
3+ "canonicalName": "FactCheckTools"
4+}
gen/annex/file.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "file",
3+ "canonicalName": "File"
4+}
gen/annex/firebasedynamiclinks.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "firebase-dynamiclinks",
3+ "canonicalName": "FirebaseDynamicLinks"
4+}
gen/annex/firebasehosting.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "firebasehosting",
3+ "canonicalName": "FirebaseHosting"
4+}
gen/annex/firebaseremoteconfig.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "firebaseremoteconfig",
3+ "canonicalName": "FirebaseRemoteConfig"
4+}
gen/annex/firebaserules.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "firebase-rules",
3+ "canonicalName": "FirebaseRules"
4+}
gen/annex/firestore.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "firestore",
3+ "canonicalName": "FireStore"
4+}
gen/annex/healthcare.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "healthcare",
3+ "canonicalName": "Healthcare"
4+}
gen/annex/iam.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "iam",
3+ "canonicalName": "IAM"
4+}
gen/annex/iamcredentials.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "iamcredentials",
3+ "canonicalName": "IAMCredentials"
4+}
gen/annex/iap.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "iap",
3+ "canonicalName": "IAP"
4+}
gen/annex/identitytoolkit.json−1
@@ -2,4 +2,3 @@
2 "library": "identity-toolkit",
2 "library": "identity-toolkit",
3 "canonicalName": "IdentityToolkit"
3 "canonicalName": "IdentityToolkit"
4}
4}
5−
gen/annex/indexing.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "indexing",
3+ "canonicalName": "Indexing"
4+}
gen/annex/jobs.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "jobs",
3+ "canonicalName": "Jobs"
4+}
gen/annex/kgsearch.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "kgsearch",
3+ "canonicalName": "KnowledgeGraphSearch"
4+}
gen/annex/language.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "language",
3+ "canonicalName": "Language"
4+}
gen/annex/libraryagent.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "libraryagent",
3+ "canonicalName": "LibraryAgent"
4+}
gen/annex/manufacturers.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "manufacturers",
3+ "canonicalName": "Manufacturers"
4+}
gen/annex/ml.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "ml",
3+ "canonicalName": "MachineLearning"
4+}
gen/annex/monitoring.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "monitoring",
3+ "canonicalName": "Monitoring"
4+}
gen/annex/oslogin.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "oslogin",
3+ "canonicalName": "OSLogin"
4+}
gen/annex/people.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "people",
3+ "canonicalName": "People"
4+}
gen/annex/photoslibrary.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "photoslibrary",
3+ "canonicalName": "PhotosLibrary"
4+}
gen/annex/playcustomapp.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "playcustomapp",
3+ "canonicalName": "PlayCustomApp"
4+}
gen/annex/poly.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "poly",
3+ "canonicalName": "Poly"
4+}
gen/annex/redis.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "redis",
3+ "canonicalName": "Redis"
4+}
gen/annex/remotebuildexecution.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "remotebuildexecution",
3+ "canonicalName": "RemoteBuildExecution"
4+}
gen/annex/run.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "run",
3+ "canonicalName": "Run"
4+}
gen/annex/runtimeconfig.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "runtimeconfig",
3+ "canonicalName": "RuntimeConfig"
4+}
gen/annex/safebrowsing.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "safebrowsing",
3+ "canonicalName": "SafeBrowsing"
4+}
gen/annex/script.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "script",
3+ "canonicalName": "Script"
4+}
gen/annex/searchconsole.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "searchconsole",
3+ "canonicalName": "SearchConsole"
4+}
gen/annex/securitycenter.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "securitycenter",
3+ "canonicalName": "SecurityCenter"
4+}
gen/annex/servicebroker.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "servicebroker",
3+ "canonicalName": "ServiceBroker"
4+}
gen/annex/serviceconsumermanagement.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "serviceconsumermanagement",
3+ "canonicalName": "ServiceConsumerManagement"
4+}
gen/annex/servicecontrol.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "servicecontrol",
3+ "canonicalName": "ServiceControl"
4+}
gen/annex/servicemanagement.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "servicemanagement",
3+ "canonicalName": "ServiceManagement"
4+}
gen/annex/servicenetworking.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "servicenetworking",
3+ "canonicalName": "ServiceNetworking"
4+}
gen/annex/serviceusage.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "serviceusage",
3+ "canonicalName": "ServiceUsage"
4+}
gen/annex/serviceuser.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "serviceuser",
3+ "canonicalName": "ServiceUser"
4+}
gen/annex/sheets.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "sheets",
3+ "canonicalName": "Sheets"
4+}
gen/annex/slides.jsonnew file+5
@@ -0,0 +1,5 @@
1+{
2+ "library": "slides",
3+ "canonicalName": "Slides"
4+}
5+
gen/annex/sourcerepo.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "sourcerepo",
3+ "canonicalName": "SourceRepo"
4+}
gen/annex/spanner.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "spanner",
3+ "canonicalName": "Spanner"
4+}
gen/annex/speech.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "speech",
3+ "canonicalName": "Speech"
4+}
gen/annex/streetviewpublish.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "streetviewpublish",
3+ "canonicalName": "StreetViewPublish"
4+}
gen/annex/surveys.jsonnew file+5
@@ -0,0 +1,5 @@
1+{
2+ "library": "surveys",
3+ "canonicalName": "Surveys",
4+ "documentationLink": "https://developers.google.com/surveys/"
5+}
gen/annex/testing.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "testing",
3+ "canonicalName": "Testing"
4+}
gen/annex/texttospeech.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "texttospeech",
3+ "canonicalName": "TextToSpeech"
4+}
gen/annex/toolresults.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "toolresults",
3+ "canonicalName": "ToolResults"
4+}
gen/annex/tpu.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "tpu",
3+ "canonicalName": "TPU"
4+}
gen/annex/tracing.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "tracing",
3+ "canonicalName": "Tracing"
4+}
gen/annex/vault.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "vault",
3+ "canonicalName": "Vault"
4+}
gen/annex/videointelligence.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "videointelligence",
3+ "canonicalName": "VideoIntelligence"
4+}
gen/annex/vision.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "vision",
3+ "canonicalName": "Vision"
4+}
gen/annex/websecurityscanner.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "websecurityscanner",
3+ "canonicalName": "WebSecurityScanner"
4+}
gen/annex/youtube.json+22
@@ -51,6 +51,28 @@
51 }
51 }
52 }
52 }
53 }
53 }
54+ },
55+ "liveBroadcasts": {
56+ "methods": {
57+ "list": {
58+ "parameters": {
59+ "broadcastType": {
60+ "default": "event"
61+ }
62+ }
63+ }
64+ }
65+ },
66+ "sponsors": {
67+ "methods": {
68+ "list": {
69+ "parameters": {
70+ "filter": {
71+ "default": "newest"
72+ }
73+ }
74+ }
75+ }
54 }
76 }
55 }
77 }
56}
78}
gen/annex/youtubeanalytics.json−1
@@ -2,4 +2,3 @@
2 "library": "youtube-analytics",
2 "library": "youtube-analytics",
3 "canonicalName": "YouTubeAnalytics"
3 "canonicalName": "YouTubeAnalytics"
4}
4}
5−
gen/annex/youtubereporting.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "youtube-reporting",
3+ "canonicalName": "YouTubeReporting"
4+}
gen/gogol-gen.cabal+7−6
@@ -1,5 +1,5 @@
1name: gogol-gen
1name: gogol-gen
2−version: 0.0.1
2+version: 0.5.0
3synopsis: Gogol Code Generator
3synopsis: Gogol Code Generator
4homepage: https://github.com/brendanhay/gogol
4homepage: https://github.com/brendanhay/gogol
5license: OtherLicense
5license: OtherLicense
@@ -44,19 +44,19 @@ executable gogol-gen
44 ghc-options: -Wall -threaded
44 ghc-options: -Wall -threaded
45
45
46 build-depends:
46 build-depends:
47− aeson
47+ aeson >= 1
48 , attoparsec
48 , attoparsec
49− , base == 4.8.*
49+ , base >= 4.8
50 , bifunctors
50 , bifunctors
51 , bytestring
51 , bytestring
52 , case-insensitive
52 , case-insensitive
53 , directory-tree
53 , directory-tree
54 , ede
54 , ede
55− , errors
55+ , errors >= 2.1.2
56 , formatting
56 , formatting
57 , hashable
57 , hashable
58− , haskell-src-exts
58+ , haskell-src-exts == 1.20.3
59− , hindent
59+ , hindent == 5.2.7
60 , lens
60 , lens
61 , mtl
61 , mtl
62 , optparse-applicative
62 , optparse-applicative
@@ -69,4 +69,5 @@ executable gogol-gen
69 , text-icu
69 , text-icu
70 , text-manipulate
70 , text-manipulate
71 , text-regex-replace
71 , text-regex-replace
72+ , unexceptionalio
72 , unordered-containers
73 , unordered-containers
gen/model/abusiveexperiencereport/v1/abusiveexperiencereport-api.jsonnew file+239
@@ -0,0 +1,239 @@
1+{
2+ "auth": {
3+ "oauth2": {
4+ "scopes": {
5+ "https://www.googleapis.com/auth/xapi.zoo": {
6+ "description": "Test scope for access to the Zoo service"
7+ }
8+ }
9+ }
10+ },
11+ "basePath": "",
12+ "baseUrl": "https://abusiveexperiencereport.googleapis.com/",
13+ "batchPath": "batch",
14+ "canonicalName": "Abusive Experience Report",
15+ "description": "Views Abusive Experience Report data, and gets a list of sites that have a significant number of abusive experiences.",
16+ "discoveryVersion": "v1",
17+ "documentationLink": "https://developers.google.com/abusive-experience-report/",
18+ "fullyEncodeReservedExpansion": true,
19+ "icons": {
20+ "x16": "http://www.google.com/images/icons/product/search-16.gif",
21+ "x32": "http://www.google.com/images/icons/product/search-32.gif"
22+ },
23+ "id": "abusiveexperiencereport:v1",
24+ "kind": "discovery#restDescription",
25+ "name": "abusiveexperiencereport",
26+ "ownerDomain": "google.com",
27+ "ownerName": "Google",
28+ "parameters": {
29+ "$.xgafv": {
30+ "description": "V1 error format.",
31+ "enum": [
32+ "1",
33+ "2"
34+ ],
35+ "enumDescriptions": [
36+ "v1 error format",
37+ "v2 error format"
38+ ],
39+ "location": "query",
40+ "type": "string"
41+ },
42+ "access_token": {
43+ "description": "OAuth access token.",
44+ "location": "query",
45+ "type": "string"
46+ },
47+ "alt": {
48+ "default": "json",
49+ "description": "Data format for response.",
50+ "enum": [
51+ "json",
52+ "media",
53+ "proto"
54+ ],
55+ "enumDescriptions": [
56+ "Responses with Content-Type of application/json",
57+ "Media download with context-dependent Content-Type",
58+ "Responses with Content-Type of application/x-protobuf"
59+ ],
60+ "location": "query",
61+ "type": "string"
62+ },
63+ "callback": {
64+ "description": "JSONP",
65+ "location": "query",
66+ "type": "string"
67+ },
68+ "fields": {
69+ "description": "Selector specifying which fields to include in a partial response.",
70+ "location": "query",
71+ "type": "string"
72+ },
73+ "key": {
74+ "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.",
75+ "location": "query",
76+ "type": "string"
77+ },
78+ "oauth_token": {
79+ "description": "OAuth 2.0 token for the current user.",
80+ "location": "query",
81+ "type": "string"
82+ },
83+ "prettyPrint": {
84+ "default": "true",
85+ "description": "Returns response with indentations and line breaks.",
86+ "location": "query",
87+ "type": "boolean"
88+ },
89+ "quotaUser": {
90+ "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.",
91+ "location": "query",
92+ "type": "string"
93+ },
94+ "uploadType": {
95+ "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
96+ "location": "query",
97+ "type": "string"
98+ },
99+ "upload_protocol": {
100+ "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
101+ "location": "query",
102+ "type": "string"
103+ }
104+ },
105+ "protocol": "rest",
106+ "resources": {
107+ "sites": {
108+ "methods": {
109+ "get": {
110+ "description": "Gets a summary of the abusive experience rating of a site.",
111+ "flatPath": "v1/sites/{sitesId}",
112+ "httpMethod": "GET",
113+ "id": "abusiveexperiencereport.sites.get",
114+ "parameterOrder": [
115+ "name"
116+ ],
117+ "parameters": {
118+ "name": {
119+ "description": "The required site name. This is the site property whose abusive\nexperiences have been reviewed, and it must be URL-encoded. For example,\nsites/https%3A%2F%2Fwww.google.com. The server will return an error of\nBAD_REQUEST if this field is not filled in. Note that if the site property\nis not yet verified in Search Console, the reportUrl field\nreturned by the API will lead to the verification page, prompting the user\nto go through that process before they can gain access to the Abusive\nExperience Report.",
120+ "location": "path",
121+ "pattern": "^sites/[^/]+$",
122+ "required": true,
123+ "type": "string"
124+ }
125+ },
126+ "path": "v1/{+name}",
127+ "response": {
128+ "$ref": "SiteSummaryResponse"
129+ },
130+ "scopes": [
131+ "https://www.googleapis.com/auth/xapi.zoo"
132+ ]
133+ }
134+ }
135+ },
136+ "violatingSites": {
137+ "methods": {
138+ "list": {
139+ "description": "Lists sites with Abusive Experience Report statuses of \"Failing\".",
140+ "flatPath": "v1/violatingSites",
141+ "httpMethod": "GET",
142+ "id": "abusiveexperiencereport.violatingSites.list",
143+ "parameterOrder": [],
144+ "parameters": {},
145+ "path": "v1/violatingSites",
146+ "response": {
147+ "$ref": "ViolatingSitesResponse"
148+ },
149+ "scopes": [
150+ "https://www.googleapis.com/auth/xapi.zoo"
151+ ]
152+ }
153+ }
154+ }
155+ },
156+ "revision": "20181017",
157+ "rootUrl": "https://abusiveexperiencereport.googleapis.com/",
158+ "schemas": {
159+ "SiteSummaryResponse": {
160+ "description": "Response message for GetSiteSummary.",
161+ "id": "SiteSummaryResponse",
162+ "properties": {
163+ "abusiveStatus": {
164+ "description": "The status of the site reviewed for the abusive experiences.",
165+ "enum": [
166+ "UNKNOWN",
167+ "PASSING",
168+ "FAILING"
169+ ],
170+ "enumDescriptions": [
171+ "Not reviewed.",
172+ "Passing.",
173+ "Failing."
174+ ],
175+ "type": "string"
176+ },
177+ "enforcementTime": {
178+ "description": "The date on which enforcement begins.",
179+ "format": "google-datetime",
180+ "type": "string"
181+ },
182+ "filterStatus": {
183+ "description": "The abusive experience enforcement status of the site.",
184+ "enum": [
185+ "UNKNOWN",
186+ "ON",
187+ "OFF",
188+ "PAUSED",
189+ "PENDING"
190+ ],
191+ "enumDescriptions": [
192+ "N/A.",
193+ "Ad filtering is on.",
194+ "Ad filtering is off.",
195+ "Ad filtering is paused.",
196+ "Ad filtering is pending."
197+ ],
198+ "type": "string"
199+ },
200+ "lastChangeTime": {
201+ "description": "The last time that the site changed status.",
202+ "format": "google-datetime",
203+ "type": "string"
204+ },
205+ "reportUrl": {
206+ "description": "A link that leads to a full abusive experience report.",
207+ "type": "string"
208+ },
209+ "reviewedSite": {
210+ "description": "The name of the site reviewed.",
211+ "type": "string"
212+ },
213+ "underReview": {
214+ "description": "Whether the site is currently under review.",
215+ "type": "boolean"
216+ }
217+ },
218+ "type": "object"
219+ },
220+ "ViolatingSitesResponse": {
221+ "description": "Response message for ListViolatingSites.",
222+ "id": "ViolatingSitesResponse",
223+ "properties": {
224+ "violatingSites": {
225+ "description": "A list of summaries of violating sites.",
226+ "items": {
227+ "$ref": "SiteSummaryResponse"
228+ },
229+ "type": "array"
230+ }
231+ },
232+ "type": "object"
233+ }
234+ },
235+ "servicePath": "",
236+ "title": "Abusive Experience Report API",
237+ "version": "v1",
238+ "version_module": true
239+}
gen/model/acceleratedmobilepageurl/v1/acceleratedmobilepageurl-api.jsonnew file+225
@@ -0,0 +1,225 @@
1+{
2+ "basePath": "",
3+ "baseUrl": "https://acceleratedmobilepageurl.googleapis.com/",
4+ "batchPath": "batch",
5+ "description": "Retrieves the list of AMP URLs (and equivalent AMP Cache URLs) for a given list of public URL(s).\n",
6+ "discoveryVersion": "v1",
7+ "documentationLink": "https://developers.google.com/amp/cache/",
8+ "icons": {
9+ "x16": "http://www.google.com/images/icons/product/search-16.gif",
10+ "x32": "http://www.google.com/images/icons/product/search-32.gif"
11+ },
12+ "id": "acceleratedmobilepageurl:v1",
13+ "kind": "discovery#restDescription",
14+ "name": "acceleratedmobilepageurl",
15+ "ownerDomain": "google.com",
16+ "ownerName": "Google",
17+ "parameters": {
18+ "$.xgafv": {
19+ "description": "V1 error format.",
20+ "enum": [
21+ "1",
22+ "2"
23+ ],
24+ "enumDescriptions": [
25+ "v1 error format",
26+ "v2 error format"
27+ ],
28+ "location": "query",
29+ "type": "string"
30+ },
31+ "access_token": {
32+ "description": "OAuth access token.",
33+ "location": "query",
34+ "type": "string"
35+ },
36+ "alt": {
37+ "default": "json",
38+ "description": "Data format for response.",
39+ "enum": [
40+ "json",
41+ "media",
42+ "proto"
43+ ],
44+ "enumDescriptions": [
45+ "Responses with Content-Type of application/json",
46+ "Media download with context-dependent Content-Type",
47+ "Responses with Content-Type of application/x-protobuf"
48+ ],
49+ "location": "query",
50+ "type": "string"
51+ },
52+ "callback": {
53+ "description": "JSONP",
54+ "location": "query",
55+ "type": "string"
56+ },
57+ "fields": {
58+ "description": "Selector specifying which fields to include in a partial response.",
59+ "location": "query",
60+ "type": "string"
61+ },
62+ "key": {
63+ "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.",
64+ "location": "query",
65+ "type": "string"
66+ },
67+ "oauth_token": {
68+ "description": "OAuth 2.0 token for the current user.",
69+ "location": "query",
70+ "type": "string"
71+ },
72+ "prettyPrint": {
73+ "default": "true",
74+ "description": "Returns response with indentations and line breaks.",
75+ "location": "query",
76+ "type": "boolean"
77+ },
78+ "quotaUser": {
79+ "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.",
80+ "location": "query",
81+ "type": "string"
82+ },
83+ "uploadType": {
84+ "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
85+ "location": "query",
86+ "type": "string"
87+ },
88+ "upload_protocol": {
89+ "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
90+ "location": "query",
91+ "type": "string"
92+ }
93+ },
94+ "protocol": "rest",
95+ "resources": {
96+ "ampUrls": {
97+ "methods": {
98+ "batchGet": {
99+ "description": "Returns AMP URL(s) and equivalent\n[AMP Cache URL(s)](/amp/cache/overview#amp-cache-url-format).",
100+ "flatPath": "v1/ampUrls:batchGet",
101+ "httpMethod": "POST",
102+ "id": "acceleratedmobilepageurl.ampUrls.batchGet",
103+ "parameterOrder": [],
104+ "parameters": {},
105+ "path": "v1/ampUrls:batchGet",
106+ "request": {
107+ "$ref": "BatchGetAmpUrlsRequest"
108+ },
109+ "response": {
110+ "$ref": "BatchGetAmpUrlsResponse"
111+ }
112+ }
113+ }
114+ }
115+ },
116+ "revision": "20180612",
117+ "rootUrl": "https://acceleratedmobilepageurl.googleapis.com/",
118+ "schemas": {
119+ "AmpUrl": {
120+ "description": "AMP URL response for a requested URL.",
121+ "id": "AmpUrl",
122+ "properties": {
123+ "ampUrl": {
124+ "description": "The AMP URL pointing to the publisher's web server.",
125+ "type": "string"
126+ },
127+ "cdnAmpUrl": {
128+ "description": "The [AMP Cache URL](/amp/cache/overview#amp-cache-url-format) pointing to\nthe cached document in the Google AMP Cache.",
129+ "type": "string"
130+ },
131+ "originalUrl": {
132+ "description": "The original non-AMP URL.",
133+ "type": "string"
134+ }
135+ },
136+ "type": "object"
137+ },
138+ "AmpUrlError": {
139+ "description": "AMP URL Error resource for a requested URL that couldn't be found.",
140+ "id": "AmpUrlError",
141+ "properties": {
142+ "errorCode": {
143+ "description": "The error code of an API call.",
144+ "enum": [
145+ "ERROR_CODE_UNSPECIFIED",
146+ "INPUT_URL_NOT_FOUND",
147+ "NO_AMP_URL",
148+ "APPLICATION_ERROR",
149+ "URL_IS_VALID_AMP",
150+ "URL_IS_INVALID_AMP"
151+ ],
152+ "enumDescriptions": [
153+ "Not specified error.",
154+ "Indicates the requested URL is not found in the index, possibly because\nit's unable to be found, not able to be accessed by Googlebot, or some\nother error.",
155+ "Indicates no AMP URL has been found that corresponds to the requested\nURL.",
156+ "Indicates some kind of application error occurred at the server.\nClient advised to retry.",
157+ "DEPRECATED: Indicates the requested URL is a valid AMP URL. This is a\nnon-error state, should not be relied upon as a sign of success or\nfailure. It will be removed in future versions of the API.",
158+ "Indicates that an AMP URL has been found that corresponds to the request\nURL, but it is not valid AMP HTML."
159+ ],
160+ "type": "string"
161+ },
162+ "errorMessage": {
163+ "description": "An optional descriptive error message.",
164+ "type": "string"
165+ },
166+ "originalUrl": {
167+ "description": "The original non-AMP URL.",
168+ "type": "string"
169+ }
170+ },
171+ "type": "object"
172+ },
173+ "BatchGetAmpUrlsRequest": {
174+ "description": "AMP URL request for a batch of URLs.",
175+ "id": "BatchGetAmpUrlsRequest",
176+ "properties": {
177+ "lookupStrategy": {
178+ "description": "The lookup_strategy being requested.",
179+ "enum": [
180+ "FETCH_LIVE_DOC",
181+ "IN_INDEX_DOC"
182+ ],
183+ "enumDescriptions": [
184+ "FETCH_LIVE_DOC strategy involves live document fetch of URLs not found in\nthe index. Any request URL not found in the index is crawled in realtime\nto validate if there is a corresponding AMP URL. This strategy has higher\ncoverage but with extra latency introduced by realtime crawling. This is\nthe default strategy. Applications using this strategy should set higher\nHTTP timeouts of the API calls.",
185+ "IN_INDEX_DOC strategy skips fetching live documents of URL(s) not found\nin index. For applications which need low latency use of IN_INDEX_DOC\nstrategy is recommended."
186+ ],
187+ "type": "string"
188+ },
189+ "urls": {
190+ "description": "List of URLs to look up for the paired AMP URLs.\nThe URLs are case-sensitive. Up to 50 URLs per lookup\n(see [Usage Limits](/amp/cache/reference/limits)).",
191+ "items": {
192+ "type": "string"
193+ },
194+ "type": "array"
195+ }
196+ },
197+ "type": "object"
198+ },
199+ "BatchGetAmpUrlsResponse": {
200+ "description": "Batch AMP URL response.",
201+ "id": "BatchGetAmpUrlsResponse",
202+ "properties": {
203+ "ampUrls": {
204+ "description": "For each URL in BatchAmpUrlsRequest, the URL response. The response might\nnot be in the same order as URLs in the batch request.\nIf BatchAmpUrlsRequest contains duplicate URLs, AmpUrl is generated\nonly once.",
205+ "items": {
206+ "$ref": "AmpUrl"
207+ },
208+ "type": "array"
209+ },
210+ "urlErrors": {
211+ "description": "The errors for requested URLs that have no AMP URL.",
212+ "items": {
213+ "$ref": "AmpUrlError"
214+ },
215+ "type": "array"
216+ }
217+ },
218+ "type": "object"
219+ }
220+ },
221+ "servicePath": "",
222+ "title": "Accelerated Mobile Pages (AMP) URL API",
223+ "version": "v1",
224+ "version_module": true
225+}
gen/model/accessapproval/v1beta1/accessapproval-api.jsonnew file+836
@@ -0,0 +1,836 @@
1+{
2+ "auth": {
3+ "oauth2": {
4+ "scopes": {
5+ "https://www.googleapis.com/auth/cloud-platform": {
6+ "description": "View and manage your data across Google Cloud Platform services"
7+ }
8+ }
9+ }
10+ },
11+ "basePath": "",
12+ "baseUrl": "https://accessapproval.googleapis.com/",
13+ "batchPath": "batch",
14+ "canonicalName": "Access Approval",
15+ "description": "An API for controlling access to data by Google personnel.",
16+ "discoveryVersion": "v1",
17+ "documentationLink": "https://cloud.google.com/access-approval/docs",
18+ "fullyEncodeReservedExpansion": true,
19+ "icons": {
20+ "x16": "http://www.google.com/images/icons/product/search-16.gif",
21+ "x32": "http://www.google.com/images/icons/product/search-32.gif"
22+ },
23+ "id": "accessapproval:v1beta1",
24+ "kind": "discovery#restDescription",
25+ "name": "accessapproval",
26+ "ownerDomain": "google.com",
27+ "ownerName": "Google",
28+ "parameters": {
29+ "$.xgafv": {
30+ "description": "V1 error format.",
31+ "enum": [
32+ "1",
33+ "2"
34+ ],
35+ "enumDescriptions": [
36+ "v1 error format",
37+ "v2 error format"
38+ ],
39+ "location": "query",
40+ "type": "string"
41+ },
42+ "access_token": {
43+ "description": "OAuth access token.",
44+ "location": "query",
45+ "type": "string"
46+ },
47+ "alt": {
48+ "default": "json",
49+ "description": "Data format for response.",
50+ "enum": [
51+ "json",
52+ "media",
53+ "proto"
54+ ],
55+ "enumDescriptions": [
56+ "Responses with Content-Type of application/json",
57+ "Media download with context-dependent Content-Type",
58+ "Responses with Content-Type of application/x-protobuf"
59+ ],
60+ "location": "query",
61+ "type": "string"
62+ },
63+ "callback": {
64+ "description": "JSONP",
65+ "location": "query",
66+ "type": "string"
67+ },
68+ "fields": {
69+ "description": "Selector specifying which fields to include in a partial response.",
70+ "location": "query",
71+ "type": "string"
72+ },
73+ "key": {
74+ "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.",
75+ "location": "query",
76+ "type": "string"
77+ },
78+ "oauth_token": {
79+ "description": "OAuth 2.0 token for the current user.",
80+ "location": "query",
81+ "type": "string"
82+ },
83+ "prettyPrint": {
84+ "default": "true",
85+ "description": "Returns response with indentations and line breaks.",
86+ "location": "query",
87+ "type": "boolean"
88+ },
89+ "quotaUser": {
90+ "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.",
91+ "location": "query",
92+ "type": "string"
93+ },
94+ "uploadType": {
95+ "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
96+ "location": "query",
97+ "type": "string"
98+ },
99+ "upload_protocol": {
100+ "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
101+ "location": "query",
102+ "type": "string"
103+ }
104+ },
105+ "protocol": "rest",
106+ "resources": {
107+ "folders": {
108+ "methods": {
109+ "getAccessApprovalSettings": {
110+ "description": "Gets the settings associated with a project, folder, or organization.",
111+ "flatPath": "v1beta1/folders/{foldersId}/accessApprovalSettings",
112+ "httpMethod": "GET",
113+ "id": "accessapproval.folders.getAccessApprovalSettings",
114+ "parameterOrder": [
115+ "name"
116+ ],
117+ "parameters": {
118+ "name": {
119+ "description": "Name of the AccessApprovalSettings to retrieve.",
120+ "location": "path",
121+ "pattern": "^folders/[^/]+/accessApprovalSettings$",
122+ "required": true,
123+ "type": "string"
124+ }
125+ },
126+ "path": "v1beta1/{+name}",
127+ "response": {
128+ "$ref": "AccessApprovalSettings"
129+ },
130+ "scopes": [
131+ "https://www.googleapis.com/auth/cloud-platform"
132+ ]
133+ },
134+ "updateAccessApprovalSettings": {
135+ "description": "Updates the settings associated with a project, folder, or organization.\nCompletely replaces the existing settings.",
136+ "flatPath": "v1beta1/folders/{foldersId}/accessApprovalSettings",
137+ "httpMethod": "PATCH",
138+ "id": "accessapproval.folders.updateAccessApprovalSettings",
139+ "parameterOrder": [
140+ "name"
141+ ],
142+ "parameters": {
143+ "name": {
144+ "description": "The resource name of the settings. Format is one of:\n\u003col\u003e\n \u003cli\u003e\"projects/{project_id}/accessApprovalSettings\"\u003c/li\u003e\n \u003cli\u003e\"folders/{folder_id}/accessApprovalSettings\"\u003c/li\u003e\n \u003cli\u003e\"organizations/{organization_id}/accessApprovalSettings\"\u003c/li\u003e\n\u003col\u003e",
145+ "location": "path",
146+ "pattern": "^folders/[^/]+/accessApprovalSettings$",
147+ "required": true,
148+ "type": "string"
149+ }
150+ },
151+ "path": "v1beta1/{+name}",
152+ "request": {
153+ "$ref": "AccessApprovalSettings"
154+ },
155+ "response": {
156+ "$ref": "AccessApprovalSettings"
157+ },
158+ "scopes": [
159+ "https://www.googleapis.com/auth/cloud-platform"
160+ ]
161+ }
162+ },
163+ "resources": {
164+ "approvalRequests": {
165+ "methods": {
166+ "approve": {
167+ "description": "Approves a request and returns the updated ApprovalRequest.\n\nReturns NOT_FOUND if the request does not exist. Returns\nFAILED_PRECONDITION if the request exists but is not in a pending state.",
168+ "flatPath": "v1beta1/folders/{foldersId}/approvalRequests/{approvalRequestsId}:approve",
169+ "httpMethod": "POST",
170+ "id": "accessapproval.folders.approvalRequests.approve",
171+ "parameterOrder": [
172+ "name"
173+ ],
174+ "parameters": {
175+ "name": {
176+ "description": "Name of the approval request to approve.",
177+ "location": "path",
178+ "pattern": "^folders/[^/]+/approvalRequests/[^/]+$",
179+ "required": true,
180+ "type": "string"
181+ }
182+ },
183+ "path": "v1beta1/{+name}:approve",
184+ "request": {
185+ "$ref": "ApproveApprovalRequestMessage"
186+ },
187+ "response": {
188+ "$ref": "ApprovalRequest"
189+ },
190+ "scopes": [
191+ "https://www.googleapis.com/auth/cloud-platform"
192+ ]
193+ },
194+ "dismiss": {
195+ "description": "Dismisses a request. Returns the updated ApprovalRequest.\n\nNOTE: This does not deny access to the resource if another request has been\nmade and approved. It is equivalent in effect to ignoring the request\naltogether.\n\nReturns NOT_FOUND if the request does not exist.\n\nReturns FAILED_PRECONDITION if the request exists but is not in a pending\nstate.",
196+ "flatPath": "v1beta1/folders/{foldersId}/approvalRequests/{approvalRequestsId}:dismiss",
197+ "httpMethod": "POST",
198+ "id": "accessapproval.folders.approvalRequests.dismiss",
199+ "parameterOrder": [
200+ "name"
201+ ],
202+ "parameters": {
203+ "name": {
204+ "description": "Name of the ApprovalRequest to dismiss.",
205+ "location": "path",
206+ "pattern": "^folders/[^/]+/approvalRequests/[^/]+$",
207+ "required": true,
208+ "type": "string"
209+ }
210+ },
211+ "path": "v1beta1/{+name}:dismiss",
212+ "request": {
213+ "$ref": "DismissApprovalRequestMessage"
214+ },
215+ "response": {
216+ "$ref": "ApprovalRequest"
217+ },
218+ "scopes": [
219+ "https://www.googleapis.com/auth/cloud-platform"
220+ ]
221+ },
222+ "get": {
223+ "description": "Gets an approval request. Returns NOT_FOUND if the request does not exist.",
224+ "flatPath": "v1beta1/folders/{foldersId}/approvalRequests/{approvalRequestsId}",
225+ "httpMethod": "GET",
226+ "id": "accessapproval.folders.approvalRequests.get",
227+ "parameterOrder": [
228+ "name"
229+ ],
230+ "parameters": {
231+ "name": {
232+ "description": "Name of the approval request to retrieve.",
233+ "location": "path",
234+ "pattern": "^folders/[^/]+/approvalRequests/[^/]+$",
235+ "required": true,
236+ "type": "string"
237+ }
238+ },
239+ "path": "v1beta1/{+name}",
240+ "response": {
241+ "$ref": "ApprovalRequest"
242+ },
243+ "scopes": [
244+ "https://www.googleapis.com/auth/cloud-platform"
245+ ]
246+ },
247+ "list": {
248+ "description": "Lists approval requests associated with a project, folder, or organization.\nApproval requests can be filtered by state (pending, active, dismissed).\nThe order is reverse chronological.",
249+ "flatPath": "v1beta1/folders/{foldersId}/approvalRequests",
250+ "httpMethod": "GET",
251+ "id": "accessapproval.folders.approvalRequests.list",
252+ "parameterOrder": [
253+ "parent"
254+ ],
255+ "parameters": {
256+ "filter": {
257+ "description": "A filter on the type of approval requests to retrieve. Must be one of the\nfollowing values:\n\u003col\u003e\n \u003cli\u003e[not set]: Requests that are pending or have active approvals.\u003c/li\u003e\n \u003cli\u003eALL: All requests.\u003c/li\u003e\n \u003cli\u003ePENDING: Only pending requests.\u003c/li\u003e\n \u003cli\u003eACTIVE: Only active (i.e. currently approved) requests.\u003c/li\u003e\n \u003cli\u003eDISMISSED: Only dismissed (including expired) requests.\u003c/li\u003e\n\u003c/ol\u003e",
258+ "location": "query",
259+ "type": "string"
260+ },
261+ "pageSize": {
262+ "description": "Requested page size.",
263+ "format": "int32",
264+ "location": "query",
265+ "type": "integer"
266+ },
267+ "pageToken": {
268+ "description": "A token identifying the page of results to return.",
269+ "location": "query",
270+ "type": "string"
271+ },
272+ "parent": {
273+ "description": "The parent resource. This may be \"projects/{project_id}\",\n\"folders/{folder_id}\", or \"organizations/{organization_id}\".",
274+ "location": "path",
275+ "pattern": "^folders/[^/]+$",
276+ "required": true,
277+ "type": "string"
278+ }
279+ },
280+ "path": "v1beta1/{+parent}/approvalRequests",
281+ "response": {
282+ "$ref": "ListApprovalRequestsResponse"
283+ },
284+ "scopes": [
285+ "https://www.googleapis.com/auth/cloud-platform"
286+ ]
287+ }
288+ }
289+ }
290+ }
291+ },
292+ "organizations": {
293+ "methods": {
294+ "getAccessApprovalSettings": {
295+ "description": "Gets the settings associated with a project, folder, or organization.",
296+ "flatPath": "v1beta1/organizations/{organizationsId}/accessApprovalSettings",
297+ "httpMethod": "GET",
298+ "id": "accessapproval.organizations.getAccessApprovalSettings",
299+ "parameterOrder": [
300+ "name"
301+ ],
302+ "parameters": {
303+ "name": {
304+ "description": "Name of the AccessApprovalSettings to retrieve.",
305+ "location": "path",
306+ "pattern": "^organizations/[^/]+/accessApprovalSettings$",
307+ "required": true,
308+ "type": "string"
309+ }
310+ },
311+ "path": "v1beta1/{+name}",
312+ "response": {
313+ "$ref": "AccessApprovalSettings"
314+ },
315+ "scopes": [
316+ "https://www.googleapis.com/auth/cloud-platform"
317+ ]
318+ },
319+ "updateAccessApprovalSettings": {
320+ "description": "Updates the settings associated with a project, folder, or organization.\nCompletely replaces the existing settings.",
321+ "flatPath": "v1beta1/organizations/{organizationsId}/accessApprovalSettings",
322+ "httpMethod": "PATCH",
323+ "id": "accessapproval.organizations.updateAccessApprovalSettings",
324+ "parameterOrder": [
325+ "name"
326+ ],
327+ "parameters": {
328+ "name": {
329+ "description": "The resource name of the settings. Format is one of:\n\u003col\u003e\n \u003cli\u003e\"projects/{project_id}/accessApprovalSettings\"\u003c/li\u003e\n \u003cli\u003e\"folders/{folder_id}/accessApprovalSettings\"\u003c/li\u003e\n \u003cli\u003e\"organizations/{organization_id}/accessApprovalSettings\"\u003c/li\u003e\n\u003col\u003e",
330+ "location": "path",
331+ "pattern": "^organizations/[^/]+/accessApprovalSettings$",
332+ "required": true,
333+ "type": "string"
334+ }
335+ },
336+ "path": "v1beta1/{+name}",
337+ "request": {
338+ "$ref": "AccessApprovalSettings"
339+ },
340+ "response": {
341+ "$ref": "AccessApprovalSettings"
342+ },
343+ "scopes": [
344+ "https://www.googleapis.com/auth/cloud-platform"
345+ ]
346+ }
347+ },
348+ "resources": {
349+ "approvalRequests": {
350+ "methods": {
351+ "approve": {
352+ "description": "Approves a request and returns the updated ApprovalRequest.\n\nReturns NOT_FOUND if the request does not exist. Returns\nFAILED_PRECONDITION if the request exists but is not in a pending state.",
353+ "flatPath": "v1beta1/organizations/{organizationsId}/approvalRequests/{approvalRequestsId}:approve",
354+ "httpMethod": "POST",
355+ "id": "accessapproval.organizations.approvalRequests.approve",
356+ "parameterOrder": [
357+ "name"
358+ ],
359+ "parameters": {
360+ "name": {
361+ "description": "Name of the approval request to approve.",
362+ "location": "path",
363+ "pattern": "^organizations/[^/]+/approvalRequests/[^/]+$",
364+ "required": true,
365+ "type": "string"
366+ }
367+ },
368+ "path": "v1beta1/{+name}:approve",
369+ "request": {
370+ "$ref": "ApproveApprovalRequestMessage"
371+ },
372+ "response": {
373+ "$ref": "ApprovalRequest"
374+ },
375+ "scopes": [
376+ "https://www.googleapis.com/auth/cloud-platform"
377+ ]
378+ },
379+ "dismiss": {
380+ "description": "Dismisses a request. Returns the updated ApprovalRequest.\n\nNOTE: This does not deny access to the resource if another request has been\nmade and approved. It is equivalent in effect to ignoring the request\naltogether.\n\nReturns NOT_FOUND if the request does not exist.\n\nReturns FAILED_PRECONDITION if the request exists but is not in a pending\nstate.",
381+ "flatPath": "v1beta1/organizations/{organizationsId}/approvalRequests/{approvalRequestsId}:dismiss",
382+ "httpMethod": "POST",
383+ "id": "accessapproval.organizations.approvalRequests.dismiss",
384+ "parameterOrder": [
385+ "name"
386+ ],
387+ "parameters": {
388+ "name": {
389+ "description": "Name of the ApprovalRequest to dismiss.",
390+ "location": "path",
391+ "pattern": "^organizations/[^/]+/approvalRequests/[^/]+$",
392+ "required": true,
393+ "type": "string"
394+ }
395+ },
396+ "path": "v1beta1/{+name}:dismiss",
397+ "request": {
398+ "$ref": "DismissApprovalRequestMessage"
399+ },
400+ "response": {
401+ "$ref": "ApprovalRequest"
402+ },
403+ "scopes": [
404+ "https://www.googleapis.com/auth/cloud-platform"
405+ ]
406+ },
407+ "get": {
408+ "description": "Gets an approval request. Returns NOT_FOUND if the request does not exist.",
409+ "flatPath": "v1beta1/organizations/{organizationsId}/approvalRequests/{approvalRequestsId}",
410+ "httpMethod": "GET",
411+ "id": "accessapproval.organizations.approvalRequests.get",
412+ "parameterOrder": [
413+ "name"
414+ ],
415+ "parameters": {
416+ "name": {
417+ "description": "Name of the approval request to retrieve.",
418+ "location": "path",
419+ "pattern": "^organizations/[^/]+/approvalRequests/[^/]+$",
420+ "required": true,
421+ "type": "string"
422+ }
423+ },
424+ "path": "v1beta1/{+name}",
425+ "response": {
426+ "$ref": "ApprovalRequest"
427+ },
428+ "scopes": [
429+ "https://www.googleapis.com/auth/cloud-platform"
430+ ]
431+ },
432+ "list": {
433+ "description": "Lists approval requests associated with a project, folder, or organization.\nApproval requests can be filtered by state (pending, active, dismissed).\nThe order is reverse chronological.",
434+ "flatPath": "v1beta1/organizations/{organizationsId}/approvalRequests",
435+ "httpMethod": "GET",
436+ "id": "accessapproval.organizations.approvalRequests.list",
437+ "parameterOrder": [
438+ "parent"
439+ ],
440+ "parameters": {
441+ "filter": {
442+ "description": "A filter on the type of approval requests to retrieve. Must be one of the\nfollowing values:\n\u003col\u003e\n \u003cli\u003e[not set]: Requests that are pending or have active approvals.\u003c/li\u003e\n \u003cli\u003eALL: All requests.\u003c/li\u003e\n \u003cli\u003ePENDING: Only pending requests.\u003c/li\u003e\n \u003cli\u003eACTIVE: Only active (i.e. currently approved) requests.\u003c/li\u003e\n \u003cli\u003eDISMISSED: Only dismissed (including expired) requests.\u003c/li\u003e\n\u003c/ol\u003e",
443+ "location": "query",
444+ "type": "string"
445+ },
446+ "pageSize": {
447+ "description": "Requested page size.",
448+ "format": "int32",
449+ "location": "query",
450+ "type": "integer"
451+ },
452+ "pageToken": {
453+ "description": "A token identifying the page of results to return.",
454+ "location": "query",
455+ "type": "string"
456+ },
457+ "parent": {
458+ "description": "The parent resource. This may be \"projects/{project_id}\",\n\"folders/{folder_id}\", or \"organizations/{organization_id}\".",
459+ "location": "path",
460+ "pattern": "^organizations/[^/]+$",
461+ "required": true,
462+ "type": "string"
463+ }
464+ },
465+ "path": "v1beta1/{+parent}/approvalRequests",
466+ "response": {
467+ "$ref": "ListApprovalRequestsResponse"
468+ },
469+ "scopes": [
470+ "https://www.googleapis.com/auth/cloud-platform"
471+ ]
472+ }
473+ }
474+ }
475+ }
476+ },
477+ "projects": {
478+ "methods": {
479+ "getAccessApprovalSettings": {
480+ "description": "Gets the settings associated with a project, folder, or organization.",
481+ "flatPath": "v1beta1/projects/{projectsId}/accessApprovalSettings",
482+ "httpMethod": "GET",
483+ "id": "accessapproval.projects.getAccessApprovalSettings",
484+ "parameterOrder": [
485+ "name"
486+ ],
487+ "parameters": {
488+ "name": {
489+ "description": "Name of the AccessApprovalSettings to retrieve.",
490+ "location": "path",
491+ "pattern": "^projects/[^/]+/accessApprovalSettings$",
492+ "required": true,
493+ "type": "string"
494+ }
495+ },
496+ "path": "v1beta1/{+name}",
497+ "response": {
498+ "$ref": "AccessApprovalSettings"
499+ },
500+ "scopes": [
501+ "https://www.googleapis.com/auth/cloud-platform"
502+ ]
503+ },
504+ "updateAccessApprovalSettings": {
505+ "description": "Updates the settings associated with a project, folder, or organization.\nCompletely replaces the existing settings.",
506+ "flatPath": "v1beta1/projects/{projectsId}/accessApprovalSettings",
507+ "httpMethod": "PATCH",
508+ "id": "accessapproval.projects.updateAccessApprovalSettings",
509+ "parameterOrder": [
510+ "name"
511+ ],
512+ "parameters": {
513+ "name": {
514+ "description": "The resource name of the settings. Format is one of:\n\u003col\u003e\n \u003cli\u003e\"projects/{project_id}/accessApprovalSettings\"\u003c/li\u003e\n \u003cli\u003e\"folders/{folder_id}/accessApprovalSettings\"\u003c/li\u003e\n \u003cli\u003e\"organizations/{organization_id}/accessApprovalSettings\"\u003c/li\u003e\n\u003col\u003e",
515+ "location": "path",
516+ "pattern": "^projects/[^/]+/accessApprovalSettings$",
517+ "required": true,
518+ "type": "string"
519+ }
520+ },
521+ "path": "v1beta1/{+name}",
522+ "request": {
523+ "$ref": "AccessApprovalSettings"
524+ },
525+ "response": {
526+ "$ref": "AccessApprovalSettings"
527+ },
528+ "scopes": [
529+ "https://www.googleapis.com/auth/cloud-platform"
530+ ]
531+ }
532+ },
533+ "resources": {
534+ "approvalRequests": {
535+ "methods": {
536+ "approve": {
537+ "description": "Approves a request and returns the updated ApprovalRequest.\n\nReturns NOT_FOUND if the request does not exist. Returns\nFAILED_PRECONDITION if the request exists but is not in a pending state.",
538+ "flatPath": "v1beta1/projects/{projectsId}/approvalRequests/{approvalRequestsId}:approve",
539+ "httpMethod": "POST",
540+ "id": "accessapproval.projects.approvalRequests.approve",
541+ "parameterOrder": [
542+ "name"
543+ ],
544+ "parameters": {
545+ "name": {
546+ "description": "Name of the approval request to approve.",
547+ "location": "path",
548+ "pattern": "^projects/[^/]+/approvalRequests/[^/]+$",
549+ "required": true,
550+ "type": "string"
551+ }
552+ },
553+ "path": "v1beta1/{+name}:approve",
554+ "request": {
555+ "$ref": "ApproveApprovalRequestMessage"
556+ },
557+ "response": {
558+ "$ref": "ApprovalRequest"
559+ },
560+ "scopes": [
561+ "https://www.googleapis.com/auth/cloud-platform"
562+ ]
563+ },
564+ "dismiss": {
565+ "description": "Dismisses a request. Returns the updated ApprovalRequest.\n\nNOTE: This does not deny access to the resource if another request has been\nmade and approved. It is equivalent in effect to ignoring the request\naltogether.\n\nReturns NOT_FOUND if the request does not exist.\n\nReturns FAILED_PRECONDITION if the request exists but is not in a pending\nstate.",
566+ "flatPath": "v1beta1/projects/{projectsId}/approvalRequests/{approvalRequestsId}:dismiss",
567+ "httpMethod": "POST",
568+ "id": "accessapproval.projects.approvalRequests.dismiss",
569+ "parameterOrder": [
570+ "name"
571+ ],
572+ "parameters": {
573+ "name": {
574+ "description": "Name of the ApprovalRequest to dismiss.",
575+ "location": "path",
576+ "pattern": "^projects/[^/]+/approvalRequests/[^/]+$",
577+ "required": true,
578+ "type": "string"
579+ }
580+ },
581+ "path": "v1beta1/{+name}:dismiss",
582+ "request": {
583+ "$ref": "DismissApprovalRequestMessage"
584+ },
585+ "response": {
586+ "$ref": "ApprovalRequest"
587+ },
588+ "scopes": [
589+ "https://www.googleapis.com/auth/cloud-platform"
590+ ]
591+ },
592+ "get": {
593+ "description": "Gets an approval request. Returns NOT_FOUND if the request does not exist.",
594+ "flatPath": "v1beta1/projects/{projectsId}/approvalRequests/{approvalRequestsId}",
595+ "httpMethod": "GET",
596+ "id": "accessapproval.projects.approvalRequests.get",
597+ "parameterOrder": [
598+ "name"
599+ ],
600+ "parameters": {
601+ "name": {
602+ "description": "Name of the approval request to retrieve.",
603+ "location": "path",
604+ "pattern": "^projects/[^/]+/approvalRequests/[^/]+$",
605+ "required": true,
606+ "type": "string"
607+ }
608+ },
609+ "path": "v1beta1/{+name}",
610+ "response": {
611+ "$ref": "ApprovalRequest"
612+ },
613+ "scopes": [
614+ "https://www.googleapis.com/auth/cloud-platform"
615+ ]
616+ },
617+ "list": {
618+ "description": "Lists approval requests associated with a project, folder, or organization.\nApproval requests can be filtered by state (pending, active, dismissed).\nThe order is reverse chronological.",
619+ "flatPath": "v1beta1/projects/{projectsId}/approvalRequests",
620+ "httpMethod": "GET",
621+ "id": "accessapproval.projects.approvalRequests.list",
622+ "parameterOrder": [
623+ "parent"
624+ ],
625+ "parameters": {
626+ "filter": {
627+ "description": "A filter on the type of approval requests to retrieve. Must be one of the\nfollowing values:\n\u003col\u003e\n \u003cli\u003e[not set]: Requests that are pending or have active approvals.\u003c/li\u003e\n \u003cli\u003eALL: All requests.\u003c/li\u003e\n \u003cli\u003ePENDING: Only pending requests.\u003c/li\u003e\n \u003cli\u003eACTIVE: Only active (i.e. currently approved) requests.\u003c/li\u003e\n \u003cli\u003eDISMISSED: Only dismissed (including expired) requests.\u003c/li\u003e\n\u003c/ol\u003e",
628+ "location": "query",
629+ "type": "string"
630+ },
631+ "pageSize": {
632+ "description": "Requested page size.",
633+ "format": "int32",
634+ "location": "query",
635+ "type": "integer"
636+ },
637+ "pageToken": {
638+ "description": "A token identifying the page of results to return.",
639+ "location": "query",
640+ "type": "string"
641+ },
642+ "parent": {
643+ "description": "The parent resource. This may be \"projects/{project_id}\",\n\"folders/{folder_id}\", or \"organizations/{organization_id}\".",
644+ "location": "path",
645+ "pattern": "^projects/[^/]+$",
646+ "required": true,
647+ "type": "string"
648+ }
649+ },
650+ "path": "v1beta1/{+parent}/approvalRequests",
651+ "response": {
652+ "$ref": "ListApprovalRequestsResponse"
653+ },
654+ "scopes": [
655+ "https://www.googleapis.com/auth/cloud-platform"
656+ ]
657+ }
658+ }
659+ }
660+ }
661+ }
662+ },
663+ "revision": "20190412",
664+ "rootUrl": "https://accessapproval.googleapis.com/",
665+ "schemas": {
666+ "AccessApprovalSettings": {
667+ "description": "Settings on a Project/Folder/Organization related to Access Approval.",
668+ "id": "AccessApprovalSettings",
669+ "properties": {
670+ "name": {
671+ "description": "The resource name of the settings. Format is one of:\n\u003col\u003e\n \u003cli\u003e\"projects/{project_id}/accessApprovalSettings\"\u003c/li\u003e\n \u003cli\u003e\"folders/{folder_id}/accessApprovalSettings\"\u003c/li\u003e\n \u003cli\u003e\"organizations/{organization_id}/accessApprovalSettings\"\u003c/li\u003e\n\u003col\u003e",
672+ "type": "string"
673+ },
674+ "notificationEmails": {
675+ "description": "A list of email addresses to which notifications relating to approval\nrequests should be sent. Notifications relating to a resource will be sent\nto all emails in the settings of ancestor resources of that resource.",
676+ "items": {
677+ "type": "string"
678+ },
679+ "type": "array"
680+ }
681+ },
682+ "type": "object"
683+ },
684+ "AccessLocations": {
685+ "description": "Home office and physical location of the principal.",
686+ "id": "AccessLocations",
687+ "properties": {
688+ "principalOfficeCountry": {
689+ "description": "The \"home office\" location of the principal. A two-letter country code\n(ISO 3166-1 alpha-2), such as \"US\", \"DE\" or \"GB\" or a region code. In some\nlimited situations Google systems may refer refer to a region code instead\nof a country code.\nPossible Region Codes:\n\u003col\u003e\n \u003cli\u003eASI: Asia\u003c/li\u003e\n \u003cli\u003eEUR: Europe\u003c/li\u003e\n \u003cli\u003eOCE: Oceania\u003c/li\u003e\n \u003cli\u003eAFR: Africa\u003c/li\u003e\n \u003cli\u003eNAM: North America\u003c/li\u003e\n \u003cli\u003eSAM: South America\u003c/li\u003e\n \u003cli\u003eANT: Antarctica\u003c/li\u003e\n \u003cli\u003eANY: Any location\u003c/li\u003e\n\u003c/ol\u003e",
690+ "type": "string"
691+ },
692+ "principalPhysicalLocationCountry": {
693+ "description": "Physical location of the principal at the time of the access. A\ntwo-letter country code (ISO 3166-1 alpha-2), such as \"US\", \"DE\" or \"GB\" or\na region code. In some limited situations Google systems may refer refer to\na region code instead of a country code.\nPossible Region Codes:\n\u003col\u003e\n \u003cli\u003eASI: Asia\u003c/li\u003e\n \u003cli\u003eEUR: Europe\u003c/li\u003e\n \u003cli\u003eOCE: Oceania\u003c/li\u003e\n \u003cli\u003eAFR: Africa\u003c/li\u003e\n \u003cli\u003eNAM: North America\u003c/li\u003e\n \u003cli\u003eSAM: South America\u003c/li\u003e\n \u003cli\u003eANT: Antarctica\u003c/li\u003e\n \u003cli\u003eANY: Any location\u003c/li\u003e\n\u003c/ol\u003e",
694+ "type": "string"
695+ }
696+ },
697+ "type": "object"
698+ },
699+ "AccessReason": {
700+ "id": "AccessReason",
701+ "properties": {
702+ "detail": {
703+ "description": "More detail about certain reason types. See comments for each type above.",
704+ "type": "string"
705+ },
706+ "type": {
707+ "description": "Type of access justification.",
708+ "enum": [
709+ "TYPE_UNSPECIFIED",
710+ "CUSTOMER_INITIATED_SUPPORT",
711+ "GOOGLE_INITIATED_SERVICE",
712+ "GOOGLE_INITIATED_REVIEW"
713+ ],
714+ "enumDescriptions": [
715+ "Default value for proto, shouldn't be used.",
716+ "Customer made a request or raised an issue that required the principal to\naccess customer data. `detail` is of the form (\"#####\" is the issue ID):\n\u003col\u003e\n \u003cli\u003e\"Feedback Report: #####\"\u003c/li\u003e\n \u003cli\u003e\"Case Number: #####\"\u003c/li\u003e\n \u003cli\u003e\"Case ID: #####\"\u003c/li\u003e\n \u003cli\u003e\"E-PIN Reference: #####\"\u003c/li\u003e\n \u003cli\u003e\"Google-#####\"\u003c/li\u003e\n \u003cli\u003e\"T-#####\"\u003c/li\u003e\n\u003c/ol\u003e",
717+ "The principal accessed customer data in order to diagnose or resolve a\nsuspected issue in services or a known outage. Often this access is used\nto confirm that customers are not affected by a suspected service issue\nor to remediate a reversible system issue.",
718+ "Google initiated service for security, fraud, abuse, or compliance\npurposes."
719+ ],
720+ "type": "string"
721+ }
722+ },
723+ "type": "object"
724+ },
725+ "ApprovalRequest": {
726+ "description": "A request for the customer to approve access to a resource.",
727+ "id": "ApprovalRequest",
728+ "properties": {
729+ "approve": {
730+ "$ref": "ApproveDecision",
731+ "description": "Access was approved."
732+ },
733+ "dismiss": {
734+ "$ref": "DismissDecision",
735+ "description": "The request was dismissed."
736+ },
737+ "name": {
738+ "description": "The resource name of the request. Format is\n\"{projects|folders|organizations}/{id}/approvalRequests/{approval_request_id}\".",
739+ "type": "string"
740+ },
741+ "requestTime": {
742+ "description": "The time at which approval was requested.",
743+ "format": "google-datetime",
744+ "type": "string"
745+ },
746+ "requestedExpiration": {
747+ "description": "The requested expiration for the approval. If the request is approved,\naccess will be granted from the time of approval until the expiration time.",
748+ "format": "google-datetime",
749+ "type": "string"
750+ },
751+ "requestedLocations": {
752+ "$ref": "AccessLocations",
753+ "description": "The locations for which approval is being requested."
754+ },
755+ "requestedReason": {
756+ "$ref": "AccessReason",
757+ "description": "The justification for which approval is being requested."
758+ },
759+ "requestedResourceName": {
760+ "description": "The resource for which approval is being requested. The format of the\nresource name is defined at\nhttps://cloud.google.com/apis/design/resource_names. The resource name here\nmay either be a \"full\" resource name (e.g.\n\"//library.googleapis.com/shelves/shelf1/books/book2\") or a \"relative\"\nresource name (e.g. \"shelves/shelf1/books/book2\") as described in the\nresource name specification.",
761+ "type": "string"
762+ }
763+ },
764+ "type": "object"
765+ },
766+ "ApproveApprovalRequestMessage": {
767+ "description": "Request to approve an ApprovalRequest.",
768+ "id": "ApproveApprovalRequestMessage",
769+ "properties": {
770+ "expireTime": {
771+ "description": "The expiration time of this approval.",
772+ "format": "google-datetime",
773+ "type": "string"
774+ }
775+ },
776+ "type": "object"
777+ },
778+ "ApproveDecision": {
779+ "description": "A decision that has been made to approve access to a resource.",
780+ "id": "ApproveDecision",
781+ "properties": {
782+ "approveTime": {
783+ "description": "The time at which approval was granted.",
784+ "format": "google-datetime",
785+ "type": "string"
786+ },
787+ "expireTime": {
788+ "description": "The time at which the approval expires.",
789+ "format": "google-datetime",
790+ "type": "string"
791+ }
792+ },
793+ "type": "object"
794+ },
795+ "DismissApprovalRequestMessage": {
796+ "description": "Request to dismiss an approval request.",
797+ "id": "DismissApprovalRequestMessage",
798+ "properties": {},
799+ "type": "object"
800+ },
801+ "DismissDecision": {
802+ "description": "A decision that has been made to dismiss an approval request.",
803+ "id": "DismissDecision",
804+ "properties": {
805+ "dismissTime": {
806+ "description": "The time at which the approval request was dismissed.",
807+ "format": "google-datetime",
808+ "type": "string"
809+ }
810+ },
811+ "type": "object"
812+ },
813+ "ListApprovalRequestsResponse": {
814+ "description": "Response to listing of ApprovalRequest objects.",
815+ "id": "ListApprovalRequestsResponse",
816+ "properties": {
817+ "approvalRequests": {
818+ "description": "Approval request details.",
819+ "items": {
820+ "$ref": "ApprovalRequest"
821+ },
822+ "type": "array"
823+ },
824+ "nextPageToken": {
825+ "description": "Token to retrieve the next page of results, or empty if there are no more.",
826+ "type": "string"
827+ }
828+ },
829+ "type": "object"
830+ }
831+ },
832+ "servicePath": "",
833+ "title": "Access Approval API",
834+ "version": "v1beta1",
835+ "version_module": true
836+}
gen/model/accesscontextmanager/v1/accesscontextmanager-api.jsonnew file+1150
@@ -0,0 +1,1150 @@
1+{
2+ "auth": {
3+ "oauth2": {
4+ "scopes": {
5+ "https://www.googleapis.com/auth/cloud-platform": {
6+ "description": "View and manage your data across Google Cloud Platform services"
7+ }
8+ }
9+ }
10+ },
11+ "basePath": "",
12+ "baseUrl": "https://accesscontextmanager.googleapis.com/",
13+ "batchPath": "batch",
14+ "canonicalName": "Access Context Manager",
15+ "description": "An API for setting attribute based access control to requests to GCP services.",
16+ "discoveryVersion": "v1",
17+ "documentationLink": "https://cloud.google.com/access-context-manager/docs/reference/rest/",
18+ "fullyEncodeReservedExpansion": true,
19+ "icons": {
20+ "x16": "http://www.google.com/images/icons/product/search-16.gif",
21+ "x32": "http://www.google.com/images/icons/product/search-32.gif"
22+ },
23+ "id": "accesscontextmanager:v1",
24+ "kind": "discovery#restDescription",
25+ "name": "accesscontextmanager",
26+ "ownerDomain": "google.com",
27+ "ownerName": "Google",
28+ "parameters": {
29+ "$.xgafv": {
30+ "description": "V1 error format.",
31+ "enum": [
32+ "1",
33+ "2"
34+ ],
35+ "enumDescriptions": [
36+ "v1 error format",
37+ "v2 error format"
38+ ],
39+ "location": "query",
40+ "type": "string"
41+ },
42+ "access_token": {
43+ "description": "OAuth access token.",
44+ "location": "query",
45+ "type": "string"
46+ },
47+ "alt": {
48+ "default": "json",
49+ "description": "Data format for response.",
50+ "enum": [
51+ "json",
52+ "media",
53+ "proto"
54+ ],
55+ "enumDescriptions": [
56+ "Responses with Content-Type of application/json",
57+ "Media download with context-dependent Content-Type",
58+ "Responses with Content-Type of application/x-protobuf"
59+ ],
60+ "location": "query",
61+ "type": "string"
62+ },
63+ "callback": {
64+ "description": "JSONP",
65+ "location": "query",
66+ "type": "string"
67+ },
68+ "fields": {
69+ "description": "Selector specifying which fields to include in a partial response.",
70+ "location": "query",
71+ "type": "string"
72+ },
73+ "key": {
74+ "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.",
75+ "location": "query",
76+ "type": "string"
77+ },
78+ "oauth_token": {
79+ "description": "OAuth 2.0 token for the current user.",
80+ "location": "query",
81+ "type": "string"
82+ },
83+ "prettyPrint": {
84+ "default": "true",
85+ "description": "Returns response with indentations and line breaks.",
86+ "location": "query",
87+ "type": "boolean"
88+ },
89+ "quotaUser": {
90+ "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.",
91+ "location": "query",
92+ "type": "string"
93+ },
94+ "uploadType": {
95+ "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
96+ "location": "query",
97+ "type": "string"
98+ },
99+ "upload_protocol": {
100+ "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
101+ "location": "query",
102+ "type": "string"
103+ }
104+ },
105+ "protocol": "rest",
106+ "resources": {
107+ "accessPolicies": {
108+ "methods": {
109+ "create": {
110+ "description": "Create an `AccessPolicy`. Fails if this organization already has a\n`AccessPolicy`. The longrunning Operation will have a successful status\nonce the `AccessPolicy` has propagated to long-lasting storage.\nSyntactic and basic semantic errors will be returned in `metadata` as a\nBadRequest proto.",
111+ "flatPath": "v1/accessPolicies",
112+ "httpMethod": "POST",
113+ "id": "accesscontextmanager.accessPolicies.create",
114+ "parameterOrder": [],
115+ "parameters": {},
116+ "path": "v1/accessPolicies",
117+ "request": {
118+ "$ref": "AccessPolicy"
119+ },
120+ "response": {
121+ "$ref": "Operation"
122+ },
123+ "scopes": [
124+ "https://www.googleapis.com/auth/cloud-platform"
125+ ]
126+ },
127+ "delete": {
128+ "description": "Delete an AccessPolicy by resource\nname. The longrunning Operation will have a successful status once the\nAccessPolicy\nhas been removed from long-lasting storage.",
129+ "flatPath": "v1/accessPolicies/{accessPoliciesId}",
130+ "httpMethod": "DELETE",
131+ "id": "accesscontextmanager.accessPolicies.delete",
132+ "parameterOrder": [
133+ "name"
134+ ],
135+ "parameters": {
136+ "name": {
137+ "description": "Required. Resource name for the access policy to delete.\n\nFormat `accessPolicies/{policy_id}`",
138+ "location": "path",
139+ "pattern": "^accessPolicies/[^/]+$",
140+ "required": true,
141+ "type": "string"
142+ }
143+ },
144+ "path": "v1/{+name}",
145+ "response": {
146+ "$ref": "Operation"
147+ },
148+ "scopes": [
149+ "https://www.googleapis.com/auth/cloud-platform"
150+ ]
151+ },
152+ "get": {
153+ "description": "Get an AccessPolicy by name.",
154+ "flatPath": "v1/accessPolicies/{accessPoliciesId}",
155+ "httpMethod": "GET",
156+ "id": "accesscontextmanager.accessPolicies.get",
157+ "parameterOrder": [
158+ "name"
159+ ],
160+ "parameters": {
161+ "name": {
162+ "description": "Required. Resource name for the access policy to get.\n\nFormat `accessPolicies/{policy_id}`",
163+ "location": "path",
164+ "pattern": "^accessPolicies/[^/]+$",
165+ "required": true,
166+ "type": "string"
167+ }
168+ },
169+ "path": "v1/{+name}",
170+ "response": {
171+ "$ref": "AccessPolicy"
172+ },
173+ "scopes": [
174+ "https://www.googleapis.com/auth/cloud-platform"
175+ ]
176+ },
177+ "list": {
178+ "description": "List all AccessPolicies under a\ncontainer.",
179+ "flatPath": "v1/accessPolicies",
180+ "httpMethod": "GET",
181+ "id": "accesscontextmanager.accessPolicies.list",
182+ "parameterOrder": [],
183+ "parameters": {
184+ "pageSize": {
185+ "description": "Number of AccessPolicy instances to include in the list. Default 100.",
186+ "format": "int32",
187+ "location": "query",
188+ "type": "integer"
189+ },
190+ "pageToken": {
191+ "description": "Next page token for the next batch of AccessPolicy instances. Defaults to\nthe first page of results.",
192+ "location": "query",
193+ "type": "string"
194+ },
195+ "parent": {
196+ "description": "Required. Resource name for the container to list AccessPolicy instances\nfrom.\n\nFormat:\n`organizations/{org_id}`",
197+ "location": "query",
198+ "type": "string"
199+ }
200+ },
201+ "path": "v1/accessPolicies",
202+ "response": {
203+ "$ref": "ListAccessPoliciesResponse"
204+ },
205+ "scopes": [
206+ "https://www.googleapis.com/auth/cloud-platform"
207+ ]
208+ },
209+ "patch": {
210+ "description": "Update an AccessPolicy. The\nlongrunning Operation from this RPC will have a successful status once the\nchanges to the AccessPolicy have propagated\nto long-lasting storage. Syntactic and basic semantic errors will be\nreturned in `metadata` as a BadRequest proto.",
211+ "flatPath": "v1/accessPolicies/{accessPoliciesId}",
212+ "httpMethod": "PATCH",
213+ "id": "accesscontextmanager.accessPolicies.patch",
214+ "parameterOrder": [
215+ "name"
216+ ],
217+ "parameters": {
218+ "name": {
219+ "description": "Output only. Resource name of the `AccessPolicy`. Format:\n`accessPolicies/{policy_id}`",
220+ "location": "path",
221+ "pattern": "^accessPolicies/[^/]+$",
222+ "required": true,
223+ "type": "string"
224+ },
225+ "updateMask": {
226+ "description": "Required. Mask to control which fields get updated. Must be non-empty.",
227+ "format": "google-fieldmask",
228+ "location": "query",
229+ "type": "string"
230+ }
231+ },
232+ "path": "v1/{+name}",
233+ "request": {
234+ "$ref": "AccessPolicy"
235+ },
236+ "response": {
237+ "$ref": "Operation"
238+ },
239+ "scopes": [
240+ "https://www.googleapis.com/auth/cloud-platform"
241+ ]
242+ }
243+ },
244+ "resources": {
245+ "accessLevels": {
246+ "methods": {
247+ "create": {
248+ "description": "Create an Access Level. The longrunning\noperation from this RPC will have a successful status once the Access\nLevel has\npropagated to long-lasting storage. Access Levels containing\nerrors will result in an error response for the first error encountered.",
249+ "flatPath": "v1/accessPolicies/{accessPoliciesId}/accessLevels",
250+ "httpMethod": "POST",
251+ "id": "accesscontextmanager.accessPolicies.accessLevels.create",
252+ "parameterOrder": [
253+ "parent"
254+ ],
255+ "parameters": {
256+ "parent": {
257+ "description": "Required. Resource name for the access policy which owns this Access\nLevel.\n\nFormat: `accessPolicies/{policy_id}`",
258+ "location": "path",
259+ "pattern": "^accessPolicies/[^/]+$",
260+ "required": true,
261+ "type": "string"
262+ }
263+ },
264+ "path": "v1/{+parent}/accessLevels",
265+ "request": {
266+ "$ref": "AccessLevel"
267+ },
268+ "response": {
269+ "$ref": "Operation"
270+ },
271+ "scopes": [
272+ "https://www.googleapis.com/auth/cloud-platform"
273+ ]
274+ },
275+ "delete": {
276+ "description": "Delete an Access Level by resource\nname. The longrunning operation from this RPC will have a successful status\nonce the Access Level has been removed\nfrom long-lasting storage.",
277+ "flatPath": "v1/accessPolicies/{accessPoliciesId}/accessLevels/{accessLevelsId}",
278+ "httpMethod": "DELETE",
279+ "id": "accesscontextmanager.accessPolicies.accessLevels.delete",
280+ "parameterOrder": [
281+ "name"
282+ ],
283+ "parameters": {
284+ "name": {
285+ "description": "Required. Resource name for the Access Level.\n\nFormat:\n`accessPolicies/{policy_id}/accessLevels/{access_level_id}`",
286+ "location": "path",
287+ "pattern": "^accessPolicies/[^/]+/accessLevels/[^/]+$",
288+ "required": true,
289+ "type": "string"
290+ }
291+ },
292+ "path": "v1/{+name}",
293+ "response": {
294+ "$ref": "Operation"
295+ },
296+ "scopes": [
297+ "https://www.googleapis.com/auth/cloud-platform"
298+ ]
299+ },
300+ "get": {
301+ "description": "Get an Access Level by resource\nname.",
302+ "flatPath": "v1/accessPolicies/{accessPoliciesId}/accessLevels/{accessLevelsId}",
303+ "httpMethod": "GET",
304+ "id": "accesscontextmanager.accessPolicies.accessLevels.get",
305+ "parameterOrder": [
306+ "name"
307+ ],
308+ "parameters": {
309+ "accessLevelFormat": {
310+ "description": "Whether to return `BasicLevels` in the Cloud Common Expression\nLanguage rather than as `BasicLevels`. Defaults to AS_DEFINED, where\nAccess Levels\nare returned as `BasicLevels` or `CustomLevels` based on how they were\ncreated. If set to CEL, all Access Levels are returned as\n`CustomLevels`. In the CEL case, `BasicLevels` are translated to equivalent\n`CustomLevels`.",
311+ "enum": [
312+ "LEVEL_FORMAT_UNSPECIFIED",
313+ "AS_DEFINED",
314+ "CEL"
315+ ],
316+ "location": "query",
317+ "type": "string"
318+ },
319+ "name": {
320+ "description": "Required. Resource name for the Access Level.\n\nFormat:\n`accessPolicies/{policy_id}/accessLevels/{access_level_id}`",
321+ "location": "path",
322+ "pattern": "^accessPolicies/[^/]+/accessLevels/[^/]+$",
323+ "required": true,
324+ "type": "string"
325+ }
326+ },
327+ "path": "v1/{+name}",
328+ "response": {
329+ "$ref": "AccessLevel"
330+ },
331+ "scopes": [
332+ "https://www.googleapis.com/auth/cloud-platform"
333+ ]
334+ },
335+ "list": {
336+ "description": "List all Access Levels for an access\npolicy.",
337+ "flatPath": "v1/accessPolicies/{accessPoliciesId}/accessLevels",
338+ "httpMethod": "GET",
339+ "id": "accesscontextmanager.accessPolicies.accessLevels.list",
340+ "parameterOrder": [
341+ "parent"
342+ ],
343+ "parameters": {
344+ "accessLevelFormat": {
345+ "description": "Whether to return `BasicLevels` in the Cloud Common Expression language, as\n`CustomLevels`, rather than as `BasicLevels`. Defaults to returning\n`AccessLevels` in the format they were defined.",
346+ "enum": [
347+ "LEVEL_FORMAT_UNSPECIFIED",
348+ "AS_DEFINED",
349+ "CEL"
350+ ],
351+ "location": "query",
352+ "type": "string"
353+ },
354+ "pageSize": {
355+ "description": "Number of Access Levels to include in\nthe list. Default 100.",
356+ "format": "int32",
357+ "location": "query",
358+ "type": "integer"
359+ },
360+ "pageToken": {
361+ "description": "Next page token for the next batch of Access Level instances.\nDefaults to the first page of results.",
362+ "location": "query",
363+ "type": "string"
364+ },
365+ "parent": {
366+ "description": "Required. Resource name for the access policy to list Access Levels from.\n\nFormat:\n`accessPolicies/{policy_id}`",
367+ "location": "path",
368+ "pattern": "^accessPolicies/[^/]+$",
369+ "required": true,
370+ "type": "string"
371+ }
372+ },
373+ "path": "v1/{+parent}/accessLevels",
374+ "response": {
375+ "$ref": "ListAccessLevelsResponse"
376+ },
377+ "scopes": [
378+ "https://www.googleapis.com/auth/cloud-platform"
379+ ]
380+ },
381+ "patch": {
382+ "description": "Update an Access Level. The longrunning\noperation from this RPC will have a successful status once the changes to\nthe Access Level have propagated\nto long-lasting storage. Access Levels containing\nerrors will result in an error response for the first error encountered.",
383+ "flatPath": "v1/accessPolicies/{accessPoliciesId}/accessLevels/{accessLevelsId}",
384+ "httpMethod": "PATCH",
385+ "id": "accesscontextmanager.accessPolicies.accessLevels.patch",
386+ "parameterOrder": [
387+ "name"
388+ ],
389+ "parameters": {
390+ "name": {
391+ "description": "Required. Resource name for the Access Level. The `short_name` component\nmust begin with a letter and only include alphanumeric and '_'. Format:\n`accessPolicies/{policy_id}/accessLevels/{short_name}`",
392+ "location": "path",
393+ "pattern": "^accessPolicies/[^/]+/accessLevels/[^/]+$",
394+ "required": true,
395+ "type": "string"
396+ },
397+ "updateMask": {
398+ "description": "Required. Mask to control which fields get updated. Must be non-empty.",
399+ "format": "google-fieldmask",
400+ "location": "query",
401+ "type": "string"
402+ }
403+ },
404+ "path": "v1/{+name}",
405+ "request": {
406+ "$ref": "AccessLevel"
407+ },
408+ "response": {
409+ "$ref": "Operation"
410+ },
411+ "scopes": [
412+ "https://www.googleapis.com/auth/cloud-platform"
413+ ]
414+ }
415+ }
416+ },
417+ "servicePerimeters": {
418+ "methods": {
419+ "create": {
420+ "description": "Create an Service Perimeter. The\nlongrunning operation from this RPC will have a successful status once the\nService Perimeter has\npropagated to long-lasting storage. Service Perimeters containing\nerrors will result in an error response for the first error encountered.",
421+ "flatPath": "v1/accessPolicies/{accessPoliciesId}/servicePerimeters",
422+ "httpMethod": "POST",
423+ "id": "accesscontextmanager.accessPolicies.servicePerimeters.create",
424+ "parameterOrder": [
425+ "parent"
426+ ],
427+ "parameters": {
428+ "parent": {
429+ "description": "Required. Resource name for the access policy which owns this Service\nPerimeter.\n\nFormat: `accessPolicies/{policy_id}`",
430+ "location": "path",
431+ "pattern": "^accessPolicies/[^/]+$",
432+ "required": true,
433+ "type": "string"
434+ }
435+ },
436+ "path": "v1/{+parent}/servicePerimeters",
437+ "request": {
438+ "$ref": "ServicePerimeter"
439+ },
440+ "response": {
441+ "$ref": "Operation"
442+ },
443+ "scopes": [
444+ "https://www.googleapis.com/auth/cloud-platform"
445+ ]
446+ },
447+ "delete": {
448+ "description": "Delete an Service Perimeter by resource\nname. The longrunning operation from this RPC will have a successful status\nonce the Service Perimeter has been\nremoved from long-lasting storage.",
449+ "flatPath": "v1/accessPolicies/{accessPoliciesId}/servicePerimeters/{servicePerimetersId}",
450+ "httpMethod": "DELETE",
451+ "id": "accesscontextmanager.accessPolicies.servicePerimeters.delete",
452+ "parameterOrder": [
453+ "name"
454+ ],
455+ "parameters": {
456+ "name": {
457+ "description": "Required. Resource name for the Service Perimeter.\n\nFormat:\n`accessPolicies/{policy_id}/servicePerimeters/{service_perimeter_id}`",
458+ "location": "path",
459+ "pattern": "^accessPolicies/[^/]+/servicePerimeters/[^/]+$",
460+ "required": true,
461+ "type": "string"
462+ }
463+ },
464+ "path": "v1/{+name}",
465+ "response": {
466+ "$ref": "Operation"
467+ },
468+ "scopes": [
469+ "https://www.googleapis.com/auth/cloud-platform"
470+ ]
471+ },
472+ "get": {
473+ "description": "Get an Service Perimeter by resource\nname.",
474+ "flatPath": "v1/accessPolicies/{accessPoliciesId}/servicePerimeters/{servicePerimetersId}",
475+ "httpMethod": "GET",
476+ "id": "accesscontextmanager.accessPolicies.servicePerimeters.get",
477+ "parameterOrder": [
478+ "name"
479+ ],
480+ "parameters": {
481+ "name": {
482+ "description": "Required. Resource name for the Service Perimeter.\n\nFormat:\n`accessPolicies/{policy_id}/servicePerimeters/{service_perimeters_id}`",
483+ "location": "path",
484+ "pattern": "^accessPolicies/[^/]+/servicePerimeters/[^/]+$",
485+ "required": true,
486+ "type": "string"
487+ }
488+ },
489+ "path": "v1/{+name}",
490+ "response": {
491+ "$ref": "ServicePerimeter"
492+ },
493+ "scopes": [
494+ "https://www.googleapis.com/auth/cloud-platform"
495+ ]
496+ },
497+ "list": {
498+ "description": "List all Service Perimeters for an\naccess policy.",
499+ "flatPath": "v1/accessPolicies/{accessPoliciesId}/servicePerimeters",
500+ "httpMethod": "GET",
501+ "id": "accesscontextmanager.accessPolicies.servicePerimeters.list",
502+ "parameterOrder": [
503+ "parent"
504+ ],
505+ "parameters": {
506+ "pageSize": {
507+ "description": "Number of Service Perimeters to include\nin the list. Default 100.",
508+ "format": "int32",
509+ "location": "query",
510+ "type": "integer"
511+ },
512+ "pageToken": {
513+ "description": "Next page token for the next batch of Service Perimeter instances.\nDefaults to the first page of results.",
514+ "location": "query",
515+ "type": "string"
516+ },
517+ "parent": {
518+ "description": "Required. Resource name for the access policy to list Service Perimeters from.\n\nFormat:\n`accessPolicies/{policy_id}`",
519+ "location": "path",
520+ "pattern": "^accessPolicies/[^/]+$",
521+ "required": true,
522+ "type": "string"
523+ }
524+ },
525+ "path": "v1/{+parent}/servicePerimeters",
526+ "response": {
527+ "$ref": "ListServicePerimetersResponse"
528+ },
529+ "scopes": [
530+ "https://www.googleapis.com/auth/cloud-platform"
531+ ]
532+ },
533+ "patch": {
534+ "description": "Update an Service Perimeter. The\nlongrunning operation from this RPC will have a successful status once the\nchanges to the Service Perimeter have\npropagated to long-lasting storage. Service Perimeter containing\nerrors will result in an error response for the first error encountered.",
535+ "flatPath": "v1/accessPolicies/{accessPoliciesId}/servicePerimeters/{servicePerimetersId}",
536+ "httpMethod": "PATCH",
537+ "id": "accesscontextmanager.accessPolicies.servicePerimeters.patch",
538+ "parameterOrder": [
539+ "name"
540+ ],
541+ "parameters": {
542+ "name": {
543+ "description": "Required. Resource name for the ServicePerimeter. The `short_name`\ncomponent must begin with a letter and only include alphanumeric and '_'.\nFormat: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`",
544+ "location": "path",
545+ "pattern": "^accessPolicies/[^/]+/servicePerimeters/[^/]+$",
546+ "required": true,
547+ "type": "string"
548+ },
549+ "updateMask": {
550+ "description": "Required. Mask to control which fields get updated. Must be non-empty.",
551+ "format": "google-fieldmask",
552+ "location": "query",
553+ "type": "string"
554+ }
555+ },
556+ "path": "v1/{+name}",
557+ "request": {
558+ "$ref": "ServicePerimeter"
559+ },
560+ "response": {
561+ "$ref": "Operation"
562+ },
563+ "scopes": [
564+ "https://www.googleapis.com/auth/cloud-platform"
565+ ]
566+ }
567+ }
568+ }
569+ }
570+ },
571+ "operations": {
572+ "methods": {
573+ "cancel": {
574+ "description": "Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.",
575+ "flatPath": "v1/operations/{operationsId}:cancel",
576+ "httpMethod": "POST",
577+ "id": "accesscontextmanager.operations.cancel",
578+ "parameterOrder": [
579+ "name"
580+ ],
581+ "parameters": {
582+ "name": {
583+ "description": "The name of the operation resource to be cancelled.",
584+ "location": "path",
585+ "pattern": "^operations/.+$",
586+ "required": true,
587+ "type": "string"
588+ }
589+ },
590+ "path": "v1/{+name}:cancel",
591+ "request": {
592+ "$ref": "CancelOperationRequest"
593+ },
594+ "response": {
595+ "$ref": "Empty"
596+ },
597+ "scopes": [
598+ "https://www.googleapis.com/auth/cloud-platform"
599+ ]
600+ },
601+ "delete": {
602+ "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.",
603+ "flatPath": "v1/operations/{operationsId}",
604+ "httpMethod": "DELETE",
605+ "id": "accesscontextmanager.operations.delete",
606+ "parameterOrder": [
607+ "name"
608+ ],
609+ "parameters": {
610+ "name": {
611+ "description": "The name of the operation resource to be deleted.",
612+ "location": "path",
613+ "pattern": "^operations/.+$",
614+ "required": true,
615+ "type": "string"
616+ }
617+ },
618+ "path": "v1/{+name}",
619+ "response": {
620+ "$ref": "Empty"
621+ },
622+ "scopes": [
623+ "https://www.googleapis.com/auth/cloud-platform"
624+ ]
625+ },
626+ "get": {
627+ "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
628+ "flatPath": "v1/operations/{operationsId}",
629+ "httpMethod": "GET",
630+ "id": "accesscontextmanager.operations.get",
631+ "parameterOrder": [
632+ "name"
633+ ],
634+ "parameters": {
635+ "name": {
636+ "description": "The name of the operation resource.",
637+ "location": "path",
638+ "pattern": "^operations/.+$",
639+ "required": true,
640+ "type": "string"
641+ }
642+ },
643+ "path": "v1/{+name}",
644+ "response": {
645+ "$ref": "Operation"
646+ },
647+ "scopes": [
648+ "https://www.googleapis.com/auth/cloud-platform"
649+ ]
650+ },
651+ "list": {
652+ "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
653+ "flatPath": "v1/operations",
654+ "httpMethod": "GET",
655+ "id": "accesscontextmanager.operations.list",
656+ "parameterOrder": [
657+ "name"
658+ ],
659+ "parameters": {
660+ "filter": {
661+ "description": "The standard list filter.",
662+ "location": "query",
663+ "type": "string"
664+ },
665+ "name": {
666+ "description": "The name of the operation's parent resource.",
667+ "location": "path",
668+ "pattern": "^operations$",
669+ "required": true,
670+ "type": "string"
671+ },
672+ "pageSize": {
673+ "description": "The standard list page size.",
674+ "format": "int32",
675+ "location": "query",
676+ "type": "integer"
677+ },
678+ "pageToken": {
679+ "description": "The standard list page token.",
680+ "location": "query",
681+ "type": "string"
682+ }
683+ },
684+ "path": "v1/{+name}",
685+ "response": {
686+ "$ref": "ListOperationsResponse"
687+ },
688+ "scopes": [
689+ "https://www.googleapis.com/auth/cloud-platform"
690+ ]
691+ }
692+ }
693+ }
694+ },
695+ "revision": "20190307",
696+ "rootUrl": "https://accesscontextmanager.googleapis.com/",
697+ "schemas": {
698+ "AccessLevel": {
699+ "description": "An `AccessLevel` is a label that can be applied to requests to GCP services,\nalong with a list of requirements necessary for the label to be applied.",
700+ "id": "AccessLevel",
701+ "properties": {
702+ "basic": {
703+ "$ref": "BasicLevel",
704+ "description": "A `BasicLevel` composed of `Conditions`."
705+ },
706+ "createTime": {
707+ "description": "Output only. Time the `AccessLevel` was created in UTC.",
708+ "format": "google-datetime",
709+ "type": "string"
710+ },
711+ "description": {
712+ "description": "Description of the `AccessLevel` and its use. Does not affect behavior.",
713+ "type": "string"
714+ },
715+ "name": {
716+ "description": "Required. Resource name for the Access Level. The `short_name` component\nmust begin with a letter and only include alphanumeric and '_'. Format:\n`accessPolicies/{policy_id}/accessLevels/{short_name}`",
717+ "type": "string"
718+ },
719+ "title": {
720+ "description": "Human readable title. Must be unique within the Policy.",
721+ "type": "string"
722+ },
723+ "updateTime": {
724+ "description": "Output only. Time the `AccessLevel` was updated in UTC.",
725+ "format": "google-datetime",
726+ "type": "string"
727+ }
728+ },
729+ "type": "object"
730+ },
731+ "AccessPolicy": {
732+ "description": "`AccessPolicy` is a container for `AccessLevels` (which define the necessary\nattributes to use GCP services) and `ServicePerimeters` (which define regions\nof services able to freely pass data within a perimeter). An access policy is\nglobally visible within an organization, and the restrictions it specifies\napply to all projects within an organization.",
733+ "id": "AccessPolicy",
734+ "properties": {
735+ "createTime": {
736+ "description": "Output only. Time the `AccessPolicy` was created in UTC.",
737+ "format": "google-datetime",
738+ "type": "string"
739+ },
740+ "name": {
741+ "description": "Output only. Resource name of the `AccessPolicy`. Format:\n`accessPolicies/{policy_id}`",
742+ "type": "string"
743+ },
744+ "parent": {
745+ "description": "Required. The parent of this `AccessPolicy` in the Cloud Resource\nHierarchy. Currently immutable once created. Format:\n`organizations/{organization_id}`",
746+ "type": "string"
747+ },
748+ "title": {
749+ "description": "Required. Human readable title. Does not affect behavior.",
750+ "type": "string"
751+ },
752+ "updateTime": {
753+ "description": "Output only. Time the `AccessPolicy` was updated in UTC.",
754+ "format": "google-datetime",
755+ "type": "string"
756+ }
757+ },
758+ "type": "object"
759+ },
760+ "BasicLevel": {
761+ "description": "`BasicLevel` is an `AccessLevel` using a set of recommended features.",
762+ "id": "BasicLevel",
763+ "properties": {
764+ "combiningFunction": {
765+ "description": "How the `conditions` list should be combined to determine if a request is\ngranted this `AccessLevel`. If AND is used, each `Condition` in\n`conditions` must be satisfied for the `AccessLevel` to be applied. If OR\nis used, at least one `Condition` in `conditions` must be satisfied for the\n`AccessLevel` to be applied. Default behavior is AND.",
766+ "enum": [
767+ "AND",
768+ "OR"
769+ ],
770+ "enumDescriptions": [
771+ "All `Conditions` must be true for the `BasicLevel` to be true.",
772+ "If at least one `Condition` is true, then the `BasicLevel` is true."
773+ ],
774+ "type": "string"
775+ },
776+ "conditions": {
777+ "description": "Required. A list of requirements for the `AccessLevel` to be granted.",
778+ "items": {
779+ "$ref": "Condition"
780+ },
781+ "type": "array"
782+ }
783+ },
784+ "type": "object"
785+ },
786+ "CancelOperationRequest": {
787+ "description": "The request message for Operations.CancelOperation.",
788+ "id": "CancelOperationRequest",
789+ "properties": {},
790+ "type": "object"
791+ },
792+ "Condition": {
793+ "description": "A condition necessary for an `AccessLevel` to be granted. The Condition is an\nAND over its fields. So a Condition is true if: 1) the request IP is from one\nof the listed subnetworks AND 2) the originating device complies with the\nlisted device policy AND 3) all listed access levels are granted AND 4) the\nrequest was sent at a time allowed by the DateTimeRestriction.",
794+ "id": "Condition",
795+ "properties": {
796+ "devicePolicy": {
797+ "$ref": "DevicePolicy",
798+ "description": "Device specific restrictions, all restrictions must hold for the\nCondition to be true. If not specified, all devices are allowed."
799+ },
800+ "ipSubnetworks": {
801+ "description": "CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for\na CIDR IP address block, the specified IP address portion must be properly\ntruncated (i.e. all the host bits must be zero) or the input is considered\nmalformed. For example, \"192.0.2.0/24\" is accepted but \"192.0.2.1/24\" is\nnot. Similarly, for IPv6, \"2001:db8::/32\" is accepted whereas\n\"2001:db8::1/32\" is not. The originating IP of a request must be in one of\nthe listed subnets in order for this Condition to be true. If empty, all IP\naddresses are allowed.",
802+ "items": {
803+ "type": "string"
804+ },
805+ "type": "array"
806+ },
807+ "members": {
808+ "description": "The request must be made by one of the provided user or service\naccounts. Groups are not supported.\nSyntax:\n`user:{emailid}`\n`serviceAccount:{emailid}`\nIf not specified, a request may come from any user.",
809+ "items": {
810+ "type": "string"
811+ },
812+ "type": "array"
813+ },
814+ "negate": {
815+ "description": "Whether to negate the Condition. If true, the Condition becomes a NAND over\nits non-empty fields, each field must be false for the Condition overall to\nbe satisfied. Defaults to false.",
816+ "type": "boolean"
817+ },
818+ "regions": {
819+ "description": "The request must originate from one of the provided countries/regions.\nMust be valid ISO 3166-1 alpha-2 codes.",
820+ "items": {
821+ "type": "string"
822+ },
823+ "type": "array"
824+ },
825+ "requiredAccessLevels": {
826+ "description": "A list of other access levels defined in the same `Policy`, referenced by\nresource name. Referencing an `AccessLevel` which does not exist is an\nerror. All access levels listed must be granted for the Condition\nto be true. Example:\n\"`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME\"`",
827+ "items": {
828+ "type": "string"
829+ },
830+ "type": "array"
831+ }
832+ },
833+ "type": "object"
834+ },
835+ "DevicePolicy": {
836+ "description": "`DevicePolicy` specifies device specific restrictions necessary to acquire a\ngiven access level. A `DevicePolicy` specifies requirements for requests from\ndevices to be granted access levels, it does not do any enforcement on the\ndevice. `DevicePolicy` acts as an AND over all specified fields, and each\nrepeated field is an OR over its elements. Any unset fields are ignored. For\nexample, if the proto is { os_type : DESKTOP_WINDOWS, os_type :\nDESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be\ntrue for requests originating from encrypted Linux desktops and encrypted\nWindows desktops.",
837+ "id": "DevicePolicy",
838+ "properties": {
839+ "allowedDeviceManagementLevels": {
840+ "description": "Allowed device management levels, an empty list allows all management\nlevels.",
841+ "enumDescriptions": [
842+ "The device's management level is not specified or not known.",
843+ "The device is not managed.",
844+ "Basic management is enabled, which is generally limited to monitoring and\nwiping the corporate account.",
845+ "Complete device management. This includes more thorough monitoring and the\nability to directly manage the device (such as remote wiping). This can be\nenabled through the Android Enterprise Platform."
846+ ],
847+ "items": {
848+ "enum": [
849+ "MANAGEMENT_UNSPECIFIED",
850+ "NONE",
851+ "BASIC",
852+ "COMPLETE"
853+ ],
854+ "type": "string"
855+ },
856+ "type": "array"
857+ },
858+ "allowedEncryptionStatuses": {
859+ "description": "Allowed encryptions statuses, an empty list allows all statuses.",
860+ "enumDescriptions": [
861+ "The encryption status of the device is not specified or not known.",
862+ "The device does not support encryption.",
863+ "The device supports encryption, but is currently unencrypted.",
864+ "The device is encrypted."
865+ ],
866+ "items": {
867+ "enum": [
868+ "ENCRYPTION_UNSPECIFIED",
869+ "ENCRYPTION_UNSUPPORTED",
870+ "UNENCRYPTED",
871+ "ENCRYPTED"
872+ ],
873+ "type": "string"
874+ },
875+ "type": "array"
876+ },
877+ "osConstraints": {
878+ "description": "Allowed OS versions, an empty list allows all types and all versions.",
879+ "items": {
880+ "$ref": "OsConstraint"
881+ },
882+ "type": "array"
883+ },
884+ "requireAdminApproval": {
885+ "description": "Whether the device needs to be approved by the customer admin.",
886+ "type": "boolean"
887+ },
888+ "requireCorpOwned": {
889+ "description": "Whether the device needs to be corp owned.",
890+ "type": "boolean"
891+ },
892+ "requireScreenlock": {
893+ "description": "Whether or not screenlock is required for the DevicePolicy to be true.\nDefaults to `false`.",
894+ "type": "boolean"
895+ }
896+ },
897+ "type": "object"
898+ },
899+ "Empty": {
900+ "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
901+ "id": "Empty",
902+ "properties": {},
903+ "type": "object"
904+ },
905+ "ListAccessLevelsResponse": {
906+ "description": "A response to `ListAccessLevelsRequest`.",
907+ "id": "ListAccessLevelsResponse",
908+ "properties": {
909+ "accessLevels": {
910+ "description": "List of the Access Level instances.",
911+ "items": {
912+ "$ref": "AccessLevel"
913+ },
914+ "type": "array"
915+ },
916+ "nextPageToken": {
917+ "description": "The pagination token to retrieve the next page of results. If the value is\nempty, no further results remain.",
918+ "type": "string"
919+ }
920+ },
921+ "type": "object"
922+ },
923+ "ListAccessPoliciesResponse": {
924+ "description": "A response to `ListAccessPoliciesRequest`.",
925+ "id": "ListAccessPoliciesResponse",
926+ "properties": {
927+ "accessPolicies": {
928+ "description": "List of the AccessPolicy instances.",
929+ "items": {
930+ "$ref": "AccessPolicy"
931+ },
932+ "type": "array"
933+ },
934+ "nextPageToken": {
935+ "description": "The pagination token to retrieve the next page of results. If the value is\nempty, no further results remain.",
936+ "type": "string"
937+ }
938+ },
939+ "type": "object"
940+ },
941+ "ListOperationsResponse": {
942+ "description": "The response message for Operations.ListOperations.",
943+ "id": "ListOperationsResponse",
944+ "properties": {
945+ "nextPageToken": {
946+ "description": "The standard List next-page token.",
947+ "type": "string"
948+ },
949+ "operations": {
950+ "description": "A list of operations that matches the specified filter in the request.",
951+ "items": {
952+ "$ref": "Operation"
953+ },
954+ "type": "array"
955+ }
956+ },
957+ "type": "object"
958+ },
959+ "ListServicePerimetersResponse": {
960+ "description": "A response to `ListServicePerimetersRequest`.",
961+ "id": "ListServicePerimetersResponse",
962+ "properties": {
963+ "nextPageToken": {
964+ "description": "The pagination token to retrieve the next page of results. If the value is\nempty, no further results remain.",
965+ "type": "string"
966+ },
967+ "servicePerimeters": {
968+ "description": "List of the Service Perimeter instances.",
969+ "items": {
970+ "$ref": "ServicePerimeter"
971+ },
972+ "type": "array"
973+ }
974+ },
975+ "type": "object"
976+ },
977+ "Operation": {
978+ "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
979+ "id": "Operation",
980+ "properties": {
981+ "done": {
982+ "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
983+ "type": "boolean"
984+ },
985+ "error": {
986+ "$ref": "Status",
987+ "description": "The error result of the operation in case of failure or cancellation."
988+ },
989+ "metadata": {
990+ "additionalProperties": {
991+ "description": "Properties of the object. Contains field @type with type URL.",
992+ "type": "any"
993+ },
994+ "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.",
995+ "type": "object"
996+ },
997+ "name": {
998+ "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `operations/some/unique/name`.",
999+ "type": "string"
1000+ },
1001+ "response": {
1002+ "additionalProperties": {
1003+ "description": "Properties of the object. Contains field @type with type URL.",
1004+ "type": "any"
1005+ },
1006+ "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
1007+ "type": "object"
1008+ }
1009+ },
1010+ "type": "object"
1011+ },
1012+ "OsConstraint": {
1013+ "description": "A restriction on the OS type and version of devices making requests.",
1014+ "id": "OsConstraint",
1015+ "properties": {
1016+ "minimumVersion": {
1017+ "description": "The minimum allowed OS version. If not set, any version of this OS\nsatisfies the constraint. Format: `\"major.minor.patch\"`.\nExamples: `\"10.5.301\"`, `\"9.2.1\"`.",
1018+ "type": "string"
1019+ },
1020+ "osType": {
1021+ "description": "Required. The allowed OS type.",
1022+ "enum": [
1023+ "OS_UNSPECIFIED",
1024+ "DESKTOP_MAC",
1025+ "DESKTOP_WINDOWS",
1026+ "DESKTOP_LINUX",
1027+ "DESKTOP_CHROME_OS"
1028+ ],
1029+ "enumDescriptions": [
1030+ "The operating system of the device is not specified or not known.",
1031+ "A desktop Mac operating system.",
1032+ "A desktop Windows operating system.",
1033+ "A desktop Linux operating system.",
1034+ "A desktop ChromeOS operating system."
1035+ ],
1036+ "type": "string"
1037+ },
1038+ "requireVerifiedChromeOs": {
1039+ "description": "Only allows requests from devices with a verified Chrome OS.\nVerifications includes requirements that the device is enterprise-managed,\nconformant to Dasher domain policies, and the caller has permission to call\nthe API targeted by the request.",
1040+ "type": "boolean"
1041+ }
1042+ },
1043+ "type": "object"
1044+ },
1045+ "ServicePerimeter": {
1046+ "description": "`ServicePerimeter` describes a set of GCP resources which can freely import\nand export data amongst themselves, but not export outside of the\n`ServicePerimeter`. If a request with a source within this `ServicePerimeter`\nhas a target outside of the `ServicePerimeter`, the request will be blocked.\nOtherwise the request is allowed. There are two types of Service Perimeter -\nRegular and Bridge. Regular Service Perimeters cannot overlap, a single GCP\nproject can only belong to a single regular Service Perimeter. Service\nPerimeter Bridges can contain only GCP projects as members, a single GCP\nproject may belong to multiple Service Perimeter Bridges.",
1047+ "id": "ServicePerimeter",
1048+ "properties": {
1049+ "createTime": {
1050+ "description": "Output only. Time the `ServicePerimeter` was created in UTC.",
1051+ "format": "google-datetime",
1052+ "type": "string"
1053+ },
1054+ "description": {
1055+ "description": "Description of the `ServicePerimeter` and its use. Does not affect\nbehavior.",
1056+ "type": "string"
1057+ },
1058+ "name": {
1059+ "description": "Required. Resource name for the ServicePerimeter. The `short_name`\ncomponent must begin with a letter and only include alphanumeric and '_'.\nFormat: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`",
1060+ "type": "string"
1061+ },
1062+ "perimeterType": {
1063+ "description": "Perimeter type indicator. A single project is\nallowed to be a member of single regular perimeter, but multiple service\nperimeter bridges. A project cannot be a included in a perimeter bridge\nwithout being included in regular perimeter. For perimeter bridges,\nthe restricted service list as well as access level lists must be\nempty.",
1064+ "enum": [
1065+ "PERIMETER_TYPE_REGULAR",
1066+ "PERIMETER_TYPE_BRIDGE"
1067+ ],
1068+ "enumDescriptions": [
1069+ "Regular Perimeter.",
1070+ "Perimeter Bridge."
1071+ ],
1072+ "type": "string"
1073+ },
1074+ "status": {
1075+ "$ref": "ServicePerimeterConfig",
1076+ "description": "Current ServicePerimeter configuration. Specifies sets of resources,\nrestricted services and access levels that determine perimeter\ncontent and boundaries."
1077+ },
1078+ "title": {
1079+ "description": "Human readable title. Must be unique within the Policy.",
1080+ "type": "string"
1081+ },
1082+ "updateTime": {
1083+ "description": "Output only. Time the `ServicePerimeter` was updated in UTC.",
1084+ "format": "google-datetime",
1085+ "type": "string"
1086+ }
1087+ },
1088+ "type": "object"
1089+ },
1090+ "ServicePerimeterConfig": {
1091+ "description": "`ServicePerimeterConfig` specifies a set of GCP resources that describe\nspecific Service Perimeter configuration.",
1092+ "id": "ServicePerimeterConfig",
1093+ "properties": {
1094+ "accessLevels": {
1095+ "description": "A list of `AccessLevel` resource names that allow resources within the\n`ServicePerimeter` to be accessed from the internet. `AccessLevels` listed\nmust be in the same policy as this `ServicePerimeter`. Referencing a\nnonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are\nlisted, resources within the perimeter can only be accessed via GCP calls\nwith request origins within the perimeter. Example:\n`\"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL\"`.\nFor Service Perimeter Bridge, must be empty.",
1096+ "items": {
1097+ "type": "string"
1098+ },
1099+ "type": "array"
1100+ },
1101+ "resources": {
1102+ "description": "A list of GCP resources that are inside of the service perimeter.\nCurrently only projects are allowed. Format: `projects/{project_number}`",
1103+ "items": {
1104+ "type": "string"
1105+ },
1106+ "type": "array"
1107+ },
1108+ "restrictedServices": {
1109+ "description": "GCP services that are subject to the Service Perimeter restrictions. For\nexample, if `storage.googleapis.com` is specified, access to the storage\nbuckets inside the perimeter must meet the perimeter's access restrictions.",
1110+ "items": {
1111+ "type": "string"
1112+ },
1113+ "type": "array"
1114+ }
1115+ },
1116+ "type": "object"
1117+ },
1118+ "Status": {
1119+ "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error\nmessage, and error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.",
1120+ "id": "Status",
1121+ "properties": {
1122+ "code": {
1123+ "description": "The status code, which should be an enum value of google.rpc.Code.",
1124+ "format": "int32",
1125+ "type": "integer"
1126+ },
1127+ "details": {
1128+ "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.",
1129+ "items": {
1130+ "additionalProperties": {
1131+ "description": "Properties of the object. Contains field @type with type URL.",
1132+ "type": "any"
1133+ },
1134+ "type": "object"
1135+ },
1136+ "type": "array"
1137+ },
1138+ "message": {
1139+ "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
1140+ "type": "string"
1141+ }
1142+ },
1143+ "type": "object"
1144+ }
1145+ },
1146+ "servicePath": "",
1147+ "title": "Access Context Manager API",
1148+ "version": "v1",
1149+ "version_module": true
1150+}
gen/model/accesscontextmanager/v1beta/accesscontextmanager-api.jsonnew file+1033
@@ -0,0 +1,1033 @@
1+{
2+ "auth": {
3+ "oauth2": {
4+ "scopes": {
5+ "https://www.googleapis.com/auth/cloud-platform": {
6+ "description": "View and manage your data across Google Cloud Platform services"
7+ }
8+ }
9+ }
10+ },
11+ "basePath": "",
12+ "baseUrl": "https://accesscontextmanager.googleapis.com/",
13+ "batchPath": "batch",
14+ "canonicalName": "Access Context Manager",
15+ "description": "An API for setting attribute based access control to requests to GCP services.",
16+ "discoveryVersion": "v1",
17+ "documentationLink": "https://cloud.google.com/access-context-manager/docs/reference/rest/",
18+ "fullyEncodeReservedExpansion": true,
19+ "icons": {
20+ "x16": "http://www.google.com/images/icons/product/search-16.gif",
21+ "x32": "http://www.google.com/images/icons/product/search-32.gif"
22+ },
23+ "id": "accesscontextmanager:v1beta",
24+ "kind": "discovery#restDescription",
25+ "name": "accesscontextmanager",
26+ "ownerDomain": "google.com",
27+ "ownerName": "Google",
28+ "parameters": {
29+ "$.xgafv": {
30+ "description": "V1 error format.",
31+ "enum": [
32+ "1",
33+ "2"
34+ ],
35+ "enumDescriptions": [
36+ "v1 error format",
37+ "v2 error format"
38+ ],
39+ "location": "query",
40+ "type": "string"
41+ },
42+ "access_token": {
43+ "description": "OAuth access token.",
44+ "location": "query",
45+ "type": "string"
46+ },
47+ "alt": {
48+ "default": "json",
49+ "description": "Data format for response.",
50+ "enum": [
51+ "json",
52+ "media",
53+ "proto"
54+ ],
55+ "enumDescriptions": [
56+ "Responses with Content-Type of application/json",
57+ "Media download with context-dependent Content-Type",
58+ "Responses with Content-Type of application/x-protobuf"
59+ ],
60+ "location": "query",
61+ "type": "string"
62+ },
63+ "callback": {
64+ "description": "JSONP",
65+ "location": "query",
66+ "type": "string"
67+ },
68+ "fields": {
69+ "description": "Selector specifying which fields to include in a partial response.",
70+ "location": "query",
71+ "type": "string"
72+ },
73+ "key": {
74+ "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.",
75+ "location": "query",
76+ "type": "string"
77+ },
78+ "oauth_token": {
79+ "description": "OAuth 2.0 token for the current user.",
80+ "location": "query",
81+ "type": "string"
82+ },
83+ "prettyPrint": {
84+ "default": "true",
85+ "description": "Returns response with indentations and line breaks.",
86+ "location": "query",
87+ "type": "boolean"
88+ },
89+ "quotaUser": {
90+ "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.",
91+ "location": "query",
92+ "type": "string"
93+ },
94+ "uploadType": {
95+ "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
96+ "location": "query",
97+ "type": "string"
98+ },
99+ "upload_protocol": {
100+ "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
101+ "location": "query",
102+ "type": "string"
103+ }
104+ },
105+ "protocol": "rest",
106+ "resources": {
107+ "accessPolicies": {
108+ "methods": {
109+ "create": {
110+ "description": "Create an `AccessPolicy`. Fails if this organization already has a\n`AccessPolicy`. The longrunning Operation will have a successful status\nonce the `AccessPolicy` has propagated to long-lasting storage.\nSyntactic and basic semantic errors will be returned in `metadata` as a\nBadRequest proto.",
111+ "flatPath": "v1beta/accessPolicies",
112+ "httpMethod": "POST",
113+ "id": "accesscontextmanager.accessPolicies.create",
114+ "parameterOrder": [],
115+ "parameters": {},
116+ "path": "v1beta/accessPolicies",
117+ "request": {
118+ "$ref": "AccessPolicy"
119+ },
120+ "response": {
121+ "$ref": "Operation"
122+ },
123+ "scopes": [
124+ "https://www.googleapis.com/auth/cloud-platform"
125+ ]
126+ },
127+ "delete": {
128+ "description": "Delete an AccessPolicy by resource\nname. The longrunning Operation will have a successful status once the\nAccessPolicy\nhas been removed from long-lasting storage.",
129+ "flatPath": "v1beta/accessPolicies/{accessPoliciesId}",
130+ "httpMethod": "DELETE",
131+ "id": "accesscontextmanager.accessPolicies.delete",
132+ "parameterOrder": [
133+ "name"
134+ ],
135+ "parameters": {
136+ "name": {
137+ "description": "Required. Resource name for the access policy to delete.\n\nFormat `accessPolicies/{policy_id}`",
138+ "location": "path",
139+ "pattern": "^accessPolicies/[^/]+$",
140+ "required": true,
141+ "type": "string"
142+ }
143+ },
144+ "path": "v1beta/{+name}",
145+ "response": {
146+ "$ref": "Operation"
147+ },
148+ "scopes": [
149+ "https://www.googleapis.com/auth/cloud-platform"
150+ ]
151+ },
152+ "get": {
153+ "description": "Get an AccessPolicy by name.",
154+ "flatPath": "v1beta/accessPolicies/{accessPoliciesId}",
155+ "httpMethod": "GET",
156+ "id": "accesscontextmanager.accessPolicies.get",
157+ "parameterOrder": [
158+ "name"
159+ ],
160+ "parameters": {
161+ "name": {
162+ "description": "Required. Resource name for the access policy to get.\n\nFormat `accessPolicies/{policy_id}`",
163+ "location": "path",
164+ "pattern": "^accessPolicies/[^/]+$",
165+ "required": true,
166+ "type": "string"
167+ }
168+ },
169+ "path": "v1beta/{+name}",
170+ "response": {
171+ "$ref": "AccessPolicy"
172+ },
173+ "scopes": [
174+ "https://www.googleapis.com/auth/cloud-platform"
175+ ]
176+ },
177+ "list": {
178+ "description": "List all AccessPolicies under a\ncontainer.",
179+ "flatPath": "v1beta/accessPolicies",
180+ "httpMethod": "GET",
181+ "id": "accesscontextmanager.accessPolicies.list",
182+ "parameterOrder": [],
183+ "parameters": {
184+ "pageSize": {
185+ "description": "Number of AccessPolicy instances to include in the list. Default 100.",
186+ "format": "int32",
187+ "location": "query",
188+ "type": "integer"
189+ },
190+ "pageToken": {
191+ "description": "Next page token for the next batch of AccessPolicy instances. Defaults to\nthe first page of results.",
192+ "location": "query",
193+ "type": "string"
194+ },
195+ "parent": {
196+ "description": "Required. Resource name for the container to list AccessPolicy instances\nfrom.\n\nFormat:\n`organizations/{org_id}`",
197+ "location": "query",
198+ "type": "string"
199+ }
200+ },
201+ "path": "v1beta/accessPolicies",
202+ "response": {
203+ "$ref": "ListAccessPoliciesResponse"
204+ },
205+ "scopes": [
206+ "https://www.googleapis.com/auth/cloud-platform"
207+ ]
208+ },
209+ "patch": {
210+ "description": "Update an AccessPolicy. The\nlongrunning Operation from this RPC will have a successful status once the\nchanges to the AccessPolicy have propagated\nto long-lasting storage. Syntactic and basic semantic errors will be\nreturned in `metadata` as a BadRequest proto.",
211+ "flatPath": "v1beta/accessPolicies/{accessPoliciesId}",
212+ "httpMethod": "PATCH",
213+ "id": "accesscontextmanager.accessPolicies.patch",
214+ "parameterOrder": [
215+ "name"
216+ ],
217+ "parameters": {
218+ "name": {
219+ "description": "Output only. Resource name of the `AccessPolicy`. Format:\n`accessPolicies/{policy_id}`",
220+ "location": "path",
221+ "pattern": "^accessPolicies/[^/]+$",
222+ "required": true,
223+ "type": "string"
224+ },
225+ "updateMask": {
226+ "description": "Required. Mask to control which fields get updated. Must be non-empty.",
227+ "format": "google-fieldmask",
228+ "location": "query",
229+ "type": "string"
230+ }
231+ },
232+ "path": "v1beta/{+name}",
233+ "request": {
234+ "$ref": "AccessPolicy"
235+ },
236+ "response": {
237+ "$ref": "Operation"
238+ },
239+ "scopes": [
240+ "https://www.googleapis.com/auth/cloud-platform"
241+ ]
242+ }
243+ },
244+ "resources": {
245+ "accessLevels": {
246+ "methods": {
247+ "create": {
248+ "description": "Create an Access Level. The longrunning\noperation from this RPC will have a successful status once the Access\nLevel has\npropagated to long-lasting storage. Access Levels containing\nerrors will result in an error response for the first error encountered.",
249+ "flatPath": "v1beta/accessPolicies/{accessPoliciesId}/accessLevels",
250+ "httpMethod": "POST",
251+ "id": "accesscontextmanager.accessPolicies.accessLevels.create",
252+ "parameterOrder": [
253+ "parent"
254+ ],
255+ "parameters": {
256+ "parent": {
257+ "description": "Required. Resource name for the access policy which owns this Access\nLevel.\n\nFormat: `accessPolicies/{policy_id}`",
258+ "location": "path",
259+ "pattern": "^accessPolicies/[^/]+$",
260+ "required": true,
261+ "type": "string"
262+ }
263+ },
264+ "path": "v1beta/{+parent}/accessLevels",
265+ "request": {
266+ "$ref": "AccessLevel"
267+ },
268+ "response": {
269+ "$ref": "Operation"
270+ },
271+ "scopes": [
272+ "https://www.googleapis.com/auth/cloud-platform"
273+ ]
274+ },
275+ "delete": {
276+ "description": "Delete an Access Level by resource\nname. The longrunning operation from this RPC will have a successful status\nonce the Access Level has been removed\nfrom long-lasting storage.",
277+ "flatPath": "v1beta/accessPolicies/{accessPoliciesId}/accessLevels/{accessLevelsId}",
278+ "httpMethod": "DELETE",
279+ "id": "accesscontextmanager.accessPolicies.accessLevels.delete",
280+ "parameterOrder": [
281+ "name"
282+ ],
283+ "parameters": {
284+ "name": {
285+ "description": "Required. Resource name for the Access Level.\n\nFormat:\n`accessPolicies/{policy_id}/accessLevels/{access_level_id}`",
286+ "location": "path",
287+ "pattern": "^accessPolicies/[^/]+/accessLevels/[^/]+$",
288+ "required": true,
289+ "type": "string"
290+ }
291+ },
292+ "path": "v1beta/{+name}",
293+ "response": {
294+ "$ref": "Operation"
295+ },
296+ "scopes": [
297+ "https://www.googleapis.com/auth/cloud-platform"
298+ ]
299+ },
300+ "get": {
301+ "description": "Get an Access Level by resource\nname.",
302+ "flatPath": "v1beta/accessPolicies/{accessPoliciesId}/accessLevels/{accessLevelsId}",
303+ "httpMethod": "GET",
304+ "id": "accesscontextmanager.accessPolicies.accessLevels.get",
305+ "parameterOrder": [
306+ "name"
307+ ],
308+ "parameters": {
309+ "accessLevelFormat": {
310+ "description": "Whether to return `BasicLevels` in the Cloud Common Expression\nLanguage rather than as `BasicLevels`. Defaults to AS_DEFINED, where\nAccess Levels\nare returned as `BasicLevels` or `CustomLevels` based on how they were\ncreated. If set to CEL, all Access Levels are returned as\n`CustomLevels`. In the CEL case, `BasicLevels` are translated to equivalent\n`CustomLevels`.",
311+ "enum": [
312+ "LEVEL_FORMAT_UNSPECIFIED",
313+ "AS_DEFINED",
314+ "CEL"
315+ ],
316+ "location": "query",
317+ "type": "string"
318+ },
319+ "name": {
320+ "description": "Required. Resource name for the Access Level.\n\nFormat:\n`accessPolicies/{policy_id}/accessLevels/{access_level_id}`",
321+ "location": "path",
322+ "pattern": "^accessPolicies/[^/]+/accessLevels/[^/]+$",
323+ "required": true,
324+ "type": "string"
325+ }
326+ },
327+ "path": "v1beta/{+name}",
328+ "response": {
329+ "$ref": "AccessLevel"
330+ },
331+ "scopes": [
332+ "https://www.googleapis.com/auth/cloud-platform"
333+ ]
334+ },
335+ "list": {
336+ "description": "List all Access Levels for an access\npolicy.",
337+ "flatPath": "v1beta/accessPolicies/{accessPoliciesId}/accessLevels",
338+ "httpMethod": "GET",
339+ "id": "accesscontextmanager.accessPolicies.accessLevels.list",
340+ "parameterOrder": [
341+ "parent"
342+ ],
343+ "parameters": {
344+ "accessLevelFormat": {
345+ "description": "Whether to return `BasicLevels` in the Cloud Common Expression language, as\n`CustomLevels`, rather than as `BasicLevels`. Defaults to returning\n`AccessLevels` in the format they were defined.",
346+ "enum": [
347+ "LEVEL_FORMAT_UNSPECIFIED",
348+ "AS_DEFINED",
349+ "CEL"
350+ ],
351+ "location": "query",
352+ "type": "string"
353+ },
354+ "pageSize": {
355+ "description": "Number of Access Levels to include in\nthe list. Default 100.",
356+ "format": "int32",
357+ "location": "query",
358+ "type": "integer"
359+ },
360+ "pageToken": {
361+ "description": "Next page token for the next batch of Access Level instances.\nDefaults to the first page of results.",
362+ "location": "query",
363+ "type": "string"
364+ },
365+ "parent": {
366+ "description": "Required. Resource name for the access policy to list Access Levels from.\n\nFormat:\n`accessPolicies/{policy_id}`",
367+ "location": "path",
368+ "pattern": "^accessPolicies/[^/]+$",
369+ "required": true,
370+ "type": "string"
371+ }
372+ },
373+ "path": "v1beta/{+parent}/accessLevels",
374+ "response": {
375+ "$ref": "ListAccessLevelsResponse"
376+ },
377+ "scopes": [
378+ "https://www.googleapis.com/auth/cloud-platform"
379+ ]
380+ },
381+ "patch": {
382+ "description": "Update an Access Level. The longrunning\noperation from this RPC will have a successful status once the changes to\nthe Access Level have propagated\nto long-lasting storage. Access Levels containing\nerrors will result in an error response for the first error encountered.",
383+ "flatPath": "v1beta/accessPolicies/{accessPoliciesId}/accessLevels/{accessLevelsId}",
384+ "httpMethod": "PATCH",
385+ "id": "accesscontextmanager.accessPolicies.accessLevels.patch",
386+ "parameterOrder": [
387+ "name"
388+ ],
389+ "parameters": {
390+ "name": {
391+ "description": "Required. Resource name for the Access Level. The `short_name` component\nmust begin with a letter and only include alphanumeric and '_'. Format:\n`accessPolicies/{policy_id}/accessLevels/{short_name}`",
392+ "location": "path",
393+ "pattern": "^accessPolicies/[^/]+/accessLevels/[^/]+$",
394+ "required": true,
395+ "type": "string"
396+ },
397+ "updateMask": {
398+ "description": "Required. Mask to control which fields get updated. Must be non-empty.",
399+ "format": "google-fieldmask",
400+ "location": "query",
401+ "type": "string"
402+ }
403+ },
404+ "path": "v1beta/{+name}",
405+ "request": {
406+ "$ref": "AccessLevel"
407+ },
408+ "response": {
409+ "$ref": "Operation"
410+ },
411+ "scopes": [
412+ "https://www.googleapis.com/auth/cloud-platform"
413+ ]
414+ }
415+ }
416+ },
417+ "servicePerimeters": {
418+ "methods": {
419+ "create": {
420+ "description": "Create an Service Perimeter. The\nlongrunning operation from this RPC will have a successful status once the\nService Perimeter has\npropagated to long-lasting storage. Service Perimeters containing\nerrors will result in an error response for the first error encountered.",
421+ "flatPath": "v1beta/accessPolicies/{accessPoliciesId}/servicePerimeters",
422+ "httpMethod": "POST",
423+ "id": "accesscontextmanager.accessPolicies.servicePerimeters.create",
424+ "parameterOrder": [
425+ "parent"
426+ ],
427+ "parameters": {
428+ "parent": {
429+ "description": "Required. Resource name for the access policy which owns this Service\nPerimeter.\n\nFormat: `accessPolicies/{policy_id}`",
430+ "location": "path",
431+ "pattern": "^accessPolicies/[^/]+$",
432+ "required": true,
433+ "type": "string"
434+ }
435+ },
436+ "path": "v1beta/{+parent}/servicePerimeters",
437+ "request": {
438+ "$ref": "ServicePerimeter"
439+ },
440+ "response": {
441+ "$ref": "Operation"
442+ },
443+ "scopes": [
444+ "https://www.googleapis.com/auth/cloud-platform"
445+ ]
446+ },
447+ "delete": {
448+ "description": "Delete an Service Perimeter by resource\nname. The longrunning operation from this RPC will have a successful status\nonce the Service Perimeter has been\nremoved from long-lasting storage.",
449+ "flatPath": "v1beta/accessPolicies/{accessPoliciesId}/servicePerimeters/{servicePerimetersId}",
450+ "httpMethod": "DELETE",
451+ "id": "accesscontextmanager.accessPolicies.servicePerimeters.delete",
452+ "parameterOrder": [
453+ "name"
454+ ],
455+ "parameters": {
456+ "name": {
457+ "description": "Required. Resource name for the Service Perimeter.\n\nFormat:\n`accessPolicies/{policy_id}/servicePerimeters/{service_perimeter_id}`",
458+ "location": "path",
459+ "pattern": "^accessPolicies/[^/]+/servicePerimeters/[^/]+$",
460+ "required": true,
461+ "type": "string"
462+ }
463+ },
464+ "path": "v1beta/{+name}",
465+ "response": {
466+ "$ref": "Operation"
467+ },
468+ "scopes": [
469+ "https://www.googleapis.com/auth/cloud-platform"
470+ ]
471+ },
472+ "get": {
473+ "description": "Get an Service Perimeter by resource\nname.",
474+ "flatPath": "v1beta/accessPolicies/{accessPoliciesId}/servicePerimeters/{servicePerimetersId}",
475+ "httpMethod": "GET",
476+ "id": "accesscontextmanager.accessPolicies.servicePerimeters.get",
477+ "parameterOrder": [
478+ "name"
479+ ],
480+ "parameters": {
481+ "name": {
482+ "description": "Required. Resource name for the Service Perimeter.\n\nFormat:\n`accessPolicies/{policy_id}/servicePerimeters/{service_perimeters_id}`",
483+ "location": "path",
484+ "pattern": "^accessPolicies/[^/]+/servicePerimeters/[^/]+$",
485+ "required": true,
486+ "type": "string"
487+ }
488+ },
489+ "path": "v1beta/{+name}",
490+ "response": {
491+ "$ref": "ServicePerimeter"
492+ },
493+ "scopes": [
494+ "https://www.googleapis.com/auth/cloud-platform"
495+ ]
496+ },
497+ "list": {
498+ "description": "List all Service Perimeters for an\naccess policy.",
499+ "flatPath": "v1beta/accessPolicies/{accessPoliciesId}/servicePerimeters",
500+ "httpMethod": "GET",
501+ "id": "accesscontextmanager.accessPolicies.servicePerimeters.list",
502+ "parameterOrder": [
503+ "parent"
504+ ],
505+ "parameters": {
506+ "pageSize": {
507+ "description": "Number of Service Perimeters to include\nin the list. Default 100.",
508+ "format": "int32",
509+ "location": "query",
510+ "type": "integer"
511+ },
512+ "pageToken": {
513+ "description": "Next page token for the next batch of Service Perimeter instances.\nDefaults to the first page of results.",
514+ "location": "query",
515+ "type": "string"
516+ },
517+ "parent": {
518+ "description": "Required. Resource name for the access policy to list Service Perimeters from.\n\nFormat:\n`accessPolicies/{policy_id}`",
519+ "location": "path",
520+ "pattern": "^accessPolicies/[^/]+$",
521+ "required": true,
522+ "type": "string"
523+ }
524+ },
525+ "path": "v1beta/{+parent}/servicePerimeters",
526+ "response": {
527+ "$ref": "ListServicePerimetersResponse"
528+ },
529+ "scopes": [
530+ "https://www.googleapis.com/auth/cloud-platform"
531+ ]
532+ },
533+ "patch": {
534+ "description": "Update an Service Perimeter. The\nlongrunning operation from this RPC will have a successful status once the\nchanges to the Service Perimeter have\npropagated to long-lasting storage. Service Perimeter containing\nerrors will result in an error response for the first error encountered.",
535+ "flatPath": "v1beta/accessPolicies/{accessPoliciesId}/servicePerimeters/{servicePerimetersId}",
536+ "httpMethod": "PATCH",
537+ "id": "accesscontextmanager.accessPolicies.servicePerimeters.patch",
538+ "parameterOrder": [
539+ "name"
540+ ],
541+ "parameters": {
542+ "name": {
543+ "description": "Required. Resource name for the ServicePerimeter. The `short_name`\ncomponent must begin with a letter and only include alphanumeric and '_'.\nFormat: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`",
544+ "location": "path",
545+ "pattern": "^accessPolicies/[^/]+/servicePerimeters/[^/]+$",
546+ "required": true,
547+ "type": "string"
548+ },
549+ "updateMask": {
550+ "description": "Required. Mask to control which fields get updated. Must be non-empty.",
551+ "format": "google-fieldmask",
552+ "location": "query",
553+ "type": "string"
554+ }
555+ },
556+ "path": "v1beta/{+name}",
557+ "request": {
558+ "$ref": "ServicePerimeter"
559+ },
560+ "response": {
561+ "$ref": "Operation"
562+ },
563+ "scopes": [
564+ "https://www.googleapis.com/auth/cloud-platform"
565+ ]
566+ }
567+ }
568+ }
569+ }
570+ },
571+ "operations": {
572+ "methods": {
573+ "get": {
574+ "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
575+ "flatPath": "v1beta/operations/{operationsId}",
576+ "httpMethod": "GET",
577+ "id": "accesscontextmanager.operations.get",
578+ "parameterOrder": [
579+ "name"
580+ ],
581+ "parameters": {
582+ "name": {
583+ "description": "The name of the operation resource.",
584+ "location": "path",
585+ "pattern": "^operations/.+$",
586+ "required": true,
587+ "type": "string"
588+ }
589+ },
590+ "path": "v1beta/{+name}",
591+ "response": {
592+ "$ref": "Operation"
593+ },
594+ "scopes": [
595+ "https://www.googleapis.com/auth/cloud-platform"
596+ ]
597+ }
598+ }
599+ }
600+ },
601+ "revision": "20190307",
602+ "rootUrl": "https://accesscontextmanager.googleapis.com/",
603+ "schemas": {
604+ "AccessLevel": {
605+ "description": "An `AccessLevel` is a label that can be applied to requests to GCP services,\nalong with a list of requirements necessary for the label to be applied.",
606+ "id": "AccessLevel",
607+ "properties": {
608+ "basic": {
609+ "$ref": "BasicLevel",
610+ "description": "A `BasicLevel` composed of `Conditions`."
611+ },
612+ "createTime": {
613+ "description": "Output only. Time the `AccessLevel` was created in UTC.",
614+ "format": "google-datetime",
615+ "type": "string"
616+ },
617+ "description": {
618+ "description": "Description of the `AccessLevel` and its use. Does not affect behavior.",
619+ "type": "string"
620+ },
621+ "name": {
622+ "description": "Required. Resource name for the Access Level. The `short_name` component\nmust begin with a letter and only include alphanumeric and '_'. Format:\n`accessPolicies/{policy_id}/accessLevels/{short_name}`",
623+ "type": "string"
624+ },
625+ "title": {
626+ "description": "Human readable title. Must be unique within the Policy.",
627+ "type": "string"
628+ },
629+ "updateTime": {
630+ "description": "Output only. Time the `AccessLevel` was updated in UTC.",
631+ "format": "google-datetime",
632+ "type": "string"
633+ }
634+ },
635+ "type": "object"
636+ },
637+ "AccessPolicy": {
638+ "description": "`AccessPolicy` is a container for `AccessLevels` (which define the necessary\nattributes to use GCP services) and `ServicePerimeters` (which define regions\nof services able to freely pass data within a perimeter). An access policy is\nglobally visible within an organization, and the restrictions it specifies\napply to all projects within an organization.",
639+ "id": "AccessPolicy",
640+ "properties": {
641+ "createTime": {
642+ "description": "Output only. Time the `AccessPolicy` was created in UTC.",
643+ "format": "google-datetime",
644+ "type": "string"
645+ },
646+ "name": {
647+ "description": "Output only. Resource name of the `AccessPolicy`. Format:\n`accessPolicies/{policy_id}`",
648+ "type": "string"
649+ },
650+ "parent": {
651+ "description": "Required. The parent of this `AccessPolicy` in the Cloud Resource\nHierarchy. Currently immutable once created. Format:\n`organizations/{organization_id}`",
652+ "type": "string"
653+ },
654+ "title": {
655+ "description": "Required. Human readable title. Does not affect behavior.",
656+ "type": "string"
657+ },
658+ "updateTime": {
659+ "description": "Output only. Time the `AccessPolicy` was updated in UTC.",
660+ "format": "google-datetime",
661+ "type": "string"
662+ }
663+ },
664+ "type": "object"
665+ },
666+ "BasicLevel": {
667+ "description": "`BasicLevel` is an `AccessLevel` using a set of recommended features.",
668+ "id": "BasicLevel",
669+ "properties": {
670+ "combiningFunction": {
671+ "description": "How the `conditions` list should be combined to determine if a request is\ngranted this `AccessLevel`. If AND is used, each `Condition` in\n`conditions` must be satisfied for the `AccessLevel` to be applied. If OR\nis used, at least one `Condition` in `conditions` must be satisfied for the\n`AccessLevel` to be applied. Default behavior is AND.",
672+ "enum": [
673+ "AND",
674+ "OR"
675+ ],
676+ "enumDescriptions": [
677+ "All `Conditions` must be true for the `BasicLevel` to be true.",
678+ "If at least one `Condition` is true, then the `BasicLevel` is true."
679+ ],
680+ "type": "string"
681+ },
682+ "conditions": {
683+ "description": "Required. A list of requirements for the `AccessLevel` to be granted.",
684+ "items": {
685+ "$ref": "Condition"
686+ },
687+ "type": "array"
688+ }
689+ },
690+ "type": "object"
691+ },
692+ "Condition": {
693+ "description": "A condition necessary for an `AccessLevel` to be granted. The Condition is an\nAND over its fields. So a Condition is true if: 1) the request IP is from one\nof the listed subnetworks AND 2) the originating device complies with the\nlisted device policy AND 3) all listed access levels are granted AND 4) the\nrequest was sent at a time allowed by the DateTimeRestriction.",
694+ "id": "Condition",
695+ "properties": {
696+ "devicePolicy": {
697+ "$ref": "DevicePolicy",
698+ "description": "Device specific restrictions, all restrictions must hold for the\nCondition to be true. If not specified, all devices are allowed."
699+ },
700+ "ipSubnetworks": {
701+ "description": "CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for\na CIDR IP address block, the specified IP address portion must be properly\ntruncated (i.e. all the host bits must be zero) or the input is considered\nmalformed. For example, \"192.0.2.0/24\" is accepted but \"192.0.2.1/24\" is\nnot. Similarly, for IPv6, \"2001:db8::/32\" is accepted whereas\n\"2001:db8::1/32\" is not. The originating IP of a request must be in one of\nthe listed subnets in order for this Condition to be true. If empty, all IP\naddresses are allowed.",
702+ "items": {
703+ "type": "string"
704+ },
705+ "type": "array"
706+ },
707+ "members": {
708+ "description": "The request must be made by one of the provided user or service\naccounts. Groups are not supported.\nSyntax:\n`user:{emailid}`\n`serviceAccount:{emailid}`\nIf not specified, a request may come from any user.",
709+ "items": {
710+ "type": "string"
711+ },
712+ "type": "array"
713+ },
714+ "negate": {
715+ "description": "Whether to negate the Condition. If true, the Condition becomes a NAND over\nits non-empty fields, each field must be false for the Condition overall to\nbe satisfied. Defaults to false.",
716+ "type": "boolean"
717+ },
718+ "regions": {
719+ "description": "The request must originate from one of the provided countries/regions.\nMust be valid ISO 3166-1 alpha-2 codes.",
720+ "items": {
721+ "type": "string"
722+ },
723+ "type": "array"
724+ },
725+ "requiredAccessLevels": {
726+ "description": "A list of other access levels defined in the same `Policy`, referenced by\nresource name. Referencing an `AccessLevel` which does not exist is an\nerror. All access levels listed must be granted for the Condition\nto be true. Example:\n\"`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME\"`",
727+ "items": {
728+ "type": "string"
729+ },
730+ "type": "array"
731+ }
732+ },
733+ "type": "object"
734+ },
735+ "DevicePolicy": {
736+ "description": "`DevicePolicy` specifies device specific restrictions necessary to acquire a\ngiven access level. A `DevicePolicy` specifies requirements for requests from\ndevices to be granted access levels, it does not do any enforcement on the\ndevice. `DevicePolicy` acts as an AND over all specified fields, and each\nrepeated field is an OR over its elements. Any unset fields are ignored. For\nexample, if the proto is { os_type : DESKTOP_WINDOWS, os_type :\nDESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be\ntrue for requests originating from encrypted Linux desktops and encrypted\nWindows desktops.",
737+ "id": "DevicePolicy",
738+ "properties": {
739+ "allowedDeviceManagementLevels": {
740+ "description": "Allowed device management levels, an empty list allows all management\nlevels.",
741+ "enumDescriptions": [
742+ "The device's management level is not specified or not known.",
743+ "The device is not managed.",
744+ "Basic management is enabled, which is generally limited to monitoring and\nwiping the corporate account.",
745+ "Complete device management. This includes more thorough monitoring and the\nability to directly manage the device (such as remote wiping). This can be\nenabled through the Android Enterprise Platform."
746+ ],
747+ "items": {
748+ "enum": [
749+ "MANAGEMENT_UNSPECIFIED",
750+ "NONE",
751+ "BASIC",
752+ "COMPLETE"
753+ ],
754+ "type": "string"
755+ },
756+ "type": "array"
757+ },
758+ "allowedEncryptionStatuses": {
759+ "description": "Allowed encryptions statuses, an empty list allows all statuses.",
760+ "enumDescriptions": [
761+ "The encryption status of the device is not specified or not known.",
762+ "The device does not support encryption.",
763+ "The device supports encryption, but is currently unencrypted.",
764+ "The device is encrypted."
765+ ],
766+ "items": {
767+ "enum": [
768+ "ENCRYPTION_UNSPECIFIED",
769+ "ENCRYPTION_UNSUPPORTED",
770+ "UNENCRYPTED",
771+ "ENCRYPTED"
772+ ],
773+ "type": "string"
774+ },
775+ "type": "array"
776+ },
777+ "osConstraints": {
778+ "description": "Allowed OS versions, an empty list allows all types and all versions.",
779+ "items": {
780+ "$ref": "OsConstraint"
781+ },
782+ "type": "array"
783+ },
784+ "requireAdminApproval": {
785+ "description": "Whether the device needs to be approved by the customer admin.",
786+ "type": "boolean"
787+ },
788+ "requireCorpOwned": {
789+ "description": "Whether the device needs to be corp owned.",
790+ "type": "boolean"
791+ },
792+ "requireScreenlock": {
793+ "description": "Whether or not screenlock is required for the DevicePolicy to be true.\nDefaults to `false`.",
794+ "type": "boolean"
795+ }
796+ },
797+ "type": "object"
798+ },
799+ "ListAccessLevelsResponse": {
800+ "description": "A response to `ListAccessLevelsRequest`.",
801+ "id": "ListAccessLevelsResponse",
802+ "properties": {
803+ "accessLevels": {
804+ "description": "List of the Access Level instances.",
805+ "items": {
806+ "$ref": "AccessLevel"
807+ },
808+ "type": "array"
809+ },
810+ "nextPageToken": {
811+ "description": "The pagination token to retrieve the next page of results. If the value is\nempty, no further results remain.",
812+ "type": "string"
813+ }
814+ },
815+ "type": "object"
816+ },
817+ "ListAccessPoliciesResponse": {
818+ "description": "A response to `ListAccessPoliciesRequest`.",
819+ "id": "ListAccessPoliciesResponse",
820+ "properties": {
821+ "accessPolicies": {
822+ "description": "List of the AccessPolicy instances.",
823+ "items": {
824+ "$ref": "AccessPolicy"
825+ },
826+ "type": "array"
827+ },
828+ "nextPageToken": {
829+ "description": "The pagination token to retrieve the next page of results. If the value is\nempty, no further results remain.",
830+ "type": "string"
831+ }
832+ },
833+ "type": "object"
834+ },
835+ "ListServicePerimetersResponse": {
836+ "description": "A response to `ListServicePerimetersRequest`.",
837+ "id": "ListServicePerimetersResponse",
838+ "properties": {
839+ "nextPageToken": {
840+ "description": "The pagination token to retrieve the next page of results. If the value is\nempty, no further results remain.",
841+ "type": "string"
842+ },
843+ "servicePerimeters": {
844+ "description": "List of the Service Perimeter instances.",
845+ "items": {
846+ "$ref": "ServicePerimeter"
847+ },
848+ "type": "array"
849+ }
850+ },
851+ "type": "object"
852+ },
853+ "Operation": {
854+ "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
855+ "id": "Operation",
856+ "properties": {
857+ "done": {
858+ "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
859+ "type": "boolean"
860+ },
861+ "error": {
862+ "$ref": "Status",
863+ "description": "The error result of the operation in case of failure or cancellation."
864+ },
865+ "metadata": {
866+ "additionalProperties": {
867+ "description": "Properties of the object. Contains field @type with type URL.",
868+ "type": "any"
869+ },
870+ "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.",
871+ "type": "object"
872+ },
873+ "name": {
874+ "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `operations/some/unique/name`.",
875+ "type": "string"
876+ },
877+ "response": {
878+ "additionalProperties": {
879+ "description": "Properties of the object. Contains field @type with type URL.",
880+ "type": "any"
881+ },
882+ "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
883+ "type": "object"
884+ }
885+ },
886+ "type": "object"
887+ },
888+ "OsConstraint": {
889+ "description": "A restriction on the OS type and version of devices making requests.",
890+ "id": "OsConstraint",
891+ "properties": {
892+ "minimumVersion": {
893+ "description": "The minimum allowed OS version. If not set, any version of this OS\nsatisfies the constraint. Format: `\"major.minor.patch\"`.\nExamples: `\"10.5.301\"`, `\"9.2.1\"`.",
894+ "type": "string"
895+ },
896+ "osType": {
897+ "description": "Required. The allowed OS type.",
898+ "enum": [
899+ "OS_UNSPECIFIED",
900+ "DESKTOP_MAC",
901+ "DESKTOP_WINDOWS",
902+ "DESKTOP_LINUX",
903+ "DESKTOP_CHROME_OS"
904+ ],
905+ "enumDescriptions": [
906+ "The operating system of the device is not specified or not known.",
907+ "A desktop Mac operating system.",
908+ "A desktop Windows operating system.",
909+ "A desktop Linux operating system.",
910+ "A desktop ChromeOS operating system."
911+ ],
912+ "type": "string"
913+ },
914+ "requireVerifiedChromeOs": {
915+ "description": "Only allows requests from devices with a verified Chrome OS.\nVerifications includes requirements that the device is enterprise-managed,\nconformant to Dasher domain policies, and the caller has permission to call\nthe API targeted by the request.",
916+ "type": "boolean"
917+ }
918+ },
919+ "type": "object"
920+ },
921+ "ServicePerimeter": {
922+ "description": "`ServicePerimeter` describes a set of GCP resources which can freely import\nand export data amongst themselves, but not export outside of the\n`ServicePerimeter`. If a request with a source within this `ServicePerimeter`\nhas a target outside of the `ServicePerimeter`, the request will be blocked.\nOtherwise the request is allowed. There are two types of Service Perimeter -\nRegular and Bridge. Regular Service Perimeters cannot overlap, a single GCP\nproject can only belong to a single regular Service Perimeter. Service\nPerimeter Bridges can contain only GCP projects as members, a single GCP\nproject may belong to multiple Service Perimeter Bridges.",
923+ "id": "ServicePerimeter",
924+ "properties": {
925+ "createTime": {
926+ "description": "Output only. Time the `ServicePerimeter` was created in UTC.",
927+ "format": "google-datetime",
928+ "type": "string"
929+ },
930+ "description": {
931+ "description": "Description of the `ServicePerimeter` and its use. Does not affect\nbehavior.",
932+ "type": "string"
933+ },
934+ "name": {
935+ "description": "Required. Resource name for the ServicePerimeter. The `short_name`\ncomponent must begin with a letter and only include alphanumeric and '_'.\nFormat: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`",
936+ "type": "string"
937+ },
938+ "perimeterType": {
939+ "description": "Perimeter type indicator. A single project is\nallowed to be a member of single regular perimeter, but multiple service\nperimeter bridges. A project cannot be a included in a perimeter bridge\nwithout being included in regular perimeter. For perimeter bridges,\nrestricted/unrestricted service lists as well as access lists must be\nempty.",
940+ "enum": [
941+ "PERIMETER_TYPE_REGULAR",
942+ "PERIMETER_TYPE_BRIDGE"
943+ ],
944+ "enumDescriptions": [
945+ "Regular Perimeter.",
946+ "Perimeter Bridge."
947+ ],
948+ "type": "string"
949+ },
950+ "status": {
951+ "$ref": "ServicePerimeterConfig",
952+ "description": "Current ServicePerimeter configuration. Specifies sets of resources,\nrestricted/unrestricted services and access levels that determine perimeter\ncontent and boundaries."
953+ },
954+ "title": {
955+ "description": "Human readable title. Must be unique within the Policy.",
956+ "type": "string"
957+ },
958+ "updateTime": {
959+ "description": "Output only. Time the `ServicePerimeter` was updated in UTC.",
960+ "format": "google-datetime",
961+ "type": "string"
962+ }
963+ },
964+ "type": "object"
965+ },
966+ "ServicePerimeterConfig": {
967+ "description": "`ServicePerimeterConfig` specifies a set of GCP resources that describe\nspecific Service Perimeter configuration.",
968+ "id": "ServicePerimeterConfig",
969+ "properties": {
970+ "accessLevels": {
971+ "description": "A list of `AccessLevel` resource names that allow resources within the\n`ServicePerimeter` to be accessed from the internet. `AccessLevels` listed\nmust be in the same policy as this `ServicePerimeter`. Referencing a\nnonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are\nlisted, resources within the perimeter can only be accessed via GCP calls\nwith request origins within the perimeter. Example:\n`\"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL\"`.\nFor Service Perimeter Bridge, must be empty.",
972+ "items": {
973+ "type": "string"
974+ },
975+ "type": "array"
976+ },
977+ "resources": {
978+ "description": "A list of GCP resources that are inside of the service perimeter.\nCurrently only projects are allowed. Format: `projects/{project_number}`",
979+ "items": {
980+ "type": "string"
981+ },
982+ "type": "array"
983+ },
984+ "restrictedServices": {
985+ "description": "GCP services that are subject to the Service Perimeter restrictions. Must\ncontain a list of services. For example, if\n`storage.googleapis.com` is specified, access to the storage buckets\ninside the perimeter must meet the perimeter's access restrictions.",
986+ "items": {
987+ "type": "string"
988+ },
989+ "type": "array"
990+ },
991+ "unrestrictedServices": {
992+ "description": "GCP services that are not subject to the Service Perimeter\nrestrictions. Deprecated. Must be set to a single wildcard \"*\".\n\nThe wildcard means that unless explicitly specified by\n\"restricted_services\" list, any service is treated as unrestricted.",
993+ "items": {
994+ "type": "string"
995+ },
996+ "type": "array"
997+ }
998+ },
999+ "type": "object"
1000+ },
1001+ "Status": {
1002+ "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error\nmessage, and error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.",
1003+ "id": "Status",
1004+ "properties": {
1005+ "code": {
1006+ "description": "The status code, which should be an enum value of google.rpc.Code.",
1007+ "format": "int32",
1008+ "type": "integer"
1009+ },
1010+ "details": {
1011+ "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.",
1012+ "items": {
1013+ "additionalProperties": {
1014+ "description": "Properties of the object. Contains field @type with type URL.",
1015+ "type": "any"
1016+ },
1017+ "type": "object"
1018+ },
1019+ "type": "array"
1020+ },
1021+ "message": {
1022+ "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
1023+ "type": "string"
1024+ }
1025+ },
1026+ "type": "object"
1027+ }
1028+ },
1029+ "servicePath": "",
1030+ "title": "Access Context Manager API",
1031+ "version": "v1beta",
1032+ "version_module": true
1033+}
gen/model/adexchangebuyer/v1.2/adexchangebuyer-api.json+570−570
@@ -1,596 +1,596 @@
1{
1{
2− "kind": "discovery#restDescription",
2+ "auth": {
3− "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/NUnz0H_oWow0qcTRC55iG-5RpbM\"",
4− "discoveryVersion": "v1",
5− "id": "adexchangebuyer:v1.2",
6− "name": "adexchangebuyer",
7− "canonicalName": "Ad Exchange Buyer",
8− "version": "v1.2",
9− "revision": "20150909",
10− "title": "Ad Exchange Buyer API",
11− "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.",
12− "ownerDomain": "google.com",
13− "ownerName": "Google",
14− "icons": {
15− "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif",
16− "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif"
17− },
18− "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest",
19− "protocol": "rest",
20− "baseUrl": "https://www.googleapis.com/adexchangebuyer/v1.2/",
21− "basePath": "/adexchangebuyer/v1.2/",
22− "rootUrl": "https://www.googleapis.com/",
23− "servicePath": "adexchangebuyer/v1.2/",
24− "batchPath": "batch",
25− "parameters": {
26− "alt": {
27− "type": "string",
28− "description": "Data format for the response.",
29− "default": "json",
30− "enum": [
31− "json"
32− ],
33− "enumDescriptions": [
34− "Responses with Content-Type of application/json"
35− ],
36− "location": "query"
37− },
38− "fields": {
39− "type": "string",
40− "description": "Selector specifying which fields to include in a partial response.",
41− "location": "query"
42− },
43− "key": {
44− "type": "string",
45− "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.",
46− "location": "query"
47− },
48− "oauth_token": {
49− "type": "string",
50− "description": "OAuth 2.0 token for the current user.",
51− "location": "query"
52− },
53− "prettyPrint": {
54− "type": "boolean",
55− "description": "Returns response with indentations and line breaks.",
56− "default": "true",
57− "location": "query"
58− },
59− "quotaUser": {
60− "type": "string",
61− "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. Overrides userIp if both are provided.",
62− "location": "query"
63− },
64− "userIp": {
65− "type": "string",
66− "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
67− "location": "query"
68− }
69− },
70− "auth": {
71− "oauth2": {
3+ "oauth2": {
72− "scopes": {
4+ "scopes": {
73− "https://www.googleapis.com/auth/adexchange.buyer": {
5+ "https://www.googleapis.com/auth/adexchange.buyer": {
74− "description": "Manage your Ad Exchange buyer account configuration"
6+ "description": "Manage your Ad Exchange buyer account configuration"
75− }
76− }
77− }
78− },
79− "schemas": {
80− "Account": {
81− "id": "Account",
82− "type": "object",
83− "description": "Configuration data for an Ad Exchange buyer account.",
84− "properties": {
85− "bidderLocation": {
86− "type": "array",
87− "description": "Your bidder locations that have distinct URLs.",
88− "items": {
89− "type": "object",
90− "properties": {
91− "maximumQps": {
92− "type": "integer",
93− "description": "The maximum queries per second the Ad Exchange will send.",
94− "format": "int32"
95− },
96− "region": {
97− "type": "string",
98− "description": "The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values: \n- ASIA \n- EUROPE \n- US_EAST \n- US_WEST"
99− },
100− "url": {
101− "type": "string",
102− "description": "The URL to which the Ad Exchange will send bid requests."
103− }
7+ }
104 }
8 }
105− }
106− },
107− "cookieMatchingNid": {
108− "type": "string",
109− "description": "The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this."
110− },
111− "cookieMatchingUrl": {
112− "type": "string",
113− "description": "The base URL used in cookie match requests."
114− },
115− "id": {
116− "type": "integer",
117− "description": "Account id.",
118− "format": "int32"
119− },
120− "kind": {
121− "type": "string",
122− "description": "Resource type.",
123− "default": "adexchangebuyer#account"
124− },
125− "maximumActiveCreatives": {
126− "type": "integer",
127− "description": "The maximum number of active creatives that an account can have, where a creative is active if it was inserted or bid with in the last 30 days. Please contact your technical account manager if you need to change this.",
128− "format": "int32"
129− },
130− "maximumTotalQps": {
131− "type": "integer",
132− "description": "The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.",
133− "format": "int32"
134− },
135− "numberActiveCreatives": {
136− "type": "integer",
137− "description": "The number of creatives that this account inserted or bid with in the last 30 days.",
138− "format": "int32"
139 }
9 }
140− }
141 },
10 },
142− "AccountsList": {
11+ "basePath": "/adexchangebuyer/v1.2/",
143− "id": "AccountsList",
12+ "baseUrl": "https://www.googleapis.com/adexchangebuyer/v1.2/",
144− "type": "object",
13+ "batchPath": "batch/adexchangebuyer/v1.2",
145− "description": "An account feed lists Ad Exchange buyer accounts that the user has access to. Each entry in the feed corresponds to a single buyer account.",
14+ "canonicalName": "Ad Exchange Buyer",
146− "properties": {
15+ "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.",
147− "items": {
16+ "discoveryVersion": "v1",
148− "type": "array",
17+ "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest",
149− "description": "A list of accounts.",
18+ "etag": "\"Zkyw9ACJZUvcYmlFaKGChzhmtnE/F_9WJQnvLgGfABacvXvQLtkcuXw\"",
150− "items": {
19+ "icons": {
151− "$ref": "Account"
20+ "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif",
152− }
21+ "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif"
153− },
154− "kind": {
155− "type": "string",
156− "description": "Resource type.",
157− "default": "adexchangebuyer#accountsList"
158− }
159− }
160 },
22 },
161− "Creative": {
162− "id": "Creative",
163− "type": "object",
164− "description": "A creative and its classification data.",
165− "properties": {
166− "HTMLSnippet": {
167− "type": "string",
168− "description": "The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set."
169− },
170− "accountId": {
171− "type": "integer",
172− "description": "Account id.",
173− "format": "int32",
174− "annotations": {
175− "required": [
176− "adexchangebuyer.creatives.insert"
23+ "id": "adexchangebuyer:v1.2",
177− ]
24+ "kind": "discovery#restDescription",
178− }
179− },
180− "advertiserId": {
181− "type": "array",
182− "description": "Detected advertiser id, if any. Read-only. This field should not be set in requests.",
183− "items": {
184− "type": "string",
185− "format": "int64"
186− }
187− },
188− "advertiserName": {
189− "type": "string",
190− "description": "The name of the company being advertised in the creative.",
191− "annotations": {
192− "required": [
193− "adexchangebuyer.creatives.insert"
25+ "name": "adexchangebuyer",
194− ]
26+ "ownerDomain": "google.com",
195− }
27+ "ownerName": "Google",
196− },
28+ "parameters": {
197− "agencyId": {
29+ "alt": {
198− "type": "string",
30+ "default": "json",
199− "description": "The agency id for this creative.",
31+ "description": "Data format for the response.",
200− "format": "int64"
32+ "enum": [
201− },
33+ "json"
202− "api_upload_timestamp": {
203− "type": "string",
204− "description": "The last upload timestamp of this creative if it was uploaded via API. Read-only. The value of this field is generated, and will be ignored for uploads. (formatted RFC 3339 timestamp).",
205− "format": "date-time"
206− },
207− "attribute": {
208− "type": "array",
209− "description": "All attributes for the ads that may be shown from this snippet.",
210− "items": {
211− "type": "integer",
212− "format": "int32"
213− }
214− },
34+ ],
215− "buyerCreativeId": {
35+ "enumDescriptions": [
216− "type": "string",
36+ "Responses with Content-Type of application/json"
217− "description": "A buyer-specific id identifying the creative in this ad.",
218− "annotations": {
219− "required": [
220− "adexchangebuyer.creatives.insert"
221− ]
37+ ],
222− }
38+ "location": "query",
223− },
224− "clickThroughUrl": {
225− "type": "array",
226− "description": "The set of destination urls for the snippet.",
227− "items": {
228 "type": "string"
39 "type": "string"
229− },
230− "annotations": {
231− "required": [
232− "adexchangebuyer.creatives.insert"
233− ]
234− }
235− },
236− "corrections": {
237− "type": "array",
238− "description": "Shows any corrections that were applied to this creative. Read-only. This field should not be set in requests.",
239− "items": {
240− "type": "object",
241− "properties": {
242− "details": {
243− "type": "array",
244− "description": "Additional details about the correction.",
245− "items": {
246− "type": "string"
247− }
248− },
249− "reason": {
250− "type": "string",
251− "description": "The type of correction that was applied to the creative."
252− }
253− }
254− }
255− },
256− "disapprovalReasons": {
257− "type": "array",
258− "description": "The reasons for disapproval, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue. Read-only. This field should not be set in requests.",
259− "items": {
260− "type": "object",
261− "properties": {
262− "details": {
263− "type": "array",
264− "description": "Additional details about the reason for disapproval.",
265− "items": {
266− "type": "string"
267− }
268− },
269− "reason": {
270− "type": "string",
271− "description": "The categorized reason for disapproval."
272− }
273− }
274− }
275 },
40 },
276− "filteringReasons": {
41+ "fields": {
277− "type": "object",
42+ "description": "Selector specifying which fields to include in a partial response.",
278− "description": "The filtering reasons for the creative. Read-only. This field should not be set in requests.",
43+ "location": "query",
279− "properties": {
280− "date": {
281− "type": "string",
282− "description": "The date in ISO 8601 format for the data. The data is collected from 00:00:00 to 23:59:59 in PST."
283− },
284− "reasons": {
285− "type": "array",
286− "description": "The filtering reasons.",
287− "items": {
288− "type": "object",
289− "properties": {
290− "filteringCount": {
291− "type": "string",
292− "description": "The number of times the creative was filtered for the status. The count is aggregated across all publishers on the exchange.",
293− "format": "int64"
294− },
295− "filteringStatus": {
296− "type": "integer",
297− "description": "The filtering status code. Please refer to the creative-status-codes.txt file for different statuses.",
298− "format": "int32"
299− }
300− }
301− }
302− }
303− }
304− },
305− "height": {
306− "type": "integer",
307− "description": "Ad height.",
308− "format": "int32",
309− "annotations": {
310− "required": [
311− "adexchangebuyer.creatives.insert"
312− ]
313− }
314− },
315− "impressionTrackingUrl": {
316− "type": "array",
317− "description": "The set of urls to be called to record an impression.",
318− "items": {
319 "type": "string"
44 "type": "string"
320− }
321− },
322− "kind": {
323− "type": "string",
324− "description": "Resource type.",
325− "default": "adexchangebuyer#creative"
326− },
327− "productCategories": {
328− "type": "array",
329− "description": "Detected product categories, if any. Read-only. This field should not be set in requests.",
330− "items": {
331− "type": "integer",
332− "format": "int32"
333− }
334− },
335− "restrictedCategories": {
336− "type": "array",
337− "description": "All restricted categories for the ads that may be shown from this snippet.",
338− "items": {
339− "type": "integer",
340− "format": "int32"
341− }
342− },
343− "sensitiveCategories": {
344− "type": "array",
345− "description": "Detected sensitive categories, if any. Read-only. This field should not be set in requests.",
346− "items": {
347− "type": "integer",
348− "format": "int32"
349− }
350 },
45 },
351− "status": {
46+ "key": {
47+ "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.",
48+ "location": "query",
352− "type": "string",
49+ "type": "string"
353− "description": "Creative serving status. Read-only. This field should not be set in requests."
354 },
50 },
355− "vendorType": {
51+ "oauth_token": {
356− "type": "array",
52+ "description": "OAuth 2.0 token for the current user.",
357− "description": "All vendor types for the ads that may be shown from this snippet.",
53+ "location": "query",
358− "items": {
54+ "type": "string"
359− "type": "integer",
360− "format": "int32"
361− }
362 },
55 },
363− "version": {
56+ "prettyPrint": {
364− "type": "integer",
57+ "default": "true",
365− "description": "The version for this creative. Read-only. This field should not be set in requests.",
58+ "description": "Returns response with indentations and line breaks.",
366− "format": "int32"
59+ "location": "query",
60+ "type": "boolean"
367 },
61 },
368− "videoURL": {
62+ "quotaUser": {
369− "type": "string",
63+ "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.",
370− "description": "The url to fetch a video ad. If set, HTMLSnippet should not be set."
64+ "location": "query",
65+ "type": "string"
371 },
66 },
372− "width": {
67+ "userIp": {
373− "type": "integer",
68+ "description": "Deprecated. Please use quotaUser instead.",
374− "description": "Ad width.",
69+ "location": "query",
375− "format": "int32",
70+ "type": "string"
376− "annotations": {
377− "required": [
378− "adexchangebuyer.creatives.insert"
379− ]
380− }
381 }
71 }
382− }
383 },
72 },
384− "CreativesList": {
73+ "protocol": "rest",
385− "id": "CreativesList",
386− "type": "object",
387− "description": "The creatives feed lists the active creatives for the Ad Exchange buyer accounts that the user has access to. Each entry in the feed corresponds to a single creative.",
388− "properties": {
389− "items": {
390− "type": "array",
391− "description": "A list of creatives.",
392− "items": {
393− "$ref": "Creative"
394− }
395− },
396− "kind": {
397− "type": "string",
398− "description": "Resource type.",
399− "default": "adexchangebuyer#creativesList"
400− },
401− "nextPageToken": {
402− "type": "string",
403− "description": "Continuation token used to page through creatives. To retrieve the next page of results, set the next request's \"pageToken\" value to this."
404− }
405− }
406− }
407− },
408− "resources": {
74+ "resources": {
409− "accounts": {
75+ "accounts": {
410− "methods": {
76+ "methods": {
411− "get": {
77+ "get": {
412− "id": "adexchangebuyer.accounts.get",
413− "path": "accounts/{id}",
414− "httpMethod": "GET",
415− "description": "Gets one account by ID.",
78+ "description": "Gets one account by ID.",
416− "parameters": {
79+ "httpMethod": "GET",
417− "id": {
80+ "id": "adexchangebuyer.accounts.get",
418− "type": "integer",
81+ "parameterOrder": [
82+ "id"
83+ ],
84+ "parameters": {
85+ "id": {
419− "description": "The account id",
86+ "description": "The account id",
420− "required": true,
87+ "format": "int32",
421− "format": "int32",
88+ "location": "path",
422− "location": "path"
89+ "required": true,
90+ "type": "integer"
423− }
91+ }
424− },
92+ },
425− "parameterOrder": [
93+ "path": "accounts/{id}",
426− "id"
427− ],
428− "response": {
94+ "response": {
429− "$ref": "Account"
95+ "$ref": "Account"
430− },
96+ },
431− "scopes": [
97+ "scopes": [
432− "https://www.googleapis.com/auth/adexchange.buyer"
98+ "https://www.googleapis.com/auth/adexchange.buyer"
433− ]
99+ ]
434− },
100+ },
435− "list": {
101+ "list": {
436− "id": "adexchangebuyer.accounts.list",
437− "path": "accounts",
438− "httpMethod": "GET",
439− "description": "Retrieves the authenticated user's list of accounts.",
102+ "description": "Retrieves the authenticated user's list of accounts.",
103+ "httpMethod": "GET",
104+ "id": "adexchangebuyer.accounts.list",
105+ "path": "accounts",
440− "response": {
106+ "response": {
441− "$ref": "AccountsList"
107+ "$ref": "AccountsList"
442− },
108+ },
443− "scopes": [
109+ "scopes": [
444− "https://www.googleapis.com/auth/adexchange.buyer"
110+ "https://www.googleapis.com/auth/adexchange.buyer"
445− ]
111+ ]
446− },
112+ },
447− "patch": {
113+ "patch": {
448− "id": "adexchangebuyer.accounts.patch",
449− "path": "accounts/{id}",
450− "httpMethod": "PATCH",
451− "description": "Updates an existing account. This method supports patch semantics.",
114+ "description": "Updates an existing account. This method supports patch semantics.",
115+ "httpMethod": "PATCH",
116+ "id": "adexchangebuyer.accounts.patch",
117+ "parameterOrder": [
118+ "id"
119+ ],
452− "parameters": {
120+ "parameters": {
453− "id": {
121+ "id": {
122+ "description": "The account id",
123+ "format": "int32",
124+ "location": "path",
125+ "required": true,
454− "type": "integer",
126+ "type": "integer"
127+ }
128+ },
129+ "path": "accounts/{id}",
130+ "request": {
131+ "$ref": "Account"
132+ },
133+ "response": {
134+ "$ref": "Account"
135+ },
136+ "scopes": [
137+ "https://www.googleapis.com/auth/adexchange.buyer"
138+ ]
139+ },
140+ "update": {
455− "description": "The account id",
141+ "description": "Updates an existing account.",
456− "required": true,
142+ "httpMethod": "PUT",
143+ "id": "adexchangebuyer.accounts.update",
144+ "parameterOrder": [
145+ "id"
146+ ],
147+ "parameters": {
148+ "id": {
149+ "description": "The account id",
457− "format": "int32",
150+ "format": "int32",
458− "location": "path"
151+ "location": "path",
152+ "required": true,
153+ "type": "integer"
154+ }
155+ },
156+ "path": "accounts/{id}",
157+ "request": {
158+ "$ref": "Account"
159+ },
160+ "response": {
161+ "$ref": "Account"
162+ },
163+ "scopes": [
164+ "https://www.googleapis.com/auth/adexchange.buyer"
165+ ]
166+ }
459 }
167 }
460− },
461− "parameterOrder": [
462− "id"
463− ],
464− "request": {
465− "$ref": "Account"
466− },
467− "response": {
468− "$ref": "Account"
469− },
470− "scopes": [
471− "https://www.googleapis.com/auth/adexchange.buyer"
472− ]
473 },
168 },
474− "update": {
169+ "creatives": {
475− "id": "adexchangebuyer.accounts.update",
170+ "methods": {
476− "path": "accounts/{id}",
171+ "get": {
477− "httpMethod": "PUT",
172+ "description": "Gets the status for a single creative. A creative will be available 30-40 minutes after submission.",
478− "description": "Updates an existing account.",
173+ "httpMethod": "GET",
479− "parameters": {
174+ "id": "adexchangebuyer.creatives.get",
480− "id": {
175+ "parameterOrder": [
481− "type": "integer",
176+ "accountId",
482− "description": "The account id",
177+ "buyerCreativeId"
483− "required": true,
178+ ],
179+ "parameters": {
180+ "accountId": {
181+ "description": "The id for the account that will serve this creative.",
484− "format": "int32",
182+ "format": "int32",
485− "location": "path"
183+ "location": "path",
184+ "required": true,
185+ "type": "integer"
186+ },
187+ "buyerCreativeId": {
188+ "description": "The buyer-specific id for this creative.",
189+ "location": "path",
190+ "required": true,
191+ "type": "string"
192+ }
193+ },
194+ "path": "creatives/{accountId}/{buyerCreativeId}",
195+ "response": {
196+ "$ref": "Creative"
197+ },
198+ "scopes": [
199+ "https://www.googleapis.com/auth/adexchange.buyer"
200+ ]
201+ },
202+ "insert": {
203+ "description": "Submit a new creative.",
204+ "httpMethod": "POST",
205+ "id": "adexchangebuyer.creatives.insert",
206+ "path": "creatives",
207+ "request": {
208+ "$ref": "Creative"
209+ },
210+ "response": {
211+ "$ref": "Creative"
212+ },
213+ "scopes": [
214+ "https://www.googleapis.com/auth/adexchange.buyer"
215+ ]
216+ },
217+ "list": {
218+ "description": "Retrieves a list of the authenticated user's active creatives. A creative will be available 30-40 minutes after submission.",
219+ "httpMethod": "GET",
220+ "id": "adexchangebuyer.creatives.list",
221+ "parameters": {
222+ "maxResults": {
223+ "description": "Maximum number of entries returned on one result page. If not set, the default is 100. Optional.",
224+ "format": "uint32",
225+ "location": "query",
226+ "maximum": "1000",
227+ "minimum": "1",
228+ "type": "integer"
229+ },
230+ "pageToken": {
231+ "description": "A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response. Optional.",
232+ "location": "query",
233+ "type": "string"
234+ },
235+ "statusFilter": {
236+ "description": "When specified, only creatives having the given status are returned.",
237+ "enum": [
238+ "approved",
239+ "disapproved",
240+ "not_checked"
241+ ],
242+ "enumDescriptions": [
243+ "Creatives which have been approved.",
244+ "Creatives which have been disapproved.",
245+ "Creatives whose status is not yet checked."
246+ ],
247+ "location": "query",
248+ "type": "string"
249+ }
250+ },
251+ "path": "creatives",
252+ "response": {
253+ "$ref": "CreativesList"
254+ },
255+ "scopes": [
256+ "https://www.googleapis.com/auth/adexchange.buyer"
257+ ]
258+ }
486 }
259 }
487− },
488− "parameterOrder": [
489− "id"
490− ],
491− "request": {
492− "$ref": "Account"
493− },
494− "response": {
495− "$ref": "Account"
496− },
497− "scopes": [
498− "https://www.googleapis.com/auth/adexchange.buyer"
499− ]
500 }
260 }
501− }
502 },
261 },
503− "creatives": {
262+ "revision": "20180222",
504− "methods": {
263+ "rootUrl": "https://www.googleapis.com/",
505− "get": {
264+ "schemas": {
265+ "Account": {
266+ "description": "Configuration data for an Ad Exchange buyer account.",
267+ "id": "Account",
268+ "properties": {
269+ "bidderLocation": {
270+ "description": "Your bidder locations that have distinct URLs.",
271+ "items": {
272+ "properties": {
273+ "maximumQps": {
274+ "description": "The maximum queries per second the Ad Exchange will send.",
275+ "format": "int32",
276+ "type": "integer"
277+ },
278+ "region": {
279+ "description": "The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values: \n- ASIA \n- EUROPE \n- US_EAST \n- US_WEST",
280+ "type": "string"
281+ },
282+ "url": {
283+ "description": "The URL to which the Ad Exchange will send bid requests.",
284+ "type": "string"
285+ }
286+ },
287+ "type": "object"
288+ },
289+ "type": "array"
290+ },
291+ "cookieMatchingNid": {
292+ "description": "The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.",
293+ "type": "string"
294+ },
295+ "cookieMatchingUrl": {
296+ "description": "The base URL used in cookie match requests.",
297+ "type": "string"
298+ },
299+ "id": {
300+ "description": "Account id.",
301+ "format": "int32",
302+ "type": "integer"
303+ },
304+ "kind": {
506− "id": "adexchangebuyer.creatives.get",
305+ "default": "adexchangebuyer#account",
507− "path": "creatives/{accountId}/{buyerCreativeId}",
306+ "description": "Resource type.",
508− "httpMethod": "GET",
307+ "type": "string"
509− "description": "Gets the status for a single creative. A creative will be available 30-40 minutes after submission.",
308+ },
510− "parameters": {
309+ "maximumActiveCreatives": {
511− "accountId": {
310+ "description": "The maximum number of active creatives that an account can have, where a creative is active if it was inserted or bid with in the last 30 days. Please contact your technical account manager if you need to change this.",
311+ "format": "int32",
512− "type": "integer",
312+ "type": "integer"
513− "description": "The id for the account that will serve this creative.",
313+ },
514− "required": true,
314+ "maximumTotalQps": {
315+ "description": "The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.",
316+ "format": "int32",
317+ "type": "integer"
318+ },
319+ "numberActiveCreatives": {
320+ "description": "The number of creatives that this account inserted or bid with in the last 30 days.",
515− "format": "int32",
321+ "format": "int32",
516− "location": "path"
322+ "type": "integer"
323+ }
517 },
324 },
518− "buyerCreativeId": {
519− "type": "string",
325+ "type": "object"
520− "description": "The buyer-specific id for this creative.",
521− "required": true,
522− "location": "path"
523− }
524− },
525− "parameterOrder": [
526− "accountId",
527− "buyerCreativeId"
528− ],
529− "response": {
530− "$ref": "Creative"
531− },
532− "scopes": [
533− "https://www.googleapis.com/auth/adexchange.buyer"
534− ]
535 },
326 },
536− "insert": {
327+ "AccountsList": {
328+ "description": "An account feed lists Ad Exchange buyer accounts that the user has access to. Each entry in the feed corresponds to a single buyer account.",
329+ "id": "AccountsList",
330+ "properties": {
331+ "items": {
332+ "description": "A list of accounts.",
333+ "items": {
334+ "$ref": "Account"
335+ },
336+ "type": "array"
337+ },
338+ "kind": {
537− "id": "adexchangebuyer.creatives.insert",
339+ "default": "adexchangebuyer#accountsList",
538− "path": "creatives",
539− "httpMethod": "POST",
540− "description": "Submit a new creative.",
340+ "description": "Resource type.",
541− "request": {
341+ "type": "string"
542− "$ref": "Creative"
543− },
342+ }
544− "response": {
545− "$ref": "Creative"
546− },
343+ },
547− "scopes": [
344+ "type": "object"
548− "https://www.googleapis.com/auth/adexchange.buyer"
549− ]
550 },
345 },
551− "list": {
346+ "Creative": {
347+ "description": "A creative and its classification data.",
348+ "id": "Creative",
349+ "properties": {
350+ "HTMLSnippet": {
351+ "description": "The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set.",
352+ "type": "string"
353+ },
354+ "accountId": {
355+ "annotations": {
356+ "required": [
552− "id": "adexchangebuyer.creatives.list",
357+ "adexchangebuyer.creatives.insert"
553− "path": "creatives",
358+ ]
554− "httpMethod": "GET",
359+ },
555− "description": "Retrieves a list of the authenticated user's active creatives. A creative will be available 30-40 minutes after submission.",
360+ "description": "Account id.",
556− "parameters": {
361+ "format": "int32",
557− "maxResults": {
362+ "type": "integer"
363+ },
364+ "advertiserId": {
365+ "description": "Detected advertiser id, if any. Read-only. This field should not be set in requests.",
366+ "items": {
367+ "format": "int64",
368+ "type": "string"
369+ },
370+ "type": "array"
371+ },
372+ "advertiserName": {
373+ "annotations": {
374+ "required": [
375+ "adexchangebuyer.creatives.insert"
376+ ]
377+ },
378+ "description": "The name of the company being advertised in the creative.",
379+ "type": "string"
380+ },
381+ "agencyId": {
382+ "description": "The agency id for this creative.",
383+ "format": "int64",
384+ "type": "string"
385+ },
386+ "apiUploadTimestamp": {
387+ "description": "The last upload timestamp of this creative if it was uploaded via API. Read-only. The value of this field is generated, and will be ignored for uploads. (formatted RFC 3339 timestamp).",
388+ "format": "date-time",
389+ "type": "string"
390+ },
391+ "attribute": {
392+ "description": "All attributes for the ads that may be shown from this snippet.",
393+ "items": {
394+ "format": "int32",
558− "type": "integer",
395+ "type": "integer"
559− "description": "Maximum number of entries returned on one result page. If not set, the default is 100. Optional.",
396+ },
397+ "type": "array"
398+ },
399+ "buyerCreativeId": {
400+ "annotations": {
401+ "required": [
402+ "adexchangebuyer.creatives.insert"
403+ ]
404+ },
405+ "description": "A buyer-specific id identifying the creative in this ad.",
406+ "type": "string"
407+ },
408+ "clickThroughUrl": {
409+ "annotations": {
410+ "required": [
411+ "adexchangebuyer.creatives.insert"
412+ ]
413+ },
414+ "description": "The set of destination urls for the snippet.",
415+ "items": {
416+ "type": "string"
417+ },
418+ "type": "array"
419+ },
420+ "corrections": {
421+ "description": "Shows any corrections that were applied to this creative. Read-only. This field should not be set in requests.",
422+ "items": {
423+ "properties": {
424+ "details": {
425+ "description": "Additional details about the correction.",
426+ "items": {
427+ "type": "string"
428+ },
429+ "type": "array"
430+ },
431+ "reason": {
432+ "description": "The type of correction that was applied to the creative.",
433+ "type": "string"
434+ }
435+ },
436+ "type": "object"
437+ },
438+ "type": "array"
439+ },
440+ "disapprovalReasons": {
441+ "description": "The reasons for disapproval, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue. Read-only. This field should not be set in requests.",
442+ "items": {
443+ "properties": {
444+ "details": {
445+ "description": "Additional details about the reason for disapproval.",
446+ "items": {
447+ "type": "string"
448+ },
449+ "type": "array"
450+ },
451+ "reason": {
452+ "description": "The categorized reason for disapproval.",
453+ "type": "string"
454+ }
455+ },
456+ "type": "object"
457+ },
458+ "type": "array"
459+ },
460+ "filteringReasons": {
461+ "description": "The filtering reasons for the creative. Read-only. This field should not be set in requests.",
462+ "properties": {
463+ "date": {
464+ "description": "The date in ISO 8601 format for the data. The data is collected from 00:00:00 to 23:59:59 in PST.",
465+ "type": "string"
466+ },
467+ "reasons": {
468+ "description": "The filtering reasons.",
469+ "items": {
470+ "properties": {
471+ "filteringCount": {
472+ "description": "The number of times the creative was filtered for the status. The count is aggregated across all publishers on the exchange.",
473+ "format": "int64",
474+ "type": "string"
475+ },
476+ "filteringStatus": {
477+ "description": "The filtering status code. Please refer to the creative-status-codes.txt file for different statuses.",
478+ "format": "int32",
479+ "type": "integer"
480+ }
481+ },
482+ "type": "object"
483+ },
484+ "type": "array"
485+ }
486+ },
487+ "type": "object"
488+ },
489+ "height": {
490+ "annotations": {
491+ "required": [
492+ "adexchangebuyer.creatives.insert"
493+ ]
494+ },
495+ "description": "Ad height.",
496+ "format": "int32",
497+ "type": "integer"
498+ },
499+ "impressionTrackingUrl": {
500+ "description": "The set of urls to be called to record an impression.",
501+ "items": {
502+ "type": "string"
503+ },
504+ "type": "array"
505+ },
506+ "kind": {
507+ "default": "adexchangebuyer#creative",
508+ "description": "Resource type.",
509+ "type": "string"
510+ },
511+ "productCategories": {
512+ "description": "Detected product categories, if any. Read-only. This field should not be set in requests.",
513+ "items": {
560− "format": "uint32",
514+ "format": "int32",
561− "minimum": "1",
515+ "type": "integer"
562− "maximum": "1000",
516+ },
563− "location": "query"
517+ "type": "array"
518+ },
519+ "restrictedCategories": {
520+ "description": "All restricted categories for the ads that may be shown from this snippet.",
521+ "items": {
522+ "format": "int32",
523+ "type": "integer"
524+ },
525+ "type": "array"
526+ },
527+ "sensitiveCategories": {
528+ "description": "Detected sensitive categories, if any. Read-only. This field should not be set in requests.",
529+ "items": {
530+ "format": "int32",
531+ "type": "integer"
532+ },
533+ "type": "array"
534+ },
535+ "status": {
536+ "description": "Creative serving status. Read-only. This field should not be set in requests.",
537+ "type": "string"
538+ },
539+ "vendorType": {
540+ "description": "All vendor types for the ads that may be shown from this snippet.",
541+ "items": {
542+ "format": "int32",
543+ "type": "integer"
544+ },
545+ "type": "array"
546+ },
547+ "version": {
548+ "description": "The version for this creative. Read-only. This field should not be set in requests.",
549+ "format": "int32",
550+ "type": "integer"
551+ },
552+ "videoURL": {
553+ "description": "The url to fetch a video ad. If set, HTMLSnippet should not be set.",
554+ "type": "string"
555+ },
556+ "width": {
557+ "annotations": {
558+ "required": [
559+ "adexchangebuyer.creatives.insert"
560+ ]
561+ },
562+ "description": "Ad width.",
563+ "format": "int32",
564+ "type": "integer"
565+ }
564 },
566 },
565− "pageToken": {
567+ "type": "object"
566− "type": "string",
568+ },
567− "description": "A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response. Optional.",
569+ "CreativesList": {
568− "location": "query"
570+ "description": "The creatives feed lists the active creatives for the Ad Exchange buyer accounts that the user has access to. Each entry in the feed corresponds to a single creative.",
571+ "id": "CreativesList",
572+ "properties": {
573+ "items": {
574+ "description": "A list of creatives.",
575+ "items": {
576+ "$ref": "Creative"
577+ },
578+ "type": "array"
579+ },
580+ "kind": {
581+ "default": "adexchangebuyer#creativesList",
582+ "description": "Resource type.",
583+ "type": "string"
584+ },
585+ "nextPageToken": {
586+ "description": "Continuation token used to page through creatives. To retrieve the next page of results, set the next request's \"pageToken\" value to this.",
587+ "type": "string"
588+ }
569 },
589 },
570− "statusFilter": {
571− "type": "string",
590+ "type": "object"
572− "description": "When specified, only creatives having the given status are returned.",
573− "enum": [
574− "approved",
575− "disapproved",
576− "not_checked"
577− ],
578− "enumDescriptions": [
579− "Creatives which have been approved.",
580− "Creatives which have been disapproved.",
581− "Creatives whose status is not yet checked."
582− ],
583− "location": "query"
584− }
585− },
586− "response": {
587− "$ref": "CreativesList"
588− },
589− "scopes": [
590− "https://www.googleapis.com/auth/adexchange.buyer"
591− ]
592 }
591 }
593− }
592+ },
594− }
593+ "servicePath": "adexchangebuyer/v1.2/",
595− }
594+ "title": "Ad Exchange Buyer API",
595+ "version": "v1.2"
596−}
596+}
gen/model/adexchangebuyer/v1.3/adexchangebuyer-api.json+1608−1595
@@ -1,1655 +1,1668 @@
1{
1{
2− "kind": "discovery#restDescription",
2+ "auth": {
3− "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/s43VGxh95gMJhn2XULgCPUEFl2w\"",
4− "discoveryVersion": "v1",
5− "id": "adexchangebuyer:v1.3",
6− "name": "adexchangebuyer",
7− "canonicalName": "Ad Exchange Buyer",
8− "version": "v1.3",
9− "revision": "20150909",
10− "title": "Ad Exchange Buyer API",
11− "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.",
12− "ownerDomain": "google.com",
13− "ownerName": "Google",
14− "icons": {
15− "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif",
16− "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif"
17− },
18− "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest",
19− "protocol": "rest",
20− "baseUrl": "https://www.googleapis.com/adexchangebuyer/v1.3/",
21− "basePath": "/adexchangebuyer/v1.3/",
22− "rootUrl": "https://www.googleapis.com/",
23− "servicePath": "adexchangebuyer/v1.3/",
24− "batchPath": "batch",
25− "parameters": {
26− "alt": {
27− "type": "string",
28− "description": "Data format for the response.",
29− "default": "json",
30− "enum": [
31− "json"
32− ],
33− "enumDescriptions": [
34− "Responses with Content-Type of application/json"
35− ],
36− "location": "query"
37− },
38− "fields": {
39− "type": "string",
40− "description": "Selector specifying which fields to include in a partial response.",
41− "location": "query"
42− },
43− "key": {
44− "type": "string",
45− "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.",
46− "location": "query"
47− },
48− "oauth_token": {
49− "type": "string",
50− "description": "OAuth 2.0 token for the current user.",
51− "location": "query"
52− },
53− "prettyPrint": {
54− "type": "boolean",
55− "description": "Returns response with indentations and line breaks.",
56− "default": "true",
57− "location": "query"
58− },
59− "quotaUser": {
60− "type": "string",
61− "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. Overrides userIp if both are provided.",
62− "location": "query"
63− },
64− "userIp": {
65− "type": "string",
66− "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
67− "location": "query"
68− }
69− },
70− "auth": {
71− "oauth2": {
3+ "oauth2": {
72− "scopes": {
4+ "scopes": {
73− "https://www.googleapis.com/auth/adexchange.buyer": {
5+ "https://www.googleapis.com/auth/adexchange.buyer": {
74− "description": "Manage your Ad Exchange buyer account configuration"
6+ "description": "Manage your Ad Exchange buyer account configuration"
75− }
76− }
77− }
78− },
79− "schemas": {
80− "Account": {
81− "id": "Account",
82− "type": "object",
83− "description": "Configuration data for an Ad Exchange buyer account.",
84− "properties": {
85− "bidderLocation": {
86− "type": "array",
87− "description": "Your bidder locations that have distinct URLs.",
88− "items": {
89− "type": "object",
90− "properties": {
91− "maximumQps": {
92− "type": "integer",
93− "description": "The maximum queries per second the Ad Exchange will send.",
94− "format": "int32"
95− },
96− "region": {
97− "type": "string",
98− "description": "The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values: \n- ASIA \n- EUROPE \n- US_EAST \n- US_WEST"
99− },
100− "url": {
101− "type": "string",
102− "description": "The URL to which the Ad Exchange will send bid requests."
103− }
7+ }
104 }
8 }
105− }
106− },
107− "cookieMatchingNid": {
108− "type": "string",
109− "description": "The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this."
110− },
111− "cookieMatchingUrl": {
112− "type": "string",
113− "description": "The base URL used in cookie match requests."
114− },
115− "id": {
116− "type": "integer",
117− "description": "Account id.",
118− "format": "int32"
119− },
120− "kind": {
121− "type": "string",
122− "description": "Resource type.",
123− "default": "adexchangebuyer#account"
124− },
125− "maximumActiveCreatives": {
126− "type": "integer",
127− "description": "The maximum number of active creatives that an account can have, where a creative is active if it was inserted or bid with in the last 30 days. Please contact your technical account manager if you need to change this.",
128− "format": "int32"
129− },
130− "maximumTotalQps": {
131− "type": "integer",
132− "description": "The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.",
133− "format": "int32"
134− },
135− "numberActiveCreatives": {
136− "type": "integer",
137− "description": "The number of creatives that this account inserted or bid with in the last 30 days.",
138− "format": "int32"
139 }
9 }
140− }
141 },
10 },
142− "AccountsList": {
11+ "basePath": "/adexchangebuyer/v1.3/",
143− "id": "AccountsList",
12+ "baseUrl": "https://www.googleapis.com/adexchangebuyer/v1.3/",
144− "type": "object",
13+ "batchPath": "batch/adexchangebuyer/v1.3",
145− "description": "An account feed lists Ad Exchange buyer accounts that the user has access to. Each entry in the feed corresponds to a single buyer account.",
14+ "canonicalName": "Ad Exchange Buyer",
146− "properties": {
15+ "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.",
147− "items": {
16+ "discoveryVersion": "v1",
148− "type": "array",
17+ "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest",
149− "description": "A list of accounts.",
18+ "etag": "\"Zkyw9ACJZUvcYmlFaKGChzhmtnE/_CyndOA4AbF54FgfrNcK2tPll_k\"",
150− "items": {
19+ "icons": {
151− "$ref": "Account"
20+ "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif",
152− }
21+ "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif"
153− },
154− "kind": {
155− "type": "string",
156− "description": "Resource type.",
157− "default": "adexchangebuyer#accountsList"
158− }
159− }
160 },
22 },
161− "BillingInfo": {
23+ "id": "adexchangebuyer:v1.3",
162− "id": "BillingInfo",
24+ "kind": "discovery#restDescription",
163− "type": "object",
25+ "name": "adexchangebuyer",
164− "description": "The configuration data for an Ad Exchange billing info.",
26+ "ownerDomain": "google.com",
165− "properties": {
27+ "ownerName": "Google",
166− "accountId": {
28+ "parameters": {
167− "type": "integer",
29+ "alt": {
168− "description": "Account id.",
30+ "default": "json",
169− "format": "int32"
31+ "description": "Data format for the response.",
170− },
32+ "enum": [
171− "accountName": {
33+ "json"
172− "type": "string",
34+ ],
173− "description": "Account name."
35+ "enumDescriptions": [
174− },
36+ "Responses with Content-Type of application/json"
175− "billingId": {
37+ ],
176− "type": "array",
38+ "location": "query",
177− "description": "A list of adgroup IDs associated with this particular account. These IDs may show up as part of a realtime bidding BidRequest, which indicates a bid request for this account.",
178− "items": {
179 "type": "string"
39 "type": "string"
180− }
181− },
182− "kind": {
183− "type": "string",
184− "description": "Resource type.",
185− "default": "adexchangebuyer#billingInfo"
186− }
187− }
188− },
189− "BillingInfoList": {
190− "id": "BillingInfoList",
191− "type": "object",
192− "description": "A billing info feed lists Billing Info the Ad Exchange buyer account has access to. Each entry in the feed corresponds to a single billing info.",
193− "properties": {
194− "items": {
195− "type": "array",
196− "description": "A list of billing info relevant for your account.",
197− "items": {
198− "$ref": "BillingInfo"
199− }
200 },
40 },
201− "kind": {
41+ "fields": {
202− "type": "string",
42+ "description": "Selector specifying which fields to include in a partial response.",
203− "description": "Resource type.",
43+ "location": "query",
204− "default": "adexchangebuyer#billingInfoList"
205− }
206− }
207− },
208− "Budget": {
209− "id": "Budget",
210− "type": "object",
211− "description": "The configuration data for Ad Exchange RTB - Budget API.",
212− "properties": {
213− "accountId": {
214− "type": "string",
44+ "type": "string"
215− "description": "The id of the account. This is required for get and update requests.",
216− "format": "int64"
217 },
45 },
218− "billingId": {
46+ "key": {
47+ "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.",
48+ "location": "query",
219− "type": "string",
49+ "type": "string"
220− "description": "The billing id to determine which adgroup to provide budget information for. This is required for get and update requests.",
221− "format": "int64"
222 },
50 },
223− "budgetAmount": {
51+ "oauth_token": {
224− "type": "string",
52+ "description": "OAuth 2.0 token for the current user.",
225− "description": "The budget amount to apply for the billingId provided. This is required for update requests.",
53+ "location": "query",
226− "format": "int64"
54+ "type": "string"
227 },
55 },
228− "currencyCode": {
56+ "prettyPrint": {
229− "type": "string",
57+ "default": "true",
230− "description": "The currency code for the buyer. This cannot be altered here."
58+ "description": "Returns response with indentations and line breaks.",
59+ "location": "query",
60+ "type": "boolean"
231 },
61 },
232− "id": {
62+ "quotaUser": {
233− "type": "string",
63+ "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.",
234− "description": "The unique id that describes this item."
64+ "location": "query",
65+ "type": "string"
235 },
66 },
236− "kind": {
67+ "userIp": {
68+ "description": "Deprecated. Please use quotaUser instead.",
69+ "location": "query",
237− "type": "string",
70+ "type": "string"
238− "description": "The kind of the resource, i.e. \"adexchangebuyer#budget\".",
239− "default": "adexchangebuyer#budget"
240 }
71 }
241− }
242 },
72 },
243− "Creative": {
73+ "protocol": "rest",
244− "id": "Creative",
74+ "resources": {
245− "type": "object",
75+ "accounts": {
246− "description": "A creative and its classification data.",
76+ "methods": {
247− "properties": {
77+ "get": {
248− "HTMLSnippet": {
78+ "description": "Gets one account by ID.",
249− "type": "string",
79+ "httpMethod": "GET",
250− "description": "The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set."
80+ "id": "adexchangebuyer.accounts.get",
251− },
81+ "parameterOrder": [
252− "accountId": {
82+ "id"
253− "type": "integer",
83+ ],
254− "description": "Account id.",
84+ "parameters": {
255− "format": "int32",
85+ "id": {
256− "annotations": {
86+ "description": "The account id",
257− "required": [
87+ "format": "int32",
258− "adexchangebuyer.creatives.insert"
88+ "location": "path",
259− ]
89+ "required": true,
260− }
90+ "type": "integer"
261− },
91+ }
262− "advertiserId": {
92+ },
263− "type": "array",
93+ "path": "accounts/{id}",
264− "description": "Detected advertiser id, if any. Read-only. This field should not be set in requests.",
94+ "response": {
265− "items": {
95+ "$ref": "Account"
266− "type": "string",
96+ },
267− "format": "int64"
97+ "scopes": [
268− }
98+ "https://www.googleapis.com/auth/adexchange.buyer"
269− },
99+ ]
270− "advertiserName": {
100+ },
271− "type": "string",
101+ "list": {
272− "description": "The name of the company being advertised in the creative.",
102+ "description": "Retrieves the authenticated user's list of accounts.",
273− "annotations": {
103+ "httpMethod": "GET",
274− "required": [
104+ "id": "adexchangebuyer.accounts.list",
275− "adexchangebuyer.creatives.insert"
105+ "path": "accounts",
276− ]
106+ "response": {
277− }
107+ "$ref": "AccountsList"
278− },
108+ },
279− "agencyId": {
109+ "scopes": [
280− "type": "string",
110+ "https://www.googleapis.com/auth/adexchange.buyer"
281− "description": "The agency id for this creative.",
111+ ]
282− "format": "int64"
112+ },
283− },
113+ "patch": {
284− "api_upload_timestamp": {
114+ "description": "Updates an existing account. This method supports patch semantics.",
285− "type": "string",
115+ "httpMethod": "PATCH",
286− "description": "The last upload timestamp of this creative if it was uploaded via API. Read-only. The value of this field is generated, and will be ignored for uploads. (formatted RFC 3339 timestamp).",
116+ "id": "adexchangebuyer.accounts.patch",
287− "format": "date-time"
117+ "parameterOrder": [
288− },
118+ "id"
289− "attribute": {
119+ ],
290− "type": "array",
120+ "parameters": {
291− "description": "All attributes for the ads that may be shown from this snippet.",
121+ "id": {
292− "items": {
122+ "description": "The account id",
293− "type": "integer",
123+ "format": "int32",
294− "format": "int32"
124+ "location": "path",
295− }
125+ "required": true,
296− },
126+ "type": "integer"
297− "buyerCreativeId": {
127+ }
298− "type": "string",
128+ },
299− "description": "A buyer-specific id identifying the creative in this ad.",
129+ "path": "accounts/{id}",
300− "annotations": {
130+ "request": {
301− "required": [
131+ "$ref": "Account"
302− "adexchangebuyer.creatives.insert"
132+ },
303− ]
133+ "response": {
304− }
134+ "$ref": "Account"
305− },
135+ },
306− "clickThroughUrl": {
136+ "scopes": [
307− "type": "array",
137+ "https://www.googleapis.com/auth/adexchange.buyer"
308− "description": "The set of destination urls for the snippet.",
138+ ]
309− "items": {
139+ },
310− "type": "string"
140+ "update": {
311− },
141+ "description": "Updates an existing account.",
312− "annotations": {
142+ "httpMethod": "PUT",
313− "required": [
143+ "id": "adexchangebuyer.accounts.update",
314− "adexchangebuyer.creatives.insert"
144+ "parameterOrder": [
315− ]
145+ "id"
316− }
146+ ],
317− },
147+ "parameters": {
318− "corrections": {
148+ "id": {
319− "type": "array",
149+ "description": "The account id",
320− "description": "Shows any corrections that were applied to this creative. Read-only. This field should not be set in requests.",
150+ "format": "int32",
321− "items": {
151+ "location": "path",
322− "type": "object",
152+ "required": true,
323− "properties": {
153+ "type": "integer"
324− "details": {
154+ }
325− "type": "array",
155+ },
326− "description": "Additional details about the correction.",
156+ "path": "accounts/{id}",
327− "items": {
157+ "request": {
328− "type": "string"
158+ "$ref": "Account"
159+ },
160+ "response": {
161+ "$ref": "Account"
162+ },
163+ "scopes": [
164+ "https://www.googleapis.com/auth/adexchange.buyer"
165+ ]
329 }
166 }
330− },
331− "reason": {
332− "type": "string",
333− "description": "The type of correction that was applied to the creative."
334− }
335 }
167 }
336− }
337 },
168 },
338− "disapprovalReasons": {
169+ "billingInfo": {
339− "type": "array",
170+ "methods": {
340− "description": "The reasons for disapproval, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue. Read-only. This field should not be set in requests.",
171+ "get": {
341− "items": {
172+ "description": "Returns the billing information for one account specified by account ID.",
342− "type": "object",
173+ "httpMethod": "GET",
343− "properties": {
174+ "id": "adexchangebuyer.billingInfo.get",
344− "details": {
175+ "parameterOrder": [
345− "type": "array",
176+ "accountId"
346− "description": "Additional details about the reason for disapproval.",
177+ ],
347− "items": {
178+ "parameters": {
348− "type": "string"
179+ "accountId": {
180+ "description": "The account id.",
181+ "format": "int32",
182+ "location": "path",
183+ "required": true,
184+ "type": "integer"
185+ }
186+ },
187+ "path": "billinginfo/{accountId}",
188+ "response": {
189+ "$ref": "BillingInfo"
190+ },
191+ "scopes": [
192+ "https://www.googleapis.com/auth/adexchange.buyer"
193+ ]
194+ },
195+ "list": {
196+ "description": "Retrieves a list of billing information for all accounts of the authenticated user.",
197+ "httpMethod": "GET",
198+ "id": "adexchangebuyer.billingInfo.list",
199+ "path": "billinginfo",
200+ "response": {
201+ "$ref": "BillingInfoList"
202+ },
203+ "scopes": [
204+ "https://www.googleapis.com/auth/adexchange.buyer"
205+ ]
349 }
206 }
350− },
351− "reason": {
352− "type": "string",
353− "description": "The categorized reason for disapproval."
354− }
355 }
207 }
356− }
357 },
208 },
358− "filteringReasons": {
209+ "budget": {
359− "type": "object",
210+ "methods": {
360− "description": "The filtering reasons for the creative. Read-only. This field should not be set in requests.",
211+ "get": {
361− "properties": {
212+ "description": "Returns the budget information for the adgroup specified by the accountId and billingId.",
362− "date": {
213+ "httpMethod": "GET",
363− "type": "string",
214+ "id": "adexchangebuyer.budget.get",
364− "description": "The date in ISO 8601 format for the data. The data is collected from 00:00:00 to 23:59:59 in PST."
215+ "parameterOrder": [
365− },
216+ "accountId",
366− "reasons": {
217+ "billingId"
367− "type": "array",
218+ ],
368− "description": "The filtering reasons.",
219+ "parameters": {
369− "items": {
220+ "accountId": {
370− "type": "object",
221+ "description": "The account id to get the budget information for.",
371− "properties": {
222+ "format": "int64",
372− "filteringCount": {
223+ "location": "path",
373− "type": "string",
224+ "required": true,
374− "description": "The number of times the creative was filtered for the status. The count is aggregated across all publishers on the exchange.",
225+ "type": "string"
375− "format": "int64"
226+ },
376− },
227+ "billingId": {
377− "filteringStatus": {
228+ "description": "The billing id to get the budget information for.",
378− "type": "integer",
229+ "format": "int64",
379− "description": "The filtering status code. Please refer to the creative-status-codes.txt file for different statuses.",
230+ "location": "path",
380− "format": "int32"
231+ "required": true,
381− }
232+ "type": "string"
233+ }
234+ },
235+ "path": "billinginfo/{accountId}/{billingId}",
236+ "response": {
237+ "$ref": "Budget"
238+ },
239+ "scopes": [
240+ "https://www.googleapis.com/auth/adexchange.buyer"
241+ ]
242+ },
243+ "patch": {
244+ "description": "Updates the budget amount for the budget of the adgroup specified by the accountId and billingId, with the budget amount in the request. This method supports patch semantics.",
245+ "httpMethod": "PATCH",
246+ "id": "adexchangebuyer.budget.patch",
247+ "parameterOrder": [
248+ "accountId",
249+ "billingId"
250+ ],
251+ "parameters": {
252+ "accountId": {
253+ "description": "The account id associated with the budget being updated.",
254+ "format": "int64",
255+ "location": "path",
256+ "required": true,
257+ "type": "string"
258+ },
259+ "billingId": {
260+ "description": "The billing id associated with the budget being updated.",
261+ "format": "int64",
262+ "location": "path",
263+ "required": true,
264+ "type": "string"
265+ }
266+ },
267+ "path": "billinginfo/{accountId}/{billingId}",
268+ "request": {
269+ "$ref": "Budget"
270+ },
271+ "response": {
272+ "$ref": "Budget"
273+ },
274+ "scopes": [
275+ "https://www.googleapis.com/auth/adexchange.buyer"
276+ ]
277+ },
278+ "update": {
279+ "description": "Updates the budget amount for the budget of the adgroup specified by the accountId and billingId, with the budget amount in the request.",
280+ "httpMethod": "PUT",
281+ "id": "adexchangebuyer.budget.update",
282+ "parameterOrder": [
283+ "accountId",
284+ "billingId"
285+ ],
286+ "parameters": {
287+ "accountId": {
288+ "description": "The account id associated with the budget being updated.",
289+ "format": "int64",
290+ "location": "path",
291+ "required": true,
292+ "type": "string"
293+ },
294+ "billingId": {
295+ "description": "The billing id associated with the budget being updated.",
296+ "format": "int64",
297+ "location": "path",
298+ "required": true,
299+ "type": "string"
300+ }
301+ },
302+ "path": "billinginfo/{accountId}/{billingId}",
303+ "request": {
304+ "$ref": "Budget"
305+ },
306+ "response": {
307+ "$ref": "Budget"
308+ },
309+ "scopes": [
310+ "https://www.googleapis.com/auth/adexchange.buyer"
311+ ]
382 }
312 }
383− }
384 }
313 }
385− }
386 },
314 },
387− "height": {
315+ "creatives": {
388− "type": "integer",
316+ "methods": {
389− "description": "Ad height.",
317+ "get": {
390− "format": "int32",
318+ "description": "Gets the status for a single creative. A creative will be available 30-40 minutes after submission.",
391− "annotations": {
319+ "httpMethod": "GET",
392− "required": [
320+ "id": "adexchangebuyer.creatives.get",
393− "adexchangebuyer.creatives.insert"
321+ "parameterOrder": [
394− ]
322+ "accountId",
395− }
323+ "buyerCreativeId"
324+ ],
325+ "parameters": {
326+ "accountId": {
327+ "description": "The id for the account that will serve this creative.",
328+ "format": "int32",
329+ "location": "path",
330+ "required": true,
331+ "type": "integer"
332+ },
333+ "buyerCreativeId": {
334+ "description": "The buyer-specific id for this creative.",
335+ "location": "path",
336+ "required": true,
337+ "type": "string"
338+ }
339+ },
340+ "path": "creatives/{accountId}/{buyerCreativeId}",
341+ "response": {
342+ "$ref": "Creative"
343+ },
344+ "scopes": [
345+ "https://www.googleapis.com/auth/adexchange.buyer"
346+ ]
347+ },
348+ "insert": {
349+ "description": "Submit a new creative.",
350+ "httpMethod": "POST",
351+ "id": "adexchangebuyer.creatives.insert",
352+ "path": "creatives",
353+ "request": {
354+ "$ref": "Creative"
355+ },
356+ "response": {
357+ "$ref": "Creative"
358+ },
359+ "scopes": [
360+ "https://www.googleapis.com/auth/adexchange.buyer"
361+ ]
362+ },
363+ "list": {
364+ "description": "Retrieves a list of the authenticated user's active creatives. A creative will be available 30-40 minutes after submission.",
365+ "httpMethod": "GET",
366+ "id": "adexchangebuyer.creatives.list",
367+ "parameters": {
368+ "accountId": {
369+ "description": "When specified, only creatives for the given account ids are returned.",
370+ "format": "int32",
371+ "location": "query",
372+ "repeated": true,
373+ "type": "integer"
374+ },
375+ "buyerCreativeId": {
376+ "description": "When specified, only creatives for the given buyer creative ids are returned.",
377+ "location": "query",
378+ "repeated": true,
379+ "type": "string"
380+ },
381+ "maxResults": {
382+ "description": "Maximum number of entries returned on one result page. If not set, the default is 100. Optional.",
383+ "format": "uint32",
384+ "location": "query",
385+ "maximum": "1000",
386+ "minimum": "1",
387+ "type": "integer"
388+ },
389+ "pageToken": {
390+ "description": "A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response. Optional.",
391+ "location": "query",
392+ "type": "string"
393+ },
394+ "statusFilter": {
395+ "description": "When specified, only creatives having the given status are returned.",
396+ "enum": [
397+ "approved",
398+ "disapproved",
399+ "not_checked"
400+ ],
401+ "enumDescriptions": [
402+ "Creatives which have been approved.",
403+ "Creatives which have been disapproved.",
404+ "Creatives whose status is not yet checked."
405+ ],
406+ "location": "query",
407+ "type": "string"
408+ }
409+ },
410+ "path": "creatives",
411+ "response": {
412+ "$ref": "CreativesList"
413+ },
414+ "scopes": [
415+ "https://www.googleapis.com/auth/adexchange.buyer"
416+ ]
417+ }
418+ }
396 },
419 },
397− "impressionTrackingUrl": {
420+ "directDeals": {
398− "type": "array",
421+ "methods": {
399− "description": "The set of urls to be called to record an impression.",
422+ "get": {
400− "items": {
423+ "description": "Gets one direct deal by ID.",
401− "type": "string"
424+ "httpMethod": "GET",
402− }
425+ "id": "adexchangebuyer.directDeals.get",
426+ "parameterOrder": [
427+ "id"
428+ ],
429+ "parameters": {
430+ "id": {
431+ "description": "The direct deal id",
432+ "format": "int64",
433+ "location": "path",
434+ "required": true,
435+ "type": "string"
436+ }
437+ },
438+ "path": "directdeals/{id}",
439+ "response": {
440+ "$ref": "DirectDeal"
441+ },
442+ "scopes": [
443+ "https://www.googleapis.com/auth/adexchange.buyer"
444+ ]
445+ },
446+ "list": {
447+ "description": "Retrieves the authenticated user's list of direct deals.",
448+ "httpMethod": "GET",
449+ "id": "adexchangebuyer.directDeals.list",
450+ "path": "directdeals",
451+ "response": {
452+ "$ref": "DirectDealsList"
453+ },
454+ "scopes": [
455+ "https://www.googleapis.com/auth/adexchange.buyer"
456+ ]
457+ }
458+ }
403 },
459 },
404− "kind": {
460+ "performanceReport": {
405− "type": "string",
461+ "methods": {
406− "description": "Resource type.",
462+ "list": {
407− "default": "adexchangebuyer#creative"
463+ "description": "Retrieves the authenticated user's list of performance metrics.",
464+ "httpMethod": "GET",
465+ "id": "adexchangebuyer.performanceReport.list",
466+ "parameterOrder": [
467+ "accountId",
468+ "endDateTime",
469+ "startDateTime"
470+ ],
471+ "parameters": {
472+ "accountId": {
473+ "description": "The account id to get the reports.",
474+ "format": "int64",
475+ "location": "query",
476+ "required": true,
477+ "type": "string"
478+ },
479+ "endDateTime": {
480+ "description": "The end time of the report in ISO 8601 timestamp format using UTC.",
481+ "location": "query",
482+ "required": true,
483+ "type": "string"
484+ },
485+ "maxResults": {
486+ "description": "Maximum number of entries returned on one result page. If not set, the default is 100. Optional.",
487+ "format": "uint32",
488+ "location": "query",
489+ "maximum": "1000",
490+ "minimum": "1",
491+ "type": "integer"
492+ },
493+ "pageToken": {
494+ "description": "A continuation token, used to page through performance reports. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response. Optional.",
495+ "location": "query",
496+ "type": "string"
497+ },
498+ "startDateTime": {
499+ "description": "The start time of the report in ISO 8601 timestamp format using UTC.",
500+ "location": "query",
501+ "required": true,
502+ "type": "string"
503+ }
504+ },
505+ "path": "performancereport",
506+ "response": {
507+ "$ref": "PerformanceReportList"
508+ },
509+ "scopes": [
510+ "https://www.googleapis.com/auth/adexchange.buyer"
511+ ]
512+ }
513+ }
408 },
514 },
409− "nativeAd": {
515+ "pretargetingConfig": {
410− "type": "object",
516+ "methods": {
411− "description": "If nativeAd is set, HTMLSnippet and videoURL should not be set.",
517+ "delete": {
412− "properties": {
518+ "description": "Deletes an existing pretargeting config.",
413− "advertiser": {
519+ "httpMethod": "DELETE",
414− "type": "string"
520+ "id": "adexchangebuyer.pretargetingConfig.delete",
415− },
521+ "parameterOrder": [
416− "appIcon": {
522+ "accountId",
417− "type": "object",
523+ "configId"
418− "description": "The app icon, for app download ads.",
524+ ],
419− "properties": {
525+ "parameters": {
420− "height": {
526+ "accountId": {
421− "type": "integer",
527+ "description": "The account id to delete the pretargeting config for.",
422− "format": "int32"
528+ "format": "int64",
529+ "location": "path",
530+ "required": true,
531+ "type": "string"
532+ },
533+ "configId": {
534+ "description": "The specific id of the configuration to delete.",
535+ "format": "int64",
536+ "location": "path",
537+ "required": true,
538+ "type": "string"
539+ }
540+ },
541+ "path": "pretargetingconfigs/{accountId}/{configId}",
542+ "scopes": [
543+ "https://www.googleapis.com/auth/adexchange.buyer"
544+ ]
423 },
545 },
424− "url": {
546+ "get": {
425− "type": "string"
547+ "description": "Gets a specific pretargeting configuration",
548+ "httpMethod": "GET",
549+ "id": "adexchangebuyer.pretargetingConfig.get",
550+ "parameterOrder": [
551+ "accountId",
552+ "configId"
553+ ],
554+ "parameters": {
555+ "accountId": {
556+ "description": "The account id to get the pretargeting config for.",
557+ "format": "int64",
558+ "location": "path",
559+ "required": true,
560+ "type": "string"
561+ },
562+ "configId": {
563+ "description": "The specific id of the configuration to retrieve.",
564+ "format": "int64",
565+ "location": "path",
566+ "required": true,
567+ "type": "string"
568+ }
569+ },
570+ "path": "pretargetingconfigs/{accountId}/{configId}",
571+ "response": {
572+ "$ref": "PretargetingConfig"
573+ },
574+ "scopes": [
575+ "https://www.googleapis.com/auth/adexchange.buyer"
576+ ]
426 },
577 },
427− "width": {
578+ "insert": {
428− "type": "integer",
579+ "description": "Inserts a new pretargeting configuration.",
429− "format": "int32"
580+ "httpMethod": "POST",
581+ "id": "adexchangebuyer.pretargetingConfig.insert",
582+ "parameterOrder": [
583+ "accountId"
584+ ],
585+ "parameters": {
586+ "accountId": {
587+ "description": "The account id to insert the pretargeting config for.",
588+ "format": "int64",
589+ "location": "path",
590+ "required": true,
591+ "type": "string"
592+ }
593+ },
594+ "path": "pretargetingconfigs/{accountId}",
595+ "request": {
596+ "$ref": "PretargetingConfig"
597+ },
598+ "response": {
599+ "$ref": "PretargetingConfig"
600+ },
601+ "scopes": [
602+ "https://www.googleapis.com/auth/adexchange.buyer"
603+ ]
604+ },
605+ "list": {
606+ "description": "Retrieves a list of the authenticated user's pretargeting configurations.",
607+ "httpMethod": "GET",
608+ "id": "adexchangebuyer.pretargetingConfig.list",
609+ "parameterOrder": [
610+ "accountId"
611+ ],
612+ "parameters": {
613+ "accountId": {
614+ "description": "The account id to get the pretargeting configs for.",
615+ "format": "int64",
616+ "location": "path",
617+ "required": true,
618+ "type": "string"
619+ }
620+ },
621+ "path": "pretargetingconfigs/{accountId}",
622+ "response": {
623+ "$ref": "PretargetingConfigList"
624+ },
625+ "scopes": [
626+ "https://www.googleapis.com/auth/adexchange.buyer"
627+ ]
628+ },
629+ "patch": {
630+ "description": "Updates an existing pretargeting config. This method supports patch semantics.",
631+ "httpMethod": "PATCH",
632+ "id": "adexchangebuyer.pretargetingConfig.patch",
633+ "parameterOrder": [
634+ "accountId",
635+ "configId"
636+ ],
637+ "parameters": {
638+ "accountId": {
639+ "description": "The account id to update the pretargeting config for.",
640+ "format": "int64",
641+ "location": "path",
642+ "required": true,
643+ "type": "string"
644+ },
645+ "configId": {
646+ "description": "The specific id of the configuration to update.",
647+ "format": "int64",
648+ "location": "path",
649+ "required": true,
650+ "type": "string"
651+ }
652+ },
653+ "path": "pretargetingconfigs/{accountId}/{configId}",
654+ "request": {
655+ "$ref": "PretargetingConfig"
656+ },
657+ "response": {
658+ "$ref": "PretargetingConfig"
659+ },
660+ "scopes": [
661+ "https://www.googleapis.com/auth/adexchange.buyer"
662+ ]
663+ },
664+ "update": {
665+ "description": "Updates an existing pretargeting config.",
666+ "httpMethod": "PUT",
667+ "id": "adexchangebuyer.pretargetingConfig.update",
668+ "parameterOrder": [
669+ "accountId",
670+ "configId"
671+ ],
672+ "parameters": {
673+ "accountId": {
674+ "description": "The account id to update the pretargeting config for.",
675+ "format": "int64",
676+ "location": "path",
677+ "required": true,
678+ "type": "string"
679+ },
680+ "configId": {
681+ "description": "The specific id of the configuration to update.",
682+ "format": "int64",
683+ "location": "path",
684+ "required": true,
685+ "type": "string"
686+ }
687+ },
688+ "path": "pretargetingconfigs/{accountId}/{configId}",
689+ "request": {
690+ "$ref": "PretargetingConfig"
691+ },
692+ "response": {
693+ "$ref": "PretargetingConfig"
694+ },
695+ "scopes": [
696+ "https://www.googleapis.com/auth/adexchange.buyer"
697+ ]
430 }
698 }
431− }
699+ }
432− },
700+ }
433− "body": {
701+ },
434− "type": "string",
702+ "revision": "20180222",
435− "description": "A long description of the ad."
703+ "rootUrl": "https://www.googleapis.com/",
436− },
704+ "schemas": {
437− "callToAction": {
705+ "Account": {
438− "type": "string",
706+ "description": "Configuration data for an Ad Exchange buyer account.",
439− "description": "A label for the button that the user is supposed to click."
707+ "id": "Account",
440− },
708+ "properties": {
441− "clickTrackingUrl": {
709+ "bidderLocation": {
442− "type": "string",
710+ "description": "Your bidder locations that have distinct URLs.",
443− "description": "The URL to use for click tracking."
711+ "items": {
444− },
712+ "properties": {
445− "headline": {
713+ "maximumQps": {
446− "type": "string",
714+ "description": "The maximum queries per second the Ad Exchange will send.",
447− "description": "A short title for the ad."
715+ "format": "int32",
448− },
716+ "type": "integer"
449− "image": {
717+ },
450− "type": "object",
718+ "region": {
451− "description": "A large image.",
719+ "description": "The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values: \n- ASIA \n- EUROPE \n- US_EAST \n- US_WEST",
452− "properties": {
720+ "type": "string"
453− "height": {
721+ },
454− "type": "integer",
722+ "url": {
455− "format": "int32"
723+ "description": "The URL to which the Ad Exchange will send bid requests.",
724+ "type": "string"
725+ }
726+ },
727+ "type": "object"
728+ },
729+ "type": "array"
456 },
730 },
457− "url": {
731+ "cookieMatchingNid": {
458− "type": "string"
732+ "description": "The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.",
733+ "type": "string"
459 },
734 },
460− "width": {
735+ "cookieMatchingUrl": {
461− "type": "integer",
736+ "description": "The base URL used in cookie match requests.",
462− "format": "int32"
737+ "type": "string"
738+ },
739+ "id": {
740+ "description": "Account id.",
741+ "format": "int32",
742+ "type": "integer"
743+ },
744+ "kind": {
745+ "default": "adexchangebuyer#account",
746+ "description": "Resource type.",
747+ "type": "string"
748+ },
749+ "maximumActiveCreatives": {
750+ "description": "The maximum number of active creatives that an account can have, where a creative is active if it was inserted or bid with in the last 30 days. Please contact your technical account manager if you need to change this.",
751+ "format": "int32",
752+ "type": "integer"
753+ },
754+ "maximumTotalQps": {
755+ "description": "The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.",
756+ "format": "int32",
757+ "type": "integer"
758+ },
759+ "numberActiveCreatives": {
760+ "description": "The number of creatives that this account inserted or bid with in the last 30 days.",
761+ "format": "int32",
762+ "type": "integer"
463 }
763 }
464− }
465 },
764 },
466− "impressionTrackingUrl": {
765+ "type": "object"
467− "type": "array",
766+ },
468− "description": "The URLs are called when the impression is rendered.",
767+ "AccountsList": {
469− "items": {
768+ "description": "An account feed lists Ad Exchange buyer accounts that the user has access to. Each entry in the feed corresponds to a single buyer account.",
470− "type": "string"
769+ "id": "AccountsList",
471− }
770+ "properties": {
771+ "items": {
772+ "description": "A list of accounts.",
773+ "items": {
774+ "$ref": "Account"
775+ },
776+ "type": "array"
777+ },
778+ "kind": {
779+ "default": "adexchangebuyer#accountsList",
780+ "description": "Resource type.",
781+ "type": "string"
782+ }
472 },
783 },
473− "logo": {
784+ "type": "object"
474− "type": "object",
785+ },
475− "description": "A smaller image, for the advertiser logo.",
786+ "BillingInfo": {
476− "properties": {
787+ "description": "The configuration data for an Ad Exchange billing info.",
477− "height": {
788+ "id": "BillingInfo",
478− "type": "integer",
789+ "properties": {
479− "format": "int32"
790+ "accountId": {
791+ "description": "Account id.",
792+ "format": "int32",
793+ "type": "integer"
480 },
794 },
481− "url": {
795+ "accountName": {
482− "type": "string"
796+ "description": "Account name.",
797+ "type": "string"
483 },
798 },
484− "width": {
799+ "billingId": {
485− "type": "integer",
800+ "description": "A list of adgroup IDs associated with this particular account. These IDs may show up as part of a realtime bidding BidRequest, which indicates a bid request for this account.",
486− "format": "int32"
801+ "items": {
802+ "type": "string"
803+ },
804+ "type": "array"
805+ },
806+ "kind": {
807+ "default": "adexchangebuyer#billingInfo",
808+ "description": "Resource type.",
809+ "type": "string"
487 }
810 }
488− }
489− },
490− "price": {
491− "type": "string",
492− "description": "The price of the promoted app including the currency info."
493 },
811 },
494− "starRating": {
812+ "type": "object"
495− "type": "number",
496− "description": "The app rating in the app store. Must be in the range [0-5].",
497− "format": "double"
498− },
499− "store": {
500− "type": "string",
501− "description": "The URL to the app store to purchase/download the promoted app."
502− }
503− }
504− },
505− "productCategories": {
506− "type": "array",
507− "description": "Detected product categories, if any. Read-only. This field should not be set in requests.",
508− "items": {
509− "type": "integer",
510− "format": "int32"
511− }
512− },
513− "restrictedCategories": {
514− "type": "array",
515− "description": "All restricted categories for the ads that may be shown from this snippet.",
516− "items": {
517− "type": "integer",
518− "format": "int32"
519− }
520− },
521− "sensitiveCategories": {
522− "type": "array",
523− "description": "Detected sensitive categories, if any. Read-only. This field should not be set in requests.",
524− "items": {
525− "type": "integer",
526− "format": "int32"
527− }
528− },
529− "status": {
530− "type": "string",
531− "description": "Creative serving status. Read-only. This field should not be set in requests."
532− },
533− "vendorType": {
534− "type": "array",
535− "description": "All vendor types for the ads that may be shown from this snippet.",
536− "items": {
537− "type": "integer",
538− "format": "int32"
539− }
540− },
541− "version": {
542− "type": "integer",
543− "description": "The version for this creative. Read-only. This field should not be set in requests.",
544− "format": "int32"
545− },
546− "videoURL": {
547− "type": "string",
548− "description": "The url to fetch a video ad. If set, HTMLSnippet should not be set."
549− },
550− "width": {
551− "type": "integer",
552− "description": "Ad width.",
553− "format": "int32",
554− "annotations": {
555− "required": [
556− "adexchangebuyer.creatives.insert"
557− ]
558− }
559− }
560− }
561− },
562− "CreativesList": {
563− "id": "CreativesList",
564− "type": "object",
565− "description": "The creatives feed lists the active creatives for the Ad Exchange buyer accounts that the user has access to. Each entry in the feed corresponds to a single creative.",
566− "properties": {
567− "items": {
568− "type": "array",
569− "description": "A list of creatives.",
570− "items": {
571− "$ref": "Creative"
572− }
573− },
574− "kind": {
575− "type": "string",
576− "description": "Resource type.",
577− "default": "adexchangebuyer#creativesList"
578− },
579− "nextPageToken": {
580− "type": "string",
581− "description": "Continuation token used to page through creatives. To retrieve the next page of results, set the next request's \"pageToken\" value to this."
582− }
583− }
584− },
585− "DirectDeal": {
586− "id": "DirectDeal",
587− "type": "object",
588− "description": "The configuration data for an Ad Exchange direct deal.",
589− "properties": {
590− "accountId": {
591− "type": "integer",
592− "description": "The account id of the buyer this deal is for.",
593− "format": "int32"
594− },
595− "advertiser": {
596− "type": "string",
597− "description": "The name of the advertiser this deal is for."
598− },
599− "currencyCode": {
600− "type": "string",
601− "description": "The currency code that applies to the fixed_cpm value. If not set then assumed to be USD."
602− },
603− "endTime": {
604− "type": "string",
605− "description": "End time for when this deal stops being active. If not set then this deal is valid until manually disabled by the publisher. In seconds since the epoch.",
606− "format": "int64"
607− },
608− "fixedCpm": {
609− "type": "string",
610− "description": "The fixed price for this direct deal. In cpm micros of currency according to currency_code. If set, then this deal is eligible for the fixed price tier of buying (highest priority, pay exactly the configured fixed price).",
611− "format": "int64"
612− },
613− "id": {
614− "type": "string",
615− "description": "Deal id.",
616− "format": "int64"
617− },
618− "kind": {
619− "type": "string",
620− "description": "Resource type.",
621− "default": "adexchangebuyer#directDeal"
622− },
623− "name": {
624− "type": "string",
625− "description": "Deal name."
626− },
627− "privateExchangeMinCpm": {
628− "type": "string",
629− "description": "The minimum price for this direct deal. In cpm micros of currency according to currency_code. If set, then this deal is eligible for the private exchange tier of buying (below fixed price priority, run as a second price auction).",
630− "format": "int64"
631− },
632− "publisherBlocksOverriden": {
633− "type": "boolean",
634− "description": "If true, the publisher has opted to have their blocks ignored when a creative is bid with for this deal."
635− },
636− "sellerNetwork": {
637− "type": "string",
638− "description": "The name of the publisher offering this direct deal."
639− },
640− "startTime": {
641− "type": "string",
642− "description": "Start time for when this deal becomes active. If not set then this deal is active immediately upon creation. In seconds since the epoch.",
643− "format": "int64"
644− }
645− }
646− },
647− "DirectDealsList": {
648− "id": "DirectDealsList",
649− "type": "object",
650− "description": "A direct deals feed lists Direct Deals the Ad Exchange buyer account has access to. This includes direct deals set up for the buyer account as well as its merged stream seats.",
651− "properties": {
652− "directDeals": {
653− "type": "array",
654− "description": "A list of direct deals relevant for your account.",
655− "items": {
656− "$ref": "DirectDeal"
657− }
658− },
659− "kind": {
660− "type": "string",
661− "description": "Resource type.",
662− "default": "adexchangebuyer#directDealsList"
663− }
664− }
665− },
666− "PerformanceReport": {
667− "id": "PerformanceReport",
668− "type": "object",
669− "description": "The configuration data for an Ad Exchange performance report list.",
670− "properties": {
671− "bidRate": {
672− "type": "number",
673− "description": "The number of bid responses with an ad.",
674− "format": "double"
675− },
676− "bidRequestRate": {
677− "type": "number",
678− "description": "The number of bid requests sent to your bidder.",
679− "format": "double"
680 },
813 },
681− "calloutStatusRate": {
814+ "BillingInfoList": {
682− "type": "array",
815+ "description": "A billing info feed lists Billing Info the Ad Exchange buyer account has access to. Each entry in the feed corresponds to a single billing info.",
683− "description": "Rate of various prefiltering statuses per match. Please refer to the callout-status-codes.txt file for different statuses.",
816+ "id": "BillingInfoList",
684− "items": {
685− "type": "any"
686− }
687− },
688− "cookieMatcherStatusRate": {
689− "type": "array",
690− "description": "Average QPS for cookie matcher operations.",
691− "items": {
692− "type": "any"
693− }
694− },
695− "creativeStatusRate": {
696− "type": "array",
697− "description": "Rate of ads with a given status. Please refer to the creative-status-codes.txt file for different statuses.",
698− "items": {
699− "type": "any"
700− }
701− },
702− "filteredBidRate": {
703− "type": "number",
704− "description": "The number of bid responses that were filtered due to a policy violation or other errors.",
705− "format": "double"
706− },
707− "hostedMatchStatusRate": {
708− "type": "array",
709− "description": "Average QPS for hosted match operations.",
710− "items": {
711− "type": "any"
712− }
713− },
714− "inventoryMatchRate": {
715− "type": "number",
716− "description": "The number of potential queries based on your pretargeting settings.",
717− "format": "double"
718− },
719− "kind": {
720− "type": "string",
721− "description": "Resource type.",
722− "default": "adexchangebuyer#performanceReport"
723− },
724− "latency50thPercentile": {
725− "type": "number",
726− "description": "The 50th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.",
727− "format": "double"
728− },
729− "latency85thPercentile": {
730− "type": "number",
731− "description": "The 85th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.",
732− "format": "double"
733− },
734− "latency95thPercentile": {
735− "type": "number",
736− "description": "The 95th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.",
737− "format": "double"
738− },
739− "noQuotaInRegion": {
740− "type": "number",
741− "description": "Rate of various quota account statuses per quota check.",
742− "format": "double"
743− },
744− "outOfQuota": {
745− "type": "number",
746− "description": "Rate of various quota account statuses per quota check.",
747− "format": "double"
748− },
749− "pixelMatchRequests": {
750− "type": "number",
751− "description": "Average QPS for pixel match requests from clients.",
752− "format": "double"
753− },
754− "pixelMatchResponses": {
755− "type": "number",
756− "description": "Average QPS for pixel match responses from clients.",
757− "format": "double"
758− },
759− "quotaConfiguredLimit": {
760− "type": "number",
761− "description": "The configured quota limits for this account.",
762− "format": "double"
763− },
764− "quotaThrottledLimit": {
765− "type": "number",
766− "description": "The throttled quota limits for this account.",
767− "format": "double"
768− },
769− "region": {
770− "type": "string",
771− "description": "The trading location of this data."
772− },
773− "successfulRequestRate": {
774− "type": "number",
775− "description": "The number of properly formed bid responses received by our servers within the deadline.",
776− "format": "double"
777− },
778− "timestamp": {
779− "type": "string",
780− "description": "The unix timestamp of the starting time of this performance data.",
781− "format": "int64"
782− },
783− "unsuccessfulRequestRate": {
784− "type": "number",
785− "description": "The number of bid responses that were unsuccessful due to timeouts, incorrect formatting, etc.",
786− "format": "double"
787− }
788− }
789− },
790− "PerformanceReportList": {
791− "id": "PerformanceReportList",
792− "type": "object",
793− "description": "The configuration data for an Ad Exchange performance report list. https://sites.google.com/a/google.com/adx-integration/Home/engineering/binary-releases/rtb-api-release https://cs.corp.google.com/#piper///depot/google3/contentads/adx/tools/rtb_api/adxrtb.py",
794− "properties": {
795− "kind": {
796− "type": "string",
797− "description": "Resource type.",
798− "default": "adexchangebuyer#performanceReportList"
799− },
800− "performanceReport": {
801− "type": "array",
802− "description": "A list of performance reports relevant for the account.",
803− "items": {
804− "$ref": "PerformanceReport"
805− }
806− }
807− }
808− },
809− "PretargetingConfig": {
810− "id": "PretargetingConfig",
811− "type": "object",
812− "properties": {
813− "billingId": {
814− "type": "string",
815− "description": "The id for billing purposes, provided for reference. Leave this field blank for insert requests; the id will be generated automatically.",
816− "format": "int64"
817− },
818− "configId": {
819− "type": "string",
820− "description": "The config id; generated automatically. Leave this field blank for insert requests.",
821− "format": "int64"
822− },
823− "configName": {
824− "type": "string",
825− "description": "The name of the config. Must be unique. Required for all requests."
826− },
827− "creativeType": {
828− "type": "array",
829− "description": "List must contain exactly one of PRETARGETING_CREATIVE_TYPE_HTML or PRETARGETING_CREATIVE_TYPE_VIDEO.",
830− "items": {
831− "type": "string"
832− }
833− },
834− "dimensions": {
835− "type": "array",
836− "description": "Requests which allow one of these (width, height) pairs will match. All pairs must be supported ad dimensions.",
837− "items": {
838− "type": "object",
839 "properties": {
817 "properties": {
840− "height": {
818+ "items": {
841− "type": "string",
819+ "description": "A list of billing info relevant for your account.",
842− "description": "Height in pixels.",
820+ "items": {
843− "format": "int64"
821+ "$ref": "BillingInfo"
844− },
822+ },
845− "width": {
823+ "type": "array"
846− "type": "string",
824+ },
847− "description": "Width in pixels.",
825+ "kind": {
848− "format": "int64"
826+ "default": "adexchangebuyer#billingInfoList",
849− }
827+ "description": "Resource type.",
850− }
828+ "type": "string"
851− }
829+ }
852− },
830+ },
853− "excludedContentLabels": {
831+ "type": "object"
854− "type": "array",
855− "description": "Requests with any of these content labels will not match. Values are from content-labels.txt in the downloadable files section.",
856− "items": {
857− "type": "string",
858− "format": "int64"
859− }
860− },
861− "excludedGeoCriteriaIds": {
862− "type": "array",
863− "description": "Requests containing any of these geo criteria ids will not match.",
864− "items": {
865− "type": "string",
866− "format": "int64"
867− }
868 },
832 },
869− "excludedPlacements": {
833+ "Budget": {
870− "type": "array",
834+ "description": "The configuration data for Ad Exchange RTB - Budget API.",
871− "description": "Requests containing any of these placements will not match.",
835+ "id": "Budget",
872− "items": {
873− "type": "object",
874 "properties": {
836 "properties": {
875− "token": {
837+ "accountId": {
876− "type": "string",
838+ "description": "The id of the account. This is required for get and update requests.",
877− "description": "The value of the placement. Interpretation depends on the placement type, e.g. URL for a site placement, channel name for a channel placement, app id for a mobile app placement."
839+ "format": "int64",
878− },
840+ "type": "string"
879− "type": {
841+ },
880− "type": "string",
842+ "billingId": {
881− "description": "The type of the placement."
843+ "description": "The billing id to determine which adgroup to provide budget information for. This is required for get and update requests.",
882− }
844+ "format": "int64",
883− }
845+ "type": "string"
884− }
846+ },
885− },
847+ "budgetAmount": {
886− "excludedUserLists": {
848+ "description": "The daily budget amount in unit amount of the account currency to apply for the billingId provided. This is required for update requests.",
887− "type": "array",
849+ "format": "int64",
888− "description": "Requests containing any of these users list ids will not match.",
850+ "type": "string"
889− "items": {
851+ },
890− "type": "string",
852+ "currencyCode": {
891− "format": "int64"
853+ "description": "The currency code for the buyer. This cannot be altered here.",
892− }
854+ "type": "string"
893− },
855+ },
894− "excludedVerticals": {
856+ "id": {
895− "type": "array",
857+ "description": "The unique id that describes this item.",
896− "description": "Requests containing any of these vertical ids will not match. Values are from the publisher-verticals.txt file in the downloadable files section.",
858+ "type": "string"
897− "items": {
859+ },
898− "type": "string",
860+ "kind": {
899− "format": "int64"
861+ "default": "adexchangebuyer#budget",
900− }
862+ "description": "The kind of the resource, i.e. \"adexchangebuyer#budget\".",
901− },
863+ "type": "string"
902− "geoCriteriaIds": {
864+ }
903− "type": "array",
865+ },
904− "description": "Requests containing any of these geo criteria ids will match.",
866+ "type": "object"
905− "items": {
906− "type": "string",
907− "format": "int64"
908− }
909− },
910− "isActive": {
911− "type": "boolean",
912− "description": "Whether this config is active. Required for all requests."
913− },
914− "kind": {
915− "type": "string",
916− "description": "The kind of the resource, i.e. \"adexchangebuyer#pretargetingConfig\".",
917− "default": "adexchangebuyer#pretargetingConfig"
918− },
919− "languages": {
920− "type": "array",
921− "description": "Request containing any of these language codes will match.",
922− "items": {
923− "type": "string"
924− }
925− },
926− "mobileCarriers": {
927− "type": "array",
928− "description": "Requests containing any of these mobile carrier ids will match. Values are from mobile-carriers.csv in the downloadable files section.",
929− "items": {
930− "type": "string",
931− "format": "int64"
932− }
933− },
934− "mobileDevices": {
935− "type": "array",
936− "description": "Requests containing any of these mobile device ids will match. Values are from mobile-devices.csv in the downloadable files section.",
937− "items": {
938− "type": "string",
939− "format": "int64"
940− }
941− },
942− "mobileOperatingSystemVersions": {
943− "type": "array",
944− "description": "Requests containing any of these mobile operating system version ids will match. Values are from mobile-os.csv in the downloadable files section.",
945− "items": {
946− "type": "string",
947− "format": "int64"
948− }
949 },
867 },
950− "placements": {
868+ "Creative": {
951− "type": "array",
869+ "description": "A creative and its classification data.",
952− "description": "Requests containing any of these placements will match.",
870+ "id": "Creative",
953− "items": {
954− "type": "object",
955 "properties": {
871 "properties": {
956− "token": {
872+ "HTMLSnippet": {
957− "type": "string",
873+ "description": "The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set.",
958− "description": "The value of the placement. Interpretation depends on the placement type, e.g. URL for a site placement, channel name for a channel placement, app id for a mobile app placement."
874+ "type": "string"
959− },
875+ },
960− "type": {
876+ "accountId": {
961− "type": "string",
877+ "annotations": {
962− "description": "The type of the placement."
878+ "required": [
963− }
879+ "adexchangebuyer.creatives.insert"
964− }
880+ ]
965− }
881+ },
966− },
882+ "description": "Account id.",
967− "platforms": {
883+ "format": "int32",
968− "type": "array",
884+ "type": "integer"
969− "description": "Requests matching any of these platforms will match. Possible values are PRETARGETING_PLATFORM_MOBILE, PRETARGETING_PLATFORM_DESKTOP, and PRETARGETING_PLATFORM_TABLET.",
885+ },
970− "items": {
886+ "advertiserId": {
971− "type": "string"
887+ "description": "Detected advertiser id, if any. Read-only. This field should not be set in requests.",
972− }
888+ "items": {
973− },
889+ "format": "int64",
974− "supportedCreativeAttributes": {
890+ "type": "string"
975− "type": "array",
891+ },
976− "description": "Creative attributes should be declared here if all creatives corresponding to this pretargeting configuration have that creative attribute. Values are from pretargetable-creative-attributes.txt in the downloadable files section.",
892+ "type": "array"
977− "items": {
893+ },
978− "type": "string",
894+ "advertiserName": {
979− "format": "int64"
895+ "annotations": {
980− }
896+ "required": [
981− },
897+ "adexchangebuyer.creatives.insert"
982− "userLists": {
898+ ]
983− "type": "array",
899+ },
984− "description": "Requests containing any of these user list ids will match.",
900+ "description": "The name of the company being advertised in the creative.",
985− "items": {
901+ "type": "string"
986− "type": "string",
902+ },
987− "format": "int64"
903+ "agencyId": {
988− }
904+ "description": "The agency id for this creative.",
989− },
905+ "format": "int64",
990− "vendorTypes": {
906+ "type": "string"
991− "type": "array",
907+ },
992− "description": "Requests that allow any of these vendor ids will match. Values are from vendors.txt in the downloadable files section.",
908+ "apiUploadTimestamp": {
993− "items": {
909+ "description": "The last upload timestamp of this creative if it was uploaded via API. Read-only. The value of this field is generated, and will be ignored for uploads. (formatted RFC 3339 timestamp).",
994− "type": "string",
910+ "format": "date-time",
995− "format": "int64"
911+ "type": "string"
996− }
912+ },
997− },
913+ "attribute": {
998− "verticals": {
914+ "description": "All attributes for the ads that may be shown from this snippet.",
999− "type": "array",
915+ "items": {
1000− "description": "Requests containing any of these vertical ids will match.",
916+ "format": "int32",
1001− "items": {
917+ "type": "integer"
1002− "type": "string",
918+ },
1003− "format": "int64"
919+ "type": "array"
1004− }
920+ },
1005− }
921+ "buyerCreativeId": {
1006− }
922+ "annotations": {
1007− },
923+ "required": [
1008− "PretargetingConfigList": {
924+ "adexchangebuyer.creatives.insert"
1009− "id": "PretargetingConfigList",
925+ ]
1010− "type": "object",
926+ },
1011− "properties": {
927+ "description": "A buyer-specific id identifying the creative in this ad.",
1012− "items": {
928+ "type": "string"
1013− "type": "array",
929+ },
1014− "description": "A list of pretargeting configs",
930+ "clickThroughUrl": {
1015− "items": {
931+ "annotations": {
1016− "$ref": "PretargetingConfig"
932+ "required": [
1017− }
933+ "adexchangebuyer.creatives.insert"
1018− },
934+ ]
1019− "kind": {
935+ },
1020− "type": "string",
936+ "description": "The set of destination urls for the snippet.",
1021− "description": "Resource type.",
937+ "items": {
1022− "default": "adexchangebuyer#pretargetingConfigList"
938+ "type": "string"
1023− }
939+ },
1024− }
940+ "type": "array"
1025− }
941+ },
1026− },
942+ "corrections": {
1027− "resources": {
943+ "description": "Shows any corrections that were applied to this creative. Read-only. This field should not be set in requests.",
1028− "accounts": {
944+ "items": {
1029− "methods": {
945+ "properties": {
1030− "get": {
946+ "details": {
1031− "id": "adexchangebuyer.accounts.get",
947+ "description": "Additional details about the correction.",
1032− "path": "accounts/{id}",
948+ "items": {
1033− "httpMethod": "GET",
949+ "type": "string"
1034− "description": "Gets one account by ID.",
950+ },
1035− "parameters": {
951+ "type": "array"
1036− "id": {
952+ },
1037− "type": "integer",
953+ "reason": {
1038− "description": "The account id",
954+ "description": "The type of correction that was applied to the creative.",
1039− "required": true,
955+ "type": "string"
1040− "format": "int32",
956+ }
1041− "location": "path"
957+ },
1042− }
958+ "type": "object"
1043− },
959+ },
1044− "parameterOrder": [
960+ "type": "array"
1045− "id"
961+ },
1046− ],
962+ "disapprovalReasons": {
1047− "response": {
963+ "description": "The reasons for disapproval, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue. Read-only. This field should not be set in requests.",
1048− "$ref": "Account"
964+ "items": {
1049− },
965+ "properties": {
1050− "scopes": [
966+ "details": {
1051− "https://www.googleapis.com/auth/adexchange.buyer"
967+ "description": "Additional details about the reason for disapproval.",
1052− ]
968+ "items": {
1053− },
969+ "type": "string"
1054− "list": {
970+ },
1055− "id": "adexchangebuyer.accounts.list",
971+ "type": "array"
1056− "path": "accounts",
972+ },
1057− "httpMethod": "GET",
973+ "reason": {
1058− "description": "Retrieves the authenticated user's list of accounts.",
974+ "description": "The categorized reason for disapproval.",
1059− "response": {
975+ "type": "string"
1060− "$ref": "AccountsList"
976+ }
1061− },
977+ },
1062− "scopes": [
978+ "type": "object"
1063− "https://www.googleapis.com/auth/adexchange.buyer"
979+ },
1064− ]
980+ "type": "array"
1065− },
981+ },
1066− "patch": {
982+ "filteringReasons": {
1067− "id": "adexchangebuyer.accounts.patch",
983+ "description": "The filtering reasons for the creative. Read-only. This field should not be set in requests.",
1068− "path": "accounts/{id}",
984+ "properties": {
1069− "httpMethod": "PATCH",
985+ "date": {
1070− "description": "Updates an existing account. This method supports patch semantics.",
986+ "description": "The date in ISO 8601 format for the data. The data is collected from 00:00:00 to 23:59:59 in PST.",
1071− "parameters": {
987+ "type": "string"
1072− "id": {
988+ },
1073− "type": "integer",
989+ "reasons": {
1074− "description": "The account id",
990+ "description": "The filtering reasons.",
1075− "required": true,
991+ "items": {
1076− "format": "int32",
992+ "properties": {
1077− "location": "path"
993+ "filteringCount": {
1078− }
994+ "description": "The number of times the creative was filtered for the status. The count is aggregated across all publishers on the exchange.",
1079− },
995+ "format": "int64",
1080− "parameterOrder": [
996+ "type": "string"
1081− "id"
997+ },
1082− ],
998+ "filteringStatus": {
1083− "request": {
999+ "description": "The filtering status code. Please refer to the creative-status-codes.txt file for different statuses.",
1084− "$ref": "Account"
1000+ "format": "int32",
1085− },
1001+ "type": "integer"
1086− "response": {
1002+ }
1087− "$ref": "Account"
1003+ },
1088− },
1004+ "type": "object"
1089− "scopes": [
1005+ },
1090− "https://www.googleapis.com/auth/adexchange.buyer"
1006+ "type": "array"
1091− ]
1007+ }
1092− },
1008+ },
1093− "update": {
1009+ "type": "object"
1094− "id": "adexchangebuyer.accounts.update",
1010+ },
1095− "path": "accounts/{id}",
1011+ "height": {
1096− "httpMethod": "PUT",
1012+ "annotations": {
1097− "description": "Updates an existing account.",
1013+ "required": [
1098− "parameters": {
1014+ "adexchangebuyer.creatives.insert"
1099− "id": {
1015+ ]
1100− "type": "integer",
1016+ },
1101− "description": "The account id",
1017+ "description": "Ad height.",
1102− "required": true,
1018+ "format": "int32",
1103− "format": "int32",
1019+ "type": "integer"
1104− "location": "path"
1020+ },
1105− }
1021+ "impressionTrackingUrl": {
1106− },
1022+ "description": "The set of urls to be called to record an impression.",
1107− "parameterOrder": [
1023+ "items": {
1108− "id"
1024+ "type": "string"
1109− ],
1025+ },
1110− "request": {
1026+ "type": "array"
1111− "$ref": "Account"
1027+ },
1112− },
1028+ "kind": {
1113− "response": {
1029+ "default": "adexchangebuyer#creative",
1114− "$ref": "Account"
1030+ "description": "Resource type.",
1115− },
1031+ "type": "string"
1116− "scopes": [
1032+ },
1117− "https://www.googleapis.com/auth/adexchange.buyer"
1033+ "nativeAd": {
1118− ]
1034+ "description": "If nativeAd is set, HTMLSnippet and videoURL should not be set.",
1119− }
1035+ "properties": {
1120− }
1036+ "advertiser": {
1121− },
1037+ "type": "string"
1122− "billingInfo": {
1038+ },
1123− "methods": {
1039+ "appIcon": {
1124− "get": {
1040+ "description": "The app icon, for app download ads.",
1125− "id": "adexchangebuyer.billingInfo.get",
1041+ "properties": {
1126− "path": "billinginfo/{accountId}",
1042+ "height": {
1127− "httpMethod": "GET",
1043+ "format": "int32",
1128− "description": "Returns the billing information for one account specified by account ID.",
1044+ "type": "integer"
1129− "parameters": {
1045+ },
1130− "accountId": {
1046+ "url": {
1131− "type": "integer",
1047+ "type": "string"
1132− "description": "The account id.",
1048+ },
1133− "required": true,
1049+ "width": {
1134− "format": "int32",
1050+ "format": "int32",
1135− "location": "path"
1051+ "type": "integer"
1136− }
1052+ }
1137− },
1053+ },
1138− "parameterOrder": [
1054+ "type": "object"
1139− "accountId"
1055+ },
1140− ],
1056+ "body": {
1141− "response": {
1057+ "description": "A long description of the ad.",
1142− "$ref": "BillingInfo"
1058+ "type": "string"
1143− },
1059+ },
1144− "scopes": [
1060+ "callToAction": {
1145− "https://www.googleapis.com/auth/adexchange.buyer"
1061+ "description": "A label for the button that the user is supposed to click.",
1146− ]
1062+ "type": "string"
1147− },
1063+ },
1148− "list": {
1064+ "clickTrackingUrl": {
1149− "id": "adexchangebuyer.billingInfo.list",
1065+ "description": "The URL to use for click tracking.",
1150− "path": "billinginfo",
1066+ "type": "string"
1151− "httpMethod": "GET",
1067+ },
1152− "description": "Retrieves a list of billing information for all accounts of the authenticated user.",
1068+ "headline": {
1153− "response": {
1069+ "description": "A short title for the ad.",
1154− "$ref": "BillingInfoList"
1070+ "type": "string"
1155− },
1071+ },
1156− "scopes": [
1072+ "image": {
1157− "https://www.googleapis.com/auth/adexchange.buyer"
1073+ "description": "A large image.",
1158− ]
1074+ "properties": {
1159− }
1075+ "height": {
1160− }
1076+ "format": "int32",
1161− },
1077+ "type": "integer"
1162− "budget": {
1078+ },
1163− "methods": {
1079+ "url": {
1164− "get": {
1080+ "type": "string"
1165− "id": "adexchangebuyer.budget.get",
1081+ },
1166− "path": "billinginfo/{accountId}/{billingId}",
1082+ "width": {
1167− "httpMethod": "GET",
1083+ "format": "int32",
1168− "description": "Returns the budget information for the adgroup specified by the accountId and billingId.",
1084+ "type": "integer"
1169− "parameters": {
1085+ }
1170− "accountId": {
1086+ },
1171− "type": "string",
1087+ "type": "object"
1172− "description": "The account id to get the budget information for.",
1088+ },
1173− "required": true,
1089+ "impressionTrackingUrl": {
1174− "format": "int64",
1090+ "description": "The URLs are called when the impression is rendered.",
1175− "location": "path"
1091+ "items": {
1092+ "type": "string"
1093+ },
1094+ "type": "array"
1095+ },
1096+ "logo": {
1097+ "description": "A smaller image, for the advertiser logo.",
1098+ "properties": {
1099+ "height": {
1100+ "format": "int32",
1101+ "type": "integer"
1102+ },
1103+ "url": {
1104+ "type": "string"
1105+ },
1106+ "width": {
1107+ "format": "int32",
1108+ "type": "integer"
1109+ }
1110+ },
1111+ "type": "object"
1112+ },
1113+ "price": {
1114+ "description": "The price of the promoted app including the currency info.",
1115+ "type": "string"
1116+ },
1117+ "starRating": {
1118+ "description": "The app rating in the app store. Must be in the range [0-5].",
1119+ "format": "double",
1120+ "type": "number"
1121+ },
1122+ "store": {
1123+ "description": "The URL to the app store to purchase/download the promoted app.",
1124+ "type": "string"
1125+ }
1126+ },
1127+ "type": "object"
1128+ },
1129+ "productCategories": {
1130+ "description": "Detected product categories, if any. Read-only. This field should not be set in requests.",
1131+ "items": {
1132+ "format": "int32",
1133+ "type": "integer"
1134+ },
1135+ "type": "array"
1136+ },
1137+ "restrictedCategories": {
1138+ "description": "All restricted categories for the ads that may be shown from this snippet.",
1139+ "items": {
1140+ "format": "int32",
1141+ "type": "integer"
1142+ },
1143+ "type": "array"
1144+ },
1145+ "sensitiveCategories": {
1146+ "description": "Detected sensitive categories, if any. Read-only. This field should not be set in requests.",
1147+ "items": {
1148+ "format": "int32",
1149+ "type": "integer"
1150+ },
1151+ "type": "array"
1152+ },
1153+ "status": {
1154+ "description": "Creative serving status. Read-only. This field should not be set in requests.",
1155+ "type": "string"
1156+ },
1157+ "vendorType": {
1158+ "description": "All vendor types for the ads that may be shown from this snippet.",
1159+ "items": {
1160+ "format": "int32",
1161+ "type": "integer"
1162+ },
1163+ "type": "array"
1164+ },
1165+ "version": {
1166+ "description": "The version for this creative. Read-only. This field should not be set in requests.",
1167+ "format": "int32",
1168+ "type": "integer"
1169+ },
1170+ "videoURL": {
1171+ "description": "The URL to fetch a video ad. If set, HTMLSnippet and the nativeAd should not be set.",
1172+ "type": "string"
1173+ },
1174+ "width": {
1175+ "annotations": {
1176+ "required": [
1177+ "adexchangebuyer.creatives.insert"
1178+ ]
1179+ },
1180+ "description": "Ad width.",
1181+ "format": "int32",
1182+ "type": "integer"
1183+ }
1176 },
1184 },
1177− "billingId": {
1185+ "type": "object"
1178− "type": "string",
1179− "description": "The billing id to get the budget information for.",
1180− "required": true,
1181− "format": "int64",
1182− "location": "path"
1183− }
1184− },
1185− "parameterOrder": [
1186− "accountId",
1187− "billingId"
1188− ],
1189− "response": {
1190− "$ref": "Budget"
1191− },
1192− "scopes": [
1193− "https://www.googleapis.com/auth/adexchange.buyer"
1194− ]
1195 },
1186 },
1196− "patch": {
1187+ "CreativesList": {
1197− "id": "adexchangebuyer.budget.patch",
1188+ "description": "The creatives feed lists the active creatives for the Ad Exchange buyer accounts that the user has access to. Each entry in the feed corresponds to a single creative.",
1198− "path": "billinginfo/{accountId}/{billingId}",
1189+ "id": "CreativesList",
1199− "httpMethod": "PATCH",
1190+ "properties": {
1200− "description": "Updates the budget amount for the budget of the adgroup specified by the accountId and billingId, with the budget amount in the request. This method supports patch semantics.",
1191+ "items": {
1201− "parameters": {
1192+ "description": "A list of creatives.",
1202− "accountId": {
1193+ "items": {
1203− "type": "string",
1194+ "$ref": "Creative"
1204− "description": "The account id associated with the budget being updated.",
1195+ },
1205− "required": true,
1196+ "type": "array"
1206− "format": "int64",
1197+ },
1207− "location": "path"
1198+ "kind": {
1199+ "default": "adexchangebuyer#creativesList",
1200+ "description": "Resource type.",
1201+ "type": "string"
1202+ },
1203+ "nextPageToken": {
1204+ "description": "Continuation token used to page through creatives. To retrieve the next page of results, set the next request's \"pageToken\" value to this.",
1205+ "type": "string"
1206+ }
1208 },
1207 },
1209− "billingId": {
1208+ "type": "object"
1210− "type": "string",
1211− "description": "The billing id associated with the budget being updated.",
1212− "required": true,
1213− "format": "int64",
1214− "location": "path"
1215− }
1216− },
1217− "parameterOrder": [
1218− "accountId",
1219− "billingId"
1220− ],
1221− "request": {
1222− "$ref": "Budget"
1223− },
1224− "response": {
1225− "$ref": "Budget"
1226− },
1227− "scopes": [
1228− "https://www.googleapis.com/auth/adexchange.buyer"
1229− ]
1230 },
1209 },
1231− "update": {
1210+ "DirectDeal": {
1232− "id": "adexchangebuyer.budget.update",
1211+ "description": "The configuration data for an Ad Exchange direct deal.",
1233− "path": "billinginfo/{accountId}/{billingId}",
1212+ "id": "DirectDeal",
1234− "httpMethod": "PUT",
1213+ "properties": {
1235− "description": "Updates the budget amount for the budget of the adgroup specified by the accountId and billingId, with the budget amount in the request.",
1214+ "accountId": {
1236− "parameters": {
1215+ "description": "The account id of the buyer this deal is for.",
1237− "accountId": {
1216+ "format": "int32",
1238− "type": "string",
1217+ "type": "integer"
1239− "description": "The account id associated with the budget being updated.",
1218+ },
1240− "required": true,
1219+ "advertiser": {
1241− "format": "int64",
1220+ "description": "The name of the advertiser this deal is for.",
1242− "location": "path"
1221+ "type": "string"
1243− },
1222+ },
1244− "billingId": {
1223+ "allowsAlcohol": {
1245− "type": "string",
1224+ "description": "Whether the publisher for this deal is eligible for alcohol ads.",
1246− "description": "The billing id associated with the budget being updated.",
1225+ "type": "boolean"
1247− "required": true,
1226+ },
1248− "format": "int64",
1227+ "buyerAccountId": {
1249− "location": "path"
1228+ "description": "The account id that this deal was negotiated for. It is either the buyer or the client that this deal was negotiated on behalf of.",
1250− }
1229+ "format": "int64",
1251− },
1230+ "type": "string"
1252− "parameterOrder": [
1231+ },
1253− "accountId",
1232+ "currencyCode": {
1254− "billingId"
1233+ "description": "The currency code that applies to the fixed_cpm value. If not set then assumed to be USD.",
1255− ],
1234+ "type": "string"
1256− "request": {
1235+ },
1257− "$ref": "Budget"
1236+ "dealTier": {
1258− },
1237+ "description": "The deal type such as programmatic reservation or fixed price and so on.",
1259− "response": {
1238+ "type": "string"
1260− "$ref": "Budget"
1239+ },
1261− },
1240+ "endTime": {
1262− "scopes": [
1241+ "description": "End time for when this deal stops being active. If not set then this deal is valid until manually disabled by the publisher. In seconds since the epoch.",
1263− "https://www.googleapis.com/auth/adexchange.buyer"
1242+ "format": "int64",
1264− ]
1243+ "type": "string"
1265− }
1244+ },
1266− }
1245+ "fixedCpm": {
1267− },
1246+ "description": "The fixed price for this direct deal. In cpm micros of currency according to currency_code. If set, then this deal is eligible for the fixed price tier of buying (highest priority, pay exactly the configured fixed price).",
1268− "creatives": {
1247+ "format": "int64",
1269− "methods": {
1248+ "type": "string"
1270− "get": {
1249+ },
1271− "id": "adexchangebuyer.creatives.get",
1250+ "id": {
1272− "path": "creatives/{accountId}/{buyerCreativeId}",
1251+ "description": "Deal id.",
1273− "httpMethod": "GET",
1252+ "format": "int64",
1274− "description": "Gets the status for a single creative. A creative will be available 30-40 minutes after submission.",
1253+ "type": "string"
1275− "parameters": {
1254+ },
1276− "accountId": {
1255+ "kind": {
1277− "type": "integer",
1256+ "default": "adexchangebuyer#directDeal",
1278− "description": "The id for the account that will serve this creative.",
1257+ "description": "Resource type.",
1279− "required": true,
1258+ "type": "string"
1280− "format": "int32",
1259+ },
1281− "location": "path"
1260+ "name": {
1261+ "description": "Deal name.",
1262+ "type": "string"
1263+ },
1264+ "privateExchangeMinCpm": {
1265+ "description": "The minimum price for this direct deal. In cpm micros of currency according to currency_code. If set, then this deal is eligible for the private exchange tier of buying (below fixed price priority, run as a second price auction).",
1266+ "format": "int64",
1267+ "type": "string"
1268+ },
1269+ "publisherBlocksOverriden": {
1270+ "description": "If true, the publisher has opted to have their blocks ignored when a creative is bid with for this deal.",
1271+ "type": "boolean"
1272+ },
1273+ "sellerNetwork": {
1274+ "description": "The name of the publisher offering this direct deal.",
1275+ "type": "string"
1276+ },
1277+ "startTime": {
1278+ "description": "Start time for when this deal becomes active. If not set then this deal is active immediately upon creation. In seconds since the epoch.",
1279+ "format": "int64",
1280+ "type": "string"
1281+ }
1282 },
1282 },
1283− "buyerCreativeId": {
1283+ "type": "object"
1284− "type": "string",
1285− "description": "The buyer-specific id for this creative.",
1286− "required": true,
1287− "location": "path"
1288− }
1289− },
1290− "parameterOrder": [
1291− "accountId",
1292− "buyerCreativeId"
1293− ],
1294− "response": {
1295− "$ref": "Creative"
1296− },
1297− "scopes": [
1298− "https://www.googleapis.com/auth/adexchange.buyer"
1299− ]
1300 },
1284 },
1301− "insert": {
1285+ "DirectDealsList": {
1302− "id": "adexchangebuyer.creatives.insert",
1286+ "description": "A direct deals feed lists Direct Deals the Ad Exchange buyer account has access to. This includes direct deals set up for the buyer account as well as its merged stream seats.",
1303− "path": "creatives",
1287+ "id": "DirectDealsList",
1304− "httpMethod": "POST",
1288+ "properties": {
1305− "description": "Submit a new creative.",
1289+ "directDeals": {
1306− "request": {
1290+ "description": "A list of direct deals relevant for your account.",
1307− "$ref": "Creative"
1291+ "items": {
1308− },
1292+ "$ref": "DirectDeal"
1309− "response": {
1293+ },
1310− "$ref": "Creative"
1294+ "type": "array"
1311− },
1295+ },
1312− "scopes": [
1296+ "kind": {
1313− "https://www.googleapis.com/auth/adexchange.buyer"
1297+ "default": "adexchangebuyer#directDealsList",
1314− ]
1298+ "description": "Resource type.",
1315− },
1299+ "type": "string"
1316− "list": {
1300+ }
1317− "id": "adexchangebuyer.creatives.list",
1318− "path": "creatives",
1319− "httpMethod": "GET",
1320− "description": "Retrieves a list of the authenticated user's active creatives. A creative will be available 30-40 minutes after submission.",
1321− "parameters": {
1322− "accountId": {
1323− "type": "integer",
1324− "description": "When specified, only creatives for the given account ids are returned.",
1325− "format": "int32",
1326− "repeated": true,
1327− "location": "query"
1328− },
1329− "buyerCreativeId": {
1330− "type": "string",
1331− "description": "When specified, only creatives for the given buyer creative ids are returned.",
1332− "repeated": true,
1333− "location": "query"
1334− },
1335− "maxResults": {
1336− "type": "integer",
1337− "description": "Maximum number of entries returned on one result page. If not set, the default is 100. Optional.",
1338− "format": "uint32",
1339− "minimum": "1",
1340− "maximum": "1000",
1341− "location": "query"
1342− },
1343− "pageToken": {
1344− "type": "string",
1345− "description": "A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response. Optional.",
1346− "location": "query"
1347 },
1301 },
1348− "statusFilter": {
1302+ "type": "object"
1349− "type": "string",
1350− "description": "When specified, only creatives having the given status are returned.",
1351− "enum": [
1352− "approved",
1353− "disapproved",
1354− "not_checked"
1355− ],
1356− "enumDescriptions": [
1357− "Creatives which have been approved.",
1358− "Creatives which have been disapproved.",
1359− "Creatives whose status is not yet checked."
1360− ],
1361− "location": "query"
1362− }
1363− },
1364− "response": {
1365− "$ref": "CreativesList"
1366− },
1367− "scopes": [
1368− "https://www.googleapis.com/auth/adexchange.buyer"
1369− ]
1370− }
1371− }
1372− },
1373− "directDeals": {
1374− "methods": {
1375− "get": {
1376− "id": "adexchangebuyer.directDeals.get",
1377− "path": "directdeals/{id}",
1378− "httpMethod": "GET",
1379− "description": "Gets one direct deal by ID.",
1380− "parameters": {
1381− "id": {
1382− "type": "string",
1383− "description": "The direct deal id",
1384− "required": true,
1385− "format": "int64",
1386− "location": "path"
1387− }
1388− },
1389− "parameterOrder": [
1390− "id"
1391− ],
1392− "response": {
1393− "$ref": "DirectDeal"
1394− },
1395− "scopes": [
1396− "https://www.googleapis.com/auth/adexchange.buyer"
1397− ]
1398 },
1303 },
1399− "list": {
1304+ "PerformanceReport": {
1400− "id": "adexchangebuyer.directDeals.list",
1305+ "description": "The configuration data for an Ad Exchange performance report list.",
1401− "path": "directdeals",
1306+ "id": "PerformanceReport",
1402− "httpMethod": "GET",
1307+ "properties": {
1403− "description": "Retrieves the authenticated user's list of direct deals.",
1308+ "bidRate": {
1404− "response": {
1309+ "description": "The number of bid responses with an ad.",
1405− "$ref": "DirectDealsList"
1310+ "format": "double",
1406− },
1311+ "type": "number"
1407− "scopes": [
1312+ },
1408− "https://www.googleapis.com/auth/adexchange.buyer"
1313+ "bidRequestRate": {
1409− ]
1314+ "description": "The number of bid requests sent to your bidder.",
1410− }
1315+ "format": "double",
1411− }
1316+ "type": "number"
1412− },
1317+ },
1413− "performanceReport": {
1318+ "calloutStatusRate": {
1414− "methods": {
1319+ "description": "Rate of various prefiltering statuses per match. Please refer to the callout-status-codes.txt file for different statuses.",
1415− "list": {
1320+ "items": {
1416− "id": "adexchangebuyer.performanceReport.list",
1321+ "type": "any"
1417− "path": "performancereport",
1322+ },
1418− "httpMethod": "GET",
1323+ "type": "array"
1419− "description": "Retrieves the authenticated user's list of performance metrics.",
1324+ },
1420− "parameters": {
1325+ "cookieMatcherStatusRate": {
1421− "accountId": {
1326+ "description": "Average QPS for cookie matcher operations.",
1422− "type": "string",
1327+ "items": {
1423− "description": "The account id to get the reports.",
1328+ "type": "any"
1424− "required": true,
1329+ },
1425− "format": "int64",
1330+ "type": "array"
1426− "location": "query"
1331+ },
1427− },
1332+ "creativeStatusRate": {
1428− "endDateTime": {
1333+ "description": "Rate of ads with a given status. Please refer to the creative-status-codes.txt file for different statuses.",
1429− "type": "string",
1334+ "items": {
1430− "description": "The end time of the report in ISO 8601 timestamp format using UTC.",
1335+ "type": "any"
1431− "required": true,
1336+ },
1432− "location": "query"
1337+ "type": "array"
1433− },
1338+ },
1434− "maxResults": {
1339+ "filteredBidRate": {
1435− "type": "integer",
1340+ "description": "The number of bid responses that were filtered due to a policy violation or other errors.",
1436− "description": "Maximum number of entries returned on one result page. If not set, the default is 100. Optional.",
1341+ "format": "double",
1437− "format": "uint32",
1342+ "type": "number"
1438− "minimum": "1",
1343+ },
1439− "maximum": "1000",
1344+ "hostedMatchStatusRate": {
1440− "location": "query"
1345+ "description": "Average QPS for hosted match operations.",
1441− },
1346+ "items": {
1442− "pageToken": {
1347+ "type": "any"
1443− "type": "string",
1348+ },
1444− "description": "A continuation token, used to page through performance reports. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response. Optional.",
1349+ "type": "array"
1445− "location": "query"
1350+ },
1446− },
1351+ "inventoryMatchRate": {
1447− "startDateTime": {
1352+ "description": "The number of potential queries based on your pretargeting settings.",
1448− "type": "string",
1353+ "format": "double",
1449− "description": "The start time of the report in ISO 8601 timestamp format using UTC.",
1354+ "type": "number"
1450− "required": true,
1355+ },
1451− "location": "query"
1356+ "kind": {
1452− }
1357+ "default": "adexchangebuyer#performanceReport",
1453− },
1358+ "description": "Resource type.",
1454− "parameterOrder": [
1359+ "type": "string"
1455− "accountId",
1360+ },
1456− "endDateTime",
1361+ "latency50thPercentile": {
1457− "startDateTime"
1362+ "description": "The 50th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.",
1458− ],
1363+ "format": "double",
1459− "response": {
1364+ "type": "number"
1460− "$ref": "PerformanceReportList"
1365+ },
1461− },
1366+ "latency85thPercentile": {
1462− "scopes": [
1367+ "description": "The 85th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.",
1463− "https://www.googleapis.com/auth/adexchange.buyer"
1368+ "format": "double",
1464− ]
1369+ "type": "number"
1465− }
1370+ },
1466− }
1371+ "latency95thPercentile": {
1467− },
1372+ "description": "The 95th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.",
1468− "pretargetingConfig": {
1373+ "format": "double",
1469− "methods": {
1374+ "type": "number"
1470− "delete": {
1375+ },
1471− "id": "adexchangebuyer.pretargetingConfig.delete",
1376+ "noQuotaInRegion": {
1472− "path": "pretargetingconfigs/{accountId}/{configId}",
1377+ "description": "Rate of various quota account statuses per quota check.",
1473− "httpMethod": "DELETE",
1378+ "format": "double",
1474− "description": "Deletes an existing pretargeting config.",
1379+ "type": "number"
1475− "parameters": {
1380+ },
1476− "accountId": {
1381+ "outOfQuota": {
1477− "type": "string",
1382+ "description": "Rate of various quota account statuses per quota check.",
1478− "description": "The account id to delete the pretargeting config for.",
1383+ "format": "double",
1479− "required": true,
1384+ "type": "number"
1480− "format": "int64",
1385+ },
1481− "location": "path"
1386+ "pixelMatchRequests": {
1387+ "description": "Average QPS for pixel match requests from clients.",
1388+ "format": "double",
1389+ "type": "number"
1390+ },
1391+ "pixelMatchResponses": {
1392+ "description": "Average QPS for pixel match responses from clients.",
1393+ "format": "double",
1394+ "type": "number"
1395+ },
1396+ "quotaConfiguredLimit": {
1397+ "description": "The configured quota limits for this account.",
1398+ "format": "double",
1399+ "type": "number"
1400+ },
1401+ "quotaThrottledLimit": {
1402+ "description": "The throttled quota limits for this account.",
1403+ "format": "double",
1404+ "type": "number"
1405+ },
1406+ "region": {
1407+ "description": "The trading location of this data.",
1408+ "type": "string"
1409+ },
1410+ "successfulRequestRate": {
1411+ "description": "The number of properly formed bid responses received by our servers within the deadline.",
1412+ "format": "double",
1413+ "type": "number"
1414+ },
1415+ "timestamp": {
1416+ "description": "The unix timestamp of the starting time of this performance data.",
1417+ "format": "int64",
1418+ "type": "string"
1419+ },
1420+ "unsuccessfulRequestRate": {
1421+ "description": "The number of bid responses that were unsuccessful due to timeouts, incorrect formatting, etc.",
1422+ "format": "double",
1423+ "type": "number"
1424+ }
1482 },
1425 },
1483− "configId": {
1426+ "type": "object"
1484− "type": "string",
1485− "description": "The specific id of the configuration to delete.",
1486− "required": true,
1487− "format": "int64",
1488− "location": "path"
1489− }
1490− },
1491− "parameterOrder": [
1492− "accountId",
1493− "configId"
1494− ],
1495− "scopes": [
1496− "https://www.googleapis.com/auth/adexchange.buyer"
1497− ]
1498 },
1427 },
1499− "get": {
1428+ "PerformanceReportList": {
1500− "id": "adexchangebuyer.pretargetingConfig.get",
1429+ "description": "The configuration data for an Ad Exchange performance report list.",
1501− "path": "pretargetingconfigs/{accountId}/{configId}",
1430+ "id": "PerformanceReportList",
1502− "httpMethod": "GET",
1431+ "properties": {
1503− "description": "Gets a specific pretargeting configuration",
1432+ "kind": {
1504− "parameters": {
1433+ "default": "adexchangebuyer#performanceReportList",
1505− "accountId": {
1434+ "description": "Resource type.",
1506− "type": "string",
1435+ "type": "string"
1507− "description": "The account id to get the pretargeting config for.",
1436+ },
1508− "required": true,
1437+ "performanceReport": {
1509− "format": "int64",
1438+ "description": "A list of performance reports relevant for the account.",
1510− "location": "path"
1439+ "items": {
1440+ "$ref": "PerformanceReport"
1441+ },
1442+ "type": "array"
1443+ }
1511 },
1444 },
1512− "configId": {
1445+ "type": "object"
1513− "type": "string",
1514− "description": "The specific id of the configuration to retrieve.",
1515− "required": true,
1516− "format": "int64",
1517− "location": "path"
1518− }
1519− },
1520− "parameterOrder": [
1521− "accountId",
1522− "configId"
1523− ],
1524− "response": {
1525− "$ref": "PretargetingConfig"
1526− },
1527− "scopes": [
1528− "https://www.googleapis.com/auth/adexchange.buyer"
1529− ]
1530− },
1531− "insert": {
1532− "id": "adexchangebuyer.pretargetingConfig.insert",
1533− "path": "pretargetingconfigs/{accountId}",
1534− "httpMethod": "POST",
1535− "description": "Inserts a new pretargeting configuration.",
1536− "parameters": {
1537− "accountId": {
1538− "type": "string",
1539− "description": "The account id to insert the pretargeting config for.",
1540− "required": true,
1541− "format": "int64",
1542− "location": "path"
1543− }
1544− },
1545− "parameterOrder": [
1546− "accountId"
1547− ],
1548− "request": {
1549− "$ref": "PretargetingConfig"
1550− },
1551− "response": {
1552− "$ref": "PretargetingConfig"
1553− },
1554− "scopes": [
1555− "https://www.googleapis.com/auth/adexchange.buyer"
1556− ]
1557− },
1558− "list": {
1559− "id": "adexchangebuyer.pretargetingConfig.list",
1560− "path": "pretargetingconfigs/{accountId}",
1561− "httpMethod": "GET",
1562− "description": "Retrieves a list of the authenticated user's pretargeting configurations.",
1563− "parameters": {
1564− "accountId": {
1565− "type": "string",
1566− "description": "The account id to get the pretargeting configs for.",
1567− "required": true,
1568− "format": "int64",
1569− "location": "path"
1570− }
1571− },
1572− "parameterOrder": [
1573− "accountId"
1574− ],
1575− "response": {
1576− "$ref": "PretargetingConfigList"
1577− },
1578− "scopes": [
1579− "https://www.googleapis.com/auth/adexchange.buyer"
1580− ]
1581 },
1446 },
1582− "patch": {
1447+ "PretargetingConfig": {
1583− "id": "adexchangebuyer.pretargetingConfig.patch",
1448+ "id": "PretargetingConfig",
1584− "path": "pretargetingconfigs/{accountId}/{configId}",
1449+ "properties": {
1585− "httpMethod": "PATCH",
1450+ "billingId": {
1586− "description": "Updates an existing pretargeting config. This method supports patch semantics.",
1451+ "description": "The id for billing purposes, provided for reference. Leave this field blank for insert requests; the id will be generated automatically.",
1587− "parameters": {
1452+ "format": "int64",
1588− "accountId": {
1453+ "type": "string"
1589− "type": "string",
1454+ },
1590− "description": "The account id to update the pretargeting config for.",
1455+ "configId": {
1591− "required": true,
1456+ "description": "The config id; generated automatically. Leave this field blank for insert requests.",
1592− "format": "int64",
1457+ "format": "int64",
1593− "location": "path"
1458+ "type": "string"
1459+ },
1460+ "configName": {
1461+ "description": "The name of the config. Must be unique. Required for all requests.",
1462+ "type": "string"
1463+ },
1464+ "creativeType": {
1465+ "description": "List must contain exactly one of PRETARGETING_CREATIVE_TYPE_HTML or PRETARGETING_CREATIVE_TYPE_VIDEO.",
1466+ "items": {
1467+ "type": "string"
1468+ },
1469+ "type": "array"
1470+ },
1471+ "dimensions": {
1472+ "description": "Requests which allow one of these (width, height) pairs will match. All pairs must be supported ad dimensions.",
1473+ "items": {
1474+ "properties": {
1475+ "height": {
1476+ "description": "Height in pixels.",
1477+ "format": "int64",
1478+ "type": "string"
1479+ },
1480+ "width": {
1481+ "description": "Width in pixels.",
1482+ "format": "int64",
1483+ "type": "string"
1484+ }
1485+ },
1486+ "type": "object"
1487+ },
1488+ "type": "array"
1489+ },
1490+ "excludedContentLabels": {
1491+ "description": "Requests with any of these content labels will not match. Values are from content-labels.txt in the downloadable files section.",
1492+ "items": {
1493+ "format": "int64",
1494+ "type": "string"
1495+ },
1496+ "type": "array"
1497+ },
1498+ "excludedGeoCriteriaIds": {
1499+ "description": "Requests containing any of these geo criteria ids will not match.",
1500+ "items": {
1501+ "format": "int64",
1502+ "type": "string"
1503+ },
1504+ "type": "array"
1505+ },
1506+ "excludedPlacements": {
1507+ "description": "Requests containing any of these placements will not match.",
1508+ "items": {
1509+ "properties": {
1510+ "token": {
1511+ "description": "The value of the placement. Interpretation depends on the placement type, e.g. URL for a site placement, channel name for a channel placement, app id for a mobile app placement.",
1512+ "type": "string"
1513+ },
1514+ "type": {
1515+ "description": "The type of the placement.",
1516+ "type": "string"
1517+ }
1518+ },
1519+ "type": "object"
1520+ },
1521+ "type": "array"
1522+ },
1523+ "excludedUserLists": {
1524+ "description": "Requests containing any of these users list ids will not match.",
1525+ "items": {
1526+ "format": "int64",
1527+ "type": "string"
1528+ },
1529+ "type": "array"
1530+ },
1531+ "excludedVerticals": {
1532+ "description": "Requests containing any of these vertical ids will not match. Values are from the publisher-verticals.txt file in the downloadable files section.",
1533+ "items": {
1534+ "format": "int64",
1535+ "type": "string"
1536+ },
1537+ "type": "array"
1538+ },
1539+ "geoCriteriaIds": {
1540+ "description": "Requests containing any of these geo criteria ids will match.",
1541+ "items": {
1542+ "format": "int64",
1543+ "type": "string"
1544+ },
1545+ "type": "array"
1546+ },
1547+ "isActive": {
1548+ "description": "Whether this config is active. Required for all requests.",
1549+ "type": "boolean"
1550+ },
1551+ "kind": {
1552+ "default": "adexchangebuyer#pretargetingConfig",
1553+ "description": "The kind of the resource, i.e. \"adexchangebuyer#pretargetingConfig\".",
1554+ "type": "string"
1555+ },
1556+ "languages": {
1557+ "description": "Request containing any of these language codes will match.",
1558+ "items": {
1559+ "type": "string"
1560+ },
1561+ "type": "array"
1562+ },
1563+ "mobileCarriers": {
1564+ "description": "Requests containing any of these mobile carrier ids will match. Values are from mobile-carriers.csv in the downloadable files section.",
1565+ "items": {
1566+ "format": "int64",
1567+ "type": "string"
1568+ },
1569+ "type": "array"
1570+ },
1571+ "mobileDevices": {
1572+ "description": "Requests containing any of these mobile device ids will match. Values are from mobile-devices.csv in the downloadable files section.",
1573+ "items": {
1574+ "format": "int64",
1575+ "type": "string"
1576+ },
1577+ "type": "array"
1578+ },
1579+ "mobileOperatingSystemVersions": {
1580+ "description": "Requests containing any of these mobile operating system version ids will match. Values are from mobile-os.csv in the downloadable files section.",
1581+ "items": {
1582+ "format": "int64",
1583+ "type": "string"
1584+ },
1585+ "type": "array"
1586+ },
1587+ "placements": {
1588+ "description": "Requests containing any of these placements will match.",
1589+ "items": {
1590+ "properties": {
1591+ "token": {
1592+ "description": "The value of the placement. Interpretation depends on the placement type, e.g. URL for a site placement, channel name for a channel placement, app id for a mobile app placement.",
1593+ "type": "string"
1594+ },
1595+ "type": {
1596+ "description": "The type of the placement.",
1597+ "type": "string"
1598+ }
1599+ },
1600+ "type": "object"
1601+ },
1602+ "type": "array"
1603+ },
1604+ "platforms": {
1605+ "description": "Requests matching any of these platforms will match. Possible values are PRETARGETING_PLATFORM_MOBILE, PRETARGETING_PLATFORM_DESKTOP, and PRETARGETING_PLATFORM_TABLET.",
1606+ "items": {
1607+ "type": "string"
1608+ },
1609+ "type": "array"
1610+ },
1611+ "supportedCreativeAttributes": {
1612+ "description": "Creative attributes should be declared here if all creatives corresponding to this pretargeting configuration have that creative attribute. Values are from pretargetable-creative-attributes.txt in the downloadable files section.",
1613+ "items": {
1614+ "format": "int64",
1615+ "type": "string"
1616+ },
1617+ "type": "array"
1618+ },
1619+ "userLists": {
1620+ "description": "Requests containing any of these user list ids will match.",
1621+ "items": {
1622+ "format": "int64",
1623+ "type": "string"
1624+ },
1625+ "type": "array"
1626+ },
1627+ "vendorTypes": {
1628+ "description": "Requests that allow any of these vendor ids will match. Values are from vendors.txt in the downloadable files section.",
1629+ "items": {
1630+ "format": "int64",
1631+ "type": "string"
1632+ },
1633+ "type": "array"
1634+ },
1635+ "verticals": {
1636+ "description": "Requests containing any of these vertical ids will match.",
1637+ "items": {
1638+ "format": "int64",
1639+ "type": "string"
1640+ },
1641+ "type": "array"
1642+ }
1594 },
1643 },
1595− "configId": {
1644+ "type": "object"
1596− "type": "string",
1597− "description": "The specific id of the configuration to update.",
1598− "required": true,
1599− "format": "int64",
1600− "location": "path"
1601− }
1602− },
1603− "parameterOrder": [
1604− "accountId",
1605− "configId"
1606− ],
1607− "request": {
1608− "$ref": "PretargetingConfig"
1609− },
1610− "response": {
1611− "$ref": "PretargetingConfig"
1612− },
1613− "scopes": [
1614− "https://www.googleapis.com/auth/adexchange.buyer"
1615− ]
1616 },
1645 },
1617− "update": {
1646+ "PretargetingConfigList": {
1618− "id": "adexchangebuyer.pretargetingConfig.update",
1647+ "id": "PretargetingConfigList",
1619− "path": "pretargetingconfigs/{accountId}/{configId}",
1648+ "properties": {
1620− "httpMethod": "PUT",
1649+ "items": {
1621− "description": "Updates an existing pretargeting config.",
1650+ "description": "A list of pretargeting configs",
1622− "parameters": {
1651+ "items": {
1623− "accountId": {
1652+ "$ref": "PretargetingConfig"
1624− "type": "string",
1653+ },
1625− "description": "The account id to update the pretargeting config for.",
1654+ "type": "array"
1626− "required": true,
1655+ },
1627− "format": "int64",
1656+ "kind": {
1628− "location": "path"
1657+ "default": "adexchangebuyer#pretargetingConfigList",
1658+ "description": "Resource type.",
1659+ "type": "string"
1660+ }
1629 },
1661 },
1630− "configId": {
1662+ "type": "object"
1631− "type": "string",
1632− "description": "The specific id of the configuration to update.",
1633− "required": true,
1634− "format": "int64",
1635− "location": "path"
1636− }
1637− },
1638− "parameterOrder": [
1639− "accountId",
1640− "configId"
1641− ],
1642− "request": {
1643− "$ref": "PretargetingConfig"
1644− },
1645− "response": {
1646− "$ref": "PretargetingConfig"
1647− },
1648− "scopes": [
1649− "https://www.googleapis.com/auth/adexchange.buyer"
1650− ]
1651 }
1663 }
1652− }
1664+ },
1653− }
1665+ "servicePath": "adexchangebuyer/v1.3/",
1654− }
1666+ "title": "Ad Exchange Buyer API",
1655−}
1667+ "version": "v1.3"
1668+}
gen/model/adexchangebuyer/v1.4/adexchangebuyer-api.json+3566−4073
@@ -1,4193 +1,3686 @@
1{
1{
2− "kind": "discovery#restDescription",
2+ "auth": {
3− "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/e2ZwVjK29RxJqz1-z8CpRPnLiKo\"",
3+ "oauth2": {
4− "discoveryVersion": "v1",
4+ "scopes": {
5− "id": "adexchangebuyer:v1.4",
5+ "https://www.googleapis.com/auth/adexchange.buyer": {
6− "name": "adexchangebuyer",
6+ "description": "Manage your Ad Exchange buyer account configuration"
7− "canonicalName": "Ad Exchange Buyer",
7+ }
8− "version": "v1.4",
9− "revision": "20150909",
10− "title": "Ad Exchange Buyer API",
11− "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.",
12− "ownerDomain": "google.com",
13− "ownerName": "Google",
14− "icons": {
15− "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif",
16− "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif"
17− },
18− "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest",
19− "protocol": "rest",
20− "baseUrl": "https://www.googleapis.com/adexchangebuyer/v1.4/",
21− "basePath": "/adexchangebuyer/v1.4/",
22− "rootUrl": "https://www.googleapis.com/",
23− "servicePath": "adexchangebuyer/v1.4/",
24− "batchPath": "batch",
25− "parameters": {
26− "alt": {
27− "type": "string",
28− "description": "Data format for the response.",
29− "default": "json",
30− "enum": [
31− "json"
32− ],
33− "enumDescriptions": [
34− "Responses with Content-Type of application/json"
35− ],
36− "location": "query"
37− },
38− "fields": {
39− "type": "string",
40− "description": "Selector specifying which fields to include in a partial response.",
41− "location": "query"
42− },
43− "key": {
44− "type": "string",
45− "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.",
46− "location": "query"
47− },
48− "oauth_token": {
49− "type": "string",
50− "description": "OAuth 2.0 token for the current user.",
51− "location": "query"
52− },
53− "prettyPrint": {
54− "type": "boolean",
55− "description": "Returns response with indentations and line breaks.",
56− "default": "true",
57− "location": "query"
58− },
59− "quotaUser": {
60− "type": "string",
61− "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. Overrides userIp if both are provided.",
62− "location": "query"
63− },
64− "userIp": {
65− "type": "string",
66− "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
67− "location": "query"
68− }
69− },
70− "auth": {
71− "oauth2": {
72− "scopes": {
73− "https://www.googleapis.com/auth/adexchange.buyer": {
74− "description": "Manage your Ad Exchange buyer account configuration"
75− }
76− }
77− }
78− },
79− "schemas": {
80− "Account": {
81− "id": "Account",
82− "type": "object",
83− "description": "Configuration data for an Ad Exchange buyer account.",
84− "properties": {
85− "bidderLocation": {
86− "type": "array",
87− "description": "Your bidder locations that have distinct URLs.",
88− "items": {
89− "type": "object",
90− "properties": {
91− "maximumQps": {
92− "type": "integer",
93− "description": "The maximum queries per second the Ad Exchange will send.",
94− "format": "int32"
95− },
96− "region": {
97− "type": "string",
98− "description": "The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values: \n- ASIA \n- EUROPE \n- US_EAST \n- US_WEST"
99− },
100− "url": {
101− "type": "string",
102− "description": "The URL to which the Ad Exchange will send bid requests."
103− }
104 }
8 }
105− }
106− },
107− "cookieMatchingNid": {
108− "type": "string",
109− "description": "The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this."
110− },
111− "cookieMatchingUrl": {
112− "type": "string",
113− "description": "The base URL used in cookie match requests."
114− },
115− "id": {
116− "type": "integer",
117− "description": "Account id.",
118− "format": "int32"
119− },
120− "kind": {
121− "type": "string",
122− "description": "Resource type.",
123− "default": "adexchangebuyer#account"
124− },
125− "maximumActiveCreatives": {
126− "type": "integer",
127− "description": "The maximum number of active creatives that an account can have, where a creative is active if it was inserted or bid with in the last 30 days. Please contact your technical account manager if you need to change this.",
128− "format": "int32"
129− },
130− "maximumTotalQps": {
131− "type": "integer",
132− "description": "The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.",
133− "format": "int32"
134− },
135− "numberActiveCreatives": {
136− "type": "integer",
137− "description": "The number of creatives that this account inserted or bid with in the last 30 days.",
138− "format": "int32"
139− }
140− }
141− },
142− "AccountsList": {
143− "id": "AccountsList",
144− "type": "object",
145− "description": "An account feed lists Ad Exchange buyer accounts that the user has access to. Each entry in the feed corresponds to a single buyer account.",
146− "properties": {
147− "items": {
148− "type": "array",
149− "description": "A list of accounts.",
150− "items": {
151− "$ref": "Account"
152− }
153− },
154− "kind": {
155− "type": "string",
156− "description": "Resource type.",
157− "default": "adexchangebuyer#accountsList"
158− }
159− }
160− },
161− "AdSize": {
162− "id": "AdSize",
163− "type": "object",
164− "properties": {
165− "height": {
166− "type": "integer",
167− "format": "int32"
168− },
169− "width": {
170− "type": "integer",
171− "format": "int32"
172− }
173− }
174− },
175− "AdSlotDto": {
176− "id": "AdSlotDto",
177− "type": "object",
178− "properties": {
179− "channelCode": {
180− "type": "string"
181− },
182− "channelId": {
183− "type": "integer",
184− "format": "int32"
185− },
186− "description": {
187− "type": "string"
188− },
189− "name": {
190− "type": "string"
191− },
192− "size": {
193− "type": "string"
194− },
195− "webPropertyId": {
196− "type": "integer",
197− "format": "int32"
198− }
199− }
200− },
201− "AddOrderDealsRequest": {
202− "id": "AddOrderDealsRequest",
203− "type": "object",
204− "properties": {
205− "deals": {
206− "type": "array",
207− "description": "The list of deals to add",
208− "items": {
209− "$ref": "MarketplaceDeal"
210− }
211− },
212− "orderRevisionNumber": {
213− "type": "string",
214− "description": "The last known order revision number.",
215− "format": "int64"
216− },
217− "updateAction": {
218− "type": "string",
219− "description": "Indicates an optional action to take on the order"
220− }
221− }
222− },
223− "AddOrderDealsResponse": {
224− "id": "AddOrderDealsResponse",
225− "type": "object",
226− "properties": {
227− "deals": {
228− "type": "array",
229− "description": "List of deals added (in the same order as passed in the request)",
230− "items": {
231− "$ref": "MarketplaceDeal"
232− }
233− },
234− "orderRevisionNumber": {
235− "type": "string",
236− "description": "The updated revision number for the order.",
237− "format": "int64"
238− }
239− }
240− },
241− "AddOrderNotesRequest": {
242− "id": "AddOrderNotesRequest",
243− "type": "object",
244− "properties": {
245− "notes": {
246− "type": "array",
247− "description": "The list of notes to add.",
248− "items": {
249− "$ref": "MarketplaceNote"
250− }
251− }
252− }
253− },
254− "AddOrderNotesResponse": {
255− "id": "AddOrderNotesResponse",
256− "type": "object",
257− "properties": {
258− "notes": {
259− "type": "array",
260− "items": {
261− "$ref": "MarketplaceNote"
262− }
263− }
264− }
265− },
266− "AdvertiserDto": {
267− "id": "AdvertiserDto",
268− "type": "object",
269− "properties": {
270− "brands": {
271− "type": "array",
272− "items": {
273− "$ref": "BrandDto"
274− }
275− },
276− "id": {
277− "type": "string",
278− "format": "int64"
279− },
280− "name": {
281− "type": "string"
282− },
283− "status": {
284− "type": "string"
285− }
286− }
287− },
288− "AudienceSegment": {
289− "id": "AudienceSegment",
290− "type": "object",
291− "properties": {
292− "description": {
293− "type": "string"
294− },
295− "id": {
296− "type": "string",
297− "format": "int64"
298− },
299− "name": {
300− "type": "string"
301− },
302− "numCookies": {
303− "type": "string",
304− "format": "int64"
305 }
9 }
306− }
307 },
10 },
308− "BillingInfo": {
11+ "basePath": "/adexchangebuyer/v1.4/",
309− "id": "BillingInfo",
12+ "baseUrl": "https://www.googleapis.com/adexchangebuyer/v1.4/",
310− "type": "object",
13+ "batchPath": "batch/adexchangebuyer/v1.4",
311− "description": "The configuration data for an Ad Exchange billing info.",
14+ "canonicalName": "Ad Exchange Buyer",
312− "properties": {
15+ "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.",
313− "accountId": {
16+ "discoveryVersion": "v1",
314− "type": "integer",
17+ "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest",
315− "description": "Account id.",
18+ "etag": "\"J3WqvAcMk4eQjJXvfSI4Yr8VouA/MJwOf3EG-7RF4hB9GZz8eDlZZS0\"",
316− "format": "int32"
19+ "icons": {
317− },
20+ "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif",
318− "accountName": {
21+ "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif"
319− "type": "string",
22+ },
320− "description": "Account name."
23+ "id": "adexchangebuyer:v1.4",
321− },
24+ "kind": "discovery#restDescription",
322− "billingId": {
25+ "name": "adexchangebuyer",
323− "type": "array",
26+ "ownerDomain": "google.com",
324− "description": "A list of adgroup IDs associated with this particular account. These IDs may show up as part of a realtime bidding BidRequest, which indicates a bid request for this account.",
27+ "ownerName": "Google",
325− "items": {
28+ "parameters": {
29+ "alt": {
30+ "default": "json",
31+ "description": "Data format for the response.",
32+ "enum": [
33+ "json"
34+ ],
35+ "enumDescriptions": [
36+ "Responses with Content-Type of application/json"
37+ ],
38+ "location": "query",
326 "type": "string"
39 "type": "string"
327− }
328− },
329− "kind": {
330− "type": "string",
331− "description": "Resource type.",
332− "default": "adexchangebuyer#billingInfo"
333− }
334− }
335− },
336− "BillingInfoList": {
337− "id": "BillingInfoList",
338− "type": "object",
339− "description": "A billing info feed lists Billing Info the Ad Exchange buyer account has access to. Each entry in the feed corresponds to a single billing info.",
340− "properties": {
341− "items": {
342− "type": "array",
343− "description": "A list of billing info relevant for your account.",
344− "items": {
345− "$ref": "BillingInfo"
346− }
347− },
348− "kind": {
349− "type": "string",
350− "description": "Resource type.",
351− "default": "adexchangebuyer#billingInfoList"
352− }
353− }
354− },
355− "BrandDto": {
356− "id": "BrandDto",
357− "type": "object",
358− "properties": {
359− "advertiserId": {
360− "type": "string",
361− "format": "int64"
362− },
363− "id": {
364− "type": "string",
365− "format": "int64"
366− },
367− "name": {
368− "type": "string"
369− }
370− }
371− },
372− "Budget": {
373− "id": "Budget",
374− "type": "object",
375− "description": "The configuration data for Ad Exchange RTB - Budget API.",
376− "properties": {
377− "accountId": {
378− "type": "string",
379− "description": "The id of the account. This is required for get and update requests.",
380− "format": "int64"
381− },
382− "billingId": {
383− "type": "string",
384− "description": "The billing id to determine which adgroup to provide budget information for. This is required for get and update requests.",
385− "format": "int64"
386− },
387− "budgetAmount": {
388− "type": "string",
389− "description": "The budget amount to apply for the billingId provided. This is required for update requests.",
390− "format": "int64"
391 },
40 },
392− "currencyCode": {
41+ "fields": {
393− "type": "string",
42+ "description": "Selector specifying which fields to include in a partial response.",
394− "description": "The currency code for the buyer. This cannot be altered here."
43+ "location": "query",
395− },
44+ "type": "string"
396− "id": {
397− "type": "string",
398− "description": "The unique id that describes this item."
399− },
400− "kind": {
401− "type": "string",
402− "description": "The kind of the resource, i.e. \"adexchangebuyer#budget\".",
403− "default": "adexchangebuyer#budget"
404− }
405− }
406− },
407− "Buyer": {
408− "id": "Buyer",
409− "type": "object",
410− "properties": {
411− "accountId": {
412− "type": "string",
413− "description": "Adx account id of the buyer."
414− }
415− }
416− },
417− "BuyerDto": {
418− "id": "BuyerDto",
419− "type": "object",
420− "properties": {
421− "accountId": {
422− "type": "integer",
423− "format": "int32"
424− },
425− "customerId": {
426− "type": "integer",
427− "format": "int32"
428− },
429− "displayName": {
430− "type": "string"
431− },
432− "enabledForInterestTargetingDeals": {
433− "type": "boolean"
434− },
435− "enabledForPreferredDeals": {
436− "type": "boolean"
437 },
45 },
438− "id": {
46+ "key": {
439− "type": "integer",
47+ "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.",
440− "format": "int32"
48+ "location": "query",
49+ "type": "string"
441 },
50 },
442− "sponsorAccountId": {
51+ "oauth_token": {
443− "type": "integer",
52+ "description": "OAuth 2.0 token for the current user.",
444− "format": "int32"
53+ "location": "query",
445− }
54+ "type": "string"
446− }
447− },
448− "ClientAccessCapabilities": {
449− "id": "ClientAccessCapabilities",
450− "type": "object",
451− "properties": {
452− "capabilities": {
453− "type": "array",
454− "items": {
455− "type": "integer",
456− "format": "int32"
457− }
458 },
55 },
459− "clientAccountId": {
56+ "prettyPrint": {
460− "type": "string",
57+ "default": "true",
461− "format": "int64"
58+ "description": "Returns response with indentations and line breaks.",
462− }
59+ "location": "query",
463− }
60+ "type": "boolean"
464− },
465− "ContactInformation": {
466− "id": "ContactInformation",
467− "type": "object",
468− "properties": {
469− "email": {
470− "type": "string",
471− "description": "Email address of the contact."
472 },
61 },
473− "name": {
62+ "quotaUser": {
474− "type": "string",
63+ "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.",
475− "description": "The name of the contact."
64+ "location": "query",
476− }
65+ "type": "string"
477− }
478− },
479− "CreateOrdersRequest": {
480− "id": "CreateOrdersRequest",
481− "type": "object",
482− "properties": {
483− "orders": {
484− "type": "array",
485− "description": "The list of orders to create.",
486− "items": {
487− "$ref": "MarketplaceOrder"
488− }
489 },
66 },
490− "webPropertyCode": {
67+ "userIp": {
491− "type": "string"
68+ "description": "Deprecated. Please use quotaUser instead.",
492− }
69+ "location": "query",
493− }
70+ "type": "string"
494− },
495− "CreateOrdersResponse": {
496− "id": "CreateOrdersResponse",
497− "type": "object",
498− "properties": {
499− "orders": {
500− "type": "array",
501− "description": "The list of orders successfully created.",
502− "items": {
503− "$ref": "MarketplaceOrder"
504− }
505 }
71 }
506− }
507 },
72 },
508− "Creative": {
73+ "protocol": "rest",
509− "id": "Creative",
74+ "resources": {
510− "type": "object",
75+ "accounts": {
511− "description": "A creative and its classification data.",
76+ "methods": {
512− "properties": {
77+ "get": {
513− "HTMLSnippet": {
78+ "description": "Gets one account by ID.",
514− "type": "string",
79+ "httpMethod": "GET",
515− "description": "The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set."
80+ "id": "adexchangebuyer.accounts.get",
516− },
81+ "parameterOrder": [
517− "accountId": {
82+ "id"
518− "type": "integer",
83+ ],
519− "description": "Account id.",
84+ "parameters": {
520− "format": "int32",
85+ "id": {
521− "annotations": {
86+ "description": "The account id",
522− "required": [
87+ "format": "int32",
523− "adexchangebuyer.creatives.insert"
88+ "location": "path",
524− ]
89+ "required": true,
525− }
90+ "type": "integer"
526− },
91+ }
527− "advertiserId": {
92+ },
528− "type": "array",
93+ "path": "accounts/{id}",
529− "description": "Detected advertiser id, if any. Read-only. This field should not be set in requests.",
94+ "response": {
530− "items": {
95+ "$ref": "Account"
531− "type": "string",
96+ },
532− "format": "int64"
97+ "scopes": [
533− }
98+ "https://www.googleapis.com/auth/adexchange.buyer"
534− },
99+ ]
535− "advertiserName": {
100+ },
536− "type": "string",
101+ "list": {
537− "description": "The name of the company being advertised in the creative.",
102+ "description": "Retrieves the authenticated user's list of accounts.",
538− "annotations": {
103+ "httpMethod": "GET",
539− "required": [
104+ "id": "adexchangebuyer.accounts.list",
540− "adexchangebuyer.creatives.insert"
105+ "path": "accounts",
541− ]
106+ "response": {
542− }
107+ "$ref": "AccountsList"
543− },
108+ },
544− "agencyId": {
109+ "scopes": [
545− "type": "string",
110+ "https://www.googleapis.com/auth/adexchange.buyer"
546− "description": "The agency id for this creative.",
111+ ]
547− "format": "int64"
112+ },
548− },
113+ "patch": {
549− "api_upload_timestamp": {
114+ "description": "Updates an existing account. This method supports patch semantics.",
550− "type": "string",
115+ "httpMethod": "PATCH",
551− "description": "The last upload timestamp of this creative if it was uploaded via API. Read-only. The value of this field is generated, and will be ignored for uploads. (formatted RFC 3339 timestamp).",
116+ "id": "adexchangebuyer.accounts.patch",
552− "format": "date-time"
117+ "parameterOrder": [
553− },
118+ "id"
554− "attribute": {
119+ ],
555− "type": "array",
120+ "parameters": {
556− "description": "All attributes for the ads that may be shown from this snippet.",
121+ "confirmUnsafeAccountChange": {
557− "items": {
122+ "description": "Confirmation for erasing bidder and cookie matching urls.",
558− "type": "integer",
123+ "location": "query",
559− "format": "int32"
124+ "type": "boolean"
560− }
125+ },
561− },
126+ "id": {
562− "buyerCreativeId": {
127+ "description": "The account id",
563− "type": "string",
128+ "format": "int32",
564− "description": "A buyer-specific id identifying the creative in this ad.",
129+ "location": "path",
565− "annotations": {
130+ "required": true,
566− "required": [
131+ "type": "integer"
567− "adexchangebuyer.creatives.insert"
132+ }
568− ]
133+ },
569− }
134+ "path": "accounts/{id}",
570− },
135+ "request": {
571− "clickThroughUrl": {
136+ "$ref": "Account"
572− "type": "array",
137+ },
573− "description": "The set of destination urls for the snippet.",
138+ "response": {
574− "items": {
139+ "$ref": "Account"
575− "type": "string"
140+ },
576− },
141+ "scopes": [
577− "annotations": {
142+ "https://www.googleapis.com/auth/adexchange.buyer"
578− "required": [
143+ ]
579− "adexchangebuyer.creatives.insert"
144+ },
580− ]
145+ "update": {
581− }
146+ "description": "Updates an existing account.",
582− },
147+ "httpMethod": "PUT",
583− "corrections": {
148+ "id": "adexchangebuyer.accounts.update",
584− "type": "array",
149+ "parameterOrder": [
585− "description": "Shows any corrections that were applied to this creative. Read-only. This field should not be set in requests.",
150+ "id"
586− "items": {
151+ ],
587− "type": "object",
152+ "parameters": {
588− "properties": {
153+ "confirmUnsafeAccountChange": {
589− "details": {
154+ "description": "Confirmation for erasing bidder and cookie matching urls.",
590− "type": "array",
155+ "location": "query",
591− "description": "Additional details about the correction.",
156+ "type": "boolean"
592− "items": {
157+ },
593− "type": "string"
158+ "id": {
159+ "description": "The account id",
160+ "format": "int32",
161+ "location": "path",
162+ "required": true,
163+ "type": "integer"
164+ }
165+ },
166+ "path": "accounts/{id}",
167+ "request": {
168+ "$ref": "Account"
169+ },
170+ "response": {
171+ "$ref": "Account"
172+ },
173+ "scopes": [
174+ "https://www.googleapis.com/auth/adexchange.buyer"
175+ ]
594 }
176 }
595− },
596− "reason": {
597− "type": "string",
598− "description": "The type of correction that was applied to the creative."
599− }
600 }
177 }
601− }
602 },
178 },
603− "dealsStatus": {
179+ "billingInfo": {
604− "type": "string",
180+ "methods": {
605− "description": "Top-level deals status. Read-only. This field should not be set in requests. If disapproved, an entry for auctionType=DIRECT_DEALS (or ALL) in servingRestrictions will also exist. Note that this may be nuanced with other contextual restrictions, in which case it may be preferable to read from servingRestrictions directly."
181+ "get": {
606− },
182+ "description": "Returns the billing information for one account specified by account ID.",
607− "filteringReasons": {
183+ "httpMethod": "GET",
608− "type": "object",
184+ "id": "adexchangebuyer.billingInfo.get",
609− "description": "The filtering reasons for the creative. Read-only. This field should not be set in requests.",
185+ "parameterOrder": [
610− "properties": {
186+ "accountId"
611− "date": {
187+ ],
612− "type": "string",
188+ "parameters": {
613− "description": "The date in ISO 8601 format for the data. The data is collected from 00:00:00 to 23:59:59 in PST."
189+ "accountId": {
614− },
190+ "description": "The account id.",
615− "reasons": {
191+ "format": "int32",
616− "type": "array",
192+ "location": "path",
617− "description": "The filtering reasons.",
193+ "required": true,
618− "items": {
194+ "type": "integer"
619− "type": "object",
195+ }
620− "properties": {
196+ },
621− "filteringCount": {
197+ "path": "billinginfo/{accountId}",
622− "type": "string",
198+ "response": {
623− "description": "The number of times the creative was filtered for the status. The count is aggregated across all publishers on the exchange.",
199+ "$ref": "BillingInfo"
624− "format": "int64"
200+ },
625− },
201+ "scopes": [
626− "filteringStatus": {
202+ "https://www.googleapis.com/auth/adexchange.buyer"
627− "type": "integer",
203+ ]
628− "description": "The filtering status code. Please refer to the creative-status-codes.txt file for different statuses.",
204+ },
629− "format": "int32"
205+ "list": {
630− }
206+ "description": "Retrieves a list of billing information for all accounts of the authenticated user.",
207+ "httpMethod": "GET",
208+ "id": "adexchangebuyer.billingInfo.list",
209+ "path": "billinginfo",
210+ "response": {
211+ "$ref": "BillingInfoList"
212+ },
213+ "scopes": [
214+ "https://www.googleapis.com/auth/adexchange.buyer"
215+ ]
631 }
216 }
632− }
633 }
217 }
634− }
635− },
636− "height": {
637− "type": "integer",
638− "description": "Ad height.",
639− "format": "int32",
640− "annotations": {
641− "required": [
642− "adexchangebuyer.creatives.insert"
643− ]
644− }
645− },
646− "impressionTrackingUrl": {
647− "type": "array",
648− "description": "The set of urls to be called to record an impression.",
649− "items": {
650− "type": "string"
651− }
652− },
653− "kind": {
654− "type": "string",
655− "description": "Resource type.",
656− "default": "adexchangebuyer#creative"
657 },
218 },
658− "nativeAd": {
219+ "budget": {
659− "type": "object",
220+ "methods": {
660− "description": "If nativeAd is set, HTMLSnippet and videoURL should not be set.",
221+ "get": {
661− "properties": {
222+ "description": "Returns the budget information for the adgroup specified by the accountId and billingId.",
662− "advertiser": {
223+ "httpMethod": "GET",
663− "type": "string"
224+ "id": "adexchangebuyer.budget.get",
664− },
225+ "parameterOrder": [
665− "appIcon": {
226+ "accountId",
666− "type": "object",
227+ "billingId"
667− "description": "The app icon, for app download ads.",
228+ ],
668− "properties": {
229+ "parameters": {
669− "height": {
230+ "accountId": {
670− "type": "integer",
231+ "description": "The account id to get the budget information for.",
671− "format": "int32"
232+ "format": "int64",
233+ "location": "path",
234+ "required": true,
235+ "type": "string"
236+ },
237+ "billingId": {
238+ "description": "The billing id to get the budget information for.",
239+ "format": "int64",
240+ "location": "path",
241+ "required": true,
242+ "type": "string"
243+ }
244+ },
245+ "path": "billinginfo/{accountId}/{billingId}",
246+ "response": {
247+ "$ref": "Budget"
248+ },
249+ "scopes": [
250+ "https://www.googleapis.com/auth/adexchange.buyer"
251+ ]
672 },
252 },
673− "url": {
253+ "patch": {
674− "type": "string"
254+ "description": "Updates the budget amount for the budget of the adgroup specified by the accountId and billingId, with the budget amount in the request. This method supports patch semantics.",
255+ "httpMethod": "PATCH",
256+ "id": "adexchangebuyer.budget.patch",
257+ "parameterOrder": [
258+ "accountId",
259+ "billingId"
260+ ],
261+ "parameters": {
262+ "accountId": {
263+ "description": "The account id associated with the budget being updated.",
264+ "format": "int64",
265+ "location": "path",
266+ "required": true,
267+ "type": "string"
268+ },
269+ "billingId": {
270+ "description": "The billing id associated with the budget being updated.",
271+ "format": "int64",
272+ "location": "path",
273+ "required": true,
274+ "type": "string"
275+ }
276+ },
277+ "path": "billinginfo/{accountId}/{billingId}",
278+ "request": {
279+ "$ref": "Budget"
280+ },
281+ "response": {
282+ "$ref": "Budget"
283+ },
284+ "scopes": [
285+ "https://www.googleapis.com/auth/adexchange.buyer"
286+ ]
675 },
287 },
676− "width": {
288+ "update": {
677− "type": "integer",
289+ "description": "Updates the budget amount for the budget of the adgroup specified by the accountId and billingId, with the budget amount in the request.",
678− "format": "int32"
290+ "httpMethod": "PUT",
291+ "id": "adexchangebuyer.budget.update",
292+ "parameterOrder": [
293+ "accountId",
294+ "billingId"
295+ ],
296+ "parameters": {
297+ "accountId": {
298+ "description": "The account id associated with the budget being updated.",
299+ "format": "int64",
300+ "location": "path",
301+ "required": true,
302+ "type": "string"
303+ },
304+ "billingId": {
305+ "description": "The billing id associated with the budget being updated.",
306+ "format": "int64",
307+ "location": "path",
308+ "required": true,
309+ "type": "string"
310+ }
311+ },
312+ "path": "billinginfo/{accountId}/{billingId}",
313+ "request": {
314+ "$ref": "Budget"
315+ },
316+ "response": {
317+ "$ref": "Budget"
318+ },
319+ "scopes": [
320+ "https://www.googleapis.com/auth/adexchange.buyer"
321+ ]
679 }
322 }
680− }
323+ }
681− },
324+ },
682− "body": {
325+ "creatives": {
683− "type": "string",
326+ "methods": {
684− "description": "A long description of the ad."
327+ "addDeal": {
685− },
328+ "description": "Add a deal id association for the creative.",
686− "callToAction": {
329+ "httpMethod": "POST",
687− "type": "string",
330+ "id": "adexchangebuyer.creatives.addDeal",
688− "description": "A label for the button that the user is supposed to click."
331+ "parameterOrder": [
689− },
332+ "accountId",
690− "clickTrackingUrl": {
333+ "buyerCreativeId",
691− "type": "string",
334+ "dealId"
692− "description": "The URL to use for click tracking."
335+ ],
693− },
336+ "parameters": {
694− "headline": {
337+ "accountId": {
695− "type": "string",
338+ "description": "The id for the account that will serve this creative.",
696− "description": "A short title for the ad."
339+ "format": "int32",
697− },
340+ "location": "path",
698− "image": {
341+ "required": true,
699− "type": "object",
342+ "type": "integer"
700− "description": "A large image.",
343+ },
701− "properties": {
344+ "buyerCreativeId": {
702− "height": {
345+ "description": "The buyer-specific id for this creative.",
703− "type": "integer",
346+ "location": "path",
704− "format": "int32"
347+ "required": true,
348+ "type": "string"
349+ },
350+ "dealId": {
351+ "description": "The id of the deal id to associate with this creative.",
352+ "format": "int64",
353+ "location": "path",
354+ "required": true,
355+ "type": "string"
356+ }
357+ },
358+ "path": "creatives/{accountId}/{buyerCreativeId}/addDeal/{dealId}",
359+ "scopes": [
360+ "https://www.googleapis.com/auth/adexchange.buyer"
361+ ]
362+ },
363+ "get": {
364+ "description": "Gets the status for a single creative. A creative will be available 30-40 minutes after submission.",
365+ "httpMethod": "GET",
366+ "id": "adexchangebuyer.creatives.get",
367+ "parameterOrder": [
368+ "accountId",
369+ "buyerCreativeId"
370+ ],
371+ "parameters": {
372+ "accountId": {
373+ "description": "The id for the account that will serve this creative.",
374+ "format": "int32",
375+ "location": "path",
376+ "required": true,
377+ "type": "integer"
378+ },
379+ "buyerCreativeId": {
380+ "description": "The buyer-specific id for this creative.",
381+ "location": "path",
382+ "required": true,
383+ "type": "string"
384+ }
385+ },
386+ "path": "creatives/{accountId}/{buyerCreativeId}",
387+ "response": {
388+ "$ref": "Creative"
389+ },
390+ "scopes": [
391+ "https://www.googleapis.com/auth/adexchange.buyer"
392+ ]
705 },
393 },
706− "url": {
394+ "insert": {
707− "type": "string"
395+ "description": "Submit a new creative.",
396+ "httpMethod": "POST",
397+ "id": "adexchangebuyer.creatives.insert",
398+ "path": "creatives",
399+ "request": {
400+ "$ref": "Creative"
401+ },
402+ "response": {
403+ "$ref": "Creative"
404+ },
405+ "scopes": [
406+ "https://www.googleapis.com/auth/adexchange.buyer"
407+ ]
708 },
408 },
709− "width": {
409+ "list": {
710− "type": "integer",
410+ "description": "Retrieves a list of the authenticated user's active creatives. A creative will be available 30-40 minutes after submission.",
711− "format": "int32"
411+ "httpMethod": "GET",
712− }
412+ "id": "adexchangebuyer.creatives.list",
713− }
413+ "parameters": {
714− },
414+ "accountId": {
715− "impressionTrackingUrl": {
415+ "description": "When specified, only creatives for the given account ids are returned.",
716− "type": "array",
416+ "format": "int32",
717− "description": "The URLs are called when the impression is rendered.",
417+ "location": "query",
718− "items": {
418+ "repeated": true,
719− "type": "string"
419+ "type": "integer"
720− }
420+ },
721− },
421+ "buyerCreativeId": {
722− "logo": {
422+ "description": "When specified, only creatives for the given buyer creative ids are returned.",
723− "type": "object",
423+ "location": "query",
724− "description": "A smaller image, for the advertiser logo.",
424+ "repeated": true,
725− "properties": {
425+ "type": "string"
726− "height": {
426+ },
727− "type": "integer",
427+ "dealsStatusFilter": {
728− "format": "int32"
428+ "description": "When specified, only creatives having the given deals status are returned.",
429+ "enum": [
430+ "approved",
431+ "conditionally_approved",
432+ "disapproved",
433+ "not_checked"
434+ ],
435+ "enumDescriptions": [
436+ "Creatives which have been approved for serving on deals.",
437+ "Creatives which have been conditionally approved for serving on deals.",
438+ "Creatives which have been disapproved for serving on deals.",
439+ "Creatives whose deals status is not yet checked."
440+ ],
441+ "location": "query",
442+ "type": "string"
443+ },
444+ "maxResults": {
445+ "description": "Maximum number of entries returned on one result page. If not set, the default is 100. Optional.",
446+ "format": "uint32",
447+ "location": "query",
448+ "maximum": "1000",
449+ "minimum": "1",
450+ "type": "integer"
451+ },
452+ "openAuctionStatusFilter": {
453+ "description": "When specified, only creatives having the given open auction status are returned.",
454+ "enum": [
455+ "approved",
456+ "conditionally_approved",
457+ "disapproved",
458+ "not_checked"
459+ ],
460+ "enumDescriptions": [
461+ "Creatives which have been approved for serving on the open auction.",
462+ "Creatives which have been conditionally approved for serving on the open auction.",
463+ "Creatives which have been disapproved for serving on the open auction.",
464+ "Creatives whose open auction status is not yet checked."
465+ ],
466+ "location": "query",
467+ "type": "string"
468+ },
469+ "pageToken": {
470+ "description": "A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response. Optional.",
471+ "location": "query",
472+ "type": "string"
473+ }
474+ },
475+ "path": "creatives",
476+ "response": {
477+ "$ref": "CreativesList"
478+ },
479+ "scopes": [
480+ "https://www.googleapis.com/auth/adexchange.buyer"
481+ ]
729 },
482 },
730− "url": {
483+ "listDeals": {
731− "type": "string"
484+ "description": "Lists the external deal ids associated with the creative.",
485+ "httpMethod": "GET",
486+ "id": "adexchangebuyer.creatives.listDeals",
487+ "parameterOrder": [
488+ "accountId",
489+ "buyerCreativeId"
490+ ],
491+ "parameters": {
492+ "accountId": {
493+ "description": "The id for the account that will serve this creative.",
494+ "format": "int32",
495+ "location": "path",
496+ "required": true,
497+ "type": "integer"
498+ },
499+ "buyerCreativeId": {
500+ "description": "The buyer-specific id for this creative.",
501+ "location": "path",
502+ "required": true,
503+ "type": "string"
504+ }
505+ },
506+ "path": "creatives/{accountId}/{buyerCreativeId}/listDeals",
507+ "response": {
508+ "$ref": "CreativeDealIds"
509+ },
510+ "scopes": [
511+ "https://www.googleapis.com/auth/adexchange.buyer"
512+ ]
732 },
513 },
733− "width": {
514+ "removeDeal": {
734− "type": "integer",
515+ "description": "Remove a deal id associated with the creative.",
735− "format": "int32"
516+ "httpMethod": "POST",
517+ "id": "adexchangebuyer.creatives.removeDeal",
518+ "parameterOrder": [
519+ "accountId",
520+ "buyerCreativeId",
521+ "dealId"
522+ ],
523+ "parameters": {
524+ "accountId": {
525+ "description": "The id for the account that will serve this creative.",
526+ "format": "int32",
527+ "location": "path",
528+ "required": true,
529+ "type": "integer"
530+ },
531+ "buyerCreativeId": {
532+ "description": "The buyer-specific id for this creative.",
533+ "location": "path",
534+ "required": true,
535+ "type": "string"
536+ },
537+ "dealId": {
538+ "description": "The id of the deal id to disassociate with this creative.",
539+ "format": "int64",
540+ "location": "path",
541+ "required": true,
542+ "type": "string"
543+ }
544+ },
545+ "path": "creatives/{accountId}/{buyerCreativeId}/removeDeal/{dealId}",
546+ "scopes": [
547+ "https://www.googleapis.com/auth/adexchange.buyer"
548+ ]
736 }
549 }
737− }
738− },
739− "price": {
740− "type": "string",
741− "description": "The price of the promoted app including the currency info."
742− },
743− "starRating": {
744− "type": "number",
745− "description": "The app rating in the app store. Must be in the range [0-5].",
746− "format": "double"
747− },
748− "store": {
749− "type": "string",
750− "description": "The URL to the app store to purchase/download the promoted app."
751 }
550 }
752− }
753− },
754− "openAuctionStatus": {
755− "type": "string",
756− "description": "Top-level open auction status. Read-only. This field should not be set in requests. If disapproved, an entry for auctionType=OPEN_AUCTION (or ALL) in servingRestrictions will also exist. Note that this may be nuanced with other contextual restrictions, in which case it may be preferable to read from ServingRestrictions directly."
757− },
758− "productCategories": {
759− "type": "array",
760− "description": "Detected product categories, if any. Read-only. This field should not be set in requests.",
761− "items": {
762− "type": "integer",
763− "format": "int32"
764− }
765− },
766− "restrictedCategories": {
767− "type": "array",
768− "description": "All restricted categories for the ads that may be shown from this snippet.",
769− "items": {
770− "type": "integer",
771− "format": "int32"
772− }
773 },
551 },
774− "sensitiveCategories": {
552+ "marketplacedeals": {
775− "type": "array",
553+ "methods": {
776− "description": "Detected sensitive categories, if any. Read-only. This field should not be set in requests.",
554+ "delete": {
777− "items": {
555+ "description": "Delete the specified deals from the proposal",
778− "type": "integer",
556+ "httpMethod": "POST",
779− "format": "int32"
557+ "id": "adexchangebuyer.marketplacedeals.delete",
780− }
558+ "parameterOrder": [
781− },
559+ "proposalId"
782− "servingRestrictions": {
560+ ],
783− "type": "array",
561+ "parameters": {
784− "description": "The granular status of this ad in specific contexts. A context here relates to where something ultimately serves (for example, a physical location, a platform, an HTTPS vs HTTP request, or the type of auction). Read-only. This field should not be set in requests.",
562+ "proposalId": {
785− "items": {
563+ "description": "The proposalId to delete deals from.",
786− "type": "object",
564+ "location": "path",
787− "properties": {
565+ "required": true,
788− "contexts": {
566+ "type": "string"
789− "type": "array",
567+ }
790− "description": "All known contexts/restrictions.",
568+ },
791− "items": {
569+ "path": "proposals/{proposalId}/deals/delete",
792− "type": "object",
570+ "request": {
793− "properties": {
571+ "$ref": "DeleteOrderDealsRequest"
794− "auctionType": {
572+ },
795− "type": "array",
573+ "response": {
796− "description": "Only set when contextType=AUCTION_TYPE. Represents the auction types this restriction applies to.",
574+ "$ref": "DeleteOrderDealsResponse"
797− "items": {
575+ },
798− "type": "string"
576+ "scopes": [
799− }
577+ "https://www.googleapis.com/auth/adexchange.buyer"
800− },
578+ ]
801− "contextType": {
579+ },
802− "type": "string",
580+ "insert": {
803− "description": "The type of context (e.g., location, platform, auction type, SSL-ness)."
581+ "description": "Add new deals for the specified proposal",
804− },
582+ "httpMethod": "POST",
805− "geoCriteriaId": {
583+ "id": "adexchangebuyer.marketplacedeals.insert",
806− "type": "array",
584+ "parameterOrder": [
807− "description": "Only set when contextType=LOCATION. Represents the geo criterias this restriction applies to.",
585+ "proposalId"
808− "items": {
586+ ],
809− "type": "integer",
587+ "parameters": {
810− "format": "int32"
588+ "proposalId": {
811− }
589+ "description": "proposalId for which deals need to be added.",
812− },
590+ "location": "path",
813− "platform": {
591+ "required": true,
814− "type": "array",
592+ "type": "string"
815− "description": "Only set when contextType=PLATFORM. Represents the platforms this restriction applies to.",
593+ }
816− "items": {
594+ },
817− "type": "string"
595+ "path": "proposals/{proposalId}/deals/insert",
818− }
596+ "request": {
819− }
597+ "$ref": "AddOrderDealsRequest"
820− }
598+ },
599+ "response": {
600+ "$ref": "AddOrderDealsResponse"
601+ },
602+ "scopes": [
603+ "https://www.googleapis.com/auth/adexchange.buyer"
604+ ]
605+ },
606+ "list": {
607+ "description": "List all the deals for a given proposal",
608+ "httpMethod": "GET",
609+ "id": "adexchangebuyer.marketplacedeals.list",
610+ "parameterOrder": [
611+ "proposalId"
612+ ],
613+ "parameters": {
614+ "pqlQuery": {
615+ "description": "Query string to retrieve specific deals.",
616+ "location": "query",
617+ "type": "string"
618+ },
619+ "proposalId": {
620+ "description": "The proposalId to get deals for. To search across all proposals specify order_id = '-' as part of the URL.",
621+ "location": "path",
622+ "required": true,
623+ "type": "string"
624+ }
625+ },
626+ "path": "proposals/{proposalId}/deals",
627+ "response": {
628+ "$ref": "GetOrderDealsResponse"
629+ },
630+ "scopes": [
631+ "https://www.googleapis.com/auth/adexchange.buyer"
632+ ]
633+ },
634+ "update": {
635+ "description": "Replaces all the deals in the proposal with the passed in deals",
636+ "httpMethod": "POST",
637+ "id": "adexchangebuyer.marketplacedeals.update",
638+ "parameterOrder": [
639+ "proposalId"
640+ ],
641+ "parameters": {
642+ "proposalId": {
643+ "description": "The proposalId to edit deals on.",
644+ "location": "path",
645+ "required": true,
646+ "type": "string"
647+ }
648+ },
649+ "path": "proposals/{proposalId}/deals/update",
650+ "request": {
651+ "$ref": "EditAllOrderDealsRequest"
652+ },
653+ "response": {
654+ "$ref": "EditAllOrderDealsResponse"
655+ },
656+ "scopes": [
657+ "https://www.googleapis.com/auth/adexchange.buyer"
658+ ]
821 }
659 }
822− },
660+ }
823− "disapprovalReasons": {
661+ },
824− "type": "array",
662+ "marketplacenotes": {
825− "description": "The reasons for disapproval within this restriction, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED or CONDITIONALLY_APPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue.",
663+ "methods": {
826− "items": {
664+ "insert": {
827− "type": "object",
665+ "description": "Add notes to the proposal",
828− "properties": {
666+ "httpMethod": "POST",
829− "details": {
667+ "id": "adexchangebuyer.marketplacenotes.insert",
830− "type": "array",
668+ "parameterOrder": [
831− "description": "Additional details about the reason for disapproval.",
669+ "proposalId"
832− "items": {
670+ ],
833− "type": "string"
671+ "parameters": {
834− }
672+ "proposalId": {
673+ "description": "The proposalId to add notes for.",
674+ "location": "path",
675+ "required": true,
676+ "type": "string"
677+ }
678+ },
679+ "path": "proposals/{proposalId}/notes/insert",
680+ "request": {
681+ "$ref": "AddOrderNotesRequest"
682+ },
683+ "response": {
684+ "$ref": "AddOrderNotesResponse"
685+ },
686+ "scopes": [
687+ "https://www.googleapis.com/auth/adexchange.buyer"
688+ ]
689+ },
690+ "list": {
691+ "description": "Get all the notes associated with a proposal",
692+ "httpMethod": "GET",
693+ "id": "adexchangebuyer.marketplacenotes.list",
694+ "parameterOrder": [
695+ "proposalId"
696+ ],
697+ "parameters": {
698+ "pqlQuery": {
699+ "description": "Query string to retrieve specific notes. To search the text contents of notes, please use syntax like \"WHERE note.note = \"foo\" or \"WHERE note.note LIKE \"%bar%\"",
700+ "location": "query",
701+ "type": "string"
702+ },
703+ "proposalId": {
704+ "description": "The proposalId to get notes for. To search across all proposals specify order_id = '-' as part of the URL.",
705+ "location": "path",
706+ "required": true,
707+ "type": "string"
708+ }
709+ },
710+ "path": "proposals/{proposalId}/notes",
711+ "response": {
712+ "$ref": "GetOrderNotesResponse"
835 },
713 },
836− "reason": {
714+ "scopes": [
837− "type": "string",
715+ "https://www.googleapis.com/auth/adexchange.buyer"
838− "description": "The categorized reason for disapproval."
716+ ]
839− }
840− }
841 }
717 }
842− },
843− "reason": {
844− "type": "string",
845− "description": "Why the creative is ineligible to serve in this context (e.g., it has been explicitly disapproved or is pending review)."
846− }
847 }
718 }
848− }
849 },
719 },
850− "vendorType": {
720+ "marketplaceprivateauction": {
851− "type": "array",
721+ "methods": {
852− "description": "All vendor types for the ads that may be shown from this snippet.",
722+ "updateproposal": {
853− "items": {
723+ "description": "Update a given private auction proposal",
854− "type": "integer",
724+ "httpMethod": "POST",
855− "format": "int32"
725+ "id": "adexchangebuyer.marketplaceprivateauction.updateproposal",
856− }
726+ "parameterOrder": [
727+ "privateAuctionId"
728+ ],
729+ "parameters": {
730+ "privateAuctionId": {
731+ "description": "The private auction id to be updated.",
732+ "location": "path",
733+ "required": true,
734+ "type": "string"
735+ }
736+ },
737+ "path": "privateauction/{privateAuctionId}/updateproposal",
738+ "request": {
739+ "$ref": "UpdatePrivateAuctionProposalRequest"
740+ },
741+ "scopes": [
742+ "https://www.googleapis.com/auth/adexchange.buyer"
743+ ]
744+ }
745+ }
857 },
746 },
858− "version": {
747+ "performanceReport": {
859− "type": "integer",
748+ "methods": {
860− "description": "The version for this creative. Read-only. This field should not be set in requests.",
749+ "list": {
861− "format": "int32"
750+ "description": "Retrieves the authenticated user's list of performance metrics.",
751+ "httpMethod": "GET",
752+ "id": "adexchangebuyer.performanceReport.list",
753+ "parameterOrder": [
754+ "accountId",
755+ "endDateTime",
756+ "startDateTime"
757+ ],
758+ "parameters": {
759+ "accountId": {
760+ "description": "The account id to get the reports.",
761+ "format": "int64",
762+ "location": "query",
763+ "required": true,
764+ "type": "string"
765+ },
766+ "endDateTime": {
767+ "description": "The end time of the report in ISO 8601 timestamp format using UTC.",
768+ "location": "query",
769+ "required": true,
770+ "type": "string"
771+ },
772+ "maxResults": {
773+ "description": "Maximum number of entries returned on one result page. If not set, the default is 100. Optional.",
774+ "format": "uint32",
775+ "location": "query",
776+ "maximum": "1000",
777+ "minimum": "1",
778+ "type": "integer"
779+ },
780+ "pageToken": {
781+ "description": "A continuation token, used to page through performance reports. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response. Optional.",
782+ "location": "query",
783+ "type": "string"
784+ },
785+ "startDateTime": {
786+ "description": "The start time of the report in ISO 8601 timestamp format using UTC.",
787+ "location": "query",
788+ "required": true,
789+ "type": "string"
790+ }
791+ },
792+ "path": "performancereport",
793+ "response": {
794+ "$ref": "PerformanceReportList"
795+ },
796+ "scopes": [
797+ "https://www.googleapis.com/auth/adexchange.buyer"
798+ ]
799+ }
800+ }
862 },
801 },
863− "videoURL": {
802+ "pretargetingConfig": {
864− "type": "string",
803+ "methods": {
865− "description": "The url to fetch a video ad. If set, HTMLSnippet should not be set."
804+ "delete": {
805+ "description": "Deletes an existing pretargeting config.",
806+ "httpMethod": "DELETE",
807+ "id": "adexchangebuyer.pretargetingConfig.delete",
808+ "parameterOrder": [
809+ "accountId",
810+ "configId"
811+ ],
812+ "parameters": {
813+ "accountId": {
814+ "description": "The account id to delete the pretargeting config for.",
815+ "format": "int64",
816+ "location": "path",
817+ "required": true,
818+ "type": "string"
819+ },
820+ "configId": {
821+ "description": "The specific id of the configuration to delete.",
822+ "format": "int64",
823+ "location": "path",
824+ "required": true,
825+ "type": "string"
826+ }
827+ },
828+ "path": "pretargetingconfigs/{accountId}/{configId}",
829+ "scopes": [
830+ "https://www.googleapis.com/auth/adexchange.buyer"
831+ ]
832+ },
833+ "get": {
834+ "description": "Gets a specific pretargeting configuration",
835+ "httpMethod": "GET",
836+ "id": "adexchangebuyer.pretargetingConfig.get",
837+ "parameterOrder": [
838+ "accountId",
839+ "configId"
840+ ],
841+ "parameters": {
842+ "accountId": {
843+ "description": "The account id to get the pretargeting config for.",
844+ "format": "int64",
845+ "location": "path",
846+ "required": true,
847+ "type": "string"
848+ },
849+ "configId": {
850+ "description": "The specific id of the configuration to retrieve.",
851+ "format": "int64",
852+ "location": "path",
853+ "required": true,
854+ "type": "string"
855+ }
856+ },
857+ "path": "pretargetingconfigs/{accountId}/{configId}",
858+ "response": {
859+ "$ref": "PretargetingConfig"
860+ },
861+ "scopes": [
862+ "https://www.googleapis.com/auth/adexchange.buyer"
863+ ]
864+ },
865+ "insert": {
866+ "description": "Inserts a new pretargeting configuration.",
867+ "httpMethod": "POST",
868+ "id": "adexchangebuyer.pretargetingConfig.insert",
869+ "parameterOrder": [
870+ "accountId"
871+ ],
872+ "parameters": {
873+ "accountId": {
874+ "description": "The account id to insert the pretargeting config for.",
875+ "format": "int64",
876+ "location": "path",
877+ "required": true,
878+ "type": "string"
879+ }
880+ },
881+ "path": "pretargetingconfigs/{accountId}",
882+ "request": {
883+ "$ref": "PretargetingConfig"
884+ },
885+ "response": {
886+ "$ref": "PretargetingConfig"
887+ },
888+ "scopes": [
889+ "https://www.googleapis.com/auth/adexchange.buyer"
890+ ]
891+ },
892+ "list": {
893+ "description": "Retrieves a list of the authenticated user's pretargeting configurations.",
894+ "httpMethod": "GET",
895+ "id": "adexchangebuyer.pretargetingConfig.list",
896+ "parameterOrder": [
897+ "accountId"
898+ ],
899+ "parameters": {
900+ "accountId": {
901+ "description": "The account id to get the pretargeting configs for.",
902+ "format": "int64",
903+ "location": "path",
904+ "required": true,
905+ "type": "string"
906+ }
907+ },
908+ "path": "pretargetingconfigs/{accountId}",
909+ "response": {
910+ "$ref": "PretargetingConfigList"
911+ },
912+ "scopes": [
913+ "https://www.googleapis.com/auth/adexchange.buyer"
914+ ]
915+ },
916+ "patch": {
917+ "description": "Updates an existing pretargeting config. This method supports patch semantics.",
918+ "httpMethod": "PATCH",
919+ "id": "adexchangebuyer.pretargetingConfig.patch",
920+ "parameterOrder": [
921+ "accountId",
922+ "configId"
923+ ],
924+ "parameters": {
925+ "accountId": {
926+ "description": "The account id to update the pretargeting config for.",
927+ "format": "int64",
928+ "location": "path",
929+ "required": true,
930+ "type": "string"
931+ },
932+ "configId": {
933+ "description": "The specific id of the configuration to update.",
934+ "format": "int64",
935+ "location": "path",
936+ "required": true,
937+ "type": "string"
938+ }
939+ },
940+ "path": "pretargetingconfigs/{accountId}/{configId}",
941+ "request": {
942+ "$ref": "PretargetingConfig"
943+ },
944+ "response": {
945+ "$ref": "PretargetingConfig"
946+ },
947+ "scopes": [
948+ "https://www.googleapis.com/auth/adexchange.buyer"
949+ ]
950+ },
951+ "update": {
952+ "description": "Updates an existing pretargeting config.",
953+ "httpMethod": "PUT",
954+ "id": "adexchangebuyer.pretargetingConfig.update",
955+ "parameterOrder": [
956+ "accountId",
957+ "configId"
958+ ],
959+ "parameters": {
960+ "accountId": {
961+ "description": "The account id to update the pretargeting config for.",
962+ "format": "int64",
963+ "location": "path",
964+ "required": true,
965+ "type": "string"
966+ },
967+ "configId": {
968+ "description": "The specific id of the configuration to update.",
969+ "format": "int64",
970+ "location": "path",
971+ "required": true,
972+ "type": "string"
973+ }
974+ },
975+ "path": "pretargetingconfigs/{accountId}/{configId}",
976+ "request": {
977+ "$ref": "PretargetingConfig"
978+ },
979+ "response": {
980+ "$ref": "PretargetingConfig"
981+ },
982+ "scopes": [
983+ "https://www.googleapis.com/auth/adexchange.buyer"
984+ ]
985+ }
986+ }
866 },
987 },
867− "width": {
988+ "products": {
868− "type": "integer",
989+ "methods": {
869− "description": "Ad width.",
990+ "get": {
870− "format": "int32",
991+ "description": "Gets the requested product by id.",
871− "annotations": {
992+ "httpMethod": "GET",
872− "required": [
993+ "id": "adexchangebuyer.products.get",
873− "adexchangebuyer.creatives.insert"
994+ "parameterOrder": [
874− ]
995+ "productId"
875− }
996+ ],
876− }
997+ "parameters": {
877− }
998+ "productId": {
878− },
999+ "description": "The id for the product to get the head revision for.",
879− "CreativesList": {
1000+ "location": "path",
880− "id": "CreativesList",
1001+ "required": true,
881− "type": "object",
1002+ "type": "string"
882− "description": "The creatives feed lists the active creatives for the Ad Exchange buyer accounts that the user has access to. Each entry in the feed corresponds to a single creative.",
1003+ }
883− "properties": {
1004+ },
884− "items": {
1005+ "path": "products/{productId}",
885− "type": "array",
1006+ "response": {
886− "description": "A list of creatives.",
1007+ "$ref": "Product"
887− "items": {
1008+ },
888− "$ref": "Creative"
1009+ "scopes": [
889− }
1010+ "https://www.googleapis.com/auth/adexchange.buyer"
1011+ ]
1012+ },
1013+ "search": {
1014+ "description": "Gets the requested product.",
1015+ "httpMethod": "GET",
1016+ "id": "adexchangebuyer.products.search",
1017+ "parameters": {
1018+ "pqlQuery": {
1019+ "description": "The pql query used to query for products.",
1020+ "location": "query",
1021+ "type": "string"
1022+ }
1023+ },
1024+ "path": "products/search",
1025+ "response": {
1026+ "$ref": "GetOffersResponse"
1027+ },
1028+ "scopes": [
1029+ "https://www.googleapis.com/auth/adexchange.buyer"
1030+ ]
1031+ }
1032+ }
890 },
1033 },
891− "kind": {
1034+ "proposals": {
892− "type": "string",
1035+ "methods": {
893− "description": "Resource type.",
1036+ "get": {
894− "default": "adexchangebuyer#creativesList"
1037+ "description": "Get a proposal given its id",
1038+ "httpMethod": "GET",
1039+ "id": "adexchangebuyer.proposals.get",
1040+ "parameterOrder": [
1041+ "proposalId"
1042+ ],
1043+ "parameters": {
1044+ "proposalId": {
1045+ "description": "Id of the proposal to retrieve.",
1046+ "location": "path",
1047+ "required": true,
1048+ "type": "string"
1049+ }
1050+ },
1051+ "path": "proposals/{proposalId}",
1052+ "response": {
1053+ "$ref": "Proposal"
1054+ },
1055+ "scopes": [
1056+ "https://www.googleapis.com/auth/adexchange.buyer"
1057+ ]
1058+ },
1059+ "insert": {
1060+ "description": "Create the given list of proposals",
1061+ "httpMethod": "POST",
1062+ "id": "adexchangebuyer.proposals.insert",
1063+ "path": "proposals/insert",
1064+ "request": {
1065+ "$ref": "CreateOrdersRequest"
1066+ },
1067+ "response": {
1068+ "$ref": "CreateOrdersResponse"
1069+ },
1070+ "scopes": [
1071+ "https://www.googleapis.com/auth/adexchange.buyer"
1072+ ]
1073+ },
1074+ "patch": {
1075+ "description": "Update the given proposal. This method supports patch semantics.",
1076+ "httpMethod": "PATCH",
1077+ "id": "adexchangebuyer.proposals.patch",
1078+ "parameterOrder": [
1079+ "proposalId",
1080+ "revisionNumber",
1081+ "updateAction"
1082+ ],
1083+ "parameters": {
1084+ "proposalId": {
1085+ "description": "The proposal id to update.",
1086+ "location": "path",
1087+ "required": true,
1088+ "type": "string"
1089+ },
1090+ "revisionNumber": {
1091+ "description": "The last known revision number to update. If the head revision in the marketplace database has since changed, an error will be thrown. The caller should then fetch the latest proposal at head revision and retry the update at that revision.",
1092+ "format": "int64",
1093+ "location": "path",
1094+ "required": true,
1095+ "type": "string"
1096+ },
1097+ "updateAction": {
1098+ "description": "The proposed action to take on the proposal. This field is required and it must be set when updating a proposal.",
1099+ "enum": [
1100+ "accept",
1101+ "cancel",
1102+ "propose",
1103+ "proposeAndAccept",
1104+ "unknownAction",
1105+ "updateNonTerms"
1106+ ],
1107+ "enumDescriptions": [
1108+ "",
1109+ "",
1110+ "",
1111+ "",
1112+ "",
1113+ ""
1114+ ],
1115+ "location": "path",
1116+ "required": true,
1117+ "type": "string"
1118+ }
1119+ },
1120+ "path": "proposals/{proposalId}/{revisionNumber}/{updateAction}",
1121+ "request": {
1122+ "$ref": "Proposal"
1123+ },
1124+ "response": {
1125+ "$ref": "Proposal"
1126+ },
1127+ "scopes": [
1128+ "https://www.googleapis.com/auth/adexchange.buyer"
1129+ ]
1130+ },
1131+ "search": {
1132+ "description": "Search for proposals using pql query",
1133+ "httpMethod": "GET",
1134+ "id": "adexchangebuyer.proposals.search",
1135+ "parameters": {
1136+ "pqlQuery": {
1137+ "description": "Query string to retrieve specific proposals.",
1138+ "location": "query",
1139+ "type": "string"
1140+ }
1141+ },
1142+ "path": "proposals/search",
1143+ "response": {
1144+ "$ref": "GetOrdersResponse"
1145+ },
1146+ "scopes": [
1147+ "https://www.googleapis.com/auth/adexchange.buyer"
1148+ ]
1149+ },
1150+ "setupcomplete": {
1151+ "description": "Update the given proposal to indicate that setup has been completed.",
1152+ "httpMethod": "POST",
1153+ "id": "adexchangebuyer.proposals.setupcomplete",
1154+ "parameterOrder": [
1155+ "proposalId"
1156+ ],
1157+ "parameters": {
1158+ "proposalId": {
1159+ "description": "The proposal id for which the setup is complete",
1160+ "location": "path",
1161+ "required": true,
1162+ "type": "string"
1163+ }
1164+ },
1165+ "path": "proposals/{proposalId}/setupcomplete",
1166+ "scopes": [
1167+ "https://www.googleapis.com/auth/adexchange.buyer"
1168+ ]
1169+ },
1170+ "update": {
1171+ "description": "Update the given proposal",
1172+ "httpMethod": "PUT",
1173+ "id": "adexchangebuyer.proposals.update",
1174+ "parameterOrder": [
1175+ "proposalId",
1176+ "revisionNumber",
1177+ "updateAction"
1178+ ],
1179+ "parameters": {
1180+ "proposalId": {
1181+ "description": "The proposal id to update.",
1182+ "location": "path",
1183+ "required": true,
1184+ "type": "string"
1185+ },
1186+ "revisionNumber": {
1187+ "description": "The last known revision number to update. If the head revision in the marketplace database has since changed, an error will be thrown. The caller should then fetch the latest proposal at head revision and retry the update at that revision.",
1188+ "format": "int64",
1189+ "location": "path",
1190+ "required": true,
1191+ "type": "string"
1192+ },
1193+ "updateAction": {
1194+ "description": "The proposed action to take on the proposal. This field is required and it must be set when updating a proposal.",
1195+ "enum": [
1196+ "accept",
1197+ "cancel",
1198+ "propose",
1199+ "proposeAndAccept",
1200+ "unknownAction",
1201+ "updateNonTerms"
1202+ ],
1203+ "enumDescriptions": [
1204+ "",
1205+ "",
1206+ "",
1207+ "",
1208+ "",
1209+ ""
1210+ ],
1211+ "location": "path",
1212+ "required": true,
1213+ "type": "string"
1214+ }
1215+ },
1216+ "path": "proposals/{proposalId}/{revisionNumber}/{updateAction}",
1217+ "request": {
1218+ "$ref": "Proposal"
1219+ },
1220+ "response": {
1221+ "$ref": "Proposal"
1222+ },
1223+ "scopes": [
1224+ "https://www.googleapis.com/auth/adexchange.buyer"
1225+ ]
1226+ }
1227+ }
895 },
1228 },
896− "nextPageToken": {
1229+ "pubprofiles": {
897− "type": "string",
1230+ "methods": {
898− "description": "Continuation token used to page through creatives. To retrieve the next page of results, set the next request's \"pageToken\" value to this."
1231+ "list": {
1232+ "description": "Gets the requested publisher profile(s) by publisher accountId.",
1233+ "httpMethod": "GET",
1234+ "id": "adexchangebuyer.pubprofiles.list",
1235+ "parameterOrder": [
1236+ "accountId"
1237+ ],
1238+ "parameters": {
1239+ "accountId": {
1240+ "description": "The accountId of the publisher to get profiles for.",
1241+ "format": "int32",
1242+ "location": "path",
1243+ "required": true,
1244+ "type": "integer"
1245+ }
1246+ },
1247+ "path": "publisher/{accountId}/profiles",
1248+ "response": {
1249+ "$ref": "GetPublisherProfilesByAccountIdResponse"
1250+ },
1251+ "scopes": [
1252+ "https://www.googleapis.com/auth/adexchange.buyer"
1253+ ]
1254+ }
1255+ }
899 }
1256 }
900− }
901 },
1257 },
902− "DateTime": {
1258+ "revision": "20180823",
903− "id": "DateTime",
1259+ "rootUrl": "https://www.googleapis.com/",
904− "type": "object",
1260+ "schemas": {
905− "properties": {
1261+ "Account": {
906− "day": {
1262+ "description": "Configuration data for an Ad Exchange buyer account.",
907− "type": "integer",
1263+ "id": "Account",
908− "format": "int32"
1264+ "properties": {
909− },
1265+ "applyPretargetingToNonGuaranteedDeals": {
910− "hour": {
1266+ "description": "When this is false, bid requests that include a deal ID for a private auction or preferred deal are always sent to your bidder. When true, all active pretargeting configs will be applied to private auctions and preferred deals. Programmatic Guaranteed deals (when enabled) are always sent to your bidder.",
911− "type": "integer",
1267+ "type": "boolean"
912− "format": "int32"
1268+ },
1269+ "bidderLocation": {
1270+ "description": "Your bidder locations that have distinct URLs.",
1271+ "items": {
1272+ "properties": {
1273+ "bidProtocol": {
1274+ "description": "The protocol that the bidder endpoint is using. OpenRTB protocols with prefix PROTOCOL_OPENRTB_PROTOBUF use proto buffer, otherwise use JSON. Allowed values: \n- PROTOCOL_ADX \n- PROTOCOL_OPENRTB_2_2 \n- PROTOCOL_OPENRTB_2_3 \n- PROTOCOL_OPENRTB_2_4 \n- PROTOCOL_OPENRTB_2_5 \n- PROTOCOL_OPENRTB_PROTOBUF_2_3 \n- PROTOCOL_OPENRTB_PROTOBUF_2_4 \n- PROTOCOL_OPENRTB_PROTOBUF_2_5",
1275+ "type": "string"
1276+ },
1277+ "maximumQps": {
1278+ "description": "The maximum queries per second the Ad Exchange will send.",
1279+ "format": "int32",
1280+ "type": "integer"
1281+ },
1282+ "region": {
1283+ "description": "The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values: \n- ASIA \n- EUROPE \n- US_EAST \n- US_WEST",
1284+ "type": "string"
1285+ },
1286+ "url": {
1287+ "description": "The URL to which the Ad Exchange will send bid requests.",
1288+ "type": "string"
1289+ }
1290+ },
1291+ "type": "object"
1292+ },
1293+ "type": "array"
1294+ },
1295+ "cookieMatchingNid": {
1296+ "description": "The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.",
1297+ "type": "string"
1298+ },
1299+ "cookieMatchingUrl": {
1300+ "description": "The base URL used in cookie match requests.",
1301+ "type": "string"
1302+ },
1303+ "id": {
1304+ "description": "Account id.",
1305+ "format": "int32",
1306+ "type": "integer"
1307+ },
1308+ "kind": {
1309+ "default": "adexchangebuyer#account",
1310+ "description": "Resource type.",
1311+ "type": "string"
1312+ },
1313+ "maximumActiveCreatives": {
1314+ "description": "The maximum number of active creatives that an account can have, where a creative is active if it was inserted or bid with in the last 30 days. Please contact your technical account manager if you need to change this.",
1315+ "format": "int32",
1316+ "type": "integer"
1317+ },
1318+ "maximumTotalQps": {
1319+ "description": "The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.",
1320+ "format": "int32",
1321+ "type": "integer"
1322+ },
1323+ "numberActiveCreatives": {
1324+ "description": "The number of creatives that this account inserted or bid with in the last 30 days.",
1325+ "format": "int32",
1326+ "type": "integer"
1327+ }
1328+ },
1329+ "type": "object"
913 },
1330 },
914− "minute": {
1331+ "AccountsList": {
915− "type": "integer",
1332+ "description": "An account feed lists Ad Exchange buyer accounts that the user has access to. Each entry in the feed corresponds to a single buyer account.",
916− "format": "int32"
1333+ "id": "AccountsList",
1334+ "properties": {
1335+ "items": {
1336+ "description": "A list of accounts.",
1337+ "items": {
1338+ "$ref": "Account"
1339+ },
1340+ "type": "array"
1341+ },
1342+ "kind": {
1343+ "default": "adexchangebuyer#accountsList",
1344+ "description": "Resource type.",
1345+ "type": "string"
1346+ }
1347+ },
1348+ "type": "object"
917 },
1349 },
918− "month": {
1350+ "AddOrderDealsRequest": {
919− "type": "integer",
1351+ "id": "AddOrderDealsRequest",
920− "format": "int32"
1352+ "properties": {
1353+ "deals": {
1354+ "description": "The list of deals to add",
1355+ "items": {
1356+ "$ref": "MarketplaceDeal"
1357+ },
1358+ "type": "array"
1359+ },
1360+ "proposalRevisionNumber": {
1361+ "description": "The last known proposal revision number.",
1362+ "format": "int64",
1363+ "type": "string"
1364+ },
1365+ "updateAction": {
1366+ "description": "Indicates an optional action to take on the proposal",
1367+ "type": "string"
1368+ }
1369+ },
1370+ "type": "object"
921 },
1371 },
922− "second": {
1372+ "AddOrderDealsResponse": {
923− "type": "integer",
1373+ "id": "AddOrderDealsResponse",
924− "format": "int32"
1374+ "properties": {
1375+ "deals": {
1376+ "description": "List of deals added (in the same proposal as passed in the request)",
1377+ "items": {
1378+ "$ref": "MarketplaceDeal"
1379+ },
1380+ "type": "array"
1381+ },
1382+ "proposalRevisionNumber": {
1383+ "description": "The updated revision number for the proposal.",
1384+ "format": "int64",
1385+ "type": "string"
1386+ }
1387+ },
1388+ "type": "object"
925 },
1389 },
926− "timeZoneId": {
1390+ "AddOrderNotesRequest": {
927− "type": "string"
1391+ "id": "AddOrderNotesRequest",
1392+ "properties": {
1393+ "notes": {
1394+ "description": "The list of notes to add.",
1395+ "items": {
1396+ "$ref": "MarketplaceNote"
1397+ },
1398+ "type": "array"
1399+ }
1400+ },
1401+ "type": "object"
928 },
1402 },
929− "year": {
1403+ "AddOrderNotesResponse": {
930− "type": "integer",
1404+ "id": "AddOrderNotesResponse",
931− "format": "int32"
1405+ "properties": {
932− }
1406+ "notes": {
933− }
1407+ "items": {
934− },
1408+ "$ref": "MarketplaceNote"
935− "DealPartyDto": {
1409+ },
936− "id": "DealPartyDto",
1410+ "type": "array"
937− "type": "object",
1411+ }
938− "properties": {
1412+ },
939− "buyer": {
1413+ "type": "object"
940− "$ref": "BuyerDto"
941 },
1414 },
942− "buyerSellerRole": {
1415+ "BillingInfo": {
943− "type": "string"
1416+ "description": "The configuration data for an Ad Exchange billing info.",
1417+ "id": "BillingInfo",
1418+ "properties": {
1419+ "accountId": {
1420+ "description": "Account id.",
1421+ "format": "int32",
1422+ "type": "integer"
1423+ },
1424+ "accountName": {
1425+ "description": "Account name.",
1426+ "type": "string"
1427+ },
1428+ "billingId": {
1429+ "description": "A list of adgroup IDs associated with this particular account. These IDs may show up as part of a realtime bidding BidRequest, which indicates a bid request for this account.",
1430+ "items": {
1431+ "type": "string"
1432+ },
1433+ "type": "array"
1434+ },
1435+ "kind": {
1436+ "default": "adexchangebuyer#billingInfo",
1437+ "description": "Resource type.",
1438+ "type": "string"
1439+ }
1440+ },
1441+ "type": "object"
944 },
1442 },
945− "customerId": {
1443+ "BillingInfoList": {
946− "type": "integer",
1444+ "description": "A billing info feed lists Billing Info the Ad Exchange buyer account has access to. Each entry in the feed corresponds to a single billing info.",
947− "format": "int32"
1445+ "id": "BillingInfoList",
1446+ "properties": {
1447+ "items": {
1448+ "description": "A list of billing info relevant for your account.",
1449+ "items": {
1450+ "$ref": "BillingInfo"
1451+ },
1452+ "type": "array"
1453+ },
1454+ "kind": {
1455+ "default": "adexchangebuyer#billingInfoList",
1456+ "description": "Resource type.",
1457+ "type": "string"
1458+ }
1459+ },
1460+ "type": "object"
948 },
1461 },
949− "name": {
1462+ "Budget": {
950− "type": "string"
1463+ "description": "The configuration data for Ad Exchange RTB - Budget API.",
1464+ "id": "Budget",
1465+ "properties": {
1466+ "accountId": {
1467+ "description": "The id of the account. This is required for get and update requests.",
1468+ "format": "int64",
1469+ "type": "string"
1470+ },
1471+ "billingId": {
1472+ "description": "The billing id to determine which adgroup to provide budget information for. This is required for get and update requests.",
1473+ "format": "int64",
1474+ "type": "string"
1475+ },
1476+ "budgetAmount": {
1477+ "description": "The daily budget amount in unit amount of the account currency to apply for the billingId provided. This is required for update requests.",
1478+ "format": "int64",
1479+ "type": "string"
1480+ },
1481+ "currencyCode": {
1482+ "description": "The currency code for the buyer. This cannot be altered here.",
1483+ "type": "string"
1484+ },
1485+ "id": {
1486+ "description": "The unique id that describes this item.",
1487+ "type": "string"
1488+ },
1489+ "kind": {
1490+ "default": "adexchangebuyer#budget",
1491+ "description": "The kind of the resource, i.e. \"adexchangebuyer#budget\".",
1492+ "type": "string"
1493+ }
1494+ },
1495+ "type": "object"
951 },
1496 },
952− "webProperty": {
1497+ "Buyer": {
953− "$ref": "WebPropertyDto"
1498+ "id": "Buyer",
954− }
1499+ "properties": {
955− }
1500+ "accountId": {
956− },
1501+ "description": "Adx account id of the buyer.",
957− "DealTerms": {
1502+ "type": "string"
958− "id": "DealTerms",
1503+ }
959− "type": "object",
1504+ },
960− "properties": {
1505+ "type": "object"
961− "description": {
962− "type": "string",
963− "description": "Description for the proposed terms of the deal."
964 },
1506 },
965− "guaranteedFixedPriceTerms": {
1507+ "ContactInformation": {
966− "$ref": "DealTermsGuaranteedFixedPriceTerms",
1508+ "id": "ContactInformation",
967− "description": "The terms for guaranteed fixed price deals."
1509+ "properties": {
1510+ "email": {
1511+ "description": "Email address of the contact.",
1512+ "type": "string"
1513+ },
1514+ "name": {
1515+ "description": "The name of the contact.",
1516+ "type": "string"
1517+ }
1518+ },
1519+ "type": "object"
968 },
1520 },
969− "nonGuaranteedAuctionTerms": {
1521+ "CreateOrdersRequest": {
970− "$ref": "DealTermsNonGuaranteedAuctionTerms",
1522+ "id": "CreateOrdersRequest",
971− "description": "The terms for non-guaranteed auction deals."
1523+ "properties": {
1524+ "proposals": {
1525+ "description": "The list of proposals to create.",
1526+ "items": {
1527+ "$ref": "Proposal"
1528+ },
1529+ "type": "array"
1530+ },
1531+ "webPropertyCode": {
1532+ "description": "Web property id of the seller creating these orders",
1533+ "type": "string"
1534+ }
1535+ },
1536+ "type": "object"
972 },
1537 },
973− "nonGuaranteedFixedPriceTerms": {
1538+ "CreateOrdersResponse": {
974− "$ref": "DealTermsNonGuaranteedFixedPriceTerms",
1539+ "id": "CreateOrdersResponse",
975− "description": "The terms for non-guaranteed fixed price deals."
1540+ "properties": {
976− }
1541+ "proposals": {
977− }
1542+ "description": "The list of proposals successfully created.",
978− },
1543+ "items": {
979− "DealTermsGuaranteedFixedPriceTerms": {
1544+ "$ref": "Proposal"
980− "id": "DealTermsGuaranteedFixedPriceTerms",
1545+ },
981− "type": "object",
1546+ "type": "array"
982− "properties": {
1547+ }
983− "fixedPrices": {
1548+ },
984− "type": "array",
1549+ "type": "object"
985− "description": "Fixed price for the specified buyer.",
986− "items": {
987− "$ref": "PricePerBuyer"
988− }
989 },
1550 },
990− "guaranteedImpressions": {
1551+ "Creative": {
991− "type": "string",
1552+ "description": "A creative and its classification data.",
992− "description": "Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.",
1553+ "id": "Creative",
993− "format": "int64"
1554+ "properties": {
1555+ "HTMLSnippet": {
1556+ "description": "The HTML snippet that displays the ad when inserted in the web page. If set, videoURL, videoVastXML, and nativeAd should not be set.",
1557+ "type": "string"
1558+ },
1559+ "accountId": {
1560+ "annotations": {
1561+ "required": [
1562+ "adexchangebuyer.creatives.insert"
1563+ ]
1564+ },
1565+ "description": "Account id.",
1566+ "format": "int32",
1567+ "type": "integer"
1568+ },
1569+ "adChoicesDestinationUrl": {
1570+ "description": "The link to the Ad Preferences page. This is only supported for native ads.",
1571+ "type": "string"
1572+ },
1573+ "advertiserId": {
1574+ "description": "Detected advertiser id, if any. Read-only. This field should not be set in requests.",
1575+ "items": {
1576+ "format": "int64",
1577+ "type": "string"
1578+ },
1579+ "type": "array"
1580+ },
1581+ "advertiserName": {
1582+ "annotations": {
1583+ "required": [
1584+ "adexchangebuyer.creatives.insert"
1585+ ]
1586+ },
1587+ "description": "The name of the company being advertised in the creative. The value provided must exist in the advertisers.txt file.",
1588+ "type": "string"
1589+ },
1590+ "agencyId": {
1591+ "description": "The agency id for this creative.",
1592+ "format": "int64",
1593+ "type": "string"
1594+ },
1595+ "apiUploadTimestamp": {
1596+ "description": "The last upload timestamp of this creative if it was uploaded via API. Read-only. The value of this field is generated, and will be ignored for uploads. (formatted RFC 3339 timestamp).",
1597+ "format": "date-time",
1598+ "type": "string"
1599+ },
1600+ "attribute": {
1601+ "description": "List of buyer selectable attributes for the ads that may be shown from this snippet. Each attribute is represented by an integer as defined in buyer-declarable-creative-attributes.txt.",
1602+ "items": {
1603+ "format": "int32",
1604+ "type": "integer"
1605+ },
1606+ "type": "array"
1607+ },
1608+ "buyerCreativeId": {
1609+ "annotations": {
1610+ "required": [
1611+ "adexchangebuyer.creatives.insert"
1612+ ]
1613+ },
1614+ "description": "A buyer-specific id identifying the creative in this ad.",
1615+ "type": "string"
1616+ },
1617+ "clickThroughUrl": {
1618+ "annotations": {
1619+ "required": [
1620+ "adexchangebuyer.creatives.insert"
1621+ ]
1622+ },
1623+ "description": "The set of destination urls for the snippet.",
1624+ "items": {
1625+ "type": "string"
1626+ },
1627+ "type": "array"
1628+ },
1629+ "corrections": {
1630+ "description": "Shows any corrections that were applied to this creative. Read-only. This field should not be set in requests.",
1631+ "items": {
1632+ "properties": {
1633+ "contexts": {
1634+ "description": "All known serving contexts containing serving status information.",
1635+ "items": {
1636+ "properties": {
1637+ "auctionType": {
1638+ "description": "Only set when contextType=AUCTION_TYPE. Represents the auction types this correction applies to.",
1639+ "items": {
1640+ "type": "string"
1641+ },
1642+ "type": "array"
1643+ },
1644+ "contextType": {
1645+ "description": "The type of context (e.g., location, platform, auction type, SSL-ness).",
1646+ "type": "string"
1647+ },
1648+ "geoCriteriaId": {
1649+ "description": "Only set when contextType=LOCATION. Represents the geo criterias this correction applies to.",
1650+ "items": {
1651+ "format": "int32",
1652+ "type": "integer"
1653+ },
1654+ "type": "array"
1655+ },
1656+ "platform": {
1657+ "description": "Only set when contextType=PLATFORM. Represents the platforms this correction applies to.",
1658+ "items": {
1659+ "type": "string"
1660+ },
1661+ "type": "array"
1662+ }
1663+ },
1664+ "type": "object"
1665+ },
1666+ "type": "array"
1667+ },
1668+ "details": {
1669+ "description": "Additional details about the correction.",
1670+ "items": {
1671+ "type": "string"
1672+ },
1673+ "type": "array"
1674+ },
1675+ "reason": {
1676+ "description": "The type of correction that was applied to the creative.",
1677+ "type": "string"
1678+ }
1679+ },
1680+ "type": "object"
1681+ },
1682+ "type": "array"
1683+ },
1684+ "creativeStatusIdentityType": {
1685+ "description": "Creative status identity type that the creative item applies to. Ad Exchange real-time bidding is migrating to the sizeless creative verification. Originally, Ad Exchange assigned creative verification status to a unique combination of a buyer creative ID and creative dimensions. Post-migration, a single verification status will be assigned at the buyer creative ID level. This field allows to distinguish whether a given creative status applies to a unique combination of a buyer creative ID and creative dimensions, or to a buyer creative ID as a whole.",
1686+ "type": "string"
1687+ },
1688+ "dealsStatus": {
1689+ "description": "Top-level deals status. Read-only. This field should not be set in requests. If disapproved, an entry for auctionType=DIRECT_DEALS (or ALL) in servingRestrictions will also exist. Note that this may be nuanced with other contextual restrictions, in which case it may be preferable to read from servingRestrictions directly.",
1690+ "type": "string"
1691+ },
1692+ "detectedDomains": {
1693+ "description": "Detected domains for this creative. Read-only. This field should not be set in requests.",
1694+ "items": {
1695+ "type": "string"
1696+ },
1697+ "type": "array"
1698+ },
1699+ "filteringReasons": {
1700+ "description": "The filtering reasons for the creative. Read-only. This field should not be set in requests.",
1701+ "properties": {
1702+ "date": {
1703+ "description": "The date in ISO 8601 format for the data. The data is collected from 00:00:00 to 23:59:59 in PST.",
1704+ "type": "string"
1705+ },
1706+ "reasons": {
1707+ "description": "The filtering reasons.",
1708+ "items": {
1709+ "properties": {
1710+ "filteringCount": {
1711+ "description": "The number of times the creative was filtered for the status. The count is aggregated across all publishers on the exchange.",
1712+ "format": "int64",
1713+ "type": "string"
1714+ },
1715+ "filteringStatus": {
1716+ "description": "The filtering status code as defined in creative-status-codes.txt.",
1717+ "format": "int32",
1718+ "type": "integer"
1719+ }
1720+ },
1721+ "type": "object"
1722+ },
1723+ "type": "array"
1724+ }
1725+ },
1726+ "type": "object"
1727+ },
1728+ "height": {
1729+ "annotations": {
1730+ "required": [
1731+ "adexchangebuyer.creatives.insert"
1732+ ]
1733+ },
1734+ "description": "Ad height.",
1735+ "format": "int32",
1736+ "type": "integer"
1737+ },
1738+ "impressionTrackingUrl": {
1739+ "description": "The set of urls to be called to record an impression.",
1740+ "items": {
1741+ "type": "string"
1742+ },
1743+ "type": "array"
1744+ },
1745+ "kind": {
1746+ "default": "adexchangebuyer#creative",
1747+ "description": "Resource type.",
1748+ "type": "string"
1749+ },
1750+ "languages": {
1751+ "description": "Detected languages for this creative. Read-only. This field should not be set in requests.",
1752+ "items": {
1753+ "type": "string"
1754+ },
1755+ "type": "array"
1756+ },
1757+ "nativeAd": {
1758+ "description": "If nativeAd is set, HTMLSnippet, videoVastXML, and the videoURL outside of nativeAd should not be set. (The videoURL inside nativeAd can be set.)",
1759+ "properties": {
1760+ "advertiser": {
1761+ "type": "string"
1762+ },
1763+ "appIcon": {
1764+ "description": "The app icon, for app download ads.",
1765+ "properties": {
1766+ "height": {
1767+ "format": "int32",
1768+ "type": "integer"
1769+ },
1770+ "url": {
1771+ "type": "string"
1772+ },
1773+ "width": {
1774+ "format": "int32",
1775+ "type": "integer"
1776+ }
1777+ },
1778+ "type": "object"
1779+ },
1780+ "body": {
1781+ "description": "A long description of the ad.",
1782+ "type": "string"
1783+ },
1784+ "callToAction": {
1785+ "description": "A label for the button that the user is supposed to click.",
1786+ "type": "string"
1787+ },
1788+ "clickLinkUrl": {
1789+ "description": "The URL that the browser/SDK will load when the user clicks the ad.",
1790+ "type": "string"
1791+ },
1792+ "clickTrackingUrl": {
1793+ "description": "The URL to use for click tracking.",
1794+ "type": "string"
1795+ },
1796+ "headline": {
1797+ "description": "A short title for the ad.",
1798+ "type": "string"
1799+ },
1800+ "image": {
1801+ "description": "A large image.",
1802+ "properties": {
1803+ "height": {
1804+ "format": "int32",
1805+ "type": "integer"
1806+ },
1807+ "url": {
1808+ "type": "string"
1809+ },
1810+ "width": {
1811+ "format": "int32",
1812+ "type": "integer"
1813+ }
1814+ },
1815+ "type": "object"
1816+ },
1817+ "impressionTrackingUrl": {
1818+ "description": "The URLs are called when the impression is rendered.",
1819+ "items": {
1820+ "type": "string"
1821+ },
1822+ "type": "array"
1823+ },
1824+ "logo": {
1825+ "description": "A smaller image, for the advertiser logo.",
1826+ "properties": {
1827+ "height": {
1828+ "format": "int32",
1829+ "type": "integer"
1830+ },
1831+ "url": {
1832+ "type": "string"
1833+ },
1834+ "width": {
1835+ "format": "int32",
1836+ "type": "integer"
1837+ }
1838+ },
1839+ "type": "object"
1840+ },
1841+ "price": {
1842+ "description": "The price of the promoted app including the currency info.",
1843+ "type": "string"
1844+ },
1845+ "starRating": {
1846+ "description": "The app rating in the app store. Must be in the range [0-5].",
1847+ "format": "double",
1848+ "type": "number"
1849+ },
1850+ "store": {
1851+ "description": "The URL to the app store to purchase/download the promoted app.",
1852+ "type": "string"
1853+ },
1854+ "videoURL": {
1855+ "description": "The URL of the XML VAST for a native ad. Note this is a separate field from resource.video_url.",
1856+ "type": "string"
1857+ }
1858+ },
1859+ "type": "object"
1860+ },
1861+ "openAuctionStatus": {
1862+ "description": "Top-level open auction status. Read-only. This field should not be set in requests. If disapproved, an entry for auctionType=OPEN_AUCTION (or ALL) in servingRestrictions will also exist. Note that this may be nuanced with other contextual restrictions, in which case it may be preferable to read from ServingRestrictions directly.",
1863+ "type": "string"
1864+ },
1865+ "productCategories": {
1866+ "description": "Detected product categories, if any. Each category is represented by an integer as defined in ad-product-categories.txt. Read-only. This field should not be set in requests.",
1867+ "items": {
1868+ "format": "int32",
1869+ "type": "integer"
1870+ },
1871+ "type": "array"
1872+ },
1873+ "restrictedCategories": {
1874+ "description": "All restricted categories for the ads that may be shown from this snippet. Each category is represented by an integer as defined in the ad-restricted-categories.txt.",
1875+ "items": {
1876+ "format": "int32",
1877+ "type": "integer"
1878+ },
1879+ "type": "array"
1880+ },
1881+ "sensitiveCategories": {
1882+ "description": "Detected sensitive categories, if any. Each category is represented by an integer as defined in ad-sensitive-categories.txt. Read-only. This field should not be set in requests.",
1883+ "items": {
1884+ "format": "int32",
1885+ "type": "integer"
1886+ },
1887+ "type": "array"
1888+ },
1889+ "servingRestrictions": {
1890+ "description": "The granular status of this ad in specific contexts. A context here relates to where something ultimately serves (for example, a physical location, a platform, an HTTPS vs HTTP request, or the type of auction). Read-only. This field should not be set in requests. See the examples in the Creatives guide for more details.",
1891+ "items": {
1892+ "properties": {
1893+ "contexts": {
1894+ "description": "All known contexts/restrictions.",
1895+ "items": {
1896+ "properties": {
1897+ "auctionType": {
1898+ "description": "Only set when contextType=AUCTION_TYPE. Represents the auction types this restriction applies to.",
1899+ "items": {
1900+ "type": "string"
1901+ },
1902+ "type": "array"
1903+ },
1904+ "contextType": {
1905+ "description": "The type of context (e.g., location, platform, auction type, SSL-ness).",
1906+ "type": "string"
1907+ },
1908+ "geoCriteriaId": {
1909+ "description": "Only set when contextType=LOCATION. Represents the geo criterias this restriction applies to. Impressions are considered to match a context if either the user location or publisher location matches a given geoCriteriaId.",
1910+ "items": {
1911+ "format": "int32",
1912+ "type": "integer"
1913+ },
1914+ "type": "array"
1915+ },
1916+ "platform": {
1917+ "description": "Only set when contextType=PLATFORM. Represents the platforms this restriction applies to.",
1918+ "items": {
1919+ "type": "string"
1920+ },
1921+ "type": "array"
1922+ }
1923+ },
1924+ "type": "object"
1925+ },
1926+ "type": "array"
1927+ },
1928+ "disapprovalReasons": {
1929+ "description": "The reasons for disapproval within this restriction, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED or CONDITIONALLY_APPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue.",
1930+ "items": {
1931+ "properties": {
1932+ "details": {
1933+ "description": "Additional details about the reason for disapproval.",
1934+ "items": {
1935+ "type": "string"
1936+ },
1937+ "type": "array"
1938+ },
1939+ "reason": {
1940+ "description": "The categorized reason for disapproval.",
1941+ "type": "string"
1942+ }
1943+ },
1944+ "type": "object"
1945+ },
1946+ "type": "array"
1947+ },
1948+ "reason": {
1949+ "description": "Why the creative is ineligible to serve in this context (e.g., it has been explicitly disapproved or is pending review).",
1950+ "type": "string"
1951+ }
1952+ },
1953+ "type": "object"
1954+ },
1955+ "type": "array"
1956+ },
1957+ "vendorType": {
1958+ "description": "List of vendor types for the ads that may be shown from this snippet. Each vendor type is represented by an integer as defined in vendors.txt.",
1959+ "items": {
1960+ "format": "int32",
1961+ "type": "integer"
1962+ },
1963+ "type": "array"
1964+ },
1965+ "version": {
1966+ "description": "The version for this creative. Read-only. This field should not be set in requests.",
1967+ "format": "int32",
1968+ "type": "integer"
1969+ },
1970+ "videoURL": {
1971+ "description": "The URL to fetch a video ad. If set, HTMLSnippet, videoVastXML, and nativeAd should not be set. Note, this is different from resource.native_ad.video_url above.",
1972+ "type": "string"
1973+ },
1974+ "videoVastXML": {
1975+ "description": "The contents of a VAST document for a video ad. This document should conform to the VAST 2.0 or 3.0 standard. If set, HTMLSnippet, videoURL, and nativeAd and should not be set.",
1976+ "type": "string"
1977+ },
1978+ "width": {
1979+ "annotations": {
1980+ "required": [
1981+ "adexchangebuyer.creatives.insert"
1982+ ]
1983+ },
1984+ "description": "Ad width.",
1985+ "format": "int32",
1986+ "type": "integer"
1987+ }
1988+ },
1989+ "type": "object"
994 },
1990 },
995− "guaranteedLooks": {
1991+ "CreativeDealIds": {
996− "type": "string",
1992+ "description": "The external deal ids associated with a creative.",
997− "description": "Count of guaranteed looks. Required for deal, optional for offer.",
1993+ "id": "CreativeDealIds",
998− "format": "int64"
1994+ "properties": {
999− }
1995+ "dealStatuses": {
1000− }
1996+ "description": "A list of external deal ids and ARC approval status.",
1001− },
1997+ "items": {
1002− "DealTermsNonGuaranteedAuctionTerms": {
1998+ "properties": {
1003− "id": "DealTermsNonGuaranteedAuctionTerms",
1999+ "arcStatus": {
1004− "type": "object",
2000+ "description": "ARC approval status.",
1005− "properties": {
2001+ "type": "string"
1006− "privateAuctionId": {
2002+ },
1007− "type": "string",
2003+ "dealId": {
1008− "description": "Id of the corresponding private auction."
2004+ "description": "External deal ID.",
2005+ "format": "int64",
2006+ "type": "string"
2007+ },
2008+ "webPropertyId": {
2009+ "description": "Publisher ID.",
2010+ "format": "int32",
2011+ "type": "integer"
2012+ }
2013+ },
2014+ "type": "object"
2015+ },
2016+ "type": "array"
2017+ },
2018+ "kind": {
2019+ "default": "adexchangebuyer#creativeDealIds",
2020+ "description": "Resource type.",
2021+ "type": "string"
2022+ }
2023+ },
2024+ "type": "object"
1009 },
2025 },
1010− "reservePricePerBuyers": {
2026+ "CreativesList": {
1011− "type": "array",
2027+ "description": "The creatives feed lists the active creatives for the Ad Exchange buyer accounts that the user has access to. Each entry in the feed corresponds to a single creative.",
1012− "description": "Reserve price for the specified buyer.",
2028+ "id": "CreativesList",
1013− "items": {
2029+ "properties": {
1014− "$ref": "PricePerBuyer"
2030+ "items": {
1015− }
2031+ "description": "A list of creatives.",
1016− }
2032+ "items": {
1017− }
2033+ "$ref": "Creative"
1018− },
2034+ },
1019− "DealTermsNonGuaranteedFixedPriceTerms": {
2035+ "type": "array"
1020− "id": "DealTermsNonGuaranteedFixedPriceTerms",
2036+ },
1021− "type": "object",
2037+ "kind": {
1022− "properties": {
2038+ "default": "adexchangebuyer#creativesList",
1023− "fixedPrices": {
2039+ "description": "Resource type.",
1024− "type": "array",
2040+ "type": "string"
1025− "description": "Fixed price for the specified buyer.",
2041+ },
1026− "items": {
2042+ "nextPageToken": {
1027− "$ref": "PricePerBuyer"
2043+ "description": "Continuation token used to page through creatives. To retrieve the next page of results, set the next request's \"pageToken\" value to this.",
1028− }
2044+ "type": "string"
1029− }
2045+ }
1030− }
2046+ },
1031− },
2047+ "type": "object"
1032− "DeleteOrderDealsRequest": {
1033− "id": "DeleteOrderDealsRequest",
1034− "type": "object",
1035− "properties": {
1036− "dealIds": {
1037− "type": "array",
1038− "description": "List of deals to delete for a given order",
1039− "items": {
1040− "type": "string"
1041− }
1042 },
2048 },
1043− "orderRevisionNumber": {
2049+ "DealServingMetadata": {
1044− "type": "string",
2050+ "id": "DealServingMetadata",
1045− "description": "The last known order revision number.",
2051+ "properties": {
1046− "format": "int64"
2052+ "alcoholAdsAllowed": {
2053+ "description": "True if alcohol ads are allowed for this deal (read-only). This field is only populated when querying for finalized orders using the method GetFinalizedOrderDeals",
2054+ "type": "boolean"
2055+ },
2056+ "dealPauseStatus": {
2057+ "$ref": "DealServingMetadataDealPauseStatus",
2058+ "description": "Tracks which parties (if any) have paused a deal. (readonly, except via PauseResumeOrderDeals action)"
2059+ }
2060+ },
2061+ "type": "object"
1047 },
2062 },
1048− "updateAction": {
2063+ "DealServingMetadataDealPauseStatus": {
1049− "type": "string"
2064+ "description": "Tracks which parties (if any) have paused a deal. The deal is considered paused if has_buyer_paused || has_seller_paused. Each of the has_buyer_paused or the has_seller_paused bits can be set independently.",
1050− }
2065+ "id": "DealServingMetadataDealPauseStatus",
1051− }
2066+ "properties": {
1052− },
2067+ "buyerPauseReason": {
1053− "DeleteOrderDealsResponse": {
2068+ "type": "string"
1054− "id": "DeleteOrderDealsResponse",
2069+ },
1055− "type": "object",
2070+ "firstPausedBy": {
1056− "properties": {
2071+ "description": "If the deal is paused, records which party paused the deal first.",
1057− "deals": {
2072+ "type": "string"
1058− "type": "array",
2073+ },
1059− "description": "List of deals deleted (in the same order as passed in the request)",
2074+ "hasBuyerPaused": {
1060− "items": {
2075+ "type": "boolean"
1061− "$ref": "MarketplaceDeal"
2076+ },
1062− }
2077+ "hasSellerPaused": {
2078+ "type": "boolean"
2079+ },
2080+ "sellerPauseReason": {
2081+ "type": "string"
2082+ }
2083+ },
2084+ "type": "object"
1063 },
2085 },
1064− "orderRevisionNumber": {
2086+ "DealTerms": {
1065− "type": "string",
2087+ "id": "DealTerms",
1066− "description": "The updated revision number for the order.",
2088+ "properties": {
1067− "format": "int64"
2089+ "brandingType": {
1068− }
2090+ "description": "Visibilty of the URL in bid requests.",
1069− }
2091+ "type": "string"
1070− },
2092+ },
1071− "DeliveryControl": {
2093+ "crossListedExternalDealIdType": {
1072− "id": "DeliveryControl",
2094+ "description": "Indicates that this ExternalDealId exists under at least two different AdxInventoryDeals. Currently, the only case that the same ExternalDealId will exist is programmatic cross sell case.",
1073− "type": "object",
2095+ "type": "string"
1074− "properties": {
2096+ },
1075− "deliveryRateType": {
2097+ "description": {
1076− "type": "string"
2098+ "description": "Description for the proposed terms of the deal.",
2099+ "type": "string"
2100+ },
2101+ "estimatedGrossSpend": {
2102+ "$ref": "Price",
2103+ "description": "Non-binding estimate of the estimated gross spend for this deal Can be set by buyer or seller."
2104+ },
2105+ "estimatedImpressionsPerDay": {
2106+ "description": "Non-binding estimate of the impressions served per day Can be set by buyer or seller.",
2107+ "format": "int64",
2108+ "type": "string"
2109+ },
2110+ "guaranteedFixedPriceTerms": {
2111+ "$ref": "DealTermsGuaranteedFixedPriceTerms",
2112+ "description": "The terms for guaranteed fixed price deals."
2113+ },
2114+ "nonGuaranteedAuctionTerms": {
2115+ "$ref": "DealTermsNonGuaranteedAuctionTerms",
2116+ "description": "The terms for non-guaranteed auction deals."
2117+ },
2118+ "nonGuaranteedFixedPriceTerms": {
2119+ "$ref": "DealTermsNonGuaranteedFixedPriceTerms",
2120+ "description": "The terms for non-guaranteed fixed price deals."
2121+ },
2122+ "rubiconNonGuaranteedTerms": {
2123+ "$ref": "DealTermsRubiconNonGuaranteedTerms",
2124+ "description": "The terms for rubicon non-guaranteed deals."
2125+ },
2126+ "sellerTimeZone": {
2127+ "description": "For deals with Cost Per Day billing, defines the timezone used to mark the boundaries of a day (buyer-readonly)",
2128+ "type": "string"
2129+ }
2130+ },
2131+ "type": "object"
1077 },
2132 },
1078− "frequencyCaps": {
2133+ "DealTermsGuaranteedFixedPriceTerms": {
1079− "type": "array",
2134+ "id": "DealTermsGuaranteedFixedPriceTerms",
1080− "items": {
2135+ "properties": {
1081− "$ref": "DeliveryControlFrequencyCap"
2136+ "billingInfo": {
1082− }
2137+ "$ref": "DealTermsGuaranteedFixedPriceTermsBillingInfo",
1083− }
2138+ "description": "External billing info for this Deal. This field is relevant when external billing info such as price has a different currency code than DFP/AdX."
1084− }
2139+ },
1085− },
2140+ "fixedPrices": {
1086− "DeliveryControlFrequencyCap": {
2141+ "description": "Fixed price for the specified buyer.",
1087− "id": "DeliveryControlFrequencyCap",
2142+ "items": {
1088− "type": "object",
2143+ "$ref": "PricePerBuyer"
1089− "properties": {
2144+ },
1090− "maxImpressions": {
2145+ "type": "array"
1091− "type": "integer",
2146+ },
1092− "format": "int32"
2147+ "guaranteedImpressions": {
2148+ "description": "Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.",
2149+ "format": "int64",
2150+ "type": "string"
2151+ },
2152+ "guaranteedLooks": {
2153+ "description": "Count of guaranteed looks. Required for deal, optional for product. For CPD deals, buyer changes to guaranteed_looks will be ignored.",
2154+ "format": "int64",
2155+ "type": "string"
2156+ },
2157+ "minimumDailyLooks": {
2158+ "description": "Count of minimum daily looks for a CPD deal. For CPD deals, buyer should negotiate on this field instead of guaranteed_looks.",
2159+ "format": "int64",
2160+ "type": "string"
2161+ }
2162+ },
2163+ "type": "object"
1093 },
2164 },
1094− "numTimeUnits": {
2165+ "DealTermsGuaranteedFixedPriceTermsBillingInfo": {
1095− "type": "integer",
2166+ "id": "DealTermsGuaranteedFixedPriceTermsBillingInfo",
1096− "format": "int32"
2167+ "properties": {
2168+ "currencyConversionTimeMs": {
2169+ "description": "The timestamp (in ms since epoch) when the original reservation price for the deal was first converted to DFP currency. This is used to convert the contracted price into buyer's currency without discrepancy.",
2170+ "format": "int64",
2171+ "type": "string"
2172+ },
2173+ "dfpLineItemId": {
2174+ "description": "The DFP line item id associated with this deal. For features like CPD, buyers can retrieve the DFP line item for billing reconciliation.",
2175+ "format": "int64",
2176+ "type": "string"
2177+ },
2178+ "originalContractedQuantity": {
2179+ "description": "The original contracted quantity (# impressions) for this deal. To ensure delivery, sometimes the publisher will book the deal with a impression buffer, such that guaranteed_looks is greater than the contracted quantity. However clients are billed using the original contracted quantity.",
2180+ "format": "int64",
2181+ "type": "string"
2182+ },
2183+ "price": {
2184+ "$ref": "Price",
2185+ "description": "The original reservation price for the deal, if the currency code is different from the one used in negotiation."
2186+ }
2187+ },
2188+ "type": "object"
1097 },
2189 },
1098− "timeUnitType": {
2190+ "DealTermsNonGuaranteedAuctionTerms": {
1099− "type": "string"
2191+ "id": "DealTermsNonGuaranteedAuctionTerms",
1100− }
2192+ "properties": {
1101− }
2193+ "autoOptimizePrivateAuction": {
1102− },
2194+ "description": "True if open auction buyers are allowed to compete with invited buyers in this private auction (buyer-readonly).",
1103− "EditAllOrderDealsRequest": {
2195+ "type": "boolean"
1104− "id": "EditAllOrderDealsRequest",
2196+ },
1105− "type": "object",
2197+ "reservePricePerBuyers": {
1106− "properties": {
2198+ "description": "Reserve price for the specified buyer.",
1107− "deals": {
2199+ "items": {
1108− "type": "array",
2200+ "$ref": "PricePerBuyer"
1109− "description": "List of deals to edit. Service may perform 3 different operations based on comparison of deals in this list vs deals already persisted in database: 1. Add new deal to order If a deal in this list does not exist in the order, the service will create a new deal and add it to the order. Validation will follow AddOrderDealsRequest. 2. Update existing deal in the order If a deal in this list already exist in the order, the service will update that existing deal to this new deal in the request. Validation will follow UpdateOrderDealsRequest. 3. Delete deals from the order (just need the id) If a existing deal in the order is not present in this list, the service will delete that deal from the order. Validation will follow DeleteOrderDealsRequest.",
2201+ },
1110− "items": {
2202+ "type": "array"
1111− "$ref": "MarketplaceDeal"
2203+ }
1112− }
2204+ },
2205+ "type": "object"
1113 },
2206 },
1114− "order": {
2207+ "DealTermsNonGuaranteedFixedPriceTerms": {
1115− "$ref": "MarketplaceOrder",
2208+ "id": "DealTermsNonGuaranteedFixedPriceTerms",
1116− "description": "If specified, also updates the order in the batch transaction. This is useful when the order and the deals need to be updated in one transaction."
2209+ "properties": {
2210+ "fixedPrices": {
2211+ "description": "Fixed price for the specified buyer.",
2212+ "items": {
2213+ "$ref": "PricePerBuyer"
2214+ },
2215+ "type": "array"
2216+ }
2217+ },
2218+ "type": "object"
1117 },
2219 },
1118− "orderRevisionNumber": {
2220+ "DealTermsRubiconNonGuaranteedTerms": {
1119− "type": "string",
2221+ "id": "DealTermsRubiconNonGuaranteedTerms",
1120− "description": "The last known revision number for the order.",
2222+ "properties": {
1121− "format": "int64"
2223+ "priorityPrice": {
2224+ "$ref": "Price",
2225+ "description": "Optional price for Rubicon priority access in the auction."
2226+ },
2227+ "standardPrice": {
2228+ "$ref": "Price",
2229+ "description": "Optional price for Rubicon standard access in the auction."
2230+ }
2231+ },
2232+ "type": "object"
1122 },
2233 },
1123− "updateAction": {
2234+ "DeleteOrderDealsRequest": {
1124− "type": "string",
2235+ "id": "DeleteOrderDealsRequest",
1125− "description": "Indicates an optional action to take on the order"
2236+ "properties": {
1126− }
2237+ "dealIds": {
1127− }
2238+ "description": "List of deals to delete for a given proposal",
1128− },
2239+ "items": {
1129− "EditAllOrderDealsResponse": {
2240+ "type": "string"
1130− "id": "EditAllOrderDealsResponse",
2241+ },
1131− "type": "object",
2242+ "type": "array"
1132− "properties": {
2243+ },
1133− "deals": {
2244+ "proposalRevisionNumber": {
1134− "type": "array",
2245+ "description": "The last known proposal revision number.",
1135− "description": "List of all deals in the order after edit.",
2246+ "format": "int64",
1136− "items": {
2247+ "type": "string"
1137− "$ref": "MarketplaceDeal"
2248+ },
1138− }
2249+ "updateAction": {
1139− }
2250+ "description": "Indicates an optional action to take on the proposal",
1140− }
2251+ "type": "string"
1141− },
2252+ }
1142− "EditHistoryDto": {
2253+ },
1143− "id": "EditHistoryDto",
2254+ "type": "object"
1144− "type": "object",
1145− "properties": {
1146− "createdByLoginName": {
1147− "type": "string"
1148 },
2255 },
1149− "createdTimeStamp": {
2256+ "DeleteOrderDealsResponse": {
1150− "type": "string",
2257+ "id": "DeleteOrderDealsResponse",
1151− "format": "int64"
2258+ "properties": {
2259+ "deals": {
2260+ "description": "List of deals deleted (in the same proposal as passed in the request)",
2261+ "items": {
2262+ "$ref": "MarketplaceDeal"
2263+ },
2264+ "type": "array"
2265+ },
2266+ "proposalRevisionNumber": {
2267+ "description": "The updated revision number for the proposal.",
2268+ "format": "int64",
2269+ "type": "string"
2270+ }
2271+ },
2272+ "type": "object"
1152 },
2273 },
1153− "lastUpdateTimeStamp": {
2274+ "DeliveryControl": {
1154− "type": "string",
2275+ "id": "DeliveryControl",
1155− "format": "int64"
2276+ "properties": {
2277+ "creativeBlockingLevel": {
2278+ "type": "string"
2279+ },
2280+ "deliveryRateType": {
2281+ "type": "string"
2282+ },
2283+ "frequencyCaps": {
2284+ "items": {
2285+ "$ref": "DeliveryControlFrequencyCap"
2286+ },
2287+ "type": "array"
2288+ }
2289+ },
2290+ "type": "object"
1156 },
2291 },
1157− "lastUpdatedByLoginName": {
2292+ "DeliveryControlFrequencyCap": {
1158− "type": "string"
2293+ "id": "DeliveryControlFrequencyCap",
1159− }
2294+ "properties": {
1160− }
2295+ "maxImpressions": {
1161− },
2296+ "format": "int32",
1162− "GetFinalizedNegotiationByExternalDealIdRequest": {
2297+ "type": "integer"
1163− "id": "GetFinalizedNegotiationByExternalDealIdRequest",
2298+ },
1164− "type": "object",
2299+ "numTimeUnits": {
1165− "properties": {
2300+ "format": "int32",
1166− "includePrivateAuctions": {
2301+ "type": "integer"
1167− "type": "boolean"
2302+ },
1168− }
2303+ "timeUnitType": {
1169− }
2304+ "type": "string"
1170− },
2305+ }
1171− "GetNegotiationByIdRequest": {
2306+ },
1172− "id": "GetNegotiationByIdRequest",
2307+ "type": "object"
1173− "type": "object",
1174− "properties": {
1175− "includePrivateAuctions": {
1176− "type": "boolean"
1177− }
1178− }
1179− },
1180− "GetNegotiationsRequest": {
1181− "id": "GetNegotiationsRequest",
1182− "type": "object",
1183− "properties": {
1184− "finalized": {
1185− "type": "boolean"
1186 },
2308 },
1187− "includePrivateAuctions": {
2309+ "Dimension": {
1188− "type": "boolean"
2310+ "description": "This message carries publisher provided breakdown. E.g. {dimension_type: 'COUNTRY', [{dimension_value: {id: 1, name: 'US'}}, {dimension_value: {id: 2, name: 'UK'}}]}",
2311+ "id": "Dimension",
2312+ "properties": {
2313+ "dimensionType": {
2314+ "type": "string"
2315+ },
2316+ "dimensionValues": {
2317+ "items": {
2318+ "$ref": "DimensionDimensionValue"
2319+ },
2320+ "type": "array"
2321+ }
2322+ },
2323+ "type": "object"
1189 },
2324 },
1190− "sinceTimestampMillis": {
2325+ "DimensionDimensionValue": {
1191− "type": "string",
2326+ "description": "Value of the dimension.",
1192− "format": "int64"
2327+ "id": "DimensionDimensionValue",
1193− }
1194− }
1195− },
1196− "GetNegotiationsResponse": {
1197− "id": "GetNegotiationsResponse",
1198− "type": "object",
1199− "properties": {
1200− "kind": {
1201− "type": "string",
1202− "default": "adexchangebuyer#negotiationsList"
1203− },
1204− "negotiations": {
1205− "type": "array",
1206− "items": {
1207− "$ref": "NegotiationDto"
1208− }
1209− }
1210− }
1211− },
1212− "GetOffersResponse": {
1213− "id": "GetOffersResponse",
1214− "type": "object",
1215− "properties": {
1216− "offers": {
1217− "type": "array",
1218− "description": "The returned list of offers.",
1219− "items": {
1220− "$ref": "MarketplaceOffer"
1221− }
1222− }
1223− }
1224− },
1225− "GetOrderDealsResponse": {
1226− "id": "GetOrderDealsResponse",
1227− "type": "object",
1228− "properties": {
1229− "deals": {
1230− "type": "array",
1231− "description": "List of deals for the order",
1232− "items": {
1233− "$ref": "MarketplaceDeal"
1234− }
1235− }
1236− }
1237− },
1238− "GetOrderNotesResponse": {
1239− "id": "GetOrderNotesResponse",
1240− "type": "object",
1241− "properties": {
1242− "notes": {
1243− "type": "array",
1244− "description": "The list of matching notes.",
1245− "items": {
1246− "$ref": "MarketplaceNote"
1247− }
1248− }
1249− }
1250− },
1251− "GetOrdersResponse": {
1252− "id": "GetOrdersResponse",
1253− "type": "object",
1254− "properties": {
1255− "orders": {
1256− "type": "array",
1257− "description": "The list of matching orders.",
1258− "items": {
1259− "$ref": "MarketplaceOrder"
1260− }
1261− }
1262− }
1263− },
1264− "InventorySegmentTargeting": {
1265− "id": "InventorySegmentTargeting",
1266− "type": "object",
1267− "properties": {
1268− "negativeAdSizes": {
1269− "type": "array",
1270− "items": {
1271− "$ref": "AdSize"
1272− }
1273− },
1274− "negativeAdTypeSegments": {
1275− "type": "array",
1276− "items": {
1277− "type": "string"
1278− }
1279− },
1280− "negativeAudienceSegments": {
1281− "type": "array",
1282− "items": {
1283− "type": "string",
1284− "format": "int64"
1285− }
1286− },
1287− "negativeDeviceCategories": {
1288− "type": "array",
1289− "items": {
1290− "type": "string",
1291− "format": "int64"
1292− }
1293− },
1294− "negativeIcmBrands": {
1295− "type": "array",
1296− "items": {
1297− "type": "string",
1298− "format": "int64"
1299− }
1300− },
1301− "negativeIcmInterests": {
1302− "type": "array",
1303− "items": {
1304− "type": "string",
1305− "format": "int64"
1306− }
1307− },
1308− "negativeInventorySlots": {
1309− "type": "array",
1310− "items": {
1311− "type": "string"
1312− }
1313− },
1314− "negativeKeyValues": {
1315− "type": "array",
1316− "items": {
1317− "$ref": "RuleKeyValuePair"
1318− }
1319− },
1320− "negativeLocations": {
1321− "type": "array",
1322− "items": {
1323− "type": "string",
1324− "format": "int64"
1325− }
1326− },
1327− "negativeMobileApps": {
1328− "type": "array",
1329− "items": {
1330− "type": "string"
1331− }
1332− },
1333− "negativeOperatingSystemVersions": {
1334− "type": "array",
1335− "items": {
1336− "type": "string",
1337− "format": "int64"
1338− }
1339− },
1340− "negativeOperatingSystems": {
1341− "type": "array",
1342− "items": {
1343− "type": "string",
1344− "format": "int64"
1345− }
1346− },
1347− "negativeSiteUrls": {
1348− "type": "array",
1349− "items": {
1350− "type": "string"
1351− }
1352− },
1353− "negativeSizes": {
1354− "type": "array",
1355− "items": {
1356− "type": "string",
1357− "format": "int64"
1358− }
1359− },
1360− "negativeVideoAdPositionSegments": {
1361− "type": "array",
1362− "items": {
1363− "type": "string"
1364− }
1365− },
1366− "negativeVideoDurationSegments": {
1367− "type": "array",
1368− "items": {
1369− "type": "string",
1370− "format": "int64"
1371− }
1372− },
1373− "negativeXfpAdSlots": {
1374− "type": "array",
1375− "items": {
1376− "type": "string",
1377− "format": "int64"
1378− }
1379− },
1380− "negativeXfpPlacements": {
1381− "type": "array",
1382− "items": {
1383− "type": "string",
1384− "format": "int64"
1385− }
1386− },
1387− "positiveAdSizes": {
1388− "type": "array",
1389− "items": {
1390− "$ref": "AdSize"
1391− }
1392− },
1393− "positiveAdTypeSegments": {
1394− "type": "array",
1395− "items": {
1396− "type": "string"
1397− }
1398− },
1399− "positiveAudienceSegments": {
1400− "type": "array",
1401− "items": {
1402− "type": "string",
1403− "format": "int64"
1404− }
1405− },
1406− "positiveDeviceCategories": {
1407− "type": "array",
1408− "items": {
1409− "type": "string",
1410− "format": "int64"
1411− }
1412− },
1413− "positiveIcmBrands": {
1414− "type": "array",
1415− "items": {
1416− "type": "string",
1417− "format": "int64"
1418− }
1419− },
1420− "positiveIcmInterests": {
1421− "type": "array",
1422− "items": {
1423− "type": "string",
1424− "format": "int64"
1425− }
1426− },
1427− "positiveInventorySlots": {
1428− "type": "array",
1429− "items": {
1430− "type": "string"
1431− }
1432− },
1433− "positiveKeyValues": {
1434− "type": "array",
1435− "items": {
1436− "$ref": "RuleKeyValuePair"
1437− }
1438− },
1439− "positiveLocations": {
1440− "type": "array",
1441− "items": {
1442− "type": "string",
1443− "format": "int64"
1444− }
1445− },
1446− "positiveMobileApps": {
1447− "type": "array",
1448− "items": {
1449− "type": "string"
1450− }
1451− },
1452− "positiveOperatingSystemVersions": {
1453− "type": "array",
1454− "items": {
1455− "type": "string",
1456− "format": "int64"
1457− }
1458− },
1459− "positiveOperatingSystems": {
1460− "type": "array",
1461− "items": {
1462− "type": "string",
1463− "format": "int64"
1464− }
1465− },
1466− "positiveSiteUrls": {
1467− "type": "array",
1468− "items": {
1469− "type": "string"
1470− }
1471− },
1472− "positiveSizes": {
1473− "type": "array",
1474− "items": {
1475− "type": "string",
1476− "format": "int64"
1477− }
1478− },
1479− "positiveVideoAdPositionSegments": {
1480− "type": "array",
1481− "items": {
1482− "type": "string"
1483− }
1484− },
1485− "positiveVideoDurationSegments": {
1486− "type": "array",
1487− "items": {
1488− "type": "string",
1489− "format": "int64"
1490− }
1491− },
1492− "positiveXfpAdSlots": {
1493− "type": "array",
1494− "items": {
1495− "type": "string",
1496− "format": "int64"
1497− }
1498− },
1499− "positiveXfpPlacements": {
1500− "type": "array",
1501− "items": {
1502− "type": "string",
1503− "format": "int64"
1504− }
1505− }
1506− }
1507− },
1508− "ListClientAccessCapabilitiesRequest": {
1509− "id": "ListClientAccessCapabilitiesRequest",
1510− "type": "object",
1511− "properties": {
1512− "sponsorAccountId": {
1513− "type": "string",
1514− "format": "int64"
1515− }
1516− }
1517− },
1518− "ListClientAccessCapabilitiesResponse": {
1519− "id": "ListClientAccessCapabilitiesResponse",
1520− "type": "object",
1521− "properties": {
1522− "clientAccessPermissions": {
1523− "type": "array",
1524− "items": {
1525− "$ref": "ClientAccessCapabilities"
1526− }
1527− }
1528− }
1529− },
1530− "ListOffersRequest": {
1531− "id": "ListOffersRequest",
1532− "type": "object",
1533− "properties": {
1534− "sinceTimestampMillis": {
1535− "type": "string",
1536− "format": "int64"
1537− }
1538− }
1539− },
1540− "ListOffersResponse": {
1541− "id": "ListOffersResponse",
1542− "type": "object",
1543− "properties": {
1544− "kind": {
1545− "type": "string",
1546− "default": "adexchangebuyer#offersList"
1547− },
1548− "offers": {
1549− "type": "array",
1550− "items": {
1551− "$ref": "OfferDto"
1552− }
1553− }
1554− }
1555− },
1556− "MarketplaceDeal": {
1557− "id": "MarketplaceDeal",
1558− "type": "object",
1559− "description": "An order can contain multiple deals. A deal contains the terms and targeting information that is used for serving.",
1560− "properties": {
1561− "buyerPrivateData": {
1562− "$ref": "PrivateData",
1563− "description": "Buyer private data (hidden from seller)."
1564− },
1565− "creationTimeMs": {
1566− "type": "string",
1567− "description": "The time (ms since epoch) of the deal creation. (readonly)",
1568− "format": "int64"
1569− },
1570− "dealId": {
1571− "type": "string",
1572− "description": "A unique deal=id for the deal (readonly)."
1573− },
1574− "deliveryControl": {
1575− "$ref": "DeliveryControl",
1576− "description": "The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher. This message is assigned an id of 100 since some day we would want to model this as a protobuf extension."
1577− },
1578− "externalDealId": {
1579− "type": "string",
1580− "description": "The external deal id assigned to this deal once the deal is finalized. This is the deal-id that shows up in serving/reporting etc. (readonly)"
1581− },
1582− "flightEndTimeMs": {
1583− "type": "string",
1584− "description": "Proposed flight end time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)",
1585− "format": "int64"
1586− },
1587− "flightStartTimeMs": {
1588− "type": "string",
1589− "description": "Proposed flight start time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)",
1590− "format": "int64"
1591− },
1592− "inventoryDescription": {
1593− "type": "string",
1594− "description": "Description for the deal terms. (updatable)"
1595− },
1596− "kind": {
1597− "type": "string",
1598− "description": "Identifies what kind of resource this is. Value: the fixed string \"adexchangebuyer#marketplaceDeal\".",
1599− "default": "adexchangebuyer#marketplaceDeal"
1600− },
1601− "lastUpdateTimeMs": {
1602− "type": "string",
1603− "description": "The time (ms since epoch) when the deal was last updated. (readonly)",
1604− "format": "int64"
1605− },
1606− "name": {
1607− "type": "string",
1608− "description": "The name of the deal. (updatable)"
1609− },
1610− "offerId": {
1611− "type": "string",
1612− "description": "The offer-id from which this deal was created. (readonly, except on create)"
1613− },
1614− "offerRevisionNumber": {
1615− "type": "string",
1616− "description": "The revision number of the offer that the deal was created from (readonly, except on create)",
1617− "format": "int64"
1618− },
1619− "orderId": {
1620− "type": "string"
1621− },
1622− "sellerContacts": {
1623− "type": "array",
1624− "description": "Optional Seller contact information for the deal (buyer-readonly)",
1625− "items": {
1626− "$ref": "ContactInformation"
1627− }
1628− },
1629− "sharedTargetings": {
1630− "type": "array",
1631− "description": "The shared targeting visible to buyers and sellers. (updatable)",
1632− "items": {
1633− "$ref": "SharedTargeting"
1634− }
1635− },
1636− "syndicationProduct": {
1637− "type": "string",
1638− "description": "The syndication product associated with the deal. (readonly, except on create)"
1639− },
1640− "terms": {
1641− "$ref": "DealTerms",
1642− "description": "The negotiable terms of the deal. (updatable)"
1643− },
1644− "webPropertyCode": {
1645− "type": "string"
1646− }
1647− }
1648− },
1649− "MarketplaceDealParty": {
1650− "id": "MarketplaceDealParty",
1651− "type": "object",
1652− "properties": {
1653− "buyer": {
1654− "$ref": "Buyer",
1655− "description": "The buyer/seller associated with the deal. One of buyer/seller is specified for a deal-party."
1656− },
1657− "seller": {
1658− "$ref": "Seller",
1659− "description": "The buyer/seller associated with the deal. One of buyer/seller is specified for a deal party."
1660− }
1661− }
1662− },
1663− "MarketplaceLabel": {
1664− "id": "MarketplaceLabel",
1665− "type": "object",
1666− "properties": {
1667− "accountId": {
1668− "type": "string",
1669− "description": "The accountId of the party that created the label."
1670− },
1671− "createTimeMs": {
1672− "type": "string",
1673− "description": "The creation time (in ms since epoch) for the label.",
1674− "format": "int64"
1675− },
1676− "deprecatedMarketplaceDealParty": {
1677− "$ref": "MarketplaceDealParty",
1678− "description": "Information about the party that created the label."
1679− },
1680− "label": {
1681− "type": "string",
1682− "description": "The label to use."
1683− }
1684− }
1685− },
1686− "MarketplaceNote": {
1687− "id": "MarketplaceNote",
1688− "type": "object",
1689− "description": "An order is associated with a bunch of notes which may optionally be associated with a deal and/or revision number.",
1690− "properties": {
1691− "creatorRole": {
1692− "type": "string",
1693− "description": "The role of the person (buyer/seller) creating the note. (readonly)"
1694− },
1695− "dealId": {
1696− "type": "string",
1697− "description": "Notes can optionally be associated with a deal. (readonly, except on create)"
1698− },
1699− "kind": {
1700− "type": "string",
1701− "description": "Identifies what kind of resource this is. Value: the fixed string \"adexchangebuyer#marketplaceNote\".",
1702− "default": "adexchangebuyer#marketplaceNote"
1703− },
1704− "note": {
1705− "type": "string",
1706− "description": "The actual note to attach. (readonly, except on create)"
1707− },
1708− "noteId": {
1709− "type": "string",
1710− "description": "The unique id for the note. (readonly)"
1711− },
1712− "orderId": {
1713− "type": "string",
1714− "description": "The order_id that a note is attached to. (readonly)"
1715− },
1716− "orderRevisionNumber": {
1717− "type": "string",
1718− "description": "If the note is associated with an order revision number, then store that here. (readonly, except on create)",
1719− "format": "int64"
1720− },
1721− "timestampMs": {
1722− "type": "string",
1723− "description": "The timestamp (ms since epoch) that this note was created. (readonly)",
1724− "format": "int64"
1725− }
1726− }
1727− },
1728− "MarketplaceOffer": {
1729− "id": "MarketplaceOffer",
1730− "type": "object",
1731− "description": "An offer is segment of inventory that a seller wishes to sell. It is associated with certain terms and targeting information which helps buyer know more about the inventory. Each field in an order can have one of the following setting:\n\n(readonly) - It is an error to try and set this field. (buyer-readonly) - Only the seller can set this field. (seller-readonly) - Only the buyer can set this field. (updatable) - The field is updatable at all times by either buyer or the seller.",
1732− "properties": {
1733− "creationTimeMs": {
1734− "type": "string",
1735− "description": "Creation time in ms. since epoch (readonly)",
1736− "format": "int64"
1737− },
1738− "creatorContacts": {
1739− "type": "array",
1740− "description": "Optional contact information for the creator of this offer. (buyer-readonly)",
1741− "items": {
1742− "$ref": "ContactInformation"
1743− }
1744− },
1745− "flightEndTimeMs": {
1746− "type": "string",
1747− "description": "The proposed end time for the deal (ms since epoch) (buyer-readonly)",
1748− "format": "int64"
1749− },
1750− "flightStartTimeMs": {
1751− "type": "string",
1752− "description": "Inventory availability dates. (times are in ms since epoch) The granularity is generally in the order of seconds. (buyer-readonly)",
1753− "format": "int64"
1754− },
1755− "hasCreatorSignedOff": {
1756− "type": "boolean",
1757− "description": "If the creator has already signed off on the offer, then the buyer can finalize the deal by accepting the offer as is. When copying to an order, if any of the terms are changed, then auto_finalize is automatically set to false."
1758− },
1759− "kind": {
1760− "type": "string",
1761− "description": "Identifies what kind of resource this is. Value: the fixed string \"adexchangebuyer#marketplaceOffer\".",
1762− "default": "adexchangebuyer#marketplaceOffer"
1763− },
1764− "labels": {
1765− "type": "array",
1766− "description": "Optional List of labels for the offer (optional, buyer-readonly).",
1767− "items": {
1768− "$ref": "MarketplaceLabel"
1769− }
1770− },
1771− "lastUpdateTimeMs": {
1772− "type": "string",
1773− "description": "Time of last update in ms. since epoch (readonly)",
1774− "format": "int64"
1775− },
1776− "name": {
1777− "type": "string",
1778− "description": "The name for this offer as set by the seller. (buyer-readonly)"
1779− },
1780− "offerId": {
1781− "type": "string",
1782− "description": "The unique id for the offer (readonly)"
1783− },
1784− "revisionNumber": {
1785− "type": "string",
1786− "description": "The revision number of the offer. (readonly)",
1787− "format": "int64"
1788− },
1789− "seller": {
1790− "$ref": "Seller",
1791− "description": "Information about the seller that created this offer (readonly, except on create)"
1792− },
1793− "sharedTargetings": {
1794− "type": "array",
1795− "description": "Targeting that is shared between the buyer and the seller. Each targeting criteria has a specified key and for each key there is a list of inclusion value or exclusion values. (buyer-readonly)",
1796− "items": {
1797− "$ref": "SharedTargeting"
1798− }
1799− },
1800− "state": {
1801− "type": "string",
1802− "description": "The state of the offer. (buyer-readonly)"
1803− },
1804− "syndicationProduct": {
1805− "type": "string",
1806− "description": "The syndication product associated with the deal. (readonly, except on create)"
1807− },
1808− "terms": {
1809− "$ref": "DealTerms",
1810− "description": "The negotiable terms of the deal (buyer-readonly)"
1811− },
1812− "webPropertyCode": {
1813− "type": "string"
1814− }
1815− }
1816− },
1817− "MarketplaceOrder": {
1818− "id": "MarketplaceOrder",
1819− "type": "object",
1820− "description": "Represents an order in the marketplace. An order is the unit of negotiation between a seller and a buyer and contains deals which are served. Each field in an order can have one of the following setting:\n\n(readonly) - It is an error to try and set this field. (buyer-readonly) - Only the seller can set this field. (seller-readonly) - Only the buyer can set this field. (updatable) - The field is updatable at all times by either buyer or the seller.",
1821− "properties": {
1822− "billedBuyer": {
1823− "$ref": "Buyer",
1824− "description": "Reference to the buyer that will get billed for this order. (readonly)"
1825− },
1826− "buyer": {
1827− "$ref": "Buyer",
1828− "description": "Reference to the buyer on the order. (readonly, except on create)"
1829− },
1830− "buyerContacts": {
1831− "type": "array",
1832− "description": "Optional contact information fort the buyer. (seller-readonly)",
1833− "items": {
1834− "$ref": "ContactInformation"
1835− }
1836− },
1837− "buyerPrivateData": {
1838− "$ref": "PrivateData",
1839− "description": "Private data for buyer. (hidden from seller)."
1840− },
1841− "hasBuyerSignedOff": {
1842− "type": "boolean",
1843− "description": "When an order is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the order can be finalized by the seller. (seller-readonly)"
1844− },
1845− "hasSellerSignedOff": {
1846− "type": "boolean",
1847− "description": "When an order is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the order can be finalized by the seller. (buyer-readonly)"
1848− },
1849− "isRenegotiating": {
1850− "type": "boolean",
1851− "description": "True if the order is being renegotiated (readonly)."
1852− },
1853− "isSetupComplete": {
1854− "type": "boolean",
1855− "description": "True, if the buyside inventory setup is complete for this order. (readonly)"
1856− },
1857− "kind": {
1858− "type": "string",
1859− "description": "Identifies what kind of resource this is. Value: the fixed string \"adexchangebuyer#marketplaceOrder\".",
1860− "default": "adexchangebuyer#marketplaceOrder"
1861− },
1862− "labels": {
1863− "type": "array",
1864− "description": "List of labels associated with the order. (readonly)",
1865− "items": {
1866− "$ref": "MarketplaceLabel"
1867− }
1868− },
1869− "lastUpdaterOrCommentorRole": {
1870− "type": "string",
1871− "description": "The role of the last user that either updated the order or left a comment. (readonly)"
1872− },
1873− "lastUpdaterRole": {
1874− "type": "string"
1875− },
1876− "name": {
1877− "type": "string",
1878− "description": "The name for the order (updatable)"
1879− },
1880− "orderId": {
1881− "type": "string",
1882− "description": "The unique id of the order. (readonly)."
1883− },
1884− "orderState": {
1885− "type": "string",
1886− "description": "The current state of the order. (readonly)"
1887− },
1888− "originatorRole": {
1889− "type": "string",
1890− "description": "Indicates whether the buyer/seller created the offer.(readonly)"
1891− },
1892− "revisionNumber": {
1893− "type": "string",
1894− "description": "The revision number for the order (readonly).",
1895− "format": "int64"
1896− },
1897− "revisionTimeMs": {
1898− "type": "string",
1899− "description": "The time (ms since epoch) when the order was last revised (readonly).",
1900− "format": "int64"
1901− },
1902− "seller": {
1903− "$ref": "Seller",
1904− "description": "Reference to the seller on the order. (readonly, except on create)"
1905− },
1906− "sellerContacts": {
1907− "type": "array",
1908− "description": "Optional contact information for the seller (buyer-readonly).",
1909− "items": {
1910− "$ref": "ContactInformation"
1911− }
1912− }
1913− }
1914− },
1915− "MoneyDto": {
1916− "id": "MoneyDto",
1917− "type": "object",
1918− "properties": {
1919− "currencyCode": {
1920− "type": "string"
1921− },
1922− "micros": {
1923− "type": "string",
1924− "format": "int64"
1925− }
1926− }
1927− },
1928− "NegotiationDto": {
1929− "id": "NegotiationDto",
1930− "type": "object",
1931− "properties": {
1932− "billedBuyer": {
1933− "$ref": "DealPartyDto",
1934− "description": "The billed buyer; Specified by a buyer buying through an intermediary."
1935− },
1936− "buyer": {
1937− "$ref": "DealPartyDto",
1938− "description": "Details of the buyer party in this negotiation."
1939− },
1940− "buyerEmailContacts": {
1941− "type": "array",
1942− "description": "The buyer party's contact email.",
1943− "items": {
1944− "type": "string"
1945− }
1946− },
1947− "dealType": {
1948− "type": "string",
1949− "description": "The type of this deal."
1950− },
1951− "externalDealId": {
1952− "type": "string",
1953− "description": "For finalized negotiations, the ID of the finalized deal.",
1954− "format": "int64"
1955− },
1956− "kind": {
1957− "type": "string",
1958− "default": "adexchangebuyer#negotiation"
1959− },
1960− "labelNames": {
1961− "type": "array",
1962− "description": "A list of label names applicable to this negotiation.",
1963− "items": {
1964− "type": "string"
1965− }
1966− },
1967− "negotiationId": {
1968− "type": "string",
1969− "description": "The unique ID of this negotiation.",
1970− "format": "int64"
1971− },
1972− "negotiationRounds": {
1973− "type": "array",
1974− "description": "The series of negotiation rounds for this negotiation.",
1975− "items": {
1976− "$ref": "NegotiationRoundDto"
1977− }
1978− },
1979− "negotiationState": {
1980− "type": "string",
1981− "description": "The state of this negotiation."
1982− },
1983− "offerId": {
1984− "type": "string",
1985− "description": "The ID of this negotiation's original offer.",
1986− "format": "int64"
1987− },
1988− "seller": {
1989− "$ref": "DealPartyDto",
1990− "description": "Details of the seller party in this negotiation."
1991− },
1992− "sellerEmailContacts": {
1993− "type": "array",
1994− "description": "The seller party's contact email.",
1995− "items": {
1996− "type": "string"
1997− }
1998− },
1999− "stats": {
2000− "$ref": "StatsDto",
2001− "description": "The stats for this negotiation."
2002− },
2003− "status": {
2004− "type": "string",
2005− "description": "The status of this negotiation."
2006− }
2007− }
2008− },
2009− "NegotiationRoundDto": {
2010− "id": "NegotiationRoundDto",
2011− "type": "object",
2012− "properties": {
2013− "action": {
2014− "type": "string",
2015− "description": "The action performed by this negotiation round."
2016− },
2017− "dbmPartnerId": {
2018− "type": "string",
2019− "description": "Stores DBM partner ID for use by DBM",
2020− "format": "int64"
2021− },
2022− "editHistory": {
2023− "$ref": "EditHistoryDto",
2024− "description": "The edit history of this negotiation round."
2025− },
2026− "kind": {
2027− "type": "string",
2028− "default": "adexchangebuyer#negotiationRound"
2029− },
2030− "negotiationId": {
2031− "type": "string",
2032− "description": "The ID of the negotiation to which this negotiation round applies.",
2033− "format": "int64"
2034− },
2035− "notes": {
2036− "type": "string",
2037− "description": "Notes regarding this negotiation round."
2038− },
2039− "originatorRole": {
2040− "type": "string",
2041− "description": "The role, either buyer or seller, initiating this negotiation round."
2042− },
2043− "roundNumber": {
2044− "type": "string",
2045− "description": "The number of this negotiation round, in sequence.",
2046− "format": "int64"
2047− },
2048− "terms": {
2049− "$ref": "TermsDto",
2050− "description": "The detailed terms proposed in this negotiation round."
2051− }
2052− }
2053− },
2054− "OfferDto": {
2055− "id": "OfferDto",
2056− "type": "object",
2057− "properties": {
2058− "anonymous": {
2059− "type": "boolean",
2060− "description": "Whether this offer is anonymous."
2061− },
2062− "billedBuyer": {
2063− "$ref": "DealPartyDto",
2064− "description": "The billed buyer; For buyer initiated offers, buying through an intermediary."
2065− },
2066− "closedToDealParties": {
2067− "type": "array",
2068− "description": "The list of buyer or seller parties this offer is closed to.",
2069− "items": {
2070− "$ref": "DealPartyDto"
2071− }
2072− },
2073− "creator": {
2074− "$ref": "DealPartyDto",
2075− "description": "The creator of this offer."
2076− },
2077− "emailContacts": {
2078− "type": "array",
2079− "description": "The list of email contacts for this offer.",
2080− "items": {
2081− "type": "string"
2082− }
2083− },
2084− "isOpen": {
2085− "type": "boolean",
2086− "description": "Whether this offer is open."
2087− },
2088− "kind": {
2089− "type": "string",
2090− "default": "adexchangebuyer#offer"
2091− },
2092− "labelNames": {
2093− "type": "array",
2094− "description": "The list of label names applicable to this offer.",
2095− "items": {
2096− "type": "string"
2097− }
2098− },
2099− "offerId": {
2100− "type": "string",
2101− "description": "The unique ID of this offer.",
2102− "format": "int64"
2103− },
2104− "offerState": {
2105− "type": "string",
2106− "description": "The state of this offer."
2107− },
2108− "openToDealParties": {
2109− "type": "array",
2110− "description": "The list of buyer or seller parties this offer is open to.",
2111− "items": {
2112− "$ref": "DealPartyDto"
2113− }
2114− },
2115− "pointOfContact": {
2116− "type": "string",
2117− "description": "The point of contact for this offer."
2118− },
2119− "status": {
2120− "type": "string",
2121− "description": "The status of this offer."
2122− },
2123− "terms": {
2124− "$ref": "TermsDto",
2125− "description": "The terms of this offer."
2126− }
2127− }
2128− },
2129− "PerformanceReport": {
2130− "id": "PerformanceReport",
2131− "type": "object",
2132− "description": "The configuration data for an Ad Exchange performance report list.",
2133− "properties": {
2134− "bidRate": {
2135− "type": "number",
2136− "description": "The number of bid responses with an ad.",
2137− "format": "double"
2138− },
2139− "bidRequestRate": {
2140− "type": "number",
2141− "description": "The number of bid requests sent to your bidder.",
2142− "format": "double"
2143− },
2144− "calloutStatusRate": {
2145− "type": "array",
2146− "description": "Rate of various prefiltering statuses per match. Please refer to the callout-status-codes.txt file for different statuses.",
2147− "items": {
2148− "type": "any"
2149− }
2150− },
2151− "cookieMatcherStatusRate": {
2152− "type": "array",
2153− "description": "Average QPS for cookie matcher operations.",
2154− "items": {
2155− "type": "any"
2156− }
2157− },
2158− "creativeStatusRate": {
2159− "type": "array",
2160− "description": "Rate of ads with a given status. Please refer to the creative-status-codes.txt file for different statuses.",
2161− "items": {
2162− "type": "any"
2163− }
2164− },
2165− "filteredBidRate": {
2166− "type": "number",
2167− "description": "The number of bid responses that were filtered due to a policy violation or other errors.",
2168− "format": "double"
2169− },
2170− "hostedMatchStatusRate": {
2171− "type": "array",
2172− "description": "Average QPS for hosted match operations.",
2173− "items": {
2174− "type": "any"
2175− }
2176− },
2177− "inventoryMatchRate": {
2178− "type": "number",
2179− "description": "The number of potential queries based on your pretargeting settings.",
2180− "format": "double"
2181− },
2182− "kind": {
2183− "type": "string",
2184− "description": "Resource type.",
2185− "default": "adexchangebuyer#performanceReport"
2186− },
2187− "latency50thPercentile": {
2188− "type": "number",
2189− "description": "The 50th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.",
2190− "format": "double"
2191− },
2192− "latency85thPercentile": {
2193− "type": "number",
2194− "description": "The 85th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.",
2195− "format": "double"
2196− },
2197− "latency95thPercentile": {
2198− "type": "number",
2199− "description": "The 95th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.",
2200− "format": "double"
2201− },
2202− "noQuotaInRegion": {
2203− "type": "number",
2204− "description": "Rate of various quota account statuses per quota check.",
2205− "format": "double"
2206− },
2207− "outOfQuota": {
2208− "type": "number",
2209− "description": "Rate of various quota account statuses per quota check.",
2210− "format": "double"
2211− },
2212− "pixelMatchRequests": {
2213− "type": "number",
2214− "description": "Average QPS for pixel match requests from clients.",
2215− "format": "double"
2216− },
2217− "pixelMatchResponses": {
2218− "type": "number",
2219− "description": "Average QPS for pixel match responses from clients.",
2220− "format": "double"
2221− },
2222− "quotaConfiguredLimit": {
2223− "type": "number",
2224− "description": "The configured quota limits for this account.",
2225− "format": "double"
2226− },
2227− "quotaThrottledLimit": {
2228− "type": "number",
2229− "description": "The throttled quota limits for this account.",
2230− "format": "double"
2231− },
2232− "region": {
2233− "type": "string",
2234− "description": "The trading location of this data."
2235− },
2236− "successfulRequestRate": {
2237− "type": "number",
2238− "description": "The number of properly formed bid responses received by our servers within the deadline.",
2239− "format": "double"
2240− },
2241− "timestamp": {
2242− "type": "string",
2243− "description": "The unix timestamp of the starting time of this performance data.",
2244− "format": "int64"
2245− },
2246− "unsuccessfulRequestRate": {
2247− "type": "number",
2248− "description": "The number of bid responses that were unsuccessful due to timeouts, incorrect formatting, etc.",
2249− "format": "double"
2250− }
2251− }
2252− },
2253− "PerformanceReportList": {
2254− "id": "PerformanceReportList",
2255− "type": "object",
2256− "description": "The configuration data for an Ad Exchange performance report list. https://sites.google.com/a/google.com/adx-integration/Home/engineering/binary-releases/rtb-api-release https://cs.corp.google.com/#piper///depot/google3/contentads/adx/tools/rtb_api/adxrtb.py",
2257− "properties": {
2258− "kind": {
2259− "type": "string",
2260− "description": "Resource type.",
2261− "default": "adexchangebuyer#performanceReportList"
2262− },
2263− "performanceReport": {
2264− "type": "array",
2265− "description": "A list of performance reports relevant for the account.",
2266− "items": {
2267− "$ref": "PerformanceReport"
2268− }
2269− }
2270− }
2271− },
2272− "PretargetingConfig": {
2273− "id": "PretargetingConfig",
2274− "type": "object",
2275− "properties": {
2276− "billingId": {
2277− "type": "string",
2278− "description": "The id for billing purposes, provided for reference. Leave this field blank for insert requests; the id will be generated automatically.",
2279− "format": "int64"
2280− },
2281− "configId": {
2282− "type": "string",
2283− "description": "The config id; generated automatically. Leave this field blank for insert requests.",
2284− "format": "int64"
2285− },
2286− "configName": {
2287− "type": "string",
2288− "description": "The name of the config. Must be unique. Required for all requests."
2289− },
2290− "creativeType": {
2291− "type": "array",
2292− "description": "List must contain exactly one of PRETARGETING_CREATIVE_TYPE_HTML or PRETARGETING_CREATIVE_TYPE_VIDEO.",
2293− "items": {
2294− "type": "string"
2295− }
2296− },
2297− "dimensions": {
2298− "type": "array",
2299− "description": "Requests which allow one of these (width, height) pairs will match. All pairs must be supported ad dimensions.",
2300− "items": {
2301− "type": "object",
2302 "properties": {
2328 "properties": {
2303− "height": {
2329+ "id": {
2304− "type": "string",
2330+ "description": "Id of the dimension.",
2305− "description": "Height in pixels.",
2331+ "format": "int32",
2306− "format": "int64"
2332+ "type": "integer"
2307− },
2333+ },
2308− "width": {
2334+ "name": {
2309− "type": "string",
2335+ "description": "Name of the dimension mainly for debugging purposes, except for the case of CREATIVE_SIZE. For CREATIVE_SIZE, strings are used instead of ids.",
2310− "description": "Width in pixels.",
2336+ "type": "string"
2311− "format": "int64"
2337+ },
2312− }
2338+ "percentage": {
2313− }
2339+ "description": "Percent of total impressions for a dimension type. e.g. {dimension_type: 'GENDER', [{dimension_value: {id: 1, name: 'MALE', percentage: 60}}]} Gender MALE is 60% of all impressions which have gender.",
2314− }
2340+ "format": "int32",
2315− },
2341+ "type": "integer"
2316− "excludedContentLabels": {
2342+ }
2317− "type": "array",
2343+ },
2318− "description": "Requests with any of these content labels will not match. Values are from content-labels.txt in the downloadable files section.",
2344+ "type": "object"
2319− "items": {
2320− "type": "string",
2321− "format": "int64"
2322− }
2323− },
2324− "excludedGeoCriteriaIds": {
2325− "type": "array",
2326− "description": "Requests containing any of these geo criteria ids will not match.",
2327− "items": {
2328− "type": "string",
2329− "format": "int64"
2330− }
2331 },
2345 },
2332− "excludedPlacements": {
2346+ "EditAllOrderDealsRequest": {
2333− "type": "array",
2347+ "id": "EditAllOrderDealsRequest",
2334− "description": "Requests containing any of these placements will not match.",
2335− "items": {
2336− "type": "object",
2337 "properties": {
2348 "properties": {
2338− "token": {
2349+ "deals": {
2339− "type": "string",
2350+ "description": "List of deals to edit. Service may perform 3 different operations based on comparison of deals in this list vs deals already persisted in database: 1. Add new deal to proposal If a deal in this list does not exist in the proposal, the service will create a new deal and add it to the proposal. Validation will follow AddOrderDealsRequest. 2. Update existing deal in the proposal If a deal in this list already exist in the proposal, the service will update that existing deal to this new deal in the request. Validation will follow UpdateOrderDealsRequest. 3. Delete deals from the proposal (just need the id) If a existing deal in the proposal is not present in this list, the service will delete that deal from the proposal. Validation will follow DeleteOrderDealsRequest.",
2340− "description": "The value of the placement. Interpretation depends on the placement type, e.g. URL for a site placement, channel name for a channel placement, app id for a mobile app placement."
2351+ "items": {
2341− },
2352+ "$ref": "MarketplaceDeal"
2342− "type": {
2353+ },
2343− "type": "string",
2354+ "type": "array"
2344− "description": "The type of the placement."
2355+ },
2345− }
2356+ "proposal": {
2346− }
2357+ "$ref": "Proposal",
2347− }
2358+ "description": "If specified, also updates the proposal in the batch transaction. This is useful when the proposal and the deals need to be updated in one transaction."
2348− },
2359+ },
2349− "excludedUserLists": {
2360+ "proposalRevisionNumber": {
2350− "type": "array",
2361+ "description": "The last known revision number for the proposal.",
2351− "description": "Requests containing any of these users list ids will not match.",
2362+ "format": "int64",
2352− "items": {
2363+ "type": "string"
2353− "type": "string",
2364+ },
2354− "format": "int64"
2365+ "updateAction": {
2355− }
2366+ "description": "Indicates an optional action to take on the proposal",
2356− },
2367+ "type": "string"
2357− "excludedVerticals": {
2368+ }
2358− "type": "array",
2369+ },
2359− "description": "Requests containing any of these vertical ids will not match. Values are from the publisher-verticals.txt file in the downloadable files section.",
2370+ "type": "object"
2360− "items": {
2361− "type": "string",
2362− "format": "int64"
2363− }
2364− },
2365− "geoCriteriaIds": {
2366− "type": "array",
2367− "description": "Requests containing any of these geo criteria ids will match.",
2368− "items": {
2369− "type": "string",
2370− "format": "int64"
2371− }
2372− },
2373− "isActive": {
2374− "type": "boolean",
2375− "description": "Whether this config is active. Required for all requests."
2376− },
2377− "kind": {
2378− "type": "string",
2379− "description": "The kind of the resource, i.e. \"adexchangebuyer#pretargetingConfig\".",
2380− "default": "adexchangebuyer#pretargetingConfig"
2381− },
2382− "languages": {
2383− "type": "array",
2384− "description": "Request containing any of these language codes will match.",
2385− "items": {
2386− "type": "string"
2387− }
2388− },
2389− "mobileCarriers": {
2390− "type": "array",
2391− "description": "Requests containing any of these mobile carrier ids will match. Values are from mobile-carriers.csv in the downloadable files section.",
2392− "items": {
2393− "type": "string",
2394− "format": "int64"
2395− }
2396− },
2397− "mobileDevices": {
2398− "type": "array",
2399− "description": "Requests containing any of these mobile device ids will match. Values are from mobile-devices.csv in the downloadable files section.",
2400− "items": {
2401− "type": "string",
2402− "format": "int64"
2403− }
2404− },
2405− "mobileOperatingSystemVersions": {
2406− "type": "array",
2407− "description": "Requests containing any of these mobile operating system version ids will match. Values are from mobile-os.csv in the downloadable files section.",
2408− "items": {
2409− "type": "string",
2410− "format": "int64"
2411− }
2412 },
2371 },
2413− "placements": {
2372+ "EditAllOrderDealsResponse": {
2414− "type": "array",
2373+ "id": "EditAllOrderDealsResponse",
2415− "description": "Requests containing any of these placements will match.",
2416− "items": {
2417− "type": "object",
2418 "properties": {
2374 "properties": {
2419− "token": {
2375+ "deals": {
2420− "type": "string",
2376+ "description": "List of all deals in the proposal after edit.",
2421− "description": "The value of the placement. Interpretation depends on the placement type, e.g. URL for a site placement, channel name for a channel placement, app id for a mobile app placement."
2377+ "items": {
2422− },
2378+ "$ref": "MarketplaceDeal"
2423− "type": {
2379+ },
2424− "type": "string",
2380+ "type": "array"
2425− "description": "The type of the placement."
2381+ },
2426− }
2382+ "orderRevisionNumber": {
2427− }
2383+ "description": "The latest revision number after the update has been applied.",
2428− }
2384+ "format": "int64",
2429− },
2385+ "type": "string"
2430− "platforms": {
2386+ }
2431− "type": "array",
2387+ },
2432− "description": "Requests matching any of these platforms will match. Possible values are PRETARGETING_PLATFORM_MOBILE, PRETARGETING_PLATFORM_DESKTOP, and PRETARGETING_PLATFORM_TABLET.",
2388+ "type": "object"
2433− "items": {
2434− "type": "string"
2435− }
2436− },
2437− "supportedCreativeAttributes": {
2438− "type": "array",
2439− "description": "Creative attributes should be declared here if all creatives corresponding to this pretargeting configuration have that creative attribute. Values are from pretargetable-creative-attributes.txt in the downloadable files section.",
2440− "items": {
2441− "type": "string",
2442− "format": "int64"
2443− }
2444− },
2445− "userLists": {
2446− "type": "array",
2447− "description": "Requests containing any of these user list ids will match.",
2448− "items": {
2449− "type": "string",
2450− "format": "int64"
2451− }
2452− },
2453− "vendorTypes": {
2454− "type": "array",
2455− "description": "Requests that allow any of these vendor ids will match. Values are from vendors.txt in the downloadable files section.",
2456− "items": {
2457− "type": "string",
2458− "format": "int64"
2459− }
2460− },
2461− "verticals": {
2462− "type": "array",
2463− "description": "Requests containing any of these vertical ids will match.",
2464− "items": {
2465− "type": "string",
2466− "format": "int64"
2467− }
2468− }
2469− }
2470− },
2471− "PretargetingConfigList": {
2472− "id": "PretargetingConfigList",
2473− "type": "object",
2474− "properties": {
2475− "items": {
2476− "type": "array",
2477− "description": "A list of pretargeting configs",
2478− "items": {
2479− "$ref": "PretargetingConfig"
2480− }
2481− },
2482− "kind": {
2483− "type": "string",
2484− "description": "Resource type.",
2485− "default": "adexchangebuyer#pretargetingConfigList"
2486− }
2487− }
2488− },
2489− "Price": {
2490− "id": "Price",
2491− "type": "object",
2492− "properties": {
2493− "amountMicros": {
2494− "type": "number",
2495− "description": "The CPM value in micros.",
2496− "format": "double"
2497− },
2498− "currencyCode": {
2499− "type": "string",
2500− "description": "The currency code for the price."
2501− }
2502− }
2503− },
2504− "PricePerBuyer": {
2505− "id": "PricePerBuyer",
2506− "type": "object",
2507− "description": "Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an offer can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.",
2508− "properties": {
2509− "buyer": {
2510− "$ref": "Buyer",
2511− "description": "The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer)."
2512− },
2513− "price": {
2514− "$ref": "Price",
2515− "description": "The specified price"
2516− }
2517− }
2518− },
2519− "PrivateData": {
2520− "id": "PrivateData",
2521− "type": "object",
2522− "properties": {
2523− "referenceId": {
2524− "type": "string"
2525− },
2526− "referencePayload": {
2527− "type": "string",
2528− "format": "byte"
2529− }
2530− }
2531− },
2532− "RuleKeyValuePair": {
2533− "id": "RuleKeyValuePair",
2534− "type": "object",
2535− "properties": {
2536− "keyName": {
2537− "type": "string"
2538− },
2539− "value": {
2540− "type": "string"
2541− }
2542− }
2543− },
2544− "Seller": {
2545− "id": "Seller",
2546− "type": "object",
2547− "properties": {
2548− "accountId": {
2549− "type": "string",
2550− "description": "The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the offer."
2551− },
2552− "subAccountId": {
2553− "type": "string",
2554− "description": "Optional sub-account id for the seller."
2555− }
2556− }
2557− },
2558− "SharedTargeting": {
2559− "id": "SharedTargeting",
2560− "type": "object",
2561− "properties": {
2562− "exclusions": {
2563− "type": "array",
2564− "description": "The list of values to exclude from targeting.",
2565− "items": {
2566− "$ref": "TargetingValue"
2567− }
2568− },
2569− "inclusions": {
2570− "type": "array",
2571− "description": "The list of value to include as part of the targeting.",
2572− "items": {
2573− "$ref": "TargetingValue"
2574− }
2575− },
2576− "key": {
2577− "type": "string",
2578− "description": "The key representing the shared targeting criterion."
2579− }
2580− }
2581− },
2582− "StatsDto": {
2583− "id": "StatsDto",
2584− "type": "object",
2585− "properties": {
2586− "bids": {
2587− "type": "string",
2588− "format": "int64"
2589− },
2590− "goodBids": {
2591− "type": "string",
2592− "format": "int64"
2593− },
2594− "impressions": {
2595− "type": "string",
2596− "format": "int64"
2597− },
2598− "requests": {
2599− "type": "string",
2600− "format": "int64"
2601− },
2602− "revenue": {
2603− "$ref": "MoneyDto"
2604− },
2605− "spend": {
2606− "$ref": "MoneyDto"
2607− }
2608− }
2609− },
2610− "TargetingValue": {
2611− "id": "TargetingValue",
2612− "type": "object",
2613− "properties": {
2614− "creativeSizeValue": {
2615− "$ref": "TargetingValueCreativeSize",
2616− "description": "The creative size value to exclude/include."
2617− },
2618− "dayPartTargetingValue": {
2619− "$ref": "TargetingValueDayPartTargeting",
2620− "description": "The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING."
2621− },
2622− "longValue": {
2623− "type": "string",
2624− "description": "The long value to exclude/include.",
2625− "format": "int64"
2626− },
2627− "stringValue": {
2628− "type": "string",
2629− "description": "The string value to exclude/include."
2630− }
2631− }
2632− },
2633− "TargetingValueCreativeSize": {
2634− "id": "TargetingValueCreativeSize",
2635− "type": "object",
2636− "properties": {
2637− "companionSizes": {
2638− "type": "array",
2639− "description": "For video size type, the list of companion sizes.",
2640− "items": {
2641− "$ref": "TargetingValueSize"
2642− }
2643− },
2644− "creativeSizeType": {
2645− "type": "string",
2646− "description": "The Creative size type."
2647− },
2648− "size": {
2649− "$ref": "TargetingValueSize",
2650− "description": "For regular creative size type, specifies the size of the creative."
2651− }
2652− }
2653− },
2654− "TargetingValueDayPartTargeting": {
2655− "id": "TargetingValueDayPartTargeting",
2656− "type": "object",
2657− "properties": {
2658− "dayParts": {
2659− "type": "array",
2660− "items": {
2661− "$ref": "TargetingValueDayPartTargetingDayPart"
2662− }
2663− },
2664− "timeZoneType": {
2665− "type": "string"
2666− }
2667− }
2668− },
2669− "TargetingValueDayPartTargetingDayPart": {
2670− "id": "TargetingValueDayPartTargetingDayPart",
2671− "type": "object",
2672− "properties": {
2673− "dayOfWeek": {
2674− "type": "string"
2675− },
2676− "endHour": {
2677− "type": "integer",
2678− "format": "int32"
2679− },
2680− "endMinute": {
2681− "type": "integer",
2682− "format": "int32"
2683− },
2684− "startHour": {
2685− "type": "integer",
2686− "format": "int32"
2687− },
2688− "startMinute": {
2689− "type": "integer",
2690− "format": "int32"
2691− }
2692− }
2693− },
2694− "TargetingValueSize": {
2695− "id": "TargetingValueSize",
2696− "type": "object",
2697− "properties": {
2698− "height": {
2699− "type": "integer",
2700− "description": "The height of the creative.",
2701− "format": "int32"
2702− },
2703− "width": {
2704− "type": "integer",
2705− "description": "The width of the creative.",
2706− "format": "int32"
2707− }
2708− }
2709− },
2710− "TermsDto": {
2711− "id": "TermsDto",
2712− "type": "object",
2713− "properties": {
2714− "adSlots": {
2715− "type": "array",
2716− "description": "The particular ad slots targeted by the offer.",
2717− "items": {
2718− "$ref": "AdSlotDto"
2719− }
2720− },
2721− "advertisers": {
2722− "type": "array",
2723− "description": "A list of advertisers for this offer.",
2724− "items": {
2725− "$ref": "AdvertiserDto"
2726− }
2727− },
2728− "audienceSegment": {
2729− "$ref": "AudienceSegment",
2730− "description": "The audience segment for the offer."
2731− },
2732− "audienceSegmentDescription": {
2733− "type": "string",
2734− "description": "A description of the audience segment for the offer."
2735− },
2736− "billingTerms": {
2737− "type": "string",
2738− "description": "The billing terms."
2739− },
2740− "buyerBillingType": {
2741− "type": "string",
2742− "description": "The buyer billing type."
2743− },
2744− "cpm": {
2745− "$ref": "MoneyDto",
2746− "description": "The cpm terms."
2747− },
2748− "creativeBlockingLevel": {
2749− "type": "string",
2750− "description": "Whether to use or ignore publisher blocking rules."
2751− },
2752− "creativeReviewPolicy": {
2753− "type": "string",
2754− "description": "Whether to use publisher review policy or AdX review policy."
2755− },
2756− "dealPremium": {
2757− "$ref": "MoneyDto",
2758− "description": "The premium terms."
2759− },
2760− "description": {
2761− "type": "string",
2762− "description": "A description for these terms."
2763− },
2764− "descriptiveName": {
2765− "type": "string",
2766− "description": "A descriptive name for these terms."
2767− },
2768− "endDate": {
2769− "$ref": "DateTime",
2770− "description": "The end date for the offer."
2771− },
2772− "estimatedImpressionsPerDay": {
2773− "type": "string",
2774− "description": "The estimated daily impressions for the offer.",
2775− "format": "int64"
2776− },
2777− "estimatedSpend": {
2778− "$ref": "MoneyDto",
2779− "description": "The estimated spend for the offer."
2780− },
2781− "finalizeAutomatically": {
2782− "type": "boolean",
2783− "description": "If true, the offer will finalize automatically when accepted."
2784− },
2785− "inventorySegmentTargeting": {
2786− "$ref": "InventorySegmentTargeting",
2787− "description": "The inventory segment targeting for the offer."
2788− },
2789− "isReservation": {
2790− "type": "boolean",
2791− "description": "Whether the offer is a reservation."
2792− },
2793− "minimumSpendMicros": {
2794− "type": "string",
2795− "description": "The minimum spend for the offer.",
2796− "format": "int64"
2797− },
2798− "minimumTrueLooks": {
2799− "type": "string",
2800− "description": "The minimum true looks for the offer.",
2801− "format": "int64"
2802− },
2803− "monetizerType": {
2804− "type": "string",
2805− "description": "The monetizer type."
2806− },
2807− "semiTransparent": {
2808− "type": "boolean",
2809− "description": "Whether this offer is semi-transparent."
2810− },
2811− "startDate": {
2812− "$ref": "DateTime",
2813− "description": "The start date for the offer."
2814− },
2815− "targetByDealId": {
2816− "type": "boolean",
2817− "description": "Whether to target by deal id."
2818− },
2819− "targetingAllAdSlots": {
2820− "type": "boolean",
2821− "description": "If true, the offer targets all ad slots."
2822 },
2389 },
2823− "termsAttributes": {
2390+ "GetOffersResponse": {
2824− "type": "array",
2391+ "id": "GetOffersResponse",
2825− "description": "A list of terms attributes.",
2392+ "properties": {
2826− "items": {
2393+ "products": {
2827− "type": "string"
2394+ "description": "The returned list of products.",
2828− }
2395+ "items": {
2396+ "$ref": "Product"
2397+ },
2398+ "type": "array"
2399+ }
2400+ },
2401+ "type": "object"
2829 },
2402 },
2830− "urls": {
2403+ "GetOrderDealsResponse": {
2831− "type": "array",
2404+ "id": "GetOrderDealsResponse",
2832− "description": "The urls applicable to the offer.",
2405+ "properties": {
2833− "items": {
2406+ "deals": {
2834− "type": "string"
2407+ "description": "List of deals for the proposal",
2835− }
2408+ "items": {
2836− }
2409+ "$ref": "MarketplaceDeal"
2837− }
2410+ },
2838− },
2411+ "type": "array"
2839− "WebPropertyDto": {
2412+ }
2840− "id": "WebPropertyDto",
2413+ },
2841− "type": "object",
2414+ "type": "object"
2842− "properties": {
2843− "allowInterestTargetedAds": {
2844− "type": "boolean"
2845 },
2415 },
2846− "enabledForPreferredDeals": {
2416+ "GetOrderNotesResponse": {
2847− "type": "boolean"
2417+ "id": "GetOrderNotesResponse",
2418+ "properties": {
2419+ "notes": {
2420+ "description": "The list of matching notes. The notes for a proposal are ordered from oldest to newest. If the notes span multiple proposals, they will be grouped by proposal, with the notes for the most recently modified proposal appearing first.",
2421+ "items": {
2422+ "$ref": "MarketplaceNote"
2423+ },
2424+ "type": "array"
2425+ }
2426+ },
2427+ "type": "object"
2848 },
2428 },
2849− "id": {
2429+ "GetOrdersResponse": {
2850− "type": "integer",
2430+ "id": "GetOrdersResponse",
2851− "format": "int32"
2431+ "properties": {
2432+ "proposals": {
2433+ "description": "The list of matching proposals.",
2434+ "items": {
2435+ "$ref": "Proposal"
2436+ },
2437+ "type": "array"
2438+ }
2439+ },
2440+ "type": "object"
2852 },
2441 },
2853− "name": {
2442+ "GetPublisherProfilesByAccountIdResponse": {
2854− "type": "string"
2443+ "id": "GetPublisherProfilesByAccountIdResponse",
2444+ "properties": {
2445+ "profiles": {
2446+ "description": "Profiles for the requested publisher",
2447+ "items": {
2448+ "$ref": "PublisherProfileApiProto"
2449+ },
2450+ "type": "array"
2451+ }
2452+ },
2453+ "type": "object"
2855 },
2454 },
2856− "propertyCode": {
2455+ "MarketplaceDeal": {
2857− "type": "string"
2456+ "description": "A proposal can contain multiple deals. A deal contains the terms and targeting information that is used for serving.",
2457+ "id": "MarketplaceDeal",
2458+ "properties": {
2459+ "buyerPrivateData": {
2460+ "$ref": "PrivateData",
2461+ "description": "Buyer private data (hidden from seller)."
2462+ },
2463+ "creationTimeMs": {
2464+ "description": "The time (ms since epoch) of the deal creation. (readonly)",
2465+ "format": "int64",
2466+ "type": "string"
2467+ },
2468+ "creativePreApprovalPolicy": {
2469+ "description": "Specifies the creative pre-approval policy (buyer-readonly)",
2470+ "type": "string"
2471+ },
2472+ "creativeSafeFrameCompatibility": {
2473+ "description": "Specifies whether the creative is safeFrame compatible (buyer-readonly)",
2474+ "type": "string"
2475+ },
2476+ "dealId": {
2477+ "description": "A unique deal-id for the deal (readonly).",
2478+ "type": "string"
2479+ },
2480+ "dealServingMetadata": {
2481+ "$ref": "DealServingMetadata",
2482+ "description": "Metadata about the serving status of this deal (readonly, writes via custom actions)"
2483+ },
2484+ "deliveryControl": {
2485+ "$ref": "DeliveryControl",
2486+ "description": "The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher. This message is assigned an id of 100 since some day we would want to model this as a protobuf extension."
2487+ },
2488+ "externalDealId": {
2489+ "description": "The external deal id assigned to this deal once the deal is finalized. This is the deal-id that shows up in serving/reporting etc. (readonly)",
2490+ "type": "string"
2491+ },
2492+ "flightEndTimeMs": {
2493+ "description": "Proposed flight end time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)",
2494+ "format": "int64",
2495+ "type": "string"
2496+ },
2497+ "flightStartTimeMs": {
2498+ "description": "Proposed flight start time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)",
2499+ "format": "int64",
2500+ "type": "string"
2501+ },
2502+ "inventoryDescription": {
2503+ "description": "Description for the deal terms. (buyer-readonly)",
2504+ "type": "string"
2505+ },
2506+ "isRfpTemplate": {
2507+ "description": "Indicates whether the current deal is a RFP template. RFP template is created by buyer and not based on seller created products.",
2508+ "type": "boolean"
2509+ },
2510+ "isSetupComplete": {
2511+ "description": "True, if the buyside inventory setup is complete for this deal. (readonly, except via OrderSetupCompleted action)",
2512+ "type": "boolean"
2513+ },
2514+ "kind": {
2515+ "default": "adexchangebuyer#marketplaceDeal",
2516+ "description": "Identifies what kind of resource this is. Value: the fixed string \"adexchangebuyer#marketplaceDeal\".",
2517+ "type": "string"
2518+ },
2519+ "lastUpdateTimeMs": {
2520+ "description": "The time (ms since epoch) when the deal was last updated. (readonly)",
2521+ "format": "int64",
2522+ "type": "string"
2523+ },
2524+ "name": {
2525+ "description": "The name of the deal. (updatable)",
2526+ "type": "string"
2527+ },
2528+ "productId": {
2529+ "description": "The product-id from which this deal was created. (readonly, except on create)",
2530+ "type": "string"
2531+ },
2532+ "productRevisionNumber": {
2533+ "description": "The revision number of the product that the deal was created from (readonly, except on create)",
2534+ "format": "int64",
2535+ "type": "string"
2536+ },
2537+ "programmaticCreativeSource": {
2538+ "description": "Specifies the creative source for programmatic deals, PUBLISHER means creative is provided by seller and ADVERTISR means creative is provided by buyer. (buyer-readonly)",
2539+ "type": "string"
2540+ },
2541+ "proposalId": {
2542+ "type": "string"
2543+ },
2544+ "sellerContacts": {
2545+ "description": "Optional Seller contact information for the deal (buyer-readonly)",
2546+ "items": {
2547+ "$ref": "ContactInformation"
2548+ },
2549+ "type": "array"
2550+ },
2551+ "sharedTargetings": {
2552+ "description": "The shared targeting visible to buyers and sellers. Each shared targeting entity is AND'd together. (updatable)",
2553+ "items": {
2554+ "$ref": "SharedTargeting"
2555+ },
2556+ "type": "array"
2557+ },
2558+ "syndicationProduct": {
2559+ "description": "The syndication product associated with the deal. (readonly, except on create)",
2560+ "type": "string"
2561+ },
2562+ "terms": {
2563+ "$ref": "DealTerms",
2564+ "description": "The negotiable terms of the deal. (updatable)"
2565+ },
2566+ "webPropertyCode": {
2567+ "type": "string"
2568+ }
2569+ },
2570+ "type": "object"
2858 },
2571 },
2859− "siteUrls": {
2572+ "MarketplaceDealParty": {
2860− "type": "array",
2573+ "id": "MarketplaceDealParty",
2861− "items": {
2574+ "properties": {
2862− "type": "string"
2575+ "buyer": {
2863− }
2576+ "$ref": "Buyer",
2577+ "description": "The buyer/seller associated with the deal. One of buyer/seller is specified for a deal-party."
2578+ },
2579+ "seller": {
2580+ "$ref": "Seller",
2581+ "description": "The buyer/seller associated with the deal. One of buyer/seller is specified for a deal party."
2582+ }
2583+ },
2584+ "type": "object"
2864 },
2585 },
2865− "syndicationProduct": {
2586+ "MarketplaceLabel": {
2866− "type": "string"
2587+ "id": "MarketplaceLabel",
2867− }
2588+ "properties": {
2868− }
2589+ "accountId": {
2869− }
2590+ "description": "The accountId of the party that created the label.",
2870− },
2591+ "type": "string"
2871− "resources": {
2592+ },
2872− "accounts": {
2593+ "createTimeMs": {
2873− "methods": {
2594+ "description": "The creation time (in ms since epoch) for the label.",
2874− "get": {
2595+ "format": "int64",
2875− "id": "adexchangebuyer.accounts.get",
2596+ "type": "string"
2876− "path": "accounts/{id}",
2597+ },
2877− "httpMethod": "GET",
2598+ "deprecatedMarketplaceDealParty": {
2878− "description": "Gets one account by ID.",
2599+ "$ref": "MarketplaceDealParty",
2879− "parameters": {
2600+ "description": "Information about the party that created the label."
2880− "id": {
2601+ },
2881− "type": "integer",
2602+ "label": {
2882− "description": "The account id",
2603+ "description": "The label to use.",
2883− "required": true,
2604+ "type": "string"
2884− "format": "int32",
2605+ }
2885− "location": "path"
2606+ },
2886− }
2607+ "type": "object"
2887− },
2888− "parameterOrder": [
2889− "id"
2890− ],
2891− "response": {
2892− "$ref": "Account"
2893− },
2894− "scopes": [
2895− "https://www.googleapis.com/auth/adexchange.buyer"
2896− ]
2897 },
2608 },
2898− "list": {
2609+ "MarketplaceNote": {
2899− "id": "adexchangebuyer.accounts.list",
2610+ "description": "A proposal is associated with a bunch of notes which may optionally be associated with a deal and/or revision number.",
2900− "path": "accounts",
2611+ "id": "MarketplaceNote",
2901− "httpMethod": "GET",
2612+ "properties": {
2902− "description": "Retrieves the authenticated user's list of accounts.",
2613+ "creatorRole": {
2903− "response": {
2614+ "description": "The role of the person (buyer/seller) creating the note. (readonly)",
2904− "$ref": "AccountsList"
2615+ "type": "string"
2905− },
2616+ },
2906− "scopes": [
2617+ "dealId": {
2907− "https://www.googleapis.com/auth/adexchange.buyer"
2618+ "description": "Notes can optionally be associated with a deal. (readonly, except on create)",
2908− ]
2619+ "type": "string"
2620+ },
2621+ "kind": {
2622+ "default": "adexchangebuyer#marketplaceNote",
2623+ "description": "Identifies what kind of resource this is. Value: the fixed string \"adexchangebuyer#marketplaceNote\".",
2624+ "type": "string"
2625+ },
2626+ "note": {
2627+ "description": "The actual note to attach. (readonly, except on create)",
2628+ "type": "string"
2629+ },
2630+ "noteId": {
2631+ "description": "The unique id for the note. (readonly)",
2632+ "type": "string"
2633+ },
2634+ "proposalId": {
2635+ "description": "The proposalId that a note is attached to. (readonly)",
2636+ "type": "string"
2637+ },
2638+ "proposalRevisionNumber": {
2639+ "description": "If the note is associated with a proposal revision number, then store that here. (readonly, except on create)",
2640+ "format": "int64",
2641+ "type": "string"
2642+ },
2643+ "timestampMs": {
2644+ "description": "The timestamp (ms since epoch) that this note was created. (readonly)",
2645+ "format": "int64",
2646+ "type": "string"
2647+ }
2648+ },
2649+ "type": "object"
2909 },
2650 },
2910− "patch": {
2651+ "PerformanceReport": {
2911− "id": "adexchangebuyer.accounts.patch",
2652+ "description": "The configuration data for an Ad Exchange performance report list.",
2912− "path": "accounts/{id}",
2653+ "id": "PerformanceReport",
2913− "httpMethod": "PATCH",
2654+ "properties": {
2914− "description": "Updates an existing account. This method supports patch semantics.",
2655+ "bidRate": {
2915− "parameters": {
2656+ "description": "The number of bid responses with an ad.",
2916− "id": {
2657+ "format": "double",
2917− "type": "integer",
2658+ "type": "number"
2918− "description": "The account id",
2659+ },
2919− "required": true,
2660+ "bidRequestRate": {
2920− "format": "int32",
2661+ "description": "The number of bid requests sent to your bidder.",
2921− "location": "path"
2662+ "format": "double",
2922− }
2663+ "type": "number"
2923− },
2664+ },
2924− "parameterOrder": [
2665+ "calloutStatusRate": {
2925− "id"
2666+ "description": "Rate of various prefiltering statuses per match. Please refer to the callout-status-codes.txt file for different statuses.",
2926− ],
2667+ "items": {
2927− "request": {
2668+ "type": "any"
2928− "$ref": "Account"
2669+ },
2929− },
2670+ "type": "array"
2930− "response": {
2671+ },
2931− "$ref": "Account"
2672+ "cookieMatcherStatusRate": {
2932− },
2673+ "description": "Average QPS for cookie matcher operations.",
2933− "scopes": [
2674+ "items": {
2934− "https://www.googleapis.com/auth/adexchange.buyer"
2675+ "type": "any"
2935− ]
2676+ },
2677+ "type": "array"
2678+ },
2679+ "creativeStatusRate": {
2680+ "description": "Rate of ads with a given status. Please refer to the creative-status-codes.txt file for different statuses.",
2681+ "items": {
2682+ "type": "any"
2683+ },
2684+ "type": "array"
2685+ },
2686+ "filteredBidRate": {
2687+ "description": "The number of bid responses that were filtered due to a policy violation or other errors.",
2688+ "format": "double",
2689+ "type": "number"
2690+ },
2691+ "hostedMatchStatusRate": {
2692+ "description": "Average QPS for hosted match operations.",
2693+ "items": {
2694+ "type": "any"
2695+ },
2696+ "type": "array"
2697+ },
2698+ "inventoryMatchRate": {
2699+ "description": "The number of potential queries based on your pretargeting settings.",
2700+ "format": "double",
2701+ "type": "number"
2702+ },
2703+ "kind": {
2704+ "default": "adexchangebuyer#performanceReport",
2705+ "description": "Resource type.",
2706+ "type": "string"
2707+ },
2708+ "latency50thPercentile": {
2709+ "description": "The 50th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.",
2710+ "format": "double",
2711+ "type": "number"
2712+ },
2713+ "latency85thPercentile": {
2714+ "description": "The 85th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.",
2715+ "format": "double",
2716+ "type": "number"
2717+ },
2718+ "latency95thPercentile": {
2719+ "description": "The 95th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.",
2720+ "format": "double",
2721+ "type": "number"
2722+ },
2723+ "noQuotaInRegion": {
2724+ "description": "Rate of various quota account statuses per quota check.",
2725+ "format": "double",
2726+ "type": "number"
2727+ },
2728+ "outOfQuota": {
2729+ "description": "Rate of various quota account statuses per quota check.",
2730+ "format": "double",
2731+ "type": "number"
2732+ },
2733+ "pixelMatchRequests": {
2734+ "description": "Average QPS for pixel match requests from clients.",
2735+ "format": "double",
2736+ "type": "number"
2737+ },
2738+ "pixelMatchResponses": {
2739+ "description": "Average QPS for pixel match responses from clients.",
2740+ "format": "double",
2741+ "type": "number"
2742+ },
2743+ "quotaConfiguredLimit": {
2744+ "description": "The configured quota limits for this account.",
2745+ "format": "double",
2746+ "type": "number"
2747+ },
2748+ "quotaThrottledLimit": {
2749+ "description": "The throttled quota limits for this account.",
2750+ "format": "double",
2751+ "type": "number"
2752+ },
2753+ "region": {
2754+ "description": "The trading location of this data.",
2755+ "type": "string"
2756+ },
2757+ "successfulRequestRate": {
2758+ "description": "The number of properly formed bid responses received by our servers within the deadline.",
2759+ "format": "double",
2760+ "type": "number"
2761+ },
2762+ "timestamp": {
2763+ "description": "The unix timestamp of the starting time of this performance data.",
2764+ "format": "int64",
2765+ "type": "string"
2766+ },
2767+ "unsuccessfulRequestRate": {
2768+ "description": "The number of bid responses that were unsuccessful due to timeouts, incorrect formatting, etc.",
2769+ "format": "double",
2770+ "type": "number"
2771+ }
2772+ },
2773+ "type": "object"
2936 },
2774 },
2937− "update": {
2775+ "PerformanceReportList": {
2938− "id": "adexchangebuyer.accounts.update",
2776+ "description": "The configuration data for an Ad Exchange performance report list.",
2939− "path": "accounts/{id}",
2777+ "id": "PerformanceReportList",
2940− "httpMethod": "PUT",
2778+ "properties": {
2941− "description": "Updates an existing account.",
2779+ "kind": {
2942− "parameters": {
2780+ "default": "adexchangebuyer#performanceReportList",
2943− "id": {
2781+ "description": "Resource type.",
2944− "type": "integer",
2782+ "type": "string"
2945− "description": "The account id",
2783+ },
2946− "required": true,
2784+ "performanceReport": {
2947− "format": "int32",
2785+ "description": "A list of performance reports relevant for the account.",
2948− "location": "path"
2786+ "items": {
2949− }
2787+ "$ref": "PerformanceReport"
2950− },
2788+ },
2951− "parameterOrder": [
2789+ "type": "array"
2952− "id"
2790+ }
2953− ],
2791+ },
2954− "request": {
2792+ "type": "object"
2955− "$ref": "Account"
2956− },
2957− "response": {
2958− "$ref": "Account"
2959− },
2960− "scopes": [
2961− "https://www.googleapis.com/auth/adexchange.buyer"
2962− ]
2963− }
2964− }
2965− },
2966− "billingInfo": {
2967− "methods": {
2968− "get": {
2969− "id": "adexchangebuyer.billingInfo.get",
2970− "path": "billinginfo/{accountId}",
2971− "httpMethod": "GET",
2972− "description": "Returns the billing information for one account specified by account ID.",
2973− "parameters": {
2974− "accountId": {
2975− "type": "integer",
2976− "description": "The account id.",
2977− "required": true,
2978− "format": "int32",
2979− "location": "path"
2980− }
2981− },
2982− "parameterOrder": [
2983− "accountId"
2984− ],
2985− "response": {
2986− "$ref": "BillingInfo"
2987− },
2988− "scopes": [
2989− "https://www.googleapis.com/auth/adexchange.buyer"
2990− ]
2991 },
2793 },
2992− "list": {
2794+ "PretargetingConfig": {
2993− "id": "adexchangebuyer.billingInfo.list",
2795+ "id": "PretargetingConfig",
2994− "path": "billinginfo",
2796+ "properties": {
2995− "httpMethod": "GET",
2797+ "billingId": {
2996− "description": "Retrieves a list of billing information for all accounts of the authenticated user.",
2798+ "description": "The id for billing purposes, provided for reference. Leave this field blank for insert requests; the id will be generated automatically.",
2997− "response": {
2799+ "format": "int64",
2998− "$ref": "BillingInfoList"
2800+ "type": "string"
2999− },
2801+ },
3000− "scopes": [
2802+ "configId": {
3001− "https://www.googleapis.com/auth/adexchange.buyer"
2803+ "description": "The config id; generated automatically. Leave this field blank for insert requests.",
3002− ]
2804+ "format": "int64",
3003− }
2805+ "type": "string"
3004− }
2806+ },
3005− },
2807+ "configName": {
3006− "budget": {
2808+ "description": "The name of the config. Must be unique. Required for all requests.",
3007− "methods": {
2809+ "type": "string"
3008− "get": {
2810+ },
3009− "id": "adexchangebuyer.budget.get",
2811+ "creativeType": {
3010− "path": "billinginfo/{accountId}/{billingId}",
2812+ "description": "List must contain exactly one of PRETARGETING_CREATIVE_TYPE_HTML or PRETARGETING_CREATIVE_TYPE_VIDEO.",
3011− "httpMethod": "GET",
2813+ "items": {
3012− "description": "Returns the budget information for the adgroup specified by the accountId and billingId.",
2814+ "type": "string"
3013− "parameters": {
2815+ },
3014− "accountId": {
2816+ "type": "array"
3015− "type": "string",
2817+ },
3016− "description": "The account id to get the budget information for.",
2818+ "dimensions": {
3017− "required": true,
2819+ "description": "Requests which allow one of these (width, height) pairs will match. All pairs must be supported ad dimensions.",
3018− "format": "int64",
2820+ "items": {
3019− "location": "path"
2821+ "properties": {
2822+ "height": {
2823+ "description": "Height in pixels.",
2824+ "format": "int64",
2825+ "type": "string"
2826+ },
2827+ "width": {
2828+ "description": "Width in pixels.",
2829+ "format": "int64",
2830+ "type": "string"
2831+ }
2832+ },
2833+ "type": "object"
2834+ },
2835+ "type": "array"
2836+ },
2837+ "excludedContentLabels": {
2838+ "description": "Requests with any of these content labels will not match. Values are from content-labels.txt in the downloadable files section.",
2839+ "items": {
2840+ "format": "int64",
2841+ "type": "string"
2842+ },
2843+ "type": "array"
2844+ },
2845+ "excludedGeoCriteriaIds": {
2846+ "description": "Requests containing any of these geo criteria ids will not match.",
2847+ "items": {
2848+ "format": "int64",
2849+ "type": "string"
2850+ },
2851+ "type": "array"
2852+ },
2853+ "excludedPlacements": {
2854+ "description": "Requests containing any of these placements will not match.",
2855+ "items": {
2856+ "properties": {
2857+ "token": {
2858+ "description": "The value of the placement. Interpretation depends on the placement type, e.g. URL for a site placement, channel name for a channel placement, app id for a mobile app placement.",
2859+ "type": "string"
2860+ },
2861+ "type": {
2862+ "description": "The type of the placement.",
2863+ "type": "string"
2864+ }
2865+ },
2866+ "type": "object"
2867+ },
2868+ "type": "array"
2869+ },
2870+ "excludedUserLists": {
2871+ "description": "Requests containing any of these users list ids will not match.",
2872+ "items": {
2873+ "format": "int64",
2874+ "type": "string"
2875+ },
2876+ "type": "array"
2877+ },
2878+ "excludedVerticals": {
2879+ "description": "Requests containing any of these vertical ids will not match. Values are from the publisher-verticals.txt file in the downloadable files section.",
2880+ "items": {
2881+ "format": "int64",
2882+ "type": "string"
2883+ },
2884+ "type": "array"
2885+ },
2886+ "geoCriteriaIds": {
2887+ "description": "Requests containing any of these geo criteria ids will match.",
2888+ "items": {
2889+ "format": "int64",
2890+ "type": "string"
2891+ },
2892+ "type": "array"
2893+ },
2894+ "isActive": {
2895+ "description": "Whether this config is active. Required for all requests.",
2896+ "type": "boolean"
2897+ },
2898+ "kind": {
2899+ "default": "adexchangebuyer#pretargetingConfig",
2900+ "description": "The kind of the resource, i.e. \"adexchangebuyer#pretargetingConfig\".",
2901+ "type": "string"
2902+ },
2903+ "languages": {
2904+ "description": "Request containing any of these language codes will match.",
2905+ "items": {
2906+ "type": "string"
2907+ },
2908+ "type": "array"
2909+ },
2910+ "minimumViewabilityDecile": {
2911+ "description": "Requests where the predicted viewability is below the specified decile will not match. E.g. if the buyer sets this value to 5, requests from slots where the predicted viewability is below 50% will not match. If the predicted viewability is unknown this field will be ignored.",
2912+ "format": "int32",
2913+ "type": "integer"
2914+ },
2915+ "mobileCarriers": {
2916+ "description": "Requests containing any of these mobile carrier ids will match. Values are from mobile-carriers.csv in the downloadable files section.",
2917+ "items": {
2918+ "format": "int64",
2919+ "type": "string"
2920+ },
2921+ "type": "array"
2922+ },
2923+ "mobileDevices": {
2924+ "description": "Requests containing any of these mobile device ids will match. Values are from mobile-devices.csv in the downloadable files section.",
2925+ "items": {
2926+ "format": "int64",
2927+ "type": "string"
2928+ },
2929+ "type": "array"
2930+ },
2931+ "mobileOperatingSystemVersions": {
2932+ "description": "Requests containing any of these mobile operating system version ids will match. Values are from mobile-os.csv in the downloadable files section.",
2933+ "items": {
2934+ "format": "int64",
2935+ "type": "string"
2936+ },
2937+ "type": "array"
2938+ },
2939+ "placements": {
2940+ "description": "Requests containing any of these placements will match.",
2941+ "items": {
2942+ "properties": {
2943+ "token": {
2944+ "description": "The value of the placement. Interpretation depends on the placement type, e.g. URL for a site placement, channel name for a channel placement, app id for a mobile app placement.",
2945+ "type": "string"
2946+ },
2947+ "type": {
2948+ "description": "The type of the placement.",
2949+ "type": "string"
2950+ }
2951+ },
2952+ "type": "object"
2953+ },
2954+ "type": "array"
2955+ },
2956+ "platforms": {
2957+ "description": "Requests matching any of these platforms will match. Possible values are PRETARGETING_PLATFORM_MOBILE, PRETARGETING_PLATFORM_DESKTOP, and PRETARGETING_PLATFORM_TABLET.",
2958+ "items": {
2959+ "type": "string"
2960+ },
2961+ "type": "array"
2962+ },
2963+ "supportedCreativeAttributes": {
2964+ "description": "Creative attributes should be declared here if all creatives corresponding to this pretargeting configuration have that creative attribute. Values are from pretargetable-creative-attributes.txt in the downloadable files section.",
2965+ "items": {
2966+ "format": "int64",
2967+ "type": "string"
2968+ },
2969+ "type": "array"
2970+ },
2971+ "userIdentifierDataRequired": {
2972+ "description": "Requests containing the specified type of user data will match. Possible values are HOSTED_MATCH_DATA, which means the request is cookie-targetable and has a match in the buyer's hosted match table, and COOKIE_OR_IDFA, which means the request has either a targetable cookie or an iOS IDFA.",
2973+ "items": {
2974+ "type": "string"
2975+ },
2976+ "type": "array"
2977+ },
2978+ "userLists": {
2979+ "description": "Requests containing any of these user list ids will match.",
2980+ "items": {
2981+ "format": "int64",
2982+ "type": "string"
2983+ },
2984+ "type": "array"
2985+ },
2986+ "vendorTypes": {
2987+ "description": "Requests that allow any of these vendor ids will match. Values are from vendors.txt in the downloadable files section.",
2988+ "items": {
2989+ "format": "int64",
2990+ "type": "string"
2991+ },
2992+ "type": "array"
2993+ },
2994+ "verticals": {
2995+ "description": "Requests containing any of these vertical ids will match.",
2996+ "items": {
2997+ "format": "int64",
2998+ "type": "string"
2999+ },
3000+ "type": "array"
3001+ },
3002+ "videoPlayerSizes": {
3003+ "description": "Video requests satisfying any of these player size constraints will match.",
3004+ "items": {
3005+ "properties": {
3006+ "aspectRatio": {
3007+ "description": "The type of aspect ratio. Leave this field blank to match all aspect ratios.",
3008+ "type": "string"
3009+ },
3010+ "minHeight": {
3011+ "description": "The minimum player height in pixels. Leave this field blank to match any player height.",
3012+ "format": "int64",
3013+ "type": "string"
3014+ },
3015+ "minWidth": {
3016+ "description": "The minimum player width in pixels. Leave this field blank to match any player width.",
3017+ "format": "int64",
3018+ "type": "string"
3019+ }
3020+ },
3021+ "type": "object"
3022+ },
3023+ "type": "array"
3024+ }
3020 },
3025 },
3021− "billingId": {
3026+ "type": "object"
3022− "type": "string",
3023− "description": "The billing id to get the budget information for.",
3024− "required": true,
3025− "format": "int64",
3026− "location": "path"
3027− }
3028− },
3029− "parameterOrder": [
3030− "accountId",
3031− "billingId"
3032− ],
3033− "response": {
3034− "$ref": "Budget"
3035− },
3036− "scopes": [
3037− "https://www.googleapis.com/auth/adexchange.buyer"
3038− ]
3039 },
3027 },
3040− "patch": {
3028+ "PretargetingConfigList": {
3041− "id": "adexchangebuyer.budget.patch",
3029+ "id": "PretargetingConfigList",
3042− "path": "billinginfo/{accountId}/{billingId}",
3030+ "properties": {
3043− "httpMethod": "PATCH",
3031+ "items": {
3044− "description": "Updates the budget amount for the budget of the adgroup specified by the accountId and billingId, with the budget amount in the request. This method supports patch semantics.",
3032+ "description": "A list of pretargeting configs",
3045− "parameters": {
3033+ "items": {
3046− "accountId": {
3034+ "$ref": "PretargetingConfig"
3047− "type": "string",
3035+ },
3048− "description": "The account id associated with the budget being updated.",
3036+ "type": "array"
3049− "required": true,
3037+ },
3050− "format": "int64",
3038+ "kind": {
3051− "location": "path"
3039+ "default": "adexchangebuyer#pretargetingConfigList",
3040+ "description": "Resource type.",
3041+ "type": "string"
3042+ }
3052 },
3043 },
3053− "billingId": {
3044+ "type": "object"
3054− "type": "string",
3055− "description": "The billing id associated with the budget being updated.",
3056− "required": true,
3057− "format": "int64",
3058− "location": "path"
3059− }
3060− },
3061− "parameterOrder": [
3062− "accountId",
3063− "billingId"
3064− ],
3065− "request": {
3066− "$ref": "Budget"
3067− },
3068− "response": {
3069− "$ref": "Budget"
3070− },
3071− "scopes": [
3072− "https://www.googleapis.com/auth/adexchange.buyer"
3073− ]
3074 },
3045 },
3075− "update": {
3046+ "Price": {
3076− "id": "adexchangebuyer.budget.update",
3047+ "id": "Price",
3077− "path": "billinginfo/{accountId}/{billingId}",
3048+ "properties": {
3078− "httpMethod": "PUT",
3049+ "amountMicros": {
3079− "description": "Updates the budget amount for the budget of the adgroup specified by the accountId and billingId, with the budget amount in the request.",
3050+ "description": "The price value in micros.",
3080− "parameters": {
3051+ "format": "double",
3081− "accountId": {
3052+ "type": "number"
3082− "type": "string",
3053+ },
3083− "description": "The account id associated with the budget being updated.",
3054+ "currencyCode": {
3084− "required": true,
3055+ "description": "The currency code for the price.",
3085− "format": "int64",
3056+ "type": "string"
3086− "location": "path"
3057+ },
3087− },
3058+ "expectedCpmMicros": {
3088− "billingId": {
3059+ "description": "In case of CPD deals, the expected CPM in micros.",
3089− "type": "string",
3060+ "format": "double",
3090− "description": "The billing id associated with the budget being updated.",
3061+ "type": "number"
3091− "required": true,
3062+ },
3092− "format": "int64",
3063+ "pricingType": {
3093− "location": "path"
3064+ "description": "The pricing type for the deal/product.",
3094− }
3065+ "type": "string"
3095− },
3066+ }
3096− "parameterOrder": [
3097− "accountId",
3098− "billingId"
3099− ],
3100− "request": {
3101− "$ref": "Budget"
3102− },
3103− "response": {
3104− "$ref": "Budget"
3105− },
3106− "scopes": [
3107− "https://www.googleapis.com/auth/adexchange.buyer"
3108− ]
3109− }
3110− }
3111− },
3112− "clientaccess": {
3113− "methods": {
3114− "delete": {
3115− "id": "adexchangebuyer.clientaccess.delete",
3116− "path": "clientAccess/{clientAccountId}",
3117− "httpMethod": "DELETE",
3118− "parameters": {
3119− "clientAccountId": {
3120− "type": "string",
3121− "required": true,
3122− "format": "int64",
3123− "location": "path"
3124 },
3067 },
3125− "sponsorAccountId": {
3068+ "type": "object"
3126− "type": "integer",
3127− "required": true,
3128− "format": "int32",
3129− "location": "query"
3130− }
3131− },
3132− "parameterOrder": [
3133− "clientAccountId",
3134− "sponsorAccountId"
3135− ],
3136− "scopes": [
3137− "https://www.googleapis.com/auth/adexchange.buyer"
3138− ]
3139 },
3069 },
3140− "get": {
3070+ "PricePerBuyer": {
3141− "id": "adexchangebuyer.clientaccess.get",
3071+ "description": "Used to specify pricing rules for buyers. Each PricePerBuyer in a product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer we look for the most specific matching rule - we first look for a rule matching the buyer and otherwise look for a matching rule where no buyer is set.",
3142− "path": "clientAccess/{clientAccountId}",
3072+ "id": "PricePerBuyer",
3143− "httpMethod": "GET",
3073+ "properties": {
3144− "parameters": {
3074+ "auctionTier": {
3145− "clientAccountId": {
3075+ "description": "Optional access type for this buyer.",
3146− "type": "string",
3076+ "type": "string"
3147− "required": true,
3077+ },
3148− "format": "int64",
3078+ "billedBuyer": {
3149− "location": "path"
3079+ "$ref": "Buyer",
3080+ "description": "Reference to the buyer that will get billed."
3081+ },
3082+ "buyer": {
3083+ "$ref": "Buyer",
3084+ "description": "The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer)."
3085+ },
3086+ "price": {
3087+ "$ref": "Price",
3088+ "description": "The specified price"
3089+ }
3150 },
3090 },
3151− "sponsorAccountId": {
3091+ "type": "object"
3152− "type": "integer",
3153− "required": true,
3154− "format": "int32",
3155− "location": "query"
3156− }
3157− },
3158− "parameterOrder": [
3159− "clientAccountId",
3160− "sponsorAccountId"
3161− ],
3162− "response": {
3163− "$ref": "ClientAccessCapabilities"
3164− },
3165− "scopes": [
3166− "https://www.googleapis.com/auth/adexchange.buyer"
3167− ]
3168 },
3092 },
3169− "insert": {
3093+ "PrivateData": {
3170− "id": "adexchangebuyer.clientaccess.insert",
3094+ "id": "PrivateData",
3171− "path": "clientAccess",
3095+ "properties": {
3172− "httpMethod": "POST",
3096+ "referenceId": {
3173− "parameters": {
3097+ "type": "string"
3174− "clientAccountId": {
3098+ },
3175− "type": "string",
3099+ "referencePayload": {
3176− "format": "int64",
3100+ "format": "byte",
3177− "location": "query"
3101+ "type": "string"
3102+ }
3178 },
3103 },
3179− "sponsorAccountId": {
3104+ "type": "object"
3180− "type": "integer",
3181− "format": "int32",
3182− "location": "query"
3183− }
3184− },
3185− "request": {
3186− "$ref": "ClientAccessCapabilities"
3187− },
3188− "response": {
3189− "$ref": "ClientAccessCapabilities"
3190− },
3191− "scopes": [
3192− "https://www.googleapis.com/auth/adexchange.buyer"
3193− ]
3194− },
3195− "list": {
3196− "id": "adexchangebuyer.clientaccess.list",
3197− "path": "clientAccess",
3198− "httpMethod": "GET",
3199− "request": {
3200− "$ref": "ListClientAccessCapabilitiesRequest"
3201− },
3202− "response": {
3203− "$ref": "ListClientAccessCapabilitiesResponse"
3204− },
3205− "scopes": [
3206− "https://www.googleapis.com/auth/adexchange.buyer"
3207− ]
3208 },
3105 },
3209− "patch": {
3106+ "Product": {
3210− "id": "adexchangebuyer.clientaccess.patch",
3107+ "description": "A product is segment of inventory that a seller wishes to sell. It is associated with certain terms and targeting information which helps buyer know more about the inventory. Each field in a product can have one of the following setting:\n\n(readonly) - It is an error to try and set this field. (buyer-readonly) - Only the seller can set this field. (seller-readonly) - Only the buyer can set this field. (updatable) - The field is updatable at all times by either buyer or the seller.",
3211− "path": "clientAccess/{clientAccountId}",
3108+ "id": "Product",
3212− "httpMethod": "PATCH",
3109+ "properties": {
3213− "parameters": {
3110+ "billedBuyer": {
3214− "clientAccountId": {
3111+ "$ref": "Buyer",
3215− "type": "string",
3112+ "description": "The billed buyer corresponding to the buyer that created the offer. (readonly, except on create)"
3216− "required": true,
3113+ },
3217− "format": "int64",
3114+ "buyer": {
3218− "location": "path"
3115+ "$ref": "Buyer",
3116+ "description": "The buyer that created the offer if this is a buyer initiated offer (readonly, except on create)"
3117+ },
3118+ "creationTimeMs": {
3119+ "description": "Creation time in ms. since epoch (readonly)",
3120+ "format": "int64",
3121+ "type": "string"
3122+ },
3123+ "creatorContacts": {
3124+ "description": "Optional contact information for the creator of this product. (buyer-readonly)",
3125+ "items": {
3126+ "$ref": "ContactInformation"
3127+ },
3128+ "type": "array"
3129+ },
3130+ "creatorRole": {
3131+ "description": "The role that created the offer. Set to BUYER for buyer initiated offers.",
3132+ "type": "string"
3133+ },
3134+ "deliveryControl": {
3135+ "$ref": "DeliveryControl",
3136+ "description": "The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher. This message is assigned an id of 100 since some day we would want to model this as a protobuf extension."
3137+ },
3138+ "flightEndTimeMs": {
3139+ "description": "The proposed end time for the deal (ms since epoch) (buyer-readonly)",
3140+ "format": "int64",
3141+ "type": "string"
3142+ },
3143+ "flightStartTimeMs": {
3144+ "description": "Inventory availability dates. (times are in ms since epoch) The granularity is generally in the order of seconds. (buyer-readonly)",
3145+ "format": "int64",
3146+ "type": "string"
3147+ },
3148+ "hasCreatorSignedOff": {
3149+ "description": "If the creator has already signed off on the product, then the buyer can finalize the deal by accepting the product as is. When copying to a proposal, if any of the terms are changed, then auto_finalize is automatically set to false.",
3150+ "type": "boolean"
3151+ },
3152+ "inventorySource": {
3153+ "description": "What exchange will provide this inventory (readonly, except on create).",
3154+ "type": "string"
3155+ },
3156+ "kind": {
3157+ "default": "adexchangebuyer#product",
3158+ "description": "Identifies what kind of resource this is. Value: the fixed string \"adexchangebuyer#product\".",
3159+ "type": "string"
3160+ },
3161+ "labels": {
3162+ "description": "Optional List of labels for the product (optional, buyer-readonly).",
3163+ "items": {
3164+ "$ref": "MarketplaceLabel"
3165+ },
3166+ "type": "array"
3167+ },
3168+ "lastUpdateTimeMs": {
3169+ "description": "Time of last update in ms. since epoch (readonly)",
3170+ "format": "int64",
3171+ "type": "string"
3172+ },
3173+ "legacyOfferId": {
3174+ "description": "Optional legacy offer id if this offer is a preferred deal offer.",
3175+ "type": "string"
3176+ },
3177+ "marketplacePublisherProfileId": {
3178+ "description": "Marketplace publisher profile Id. This Id differs from the regular publisher_profile_id in that 1. This is a new id, the old Id will be deprecated in 2017. 2. This id uniquely identifies a publisher profile by itself.",
3179+ "type": "string"
3180+ },
3181+ "name": {
3182+ "description": "The name for this product as set by the seller. (buyer-readonly)",
3183+ "type": "string"
3184+ },
3185+ "privateAuctionId": {
3186+ "description": "Optional private auction id if this offer is a private auction offer.",
3187+ "type": "string"
3188+ },
3189+ "productId": {
3190+ "description": "The unique id for the product (readonly)",
3191+ "type": "string"
3192+ },
3193+ "publisherProfileId": {
3194+ "description": "Id of the publisher profile for a given seller. A (seller.account_id, publisher_profile_id) pair uniquely identifies a publisher profile. Buyers can call the PublisherProfiles::List endpoint to get a list of publisher profiles for a given seller.",
3195+ "type": "string"
3196+ },
3197+ "publisherProvidedForecast": {
3198+ "$ref": "PublisherProvidedForecast",
3199+ "description": "Publisher self-provided forecast information."
3200+ },
3201+ "revisionNumber": {
3202+ "description": "The revision number of the product. (readonly)",
3203+ "format": "int64",
3204+ "type": "string"
3205+ },
3206+ "seller": {
3207+ "$ref": "Seller",
3208+ "description": "Information about the seller that created this product (readonly, except on create)"
3209+ },
3210+ "sharedTargetings": {
3211+ "description": "Targeting that is shared between the buyer and the seller. Each targeting criteria has a specified key and for each key there is a list of inclusion value or exclusion values. (buyer-readonly)",
3212+ "items": {
3213+ "$ref": "SharedTargeting"
3214+ },
3215+ "type": "array"
3216+ },
3217+ "state": {
3218+ "description": "The state of the product. (buyer-readonly)",
3219+ "type": "string"
3220+ },
3221+ "syndicationProduct": {
3222+ "description": "The syndication product associated with the deal. (readonly, except on create)",
3223+ "type": "string"
3224+ },
3225+ "terms": {
3226+ "$ref": "DealTerms",
3227+ "description": "The negotiable terms of the deal (buyer-readonly)"
3228+ },
3229+ "webPropertyCode": {
3230+ "description": "The web property code for the seller. This field is meant to be copied over as is when creating deals.",
3231+ "type": "string"
3232+ }
3219 },
3233 },
3220− "sponsorAccountId": {
3234+ "type": "object"
3221− "type": "integer",
3222− "required": true,
3223− "format": "int32",
3224− "location": "query"
3225− }
3226− },
3227− "parameterOrder": [
3228− "clientAccountId",
3229− "sponsorAccountId"
3230− ],
3231− "request": {
3232− "$ref": "ClientAccessCapabilities"
3233− },
3234− "response": {
3235− "$ref": "ClientAccessCapabilities"
3236− },
3237− "scopes": [
3238− "https://www.googleapis.com/auth/adexchange.buyer"
3239− ]
3240 },
3235 },
3241− "update": {
3236+ "Proposal": {
3242− "id": "adexchangebuyer.clientaccess.update",
3237+ "description": "Represents a proposal in the marketplace. A proposal is the unit of negotiation between a seller and a buyer and contains deals which are served. Each field in a proposal can have one of the following setting:\n\n(readonly) - It is an error to try and set this field. (buyer-readonly) - Only the seller can set this field. (seller-readonly) - Only the buyer can set this field. (updatable) - The field is updatable at all times by either buyer or the seller.",
3243− "path": "clientAccess/{clientAccountId}",
3238+ "id": "Proposal",
3244− "httpMethod": "PUT",
3239+ "properties": {
3245− "parameters": {
3240+ "billedBuyer": {
3246− "clientAccountId": {
3241+ "$ref": "Buyer",
3247− "type": "string",
3242+ "description": "Reference to the buyer that will get billed for this proposal. (readonly)"
3248− "required": true,
3243+ },
3249− "format": "int64",
3244+ "buyer": {
3250− "location": "path"
3245+ "$ref": "Buyer",
3251− },
3246+ "description": "Reference to the buyer on the proposal. (readonly, except on create)"
3252− "sponsorAccountId": {
3247+ },
3253− "type": "integer",
3248+ "buyerContacts": {
3254− "required": true,
3249+ "description": "Optional contact information of the buyer. (seller-readonly)",
3255− "format": "int32",
3250+ "items": {
3256− "location": "query"
3251+ "$ref": "ContactInformation"
3257− }
3252+ },
3258− },
3253+ "type": "array"
3259− "parameterOrder": [
3254+ },
3260− "clientAccountId",
3255+ "buyerPrivateData": {
3261− "sponsorAccountId"
3256+ "$ref": "PrivateData",
3262− ],
3257+ "description": "Private data for buyer. (hidden from seller)."
3263− "request": {
3258+ },
3264− "$ref": "ClientAccessCapabilities"
3259+ "dbmAdvertiserIds": {
3265− },
3260+ "description": "IDs of DBM advertisers permission to this proposal.",
3266− "response": {
3261+ "items": {
3267− "$ref": "ClientAccessCapabilities"
3262+ "type": "string"
3268− },
3263+ },
3269− "scopes": [
3264+ "type": "array"
3270− "https://www.googleapis.com/auth/adexchange.buyer"
3265+ },
3271− ]
3266+ "hasBuyerSignedOff": {
3272− }
3267+ "description": "When an proposal is in an accepted state, indicates whether the buyer has signed off. Once both sides have signed off on a deal, the proposal can be finalized by the seller. (seller-readonly)",
3273− }
3268+ "type": "boolean"
3274− },
3269+ },
3275− "creatives": {
3270+ "hasSellerSignedOff": {
3276− "methods": {
3271+ "description": "When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (buyer-readonly)",
3277− "get": {
3272+ "type": "boolean"
3278− "id": "adexchangebuyer.creatives.get",
3273+ },
3279− "path": "creatives/{accountId}/{buyerCreativeId}",
3274+ "inventorySource": {
3280− "httpMethod": "GET",
3275+ "description": "What exchange will provide this inventory (readonly, except on create).",
3281− "description": "Gets the status for a single creative. A creative will be available 30-40 minutes after submission.",
3276+ "type": "string"
3282− "parameters": {
3277+ },
3283− "accountId": {
3278+ "isRenegotiating": {
3284− "type": "integer",
3279+ "description": "True if the proposal is being renegotiated (readonly).",
3285− "description": "The id for the account that will serve this creative.",
3280+ "type": "boolean"
3286− "required": true,
3281+ },
3287− "format": "int32",
3282+ "isSetupComplete": {
3288− "location": "path"
3283+ "description": "True, if the buyside inventory setup is complete for this proposal. (readonly, except via OrderSetupCompleted action) Deprecated in favor of deal level setup complete flag.",
3284+ "type": "boolean"
3285+ },
3286+ "kind": {
3287+ "default": "adexchangebuyer#proposal",
3288+ "description": "Identifies what kind of resource this is. Value: the fixed string \"adexchangebuyer#proposal\".",
3289+ "type": "string"
3290+ },
3291+ "labels": {
3292+ "description": "List of labels associated with the proposal. (readonly)",
3293+ "items": {
3294+ "$ref": "MarketplaceLabel"
3295+ },
3296+ "type": "array"
3297+ },
3298+ "lastUpdaterOrCommentorRole": {
3299+ "description": "The role of the last user that either updated the proposal or left a comment. (readonly)",
3300+ "type": "string"
3301+ },
3302+ "name": {
3303+ "description": "The name for the proposal (updatable)",
3304+ "type": "string"
3305+ },
3306+ "negotiationId": {
3307+ "description": "Optional negotiation id if this proposal is a preferred deal proposal.",
3308+ "type": "string"
3309+ },
3310+ "originatorRole": {
3311+ "description": "Indicates whether the buyer/seller created the proposal.(readonly)",
3312+ "type": "string"
3313+ },
3314+ "privateAuctionId": {
3315+ "description": "Optional private auction id if this proposal is a private auction proposal.",
3316+ "type": "string"
3317+ },
3318+ "proposalId": {
3319+ "description": "The unique id of the proposal. (readonly).",
3320+ "type": "string"
3321+ },
3322+ "proposalState": {
3323+ "description": "The current state of the proposal. (readonly)",
3324+ "type": "string"
3325+ },
3326+ "revisionNumber": {
3327+ "description": "The revision number for the proposal (readonly).",
3328+ "format": "int64",
3329+ "type": "string"
3330+ },
3331+ "revisionTimeMs": {
3332+ "description": "The time (ms since epoch) when the proposal was last revised (readonly).",
3333+ "format": "int64",
3334+ "type": "string"
3335+ },
3336+ "seller": {
3337+ "$ref": "Seller",
3338+ "description": "Reference to the seller on the proposal. (readonly, except on create)"
3339+ },
3340+ "sellerContacts": {
3341+ "description": "Optional contact information of the seller (buyer-readonly).",
3342+ "items": {
3343+ "$ref": "ContactInformation"
3344+ },
3345+ "type": "array"
3346+ }
3289 },
3347 },
3290− "buyerCreativeId": {
3348+ "type": "object"
3291− "type": "string",
3292− "description": "The buyer-specific id for this creative.",
3293− "required": true,
3294− "location": "path"
3295− }
3296− },
3297− "parameterOrder": [
3298− "accountId",
3299− "buyerCreativeId"
3300− ],
3301− "response": {
3302− "$ref": "Creative"
3303− },
3304− "scopes": [
3305− "https://www.googleapis.com/auth/adexchange.buyer"
3306− ]
3307 },
3349 },
3308− "insert": {
3350+ "PublisherProfileApiProto": {
3309− "id": "adexchangebuyer.creatives.insert",
3351+ "id": "PublisherProfileApiProto",
3310− "path": "creatives",
3352+ "properties": {
3311− "httpMethod": "POST",
3353+ "audience": {
3312− "description": "Submit a new creative.",
3354+ "description": "Publisher provided info on its audience.",
3313− "request": {
3355+ "type": "string"
3314− "$ref": "Creative"
3356+ },
3315− },
3357+ "buyerPitchStatement": {
3316− "response": {
3358+ "description": "A pitch statement for the buyer",
3317− "$ref": "Creative"
3359+ "type": "string"
3318− },
3360+ },
3319− "scopes": [
3361+ "directContact": {
3320− "https://www.googleapis.com/auth/adexchange.buyer"
3362+ "description": "Direct contact for the publisher profile.",
3321− ]
3363+ "type": "string"
3322− },
3364+ },
3323− "list": {
3365+ "exchange": {
3324− "id": "adexchangebuyer.creatives.list",
3366+ "description": "Exchange where this publisher profile is from. E.g. AdX, Rubicon etc...",
3325− "path": "creatives",
3367+ "type": "string"
3326− "httpMethod": "GET",
3368+ },
3327− "description": "Retrieves a list of the authenticated user's active creatives. A creative will be available 30-40 minutes after submission.",
3369+ "googlePlusLink": {
3328− "parameters": {
3370+ "description": "Link to publisher's Google+ page.",
3329− "accountId": {
3371+ "type": "string"
3330− "type": "integer",
3372+ },
3331− "description": "When specified, only creatives for the given account ids are returned.",
3373+ "isParent": {
3332− "format": "int32",
3374+ "description": "True, if this is the parent profile, which represents all domains owned by the publisher.",
3333− "repeated": true,
3375+ "type": "boolean"
3334− "location": "query"
3376+ },
3335− },
3377+ "isPublished": {
3336− "buyerCreativeId": {
3378+ "description": "True, if this profile is published. Deprecated for state.",
3337− "type": "string",
3379+ "type": "boolean"
3338− "description": "When specified, only creatives for the given buyer creative ids are returned.",
3380+ },
3339− "repeated": true,
3381+ "kind": {
3340− "location": "query"
3382+ "default": "adexchangebuyer#publisherProfileApiProto",
3341− },
3383+ "description": "Identifies what kind of resource this is. Value: the fixed string \"adexchangebuyer#publisherProfileApiProto\".",
3342− "dealsStatusFilter": {
3384+ "type": "string"
3343− "type": "string",
3385+ },
3344− "description": "When specified, only creatives having the given direct deals status are returned.",
3386+ "logoUrl": {
3345− "enum": [
3387+ "description": "The url to the logo for the publisher.",
3346− "approved",
3388+ "type": "string"
3347− "conditionally_approved",
3389+ },
3348− "disapproved",
3390+ "mediaKitLink": {
3349− "not_checked"
3391+ "description": "The url for additional marketing and sales materials.",
3350− ],
3392+ "type": "string"
3351− "enumDescriptions": [
3393+ },
3352− "Creatives which have been approved for serving on direct deals.",
3394+ "name": {
3353− "Creatives which have been conditionally approved for serving on direct deals.",
3395+ "type": "string"
3354− "Creatives which have been disapproved for serving on direct deals.",
3396+ },
3355− "Creatives whose direct deals status is not yet checked."
3397+ "overview": {
3356− ],
3398+ "description": "Publisher provided overview.",
3357− "location": "query"
3399+ "type": "string"
3358− },
3400+ },
3359− "maxResults": {
3401+ "profileId": {
3360− "type": "integer",
3402+ "description": "The pair of (seller.account_id, profile_id) uniquely identifies a publisher profile for a given publisher.",
3361− "description": "Maximum number of entries returned on one result page. If not set, the default is 100. Optional.",
3403+ "format": "int32",
3362− "format": "uint32",
3404+ "type": "integer"
3363− "minimum": "1",
3405+ },
3364− "maximum": "1000",
3406+ "programmaticContact": {
3365− "location": "query"
3407+ "description": "Programmatic contact for the publisher profile.",
3366− },
3408+ "type": "string"
3367− "openAuctionStatusFilter": {
3409+ },
3368− "type": "string",
3410+ "publisherDomains": {
3369− "description": "When specified, only creatives having the given open auction status are returned.",
3411+ "description": "The list of domains represented in this publisher profile. Empty if this is a parent profile.",
3370− "enum": [
3412+ "items": {
3371− "approved",
3413+ "type": "string"
3372− "conditionally_approved",
3414+ },
3373− "disapproved",
3415+ "type": "array"
3374− "not_checked"
3416+ },
3375− ],
3417+ "publisherProfileId": {
3376− "enumDescriptions": [
3418+ "description": "Unique Id for publisher profile.",
3377− "Creatives which have been approved for serving on the open auction.",
3419+ "type": "string"
3378− "Creatives which have been conditionally approved for serving on the open auction.",
3420+ },
3379− "Creatives which have been disapproved for serving on the open auction.",
3421+ "publisherProvidedForecast": {
3380− "Creatives whose open auction status is not yet checked."
3422+ "$ref": "PublisherProvidedForecast",
3381− ],
3423+ "description": "Publisher provided forecasting information."
3382− "location": "query"
3424+ },
3425+ "rateCardInfoLink": {
3426+ "description": "Link to publisher rate card",
3427+ "type": "string"
3428+ },
3429+ "samplePageLink": {
3430+ "description": "Link for a sample content page.",
3431+ "type": "string"
3432+ },
3433+ "seller": {
3434+ "$ref": "Seller",
3435+ "description": "Seller of the publisher profile."
3436+ },
3437+ "state": {
3438+ "description": "State of the publisher profile.",
3439+ "type": "string"
3440+ },
3441+ "topHeadlines": {
3442+ "description": "Publisher provided key metrics and rankings.",
3443+ "items": {
3444+ "type": "string"
3445+ },
3446+ "type": "array"
3447+ }
3383 },
3448 },
3384− "pageToken": {
3449+ "type": "object"
3385− "type": "string",
3386− "description": "A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response. Optional.",
3387− "location": "query"
3388− }
3389− },
3390− "response": {
3391− "$ref": "CreativesList"
3392− },
3393− "scopes": [
3394− "https://www.googleapis.com/auth/adexchange.buyer"
3395− ]
3396− }
3397− }
3398− },
3399− "deals": {
3400− "methods": {
3401− "get": {
3402− "id": "adexchangebuyer.deals.get",
3403− "path": "deals/{dealId}",
3404− "httpMethod": "GET",
3405− "description": "Gets the requested deal.",
3406− "parameters": {
3407− "dealId": {
3408− "type": "string",
3409− "required": true,
3410− "format": "int64",
3411− "location": "path"
3412− }
3413− },
3414− "parameterOrder": [
3415− "dealId"
3416− ],
3417− "request": {
3418− "$ref": "GetFinalizedNegotiationByExternalDealIdRequest"
3419− },
3420− "response": {
3421− "$ref": "NegotiationDto"
3422− },
3423− "scopes": [
3424− "https://www.googleapis.com/auth/adexchange.buyer"
3425− ]
3426− }
3427− }
3428− },
3429− "marketplacedeals": {
3430− "methods": {
3431− "delete": {
3432− "id": "adexchangebuyer.marketplacedeals.delete",
3433− "path": "marketplaceOrders/{orderId}/deals/delete",
3434− "httpMethod": "POST",
3435− "description": "Delete the specified deals from the order",
3436− "parameters": {
3437− "orderId": {
3438− "type": "string",
3439− "description": "The orderId to delete deals from.",
3440− "required": true,
3441− "location": "path"
3442− }
3443− },
3444− "parameterOrder": [
3445− "orderId"
3446− ],
3447− "request": {
3448− "$ref": "DeleteOrderDealsRequest"
3449− },
3450− "response": {
3451− "$ref": "DeleteOrderDealsResponse"
3452− },
3453− "scopes": [
3454− "https://www.googleapis.com/auth/adexchange.buyer"
3455− ]
3456− },
3457− "insert": {
3458− "id": "adexchangebuyer.marketplacedeals.insert",
3459− "path": "marketplaceOrders/{orderId}/deals/insert",
3460− "httpMethod": "POST",
3461− "description": "Add new deals for the specified order",
3462− "parameters": {
3463− "orderId": {
3464− "type": "string",
3465− "description": "OrderId for which deals need to be added.",
3466− "required": true,
3467− "location": "path"
3468− }
3469− },
3470− "parameterOrder": [
3471− "orderId"
3472− ],
3473− "request": {
3474− "$ref": "AddOrderDealsRequest"
3475− },
3476− "response": {
3477− "$ref": "AddOrderDealsResponse"
3478− },
3479− "scopes": [
3480− "https://www.googleapis.com/auth/adexchange.buyer"
3481− ]
3482− },
3483− "list": {
3484− "id": "adexchangebuyer.marketplacedeals.list",
3485− "path": "marketplaceOrders/{orderId}/deals",
3486− "httpMethod": "GET",
3487− "description": "List all the deals for a given order",
3488− "parameters": {
3489− "orderId": {
3490− "type": "string",
3491− "description": "The orderId to get deals for.",
3492− "required": true,
3493− "location": "path"
3494− }
3495− },
3496− "parameterOrder": [
3497− "orderId"
3498− ],
3499− "response": {
3500− "$ref": "GetOrderDealsResponse"
3501− },
3502− "scopes": [
3503− "https://www.googleapis.com/auth/adexchange.buyer"
3504− ]
3505− },
3506− "update": {
3507− "id": "adexchangebuyer.marketplacedeals.update",
3508− "path": "marketplaceOrders/{orderId}/deals/update",
3509− "httpMethod": "POST",
3510− "description": "Replaces all the deals in the order with the passed in deals",
3511− "parameters": {
3512− "orderId": {
3513− "type": "string",
3514− "description": "The orderId to edit deals on.",
3515− "required": true,
3516− "location": "path"
3517− }
3518− },
3519− "parameterOrder": [
3520− "orderId"
3521− ],
3522− "request": {
3523− "$ref": "EditAllOrderDealsRequest"
3524− },
3525− "response": {
3526− "$ref": "EditAllOrderDealsResponse"
3527− },
3528− "scopes": [
3529− "https://www.googleapis.com/auth/adexchange.buyer"
3530− ]
3531− }
3532− }
3533− },
3534− "marketplacenotes": {
3535− "methods": {
3536− "insert": {
3537− "id": "adexchangebuyer.marketplacenotes.insert",
3538− "path": "marketplaceOrders/{orderId}/notes/insert",
3539− "httpMethod": "POST",
3540− "description": "Add notes to the order",
3541− "parameters": {
3542− "orderId": {
3543− "type": "string",
3544− "description": "The orderId to add notes for.",
3545− "required": true,
3546− "location": "path"
3547− }
3548− },
3549− "parameterOrder": [
3550− "orderId"
3551− ],
3552− "request": {
3553− "$ref": "AddOrderNotesRequest"
3554− },
3555− "response": {
3556− "$ref": "AddOrderNotesResponse"
3557− },
3558− "scopes": [
3559− "https://www.googleapis.com/auth/adexchange.buyer"
3560− ]
3561− },
3562− "list": {
3563− "id": "adexchangebuyer.marketplacenotes.list",
3564− "path": "marketplaceOrders/{orderId}/notes",
3565− "httpMethod": "GET",
3566− "description": "Get all the notes associated with an order",
3567− "parameters": {
3568− "orderId": {
3569− "type": "string",
3570− "description": "The orderId to get notes for.",
3571− "required": true,
3572− "location": "path"
3573− }
3574− },
3575− "parameterOrder": [
3576− "orderId"
3577− ],
3578− "response": {
3579− "$ref": "GetOrderNotesResponse"
3580− },
3581− "scopes": [
3582− "https://www.googleapis.com/auth/adexchange.buyer"
3583− ]
3584− }
3585− }
3586− },
3587− "marketplaceoffers": {
3588− "methods": {
3589− "get": {
3590− "id": "adexchangebuyer.marketplaceoffers.get",
3591− "path": "marketplaceOffers/{offerId}",
3592− "httpMethod": "GET",
3593− "description": "Gets the requested negotiation.",
3594− "parameters": {
3595− "offerId": {
3596− "type": "string",
3597− "description": "The offerId for the offer to get the head revision for.",
3598− "required": true,
3599− "location": "path"
3600− }
3601− },
3602− "parameterOrder": [
3603− "offerId"
3604− ],
3605− "response": {
3606− "$ref": "MarketplaceOffer"
3607− },
3608− "scopes": [
3609− "https://www.googleapis.com/auth/adexchange.buyer"
3610− ]
3611− },
3612− "search": {
3613− "id": "adexchangebuyer.marketplaceoffers.search",
3614− "path": "marketplaceOffers/search",
3615− "httpMethod": "GET",
3616− "description": "Gets the requested negotiation.",
3617− "parameters": {
3618− "pqlQuery": {
3619− "type": "string",
3620− "description": "The pql query used to query for offers.",
3621− "location": "query"
3622− }
3623− },
3624− "response": {
3625− "$ref": "GetOffersResponse"
3626− },
3627− "scopes": [
3628− "https://www.googleapis.com/auth/adexchange.buyer"
3629− ]
3630− }
3631− }
3632− },
3633− "marketplaceorders": {
3634− "methods": {
3635− "get": {
3636− "id": "adexchangebuyer.marketplaceorders.get",
3637− "path": "marketplaceOrders/{orderId}",
3638− "httpMethod": "GET",
3639− "description": "Get an order given its id",
3640− "parameters": {
3641− "orderId": {
3642− "type": "string",
3643− "description": "Id of the order to retrieve.",
3644− "required": true,
3645− "location": "path"
3646− }
3647− },
3648− "parameterOrder": [
3649− "orderId"
3650− ],
3651− "response": {
3652− "$ref": "MarketplaceOrder"
3653− },
3654− "scopes": [
3655− "https://www.googleapis.com/auth/adexchange.buyer"
3656− ]
3657 },
3450 },
3658− "insert": {
3451+ "PublisherProvidedForecast": {
3659− "id": "adexchangebuyer.marketplaceorders.insert",
3452+ "description": "This message carries publisher provided forecasting information.",
3660− "path": "marketplaceOrders/insert",
3453+ "id": "PublisherProvidedForecast",
3661− "httpMethod": "POST",
3454+ "properties": {
3662− "description": "Create the given list of orders",
3455+ "dimensions": {
3663− "request": {
3456+ "description": "Publisher provided dimensions. E.g. geo, sizes etc...",
3664− "$ref": "CreateOrdersRequest"
3457+ "items": {
3665− },
3458+ "$ref": "Dimension"
3666− "response": {
3459+ },
3667− "$ref": "CreateOrdersResponse"
3460+ "type": "array"
3668− },
3461+ },
3669− "scopes": [
3462+ "weeklyImpressions": {
3670− "https://www.googleapis.com/auth/adexchange.buyer"
3463+ "description": "Publisher provided weekly impressions.",
3671− ]
3464+ "format": "int64",
3672− },
3465+ "type": "string"
3673− "patch": {
3466+ },
3674− "id": "adexchangebuyer.marketplaceorders.patch",
3467+ "weeklyUniques": {
3675− "path": "marketplaceOrders/{orderId}/{revisionNumber}/{updateAction}",
3468+ "description": "Publisher provided weekly uniques.",
3676− "httpMethod": "PATCH",
3469+ "format": "int64",
3677− "description": "Update the given order. This method supports patch semantics.",
3470+ "type": "string"
3678− "parameters": {
3471+ }
3679− "orderId": {
3680− "type": "string",
3681− "description": "The order id to update.",
3682− "required": true,
3683− "location": "path"
3684− },
3685− "revisionNumber": {
3686− "type": "string",
3687− "description": "The last known revision number to update. If the head revision in the marketplace database has since changed, an error will be thrown. The caller should then fetch the lastest order at head revision and retry the update at that revision.",
3688− "required": true,
3689− "format": "int64",
3690− "location": "path"
3691 },
3472 },
3692− "updateAction": {
3473+ "type": "object"
3693− "type": "string",
3694− "description": "The proposed action to take on the order.",
3695− "required": true,
3696− "enum": [
3697− "accept",
3698− "cancel",
3699− "propose",
3700− "unknownAction",
3701− "updateFinalized"
3702− ],
3703− "enumDescriptions": [
3704− "",
3705− "",
3706− "",
3707− "",
3708− ""
3709− ],
3710− "location": "path"
3711− }
3712− },
3713− "parameterOrder": [
3714− "orderId",
3715− "revisionNumber",
3716− "updateAction"
3717− ],
3718− "request": {
3719− "$ref": "MarketplaceOrder"
3720− },
3721− "response": {
3722− "$ref": "MarketplaceOrder"
3723− },
3724− "scopes": [
3725− "https://www.googleapis.com/auth/adexchange.buyer"
3726− ]
3727 },
3474 },
3728− "search": {
3475+ "Seller": {
3729− "id": "adexchangebuyer.marketplaceorders.search",
3476+ "id": "Seller",
3730− "path": "marketplaceOrders/search",
3477+ "properties": {
3731− "httpMethod": "GET",
3478+ "accountId": {
3732− "description": "Search for orders using pql query",
3479+ "description": "The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product.",
3733− "parameters": {
3480+ "type": "string"
3734− "pqlQuery": {
3481+ },
3735− "type": "string",
3482+ "subAccountId": {
3736− "description": "Query string to retrieve specific orders.",
3483+ "description": "Optional sub-account id for the seller.",
3737− "location": "query"
3484+ "type": "string"
3738− }
3485+ }
3739− },
3740− "response": {
3741− "$ref": "GetOrdersResponse"
3742− },
3743− "scopes": [
3744− "https://www.googleapis.com/auth/adexchange.buyer"
3745− ]
3746− },
3747− "update": {
3748− "id": "adexchangebuyer.marketplaceorders.update",
3749− "path": "marketplaceOrders/{orderId}/{revisionNumber}/{updateAction}",
3750− "httpMethod": "PUT",
3751− "description": "Update the given order",
3752− "parameters": {
3753− "orderId": {
3754− "type": "string",
3755− "description": "The order id to update.",
3756− "required": true,
3757− "location": "path"
3758− },
3759− "revisionNumber": {
3760− "type": "string",
3761− "description": "The last known revision number to update. If the head revision in the marketplace database has since changed, an error will be thrown. The caller should then fetch the lastest order at head revision and retry the update at that revision.",
3762− "required": true,
3763− "format": "int64",
3764− "location": "path"
3765 },
3486 },
3766− "updateAction": {
3487+ "type": "object"
3767− "type": "string",
3768− "description": "The proposed action to take on the order.",
3769− "required": true,
3770− "enum": [
3771− "accept",
3772− "cancel",
3773− "propose",
3774− "unknownAction",
3775− "updateFinalized"
3776− ],
3777− "enumDescriptions": [
3778− "",
3779− "",
3780− "",
3781− "",
3782− ""
3783− ],
3784− "location": "path"
3785− }
3786− },
3787− "parameterOrder": [
3788− "orderId",
3789− "revisionNumber",
3790− "updateAction"
3791− ],
3792− "request": {
3793− "$ref": "MarketplaceOrder"
3794− },
3795− "response": {
3796− "$ref": "MarketplaceOrder"
3797− },
3798− "scopes": [
3799− "https://www.googleapis.com/auth/adexchange.buyer"
3800− ]
3801− }
3802− }
3803− },
3804− "negotiationrounds": {
3805− "methods": {
3806− "insert": {
3807− "id": "adexchangebuyer.negotiationrounds.insert",
3808− "path": "negotiations/{negotiationId}/negotiationrounds",
3809− "httpMethod": "POST",
3810− "description": "Adds the requested negotiationRound to the requested negotiation.",
3811− "parameters": {
3812− "negotiationId": {
3813− "type": "string",
3814− "required": true,
3815− "format": "int64",
3816− "location": "path"
3817− }
3818− },
3819− "parameterOrder": [
3820− "negotiationId"
3821− ],
3822− "request": {
3823− "$ref": "NegotiationRoundDto"
3824− },
3825− "response": {
3826− "$ref": "NegotiationRoundDto"
3827− },
3828− "scopes": [
3829− "https://www.googleapis.com/auth/adexchange.buyer"
3830− ]
3831− }
3832− }
3833− },
3834− "negotiations": {
3835− "methods": {
3836− "get": {
3837− "id": "adexchangebuyer.negotiations.get",
3838− "path": "negotiations/{negotiationId}",
3839− "httpMethod": "GET",
3840− "description": "Gets the requested negotiation.",
3841− "parameters": {
3842− "negotiationId": {
3843− "type": "string",
3844− "required": true,
3845− "format": "int64",
3846− "location": "path"
3847− }
3848− },
3849− "parameterOrder": [
3850− "negotiationId"
3851− ],
3852− "request": {
3853− "$ref": "GetNegotiationByIdRequest"
3854− },
3855− "response": {
3856− "$ref": "NegotiationDto"
3857− },
3858− "scopes": [
3859− "https://www.googleapis.com/auth/adexchange.buyer"
3860− ]
3861− },
3862− "insert": {
3863− "id": "adexchangebuyer.negotiations.insert",
3864− "path": "negotiations",
3865− "httpMethod": "POST",
3866− "description": "Creates or updates the requested negotiation.",
3867− "request": {
3868− "$ref": "NegotiationDto"
3869− },
3870− "response": {
3871− "$ref": "NegotiationDto"
3872− },
3873− "scopes": [
3874− "https://www.googleapis.com/auth/adexchange.buyer"
3875− ]
3876− },
3877− "list": {
3878− "id": "adexchangebuyer.negotiations.list",
3879− "path": "negotiations",
3880− "httpMethod": "GET",
3881− "description": "Lists all negotiations the authenticated user has access to.",
3882− "request": {
3883− "$ref": "GetNegotiationsRequest"
3884− },
3885− "response": {
3886− "$ref": "GetNegotiationsResponse"
3887− },
3888− "scopes": [
3889− "https://www.googleapis.com/auth/adexchange.buyer"
3890− ]
3891− }
3892− }
3893− },
3894− "offers": {
3895− "methods": {
3896− "get": {
3897− "id": "adexchangebuyer.offers.get",
3898− "path": "offers/{offerId}",
3899− "httpMethod": "GET",
3900− "description": "Gets the requested offer.",
3901− "parameters": {
3902− "offerId": {
3903− "type": "string",
3904− "required": true,
3905− "format": "int64",
3906− "location": "path"
3907− }
3908− },
3909− "parameterOrder": [
3910− "offerId"
3911− ],
3912− "response": {
3913− "$ref": "OfferDto"
3914− },
3915− "scopes": [
3916− "https://www.googleapis.com/auth/adexchange.buyer"
3917− ]
3918 },
3488 },
3919− "insert": {
3489+ "SharedTargeting": {
3920− "id": "adexchangebuyer.offers.insert",
3490+ "id": "SharedTargeting",
3921− "path": "offers",
3491+ "properties": {
3922− "httpMethod": "POST",
3492+ "exclusions": {
3923− "description": "Creates or updates the requested offer.",
3493+ "description": "The list of values to exclude from targeting. Each value is AND'd together.",
3924− "request": {
3494+ "items": {
3925− "$ref": "OfferDto"
3495+ "$ref": "TargetingValue"
3926− },
3496+ },
3927− "response": {
3497+ "type": "array"
3928− "$ref": "OfferDto"
3498+ },
3929− },
3499+ "inclusions": {
3930− "scopes": [
3500+ "description": "The list of value to include as part of the targeting. Each value is OR'd together.",
3931− "https://www.googleapis.com/auth/adexchange.buyer"
3501+ "items": {
3932− ]
3502+ "$ref": "TargetingValue"
3933− },
3503+ },
3934− "list": {
3504+ "type": "array"
3935− "id": "adexchangebuyer.offers.list",
3505+ },
3936− "path": "offers",
3506+ "key": {
3937− "httpMethod": "GET",
3507+ "description": "The key representing the shared targeting criterion.",
3938− "description": "Lists all offers the authenticated user has access to.",
3508+ "type": "string"
3939− "request": {
3509+ }
3940− "$ref": "ListOffersRequest"
3941− },
3942− "response": {
3943− "$ref": "ListOffersResponse"
3944− },
3945− "scopes": [
3946− "https://www.googleapis.com/auth/adexchange.buyer"
3947− ]
3948− }
3949− }
3950− },
3951− "performanceReport": {
3952− "methods": {
3953− "list": {
3954− "id": "adexchangebuyer.performanceReport.list",
3955− "path": "performancereport",
3956− "httpMethod": "GET",
3957− "description": "Retrieves the authenticated user's list of performance metrics.",
3958− "parameters": {
3959− "accountId": {
3960− "type": "string",
3961− "description": "The account id to get the reports.",
3962− "required": true,
3963− "format": "int64",
3964− "location": "query"
3965− },
3966− "endDateTime": {
3967− "type": "string",
3968− "description": "The end time of the report in ISO 8601 timestamp format using UTC.",
3969− "required": true,
3970− "location": "query"
3971 },
3510 },
3972− "maxResults": {
3511+ "type": "object"
3973− "type": "integer",
3512+ },
3974− "description": "Maximum number of entries returned on one result page. If not set, the default is 100. Optional.",
3513+ "TargetingValue": {
3975− "format": "uint32",
3514+ "id": "TargetingValue",
3976− "minimum": "1",
3515+ "properties": {
3977− "maximum": "1000",
3516+ "creativeSizeValue": {
3978− "location": "query"
3517+ "$ref": "TargetingValueCreativeSize",
3518+ "description": "The creative size value to exclude/include."
3519+ },
3520+ "dayPartTargetingValue": {
3521+ "$ref": "TargetingValueDayPartTargeting",
3522+ "description": "The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING."
3523+ },
3524+ "demogAgeCriteriaValue": {
3525+ "$ref": "TargetingValueDemogAgeCriteria"
3526+ },
3527+ "demogGenderCriteriaValue": {
3528+ "$ref": "TargetingValueDemogGenderCriteria"
3529+ },
3530+ "longValue": {
3531+ "description": "The long value to exclude/include.",
3532+ "format": "int64",
3533+ "type": "string"
3534+ },
3535+ "stringValue": {
3536+ "description": "The string value to exclude/include.",
3537+ "type": "string"
3538+ }
3979 },
3539 },
3980− "pageToken": {
3540+ "type": "object"
3981− "type": "string",
3541+ },
3982− "description": "A continuation token, used to page through performance reports. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response. Optional.",
3542+ "TargetingValueCreativeSize": {
3983− "location": "query"
3543+ "description": "Next Id: 7",
3544+ "id": "TargetingValueCreativeSize",
3545+ "properties": {
3546+ "allowedFormats": {
3547+ "description": "The formats allowed by the publisher.",
3548+ "items": {
3549+ "type": "string"
3550+ },
3551+ "type": "array"
3552+ },
3553+ "companionSizes": {
3554+ "description": "For video size type, the list of companion sizes.",
3555+ "items": {
3556+ "$ref": "TargetingValueSize"
3557+ },
3558+ "type": "array"
3559+ },
3560+ "creativeSizeType": {
3561+ "description": "The Creative size type.",
3562+ "type": "string"
3563+ },
3564+ "nativeTemplate": {
3565+ "description": "The native template for native ad.",
3566+ "type": "string"
3567+ },
3568+ "size": {
3569+ "$ref": "TargetingValueSize",
3570+ "description": "For regular or video creative size type, specifies the size of the creative."
3571+ },
3572+ "skippableAdType": {
3573+ "description": "The skippable ad type for video size.",
3574+ "type": "string"
3575+ }
3984 },
3576 },
3985− "startDateTime": {
3577+ "type": "object"
3986− "type": "string",
3578+ },
3987− "description": "The start time of the report in ISO 8601 timestamp format using UTC.",
3579+ "TargetingValueDayPartTargeting": {
3988− "required": true,
3580+ "id": "TargetingValueDayPartTargeting",
3989− "location": "query"
3581+ "properties": {
3990− }
3582+ "dayParts": {
3991− },
3583+ "items": {
3992− "parameterOrder": [
3584+ "$ref": "TargetingValueDayPartTargetingDayPart"
3993− "accountId",
3585+ },
3994− "endDateTime",
3586+ "type": "array"
3995− "startDateTime"
3587+ },
3996− ],
3588+ "timeZoneType": {
3997− "response": {
3589+ "type": "string"
3998− "$ref": "PerformanceReportList"
3590+ }
3999− },
4000− "scopes": [
4001− "https://www.googleapis.com/auth/adexchange.buyer"
4002− ]
4003− }
4004− }
4005− },
4006− "pretargetingConfig": {
4007− "methods": {
4008− "delete": {
4009− "id": "adexchangebuyer.pretargetingConfig.delete",
4010− "path": "pretargetingconfigs/{accountId}/{configId}",
4011− "httpMethod": "DELETE",
4012− "description": "Deletes an existing pretargeting config.",
4013− "parameters": {
4014− "accountId": {
4015− "type": "string",
4016− "description": "The account id to delete the pretargeting config for.",
4017− "required": true,
4018− "format": "int64",
4019− "location": "path"
4020 },
3591 },
4021− "configId": {
3592+ "type": "object"
4022− "type": "string",
4023− "description": "The specific id of the configuration to delete.",
4024− "required": true,
4025− "format": "int64",
4026− "location": "path"
4027− }
4028− },
4029− "parameterOrder": [
4030− "accountId",
4031− "configId"
4032− ],
4033− "scopes": [
4034− "https://www.googleapis.com/auth/adexchange.buyer"
4035− ]
4036 },
3593 },
4037− "get": {
3594+ "TargetingValueDayPartTargetingDayPart": {
4038− "id": "adexchangebuyer.pretargetingConfig.get",
3595+ "id": "TargetingValueDayPartTargetingDayPart",
4039− "path": "pretargetingconfigs/{accountId}/{configId}",
3596+ "properties": {
4040− "httpMethod": "GET",
3597+ "dayOfWeek": {
4041− "description": "Gets a specific pretargeting configuration",
3598+ "type": "string"
4042− "parameters": {
3599+ },
4043− "accountId": {
3600+ "endHour": {
4044− "type": "string",
3601+ "format": "int32",
4045− "description": "The account id to get the pretargeting config for.",
3602+ "type": "integer"
4046− "required": true,
3603+ },
4047− "format": "int64",
3604+ "endMinute": {
4048− "location": "path"
3605+ "format": "int32",
3606+ "type": "integer"
3607+ },
3608+ "startHour": {
3609+ "format": "int32",
3610+ "type": "integer"
3611+ },
3612+ "startMinute": {
3613+ "format": "int32",
3614+ "type": "integer"
3615+ }
4049 },
3616 },
4050− "configId": {
3617+ "type": "object"
4051− "type": "string",
4052− "description": "The specific id of the configuration to retrieve.",
4053− "required": true,
4054− "format": "int64",
4055− "location": "path"
4056− }
4057− },
4058− "parameterOrder": [
4059− "accountId",
4060− "configId"
4061− ],
4062− "response": {
4063− "$ref": "PretargetingConfig"
4064− },
4065− "scopes": [
4066− "https://www.googleapis.com/auth/adexchange.buyer"
4067− ]
4068 },
3618 },
4069− "insert": {
3619+ "TargetingValueDemogAgeCriteria": {
4070− "id": "adexchangebuyer.pretargetingConfig.insert",
3620+ "id": "TargetingValueDemogAgeCriteria",
4071− "path": "pretargetingconfigs/{accountId}",
3621+ "properties": {
4072− "httpMethod": "POST",
3622+ "demogAgeCriteriaIds": {
4073− "description": "Inserts a new pretargeting configuration.",
3623+ "items": {
4074− "parameters": {
3624+ "type": "string"
4075− "accountId": {
3625+ },
4076− "type": "string",
3626+ "type": "array"
4077− "description": "The account id to insert the pretargeting config for.",
3627+ }
4078− "required": true,
3628+ },
4079− "format": "int64",
3629+ "type": "object"
4080− "location": "path"
4081− }
4082− },
4083− "parameterOrder": [
4084− "accountId"
4085− ],
4086− "request": {
4087− "$ref": "PretargetingConfig"
4088− },
4089− "response": {
4090− "$ref": "PretargetingConfig"
4091− },
4092− "scopes": [
4093− "https://www.googleapis.com/auth/adexchange.buyer"
4094− ]
4095 },
3630 },
4096− "list": {
3631+ "TargetingValueDemogGenderCriteria": {
4097− "id": "adexchangebuyer.pretargetingConfig.list",
3632+ "id": "TargetingValueDemogGenderCriteria",
4098− "path": "pretargetingconfigs/{accountId}",
3633+ "properties": {
4099− "httpMethod": "GET",
3634+ "demogGenderCriteriaIds": {
4100− "description": "Retrieves a list of the authenticated user's pretargeting configurations.",
3635+ "items": {
4101− "parameters": {
3636+ "type": "string"
4102− "accountId": {
3637+ },
4103− "type": "string",
3638+ "type": "array"
4104− "description": "The account id to get the pretargeting configs for.",
3639+ }
4105− "required": true,
3640+ },
4106− "format": "int64",
3641+ "type": "object"
4107− "location": "path"
4108− }
4109− },
4110− "parameterOrder": [
4111− "accountId"
4112− ],
4113− "response": {
4114− "$ref": "PretargetingConfigList"
4115− },
4116− "scopes": [
4117− "https://www.googleapis.com/auth/adexchange.buyer"
4118− ]
4119 },
3642 },
4120− "patch": {
3643+ "TargetingValueSize": {
4121− "id": "adexchangebuyer.pretargetingConfig.patch",
3644+ "id": "TargetingValueSize",
4122− "path": "pretargetingconfigs/{accountId}/{configId}",
3645+ "properties": {
4123− "httpMethod": "PATCH",
3646+ "height": {
4124− "description": "Updates an existing pretargeting config. This method supports patch semantics.",
3647+ "description": "The height of the creative.",
4125− "parameters": {
3648+ "format": "int32",
4126− "accountId": {
3649+ "type": "integer"
4127− "type": "string",
3650+ },
4128− "description": "The account id to update the pretargeting config for.",
3651+ "width": {
4129− "required": true,
3652+ "description": "The width of the creative.",
4130− "format": "int64",
3653+ "format": "int32",
4131− "location": "path"
3654+ "type": "integer"
3655+ }
4132 },
3656 },
4133− "configId": {
3657+ "type": "object"
4134− "type": "string",
4135− "description": "The specific id of the configuration to update.",
4136− "required": true,
4137− "format": "int64",
4138− "location": "path"
4139− }
4140− },
4141− "parameterOrder": [
4142− "accountId",
4143− "configId"
4144− ],
4145− "request": {
4146− "$ref": "PretargetingConfig"
4147− },
4148− "response": {
4149− "$ref": "PretargetingConfig"
4150− },
4151− "scopes": [
4152− "https://www.googleapis.com/auth/adexchange.buyer"
4153− ]
4154 },
3658 },
4155− "update": {
3659+ "UpdatePrivateAuctionProposalRequest": {
4156− "id": "adexchangebuyer.pretargetingConfig.update",
3660+ "id": "UpdatePrivateAuctionProposalRequest",
4157− "path": "pretargetingconfigs/{accountId}/{configId}",
3661+ "properties": {
4158− "httpMethod": "PUT",
3662+ "externalDealId": {
4159− "description": "Updates an existing pretargeting config.",
3663+ "description": "The externalDealId of the deal to be updated.",
4160− "parameters": {
3664+ "type": "string"
4161− "accountId": {
3665+ },
4162− "type": "string",
3666+ "note": {
4163− "description": "The account id to update the pretargeting config for.",
3667+ "$ref": "MarketplaceNote",
4164− "required": true,
3668+ "description": "Optional note to be added."
4165− "format": "int64",
3669+ },
4166− "location": "path"
3670+ "proposalRevisionNumber": {
3671+ "description": "The current revision number of the proposal to be updated.",
3672+ "format": "int64",
3673+ "type": "string"
3674+ },
3675+ "updateAction": {
3676+ "description": "The proposed action on the private auction proposal.",
3677+ "type": "string"
3678+ }
4167 },
3679 },
4168− "configId": {
3680+ "type": "object"
4169− "type": "string",
4170− "description": "The specific id of the configuration to update.",
4171− "required": true,
4172− "format": "int64",
4173− "location": "path"
4174− }
4175− },
4176− "parameterOrder": [
4177− "accountId",
4178− "configId"
4179− ],
4180− "request": {
4181− "$ref": "PretargetingConfig"
4182− },
4183− "response": {
4184− "$ref": "PretargetingConfig"
4185− },
4186− "scopes": [
4187− "https://www.googleapis.com/auth/adexchange.buyer"
4188− ]
4189 }
3681 }
4190− }
3682+ },
4191− }
3683+ "servicePath": "adexchangebuyer/v1.4/",
4192− }
3684+ "title": "Ad Exchange Buyer API",
4193−}
3685+ "version": "v1.4"
3686+}
gen/model/adexchangebuyer2/v2beta1/adexchangebuyer2-api.jsonnew file+5859

This diff is too big to show here.

gen/model/adexchangeseller/v1.1/adexchangeseller-api.json+1186−1186

This diff is too big to show here.

gen/model/adexchangeseller/v1/adexchangeseller-api.json+873−873

This diff is too big to show here.

gen/model/adexchangeseller/v2.0/adexchangeseller-api.json+1093−1093

This diff is too big to show here.

gen/model/adexperiencereport/v1/adexperiencereport-api.jsonnew file+274

This diff is too big to show here.

gen/model/admin/datatransfer/v1/admin-api.json+386−386

This diff is too big to show here.

gen/model/admin/directory/v1/admin-api.json+6851−4030

This diff is too big to show here.

gen/model/admin/email_migration/v2/admin-api.jsondeleted−173

This diff is too big to show here.

gen/model/admin/reports/v1/admin-api.json+805−706

This diff is too big to show here.

gen/model/adsense/v1.2/adsense-api.jsondeleted−1949

This diff is too big to show here.

gen/model/adsense/v1.3/adsense-api.json+8−8

This diff is too big to show here.

gen/model/adsense/v1.4/adsense-api.json+2341−2303

This diff is too big to show here.

gen/model/adsensehost/v4.1/adsensehost-api.json+1485−1485

This diff is too big to show here.

gen/model/alertcenter/v1beta1/alertcenter-api.jsonnew file+1018

This diff is too big to show here.

gen/model/analytics/v2.4/analytics-api.json+350−350

This diff is too big to show here.

gen/model/analytics/v3/analytics-api.json+7190−6410

This diff is too big to show here.

gen/model/analyticsreporting/v4/analyticsreporting-api.jsonnew file+1678

This diff is too big to show here.

gen/model/androiddeviceprovisioning/v1/androiddeviceprovisioning-api.jsonnew file+1794

This diff is too big to show here.

gen/model/androidenterprise/v1/androidenterprise-api.json+4706−2380

This diff is too big to show here.

gen/model/androidmanagement/v1/androidmanagement-api.jsonnew file+3434

This diff is too big to show here.

gen/model/androidpublisher/v1.1/androidpublisher-api.json+248−239

This diff is too big to show here.

gen/model/androidpublisher/v1/androidpublisher-api.json+174−174

This diff is too big to show here.

gen/model/androidpublisher/v2/androidpublisher-api.json+3503−2943

This diff is too big to show here.

gen/model/androidpublisher/v3/androidpublisher-api.jsonnew file+3406

This diff is too big to show here.

gen/model/appengine/v1/appengine-api.jsonnew file+3597

This diff is too big to show here.

gen/model/appengine/v1alpha/appengine-api.jsonnew file+1260

This diff is too big to show here.

gen/model/appengine/v1beta/appengine-api.jsonnew file+3665

This diff is too big to show here.

gen/model/appengine/v1beta4/appengine-api.json+2420−1374

This diff is too big to show here.

gen/model/appengine/v1beta5/appengine-api.jsonnew file+2439

This diff is too big to show here.

gen/model/appsactivity/v1/appsactivity-api.json+446−448

This diff is too big to show here.

gen/model/appstate/v1/appstate-api.json+289−289

This diff is too big to show here.

gen/model/autoscaler/v1beta2/autoscaler-api.jsondeleted−891

This diff is too big to show here.

gen/model/bigquery/v2/bigquery-api.json+3426−2274

This diff is too big to show here.

gen/model/bigquerydatatransfer/v1/bigquerydatatransfer-api.jsonnew file+1922

This diff is too big to show here.

gen/model/bigtableadmin/v1/bigtableadmin-api.jsonnew file+521

This diff is too big to show here.

gen/model/bigtableadmin/v2/bigtableadmin-api.jsonnew file+2303

This diff is too big to show here.

gen/model/binaryauthorization/v1beta1/binaryauthorization-api.jsonnew file+843

This diff is too big to show here.

gen/model/blogger/v2/blogger-api.json+885−885

This diff is too big to show here.

gen/model/blogger/v3/blogger-api.json+2442−2442

This diff is too big to show here.

gen/model/books/v1/books-api.json+4598−3946

This diff is too big to show here.

gen/model/calendar/v3/calendar-api.json+2946−2632

This diff is too big to show here.

gen/model/chat/v1/chat-api.jsonnew file+1110

This diff is too big to show here.

gen/model/civicinfo/v2/civicinfo-api.json+1595−1038

This diff is too big to show here.

gen/model/classroom/v1/classroom-api.json+3622−1053

This diff is too big to show here.

gen/model/cloudasset/v1/cloudasset-api.jsonnew file+587

This diff is too big to show here.

gen/model/cloudasset/v1beta1/cloudasset-api.jsonnew file+768

This diff is too big to show here.

gen/model/cloudbilling/v1/cloudbilling-api.json+1001−329

This diff is too big to show here.

gen/model/cloudbuild/v1/cloudbuild-api.jsonnew file+1522

This diff is too big to show here.

gen/model/cloudbuild/v1alpha1/cloudbuild-api.jsonnew file+1061

This diff is too big to show here.

gen/model/clouddebugger/v2/clouddebugger-api.json+1026−886

This diff is too big to show here.

gen/model/clouderrorreporting/v1beta1/clouderrorreporting-api.jsonnew file+739

This diff is too big to show here.

gen/model/cloudfunctions/v1/cloudfunctions-api.jsonnew file+1208

This diff is too big to show here.

gen/model/cloudfunctions/v1beta2/cloudfunctions-api.jsonnew file+971

This diff is too big to show here.

gen/model/cloudidentity/v1/cloudidentity-api.jsonnew file+743

This diff is too big to show here.

gen/model/cloudidentity/v1beta1/cloudidentity-api.jsonnew file+687

This diff is too big to show here.

gen/model/cloudiot/v1/cloudiot-api.jsonnew file+1922

This diff is too big to show here.

gen/model/cloudkms/v1/cloudkms-api.jsonnew file+1846

This diff is too big to show here.

gen/model/cloudlatencytest/v2/cloudlatencytest-api.jsondeleted−212

This diff is too big to show here.

gen/model/cloudmonitoring/v2beta2/cloudmonitoring-api.jsondeleted−839

This diff is too big to show here.

gen/model/cloudprivatecatalog/v1beta1/cloudprivatecatalog-api.jsonnew file+686

This diff is too big to show here.

gen/model/cloudprivatecatalogproducer/v1beta1/cloudprivatecatalogproducer-api.jsonnew file+1473

This diff is too big to show here.

gen/model/cloudprofiler/v2/cloudprofiler-api.jsonnew file+342

This diff is too big to show here.

gen/model/cloudresourcemanager/v1/cloudresourcemanager-api.jsonnew file+2054

This diff is too big to show here.

gen/model/cloudresourcemanager/v1beta1/cloudresourcemanager-api.json+1018−698

This diff is too big to show here.

gen/model/cloudresourcemanager/v2/cloudresourcemanager-api.jsonnew file+894

This diff is too big to show here.

gen/model/cloudresourcemanager/v2beta1/cloudresourcemanager-api.jsonnew file+894

This diff is too big to show here.

gen/model/cloudscheduler/v1/cloudscheduler-api.jsonnew file+829

This diff is too big to show here.

gen/model/cloudscheduler/v1beta1/cloudscheduler-api.jsonnew file+872

This diff is too big to show here.

gen/model/cloudsearch/v1/cloudsearch-api.jsonnew file+4593

This diff is too big to show here.

gen/model/cloudshell/v1/cloudshell-api.jsonnew file+456

This diff is too big to show here.

gen/model/cloudshell/v1alpha1/cloudshell-api.jsonnew file+533

This diff is too big to show here.

gen/model/cloudtasks/v2/cloudtasks-api.jsonnew file+1244

This diff is too big to show here.

gen/model/cloudtasks/v2beta2/cloudtasks-api.jsonnew file+1521

This diff is too big to show here.

gen/model/cloudtasks/v2beta3/cloudtasks-api.jsonnew file+1255

This diff is too big to show here.

gen/model/cloudtrace/v1/cloudtrace-api.jsonnew file+373

This diff is too big to show here.

gen/model/cloudtrace/v2/cloudtrace-api.jsonnew file+589

This diff is too big to show here.

gen/model/clouduseraccounts/v0.alpha/clouduseraccounts-api.jsondeleted−1818

This diff is too big to show here.

gen/model/clouduseraccounts/v0.beta/clouduseraccounts-api.jsondeleted−1355

This diff is too big to show here.

gen/model/clouduseraccounts/vm_alpha/clouduseraccounts-api.jsondeleted−1818

This diff is too big to show here.

gen/model/clouduseraccounts/vm_beta/clouduseraccounts-api.jsondeleted−1355

This diff is too big to show here.

gen/model/commentanalyzer/v1alpha1/commentanalyzer-api.jsonnew file+458

This diff is too big to show here.

gen/model/composer/v1/composer-api.jsonnew file+786

This diff is too big to show here.

gen/model/composer/v1beta1/composer-api.jsonnew file+849

This diff is too big to show here.

gen/model/compute/v0.alpha/compute-api.json+57043

This diff is too big to show here.

gen/model/compute/v0.beta/compute-api.json+46108−14189

This diff is too big to show here.

gen/model/compute/v1/compute-api.json+39043−13025

This diff is too big to show here.

gen/model/consumersurveys/v2/consumersurveys-api.json+779

This diff is too big to show here.

gen/model/container/v1/container-api.json+4339−677

This diff is too big to show here.

gen/model/container/v1beta1/container-api.json+4799−633

This diff is too big to show here.

gen/model/containeranalysis/v1alpha1/containeranalysis-api.json+2965

This diff is too big to show here.

gen/model/containeranalysis/v1beta1/containeranalysis-api.json+2870

This diff is too big to show here.

gen/model/content/v2.1/content-api.json+9094

This diff is too big to show here.

gen/model/content/v2/content-api.json+10827−6016

This diff is too big to show here.

gen/model/content/v2sandbox/content-api.json+3998−2156

This diff is too big to show here.

gen/model/coordinate/v1/coordinate-api.json−1196

This diff is too big to show here.

gen/model/customsearch/v1/customsearch-api.json+1144−792

This diff is too big to show here.

gen/model/dataflow/v1b3/dataflow-api.json+5924−2337

This diff is too big to show here.

gen/model/datafusion/v1beta1/datafusion-api.json+1400

This diff is too big to show here.

gen/model/dataproc/v1/dataproc-api.json+3351

This diff is too big to show here.

gen/model/dataproc/v1beta2/dataproc-api.json+4210

This diff is too big to show here.

gen/model/datastore/v1/datastore-api.json+1996

This diff is too big to show here.

gen/model/datastore/v1beta1/datastore-api.json+629−981

This diff is too big to show here.

gen/model/datastore/v1beta2/datastore-api.json−1075

This diff is too big to show here.

gen/model/datastore/v1beta3/datastore-api.json+1507

This diff is too big to show here.

gen/model/deploymentmanager/v0.alpha/deploymentmanager-api.json+3249

This diff is too big to show here.

gen/model/deploymentmanager/v2/deploymentmanager-api.json+1882−1324

This diff is too big to show here.

gen/model/deploymentmanager/v2beta/deploymentmanager-api.json+3001

This diff is too big to show here.

gen/model/deploymentmanager/v2beta1/deploymentmanager-api.json−883

This diff is too big to show here.

gen/model/deploymentmanager/v2beta2/deploymentmanager-api.json−1225

This diff is too big to show here.

gen/model/dfareporting/v1.1/dfareporting-api.json−1521

This diff is too big to show here.

gen/model/dfareporting/v1.2/dfareporting-api.json−1589

This diff is too big to show here.

gen/model/dfareporting/v1.3/dfareporting-api.json−1913

This diff is too big to show here.

gen/model/dfareporting/v1/dfareporting-api.json−1172

This diff is too big to show here.

gen/model/dfareporting/v2.0/dfareporting-api.json−15333

This diff is too big to show here.

gen/model/dfareporting/v2.1/dfareporting-api.json−17625

This diff is too big to show here.

gen/model/dfareporting/v2.2/dfareporting-api.json−17672

This diff is too big to show here.

gen/model/dfareporting/v2.7/dfareporting-api.json+19609

This diff is too big to show here.

gen/model/dfareporting/v2.8/dfareporting-api.json+19752

This diff is too big to show here.

gen/model/dfareporting/v3.0/dfareporting-api.json+19814

This diff is too big to show here.

gen/model/dfareporting/v3.1/dfareporting-api.json+20020

This diff is too big to show here.

gen/model/dfareporting/v3.2/dfareporting-api.json+20056

This diff is too big to show here.

gen/model/dfareporting/v3.3/dfareporting-api.json+19917

This diff is too big to show here.

gen/model/dialogflow/v2/dialogflow-api.json+4268

This diff is too big to show here.

gen/model/dialogflow/v2beta1/dialogflow-api.json+5475

This diff is too big to show here.

gen/model/digitalassetlinks/v1/digitalassetlinks-api.json+374

This diff is too big to show here.

gen/model/discovery/v1/discovery-api.json+657−654

This diff is too big to show here.

gen/model/dlp/v2/dlp-api.json+5183

This diff is too big to show here.

gen/model/dns/v1/dns-api.json+1413−661

This diff is too big to show here.

gen/model/dns/v1beta1/dns-api.json−700

This diff is too big to show here.

gen/model/dns/v1beta2/dns-api.json+1918

This diff is too big to show here.

gen/model/dns/v2beta1/dns-api.json+1460

This diff is too big to show here.

gen/model/docs/v1/docs-api.json+3630

This diff is too big to show here.

gen/model/doubleclickbidmanager/v1/doubleclickbidmanager-api.json+2188−1674

This diff is too big to show here.

gen/model/doubleclicksearch/v2/doubleclicksearch-api.json+1077−1072

This diff is too big to show here.

gen/model/drive/v1/drive-api.json−417

This diff is too big to show here.

gen/model/drive/v2/drive-api.json+5779−4175

This diff is too big to show here.

gen/model/drive/v3/drive-api.json+3781

This diff is too big to show here.

gen/model/driveactivity/v2/driveactivity-api.json+1203

This diff is too big to show here.

gen/model/factchecktools/v1alpha1/factchecktools-api.json+574

This diff is too big to show here.

gen/model/file/v1/file-api.json+1017

This diff is too big to show here.

gen/model/file/v1beta1/file-api.json+1017

This diff is too big to show here.

gen/model/firebasedynamiclinks/v1/firebasedynamiclinks-api.json+1020

This diff is too big to show here.

gen/model/firebasehosting/v1beta1/firebasehosting-api.json+1201

This diff is too big to show here.

gen/model/firebaseremoteconfig/v1/firebaseremoteconfig-api.json+283

This diff is too big to show here.

gen/model/firebaserules/v1/firebaserules-api.json+942

This diff is too big to show here.

gen/model/firestore/v1/firestore-api.json+2833

This diff is too big to show here.

gen/model/firestore/v1beta1/firestore-api.json+2272

This diff is too big to show here.

gen/model/firestore/v1beta2/firestore-api.json+975

This diff is too big to show here.

gen/model/fitness/v1/fitness-api.json+1552−1267

This diff is too big to show here.

gen/model/freebase/v1/freebase-api.json−412

This diff is too big to show here.

gen/model/fusiontables/v1/fusiontables-api.json+1774−1772

This diff is too big to show here.

gen/model/fusiontables/v2/fusiontables-api.json+1903−1878

This diff is too big to show here.

gen/model/games/v1/games-api.json+4792−4689

This diff is too big to show here.

gen/model/gamesconfiguration/v1configuration/gamesconfiguration-api.json+757−757

This diff is too big to show here.

gen/model/gamesmanagement/v1management/gamesmanagement-api.json+850−848

This diff is too big to show here.

gen/model/gan/v1beta1/gan-api.json−1860

This diff is too big to show here.

gen/model/genomics/v1/genomics-api.json+602−2728

This diff is too big to show here.

gen/model/genomics/v1alpha2/genomics-api.json+1288

This diff is too big to show here.

gen/model/genomics/v1beta2/genomics-api.json−3859

This diff is too big to show here.

gen/model/genomics/v2alpha1/genomics-api.json+1196

This diff is too big to show here.

gen/model/gmail/v1/gmail-api.json+3623−1911

This diff is too big to show here.

gen/model/groupsmigration/v1/groupsmigration-api.json+135−136

This diff is too big to show here.

gen/model/groupssettings/v1/groupssettings-api.json+404−272

This diff is too big to show here.

gen/model/healthcare/v1alpha/healthcare-api.json+819

This diff is too big to show here.

gen/model/healthcare/v1alpha2/healthcare-api.json+4856

This diff is too big to show here.

gen/model/healthcare/v1beta1/healthcare-api.json+4049

This diff is too big to show here.

gen/model/iam/v1/iam-api.json+2107

This diff is too big to show here.

gen/model/iamcredentials/v1/iamcredentials-api.json+428

This diff is too big to show here.

gen/model/iap/v1/iap-api.json+318

This diff is too big to show here.

gen/model/iap/v1beta1/iap-api.json+318

This diff is too big to show here.

gen/model/identitytoolkit/v3/identitytoolkit-api.json+2095−996

This diff is too big to show here.

gen/model/indexing/v3/indexing-api.json+219

This diff is too big to show here.

gen/model/jobs/v2/jobs-api.json+3302

This diff is too big to show here.

gen/model/jobs/v3/jobs-api.json+2641

This diff is too big to show here.

gen/model/jobs/v3p1beta1/jobs-api.json+2825

This diff is too big to show here.

gen/model/kgsearch/v1/kgsearch-api.json+183

This diff is too big to show here.

gen/model/language/v1/language-api.json+1251

This diff is too big to show here.

gen/model/language/v1beta1/language-api.json+1099

This diff is too big to show here.

gen/model/language/v1beta2/language-api.json+1251

This diff is too big to show here.

gen/model/libraryagent/v1/libraryagent-api.json+363

This diff is too big to show here.

gen/model/licensing/v1/licensing-api.json+447−439

This diff is too big to show here.

gen/model/logging/v1beta3/logging-api.json−1490

This diff is too big to show here.

gen/model/logging/v2/logging-api.json+3635

This diff is too big to show here.

gen/model/logging/v2beta1/logging-api.json+1560

This diff is too big to show here.

gen/model/manager/v1beta2/manager-api.json−1171

This diff is too big to show here.

gen/model/manufacturers/v1/manufacturers-api.json+757

This diff is too big to show here.

gen/model/mapsengine/exp2/mapsengine-api.json−5375

This diff is too big to show here.

gen/model/mapsengine/v1/mapsengine-api.json−5352

This diff is too big to show here.

gen/model/mirror/v1/mirror-api.json+1342−1342

This diff is too big to show here.

gen/model/ml/v1/ml-api.json+2346

This diff is too big to show here.

gen/model/monitoring/v1/monitoring-api.json+519

This diff is too big to show here.

gen/model/monitoring/v3/monitoring-api.json+3353

This diff is too big to show here.

gen/model/oauth2/v1/oauth2-api.json+240−387

This diff is too big to show here.

gen/model/oauth2/v2/oauth2-api.json+268−273

This diff is too big to show here.

gen/model/oslogin/v1/oslogin-api.json+437

This diff is too big to show here.

gen/model/oslogin/v1alpha/oslogin-api.json+465

This diff is too big to show here.

gen/model/oslogin/v1beta/oslogin-api.json+445

This diff is too big to show here.

gen/model/pagespeedonline/v1/pagespeedonline-api.json+406−402

This diff is too big to show here.

gen/model/pagespeedonline/v2/pagespeedonline-api.json+473−469

This diff is too big to show here.

gen/model/pagespeedonline/v4/pagespeedonline-api.json+606

This diff is too big to show here.

gen/model/pagespeedonline/v5/pagespeedonline-api.json+570

This diff is too big to show here.

gen/model/partners/v2/partners-api.json+3466−1321

This diff is too big to show here.

gen/model/people/v1/people-api.json+2012

This diff is too big to show here.

gen/model/playcustomapp/v1/playcustomapp-api.json+149

This diff is too big to show here.

gen/model/playmoviespartner/v1/playmoviespartner-api.json+975−1075

This diff is too big to show here.

gen/model/plus/v1/plus-api.json+1510−1914

This diff is too big to show here.

gen/model/plusdomains/v1/plusdomains-api.json+1871−2123

This diff is too big to show here.

gen/model/poly/v1/poly-api.json+793

This diff is too big to show here.

gen/model/prediction/v1.2/prediction-api.json+333−333

This diff is too big to show here.

gen/model/prediction/v1.3/prediction-api.json+391−391

This diff is too big to show here.

gen/model/prediction/v1.4/prediction-api.json+416−416

This diff is too big to show here.

gen/model/prediction/v1.5/prediction-api.json+674−674

This diff is too big to show here.

gen/model/prediction/v1.6/prediction-api.json+759−748

This diff is too big to show here.

gen/model/proximitybeacon/v1beta1/proximitybeacon-api.json+1118−792

This diff is too big to show here.

gen/model/pubsub/v1/pubsub-api.json+1586−963

This diff is too big to show here.

gen/model/pubsub/v1beta1/pubsub-api.json−699

This diff is too big to show here.

gen/model/pubsub/v1beta1a/pubsub-api.json+770−731

This diff is too big to show here.

gen/model/pubsub/v1beta2/pubsub-api.json+1041−971

This diff is too big to show here.

gen/model/qpxexpress/v1/qpxexpress-api.json+10−6

This diff is too big to show here.

gen/model/redis/v1/redis-api.json+852

This diff is too big to show here.

gen/model/redis/v1beta1/redis-api.json+805

This diff is too big to show here.

gen/model/remotebuildexecution/v1/remotebuildexecution-api.json+1978

This diff is too big to show here.

gen/model/remotebuildexecution/v1alpha/remotebuildexecution-api.json+1924

This diff is too big to show here.

gen/model/remotebuildexecution/v2/remotebuildexecution-api.json+2353

This diff is too big to show here.

gen/model/replicapool/v1beta1/replicapool-api.json+1072−1072

This diff is too big to show here.

gen/model/replicapool/v1beta2/replicapool-api.json−1064

This diff is too big to show here.

gen/model/replicapoolupdater/v1beta1/replicapoolupdater-api.json+903−903

This diff is too big to show here.

gen/model/reseller/v1/reseller-api.json+898−797

This diff is too big to show here.

gen/model/reseller/v1sandbox/reseller-api.json−828

This diff is too big to show here.

gen/model/resourceviews/v1beta1/resourceviews-api.json−920

This diff is too big to show here.

gen/model/resourceviews/v1beta2/resourceviews-api.json−1052

This diff is too big to show here.

gen/model/run/v1/run-api.json+183

This diff is too big to show here.

gen/model/run/v1alpha1/run-api.json+3515

This diff is too big to show here.

gen/model/runtimeconfig/v1/runtimeconfig-api.json+312

This diff is too big to show here.

gen/model/runtimeconfig/v1beta1/runtimeconfig-api.json+1169

This diff is too big to show here.

gen/model/safebrowsing/v4/safebrowsing-api.json+1316

This diff is too big to show here.

gen/model/script/v1/script-api.json+1601

This diff is too big to show here.

gen/model/searchconsole/v1/searchconsole-api.json+281

This diff is too big to show here.

gen/model/securitycenter/v1/securitycenter-api.json+1757

This diff is too big to show here.

gen/model/securitycenter/v1beta1/securitycenter-api.json+1703

This diff is too big to show here.

gen/model/servicebroker/v1/servicebroker-api.json+309

This diff is too big to show here.

gen/model/servicebroker/v1alpha1/servicebroker-api.json+1343

This diff is too big to show here.

gen/model/servicebroker/v1beta1/servicebroker-api.json+1504

This diff is too big to show here.

gen/model/serviceconsumermanagement/v1/serviceconsumermanagement-api.json+2591

This diff is too big to show here.

gen/model/servicecontrol/v1/servicecontrol-api.json+1613

This diff is too big to show here.

gen/model/servicemanagement/v1/servicemanagement-api.json+3109

This diff is too big to show here.

gen/model/servicenetworking/v1/servicenetworking-api.json+2159

This diff is too big to show here.

gen/model/servicenetworking/v1beta/servicenetworking-api.json+2032

This diff is too big to show here.

gen/model/serviceusage/v1/serviceusage-api.json+2253

This diff is too big to show here.

gen/model/serviceusage/v1beta1/serviceusage-api.json+2265

This diff is too big to show here.

gen/model/serviceuser/v1/serviceuser-api.json+1914

This diff is too big to show here.

gen/model/sheets/v4/sheets-api.json+5979

This diff is too big to show here.

gen/model/siteverification/v1/siteverification-api.json+305−305

This diff is too big to show here.

gen/model/slides/v1/slides-api.json+4516

This diff is too big to show here.

gen/model/sourcerepo/v1/sourcerepo-api.json+847

This diff is too big to show here.

gen/model/spanner/v1/spanner-api.json+2797

This diff is too big to show here.

gen/model/spectrum/v1explorer/spectrum-api.json+986−986

This diff is too big to show here.

gen/model/speech/v1/speech-api.json+778

This diff is too big to show here.

gen/model/speech/v1beta1/speech-api.json+455

This diff is too big to show here.

gen/model/speech/v1p1beta1/speech-api.json+840

This diff is too big to show here.

gen/model/sqladmin/v1beta3/sqladmin-api.json−1966

This diff is too big to show here.

gen/model/sqladmin/v1beta4/sqladmin-api.json+3156−2514

This diff is too big to show here.

gen/model/storage/v1/storage-api.json+4046−2752

This diff is too big to show here.

gen/model/storage/v1beta1/storage-api.json+1394−1394

This diff is too big to show here.

gen/model/storage/v1beta2/storage-api.json+2296−2296

This diff is too big to show here.

gen/model/storagetransfer/v1/storagetransfer-api.json+1035−1001

This diff is too big to show here.

gen/model/streetviewpublish/v1/streetviewpublish-api.json+778

This diff is too big to show here.

gen/model/surveys/v2/surveys-api.json+717

This diff is too big to show here.

gen/model/tagmanager/v1/tagmanager-api.json+3291−3189

This diff is too big to show here.

gen/model/tagmanager/v2/tagmanager-api.json+4845

This diff is too big to show here.

gen/model/taskqueue/v1beta1/taskqueue-api.json−422

This diff is too big to show here.

gen/model/taskqueue/v1beta2/taskqueue-api.json−569

This diff is too big to show here.

gen/model/tasks/v1/tasks-api.json+676−676

This diff is too big to show here.

gen/model/testing/v1/testing-api.json+1876

This diff is too big to show here.

gen/model/texttospeech/v1/texttospeech-api.json+343

This diff is too big to show here.

gen/model/texttospeech/v1beta1/texttospeech-api.json+343

This diff is too big to show here.

gen/model/toolresults/v1beta3/toolresults-api.json+2806

This diff is too big to show here.

gen/model/tpu/v1/tpu-api.json+1114

This diff is too big to show here.

gen/model/tpu/v1alpha1/tpu-api.json+1114

This diff is too big to show here.

gen/model/tracing/v2/tracing-api.json+726

This diff is too big to show here.

gen/model/translate/v2/translate-api.json+423−250

This diff is too big to show here.

gen/model/urlshortener/v1/urlshortener-api.json+299−299

This diff is too big to show here.

gen/model/vault/v1/vault-api.json+2031

This diff is too big to show here.

gen/model/videointelligence/v1/videointelligence-api.json+2032

This diff is too big to show here.

gen/model/videointelligence/v1beta2/videointelligence-api.json+1883

This diff is too big to show here.

gen/model/videointelligence/v1p1beta1/videointelligence-api.json+1883

This diff is too big to show here.

gen/model/videointelligence/v1p2beta1/videointelligence-api.json+1905

This diff is too big to show here.

gen/model/vision/v1/vision-api.json+7097

This diff is too big to show here.

gen/model/vision/v1p1beta1/vision-api.json+6159

This diff is too big to show here.

gen/model/vision/v1p2beta1/vision-api.json+6159

This diff is too big to show here.

gen/model/webfonts/v1/webfonts-api.json+161−161

This diff is too big to show here.

gen/model/webmasters/v3/webmasters-api.json+931−918

This diff is too big to show here.

gen/model/websecurityscanner/v1alpha/websecurityscanner-api.json+1120

This diff is too big to show here.

gen/model/websecurityscanner/v1beta/websecurityscanner-api.json+1279

This diff is too big to show here.

gen/model/youtube/v3/youtube-api.json+10853−9417

This diff is too big to show here.

gen/model/youtubeanalytics/v1/youtubeanalytics-api.json+523−700

This diff is too big to show here.

gen/model/youtubeanalytics/v1beta1/youtubeanalytics-api.json+526−703

This diff is too big to show here.

gen/model/youtubeanalytics/v2/youtubeanalytics-api.json+744

This diff is too big to show here.

gen/model/youtubereporting/v1/youtubereporting-api.json+1001

This diff is too big to show here.

gen/script/copy-models+1−1

This diff is too big to show here.

gen/script/travis-matrix−47

This diff is too big to show here.

gen/src/Gen/AST.hs+1−2

This diff is too big to show here.

gen/src/Gen/AST/Flatten.hs+8−31

This diff is too big to show here.

gen/src/Gen/AST/Render.hs+55−55

This diff is too big to show here.

gen/src/Gen/AST/Solve.hs+4−10

This diff is too big to show here.

gen/src/Gen/Formatting.hs+2−4

This diff is too big to show here.

gen/src/Gen/IO.hs+15−7

This diff is too big to show here.

gen/src/Gen/JSON.hs+1−1

This diff is too big to show here.

gen/src/Gen/Orphans.hs+5−17

This diff is too big to show here.

gen/src/Gen/Syntax.hs+461−307

This diff is too big to show here.

gen/src/Gen/TH.hs+1−1

This diff is too big to show here.

gen/src/Gen/Text.hs+30−10

This diff is too big to show here.

gen/src/Gen/Tree.hs+1−2

This diff is too big to show here.

gen/src/Gen/Types.hs+25−7

This diff is too big to show here.

gen/src/Gen/Types/Data.hs+17−25

This diff is too big to show here.

gen/src/Gen/Types/Help.hs+27−23

This diff is too big to show here.

gen/src/Gen/Types/Id.hs+64−37

This diff is too big to show here.

gen/src/Gen/Types/Map.hs+1−19

This diff is too big to show here.

gen/src/Gen/Types/NS.hs+1−2

This diff is too big to show here.

gen/src/Gen/Types/Schema.hs+60−26

This diff is too big to show here.

gen/src/Main.hs+3−2

This diff is too big to show here.

gen/stack.yaml+18−4

This diff is too big to show here.

gen/stack.yaml.lock+49

This diff is too big to show here.

gen/template/_include/license.ede+1−1

This diff is too big to show here.

gen/template/_include/sum.ede+7−7

This diff is too big to show here.

gen/template/action.ede+3−1

This diff is too big to show here.

gen/template/cabal.ede+3−3

This diff is too big to show here.

gen/template/readme.ede+2−2

This diff is too big to show here.

gen/template/toc.ede+8−1

This diff is too big to show here.

gen/template/types.ede+1

This diff is too big to show here.

gogol-abusiveexperiencereport/LICENSE

This diff is too big to show here.

gogol-abusiveexperiencereport/Makefile

This diff is too big to show here.

gogol-abusiveexperiencereport/README.md+28

This diff is too big to show here.

gogol-abusiveexperiencereport/Setup.hs

This diff is too big to show here.

gogol-abusiveexperiencereport/gen/Network/Google/AbusiveExperienceReport.hs+78

This diff is too big to show here.

gogol-abusiveexperiencereport/gen/Network/Google/AbusiveExperienceReport/Types.hs+64

This diff is too big to show here.

gogol-abusiveexperiencereport/gen/Network/Google/AbusiveExperienceReport/Types/Product.hs+176

This diff is too big to show here.

gogol-abusiveexperiencereport/gen/Network/Google/AbusiveExperienceReport/Types/Sum.hs+126

This diff is too big to show here.

gogol-abusiveexperiencereport/gen/Network/Google/Resource/AbusiveExperienceReport/Sites/Get.hs+154

This diff is too big to show here.

gogol-abusiveexperiencereport/gen/Network/Google/Resource/AbusiveExperienceReport/ViolatingSites/List.hs+138

This diff is too big to show here.

gogol-abusiveexperiencereport/gogol-abusiveexperiencereport.cabal+48

This diff is too big to show here.

gogol-abusiveexperiencereport/src/.gitkeep

This diff is too big to show here.

gogol-acceleratedmobilepageurl/LICENSE

This diff is too big to show here.

gogol-acceleratedmobilepageurl/Makefile

This diff is too big to show here.

gogol-acceleratedmobilepageurl/README.md+28

This diff is too big to show here.

gogol-acceleratedmobilepageurl/Setup.hs

This diff is too big to show here.

gogol-acceleratedmobilepageurl/gen/Network/Google/AcceleratedMobilePageURL.hs+81

This diff is too big to show here.

gogol-acceleratedmobilepageurl/gen/Network/Google/AcceleratedMobilePageURL/Types.hs+67

This diff is too big to show here.

gogol-acceleratedmobilepageurl/gen/Network/Google/AcceleratedMobilePageURL/Types/Product.hs+256

This diff is too big to show here.

gogol-acceleratedmobilepageurl/gen/Network/Google/AcceleratedMobilePageURL/Types/Sum.hs+140

This diff is too big to show here.

gogol-acceleratedmobilepageurl/gen/Network/Google/Resource/AcceleratedMobilePageURL/AmpURLs/BatchGet.hs+153

This diff is too big to show here.

gogol-acceleratedmobilepageurl/gogol-acceleratedmobilepageurl.cabal+47

This diff is too big to show here.

gogol-acceleratedmobilepageurl/src/.gitkeep

This diff is too big to show here.

gogol-accessapproval/LICENSE

This diff is too big to show here.

gogol-accessapproval/Makefile

This diff is too big to show here.

gogol-accessapproval/README.md+28

This diff is too big to show here.

gogol-accessapproval/Setup.hs

This diff is too big to show here.

gogol-accessapproval/gen/Network/Google/AccessApproval.hs+196

This diff is too big to show here.

gogol-accessapproval/gen/Network/Google/AccessApproval/Types.hs+100

This diff is too big to show here.

gogol-accessapproval/gen/Network/Google/AccessApproval/Types/Product.hs+546

This diff is too big to show here.

gogol-accessapproval/gen/Network/Google/AccessApproval/Types/Sum.hs+100

This diff is too big to show here.

gogol-accessapproval/gen/Network/Google/Resource/AccessApproval/Folders/ApprovalRequests/Approve.hs+170

This diff is too big to show here.

gogol-accessapproval/gen/Network/Google/Resource/AccessApproval/Folders/ApprovalRequests/Dismiss.hs+174

This diff is too big to show here.

gogol-accessapproval/gen/Network/Google/Resource/AccessApproval/Folders/ApprovalRequests/Get.hs+153

This diff is too big to show here.

gogol-accessapproval/gen/Network/Google/Resource/AccessApproval/Folders/ApprovalRequests/List.hs+204

This diff is too big to show here.

gogol-accessapproval/gen/Network/Google/Resource/AccessApproval/Folders/GetAccessApprovalSettings.hs+156

This diff is too big to show here.

gogol-accessapproval/gen/Network/Google/Resource/AccessApproval/Folders/UpdateAccessApprovalSettings.hs+175

This diff is too big to show here.

gogol-accessapproval/gen/Network/Google/Resource/AccessApproval/Organizations/ApprovalRequests/Approve.hs+172

This diff is too big to show here.

gogol-accessapproval/gen/Network/Google/Resource/AccessApproval/Organizations/ApprovalRequests/Dismiss.hs+176

This diff is too big to show here.

gogol-accessapproval/gen/Network/Google/Resource/AccessApproval/Organizations/ApprovalRequests/Get.hs+156

This diff is too big to show here.

gogol-accessapproval/gen/Network/Google/Resource/AccessApproval/Organizations/ApprovalRequests/List.hs+206

This diff is too big to show here.

gogol-accessapproval/gen/Network/Google/Resource/AccessApproval/Organizations/GetAccessApprovalSettings.hs+157

This diff is too big to show here.

gogol-accessapproval/gen/Network/Google/Resource/AccessApproval/Organizations/UpdateAccessApprovalSettings.hs+177

This diff is too big to show here.

gogol-accessapproval/gen/Network/Google/Resource/AccessApproval/Projects/ApprovalRequests/Approve.hs+171

This diff is too big to show here.

gogol-accessapproval/gen/Network/Google/Resource/AccessApproval/Projects/ApprovalRequests/Dismiss.hs+175

This diff is too big to show here.

gogol-accessapproval/gen/Network/Google/Resource/AccessApproval/Projects/ApprovalRequests/Get.hs+153

This diff is too big to show here.

gogol-accessapproval/gen/Network/Google/Resource/AccessApproval/Projects/ApprovalRequests/List.hs+204

This diff is too big to show here.

gogol-accessapproval/gen/Network/Google/Resource/AccessApproval/Projects/GetAccessApprovalSettings.hs+156

This diff is too big to show here.

gogol-accessapproval/gen/Network/Google/Resource/AccessApproval/Projects/UpdateAccessApprovalSettings.hs+175

This diff is too big to show here.

gogol-accessapproval/gogol-accessapproval.cabal+63

This diff is too big to show here.

gogol-accessapproval/src/.gitkeep

This diff is too big to show here.

gogol-accesscontextmanager/LICENSE

This diff is too big to show here.

gogol-accesscontextmanager/Makefile

This diff is too big to show here.

gogol-accesscontextmanager/README.md+28

This diff is too big to show here.

gogol-accesscontextmanager/Setup.hs

This diff is too big to show here.

gogol-accesscontextmanager/gen/Network/Google/AccessContextManager.hs+284

This diff is too big to show here.

gogol-accesscontextmanager/gen/Network/Google/AccessContextManager/Types.hs+184

This diff is too big to show here.

gogol-accesscontextmanager/gen/Network/Google/AccessContextManager/Types/Product.hs+1375

This diff is too big to show here.

gogol-accesscontextmanager/gen/Network/Google/AccessContextManager/Types/Sum.hs+159

This diff is too big to show here.

gogol-accesscontextmanager/gen/Network/Google/Resource/AccessContextManager/AccessPolicies/AccessLevels/Create.hs+175

This diff is too big to show here.

gogol-accesscontextmanager/gen/Network/Google/Resource/AccessContextManager/AccessPolicies/AccessLevels/Delete.hs+159

This diff is too big to show here.

gogol-accesscontextmanager/gen/Network/Google/Resource/AccessContextManager/AccessPolicies/AccessLevels/Get.hs+172

This diff is too big to show here.

gogol-accesscontextmanager/gen/Network/Google/Resource/AccessContextManager/AccessPolicies/AccessLevels/List.hs+200

This diff is too big to show here.

gogol-accesscontextmanager/gen/Network/Google/Resource/AccessContextManager/AccessPolicies/AccessLevels/Patch.hs+190

This diff is too big to show here.

gogol-accesscontextmanager/gen/Network/Google/Resource/AccessContextManager/AccessPolicies/Create.hs+159

This diff is too big to show here.

gogol-accesscontextmanager/gen/Network/Google/Resource/AccessContextManager/AccessPolicies/Delete.hs+153

This diff is too big to show here.

gogol-accesscontextmanager/gen/Network/Google/Resource/AccessContextManager/AccessPolicies/Get.hs+149

This diff is too big to show here.

gogol-accesscontextmanager/gen/Network/Google/Resource/AccessContextManager/AccessPolicies/List.hs+178

This diff is too big to show here.

gogol-accesscontextmanager/gen/Network/Google/Resource/AccessContextManager/AccessPolicies/Patch.hs+182

This diff is too big to show here.

gogol-accesscontextmanager/gen/Network/Google/Resource/AccessContextManager/AccessPolicies/ServicePerimeters/Create.hs+178

This diff is too big to show here.

gogol-accesscontextmanager/gen/Network/Google/Resource/AccessContextManager/AccessPolicies/ServicePerimeters/Delete.hs+161

This diff is too big to show here.

gogol-accesscontextmanager/gen/Network/Google/Resource/AccessContextManager/AccessPolicies/ServicePerimeters/Get.hs+157

This diff is too big to show here.

gogol-accesscontextmanager/gen/Network/Google/Resource/AccessContextManager/AccessPolicies/ServicePerimeters/List.hs+187

This diff is too big to show here.

gogol-accesscontextmanager/gen/Network/Google/Resource/AccessContextManager/AccessPolicies/ServicePerimeters/Patch.hs+192

This diff is too big to show here.

gogol-accesscontextmanager/gen/Network/Google/Resource/AccessContextManager/Operations/Cancel.hs+177

This diff is too big to show here.

gogol-accesscontextmanager/gen/Network/Google/Resource/AccessContextManager/Operations/Delete.hs+153

This diff is too big to show here.

gogol-accesscontextmanager/gen/Network/Google/Resource/AccessContextManager/Operations/Get.hs+150

This diff is too big to show here.

gogol-accesscontextmanager/gen/Network/Google/Resource/AccessContextManager/Operations/List.hs+201

This diff is too big to show here.

gogol-accesscontextmanager/gogol-accesscontextmanager.cabal+65

This diff is too big to show here.

gogol-accesscontextmanager/src/.gitkeep

This diff is too big to show here.

gogol-adexchange-buyer/README.md+4−4

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/AdExchangeBuyer.hs+329−471

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/AdExchangeBuyer/Types.hs+245−350

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/AdExchangeBuyer/Types/Product.hs+3446−3905

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/AdExchangeBuyer/Types/Sum.hs+115−106

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Accounts/Get.hs+31−26

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Accounts/List.hs+16−10

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Accounts/Patch.hs+52−30

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Accounts/Update.hs+52−30

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/BillingInfo/Get.hs+32−25

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/BillingInfo/List.hs+17−11

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Budget/Get.hs+41−31

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Budget/Patch.hs+44−34

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Budget/Update.hs+44−34

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/ClientAccess/Delete.hs−94

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/ClientAccess/Get.hs−95

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/ClientAccess/Insert.hs−107

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/ClientAccess/List.hs−83

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/ClientAccess/Patch.hs−108

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/ClientAccess/Update.hs−109

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Creatives/AddDeal.hs+119

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Creatives/Get.hs+37−28

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Creatives/Insert.hs+29−24

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Creatives/List.hs+32−23

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Creatives/ListDeals.hs+106

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Creatives/RemoveDeal.hs+119

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Deals/Get.hs−93

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/MarketplaceDeals/Delete.hs+47−40

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/MarketplaceDeals/Insert.hs+47−40

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/MarketplaceDeals/List.hs+53−34

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/MarketplaceDeals/Update.hs+47−40

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/MarketplaceNotes/Insert.hs+47−40

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/MarketplaceNotes/List.hs+55−34

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/MarketplaceOffers/Get.hs−83

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/MarketplaceOffers/Search.hs−83

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/MarketplaceOrders/Get.hs−83

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/MarketplaceOrders/Insert.hs−85

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/MarketplaceOrders/Patch.hs−128

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/MarketplaceOrders/Search.hs−82

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/MarketplaceOrders/Update.hs−128

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Marketplaceprivateauction/Updateproposal.hs+109

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/NegotiationRounds/Insert.hs−97

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Negotiations/Get.hs−95

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Negotiations/Insert.hs−82

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Negotiations/List.hs−82

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Offers/Get.hs−79

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Offers/Insert.hs−80

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Offers/List.hs−81

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/PerformanceReport/List.hs+32−22

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/PretargetingConfig/Delete.hs+40−31

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/PretargetingConfig/Get.hs+41−31

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/PretargetingConfig/Insert.hs+37−32

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/PretargetingConfig/List.hs+23−16

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/PretargetingConfig/Patch.hs+44−34

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/PretargetingConfig/Update.hs+44−36

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Products/Get.hs+86

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Products/Search.hs+87

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Proposals/Get.hs+86

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Proposals/Insert.hs+88

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Proposals/Patch.hs+134

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Proposals/Search.hs+87

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Proposals/Setupcomplete.hs+89

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Proposals/Update.hs+135

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/PubproFiles/List.hs+92

This diff is too big to show here.

gogol-adexchange-buyer/gogol-adexchange-buyer.cabal+18−26

This diff is too big to show here.

gogol-adexchange-seller/README.md+4−4

This diff is too big to show here.

gogol-adexchange-seller/gen/Network/Google/AdExchangeSeller.hs+21−17

This diff is too big to show here.

gogol-adexchange-seller/gen/Network/Google/AdExchangeSeller/Types.hs+9−9

This diff is too big to show here.

gogol-adexchange-seller/gen/Network/Google/AdExchangeSeller/Types/Product.hs+190−124

This diff is too big to show here.

gogol-adexchange-seller/gen/Network/Google/AdExchangeSeller/Types/Sum.hs+2−2

This diff is too big to show here.

gogol-adexchange-seller/gen/Network/Google/Resource/AdExchangeSeller/Accounts/AdClients/List.hs+38−28

This diff is too big to show here.

gogol-adexchange-seller/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Alerts/List.hs+34−28

This diff is too big to show here.

gogol-adexchange-seller/gen/Network/Google/Resource/AdExchangeSeller/Accounts/CustomChannels/Get.hs+39−30

This diff is too big to show here.

gogol-adexchange-seller/gen/Network/Google/Resource/AdExchangeSeller/Accounts/CustomChannels/List.hs+43−33

This diff is too big to show here.

gogol-adexchange-seller/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Get.hs+30−24

This diff is too big to show here.

gogol-adexchange-seller/gen/Network/Google/Resource/AdExchangeSeller/Accounts/List.hs+33−27

This diff is too big to show here.

gogol-adexchange-seller/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Metadata/Dimensions/List.hs+34−27

This diff is too big to show here.

gogol-adexchange-seller/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Metadata/Metrics/List.hs+33−26

This diff is too big to show here.

gogol-adexchange-seller/gen/Network/Google/Resource/AdExchangeSeller/Accounts/PreferredDeals/Get.hs+36−29

This diff is too big to show here.

gogol-adexchange-seller/gen/Network/Google/Resource/AdExchangeSeller/Accounts/PreferredDeals/List.hs+33−26

This diff is too big to show here.

gogol-adexchange-seller/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Reports/Generate.hs+77−61

This diff is too big to show here.

gogol-adexchange-seller/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Reports/Saved/Generate.hs+45−34

This diff is too big to show here.

gogol-adexchange-seller/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Reports/Saved/List.hs+39−30

This diff is too big to show here.

gogol-adexchange-seller/gen/Network/Google/Resource/AdExchangeSeller/Accounts/URLChannels/List.hs+42−32

This diff is too big to show here.

gogol-adexchange-seller/gogol-adexchange-seller.cabal+7−7

This diff is too big to show here.

gogol-adexchangebuyer2/LICENSE

This diff is too big to show here.

gogol-adexchangebuyer2/Makefile

This diff is too big to show here.

gogol-adexchangebuyer2/README.md+28

This diff is too big to show here.

gogol-adexchangebuyer2/Setup.hs

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/AdExchangeBuyer2.hs+1273

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/AdExchangeBuyer2/Types.hs+947

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/AdExchangeBuyer2/Types/Product.hs+7859

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/AdExchangeBuyer2/Types/Sum.hs+2129

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Clients/Create.hs+166

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Clients/Get.hs+169

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Clients/Invitations/Create.hs+191

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Clients/Invitations/Get.hs+191

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Clients/Invitations/List.hs+208

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Clients/List.hs+200

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Clients/Update.hs+181

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Clients/Users/Get.hs+185

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Clients/Users/List.hs+207

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Clients/Users/Update.hs+202

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Creatives/Create.hs+181

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Creatives/DealAssociations/Add.hs+187

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Creatives/DealAssociations/List.hs+231

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Creatives/DealAssociations/Remove.hs+190

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Creatives/Get.hs+165

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Creatives/List.hs+209

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Creatives/StopWatching.hs+186

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Creatives/Update.hs+182

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Creatives/Watch.hs+184

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/FinalizedProposals/List.hs+216

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Products/Get.hs+164

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Products/List.hs+198

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Proposals/Accept.hs+187

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Proposals/AddNote.hs+184

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Proposals/CancelNegotiation.hs+188

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Proposals/CompleteSetup.hs+193

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Proposals/Create.hs+166

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Proposals/Get.hs+164

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Proposals/List.hs+216

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Proposals/Pause.hs+187

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Proposals/Resume.hs+191

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/Proposals/Update.hs+198

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/PublisherProFiles/Get.hs+172

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Accounts/PublisherProFiles/List.hs+185

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/Accounts/FilterSets/BidMetrics/List.hs+198

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/Accounts/FilterSets/BidResponseErrors/List.hs+205

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/Accounts/FilterSets/BidResponsesWithoutBids/List.hs+207

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/Accounts/FilterSets/Create.hs+191

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/Accounts/FilterSets/Delete.hs+161

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/Accounts/FilterSets/FilteredBidRequests/List.hs+205

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/Accounts/FilterSets/FilteredBids/Creatives/List.hs+224

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/Accounts/FilterSets/FilteredBids/Details/List.hs+226

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/Accounts/FilterSets/FilteredBids/List.hs+201

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/Accounts/FilterSets/Get.hs+160

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/Accounts/FilterSets/ImpressionMetrics/List.hs+202

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/Accounts/FilterSets/List.hs+192

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/Accounts/FilterSets/LosingBids/List.hs+200

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/Accounts/FilterSets/NonBillableWinningBids/List.hs+205

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/FilterSets/BidMetrics/List.hs+195

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/FilterSets/BidResponseErrors/List.hs+199

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/FilterSets/BidResponsesWithoutBids/List.hs+206

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/FilterSets/Create.hs+187

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/FilterSets/Delete.hs+156

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/FilterSets/FilteredBidRequests/List.hs+202

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/FilterSets/FilteredBids/Creatives/List.hs+222

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/FilterSets/FilteredBids/Details/List.hs+223

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/FilterSets/FilteredBids/List.hs+197

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/FilterSets/Get.hs+157

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/FilterSets/ImpressionMetrics/List.hs+197

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/FilterSets/List.hs+188

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/FilterSets/LosingBids/List.hs+197

This diff is too big to show here.

gogol-adexchangebuyer2/gen/Network/Google/Resource/AdExchangeBuyer2/Bidders/FilterSets/NonBillableWinningBids/List.hs+204

This diff is too big to show here.

gogol-adexchangebuyer2/gogol-adexchangebuyer2.cabal+109

This diff is too big to show here.

gogol-adexchangebuyer2/src/.gitkeep

This diff is too big to show here.

gogol-adexperiencereport/LICENSE

This diff is too big to show here.

gogol-adexperiencereport/Makefile

This diff is too big to show here.

gogol-adexperiencereport/README.md+28

This diff is too big to show here.

gogol-adexperiencereport/Setup.hs

This diff is too big to show here.

gogol-adexperiencereport/gen/Network/Google/AdExperienceReport.hs+85

This diff is too big to show here.

gogol-adexperiencereport/gen/Network/Google/AdExperienceReport/Types.hs+70

This diff is too big to show here.

gogol-adexperiencereport/gen/Network/Google/AdExperienceReport/Types/Product.hs+243

This diff is too big to show here.

gogol-adexperiencereport/gen/Network/Google/AdExperienceReport/Types/Sum.hs+131

This diff is too big to show here.

gogol-adexperiencereport/gen/Network/Google/Resource/AdExperienceReport/Sites/Get.hs+154

This diff is too big to show here.

gogol-adexperiencereport/gen/Network/Google/Resource/AdExperienceReport/ViolatingSites/List.hs+140

This diff is too big to show here.

gogol-adexperiencereport/gogol-adexperiencereport.cabal+48

This diff is too big to show here.

gogol-adexperiencereport/src/.gitkeep

This diff is too big to show here.

gogol-admin-datatransfer/README.md+4−4

This diff is too big to show here.

gogol-admin-datatransfer/gen/Network/Google/DataTransfer.hs+11−8

This diff is too big to show here.

gogol-admin-datatransfer/gen/Network/Google/DataTransfer/Types.hs+9−9

This diff is too big to show here.

gogol-admin-datatransfer/gen/Network/Google/DataTransfer/Types/Product.hs+60−37

This diff is too big to show here.

gogol-admin-datatransfer/gen/Network/Google/DataTransfer/Types/Sum.hs+2−2

This diff is too big to show here.

gogol-admin-datatransfer/gen/Network/Google/Resource/DataTransfer/Applications/Get.hs+34−25

This diff is too big to show here.

gogol-admin-datatransfer/gen/Network/Google/Resource/DataTransfer/Applications/List.hs+39−31

This diff is too big to show here.

gogol-admin-datatransfer/gen/Network/Google/Resource/DataTransfer/Transfers/Get.hs+32−24

This diff is too big to show here.

gogol-admin-datatransfer/gen/Network/Google/Resource/DataTransfer/Transfers/Insert.hs+31−25

This diff is too big to show here.

gogol-admin-datatransfer/gen/Network/Google/Resource/DataTransfer/Transfers/List.hs+44−33

This diff is too big to show here.

gogol-admin-datatransfer/gogol-admin-datatransfer.cabal+6−7

This diff is too big to show here.

gogol-admin-directory/README.md+4−4

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Directory.hs+734−73

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Directory/Types.hs+493−50

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Directory/Types/Product.hs+4359−378

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Directory/Types/Sum.hs+391−229

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Admin/Channels/Stop.hs+35−26

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Asps/Delete.hs+39−31

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Asps/Get.hs+39−31

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Asps/List.hs+31−25

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/ChromeosDevices/Action.hs+122

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/ChromeosDevices/Get.hs+43−33

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/ChromeosDevices/List.hs+74−50

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/ChromeosDevices/MoveDevicesToOu.hs+126

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/ChromeosDevices/Patch.hs+46−37

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/ChromeosDevices/Update.hs+46−37

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Customers/Get.hs+88

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Customers/Patch.hs+100

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Customers/Update.hs+101

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/DomainAliases/Delete.hs+103

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/DomainAliases/Get.hs+104

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/DomainAliases/Insert.hs+103

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/DomainAliases/List.hs+103

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Domains/Delete.hs+100

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Domains/Get.hs+101

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Domains/Insert.hs+100

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Domains/List.hs+88

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Groups/Aliases/Delete.hs+36−30

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Groups/Aliases/Insert.hs+37−30

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Groups/Aliases/List.hs+34−26

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Groups/Delete.hs+31−25

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Groups/Get.hs+32−25

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Groups/Insert.hs+30−24

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Groups/List.hs+86−37

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Groups/Patch.hs+35−29

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Groups/Update.hs+35−29

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Members/Delete.hs+38−31

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Members/Get.hs+40−31

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Members/HasMember.hs+110

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Members/Insert.hs+37−30

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Members/List.hs+63−36

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Members/Patch.hs+41−31

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Members/Update.hs+41−31

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/MobileDevices/Action.hs+43−33

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/MobileDevices/Delete.hs+39−32

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/MobileDevices/Get.hs+42−31

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/MobileDevices/List.hs+54−41

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Notifications/Delete.hs+38−31

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Notifications/Get.hs+38−31

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Notifications/List.hs+41−31

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Notifications/Patch.hs+40−31

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Notifications/Update.hs+40−31

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/OrgUnits/Delete.hs+39−30

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/OrgUnits/Get.hs+40−30

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/OrgUnits/Insert.hs+37−31

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/OrgUnits/List.hs+41−34

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/OrgUnits/Patch.hs+42−33

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/OrgUnits/Update.hs+42−33

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Privileges/List.hs+90

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/ResolvedAppAccessSettings/GetSettings.hs+78

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/ResolvedAppAccessSettings/ListTrustedApps.hs+81

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Resources/Buildings/Delete.hs+106

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Resources/Buildings/Get.hs+107

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Resources/Buildings/Insert.hs+123

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Resources/Buildings/List.hs+121

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Resources/Buildings/Patch.hs+137

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Resources/Buildings/Update.hs+137

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Resources/Calendars/Delete.hs+109

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Resources/Calendars/Get.hs+111

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Resources/Calendars/Insert.hs+106

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Resources/Calendars/List.hs+156

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Resources/Calendars/Patch.hs+129

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Resources/Calendars/Update.hs+127

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Resources/Features/Delete.hs+106

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Resources/Features/Get.hs+107

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Resources/Features/Insert.hs+105

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Resources/Features/List.hs+121

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Resources/Features/Patch.hs+121

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Resources/Features/Rename.hs+121

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Resources/Features/Update.hs+121

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/RoleAssignments/Delete.hs+103

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/RoleAssignments/Get.hs+105

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/RoleAssignments/Insert.hs+103

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/RoleAssignments/List.hs+146

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Roles/Delete.hs+99

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Roles/Get.hs+100

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Roles/Insert.hs+100

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Roles/List.hs+116

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Roles/Patch.hs+114

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Roles/Update.hs+114

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Schemas/Delete.hs+37−31

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Schemas/Get.hs+38−31

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Schemas/Insert.hs+36−30

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Schemas/List.hs+33−26

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Schemas/Patch.hs+40−31

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Schemas/Update.hs+40−31

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Tokens/Delete.hs+35−29

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Tokens/Get.hs+35−29

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Tokens/List.hs+31−25

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Users/Aliases/Delete.hs+37−30

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Users/Aliases/Insert.hs+37−30

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Users/Aliases/List.hs+38−29

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Users/Aliases/Watch.hs+42−30

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Users/Delete.hs+31−25

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Users/Get.hs+39−29

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Users/Insert.hs+30−24

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Users/List.hs+58−46

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Users/MakeAdmin.hs+36−30

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Users/Patch.hs+35−29

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Users/Photos/Delete.hs+33−27

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Users/Photos/Get.hs+34−27

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Users/Photos/Patch.hs+37−31

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Users/Photos/Update.hs+37−31

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Users/Undelete.hs+46−38

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Users/Update.hs+44−40

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/Users/Watch.hs+62−51

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/VerificationCodes/Generate.hs+34−27

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/VerificationCodes/Invalidate.hs+34−27

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/VerificationCodes/List.hs+33−26

This diff is too big to show here.

gogol-admin-directory/gogol-admin-directory.cabal+53−8

This diff is too big to show here.

gogol-admin-emailmigration/README.md−28

This diff is too big to show here.

gogol-admin-emailmigration/gen/Network/Google/EmailMigration.hs−57

This diff is too big to show here.

gogol-admin-emailmigration/gen/Network/Google/EmailMigration/Types.hs−52

This diff is too big to show here.

gogol-admin-emailmigration/gen/Network/Google/EmailMigration/Types/Product.hs−145

This diff is too big to show here.

gogol-admin-emailmigration/gen/Network/Google/EmailMigration/Types/Sum.hs−19

This diff is too big to show here.

gogol-admin-emailmigration/gen/Network/Google/Resource/EmailMigration/Mail/Insert.hs−103

This diff is too big to show here.

gogol-admin-emailmigration/gogol-admin-emailmigration.cabal−46

This diff is too big to show here.

gogol-admin-reports/README.md+4−4

This diff is too big to show here.

gogol-admin-reports/gen/Network/Google/Reports.hs+18−8

This diff is too big to show here.

gogol-admin-reports/gen/Network/Google/Reports/Types.hs+12−11

This diff is too big to show here.

gogol-admin-reports/gen/Network/Google/Reports/Types/Product.hs+171−103

This diff is too big to show here.

gogol-admin-reports/gen/Network/Google/Reports/Types/Sum.hs+2−2

This diff is too big to show here.

gogol-admin-reports/gen/Network/Google/Resource/Admin/Channels/Stop.hs+32−26

This diff is too big to show here.

gogol-admin-reports/gen/Network/Google/Resource/Reports/Activities/List.hs+71−48

This diff is too big to show here.

gogol-admin-reports/gen/Network/Google/Resource/Reports/Activities/Watch.hs+75−52

This diff is too big to show here.

gogol-admin-reports/gen/Network/Google/Resource/Reports/CustomerUsageReports/Get.hs+38−29

This diff is too big to show here.

gogol-admin-reports/gen/Network/Google/Resource/Reports/EntityUsageReports/Get.hs+188

This diff is too big to show here.

gogol-admin-reports/gen/Network/Google/Resource/Reports/UserUsageReport/Get.hs+64−39

This diff is too big to show here.

gogol-admin-reports/gogol-admin-reports.cabal+8−7

This diff is too big to show here.

gogol-adsense-host/README.md+4−4

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/AdSenseHost.hs+32−29

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/AdSenseHost/Types.hs+6−6

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/AdSenseHost/Types/Product.hs+197−134

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/AdSenseHost/Types/Sum.hs+16−16

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/Resource/AdSenseHost/Accounts/AdClients/Get.hs+35−29

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/Resource/AdSenseHost/Accounts/AdClients/List.hs+37−28

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/Resource/AdSenseHost/Accounts/AdUnits/Delete.hs+38−30

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/Resource/AdSenseHost/Accounts/AdUnits/Get.hs+38−30

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/Resource/AdSenseHost/Accounts/AdUnits/GetAdCode.hs+41−34

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/Resource/AdSenseHost/Accounts/AdUnits/Insert.hs+38−30

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/Resource/AdSenseHost/Accounts/AdUnits/List.hs+43−34

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/Resource/AdSenseHost/Accounts/AdUnits/Patch.hs+41−33

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/Resource/AdSenseHost/Accounts/AdUnits/Update.hs+38−30

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/Resource/AdSenseHost/Accounts/Get.hs+29−24

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/Resource/AdSenseHost/Accounts/List.hs+30−24

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/Resource/AdSenseHost/Accounts/Reports/Generate.hs+55−45

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/Resource/AdSenseHost/AdClients/Get.hs+29−24

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/Resource/AdSenseHost/AdClients/List.hs+33−27

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/Resource/AdSenseHost/AssociationSessions/Start.hs+42−36

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/Resource/AdSenseHost/AssociationSessions/Verify.hs+32−26

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/Resource/AdSenseHost/CustomChannels/Delete.hs+35−27

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/Resource/AdSenseHost/CustomChannels/Get.hs+34−26

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/Resource/AdSenseHost/CustomChannels/Insert.hs+36−30

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/Resource/AdSenseHost/CustomChannels/List.hs+38−29

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/Resource/AdSenseHost/CustomChannels/Patch.hs+38−30

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/Resource/AdSenseHost/CustomChannels/Update.hs+36−30

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/Resource/AdSenseHost/Reports/Generate.hs+51−41

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/Resource/AdSenseHost/URLChannels/Delete.hs+35−29

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/Resource/AdSenseHost/URLChannels/Insert.hs+35−29

This diff is too big to show here.

gogol-adsense-host/gen/Network/Google/Resource/AdSenseHost/URLChannels/List.hs+37−28

This diff is too big to show here.

gogol-adsense-host/gogol-adsense-host.cabal+7−7

This diff is too big to show here.

gogol-adsense/README.md+4−4

This diff is too big to show here.

gogol-adsense/gen/Network/Google/AdSense.hs+53−42

This diff is too big to show here.

gogol-adsense/gen/Network/Google/AdSense/Types.hs+12−10

This diff is too big to show here.

gogol-adsense/gen/Network/Google/AdSense/Types/Product.hs+356−232

This diff is too big to show here.

gogol-adsense/gen/Network/Google/AdSense/Types/Sum.hs+2−2

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Accounts/AdClients/GetAdCode.hs+109

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Accounts/AdClients/List.hs+38−28

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Accounts/AdUnits/CustomChannels/List.hs+48−37

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Accounts/AdUnits/Get.hs+39−30

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Accounts/AdUnits/GetAdCode.hs+40−32

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Accounts/AdUnits/List.hs+44−34

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Accounts/Alerts/Delete.hs+35−29

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Accounts/Alerts/List.hs+34−28

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Accounts/CustomChannels/AdUnits/List.hs+49−38

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Accounts/CustomChannels/Get.hs+39−30

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Accounts/CustomChannels/List.hs+43−33

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Accounts/Get.hs+33−27

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Accounts/List.hs+33−27

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Accounts/Payments/List.hs+32−25

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Accounts/Reports/Generate.hs+85−68

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Accounts/Reports/Saved/Generate.hs+46−35

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Accounts/Reports/Saved/List.hs+39−30

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Accounts/Savedadstyles/Get.hs+36−30

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Accounts/Savedadstyles/List.hs+38−28

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Accounts/URLChannels/List.hs+42−32

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/AdClients/List.hs+34−27

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/AdUnits/CustomChannels/List.hs+43−33

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/AdUnits/Get.hs+35−29

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/AdUnits/GetAdCode.hs+37−30

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/AdUnits/List.hs+40−30

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Alerts/Delete.hs+29−24

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Alerts/List.hs+29−23

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/CustomChannels/AdUnits/List.hs+44−34

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/CustomChannels/Get.hs+35−26

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/CustomChannels/List.hs+39−29

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Metadata/Dimensions/List.hs+27−20

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Metadata/Metrics/List.hs+27−20

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Payments/List.hs+26−19

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Reports/Generate.hs+81−65

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Reports/Saved/Generate.hs+42−31

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Reports/Saved/List.hs+35−28

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Savedadstyles/Get.hs+31−24

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/Savedadstyles/List.hs+34−27

This diff is too big to show here.

gogol-adsense/gen/Network/Google/Resource/AdSense/URLChannels/List.hs+38−28

This diff is too big to show here.

gogol-adsense/gogol-adsense.cabal+8−7

This diff is too big to show here.

gogol-affiliates/README.md−28

This diff is too big to show here.

gogol-affiliates/gen/Network/Google/Affiliates.hs−410

This diff is too big to show here.

gogol-affiliates/gen/Network/Google/Affiliates/Types.hs−352

This diff is too big to show here.

gogol-affiliates/gen/Network/Google/Affiliates/Types/Product.hs−2715

This diff is too big to show here.

gogol-affiliates/gen/Network/Google/Affiliates/Types/Sum.hs−753

This diff is too big to show here.

gogol-affiliates/gen/Network/Google/Resource/GAN/Advertisers/Get.hs−110

This diff is too big to show here.

gogol-affiliates/gen/Network/Google/Resource/GAN/Advertisers/List.hs−197

This diff is too big to show here.

gogol-affiliates/gen/Network/Google/Resource/GAN/CcOffers/List.hs−111

This diff is too big to show here.

gogol-affiliates/gen/Network/Google/Resource/GAN/Events/List.hs−307

This diff is too big to show here.

gogol-affiliates/gen/Network/Google/Resource/GAN/Links/Get.hs−109

This diff is too big to show here.

gogol-affiliates/gen/Network/Google/Resource/GAN/Links/Insert.hs−104

This diff is too big to show here.

gogol-affiliates/gen/Network/Google/Resource/GAN/Links/List.hs−265

This diff is too big to show here.

gogol-affiliates/gen/Network/Google/Resource/GAN/Publishers/Get.hs−110

This diff is too big to show here.

gogol-affiliates/gen/Network/Google/Resource/GAN/Publishers/List.hs−195

This diff is too big to show here.

gogol-affiliates/gen/Network/Google/Resource/GAN/Reports/Get.hs−255

This diff is too big to show here.

gogol-affiliates/gogol-affiliates.cabal−55

This diff is too big to show here.

gogol-alertcenter/LICENSE

This diff is too big to show here.

gogol-alertcenter/Makefile

This diff is too big to show here.

gogol-alertcenter/README.md+28

This diff is too big to show here.

gogol-alertcenter/Setup.hs

This diff is too big to show here.

gogol-alertcenter/gen/Network/Google/AlertCenter.hs+302

This diff is too big to show here.

gogol-alertcenter/gen/Network/Google/AlertCenter/Types.hs+258

This diff is too big to show here.

gogol-alertcenter/gen/Network/Google/AlertCenter/Types/Product.hs+1958

This diff is too big to show here.

gogol-alertcenter/gen/Network/Google/AlertCenter/Types/Sum.hs+117

This diff is too big to show here.

gogol-alertcenter/gen/Network/Google/Resource/AlertCenter/Alerts/Delete.hs+170

This diff is too big to show here.

gogol-alertcenter/gen/Network/Google/Resource/AlertCenter/Alerts/Feedback/Create.hs+182

This diff is too big to show here.

gogol-alertcenter/gen/Network/Google/Resource/AlertCenter/Alerts/Feedback/List.hs+187

This diff is too big to show here.

gogol-alertcenter/gen/Network/Google/Resource/AlertCenter/Alerts/Get.hs+164

This diff is too big to show here.

gogol-alertcenter/gen/Network/Google/Resource/AlertCenter/Alerts/List.hs+209

This diff is too big to show here.

gogol-alertcenter/gen/Network/Google/Resource/AlertCenter/Alerts/Undelete.hs+172

This diff is too big to show here.

gogol-alertcenter/gen/Network/Google/Resource/AlertCenter/GetSettings.hs+149

This diff is too big to show here.

gogol-alertcenter/gen/Network/Google/Resource/AlertCenter/UpdateSettings.hs+162

This diff is too big to show here.

gogol-alertcenter/gogol-alertcenter.cabal+53

This diff is too big to show here.

gogol-alertcenter/src/.gitkeep

This diff is too big to show here.

gogol-analytics/README.md+4−4

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Analytics.hs+272−82

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Analytics/Types.hs+152−17

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Analytics/Types/Product.hs+2486−773

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Analytics/Types/Sum.hs+28−28

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Data/Ga/Get.hs+87−61

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Data/Mcf/Get.hs+57−46

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Data/Realtime/Get.hs+45−35

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/AccountSummaries/List.hs+40−31

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/AccountUserLinks/Delete.hs+37−30

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/AccountUserLinks/Insert.hs+38−31

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/AccountUserLinks/List.hs+43−32

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/AccountUserLinks/Update.hs+40−31

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/Accounts/List.hs+38−29

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/ClientId/HashClientId.hs+94

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/CustomDataSources/List.hs+48−35

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/CustomDimensions/Get.hs+41−32

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/CustomDimensions/Insert.hs+41−32

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/CustomDimensions/List.hs+47−36

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/CustomDimensions/Patch.hs+46−37

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/CustomDimensions/Update.hs+46−37

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/CustomMetrics/Get.hs+40−31

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/CustomMetrics/Insert.hs+40−32

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/CustomMetrics/List.hs+45−34

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/CustomMetrics/Patch.hs+45−37

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/CustomMetrics/Update.hs+45−37

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/Experiments/Delete.hs+44−35

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/Experiments/Get.hs+45−36

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/Experiments/Insert.hs+44−35

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/Experiments/List.hs+50−38

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/Experiments/Patch.hs+48−39

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/Experiments/Update.hs+48−38

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/Filters/Delete.hs+36−30

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/Filters/Get.hs+37−30

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/Filters/Insert.hs+36−30

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/Filters/List.hs+41−30

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/Filters/Patch.hs+38−30

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/Filters/Update.hs+38−30

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/Goals/Get.hs+44−35

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/Goals/Insert.hs+43−35

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/Goals/List.hs+50−38

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/Goals/Patch.hs+48−42

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/Goals/Update.hs+48−40

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/ProFileFilterLinks/Delete.hs+44−35

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/ProFileFilterLinks/Get.hs+46−36

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/ProFileFilterLinks/Insert.hs+45−36

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/ProFileFilterLinks/List.hs+51−39

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/ProFileFilterLinks/Patch.hs+48−39

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/ProFileFilterLinks/Update.hs+48−39

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/ProFileUserLinks/Delete.hs+44−35

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/ProFileUserLinks/Insert.hs+45−36

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/ProFileUserLinks/List.hs+51−40

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/ProFileUserLinks/Update.hs+48−39

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/ProFiles/Delete.hs+39−32

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/ProFiles/Get.hs+43−34

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/ProFiles/Insert.hs+39−32

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/ProFiles/List.hs+46−34

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/ProFiles/Patch.hs+42−34

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/ProFiles/Update.hs+42−35

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/RemarketingAudience/Delete.hs+126

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/RemarketingAudience/Get.hs+128

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/RemarketingAudience/Insert.hs+126

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/RemarketingAudience/List.hs+153

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/RemarketingAudience/Patch.hs+142

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/RemarketingAudience/Update.hs+141

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/Segments/List.hs+38−29

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/UnSampledReports/Delete.hs+140

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/UnSampledReports/Get.hs+46−36

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/UnSampledReports/Insert.hs+46−36

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/UnSampledReports/List.hs+52−40

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/Uploads/DeleteUploadData.hs+47−37

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/Uploads/Get.hs+45−35

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/Uploads/List.hs+50−38

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/Uploads/UploadData.hs+76−44

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/WebProperties/Get.hs+37−30

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/WebProperties/Insert.hs+37−31

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/WebProperties/List.hs+42−30

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/WebProperties/Patch.hs+39−31

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/WebProperties/Update.hs+39−31

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/WebPropertyAdWordsLinks/Delete.hs+43−34

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/WebPropertyAdWordsLinks/Get.hs+45−35

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/WebPropertyAdWordsLinks/Insert.hs+42−33

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/WebPropertyAdWordsLinks/List.hs+51−39

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/WebPropertyAdWordsLinks/Patch.hs+49−40

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/WebPropertyAdWordsLinks/Update.hs+47−38

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/WebPropertyUserLinks/Delete.hs+40−31

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/WebPropertyUserLinks/Insert.hs+41−32

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/WebPropertyUserLinks/List.hs+47−35

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/WebPropertyUserLinks/Update.hs+44−35

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Metadata/Columns/List.hs+33−25

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Provisioning/CreateAccountTicket.hs+38−32

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Provisioning/CreateAccountTree.hs+92

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/UserDeletion/UserDeletionRequest/Upsert.hs+95

This diff is too big to show here.

gogol-analytics/gogol-analytics.cabal+16−6

This diff is too big to show here.

gogol-analyticsreporting/LICENSE

This diff is too big to show here.

gogol-analyticsreporting/Makefile

This diff is too big to show here.

gogol-analyticsreporting/README.md+28

This diff is too big to show here.

gogol-analyticsreporting/Setup.hs

This diff is too big to show here.

gogol-analyticsreporting/gen/Network/Google/AnalyticsReporting.hs+492

This diff is too big to show here.

gogol-analyticsreporting/gen/Network/Google/AnalyticsReporting/Types.hs+481

This diff is too big to show here.

gogol-analyticsreporting/gen/Network/Google/AnalyticsReporting/Types/Product.hs+3886

This diff is too big to show here.

gogol-analyticsreporting/gen/Network/Google/AnalyticsReporting/Types/Sum.hs+917

This diff is too big to show here.

gogol-analyticsreporting/gen/Network/Google/Resource/AnalyticsReporting/Reports/BatchGet.hs+152

This diff is too big to show here.

gogol-analyticsreporting/gen/Network/Google/Resource/AnalyticsReporting/UserActivity/Search.hs+153

This diff is too big to show here.

gogol-analyticsreporting/gogol-analyticsreporting.cabal+47

This diff is too big to show here.

gogol-analyticsreporting/src/.gitkeep

This diff is too big to show here.

gogol-android-enterprise/README.md+4−4

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/AndroidEnterprise.hs+695−143

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/AndroidEnterprise/Types.hs+413−43

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/AndroidEnterprise/Types/Product.hs+4992−1240

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/AndroidEnterprise/Types/Sum.hs+62−2

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Collections/Delete.hs−97

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Collections/Get.hs−96

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Collections/Insert.hs−96

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Collections/List.hs−85

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Collections/Patch.hs−111

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Collections/Update.hs−110

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Collectionviewers/Delete.hs−115

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Collectionviewers/Get.hs−114

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Collectionviewers/List.hs−104

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Collectionviewers/Patch.hs−129

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Collectionviewers/Update.hs−128

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Devices/Get.hs+38−30

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Devices/GetState.hs+48−40

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Devices/List.hs+36−31

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Devices/Patch.hs+143

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Devices/SetState.hs+52−44

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Devices/Update.hs+143

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Enterprises/AcknowledgeNotificationSet.hs+98

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Enterprises/CompleteSignup.hs+107

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Enterprises/CreateWebToken.hs+111

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Enterprises/Delete.hs−89

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Enterprises/Enroll.hs+36−31

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Enterprises/GenerateSignupURL.hs+97

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Enterprises/Get.hs+37−31

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Enterprises/GetServiceAccount.hs+125

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Enterprises/GetStoreLayout.hs+93

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Enterprises/Insert.hs−95

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Enterprises/List.hs+39−26

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Enterprises/PullNotificationSet.hs+127

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Enterprises/SendTestPushNotification.hs+36−28

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Enterprises/SetAccount.hs+37−31

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Enterprises/SetStoreLayout.hs+116

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Enterprises/Unenroll.hs+39−33

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Entitlements/Delete.hs+41−32

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Entitlements/Get.hs+60−51

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Entitlements/List.hs+37−32

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Entitlements/Patch.hs+46−37

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Entitlements/Update.hs+81−73

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/GrouplicenseUsers/List.hs+36−28

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Grouplicenses/Get.hs+35−29

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Grouplicenses/List.hs+32−27

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Installs/Delete.hs+42−34

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Installs/Get.hs+42−34

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Installs/List.hs+40−32

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Installs/Patch.hs+47−39

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Installs/Update.hs+47−39

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ManagedConfigurationsforDevice/Delete.hs+142

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ManagedConfigurationsforDevice/Get.hs+141

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ManagedConfigurationsforDevice/List.hs+127

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ManagedConfigurationsforDevice/Patch.hs+157

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ManagedConfigurationsforDevice/Update.hs+157

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ManagedConfigurationsforUser/Delete.hs+126

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ManagedConfigurationsforUser/Get.hs+128

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ManagedConfigurationsforUser/List.hs+110

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ManagedConfigurationsforUser/Patch.hs+149

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ManagedConfigurationsforUser/Update.hs+149

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ManagedConfigurationssettings/List.hs+111

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Permissions/Get.hs+32−27

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Products/Approve.hs+48−34

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Products/GenerateApprovalURL.hs+38−30

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Products/Get.hs+56−48

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Products/GetAppRestrictionsSchema.hs+50−35

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Products/GetPermissions.hs+37−31

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Products/List.hs+163

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Products/UnApprove.hs+105

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Products/UpdatePermissions.hs−115

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ServiceAccountkeys/Delete.hs+109

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ServiceAccountkeys/Insert.hs+111

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ServiceAccountkeys/List.hs+100

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Storelayoutclusters/Delete.hs+120

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Storelayoutclusters/Get.hs+119

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Storelayoutclusters/Insert.hs+118

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Storelayoutclusters/List.hs+106

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Storelayoutclusters/Patch.hs+133

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Storelayoutclusters/Update.hs+134

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Storelayoutpages/Delete.hs+102

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Storelayoutpages/Get.hs+102

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Storelayoutpages/Insert.hs+103

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Storelayoutpages/List.hs+93

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Storelayoutpages/Patch.hs+119

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Storelayoutpages/Update.hs+117

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Users/Delete.hs+99

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Users/GenerateAuthenticationToken.hs+116

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Users/GenerateToken.hs+42−34

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Users/Get.hs+34−29

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Users/GetAvailableProductSet.hs+36−30

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Users/Insert.hs+108

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Users/List.hs+42−31

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Users/Patch.hs+123

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Users/RevokeDeviceAccess.hs+107

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Users/RevokeToken.hs+36−30

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Users/SetAvailableProductSet.hs+45−31

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Users/Update.hs+121

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/WebApps/Delete.hs+101

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/WebApps/Get.hs+101

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/WebApps/Insert.hs+101

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/WebApps/List.hs+90

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/WebApps/Patch.hs+116

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/WebApps/Update.hs+116

This diff is too big to show here.

gogol-android-enterprise/gogol-android-enterprise.cabal+56−21

This diff is too big to show here.

gogol-android-publisher/README.md+4−4

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/AndroidPublisher.hs+269−175

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/AndroidPublisher/Types.hs+186−95

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/AndroidPublisher/Types/Product.hs+2057−810

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/AndroidPublisher/Types/Sum.hs+120−305

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/APKListings/Delete.hs−132

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/APKListings/Deleteall.hs−116

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/APKListings/Get.hs−132

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/APKListings/List.hs−116

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/APKListings/Patch.hs−147

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/APKListings/Update.hs−146

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/APKs/Addexternallyhosted.hs+40−31

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/APKs/List.hs+36−31

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/APKs/Upload.hs+62−42

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Bundles/List.hs+102

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Bundles/Upload.hs+164

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Commit.hs+34−28

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Delete.hs+34−28

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/DeobfuscationFiles/Upload.hs+183

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Details/Get.hs+36−29

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Details/Patch.hs+39−30

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Details/Update.hs+38−29

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/ExpansionFiles/Get.hs+47−37

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/ExpansionFiles/Patch.hs+51−42

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/ExpansionFiles/Update.hs+86−73

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/ExpansionFiles/Upload.hs+111−77

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Get.hs+34−28

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Images/Delete.hs+44−35

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Images/Deleteall.hs+69−61

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Images/List.hs+42−33

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Images/Upload.hs+76−44

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Insert.hs+34−28

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Listings/Delete.hs+38−29

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Listings/Deleteall.hs+48−41

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Listings/Get.hs+38−29

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Listings/List.hs+37−30

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Listings/Patch.hs+41−32

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Listings/Update.hs+41−32

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Testers/Get.hs+57−50

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Testers/Patch.hs+67−60

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Testers/Update.hs+42−34

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Tracks/Get.hs+59−49

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Tracks/List.hs+37−30

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Tracks/Patch.hs+72−66

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Tracks/Update.hs+44−39

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/Validate.hs+34−28

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Entitlements/List.hs−129

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/InAppProducts/Batch.hs−84

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/InAppProducts/Delete.hs+35−28

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/InAppProducts/Get.hs+34−28

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/InAppProducts/Insert.hs+37−28

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/InAppProducts/List.hs+42−32

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/InAppProducts/Patch.hs+40−31

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/InAppProducts/Update.hs+40−31

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Orders/Refund.hs+120

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Purchases/Products/Get.hs+40−31

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Purchases/Subscriptions/Cancel.hs+39−30

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Purchases/Subscriptions/Defer.hs+43−34

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Purchases/Subscriptions/Get.hs+40−31

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Purchases/Subscriptions/Refund.hs+59−49

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Purchases/Subscriptions/Revoke.hs+58−50

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Purchases/Voidedpurchases/List.hs+168

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Reviews/Get.hs+116

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Reviews/List.hs+138

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Reviews/Reply.hs+117

This diff is too big to show here.

gogol-android-publisher/gogol-android-publisher.cabal+15−15

This diff is too big to show here.

gogol-androiddeviceprovisioning/LICENSE

This diff is too big to show here.

gogol-androiddeviceprovisioning/Makefile

This diff is too big to show here.

gogol-androiddeviceprovisioning/README.md+28

This diff is too big to show here.

gogol-androiddeviceprovisioning/Setup.hs

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/AndroidDeviceProvisioning.hs+500

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/AndroidDeviceProvisioning/Types.hs+361

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/AndroidDeviceProvisioning/Types/Product.hs+2882

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/AndroidDeviceProvisioning/Types/Sum.hs+393

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/Resource/AndroidDeviceProvisioning/Customers/Configurations/Create.hs+168

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/Resource/AndroidDeviceProvisioning/Customers/Configurations/Delete.hs+153

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/Resource/AndroidDeviceProvisioning/Customers/Configurations/Get.hs+149

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/Resource/AndroidDeviceProvisioning/Customers/Configurations/List.hs+153

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/Resource/AndroidDeviceProvisioning/Customers/Configurations/Patch.hs+180

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/Resource/AndroidDeviceProvisioning/Customers/Devices/ApplyConfiguration.hs+174

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/Resource/AndroidDeviceProvisioning/Customers/Devices/Get.hs+148

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/Resource/AndroidDeviceProvisioning/Customers/Devices/List.hs+174

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/Resource/AndroidDeviceProvisioning/Customers/Devices/RemoveConfiguration.hs+169

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/Resource/AndroidDeviceProvisioning/Customers/Devices/Unclaim.hs+168

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/Resource/AndroidDeviceProvisioning/Customers/Dpcs/List.hs+153

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/Resource/AndroidDeviceProvisioning/Customers/List.hs+161

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/Resource/AndroidDeviceProvisioning/Operations/Get.hs+149

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/Resource/AndroidDeviceProvisioning/Partners/Customers/Create.hs+172

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/Resource/AndroidDeviceProvisioning/Partners/Customers/List.hs+182

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/Resource/AndroidDeviceProvisioning/Partners/Devices/Claim.hs+169

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/Resource/AndroidDeviceProvisioning/Partners/Devices/ClaimAsync.hs+172

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/Resource/AndroidDeviceProvisioning/Partners/Devices/FindByIdentifier.hs+172

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/Resource/AndroidDeviceProvisioning/Partners/Devices/FindByOwner.hs+176

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/Resource/AndroidDeviceProvisioning/Partners/Devices/Get.hs+148

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/Resource/AndroidDeviceProvisioning/Partners/Devices/Metadata.hs+182

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/Resource/AndroidDeviceProvisioning/Partners/Devices/Unclaim.hs+167

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/Resource/AndroidDeviceProvisioning/Partners/Devices/UnclaimAsync.hs+172

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/Resource/AndroidDeviceProvisioning/Partners/Devices/UpdateMetadataAsync.hs+178

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/Resource/AndroidDeviceProvisioning/Partners/Vendors/Customers/List.hs+180

This diff is too big to show here.

gogol-androiddeviceprovisioning/gen/Network/Google/Resource/AndroidDeviceProvisioning/Partners/Vendors/List.hs+175

This diff is too big to show here.

gogol-androiddeviceprovisioning/gogol-androiddeviceprovisioning.cabal+72

This diff is too big to show here.

gogol-androiddeviceprovisioning/src/.gitkeep

This diff is too big to show here.

gogol-androidmanagement/LICENSE

This diff is too big to show here.

gogol-androidmanagement/Makefile

This diff is too big to show here.

gogol-androidmanagement/README.md+28

This diff is too big to show here.

gogol-androidmanagement/Setup.hs

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/AndroidManagement.hs+850

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/AndroidManagement/Types.hs+714

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/AndroidManagement/Types/Product.hs+6346

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/AndroidManagement/Types/Sum.hs+1478

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/Resource/AndroidManagement/Enterprises/Applications/Get.hs+165

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/Resource/AndroidManagement/Enterprises/Create.hs+190

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Delete.hs+165

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Get.hs+149

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/IssueCommand.hs+169

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/List.hs+177

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Operations/Cancel.hs+168

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Operations/Delete.hs+158

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Operations/Get.hs+156

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Operations/List.hs+208

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/Resource/AndroidManagement/Enterprises/Devices/Patch.hs+176

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/Resource/AndroidManagement/Enterprises/EnrollmentTokens/Create.hs+169

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/Resource/AndroidManagement/Enterprises/EnrollmentTokens/Delete.hs+155

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/Resource/AndroidManagement/Enterprises/Get.hs+146

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/Resource/AndroidManagement/Enterprises/Patch.hs+173

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/Resource/AndroidManagement/Enterprises/Policies/Delete.hs+152

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/Resource/AndroidManagement/Enterprises/Policies/Get.hs+149

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/Resource/AndroidManagement/Enterprises/Policies/List.hs+178

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/Resource/AndroidManagement/Enterprises/Policies/Patch.hs+176

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/Resource/AndroidManagement/Enterprises/WebApps/Create.hs+164

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/Resource/AndroidManagement/Enterprises/WebApps/Delete.hs+150

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/Resource/AndroidManagement/Enterprises/WebApps/Get.hs+150

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/Resource/AndroidManagement/Enterprises/WebApps/List.hs+179

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/Resource/AndroidManagement/Enterprises/WebApps/Patch.hs+177

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/Resource/AndroidManagement/Enterprises/WebTokens/Create.hs+167

This diff is too big to show here.

gogol-androidmanagement/gen/Network/Google/Resource/AndroidManagement/SignupURLs/Create.hs+168

This diff is too big to show here.

gogol-androidmanagement/gogol-androidmanagement.cabal+72

This diff is too big to show here.

gogol-androidmanagement/src/.gitkeep

This diff is too big to show here.

gogol-appengine/README.md+4−4

This diff is too big to show here.

gogol-appengine/gen/Network/Google/AppEngine.hs+620−113

This diff is too big to show here.

gogol-appengine/gen/Network/Google/AppEngine/Types.hs+457−79

This diff is too big to show here.

gogol-appengine/gen/Network/Google/AppEngine/Types/Product.hs+4543−1286

This diff is too big to show here.

gogol-appengine/gen/Network/Google/AppEngine/Types/Sum.hs+749−2

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/AuthorizedCertificates/Create.hs+171

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/AuthorizedCertificates/Delete.hs+171

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/AuthorizedCertificates/Get.hs+185

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/AuthorizedCertificates/List.hs+196

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/AuthorizedCertificates/Patch.hs+208

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/AuthorizedDomains/List.hs+184

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Create.hs+160

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/DomainMAppings/Create.hs+186

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/DomainMAppings/Delete.hs+172

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/DomainMAppings/Get.hs+170

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/DomainMAppings/List.hs+185

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/DomainMAppings/Patch.hs+201

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Firewall/IngressRules/BatchUpdate.hs+183

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Firewall/IngressRules/Create.hs+171

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Firewall/IngressRules/Delete.hs+171

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Firewall/IngressRules/Get.hs+172

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Firewall/IngressRules/List.hs+202

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Firewall/IngressRules/Patch.hs+198

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Get.hs+47−79

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Locations/Get.hs+167

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Locations/List.hs+192

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Modules/Delete.hs−184

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Modules/Get.hs−182

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Modules/List.hs−195

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Modules/Patch.hs−222

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Modules/Versions/Create.hs−201

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Modules/Versions/Delete.hs−202

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Modules/Versions/Get.hs−212

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Modules/Versions/List.hs−224

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Operations/Get.hs+41−57

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Operations/List.hs+66−73

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Patch.hs+180

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Repair.hs+180

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Services/Delete.hs+166

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Services/Get.hs+168

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Services/List.hs+180

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Services/Patch.hs+218

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Create.hs+182

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Delete.hs+184

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Get.hs+197

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Instances/Debug.hs+228

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Instances/Delete.hs+195

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Instances/Get.hs+204

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Instances/List.hs+222

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/List.hs+209

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Patch.hs+268

This diff is too big to show here.

gogol-appengine/gogol-appengine.cabal+42−16

This diff is too big to show here.

gogol-apps-activity/README.md+4−4

This diff is too big to show here.

gogol-apps-activity/gen/Network/Google/AppsActivity.hs+11−5

This diff is too big to show here.

gogol-apps-activity/gen/Network/Google/AppsActivity/Types.hs+10−27

This diff is too big to show here.

gogol-apps-activity/gen/Network/Google/AppsActivity/Types/Product.hs+149−92

This diff is too big to show here.

gogol-apps-activity/gen/Network/Google/AppsActivity/Types/Sum.hs+71−67

This diff is too big to show here.

gogol-apps-activity/gen/Network/Google/Resource/AppsActivity/Activities/List.hs+52−42

This diff is too big to show here.

gogol-apps-activity/gogol-apps-activity.cabal+5−5

This diff is too big to show here.

gogol-apps-calendar/README.md+4−4

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/AppsCalendar.hs+136−39

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/AppsCalendar/Types.hs+115−9

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/AppsCalendar/Types/Product.hs+1188−324

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/AppsCalendar/Types/Sum.hs+259−38

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/ACL/Delete.hs+34−29

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/ACL/Get.hs+35−29

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/ACL/Insert.hs+52−29

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/ACL/List.hs+41−32

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/ACL/Patch.hs+56−33

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/ACL/Update.hs+56−33

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/ACL/Watch.hs+45−36

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/CalendarList/Delete.hs+33−27

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/CalendarList/Get.hs+35−28

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/CalendarList/Insert.hs+36−31

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/CalendarList/List.hs+48−38

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/CalendarList/Patch.hs+41−33

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/CalendarList/Update.hs+39−31

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/CalendarList/Watch.hs+50−40

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/Calendars/Clear.hs+30−25

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/Calendars/Delete.hs+30−24

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/Calendars/Get.hs+30−24

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/Calendars/Insert.hs+29−24

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/Calendars/Patch.hs+33−28

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/Calendars/Update.hs+33−28

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/Channels/Stop.hs+34−25

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/Colors/Get.hs+26−19

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/Events/Delete.hs+54−30

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/Events/Get.hs+45−33

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/Events/Import.hs+77−49

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/Events/Insert.hs+86−42

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/Events/Instances.hs+137−126

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/Events/List.hs+97−74

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/Events/Move.hs+59−34

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/Events/Patch.hs+94−49

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/Events/QuickAdd.hs+56−31

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/Events/Update.hs+94−49

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/Events/Watch.hs+102−79

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/FreeBusy/Query.hs+31−25

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/Settings/Get.hs+33−26

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/Settings/List.hs+40−32

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/Settings/Watch.hs+43−32

This diff is too big to show here.

gogol-apps-calendar/gogol-apps-calendar.cabal+6−6

This diff is too big to show here.

gogol-apps-licensing/README.md+4−4

This diff is too big to show here.

gogol-apps-licensing/gen/Network/Google/AppsLicensing.hs+14−9

This diff is too big to show here.

gogol-apps-licensing/gen/Network/Google/AppsLicensing/Types.hs+8−6

This diff is too big to show here.

gogol-apps-licensing/gen/Network/Google/AppsLicensing/Types/Product.hs+64−32

This diff is too big to show here.

gogol-apps-licensing/gen/Network/Google/AppsLicensing/Types/Sum.hs+2−2

This diff is too big to show here.

gogol-apps-licensing/gen/Network/Google/Resource/Licensing/LicenseAssignments/Delete.hs+39−30

This diff is too big to show here.

gogol-apps-licensing/gen/Network/Google/Resource/Licensing/LicenseAssignments/Get.hs+40−30

This diff is too big to show here.

gogol-apps-licensing/gen/Network/Google/Resource/Licensing/LicenseAssignments/Insert.hs+40−31

This diff is too big to show here.

gogol-apps-licensing/gen/Network/Google/Resource/Licensing/LicenseAssignments/ListForProduct.hs+43−31

This diff is too big to show here.

gogol-apps-licensing/gen/Network/Google/Resource/Licensing/LicenseAssignments/ListForProductAndSKU.hs+47−35

This diff is too big to show here.

gogol-apps-licensing/gen/Network/Google/Resource/Licensing/LicenseAssignments/Patch.hs+43−33

This diff is too big to show here.

gogol-apps-licensing/gen/Network/Google/Resource/Licensing/LicenseAssignments/Update.hs+43−34

This diff is too big to show here.

gogol-apps-licensing/gogol-apps-licensing.cabal+6−6

This diff is too big to show here.

gogol-apps-reseller/README.md+4−4

This diff is too big to show here.

gogol-apps-reseller/gen/Network/Google/AppsReseller.hs+51−16

This diff is too big to show here.

gogol-apps-reseller/gen/Network/Google/AppsReseller/Types.hs+24−8

This diff is too big to show here.

gogol-apps-reseller/gen/Network/Google/AppsReseller/Types/Product.hs+469−150

This diff is too big to show here.

gogol-apps-reseller/gen/Network/Google/AppsReseller/Types/Sum.hs+19−23

This diff is too big to show here.

gogol-apps-reseller/gen/Network/Google/Resource/Reseller/Customers/Get.hs+36−26

This diff is too big to show here.

gogol-apps-reseller/gen/Network/Google/Resource/Reseller/Customers/Insert.hs+40−31

This diff is too big to show here.

gogol-apps-reseller/gen/Network/Google/Resource/Reseller/Customers/Patch.hs+41−32

This diff is too big to show here.

gogol-apps-reseller/gen/Network/Google/Resource/Reseller/Customers/Update.hs+39−32

This diff is too big to show here.

gogol-apps-reseller/gen/Network/Google/Resource/Reseller/Resellernotify/Getwatchdetails.hs+79

This diff is too big to show here.

gogol-apps-reseller/gen/Network/Google/Resource/Reseller/Resellernotify/Register.hs+92

This diff is too big to show here.

gogol-apps-reseller/gen/Network/Google/Resource/Reseller/Resellernotify/Unregister.hs+92

This diff is too big to show here.

gogol-apps-reseller/gen/Network/Google/Resource/Reseller/Subscriptions/Activate.hs+46−32

This diff is too big to show here.

gogol-apps-reseller/gen/Network/Google/Resource/Reseller/Subscriptions/ChangePlan.hs+54−34

This diff is too big to show here.

gogol-apps-reseller/gen/Network/Google/Resource/Reseller/Subscriptions/ChangeRenewalSettings.hs+53−34

This diff is too big to show here.

gogol-apps-reseller/gen/Network/Google/Resource/Reseller/Subscriptions/ChangeSeats.hs+49−34

This diff is too big to show here.

gogol-apps-reseller/gen/Network/Google/Resource/Reseller/Subscriptions/Delete.hs+51−34

This diff is too big to show here.

gogol-apps-reseller/gen/Network/Google/Resource/Reseller/Subscriptions/Get.hs+47−32

This diff is too big to show here.

gogol-apps-reseller/gen/Network/Google/Resource/Reseller/Subscriptions/Insert.hs+49−34

This diff is too big to show here.

gogol-apps-reseller/gen/Network/Google/Resource/Reseller/Subscriptions/List.hs+67−41

This diff is too big to show here.

gogol-apps-reseller/gen/Network/Google/Resource/Reseller/Subscriptions/StartPaidService.hs+48−30

This diff is too big to show here.

gogol-apps-reseller/gen/Network/Google/Resource/Reseller/Subscriptions/Suspend.hs+47−33

This diff is too big to show here.

gogol-apps-reseller/gogol-apps-reseller.cabal+9−6

This diff is too big to show here.

gogol-apps-tasks/README.md+4−4

This diff is too big to show here.

gogol-apps-tasks/gen/Network/Google/AppsTasks.hs+20−16

This diff is too big to show here.

gogol-apps-tasks/gen/Network/Google/AppsTasks/Types.hs+9−9

This diff is too big to show here.

gogol-apps-tasks/gen/Network/Google/AppsTasks/Types/Product.hs+47−30

This diff is too big to show here.

gogol-apps-tasks/gen/Network/Google/AppsTasks/Types/Sum.hs+2−2

This diff is too big to show here.

gogol-apps-tasks/gen/Network/Google/Resource/Tasks/TaskLists/Delete.hs+31−26

This diff is too big to show here.

gogol-apps-tasks/gen/Network/Google/Resource/Tasks/TaskLists/Get.hs+32−26

This diff is too big to show here.

gogol-apps-tasks/gen/Network/Google/Resource/Tasks/TaskLists/Insert.hs+31−26

This diff is too big to show here.

gogol-apps-tasks/gen/Network/Google/Resource/Tasks/TaskLists/List.hs+37−30

This diff is too big to show here.

gogol-apps-tasks/gen/Network/Google/Resource/Tasks/TaskLists/Patch.hs+35−30

This diff is too big to show here.

gogol-apps-tasks/gen/Network/Google/Resource/Tasks/TaskLists/Update.hs+35−30

This diff is too big to show here.

gogol-apps-tasks/gen/Network/Google/Resource/Tasks/Tasks/Clear.hs+30−25

This diff is too big to show here.

gogol-apps-tasks/gen/Network/Google/Resource/Tasks/Tasks/Delete.hs+34−29

This diff is too big to show here.

gogol-apps-tasks/gen/Network/Google/Resource/Tasks/Tasks/Get.hs+35−29

This diff is too big to show here.

gogol-apps-tasks/gen/Network/Google/Resource/Tasks/Tasks/Insert.hs+38−30

This diff is too big to show here.

gogol-apps-tasks/gen/Network/Google/Resource/Tasks/Tasks/List.hs+55−45

This diff is too big to show here.

gogol-apps-tasks/gen/Network/Google/Resource/Tasks/Tasks/Move.hs+39−31

This diff is too big to show here.

gogol-apps-tasks/gen/Network/Google/Resource/Tasks/Tasks/Patch.hs+38−33

This diff is too big to show here.

gogol-apps-tasks/gen/Network/Google/Resource/Tasks/Tasks/Update.hs+38−33

This diff is too big to show here.

gogol-apps-tasks/gogol-apps-tasks.cabal+6−6

This diff is too big to show here.

gogol-appstate/README.md+4−4

This diff is too big to show here.

gogol-appstate/gen/Network/Google/AppState.hs+10−7

This diff is too big to show here.

gogol-appstate/gen/Network/Google/AppState/Types.hs+6−6

This diff is too big to show here.

gogol-appstate/gen/Network/Google/AppState/Types/Product.hs+45−29

This diff is too big to show here.

gogol-appstate/gen/Network/Google/AppState/Types/Sum.hs+2−2

This diff is too big to show here.

gogol-appstate/gen/Network/Google/Resource/AppState/States/Clear.hs+37−30

This diff is too big to show here.

gogol-appstate/gen/Network/Google/Resource/AppState/States/Delete.hs+32−26

This diff is too big to show here.

gogol-appstate/gen/Network/Google/Resource/AppState/States/Get.hs+32−26

This diff is too big to show here.

gogol-appstate/gen/Network/Google/Resource/AppState/States/List.hs+28−23

This diff is too big to show here.

gogol-appstate/gen/Network/Google/Resource/AppState/States/Update.hs+40−31

This diff is too big to show here.

gogol-appstate/gogol-appstate.cabal+5−5

This diff is too big to show here.

gogol-autoscaler/README.md−28

This diff is too big to show here.

gogol-autoscaler/gen/Network/Google/Autoscaler.hs−236

This diff is too big to show here.

gogol-autoscaler/gen/Network/Google/Autoscaler/Types.hs−189

This diff is too big to show here.

gogol-autoscaler/gen/Network/Google/Autoscaler/Types/Product.hs−1304

This diff is too big to show here.

gogol-autoscaler/gen/Network/Google/Autoscaler/Types/Sum.hs−19

This diff is too big to show here.

gogol-autoscaler/gen/Network/Google/Resource/Autoscaler/Autoscalers/Delete.hs−107

This diff is too big to show here.

gogol-autoscaler/gen/Network/Google/Resource/Autoscaler/Autoscalers/Get.hs−106

This diff is too big to show here.

gogol-autoscaler/gen/Network/Google/Resource/Autoscaler/Autoscalers/Insert.hs−107

This diff is too big to show here.

gogol-autoscaler/gen/Network/Google/Resource/Autoscaler/Autoscalers/List.hs−127

This diff is too big to show here.

gogol-autoscaler/gen/Network/Google/Resource/Autoscaler/Autoscalers/Patch.hs−122

This diff is too big to show here.

gogol-autoscaler/gen/Network/Google/Resource/Autoscaler/Autoscalers/Update.hs−120

This diff is too big to show here.

gogol-autoscaler/gen/Network/Google/Resource/Autoscaler/ZoneOperations/Delete.hs−104

This diff is too big to show here.

gogol-autoscaler/gen/Network/Google/Resource/Autoscaler/ZoneOperations/Get.hs−104

This diff is too big to show here.

gogol-autoscaler/gen/Network/Google/Resource/Autoscaler/ZoneOperations/List.hs−127

This diff is too big to show here.

gogol-autoscaler/gen/Network/Google/Resource/Autoscaler/Zones/List.hs−111

This diff is too big to show here.

gogol-autoscaler/gogol-autoscaler.cabal−60

This diff is too big to show here.

gogol-bigquery/README.md+4−4

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/BigQuery.hs+458−96

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/BigQuery/Types.hs+425−77

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/BigQuery/Types/Product.hs+4875−874

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/BigQuery/Types/Sum.hs+19−19

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/DataSets/Delete.hs+123

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/DataSets/Get.hs+101

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/DataSets/Insert.hs+100

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/DataSets/List.hs+145

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/DataSets/Patch.hs+122

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/DataSets/Update.hs+120

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/Datasets/Delete.hs−114

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/Datasets/Get.hs−94

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/Datasets/Insert.hs−94

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/Datasets/List.hs−118

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/Datasets/Patch.hs−113

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/Datasets/Update.hs−111

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/Jobs/Cancel.hs+53−34

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/Jobs/Get.hs+52−32

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/Jobs/GetQueryResults.hs+68−42

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/Jobs/Insert.hs+62−39

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/Jobs/List.hs+83−42

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/Jobs/Query.hs+37−30

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/Projects/GetServiceAccount.hs+96

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/Projects/List.hs+34−27

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/TableData/InsertAll.hs+53−43

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/TableData/List.hs+65−38

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/Tables/Delete.hs+46−37

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/Tables/Get.hs+63−39

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/Tables/Insert.hs+46−37

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/Tables/List.hs+50−39

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/Tables/Patch.hs+49−40

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/Tables/Update.hs+49−40

This diff is too big to show here.

gogol-bigquery/gogol-bigquery.cabal+12−11

This diff is too big to show here.

gogol-bigquerydatatransfer/LICENSE+367

This diff is too big to show here.

gogol-bigquerydatatransfer/Makefile+1

This diff is too big to show here.

gogol-bigquerydatatransfer/README.md+28

This diff is too big to show here.

gogol-bigquerydatatransfer/Setup.hs+2

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/BigQueryDataTransfer.hs+428

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/BigQueryDataTransfer/Types.hs+275

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/BigQueryDataTransfer/Types/Product.hs+2015

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/BigQueryDataTransfer/Types/Sum.hs+354

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/DataSources/CheckValidCreds.hs+181

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/DataSources/Get.hs+154

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/DataSources/List.hs+188

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/Locations/DataSources/CheckValidCreds.hs+187

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/Locations/DataSources/Get.hs+159

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/Locations/DataSources/List.hs+193

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/Locations/Get.hs+150

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/Locations/List.hs+189

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/Locations/TransferConfigs/Create.hs+219

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/Locations/TransferConfigs/Delete.hs+160

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/Locations/TransferConfigs/Get.hs+160

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/Locations/TransferConfigs/List.hs+208

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/Locations/TransferConfigs/Patch.hs+235

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/Locations/TransferConfigs/Runs/Delete.hs+162

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/Locations/TransferConfigs/Runs/Get.hs+161

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/Locations/TransferConfigs/Runs/List.hs+224

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/Locations/TransferConfigs/Runs/TransferLogs/List.hs+216

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/Locations/TransferConfigs/ScheduleRuns.hs+183

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/Locations/TransferConfigs/StartManualRuns.hs+186

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/TransferConfigs/Create.hs+216

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/TransferConfigs/Delete.hs+155

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/TransferConfigs/Get.hs+154

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/TransferConfigs/List.hs+203

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/TransferConfigs/Patch.hs+229

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/TransferConfigs/Runs/Delete.hs+156

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/TransferConfigs/Runs/Get.hs+156

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/TransferConfigs/Runs/List.hs+220

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/TransferConfigs/Runs/TransferLogs/List.hs+214

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/TransferConfigs/ScheduleRuns.hs+178

This diff is too big to show here.

gogol-bigquerydatatransfer/gen/Network/Google/Resource/BigQueryDataTransfer/Projects/TransferConfigs/StartManualRuns.hs+179

This diff is too big to show here.

gogol-bigquerydatatransfer/gogol-bigquerydatatransfer.cabal+76

This diff is too big to show here.

gogol-bigquerydatatransfer/src/.gitkeep

This diff is too big to show here.

gogol-bigtableadmin/LICENSE+367

This diff is too big to show here.

gogol-bigtableadmin/Makefile+1

This diff is too big to show here.

gogol-bigtableadmin/README.md+28

This diff is too big to show here.

gogol-bigtableadmin/Setup.hs+2

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/BigtableAdmin.hs+583

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/BigtableAdmin/Types.hs+437

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/BigtableAdmin/Types/Product.hs+3097

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/BigtableAdmin/Types/Sum.hs+379

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Operations/Cancel.hs+168

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Operations/Delete.hs+158

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Operations/Get.hs+156

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Operations/Projects/Operations/List.hs+217

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/AppProFiles/Create.hs+204

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/AppProFiles/Delete.hs+173

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/AppProFiles/Get.hs+160

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/AppProFiles/List.hs+192

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/AppProFiles/Patch.hs+201

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Clusters/Create.hs+188

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Clusters/Delete.hs+158

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Clusters/Get.hs+157

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Clusters/List.hs+177

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Clusters/Update.hs+171

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Create.hs+170

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Delete.hs+154

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Get.hs+155

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/GetIAMPolicy.hs+176

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/List.hs+170

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/PartialUpdateInstance.hs+193

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/SetIAMPolicy.hs+176

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Tables/CheckConsistency.hs+182

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Tables/Create.hs+174

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Tables/Delete.hs+157

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Tables/DropRowRange.hs+180

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Tables/GenerateConsistencyToken.hs+188

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Tables/Get.hs+169

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Tables/GetIAMPolicy.hs+179

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Tables/List.hs+204

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Tables/ModifyColumnFamilies.hs+187

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Tables/SetIAMPolicy.hs+179

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Tables/TestIAMPermissions.hs+182

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/TestIAMPermissions.hs+180

This diff is too big to show here.

gogol-bigtableadmin/gen/Network/Google/Resource/BigtableAdmin/Projects/Instances/Update.hs+171

This diff is too big to show here.

gogol-bigtableadmin/gogol-bigtableadmin.cabal+79

This diff is too big to show here.

gogol-bigtableadmin/src/.gitkeep

This diff is too big to show here.

gogol-billing/README.md+4−4

This diff is too big to show here.

gogol-billing/gen/Network/Google/Billing.hs+191−10

This diff is too big to show here.

gogol-billing/gen/Network/Google/Billing/Types.hs+149−6

This diff is too big to show here.

gogol-billing/gen/Network/Google/Billing/Types/Product.hs+1398−39

This diff is too big to show here.

gogol-billing/gen/Network/Google/Billing/Types/Sum.hs+130−2

This diff is too big to show here.

gogol-billing/gen/Network/Google/Resource/CloudBilling/BillingAccounts/Create.hs+167

This diff is too big to show here.

gogol-billing/gen/Network/Google/Resource/CloudBilling/BillingAccounts/Get.hs+41−59

This diff is too big to show here.

gogol-billing/gen/Network/Google/Resource/CloudBilling/BillingAccounts/GetIAMPolicy.hs+160

This diff is too big to show here.

gogol-billing/gen/Network/Google/Resource/CloudBilling/BillingAccounts/List.hs+64−62

This diff is too big to show here.

gogol-billing/gen/Network/Google/Resource/CloudBilling/BillingAccounts/Patch.hs+186

This diff is too big to show here.

gogol-billing/gen/Network/Google/Resource/CloudBilling/BillingAccounts/Projects/List.hs+49−64

This diff is too big to show here.

gogol-billing/gen/Network/Google/Resource/CloudBilling/BillingAccounts/SetIAMPolicy.hs+176

This diff is too big to show here.

gogol-billing/gen/Network/Google/Resource/CloudBilling/BillingAccounts/TestIAMPermissions.hs+176

This diff is too big to show here.

gogol-billing/gen/Network/Google/Resource/CloudBilling/Projects/GetBillingInfo.hs+37−55

This diff is too big to show here.

gogol-billing/gen/Network/Google/Resource/CloudBilling/Projects/UpdateBillingInfo.hs+74−94

This diff is too big to show here.

gogol-billing/gen/Network/Google/Resource/CloudBilling/Services/List.hs+163

This diff is too big to show here.

gogol-billing/gen/Network/Google/Resource/CloudBilling/Services/SKUs/List.hs+234

This diff is too big to show here.

gogol-billing/gogol-billing.cabal+14−7

This diff is too big to show here.

gogol-binaryauthorization/LICENSE+367

This diff is too big to show here.

gogol-binaryauthorization/Makefile+1

This diff is too big to show here.

gogol-binaryauthorization/README.md+28

This diff is too big to show here.

gogol-binaryauthorization/Setup.hs+2

This diff is too big to show here.

gogol-binaryauthorization/gen/Network/Google/BinaryAuthorization.hs+228

This diff is too big to show here.

gogol-binaryauthorization/gen/Network/Google/BinaryAuthorization/Types.hs+158

This diff is too big to show here.

gogol-binaryauthorization/gen/Network/Google/BinaryAuthorization/Types/Product.hs+1078

This diff is too big to show here.

gogol-binaryauthorization/gen/Network/Google/BinaryAuthorization/Types/Sum.hs+244

This diff is too big to show here.

gogol-binaryauthorization/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/Create.hs+180

This diff is too big to show here.

gogol-binaryauthorization/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/Delete.hs+149

This diff is too big to show here.

gogol-binaryauthorization/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/Get.hs+149

This diff is too big to show here.

gogol-binaryauthorization/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/GetIAMPolicy.hs+157

This diff is too big to show here.

gogol-binaryauthorization/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/List.hs+180

This diff is too big to show here.

gogol-binaryauthorization/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/SetIAMPolicy.hs+171

This diff is too big to show here.

gogol-binaryauthorization/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/TestIAMPermissions.hs+183

This diff is too big to show here.

gogol-binaryauthorization/gen/Network/Google/Resource/BinaryAuthorization/Projects/Attestors/Update.hs+162

This diff is too big to show here.

gogol-binaryauthorization/gen/Network/Google/Resource/BinaryAuthorization/Projects/GetPolicy.hs+151

This diff is too big to show here.

gogol-binaryauthorization/gen/Network/Google/Resource/BinaryAuthorization/Projects/Policy/GetIAMPolicy.hs+156

This diff is too big to show here.

gogol-binaryauthorization/gen/Network/Google/Resource/BinaryAuthorization/Projects/Policy/SetIAMPolicy.hs+170

This diff is too big to show here.

gogol-binaryauthorization/gen/Network/Google/Resource/BinaryAuthorization/Projects/Policy/TestIAMPermissions.hs+182

This diff is too big to show here.

gogol-binaryauthorization/gen/Network/Google/Resource/BinaryAuthorization/Projects/UpdatePolicy.hs+170

This diff is too big to show here.

gogol-binaryauthorization/gogol-binaryauthorization.cabal+59

This diff is too big to show here.

gogol-binaryauthorization/src/.gitkeep

This diff is too big to show here.

gogol-blogger/README.md+4−4

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Blogger.hs+39−35

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Blogger/Types.hs+8−8

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Blogger/Types/Product.hs+340−247

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Blogger/Types/Sum.hs+197−197

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/BlogUserInfos/Get.hs+39−29

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Blogs/Get.hs+38−32

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Blogs/GetByURL.hs+34−28

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Blogs/ListByUser.hs+40−31

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Comments/Approve.hs+39−31

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Comments/Delete.hs+38−30

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Comments/Get.hs+41−32

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Comments/List.hs+53−42

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Comments/ListByBlog.hs+46−36

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Comments/MarkAsSpam.hs+39−31

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Comments/RemoveContent.hs+39−31

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/PageViews/Get.hs+33−28

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Pages/Delete.hs+34−29

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Pages/Get.hs+50−47

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Pages/Insert.hs+37−32

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Pages/List.hs+44−34

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Pages/Patch.hs+71−66

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Pages/Publish.hs+46−41

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Pages/Revert.hs+35−30

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Pages/Update.hs+41−33

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/PostUserInfos/Get.hs+43−33

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/PostUserInfos/List.hs+37−27

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Posts/Delete.hs+34−29

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Posts/Get.hs+86−74

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Posts/GetByPath.hs+42−32

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Posts/Insert.hs+75−67

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Posts/List.hs+55−44

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Posts/Patch.hs+107−94

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Posts/Publish.hs+57−49

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Posts/Revert.hs+35−30

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Posts/Search.hs+40−31

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Posts/Update.hs+49−40

This diff is too big to show here.

gogol-blogger/gen/Network/Google/Resource/Blogger/Users/Get.hs+30−24

This diff is too big to show here.

gogol-blogger/gogol-blogger.cabal+5−5

This diff is too big to show here.

gogol-books/README.md+4−4

This diff is too big to show here.

gogol-books/gen/Network/Google/Books.hs+272−60

This diff is too big to show here.

gogol-books/gen/Network/Google/Books/Types.hs+191−17

This diff is too big to show here.

gogol-books/gen/Network/Google/Books/Types/Product.hs+2625−739

This diff is too big to show here.

gogol-books/gen/Network/Google/Books/Types/Sum.hs+255−190

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Bookshelves/Get.hs+37−32

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Bookshelves/List.hs+33−28

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Bookshelves/Volumes/List.hs+47−37

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/CloudLoading/AddBook.hs+37−29

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/CloudLoading/DeleteBook.hs+31−25

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/CloudLoading/UpdateBook.hs+32−26

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Dictionary/ListOfflineMetadata.hs+32−26

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Familysharing/GetFamilyInfo.hs+87

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Familysharing/Share.hs+109

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Familysharing/Unshare.hs+109

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Layers/AnnotationData/Get.hs+65−52

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Layers/AnnotationData/List.hs+73−59

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Layers/Get.hs+38−30

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Layers/List.hs+42−33

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Layers/VolumeAnnotations/Get.hs+43−36

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Layers/VolumeAnnotations/List.hs+81−71

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/MyConfig/GetUserSettings.hs+26−20

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/MyConfig/ReleaseDownloadAccess.hs+40−32

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/MyConfig/RequestAccess.hs+47−39

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/MyConfig/SyncVolumeLicenses.hs+68−47

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/MyConfig/UpdateUserSettings.hs+33−27

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/MyLibrary/Annotations/Delete.hs+34−28

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/MyLibrary/Annotations/Insert.hs+50−29

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/MyLibrary/Annotations/List.hs+51−42

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/MyLibrary/Annotations/Summary.hs+37−31

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/MyLibrary/Annotations/Update.hs+36−28

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/MyLibrary/Bookshelves/AddVolume.hs+41−33

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/MyLibrary/Bookshelves/ClearVolumes.hs+36−29

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/MyLibrary/Bookshelves/Get.hs+33−28

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/MyLibrary/Bookshelves/List.hs+29−25

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/MyLibrary/Bookshelves/MoveVolume.hs+44−35

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/MyLibrary/Bookshelves/RemoveVolume.hs+42−33

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/MyLibrary/Bookshelves/Volumes/List.hs+53−42

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/MyLibrary/ReadingPositions/Get.hs+36−28

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/MyLibrary/ReadingPositions/SetPosition.hs+49−40

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Notification/Get.hs+114

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Onboarding/ListCategories.hs+29−25

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Onboarding/ListCategoryVolumes.hs+42−33

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Personalizedstream/Get.hs+117

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/PromoOffer/Accept.hs+44−36

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/PromoOffer/Dismiss.hs+42−34

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/PromoOffer/Get.hs+40−32

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Series/Get.hs+87

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Series/Membership/Get.hs+117

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Volumes/Associated/List.hs+42−34

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Volumes/Get.hs+55−33

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Volumes/List.hs+92−63

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Volumes/Mybooks/List.hs+61−39

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Volumes/Recommended/List.hs+36−28

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Volumes/Recommended/Rate.hs+40−32

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Volumes/UserUploaded/List.hs+46−36

This diff is too big to show here.

gogol-books/gogol-books.cabal+13−6

This diff is too big to show here.

gogol-chat/LICENSE+367

This diff is too big to show here.

gogol-chat/Makefile+1

This diff is too big to show here.

gogol-chat/README.md+28

This diff is too big to show here.

gogol-chat/Setup.hs+2

This diff is too big to show here.

gogol-chat/gen/Network/Google/Chat.hs+308

This diff is too big to show here.

gogol-chat/gen/Network/Google/Chat/Types.hs+259

This diff is too big to show here.

gogol-chat/gen/Network/Google/Chat/Types/Product.hs+1732

This diff is too big to show here.

gogol-chat/gen/Network/Google/Chat/Types/Sum.hs+625

This diff is too big to show here.

gogol-chat/gen/Network/Google/Resource/Chat/Spaces/Get.hs+146

This diff is too big to show here.

gogol-chat/gen/Network/Google/Resource/Chat/Spaces/List.hs+162

This diff is too big to show here.

gogol-chat/gen/Network/Google/Resource/Chat/Spaces/Members/Get.hs+149

This diff is too big to show here.

gogol-chat/gen/Network/Google/Resource/Chat/Spaces/Members/List.hs+178

This diff is too big to show here.

gogol-chat/gen/Network/Google/Resource/Chat/Spaces/Messages/Create.hs+182

This diff is too big to show here.

gogol-chat/gen/Network/Google/Resource/Chat/Spaces/Messages/Delete.hs+149

This diff is too big to show here.

gogol-chat/gen/Network/Google/Resource/Chat/Spaces/Messages/Get.hs+149

This diff is too big to show here.

gogol-chat/gen/Network/Google/Resource/Chat/Spaces/Messages/Update.hs+175

This diff is too big to show here.

gogol-chat/gogol-chat.cabal+53

This diff is too big to show here.

gogol-chat/src/.gitkeep

This diff is too big to show here.

gogol-civicinfo/README.md+4−4

This diff is too big to show here.

gogol-civicinfo/gen/Network/Google/CivicInfo.hs+201−7

This diff is too big to show here.

gogol-civicinfo/gen/Network/Google/CivicInfo/Types.hs+195−3

This diff is too big to show here.

gogol-civicinfo/gen/Network/Google/CivicInfo/Types/Product.hs+2090−166

This diff is too big to show here.

gogol-civicinfo/gen/Network/Google/CivicInfo/Types/Sum.hs+66−66

This diff is too big to show here.

gogol-civicinfo/gen/Network/Google/Resource/CivicInfo/Divisions/Search.hs+43−26

This diff is too big to show here.

gogol-civicinfo/gen/Network/Google/Resource/CivicInfo/Elections/ElectionQuery.hs+42−22

This diff is too big to show here.

gogol-civicinfo/gen/Network/Google/Resource/CivicInfo/Elections/VoterInfoQuery.hs+74−34

This diff is too big to show here.

gogol-civicinfo/gen/Network/Google/Resource/CivicInfo/Representatives/RepresentativeInfoByAddress.hs+55−32

This diff is too big to show here.

gogol-civicinfo/gen/Network/Google/Resource/CivicInfo/Representatives/RepresentativeInfoByDivision.hs+56−33

This diff is too big to show here.

gogol-civicinfo/gogol-civicinfo.cabal+8−6

This diff is too big to show here.

gogol-classroom/README.md+4−4

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Classroom.hs+628−42

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Classroom/Types.hs+505−36

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Classroom/Types/Product.hs+3621−369

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Classroom/Types/Sum.hs+771−2

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Aliases/Create.hs+51−66

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Aliases/Delete.hs+47−62

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Aliases/List.hs+110−130

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Announcements/Create.hs+179

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Announcements/Delete.hs+179

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Announcements/Get.hs+172

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Announcements/List.hs+228

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Announcements/ModifyAssignees.hs+196

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Announcements/Patch.hs+210

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/CourseWork/Create.hs+190

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/CourseWork/Delete.hs+182

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/CourseWork/Get.hs+176

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/CourseWork/List.hs+234

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/CourseWork/ModifyAssignees.hs+196

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/CourseWork/Patch.hs+224

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/CourseWork/StudentSubmissions/Get.hs+201

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/CourseWork/StudentSubmissions/List.hs+281

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/CourseWork/StudentSubmissions/ModifyAttachments.hs+231

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/CourseWork/StudentSubmissions/Patch.hs+244

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/CourseWork/StudentSubmissions/Reclaim.hs+235

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/CourseWork/StudentSubmissions/Return.hs+231

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/CourseWork/StudentSubmissions/TurnIn.hs+228

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Create.hs+48−66

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Delete.hs+42−63

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Get.hs+43−63

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/List.hs+77−78

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Patch.hs+58−73

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Students/Create.hs+61−74

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Students/Delete.hs+45−64

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Students/Get.hs+48−64

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Students/List.hs+53−71

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Teachers/Create.hs+56−69

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Teachers/Delete.hs+98−118

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Teachers/Get.hs+99−114

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Teachers/List.hs+111−127

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Topics/Create.hs+174

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Topics/Delete.hs+171

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Topics/Get.hs+171

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Topics/List.hs+191

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Topics/Patch.hs+203

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/Update.hs+47−66

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Invitations/Accept.hs+47−61

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Invitations/Create.hs+48−68

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Invitations/Delete.hs+41−61

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Invitations/Get.hs+42−61

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Invitations/List.hs+53−74

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Registrations/Create.hs+190

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Registrations/Delete.hs+152

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/UserProFiles/Get.hs+43−58

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/UserProFiles/GuardianInvitations/Create.hs+221

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/UserProFiles/GuardianInvitations/Get.hs+195

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/UserProFiles/GuardianInvitations/List.hs+252

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/UserProFiles/GuardianInvitations/Patch.hs+231

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/UserProFiles/Guardians/Delete.hs+193

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/UserProFiles/Guardians/Get.hs+194

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/UserProFiles/Guardians/List.hs+240

This diff is too big to show here.

gogol-classroom/gogol-classroom.cabal+39−6

This diff is too big to show here.

gogol-cloudasset/LICENSE+367

This diff is too big to show here.

gogol-cloudasset/Makefile+1

This diff is too big to show here.

gogol-cloudasset/README.md+28

This diff is too big to show here.

gogol-cloudasset/Setup.hs+2

This diff is too big to show here.

gogol-cloudasset/gen/Network/Google/CloudAsset.hs+194

This diff is too big to show here.

gogol-cloudasset/gen/Network/Google/CloudAsset/Types.hs+173

This diff is too big to show here.

gogol-cloudasset/gen/Network/Google/CloudAsset/Types/Product.hs+1271

This diff is too big to show here.

gogol-cloudasset/gen/Network/Google/CloudAsset/Types/Sum.hs+122

This diff is too big to show here.

gogol-cloudasset/gen/Network/Google/Resource/CloudAsset/BatchGetAssetsHistory.hs+230

This diff is too big to show here.

gogol-cloudasset/gen/Network/Google/Resource/CloudAsset/ExportAssets.hs+169

This diff is too big to show here.

gogol-cloudasset/gen/Network/Google/Resource/CloudAsset/Operations/Get.hs+150

This diff is too big to show here.

gogol-cloudasset/gogol-cloudasset.cabal+49

This diff is too big to show here.

gogol-cloudasset/src/.gitkeep

This diff is too big to show here.

gogol-clouderrorreporting/LICENSE+367

This diff is too big to show here.

gogol-clouderrorreporting/Makefile+1

This diff is too big to show here.

gogol-clouderrorreporting/README.md+28

This diff is too big to show here.

gogol-clouderrorreporting/Setup.hs+2

This diff is too big to show here.

gogol-clouderrorreporting/gen/Network/Google/CloudErrorReporting.hs+186

This diff is too big to show here.

gogol-clouderrorreporting/gen/Network/Google/CloudErrorReporting/Types.hs+150

This diff is too big to show here.

gogol-clouderrorreporting/gen/Network/Google/CloudErrorReporting/Types/Product.hs+1097

This diff is too big to show here.

gogol-clouderrorreporting/gen/Network/Google/CloudErrorReporting/Types/Sum.hs+48

This diff is too big to show here.

gogol-clouderrorreporting/gen/Network/Google/Resource/CloudErrorReporting/Projects/DeleteEvents.hs+155

This diff is too big to show here.

gogol-clouderrorreporting/gen/Network/Google/Resource/CloudErrorReporting/Projects/Events/List.hs+247

This diff is too big to show here.

gogol-clouderrorreporting/gen/Network/Google/Resource/CloudErrorReporting/Projects/Events/Report.hs+179

This diff is too big to show here.

gogol-clouderrorreporting/gen/Network/Google/Resource/CloudErrorReporting/Projects/GroupStats/List.hs+314

This diff is too big to show here.

gogol-clouderrorreporting/gen/Network/Google/Resource/CloudErrorReporting/Projects/Groups/Get.hs+153

This diff is too big to show here.

gogol-clouderrorreporting/gen/Network/Google/Resource/CloudErrorReporting/Projects/Groups/Update.hs+164

This diff is too big to show here.

gogol-clouderrorreporting/gogol-clouderrorreporting.cabal+53

This diff is too big to show here.

gogol-clouderrorreporting/src/.gitkeep

This diff is too big to show here.

gogol-cloudfunctions/LICENSE+367

This diff is too big to show here.

gogol-cloudfunctions/Makefile+1

This diff is too big to show here.

gogol-cloudfunctions/README.md+28

This diff is too big to show here.

gogol-cloudfunctions/Setup.hs+2

This diff is too big to show here.

gogol-cloudfunctions/gen/Network/Google/CloudFunctions.hs+371

This diff is too big to show here.

gogol-cloudfunctions/gen/Network/Google/CloudFunctions/Types.hs+293

This diff is too big to show here.

gogol-cloudfunctions/gen/Network/Google/CloudFunctions/Types/Product.hs+2293

This diff is too big to show here.

gogol-cloudfunctions/gen/Network/Google/CloudFunctions/Types/Sum.hs+215

This diff is too big to show here.

gogol-cloudfunctions/gen/Network/Google/Resource/CloudFunctions/Operations/Get.hs+150

This diff is too big to show here.

gogol-cloudfunctions/gen/Network/Google/Resource/CloudFunctions/Operations/List.hs+205

This diff is too big to show here.

gogol-cloudfunctions/gen/Network/Google/Resource/CloudFunctions/Projects/Locations/Functions/Call.hs+167

This diff is too big to show here.

gogol-cloudfunctions/gen/Network/Google/Resource/CloudFunctions/Projects/Locations/Functions/Create.hs+173

This diff is too big to show here.

gogol-cloudfunctions/gen/Network/Google/Resource/CloudFunctions/Projects/Locations/Functions/Delete.hs+156

This diff is too big to show here.

gogol-cloudfunctions/gen/Network/Google/Resource/CloudFunctions/Projects/Locations/Functions/GenerateDownloadURL.hs+181

This diff is too big to show here.

gogol-cloudfunctions/gen/Network/Google/Resource/CloudFunctions/Projects/Locations/Functions/GenerateUploadURL.hs+207

This diff is too big to show here.

gogol-cloudfunctions/gen/Network/Google/Resource/CloudFunctions/Projects/Locations/Functions/Get.hs+151

This diff is too big to show here.

gogol-cloudfunctions/gen/Network/Google/Resource/CloudFunctions/Projects/Locations/Functions/GetIAMPolicy.hs+161

This diff is too big to show here.

gogol-cloudfunctions/gen/Network/Google/Resource/CloudFunctions/Projects/Locations/Functions/List.hs+185

This diff is too big to show here.

gogol-cloudfunctions/gen/Network/Google/Resource/CloudFunctions/Projects/Locations/Functions/Patch.hs+180

This diff is too big to show here.

gogol-cloudfunctions/gen/Network/Google/Resource/CloudFunctions/Projects/Locations/Functions/SetIAMPolicy.hs+176

This diff is too big to show here.

gogol-cloudfunctions/gen/Network/Google/Resource/CloudFunctions/Projects/Locations/Functions/TestIAMPermissions.hs+182

This diff is too big to show here.

gogol-cloudfunctions/gen/Network/Google/Resource/CloudFunctions/Projects/Locations/List.hs+187

This diff is too big to show here.

gogol-cloudfunctions/gogol-cloudfunctions.cabal+60

This diff is too big to show here.

gogol-cloudfunctions/src/.gitkeep

This diff is too big to show here.

gogol-cloudidentity/LICENSE+367

This diff is too big to show here.

gogol-cloudidentity/Makefile+1

This diff is too big to show here.

gogol-cloudidentity/README.md+28

This diff is too big to show here.

gogol-cloudidentity/Setup.hs+2

This diff is too big to show here.

gogol-cloudidentity/gen/Network/Google/CloudIdentity.hs+203

This diff is too big to show here.

gogol-cloudidentity/gen/Network/Google/CloudIdentity/Types.hs+144

This diff is too big to show here.

gogol-cloudidentity/gen/Network/Google/CloudIdentity/Types/Product.hs+909

This diff is too big to show here.

gogol-cloudidentity/gen/Network/Google/CloudIdentity/Types/Sum.hs+48

This diff is too big to show here.

gogol-cloudidentity/gen/Network/Google/Resource/CloudIdentity/Groups/Create.hs+148

This diff is too big to show here.

gogol-cloudidentity/gen/Network/Google/Resource/CloudIdentity/Groups/Delete.hs+149

This diff is too big to show here.

gogol-cloudidentity/gen/Network/Google/Resource/CloudIdentity/Groups/Get.hs+150

This diff is too big to show here.

gogol-cloudidentity/gen/Network/Google/Resource/CloudIdentity/Groups/List.hs+188

This diff is too big to show here.

gogol-cloudidentity/gen/Network/Google/Resource/CloudIdentity/Groups/Lookup.hs+171

This diff is too big to show here.

gogol-cloudidentity/gen/Network/Google/Resource/CloudIdentity/Groups/Memberships/Create.hs+166

This diff is too big to show here.

gogol-cloudidentity/gen/Network/Google/Resource/CloudIdentity/Groups/Memberships/Delete.hs+153

This diff is too big to show here.

gogol-cloudidentity/gen/Network/Google/Resource/CloudIdentity/Groups/Memberships/Get.hs+154

This diff is too big to show here.

gogol-cloudidentity/gen/Network/Google/Resource/CloudIdentity/Groups/Memberships/List.hs+193

This diff is too big to show here.

gogol-cloudidentity/gen/Network/Google/Resource/CloudIdentity/Groups/Memberships/Lookup.hs+191

This diff is too big to show here.

gogol-cloudidentity/gen/Network/Google/Resource/CloudIdentity/Groups/Patch.hs+174

This diff is too big to show here.

gogol-cloudidentity/gen/Network/Google/Resource/CloudIdentity/Groups/Search.hs+188

This diff is too big to show here.

gogol-cloudidentity/gogol-cloudidentity.cabal+57

This diff is too big to show here.

gogol-cloudidentity/src/.gitkeep

This diff is too big to show here.

gogol-cloudiot/LICENSE+367

This diff is too big to show here.

gogol-cloudiot/Makefile+1

This diff is too big to show here.

gogol-cloudiot/README.md+28

This diff is too big to show here.

gogol-cloudiot/Setup.hs+2

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/CloudIOT.hs+475

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/CloudIOT/Types.hs+300

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/CloudIOT/Types/Product.hs+2224

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/CloudIOT/Types/Sum.hs+385

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/BindDeviceToGateway.hs+180

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/Create.hs+171

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/Delete.hs+154

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/Devices/ConfigVersions/List.hs+186

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/Devices/Create.hs+176

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/Devices/Delete.hs+163

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/Devices/Get.hs+174

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/Devices/List.hs+293

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/Devices/ModifyCloudToDeviceConfig.hs+188

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/Devices/Patch.hs+193

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/Devices/SendCommandToDevice.hs+206

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/Devices/States/List.hs+184

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/Get.hs+155

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/GetIAMPolicy.hs+179

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/Groups/BindDeviceToGateway.hs+181

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/Groups/Devices/ConfigVersions/List.hs+187

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/Groups/Devices/Get.hs+178

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/Groups/Devices/List.hs+299

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/Groups/Devices/ModifyCloudToDeviceConfig.hs+188

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/Groups/Devices/Patch.hs+196

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/Groups/Devices/SendCommandToDevice.hs+207

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/Groups/Devices/States/List.hs+186

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/Groups/GetIAMPolicy.hs+181

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/Groups/SetIAMPolicy.hs+181

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/Groups/TestIAMPermissions.hs+185

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/Groups/UnbindDeviceFromGateway.hs+182

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/List.hs+190

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/Patch.hs+186

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/SetIAMPolicy.hs+179

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/TestIAMPermissions.hs+184

This diff is too big to show here.

gogol-cloudiot/gen/Network/Google/Resource/CloudIOT/Projects/Locations/Registries/UnbindDeviceFromGateway.hs+181

This diff is too big to show here.

gogol-cloudiot/gogol-cloudiot.cabal+77

This diff is too big to show here.

gogol-cloudiot/src/.gitkeep

This diff is too big to show here.

gogol-cloudkms/LICENSE+367

This diff is too big to show here.

gogol-cloudkms/Makefile+1

This diff is too big to show here.

gogol-cloudkms/README.md+28

This diff is too big to show here.

gogol-cloudkms/Setup.hs+2

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/CloudKMS.hs+463

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/CloudKMS/Types.hs+293

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/CloudKMS/Types/Product.hs+2039

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/CloudKMS/Types/Sum.hs+589

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/Get.hs+149

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/Create.hs+184

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/CryptoKeys/Create.hs+193

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/CryptoKeys/CryptoKeyVersions/AsymmetricDecrypt.hs+185

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/CryptoKeys/CryptoKeyVersions/AsymmetricSign.hs+184

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/CryptoKeys/CryptoKeyVersions/Create.hs+184

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/CryptoKeys/CryptoKeyVersions/Destroy.hs+190

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/CryptoKeys/CryptoKeyVersions/Get.hs+166

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/CryptoKeys/CryptoKeyVersions/GetPublicKey.hs+168

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/CryptoKeys/CryptoKeyVersions/List.hs+213

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/CryptoKeys/CryptoKeyVersions/Patch.hs+198

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/CryptoKeys/CryptoKeyVersions/Restore.hs+184

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/CryptoKeys/Decrypt.hs+180

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/CryptoKeys/Encrypt.hs+181

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/CryptoKeys/Get.hs+160

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/CryptoKeys/GetIAMPolicy.hs+168

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/CryptoKeys/List.hs+207

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/CryptoKeys/Patch.hs+189

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/CryptoKeys/SetIAMPolicy.hs+183

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/CryptoKeys/TestIAMPermissions.hs+192

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/CryptoKeys/UpdatePrimaryVersion.hs+182

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/Get.hs+153

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/GetIAMPolicy.hs+162

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/ImportJobs/GetIAMPolicy.hs+168

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/ImportJobs/SetIAMPolicy.hs+183

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/ImportJobs/TestIAMPermissions.hs+192

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/List.hs+189

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/SetIAMPolicy.hs+177

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/KeyRings/TestIAMPermissions.hs+190

This diff is too big to show here.

gogol-cloudkms/gen/Network/Google/Resource/CloudKMS/Projects/Locations/List.hs+188

This diff is too big to show here.

gogol-cloudkms/gogol-cloudkms.cabal+76

This diff is too big to show here.

gogol-cloudkms/src/.gitkeep

This diff is too big to show here.

gogol-cloudprivatecatalog/LICENSE+367

This diff is too big to show here.

gogol-cloudprivatecatalog/Makefile+1

This diff is too big to show here.

gogol-cloudprivatecatalog/README.md+28

This diff is too big to show here.

gogol-cloudprivatecatalog/Setup.hs+2

This diff is too big to show here.

gogol-cloudprivatecatalog/gen/Network/Google/CloudPrivateCatalog.hs+148

This diff is too big to show here.

gogol-cloudprivatecatalog/gen/Network/Google/CloudPrivateCatalog/Types.hs+98

This diff is too big to show here.

gogol-cloudprivatecatalog/gen/Network/Google/CloudPrivateCatalog/Types/Product.hs+662

This diff is too big to show here.

gogol-cloudprivatecatalog/gen/Network/Google/CloudPrivateCatalog/Types/Sum.hs+48

This diff is too big to show here.

gogol-cloudprivatecatalog/gen/Network/Google/Resource/CloudPrivateCatalog/Folders/Catalogs/Search.hs+196

This diff is too big to show here.

gogol-cloudprivatecatalog/gen/Network/Google/Resource/CloudPrivateCatalog/Folders/Products/Search.hs+197

This diff is too big to show here.

gogol-cloudprivatecatalog/gen/Network/Google/Resource/CloudPrivateCatalog/Folders/Versions/Search.hs+198

This diff is too big to show here.

gogol-cloudprivatecatalog/gen/Network/Google/Resource/CloudPrivateCatalog/Organizations/Catalogs/Search.hs+197

This diff is too big to show here.

gogol-cloudprivatecatalog/gen/Network/Google/Resource/CloudPrivateCatalog/Organizations/Products/Search.hs+198

This diff is too big to show here.

gogol-cloudprivatecatalog/gen/Network/Google/Resource/CloudPrivateCatalog/Organizations/Versions/Search.hs+199

This diff is too big to show here.

gogol-cloudprivatecatalog/gen/Network/Google/Resource/CloudPrivateCatalog/Projects/Catalogs/Search.hs+196

This diff is too big to show here.

gogol-cloudprivatecatalog/gen/Network/Google/Resource/CloudPrivateCatalog/Projects/Products/Search.hs+197

This diff is too big to show here.

gogol-cloudprivatecatalog/gen/Network/Google/Resource/CloudPrivateCatalog/Projects/Versions/Search.hs+198

This diff is too big to show here.

gogol-cloudprivatecatalog/gogol-cloudprivatecatalog.cabal+55

This diff is too big to show here.

gogol-cloudprivatecatalog/src/.gitkeep

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/LICENSE+367

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/Makefile+1

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/README.md+28

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/Setup.hs+2

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/CloudPrivateCatalogProducer.hs+386

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/CloudPrivateCatalogProducer/Types.hs+236

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/CloudPrivateCatalogProducer/Types/Product.hs+2080

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/CloudPrivateCatalogProducer/Types/Sum.hs+87

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Associations/Create.hs+169

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Associations/Delete.hs+151

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Associations/Get.hs+151

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Associations/List.hs+180

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Create.hs+150

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Delete.hs+167

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Get.hs+149

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/GetIAMPolicy.hs+152

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/List.hs+178

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Patch.hs+177

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Copy.hs+160

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Create.hs+168

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Delete.hs+149

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Get.hs+151

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Icons/Upload.hs+176

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/List.hs+195

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Patch.hs+183

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Create.hs+169

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Delete.hs+153

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Get.hs+153

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Versions/List.hs+185

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Products/Versions/Patch.hs+186

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/SetIAMPolicy.hs+165

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/TestIAMPermissions.hs+168

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Catalogs/Undelete.hs+165

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Operations/Cancel.hs+178

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Operations/Delete.hs+154

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Operations/Get.hs+151

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gen/Network/Google/Resource/CloudPrivateCatalogProducer/Operations/List.hs+202

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/gogol-cloudprivatecatalogproducer.cabal+75

This diff is too big to show here.

gogol-cloudprivatecatalogproducer/src/.gitkeep

This diff is too big to show here.

gogol-cloudprofiler/LICENSE+367

This diff is too big to show here.

gogol-cloudprofiler/Makefile+1

This diff is too big to show here.

gogol-cloudprofiler/README.md+28

This diff is too big to show here.

gogol-cloudprofiler/Setup.hs+2

This diff is too big to show here.

gogol-cloudprofiler/gen/Network/Google/CloudProFiler.hs+99

This diff is too big to show here.

gogol-cloudprofiler/gen/Network/Google/CloudProFiler/Types.hs+88

This diff is too big to show here.

gogol-cloudprofiler/gen/Network/Google/CloudProFiler/Types/Product.hs+337

This diff is too big to show here.

gogol-cloudprofiler/gen/Network/Google/CloudProFiler/Types/Sum.hs+114

This diff is too big to show here.

gogol-cloudprofiler/gen/Network/Google/Resource/CloudProFiler/Projects/ProFiles/Create.hs+185

This diff is too big to show here.

gogol-cloudprofiler/gen/Network/Google/Resource/CloudProFiler/Projects/ProFiles/CreateOffline.hs+173

This diff is too big to show here.

gogol-cloudprofiler/gen/Network/Google/Resource/CloudProFiler/Projects/ProFiles/Patch.hs+186

This diff is too big to show here.

gogol-cloudprofiler/gogol-cloudprofiler.cabal+48

This diff is too big to show here.

gogol-cloudprofiler/src/.gitkeep

This diff is too big to show here.

gogol-cloudscheduler/LICENSE+367

This diff is too big to show here.

gogol-cloudscheduler/Makefile+1

This diff is too big to show here.

gogol-cloudscheduler/README.md+28

This diff is too big to show here.

gogol-cloudscheduler/Setup.hs+2

This diff is too big to show here.

gogol-cloudscheduler/gen/Network/Google/CloudScheduler.hs+250

This diff is too big to show here.

gogol-cloudscheduler/gen/Network/Google/CloudScheduler/Types.hs+195

This diff is too big to show here.

gogol-cloudscheduler/gen/Network/Google/CloudScheduler/Types/Product.hs+1506

This diff is too big to show here.

gogol-cloudscheduler/gen/Network/Google/CloudScheduler/Types/Sum.hs+215

This diff is too big to show here.

gogol-cloudscheduler/gen/Network/Google/Resource/CloudScheduler/Projects/Locations/Get.hs+148

This diff is too big to show here.

gogol-cloudscheduler/gen/Network/Google/Resource/CloudScheduler/Projects/Locations/Jobs/Create.hs+166

This diff is too big to show here.

gogol-cloudscheduler/gen/Network/Google/Resource/CloudScheduler/Projects/Locations/Jobs/Delete.hs+151

This diff is too big to show here.

gogol-cloudscheduler/gen/Network/Google/Resource/CloudScheduler/Projects/Locations/Jobs/Get.hs+150

This diff is too big to show here.

gogol-cloudscheduler/gen/Network/Google/Resource/CloudScheduler/Projects/Locations/Jobs/List.hs+187

This diff is too big to show here.

gogol-cloudscheduler/gen/Network/Google/Resource/CloudScheduler/Projects/Locations/Jobs/Patch.hs+196

This diff is too big to show here.

gogol-cloudscheduler/gen/Network/Google/Resource/CloudScheduler/Projects/Locations/Jobs/Pause.hs+169

This diff is too big to show here.

gogol-cloudscheduler/gen/Network/Google/Resource/CloudScheduler/Projects/Locations/Jobs/Resume.hs+170

This diff is too big to show here.

gogol-cloudscheduler/gen/Network/Google/Resource/CloudScheduler/Projects/Locations/Jobs/Run.hs+160

This diff is too big to show here.

gogol-cloudscheduler/gen/Network/Google/Resource/CloudScheduler/Projects/Locations/List.hs+187

This diff is too big to show here.

gogol-cloudscheduler/gogol-cloudscheduler.cabal+55

This diff is too big to show here.

gogol-cloudscheduler/src/.gitkeep

This diff is too big to show here.

gogol-cloudsearch/LICENSE+367

This diff is too big to show here.

gogol-cloudsearch/Makefile+1

This diff is too big to show here.

gogol-cloudsearch/README.md+28

This diff is too big to show here.

gogol-cloudsearch/Setup.hs+2

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/CloudSearch.hs+1291

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/CloudSearch/Types.hs+1143

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/CloudSearch/Types/Product.hs+9016

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/CloudSearch/Types/Sum.hs+1404

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Debug/Datasources/Items/CheckAccess.hs+185

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Debug/Datasources/Items/SearchByViewURL.hs+177

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Debug/Datasources/Items/UnmAppedids/List.hs+202

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Debug/Identitysources/Items/ListForunmAppedidentity.hs+233

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Debug/Identitysources/UnmAppedids/List.hs+216

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Indexing/Datasources/DeleteSchema.hs+171

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Indexing/Datasources/GetSchema.hs+168

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Indexing/Datasources/Items/Delete.hs+213

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Indexing/Datasources/Items/DeleteQueueItems.hs+180

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Indexing/Datasources/Items/Get.hs+181

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Indexing/Datasources/Items/Index.hs+172

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Indexing/Datasources/Items/List.hs+226

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Indexing/Datasources/Items/Poll.hs+192

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Indexing/Datasources/Items/Push.hs+167

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Indexing/Datasources/Items/Unreserve.hs+174

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Indexing/Datasources/Items/Upload.hs+170

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Indexing/Datasources/UpdateSchema.hs+171

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Media/Upload.hs+211

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Operations/Get.hs+155

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Query/Search.hs+155

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Query/Sources/List.hs+221

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Query/Suggest.hs+151

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Settings/Datasources/Create.hs+154

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Settings/Datasources/Delete.hs+166

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Settings/Datasources/Get.hs+165

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Settings/Datasources/List.hs+183

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Settings/Datasources/Update.hs+167

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Settings/SearchApplications/Create.hs+158

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Settings/SearchApplications/Delete.hs+170

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Settings/SearchApplications/Get.hs+171

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Settings/SearchApplications/List.hs+186

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Settings/SearchApplications/Reset.hs+172

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Settings/SearchApplications/Update.hs+170

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Stats/GetIndex.hs+227

This diff is too big to show here.

gogol-cloudsearch/gen/Network/Google/Resource/CloudSearch/Stats/Index/Datasources/Get.hs+240

This diff is too big to show here.

gogol-cloudsearch/gogol-cloudsearch.cabal+82

This diff is too big to show here.

gogol-cloudsearch/src/.gitkeep

This diff is too big to show here.

gogol-cloudshell/LICENSE+367

This diff is too big to show here.

gogol-cloudshell/Makefile+1

This diff is too big to show here.

gogol-cloudshell/README.md+28

This diff is too big to show here.

gogol-cloudshell/Setup.hs+2

This diff is too big to show here.

gogol-cloudshell/gen/Network/Google/CloudShell.hs+149

This diff is too big to show here.

gogol-cloudshell/gen/Network/Google/CloudShell/Types.hs+124

This diff is too big to show here.

gogol-cloudshell/gen/Network/Google/CloudShell/Types/Product.hs+697

This diff is too big to show here.

gogol-cloudshell/gen/Network/Google/CloudShell/Types/Sum.hs+183

This diff is too big to show here.

gogol-cloudshell/gen/Network/Google/Resource/CloudShell/Operations/Cancel.hs+177

This diff is too big to show here.

gogol-cloudshell/gen/Network/Google/Resource/CloudShell/Operations/Delete.hs+153

This diff is too big to show here.

gogol-cloudshell/gen/Network/Google/Resource/CloudShell/Operations/Get.hs+150

This diff is too big to show here.

gogol-cloudshell/gen/Network/Google/Resource/CloudShell/Operations/List.hs+201

This diff is too big to show here.

gogol-cloudshell/gogol-cloudshell.cabal+50

This diff is too big to show here.

gogol-cloudshell/src/.gitkeep

This diff is too big to show here.

gogol-cloudtasks/LICENSE+367

This diff is too big to show here.

gogol-cloudtasks/Makefile+1

This diff is too big to show here.

gogol-cloudtasks/README.md+28

This diff is too big to show here.

gogol-cloudtasks/Setup.hs+2

This diff is too big to show here.

gogol-cloudtasks/gen/Network/Google/CloudTasks.hs+339

This diff is too big to show here.

gogol-cloudtasks/gen/Network/Google/CloudTasks/Types.hs+243

This diff is too big to show here.

gogol-cloudtasks/gen/Network/Google/CloudTasks/Types/Product.hs+2056

This diff is too big to show here.

gogol-cloudtasks/gen/Network/Google/CloudTasks/Types/Sum.hs+306

This diff is too big to show here.

gogol-cloudtasks/gen/Network/Google/Resource/CloudTasks/Projects/Locations/Get.hs+148

This diff is too big to show here.

gogol-cloudtasks/gen/Network/Google/Resource/CloudTasks/Projects/Locations/List.hs+187

This diff is too big to show here.

gogol-cloudtasks/gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/Create.hs+183

This diff is too big to show here.

gogol-cloudtasks/gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/Delete.hs+164

This diff is too big to show here.

gogol-cloudtasks/gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/Get.hs+151

This diff is too big to show here.

gogol-cloudtasks/gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/GetIAMPolicy.hs+181

This diff is too big to show here.

gogol-cloudtasks/gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/List.hs+206

This diff is too big to show here.

gogol-cloudtasks/gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/Patch.hs+205

This diff is too big to show here.

gogol-cloudtasks/gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/Pause.hs+170

This diff is too big to show here.

gogol-cloudtasks/gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/Purge.hs+166

This diff is too big to show here.

gogol-cloudtasks/gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/Resume.hs+178

This diff is too big to show here.

gogol-cloudtasks/gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/SetIAMPolicy.hs+183

This diff is too big to show here.

gogol-cloudtasks/gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/Tasks/Create.hs+175

This diff is too big to show here.

gogol-cloudtasks/gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/Tasks/Delete.hs+159

This diff is too big to show here.

gogol-cloudtasks/gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/Tasks/Get.hs+174

This diff is too big to show here.

gogol-cloudtasks/gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/Tasks/List.hs+218

This diff is too big to show here.

gogol-cloudtasks/gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/Tasks/Run.hs+192

This diff is too big to show here.

gogol-cloudtasks/gen/Network/Google/Resource/CloudTasks/Projects/Locations/Queues/TestIAMPermissions.hs+185

This diff is too big to show here.

gogol-cloudtasks/gogol-cloudtasks.cabal+63

This diff is too big to show here.

gogol-cloudtasks/src/.gitkeep

This diff is too big to show here.

gogol-cloudtrace/LICENSE+367

This diff is too big to show here.

gogol-cloudtrace/Makefile+1

This diff is too big to show here.

gogol-cloudtrace/README.md+28

This diff is too big to show here.

gogol-cloudtrace/Setup.hs+2

This diff is too big to show here.

gogol-cloudtrace/gen/Network/Google/CloudTrace.hs+201

This diff is too big to show here.

gogol-cloudtrace/gen/Network/Google/CloudTrace/Types.hs+185

This diff is too big to show here.

gogol-cloudtrace/gen/Network/Google/CloudTrace/Types/Product.hs+1299

This diff is too big to show here.

gogol-cloudtrace/gen/Network/Google/CloudTrace/Types/Sum.hs+117

This diff is too big to show here.

gogol-cloudtrace/gen/Network/Google/Resource/CloudTrace/Projects/Traces/BatchWrite.hs+168

This diff is too big to show here.

gogol-cloudtrace/gen/Network/Google/Resource/CloudTrace/Projects/Traces/Spans/CreateSpan.hs+172

This diff is too big to show here.

gogol-cloudtrace/gogol-cloudtrace.cabal+52

This diff is too big to show here.

gogol-cloudtrace/src/.gitkeep

This diff is too big to show here.

gogol-commentanalyzer/LICENSE+367

This diff is too big to show here.

gogol-commentanalyzer/Makefile+1

This diff is too big to show here.

gogol-commentanalyzer/README.md+28

This diff is too big to show here.

gogol-commentanalyzer/Setup.hs+2

This diff is too big to show here.

gogol-commentanalyzer/gen/Network/Google/CommentAnalyzer.hs+168

This diff is too big to show here.

gogol-commentanalyzer/gen/Network/Google/CommentAnalyzer/Types.hs+148

This diff is too big to show here.

gogol-commentanalyzer/gen/Network/Google/CommentAnalyzer/Types/Product.hs+988

This diff is too big to show here.

gogol-commentanalyzer/gen/Network/Google/CommentAnalyzer/Types/Sum.hs+183

This diff is too big to show here.

gogol-commentanalyzer/gen/Network/Google/Resource/CommentAnalyzer/Comments/Analyze.hs+150

This diff is too big to show here.

gogol-commentanalyzer/gen/Network/Google/Resource/CommentAnalyzer/Comments/Suggestscore.hs+151

This diff is too big to show here.

gogol-commentanalyzer/gogol-commentanalyzer.cabal+53

This diff is too big to show here.

gogol-commentanalyzer/src/.gitkeep

This diff is too big to show here.

gogol-composer/LICENSE+367

This diff is too big to show here.

gogol-composer/Makefile+1

This diff is too big to show here.

gogol-composer/README.md+28

This diff is too big to show here.

gogol-composer/Setup.hs+2

This diff is too big to show here.

gogol-composer/gen/Network/Google/Composer.hs+232

This diff is too big to show here.

gogol-composer/gen/Network/Google/Composer/Types.hs+182

This diff is too big to show here.

gogol-composer/gen/Network/Google/Composer/Types/Product.hs+1393

This diff is too big to show here.

gogol-composer/gen/Network/Google/Composer/Types/Sum.hs+185

This diff is too big to show here.

gogol-composer/gen/Network/Google/Resource/Composer/Projects/Locations/Environments/Create.hs+170

This diff is too big to show here.

gogol-composer/gen/Network/Google/Resource/Composer/Projects/Locations/Environments/Delete.hs+155

This diff is too big to show here.

gogol-composer/gen/Network/Google/Resource/Composer/Projects/Locations/Environments/Get.hs+154

This diff is too big to show here.

gogol-composer/gen/Network/Google/Resource/Composer/Projects/Locations/Environments/List.hs+183

This diff is too big to show here.

gogol-composer/gen/Network/Google/Resource/Composer/Projects/Locations/Environments/Patch.hs+294

This diff is too big to show here.

gogol-composer/gen/Network/Google/Resource/Composer/Projects/Locations/ImageVersions/List.hs+185

This diff is too big to show here.

gogol-composer/gen/Network/Google/Resource/Composer/Projects/Locations/Operations/Delete.hs+158

This diff is too big to show here.

gogol-composer/gen/Network/Google/Resource/Composer/Projects/Locations/Operations/Get.hs+155

This diff is too big to show here.

gogol-composer/gen/Network/Google/Resource/Composer/Projects/Locations/Operations/List.hs+211

This diff is too big to show here.

gogol-composer/gogol-composer.cabal+54

This diff is too big to show here.

gogol-composer/src/.gitkeep

This diff is too big to show here.

gogol-compute/README.md+4−4

This diff is too big to show here.

gogol-compute/gen/Network/Google/Compute.hs+5175−230

This diff is too big to show here.

gogol-compute/gen/Network/Google/Compute/Types.hs+3824−72

This diff is too big to show here.

gogol-compute/gen/Network/Google/Compute/Types/Product.hs+43175−10184

This diff is too big to show here.

gogol-compute/gen/Network/Google/Compute/Types/Sum.hs+16211−1713

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/AcceleratorTypes/AggregatedList.hs+175

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/AcceleratorTypes/Get.hs+120

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/AcceleratorTypes/List.hs+184

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Addresses/AggregatedList.hs+89−51

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Addresses/Delete.hs+81−49

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Addresses/Get.hs+60−49

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Addresses/Insert.hs+66−35

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Addresses/List.hs+93−56

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Autoscalers/AggregatedList.hs+118−81

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Autoscalers/Delete.hs+67−36

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Autoscalers/Get.hs+46−33

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Autoscalers/Insert.hs+84−52

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Autoscalers/List.hs+94−59

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Autoscalers/Patch.hs+75−44

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Autoscalers/Update.hs+72−41

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/BackendBuckets/AddSignedURLKey.hs+151

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/BackendBuckets/Delete.hs+127

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/BackendBuckets/DeleteSignedURLKey.hs+151

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/BackendBuckets/Get.hs+107

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/BackendBuckets/Insert.hs+129

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/BackendBuckets/List.hs+172

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/BackendBuckets/Patch.hs+145

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/BackendBuckets/Update.hs+143

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/BackendServices/AddSignedURLKey.hs+151

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/BackendServices/AggregatedList.hs+177

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/BackendServices/Delete.hs+61−30

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/BackendServices/DeleteSignedURLKey.hs+151

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/BackendServices/Get.hs+43−32

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/BackendServices/GetHealth.hs+42−32

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/BackendServices/Insert.hs+69−34

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/BackendServices/List.hs+88−50

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/BackendServices/Patch.hs+75−38

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/BackendServices/SetSecurityPolicy.hs+148

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/BackendServices/Update.hs+72−35

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/DiskTypes/AggregatedList.hs+90−51

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/DiskTypes/Get.hs+44−31

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/DiskTypes/List.hs+92−55

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Disks/AggregatedList.hs+89−51

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Disks/CreateSnapshot.hs+85−42

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Disks/Delete.hs+65−34

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Disks/Get.hs+43−34

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Disks/GetIAMPolicy.hs+121

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Disks/Insert.hs+75−38

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Disks/List.hs+92−53

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Disks/Resize.hs+152

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Disks/SetIAMPolicy.hs+134

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Disks/SetLabels.hs+153

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Disks/TestIAMPermissions.hs+134

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Firewalls/Delete.hs+63−32

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Firewalls/Get.hs+39−31

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Firewalls/Insert.hs+63−35

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Firewalls/List.hs+88−52

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Firewalls/Patch.hs+72−38

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Firewalls/Update.hs+72−38

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/ForwardingRules/AggregatedList.hs+91−52

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/ForwardingRules/Delete.hs+63−32

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/ForwardingRules/Get.hs+42−31

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/ForwardingRules/Insert.hs+67−36

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/ForwardingRules/List.hs+96−57

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/ForwardingRules/SetTarget.hs+73−40

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/GlobalAddresses/Delete.hs+61−30

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/GlobalAddresses/Get.hs+40−30

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/GlobalAddresses/Insert.hs+61−30

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/GlobalAddresses/List.hs+88−50

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/GlobalForwardingRules/Delete.hs+63−31

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/GlobalForwardingRules/Get.hs+43−33

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/GlobalForwardingRules/Insert.hs+67−35

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/GlobalForwardingRules/List.hs+91−52

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/GlobalForwardingRules/SetTarget.hs+70−36

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/GlobalOperations/AggregatedList.hs+91−52

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/GlobalOperations/Delete.hs+37−29

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/GlobalOperations/Get.hs+41−30

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/GlobalOperations/List.hs+88−50

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/HTTPHealthChecks/Delete.hs+61−29

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/HTTPHealthChecks/Get.hs+42−29

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/HTTPHealthChecks/Insert.hs+64−32

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/HTTPHealthChecks/List.hs+90−50

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/HTTPHealthChecks/Patch.hs+70−36

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/HTTPHealthChecks/Update.hs+65−33

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/HTTPSHealthChecks/Delete.hs+129

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/HTTPSHealthChecks/Get.hs+111

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/HTTPSHealthChecks/Insert.hs+130

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/HTTPSHealthChecks/List.hs+174

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/HTTPSHealthChecks/Patch.hs+147

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/HTTPSHealthChecks/Update.hs+145

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/HealthChecks/Delete.hs+127

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/HealthChecks/Get.hs+107

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/HealthChecks/Insert.hs+128

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/HealthChecks/List.hs+172

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/HealthChecks/Patch.hs+145

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/HealthChecks/Update.hs+142

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Images/Delete.hs+70−39

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Images/Deprecate.hs+81−51

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Images/Get.hs+40−30

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Images/GetFromFamily.hs+107

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Images/GetIAMPolicy.hs+107

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Images/Insert.hs+89−40

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Images/List.hs+128−78

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Images/SetIAMPolicy.hs+125

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Images/SetLabels.hs+122

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Images/TestIAMPermissions.hs+125

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroupManagers/AbandonInstances.hs+99−48

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroupManagers/AggregatedList.hs+92−54

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroupManagers/Delete.hs+71−35

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroupManagers/DeleteInstances.hs+95−48

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroupManagers/Get.hs+49−35

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroupManagers/Insert.hs+85−40

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroupManagers/List.hs+92−54

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroupManagers/ListManagedInstances.hs+138−36

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroupManagers/Patch.hs+168

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroupManagers/RecreateInstances.hs+93−44

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroupManagers/Resize.hs+101−45

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroupManagers/SetInstanceTemplate.hs+74−40

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroupManagers/SetTargetPools.hs+85−46

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroups/AddInstances.hs+76−42

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroups/AggregatedList.hs+91−52

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroups/Delete.hs+69−34

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroups/Get.hs+45−32

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroups/Insert.hs+69−37

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroups/List.hs+93−54

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroups/ListInstances.hs+86−50

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroups/RemoveInstances.hs+80−40

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroups/SetNamedPorts.hs+72−40

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceTemplates/Delete.hs+66−31

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceTemplates/Get.hs+43−32

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceTemplates/GetIAMPolicy.hs+110

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceTemplates/Insert.hs+71−34

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceTemplates/List.hs+90−52

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceTemplates/SetIAMPolicy.hs+125

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceTemplates/TestIAMPermissions.hs+127

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/AddAccessConfig.hs+71−40

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/AggregatedList.hs+120−77

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/AttachDisk.hs+114−63

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/Delete.hs+80−49

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/DeleteAccessConfig.hs+70−38

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/DetachDisk.hs+98−65

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/Get.hs+44−34

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/GetIAMPolicy.hs+124

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/GetSerialPortOutput.hs+66−37

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/GetShieldedInstanceIdentity.hs+127

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/Insert.hs+98−48

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/List.hs+125−88

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/ListReferrers.hs+202

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/Reset.hs+82−49

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/SetDeletionProtection.hs+155

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/SetDiskAutoDelete.hs+73−40

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/SetIAMPolicy.hs+134

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/SetLabels.hs+154

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/SetMachineResources.hs+157

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/SetMachineType.hs+156

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/SetMetadata.hs+71−40

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/SetMinCPUPlatform.hs+161

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/SetScheduling.hs+72−41

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/SetServiceAccount.hs+157

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/SetShieldedInstanceIntegrityPolicy.hs+171

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/SetTags.hs+73−42

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/SimulateMaintenanceEvent.hs+121

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/Start.hs+69−37

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/StartWithEncryptionKey.hs+162

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/Stop.hs+77−46

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/TestIAMPermissions.hs+135

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/UpdateAccessConfig.hs+175

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/UpdateNetworkInterface.hs+173

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/UpdateShieldedInstanceConfig.hs+165

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InterconnectAttachments/AggregatedList.hs+177

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InterconnectAttachments/Delete.hs+143

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InterconnectAttachments/Get.hs+124

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InterconnectAttachments/Insert.hs+144

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InterconnectAttachments/List.hs+187

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InterconnectAttachments/Patch.hs+160

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InterconnectLocations/Get.hs+112

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InterconnectLocations/List.hs+174

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Interconnects/Delete.hs+127

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Interconnects/Get.hs+105

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Interconnects/GetDiagnostics.hs+109

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Interconnects/Insert.hs+130

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Interconnects/List.hs+168

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Interconnects/Patch.hs+145

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/LicenseCodes/Get.hs+107

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/LicenseCodes/TestIAMPermissions.hs+125

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Licenses/Delete.hs+122

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Licenses/Get.hs+39−31

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Licenses/GetIAMPolicy.hs+107

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Licenses/Insert.hs+125

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Licenses/List.hs+177

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Licenses/SetIAMPolicy.hs+122

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Licenses/TestIAMPermissions.hs+123

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/MachineTypes/AggregatedList.hs+90−51

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/MachineTypes/Get.hs+44−31

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/MachineTypes/List.hs+93−56

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NetworkEndpointGroups/AggregatedList.hs+177

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NetworkEndpointGroups/AttachNetworkEndpoints.hs+173

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NetworkEndpointGroups/Delete.hs+149

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NetworkEndpointGroups/DetachNetworkEndpoints.hs+173

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NetworkEndpointGroups/Get.hs+124

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NetworkEndpointGroups/Insert.hs+144

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NetworkEndpointGroups/List.hs+188

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NetworkEndpointGroups/ListNetworkEndpoints.hs+231

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NetworkEndpointGroups/TestIAMPermissions.hs+144

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Networks/AddPeering.hs+141

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Networks/Delete.hs+62−34

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Networks/Get.hs+41−31

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Networks/Insert.hs+63−35

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Networks/List.hs+88−52

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Networks/Patch.hs+140

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Networks/RemovePeering.hs+141

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Networks/SwitchToCustomMode.hs+129

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NodeGroups/AddNodes.hs+155

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NodeGroups/AggregatedList.hs+175

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NodeGroups/Delete.hs+137

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NodeGroups/DeleteNodes.hs+155

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NodeGroups/Get.hs+121

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NodeGroups/GetIAMPolicy.hs+123

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NodeGroups/Insert.hs+155

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NodeGroups/List.hs+182

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NodeGroups/ListNodes.hs+199

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NodeGroups/SetIAMPolicy.hs+136

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NodeGroups/SetNodeTemplate.hs+157

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NodeGroups/TestIAMPermissions.hs+137

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NodeTemplates/AggregatedList.hs+168

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NodeTemplates/Delete.hs+140

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NodeTemplates/Get.hs+122

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NodeTemplates/GetIAMPolicy.hs+124

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NodeTemplates/Insert.hs+142

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NodeTemplates/List.hs+183

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NodeTemplates/SetIAMPolicy.hs+137

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NodeTemplates/TestIAMPermissions.hs+139

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NodeTypes/AggregatedList.hs+173

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NodeTypes/Get.hs+118

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/NodeTypes/List.hs+181

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Projects/DisableXpnHost.hs+111

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Projects/DisableXpnResource.hs+130

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Projects/EnableXpnHost.hs+111

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Projects/EnableXpnResource.hs+132

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Projects/Get.hs+32−24

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Projects/GetXpnHost.hs+91

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Projects/GetXpnResources.hs+173

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Projects/ListXpnHosts.hs+185

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Projects/MoveDisk.hs+61−30

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Projects/MoveInstance.hs+61−30

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Projects/SetCommonInstanceMetadata.hs+62−30

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Projects/SetDefaultNetworkTier.hs+133

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Projects/SetUsageExportBucket.hs+65−30

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionAutoscalers/Delete.hs+140

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionAutoscalers/Get.hs+120

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionAutoscalers/Insert.hs+141

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionAutoscalers/List.hs+183

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionAutoscalers/Patch.hs+156

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionAutoscalers/Update.hs+154

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionBackendServices/Delete.hs+142

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionBackendServices/Get.hs+121

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionBackendServices/GetHealth.hs+139

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionBackendServices/Insert.hs+148

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionBackendServices/List.hs+189

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionBackendServices/Patch.hs+164

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionBackendServices/Update.hs+162

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionCommitments/AggregatedList.hs+176

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionCommitments/Get.hs+122

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionCommitments/Insert.hs+141

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionCommitments/List.hs+183

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionDiskTypes/Get.hs+121

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionDiskTypes/List.hs+187

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionDisks/CreateSnapshot.hs+154

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionDisks/Delete.hs+143

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionDisks/Get.hs+113

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionDisks/Insert.hs+154

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionDisks/List.hs+184

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionDisks/Resize.hs+152

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionDisks/SetLabels.hs+155

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionDisks/TestIAMPermissions.hs+138

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionInstanceGroupManagers/AbandonInstances.hs+193

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionInstanceGroupManagers/Delete.hs+147

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionInstanceGroupManagers/DeleteInstances.hs+191

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionInstanceGroupManagers/Get.hs+125

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionInstanceGroupManagers/Insert.hs+156

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionInstanceGroupManagers/List.hs+191

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionInstanceGroupManagers/ListManagedInstances.hs+220

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionInstanceGroupManagers/Patch.hs+171

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionInstanceGroupManagers/RecreateInstances.hs+187

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionInstanceGroupManagers/Resize.hs+178

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionInstanceGroupManagers/SetInstanceTemplate.hs+173

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionInstanceGroupManagers/SetTargetPools.hs+171

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionInstanceGroups/Get.hs+120

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionInstanceGroups/List.hs+188

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionInstanceGroups/ListInstances.hs+227

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionInstanceGroups/SetNamedPorts.hs+164

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionOperations/Delete.hs+40−30

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionOperations/Get.hs+41−30

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionOperations/List.hs+93−54

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Regions/Get.hs+39−29

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Regions/List.hs+113−72

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Routers/AggregatedList.hs+166

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Routers/Delete.hs+139

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Routers/Get.hs+119

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Routers/GetNATMAppingInfo.hs+206

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Routers/GetRouterStatus.hs+121

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Routers/Insert.hs+138

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Routers/List.hs+178

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Routers/Patch.hs+152

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Routers/Preview.hs+134

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Routers/Update.hs+150

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Routes/Delete.hs+62−35

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Routes/Get.hs+52−42

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Routes/Insert.hs+72−41

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Routes/List.hs+117−77

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/SSLCertificates/Delete.hs+127

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/SSLCertificates/Get.hs+108

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/SSLCertificates/Insert.hs+129

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/SSLCertificates/List.hs+172

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/SSLPolicies/Delete.hs+131

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/SSLPolicies/Get.hs+103

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/SSLPolicies/Insert.hs+129

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/SSLPolicies/List.hs+174

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/SSLPolicies/ListAvailableFeatures.hs+180

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/SSLPolicies/Patch.hs+140

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/SecurityPolicies/AddRule.hs+121

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/SecurityPolicies/Delete.hs+128

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/SecurityPolicies/Get.hs+106

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/SecurityPolicies/GetRule.hs+122

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/SecurityPolicies/Insert.hs+129

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/SecurityPolicies/List.hs+172

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/SecurityPolicies/Patch.hs+139

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/SecurityPolicies/PatchRule.hs+135

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/SecurityPolicies/RemoveRule.hs+121

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Snapshots/Delete.hs+73−42

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Snapshots/Get.hs+52−42

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Snapshots/GetIAMPolicy.hs+109

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Snapshots/List.hs+115−75

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Snapshots/SetIAMPolicy.hs+122

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Snapshots/SetLabels.hs+122

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Snapshots/TestIAMPermissions.hs+123

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Subnetworks/AggregatedList.hs+172

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Subnetworks/Delete.hs+137

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Subnetworks/ExpandIPCIdRRange.hs+161

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Subnetworks/Get.hs+119

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Subnetworks/GetIAMPolicy.hs+122

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Subnetworks/Insert.hs+139

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Subnetworks/List.hs+180

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Subnetworks/ListUsable.hs+172

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Subnetworks/Patch.hs+156

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Subnetworks/SetIAMPolicy.hs+138

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Subnetworks/SetPrivateIPGoogleAccess.hs+166

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Subnetworks/TestIAMPermissions.hs+140

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetHTTPProxies/Delete.hs+61−29

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetHTTPProxies/Get.hs+42−29

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetHTTPProxies/Insert.hs+64−32

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetHTTPProxies/List.hs+90−50

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetHTTPProxies/SetURLMap.hs+66−34

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetHTTPSProxies/Delete.hs+129

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetHTTPSProxies/Get.hs+111

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetHTTPSProxies/Insert.hs+130

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetHTTPSProxies/List.hs+174

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetHTTPSProxies/SetQuicOverride.hs+151

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetHTTPSProxies/SetSSLCertificates.hs+152

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetHTTPSProxies/SetSSLPolicy.hs+155

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetHTTPSProxies/SetURLMap.hs+146

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetInstances/AggregatedList.hs+91−52

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetInstances/Delete.hs+63−32

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetInstances/Get.hs+45−32

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetInstances/Insert.hs+68−36

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetInstances/List.hs+96−57

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetPools/AddHealthCheck.hs+72−40

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetPools/AddInstance.hs+72−39

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetPools/AggregatedList.hs+91−52

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetPools/Delete.hs+64−33

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetPools/Get.hs+44−31

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetPools/GetHealth.hs+49−37

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetPools/Insert.hs+69−38

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetPools/List.hs+96−57

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetPools/RemoveHealthCheck.hs+73−41

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetPools/RemoveInstance.hs+72−39

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetPools/SetBackup.hs+77−44

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetSSLProxies/Delete.hs+128

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetSSLProxies/Get.hs+108

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetSSLProxies/Insert.hs+130

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetSSLProxies/List.hs+174

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetSSLProxies/SetBackendService.hs+151

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetSSLProxies/SetProxyHeader.hs+148

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetSSLProxies/SetSSLCertificates.hs+152

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetSSLProxies/SetSSLPolicy.hs+154

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetTCPProxies/Delete.hs+128

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetTCPProxies/Get.hs+108

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetTCPProxies/Insert.hs+130

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetTCPProxies/List.hs+174

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetTCPProxies/SetBackendService.hs+151

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetTCPProxies/SetProxyHeader.hs+148

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetVPNGateways/AggregatedList.hs+91−51

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetVPNGateways/Delete.hs+66−34

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetVPNGateways/Get.hs+46−33

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetVPNGateways/Insert.hs+71−39

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetVPNGateways/List.hs+96−57

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/URLMaps/Delete.hs+62−31

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/URLMaps/Get.hs+41−31

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/URLMaps/Insert.hs+62−31

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/URLMaps/InvalidateCache.hs+144

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/URLMaps/List.hs+87−49

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/URLMaps/Patch.hs+72−39

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/URLMaps/Update.hs+69−36

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/URLMaps/Validate.hs+43−33

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/VPNTunnels/AggregatedList.hs+90−52

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/VPNTunnels/Delete.hs+63−32

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/VPNTunnels/Get.hs+44−31

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/VPNTunnels/Insert.hs+66−35

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/VPNTunnels/List.hs+93−54

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/ZoneOperations/Delete.hs+40−30

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/ZoneOperations/Get.hs+41−30

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/ZoneOperations/List.hs+93−54

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Zones/Get.hs+39−29

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Zones/List.hs+87−49

This diff is too big to show here.

gogol-compute/gogol-compute.cabal+241−6

This diff is too big to show here.

gogol-consumersurveys/LICENSE+367

This diff is too big to show here.

gogol-consumersurveys/Makefile+1

This diff is too big to show here.

gogol-consumersurveys/README.md+28

This diff is too big to show here.

gogol-consumersurveys/Setup.hs+2

This diff is too big to show here.

gogol-consumersurveys/gen/Network/Google/ConsumerSurveys.hs+253

This diff is too big to show here.

gogol-consumersurveys/gen/Network/Google/ConsumerSurveys/Types.hs+199

This diff is too big to show here.

gogol-consumersurveys/gen/Network/Google/ConsumerSurveys/Types/Product.hs+1343

This diff is too big to show here.

gogol-consumersurveys/gen/Network/Google/ConsumerSurveys/Types/Sum.hs+19

This diff is too big to show here.

gogol-consumersurveys/gen/Network/Google/Resource/ConsumerSurveys/MobileApppanels/Get.hs+91

This diff is too big to show here.

gogol-consumersurveys/gen/Network/Google/Resource/ConsumerSurveys/MobileApppanels/List.hs+113

This diff is too big to show here.

gogol-consumersurveys/gen/Network/Google/Resource/ConsumerSurveys/MobileApppanels/Update.hs+104

This diff is too big to show here.

gogol-consumersurveys/gen/Network/Google/Resource/ConsumerSurveys/Results/Get.hs+127

This diff is too big to show here.

gogol-consumersurveys/gen/Network/Google/Resource/ConsumerSurveys/Surveys/Delete.hs+90

This diff is too big to show here.

gogol-consumersurveys/gen/Network/Google/Resource/ConsumerSurveys/Surveys/Get.hs+89

This diff is too big to show here.

gogol-consumersurveys/gen/Network/Google/Resource/ConsumerSurveys/Surveys/Insert.hs+86

This diff is too big to show here.

gogol-consumersurveys/gen/Network/Google/Resource/ConsumerSurveys/Surveys/List.hs+109

This diff is too big to show here.

gogol-consumersurveys/gen/Network/Google/Resource/ConsumerSurveys/Surveys/Start.hs+100

This diff is too big to show here.

gogol-consumersurveys/gen/Network/Google/Resource/ConsumerSurveys/Surveys/Stop.hs+88

This diff is too big to show here.

gogol-consumersurveys/gen/Network/Google/Resource/ConsumerSurveys/Surveys/Update.hs+102

This diff is too big to show here.

gogol-consumersurveys/gogol-consumersurveys.cabal+58

This diff is too big to show here.

gogol-consumersurveys/src/.gitkeep

This diff is too big to show here.

gogol-container/README.md+4−4

This diff is too big to show here.

gogol-container/gen/Network/Google/Container.hs+813−16

This diff is too big to show here.

gogol-container/gen/Network/Google/Container/Types.hs+514−6

This diff is too big to show here.

gogol-container/gen/Network/Google/Container/Types/Product.hs+5273−257

This diff is too big to show here.

gogol-container/gen/Network/Google/Container/Types/Sum.hs+504−2

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Aggregated/UsableSubnetworks/List.hs+209

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/CompleteIPRotation.hs+176

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/Create.hs+185

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/Delete.hs+203

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/Get.hs+193

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/GetJWKs.hs+162

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/List.hs+188

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/NodePools/Create.hs+176

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/NodePools/Delete.hs+217

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/NodePools/Get.hs+215

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/NodePools/List.hs+203

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/NodePools/Rollback.hs+178

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/NodePools/SetAutoscaling.hs+178

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/NodePools/SetManagement.hs+178

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/NodePools/SetSize.hs+176

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/NodePools/Update.hs+175

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/SetAddons.hs+170

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/SetLegacyAbac.hs+173

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/SetLocations.hs+172

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/SetLogging.hs+171

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/SetMaintenancePolicy.hs+176

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/SetMasterAuth.hs+176

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/SetMonitoring.hs+171

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/SetNetworkPolicy.hs+175

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/SetResourceLabels.hs+175

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/StartIPRotation.hs+175

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/Update.hs+167

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/UpdateMaster.hs+171

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Clusters/WellKnown/GetOpenidConfiguration.hs+176

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/GetServerConfig.hs+186

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Operations/Cancel.hs+167

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Operations/Get.hs+194

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Locations/Operations/List.hs+187

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/Addons.hs+201

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/CompleteIPRotation.hs+209

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/Create.hs+63−79

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/Delete.hs+64−63

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/Get.hs+59−63

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/LegacyAbac.hs+205

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/List.hs+105−110

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/Locations.hs+195

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/Logging.hs+201

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/Master.hs+201

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/Monitoring.hs+205

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/NodePools/Autoscaling.hs+227

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/NodePools/Create.hs+208

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/NodePools/Delete.hs+223

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/NodePools/Get.hs+221

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/NodePools/List.hs+207

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/NodePools/Rollback.hs+226

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/NodePools/SetManagement.hs+228

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/NodePools/SetSize.hs+224

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/NodePools/Update.hs+224

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/ResourceLabels.hs+207

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/SetMaintenancePolicy.hs+207

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/SetMasterAuth.hs+210

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/SetNetworkPolicy.hs+207

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/StartIPRotation.hs+207

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/Update.hs+53−68

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/GetServerConfig.hs+58−62

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Operations/Cancel.hs+201

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Operations/Get.hs+57−61

This diff is too big to show here.

gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Operations/List.hs+59−62

This diff is too big to show here.

gogol-container/gogol-container.cabal+62−8

This diff is too big to show here.

gogol-containeranalysis/LICENSE+367

This diff is too big to show here.

gogol-containeranalysis/Makefile+1

This diff is too big to show here.

gogol-containeranalysis/README.md+28

This diff is too big to show here.

gogol-containeranalysis/Setup.hs+2

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/ContainerAnalysis.hs+814

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/ContainerAnalysis/Types.hs+688

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/ContainerAnalysis/Types/Product.hs+5365

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/ContainerAnalysis/Types/Sum.hs+1217

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/BatchCreate.hs+167

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/Create.hs+176

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/Delete.hs+149

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/Get.hs+149

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/GetIAMPolicy.hs+180

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/List.hs+190

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/Occurrences/List.hs+196

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/Patch.hs+175

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/SetIAMPolicy.hs+180

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/TestIAMPermissions.hs+182

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/BatchCreate.hs+169

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/Create.hs+165

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/Delete.hs+154

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/Get.hs+149

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/GetIAMPolicy.hs+182

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/GetNotes.hs+154

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/GetVulnerabilitySummary.hs+174

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/List.hs+191

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/Patch.hs+176

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/SetIAMPolicy.hs+182

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/TestIAMPermissions.hs+183

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/Resource/ContainerAnalysis/Projects/ScanConfigs/Get.hs+150

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/Resource/ContainerAnalysis/Projects/ScanConfigs/List.hs+192

This diff is too big to show here.

gogol-containeranalysis/gen/Network/Google/Resource/ContainerAnalysis/Projects/ScanConfigs/Update.hs+164

This diff is too big to show here.

gogol-containeranalysis/gogol-containeranalysis.cabal+70

This diff is too big to show here.

gogol-containeranalysis/src/.gitkeep

This diff is too big to show here.

gogol-containerbuilder/LICENSE+367

This diff is too big to show here.

gogol-containerbuilder/Makefile+1

This diff is too big to show here.

gogol-containerbuilder/README.md+28

This diff is too big to show here.

gogol-containerbuilder/Setup.hs+2

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/ContainerBuilder.hs+431

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/ContainerBuilder/Types.hs+357

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/ContainerBuilder/Types/Product.hs+2772

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/ContainerBuilder/Types/Sum.hs+398

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/Resource/Cloudbuild/Operations/Cancel.hs+177

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/Resource/Cloudbuild/Operations/Get.hs+150

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/Resource/Cloudbuild/Operations/List.hs+201

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/Cancel.hs+177

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/Create.hs+167

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/Get.hs+167

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/List.hs+191

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/Retry.hs+209

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Create.hs+165

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Delete.hs+166

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Get.hs+164

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/List.hs+178

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Patch.hs+180

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Run.hs+177

This diff is too big to show here.

gogol-containerbuilder/gogol-containerbuilder.cabal+59

This diff is too big to show here.

gogol-containerbuilder/src/.gitkeep

This diff is too big to show here.

gogol-customsearch/README.md+4−4

This diff is too big to show here.

gogol-customsearch/gen/Network/Google/CustomSearch.hs+36−5

This diff is too big to show here.

gogol-customsearch/gen/Network/Google/CustomSearch/Types.hs+30−4

This diff is too big to show here.

gogol-customsearch/gen/Network/Google/CustomSearch/Types/Product.hs+195−141

This diff is too big to show here.

gogol-customsearch/gen/Network/Google/CustomSearch/Types/Sum.hs+678−137

This diff is too big to show here.

gogol-customsearch/gen/Network/Google/Resource/Search/CSE/List.hs+80−83

This diff is too big to show here.

gogol-customsearch/gen/Network/Google/Resource/Search/CSE/Siterestrict/List.hs+514

This diff is too big to show here.

gogol-customsearch/gogol-customsearch.cabal+7−6

This diff is too big to show here.

gogol-dataflow/README.md+4−4

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Dataflow.hs+878−20

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Dataflow/Types.hs+726−15

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Dataflow/Types/Product.hs+7438−1116

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Dataflow/Types/Sum.hs+1358−2

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/DeleteSnapshots.hs+181

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Jobs/Aggregated.hs+221

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Jobs/Create.hs+69−62

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Jobs/Debug/GetConfig.hs+188

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Jobs/Debug/SendCapture.hs+188

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Jobs/Get.hs+68−59

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Jobs/GetMetrics.hs+68−60

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Jobs/List.hs+84−57

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Jobs/Messages/List.hs+82−71

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Jobs/Snapshot.hs+180

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Jobs/Update.hs+68−59

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Jobs/WorkItems/Lease.hs+45−60

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Jobs/WorkItems/ReportStatus.hs+46−60

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Locations/Jobs/Create.hs+218

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Locations/Jobs/Debug/GetConfig.hs+209

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Locations/Jobs/Debug/SendCapture.hs+209

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Locations/Jobs/Get.hs+206

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Locations/Jobs/GetMetrics.hs+215

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Locations/Jobs/List.hs+241

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Locations/Jobs/Messages/List.hs+275

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Locations/Jobs/Snapshot.hs+199

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Locations/Jobs/Update.hs+209

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Locations/Jobs/WorkItems/Lease.hs+208

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Locations/Jobs/WorkItems/ReportStatus.hs+212

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Locations/SQL/Validate.hs+193

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Locations/Snapshots/Delete.hs+189

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Locations/Snapshots/Get.hs+186

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Locations/Snapshots/List.hs+174

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Locations/Templates/Create.hs+189

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Locations/Templates/Get.hs+200

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Locations/Templates/Launch.hs+245

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Locations/WorkerMessages.hs+190

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Snapshots/Get.hs+180

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Snapshots/List.hs+167

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Templates/Create.hs+168

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Templates/Get.hs+193

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Templates/Launch.hs+238

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/WorkerMessages.hs+169

This diff is too big to show here.

gogol-dataflow/gogol-dataflow.cabal+36−6

This diff is too big to show here.

gogol-datafusion/LICENSE+367

This diff is too big to show here.

gogol-datafusion/Makefile+1

This diff is too big to show here.

gogol-datafusion/README.md+28

This diff is too big to show here.

gogol-datafusion/Setup.hs+2

This diff is too big to show here.

gogol-datafusion/gen/Network/Google/DataFusion.hs+400

This diff is too big to show here.

gogol-datafusion/gen/Network/Google/DataFusion/Types.hs+308

This diff is too big to show here.

gogol-datafusion/gen/Network/Google/DataFusion/Types/Product.hs+2258

This diff is too big to show here.

gogol-datafusion/gen/Network/Google/DataFusion/Types/Sum.hs+531

This diff is too big to show here.

gogol-datafusion/gen/Network/Google/Resource/DataFusion/Projects/Locations/Get.hs+148

This diff is too big to show here.

gogol-datafusion/gen/Network/Google/Resource/DataFusion/Projects/Locations/Instances/Create.hs+183

This diff is too big to show here.

gogol-datafusion/gen/Network/Google/Resource/DataFusion/Projects/Locations/Instances/Delete.hs+153

This diff is too big to show here.

gogol-datafusion/gen/Network/Google/Resource/DataFusion/Projects/Locations/Instances/Get.hs+152

This diff is too big to show here.

gogol-datafusion/gen/Network/Google/Resource/DataFusion/Projects/Locations/Instances/GetIAMPolicy.hs+161

This diff is too big to show here.

gogol-datafusion/gen/Network/Google/Resource/DataFusion/Projects/Locations/Instances/List.hs+210

This diff is too big to show here.

gogol-datafusion/gen/Network/Google/Resource/DataFusion/Projects/Locations/Instances/Patch.hs+184

This diff is too big to show here.

gogol-datafusion/gen/Network/Google/Resource/DataFusion/Projects/Locations/Instances/Restart.hs+169

This diff is too big to show here.

gogol-datafusion/gen/Network/Google/Resource/DataFusion/Projects/Locations/Instances/SetIAMPolicy.hs+176

This diff is too big to show here.

gogol-datafusion/gen/Network/Google/Resource/DataFusion/Projects/Locations/Instances/TestIAMPermissions.hs+188

This diff is too big to show here.

gogol-datafusion/gen/Network/Google/Resource/DataFusion/Projects/Locations/Instances/Upgrade.hs+171

This diff is too big to show here.

gogol-datafusion/gen/Network/Google/Resource/DataFusion/Projects/Locations/List.hs+187

This diff is too big to show here.

gogol-datafusion/gen/Network/Google/Resource/DataFusion/Projects/Locations/Operations/Cancel.hs+182

This diff is too big to show here.

gogol-datafusion/gen/Network/Google/Resource/DataFusion/Projects/Locations/Operations/Delete.hs+158

This diff is too big to show here.

gogol-datafusion/gen/Network/Google/Resource/DataFusion/Projects/Locations/Operations/Get.hs+155

This diff is too big to show here.

gogol-datafusion/gen/Network/Google/Resource/DataFusion/Projects/Locations/Operations/List.hs+211

This diff is too big to show here.

gogol-datafusion/gogol-datafusion.cabal+67

This diff is too big to show here.

gogol-datafusion/src/.gitkeep

This diff is too big to show here.

gogol-dataproc/LICENSE+367

This diff is too big to show here.

gogol-dataproc/Makefile+1

This diff is too big to show here.

gogol-dataproc/README.md+28

This diff is too big to show here.

gogol-dataproc/Setup.hs+2

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Dataproc.hs+902

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Dataproc/Types.hs+661

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Dataproc/Types/Product.hs+5758

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Dataproc/Types/Sum.hs+443

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Locations/WorkflowTemplates/Create.hs+175

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Locations/WorkflowTemplates/Delete.hs+175

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Locations/WorkflowTemplates/Get.hs+176

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Locations/WorkflowTemplates/GetIAMPolicy.hs+180

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Locations/WorkflowTemplates/Instantiate.hs+187

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Locations/WorkflowTemplates/InstantiateInline.hs+213

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Locations/WorkflowTemplates/List.hs+188

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Locations/WorkflowTemplates/SetIAMPolicy.hs+180

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Locations/WorkflowTemplates/TestIAMPermissions.hs+189

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Locations/WorkflowTemplates/Update.hs+176

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/Clusters/Create.hs+203

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/Clusters/Delete.hs+219

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/Clusters/Diagnose.hs+193

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/Clusters/Get.hs+183

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/Clusters/GetIAMPolicy.hs+175

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/Clusters/List.hs+220

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/Clusters/Patch.hs+273

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/Clusters/SetIAMPolicy.hs+175

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/Clusters/TestIAMPermissions.hs+187

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/Jobs/Cancel.hs+199

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/Jobs/Delete.hs+183

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/Jobs/Get.hs+180

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/Jobs/GetIAMPolicy.hs+174

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/Jobs/List.hs+243

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/Jobs/Patch.hs+210

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/Jobs/SetIAMPolicy.hs+174

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/Jobs/Submit.hs+183

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/Jobs/TestIAMPermissions.hs+185

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/Operations/Cancel.hs+168

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/Operations/Delete.hs+158

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/Operations/Get.hs+154

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/Operations/GetIAMPolicy.hs+176

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/Operations/List.hs+207

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/Operations/SetIAMPolicy.hs+176

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/Operations/TestIAMPermissions.hs+188

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/WorkflowTemplates/Create.hs+173

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/WorkflowTemplates/Delete.hs+173

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/WorkflowTemplates/Get.hs+176

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/WorkflowTemplates/GetIAMPolicy.hs+179

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/WorkflowTemplates/Instantiate.hs+187

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/WorkflowTemplates/InstantiateInline.hs+213

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/WorkflowTemplates/List.hs+188

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/WorkflowTemplates/SetIAMPolicy.hs+179

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/WorkflowTemplates/TestIAMPermissions.hs+189

This diff is too big to show here.

gogol-dataproc/gen/Network/Google/Resource/Dataproc/Projects/Regions/WorkflowTemplates/Update.hs+174

This diff is too big to show here.

gogol-dataproc/gogol-dataproc.cabal+90

This diff is too big to show here.

gogol-dataproc/src/.gitkeep

This diff is too big to show here.

gogol-datastore/README.md+4−4

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Datastore.hs+383−102

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Datastore/Types.hs+315−89

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Datastore/Types/Product.hs+3214−1045

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Datastore/Types/Sum.hs+569−198

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Datasets/AllocateIds.hs−97

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Datasets/BeginTransaction.hs−97

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Datasets/Commit.hs−96

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Datasets/Lookup.hs−94

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Datasets/Rollback.hs−95

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Datasets/RunQuery.hs−95

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Projects/AllocateIds.hs+167

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Projects/BeginTransaction.hs+166

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Projects/Commit.hs+165

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Projects/Export.hs+178

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Projects/Import.hs+170

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Projects/Indexes/Get.hs+167

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Projects/Indexes/List.hs+196

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Projects/Lookup.hs+163

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Projects/Operations/Cancel.hs+165

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Projects/Operations/Delete.hs+155

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Projects/Operations/Get.hs+155

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Projects/Operations/List.hs+207

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Projects/ReserveIds.hs+167

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Projects/Rollback.hs+164

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Projects/RunQuery.hs+165

This diff is too big to show here.

gogol-datastore/gogol-datastore.cabal+23−13

This diff is too big to show here.

gogol-debugger/README.md+4−4

This diff is too big to show here.

gogol-debugger/gen/Network/Google/Debugger.hs+61−13

This diff is too big to show here.

gogol-debugger/gen/Network/Google/Debugger/Types.hs+53−14

This diff is too big to show here.

gogol-debugger/gen/Network/Google/Debugger/Types/Product.hs+703−369

This diff is too big to show here.

gogol-debugger/gen/Network/Google/Debugger/Types/Sum.hs+192−2

This diff is too big to show here.

gogol-debugger/gen/Network/Google/Resource/CloudDebugger/Controller/Debuggees/Breakpoints/List.hs+88−88

This diff is too big to show here.

gogol-debugger/gen/Network/Google/Resource/CloudDebugger/Controller/Debuggees/Breakpoints/Update.hs+52−68

This diff is too big to show here.

gogol-debugger/gen/Network/Google/Resource/CloudDebugger/Controller/Debuggees/Register.hs+56−71

This diff is too big to show here.

gogol-debugger/gen/Network/Google/Resource/CloudDebugger/Debugger/Debuggees/Breakpoints/Delete.hs+56−58

This diff is too big to show here.

gogol-debugger/gen/Network/Google/Resource/CloudDebugger/Debugger/Debuggees/Breakpoints/Get.hs+57−59

This diff is too big to show here.

gogol-debugger/gen/Network/Google/Resource/CloudDebugger/Debugger/Debuggees/Breakpoints/List.hs+76−77

This diff is too big to show here.

gogol-debugger/gen/Network/Google/Resource/CloudDebugger/Debugger/Debuggees/Breakpoints/Set.hs+57−59

This diff is too big to show here.

gogol-debugger/gen/Network/Google/Resource/CloudDebugger/Debugger/Debuggees/List.hs+55−60

This diff is too big to show here.

gogol-debugger/gogol-debugger.cabal+7−7

This diff is too big to show here.

gogol-deploymentmanager/README.md+4−4

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/DeploymentManager.hs+176−18

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/DeploymentManager/Types.hs+149−12

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/DeploymentManager/Types/Product.hs+1702−326

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/DeploymentManager/Types/Sum.hs+90−36

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Deployments/CancelPreview.hs+41−32

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Deployments/Delete.hs+54−29

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Deployments/Get.hs+38−29

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Deployments/GetIAMPolicy.hs+106

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Deployments/Insert.hs+59−33

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Deployments/List.hs+88−49

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Deployments/Patch.hs+51−41

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Deployments/SetIAMPolicy.hs+122

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Deployments/Stop.hs+41−31

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Deployments/TestIAMPermissions.hs+123

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Deployments/Update.hs+52−42

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Manifests/Get.hs+42−30

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Manifests/List.hs+93−53

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Operations/Get.hs+38−29

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Operations/List.hs+88−49

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Resources/Get.hs+42−30

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Resources/List.hs+93−53

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Types/List.hs+88−49

This diff is too big to show here.

gogol-deploymentmanager/gogol-deploymentmanager.cabal+10−7

This diff is too big to show here.

gogol-dfareporting/README.md+4−4

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/DFAReporting.hs+842−450

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/DFAReporting/Types.hs+567−230

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/DFAReporting/Types/Product.hs+7532−3441

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/DFAReporting/Types/Sum.hs+4387−2636

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/AccountActiveAdSummaries/Get.hs+41−31

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/AccountPermissionGroups/Get.hs+41−33

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/AccountPermissionGroups/List.hs+34−27

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/AccountPermissions/Get.hs+48−40

This diff is too big to show here.

3156 more files changed are not listed.