on develop help sign in
Merge branch 'release/0.1.1'
93f392aBrendan Hay
.travis.yml+23−5
@@ -1,14 +1,16 @@
1sudo: false
1sudo: false
2+language: c
3+cache:
4+ apt: true
5+ directories:
6+ - $HOME/.ghc
7+ - $HOME/.cabal
8+ - $HOME/.stack
2
9
3env:
10env:
4 global:
11 global:
5 - secure: "QjyoQ/DBA3lk5uWh+lgMct6hHLP+ouyrlGw4B7Z+d3iovqM62RG2R3brnM1fSRQaJehPTjM7mqH81QRAu8ej/Mr+0EZtwpkuc0ABvoDfUv8o5kwTAF8EHPs9VZdGgNjThh2Q0+U+XXcDw7Yq82QxuqeBjHdCH3PDatzMZDK6OxlE6OyCg4dT0mLGQMCz3Kc7J30ABBXRsTMAESE2B/tYhxlI2XVxyobFnfqlctm5oEJ9+yZk94UEEWBj5YJnDbNRI1wT8utdR9037hA6j6wAPLw7sHaZU+qgA3CCGhYiRMc17tUAQfIoelfTqfGLDtAEh1GUo0L8RWAEkI4fp3pdeLnhyvlM12mlegXOo7EFJvSC+Aw8YUO17GUn56t5Ph3H1q136hH7/fcLB+3Y6pnZitA8PUxYWajrmzjNOyl6H//2TVc/y/fgoqB5E8wCkoeYeq9ky69urAIDCoSY1uXgQFN6LY7YSO2H7beJZn54pijMZ63FVwF1BDrX4bhMgjTKdOO7nvg7sYC3gu6UEj6JzfwdkEyQ49DLau4M9D4HkJDj7MjP13leSq2LoPYx4TbZQMbPFZFG9t/yJ5uVPg9P2dfG+vz/v8jNHAh9XqIPATB/D2wid3oTUEkCkn0G7I1uCneIuxVPHLGBKqJvFKJqDoDsmcYBnmqalqhOsqRbRG4="
12 - secure: "QjyoQ/DBA3lk5uWh+lgMct6hHLP+ouyrlGw4B7Z+d3iovqM62RG2R3brnM1fSRQaJehPTjM7mqH81QRAu8ej/Mr+0EZtwpkuc0ABvoDfUv8o5kwTAF8EHPs9VZdGgNjThh2Q0+U+XXcDw7Yq82QxuqeBjHdCH3PDatzMZDK6OxlE6OyCg4dT0mLGQMCz3Kc7J30ABBXRsTMAESE2B/tYhxlI2XVxyobFnfqlctm5oEJ9+yZk94UEEWBj5YJnDbNRI1wT8utdR9037hA6j6wAPLw7sHaZU+qgA3CCGhYiRMc17tUAQfIoelfTqfGLDtAEh1GUo0L8RWAEkI4fp3pdeLnhyvlM12mlegXOo7EFJvSC+Aw8YUO17GUn56t5Ph3H1q136hH7/fcLB+3Y6pnZitA8PUxYWajrmzjNOyl6H//2TVc/y/fgoqB5E8wCkoeYeq9ky69urAIDCoSY1uXgQFN6LY7YSO2H7beJZn54pijMZ63FVwF1BDrX4bhMgjTKdOO7nvg7sYC3gu6UEj6JzfwdkEyQ49DLau4M9D4HkJDj7MjP13leSq2LoPYx4TbZQMbPFZFG9t/yJ5uVPg9P2dfG+vz/v8jNHAh9XqIPATB/D2wid3oTUEkCkn0G7I1uCneIuxVPHLGBKqJvFKJqDoDsmcYBnmqalqhOsqRbRG4="
6
13
7−cache:
8− apt: true
9− directories:
10− - ~/.stack
11−
12branches:
14branches:
13 only:
15 only:
14 - master
16 - master
@@ -115,6 +117,8 @@ matrix:
115 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
117 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
116 - env: GHCVER=8.0.1 LIBRARY=gogol-container
118 - env: GHCVER=8.0.1 LIBRARY=gogol-container
117 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
119 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
120+ - env: GHCVER=8.0.1 LIBRARY=gogol-containerbuilder
121+ addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
118 - env: GHCVER=8.0.1 LIBRARY=gogol-customsearch
122 - env: GHCVER=8.0.1 LIBRARY=gogol-customsearch
119 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
123 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
120 - env: GHCVER=8.0.1 LIBRARY=gogol-dataflow
124 - env: GHCVER=8.0.1 LIBRARY=gogol-dataflow
@@ -137,6 +141,8 @@ matrix:
137 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
141 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
138 - env: GHCVER=8.0.1 LIBRARY=gogol-doubleclick-search
142 - env: GHCVER=8.0.1 LIBRARY=gogol-doubleclick-search
139 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
143 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
144+ - env: GHCVER=8.0.1 LIBRARY=gogol-firebase-dynamiclinks
145+ addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
140 - env: GHCVER=8.0.1 LIBRARY=gogol-firebase-rules
146 - env: GHCVER=8.0.1 LIBRARY=gogol-firebase-rules
141 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
147 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
142 - env: GHCVER=8.0.1 LIBRARY=gogol-fitness
148 - env: GHCVER=8.0.1 LIBRARY=gogol-fitness
@@ -159,6 +165,8 @@ matrix:
159 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
165 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
160 - env: GHCVER=8.0.1 LIBRARY=gogol-groups-settings
166 - env: GHCVER=8.0.1 LIBRARY=gogol-groups-settings
161 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
167 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
168+ - env: GHCVER=8.0.1 LIBRARY=gogol-iam
169+ addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
162 - env: GHCVER=8.0.1 LIBRARY=gogol-identity-toolkit
170 - env: GHCVER=8.0.1 LIBRARY=gogol-identity-toolkit
163 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
171 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
164 - env: GHCVER=8.0.1 LIBRARY=gogol-kgsearch
172 - env: GHCVER=8.0.1 LIBRARY=gogol-kgsearch
@@ -173,6 +181,8 @@ matrix:
173 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
181 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
174 - env: GHCVER=8.0.1 LIBRARY=gogol-mirror
182 - env: GHCVER=8.0.1 LIBRARY=gogol-mirror
175 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
183 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
184+ - env: GHCVER=8.0.1 LIBRARY=gogol-ml
185+ addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
176 - env: GHCVER=8.0.1 LIBRARY=gogol-monitoring
186 - env: GHCVER=8.0.1 LIBRARY=gogol-monitoring
177 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
187 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
178 - env: GHCVER=8.0.1 LIBRARY=gogol-pagespeed
188 - env: GHCVER=8.0.1 LIBRARY=gogol-pagespeed
@@ -203,8 +213,16 @@ matrix:
203 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
213 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
204 - env: GHCVER=8.0.1 LIBRARY=gogol-resourceviews
214 - env: GHCVER=8.0.1 LIBRARY=gogol-resourceviews
205 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
215 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
216+ - env: GHCVER=8.0.1 LIBRARY=gogol-runtimeconfig
217+ addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
218+ - env: GHCVER=8.0.1 LIBRARY=gogol-safebrowsing
219+ addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
206 - env: GHCVER=8.0.1 LIBRARY=gogol-script
220 - env: GHCVER=8.0.1 LIBRARY=gogol-script
207 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
221 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
222+ - env: GHCVER=8.0.1 LIBRARY=gogol-servicecontrol
223+ addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
224+ - env: GHCVER=8.0.1 LIBRARY=gogol-servicemanagement
225+ addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
208 - env: GHCVER=8.0.1 LIBRARY=gogol-sheets
226 - env: GHCVER=8.0.1 LIBRARY=gogol-sheets
209 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
227 addons: { apt: { packages: [ghc-8.0.1], sources: [hvr-ghc] } }
210 - env: GHCVER=8.0.1 LIBRARY=gogol-shopping-content
228 - env: GHCVER=8.0.1 LIBRARY=gogol-shopping-content
core/gogol-core.cabal+3−3
@@ -1,5 +1,5 @@
1name: gogol-core
1name: gogol-core
2−version: 0.1.0
2+version: 0.1.1
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
@@ -46,7 +46,7 @@ library
46 build-depends:
46 build-depends:
47 aeson >= 0.8
47 aeson >= 0.8
48 , attoparsec >= 0.11.3
48 , attoparsec >= 0.11.3
49− , base >= 4.7
49+ , base >= 4.7 && < 5
50 , bifunctors >= 0.1
50 , bifunctors >= 0.1
51 , bytestring >= 0.9
51 , bytestring >= 0.9
52 , case-insensitive >= 1.2
52 , case-insensitive >= 1.2
@@ -55,7 +55,7 @@ library
55 , exceptions >= 0.6
55 , exceptions >= 0.6
56 , hashable >= 1.2
56 , hashable >= 1.2
57 , http-api-data >= 0.2
57 , http-api-data >= 0.2
58− , http-client >= 0.4.4
58+ , http-client >= 0.5 && < 1
59 , http-media >= 0.6
59 , http-media >= 0.6
60 , http-types >= 0.8.6
60 , http-types >= 0.8.6
61 , lens >= 4.4
61 , lens >= 4.4
core/src/Network/Google/Data/Time.hs+42−8
@@ -14,25 +14,33 @@ module Network.Google.Data.Time
14 ( Time'
14 ( Time'
15 , Date'
15 , Date'
16 , DateTime'
16 , DateTime'
17+ , Duration
17
18
18 , _Time
19 , _Time
19 , _Date
20 , _Date
20 , _DateTime
21 , _DateTime
22+ , _Duration
21 ) where
23 ) where
22
24
23import Control.Lens
25import Control.Lens
24import Data.Aeson
26import Data.Aeson
25−import qualified Data.Aeson.Types as Aeson
27+import qualified Data.Aeson.Types as Aeson
26import Data.Attoparsec.Text
28import Data.Attoparsec.Text
27−import Data.Bifunctor (first, second)
29+import Data.Bifunctor (first, second)
28−import Data.Bits ((.&.))
30+import Data.Bits ((.&.))
29−import Data.Char (ord)
31+import Data.Char (ord)
30−import Data.Data (Data, Typeable)
32+import Data.Data (Data, Typeable)
33+import Data.Scientific (Scientific)
34+import qualified Data.Scientific as Sci
31−import Data.Text (Text)
35+import Data.Text (Text)
32−import qualified Data.Text as Text
36+import qualified Data.Text as Text
37+import qualified Data.Text.Lazy as LText
38+import qualified Data.Text.Lazy.Builder as Build
39+import qualified Data.Text.Lazy.Builder.Scientific as Sci
33import Data.Time
40import Data.Time
34import GHC.Generics
41import GHC.Generics
35−import Web.HttpApiData (FromHttpApiData (..), ToHttpApiData (..))
42+import Web.HttpApiData (FromHttpApiData (..),
43+ ToHttpApiData (..))
36
44
37-- | This SHOULD be a time in the format of hh:mm:ss. It is
45-- | This SHOULD be a time in the format of hh:mm:ss. It is
38-- recommended that you use the "date-time" format instead of "time"
46-- recommended that you use the "date-time" format instead of "time"
@@ -66,9 +74,29 @@ newtype DateTime' = DateTime' { unDateTime :: UTCTime }
66_DateTime :: Iso' DateTime' UTCTime
74_DateTime :: Iso' DateTime' UTCTime
67_DateTime = iso unDateTime DateTime'
75_DateTime = iso unDateTime DateTime'
68
76
77+-- | A duration in seconds with up to nine fractional digits, terminated by 's'.
78+--
79+-- /Example/: @"3.5s"@.
80+newtype Duration = Duration { unDuration :: Scientific }
81+ deriving (Eq, Ord, Show, Read, Generic, Data, Typeable)
82+
83+_Duration :: Iso' Duration Scientific
84+_Duration = iso unDuration Duration
85+
86+instance ToHttpApiData Duration where
87+ toQueryParam =
88+ LText.toStrict
89+ . Build.toLazyText
90+ . Sci.formatScientificBuilder Sci.Fixed (Just 9)
91+ . unDuration
92+
93+instance FromHttpApiData Duration where
94+ parseQueryParam = second Duration . parseText durationParser
95+
69instance ToJSON Time' where toJSON = String . toQueryParam
96instance ToJSON Time' where toJSON = String . toQueryParam
70instance ToJSON Date' where toJSON = String . toQueryParam
97instance ToJSON Date' where toJSON = String . toQueryParam
71instance ToJSON DateTime' where toJSON = toJSON . unDateTime
98instance ToJSON DateTime' where toJSON = toJSON . unDateTime
99+instance ToJSON Duration where toJSON = String . toQueryParam
72
100
73instance FromJSON Time' where
101instance FromJSON Time' where
74 parseJSON = fmap Time' . withText "time" (run timeParser)
102 parseJSON = fmap Time' . withText "time" (run timeParser)
@@ -79,6 +107,9 @@ instance FromJSON Date' where
79instance FromJSON DateTime' where
107instance FromJSON DateTime' where
80 parseJSON = fmap DateTime' . parseJSON
108 parseJSON = fmap DateTime' . parseJSON
81
109
110+instance FromJSON Duration where
111+ parseJSON = fmap Duration . withText "duration" (run durationParser)
112+
82parseText :: Parser a -> Text -> Either Text a
113parseText :: Parser a -> Text -> Either Text a
83parseText p = first Text.pack . parseOnly p
114parseText p = first Text.pack . parseOnly p
84
115
@@ -100,6 +131,9 @@ dayParser = do
100 d <- twoDigits
131 d <- twoDigits
101 maybe (fail "invalid date") pure (fromGregorianValid y m d)
132 maybe (fail "invalid date") pure (fromGregorianValid y m d)
102
133
134+durationParser :: Parser Scientific
135+durationParser = Sci.fromFloatDigits <$> (double <* char 's')
136+
103-- | Parse a two-digit integer (e.g. day of month, hour).
137-- | Parse a two-digit integer (e.g. day of month, hour).
104twoDigits :: Parser Int
138twoDigits :: Parser Int
105twoDigits = do
139twoDigits = do
core/src/Network/Google/Prelude.hs+3−2
@@ -13,12 +13,13 @@ module Network.Google.Prelude
13import Control.Lens as Export (Lens', lens, mapping, ( # ), (^.), _Just)
13import Control.Lens as Export (Lens', lens, mapping, ( # ), (^.), _Just)
14import Data.ByteString as Export (ByteString)
14import Data.ByteString as Export (ByteString)
15import Data.Data as Export (Data, Typeable)
15import Data.Data as Export (Data, Typeable)
16−import Data.Hashable as Export
16+import Data.Hashable as Export (Hashable, hashWithSalt)
17import Data.HashMap.Strict as Export (HashMap)
17import Data.HashMap.Strict as Export (HashMap)
18import Data.Int as Export (Int32, Int64)
18import Data.Int as Export (Int32, Int64)
19import Data.Maybe as Export
19import Data.Maybe as Export
20import Data.Monoid as Export (mempty, (<>))
20import Data.Monoid as Export (mempty, (<>))
21import Data.Proxy as Export
21import Data.Proxy as Export
22+import Data.Scientific as Export (Scientific)
22import Data.Text as Export (Text)
23import Data.Text as Export (Text)
23import Data.Time as Export (Day, TimeOfDay, UTCTime)
24import Data.Time as Export (Day, TimeOfDay, UTCTime)
24import Data.Word as Export (Word32, Word64, Word8)
25import Data.Word as Export (Word32, Word64, Word8)
@@ -26,7 +27,7 @@ import GHC.Generics as Export (Generic)
26import Network.HTTP.Client as Export (RequestBody)
27import Network.HTTP.Client as Export (RequestBody)
27import Numeric.Natural as Export (Natural)
28import Numeric.Natural as Export (Natural)
28import Prelude as Export hiding (product)
29import Prelude as Export hiding (product)
29−import Servant.API as Export hiding (getResponse)
30+import Servant.API as Export hiding (Headers, getResponse)
30import Servant.Utils.Links as Export hiding (Link)
31import Servant.Utils.Links as Export hiding (Link)
31import Web.HttpApiData as Export (FromHttpApiData (..), ToHttpApiData (..))
32import Web.HttpApiData as Export (FromHttpApiData (..), ToHttpApiData (..))
32
33
core/src/Network/Google/Types.hs+2−2
@@ -40,7 +40,7 @@ import qualified Data.Conduit.List as CL
40import Data.Data
40import Data.Data
41import Data.DList (DList)
41import Data.DList (DList)
42import qualified Data.DList as DList
42import qualified Data.DList as DList
43−import Data.Foldable (foldl')
43+import Data.Foldable (foldMap, foldl')
44import Data.Monoid
44import Data.Monoid
45import Data.String
45import Data.String
46import Data.Text (Text)
46import Data.Text (Text)
@@ -488,7 +488,7 @@ instance ( KnownSymbol s
488
488
489 buildClient Proxy rq x = buildClient (Proxy :: Proxy fn)
489 buildClient Proxy rq x = buildClient (Proxy :: Proxy fn)
490 . appendPath rq
490 . appendPath rq
491− $ buildText x <> buildSymbol (Proxy :: Proxy m)
491+ $ buildText x <> ":" <> buildSymbol (Proxy :: Proxy m)
492
492
493instance ( KnownSymbol s
493instance ( KnownSymbol s
494 , ToHttpApiData a
494 , ToHttpApiData a
examples/gogol-examples.cabal+2−2
@@ -1,5 +1,5 @@
1name: gogol-examples
1name: gogol-examples
2−version: 0.1.0
2+version: 0.1.1
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
@@ -26,7 +26,7 @@ library
26 , conduit
26 , conduit
27 , conduit-extra
27 , conduit-extra
28 , exceptions
28 , exceptions
29− , gogol == 0.1.0.*
29+ , gogol == 0.1.1.*
30 , gogol-core
30 , gogol-core
31 , gogol-storage
31 , gogol-storage
32 , http-conduit
32 , http-conduit
gen/Makefile+1−1
@@ -54,7 +54,7 @@ $(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
58
59.PHONY: audit
59.PHONY: audit
60
60
gen/annex/cloudbuild.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "containerbuilder",
3+ "canonicalName": "ContainerBuilder"
4+}
gen/annex/firebasedynamiclinks.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "firebase-dynamiclinks",
3+ "canonicalName": "FirebaseDynamicLinks"
4+}
gen/annex/iam.json+2−2
@@ -1,4 +1,4 @@
1{
1{
2− "library": "kgsearch",
2+ "library": "iam",
3− "canonicalName": "KnowledgeGraphSearch"
3+ "canonicalName": "IAM"
4}
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/kgsearch.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "kgsearch",
3+ "canonicalName": "KnowledgeGraphSearch"
4+}
gen/annex/ml.jsonnew file+4
@@ -0,0 +1,4 @@
1+{
2+ "library": "ml",
3+ "canonicalName": "MachineLearning"
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/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/gogol-gen.cabal+1−1
@@ -1,5 +1,5 @@
1name: gogol-gen
1name: gogol-gen
2−version: 0.1.0
2+version: 0.1.1
3synopsis: Gogol Code Generator
3synopsis: Gogol Code Generator
4homepage: https://github.com/brendanhay/gogol
4homepage: https://github.com/brendanhay/gogol
5license: OtherLicense
5license: OtherLicense
gen/model/acceleratedmobilepageurl/v1/acceleratedmobilepageurl-api.json+21−9
@@ -1,8 +1,8 @@
1{
1{
2 "id": "acceleratedmobilepageurl:v1",
2 "id": "acceleratedmobilepageurl:v1",
3− "description": "This API contains a single method, [batchGet](/amp/cache/reference/acceleratedmobilepageurl/rest/v1/ampUrls/batchGet). Call this method to retrieve the AMP URL (and equivalent AMP Cache URL) for given public URL(s). For more information, see [Link to AMP Content](/amp/cache/use-amp-url).\n",
3+ "description": "This API contains a single method, batchGet. Call this method to retrieve the AMP URL (and equivalent AMP Cache URL) for given public URL(s).\n",
4 "protocol": "rest",
4 "protocol": "rest",
5− "title": "Accelerated Mobile Page (AMP) URL API",
5+ "title": "Accelerated Mobile Pages (AMP) URL API",
6 "resources": {
6 "resources": {
7 "ampUrls": {
7 "ampUrls": {
8 "methods": {
8 "methods": {
@@ -38,7 +38,7 @@
38 "type": "string"
38 "type": "string"
39 },
39 },
40 "cdnAmpUrl": {
40 "cdnAmpUrl": {
41− "description": "The [AMP Cache URL](/amp/cache/overview#amp-cache-url-format) pointing to the cached document in the Google AMP Cache.",
41+ "description": "The [AMP Cache URL](/amp/cache/overview#amp-cache-url-format) pointing to\nthe cached document in the Google AMP Cache.",
42 "type": "string"
42 "type": "string"
43 }
43 }
44 },
44 },
@@ -64,11 +64,11 @@
64 ],
64 ],
65 "enumDescriptions": [
65 "enumDescriptions": [
66 "Not specified error.",
66 "Not specified error.",
67− "Indicates the requested URL is not found in the index.",
67+ "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.",
68− "Indicates no AMP URL has been found in the HTML of the requested URL.",
68+ "Indicates no AMP URL has been found that corresponds to the requested\nURL.",
69 "Indicates some kind of application error occurred at the server.\nClient advised to retry.",
69 "Indicates some kind of application error occurred at the server.\nClient advised to retry.",
70− "Indicates the requested URL is a valid AMP URL.",
70+ "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.",
71− "Indicates that the requested URL is an invalid AMP URL."
71+ "Indicates that an AMP URL has been found that corresponds to the request\nURL, but it is not valid AMP HTML."
72 ],
72 ],
73 "type": "string"
73 "type": "string"
74 },
74 },
@@ -83,8 +83,20 @@
83 "description": "AMP URL request for a batch of URLs.",
83 "description": "AMP URL request for a batch of URLs.",
84 "type": "object",
84 "type": "object",
85 "properties": {
85 "properties": {
86+ "lookupStrategy": {
87+ "description": "The lookup_strategy being requested.",
88+ "enum": [
89+ "FETCH_LIVE_DOC",
90+ "IN_INDEX_DOC"
91+ ],
92+ "enumDescriptions": [
93+ "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.",
94+ "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."
95+ ],
96+ "type": "string"
97+ },
86 "urls": {
98 "urls": {
87− "description": "List of URLs to look up for the paired AMP URLs.\nThe URLs are case-sensitive. Up to 10 URLs per lookup\n(see [Usage Limits](/amp/cache/reference/limits)).",
99+ "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)).",
88 "type": "array",
100 "type": "array",
89 "items": {
101 "items": {
90 "type": "string"
102 "type": "string"
@@ -115,7 +127,7 @@
115 "id": "BatchGetAmpUrlsResponse"
127 "id": "BatchGetAmpUrlsResponse"
116 }
128 }
117 },
129 },
118− "revision": "20160518",
130+ "revision": "20160928",
119 "basePath": "",
131 "basePath": "",
120 "icons": {
132 "icons": {
121 "x32": "http://www.google.com/images/icons/product/search-32.gif",
133 "x32": "http://www.google.com/images/icons/product/search-32.gif",
gen/model/adexchangebuyer/v1.4/adexchangebuyer-api.json+216−16
@@ -1,12 +1,12 @@
1{
1{
2 "kind": "discovery#restDescription",
2 "kind": "discovery#restDescription",
3− "etag": "\"jQLIOHBVnDZie4rQHGH1WJF-INE/002w-fCkY_zNzqAq_LEe_TgmEjM\"",
3+ "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/bLuDj8hKbRr7zEELKLv2i5H2Ydk\"",
4 "discoveryVersion": "v1",
4 "discoveryVersion": "v1",
5 "id": "adexchangebuyer:v1.4",
5 "id": "adexchangebuyer:v1.4",
6 "name": "adexchangebuyer",
6 "name": "adexchangebuyer",
7 "canonicalName": "Ad Exchange Buyer",
7 "canonicalName": "Ad Exchange Buyer",
8 "version": "v1.4",
8 "version": "v1.4",
9− "revision": "20160509",
9+ "revision": "20161003",
10 "title": "Ad Exchange Buyer API",
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.",
11 "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.",
12 "ownerDomain": "google.com",
12 "ownerDomain": "google.com",
@@ -448,6 +448,41 @@
448 "items": {
448 "items": {
449 "type": "object",
449 "type": "object",
450 "properties": {
450 "properties": {
451+ "contexts": {
452+ "type": "array",
453+ "description": "All known serving contexts containing serving status information.",
454+ "items": {
455+ "type": "object",
456+ "properties": {
457+ "auctionType": {
458+ "type": "array",
459+ "description": "Only set when contextType=AUCTION_TYPE. Represents the auction types this correction applies to.",
460+ "items": {
461+ "type": "string"
462+ }
463+ },
464+ "contextType": {
465+ "type": "string",
466+ "description": "The type of context (e.g., location, platform, auction type, SSL-ness)."
467+ },
468+ "geoCriteriaId": {
469+ "type": "array",
470+ "description": "Only set when contextType=LOCATION. Represents the geo criterias this correction applies to.",
471+ "items": {
472+ "type": "integer",
473+ "format": "int32"
474+ }
475+ },
476+ "platform": {
477+ "type": "array",
478+ "description": "Only set when contextType=PLATFORM. Represents the platforms this correction applies to.",
479+ "items": {
480+ "type": "string"
481+ }
482+ }
483+ }
484+ }
485+ },
451 "details": {
486 "details": {
452 "type": "array",
487 "type": "array",
453 "description": "Additional details about the correction.",
488 "description": "Additional details about the correction.",
@@ -466,6 +501,13 @@
466 "type": "string",
501 "type": "string",
467 "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."
502 "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."
468 },
503 },
504+ "detectedDomains": {
505+ "type": "array",
506+ "description": "Detected domains for this creative. Read-only. This field should not be set in requests.",
507+ "items": {
508+ "type": "string"
509+ }
510+ },
469 "filteringReasons": {
511 "filteringReasons": {
470 "type": "object",
512 "type": "object",
471 "description": "The filtering reasons for the creative. Read-only. This field should not be set in requests.",
513 "description": "The filtering reasons for the creative. Read-only. This field should not be set in requests.",
@@ -517,9 +559,16 @@
517 "description": "Resource type.",
559 "description": "Resource type.",
518 "default": "adexchangebuyer#creative"
560 "default": "adexchangebuyer#creative"
519 },
561 },
562+ "languages": {
563+ "type": "array",
564+ "description": "Detected languages for this creative. Read-only. This field should not be set in requests.",
565+ "items": {
566+ "type": "string"
567+ }
568+ },
520 "nativeAd": {
569 "nativeAd": {
521 "type": "object",
570 "type": "object",
522− "description": "If nativeAd is set, HTMLSnippet and videoURL should not be set.",
571+ "description": "If nativeAd is set, HTMLSnippet and the videoURL outside of nativeAd should not be set. (The videoURL inside nativeAd can be set.)",
523 "properties": {
572 "properties": {
524 "advertiser": {
573 "advertiser": {
525 "type": "string"
574 "type": "string"
@@ -610,6 +659,9 @@
610 "store": {
659 "store": {
611 "type": "string",
660 "type": "string",
612 "description": "The URL to the app store to purchase/download the promoted app."
661 "description": "The URL to the app store to purchase/download the promoted app."
662+ },
663+ "videoURL": {
664+ "type": "string"
613 }
665 }
614 }
666 }
615 },
667 },
@@ -724,7 +776,7 @@
724 },
776 },
725 "videoURL": {
777 "videoURL": {
726 "type": "string",
778 "type": "string",
727− "description": "The url to fetch a video ad. If set, HTMLSnippet should not be set."
779+ "description": "The URL to fetch a video ad. If set, HTMLSnippet and the nativeAd should not be set. Note, this is diffrent from resource.native_ad.video_url above."
728 },
780 },
729 "width": {
781 "width": {
730 "type": "integer",
782 "type": "integer",
@@ -738,6 +790,41 @@
738 }
790 }
739 }
791 }
740 },
792 },
793+ "CreativeDealIds": {
794+ "id": "CreativeDealIds",
795+ "type": "object",
796+ "description": "The external deal ids associated with a creative.",
797+ "properties": {
798+ "dealStatuses": {
799+ "type": "array",
800+ "description": "A list of external deal ids and ARC approval status.",
801+ "items": {
802+ "type": "object",
803+ "properties": {
804+ "arcStatus": {
805+ "type": "string",
806+ "description": "ARC approval status."
807+ },
808+ "dealId": {
809+ "type": "string",
810+ "description": "External deal ID.",
811+ "format": "int64"
812+ },
813+ "webPropertyId": {
814+ "type": "integer",
815+ "description": "Publisher ID.",
816+ "format": "int32"
817+ }
818+ }
819+ }
820+ },
821+ "kind": {
822+ "type": "string",
823+ "description": "Resource type.",
824+ "default": "adexchangebuyer#creativeDealIds"
825+ }
826+ }
827+ },
741 "CreativesList": {
828 "CreativesList": {
742 "id": "CreativesList",
829 "id": "CreativesList",
743 "type": "object",
830 "type": "object",
@@ -776,6 +863,9 @@
776 "type": "object",
863 "type": "object",
777 "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.",
864 "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.",
778 "properties": {
865 "properties": {
866+ "buyerPauseReason": {
867+ "type": "string"
868+ },
779 "firstPausedBy": {
869 "firstPausedBy": {
780 "type": "string",
870 "type": "string",
781 "description": "If the deal is paused, records which party paused the deal first."
871 "description": "If the deal is paused, records which party paused the deal first."
@@ -785,6 +875,9 @@
785 },
875 },
786 "hasSellerPaused": {
876 "hasSellerPaused": {
787 "type": "boolean"
877 "type": "boolean"
878+ },
879+ "sellerPauseReason": {
880+ "type": "string"
788 }
881 }
789 }
882 }
790 },
883 },
@@ -796,6 +889,10 @@
796 "type": "string",
889 "type": "string",
797 "description": "Visibilty of the URL in bid requests."
890 "description": "Visibilty of the URL in bid requests."
798 },
891 },
892+ "crossListedExternalDealIdType": {
893+ "type": "string",
894+ "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."
895+ },
799 "description": {
896 "description": {
800 "type": "string",
897 "type": "string",
801 "description": "Description for the proposed terms of the deal."
898 "description": "Description for the proposed terms of the deal."
@@ -821,6 +918,10 @@
821 "$ref": "DealTermsNonGuaranteedFixedPriceTerms",
918 "$ref": "DealTermsNonGuaranteedFixedPriceTerms",
822 "description": "The terms for non-guaranteed fixed price deals."
919 "description": "The terms for non-guaranteed fixed price deals."
823 },
920 },
921+ "rubiconNonGuaranteedTerms": {
922+ "$ref": "DealTermsRubiconNonGuaranteedTerms",
923+ "description": "The terms for rubicon non-guaranteed deals."
924+ },
824 "sellerTimeZone": {
925 "sellerTimeZone": {
825 "type": "string",
926 "type": "string",
826 "description": "For deals with Cost Per Day billing, defines the timezone used to mark the boundaries of a day (buyer-readonly)"
927 "description": "For deals with Cost Per Day billing, defines the timezone used to mark the boundaries of a day (buyer-readonly)"
@@ -849,7 +950,12 @@
849 },
950 },
850 "guaranteedLooks": {
951 "guaranteedLooks": {
851 "type": "string",
952 "type": "string",
852− "description": "Count of guaranteed looks. Required for deal, optional for product.",
953+ "description": "Count of guaranteed looks. Required for deal, optional for product. For CPD deals, buyer changes to guaranteed_looks will be ignored.",
954+ "format": "int64"
955+ },
956+ "minimumDailyLooks": {
957+ "type": "string",
958+ "description": "Count of minimum daily looks for a CPD deal. For CPD deals, buyer should negotiate on this field instead of guaranteed_looks.",
853 "format": "int64"
959 "format": "int64"
854 }
960 }
855 }
961 }
@@ -863,9 +969,14 @@
863 "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 advertiser's currency without discrepancy.",
969 "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 advertiser's currency without discrepancy.",
864 "format": "int64"
970 "format": "int64"
865 },
971 },
972+ "dfpLineItemId": {
973+ "type": "string",
974+ "description": "The DFP line item id associated with this deal. For features like CPD, buyers can retrieve the DFP line item for billing reconciliation.",
975+ "format": "int64"
976+ },
866 "originalContractedQuantity": {
977 "originalContractedQuantity": {
867 "type": "string",
978 "type": "string",
868− "description": "The original contracted quantity (# impressions) for this deal. To ensure delivery, sometimes publisher will book the deal with a impression buffer, however clients are billed using the original contracted quantity.",
979+ "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.",
869 "format": "int64"
980 "format": "int64"
870 },
981 },
871 "price": {
982 "price": {
@@ -904,6 +1015,20 @@
904 }
1015 }
905 }
1016 }
906 },
1017 },
1018+ "DealTermsRubiconNonGuaranteedTerms": {
1019+ "id": "DealTermsRubiconNonGuaranteedTerms",
1020+ "type": "object",
1021+ "properties": {
1022+ "priorityPrice": {
1023+ "$ref": "Price",
1024+ "description": "Optional price for Rubicon priority access in the auction."
1025+ },
1026+ "standardPrice": {
1027+ "$ref": "Price",
1028+ "description": "Optional price for Rubicon standard access in the auction."
1029+ }
1030+ }
1031+ },
907 "DeleteOrderDealsRequest": {
1032 "DeleteOrderDealsRequest": {
908 "id": "DeleteOrderDealsRequest",
1033 "id": "DeleteOrderDealsRequest",
909 "type": "object",
1034 "type": "object",
@@ -1007,7 +1132,12 @@
1007 },
1132 },
1008 "name": {
1133 "name": {
1009 "type": "string",
1134 "type": "string",
1010− "description": "Name of the dimension mainly for debugging purposes."
1135+ "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."
1136+ },
1137+ "percentage": {
1138+ "type": "integer",
1139+ "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.",
1140+ "format": "int32"
1011 }
1141 }
1012 }
1142 }
1013 },
1143 },
@@ -1087,7 +1217,7 @@
1087 "properties": {
1217 "properties": {
1088 "notes": {
1218 "notes": {
1089 "type": "array",
1219 "type": "array",
1090− "description": "The list of matching notes.",
1220+ "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.",
1091 "items": {
1221 "items": {
1092 "$ref": "MarketplaceNote"
1222 "$ref": "MarketplaceNote"
1093 }
1223 }
@@ -1144,7 +1274,7 @@
1144 },
1274 },
1145 "dealId": {
1275 "dealId": {
1146 "type": "string",
1276 "type": "string",
1147− "description": "A unique deal=id for the deal (readonly)."
1277+ "description": "A unique deal-id for the deal (readonly)."
1148 },
1278 },
1149 "dealServingMetadata": {
1279 "dealServingMetadata": {
1150 "$ref": "DealServingMetadata",
1280 "$ref": "DealServingMetadata",
@@ -1172,6 +1302,10 @@
1172 "type": "string",
1302 "type": "string",
1173 "description": "Description for the deal terms. (updatable)"
1303 "description": "Description for the deal terms. (updatable)"
1174 },
1304 },
1305+ "isRfpTemplate": {
1306+ "type": "boolean",
1307+ "description": "Indicates whether the current deal is a RFP template. RFP template is created by buyer and not based on seller created products."
1308+ },
1175 "kind": {
1309 "kind": {
1176 "type": "string",
1310 "type": "string",
1177 "description": "Identifies what kind of resource this is. Value: the fixed string \"adexchangebuyer#marketplaceDeal\".",
1311 "description": "Identifies what kind of resource this is. Value: the fixed string \"adexchangebuyer#marketplaceDeal\".",
@@ -1704,6 +1838,11 @@
1704 "type": "string",
1838 "type": "string",
1705 "description": "The currency code for the price."
1839 "description": "The currency code for the price."
1706 },
1840 },
1841+ "expectedCpmMicros": {
1842+ "type": "number",
1843+ "description": "In case of CPD deals, the expected CPM in micros.",
1844+ "format": "double"
1845+ },
1707 "pricingType": {
1846 "pricingType": {
1708 "type": "string",
1847 "type": "string",
1709 "description": "The pricing type for the deal/product."
1848 "description": "The pricing type for the deal/product."
@@ -1871,7 +2010,7 @@
1871 },
2010 },
1872 "buyerContacts": {
2011 "buyerContacts": {
1873 "type": "array",
2012 "type": "array",
1874− "description": "Optional contact information fort the buyer. (seller-readonly)",
2013+ "description": "Optional contact information of the buyer. (seller-readonly)",
1875 "items": {
2014 "items": {
1876 "$ref": "ContactInformation"
2015 "$ref": "ContactInformation"
1877 }
2016 }
@@ -1880,9 +2019,16 @@
1880 "$ref": "PrivateData",
2019 "$ref": "PrivateData",
1881 "description": "Private data for buyer. (hidden from seller)."
2020 "description": "Private data for buyer. (hidden from seller)."
1882 },
2021 },
2022+ "dbmAdvertiserIds": {
2023+ "type": "array",
2024+ "description": "IDs of DBM advertisers permission to this proposal.",
2025+ "items": {
2026+ "type": "string"
2027+ }
2028+ },
1883 "hasBuyerSignedOff": {
2029 "hasBuyerSignedOff": {
1884 "type": "boolean",
2030 "type": "boolean",
1885− "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)"
2031+ "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)"
1886 },
2032 },
1887 "hasSellerSignedOff": {
2033 "hasSellerSignedOff": {
1888 "type": "boolean",
2034 "type": "boolean",
@@ -1956,7 +2102,7 @@
1956 },
2102 },
1957 "sellerContacts": {
2103 "sellerContacts": {
1958 "type": "array",
2104 "type": "array",
1959− "description": "Optional contact information for the seller (buyer-readonly).",
2105+ "description": "Optional contact information of the seller (buyer-readonly).",
1960 "items": {
2106 "items": {
1961 "$ref": "ContactInformation"
2107 "$ref": "ContactInformation"
1962 }
2108 }
@@ -2171,6 +2317,10 @@
2171 "size": {
2317 "size": {
2172 "$ref": "TargetingValueSize",
2318 "$ref": "TargetingValueSize",
2173 "description": "For regular or video creative size type, specifies the size of the creative."
2319 "description": "For regular or video creative size type, specifies the size of the creative."
2320+ },
2321+ "skippableAdType": {
2322+ "type": "string",
2323+ "description": "The skippable ad type for video size."
2174 }
2324 }
2175 }
2325 }
2176 },
2326 },
@@ -2299,6 +2449,11 @@
2299 "httpMethod": "PATCH",
2449 "httpMethod": "PATCH",
2300 "description": "Updates an existing account. This method supports patch semantics.",
2450 "description": "Updates an existing account. This method supports patch semantics.",
2301 "parameters": {
2451 "parameters": {
2452+ "confirmUnsafeAccountChange": {
2453+ "type": "boolean",
2454+ "description": "Confirmation for erasing bidder and cookie matching urls.",
2455+ "location": "query"
2456+ },
2302 "id": {
2457 "id": {
2303 "type": "integer",
2458 "type": "integer",
2304 "description": "The account id",
2459 "description": "The account id",
@@ -2326,6 +2481,11 @@
2326 "httpMethod": "PUT",
2481 "httpMethod": "PUT",
2327 "description": "Updates an existing account.",
2482 "description": "Updates an existing account.",
2328 "parameters": {
2483 "parameters": {
2484+ "confirmUnsafeAccountChange": {
2485+ "type": "boolean",
2486+ "description": "Confirmation for erasing bidder and cookie matching urls.",
2487+ "location": "query"
2488+ },
2329 "id": {
2489 "id": {
2330 "type": "integer",
2490 "type": "integer",
2331 "description": "The account id",
2491 "description": "The account id",
@@ -2653,6 +2813,37 @@
2653 "https://www.googleapis.com/auth/adexchange.buyer"
2813 "https://www.googleapis.com/auth/adexchange.buyer"
2654 ]
2814 ]
2655 },
2815 },
2816+ "listDeals": {
2817+ "id": "adexchangebuyer.creatives.listDeals",
2818+ "path": "creatives/{accountId}/{buyerCreativeId}/listDeals",
2819+ "httpMethod": "GET",
2820+ "description": "Lists the external deal ids associated with the creative.",
2821+ "parameters": {
2822+ "accountId": {
2823+ "type": "integer",
2824+ "description": "The id for the account that will serve this creative.",
2825+ "required": true,
2826+ "format": "int32",
2827+ "location": "path"
2828+ },
2829+ "buyerCreativeId": {
2830+ "type": "string",
2831+ "description": "The buyer-specific id for this creative.",
2832+ "required": true,
2833+ "location": "path"
2834+ }
2835+ },
2836+ "parameterOrder": [
2837+ "accountId",
2838+ "buyerCreativeId"
2839+ ],
2840+ "response": {
2841+ "$ref": "CreativeDealIds"
2842+ },
2843+ "scopes": [
2844+ "https://www.googleapis.com/auth/adexchange.buyer"
2845+ ]
2846+ },
2656 "removeDeal": {
2847 "removeDeal": {
2657 "id": "adexchangebuyer.creatives.removeDeal",
2848 "id": "adexchangebuyer.creatives.removeDeal",
2658 "path": "creatives/{accountId}/{buyerCreativeId}/removeDeal/{dealId}",
2849 "path": "creatives/{accountId}/{buyerCreativeId}/removeDeal/{dealId}",
@@ -2758,7 +2949,7 @@
2758 },
2949 },
2759 "proposalId": {
2950 "proposalId": {
2760 "type": "string",
2951 "type": "string",
2761− "description": "The proposalId to get deals for. To search across proposals specify order_id = '-' as part of the URL.",
2952+ "description": "The proposalId to get deals for. To search across all proposals specify order_id = '-' as part of the URL.",
2762 "required": true,
2953 "required": true,
2763 "location": "path"
2954 "location": "path"
2764 }
2955 }
@@ -2835,9 +3026,14 @@
2835 "httpMethod": "GET",
3026 "httpMethod": "GET",
2836 "description": "Get all the notes associated with a proposal",
3027 "description": "Get all the notes associated with a proposal",
2837 "parameters": {
3028 "parameters": {
3029+ "pqlQuery": {
3030+ "type": "string",
3031+ "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%\"",
3032+ "location": "query"
3033+ },
2838 "proposalId": {
3034 "proposalId": {
2839 "type": "string",
3035 "type": "string",
2840− "description": "The proposalId to get notes for.",
3036+ "description": "The proposalId to get notes for. To search across all proposals specify order_id = '-' as part of the URL.",
2841 "required": true,
3037 "required": true,
2842 "location": "path"
3038 "location": "path"
2843 }
3039 }
@@ -3229,12 +3425,13 @@
3229 },
3425 },
3230 "updateAction": {
3426 "updateAction": {
3231 "type": "string",
3427 "type": "string",
3232− "description": "The proposed action to take on the proposal.",
3428+ "description": "The proposed action to take on the proposal. This field is required and it must be set when updating a proposal.",
3233 "required": true,
3429 "required": true,
3234 "enum": [
3430 "enum": [
3235 "accept",
3431 "accept",
3236 "cancel",
3432 "cancel",
3237 "propose",
3433 "propose",
3434+ "proposeAndAccept",
3238 "unknownAction",
3435 "unknownAction",
3239 "updateFinalized"
3436 "updateFinalized"
3240 ],
3437 ],
@@ -3243,6 +3440,7 @@
3243 "",
3440 "",
3244 "",
3441 "",
3245 "",
3442 "",
3443+ "",
3246 ""
3444 ""
3247 ],
3445 ],
3248 "location": "path"
3446 "location": "path"
@@ -3323,12 +3521,13 @@
3323 },
3521 },
3324 "updateAction": {
3522 "updateAction": {
3325 "type": "string",
3523 "type": "string",
3326− "description": "The proposed action to take on the proposal.",
3524+ "description": "The proposed action to take on the proposal. This field is required and it must be set when updating a proposal.",
3327 "required": true,
3525 "required": true,
3328 "enum": [
3526 "enum": [
3329 "accept",
3527 "accept",
3330 "cancel",
3528 "cancel",
3331 "propose",
3529 "propose",
3530+ "proposeAndAccept",
3332 "unknownAction",
3531 "unknownAction",
3333 "updateFinalized"
3532 "updateFinalized"
3334 ],
3533 ],
@@ -3337,6 +3536,7 @@
3337 "",
3536 "",
3338 "",
3537 "",
3339 "",
3538 "",
3539+ "",
3340 ""
3540 ""
3341 ],
3541 ],
3342 "location": "path"
3542 "location": "path"
gen/model/adexchangebuyer2/v2beta1/adexchangebuyer2-api.json+5−5
@@ -9,7 +9,7 @@
9 }
9 }
10 }
10 }
11 },
11 },
12− "description": "Accesses the latest features for managing Ad Exchange accounts and Real-Time Bidding configurations.",
12+ "description": "Accesses the latest features for managing Ad Exchange accounts, Real-Time Bidding configurations and auction metrics, and Marketplace programmatic deals.",
13 "protocol": "rest",
13 "protocol": "rest",
14 "title": "Ad Exchange Buyer API II",
14 "title": "Ad Exchange Buyer API II",
15 "resources": {
15 "resources": {
@@ -452,7 +452,7 @@
452 "id": "ClientUser"
452 "id": "ClientUser"
453 },
453 },
454 "ClientUserInvitation": {
454 "ClientUserInvitation": {
455− "description": "An invitation for a new client user to get access to the AdExchange Buyer UI.\n\nAll fields are required unless otherwise specified.",
455+ "description": "An invitation for a new client user to get access to the Ad Exchange\nBuyer UI.\nAll fields are required unless otherwise specified.",
456 "type": "object",
456 "type": "object",
457 "properties": {
457 "properties": {
458 "email": {
458 "email": {
@@ -537,7 +537,7 @@
537 "AGENCY"
537 "AGENCY"
538 ],
538 ],
539 "enumDescriptions": [
539 "enumDescriptions": [
540− "A placeholder for an undefined client entity type.",
540+ "A placeholder for an undefined client entity type. Should not be used.",
541 "An advertiser.",
541 "An advertiser.",
542 "A brand.",
542 "A brand.",
543 "An advertising agency."
543 "An advertising agency."
@@ -545,7 +545,7 @@
545 "type": "string"
545 "type": "string"
546 },
546 },
547 "role": {
547 "role": {
548− "description": "The role which is assigned to the client buyer. Each role implies a set of\npermissions granted to the client. Must be one of `CLIENT_DEAL_VIEWER`,\n`CLIENT_DEAL_NEGOTIATOR`, or `CLIENT_DEAL_APPROVER`.",
548+ "description": "The role which is assigned to the client buyer. Each role implies a set of\npermissions granted to the client. Must be one of `CLIENT_DEAL_VIEWER`,\n`CLIENT_DEAL_NEGOTIATOR` or `CLIENT_DEAL_APPROVER`.",
549 "enum": [
549 "enum": [
550 "CLIENT_ROLE_UNSPECIFIED",
550 "CLIENT_ROLE_UNSPECIFIED",
551 "CLIENT_DEAL_VIEWER",
551 "CLIENT_DEAL_VIEWER",
@@ -599,7 +599,7 @@
599 "id": "ListClientsResponse"
599 "id": "ListClientsResponse"
600 }
600 }
601 },
601 },
602− "revision": "20160509",
602+ "revision": "20161020",
603 "basePath": "",
603 "basePath": "",
604 "icons": {
604 "icons": {
605 "x32": "http://www.google.com/images/icons/product/search-32.gif",
605 "x32": "http://www.google.com/images/icons/product/search-32.gif",
gen/model/adexchangeseller/v1.1/adexchangeseller-api.json+3−3
@@ -1,14 +1,14 @@
1{
1{
2 "kind": "discovery#restDescription",
2 "kind": "discovery#restDescription",
3− "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/Ob-vIbU0CMw39spLQLZEQavYp3Q\"",
3+ "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/Dz_LMqDcbtnyBd4CwnrsbswCFU4\"",
4 "discoveryVersion": "v1",
4 "discoveryVersion": "v1",
5 "id": "adexchangeseller:v1.1",
5 "id": "adexchangeseller:v1.1",
6 "name": "adexchangeseller",
6 "name": "adexchangeseller",
7 "canonicalName": "Ad Exchange Seller",
7 "canonicalName": "Ad Exchange Seller",
8 "version": "v1.1",
8 "version": "v1.1",
9− "revision": "20141112",
9+ "revision": "20160805",
10 "title": "Ad Exchange Seller API",
10 "title": "Ad Exchange Seller API",
11− "description": "Gives Ad Exchange seller users access to their inventory and the ability to generate reports",
11+ "description": "Accesses the inventory of Ad Exchange seller users and generates reports.",
12 "ownerDomain": "google.com",
12 "ownerDomain": "google.com",
13 "ownerName": "Google",
13 "ownerName": "Google",
14 "icons": {
14 "icons": {
gen/model/adexchangeseller/v1/adexchangeseller-api.json+3−3
@@ -1,14 +1,14 @@
1{
1{
2 "kind": "discovery#restDescription",
2 "kind": "discovery#restDescription",
3− "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/kgKc4O1bceVftsMmf3p1OXF57gg\"",
3+ "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/EberIAMM9RntL16aqUh0FmyQxWY\"",
4 "discoveryVersion": "v1",
4 "discoveryVersion": "v1",
5 "id": "adexchangeseller:v1",
5 "id": "adexchangeseller:v1",
6 "name": "adexchangeseller",
6 "name": "adexchangeseller",
7 "canonicalName": "Ad Exchange Seller",
7 "canonicalName": "Ad Exchange Seller",
8 "version": "v1",
8 "version": "v1",
9− "revision": "20141112",
9+ "revision": "20160805",
10 "title": "Ad Exchange Seller API",
10 "title": "Ad Exchange Seller API",
11− "description": "Gives Ad Exchange seller users access to their inventory and the ability to generate reports",
11+ "description": "Accesses the inventory of Ad Exchange seller users and generates reports.",
12 "ownerDomain": "google.com",
12 "ownerDomain": "google.com",
13 "ownerName": "Google",
13 "ownerName": "Google",
14 "icons": {
14 "icons": {
gen/model/adexchangeseller/v2.0/adexchangeseller-api.json+3−3
@@ -1,14 +1,14 @@
1{
1{
2 "kind": "discovery#restDescription",
2 "kind": "discovery#restDescription",
3− "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/6aC1_omptpkys969gj83ZtJAvZ8\"",
3+ "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/1XDufO4826VKTkrV2WU9EmKApiQ\"",
4 "discoveryVersion": "v1",
4 "discoveryVersion": "v1",
5 "id": "adexchangeseller:v2.0",
5 "id": "adexchangeseller:v2.0",
6 "name": "adexchangeseller",
6 "name": "adexchangeseller",
7 "canonicalName": "Ad Exchange Seller",
7 "canonicalName": "Ad Exchange Seller",
8 "version": "v2.0",
8 "version": "v2.0",
9− "revision": "20141112",
9+ "revision": "20160805",
10 "title": "Ad Exchange Seller API",
10 "title": "Ad Exchange Seller API",
11− "description": "Gives Ad Exchange seller users access to their inventory and the ability to generate reports",
11+ "description": "Accesses the inventory of Ad Exchange seller users and generates reports.",
12 "ownerDomain": "google.com",
12 "ownerDomain": "google.com",
13 "ownerName": "Google",
13 "ownerName": "Google",
14 "icons": {
14 "icons": {
gen/model/admin/directory/v1/admin-api.json+94−4
@@ -1,12 +1,12 @@
1{
1{
2 "kind": "discovery#restDescription",
2 "kind": "discovery#restDescription",
3− "etag": "\"jQLIOHBVnDZie4rQHGH1WJF-INE/rR5KtGkUMGICtJVpSsF4OCZZlC4\"",
3+ "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/meCrwFdVrDASsVl0vs-3jAnzocE\"",
4 "discoveryVersion": "v1",
4 "discoveryVersion": "v1",
5 "id": "admin:directory_v1",
5 "id": "admin:directory_v1",
6 "name": "admin",
6 "name": "admin",
7 "canonicalName": "directory",
7 "canonicalName": "directory",
8 "version": "directory_v1",
8 "version": "directory_v1",
9− "revision": "20160323",
9+ "revision": "20161003",
10 "title": "Admin Directory API",
10 "title": "Admin Directory API",
11 "description": "The Admin SDK Directory API lets you view and manage enterprise resources such as users and groups, administrative notifications, security features, and more.",
11 "description": "The Admin SDK Directory API lets you view and manage enterprise resources such as users and groups, administrative notifications, security features, and more.",
12 "ownerDomain": "google.com",
12 "ownerDomain": "google.com",
@@ -533,6 +533,25 @@
533 }
533 }
534 }
534 }
535 },
535 },
536+ "ChromeOsDeviceAction": {
537+ "id": "ChromeOsDeviceAction",
538+ "type": "object",
539+ "description": "JSON request template for firing actions on ChromeOs Device in Directory Devices API.",
540+ "properties": {
541+ "action": {
542+ "type": "string",
543+ "description": "Action to be taken on the ChromeOs Device",
544+ "annotations": {
545+ "required": [
546+ "directory.chromeosdevices.action"
547+ ]
548+ }
549+ },
550+ "deprovisionReason": {
551+ "type": "string"
552+ }
553+ }
554+ },
536 "ChromeOsDevices": {
555 "ChromeOsDevices": {
537 "id": "ChromeOsDevices",
556 "id": "ChromeOsDevices",
538 "type": "object",
557 "type": "object",
@@ -890,6 +909,10 @@
890 "type": "string",
909 "type": "string",
891 "description": "Role of member"
910 "description": "Role of member"
892 },
911 },
912+ "status": {
913+ "type": "string",
914+ "description": "Status of member (Immutable)"
915+ },
893 "type": {
916 "type": {
894 "type": "string",
917 "type": "string",
895 "description": "Type of member (Immutable)"
918 "description": "Type of member (Immutable)"
@@ -969,6 +992,14 @@
969 "type": "string",
992 "type": "string",
970 "description": "Mobile Device Baseband version (Read-only)"
993 "description": "Mobile Device Baseband version (Read-only)"
971 },
994 },
995+ "bootloaderVersion": {
996+ "type": "string",
997+ "description": "Mobile Device Bootloader version (Read-only)"
998+ },
999+ "brand": {
1000+ "type": "string",
1001+ "description": "Mobile Device Brand (Read-only)"
1002+ },
972 "buildNumber": {
1003 "buildNumber": {
973 "type": "string",
1004 "type": "string",
974 "description": "Mobile Device Build number (Read-only)"
1005 "description": "Mobile Device Build number (Read-only)"
@@ -989,6 +1020,10 @@
989 "type": "string",
1020 "type": "string",
990 "description": "Mobile Device serial number (Read-only)"
1021 "description": "Mobile Device serial number (Read-only)"
991 },
1022 },
1023+ "devicePasswordStatus": {
1024+ "type": "string",
1025+ "description": "DevicePasswordStatus (Read-only)"
1026+ },
992 "email": {
1027 "email": {
993 "type": "array",
1028 "type": "array",
994 "description": "List of owner user's email addresses (Read-only)",
1029 "description": "List of owner user's email addresses (Read-only)",
@@ -996,6 +1031,10 @@
996 "type": "string"
1031 "type": "string"
997 }
1032 }
998 },
1033 },
1034+ "encryptionStatus": {
1035+ "type": "string",
1036+ "description": "Mobile Device Encryption Status (Read-only)"
1037+ },
999 "etag": {
1038 "etag": {
1000 "type": "string",
1039 "type": "string",
1001 "description": "ETag of the resource."
1040 "description": "ETag of the resource."
@@ -1005,6 +1044,10 @@
1005 "description": "Date and time the device was first synchronized with the policy settings in the Google Apps administrator control panel (Read-only)",
1044 "description": "Date and time the device was first synchronized with the policy settings in the Google Apps administrator control panel (Read-only)",
1006 "format": "date-time"
1045 "format": "date-time"
1007 },
1046 },
1047+ "hardware": {
1048+ "type": "string",
1049+ "description": "Mobile Device Hardware (Read-only)"
1050+ },
1008 "hardwareId": {
1051 "hardwareId": {
1009 "type": "string",
1052 "type": "string",
1010 "description": "Mobile Device Hardware Id (Read-only)"
1053 "description": "Mobile Device Hardware Id (Read-only)"
@@ -1031,6 +1074,10 @@
1031 "type": "boolean",
1074 "type": "boolean",
1032 "description": "Boolean indicating if this account is on owner/primary profile or not (Read-only)"
1075 "description": "Boolean indicating if this account is on owner/primary profile or not (Read-only)"
1033 },
1076 },
1077+ "manufacturer": {
1078+ "type": "string",
1079+ "description": "Mobile Device manufacturer (Read-only)"
1080+ },
1034 "meid": {
1081 "meid": {
1035 "type": "string",
1082 "type": "string",
1036 "description": "Mobile Device MEID number (Read-only)"
1083 "description": "Mobile Device MEID number (Read-only)"
@@ -1061,10 +1108,23 @@
1061 "type": "string"
1108 "type": "string"
1062 }
1109 }
1063 },
1110 },
1111+ "privilege": {
1112+ "type": "string",
1113+ "description": "DMAgentPermission (Read-only)"
1114+ },
1115+ "releaseVersion": {
1116+ "type": "string",
1117+ "description": "Mobile Device release version version (Read-only)"
1118+ },
1064 "resourceId": {
1119 "resourceId": {
1065 "type": "string",
1120 "type": "string",
1066 "description": "Unique identifier of Mobile Device (Read-only)"
1121 "description": "Unique identifier of Mobile Device (Read-only)"
1067 },
1122 },
1123+ "securityPatchLevel": {
1124+ "type": "string",
1125+ "description": "Mobile Device Security patch level (Read-only)",
1126+ "format": "int64"
1127+ },
1068 "serialNumber": {
1128 "serialNumber": {
1069 "type": "string",
1129 "type": "string",
1070 "description": "Mobile Device SSN or Serial Number (Read-only)"
1130 "description": "Mobile Device SSN or Serial Number (Read-only)"
@@ -2448,6 +2508,36 @@
2448 },
2508 },
2449 "chromeosdevices": {
2509 "chromeosdevices": {
2450 "methods": {
2510 "methods": {
2511+ "action": {
2512+ "id": "directory.chromeosdevices.action",
2513+ "path": "customer/{customerId}/devices/chromeos/{resourceId}/action",
2514+ "httpMethod": "POST",
2515+ "description": "Take action on Chrome OS Device",
2516+ "parameters": {
2517+ "customerId": {
2518+ "type": "string",
2519+ "description": "Immutable id of the Google Apps account",
2520+ "required": true,
2521+ "location": "path"
2522+ },
2523+ "resourceId": {
2524+ "type": "string",
2525+ "description": "Immutable id of Chrome OS Device",
2526+ "required": true,
2527+ "location": "path"
2528+ }
2529+ },
2530+ "parameterOrder": [
2531+ "customerId",
2532+ "resourceId"
2533+ ],
2534+ "request": {
2535+ "$ref": "ChromeOsDeviceAction"
2536+ },
2537+ "scopes": [
2538+ "https://www.googleapis.com/auth/admin.directory.device.chromeos"
2539+ ]
2540+ },
2451 "get": {
2541 "get": {
2452 "id": "directory.chromeosdevices.get",
2542 "id": "directory.chromeosdevices.get",
2453 "path": "customer/{customerId}/devices/chromeos/{deviceId}",
2543 "path": "customer/{customerId}/devices/chromeos/{deviceId}",
@@ -2682,7 +2772,7 @@
2682 "id": "directory.customers.get",
2772 "id": "directory.customers.get",
2683 "path": "customers/{customerKey}",
2773 "path": "customers/{customerKey}",
2684 "httpMethod": "GET",
2774 "httpMethod": "GET",
2685− "description": "Retrives a customer.",
2775+ "description": "Retrieves a customer.",
2686 "parameters": {
2776 "parameters": {
2687 "customerKey": {
2777 "customerKey": {
2688 "type": "string",
2778 "type": "string",
@@ -2906,7 +2996,7 @@
2906 "id": "directory.domains.get",
2996 "id": "directory.domains.get",
2907 "path": "customer/{customer}/domains/{domainName}",
2997 "path": "customer/{customer}/domains/{domainName}",
2908 "httpMethod": "GET",
2998 "httpMethod": "GET",
2909− "description": "Retrives a domain of the customer.",
2999+ "description": "Retrieves a domain of the customer.",
2910 "parameters": {
3000 "parameters": {
2911 "customer": {
3001 "customer": {
2912 "type": "string",
3002 "type": "string",
gen/model/admin/reports/v1/admin-api.json+5−5
@@ -1,14 +1,14 @@
1{
1{
2 "kind": "discovery#restDescription",
2 "kind": "discovery#restDescription",
3− "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/gshze9dCV9O4SZHdwFLJm3oucPU\"",
3+ "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/JOd2IF5OejEZFbpk9z7_VoeqW5U\"",
4 "discoveryVersion": "v1",
4 "discoveryVersion": "v1",
5 "id": "admin:reports_v1",
5 "id": "admin:reports_v1",
6 "name": "admin",
6 "name": "admin",
7 "canonicalName": "reports",
7 "canonicalName": "reports",
8 "version": "reports_v1",
8 "version": "reports_v1",
9− "revision": "20151106",
9+ "revision": "20160704",
10 "title": "Admin Reports API",
10 "title": "Admin Reports API",
11− "description": "Allows the administrators of Google Apps customers to fetch reports about the usage, collaboration, security and risk for their users.",
11+ "description": "Fetches reports for the administrators of Google Apps customers about the usage, collaboration, security, and risk for their users.",
12 "ownerDomain": "google.com",
12 "ownerDomain": "google.com",
13 "ownerName": "Google",
13 "ownerName": "Google",
14 "packagePath": "admin",
14 "packagePath": "admin",
@@ -464,7 +464,7 @@
464 "type": "string",
464 "type": "string",
465 "description": "Application name for which the events are to be retrieved.",
465 "description": "Application name for which the events are to be retrieved.",
466 "required": true,
466 "required": true,
467− "pattern": "(admin)|(calendar)|(drive)|(login)|(mobile)|(token)|(groups)",
467+ "pattern": "(admin)|(calendar)|(drive)|(login)|(mobile)|(token)|(groups)|(saml)",
468 "location": "path"
468 "location": "path"
469 },
469 },
470 "customerId": {
470 "customerId": {
@@ -543,7 +543,7 @@
543 "type": "string",
543 "type": "string",
544 "description": "Application name for which the events are to be retrieved.",
544 "description": "Application name for which the events are to be retrieved.",
545 "required": true,
545 "required": true,
546− "pattern": "(admin)|(calendar)|(drive)|(login)|(mobile)|(token)|(groups)",
546+ "pattern": "(admin)|(calendar)|(drive)|(login)|(mobile)|(token)|(groups)|(saml)",
547 "location": "path"
547 "location": "path"
548 },
548 },
549 "customerId": {
549 "customerId": {
gen/model/analytics/v3/analytics-api.json+441−4
@@ -1,11 +1,11 @@
1{
1{
2 "kind": "discovery#restDescription",
2 "kind": "discovery#restDescription",
3− "etag": "\"bRFOOrZKfO9LweMbPqu0kcu6De8/y7JmUhB0GIMusVTZY-o1OGZ6DZQ\"",
3+ "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/CEwIV9fdNgUw9Oy31M8HLJeTPyQ\"",
4 "discoveryVersion": "v1",
4 "discoveryVersion": "v1",
5 "id": "analytics:v3",
5 "id": "analytics:v3",
6 "name": "analytics",
6 "name": "analytics",
7 "version": "v3",
7 "version": "v3",
8− "revision": "20160308",
8+ "revision": "20161004",
9 "title": "Google Analytics API",
9 "title": "Google Analytics API",
10 "description": "Views and manages your Google Analytics data.",
10 "description": "Views and manages your Google Analytics data.",
11 "ownerDomain": "google.com",
11 "ownerDomain": "google.com",
@@ -1610,6 +1610,11 @@
1610 "type": "boolean",
1610 "type": "boolean",
1611 "description": "Determines if Analytics data contains samples."
1611 "description": "Determines if Analytics data contains samples."
1612 },
1612 },
1613+ "dataLastRefreshed": {
1614+ "type": "string",
1615+ "description": "The last refreshed time in seconds for Analytics data.",
1616+ "format": "int64"
1617+ },
1613 "dataTable": {
1618 "dataTable": {
1614 "type": "object",
1619 "type": "object",
1615 "properties": {
1620 "properties": {
@@ -2038,6 +2043,86 @@
2038 }
2043 }
2039 }
2044 }
2040 },
2045 },
2046+ "IncludeConditions": {
2047+ "id": "IncludeConditions",
2048+ "type": "object",
2049+ "description": "JSON template for an Analytics Remarketing Include Conditions.",
2050+ "properties": {
2051+ "daysToLookBack": {
2052+ "type": "integer",
2053+ "description": "The look-back window lets you specify a time frame for evaluating the behavior that qualifies users for your audience. For example, if your filters include users from Central Asia, and Transactions Greater than 2, and you set the look-back window to 14 days, then any user from Central Asia whose cumulative transactions exceed 2 during the last 14 days is added to the audience.",
2054+ "format": "int32"
2055+ },
2056+ "isSmartList": {
2057+ "type": "boolean",
2058+ "description": "Boolean indicating whether this segment is a smart list. https://support.google.com/analytics/answer/4628577"
2059+ },
2060+ "kind": {
2061+ "type": "string",
2062+ "description": "Resource type for include conditions.",
2063+ "default": "analytics#includeConditions"
2064+ },
2065+ "membershipDurationDays": {
2066+ "type": "integer",
2067+ "description": "Number of days (in the range 1 to 540) a user remains in the audience.",
2068+ "format": "int32"
2069+ },
2070+ "segment": {
2071+ "type": "string",
2072+ "description": "The segment condition that will cause a user to be added to an audience."
2073+ }
2074+ }
2075+ },
2076+ "LinkedForeignAccount": {
2077+ "id": "LinkedForeignAccount",
2078+ "type": "object",
2079+ "description": "JSON template for an Analytics Remarketing Audience Foreign Link.",
2080+ "properties": {
2081+ "accountId": {
2082+ "type": "string",
2083+ "description": "Account ID to which this linked foreign account belongs."
2084+ },
2085+ "eligibleForSearch": {
2086+ "type": "boolean",
2087+ "description": "Boolean indicating whether this is eligible for search.",
2088+ "readOnly": true
2089+ },
2090+ "id": {
2091+ "type": "string",
2092+ "description": "Entity ad account link ID."
2093+ },
2094+ "internalWebPropertyId": {
2095+ "type": "string",
2096+ "description": "Internal ID for the web property to which this linked foreign account belongs.",
2097+ "readOnly": true
2098+ },
2099+ "kind": {
2100+ "type": "string",
2101+ "description": "Resource type for linked foreign account.",
2102+ "default": "analytics#linkedForeignAccount"
2103+ },
2104+ "linkedAccountId": {
2105+ "type": "string",
2106+ "description": "The foreign account ID. For example the an AdWords `linkedAccountId` has the following format XXX-XXX-XXXX."
2107+ },
2108+ "remarketingAudienceId": {
2109+ "type": "string",
2110+ "description": "Remarketing audience ID to which this linked foreign account belongs."
2111+ },
2112+ "status": {
2113+ "type": "string",
2114+ "description": "The status of this foreign account link."
2115+ },
2116+ "type": {
2117+ "type": "string",
2118+ "description": "The type of the foreign account. For example `ADWORDS_LINKS`."
2119+ },
2120+ "webPropertyId": {
2121+ "type": "string",
2122+ "description": "Web property ID of the form UA-XXXXX-YY to which this linked foreign account belongs."
2123+ }
2124+ }
2125+ },
2041 "McfData": {
2126 "McfData": {
2042 "id": "McfData",
2127 "id": "McfData",
2043 "type": "object",
2128 "type": "object",
@@ -2277,7 +2362,7 @@
2277 },
2362 },
2278 "currency": {
2363 "currency": {
2279 "type": "string",
2364 "type": "string",
2280− "description": "The currency type associated with this view (profile), defaults to USD. The supported values are:\nARS, AUD, BGN, BRL, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, HUF, IDR, INR, JPY, KRW, LTL, MXN, NOK, NZD, PHP, PLN, RUB, SEK, THB, TRY, TWD, USD, VND, ZAR"
2365+ "description": "The currency type associated with this view (profile), defaults to USD. The supported values are:\nUSD, JPY, EUR, GBP, AUD, KRW, BRL, CNY, DKK, RUB, SEK, NOK, PLN, TRY, TWD, HKD, THB, IDR, ARS, MXN, VND, PHP, INR, CHF, CAD, CZK, NZD, HUF, BGN, LTL, ZAR, UAH, AED, BOB, CLP, COP, EGP, HRK, ILS, MAD, MYR, PEN, PKR, RON, RSD, SAR, SGD, VEF, LVL"
2281 },
2366 },
2282 "defaultPage": {
2367 "defaultPage": {
2283 "type": "string",
2368 "type": "string",
@@ -2715,6 +2800,154 @@
2715 }
2800 }
2716 }
2801 }
2717 },
2802 },
2803+ "RemarketingAudience": {
2804+ "id": "RemarketingAudience",
2805+ "type": "object",
2806+ "description": "JSON template for an Analytics remarketing audience.",
2807+ "properties": {
2808+ "accountId": {
2809+ "type": "string",
2810+ "description": "Account ID to which this remarketing audience belongs."
2811+ },
2812+ "audienceDefinition": {
2813+ "type": "object",
2814+ "description": "The simple audience definition that will cause a user to be added to an audience.",
2815+ "properties": {
2816+ "includeConditions": {
2817+ "$ref": "IncludeConditions",
2818+ "description": "Defines the conditions to include users to the audience."
2819+ }
2820+ }
2821+ },
2822+ "audienceType": {
2823+ "type": "string",
2824+ "description": "The type of audience, either SIMPLE or STATE_BASED."
2825+ },
2826+ "created": {
2827+ "type": "string",
2828+ "description": "Time this remarketing audience was created.",
2829+ "format": "date-time",
2830+ "readOnly": true
2831+ },
2832+ "description": {
2833+ "type": "string",
2834+ "description": "The description of this remarketing audience.",
2835+ "readOnly": true
2836+ },
2837+ "id": {
2838+ "type": "string",
2839+ "description": "Remarketing Audience ID."
2840+ },
2841+ "internalWebPropertyId": {
2842+ "type": "string",
2843+ "description": "Internal ID for the web property to which this remarketing audience belongs.",
2844+ "readOnly": true
2845+ },
2846+ "kind": {
2847+ "type": "string",
2848+ "description": "Collection type.",
2849+ "default": "analytics#remarketingAudience"
2850+ },
2851+ "linkedAdAccounts": {
2852+ "type": "array",
2853+ "description": "The linked ad accounts associated with this remarketing audience. A remarketing audience can have only one linkedAdAccount currently.",
2854+ "items": {
2855+ "$ref": "LinkedForeignAccount"
2856+ }
2857+ },
2858+ "linkedViews": {
2859+ "type": "array",
2860+ "description": "The views (profiles) that this remarketing audience is linked to.",
2861+ "items": {
2862+ "type": "string"
2863+ }
2864+ },
2865+ "name": {
2866+ "type": "string",
2867+ "description": "The name of this remarketing audience."
2868+ },
2869+ "stateBasedAudienceDefinition": {
2870+ "type": "object",
2871+ "description": "A state based audience definition that will cause a user to be added or removed from an audience.",
2872+ "properties": {
2873+ "excludeConditions": {
2874+ "type": "object",
2875+ "description": "Defines the conditions to exclude users from the audience.",
2876+ "properties": {
2877+ "exclusionDuration": {
2878+ "type": "string",
2879+ "description": "Whether to make the exclusion TEMPORARY or PERMANENT."
2880+ },
2881+ "segment": {
2882+ "type": "string",
2883+ "description": "The segment condition that will cause a user to be removed from an audience."
2884+ }
2885+ }
2886+ },
2887+ "includeConditions": {
2888+ "$ref": "IncludeConditions",
2889+ "description": "Defines the conditions to include users to the audience."
2890+ }
2891+ }
2892+ },
2893+ "updated": {
2894+ "type": "string",
2895+ "description": "Time this remarketing audience was last modified.",
2896+ "format": "date-time",
2897+ "readOnly": true
2898+ },
2899+ "webPropertyId": {
2900+ "type": "string",
2901+ "description": "Web property ID of the form UA-XXXXX-YY to which this remarketing audience belongs."
2902+ }
2903+ }
2904+ },
2905+ "RemarketingAudiences": {
2906+ "id": "RemarketingAudiences",
2907+ "type": "object",
2908+ "description": "A remarketing audience collection lists Analytics remarketing audiences to which the user has access. Each resource in the collection corresponds to a single Analytics remarketing audience.",
2909+ "properties": {
2910+ "items": {
2911+ "type": "array",
2912+ "description": "A list of remarketing audiences.",
2913+ "items": {
2914+ "$ref": "RemarketingAudience"
2915+ }
2916+ },
2917+ "itemsPerPage": {
2918+ "type": "integer",
2919+ "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.",
2920+ "format": "int32"
2921+ },
2922+ "kind": {
2923+ "type": "string",
2924+ "description": "Collection type.",
2925+ "default": "analytics#remarketingAudiences"
2926+ },
2927+ "nextLink": {
2928+ "type": "string",
2929+ "description": "Link to next page for this remarketing audience collection."
2930+ },
2931+ "previousLink": {
2932+ "type": "string",
2933+ "description": "Link to previous page for this view (profile) collection."
2934+ },
2935+ "startIndex": {
2936+ "type": "integer",
2937+ "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.",
2938+ "format": "int32"
2939+ },
2940+ "totalResults": {
2941+ "type": "integer",
2942+ "description": "The total number of results for the query, regardless of the number of results in the response.",
2943+ "format": "int32"
2944+ },
2945+ "username": {
2946+ "type": "string",
2947+ "description": "Email ID of the authenticated user"
2948+ }
2949+ }
2950+ },
2718 "Segment": {
2951 "Segment": {
2719 "id": "Segment",
2952 "id": "Segment",
2720 "type": "object",
2953 "type": "object",
@@ -2843,7 +3076,7 @@
2843 },
3076 },
2844 "downloadType": {
3077 "downloadType": {
2845 "type": "string",
3078 "type": "string",
2846− "description": "The type of download you need to use for the report data file.",
3079+ "description": "The type of download you need to use for the report data file. Possible values include `GOOGLE_DRIVE` and `GOOGLE_CLOUD_STORAGE`. If the value is `GOOGLE_DRIVE`, see the `driveDownloadDetails` field. If the value is `GOOGLE_CLOUD_STORAGE`, see the `cloudStorageDownloadDetails` field.",
2847 "readOnly": true
3080 "readOnly": true
2848 },
3081 },
2849 "driveDownloadDetails": {
3082 "driveDownloadDetails": {
@@ -5709,6 +5942,210 @@
5709 }
5942 }
5710 }
5943 }
5711 },
5944 },
5945+ "remarketingAudience": {
5946+ "methods": {
5947+ "get": {
5948+ "id": "analytics.management.remarketingAudience.get",
5949+ "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences/{remarketingAudienceId}",
5950+ "httpMethod": "GET",
5951+ "description": "Gets a remarketing audience to which the user has access.",
5952+ "parameters": {
5953+ "accountId": {
5954+ "type": "string",
5955+ "description": "The account ID of the remarketing audience to retrieve.",
5956+ "required": true,
5957+ "location": "path"
5958+ },
5959+ "remarketingAudienceId": {
5960+ "type": "string",
5961+ "description": "The ID of the remarketing audience to retrieve.",
5962+ "required": true,
5963+ "location": "path"
5964+ },
5965+ "webPropertyId": {
5966+ "type": "string",
5967+ "description": "The web property ID of the remarketing audience to retrieve.",
5968+ "required": true,
5969+ "location": "path"
5970+ }
5971+ },
5972+ "parameterOrder": [
5973+ "accountId",
5974+ "webPropertyId",
5975+ "remarketingAudienceId"
5976+ ],
5977+ "response": {
5978+ "$ref": "RemarketingAudience"
5979+ },
5980+ "scopes": [
5981+ "https://www.googleapis.com/auth/analytics.edit",
5982+ "https://www.googleapis.com/auth/analytics.readonly"
5983+ ]
5984+ },
5985+ "insert": {
5986+ "id": "analytics.management.remarketingAudience.insert",
5987+ "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences",
5988+ "httpMethod": "POST",
5989+ "description": "Creates a new remarketing audience.",
5990+ "parameters": {
5991+ "accountId": {
5992+ "type": "string",
5993+ "description": "The account ID for which to create the remarketing audience.",
5994+ "required": true,
5995+ "location": "path"
5996+ },
5997+ "webPropertyId": {
5998+ "type": "string",
5999+ "description": "Web property ID for which to create the remarketing audience.",
6000+ "required": true,
6001+ "location": "path"
6002+ }
6003+ },
6004+ "parameterOrder": [
6005+ "accountId",
6006+ "webPropertyId"
6007+ ],
6008+ "request": {
6009+ "$ref": "RemarketingAudience"
6010+ },
6011+ "response": {
6012+ "$ref": "RemarketingAudience"
6013+ },
6014+ "scopes": [
6015+ "https://www.googleapis.com/auth/analytics.edit"
6016+ ]
6017+ },
6018+ "list": {
6019+ "id": "analytics.management.remarketingAudience.list",
6020+ "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences",
6021+ "httpMethod": "GET",
6022+ "description": "Lists remarketing audiences to which the user has access.",
6023+ "parameters": {
6024+ "accountId": {
6025+ "type": "string",
6026+ "description": "The account ID of the remarketing audiences to retrieve.",
6027+ "required": true,
6028+ "location": "path"
6029+ },
6030+ "max-results": {
6031+ "type": "integer",
6032+ "description": "The maximum number of remarketing audiences to include in this response.",
6033+ "format": "int32",
6034+ "location": "query"
6035+ },
6036+ "start-index": {
6037+ "type": "integer",
6038+ "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.",
6039+ "format": "int32",
6040+ "minimum": "1",
6041+ "location": "query"
6042+ },
6043+ "type": {
6044+ "type": "string",
6045+ "default": "all",
6046+ "location": "query"
6047+ },
6048+ "webPropertyId": {
6049+ "type": "string",
6050+ "description": "The web property ID of the remarketing audiences to retrieve.",
6051+ "required": true,
6052+ "location": "path"
6053+ }
6054+ },
6055+ "parameterOrder": [
6056+ "accountId",
6057+ "webPropertyId"
6058+ ],
6059+ "response": {
6060+ "$ref": "RemarketingAudiences"
6061+ },
6062+ "scopes": [
6063+ "https://www.googleapis.com/auth/analytics.edit",
6064+ "https://www.googleapis.com/auth/analytics.readonly"
6065+ ]
6066+ },
6067+ "patch": {
6068+ "id": "analytics.management.remarketingAudience.patch",
6069+ "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences/{remarketingAudienceId}",
6070+ "httpMethod": "PATCH",
6071+ "description": "Updates an existing remarketing audience. This method supports patch semantics.",
6072+ "parameters": {
6073+ "accountId": {
6074+ "type": "string",
6075+ "description": "The account ID of the remarketing audience to update.",
6076+ "required": true,
6077+ "location": "path"
6078+ },
6079+ "remarketingAudienceId": {
6080+ "type": "string",
6081+ "description": "The ID of the remarketing audience to update.",
6082+ "required": true,
6083+ "location": "path"
6084+ },
6085+ "webPropertyId": {
6086+ "type": "string",
6087+ "description": "The web property ID of the remarketing audience to update.",
6088+ "required": true,
6089+ "location": "path"
6090+ }
6091+ },
6092+ "parameterOrder": [
6093+ "accountId",
6094+ "webPropertyId",
6095+ "remarketingAudienceId"
6096+ ],
6097+ "request": {
6098+ "$ref": "RemarketingAudience"
6099+ },
6100+ "response": {
6101+ "$ref": "RemarketingAudience"
6102+ },
6103+ "scopes": [
6104+ "https://www.googleapis.com/auth/analytics.edit"
6105+ ]
6106+ },
6107+ "update": {
6108+ "id": "analytics.management.remarketingAudience.update",
6109+ "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences/{remarketingAudienceId}",
6110+ "httpMethod": "PUT",
6111+ "description": "Updates an existing remarketing audience.",
6112+ "parameters": {
6113+ "accountId": {
6114+ "type": "string",
6115+ "description": "The account ID of the remarketing audience to update.",
6116+ "required": true,
6117+ "location": "path"
6118+ },
6119+ "remarketingAudienceId": {
6120+ "type": "string",
6121+ "description": "The ID of the remarketing audience to update.",
6122+ "required": true,
6123+ "location": "path"
6124+ },
6125+ "webPropertyId": {
6126+ "type": "string",
6127+ "description": "The web property ID of the remarketing audience to update.",
6128+ "required": true,
6129+ "location": "path"
6130+ }
6131+ },
6132+ "parameterOrder": [
6133+ "accountId",
6134+ "webPropertyId",
6135+ "remarketingAudienceId"
6136+ ],
6137+ "request": {
6138+ "$ref": "RemarketingAudience"
6139+ },
6140+ "response": {
6141+ "$ref": "RemarketingAudience"
6142+ },
6143+ "scopes": [
6144+ "https://www.googleapis.com/auth/analytics.edit"
6145+ ]
6146+ }
6147+ }
6148+ },
5712 "segments": {
6149 "segments": {
5713 "methods": {
6150 "methods": {
5714 "list": {
6151 "list": {
gen/model/analyticsreporting/v4/analyticsreporting-api.json+21−21
@@ -61,7 +61,7 @@
61 "id": "PivotHeader"
61 "id": "PivotHeader"
62 },
62 },
63 "Metric": {
63 "Metric": {
64− "description": "A metric in the request.",
64+ "description": "[Metrics](https://support.google.com/analytics/answer/1033861)\nare the quantitative measurements. For example, the metric `ga:users`\nindicates the total number of users for the requested time period.",
65 "type": "object",
65 "type": "object",
66 "properties": {
66 "properties": {
67 "alias": {
67 "alias": {
@@ -308,11 +308,11 @@
308 "type": "object",
308 "type": "object",
309 "properties": {
309 "properties": {
310 "cohortGroup": {
310 "cohortGroup": {
311− "description": "Cohort group associated with this request. If there is a cohort group\nin the request the `ga:cohort` dimension must be present. All requests\nshould have the same cohort definitions.",
311+ "description": "Cohort group associated with this request. If there is a cohort group\nin the request the `ga:cohort` dimension must be present.\nEvery [ReportRequest](#ReportRequest) within a `batchGet` method must\ncontain the same `cohortGroup` definition.",
312 "$ref": "CohortGroup"
312 "$ref": "CohortGroup"
313 },
313 },
314 "dimensions": {
314 "dimensions": {
315− "description": "Dimensions requested in the request.",
315+ "description": "The dimensions requested.\nRequests can have a total of 7 dimensions.",
316 "type": "array",
316 "type": "array",
317 "items": {
317 "items": {
318 "$ref": "Dimension"
318 "$ref": "Dimension"
@@ -341,28 +341,28 @@
341 }
341 }
342 },
342 },
343 "pivots": {
343 "pivots": {
344− "description": "The pivot definitions.",
344+ "description": "The pivot definitions. Requests can have a maximum of 2 pivots.",
345 "type": "array",
345 "type": "array",
346 "items": {
346 "items": {
347 "$ref": "Pivot"
347 "$ref": "Pivot"
348 }
348 }
349 },
349 },
350 "dateRanges": {
350 "dateRanges": {
351− "description": "Date ranges in the request. The request can have a maximum of 2 date\nranges. The response will contain a set of metric values for each\ncombination of the dimensions for each date range in the request. So, if\nthere are two date ranges, there will be two set of metric values, one for\nthe original date range and one for the second date range.\nThe `reportRequest.dateRanges` field should not be specified for cohorts\nor Lifetime value requests.\nIf a date range is not provided, the default date range is (startDate:\ncurrent date - 7 days, endDate: current date - 1 day)",
351+ "description": "Date ranges in the request. The request can have a maximum of 2 date\nranges. The response will contain a set of metric values for each\ncombination of the dimensions for each date range in the request. So, if\nthere are two date ranges, there will be two set of metric values, one for\nthe original date range and one for the second date range.\nThe `reportRequest.dateRanges` field should not be specified for cohorts\nor Lifetime value requests.\nIf a date range is not provided, the default date range is (startDate:\ncurrent date - 7 days, endDate: current date - 1 day). Every\n[ReportRequest](#ReportRequest) within a `batchGet` method must\ncontain the same `dateRanges` definition.",
352 "type": "array",
352 "type": "array",
353 "items": {
353 "items": {
354 "$ref": "DateRange"
354 "$ref": "DateRange"
355 }
355 }
356 },
356 },
357 "segments": {
357 "segments": {
358− "description": "Segment the data returned for the request. A segment definition helps look\nat a subset of the segment request. A request can contain up to four\nsegments. All requests should have the same segment definitions. Requests\nwith segments must have the `ga:segment` dimension.",
358+ "description": "Segment the data returned for the request. A segment definition helps look\nat a subset of the segment request. A request can contain up to four\nsegments. Every [ReportRequest](#ReportRequest) within a\n`batchGet` method must contain the same `segments` definition. Requests\nwith segments must have the `ga:segment` dimension.",
359 "type": "array",
359 "type": "array",
360 "items": {
360 "items": {
361 "$ref": "Segment"
361 "$ref": "Segment"
362 }
362 }
363 },
363 },
364 "samplingLevel": {
364 "samplingLevel": {
365− "description": "The desired sampling level. If the sampling level is not specified the\nDEFAULT sampling level will be used. All requests should have same\n`samplingLevel`.",
365+ "description": "The desired report\n[sample](https://support.google.com/analytics/answer/2637192) size.\nIf the the `samplingLevel` field is unspecified the `DEFAULT` sampling\nlevel is used. Every [ReportRequest](#ReportRequest) within a\n`batchGet` method must contain the same `samplingLevel` definition. See\n[developer guide](/analytics/devguides/reporting/core/v4/basics#sampling)\n for details.",
366 "enum": [
366 "enum": [
367 "SAMPLING_UNSPECIFIED",
367 "SAMPLING_UNSPECIFIED",
368 "DEFAULT",
368 "DEFAULT",
@@ -370,7 +370,7 @@
370 "LARGE"
370 "LARGE"
371 ],
371 ],
372 "enumDescriptions": [
372 "enumDescriptions": [
373− "If sampling level is unspecified the default sampling level is used.",
373+ "If the `samplingLevel` field is unspecified the `DEFAULT` sampling level\nis used.",
374 "Returns response with a sample size that balances speed and\naccuracy.",
374 "Returns response with a sample size that balances speed and\naccuracy.",
375 "It returns a fast response with a smaller sampling size.",
375 "It returns a fast response with a smaller sampling size.",
376 "Returns a more accurate response using a large sampling size. But this\nmay result in response being slower."
376 "Returns a more accurate response using a large sampling size. But this\nmay result in response being slower."
@@ -378,7 +378,7 @@
378 "type": "string"
378 "type": "string"
379 },
379 },
380 "metrics": {
380 "metrics": {
381− "description": "Metrics, the quantitative measurements, requested in the request.\nRequests must specify at least one metric.",
381+ "description": "The metrics requested.\nRequests must specify at least one metric. Requests can have a\ntotal of 10 metrics.",
382 "type": "array",
382 "type": "array",
383 "items": {
383 "items": {
384 "$ref": "Metric"
384 "$ref": "Metric"
@@ -405,7 +405,7 @@
405 "type": "boolean"
405 "type": "boolean"
406 },
406 },
407 "viewId": {
407 "viewId": {
408− "description": "Unique View Id for retrieving Analytics data.",
408+ "description": "The Analytics\n[view ID](https://support.google.com/analytics/answer/1009618)\nfrom which to retrieve data. Every [ReportRequest](#ReportRequest)\nwithin a `batchGet` method must contain the same `viewId`.",
409 "type": "string"
409 "type": "string"
410 },
410 },
411 "pageToken": {
411 "pageToken": {
@@ -508,7 +508,7 @@
508 "format": "int32"
508 "format": "int32"
509 },
509 },
510 "samplingSpaceSizes": {
510 "samplingSpaceSizes": {
511− "description": "If sampling was enabled, this returns the total number of samples\npresent, one entry per date range.",
511+ "description": "If the results are\n[sampled](https://support.google.com/analytics/answer/2637192),\nthis returns the total number of\nsamples present, one entry per date range. If the results are not sampled\nthis field will not be defined. See\n[developer guide](/analytics/devguides/reporting/core/v4/basics#sampling)\nfor details.",
512 "type": "array",
512 "type": "array",
513 "items": {
513 "items": {
514 "type": "string",
514 "type": "string",
@@ -523,7 +523,7 @@
523 }
523 }
524 },
524 },
525 "samplesReadCounts": {
525 "samplesReadCounts": {
526− "description": "If sampling was enabled, this returns the total number of samples\nread, one entry per date range",
526+ "description": "If the results are\n[sampled](https://support.google.com/analytics/answer/2637192),\nthis returns the total number of samples read, one entry per date range.\nIf the results are not sampled this field will not be defined. See\n[developer guide](/analytics/devguides/reporting/core/v4/basics#sampling)\nfor details.",
527 "type": "array",
527 "type": "array",
528 "items": {
528 "items": {
529 "type": "string",
529 "type": "string",
@@ -563,7 +563,7 @@
563 "type": "object",
563 "type": "object",
564 "properties": {
564 "properties": {
565 "reportRequests": {
565 "reportRequests": {
566− "description": "Requests, each request will have a separate response.\nThere can be a maximum of 5 requests. All requests should have the same\n`dateRange`, `viewId`, `segments`, `samplingLevel`, and `cohortGroup`.",
566+ "description": "Requests, each request will have a separate response.\nThere can be a maximum of 5 requests. All requests should have the same\n`dateRanges`, `viewId`, `segments`, `samplingLevel`, and `cohortGroup`.",
567 "type": "array",
567 "type": "array",
568 "items": {
568 "items": {
569 "$ref": "ReportRequest"
569 "$ref": "ReportRequest"
@@ -602,7 +602,7 @@
602 ],
602 ],
603 "enumDescriptions": [
603 "enumDescriptions": [
604 "Unspecified order type will be treated as sort based on value.",
604 "Unspecified order type will be treated as sort based on value.",
605− "The sort order is based on the value of the chosen column; looks only at\nthe first date range",
605+ "The sort order is based on the value of the chosen column; looks only at\nthe first date range.",
606 "The sort order is based on the difference of the values of the chosen\ncolumn between the first two date ranges. Usable only if there are\nexactly two date ranges.",
606 "The sort order is based on the difference of the values of the chosen\ncolumn between the first two date ranges. Usable only if there are\nexactly two date ranges.",
607 "The sort order is based on weighted value of the chosen column. If\ncolumn has n/d format, then weighted value of this ratio will\nbe `(n + totals.n)/(d + totals.d)` Usable only for metrics that\nrepresent ratios.",
607 "The sort order is based on weighted value of the chosen column. If\ncolumn has n/d format, then weighted value of this ratio will\nbe `(n + totals.n)/(d + totals.d)` Usable only for metrics that\nrepresent ratios.",
608 "Histogram order type is applicable only to dimension columns with\nnon-empty histogram-buckets.",
608 "Histogram order type is applicable only to dimension columns with\nnon-empty histogram-buckets.",
@@ -700,7 +700,7 @@
700 "type": "object",
700 "type": "object",
701 "properties": {
701 "properties": {
702 "dimensionNames": {
702 "dimensionNames": {
703− "description": "The name of the dimensions in the pivotDimensionValues field in the\nresponse.",
703+ "description": "The name of the dimensions in the pivot response.",
704 "type": "array",
704 "type": "array",
705 "items": {
705 "items": {
706 "type": "string"
706 "type": "string"
@@ -781,14 +781,14 @@
781 "type": "object",
781 "type": "object",
782 "properties": {
782 "properties": {
783 "dimensions": {
783 "dimensions": {
784− "description": "A list of dimensions to show as pivot columns.",
784+ "description": "A list of dimensions to show as pivot columns. A Pivot can have a maximum\nof 4 dimensions. Pivot dimensions are part of the restriction on the\ntotal number of dimensions allowed in the request.",
785 "type": "array",
785 "type": "array",
786 "items": {
786 "items": {
787 "$ref": "Dimension"
787 "$ref": "Dimension"
788 }
788 }
789 },
789 },
790 "metrics": {
790 "metrics": {
791− "description": "Metrics to aggregate and return.",
791+ "description": "The pivot metrics. Pivot metrics are part of the\nrestriction on total number of metrics allowed in the request.",
792 "type": "array",
792 "type": "array",
793 "items": {
793 "items": {
794 "$ref": "Metric"
794 "$ref": "Metric"
@@ -905,7 +905,7 @@
905 }
905 }
906 },
906 },
907 "metrics": {
907 "metrics": {
908− "description": "List of metrics for each requested DateRange",
908+ "description": "List of metrics for each requested DateRange.",
909 "type": "array",
909 "type": "array",
910 "items": {
910 "items": {
911 "$ref": "DateRangeValues"
911 "$ref": "DateRangeValues"
@@ -915,7 +915,7 @@
915 "id": "ReportRow"
915 "id": "ReportRow"
916 },
916 },
917 "CohortGroup": {
917 "CohortGroup": {
918− "description": "Defines a cohort group.\nFor example:\n\n \"cohortGroup\": {\n \"cohorts\": [{\n \"name\": \"cohort 1\",\n \"type\": \"FIRST_VISIT_DATE\",\n \"dateRange\": { \"startDate\": \"2015-08-01\", \"endDate\": \"2015-08-01\" }\n },{\n \"name\": \"cohort 2\"\n \"type\": \"FIRST_VISIT_DATE\"\n \"dateRange\": { \"startDate\": \"2015-07-01\", \"endDate\": \"2015-07-01\" }\n }]\n }\n",
918+ "description": "Defines a cohort group.\nFor example:\n\n \"cohortGroup\": {\n \"cohorts\": [{\n \"name\": \"cohort 1\",\n \"type\": \"FIRST_VISIT_DATE\",\n \"dateRange\": { \"startDate\": \"2015-08-01\", \"endDate\": \"2015-08-01\" }\n },{\n \"name\": \"cohort 2\"\n \"type\": \"FIRST_VISIT_DATE\"\n \"dateRange\": { \"startDate\": \"2015-07-01\", \"endDate\": \"2015-07-01\" }\n }]\n }",
919 "type": "object",
919 "type": "object",
920 "properties": {
920 "properties": {
921 "lifetimeValue": {
921 "lifetimeValue": {
@@ -1015,7 +1015,7 @@
1015 "id": "MetricFilter"
1015 "id": "MetricFilter"
1016 },
1016 },
1017 "Dimension": {
1017 "Dimension": {
1018− "description": "A dimension in the request.",
1018+ "description": "[Dimensions](https://support.google.com/analytics/answer/1033861)\nare attributes of your data. For example, the dimension `ga:city`\nindicates the city, for example, \"Paris\" or \"New York\", from which\na session originates.",
1019 "type": "object",
1019 "type": "object",
1020 "properties": {
1020 "properties": {
1021 "histogramBuckets": {
1021 "histogramBuckets": {
@@ -1048,7 +1048,7 @@
1048 "id": "PivotValueRegion"
1048 "id": "PivotValueRegion"
1049 }
1049 }
1050 },
1050 },
1051− "revision": "20160512",
1051+ "revision": "20160809",
1052 "basePath": "",
1052 "basePath": "",
1053 "icons": {
1053 "icons": {
1054 "x32": "http://www.google.com/images/icons/product/search-32.gif",
1054 "x32": "http://www.google.com/images/icons/product/search-32.gif",
gen/model/androidenterprise/v1/androidenterprise-api.json+1372−83
@@ -1,12 +1,12 @@
1{
1{
2 "kind": "discovery#restDescription",
2 "kind": "discovery#restDescription",
3− "etag": "\"jQLIOHBVnDZie4rQHGH1WJF-INE/i6DBUMt-cLevFkAtIek_BVKzCR0\"",
3+ "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/F0hyrz-8KleQbDmoIwAoxTX0SoE\"",
4 "discoveryVersion": "v1",
4 "discoveryVersion": "v1",
5 "id": "androidenterprise:v1",
5 "id": "androidenterprise:v1",
6 "name": "androidenterprise",
6 "name": "androidenterprise",
7 "canonicalName": "Android Enterprise",
7 "canonicalName": "Android Enterprise",
8 "version": "v1",
8 "version": "v1",
9− "revision": "20160511",
9+ "revision": "20161011",
10 "title": "Google Play EMM API",
10 "title": "Google Play EMM API",
11 "description": "Manages the deployment of apps to Android for Work users.",
11 "description": "Manages the deployment of apps to Android for Work users.",
12 "ownerDomain": "google.com",
12 "ownerDomain": "google.com",
@@ -77,6 +77,56 @@
77 }
77 }
78 },
78 },
79 "schemas": {
79 "schemas": {
80+ "Administrator": {
81+ "id": "Administrator",
82+ "type": "object",
83+ "description": "This represents an enterprise administrator who can manage the enterprise in the Google Play for Work Store.",
84+ "properties": {
85+ "email": {
86+ "type": "string",
87+ "description": "The administrator's email address."
88+ }
89+ }
90+ },
91+ "AdministratorWebToken": {
92+ "id": "AdministratorWebToken",
93+ "type": "object",
94+ "description": "A token authorizing an administrator to access an iframe.",
95+ "properties": {
96+ "kind": {
97+ "type": "string",
98+ "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#administratorWebToken\".",
99+ "default": "androidenterprise#administratorWebToken"
100+ },
101+ "token": {
102+ "type": "string",
103+ "description": "An opaque token to be passed to the Play front-end to generate an iframe."
104+ }
105+ }
106+ },
107+ "AdministratorWebTokenSpec": {
108+ "id": "AdministratorWebTokenSpec",
109+ "type": "object",
110+ "description": "Specification for a token used to generate iframes. The token specifies what data the admin is allowed to modify and the URI the iframe is allowed to communiate with.",
111+ "properties": {
112+ "kind": {
113+ "type": "string",
114+ "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#administratorWebTokenSpec\".",
115+ "default": "androidenterprise#administratorWebTokenSpec"
116+ },
117+ "parent": {
118+ "type": "string",
119+ "description": "The URI of the parent frame hosting the iframe. To prevent XSS, the iframe may not be hosted at other URIs. This URI must be https."
120+ },
121+ "permission": {
122+ "type": "array",
123+ "description": "The list of permissions the admin is granted within the iframe. The admin will only be allowed to view an iframe if they have all of the permissions associated with it.",
124+ "items": {
125+ "type": "string"
126+ }
127+ }
128+ }
129+ },
80 "AppRestrictionsSchema": {
130 "AppRestrictionsSchema": {
81 "id": "AppRestrictionsSchema",
131 "id": "AppRestrictionsSchema",
82 "type": "object",
132 "type": "object",
@@ -96,6 +146,17 @@
96 }
146 }
97 }
147 }
98 },
148 },
149+ "AppRestrictionsSchemaChangeEvent": {
150+ "id": "AppRestrictionsSchemaChangeEvent",
151+ "type": "object",
152+ "description": "An event generated when a new app version is uploaded to Google Play and its app restrictions schema changed. To fetch the app restrictions schema for an app, use Products.getAppRestrictionsSchema on the EMM API.",
153+ "properties": {
154+ "productId": {
155+ "type": "string",
156+ "description": "The id of the product (e.g. \"app:com.google.android.gm\") for which the app restriction schema changed. This field will always be present."
157+ }
158+ }
159+ },
99 "AppRestrictionsSchemaRestriction": {
160 "AppRestrictionsSchemaRestriction": {
100 "id": "AppRestrictionsSchemaRestriction",
161 "id": "AppRestrictionsSchemaRestriction",
101 "type": "object",
162 "type": "object",
@@ -103,7 +164,7 @@
103 "properties": {
164 "properties": {
104 "defaultValue": {
165 "defaultValue": {
105 "$ref": "AppRestrictionsSchemaRestrictionRestrictionValue",
166 "$ref": "AppRestrictionsSchemaRestrictionRestrictionValue",
106− "description": "The default value of the restriction."
167+ "description": "The default value of the restriction. bundle and bundleArray restrictions never have a default value."
107 },
168 },
108 "description": {
169 "description": {
109 "type": "string",
170 "type": "string",
@@ -118,7 +179,7 @@
118 },
179 },
119 "entryValue": {
180 "entryValue": {
120 "type": "array",
181 "type": "array",
121− "description": "For choice or multiselect restrictions, the list of possible entries' machine-readable values.",
182+ "description": "For choice or multiselect restrictions, the list of possible entries' machine-readable values. These values should be used in the configuration, either as a single string value for a choice restriction or in a stringArray for a multiselect restriction.",
122 "items": {
183 "items": {
123 "type": "string"
184 "type": "string"
124 }
185 }
@@ -127,6 +188,13 @@
127 "type": "string",
188 "type": "string",
128 "description": "The unique key that the product uses to identify the restriction, e.g. \"com.google.android.gm.fieldname\"."
189 "description": "The unique key that the product uses to identify the restriction, e.g. \"com.google.android.gm.fieldname\"."
129 },
190 },
191+ "nestedRestriction": {
192+ "type": "array",
193+ "description": "For bundle or bundleArray restrictions, the list of nested restrictions. A bundle restriction is always nested within a bundleArray restriction, and a bundleArray restriction is at most two levels deep.",
194+ "items": {
195+ "$ref": "AppRestrictionsSchemaRestriction"
196+ }
197+ },
130 "restrictionType": {
198 "restrictionType": {
131 "type": "string",
199 "type": "string",
132 "description": "The type of the restriction."
200 "description": "The type of the restriction."
@@ -168,6 +236,17 @@
168 }
236 }
169 }
237 }
170 },
238 },
239+ "AppUpdateEvent": {
240+ "id": "AppUpdateEvent",
241+ "type": "object",
242+ "description": "An event generated when a new version of an app is uploaded to Google Play. Notifications are sent for new public versions only: alpha, beta, or canary versions do not generate this event. To fetch up-to-date version history for an app, use Products.Get on the EMM API.",
243+ "properties": {
244+ "productId": {
245+ "type": "string",
246+ "description": "The id of the product (e.g. \"app:com.google.android.gm\") that was updated. This field will always be present."
247+ }
248+ }
249+ },
171 "AppVersion": {
250 "AppVersion": {
172 "id": "AppVersion",
251 "id": "AppVersion",
173 "type": "object",
252 "type": "object",
@@ -200,6 +279,22 @@
200 }
279 }
201 }
280 }
202 },
281 },
282+ "AuthenticationToken": {
283+ "id": "AuthenticationToken",
284+ "type": "object",
285+ "description": "An AuthenticationToken is used by the EMM's device policy client on a device to provision the given EMM-managed user on that device.",
286+ "properties": {
287+ "kind": {
288+ "type": "string",
289+ "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#authenticationToken\".",
290+ "default": "androidenterprise#authenticationToken"
291+ },
292+ "token": {
293+ "type": "string",
294+ "description": "The authentication token to be passed to the device policy client on the device where it can be used to provision the account for which this token was generated."
295+ }
296+ }
297+ },
203 "Collection": {
298 "Collection": {
204 "id": "Collection",
299 "id": "Collection",
205 "type": "object",
300 "type": "object",
@@ -297,7 +392,7 @@
297 },
392 },
298 "managementType": {
393 "managementType": {
299 "type": "string",
394 "type": "string",
300− "description": "The mechanism by which this device is managed by the EMM. \"managedDevice\" means that the EMM's app is a device owner. \"managedProfile\" means that the EMM's app is the profile owner (and there is a separate personal profile which is not managed). \"containerApp\" means that the EMM's app is managing the Android for Work container app on the device. ?unmanagedProfile? means that the EMM?s app is managing a managed user on an unmanaged device"
395+ "description": "Identifies the extent to which the device is controlled by an Android for Work EMM in various deployment configurations.\n\nPossible values include: \n- \"managedDevice\", a device that has the EMM's device policy controller (DPC) as the device owner, \n- \"managedProfile\", a device that has a work profile managed by the DPC (DPC is profile owner) in addition to a separate, personal profile that is unavailable to the DPC, \n- \"containerApp\", a device running the Android for Work App. The Android for Work App is managed by the DPC, \n- \"unmanagedProfile\", a device that has been allowed (by the domain's admin, using the Admin Console to enable the privilege) to use Android for Work apps or Google Apps for Work, but the profile is itself not owned by a DPC."
301 }
396 }
302 }
397 }
303 },
398 },
@@ -339,8 +434,15 @@
339 "Enterprise": {
434 "Enterprise": {
340 "id": "Enterprise",
435 "id": "Enterprise",
341 "type": "object",
436 "type": "object",
342− "description": "An enterprise resource represents a binding between an organization and their EMM.\n\nTo create an enterprise, an admin of the enterprise must first go through a Play for Work sign-up flow. At the end of this the admin will be presented with a token (a short opaque alphanumeric string). They must then present this to the EMM, who then supplies it to the enroll method. Until this is done the EMM will not have any access to the enterprise.\n\nAfter calling enroll the EMM should call setAccount to specify the service account that will be allowed to act on behalf of the enterprise, which will be required for access to the enterprise's data through this API. Only one call of setAccount is allowed for a given enterprise; the only way to change the account later is to unenroll the enterprise and enroll it again (obtaining a new token).\n\nThe EMM can unenroll an enterprise in order to sever the binding between them. Re-enrolling an enterprise is possible, but requires a new token to be retrieved. Enterprises.unenroll requires the EMM's credentials (as enroll does), not the enterprise's. Enterprises.unenroll can only be used for enterprises that were previously enrolled with the enroll call. Any enterprises that were enrolled using the (deprecated) Enterprises.insert call must be unenrolled with Enterprises.delete and can then be re-enrolled using the Enterprises.enroll call.\n\nThe ID for an enterprise is an opaque string. It is returned by insert and enroll and can also be retrieved if the enterprise's primary domain is known using the list method.",
437+ "description": "An Enterprises resource represents the binding between an EMM and a specific organization. That binding can be instantiated in one of two different ways using this API as follows: \n- For Google managed domain customers, the process involves using Enterprises.enroll and Enterprises.setAccount (in conjunction with artifacts obtained from the Admin console and the Google API Console) and submitted to the EMM through a more-or-less manual process. \n- For Android for Work Accounts customers, the process involves using Enterprises.generateSignupUrl and Enterprises.completeSignup in conjunction with the Android for Work Sign-up UI (Google-provided mechanism) to create the binding without manual steps. As an EMM, you can support either or both approaches in your EMM console. See Create an Enterprise for details.",
343 "properties": {
438 "properties": {
439+ "administrator": {
440+ "type": "array",
441+ "description": "Administrators of the enterprise. This is only supported for enterprises created via the EMM-initiated flow.",
442+ "items": {
443+ "$ref": "Administrator"
444+ }
445+ },
344 "id": {
446 "id": {
345 "type": "string",
447 "type": "string",
346 "description": "The unique ID for the enterprise."
448 "description": "The unique ID for the enterprise."
@@ -352,11 +454,11 @@
352 },
454 },
353 "name": {
455 "name": {
354 "type": "string",
456 "type": "string",
355− "description": "The name of the enterprise, e.g. \"Example Inc\"."
457+ "description": "The name of the enterprise, for example, \"Example, Inc\"."
356 },
458 },
357 "primaryDomain": {
459 "primaryDomain": {
358 "type": "string",
460 "type": "string",
359− "description": "The enterprise's primary domain, e.g. \"example.com\".",
461+ "description": "The enterprise's primary domain, such as \"example.com\".",
360 "annotations": {
462 "annotations": {
361 "required": [
463 "required": [
362 "androidenterprise.enterprises.insert"
464 "androidenterprise.enterprises.insert"
@@ -550,6 +652,33 @@
550 }
652 }
551 }
653 }
552 },
654 },
655+ "InstallFailureEvent": {
656+ "id": "InstallFailureEvent",
657+ "type": "object",
658+ "description": "An event generated when an app installation failed on a device",
659+ "properties": {
660+ "deviceId": {
661+ "type": "string",
662+ "description": "The Android ID of the device. This field will always be present."
663+ },
664+ "failureDetails": {
665+ "type": "string",
666+ "description": "Additional details on the failure if applicable."
667+ },
668+ "failureReason": {
669+ "type": "string",
670+ "description": "The reason for the installation failure. This field will always be present."
671+ },
672+ "productId": {
673+ "type": "string",
674+ "description": "The id of the product (e.g. \"app:com.google.android.gm\") for which the install failure event occured. This field will always be present."
675+ },
676+ "userId": {
677+ "type": "string",
678+ "description": "The ID of the user. This field will always be present."
679+ }
680+ }
681+ },
553 "InstallsListResponse": {
682 "InstallsListResponse": {
554 "id": "InstallsListResponse",
683 "id": "InstallsListResponse",
555 "type": "object",
684 "type": "object",
@@ -584,6 +713,211 @@
584 }
713 }
585 }
714 }
586 },
715 },
716+ "ManagedConfiguration": {
717+ "id": "ManagedConfiguration",
718+ "type": "object",
719+ "description": "A managed configuration resource contains the set of managed properties that have been configured for an Android app. The app's developer would have defined configurable properties in the managed configurations schema.",
720+ "properties": {
721+ "kind": {
722+ "type": "string",
723+ "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#managedConfiguration\".",
724+ "default": "androidenterprise#managedConfiguration"
725+ },
726+ "managedProperty": {
727+ "type": "array",
728+ "description": "The set of managed properties for this configuration.",
729+ "items": {
730+ "$ref": "ManagedProperty"
731+ }
732+ },
733+ "productId": {
734+ "type": "string",
735+ "description": "The ID of the product that the managed configuration is for, e.g. \"app:com.google.android.gm\"."
736+ }
737+ }
738+ },
739+ "ManagedConfigurationsForDeviceListResponse": {
740+ "id": "ManagedConfigurationsForDeviceListResponse",
741+ "type": "object",
742+ "description": "The managed configuration resources for the device.",
743+ "properties": {
744+ "kind": {
745+ "type": "string",
746+ "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#managedConfigurationsForDeviceListResponse\".",
747+ "default": "androidenterprise#managedConfigurationsForDeviceListResponse"
748+ },
749+ "managedConfigurationForDevice": {
750+ "type": "array",
751+ "description": "A managed configuration for an app on a specific device.",
752+ "items": {
753+ "$ref": "ManagedConfiguration"
754+ }
755+ }
756+ }
757+ },
758+ "ManagedConfigurationsForUserListResponse": {
759+ "id": "ManagedConfigurationsForUserListResponse",
760+ "type": "object",
761+ "description": "The managed configuration resources for the user.",
762+ "properties": {
763+ "kind": {
764+ "type": "string",
765+ "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#managedConfigurationsForUserListResponse\".",
766+ "default": "androidenterprise#managedConfigurationsForUserListResponse"
767+ },
768+ "managedConfigurationForUser": {
769+ "type": "array",
770+ "description": "A managed configuration for an app for a specific user.",
771+ "items": {
772+ "$ref": "ManagedConfiguration"
773+ }
774+ }
775+ }
776+ },
777+ "ManagedProperty": {
778+ "id": "ManagedProperty",
779+ "type": "object",
780+ "description": "A managed property of a managed configuration. The property must match one of the properties in the app restrictions schema of the product. Exactly one of the value fields must be populated, and it must match the property's type in the app restrictions schema.",
781+ "properties": {
782+ "key": {
783+ "type": "string",
784+ "description": "The unique key that identifies the property."
785+ },
786+ "valueBool": {
787+ "type": "boolean",
788+ "description": "The boolean value - this will only be present if type of the property is bool."
789+ },
790+ "valueBundle": {
791+ "$ref": "ManagedPropertyBundle",
792+ "description": "The bundle of managed properties - this will only be present if type of the property is bundle."
793+ },
794+ "valueBundleArray": {
795+ "type": "array",
796+ "description": "The list of bundles of properties - this will only be present if type of the property is bundle_array.",
797+ "items": {
798+ "$ref": "ManagedPropertyBundle"
799+ }
800+ },
801+ "valueInteger": {
802+ "type": "integer",
803+ "description": "The integer value - this will only be present if type of the property is integer.",
804+ "format": "int32"
805+ },
806+ "valueString": {
807+ "type": "string",
808+ "description": "The string value - this will only be present if type of the property is string, choice or hidden."
809+ },
810+ "valueStringArray": {
811+ "type": "array",
812+ "description": "The list of string values - this will only be present if type of the property is multiselect.",
813+ "items": {
814+ "type": "string"
815+ }
816+ }
817+ }
818+ },
819+ "ManagedPropertyBundle": {
820+ "id": "ManagedPropertyBundle",
821+ "type": "object",
822+ "description": "A bundle of managed properties.",
823+ "properties": {
824+ "managedProperty": {
825+ "type": "array",
826+ "description": "The list of managed properties.",
827+ "items": {
828+ "$ref": "ManagedProperty"
829+ }
830+ }
831+ }
832+ },
833+ "NewPermissionsEvent": {
834+ "id": "NewPermissionsEvent",
835+ "type": "object",
836+ "description": "An event generated when new permissions are added to an app.",
837+ "properties": {
838+ "approvedPermissions": {
839+ "type": "array",
840+ "description": "The set of permissions that the enterprise admin has already approved for this application. Use Permissions.Get on the EMM API to retrieve details about these permissions.",
841+ "items": {
842+ "type": "string"
843+ }
844+ },
845+ "productId": {
846+ "type": "string",
847+ "description": "The id of the product (e.g. \"app:com.google.android.gm\") for which new permissions were added. This field will always be present."
848+ },
849+ "requestedPermissions": {
850+ "type": "array",
851+ "description": "The set of permissions that the app is currently requesting. Use Permissions.Get on the EMM API to retrieve details about these permissions.",
852+ "items": {
853+ "type": "string"
854+ }
855+ }
856+ }
857+ },
858+ "Notification": {
859+ "id": "Notification",
860+ "type": "object",
861+ "description": "A notification of one event relating to an enterprise.",
862+ "properties": {
863+ "appRestrictionsSchemaChangeEvent": {
864+ "$ref": "AppRestrictionsSchemaChangeEvent",
865+ "description": "Notifications about new app restrictions schema changes."
866+ },
867+ "appUpdateEvent": {
868+ "$ref": "AppUpdateEvent",
869+ "description": "Notifications about app updates."
870+ },
871+ "enterpriseId": {
872+ "type": "string",
873+ "description": "The ID of the enterprise for which the notification is sent. This will always be present."
874+ },
875+ "installFailureEvent": {
876+ "$ref": "InstallFailureEvent",
877+ "description": "Notifications about an app installation failure."
878+ },
879+ "newPermissionsEvent": {
880+ "$ref": "NewPermissionsEvent",
881+ "description": "Notifications about new app permissions."
882+ },
883+ "productApprovalEvent": {
884+ "$ref": "ProductApprovalEvent",
885+ "description": "Notifications about changes to a product's approval status."
886+ },
887+ "productAvailabilityChangeEvent": {
888+ "$ref": "ProductAvailabilityChangeEvent",
889+ "description": "Notifications about product availability changes."
890+ },
891+ "timestampMillis": {
892+ "type": "string",
893+ "description": "The time when the notification was published in milliseconds since 1970-01-01T00:00:00Z. This will always be present.",
894+ "format": "int64"
895+ }
896+ }
897+ },
898+ "NotificationSet": {
899+ "id": "NotificationSet",
900+ "type": "object",
901+ "description": "A resource returned by the PullNotificationSet API, which contains a collection of notifications for enterprises associated with the service account authenticated for the request.",
902+ "properties": {
903+ "kind": {
904+ "type": "string",
905+ "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#notificationSet\".",
906+ "default": "androidenterprise#notificationSet"
907+ },
908+ "notification": {
909+ "type": "array",
910+ "description": "The notifications received, or empty if no notifications are present.",
911+ "items": {
912+ "$ref": "Notification"
913+ }
914+ },
915+ "notificationSetId": {
916+ "type": "string",
917+ "description": "The notification set ID, required to mark the notification as received with the Enterprises.AcknowledgeNotification API. This will be omitted if no notifications are present."
918+ }
919+ }
920+ },
587 "PageInfo": {
921 "PageInfo": {
588 "id": "PageInfo",
922 "id": "PageInfo",
589 "type": "object",
923 "type": "object",
@@ -629,7 +963,7 @@
629 "Product": {
963 "Product": {
630 "id": "Product",
964 "id": "Product",
631 "type": "object",
965 "type": "object",
632− "description": "A product represents an app in the Google Play Store that is available to at least some users in the enterprise. (Some apps are restricted to a single enterprise, and no information about them is made available outside that enterprise.)\n\nThe information provided for each product (localized name, icon, link to the full Google Play details page) is intended to allow a basic representation of the product within an EMM user interface.",
966+ "description": "A Products resource represents an app in the Google Play Store that is available to at least some users in the enterprise. (Some apps are restricted to a single enterprise, and no information about them is made available outside that enterprise.)\n\nThe information provided for each product (localized name, icon, link to the full Google Play details page) is intended to allow a basic representation of the product within an EMM user interface.",
633 "properties": {
967 "properties": {
634 "appVersion": {
968 "appVersion": {
635 "type": "array",
969 "type": "array",
@@ -665,7 +999,7 @@
665 },
999 },
666 "productPricing": {
1000 "productPricing": {
667 "type": "string",
1001 "type": "string",
668− "description": "Whether this product is free, free with in-app purchases, or paid."
1002+ "description": "Whether this product is free, free with in-app purchases, or paid. If the pricing is unknown, this means the product is not generally available anymore (even though it might still be available to people who own it)."
669 },
1003 },
670 "requiresContainerApp": {
1004 "requiresContainerApp": {
671 "type": "boolean",
1005 "type": "boolean",
@@ -685,6 +1019,36 @@
685 }
1019 }
686 }
1020 }
687 },
1021 },
1022+ "ProductApprovalEvent": {
1023+ "id": "ProductApprovalEvent",
1024+ "type": "object",
1025+ "description": "An event generated when a product's approval status is changed.",
1026+ "properties": {
1027+ "approved": {
1028+ "type": "string",
1029+ "description": "Whether the product was approved or unapproved. This field will always be present."
1030+ },
1031+ "productId": {
1032+ "type": "string",
1033+ "description": "The id of the product (e.g. \"app:com.google.android.gm\") for which the approval status has changed. This field will always be present."
1034+ }
1035+ }
1036+ },
1037+ "ProductAvailabilityChangeEvent": {
1038+ "id": "ProductAvailabilityChangeEvent",
1039+ "type": "object",
1040+ "description": "An event generated whenever a product's availability changes.",
1041+ "properties": {
1042+ "availabilityStatus": {
1043+ "type": "string",
1044+ "description": "The new state of the product. This field will always be present."
1045+ },
1046+ "productId": {
1047+ "type": "string",
1048+ "description": "The id of the product (e.g. \"app:com.google.android.gm\") for which the product availability changed. This field will always be present."
1049+ }
1050+ }
1051+ },
688 "ProductPermission": {
1052 "ProductPermission": {
689 "id": "ProductPermission",
1053 "id": "ProductPermission",
690 "type": "object",
1054 "type": "object",
@@ -744,6 +1108,10 @@
744 "items": {
1108 "items": {
745 "type": "string"
1109 "type": "string"
746 }
1110 }
1111+ },
1112+ "productSetBehavior": {
1113+ "type": "string",
1114+ "description": "The interpretation of this product set. \"unknown\" should never be sent and ignored if received. \"whitelist\" means that this product set constitutes a whitelist. \"includeAll\" means that all products are accessible (the value of the productId field is therefore ignored). If a value is not supplied, it is interpreted to be \"whitelist\" for backwards compatibility."
747 }
1115 }
748 }
1116 }
749 },
1117 },
@@ -794,57 +1162,143 @@
794 }
1162 }
795 }
1163 }
796 },
1164 },
797− "StoreCluster": {
1165+ "ServiceAccount": {
798− "id": "StoreCluster",
1166+ "id": "ServiceAccount",
799 "type": "object",
1167 "type": "object",
800− "description": "Definition of a Google Play for Work store cluster, a list of products displayed as part of a store page.",
1168+ "description": "A service account identity, including the name and credentials that can be used to authenticate as the service account.",
801 "properties": {
1169 "properties": {
802− "id": {
1170+ "key": {
803− "type": "string",
1171+ "$ref": "ServiceAccountKey",
804− "description": "Unique ID of this cluster. Assigned by the server. Immutable once assigned."
1172+ "description": "Credentials that can be used to authenticate as this ServiceAccount."
805 },
1173 },
806 "kind": {
1174 "kind": {
807 "type": "string",
1175 "type": "string",
808− "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#storeCluster\".",
1176+ "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#serviceAccount\".",
809− "default": "androidenterprise#storeCluster"
1177+ "default": "androidenterprise#serviceAccount"
810 },
1178 },
811 "name": {
1179 "name": {
812− "type": "array",
813− "description": "Ordered list of localized strings giving the name of this page. The text displayed is the one that best matches the user locale, or the first entry if there is no good match. There needs to be at least one entry.",
814− "items": {
815− "$ref": "LocalizedText"
816− }
817− },
818− "orderInPage": {
819 "type": "string",
1180 "type": "string",
820− "description": "String (US-ASCII only) used to determine order of this cluster within the parent page's elements. Page elements are sorted in lexicographic order of this field. Duplicated values are allowed, but ordering between elements with duplicate order is undefined.\n\nThe value of this field is never visible to a user, it is used solely for the purpose of defining an ordering. Maximum length is 256 characters."
1181+ "description": "The account name of the service account, in the form of an email address. Assigned by the server."
821− },
822− "productId": {
823− "type": "array",
824− "description": "List of products in the order they are displayed in the cluster. There should not be duplicates within a cluster.",
825− "items": {
826− "type": "string"
827− }
828 }
1182 }
829 }
1183 }
830 },
1184 },
831− "StoreLayout": {
1185+ "ServiceAccountKey": {
832− "id": "StoreLayout",
1186+ "id": "ServiceAccountKey",
833 "type": "object",
1187 "type": "object",
834− "description": "General setting for the Google Play for Work store layout, currently only specifying the page to display the first time the store is opened.",
1188+ "description": "Credentials that can be used to authenticate as a service account.",
835 "properties": {
1189 "properties": {
836− "homepageId": {
1190+ "data": {
1191+ "type": "string",
1192+ "description": "The body of the private key credentials file, in string format. This is only populated when the ServiceAccountKey is created, and is not stored by Google."
1193+ },
1194+ "id": {
837 "type": "string",
1195 "type": "string",
838− "description": "The ID of the store page to be used as the homepage. The homepage will be used as the first page shown in the Google Play for Work store.\n\nIf there is no homepage set, an empty store is shown. The homepage can be unset (by not specifying it) to empty the store.\n\nIf there exists at least one page, this field must be set to the ID of a valid page."
1196+ "description": "An opaque, unique identifier for this ServiceAccountKey. Assigned by the server."
839 },
1197 },
840 "kind": {
1198 "kind": {
841 "type": "string",
1199 "type": "string",
842− "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#storeLayout\".",
1200+ "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#serviceAccountKey\".",
843− "default": "androidenterprise#storeLayout"
1201+ "default": "androidenterprise#serviceAccountKey"
1202+ },
1203+ "type": {
1204+ "type": "string",
1205+ "description": "The file format of the generated key data.",
1206+ "annotations": {
1207+ "required": [
1208+ "androidenterprise.serviceaccountkeys.insert"
1209+ ]
1210+ }
844 }
1211 }
845 }
1212 }
846 },
1213 },
1214+ "ServiceAccountKeysListResponse": {
1215+ "id": "ServiceAccountKeysListResponse",
1216+ "type": "object",
1217+ "properties": {
1218+ "serviceAccountKey": {
1219+ "type": "array",
1220+ "description": "The service account credentials.",
1221+ "items": {
1222+ "$ref": "ServiceAccountKey"
1223+ }
1224+ }
1225+ }
1226+ },
1227+ "SignupInfo": {
1228+ "id": "SignupInfo",
1229+ "type": "object",
1230+ "description": "A resource returned by the GenerateSignupUrl API, which contains the Signup URL and Completion Token.",
1231+ "properties": {
1232+ "completionToken": {
1233+ "type": "string",
1234+ "description": "An opaque token that will be required, along with the Enterprise Token, for obtaining the enterprise resource from CompleteSignup."
1235+ },
1236+ "kind": {
1237+ "type": "string",
1238+ "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#signupInfo\".",
1239+ "default": "androidenterprise#signupInfo"
1240+ },
1241+ "url": {
1242+ "type": "string",
1243+ "description": "A URL under which the Admin can sign up for an enterprise. The page pointed to cannot be rendered in an iframe."
1244+ }
1245+ }
1246+ },
1247+ "StoreCluster": {
1248+ "id": "StoreCluster",
1249+ "type": "object",
1250+ "description": "Definition of a Google Play for Work store cluster, a list of products displayed as part of a store page.",
1251+ "properties": {
1252+ "id": {
1253+ "type": "string",
1254+ "description": "Unique ID of this cluster. Assigned by the server. Immutable once assigned."
1255+ },
1256+ "kind": {
1257+ "type": "string",
1258+ "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#storeCluster\".",
1259+ "default": "androidenterprise#storeCluster"
1260+ },
1261+ "name": {
1262+ "type": "array",
1263+ "description": "Ordered list of localized strings giving the name of this page. The text displayed is the one that best matches the user locale, or the first entry if there is no good match. There needs to be at least one entry.",
1264+ "items": {
1265+ "$ref": "LocalizedText"
1266+ }
1267+ },
1268+ "orderInPage": {
1269+ "type": "string",
1270+ "description": "String (US-ASCII only) used to determine order of this cluster within the parent page's elements. Page elements are sorted in lexicographic order of this field. Duplicated values are allowed, but ordering between elements with duplicate order is undefined.\n\nThe value of this field is never visible to a user, it is used solely for the purpose of defining an ordering. Maximum length is 256 characters."
1271+ },
1272+ "productId": {
1273+ "type": "array",
1274+ "description": "List of products in the order they are displayed in the cluster. There should not be duplicates within a cluster.",
1275+ "items": {
1276+ "type": "string"
1277+ }
1278+ }
1279+ }
1280+ },
1281+ "StoreLayout": {
1282+ "id": "StoreLayout",
1283+ "type": "object",
1284+ "description": "General setting for the Google Play for Work store layout, currently only specifying the page to display the first time the store is opened.",
1285+ "properties": {
1286+ "homepageId": {
1287+ "type": "string",
1288+ "description": "The ID of the store page to be used as the homepage. The homepage will be used as the first page shown in the Google Play for Work store.\n\nIf a homepage has not been set, the Play store shown on devices will be empty. Not specifying a homepage on a store layout effectively empties the store.\n\nIf there exists at least one page, this field must be set to the ID of a valid page."
1289+ },
1290+ "kind": {
1291+ "type": "string",
1292+ "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#storeLayout\".",
1293+ "default": "androidenterprise#storeLayout"
1294+ },
1295+ "storeLayoutType": {
1296+ "type": "string",
1297+ "description": "Sets a store layout type. If set to \"custom\", \"homepageId\" must be specified. If set to \"basic\", the layout will consist of all approved apps accessible by the user, split in pages of 100 each; in this case, \"homepageId\" must not be specified. The \"basic\" setting takes precedence over any existing collections setup for this enterprise (if any). Should the enterprise use collectionViewers for controlling access rights, these will still be respected."
1298+ }
1299+ }
1300+ },
847− "StoreLayoutClustersListResponse": {
1301+ "StoreLayoutClustersListResponse": {
848 "id": "StoreLayoutClustersListResponse",
1302 "id": "StoreLayoutClustersListResponse",
849 "type": "object",
1303 "type": "object",
850 "description": "The store page resources for the enterprise.",
1304 "description": "The store page resources for the enterprise.",
@@ -927,8 +1381,30 @@
927 "User": {
1381 "User": {
928 "id": "User",
1382 "id": "User",
929 "type": "object",
1383 "type": "object",
930− "description": "A user resource represents an individual user within the enterprise's domain.\n\nNote that each user is associated with a Google account based on the user's corporate email address (which must be in one of the enterprise's domains). As part of installing the EMM's DPC app to manage a device the Google account must be provisioned to the device, and so the user resource must be created before that. This can be done using the Google Admin SDK Directory API.\n\nThe ID for a user is an opaque string. It can be retrieved using the list method queried by the user's primary email address.",
1384+ "description": "A Users resource represents an account associated with an enterprise. The account may be specific to a device or to an individual user (who can then use the account across multiple devices). The account may provide access to Google Play for Work only, or to other Google services, depending on the identity model: \n- Google managed domain identity model requires synchronization to Google account sources (via primaryEmail). \n- Android for Work Accounts identity model provides a dynamic means for enterprises to create user or device accounts as needed. These accounts provide access to Google Play for Work only.",
931 "properties": {
1385 "properties": {
1386+ "accountIdentifier": {
1387+ "type": "string",
1388+ "description": "A unique identifier you create for this user, such as \"user342\" or \"asset#44418\". Do not use personally identifiable information (PII) for this property. Must always be set for EMM-managed users. Not set for Google-managed users.",
1389+ "annotations": {
1390+ "required": [
1391+ "androidenterprise.users.insert"
1392+ ]
1393+ }
1394+ },
1395+ "accountType": {
1396+ "type": "string",
1397+ "description": "The type of account that this user represents. A userAccount can be installed on multiple devices, but a deviceAccount is specific to a single device. An EMM-managed user (emmManaged) can be either type (userAccount, deviceAccount), but a Google-managed user (googleManaged) is always a userAccount.",
1398+ "annotations": {
1399+ "required": [
1400+ "androidenterprise.users.insert"
1401+ ]
1402+ }
1403+ },
1404+ "displayName": {
1405+ "type": "string",
1406+ "description": "The name that will appear in user interfaces. Setting this property is optional when creating EMM-managed users. If you do set this property, use something generic about the organization (such as \"Example, Inc.\") or your name (as EMM). Not used for Google-managed user accounts."
1407+ },
932 "id": {
1408 "id": {
933 "type": "string",
1409 "type": "string",
934 "description": "The unique ID for the user."
1410 "description": "The unique ID for the user."
@@ -938,9 +1414,13 @@
938 "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#user\".",
1414 "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#user\".",
939 "default": "androidenterprise#user"
1415 "default": "androidenterprise#user"
940 },
1416 },
1417+ "managementType": {
1418+ "type": "string",
1419+ "description": "The entity that manages the user. With googleManaged users, the source of truth is Google so EMMs have to make sure a Google Account exists for the user. With emmManaged users, the EMM is in charge."
1420+ },
941 "primaryEmail": {
1421 "primaryEmail": {
942 "type": "string",
1422 "type": "string",
943− "description": "The user's primary email, e.g. \"jsmith@example.com\"."
1423+ "description": "The user's primary email address, for example, \"jsmith@example.com\". Will always be set for Google managed users and not set for EMM managed users."
944 }
1424 }
945 }
1425 }
946 },
1426 },
@@ -1389,7 +1869,7 @@
1389 "id": "androidenterprise.devices.getState",
1869 "id": "androidenterprise.devices.getState",
1390 "path": "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/state",
1870 "path": "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/state",
1391 "httpMethod": "GET",
1871 "httpMethod": "GET",
1392− "description": "Retrieves whether a device is enabled or disabled for access by the user to Google services. The device state takes effect only if enforcing EMM policies on Android devices is enabled in the Google Admin Console. Otherwise, the device state is ignored and all devices are allowed access to Google services.",
1872+ "description": "Retrieves whether a device's access to Google services is enabled or disabled. The device state takes effect only if enforcing EMM policies on Android devices is enabled in the Google Admin Console. Otherwise, the device state is ignored and all devices are allowed access to Google services. This is only supported for Google-managed users.",
1393 "parameters": {
1873 "parameters": {
1394 "deviceId": {
1874 "deviceId": {
1395 "type": "string",
1875 "type": "string",
@@ -1456,7 +1936,7 @@
1456 "id": "androidenterprise.devices.setState",
1936 "id": "androidenterprise.devices.setState",
1457 "path": "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/state",
1937 "path": "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/state",
1458 "httpMethod": "PUT",
1938 "httpMethod": "PUT",
1459− "description": "Sets whether a device is enabled or disabled for access by the user to Google services. The device state takes effect only if enforcing EMM policies on Android devices is enabled in the Google Admin Console. Otherwise, the device state is ignored and all devices are allowed access to Google services.",
1939+ "description": "Sets whether a device's access to Google services is enabled or disabled. The device state takes effect only if enforcing EMM policies on Android devices is enabled in the Google Admin Console. Otherwise, the device state is ignored and all devices are allowed access to Google services. This is only supported for Google-managed users.",
1460 "parameters": {
1940 "parameters": {
1461 "deviceId": {
1941 "deviceId": {
1462 "type": "string",
1942 "type": "string",
@@ -1496,6 +1976,72 @@
1496 },
1976 },
1497 "enterprises": {
1977 "enterprises": {
1498 "methods": {
1978 "methods": {
1979+ "acknowledgeNotificationSet": {
1980+ "id": "androidenterprise.enterprises.acknowledgeNotificationSet",
1981+ "path": "enterprises/acknowledgeNotificationSet",
1982+ "httpMethod": "POST",
1983+ "description": "Acknowledges notifications that were received from Enterprises.PullNotificationSet to prevent subsequent calls from returning the same notifications.",
1984+ "parameters": {
1985+ "notificationSetId": {
1986+ "type": "string",
1987+ "description": "The notification set ID as returned by Enterprises.PullNotificationSet. This must be provided.",
1988+ "location": "query"
1989+ }
1990+ },
1991+ "scopes": [
1992+ "https://www.googleapis.com/auth/androidenterprise"
1993+ ]
1994+ },
1995+ "completeSignup": {
1996+ "id": "androidenterprise.enterprises.completeSignup",
1997+ "path": "enterprises/completeSignup",
1998+ "httpMethod": "POST",
1999+ "description": "Completes the signup flow, by specifying the Completion token and Enterprise token. This request must not be called multiple times for a given Enterprise Token.",
2000+ "parameters": {
2001+ "completionToken": {
2002+ "type": "string",
2003+ "description": "The Completion token initially returned by GenerateSignupUrl.",
2004+ "location": "query"
2005+ },
2006+ "enterpriseToken": {
2007+ "type": "string",
2008+ "description": "The Enterprise token appended to the Callback URL.",
2009+ "location": "query"
2010+ }
2011+ },
2012+ "response": {
2013+ "$ref": "Enterprise"
2014+ },
2015+ "scopes": [
2016+ "https://www.googleapis.com/auth/androidenterprise"
2017+ ]
2018+ },
2019+ "createWebToken": {
2020+ "id": "androidenterprise.enterprises.createWebToken",
2021+ "path": "enterprises/{enterpriseId}/createWebToken",
2022+ "httpMethod": "POST",
2023+ "description": "Returns a unique token to access an embeddable UI. To generate a web UI, pass the generated token into the Play for Work javascript API. Each token may only be used to start one UI session. See the javascript API documentation for further information.",
2024+ "parameters": {
2025+ "enterpriseId": {
2026+ "type": "string",
2027+ "description": "The ID of the enterprise.",
2028+ "required": true,
2029+ "location": "path"
2030+ }
2031+ },
2032+ "parameterOrder": [
2033+ "enterpriseId"
2034+ ],
2035+ "request": {
2036+ "$ref": "AdministratorWebTokenSpec"
2037+ },
2038+ "response": {
2039+ "$ref": "AdministratorWebToken"
2040+ },
2041+ "scopes": [
2042+ "https://www.googleapis.com/auth/androidenterprise"
2043+ ]
2044+ },
1499 "delete": {
2045 "delete": {
1500 "id": "androidenterprise.enterprises.delete",
2046 "id": "androidenterprise.enterprises.delete",
1501 "path": "enterprises/{enterpriseId}",
2047 "path": "enterprises/{enterpriseId}",
@@ -1542,6 +2088,25 @@
1542 "https://www.googleapis.com/auth/androidenterprise"
2088 "https://www.googleapis.com/auth/androidenterprise"
1543 ]
2089 ]
1544 },
2090 },
2091+ "generateSignupUrl": {
2092+ "id": "androidenterprise.enterprises.generateSignupUrl",
2093+ "path": "enterprises/signupUrl",
2094+ "httpMethod": "POST",
2095+ "description": "Generates a sign-up URL.",
2096+ "parameters": {
2097+ "callbackUrl": {
2098+ "type": "string",
2099+ "description": "The callback URL to which the Admin will be redirected after successfully creating an enterprise. Before redirecting there the system will add a single query parameter to this URL named \"enterpriseToken\" which will contain an opaque token to be used for the CompleteSignup request.\nBeware that this means that the URL will be parsed, the parameter added and then a new URL formatted, i.e. there may be some minor formatting changes and, more importantly, the URL must be well-formed so that it can be parsed.",
2100+ "location": "query"
2101+ }
2102+ },
2103+ "response": {
2104+ "$ref": "SignupInfo"
2105+ },
2106+ "scopes": [
2107+ "https://www.googleapis.com/auth/androidenterprise"
2108+ ]
2109+ },
1545 "get": {
2110 "get": {
1546 "id": "androidenterprise.enterprises.get",
2111 "id": "androidenterprise.enterprises.get",
1547 "path": "enterprises/{enterpriseId}",
2112 "path": "enterprises/{enterpriseId}",
@@ -1565,11 +2130,47 @@
1565 "https://www.googleapis.com/auth/androidenterprise"
2130 "https://www.googleapis.com/auth/androidenterprise"
1566 ]
2131 ]
1567 },
2132 },
2133+ "getServiceAccount": {
2134+ "id": "androidenterprise.enterprises.getServiceAccount",
2135+ "path": "enterprises/{enterpriseId}/serviceAccount",
2136+ "httpMethod": "GET",
2137+ "description": "Returns a service account and credentials. The service account can be bound to the enterprise by calling setAccount. The service account is unique to this enterprise and EMM, and will be deleted if the enterprise is unbound. The credentials contain private key data and are not stored server-side.\n\nThis method can only be called after calling Enterprises.Enroll or Enterprises.CompleteSignup, and before Enterprises.SetAccount; at other times it will return an error.\n\nSubsequent calls after the first will generate a new, unique set of credentials, and invalidate the previously generated credentials.\n\nOnce the service account is bound to the enterprise, it can be managed using the serviceAccountKeys resource.",
2138+ "parameters": {
2139+ "enterpriseId": {
2140+ "type": "string",
2141+ "description": "The ID of the enterprise.",
2142+ "required": true,
2143+ "location": "path"
2144+ },
2145+ "keyType": {
2146+ "type": "string",
2147+ "description": "The type of credential to return with the service account. Required.",
2148+ "enum": [
2149+ "googleCredentials",
2150+ "pkcs12"
2151+ ],
2152+ "enumDescriptions": [
2153+ "",
2154+ ""
2155+ ],
2156+ "location": "query"
2157+ }
2158+ },
2159+ "parameterOrder": [
2160+ "enterpriseId"
2161+ ],
2162+ "response": {
2163+ "$ref": "ServiceAccount"
2164+ },
2165+ "scopes": [
2166+ "https://www.googleapis.com/auth/androidenterprise"
2167+ ]
2168+ },
1568 "getStoreLayout": {
2169 "getStoreLayout": {
1569 "id": "androidenterprise.enterprises.getStoreLayout",
2170 "id": "androidenterprise.enterprises.getStoreLayout",
1570 "path": "enterprises/{enterpriseId}/storeLayout",
2171 "path": "enterprises/{enterpriseId}/storeLayout",
1571 "httpMethod": "GET",
2172 "httpMethod": "GET",
1572− "description": "Returns the store layout resource.",
2173+ "description": "Returns the store layout for the enterprise. If the store layout has not been set, or if the store layout has no homepageId set, returns a NOT_FOUND error.",
1573 "parameters": {
2174 "parameters": {
1574 "enterpriseId": {
2175 "enterpriseId": {
1575 "type": "string",
2176 "type": "string",
@@ -1618,7 +2219,7 @@
1618 "id": "androidenterprise.enterprises.list",
2219 "id": "androidenterprise.enterprises.list",
1619 "path": "enterprises",
2220 "path": "enterprises",
1620 "httpMethod": "GET",
2221 "httpMethod": "GET",
1621− "description": "Looks up an enterprise by domain name.",
2222+ "description": "Looks up an enterprise by domain name. This is only supported for enterprises created via the Google-initiated creation flow. Lookup of the id is not needed for enterprises created via the EMM-initiated flow since the EMM learns the enterprise ID in the callback specified in the Enterprises.generateSignupUrl call.",
1622 "parameters": {
2223 "parameters": {
1623 "domain": {
2224 "domain": {
1624 "type": "string",
2225 "type": "string",
@@ -1637,6 +2238,33 @@
1637 "https://www.googleapis.com/auth/androidenterprise"
2238 "https://www.googleapis.com/auth/androidenterprise"
1638 ]
2239 ]
1639 },
2240 },
2241+ "pullNotificationSet": {
2242+ "id": "androidenterprise.enterprises.pullNotificationSet",
2243+ "path": "enterprises/pullNotificationSet",
2244+ "httpMethod": "POST",
2245+ "description": "Pulls and returns a notification set for the enterprises associated with the service account authenticated for the request. The notification set may be empty if no notification are pending.\nA notification set returned needs to be acknowledged within 20 seconds by calling Enterprises\u200b.AcknowledgeNotificationSet, unless the notification set is empty.\nNotifications that are not acknowledged within the 20 seconds will eventually be included again in the response to another PullNotificationSet request, and those that are never acknowledged will ultimately be deleted according to the Google Cloud Platform Pub/Sub system policy.\nMultiple requests might be performed concurrently to retrieve notifications, in which case the pending notifications (if any) will be split among each caller, if any are pending.\nIf no notifications are present, an empty notification list is returned. Subsequent requests may return more notifications once they become available.",
2246+ "parameters": {
2247+ "requestMode": {
2248+ "type": "string",
2249+ "description": "The request mode for pulling notifications.\nSpecifying waitForNotifications will cause the request to block and wait until one or more notifications are present, or return an empty notification list if no notifications are present after some time.\nSpeciying returnImmediately will cause the request to immediately return the pending notifications, or an empty list if no notifications are present.\nIf omitted, defaults to waitForNotifications.",
2250+ "enum": [
2251+ "returnImmediately",
2252+ "waitForNotifications"
2253+ ],
2254+ "enumDescriptions": [
2255+ "",
2256+ ""
2257+ ],
2258+ "location": "query"
2259+ }
2260+ },
2261+ "response": {
2262+ "$ref": "NotificationSet"
2263+ },
2264+ "scopes": [
2265+ "https://www.googleapis.com/auth/androidenterprise"
2266+ ]
2267+ },
1640 "sendTestPushNotification": {
2268 "sendTestPushNotification": {
1641 "id": "androidenterprise.enterprises.sendTestPushNotification",
2269 "id": "androidenterprise.enterprises.sendTestPushNotification",
1642 "path": "enterprises/{enterpriseId}/sendTestPushNotification",
2270 "path": "enterprises/{enterpriseId}/sendTestPushNotification",
@@ -1690,7 +2318,7 @@
1690 "id": "androidenterprise.enterprises.setStoreLayout",
2318 "id": "androidenterprise.enterprises.setStoreLayout",
1691 "path": "enterprises/{enterpriseId}/storeLayout",
2319 "path": "enterprises/{enterpriseId}/storeLayout",
1692 "httpMethod": "PUT",
2320 "httpMethod": "PUT",
1693− "description": "Sets the store layout resource.",
2321+ "description": "Sets the store layout for the enterprise.",
1694 "parameters": {
2322 "parameters": {
1695 "enterpriseId": {
2323 "enterpriseId": {
1696 "type": "string",
2324 "type": "string",
@@ -2138,33 +2766,446 @@
2138 "deviceId"
2766 "deviceId"
2139 ],
2767 ],
2140 "response": {
2768 "response": {
2141− "$ref": "InstallsListResponse"
2769+ "$ref": "InstallsListResponse"
2770+ },
2771+ "scopes": [
2772+ "https://www.googleapis.com/auth/androidenterprise"
2773+ ]
2774+ },
2775+ "patch": {
2776+ "id": "androidenterprise.installs.patch",
2777+ "path": "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}",
2778+ "httpMethod": "PATCH",
2779+ "description": "Requests to install the latest version of an app to a device. If the app is already installed then it is updated to the latest version if necessary. This method supports patch semantics.",
2780+ "parameters": {
2781+ "deviceId": {
2782+ "type": "string",
2783+ "description": "The Android ID of the device.",
2784+ "required": true,
2785+ "location": "path"
2786+ },
2787+ "enterpriseId": {
2788+ "type": "string",
2789+ "description": "The ID of the enterprise.",
2790+ "required": true,
2791+ "location": "path"
2792+ },
2793+ "installId": {
2794+ "type": "string",
2795+ "description": "The ID of the product represented by the install, e.g. \"app:com.google.android.gm\".",
2796+ "required": true,
2797+ "location": "path"
2798+ },
2799+ "userId": {
2800+ "type": "string",
2801+ "description": "The ID of the user.",
2802+ "required": true,
2803+ "location": "path"
2804+ }
2805+ },
2806+ "parameterOrder": [
2807+ "enterpriseId",
2808+ "userId",
2809+ "deviceId",
2810+ "installId"
2811+ ],
2812+ "request": {
2813+ "$ref": "Install"
2814+ },
2815+ "response": {
2816+ "$ref": "Install"
2817+ },
2818+ "scopes": [
2819+ "https://www.googleapis.com/auth/androidenterprise"
2820+ ]
2821+ },
2822+ "update": {
2823+ "id": "androidenterprise.installs.update",
2824+ "path": "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}",
2825+ "httpMethod": "PUT",
2826+ "description": "Requests to install the latest version of an app to a device. If the app is already installed then it is updated to the latest version if necessary.",
2827+ "parameters": {
2828+ "deviceId": {
2829+ "type": "string",
2830+ "description": "The Android ID of the device.",
2831+ "required": true,
2832+ "location": "path"
2833+ },
2834+ "enterpriseId": {
2835+ "type": "string",
2836+ "description": "The ID of the enterprise.",
2837+ "required": true,
2838+ "location": "path"
2839+ },
2840+ "installId": {
2841+ "type": "string",
2842+ "description": "The ID of the product represented by the install, e.g. \"app:com.google.android.gm\".",
2843+ "required": true,
2844+ "location": "path"
2845+ },
2846+ "userId": {
2847+ "type": "string",
2848+ "description": "The ID of the user.",
2849+ "required": true,
2850+ "location": "path"
2851+ }
2852+ },
2853+ "parameterOrder": [
2854+ "enterpriseId",
2855+ "userId",
2856+ "deviceId",
2857+ "installId"
2858+ ],
2859+ "request": {
2860+ "$ref": "Install"
2861+ },
2862+ "response": {
2863+ "$ref": "Install"
2864+ },
2865+ "scopes": [
2866+ "https://www.googleapis.com/auth/androidenterprise"
2867+ ]
2868+ }
2869+ }
2870+ },
2871+ "managedconfigurationsfordevice": {
2872+ "methods": {
2873+ "delete": {
2874+ "id": "androidenterprise.managedconfigurationsfordevice.delete",
2875+ "path": "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}",
2876+ "httpMethod": "DELETE",
2877+ "description": "Removes a per-device managed configuration for an app for the specified device.",
2878+ "parameters": {
2879+ "deviceId": {
2880+ "type": "string",
2881+ "description": "The Android ID of the device.",
2882+ "required": true,
2883+ "location": "path"
2884+ },
2885+ "enterpriseId": {
2886+ "type": "string",
2887+ "description": "The ID of the enterprise.",
2888+ "required": true,
2889+ "location": "path"
2890+ },
2891+ "managedConfigurationForDeviceId": {
2892+ "type": "string",
2893+ "description": "The ID of the managed configuration (a product ID), e.g. \"app:com.google.android.gm\".",
2894+ "required": true,
2895+ "location": "path"
2896+ },
2897+ "userId": {
2898+ "type": "string",
2899+ "description": "The ID of the user.",
2900+ "required": true,
2901+ "location": "path"
2902+ }
2903+ },
2904+ "parameterOrder": [
2905+ "enterpriseId",
2906+ "userId",
2907+ "deviceId",
2908+ "managedConfigurationForDeviceId"
2909+ ],
2910+ "scopes": [
2911+ "https://www.googleapis.com/auth/androidenterprise"
2912+ ]
2913+ },
2914+ "get": {
2915+ "id": "androidenterprise.managedconfigurationsfordevice.get",
2916+ "path": "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}",
2917+ "httpMethod": "GET",
2918+ "description": "Retrieves details of a per-device managed configuration.",
2919+ "parameters": {
2920+ "deviceId": {
2921+ "type": "string",
2922+ "description": "The Android ID of the device.",
2923+ "required": true,
2924+ "location": "path"
2925+ },
2926+ "enterpriseId": {
2927+ "type": "string",
2928+ "description": "The ID of the enterprise.",
2929+ "required": true,
2930+ "location": "path"
2931+ },
2932+ "managedConfigurationForDeviceId": {
2933+ "type": "string",
2934+ "description": "The ID of the managed configuration (a product ID), e.g. \"app:com.google.android.gm\".",
2935+ "required": true,
2936+ "location": "path"
2937+ },
2938+ "userId": {
2939+ "type": "string",
2940+ "description": "The ID of the user.",
2941+ "required": true,
2942+ "location": "path"
2943+ }
2944+ },
2945+ "parameterOrder": [
2946+ "enterpriseId",
2947+ "userId",
2948+ "deviceId",
2949+ "managedConfigurationForDeviceId"
2950+ ],
2951+ "response": {
2952+ "$ref": "ManagedConfiguration"
2953+ },
2954+ "scopes": [
2955+ "https://www.googleapis.com/auth/androidenterprise"
2956+ ]
2957+ },
2958+ "list": {
2959+ "id": "androidenterprise.managedconfigurationsfordevice.list",
2960+ "path": "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice",
2961+ "httpMethod": "GET",
2962+ "description": "Lists all the per-device managed configurations for the specified device. Only the ID is set.",
2963+ "parameters": {
2964+ "deviceId": {
2965+ "type": "string",
2966+ "description": "The Android ID of the device.",
2967+ "required": true,
2968+ "location": "path"
2969+ },
2970+ "enterpriseId": {
2971+ "type": "string",
2972+ "description": "The ID of the enterprise.",
2973+ "required": true,
2974+ "location": "path"
2975+ },
2976+ "userId": {
2977+ "type": "string",
2978+ "description": "The ID of the user.",
2979+ "required": true,
2980+ "location": "path"
2981+ }
2982+ },
2983+ "parameterOrder": [
2984+ "enterpriseId",
2985+ "userId",
2986+ "deviceId"
2987+ ],
2988+ "response": {
2989+ "$ref": "ManagedConfigurationsForDeviceListResponse"
2990+ },
2991+ "scopes": [
2992+ "https://www.googleapis.com/auth/androidenterprise"
2993+ ]
2994+ },
2995+ "patch": {
2996+ "id": "androidenterprise.managedconfigurationsfordevice.patch",
2997+ "path": "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}",
2998+ "httpMethod": "PATCH",
2999+ "description": "Adds or updates a per-device managed configuration for an app for the specified device. This method supports patch semantics.",
3000+ "parameters": {
3001+ "deviceId": {
3002+ "type": "string",
3003+ "description": "The Android ID of the device.",
3004+ "required": true,
3005+ "location": "path"
3006+ },
3007+ "enterpriseId": {
3008+ "type": "string",
3009+ "description": "The ID of the enterprise.",
3010+ "required": true,
3011+ "location": "path"
3012+ },
3013+ "managedConfigurationForDeviceId": {
3014+ "type": "string",
3015+ "description": "The ID of the managed configuration (a product ID), e.g. \"app:com.google.android.gm\".",
3016+ "required": true,
3017+ "location": "path"
3018+ },
3019+ "userId": {
3020+ "type": "string",
3021+ "description": "The ID of the user.",
3022+ "required": true,
3023+ "location": "path"
3024+ }
3025+ },
3026+ "parameterOrder": [
3027+ "enterpriseId",
3028+ "userId",
3029+ "deviceId",
3030+ "managedConfigurationForDeviceId"
3031+ ],
3032+ "request": {
3033+ "$ref": "ManagedConfiguration"
3034+ },
3035+ "response": {
3036+ "$ref": "ManagedConfiguration"
3037+ },
3038+ "scopes": [
3039+ "https://www.googleapis.com/auth/androidenterprise"
3040+ ]
3041+ },
3042+ "update": {
3043+ "id": "androidenterprise.managedconfigurationsfordevice.update",
3044+ "path": "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}",
3045+ "httpMethod": "PUT",
3046+ "description": "Adds or updates a per-device managed configuration for an app for the specified device.",
3047+ "parameters": {
3048+ "deviceId": {
3049+ "type": "string",
3050+ "description": "The Android ID of the device.",
3051+ "required": true,
3052+ "location": "path"
3053+ },
3054+ "enterpriseId": {
3055+ "type": "string",
3056+ "description": "The ID of the enterprise.",
3057+ "required": true,
3058+ "location": "path"
3059+ },
3060+ "managedConfigurationForDeviceId": {
3061+ "type": "string",
3062+ "description": "The ID of the managed configuration (a product ID), e.g. \"app:com.google.android.gm\".",
3063+ "required": true,
3064+ "location": "path"
3065+ },
3066+ "userId": {
3067+ "type": "string",
3068+ "description": "The ID of the user.",
3069+ "required": true,
3070+ "location": "path"
3071+ }
3072+ },
3073+ "parameterOrder": [
3074+ "enterpriseId",
3075+ "userId",
3076+ "deviceId",
3077+ "managedConfigurationForDeviceId"
3078+ ],
3079+ "request": {
3080+ "$ref": "ManagedConfiguration"
3081+ },
3082+ "response": {
3083+ "$ref": "ManagedConfiguration"
3084+ },
3085+ "scopes": [
3086+ "https://www.googleapis.com/auth/androidenterprise"
3087+ ]
3088+ }
3089+ }
3090+ },
3091+ "managedconfigurationsforuser": {
3092+ "methods": {
3093+ "delete": {
3094+ "id": "androidenterprise.managedconfigurationsforuser.delete",
3095+ "path": "enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}",
3096+ "httpMethod": "DELETE",
3097+ "description": "Removes a per-user managed configuration for an app for the specified user.",
3098+ "parameters": {
3099+ "enterpriseId": {
3100+ "type": "string",
3101+ "description": "The ID of the enterprise.",
3102+ "required": true,
3103+ "location": "path"
3104+ },
3105+ "managedConfigurationForUserId": {
3106+ "type": "string",
3107+ "description": "The ID of the managed configuration (a product ID), e.g. \"app:com.google.android.gm\".",
3108+ "required": true,
3109+ "location": "path"
3110+ },
3111+ "userId": {
3112+ "type": "string",
3113+ "description": "The ID of the user.",
3114+ "required": true,
3115+ "location": "path"
3116+ }
3117+ },
3118+ "parameterOrder": [
3119+ "enterpriseId",
3120+ "userId",
3121+ "managedConfigurationForUserId"
3122+ ],
3123+ "scopes": [
3124+ "https://www.googleapis.com/auth/androidenterprise"
3125+ ]
3126+ },
3127+ "get": {
3128+ "id": "androidenterprise.managedconfigurationsforuser.get",
3129+ "path": "enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}",
3130+ "httpMethod": "GET",
3131+ "description": "Retrieves details of a per-user managed configuration for an app for the specified user.",
3132+ "parameters": {
3133+ "enterpriseId": {
3134+ "type": "string",
3135+ "description": "The ID of the enterprise.",
3136+ "required": true,
3137+ "location": "path"
3138+ },
3139+ "managedConfigurationForUserId": {
3140+ "type": "string",
3141+ "description": "The ID of the managed configuration (a product ID), e.g. \"app:com.google.android.gm\".",
3142+ "required": true,
3143+ "location": "path"
3144+ },
3145+ "userId": {
3146+ "type": "string",
3147+ "description": "The ID of the user.",
3148+ "required": true,
3149+ "location": "path"
3150+ }
3151+ },
3152+ "parameterOrder": [
3153+ "enterpriseId",
3154+ "userId",
3155+ "managedConfigurationForUserId"
3156+ ],
3157+ "response": {
3158+ "$ref": "ManagedConfiguration"
3159+ },
3160+ "scopes": [
3161+ "https://www.googleapis.com/auth/androidenterprise"
3162+ ]
3163+ },
3164+ "list": {
3165+ "id": "androidenterprise.managedconfigurationsforuser.list",
3166+ "path": "enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser",
3167+ "httpMethod": "GET",
3168+ "description": "Lists all the per-user managed configurations for the specified user. Only the ID is set.",
3169+ "parameters": {
3170+ "enterpriseId": {
3171+ "type": "string",
3172+ "description": "The ID of the enterprise.",
3173+ "required": true,
3174+ "location": "path"
3175+ },
3176+ "userId": {
3177+ "type": "string",
3178+ "description": "The ID of the user.",
3179+ "required": true,
3180+ "location": "path"
3181+ }
3182+ },
3183+ "parameterOrder": [
3184+ "enterpriseId",
3185+ "userId"
3186+ ],
3187+ "response": {
3188+ "$ref": "ManagedConfigurationsForUserListResponse"
2142 },
3189 },
2143 "scopes": [
3190 "scopes": [
2144 "https://www.googleapis.com/auth/androidenterprise"
3191 "https://www.googleapis.com/auth/androidenterprise"
2145 ]
3192 ]
2146 },
3193 },
2147 "patch": {
3194 "patch": {
2148− "id": "androidenterprise.installs.patch",
3195+ "id": "androidenterprise.managedconfigurationsforuser.patch",
2149− "path": "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}",
3196+ "path": "enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}",
2150 "httpMethod": "PATCH",
3197 "httpMethod": "PATCH",
2151− "description": "Requests to install the latest version of an app to a device. If the app is already installed then it is updated to the latest version if necessary. This method supports patch semantics.",
3198+ "description": "Adds or updates a per-user managed configuration for an app for the specified user. This method supports patch semantics.",
2152 "parameters": {
3199 "parameters": {
2153− "deviceId": {
2154− "type": "string",
2155− "description": "The Android ID of the device.",
2156− "required": true,
2157− "location": "path"
2158− },
2159 "enterpriseId": {
3200 "enterpriseId": {
2160 "type": "string",
3201 "type": "string",
2161 "description": "The ID of the enterprise.",
3202 "description": "The ID of the enterprise.",
2162 "required": true,
3203 "required": true,
2163 "location": "path"
3204 "location": "path"
2164 },
3205 },
2165− "installId": {
3206+ "managedConfigurationForUserId": {
2166 "type": "string",
3207 "type": "string",
2167− "description": "The ID of the product represented by the install, e.g. \"app:com.google.android.gm\".",
3208+ "description": "The ID of the managed configuration (a product ID), e.g. \"app:com.google.android.gm\".",
2168 "required": true,
3209 "required": true,
2169 "location": "path"
3210 "location": "path"
2170 },
3211 },
@@ -2178,40 +3219,33 @@
2178 "parameterOrder": [
3219 "parameterOrder": [
2179 "enterpriseId",
3220 "enterpriseId",
2180 "userId",
3221 "userId",
2181− "deviceId",
3222+ "managedConfigurationForUserId"
2182− "installId"
2183 ],
3223 ],
2184 "request": {
3224 "request": {
2185− "$ref": "Install"
3225+ "$ref": "ManagedConfiguration"
2186 },
3226 },
2187 "response": {
3227 "response": {
2188− "$ref": "Install"
3228+ "$ref": "ManagedConfiguration"
2189 },
3229 },
2190 "scopes": [
3230 "scopes": [
2191 "https://www.googleapis.com/auth/androidenterprise"
3231 "https://www.googleapis.com/auth/androidenterprise"
2192 ]
3232 ]
2193 },
3233 },
2194 "update": {
3234 "update": {
2195− "id": "androidenterprise.installs.update",
3235+ "id": "androidenterprise.managedconfigurationsforuser.update",
2196− "path": "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}",
3236+ "path": "enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}",
2197 "httpMethod": "PUT",
3237 "httpMethod": "PUT",
2198− "description": "Requests to install the latest version of an app to a device. If the app is already installed then it is updated to the latest version if necessary.",
3238+ "description": "Adds or updates a per-user managed configuration for an app for the specified user.",
2199 "parameters": {
3239 "parameters": {
2200− "deviceId": {
2201− "type": "string",
2202− "description": "The Android ID of the device.",
2203− "required": true,
2204− "location": "path"
2205− },
2206 "enterpriseId": {
3240 "enterpriseId": {
2207 "type": "string",
3241 "type": "string",
2208 "description": "The ID of the enterprise.",
3242 "description": "The ID of the enterprise.",
2209 "required": true,
3243 "required": true,
2210 "location": "path"
3244 "location": "path"
2211 },
3245 },
2212− "installId": {
3246+ "managedConfigurationForUserId": {
2213 "type": "string",
3247 "type": "string",
2214− "description": "The ID of the product represented by the install, e.g. \"app:com.google.android.gm\".",
3248+ "description": "The ID of the managed configuration (a product ID), e.g. \"app:com.google.android.gm\".",
2215 "required": true,
3249 "required": true,
2216 "location": "path"
3250 "location": "path"
2217 },
3251 },
@@ -2225,14 +3259,13 @@
2225 "parameterOrder": [
3259 "parameterOrder": [
2226 "enterpriseId",
3260 "enterpriseId",
2227 "userId",
3261 "userId",
2228− "deviceId",
3262+ "managedConfigurationForUserId"
2229− "installId"
2230 ],
3263 ],
2231 "request": {
3264 "request": {
2232− "$ref": "Install"
3265+ "$ref": "ManagedConfiguration"
2233 },
3266 },
2234 "response": {
3267 "response": {
2235− "$ref": "Install"
3268+ "$ref": "ManagedConfiguration"
2236 },
3269 },
2237 "scopes": [
3270 "scopes": [
2238 "https://www.googleapis.com/auth/androidenterprise"
3271 "https://www.googleapis.com/auth/androidenterprise"
@@ -2378,7 +3411,7 @@
2378 "id": "androidenterprise.products.getAppRestrictionsSchema",
3411 "id": "androidenterprise.products.getAppRestrictionsSchema",
2379 "path": "enterprises/{enterpriseId}/products/{productId}/appRestrictionsSchema",
3412 "path": "enterprises/{enterpriseId}/products/{productId}/appRestrictionsSchema",
2380 "httpMethod": "GET",
3413 "httpMethod": "GET",
2381− "description": "Retrieves the schema defining app restrictions configurable for this product. All products have a schema, but this may be empty if no app restrictions are defined.",
3414+ "description": "Retrieves the schema that defines the configurable properties for this product. All products have a schema, but this schema may be empty if no managed configurations have been defined. This schema can be used to populate a UI that allows an administrator to configure the product. To apply a managed configuration based on the schema obtained using this API, see Managed Configurations through Play.",
2382 "parameters": {
3415 "parameters": {
2383 "enterpriseId": {
3416 "enterpriseId": {
2384 "type": "string",
3417 "type": "string",
@@ -2443,7 +3476,7 @@
2443 "id": "androidenterprise.products.list",
3476 "id": "androidenterprise.products.list",
2444 "path": "enterprises/{enterpriseId}/products",
3477 "path": "enterprises/{enterpriseId}/products",
2445 "httpMethod": "GET",
3478 "httpMethod": "GET",
2446− "description": "Finds approved products that match a query.",
3479+ "description": "Finds approved products that match a query, or all approved products if there is no query.",
2447 "parameters": {
3480 "parameters": {
2448 "approved": {
3481 "approved": {
2449 "type": "boolean",
3482 "type": "boolean",
@@ -2469,7 +3502,7 @@
2469 },
3502 },
2470 "query": {
3503 "query": {
2471 "type": "string",
3504 "type": "string",
2472− "description": "The search query as typed in the Google Play Store search box. If omitted, all approved apps will be returned (using the pagination parameters).",
3505+ "description": "The search query as typed in the Google Play Store search box. If omitted, all approved apps will be returned (using the pagination parameters), including apps that are not available in the store (e.g. unpublished apps).",
2473 "location": "query"
3506 "location": "query"
2474 },
3507 },
2475 "token": {
3508 "token": {
@@ -2488,6 +3521,33 @@
2488 "https://www.googleapis.com/auth/androidenterprise"
3521 "https://www.googleapis.com/auth/androidenterprise"
2489 ]
3522 ]
2490 },
3523 },
3524+ "unapprove": {
3525+ "id": "androidenterprise.products.unapprove",
3526+ "path": "enterprises/{enterpriseId}/products/{productId}/unapprove",
3527+ "httpMethod": "POST",
3528+ "description": "Unapproves the specified product (and the relevant app permissions, if any)",
3529+ "parameters": {
3530+ "enterpriseId": {
3531+ "type": "string",
3532+ "description": "The ID of the enterprise.",
3533+ "required": true,
3534+ "location": "path"
3535+ },
3536+ "productId": {
3537+ "type": "string",
3538+ "description": "The ID of the product.",
3539+ "required": true,
3540+ "location": "path"
3541+ }
3542+ },
3543+ "parameterOrder": [
3544+ "enterpriseId",
3545+ "productId"
3546+ ],
3547+ "scopes": [
3548+ "https://www.googleapis.com/auth/androidenterprise"
3549+ ]
3550+ },
2491 "updatePermissions": {
3551 "updatePermissions": {
2492 "id": "androidenterprise.products.updatePermissions",
3552 "id": "androidenterprise.products.updatePermissions",
2493 "path": "enterprises/{enterpriseId}/products/{productId}/permissions",
3553 "path": "enterprises/{enterpriseId}/products/{productId}/permissions",
@@ -2523,6 +3583,86 @@
2523 }
3583 }
2524 }
3584 }
2525 },
3585 },
3586+ "serviceaccountkeys": {
3587+ "methods": {
3588+ "delete": {
3589+ "id": "androidenterprise.serviceaccountkeys.delete",
3590+ "path": "enterprises/{enterpriseId}/serviceAccountKeys/{keyId}",
3591+ "httpMethod": "DELETE",
3592+ "description": "Removes and invalidates the specified credentials for the service account associated with this enterprise. The calling service account must have been retrieved by calling Enterprises.GetServiceAccount and must have been set as the enterprise service account by calling Enterprises.SetAccount.",
3593+ "parameters": {
3594+ "enterpriseId": {
3595+ "type": "string",
3596+ "description": "The ID of the enterprise.",
3597+ "required": true,
3598+ "location": "path"
3599+ },
3600+ "keyId": {
3601+ "type": "string",
3602+ "description": "The ID of the key.",
3603+ "required": true,
3604+ "location": "path"
3605+ }
3606+ },
3607+ "parameterOrder": [
3608+ "enterpriseId",
3609+ "keyId"
3610+ ],
3611+ "scopes": [
3612+ "https://www.googleapis.com/auth/androidenterprise"
3613+ ]
3614+ },
3615+ "insert": {
3616+ "id": "androidenterprise.serviceaccountkeys.insert",
3617+ "path": "enterprises/{enterpriseId}/serviceAccountKeys",
3618+ "httpMethod": "POST",
3619+ "description": "Generates new credentials for the service account associated with this enterprise. The calling service account must have been retrieved by calling Enterprises.GetServiceAccount and must have been set as the enterprise service account by calling Enterprises.SetAccount.\n\nOnly the type of the key should be populated in the resource to be inserted.",
3620+ "parameters": {
3621+ "enterpriseId": {
3622+ "type": "string",
3623+ "description": "The ID of the enterprise.",
3624+ "required": true,
3625+ "location": "path"
3626+ }
3627+ },
3628+ "parameterOrder": [
3629+ "enterpriseId"
3630+ ],
3631+ "request": {
3632+ "$ref": "ServiceAccountKey"
3633+ },
3634+ "response": {
3635+ "$ref": "ServiceAccountKey"
3636+ },
3637+ "scopes": [
3638+ "https://www.googleapis.com/auth/androidenterprise"
3639+ ]
3640+ },
3641+ "list": {
3642+ "id": "androidenterprise.serviceaccountkeys.list",
3643+ "path": "enterprises/{enterpriseId}/serviceAccountKeys",
3644+ "httpMethod": "GET",
3645+ "description": "Lists all active credentials for the service account associated with this enterprise. Only the ID and key type are returned. The calling service account must have been retrieved by calling Enterprises.GetServiceAccount and must have been set as the enterprise service account by calling Enterprises.SetAccount.",
3646+ "parameters": {
3647+ "enterpriseId": {
3648+ "type": "string",
3649+ "description": "The ID of the enterprise.",
3650+ "required": true,
3651+ "location": "path"
3652+ }
3653+ },
3654+ "parameterOrder": [
3655+ "enterpriseId"
3656+ ],
3657+ "response": {
3658+ "$ref": "ServiceAccountKeysListResponse"
3659+ },
3660+ "scopes": [
3661+ "https://www.googleapis.com/auth/androidenterprise"
3662+ ]
3663+ }
3664+ }
3665+ },
2526 "storelayoutclusters": {
3666 "storelayoutclusters": {
2527 "methods": {
3667 "methods": {
2528 "delete": {
3668 "delete": {
@@ -2919,6 +4059,63 @@
2919 },
4059 },
2920 "users": {
4060 "users": {
2921 "methods": {
4061 "methods": {
4062+ "delete": {
4063+ "id": "androidenterprise.users.delete",
4064+ "path": "enterprises/{enterpriseId}/users/{userId}",
4065+ "httpMethod": "DELETE",
4066+ "description": "Deleted an EMM-managed user.",
4067+ "parameters": {
4068+ "enterpriseId": {
4069+ "type": "string",
4070+ "description": "The ID of the enterprise.",
4071+ "required": true,
4072+ "location": "path"
4073+ },
4074+ "userId": {
4075+ "type": "string",
4076+ "description": "The ID of the user.",
4077+ "required": true,
4078+ "location": "path"
4079+ }
4080+ },
4081+ "parameterOrder": [
4082+ "enterpriseId",
4083+ "userId"
4084+ ],
4085+ "scopes": [
4086+ "https://www.googleapis.com/auth/androidenterprise"
4087+ ]
4088+ },
4089+ "generateAuthenticationToken": {
4090+ "id": "androidenterprise.users.generateAuthenticationToken",
4091+ "path": "enterprises/{enterpriseId}/users/{userId}/authenticationToken",
4092+ "httpMethod": "POST",
4093+ "description": "Generates an authentication token which the device policy client can use to provision the given EMM-managed user account on a device. The generated token is single-use and expires after a few minutes.\n\nThis call only works with EMM-managed accounts.",
4094+ "parameters": {
4095+ "enterpriseId": {
4096+ "type": "string",
4097+ "description": "The ID of the enterprise.",
4098+ "required": true,
4099+ "location": "path"
4100+ },
4101+ "userId": {
4102+ "type": "string",
4103+ "description": "The ID of the user.",
4104+ "required": true,
4105+ "location": "path"
4106+ }
4107+ },
4108+ "parameterOrder": [
4109+ "enterpriseId",
4110+ "userId"
4111+ ],
4112+ "response": {
4113+ "$ref": "AuthenticationToken"
4114+ },
4115+ "scopes": [
4116+ "https://www.googleapis.com/auth/androidenterprise"
4117+ ]
4118+ },
2922 "generateToken": {
4119 "generateToken": {
2923 "id": "androidenterprise.users.generateToken",
4120 "id": "androidenterprise.users.generateToken",
2924 "path": "enterprises/{enterpriseId}/users/{userId}/token",
4121 "path": "enterprises/{enterpriseId}/users/{userId}/token",
@@ -3009,11 +4206,37 @@
3009 "https://www.googleapis.com/auth/androidenterprise"
4206 "https://www.googleapis.com/auth/androidenterprise"
3010 ]
4207 ]
3011 },
4208 },
4209+ "insert": {
4210+ "id": "androidenterprise.users.insert",
4211+ "path": "enterprises/{enterpriseId}/users",
4212+ "httpMethod": "POST",
4213+ "description": "Creates a new EMM-managed user.\n\nThe Users resource passed in the body of the request should include an accountIdentifier and an accountType.\nIf a corresponding user already exists with the same account identifier, the user will be updated with the resource. In this case only the displayName field can be changed.",
4214+ "parameters": {
4215+ "enterpriseId": {
4216+ "type": "string",
4217+ "description": "The ID of the enterprise.",
4218+ "required": true,
4219+ "location": "path"
4220+ }
4221+ },
4222+ "parameterOrder": [
4223+ "enterpriseId"
4224+ ],
4225+ "request": {
4226+ "$ref": "User"
4227+ },
4228+ "response": {
4229+ "$ref": "User"
4230+ },
4231+ "scopes": [
4232+ "https://www.googleapis.com/auth/androidenterprise"
4233+ ]
4234+ },
3012 "list": {
4235 "list": {
3013 "id": "androidenterprise.users.list",
4236 "id": "androidenterprise.users.list",
3014 "path": "enterprises/{enterpriseId}/users",
4237 "path": "enterprises/{enterpriseId}/users",
3015 "httpMethod": "GET",
4238 "httpMethod": "GET",
3016− "description": "Looks up a user by their primary email address.",
4239+ "description": "Looks up a user by primary email address. This is only supported for Google-managed users. Lookup of the id is not needed for EMM-managed users because the id is already returned in the result of the Users.insert call.",
3017 "parameters": {
4240 "parameters": {
3018 "email": {
4241 "email": {
3019 "type": "string",
4242 "type": "string",
@@ -3039,6 +4262,39 @@
3039 "https://www.googleapis.com/auth/androidenterprise"
4262 "https://www.googleapis.com/auth/androidenterprise"
3040 ]
4263 ]
3041 },
4264 },
4265+ "patch": {
4266+ "id": "androidenterprise.users.patch",
4267+ "path": "enterprises/{enterpriseId}/users/{userId}",
4268+ "httpMethod": "PATCH",
4269+ "description": "Updates the details of an EMM-managed user.\n\nCan be used with EMM-managed users only (not Google managed users). Pass the new details in the Users resource in the request body. Only the displayName field can be changed. Other fields must either be unset or have the currently active value. This method supports patch semantics.",
4270+ "parameters": {
4271+ "enterpriseId": {
4272+ "type": "string",
4273+ "description": "The ID of the enterprise.",
4274+ "required": true,
4275+ "location": "path"
4276+ },
4277+ "userId": {
4278+ "type": "string",
4279+ "description": "The ID of the user.",
4280+ "required": true,
4281+ "location": "path"
4282+ }
4283+ },
4284+ "parameterOrder": [
4285+ "enterpriseId",
4286+ "userId"
4287+ ],
4288+ "request": {
4289+ "$ref": "User"
4290+ },
4291+ "response": {
4292+ "$ref": "User"
4293+ },
4294+ "scopes": [
4295+ "https://www.googleapis.com/auth/androidenterprise"
4296+ ]
4297+ },
3042 "revokeToken": {
4298 "revokeToken": {
3043 "id": "androidenterprise.users.revokeToken",
4299 "id": "androidenterprise.users.revokeToken",
3044 "path": "enterprises/{enterpriseId}/users/{userId}/token",
4300 "path": "enterprises/{enterpriseId}/users/{userId}/token",
@@ -3098,6 +4354,39 @@
3098 "scopes": [
4354 "scopes": [
3099 "https://www.googleapis.com/auth/androidenterprise"
4355 "https://www.googleapis.com/auth/androidenterprise"
3100 ]
4356 ]
4357+ },
4358+ "update": {
4359+ "id": "androidenterprise.users.update",
4360+ "path": "enterprises/{enterpriseId}/users/{userId}",
4361+ "httpMethod": "PUT",
4362+ "description": "Updates the details of an EMM-managed user.\n\nCan be used with EMM-managed users only (not Google managed users). Pass the new details in the Users resource in the request body. Only the displayName field can be changed. Other fields must either be unset or have the currently active value.",
4363+ "parameters": {
4364+ "enterpriseId": {
4365+ "type": "string",
4366+ "description": "The ID of the enterprise.",
4367+ "required": true,
4368+ "location": "path"
4369+ },
4370+ "userId": {
4371+ "type": "string",
4372+ "description": "The ID of the user.",
4373+ "required": true,
4374+ "location": "path"
4375+ }
4376+ },
4377+ "parameterOrder": [
4378+ "enterpriseId",
4379+ "userId"
4380+ ],
4381+ "request": {
4382+ "$ref": "User"
4383+ },
4384+ "response": {
4385+ "$ref": "User"
4386+ },
4387+ "scopes": [
4388+ "https://www.googleapis.com/auth/androidenterprise"
4389+ ]
3101 }
4390 }
3102 }
4391 }
3103 }
4392 }
gen/model/androidpublisher/v1.1/androidpublisher-api.json+4−4
@@ -1,12 +1,12 @@
1{
1{
2 "kind": "discovery#restDescription",
2 "kind": "discovery#restDescription",
3− "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/yLZNoMooQ7qHvZwtvucNfre7PCU\"",
3+ "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/pZoln3VTirzMcP9u12GQ--6eh1U\"",
4 "discoveryVersion": "v1",
4 "discoveryVersion": "v1",
5 "id": "androidpublisher:v1.1",
5 "id": "androidpublisher:v1.1",
6 "name": "androidpublisher",
6 "name": "androidpublisher",
7 "canonicalName": "Android Publisher",
7 "canonicalName": "Android Publisher",
8 "version": "v1.1",
8 "version": "v1.1",
9− "revision": "20150323",
9+ "revision": "20160722",
10 "title": "Google Play Developer API",
10 "title": "Google Play Developer API",
11 "description": "Lets Android application developers access their Google Play accounts.",
11 "description": "Lets Android application developers access their Google Play accounts.",
12 "ownerDomain": "google.com",
12 "ownerDomain": "google.com",
@@ -119,7 +119,7 @@
119 },
119 },
120 "initiationTimestampMsec": {
120 "initiationTimestampMsec": {
121 "type": "string",
121 "type": "string",
122− "description": "Time at which the subscription was granted, in milliseconds since Epoch.",
122+ "description": "Time at which the subscription was granted, in milliseconds since the Epoch.",
123 "format": "int64"
123 "format": "int64"
124 },
124 },
125 "kind": {
125 "kind": {
@@ -129,7 +129,7 @@
129 },
129 },
130 "validUntilTimestampMsec": {
130 "validUntilTimestampMsec": {
131 "type": "string",
131 "type": "string",
132− "description": "Time at which the subscription will expire, in milliseconds since Epoch.",
132+ "description": "Time at which the subscription will expire, in milliseconds since the Epoch.",
133 "format": "int64"
133 "format": "int64"
134 }
134 }
135 }
135 }
gen/model/androidpublisher/v1/androidpublisher-api.json+4−4
@@ -1,12 +1,12 @@
1{
1{
2 "kind": "discovery#restDescription",
2 "kind": "discovery#restDescription",
3− "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/JGynskXPDYAm7HfLDYPma5VcVjE\"",
3+ "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/-S9kxgdQT4cuFfcjtElZbFgO3uc\"",
4 "discoveryVersion": "v1",
4 "discoveryVersion": "v1",
5 "id": "androidpublisher:v1",
5 "id": "androidpublisher:v1",
6 "name": "androidpublisher",
6 "name": "androidpublisher",
7 "canonicalName": "Android Publisher",
7 "canonicalName": "Android Publisher",
8 "version": "v1",
8 "version": "v1",
9− "revision": "20150323",
9+ "revision": "20160722",
10 "title": "Google Play Developer API",
10 "title": "Google Play Developer API",
11 "description": "Lets Android application developers access their Google Play accounts.",
11 "description": "Lets Android application developers access their Google Play accounts.",
12 "ownerDomain": "google.com",
12 "ownerDomain": "google.com",
@@ -88,7 +88,7 @@
88 },
88 },
89 "initiationTimestampMsec": {
89 "initiationTimestampMsec": {
90 "type": "string",
90 "type": "string",
91− "description": "Time at which the subscription was granted, in milliseconds since Epoch.",
91+ "description": "Time at which the subscription was granted, in milliseconds since the Epoch.",
92 "format": "int64"
92 "format": "int64"
93 },
93 },
94 "kind": {
94 "kind": {
@@ -98,7 +98,7 @@
98 },
98 },
99 "validUntilTimestampMsec": {
99 "validUntilTimestampMsec": {
100 "type": "string",
100 "type": "string",
101− "description": "Time at which the subscription will expire, in milliseconds since Epoch.",
101+ "description": "Time at which the subscription will expire, in milliseconds since the Epoch.",
102 "format": "int64"
102 "format": "int64"
103 }
103 }
104 }
104 }
gen/model/androidpublisher/v2/androidpublisher-api.json+98−7
@@ -1,12 +1,12 @@
1{
1{
2 "kind": "discovery#restDescription",
2 "kind": "discovery#restDescription",
3− "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/kcmli-0AhQgKCzcLiKZ8WixyuKk\"",
3+ "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/lK1rSeSt4REctli37J8Co4N4a5s\"",
4 "discoveryVersion": "v1",
4 "discoveryVersion": "v1",
5 "id": "androidpublisher:v2",
5 "id": "androidpublisher:v2",
6 "name": "androidpublisher",
6 "name": "androidpublisher",
7 "canonicalName": "Android Publisher",
7 "canonicalName": "Android Publisher",
8 "version": "v2",
8 "version": "v2",
9− "revision": "20160516",
9+ "revision": "20161017",
10 "title": "Google Play Developer API",
10 "title": "Google Play Developer API",
11 "description": "Lets Android application developers access their Google Play accounts.",
11 "description": "Lets Android application developers access their Google Play accounts.",
12 "ownerDomain": "google.com",
12 "ownerDomain": "google.com",
@@ -222,6 +222,26 @@
222 }
222 }
223 }
223 }
224 },
224 },
225+ "DeobfuscationFile": {
226+ "id": "DeobfuscationFile",
227+ "type": "object",
228+ "description": "Represents a deobfuscation file.",
229+ "properties": {
230+ "symbolType": {
231+ "type": "string",
232+ "description": "The type of the deobfuscation file."
233+ }
234+ }
235+ },
236+ "DeobfuscationFilesUploadResponse": {
237+ "id": "DeobfuscationFilesUploadResponse",
238+ "type": "object",
239+ "properties": {
240+ "deobfuscationFile": {
241+ "$ref": "DeobfuscationFile"
242+ }
243+ }
244+ },
225 "DeveloperComment": {
245 "DeveloperComment": {
226 "id": "DeveloperComment",
246 "id": "DeveloperComment",
227 "type": "object",
247 "type": "object",
@@ -881,7 +901,7 @@
881 "properties": {
901 "properties": {
882 "desiredExpiryTimeMillis": {
902 "desiredExpiryTimeMillis": {
883 "type": "string",
903 "type": "string",
884− "description": "The desired next expiry time for the subscription in milliseconds since Epoch. The given time must be after the current expiry time for the subscription.",
904+ "description": "The desired next expiry time to assign to the subscription, in milliseconds since the Epoch. The given time must be later/greater than the current expiry time for the subscription.",
885 "format": "int64"
905 "format": "int64"
886 },
906 },
887 "expectedExpiryTimeMillis": {
907 "expectedExpiryTimeMillis": {
@@ -902,7 +922,7 @@
902 },
922 },
903 "cancelReason": {
923 "cancelReason": {
904 "type": "integer",
924 "type": "integer",
905− "description": "The cancel reason of the subscription, if the subscription is not auto renewing. Possible values are: \n- User cancelled the subscription \n- Subscription was cancelled by the system, for example because of a billing problem",
925+ "description": "The reason why a subscription was cancelled or is not auto-renewing. Possible values are: \n- User cancelled the subscription \n- Subscription was cancelled by the system, for example because of a billing problem",
906 "format": "int32"
926 "format": "int32"
907 },
927 },
908 "countryCode": {
928 "countryCode": {
@@ -915,7 +935,7 @@
915 },
935 },
916 "expiryTimeMillis": {
936 "expiryTimeMillis": {
917 "type": "string",
937 "type": "string",
918− "description": "Time at which the subscription will expire, in milliseconds since Epoch.",
938+ "description": "Time at which the subscription will expire, in milliseconds since the Epoch.",
919 "format": "int64"
939 "format": "int64"
920 },
940 },
921 "kind": {
941 "kind": {
@@ -930,7 +950,7 @@
930 },
950 },
931 "priceAmountMicros": {
951 "priceAmountMicros": {
932 "type": "string",
952 "type": "string",
933− "description": "Price of the subscription, not including tax. Price is expressed in micro-units, where 1,000,000 micro-units equal one unit of the currency. For example, if the subscription price is €1.99, price_amount_micros is 1990000.",
953+ "description": "Price of the subscription, not including tax. Price is expressed in micro-units, where 1,000,000 micro-units represents one unit of the currency. For example, if the subscription price is €1.99, price_amount_micros is 1990000.",
934 "format": "int64"
954 "format": "int64"
935 },
955 },
936 "priceCurrencyCode": {
956 "priceCurrencyCode": {
@@ -939,7 +959,7 @@
939 },
959 },
940 "startTimeMillis": {
960 "startTimeMillis": {
941 "type": "string",
961 "type": "string",
942− "description": "Time at which the subscription was granted, in milliseconds since Epoch.",
962+ "description": "Time at which the subscription was granted, in milliseconds since the Epoch.",
943 "format": "int64"
963 "format": "int64"
944 }
964 }
945 }
965 }
@@ -1609,6 +1629,77 @@
1609 }
1629 }
1610 }
1630 }
1611 },
1631 },
1632+ "deobfuscationfiles": {
1633+ "methods": {
1634+ "upload": {
1635+ "id": "androidpublisher.edits.deobfuscationfiles.upload",
1636+ "path": "{packageName}/edits/{editId}/apks/{apkVersionCode}/deobfuscationFiles/{deobfuscationFileType}",
1637+ "httpMethod": "POST",
1638+ "description": "Uploads the deobfuscation file of the specified APK. If a deobfuscation file already exists, it will be replaced.",
1639+ "parameters": {
1640+ "apkVersionCode": {
1641+ "type": "integer",
1642+ "description": "The version code of the APK whose deobfuscation file is being uploaded.",
1643+ "required": true,
1644+ "format": "int32",
1645+ "location": "path"
1646+ },
1647+ "deobfuscationFileType": {
1648+ "type": "string",
1649+ "required": true,
1650+ "enum": [
1651+ "proguard"
1652+ ],
1653+ "enumDescriptions": [
1654+ ""
1655+ ],
1656+ "location": "path"
1657+ },
1658+ "editId": {
1659+ "type": "string",
1660+ "description": "Unique identifier for this edit.",
1661+ "required": true,
1662+ "location": "path"
1663+ },
1664+ "packageName": {
1665+ "type": "string",
1666+ "description": "Unique identifier of the Android app for which the deobfuscatiuon files are being uploaded; for example, \"com.spiffygame\".",
1667+ "required": true,
1668+ "location": "path"
1669+ }
1670+ },
1671+ "parameterOrder": [
1672+ "packageName",
1673+ "editId",
1674+ "apkVersionCode",
1675+ "deobfuscationFileType"
1676+ ],
1677+ "response": {
1678+ "$ref": "DeobfuscationFilesUploadResponse"
1679+ },
1680+ "scopes": [
1681+ "https://www.googleapis.com/auth/androidpublisher"
1682+ ],
1683+ "supportsMediaUpload": true,
1684+ "mediaUpload": {
1685+ "accept": [
1686+ "application/octet-stream"
1687+ ],
1688+ "maxSize": "300MB",
1689+ "protocols": {
1690+ "simple": {
1691+ "multipart": true,
1692+ "path": "/upload/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/deobfuscationFiles/{deobfuscationFileType}"
1693+ },
1694+ "resumable": {
1695+ "multipart": true,
1696+ "path": "/resumable/upload/androidpublisher/v2/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/deobfuscationFiles/{deobfuscationFileType}"
1697+ }
1698+ }
1699+ }
1700+ }
1701+ }
1702+ },
1612 "details": {
1703 "details": {
1613 "methods": {
1704 "methods": {
1614 "get": {
1705 "get": {
gen/model/appengine/v1/appengine-api.jsonnew file+2154
@@ -0,0 +1,2154 @@
1+{
2+ "kind": "discovery#restDescription",
3+ "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/keDq5Gfgc8YWx53wam17Q0yFjvc\"",
4+ "discoveryVersion": "v1",
5+ "id": "appengine:v1",
6+ "name": "appengine",
7+ "version": "v1",
8+ "revision": "20161012",
9+ "title": "Google App Engine Admin API",
10+ "description": "Provisions and manages App Engine applications.",
11+ "ownerDomain": "google.com",
12+ "ownerName": "Google",
13+ "icons": {
14+ "x16": "http://www.google.com/images/icons/product/search-16.gif",
15+ "x32": "http://www.google.com/images/icons/product/search-32.gif"
16+ },
17+ "documentationLink": "https://cloud.google.com/appengine/docs/admin-api/",
18+ "protocol": "rest",
19+ "baseUrl": "https://appengine.googleapis.com/",
20+ "basePath": "",
21+ "rootUrl": "https://appengine.googleapis.com/",
22+ "servicePath": "",
23+ "batchPath": "batch",
24+ "version_module": true,
25+ "parameters": {
26+ "access_token": {
27+ "type": "string",
28+ "description": "OAuth access token.",
29+ "location": "query"
30+ },
31+ "alt": {
32+ "type": "string",
33+ "description": "Data format for response.",
34+ "default": "json",
35+ "enumDescriptions": [
36+ "Responses with Content-Type of application/json",
37+ "Media download with context-dependent Content-Type",
38+ "Responses with Content-Type of application/x-protobuf"
39+ ],
40+ "location": "query"
41+ },
42+ "bearer_token": {
43+ "type": "string",
44+ "description": "OAuth bearer token.",
45+ "location": "query"
46+ },
47+ "callback": {
48+ "type": "string",
49+ "description": "JSONP",
50+ "location": "query"
51+ },
52+ "fields": {
53+ "type": "string",
54+ "description": "Selector specifying which fields to include in a partial response.",
55+ "location": "query"
56+ },
57+ "key": {
58+ "type": "string",
59+ "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.",
60+ "location": "query"
61+ },
62+ "oauth_token": {
63+ "type": "string",
64+ "description": "OAuth 2.0 token for the current user.",
65+ "location": "query"
66+ },
67+ "pp": {
68+ "type": "boolean",
69+ "description": "Pretty-print response.",
70+ "default": "true",
71+ "location": "query"
72+ },
73+ "prettyPrint": {
74+ "type": "boolean",
75+ "description": "Returns response with indentations and line breaks.",
76+ "default": "true",
77+ "location": "query"
78+ },
79+ "quotaUser": {
80+ "type": "string",
81+ "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.",
82+ "location": "query"
83+ },
84+ "upload_protocol": {
85+ "type": "string",
86+ "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
87+ "location": "query"
88+ },
89+ "uploadType": {
90+ "type": "string",
91+ "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
92+ "location": "query"
93+ },
94+ "$.xgafv": {
95+ "type": "string",
96+ "description": "V1 error format.",
97+ "enumDescriptions": [
98+ "v1 error format",
99+ "v2 error format"
100+ ],
101+ "location": "query"
102+ }
103+ },
104+ "auth": {
105+ "oauth2": {
106+ "scopes": {
107+ "https://www.googleapis.com/auth/cloud-platform": {
108+ "description": "View and manage your data across Google Cloud Platform services"
109+ }
110+ }
111+ }
112+ },
113+ "schemas": {
114+ "Operation": {
115+ "id": "Operation",
116+ "type": "object",
117+ "description": "This resource represents a long-running operation that is the result of a network API call.",
118+ "properties": {
119+ "name": {
120+ "type": "string",
121+ "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should have the format of `operations/some/unique/name`."
122+ },
123+ "metadata": {
124+ "type": "object",
125+ "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
126+ "additionalProperties": {
127+ "type": "any",
128+ "description": "Properties of the object. Contains field @type with type URL."
129+ }
130+ },
131+ "done": {
132+ "type": "boolean",
133+ "description": "If the value is `false`, it means the operation is still in progress. If true, the operation is completed, and either `error` or `response` is available."
134+ },
135+ "error": {
136+ "$ref": "Status",
137+ "description": "The error result of the operation in case of failure."
138+ },
139+ "response": {
140+ "type": "object",
141+ "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
142+ "additionalProperties": {
143+ "type": "any",
144+ "description": "Properties of the object. Contains field @type with type URL."
145+ }
146+ }
147+ }
148+ },
149+ "Status": {
150+ "id": "Status",
151+ "type": "object",
152+ "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). The error model is designed to be: - Simple to use and understand for most users - Flexible enough to meet unexpected needs # Overview The `Status` message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers *understand* and *resolve* the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package `google.rpc` which can be used for common error conditions. # Language mapping The `Status` message is the logical representation of the error model, but it is not necessarily the actual wire format. When the `Status` message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C. # Other uses The error model and the `Status` message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments. Example uses of this error model include: - Partial errors. If a service needs to return partial errors to the client, it may embed the `Status` in the normal response to indicate the partial errors. - Workflow errors. A typical workflow has multiple steps. Each step may have a `Status` message for error reporting purpose. - Batch operations. If a client uses batch request and batch response, the `Status` message should be used directly inside batch response, one for each error sub-response. - Asynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the `Status` message. - Logging. If some API errors are stored in logs, the message `Status` could be used directly after any stripping needed for security/privacy reasons.",
153+ "properties": {
154+ "code": {
155+ "type": "integer",
156+ "description": "The status code, which should be an enum value of google.rpc.Code.",
157+ "format": "int32"
158+ },
159+ "message": {
160+ "type": "string",
161+ "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client."
162+ },
163+ "details": {
164+ "type": "array",
165+ "description": "A list of messages that carry the error details. There will be a common set of message types for APIs to use.",
166+ "items": {
167+ "type": "object",
168+ "additionalProperties": {
169+ "type": "any",
170+ "description": "Properties of the object. Contains field @type with type URL."
171+ }
172+ }
173+ }
174+ }
175+ },
176+ "ListOperationsResponse": {
177+ "id": "ListOperationsResponse",
178+ "type": "object",
179+ "description": "The response message for Operations.ListOperations.",
180+ "properties": {
181+ "operations": {
182+ "type": "array",
183+ "description": "A list of operations that matches the specified filter in the request.",
184+ "items": {
185+ "$ref": "Operation"
186+ }
187+ },
188+ "nextPageToken": {
189+ "type": "string",
190+ "description": "The standard List next-page token."
191+ }
192+ }
193+ },
194+ "Application": {
195+ "id": "Application",
196+ "type": "object",
197+ "description": "An Application resource contains the top-level configuration of an App Engine application.",
198+ "properties": {
199+ "name": {
200+ "type": "string",
201+ "description": "Full path to the Application resource in the API. Example: `apps/myapp`. @OutputOnly"
202+ },
203+ "id": {
204+ "type": "string",
205+ "description": "Identifier of the Application resource. This identifier is equivalent to the project ID of the Google Cloud Platform project where you want to deploy your application. Example: `myapp`."
206+ },
207+ "dispatchRules": {
208+ "type": "array",
209+ "description": "HTTP path dispatch rules for requests to the application that do not explicitly target a service or version. Rules are order-dependent. @OutputOnly",
210+ "items": {
211+ "$ref": "UrlDispatchRule"
212+ }
213+ },
214+ "authDomain": {
215+ "type": "string",
216+ "description": "Google Apps authentication domain that controls which users can access this application. Defaults to open access for any Google Account."
217+ },
218+ "locationId": {
219+ "type": "string",
220+ "description": "Location from which this application will be run. Application instances will run out of data centers in the chosen location, which is also where all of the application's end user content is stored. Defaults to `us-central`. Options are: `us-central` - Central US `europe-west` - Western Europe `us-east1` - Eastern US"
221+ },
222+ "codeBucket": {
223+ "type": "string",
224+ "description": "Google Cloud Storage bucket that can be used for storing files associated with this application. This bucket is associated with the application and can be used by the gcloud deployment commands. @OutputOnly"
225+ },
226+ "defaultCookieExpiration": {
227+ "type": "string",
228+ "description": "Cookie expiration policy for this application. @OutputOnly"
229+ },
230+ "defaultHostname": {
231+ "type": "string",
232+ "description": "Hostname used to reach this application, as resolved by App Engine. @OutputOnly"
233+ },
234+ "defaultBucket": {
235+ "type": "string",
236+ "description": "Google Cloud Storage bucket that can be used by this application to store content. @OutputOnly"
237+ }
238+ }
239+ },
240+ "UrlDispatchRule": {
241+ "id": "UrlDispatchRule",
242+ "type": "object",
243+ "description": "Rules to match an HTTP request and dispatch that request to a service.",
244+ "properties": {
245+ "domain": {
246+ "type": "string",
247+ "description": "Domain name to match against. The wildcard \"`*`\" is supported if specified before a period: \"`*.`\". Defaults to matching all domains: \"`*`\"."
248+ },
249+ "path": {
250+ "type": "string",
251+ "description": "Pathname within the host. Must start with a \"`/`\". A single \"`*`\" can be included at the end of the path. The sum of the lengths of the domain and path may not exceed 100 characters."
252+ },
253+ "service": {
254+ "type": "string",
255+ "description": "Resource ID of a service in this application that should serve the matched request. The service must already exist. Example: `default`."
256+ }
257+ }
258+ },
259+ "RepairApplicationRequest": {
260+ "id": "RepairApplicationRequest",
261+ "type": "object",
262+ "description": "Request message for 'Applications.RepairApplication'."
263+ },
264+ "ListServicesResponse": {
265+ "id": "ListServicesResponse",
266+ "type": "object",
267+ "description": "Response message for `Services.ListServices`.",
268+ "properties": {
269+ "services": {
270+ "type": "array",
271+ "description": "The services belonging to the requested application.",
272+ "items": {
273+ "$ref": "Service"
274+ }
275+ },
276+ "nextPageToken": {
277+ "type": "string",
278+ "description": "Continuation token for fetching the next page of results."
279+ }
280+ }
281+ },
282+ "Service": {
283+ "id": "Service",
284+ "type": "object",
285+ "description": "A Service resource is a logical component of an application that can share state and communicate in a secure fashion with other services. For example, an application that handles customer requests might include separate services to handle tasks such as backend data analysis or API requests from mobile devices. Each service has a collection of versions that define a specific set of code used to implement the functionality of that service.",
286+ "properties": {
287+ "name": {
288+ "type": "string",
289+ "description": "Full path to the Service resource in the API. Example: `apps/myapp/services/default`. @OutputOnly"
290+ },
291+ "id": {
292+ "type": "string",
293+ "description": "Relative name of the service within the application. Example: `default`. @OutputOnly"
294+ },
295+ "split": {
296+ "$ref": "TrafficSplit",
297+ "description": "Mapping that defines fractional HTTP traffic diversion to different versions within the service."
298+ }
299+ }
300+ },
301+ "TrafficSplit": {
302+ "id": "TrafficSplit",
303+ "type": "object",
304+ "description": "Traffic routing configuration for versions within a single service. Traffic splits define how traffic directed to the service is assigned to versions.",
305+ "properties": {
306+ "shardBy": {
307+ "type": "string",
308+ "description": "Mechanism used to determine which version a request is sent to. The traffic selection algorithm will be stable for either type until allocations are changed.",
309+ "enum": [
310+ "UNSPECIFIED",
311+ "COOKIE",
312+ "IP"
313+ ]
314+ },
315+ "allocations": {
316+ "type": "object",
317+ "description": "Mapping from version IDs within the service to fractional (0.000, 1] allocations of traffic for that version. Each version can be specified only once, but some versions in the service may not have any traffic allocation. Services that have traffic allocated cannot be deleted until either the service is deleted or their traffic allocation is removed. Allocations must sum to 1. Up to two decimal place precision is supported for IP-based splits and up to three decimal places is supported for cookie-based splits.",
318+ "additionalProperties": {
319+ "type": "number",
320+ "format": "double"
321+ }
322+ }
323+ }
324+ },
325+ "ListVersionsResponse": {
326+ "id": "ListVersionsResponse",
327+ "type": "object",
328+ "description": "Response message for `Versions.ListVersions`.",
329+ "properties": {
330+ "versions": {
331+ "type": "array",
332+ "description": "The versions belonging to the requested service.",
333+ "items": {
334+ "$ref": "Version"
335+ }
336+ },
337+ "nextPageToken": {
338+ "type": "string",
339+ "description": "Continuation token for fetching the next page of results."
340+ }
341+ }
342+ },
343+ "Version": {
344+ "id": "Version",
345+ "type": "object",
346+ "description": "A Version resource is a specific set of source code and configuration files that are deployed into a service.",
347+ "properties": {
348+ "name": {
349+ "type": "string",
350+ "description": "Full path to the Version resource in the API. Example: `apps/myapp/services/default/versions/v1`. @OutputOnly"
351+ },
352+ "id": {
353+ "type": "string",
354+ "description": "Relative name of the version within the service. Example: `v1`. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names: \"default\", \"latest\", and any name with the prefix \"ah-\"."
355+ },
356+ "automaticScaling": {
357+ "$ref": "AutomaticScaling",
358+ "description": "Automatic scaling is based on request rate, response latencies, and other application metrics."
359+ },
360+ "basicScaling": {
361+ "$ref": "BasicScaling",
362+ "description": "A service with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity."
363+ },
364+ "manualScaling": {
365+ "$ref": "ManualScaling",
366+ "description": "A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time."
367+ },
368+ "inboundServices": {
369+ "type": "array",
370+ "description": "Before an application can receive email or XMPP messages, the application must be configured to enable the service.",
371+ "enumDescriptions": [
372+ "Not specified.",
373+ "Allows an application to receive mail.",
374+ "Allows an application to receive email-bound notifications.",
375+ "Allows an application to receive error stanzas.",
376+ "Allows an application to receive instant messages.",
377+ "Allows an application to receive user subscription POSTs.",
378+ "Allows an application to receive a user's chat presence.",
379+ "Registers an application for notifications when a client connects or disconnects from a channel.",
380+ "Enables warmup requests."
381+ ],
382+ "items": {
383+ "type": "string",
384+ "enum": [
385+ "INBOUND_SERVICE_UNSPECIFIED",
386+ "INBOUND_SERVICE_MAIL",
387+ "INBOUND_SERVICE_MAIL_BOUNCE",
388+ "INBOUND_SERVICE_XMPP_ERROR",
389+ "INBOUND_SERVICE_XMPP_MESSAGE",
390+ "INBOUND_SERVICE_XMPP_SUBSCRIBE",
391+ "INBOUND_SERVICE_XMPP_PRESENCE",
392+ "INBOUND_SERVICE_CHANNEL_PRESENCE",
393+ "INBOUND_SERVICE_WARMUP"
394+ ]
395+ }
396+ },
397+ "instanceClass": {
398+ "type": "string",
399+ "description": "Instance class that is used to run this version. Valid values are: * AutomaticScaling: `F1`, `F2`, `F4`, `F4_1G` * ManualScaling or BasicScaling: `B1`, `B2`, `B4`, `B8`, `B4_1G` Defaults to `F1` for AutomaticScaling and `B1` for ManualScaling or BasicScaling."
400+ },
401+ "network": {
402+ "$ref": "Network",
403+ "description": "Extra network settings. Only applicable for VM runtimes."
404+ },
405+ "resources": {
406+ "$ref": "Resources",
407+ "description": "Machine resources for this version. Only applicable for VM runtimes."
408+ },
409+ "runtime": {
410+ "type": "string",
411+ "description": "Desired runtime. Example: `python27`."
412+ },
413+ "threadsafe": {
414+ "type": "boolean",
415+ "description": "Whether multiple requests can be dispatched to this version at once."
416+ },
417+ "vm": {
418+ "type": "boolean",
419+ "description": "Whether to deploy this version in a container on a virtual machine."
420+ },
421+ "betaSettings": {
422+ "type": "object",
423+ "description": "Metadata settings that are supplied to this version to enable beta runtime features.",
424+ "additionalProperties": {
425+ "type": "string"
426+ }
427+ },
428+ "env": {
429+ "type": "string",
430+ "description": "App Engine execution environment for this version. Defaults to `standard`."
431+ },
432+ "servingStatus": {
433+ "type": "string",
434+ "description": "Current serving status of this version. Only the versions with a `SERVING` status create instances and can be billed. `SERVING_STATUS_UNSPECIFIED` is an invalid value. Defaults to `SERVING`.",
435+ "enum": [
436+ "SERVING_STATUS_UNSPECIFIED",
437+ "SERVING",
438+ "STOPPED"
439+ ]
440+ },
441+ "createdBy": {
442+ "type": "string",
443+ "description": "Email address of the user who created this version. @OutputOnly"
444+ },
445+ "createTime": {
446+ "type": "string",
447+ "description": "Time that this version was created. @OutputOnly"
448+ },
449+ "diskUsageBytes": {
450+ "type": "string",
451+ "description": "Total size in bytes of all the files that are included in this version and curerntly hosted on the App Engine disk. @OutputOnly",
452+ "format": "int64"
453+ },
454+ "handlers": {
455+ "type": "array",
456+ "description": "An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted. Only returned in `GET` requests if `view=FULL` is set.",
457+ "items": {
458+ "$ref": "UrlMap"
459+ }
460+ },
461+ "errorHandlers": {
462+ "type": "array",
463+ "description": "Custom static error pages. Limited to 10KB per page. Only returned in `GET` requests if `view=FULL` is set.",
464+ "items": {
465+ "$ref": "ErrorHandler"
466+ }
467+ },
468+ "libraries": {
469+ "type": "array",
470+ "description": "Configuration for third-party Python runtime libraries that are required by the application. Only returned in `GET` requests if `view=FULL` is set.",
471+ "items": {
472+ "$ref": "Library"
473+ }
474+ },
475+ "apiConfig": {
476+ "$ref": "ApiConfigHandler",
477+ "description": "Serving configuration for [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/). Only returned in `GET` requests if `view=FULL` is set."
478+ },
479+ "envVariables": {
480+ "type": "object",
481+ "description": "Environment variables available to the application. Only returned in `GET` requests if `view=FULL` is set.",
482+ "additionalProperties": {
483+ "type": "string"
484+ }
485+ },
486+ "defaultExpiration": {
487+ "type": "string",
488+ "description": "Duration that static files should be cached by web proxies and browsers. Only applicable if the corresponding [StaticFilesHandler](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#staticfileshandler) does not specify its own expiration time. Only returned in `GET` requests if `view=FULL` is set."
489+ },
490+ "healthCheck": {
491+ "$ref": "HealthCheck",
492+ "description": "Configures health checking for VM instances. Unhealthy instances are stopped and replaced with new instances. Only applicable for VM runtimes. Only returned in `GET` requests if `view=FULL` is set."
493+ },
494+ "nobuildFilesRegex": {
495+ "type": "string",
496+ "description": "Files that match this pattern will not be built into this version. Only applicable for Go runtimes. Only returned in `GET` requests if `view=FULL` is set."
497+ },
498+ "deployment": {
499+ "$ref": "Deployment",
500+ "description": "Code and application artifacts that make up this version. Only returned in `GET` requests if `view=FULL` is set."
501+ },
502+ "versionUrl": {
503+ "type": "string",
504+ "description": "Serving URL for this version. Example: \"https://myversion-dot-myservice-dot-myapp.appspot.com\" @OutputOnly"
505+ }
506+ }
507+ },
508+ "AutomaticScaling": {
509+ "id": "AutomaticScaling",
510+ "type": "object",
511+ "description": "Automatic scaling is based on request rate, response latencies, and other application metrics.",
512+ "properties": {
513+ "coolDownPeriod": {
514+ "type": "string",
515+ "description": "Amount of time that the [Autoscaler](https://cloud.google.com/compute/docs/autoscaler/) should wait between changes to the number of virtual machines. Only applicable for VM runtimes."
516+ },
517+ "cpuUtilization": {
518+ "$ref": "CpuUtilization",
519+ "description": "Target scaling by CPU usage."
520+ },
521+ "maxConcurrentRequests": {
522+ "type": "integer",
523+ "description": "Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance. Defaults to a runtime-specific value.",
524+ "format": "int32"
525+ },
526+ "maxIdleInstances": {
527+ "type": "integer",
528+ "description": "Maximum number of idle instances that should be maintained for this version.",
529+ "format": "int32"
530+ },
531+ "maxTotalInstances": {
532+ "type": "integer",
533+ "description": "Maximum number of instances that should be started to handle requests.",
534+ "format": "int32"
535+ },
536+ "maxPendingLatency": {
537+ "type": "string",
538+ "description": "Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it."
539+ },
540+ "minIdleInstances": {
541+ "type": "integer",
542+ "description": "Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a service.",
543+ "format": "int32"
544+ },
545+ "minTotalInstances": {
546+ "type": "integer",
547+ "description": "Minimum number of instances that should be maintained for this version.",
548+ "format": "int32"
549+ },
550+ "minPendingLatency": {
551+ "type": "string",
552+ "description": "Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it."
553+ },
554+ "requestUtilization": {
555+ "$ref": "RequestUtilization",
556+ "description": "Target scaling by request utilization."
557+ },
558+ "diskUtilization": {
559+ "$ref": "DiskUtilization",
560+ "description": "Target scaling by disk usage."
561+ },
562+ "networkUtilization": {
563+ "$ref": "NetworkUtilization",
564+ "description": "Target scaling by network usage."
565+ }
566+ }
567+ },
568+ "CpuUtilization": {
569+ "id": "CpuUtilization",
570+ "type": "object",
571+ "description": "Target scaling by CPU usage.",
572+ "properties": {
573+ "aggregationWindowLength": {
574+ "type": "string",
575+ "description": "Period of time over which CPU utilization is calculated."
576+ },
577+ "targetUtilization": {
578+ "type": "number",
579+ "description": "Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1.",
580+ "format": "double"
581+ }
582+ }
583+ },
584+ "RequestUtilization": {
585+ "id": "RequestUtilization",
586+ "type": "object",
587+ "description": "Target scaling by request utilization. Only applicable for VM runtimes.",
588+ "properties": {
589+ "targetRequestCountPerSecond": {
590+ "type": "integer",
591+ "description": "Target requests per second.",
592+ "format": "int32"
593+ },
594+ "targetConcurrentRequests": {
595+ "type": "integer",
596+ "description": "Target number of concurrent requests.",
597+ "format": "int32"
598+ }
599+ }
600+ },
601+ "DiskUtilization": {
602+ "id": "DiskUtilization",
603+ "type": "object",
604+ "description": "Target scaling by disk usage. Only applicable for VM runtimes.",
605+ "properties": {
606+ "targetWriteBytesPerSecond": {
607+ "type": "integer",
608+ "description": "Target bytes written per second.",
609+ "format": "int32"
610+ },
611+ "targetWriteOpsPerSecond": {
612+ "type": "integer",
613+ "description": "Target ops written per second.",
614+ "format": "int32"
615+ },
616+ "targetReadBytesPerSecond": {
617+ "type": "integer",
618+ "description": "Target bytes read per second.",
619+ "format": "int32"
620+ },
621+ "targetReadOpsPerSecond": {
622+ "type": "integer",
623+ "description": "Target ops read per seconds.",
624+ "format": "int32"
625+ }
626+ }
627+ },
628+ "NetworkUtilization": {
629+ "id": "NetworkUtilization",
630+ "type": "object",
631+ "description": "Target scaling by network usage. Only applicable for VM runtimes.",
632+ "properties": {
633+ "targetSentBytesPerSecond": {
634+ "type": "integer",
635+ "description": "Target bytes sent per second.",
636+ "format": "int32"
637+ },
638+ "targetSentPacketsPerSecond": {
639+ "type": "integer",
640+ "description": "Target packets sent per second.",
641+ "format": "int32"
642+ },
643+ "targetReceivedBytesPerSecond": {
644+ "type": "integer",
645+ "description": "Target bytes received per second.",
646+ "format": "int32"
647+ },
648+ "targetReceivedPacketsPerSecond": {
649+ "type": "integer",
650+ "description": "Target packets received per second.",
651+ "format": "int32"
652+ }
653+ }
654+ },
655+ "BasicScaling": {
656+ "id": "BasicScaling",
657+ "type": "object",
658+ "description": "A service with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity.",
659+ "properties": {
660+ "idleTimeout": {
661+ "type": "string",
662+ "description": "Duration of time after the last request that an instance must wait before the instance is shut down."
663+ },
664+ "maxInstances": {
665+ "type": "integer",
666+ "description": "Maximum number of instances to create for this version.",
667+ "format": "int32"
668+ }
669+ }
670+ },
671+ "ManualScaling": {
672+ "id": "ManualScaling",
673+ "type": "object",
674+ "description": "A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time.",
675+ "properties": {
676+ "instances": {
677+ "type": "integer",
678+ "description": "Number of instances to assign to the service at the start. This number can later be altered by using the [Modules API](https://cloud.google.com/appengine/docs/python/modules/functions) `set_num_instances()` function.",
679+ "format": "int32"
680+ }
681+ }
682+ },
683+ "Network": {
684+ "id": "Network",
685+ "type": "object",
686+ "description": "Extra network settings. Only applicable for VM runtimes.",
687+ "properties": {
688+ "forwardedPorts": {
689+ "type": "array",
690+ "description": "List of ports, or port pairs, to forward from the virtual machine to the application container.",
691+ "items": {
692+ "type": "string"
693+ }
694+ },
695+ "instanceTag": {
696+ "type": "string",
697+ "description": "Tag to apply to the VM instance during creation."
698+ },
699+ "name": {
700+ "type": "string",
701+ "description": "Google Cloud Platform network where the virtual machines are created. Specify the short name, not the resource path. Defaults to `default`."
702+ }
703+ }
704+ },
705+ "Resources": {
706+ "id": "Resources",
707+ "type": "object",
708+ "description": "Machine resources for a version.",
709+ "properties": {
710+ "cpu": {
711+ "type": "number",
712+ "description": "Number of CPU cores needed.",
713+ "format": "double"
714+ },
715+ "diskGb": {
716+ "type": "number",
717+ "description": "Disk size (GB) needed.",
718+ "format": "double"
719+ },
720+ "memoryGb": {
721+ "type": "number",
722+ "description": "Memory (GB) needed.",
723+ "format": "double"
724+ }
725+ }
726+ },
727+ "UrlMap": {
728+ "id": "UrlMap",
729+ "type": "object",
730+ "description": "URL pattern and description of how the URL should be handled. App Engine can handle URLs by executing application code or by serving static files uploaded with the version, such as images, CSS, or JavaScript.",
731+ "properties": {
732+ "urlRegex": {
733+ "type": "string",
734+ "description": "URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings. All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path."
735+ },
736+ "staticFiles": {
737+ "$ref": "StaticFilesHandler",
738+ "description": "Returns the contents of a file, such as an image, as the response."
739+ },
740+ "script": {
741+ "$ref": "ScriptHandler",
742+ "description": "Executes a script to handle the request that matches this URL pattern."
743+ },
744+ "apiEndpoint": {
745+ "$ref": "ApiEndpointHandler",
746+ "description": "Uses API Endpoints to handle requests."
747+ },
748+ "securityLevel": {
749+ "type": "string",
750+ "description": "Security (HTTPS) enforcement for this URL.",
751+ "enum": [
752+ "SECURE_UNSPECIFIED",
753+ "SECURE_DEFAULT",
754+ "SECURE_NEVER",
755+ "SECURE_OPTIONAL",
756+ "SECURE_ALWAYS"
757+ ]
758+ },
759+ "login": {
760+ "type": "string",
761+ "description": "Level of login required to access this resource.",
762+ "enum": [
763+ "LOGIN_UNSPECIFIED",
764+ "LOGIN_OPTIONAL",
765+ "LOGIN_ADMIN",
766+ "LOGIN_REQUIRED"
767+ ]
768+ },
769+ "authFailAction": {
770+ "type": "string",
771+ "description": "Action to take when users access resources that require authentication. Defaults to `redirect`.",
772+ "enum": [
773+ "AUTH_FAIL_ACTION_UNSPECIFIED",
774+ "AUTH_FAIL_ACTION_REDIRECT",
775+ "AUTH_FAIL_ACTION_UNAUTHORIZED"
776+ ]
777+ },
778+ "redirectHttpResponseCode": {
779+ "type": "string",
780+ "description": "`30x` code to use when performing redirects for the `secure` field. Defaults to `302`.",
781+ "enum": [
782+ "REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED",
783+ "REDIRECT_HTTP_RESPONSE_CODE_301",
784+ "REDIRECT_HTTP_RESPONSE_CODE_302",
785+ "REDIRECT_HTTP_RESPONSE_CODE_303",
786+ "REDIRECT_HTTP_RESPONSE_CODE_307"
787+ ]
788+ }
789+ }
790+ },
791+ "StaticFilesHandler": {
792+ "id": "StaticFilesHandler",
793+ "type": "object",
794+ "description": "Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static file handlers describe which files in the application directory are static files, and which URLs serve them.",
795+ "properties": {
796+ "path": {
797+ "type": "string",
798+ "description": "Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern."
799+ },
800+ "uploadPathRegex": {
801+ "type": "string",
802+ "description": "Regular expression that matches the file paths for all files that should be referenced by this handler."
803+ },
804+ "httpHeaders": {
805+ "type": "object",
806+ "description": "HTTP headers to use for all responses from these URLs.",
807+ "additionalProperties": {
808+ "type": "string"
809+ }
810+ },
811+ "mimeType": {
812+ "type": "string",
813+ "description": "MIME type used to serve all files served by this handler. Defaults to file-specific MIME types, which are derived from each file's filename extension."
814+ },
815+ "expiration": {
816+ "type": "string",
817+ "description": "Time a static file served by this handler should be cached by web proxies and browsers."
818+ },
819+ "requireMatchingFile": {
820+ "type": "boolean",
821+ "description": "Whether this handler should match the request if the file referenced by the handler does not exist."
822+ },
823+ "applicationReadable": {
824+ "type": "boolean",
825+ "description": "Whether files should also be uploaded as code data. By default, files declared in static file handlers are uploaded as static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged against both your code and static data storage resource quotas."
826+ }
827+ }
828+ },
829+ "ScriptHandler": {
830+ "id": "ScriptHandler",
831+ "type": "object",
832+ "description": "Executes a script to handle the request that matches the URL pattern.",
833+ "properties": {
834+ "scriptPath": {
835+ "type": "string",
836+ "description": "Path to the script from the application root directory."
837+ }
838+ }
839+ },
840+ "ApiEndpointHandler": {
841+ "id": "ApiEndpointHandler",
842+ "type": "object",
843+ "description": "Uses Google Cloud Endpoints to handle requests.",
844+ "properties": {
845+ "scriptPath": {
846+ "type": "string",
847+ "description": "Path to the script from the application root directory."
848+ }
849+ }
850+ },
851+ "ErrorHandler": {
852+ "id": "ErrorHandler",
853+ "type": "object",
854+ "description": "Custom static error page to be served when an error occurs.",
855+ "properties": {
856+ "errorCode": {
857+ "type": "string",
858+ "description": "Error condition this handler applies to.",
859+ "enum": [
860+ "ERROR_CODE_UNSPECIFIED",
861+ "ERROR_CODE_DEFAULT",
862+ "ERROR_CODE_OVER_QUOTA",
863+ "ERROR_CODE_DOS_API_DENIAL",
864+ "ERROR_CODE_TIMEOUT"
865+ ]
866+ },
867+ "staticFile": {
868+ "type": "string",
869+ "description": "Static file content to be served for this error."
870+ },
871+ "mimeType": {
872+ "type": "string",
873+ "description": "MIME type of file. Defaults to `text/html`."
874+ }
875+ }
876+ },
877+ "Library": {
878+ "id": "Library",
879+ "type": "object",
880+ "description": "Third-party Python runtime library that is required by the application.",
881+ "properties": {
882+ "name": {
883+ "type": "string",
884+ "description": "Name of the library. Example: \"django\"."
885+ },
886+ "version": {
887+ "type": "string",
888+ "description": "Version of the library to select, or \"latest\"."
889+ }
890+ }
891+ },
892+ "ApiConfigHandler": {
893+ "id": "ApiConfigHandler",
894+ "type": "object",
895+ "description": "[Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/) configuration for API handlers.",
896+ "properties": {
897+ "authFailAction": {
898+ "type": "string",
899+ "description": "Action to take when users access resources that require authentication. Defaults to `redirect`.",
900+ "enum": [
901+ "AUTH_FAIL_ACTION_UNSPECIFIED",
902+ "AUTH_FAIL_ACTION_REDIRECT",
903+ "AUTH_FAIL_ACTION_UNAUTHORIZED"
904+ ]
905+ },
906+ "login": {
907+ "type": "string",
908+ "description": "Level of login required to access this resource. Defaults to `optional`.",
909+ "enum": [
910+ "LOGIN_UNSPECIFIED",
911+ "LOGIN_OPTIONAL",
912+ "LOGIN_ADMIN",
913+ "LOGIN_REQUIRED"
914+ ]
915+ },
916+ "script": {
917+ "type": "string",
918+ "description": "Path to the script from the application root directory."
919+ },
920+ "securityLevel": {
921+ "type": "string",
922+ "description": "Security (HTTPS) enforcement for this URL.",
923+ "enum": [
924+ "SECURE_UNSPECIFIED",
925+ "SECURE_DEFAULT",
926+ "SECURE_NEVER",
927+ "SECURE_OPTIONAL",
928+ "SECURE_ALWAYS"
929+ ]
930+ },
931+ "url": {
932+ "type": "string",
933+ "description": "URL to serve the endpoint at."
934+ }
935+ }
936+ },
937+ "HealthCheck": {
938+ "id": "HealthCheck",
939+ "type": "object",
940+ "description": "Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances. Only applicable for instances in App Engine flexible environment.",
941+ "properties": {
942+ "disableHealthCheck": {
943+ "type": "boolean",
944+ "description": "Whether to explicitly disable health checks for this instance."
945+ },
946+ "host": {
947+ "type": "string",
948+ "description": "Host header to send when performing an HTTP health check. Example: \"myapp.appspot.com\""
949+ },
950+ "healthyThreshold": {
951+ "type": "integer",
952+ "description": "Number of consecutive successful health checks required before receiving traffic.",
953+ "format": "uint32"
954+ },
955+ "unhealthyThreshold": {
956+ "type": "integer",
957+ "description": "Number of consecutive failed health checks required before removing traffic.",
958+ "format": "uint32"
959+ },
960+ "restartThreshold": {
961+ "type": "integer",
962+ "description": "Number of consecutive failed health checks required before an instance is restarted.",
963+ "format": "uint32"
964+ },
965+ "checkInterval": {
966+ "type": "string",
967+ "description": "Interval between health checks."
968+ },
969+ "timeout": {
970+ "type": "string",
971+ "description": "Time before the health check is considered failed."
972+ }
973+ }
974+ },
975+ "Deployment": {
976+ "id": "Deployment",
977+ "type": "object",
978+ "description": "Code and application artifacts used to deploy a version to App Engine.",
979+ "properties": {
980+ "files": {
981+ "type": "object",
982+ "description": "Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call.",
983+ "additionalProperties": {
984+ "$ref": "FileInfo"
985+ }
986+ },
987+ "container": {
988+ "$ref": "ContainerInfo",
989+ "description": "A Docker image that App Engine uses to run the version. Only applicable for instances in App Engine flexible environment."
990+ },
991+ "zip": {
992+ "$ref": "ZipInfo",
993+ "description": "The zip file for this deployment, if this is a zip deployment."
994+ }
995+ }
996+ },
997+ "FileInfo": {
998+ "id": "FileInfo",
999+ "type": "object",
1000+ "description": "Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately.",
1001+ "properties": {
1002+ "sourceUrl": {
1003+ "type": "string",
1004+ "description": "URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com/\\/\\'."
1005+ },
1006+ "sha1Sum": {
1007+ "type": "string",
1008+ "description": "The SHA1 hash of the file, in hex."
1009+ },
1010+ "mimeType": {
1011+ "type": "string",
1012+ "description": "The MIME type of the file. Defaults to the value from Google Cloud Storage."
1013+ }
1014+ }
1015+ },
1016+ "ContainerInfo": {
1017+ "id": "ContainerInfo",
1018+ "type": "object",
1019+ "description": "Docker image that is used to start a VM container for the version you deploy.",
1020+ "properties": {
1021+ "image": {
1022+ "type": "string",
1023+ "description": "URI to the hosted container image in a Docker repository. The URI must be fully qualified and include a tag or digest. Examples: \"gcr.io/my-project/image:tag\" or \"gcr.io/my-project/image@digest\""
1024+ }
1025+ }
1026+ },
1027+ "ZipInfo": {
1028+ "id": "ZipInfo",
1029+ "type": "object",
1030+ "description": "The zip file information for a zip deployment.",
1031+ "properties": {
1032+ "sourceUrl": {
1033+ "type": "string",
1034+ "description": "URL of the zip file to deploy from. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com/\\/\\'."
1035+ },
1036+ "filesCount": {
1037+ "type": "integer",
1038+ "description": "An estimate of the number of files in a zip for a zip deployment. If set, must be greater than or equal to the actual number of files. Used for optimizing performance; if not provided, deployment may be slow.",
1039+ "format": "int32"
1040+ }
1041+ }
1042+ },
1043+ "ListInstancesResponse": {
1044+ "id": "ListInstancesResponse",
1045+ "type": "object",
1046+ "description": "Response message for `Instances.ListInstances`.",
1047+ "properties": {
1048+ "instances": {
1049+ "type": "array",
1050+ "description": "The instances belonging to the requested version.",
1051+ "items": {
1052+ "$ref": "Instance"
1053+ }
1054+ },
1055+ "nextPageToken": {
1056+ "type": "string",
1057+ "description": "Continuation token for fetching the next page of results."
1058+ }
1059+ }
1060+ },
1061+ "Instance": {
1062+ "id": "Instance",
1063+ "type": "object",
1064+ "description": "An Instance resource is the computing unit that App Engine uses to automatically scale an application.",
1065+ "properties": {
1066+ "name": {
1067+ "type": "string",
1068+ "description": "Full path to the Instance resource in the API. Example: `apps/myapp/services/default/versions/v1/instances/instance-1`. @OutputOnly"
1069+ },
1070+ "id": {
1071+ "type": "string",
1072+ "description": "Relative name of the instance within the version. Example: `instance-1`. @OutputOnly"
1073+ },
1074+ "appEngineRelease": {
1075+ "type": "string",
1076+ "description": "App Engine release this instance is running on. @OutputOnly"
1077+ },
1078+ "availability": {
1079+ "type": "string",
1080+ "description": "Availability of the instance. @OutputOnly",
1081+ "enum": [
1082+ "UNSPECIFIED",
1083+ "RESIDENT",
1084+ "DYNAMIC"
1085+ ]
1086+ },
1087+ "vmName": {
1088+ "type": "string",
1089+ "description": "Name of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment. @OutputOnly"
1090+ },
1091+ "vmZoneName": {
1092+ "type": "string",
1093+ "description": "Zone where the virtual machine is located. Only applicable for instances in App Engine flexible environment. @OutputOnly"
1094+ },
1095+ "vmId": {
1096+ "type": "string",
1097+ "description": "Virtual machine ID of this instance. Only applicable for instances in App Engine flexible environment. @OutputOnly"
1098+ },
1099+ "startTime": {
1100+ "type": "string",
1101+ "description": "Time that this instance was started. @OutputOnly"
1102+ },
1103+ "requests": {
1104+ "type": "integer",
1105+ "description": "Number of requests since this instance was started. @OutputOnly",
1106+ "format": "int32"
1107+ },
1108+ "errors": {
1109+ "type": "integer",
1110+ "description": "Number of errors since this instance was started. @OutputOnly",
1111+ "format": "int32"
1112+ },
1113+ "qps": {
1114+ "type": "number",
1115+ "description": "Average queries per second (QPS) over the last minute. @OutputOnly",
1116+ "format": "float"
1117+ },
1118+ "averageLatency": {
1119+ "type": "integer",
1120+ "description": "Average latency (ms) over the last minute. @OutputOnly",
1121+ "format": "int32"
1122+ },
1123+ "memoryUsage": {
1124+ "type": "string",
1125+ "description": "Total memory in use (bytes). @OutputOnly",
1126+ "format": "int64"
1127+ },
1128+ "vmStatus": {
1129+ "type": "string",
1130+ "description": "Status of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment. @OutputOnly"
1131+ },
1132+ "vmDebugEnabled": {
1133+ "type": "boolean",
1134+ "description": "Whether this instance is in debug mode. Only applicable for instances in App Engine flexible environment. @OutputOnly"
1135+ }
1136+ }
1137+ },
1138+ "DebugInstanceRequest": {
1139+ "id": "DebugInstanceRequest",
1140+ "type": "object",
1141+ "description": "Request message for `Instances.DebugInstance`."
1142+ },
1143+ "ListLocationsResponse": {
1144+ "id": "ListLocationsResponse",
1145+ "type": "object",
1146+ "description": "The response message for LocationService.ListLocations.",
1147+ "properties": {
1148+ "locations": {
1149+ "type": "array",
1150+ "description": "A list of locations that matches the specified filter in the request.",
1151+ "items": {
1152+ "$ref": "Location"
1153+ }
1154+ },
1155+ "nextPageToken": {
1156+ "type": "string",
1157+ "description": "The standard List next-page token."
1158+ }
1159+ }
1160+ },
1161+ "Location": {
1162+ "id": "Location",
1163+ "type": "object",
1164+ "description": "A resource that represents Google Cloud Platform location.",
1165+ "properties": {
1166+ "name": {
1167+ "type": "string",
1168+ "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`"
1169+ },
1170+ "locationId": {
1171+ "type": "string",
1172+ "description": "The canonical id for this location. For example: `\"us-east1\"`."
1173+ },
1174+ "labels": {
1175+ "type": "object",
1176+ "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
1177+ "additionalProperties": {
1178+ "type": "string"
1179+ }
1180+ },
1181+ "metadata": {
1182+ "type": "object",
1183+ "description": "Service-specific metadata. For example the available capacity at the given location.",
1184+ "additionalProperties": {
1185+ "type": "any",
1186+ "description": "Properties of the object. Contains field @type with type URL."
1187+ }
1188+ }
1189+ }
1190+ },
1191+ "OperationMetadata": {
1192+ "id": "OperationMetadata",
1193+ "type": "object",
1194+ "description": "Metadata for the given google.longrunning.Operation.",
1195+ "properties": {
1196+ "operationType": {
1197+ "type": "string",
1198+ "description": "Type of this operation. Deprecated, use method field instead. Example: \"create_version\". @OutputOnly"
1199+ },
1200+ "insertTime": {
1201+ "type": "string",
1202+ "description": "Timestamp that this operation was created. @OutputOnly"
1203+ },
1204+ "endTime": {
1205+ "type": "string",
1206+ "description": "Timestamp that this operation completed. @OutputOnly"
1207+ },
1208+ "user": {
1209+ "type": "string",
1210+ "description": "User who requested this operation. @OutputOnly"
1211+ },
1212+ "target": {
1213+ "type": "string",
1214+ "description": "Name of the resource that this operation is acting on. Example: `apps/myapp/modules/default`. @OutputOnly"
1215+ },
1216+ "method": {
1217+ "type": "string",
1218+ "description": "API method that initiated this operation. Example: `google.appengine.v1beta4.Version.CreateVersion`. @OutputOnly"
1219+ }
1220+ }
1221+ },
1222+ "OperationMetadataV1Beta5": {
1223+ "id": "OperationMetadataV1Beta5",
1224+ "type": "object",
1225+ "description": "Metadata for the given google.longrunning.Operation.",
1226+ "properties": {
1227+ "method": {
1228+ "type": "string",
1229+ "description": "API method name that initiated this operation. Example: `google.appengine.v1beta5.Version.CreateVersion`. @OutputOnly"
1230+ },
1231+ "insertTime": {
1232+ "type": "string",
1233+ "description": "Timestamp that this operation was created. @OutputOnly"
1234+ },
1235+ "endTime": {
1236+ "type": "string",
1237+ "description": "Timestamp that this operation completed. @OutputOnly"
1238+ },
1239+ "user": {
1240+ "type": "string",
1241+ "description": "User who requested this operation. @OutputOnly"
1242+ },
1243+ "target": {
1244+ "type": "string",
1245+ "description": "Name of the resource that this operation is acting on. Example: `apps/myapp/services/default`. @OutputOnly"
1246+ }
1247+ }
1248+ },
1249+ "OperationMetadataV1": {
1250+ "id": "OperationMetadataV1",
1251+ "type": "object",
1252+ "description": "Metadata for the given google.longrunning.Operation.",
1253+ "properties": {
1254+ "method": {
1255+ "type": "string",
1256+ "description": "API method that initiated this operation. Example: `google.appengine.v1.Versions.CreateVersion`. @OutputOnly"
1257+ },
1258+ "insertTime": {
1259+ "type": "string",
1260+ "description": "Time that this operation was created. @OutputOnly"
1261+ },
1262+ "endTime": {
1263+ "type": "string",
1264+ "description": "Time that this operation completed. @OutputOnly"
1265+ },
1266+ "user": {
1267+ "type": "string",
1268+ "description": "User who requested this operation. @OutputOnly"
1269+ },
1270+ "target": {
1271+ "type": "string",
1272+ "description": "Name of the resource that this operation is acting on. Example: `apps/myapp/services/default`. @OutputOnly"
1273+ }
1274+ }
1275+ },
1276+ "LocationMetadata": {
1277+ "id": "LocationMetadata",
1278+ "type": "object",
1279+ "description": "Metadata for the given google.cloud.location.Location.",
1280+ "properties": {
1281+ "standardEnvironmentAvailable": {
1282+ "type": "boolean",
1283+ "description": "App Engine Standard Environment is available in the given location. @OutputOnly"
1284+ },
1285+ "flexibleEnvironmentAvailable": {
1286+ "type": "boolean",
1287+ "description": "App Engine Flexible Environment is available in the given location. @OutputOnly"
1288+ }
1289+ }
1290+ }
1291+ },
1292+ "resources": {
1293+ "experimental": {
1294+ "resources": {
1295+ "apps": {
1296+ "resources": {
1297+ "operations": {
1298+ "methods": {
1299+ "get": {
1300+ "id": "appengine.experimental.apps.operations.get",
1301+ "path": "experimental/apps/{appsId}/operations/{operationsId}",
1302+ "httpMethod": "GET",
1303+ "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
1304+ "parameters": {
1305+ "appsId": {
1306+ "type": "string",
1307+ "description": "Part of `name`. The name of the operation resource.",
1308+ "required": true,
1309+ "location": "path"
1310+ },
1311+ "operationsId": {
1312+ "type": "string",
1313+ "description": "Part of `name`. See documentation of `appsId`.",
1314+ "required": true,
1315+ "location": "path"
1316+ }
1317+ },
1318+ "parameterOrder": [
1319+ "appsId",
1320+ "operationsId"
1321+ ],
1322+ "response": {
1323+ "$ref": "Operation"
1324+ },
1325+ "scopes": [
1326+ "https://www.googleapis.com/auth/cloud-platform"
1327+ ]
1328+ },
1329+ "list": {
1330+ "id": "appengine.experimental.apps.operations.list",
1331+ "path": "experimental/apps/{appsId}/operations",
1332+ "httpMethod": "GET",
1333+ "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding below allows API services to override the binding to use different resource name schemes, such as `users/*/operations`.",
1334+ "parameters": {
1335+ "appsId": {
1336+ "type": "string",
1337+ "description": "Part of `name`. The name of the operation collection.",
1338+ "required": true,
1339+ "location": "path"
1340+ },
1341+ "filter": {
1342+ "type": "string",
1343+ "description": "The standard list filter.",
1344+ "location": "query"
1345+ },
1346+ "pageSize": {
1347+ "type": "integer",
1348+ "description": "The standard list page size.",
1349+ "format": "int32",
1350+ "location": "query"
1351+ },
1352+ "pageToken": {
1353+ "type": "string",
1354+ "description": "The standard list page token.",
1355+ "location": "query"
1356+ }
1357+ },
1358+ "parameterOrder": [
1359+ "appsId"
1360+ ],
1361+ "response": {
1362+ "$ref": "ListOperationsResponse"
1363+ },
1364+ "scopes": [
1365+ "https://www.googleapis.com/auth/cloud-platform"
1366+ ]
1367+ }
1368+ }
1369+ }
1370+ }
1371+ }
1372+ }
1373+ },
1374+ "apps": {
1375+ "methods": {
1376+ "get": {
1377+ "id": "appengine.apps.get",
1378+ "path": "v1/apps/{appsId}",
1379+ "httpMethod": "GET",
1380+ "description": "Gets information about an application.",
1381+ "parameters": {
1382+ "appsId": {
1383+ "type": "string",
1384+ "description": "Part of `name`. Name of the Application resource to get. Example: `apps/myapp`.",
1385+ "required": true,
1386+ "location": "path"
1387+ }
1388+ },
1389+ "parameterOrder": [
1390+ "appsId"
1391+ ],
1392+ "response": {
1393+ "$ref": "Application"
1394+ },
1395+ "scopes": [
1396+ "https://www.googleapis.com/auth/cloud-platform"
1397+ ]
1398+ },
1399+ "patch": {
1400+ "id": "appengine.apps.patch",
1401+ "path": "v1/apps/{appsId}",
1402+ "httpMethod": "PATCH",
1403+ "description": "Updates application parameters.",
1404+ "parameters": {
1405+ "appsId": {
1406+ "type": "string",
1407+ "description": "Part of `name`. Name of the application to update. Example: `apps/myapp`.",
1408+ "required": true,
1409+ "location": "path"
1410+ },
1411+ "updateMask": {
1412+ "type": "string",
1413+ "description": "Standard field mask for the set of fields to be updated.",
1414+ "location": "query"
1415+ }
1416+ },
1417+ "parameterOrder": [
1418+ "appsId"
1419+ ],
1420+ "request": {
1421+ "$ref": "Application"
1422+ },
1423+ "response": {
1424+ "$ref": "Operation"
1425+ },
1426+ "scopes": [
1427+ "https://www.googleapis.com/auth/cloud-platform"
1428+ ]
1429+ },
1430+ "repair": {
1431+ "id": "appengine.apps.repair",
1432+ "path": "v1/apps/{appsId}:repair",
1433+ "httpMethod": "POST",
1434+ "description": "Recreates the required App Engine features for the application in your project, for example a Cloud Storage bucket or App Engine service account. Use this method if you receive an error message about a missing feature, for example \"*Error retrieving the App Engine service account*\".",
1435+ "parameters": {
1436+ "appsId": {
1437+ "type": "string",
1438+ "description": "Part of `name`. Name of the application to repair. Example: `apps/myapp`",
1439+ "required": true,
1440+ "location": "path"
1441+ }
1442+ },
1443+ "parameterOrder": [
1444+ "appsId"
1445+ ],
1446+ "request": {
1447+ "$ref": "RepairApplicationRequest"
1448+ },
1449+ "response": {
1450+ "$ref": "Operation"
1451+ },
1452+ "scopes": [
1453+ "https://www.googleapis.com/auth/cloud-platform"
1454+ ]
1455+ }
1456+ },
1457+ "resources": {
1458+ "operations": {
1459+ "methods": {
1460+ "get": {
1461+ "id": "appengine.apps.operations.get",
1462+ "path": "v1/apps/{appsId}/operations/{operationsId}",
1463+ "httpMethod": "GET",
1464+ "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
1465+ "parameters": {
1466+ "appsId": {
1467+ "type": "string",
1468+ "description": "Part of `name`. The name of the operation resource.",
1469+ "required": true,
1470+ "location": "path"
1471+ },
1472+ "operationsId": {
1473+ "type": "string",
1474+ "description": "Part of `name`. See documentation of `appsId`.",
1475+ "required": true,
1476+ "location": "path"
1477+ }
1478+ },
1479+ "parameterOrder": [
1480+ "appsId",
1481+ "operationsId"
1482+ ],
1483+ "response": {
1484+ "$ref": "Operation"
1485+ },
1486+ "scopes": [
1487+ "https://www.googleapis.com/auth/cloud-platform"
1488+ ]
1489+ },
1490+ "list": {
1491+ "id": "appengine.apps.operations.list",
1492+ "path": "v1/apps/{appsId}/operations",
1493+ "httpMethod": "GET",
1494+ "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding below allows API services to override the binding to use different resource name schemes, such as `users/*/operations`.",
1495+ "parameters": {
1496+ "appsId": {
1497+ "type": "string",
1498+ "description": "Part of `name`. The name of the operation collection.",
1499+ "required": true,
1500+ "location": "path"
1501+ },
1502+ "filter": {
1503+ "type": "string",
1504+ "description": "The standard list filter.",
1505+ "location": "query"
1506+ },
1507+ "pageSize": {
1508+ "type": "integer",
1509+ "description": "The standard list page size.",
1510+ "format": "int32",
1511+ "location": "query"
1512+ },
1513+ "pageToken": {
1514+ "type": "string",
1515+ "description": "The standard list page token.",
1516+ "location": "query"
1517+ }
1518+ },
1519+ "parameterOrder": [
1520+ "appsId"
1521+ ],
1522+ "response": {
1523+ "$ref": "ListOperationsResponse"
1524+ },
1525+ "scopes": [
1526+ "https://www.googleapis.com/auth/cloud-platform"
1527+ ]
1528+ }
1529+ }
1530+ },
1531+ "services": {
1532+ "methods": {
1533+ "list": {
1534+ "id": "appengine.apps.services.list",
1535+ "path": "v1/apps/{appsId}/services",
1536+ "httpMethod": "GET",
1537+ "description": "Lists all the services in the application.",
1538+ "parameters": {
1539+ "appsId": {
1540+ "type": "string",
1541+ "description": "Part of `parent`. Name of the parent Application resource. Example: `apps/myapp`.",
1542+ "required": true,
1543+ "location": "path"
1544+ },
1545+ "pageSize": {
1546+ "type": "integer",
1547+ "description": "Maximum results to return per page.",
1548+ "format": "int32",
1549+ "location": "query"
1550+ },
1551+ "pageToken": {
1552+ "type": "string",
1553+ "description": "Continuation token for fetching the next page of results.",
1554+ "location": "query"
1555+ }
1556+ },
1557+ "parameterOrder": [
1558+ "appsId"
1559+ ],
1560+ "response": {
1561+ "$ref": "ListServicesResponse"
1562+ },
1563+ "scopes": [
1564+ "https://www.googleapis.com/auth/cloud-platform"
1565+ ]
1566+ },
1567+ "get": {
1568+ "id": "appengine.apps.services.get",
1569+ "path": "v1/apps/{appsId}/services/{servicesId}",
1570+ "httpMethod": "GET",
1571+ "description": "Gets the current configuration of the specified service.",
1572+ "parameters": {
1573+ "appsId": {
1574+ "type": "string",
1575+ "description": "Part of `name`. Name of the resource requested. Example: `apps/myapp/services/default`.",
1576+ "required": true,
1577+ "location": "path"
1578+ },
1579+ "servicesId": {
1580+ "type": "string",
1581+ "description": "Part of `name`. See documentation of `appsId`.",
1582+ "required": true,
1583+ "location": "path"
1584+ }
1585+ },
1586+ "parameterOrder": [
1587+ "appsId",
1588+ "servicesId"
1589+ ],
1590+ "response": {
1591+ "$ref": "Service"
1592+ },
1593+ "scopes": [
1594+ "https://www.googleapis.com/auth/cloud-platform"
1595+ ]
1596+ },
1597+ "patch": {
1598+ "id": "appengine.apps.services.patch",
1599+ "path": "v1/apps/{appsId}/services/{servicesId}",
1600+ "httpMethod": "PATCH",
1601+ "description": "Updates the configuration of the specified service.",
1602+ "parameters": {
1603+ "appsId": {
1604+ "type": "string",
1605+ "description": "Part of `name`. Name of the resource to update. Example: `apps/myapp/services/default`.",
1606+ "required": true,
1607+ "location": "path"
1608+ },
1609+ "servicesId": {
1610+ "type": "string",
1611+ "description": "Part of `name`. See documentation of `appsId`.",
1612+ "required": true,
1613+ "location": "path"
1614+ },
1615+ "updateMask": {
1616+ "type": "string",
1617+ "description": "Standard field mask for the set of fields to be updated.",
1618+ "location": "query"
1619+ },
1620+ "migrateTraffic": {
1621+ "type": "boolean",
1622+ "description": "Set to `true` to gradually shift traffic from one version to another single version. By default, traffic is shifted immediately. For gradual traffic migration, the target version must be located within instances that are configured for both [warmup requests](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#inboundservicetype) and [automatic scaling](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#automaticscaling). You must specify the [`shardBy`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services#shardby) field in the Service resource. Gradual traffic migration is not supported in the App Engine flexible environment. For examples, see [Migrating and Splitting Traffic](https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic).",
1623+ "location": "query"
1624+ }
1625+ },
1626+ "parameterOrder": [
1627+ "appsId",
1628+ "servicesId"
1629+ ],
1630+ "request": {
1631+ "$ref": "Service"
1632+ },
1633+ "response": {
1634+ "$ref": "Operation"
1635+ },
1636+ "scopes": [
1637+ "https://www.googleapis.com/auth/cloud-platform"
1638+ ]
1639+ },
1640+ "delete": {
1641+ "id": "appengine.apps.services.delete",
1642+ "path": "v1/apps/{appsId}/services/{servicesId}",
1643+ "httpMethod": "DELETE",
1644+ "description": "Deletes the specified service and all enclosed versions.",
1645+ "parameters": {
1646+ "appsId": {
1647+ "type": "string",
1648+ "description": "Part of `name`. Name of the resource requested. Example: `apps/myapp/services/default`.",
1649+ "required": true,
1650+ "location": "path"
1651+ },
1652+ "servicesId": {
1653+ "type": "string",
1654+ "description": "Part of `name`. See documentation of `appsId`.",
1655+ "required": true,
1656+ "location": "path"
1657+ }
1658+ },
1659+ "parameterOrder": [
1660+ "appsId",
1661+ "servicesId"
1662+ ],
1663+ "response": {
1664+ "$ref": "Operation"
1665+ },
1666+ "scopes": [
1667+ "https://www.googleapis.com/auth/cloud-platform"
1668+ ]
1669+ }
1670+ },
1671+ "resources": {
1672+ "versions": {
1673+ "methods": {
1674+ "list": {
1675+ "id": "appengine.apps.services.versions.list",
1676+ "path": "v1/apps/{appsId}/services/{servicesId}/versions",
1677+ "httpMethod": "GET",
1678+ "description": "Lists the versions of a service.",
1679+ "parameters": {
1680+ "appsId": {
1681+ "type": "string",
1682+ "description": "Part of `parent`. Name of the parent Service resource. Example: `apps/myapp/services/default`.",
1683+ "required": true,
1684+ "location": "path"
1685+ },
1686+ "servicesId": {
1687+ "type": "string",
1688+ "description": "Part of `parent`. See documentation of `appsId`.",
1689+ "required": true,
1690+ "location": "path"
1691+ },
1692+ "view": {
1693+ "type": "string",
1694+ "description": "Controls the set of fields returned in the `List` response.",
1695+ "enum": [
1696+ "BASIC",
1697+ "FULL"
1698+ ],
1699+ "location": "query"
1700+ },
1701+ "pageSize": {
1702+ "type": "integer",
1703+ "description": "Maximum results to return per page.",
1704+ "format": "int32",
1705+ "location": "query"
1706+ },
1707+ "pageToken": {
1708+ "type": "string",
1709+ "description": "Continuation token for fetching the next page of results.",
1710+ "location": "query"
1711+ }
1712+ },
1713+ "parameterOrder": [
1714+ "appsId",
1715+ "servicesId"
1716+ ],
1717+ "response": {
1718+ "$ref": "ListVersionsResponse"
1719+ },
1720+ "scopes": [
1721+ "https://www.googleapis.com/auth/cloud-platform"
1722+ ]
1723+ },
1724+ "get": {
1725+ "id": "appengine.apps.services.versions.get",
1726+ "path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}",
1727+ "httpMethod": "GET",
1728+ "description": "Gets the specified Version resource. By default, only a `BASIC_VIEW` will be returned. Specify the `FULL_VIEW` parameter to get the full resource.",
1729+ "parameters": {
1730+ "appsId": {
1731+ "type": "string",
1732+ "description": "Part of `name`. Name of the resource requested. Example: `apps/myapp/services/default/versions/v1`.",
1733+ "required": true,
1734+ "location": "path"
1735+ },
1736+ "servicesId": {
1737+ "type": "string",
1738+ "description": "Part of `name`. See documentation of `appsId`.",
1739+ "required": true,
1740+ "location": "path"
1741+ },
1742+ "versionsId": {
1743+ "type": "string",
1744+ "description": "Part of `name`. See documentation of `appsId`.",
1745+ "required": true,
1746+ "location": "path"
1747+ },
1748+ "view": {
1749+ "type": "string",
1750+ "description": "Controls the set of fields returned in the `Get` response.",
1751+ "enum": [
1752+ "BASIC",
1753+ "FULL"
1754+ ],
1755+ "location": "query"
1756+ }
1757+ },
1758+ "parameterOrder": [
1759+ "appsId",
1760+ "servicesId",
1761+ "versionsId"
1762+ ],
1763+ "response": {
1764+ "$ref": "Version"
1765+ },
1766+ "scopes": [
1767+ "https://www.googleapis.com/auth/cloud-platform"
1768+ ]
1769+ },
1770+ "create": {
1771+ "id": "appengine.apps.services.versions.create",
1772+ "path": "v1/apps/{appsId}/services/{servicesId}/versions",
1773+ "httpMethod": "POST",
1774+ "description": "Deploys code and resource files to a new version.",
1775+ "parameters": {
1776+ "appsId": {
1777+ "type": "string",
1778+ "description": "Part of `parent`. Name of the parent resource to create this version under. Example: `apps/myapp/services/default`.",
1779+ "required": true,
1780+ "location": "path"
1781+ },
1782+ "servicesId": {
1783+ "type": "string",
1784+ "description": "Part of `parent`. See documentation of `appsId`.",
1785+ "required": true,
1786+ "location": "path"
1787+ }
1788+ },
1789+ "parameterOrder": [
1790+ "appsId",
1791+ "servicesId"
1792+ ],
1793+ "request": {
1794+ "$ref": "Version"
1795+ },
1796+ "response": {
1797+ "$ref": "Operation"
1798+ },
1799+ "scopes": [
1800+ "https://www.googleapis.com/auth/cloud-platform"
1801+ ]
1802+ },
1803+ "patch": {
1804+ "id": "appengine.apps.services.versions.patch",
1805+ "path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}",
1806+ "httpMethod": "PATCH",
1807+ "description": "Updates the specified Version resource. You can specify the following fields depending on the App Engine environment and type of scaling that the version resource uses: * [`serving_status`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.serving_status): For Version resources that use basic scaling, manual scaling, or run in the App Engine flexible environment. * [`instance_class`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.instance_class): For Version resources that run in the App Engine standard environment. * [`automatic_scaling.min_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment. * [`automatic_scaling.max_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.",
1808+ "parameters": {
1809+ "appsId": {
1810+ "type": "string",
1811+ "description": "Part of `name`. Name of the resource to update. Example: `apps/myapp/services/default/versions/1`.",
1812+ "required": true,
1813+ "location": "path"
1814+ },
1815+ "servicesId": {
1816+ "type": "string",
1817+ "description": "Part of `name`. See documentation of `appsId`.",
1818+ "required": true,
1819+ "location": "path"
1820+ },
1821+ "versionsId": {
1822+ "type": "string",
1823+ "description": "Part of `name`. See documentation of `appsId`.",
1824+ "required": true,
1825+ "location": "path"
1826+ },
1827+ "updateMask": {
1828+ "type": "string",
1829+ "description": "Standard field mask for the set of fields to be updated.",
1830+ "location": "query"
1831+ }
1832+ },
1833+ "parameterOrder": [
1834+ "appsId",
1835+ "servicesId",
1836+ "versionsId"
1837+ ],
1838+ "request": {
1839+ "$ref": "Version"
1840+ },
1841+ "response": {
1842+ "$ref": "Operation"
1843+ },
1844+ "scopes": [
1845+ "https://www.googleapis.com/auth/cloud-platform"
1846+ ]
1847+ },
1848+ "delete": {
1849+ "id": "appengine.apps.services.versions.delete",
1850+ "path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}",
1851+ "httpMethod": "DELETE",
1852+ "description": "Deletes an existing Version resource.",
1853+ "parameters": {
1854+ "appsId": {
1855+ "type": "string",
1856+ "description": "Part of `name`. Name of the resource requested. Example: `apps/myapp/services/default/versions/v1`.",
1857+ "required": true,
1858+ "location": "path"
1859+ },
1860+ "servicesId": {
1861+ "type": "string",
1862+ "description": "Part of `name`. See documentation of `appsId`.",
1863+ "required": true,
1864+ "location": "path"
1865+ },
1866+ "versionsId": {
1867+ "type": "string",
1868+ "description": "Part of `name`. See documentation of `appsId`.",
1869+ "required": true,
1870+ "location": "path"
1871+ }
1872+ },
1873+ "parameterOrder": [
1874+ "appsId",
1875+ "servicesId",
1876+ "versionsId"
1877+ ],
1878+ "response": {
1879+ "$ref": "Operation"
1880+ },
1881+ "scopes": [
1882+ "https://www.googleapis.com/auth/cloud-platform"
1883+ ]
1884+ }
1885+ },
1886+ "resources": {
1887+ "instances": {
1888+ "methods": {
1889+ "list": {
1890+ "id": "appengine.apps.services.versions.instances.list",
1891+ "path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances",
1892+ "httpMethod": "GET",
1893+ "description": "Lists the instances of a version.",
1894+ "parameters": {
1895+ "appsId": {
1896+ "type": "string",
1897+ "description": "Part of `parent`. Name of the parent Version resource. Example: `apps/myapp/services/default/versions/v1`.",
1898+ "required": true,
1899+ "location": "path"
1900+ },
1901+ "servicesId": {
1902+ "type": "string",
1903+ "description": "Part of `parent`. See documentation of `appsId`.",
1904+ "required": true,
1905+ "location": "path"
1906+ },
1907+ "versionsId": {
1908+ "type": "string",
1909+ "description": "Part of `parent`. See documentation of `appsId`.",
1910+ "required": true,
1911+ "location": "path"
1912+ },
1913+ "pageSize": {
1914+ "type": "integer",
1915+ "description": "Maximum results to return per page.",
1916+ "format": "int32",
1917+ "location": "query"
1918+ },
1919+ "pageToken": {
1920+ "type": "string",
1921+ "description": "Continuation token for fetching the next page of results.",
1922+ "location": "query"
1923+ }
1924+ },
1925+ "parameterOrder": [
1926+ "appsId",
1927+ "servicesId",
1928+ "versionsId"
1929+ ],
1930+ "response": {
1931+ "$ref": "ListInstancesResponse"
1932+ },
1933+ "scopes": [
1934+ "https://www.googleapis.com/auth/cloud-platform"
1935+ ]
1936+ },
1937+ "get": {
1938+ "id": "appengine.apps.services.versions.instances.get",
1939+ "path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}",
1940+ "httpMethod": "GET",
1941+ "description": "Gets instance information.",
1942+ "parameters": {
1943+ "appsId": {
1944+ "type": "string",
1945+ "description": "Part of `name`. Name of the resource requested. Example: `apps/myapp/services/default/versions/v1/instances/instance-1`.",
1946+ "required": true,
1947+ "location": "path"
1948+ },
1949+ "servicesId": {
1950+ "type": "string",
1951+ "description": "Part of `name`. See documentation of `appsId`.",
1952+ "required": true,
1953+ "location": "path"
1954+ },
1955+ "versionsId": {
1956+ "type": "string",
1957+ "description": "Part of `name`. See documentation of `appsId`.",
1958+ "required": true,
1959+ "location": "path"
1960+ },
1961+ "instancesId": {
1962+ "type": "string",
1963+ "description": "Part of `name`. See documentation of `appsId`.",
1964+ "required": true,
1965+ "location": "path"
1966+ }
1967+ },
1968+ "parameterOrder": [
1969+ "appsId",
1970+ "servicesId",
1971+ "versionsId",
1972+ "instancesId"
1973+ ],
1974+ "response": {
1975+ "$ref": "Instance"
1976+ },
1977+ "scopes": [
1978+ "https://www.googleapis.com/auth/cloud-platform"
1979+ ]
1980+ },
1981+ "delete": {
1982+ "id": "appengine.apps.services.versions.instances.delete",
1983+ "path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}",
1984+ "httpMethod": "DELETE",
1985+ "description": "Stops a running instance.",
1986+ "parameters": {
1987+ "appsId": {
1988+ "type": "string",
1989+ "description": "Part of `name`. Name of the resource requested. Example: `apps/myapp/services/default/versions/v1/instances/instance-1`.",
1990+ "required": true,
1991+ "location": "path"
1992+ },
1993+ "servicesId": {
1994+ "type": "string",
1995+ "description": "Part of `name`. See documentation of `appsId`.",
1996+ "required": true,
1997+ "location": "path"
1998+ },
1999+ "versionsId": {
2000+ "type": "string",
2001+ "description": "Part of `name`. See documentation of `appsId`.",
2002+ "required": true,
2003+ "location": "path"
2004+ },
2005+ "instancesId": {
2006+ "type": "string",
2007+ "description": "Part of `name`. See documentation of `appsId`.",
2008+ "required": true,
2009+ "location": "path"
2010+ }
2011+ },
2012+ "parameterOrder": [
2013+ "appsId",
2014+ "servicesId",
2015+ "versionsId",
2016+ "instancesId"
2017+ ],
2018+ "response": {
2019+ "$ref": "Operation"
2020+ },
2021+ "scopes": [
2022+ "https://www.googleapis.com/auth/cloud-platform"
2023+ ]
2024+ },
2025+ "debug": {
2026+ "id": "appengine.apps.services.versions.instances.debug",
2027+ "path": "v1/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug",
2028+ "httpMethod": "POST",
2029+ "description": "Enables debugging on a VM instance. This allows you to use the SSH command to connect to the virtual machine where the instance lives. While in \"debug mode\", the instance continues to serve live traffic. You should delete the instance when you are done debugging and then allow the system to take over and determine if another instance should be started. Only applicable for instances in App Engine flexible environment.",
2030+ "parameters": {
2031+ "appsId": {
2032+ "type": "string",
2033+ "description": "Part of `name`. Name of the resource requested. Example: `apps/myapp/services/default/versions/v1/instances/instance-1`.",
2034+ "required": true,
2035+ "location": "path"
2036+ },
2037+ "servicesId": {
2038+ "type": "string",
2039+ "description": "Part of `name`. See documentation of `appsId`.",
2040+ "required": true,
2041+ "location": "path"
2042+ },
2043+ "versionsId": {
2044+ "type": "string",
2045+ "description": "Part of `name`. See documentation of `appsId`.",
2046+ "required": true,
2047+ "location": "path"
2048+ },
2049+ "instancesId": {
2050+ "type": "string",
2051+ "description": "Part of `name`. See documentation of `appsId`.",
2052+ "required": true,
2053+ "location": "path"
2054+ }
2055+ },
2056+ "parameterOrder": [
2057+ "appsId",
2058+ "servicesId",
2059+ "versionsId",
2060+ "instancesId"
2061+ ],
2062+ "request": {
2063+ "$ref": "DebugInstanceRequest"
2064+ },
2065+ "response": {
2066+ "$ref": "Operation"
2067+ },
2068+ "scopes": [
2069+ "https://www.googleapis.com/auth/cloud-platform"
2070+ ]
2071+ }
2072+ }
2073+ }
2074+ }
2075+ }
2076+ }
2077+ },
2078+ "locations": {
2079+ "methods": {
2080+ "list": {
2081+ "id": "appengine.apps.locations.list",
2082+ "path": "v1/apps/{appsId}/locations",
2083+ "httpMethod": "GET",
2084+ "description": "Lists information about the supported locations for this service.",
2085+ "parameters": {
2086+ "appsId": {
2087+ "type": "string",
2088+ "description": "Part of `name`. The resource that owns the locations collection, if applicable.",
2089+ "required": true,
2090+ "location": "path"
2091+ },
2092+ "filter": {
2093+ "type": "string",
2094+ "description": "The standard list filter.",
2095+ "location": "query"
2096+ },
2097+ "pageSize": {
2098+ "type": "integer",
2099+ "description": "The standard list page size.",
2100+ "format": "int32",
2101+ "location": "query"
2102+ },
2103+ "pageToken": {
2104+ "type": "string",
2105+ "description": "The standard list page token.",
2106+ "location": "query"
2107+ }
2108+ },
2109+ "parameterOrder": [
2110+ "appsId"
2111+ ],
2112+ "response": {
2113+ "$ref": "ListLocationsResponse"
2114+ },
2115+ "scopes": [
2116+ "https://www.googleapis.com/auth/cloud-platform"
2117+ ]
2118+ },
2119+ "get": {
2120+ "id": "appengine.apps.locations.get",
2121+ "path": "v1/apps/{appsId}/locations/{locationsId}",
2122+ "httpMethod": "GET",
2123+ "description": "Get information about a location.",
2124+ "parameters": {
2125+ "appsId": {
2126+ "type": "string",
2127+ "description": "Part of `name`. Resource name for the location.",
2128+ "required": true,
2129+ "location": "path"
2130+ },
2131+ "locationsId": {
2132+ "type": "string",
2133+ "description": "Part of `name`. See documentation of `appsId`.",
2134+ "required": true,
2135+ "location": "path"
2136+ }
2137+ },
2138+ "parameterOrder": [
2139+ "appsId",
2140+ "locationsId"
2141+ ],
2142+ "response": {
2143+ "$ref": "Location"
2144+ },
2145+ "scopes": [
2146+ "https://www.googleapis.com/auth/cloud-platform"
2147+ ]
2148+ }
2149+ }
2150+ }
2151+ }
2152+ }
2153+ }
2154+}
gen/model/appengine/v1beta4/appengine-api.json+646−297
@@ -1,11 +1,11 @@
1{
1{
2 "kind": "discovery#restDescription",
2 "kind": "discovery#restDescription",
3− "etag": "\"jQLIOHBVnDZie4rQHGH1WJF-INE/xOhGK-osplEL_ezCgC9eAq4dFhY\"",
3+ "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/oxqnbHp-xHhVH5Kpw24MjL-SV6E\"",
4 "discoveryVersion": "v1",
4 "discoveryVersion": "v1",
5 "id": "appengine:v1beta4",
5 "id": "appengine:v1beta4",
6 "name": "appengine",
6 "name": "appengine",
7 "version": "v1beta4",
7 "version": "v1beta4",
8− "revision": "20160407",
8+ "revision": "20161012",
9 "title": "Google App Engine Admin API",
9 "title": "Google App Engine Admin API",
10 "description": "Provisions and manages App Engine applications.",
10 "description": "Provisions and manages App Engine applications.",
11 "ownerDomain": "google.com",
11 "ownerDomain": "google.com",
@@ -110,49 +110,129 @@
110 }
110 }
111 },
111 },
112 "schemas": {
112 "schemas": {
113+ "Operation": {
114+ "id": "Operation",
115+ "type": "object",
116+ "description": "This resource represents a long-running operation that is the result of a network API call.",
117+ "properties": {
118+ "name": {
119+ "type": "string",
120+ "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should have the format of `operations/some/unique/name`."
121+ },
122+ "metadata": {
123+ "type": "object",
124+ "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
125+ "additionalProperties": {
126+ "type": "any",
127+ "description": "Properties of the object. Contains field @type with type URL."
128+ }
129+ },
130+ "done": {
131+ "type": "boolean",
132+ "description": "If the value is `false`, it means the operation is still in progress. If true, the operation is completed, and either `error` or `response` is available."
133+ },
134+ "error": {
135+ "$ref": "Status",
136+ "description": "The error result of the operation in case of failure."
137+ },
138+ "response": {
139+ "type": "object",
140+ "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
141+ "additionalProperties": {
142+ "type": "any",
143+ "description": "Properties of the object. Contains field @type with type URL."
144+ }
145+ }
146+ }
147+ },
148+ "Status": {
149+ "id": "Status",
150+ "type": "object",
151+ "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). The error model is designed to be: - Simple to use and understand for most users - Flexible enough to meet unexpected needs # Overview The `Status` message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers *understand* and *resolve* the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package `google.rpc` which can be used for common error conditions. # Language mapping The `Status` message is the logical representation of the error model, but it is not necessarily the actual wire format. When the `Status` message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C. # Other uses The error model and the `Status` message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments. Example uses of this error model include: - Partial errors. If a service needs to return partial errors to the client, it may embed the `Status` in the normal response to indicate the partial errors. - Workflow errors. A typical workflow has multiple steps. Each step may have a `Status` message for error reporting purpose. - Batch operations. If a client uses batch request and batch response, the `Status` message should be used directly inside batch response, one for each error sub-response. - Asynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the `Status` message. - Logging. If some API errors are stored in logs, the message `Status` could be used directly after any stripping needed for security/privacy reasons.",
152+ "properties": {
153+ "code": {
154+ "type": "integer",
155+ "description": "The status code, which should be an enum value of google.rpc.Code.",
156+ "format": "int32"
157+ },
158+ "message": {
159+ "type": "string",
160+ "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client."
161+ },
162+ "details": {
163+ "type": "array",
164+ "description": "A list of messages that carry the error details. There will be a common set of message types for APIs to use.",
165+ "items": {
166+ "type": "object",
167+ "additionalProperties": {
168+ "type": "any",
169+ "description": "Properties of the object. Contains field @type with type URL."
170+ }
171+ }
172+ }
173+ }
174+ },
175+ "ListOperationsResponse": {
176+ "id": "ListOperationsResponse",
177+ "type": "object",
178+ "description": "The response message for Operations.ListOperations.",
179+ "properties": {
180+ "operations": {
181+ "type": "array",
182+ "description": "A list of operations that matches the specified filter in the request.",
183+ "items": {
184+ "$ref": "Operation"
185+ }
186+ },
187+ "nextPageToken": {
188+ "type": "string",
189+ "description": "The standard List next-page token."
190+ }
191+ }
192+ },
113 "Application": {
193 "Application": {
114 "id": "Application",
194 "id": "Application",
115 "type": "object",
195 "type": "object",
116− "description": "An Application contains the top-level configuration of an App Engine application.",
196+ "description": "An Application resource contains the top-level configuration of an App Engine application.",
117 "properties": {
197 "properties": {
118 "name": {
198 "name": {
119 "type": "string",
199 "type": "string",
120− "description": "The full path to the application in the API. Example: \"apps/myapp\". @OutputOnly"
200+ "description": "Full path to the Application resource in the API. Example: `apps/myapp`. @OutputOnly"
121 },
201 },
122 "id": {
202 "id": {
123 "type": "string",
203 "type": "string",
124− "description": "The relative name/path of the application. Example: \"myapp\"."
204+ "description": "Identifier of the Application resource. This identifier is equivalent to the project ID of the Google Cloud Platform project where you want to deploy your application. Example: `myapp`."
125 },
205 },
126 "dispatchRules": {
206 "dispatchRules": {
127 "type": "array",
207 "type": "array",
128− "description": "HTTP path dispatch rules for requests to the app that do not explicitly target a module or version. The rules are order-dependent. @OutputOnly",
208+ "description": "HTTP path dispatch rules for requests to the application that do not explicitly target a module or version. Rules are order-dependent. @OutputOnly",
129 "items": {
209 "items": {
130 "$ref": "UrlDispatchRule"
210 "$ref": "UrlDispatchRule"
131 }
211 }
132 },
212 },
133 "authDomain": {
213 "authDomain": {
134 "type": "string",
214 "type": "string",
135− "description": "If set, only users from the specified Google Apps authentication domain may access the application. If not set, any Google Account may access the application."
215+ "description": "Google Apps authentication domain that controls which users can access this application. Defaults to open access for any Google Account."
136 },
216 },
137 "location": {
217 "location": {
138 "type": "string",
218 "type": "string",
139− "description": "The location from which the application will be run. Application instances will run out of data centers in the chosen location and all of the application's End User Content will be stored at rest. The default is \"us-central\". Choices are: \"us-central\" - Central US \"europe-west\" - Western Europe \"us-east1\" - Eastern US"
219+ "description": "Location from which this application will be run. Application instances will run out of data centers in the chosen location, which is also where all of the application's end user content is stored. Defaults to `us-central`. Options are: `us-central` - Central US `europe-west` - Western Europe `us-east1` - Eastern US"
140 },
220 },
141 "codeBucket": {
221 "codeBucket": {
142 "type": "string",
222 "type": "string",
143− "description": "A Google Cloud Storage bucket which can be used for storing files associated with an application. This bucket is associated with the application and can be used by the gcloud deployment commands. @OutputOnly"
223+ "description": "Google Cloud Storage bucket that can be used for storing files associated with this application. This bucket is associated with the application and can be used by the gcloud deployment commands. @OutputOnly"
144 },
224 },
145 "defaultCookieExpiration": {
225 "defaultCookieExpiration": {
146 "type": "string",
226 "type": "string",
147− "description": "Determines the cookie expiration policy for the application. @OutputOnly"
227+ "description": "Cookie expiration policy for this application. @OutputOnly"
148 },
228 },
149 "defaultHostname": {
229 "defaultHostname": {
150 "type": "string",
230 "type": "string",
151− "description": "The hostname used to reach the application, as resolved by App Engine. @OutputOnly"
231+ "description": "Hostname used to reach the application, as resolved by App Engine. @OutputOnly"
152 },
232 },
153 "defaultBucket": {
233 "defaultBucket": {
154 "type": "string",
234 "type": "string",
155− "description": "A Google Cloud Storage bucket which can be used by the application to store content. @OutputOnly"
235+ "description": "Google Cloud Storage bucket that can be used by this application to store content. @OutputOnly"
156 }
236 }
157 }
237 }
158 },
238 },
@@ -163,34 +243,34 @@
163 "properties": {
243 "properties": {
164 "domain": {
244 "domain": {
165 "type": "string",
245 "type": "string",
166− "description": "The domain name to match on. Supports '*' (glob) wildcarding on the left-hand side of a '.'. If empty, all domains will be matched (the same as '*')."
246+ "description": "Domain name to match against. The wildcard \"`*`\" is supported if specified before a period: \"`*.`\". Defaults to matching all domains: \"`*`\"."
167 },
247 },
168 "path": {
248 "path": {
169 "type": "string",
249 "type": "string",
170− "description": "The pathname within the host. This must start with a '/'. A single '*' (glob) can be included at the end of the path. The sum of the lengths of the domain and path may not exceed 100 characters."
250+ "description": "Pathname within the host. Must start with a \"`/`\". A single \"`*`\" can be included at the end of the path. The sum of the lengths of the domain and path may not exceed 100 characters."
171 },
251 },
172 "module": {
252 "module": {
173 "type": "string",
253 "type": "string",
174− "description": "The resource id of a Module in this application that should service the matched request. The Module must already exist. Example: \"default\"."
254+ "description": "Resource ID of a module in this application that should serve the matched request. The module must already exist. Example: `default`."
175 }
255 }
176 }
256 }
177 },
257 },
178 "Version": {
258 "Version": {
179 "id": "Version",
259 "id": "Version",
180 "type": "object",
260 "type": "object",
181− "description": "A Version is a specific set of source code and configuration files deployed to a module.",
261+ "description": "A Version resource is a specific set of source code and configuration files that are deployed into a module.",
182 "properties": {
262 "properties": {
183 "name": {
263 "name": {
184 "type": "string",
264 "type": "string",
185− "description": "The full path to the Version resource in the API. Example: \"apps/myapp/modules/default/versions/v1\". @OutputOnly"
265+ "description": "Full path to the Version resource in the API. Example: `apps/myapp/modules/default/versions/v1`. @OutputOnly"
186 },
266 },
187 "id": {
267 "id": {
188 "type": "string",
268 "type": "string",
189− "description": "The relative name/path of the Version within the module. Example: \"v1\". Version specifiers can contain lowercase letters, digits, and hyphens. It cannot begin with the prefix `ah-` and the names `default` and `latest` are reserved and cannot be used."
269+ "description": "Relative name of the version within the module. Example: `v1`. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names: \"default\", \"latest\", and any name with the prefix \"ah-\"."
190 },
270 },
191 "automaticScaling": {
271 "automaticScaling": {
192 "$ref": "AutomaticScaling",
272 "$ref": "AutomaticScaling",
193− "description": "Automatic scaling is the scaling policy that App Engine has used since its inception. It is based on request rate, response latencies, and other application metrics."
273+ "description": "Automatic scaling is based on request rate, response latencies, and other application metrics."
194 },
274 },
195 "basicScaling": {
275 "basicScaling": {
196 "$ref": "BasicScaling",
276 "$ref": "BasicScaling",
@@ -206,7 +286,7 @@
206 "enumDescriptions": [
286 "enumDescriptions": [
207 "Not specified.",
287 "Not specified.",
208 "Allows an application to receive mail.",
288 "Allows an application to receive mail.",
209− "Allows an application receive email bound notifications.",
289+ "Allows an application to receive email-bound notifications.",
210 "Allows an application to receive error stanzas.",
290 "Allows an application to receive error stanzas.",
211 "Allows an application to receive instant messages.",
291 "Allows an application to receive instant messages.",
212 "Allows an application to receive user subscription POSTs.",
292 "Allows an application to receive user subscription POSTs.",
@@ -231,42 +311,42 @@
231 },
311 },
232 "instanceClass": {
312 "instanceClass": {
233 "type": "string",
313 "type": "string",
234− "description": "The frontend instance class to use to run this app. Valid values are `[F1, F2, F4, F4_1G]`. Default: \"F1\""
314+ "description": "Instance class that is used to run this version. Valid values are: * AutomaticScaling: `F1`, `F2`, `F4`, `F4_1G` * ManualScaling or BasicScaling: `B1`, `B2`, `B4`, `B8`, `B4_1G` Defaults to `F1` for AutomaticScaling and `B1` for ManualScaling or BasicScaling."
235 },
315 },
236 "network": {
316 "network": {
237 "$ref": "Network",
317 "$ref": "Network",
238− "description": "Used to specify extra network settings (for VM runtimes only)."
318+ "description": "Extra network settings. Only applicable for VM runtimes."
239 },
319 },
240 "resources": {
320 "resources": {
241 "$ref": "Resources",
321 "$ref": "Resources",
242− "description": "Used to specify how many machine resources an app version needs (for VM runtimes only)."
322+ "description": "Machine resources for this version. Only applicable for VM runtimes."
243 },
323 },
244 "runtime": {
324 "runtime": {
245 "type": "string",
325 "type": "string",
246− "description": "The desired runtime. Values can include python27, java7, go, etc."
326+ "description": "Desired runtime. Example: `python27`."
247 },
327 },
248 "threadsafe": {
328 "threadsafe": {
249 "type": "boolean",
329 "type": "boolean",
250− "description": "If true, multiple requests can be dispatched to the app at once."
330+ "description": "Whether multiple requests can be dispatched to this version at once."
251 },
331 },
252 "vm": {
332 "vm": {
253 "type": "boolean",
333 "type": "boolean",
254− "description": "Whether to deploy this app in a VM container."
334+ "description": "Whether to deploy this version in a container on a virtual machine."
255 },
335 },
256 "betaSettings": {
336 "betaSettings": {
257 "type": "object",
337 "type": "object",
258− "description": "Beta settings supplied to the application via metadata.",
338+ "description": "Metadata settings that are supplied to this version to enable beta runtime features.",
259 "additionalProperties": {
339 "additionalProperties": {
260 "type": "string"
340 "type": "string"
261 }
341 }
262 },
342 },
263 "env": {
343 "env": {
264 "type": "string",
344 "type": "string",
265− "description": "The App Engine execution environment to use for this version. Default: \"1\""
345+ "description": "App Engine execution environment to use for this version. Defaults to `1`."
266 },
346 },
267 "servingStatus": {
347 "servingStatus": {
268 "type": "string",
348 "type": "string",
269− "description": "The current serving status of this version. Only `SERVING` versions will have instances created or billed for. If this field is unset when a version is created, `SERVING` status will be assumed. It is an error to explicitly set this field to `SERVING_STATUS_UNSPECIFIED`.",
349+ "description": "Current serving status of this version. Only the versions with a `SERVING` status create instances and can be billed. `SERVING_STATUS_UNSPECIFIED` is an invalid value. Defaults to `SERVING`.",
270 "enum": [
350 "enum": [
271 "SERVING_STATUS_UNSPECIFIED",
351 "SERVING_STATUS_UNSPECIFIED",
272 "SERVING",
352 "SERVING",
@@ -275,70 +355,70 @@
275 },
355 },
276 "deployer": {
356 "deployer": {
277 "type": "string",
357 "type": "string",
278− "description": "The email address of the user who created this version. @OutputOnly"
358+ "description": "Email address of the user who created this version. @OutputOnly"
279 },
359 },
280 "creationTime": {
360 "creationTime": {
281 "type": "string",
361 "type": "string",
282− "description": "Creation time of this version. This will be between the start and end times of the operation that creates this version. @OutputOnly"
362+ "description": "Time that this version was created. @OutputOnly"
283 },
363 },
284 "handlers": {
364 "handlers": {
285 "type": "array",
365 "type": "array",
286− "description": "An ordered list of URL Matching patterns that should be applied to incoming requests. The first matching URL consumes the request, and subsequent handlers are not attempted. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable.",
366+ "description": "An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted. Only returned in `GET` requests if `view=FULL` is set.",
287 "items": {
367 "items": {
288 "$ref": "UrlMap"
368 "$ref": "UrlMap"
289 }
369 }
290 },
370 },
291 "errorHandlers": {
371 "errorHandlers": {
292 "type": "array",
372 "type": "array",
293− "description": "Custom static error pages instead of these generic error pages, (limit 10 KB/page) Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable.",
373+ "description": "Custom static error pages. Limited to 10KB per page. Only returned in `GET` requests if `view=FULL` is set.",
294 "items": {
374 "items": {
295 "$ref": "ErrorHandler"
375 "$ref": "ErrorHandler"
296 }
376 }
297 },
377 },
298 "libraries": {
378 "libraries": {
299 "type": "array",
379 "type": "array",
300− "description": "Configuration for Python runtime third-party libraries required by the application. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable.",
380+ "description": "Configuration for third-party Python runtime libraries required by the application. Only returned in `GET` requests if `view=FULL` is set.",
301 "items": {
381 "items": {
302 "$ref": "Library"
382 "$ref": "Library"
303 }
383 }
304 },
384 },
305 "apiConfig": {
385 "apiConfig": {
306 "$ref": "ApiConfigHandler",
386 "$ref": "ApiConfigHandler",
307− "description": "Serving configuration for Google Cloud Endpoints. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable."
387+ "description": "Serving configuration for [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/). Only returned in `GET` requests if `view=FULL` is set."
308 },
388 },
309 "envVariables": {
389 "envVariables": {
310 "type": "object",
390 "type": "object",
311− "description": "Environment variables made available to the application. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable.",
391+ "description": "Environment variables made available to the application. Only returned in `GET` requests if `view=FULL` is set.",
312 "additionalProperties": {
392 "additionalProperties": {
313 "type": "string"
393 "type": "string"
314 }
394 }
315 },
395 },
316 "defaultExpiration": {
396 "defaultExpiration": {
317 "type": "string",
397 "type": "string",
318− "description": "The length of time a static file served by a static file handler ought to be cached by web proxies and browsers, if the handler does not specify its own expiration. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable."
398+ "description": "Duration that static files should be cached by web proxies and browsers. Only applicable if the corresponding [StaticFilesHandler](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#staticfileshandler) does not specify its own expiration time. Only returned in `GET` requests if `view=FULL` is set."
319 },
399 },
320 "healthCheck": {
400 "healthCheck": {
321 "$ref": "HealthCheck",
401 "$ref": "HealthCheck",
322− "description": "Configure health checking for the VM instances. Unhealthy VM instances will be stopped and replaced with new instances. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable."
402+ "description": "Configures health checking for VM instances. Unhealthy instances are stopped and replaced with new instances. Only applicable for VM runtimes. Only returned in `GET` requests if `view=FULL` is set."
323 },
403 },
324 "nobuildFilesRegex": {
404 "nobuildFilesRegex": {
325 "type": "string",
405 "type": "string",
326− "description": "Go only. Files that match this pattern will not be built into the app. May only be set on create requests."
406+ "description": "Files that match this pattern will not be built into this version. Only applicable for Go runtimes. Only returned in `GET` requests if `view=FULL` is set."
327 },
407 },
328 "deployment": {
408 "deployment": {
329 "$ref": "Deployment",
409 "$ref": "Deployment",
330− "description": "Code and application artifacts that make up this version. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable."
410+ "description": "Code and application artifacts that make up this version. Only returned in `GET` requests if `view=FULL` is set."
331 }
411 }
332 }
412 }
333 },
413 },
334 "AutomaticScaling": {
414 "AutomaticScaling": {
335 "id": "AutomaticScaling",
415 "id": "AutomaticScaling",
336 "type": "object",
416 "type": "object",
337− "description": "Automatic scaling is the scaling policy that App Engine has used since its inception. It is based on request rate, response latencies, and other application metrics.",
417+ "description": "Automatic scaling is based on request rate, response latencies, and other application metrics.",
338 "properties": {
418 "properties": {
339 "coolDownPeriod": {
419 "coolDownPeriod": {
340 "type": "string",
420 "type": "string",
341− "description": "The amount of time that the [Autoscaler](https://cloud.google.com/compute/docs/autoscaler/) should wait between changes to the number of virtual machines. Applies only to the VM runtime."
421+ "description": "Amount of time that the [Autoscaler](https://cloud.google.com/compute/docs/autoscaler/) should wait between changes to the number of virtual machines. Only applicable for VM runtimes."
342 },
422 },
343 "cpuUtilization": {
423 "cpuUtilization": {
344 "$ref": "CpuUtilization",
424 "$ref": "CpuUtilization",
@@ -346,36 +426,36 @@
346 },
426 },
347 "maxConcurrentRequests": {
427 "maxConcurrentRequests": {
348 "type": "integer",
428 "type": "integer",
349− "description": "The number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance. Default value is chosen based on the runtime.",
429+ "description": "Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance. Defaults to a runtime-specific value.",
350 "format": "int32"
430 "format": "int32"
351 },
431 },
352 "maxIdleInstances": {
432 "maxIdleInstances": {
353 "type": "integer",
433 "type": "integer",
354− "description": "The maximum number of idle instances that App Engine should maintain for this version.",
434+ "description": "Maximum number of idle instances that should be maintained for this version.",
355 "format": "int32"
435 "format": "int32"
356 },
436 },
357 "maxTotalInstances": {
437 "maxTotalInstances": {
358 "type": "integer",
438 "type": "integer",
359− "description": "Max number of instances that App Engine should start to handle requests.",
439+ "description": "Maximum number of instances that should be started to handle requests.",
360 "format": "int32"
440 "format": "int32"
361 },
441 },
362 "maxPendingLatency": {
442 "maxPendingLatency": {
363 "type": "string",
443 "type": "string",
364− "description": "The maximum amount of time that App Engine should allow a request to wait in the pending queue before starting a new instance to handle it."
444+ "description": "Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it."
365 },
445 },
366 "minIdleInstances": {
446 "minIdleInstances": {
367 "type": "integer",
447 "type": "integer",
368− "description": "The minimum number of idle instances that App Engine should maintain for this version. Only applies to the default version of a module, since other versions are not expected to receive significant traffic.",
448+ "description": "Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a module.",
369 "format": "int32"
449 "format": "int32"
370 },
450 },
371 "minTotalInstances": {
451 "minTotalInstances": {
372 "type": "integer",
452 "type": "integer",
373− "description": "Minimum number of instances that App Engine should maintain.",
453+ "description": "Minimum number of instances that should be maintained for this version.",
374 "format": "int32"
454 "format": "int32"
375 },
455 },
376 "minPendingLatency": {
456 "minPendingLatency": {
377 "type": "string",
457 "type": "string",
378− "description": "The minimum amount of time that App Engine should allow a request to wait in the pending queue before starting a new instance to handle it."
458+ "description": "Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it."
379 },
459 },
380 "requestUtilization": {
460 "requestUtilization": {
381 "$ref": "RequestUtilization",
461 "$ref": "RequestUtilization",
@@ -398,11 +478,11 @@
398 "properties": {
478 "properties": {
399 "aggregationWindowLength": {
479 "aggregationWindowLength": {
400 "type": "string",
480 "type": "string",
401− "description": "The period of time over which CPU utilization is calculated."
481+ "description": "Period of time over which CPU utilization is calculated."
402 },
482 },
403 "targetUtilization": {
483 "targetUtilization": {
404 "type": "number",
484 "type": "number",
405− "description": "Target (0-1) CPU utilization ratio to maintain when scaling.",
485+ "description": "Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1.",
406 "format": "double"
486 "format": "double"
407 }
487 }
408 }
488 }
@@ -410,7 +490,7 @@
410 "RequestUtilization": {
490 "RequestUtilization": {
411 "id": "RequestUtilization",
491 "id": "RequestUtilization",
412 "type": "object",
492 "type": "object",
413− "description": "Target scaling by request utilization (for VM runtimes only).",
493+ "description": "Target scaling by request utilization. Only applicable for VM runtimes.",
414 "properties": {
494 "properties": {
415 "targetRequestCountPerSec": {
495 "targetRequestCountPerSec": {
416 "type": "integer",
496 "type": "integer",
@@ -427,26 +507,26 @@
427 "DiskUtilization": {
507 "DiskUtilization": {
428 "id": "DiskUtilization",
508 "id": "DiskUtilization",
429 "type": "object",
509 "type": "object",
430− "description": "Target scaling by disk usage (for VM runtimes only).",
510+ "description": "Target scaling by disk usage. Only applicable for VM runtimes.",
431 "properties": {
511 "properties": {
432 "targetWriteBytesPerSec": {
512 "targetWriteBytesPerSec": {
433 "type": "integer",
513 "type": "integer",
434− "description": "Target bytes per second written.",
514+ "description": "Target bytes written per second.",
435 "format": "int32"
515 "format": "int32"
436 },
516 },
437 "targetWriteOpsPerSec": {
517 "targetWriteOpsPerSec": {
438 "type": "integer",
518 "type": "integer",
439− "description": "Target ops per second written.",
519+ "description": "Target ops written per second.",
440 "format": "int32"
520 "format": "int32"
441 },
521 },
442 "targetReadBytesPerSec": {
522 "targetReadBytesPerSec": {
443 "type": "integer",
523 "type": "integer",
444− "description": "Target bytes per second read.",
524+ "description": "Target bytes read per second.",
445 "format": "int32"
525 "format": "int32"
446 },
526 },
447 "targetReadOpsPerSec": {
527 "targetReadOpsPerSec": {
448 "type": "integer",
528 "type": "integer",
449− "description": "Target ops per second read.",
529+ "description": "Target ops read per second.",
450 "format": "int32"
530 "format": "int32"
451 }
531 }
452 }
532 }
@@ -454,26 +534,26 @@
454 "NetworkUtilization": {
534 "NetworkUtilization": {
455 "id": "NetworkUtilization",
535 "id": "NetworkUtilization",
456 "type": "object",
536 "type": "object",
457− "description": "Target scaling by network usage (for VM runtimes only).",
537+ "description": "Target scaling by network usage. Only applicable for VM runtimes.",
458 "properties": {
538 "properties": {
459 "targetSentBytesPerSec": {
539 "targetSentBytesPerSec": {
460 "type": "integer",
540 "type": "integer",
461− "description": "Target bytes per second sent.",
541+ "description": "Target bytes sent per second.",
462 "format": "int32"
542 "format": "int32"
463 },
543 },
464 "targetSentPacketsPerSec": {
544 "targetSentPacketsPerSec": {
465 "type": "integer",
545 "type": "integer",
466− "description": "Target packets per second sent.",
546+ "description": "Target packets sent per second.",
467 "format": "int32"
547 "format": "int32"
468 },
548 },
469 "targetReceivedBytesPerSec": {
549 "targetReceivedBytesPerSec": {
470 "type": "integer",
550 "type": "integer",
471− "description": "Target bytes per second received.",
551+ "description": "Target bytes received per second.",
472 "format": "int32"
552 "format": "int32"
473 },
553 },
474 "targetReceivedPacketsPerSec": {
554 "targetReceivedPacketsPerSec": {
475 "type": "integer",
555 "type": "integer",
476− "description": "Target packets per second received.",
556+ "description": "Target packets received per second.",
477 "format": "int32"
557 "format": "int32"
478 }
558 }
479 }
559 }
@@ -485,11 +565,11 @@
485 "properties": {
565 "properties": {
486 "idleTimeout": {
566 "idleTimeout": {
487 "type": "string",
567 "type": "string",
488− "description": "The instance will be shut down this amount of time after receiving its last request."
568+ "description": "Duration of time after the last request that an instance must wait before the instance is shut down."
489 },
569 },
490 "maxInstances": {
570 "maxInstances": {
491 "type": "integer",
571 "type": "integer",
492− "description": "The maximum number of instances for App Engine to create for this version.",
572+ "description": "Maximum number of instances to create for this version.",
493 "format": "int32"
573 "format": "int32"
494 }
574 }
495 }
575 }
@@ -501,7 +581,7 @@
501 "properties": {
581 "properties": {
502 "instances": {
582 "instances": {
503 "type": "integer",
583 "type": "integer",
504− "description": "The number of instances to assign to the module at the start. This number can later be altered by using the [Modules API](https://cloud.google.com/appengine/docs/python/modules/functions) `set_num_instances()` function.",
584+ "description": "Number of instances to assign to the module at the start. This number can later be altered by using the [Modules API](https://cloud.google.com/appengine/docs/python/modules/functions) `set_num_instances()` function.",
505 "format": "int32"
585 "format": "int32"
506 }
586 }
507 }
587 }
@@ -509,43 +589,43 @@
509 "Network": {
589 "Network": {
510 "id": "Network",
590 "id": "Network",
511 "type": "object",
591 "type": "object",
512− "description": "Used to specify extra network settings (for VM runtimes only).",
592+ "description": "Extra network settings. Only applicable for VM runtimes.",
513 "properties": {
593 "properties": {
514 "forwardedPorts": {
594 "forwardedPorts": {
515 "type": "array",
595 "type": "array",
516− "description": "A list of ports (or port pairs) to forward from the VM into the app container.",
596+ "description": "List of ports, or port pairs, to forward from the virtual machine to the application container.",
517 "items": {
597 "items": {
518 "type": "string"
598 "type": "string"
519 }
599 }
520 },
600 },
521 "instanceTag": {
601 "instanceTag": {
522 "type": "string",
602 "type": "string",
523− "description": "A tag to apply to the VM instance during creation."
603+ "description": "Tag to apply to the VM instance during creation."
524 },
604 },
525 "name": {
605 "name": {
526 "type": "string",
606 "type": "string",
527− "description": "The Google Compute Engine network where the VMs will be created. If not specified, or empty, the network named \"default\" will be used. (The short name should be specified, not the resource path.)"
607+ "description": "Google Cloud Platform network where the virtual machines are created. Specify the short name, not the resource path. Defaults to `default`."
528 }
608 }
529 }
609 }
530 },
610 },
531 "Resources": {
611 "Resources": {
532 "id": "Resources",
612 "id": "Resources",
533 "type": "object",
613 "type": "object",
534− "description": "Used to specify how many machine resources an app version needs.",
614+ "description": "Machine resources for a version.",
535 "properties": {
615 "properties": {
536 "cpu": {
616 "cpu": {
537 "type": "number",
617 "type": "number",
538− "description": "How many CPU cores an app version needs.",
618+ "description": "Number of CPU cores needed.",
539 "format": "double"
619 "format": "double"
540 },
620 },
541 "diskGb": {
621 "diskGb": {
542 "type": "number",
622 "type": "number",
543− "description": "How much disk size, in GB, an app version needs.",
623+ "description": "Disk size (GB) needed.",
544 "format": "double"
624 "format": "double"
545 },
625 },
546 "memoryGb": {
626 "memoryGb": {
547 "type": "number",
627 "type": "number",
548− "description": "How much memory, in GB, an app version needs.",
628+ "description": "Memory (GB) needed.",
549 "format": "double"
629 "format": "double"
550 }
630 }
551 }
631 }
@@ -553,11 +633,11 @@
553 "UrlMap": {
633 "UrlMap": {
554 "id": "UrlMap",
634 "id": "UrlMap",
555 "type": "object",
635 "type": "object",
556− "description": "A URL pattern and description of how it should be handled. App Engine can handle URLs by executing application code, or by serving static files uploaded with the code, such as images, CSS or JavaScript.",
636+ "description": "URL pattern and description of how the URL should be handled. App Engine can handle URLs by executing application code, or by serving static files uploaded with the version, such as images, CSS, or JavaScript.",
557 "properties": {
637 "properties": {
558 "urlRegex": {
638 "urlRegex": {
559 "type": "string",
639 "type": "string",
560− "description": "A URL prefix. This value uses regular expression syntax (and so regexp special characters must be escaped), but it should not contain groupings. All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path. This is always required."
640+ "description": "A URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings. All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path."
561 },
641 },
562 "staticFiles": {
642 "staticFiles": {
563 "$ref": "StaticFilesHandler",
643 "$ref": "StaticFilesHandler",
@@ -569,15 +649,15 @@
569 },
649 },
570 "script": {
650 "script": {
571 "$ref": "ScriptHandler",
651 "$ref": "ScriptHandler",
572− "description": "Executes a script to handle the request that matches the URL pattern."
652+ "description": "Executes a script to handle the request that matches this URL pattern."
573 },
653 },
574 "apiEndpoint": {
654 "apiEndpoint": {
575 "$ref": "ApiEndpointHandler",
655 "$ref": "ApiEndpointHandler",
576− "description": "Use API Endpoints to handle requests."
656+ "description": "Uses API Endpoints to handle requests."
577 },
657 },
578 "securityLevel": {
658 "securityLevel": {
579 "type": "string",
659 "type": "string",
580− "description": "Configures whether security (HTTPS) should be enforced for this URL.",
660+ "description": "Security (HTTPS) enforcement for this URL.",
581 "enum": [
661 "enum": [
582 "SECURE_UNSPECIFIED",
662 "SECURE_UNSPECIFIED",
583 "SECURE_DEFAULT",
663 "SECURE_DEFAULT",
@@ -588,7 +668,7 @@
588 },
668 },
589 "login": {
669 "login": {
590 "type": "string",
670 "type": "string",
591− "description": "What level of login is required to access this resource.",
671+ "description": "Level of login required to access this resource.",
592 "enum": [
672 "enum": [
593 "LOGIN_UNSPECIFIED",
673 "LOGIN_UNSPECIFIED",
594 "LOGIN_OPTIONAL",
674 "LOGIN_OPTIONAL",
@@ -598,7 +678,7 @@
598 },
678 },
599 "authFailAction": {
679 "authFailAction": {
600 "type": "string",
680 "type": "string",
601− "description": "For users not logged in, how to handle access to resources with required login. Defaults to \"redirect\".",
681+ "description": "Action to take when users access resources that require authentication. Defaults to `redirect`.",
602 "enum": [
682 "enum": [
603 "AUTH_FAIL_ACTION_UNSPECIFIED",
683 "AUTH_FAIL_ACTION_UNSPECIFIED",
604 "AUTH_FAIL_ACTION_REDIRECT",
684 "AUTH_FAIL_ACTION_REDIRECT",
@@ -607,7 +687,7 @@
607 },
687 },
608 "redirectHttpResponseCode": {
688 "redirectHttpResponseCode": {
609 "type": "string",
689 "type": "string",
610− "description": "`30x` code to use when performing redirects for the `secure` field. A `302` is used by default.",
690+ "description": "`30x` code to use when performing redirects for the `secure` field. Defaults to `302`.",
611 "enum": [
691 "enum": [
612 "REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED",
692 "REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED",
613 "REDIRECT_HTTP_RESPONSE_CODE_301",
693 "REDIRECT_HTTP_RESPONSE_CODE_301",
@@ -625,11 +705,11 @@
625 "properties": {
705 "properties": {
626 "path": {
706 "path": {
627 "type": "string",
707 "type": "string",
628− "description": "The path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern."
708+ "description": "Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern."
629 },
709 },
630 "uploadPathRegex": {
710 "uploadPathRegex": {
631 "type": "string",
711 "type": "string",
632− "description": "A regular expression that matches the file paths for all files that will be referenced by this handler."
712+ "description": "Regular expression that matches the file paths for all files that should be referenced by this handler."
633 },
713 },
634 "httpHeaders": {
714 "httpHeaders": {
635 "type": "object",
715 "type": "object",
@@ -640,19 +720,19 @@
640 },
720 },
641 "mimeType": {
721 "mimeType": {
642 "type": "string",
722 "type": "string",
643− "description": "If specified, all files served by this handler will be served using the specified MIME type. If not specified, the MIME type for a file will be derived from the file's filename extension."
723+ "description": "MIME type used to serve all files served by this handler. Defaults to file-specific MIME types, which are derived from each file's filename extension."
644 },
724 },
645 "expiration": {
725 "expiration": {
646 "type": "string",
726 "type": "string",
647− "description": "The length of time a static file served by this handler ought to be cached by web proxies and browsers."
727+ "description": "Time a static file served by this handler should be cached."
648 },
728 },
649 "requireMatchingFile": {
729 "requireMatchingFile": {
650 "type": "boolean",
730 "type": "boolean",
651− "description": "If true, this UrlMap entry does not match the request unless the file referenced by the handler also exists. If no such file exists, processing will continue with the next UrlMap that matches the requested URL."
731+ "description": "Whether this handler should match the request if the file referenced by the handler does not exist."
652 },
732 },
653 "applicationReadable": {
733 "applicationReadable": {
654 "type": "boolean",
734 "type": "boolean",
655− "description": "By default, files declared in static file handlers are uploaded as static data and are only served to end users, they cannot be read by an application. If this field is set to true, the files are also uploaded as code data so your application can read them. Both uploads are charged against your code and static data storage resource quotas."
735+ "description": "Whether files should also be uploaded as code data. By default, files declared in static file handlers are uploaded as static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged against both your code and static data storage resource quotas."
656 }
736 }
657 }
737 }
658 },
738 },
@@ -663,7 +743,7 @@
663 "properties": {
743 "properties": {
664 "directory": {
744 "directory": {
665 "type": "string",
745 "type": "string",
666− "description": "The path to the directory containing the static files, from the application root directory. Everything after the end of the matched url pattern is appended to static_dir to form the full path to the requested file."
746+ "description": "Path to the directory containing the static files from the application root directory. Everything after the end of the matched URL pattern is appended to `static_dir` to form the full path to the requested file."
667 },
747 },
668 "httpHeaders": {
748 "httpHeaders": {
669 "type": "object",
749 "type": "object",
@@ -674,19 +754,19 @@
674 },
754 },
675 "mimeType": {
755 "mimeType": {
676 "type": "string",
756 "type": "string",
677− "description": "If specified, all files served by this handler will be served using the specified MIME type. If not specified, the MIME type for a file will be derived from the file's filename extension."
757+ "description": "MIME type used to serve all files served by this handler. Defaults to file-specific MIME types, which are direved from each file's filename extension."
678 },
758 },
679 "expiration": {
759 "expiration": {
680 "type": "string",
760 "type": "string",
681− "description": "The length of time a static file served by this handler ought to be cached by web proxies and browsers."
761+ "description": "Time a static file served by this handler should be cached."
682 },
762 },
683 "requireMatchingFile": {
763 "requireMatchingFile": {
684 "type": "boolean",
764 "type": "boolean",
685− "description": "If true, this UrlMap entry does not match the request unless the file referenced by the handler also exists. If no such file exists, processing will continue with the next UrlMap that matches the requested URL."
765+ "description": "Whether this handler should match the request if the file referenced by the handler does not exist."
686 },
766 },
687 "applicationReadable": {
767 "applicationReadable": {
688 "type": "boolean",
768 "type": "boolean",
689− "description": "By default, files declared in static file handlers are uploaded as static data and are only served to end users, they cannot be read by an application. If this field is set to true, the files are also uploaded as code data so your application can read them. Both uploads are charged against your code and static data storage resource quotas."
769+ "description": "Whether files should also be uploaded as code data. By default, files declared in static directory handlers are uploaded as static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged against both your code and static data storage resource quotas."
690 }
770 }
691 }
771 }
692 },
772 },
@@ -697,29 +777,29 @@
697 "properties": {
777 "properties": {
698 "scriptPath": {
778 "scriptPath": {
699 "type": "string",
779 "type": "string",
700− "description": "Specifies the path to the script from the application root directory."
780+ "description": "Path to the script from the application root directory."
701 }
781 }
702 }
782 }
703 },
783 },
704 "ApiEndpointHandler": {
784 "ApiEndpointHandler": {
705 "id": "ApiEndpointHandler",
785 "id": "ApiEndpointHandler",
706 "type": "object",
786 "type": "object",
707− "description": "Use Google Cloud Endpoints to handle requests.",
787+ "description": "Uses Google Cloud Endpoints to handle requests.",
708 "properties": {
788 "properties": {
709 "scriptPath": {
789 "scriptPath": {
710 "type": "string",
790 "type": "string",
711− "description": "Specifies the path to the script from the application root directory."
791+ "description": "Path to the script from the application root directory."
712 }
792 }
713 }
793 }
714 },
794 },
715 "ErrorHandler": {
795 "ErrorHandler": {
716 "id": "ErrorHandler",
796 "id": "ErrorHandler",
717 "type": "object",
797 "type": "object",
718− "description": "A custom static error page to be served when an error occurs.",
798+ "description": "Custom static error page to be served when an error occurs.",
719 "properties": {
799 "properties": {
720 "errorCode": {
800 "errorCode": {
721 "type": "string",
801 "type": "string",
722− "description": "The error condition this handler applies to.",
802+ "description": "Error condition this handler applies to.",
723 "enum": [
803 "enum": [
724 "ERROR_CODE_UNSPECIFIED",
804 "ERROR_CODE_UNSPECIFIED",
725 "ERROR_CODE_DEFAULT",
805 "ERROR_CODE_DEFAULT",
@@ -734,33 +814,33 @@
734 },
814 },
735 "mimeType": {
815 "mimeType": {
736 "type": "string",
816 "type": "string",
737− "description": "MIME type of file. If unspecified, \"text/html\" is assumed."
817+ "description": "MIME type of file. Defaults to `text/html`."
738 }
818 }
739 }
819 }
740 },
820 },
741 "Library": {
821 "Library": {
742 "id": "Library",
822 "id": "Library",
743 "type": "object",
823 "type": "object",
744− "description": "A Python runtime third-party library required by the application.",
824+ "description": "Third-party Python runtime library that is required by the application.",
745 "properties": {
825 "properties": {
746 "name": {
826 "name": {
747 "type": "string",
827 "type": "string",
748− "description": "The name of the library, e.g. \"PIL\" or \"django\"."
828+ "description": "Name of the library. Example: \"django\"."
749 },
829 },
750 "version": {
830 "version": {
751 "type": "string",
831 "type": "string",
752− "description": "The version of the library to select, or \"latest\"."
832+ "description": "Version of the library to select, or \"latest\"."
753 }
833 }
754 }
834 }
755 },
835 },
756 "ApiConfigHandler": {
836 "ApiConfigHandler": {
757 "id": "ApiConfigHandler",
837 "id": "ApiConfigHandler",
758 "type": "object",
838 "type": "object",
759− "description": "API Serving configuration for Cloud Endpoints.",
839+ "description": "[Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/) configuration for API handlers.",
760 "properties": {
840 "properties": {
761 "authFailAction": {
841 "authFailAction": {
762 "type": "string",
842 "type": "string",
763− "description": "For users not logged in, how to handle access to resources with required login. Defaults to \"redirect\".",
843+ "description": "Action to take when users access resources that require authentication. Defaults to `redirect`.",
764 "enum": [
844 "enum": [
765 "AUTH_FAIL_ACTION_UNSPECIFIED",
845 "AUTH_FAIL_ACTION_UNSPECIFIED",
766 "AUTH_FAIL_ACTION_REDIRECT",
846 "AUTH_FAIL_ACTION_REDIRECT",
@@ -769,7 +849,7 @@
769 },
849 },
770 "login": {
850 "login": {
771 "type": "string",
851 "type": "string",
772− "description": "What level of login is required to access this resource. Default is \"optional\".",
852+ "description": "Level of login required to access this resource. Defaults to `optional`.",
773 "enum": [
853 "enum": [
774 "LOGIN_UNSPECIFIED",
854 "LOGIN_UNSPECIFIED",
775 "LOGIN_OPTIONAL",
855 "LOGIN_OPTIONAL",
@@ -779,11 +859,11 @@
779 },
859 },
780 "script": {
860 "script": {
781 "type": "string",
861 "type": "string",
782− "description": "Specifies the path to the script from the application root directory."
862+ "description": "Path to the script from the application root directory."
783 },
863 },
784 "securityLevel": {
864 "securityLevel": {
785 "type": "string",
865 "type": "string",
786− "description": "Configures whether security (HTTPS) should be enforced for this URL.",
866+ "description": "Security (HTTPS) enforcement for this URL.",
787 "enum": [
867 "enum": [
788 "SECURE_UNSPECIFIED",
868 "SECURE_UNSPECIFIED",
789 "SECURE_DEFAULT",
869 "SECURE_DEFAULT",
@@ -801,7 +881,7 @@
801 "HealthCheck": {
881 "HealthCheck": {
802 "id": "HealthCheck",
882 "id": "HealthCheck",
803 "type": "object",
883 "type": "object",
804− "description": "Configure health checking for the VM instances. Unhealthy VM instances will be killed and replaced with new instances.",
884+ "description": "Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances. Only applicable for instances in App Engine flexible environment.",
805 "properties": {
885 "properties": {
806 "disableHealthCheck": {
886 "disableHealthCheck": {
807 "type": "boolean",
887 "type": "boolean",
@@ -809,30 +889,30 @@
809 },
889 },
810 "host": {
890 "host": {
811 "type": "string",
891 "type": "string",
812− "description": "The host header to send when performing an HTTP health check (e.g. myapp.appspot.com)"
892+ "description": "Host header to send when performing an HTTP health check. Example: \"myapp.appspot.com\""
813 },
893 },
814 "healthyThreshold": {
894 "healthyThreshold": {
815 "type": "integer",
895 "type": "integer",
816− "description": "The number of consecutive successful health checks before receiving traffic.",
896+ "description": "Number of consecutive successful health checks required before receiving traffic.",
817 "format": "uint32"
897 "format": "uint32"
818 },
898 },
819 "unhealthyThreshold": {
899 "unhealthyThreshold": {
820 "type": "integer",
900 "type": "integer",
821− "description": "The number of consecutive failed health checks before removing traffic.",
901+ "description": "Number of consecutive failed health checks required before removing traffic.",
822 "format": "uint32"
902 "format": "uint32"
823 },
903 },
824 "restartThreshold": {
904 "restartThreshold": {
825 "type": "integer",
905 "type": "integer",
826− "description": "The number of consecutive failed health checks before an instance is restarted.",
906+ "description": "Number of consecutive failed health checks required before an instance is restarted.",
827 "format": "uint32"
907 "format": "uint32"
828 },
908 },
829 "checkInterval": {
909 "checkInterval": {
830 "type": "string",
910 "type": "string",
831− "description": "The interval between health checks."
911+ "description": "Interval between health checks."
832 },
912 },
833 "timeout": {
913 "timeout": {
834 "type": "string",
914 "type": "string",
835− "description": "The amount of time before the health check is considered failed."
915+ "description": "Time before the health check is considered failed."
836 }
916 }
837 }
917 }
838 },
918 },
@@ -843,18 +923,18 @@
843 "properties": {
923 "properties": {
844 "files": {
924 "files": {
845 "type": "object",
925 "type": "object",
846− "description": "A manifest of files stored in Google Cloud Storage which should be included as part of this application. All files must be readable using the credentials supplied with this call.",
926+ "description": "Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call.",
847 "additionalProperties": {
927 "additionalProperties": {
848 "$ref": "FileInfo"
928 "$ref": "FileInfo"
849 }
929 }
850 },
930 },
851 "container": {
931 "container": {
852 "$ref": "ContainerInfo",
932 "$ref": "ContainerInfo",
853− "description": "If supplied, a docker (container) image which should be used to start the application. Only applicable to the 'vm' runtime."
933+ "description": "A Docker image that App Engine uses the run the version. Only applicable for instances in App Engine flexible environment."
854 },
934 },
855 "sourceReferences": {
935 "sourceReferences": {
856 "type": "array",
936 "type": "array",
857− "description": "The origin of the source code for this deployment. There can be more than one source reference per Version if source code is distributed among multiple repositories.",
937+ "description": "Origin of the source code for this deployment. There can be more than one source reference per version if source code is distributed among multiple repositories.",
858 "items": {
938 "items": {
859 "$ref": "SourceReference"
939 "$ref": "SourceReference"
860 }
940 }
@@ -864,107 +944,45 @@
864 "FileInfo": {
944 "FileInfo": {
865 "id": "FileInfo",
945 "id": "FileInfo",
866 "type": "object",
946 "type": "object",
867− "description": "A single source file which is part of the application to be deployed.",
947+ "description": "Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately.",
868 "properties": {
948 "properties": {
869 "sourceUrl": {
949 "sourceUrl": {
870 "type": "string",
950 "type": "string",
871− "description": "The URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com/\\/\\'."
951+ "description": "URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com/\\/\\'."
872 },
952 },
873 "sha1Sum": {
953 "sha1Sum": {
874 "type": "string",
954 "type": "string",
875− "description": "The SHA1 (160 bits) hash of the file in hex."
955+ "description": "The SHA1 hash of the file, in hex."
876 },
956 },
877 "mimeType": {
957 "mimeType": {
878 "type": "string",
958 "type": "string",
879− "description": "The MIME type of the file; if unspecified, the value from Google Cloud Storage will be used."
959+ "description": "The MIME type of the file. Defaults to the value from Google Cloud Storage."
880 }
960 }
881 }
961 }
882 },
962 },
883 "ContainerInfo": {
963 "ContainerInfo": {
884 "id": "ContainerInfo",
964 "id": "ContainerInfo",
885 "type": "object",
965 "type": "object",
886− "description": "A Docker (container) image which should be used to start the application.",
966+ "description": "Docker image that is used to start a VM container for the version you deploy.",
887 "properties": {
967 "properties": {
888 "image": {
968 "image": {
889 "type": "string",
969 "type": "string",
890− "description": "Reference to a hosted container image. Must be a URI to a resource in a Docker repository. Must be fully qualified, including tag or digest. e.g. gcr.io/my-project/image:tag or gcr.io/my-project/image@digest"
970+ "description": "URI to the hosted container image in a Docker repository. The URI must be fully qualified and include a tag or digest. Examples: \"gcr.io/my-project/image:tag\" or \"gcr.io/my-project/image@digest\""
891 }
971 }
892 }
972 }
893 },
973 },
894 "SourceReference": {
974 "SourceReference": {
895 "id": "SourceReference",
975 "id": "SourceReference",
896 "type": "object",
976 "type": "object",
897− "description": "A reference to a particular snapshot of the source tree used to build and deploy the application.",
977+ "description": "Reference to a particular snapshot of the source tree used to build and deploy the application.",
898 "properties": {
978 "properties": {
899 "repository": {
979 "repository": {
900 "type": "string",
980 "type": "string",
901− "description": "Optional. A URI string identifying the repository. Example: \"https://source.developers.google.com/p/app-123/r/default\""
981+ "description": "URI string identifying the repository. Example: \"https://source.developers.google.com/p/app-123/r/default\""
902 },
982 },
903 "revisionId": {
983 "revisionId": {
904 "type": "string",
984 "type": "string",
905− "description": "The canonical (and persistent) identifier of the deployed revision, i.e. any kind of aliases including tags or branch names are not allowed. Example (git): \"2198322f89e0bb2e25021667c2ed489d1fd34e6b\""
985+ "description": "The canonical, persistent identifier of the deployed revision. Aliases that include tags or branch names are not allowed. Example (git): \"2198322f89e0bb2e25021667c2ed489d1fd34e6b\""
906− }
907− }
908− },
909− "Operation": {
910− "id": "Operation",
911− "type": "object",
912− "description": "This resource represents a long-running operation that is the result of a network API call.",
913− "properties": {
914− "name": {
915− "type": "string",
916− "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should have the format of `operations/some/unique/name`."
917− },
918− "metadata": {
919− "type": "object",
920− "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
921− "additionalProperties": {
922− "type": "any",
923− "description": "Properties of the object. Contains field @ype with type URL."
924− }
925− },
926− "done": {
927− "type": "boolean",
928− "description": "If the value is `false`, it means the operation is still in progress. If true, the operation is completed, and either `error` or `response` is available."
929− },
930− "error": {
931− "$ref": "Status",
932− "description": "The error result of the operation in case of failure."
933− },
934− "response": {
935− "type": "object",
936− "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
937− "additionalProperties": {
938− "type": "any",
939− "description": "Properties of the object. Contains field @ype with type URL."
940− }
941− }
942− }
943− },
944− "Status": {
945− "id": "Status",
946− "type": "object",
947− "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). The error model is designed to be: - Simple to use and understand for most users - Flexible enough to meet unexpected needs # Overview The `Status` message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers *understand* and *resolve* the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package `google.rpc` which can be used for common error conditions. # Language mapping The `Status` message is the logical representation of the error model, but it is not necessarily the actual wire format. When the `Status` message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C. # Other uses The error model and the `Status` message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments. Example uses of this error model include: - Partial errors. If a service needs to return partial errors to the client, it may embed the `Status` in the normal response to indicate the partial errors. - Workflow errors. A typical workflow has multiple steps. Each step may have a `Status` message for error reporting purpose. - Batch operations. If a client uses batch request and batch response, the `Status` message should be used directly inside batch response, one for each error sub-response. - Asynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the `Status` message. - Logging. If some API errors are stored in logs, the message `Status` could be used directly after any stripping needed for security/privacy reasons.",
948− "properties": {
949− "code": {
950− "type": "integer",
951− "description": "The status code, which should be an enum value of google.rpc.Code.",
952− "format": "int32"
953− },
954− "message": {
955− "type": "string",
956− "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client."
957− },
958− "details": {
959− "type": "array",
960− "description": "A list of messages that carry the error details. There will be a common set of message types for APIs to use.",
961− "items": {
962− "type": "object",
963− "additionalProperties": {
964− "type": "any",
965− "description": "Properties of the object. Contains field @ype with type URL."
966− }
967− }
968 }
986 }
969 }
987 }
970 },
988 },
@@ -975,7 +993,7 @@
975 "properties": {
993 "properties": {
976 "versions": {
994 "versions": {
977 "type": "array",
995 "type": "array",
978− "description": "The versions belonging to the requested application module.",
996+ "description": "The versions belonging to the requested module.",
979 "items": {
997 "items": {
980 "$ref": "Version"
998 "$ref": "Version"
981 }
999 }
@@ -989,30 +1007,30 @@
989 "Module": {
1007 "Module": {
990 "id": "Module",
1008 "id": "Module",
991 "type": "object",
1009 "type": "object",
992− "description": "A module is a component of an application that provides a single service or configuration. A module has a collection of versions that define a specific set of code used to implement the functionality of that module.",
1010+ "description": "A Module resource is a logical component of an application that can share state and communicate in a secure fashion with other modules. For example, an application that handles customer requests might include separate modules to handle tasks such as backend data analysis or API requests from mobile devices. Each module has a collection of versions that define a specific set of code used to implement the functionality of that module.",
993 "properties": {
1011 "properties": {
994 "name": {
1012 "name": {
995 "type": "string",
1013 "type": "string",
996− "description": "The full path to the Module resource in the API. Example: \"apps/myapp/modules/default\" @OutputOnly"
1014+ "description": "Full path to the Module resource in the API. Example: `apps/myapp/modules/default`. @OutputOnly"
997 },
1015 },
998 "id": {
1016 "id": {
999 "type": "string",
1017 "type": "string",
1000− "description": "The relative name/path of the module within the application. Example: \"default\" @OutputOnly"
1018+ "description": "Relative name of the module within the application. Example: `default`. @OutputOnly"
1001 },
1019 },
1002 "split": {
1020 "split": {
1003 "$ref": "TrafficSplit",
1021 "$ref": "TrafficSplit",
1004− "description": "A mapping that defines fractional HTTP traffic diversion to different versions within the module."
1022+ "description": "Mapping that defines fractional HTTP traffic diversion to different versions within the module."
1005 }
1023 }
1006 }
1024 }
1007 },
1025 },
1008 "TrafficSplit": {
1026 "TrafficSplit": {
1009 "id": "TrafficSplit",
1027 "id": "TrafficSplit",
1010 "type": "object",
1028 "type": "object",
1011− "description": "Configuration for traffic splitting for versions within a single module. Traffic splitting allows traffic directed to the module to be assigned to one of several versions in a fractional way, enabling experiments and canarying new builds, for example.",
1029+ "description": "Traffic routing configuration for versions within a single module. Traffic splits define how traffic directed to the module is assigned to versions.",
1012 "properties": {
1030 "properties": {
1013 "shardBy": {
1031 "shardBy": {
1014 "type": "string",
1032 "type": "string",
1015− "description": "Which mechanism should be used as a selector when choosing a version to send a request to. The traffic selection algorithm will be stable for either type until allocations are changed.",
1033+ "description": "Mechanism used to determine which version a request is sent to. The traffic selection algorithm will be stable for either type until allocations are changed.",
1016 "enum": [
1034 "enum": [
1017 "UNSPECIFIED",
1035 "UNSPECIFIED",
1018 "COOKIE",
1036 "COOKIE",
@@ -1021,7 +1039,7 @@
1021 },
1039 },
1022 "allocations": {
1040 "allocations": {
1023 "type": "object",
1041 "type": "object",
1024− "description": "Mapping from module version IDs within the module to fractional (0.000, 1] allocations of traffic for that version. Each version may only be specified once, but some versions in the module may not have any traffic allocation. Modules that have traffic allocated in this field may not be deleted until the module is deleted, or their traffic allocation is removed. Allocations must sum to 1. Supports precision up to two decimal places for IP-based splits and up to three decimal places for cookie-based splits.",
1042+ "description": "Mapping from version IDs within the module to fractional (0.000, 1] allocations of traffic for that version. Each version can be specified only once, but some versions in the module may not have any traffic allocation. Modules that have traffic allocated cannot be deleted until either the module is deleted or their traffic allocation is removed. Allocations must sum to 1. Up to two decimal place precision is supported for IP-based splits and up to three decimal places is supported for cookie-based splits.",
1025 "additionalProperties": {
1043 "additionalProperties": {
1026 "type": "number",
1044 "type": "number",
1027 "format": "double"
1045 "format": "double"
@@ -1047,44 +1065,26 @@
1047 }
1065 }
1048 }
1066 }
1049 },
1067 },
1050− "ListInstancesResponse": {
1051− "id": "ListInstancesResponse",
1052− "type": "object",
1053− "description": "Response message for `Instances.ListInstances`.",
1054− "properties": {
1055− "instances": {
1056− "type": "array",
1057− "description": "The instances belonging to the requested version.",
1058− "items": {
1059− "$ref": "Instance"
1060− }
1061− },
1062− "nextPageToken": {
1063− "type": "string",
1064− "description": "Continuation token for fetching the next page of results."
1065− }
1066− }
1067− },
1068 "Instance": {
1068 "Instance": {
1069 "id": "Instance",
1069 "id": "Instance",
1070 "type": "object",
1070 "type": "object",
1071− "description": "Instances are the computing units that App Engine uses to automatically scale an application.",
1071+ "description": "An Instance resource is the computing unit that App Engine uses to automatically scale an application.",
1072 "properties": {
1072 "properties": {
1073 "name": {
1073 "name": {
1074 "type": "string",
1074 "type": "string",
1075− "description": "The full path to the Instance resource in the API. Example: \"apps/myapp/modules/default/versions/v1/instances/instance-1\" @OutputOnly"
1075+ "description": "Full path to the Instance resource in the API. Example: `apps/myapp/modules/default/versions/v1/instances/instance-1`. @OutputOnly"
1076 },
1076 },
1077 "id": {
1077 "id": {
1078 "type": "string",
1078 "type": "string",
1079− "description": "The relative name/path of the instance within the version. Example: \"instance-1\" @OutputOnly"
1079+ "description": "Relative name of the instance within the version. Example: `instance-1`. @OutputOnly"
1080 },
1080 },
1081 "appEngineRelease": {
1081 "appEngineRelease": {
1082 "type": "string",
1082 "type": "string",
1083− "description": "The App Engine release the instance is running on. @OutputOnly"
1083+ "description": "App Engine release this instance is running on. @OutputOnly"
1084 },
1084 },
1085 "availability": {
1085 "availability": {
1086 "type": "string",
1086 "type": "string",
1087− "description": "Availability of instance. @OutputOnly",
1087+ "description": "Availability of the instance. @OutputOnly",
1088 "enum": [
1088 "enum": [
1089 "UNSPECIFIED",
1089 "UNSPECIFIED",
1090 "RESIDENT",
1090 "RESIDENT",
@@ -1093,65 +1093,88 @@
1093 },
1093 },
1094 "vmName": {
1094 "vmName": {
1095 "type": "string",
1095 "type": "string",
1096− "description": "For VMEngines instances, the name of GCE VM where the instance lives. @OutputOnly"
1096+ "description": "Name of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment. @OutputOnly"
1097 },
1097 },
1098 "vmZoneName": {
1098 "vmZoneName": {
1099 "type": "string",
1099 "type": "string",
1100− "description": "For VMEngines instances, the zone where the GCE VM is located. @OutputOnly"
1100+ "description": "Zone where the virtual machine is located. Only applicable for instances in App Engine flexible environment. @OutputOnly"
1101 },
1101 },
1102 "vmId": {
1102 "vmId": {
1103 "type": "string",
1103 "type": "string",
1104− "description": "For VMEngines instances, the GCE VM ID of the instance. @OutputOnly"
1104+ "description": "Virtual machine ID of this instance. Only applicable for instances in App Engine flexible environment. @OutputOnly"
1105 },
1105 },
1106 "startTimestamp": {
1106 "startTimestamp": {
1107 "type": "string",
1107 "type": "string",
1108− "description": "Time when instance was started. @OutputOnly"
1108+ "description": "Time that this instance was started. @OutputOnly"
1109 },
1109 },
1110 "requests": {
1110 "requests": {
1111 "type": "integer",
1111 "type": "integer",
1112− "description": "Number of requests (since the clone was started). @OutputOnly",
1112+ "description": "Number of requests since this instance was started. @OutputOnly",
1113 "format": "int32"
1113 "format": "int32"
1114 },
1114 },
1115 "errors": {
1115 "errors": {
1116 "type": "integer",
1116 "type": "integer",
1117− "description": "Number of errors since the instance was started. @OutputOnly",
1117+ "description": "Number of errors since this instance was started. @OutputOnly",
1118 "format": "uint32"
1118 "format": "uint32"
1119 },
1119 },
1120 "qps": {
1120 "qps": {
1121 "type": "number",
1121 "type": "number",
1122− "description": "QPS for this instance (averaged over the last minute). @OutputOnly",
1122+ "description": "Average queries per second (QPS) over the last minute. @OutputOnly",
1123 "format": "float"
1123 "format": "float"
1124 },
1124 },
1125 "averageLatency": {
1125 "averageLatency": {
1126 "type": "integer",
1126 "type": "integer",
1127− "description": "Latency in milliseconds (averaged over the last minute). @OutputOnly",
1127+ "description": "Average latency (ms) over the last minute. @OutputOnly",
1128 "format": "int32"
1128 "format": "int32"
1129 },
1129 },
1130 "memoryUsage": {
1130 "memoryUsage": {
1131 "type": "string",
1131 "type": "string",
1132− "description": "Memory usage (in bytes). @OutputOnly",
1132+ "description": "Total memory in use (bytes). @OutputOnly",
1133 "format": "int64"
1133 "format": "int64"
1134 },
1134 },
1135 "vmStatus": {
1135 "vmStatus": {
1136 "type": "string",
1136 "type": "string",
1137− "description": "For VMEngines instances, the status of GCE VM where the instance lives. @OutputOnly"
1137+ "description": "Status of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment. @OutputOnly"
1138 },
1138 },
1139 "vmUnlocked": {
1139 "vmUnlocked": {
1140 "type": "boolean",
1140 "type": "boolean",
1141− "description": "For VMEngines instances, whether the instance has been unlocked. @OutputOnly"
1141+ "description": "Whether this instance is in debug mode. Only applicable for instances in App Engine flexible environment. @OutputOnly"
1142 }
1142 }
1143 }
1143 }
1144 },
1144 },
1145− "ListOperationsResponse": {
1145+ "ListInstancesResponse": {
1146− "id": "ListOperationsResponse",
1146+ "id": "ListInstancesResponse",
1147 "type": "object",
1147 "type": "object",
1148− "description": "The response message for Operations.ListOperations.",
1148+ "description": "Response message for `Instances.ListInstances`.",
1149 "properties": {
1149 "properties": {
1150− "operations": {
1150+ "instances": {
1151 "type": "array",
1151 "type": "array",
1152− "description": "A list of operations that matches the specified filter in the request.",
1152+ "description": "The instances belonging to the requested version.",
1153 "items": {
1153 "items": {
1154− "$ref": "Operation"
1154+ "$ref": "Instance"
1155+ }
1156+ },
1157+ "nextPageToken": {
1158+ "type": "string",
1159+ "description": "Continuation token for fetching the next page of results."
1160+ }
1161+ }
1162+ },
1163+ "DebugInstanceRequest": {
1164+ "id": "DebugInstanceRequest",
1165+ "type": "object",
1166+ "description": "Request message for `Instances.DebugInstance`."
1167+ },
1168+ "ListLocationsResponse": {
1169+ "id": "ListLocationsResponse",
1170+ "type": "object",
1171+ "description": "The response message for LocationService.ListLocations.",
1172+ "properties": {
1173+ "locations": {
1174+ "type": "array",
1175+ "description": "A list of locations that matches the specified filter in the request.",
1176+ "items": {
1177+ "$ref": "Location"
1155 }
1178 }
1156 },
1179 },
1157 "nextPageToken": {
1180 "nextPageToken": {
@@ -1160,6 +1183,36 @@
1160 }
1183 }
1161 }
1184 }
1162 },
1185 },
1186+ "Location": {
1187+ "id": "Location",
1188+ "type": "object",
1189+ "description": "A resource that represents Google Cloud Platform location.",
1190+ "properties": {
1191+ "name": {
1192+ "type": "string",
1193+ "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`"
1194+ },
1195+ "locationId": {
1196+ "type": "string",
1197+ "description": "The canonical id for this location. For example: `\"us-east1\"`."
1198+ },
1199+ "labels": {
1200+ "type": "object",
1201+ "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
1202+ "additionalProperties": {
1203+ "type": "string"
1204+ }
1205+ },
1206+ "metadata": {
1207+ "type": "object",
1208+ "description": "Service-specific metadata. For example the available capacity at the given location.",
1209+ "additionalProperties": {
1210+ "type": "any",
1211+ "description": "Properties of the object. Contains field @type with type URL."
1212+ }
1213+ }
1214+ }
1215+ },
1163 "OperationMetadata": {
1216 "OperationMetadata": {
1164 "id": "OperationMetadata",
1217 "id": "OperationMetadata",
1165 "type": "object",
1218 "type": "object",
@@ -1167,27 +1220,27 @@
1167 "properties": {
1220 "properties": {
1168 "operationType": {
1221 "operationType": {
1169 "type": "string",
1222 "type": "string",
1170− "description": "The type of the operation (deprecated, use method field instead). Example: \"create_version\". @OutputOnly"
1223+ "description": "Type of this operation. Deprecated, use method field instead. Example: \"create_version\". @OutputOnly"
1171 },
1224 },
1172 "insertTime": {
1225 "insertTime": {
1173 "type": "string",
1226 "type": "string",
1174− "description": "Timestamp that this operation was received. @OutputOnly"
1227+ "description": "Timestamp that this operation was created. @OutputOnly"
1175 },
1228 },
1176 "endTime": {
1229 "endTime": {
1177 "type": "string",
1230 "type": "string",
1178− "description": "Timestamp that this operation was completed. (Not present if the operation is still in progress.) @OutputOnly"
1231+ "description": "Timestamp that this operation completed. @OutputOnly"
1179 },
1232 },
1180 "user": {
1233 "user": {
1181 "type": "string",
1234 "type": "string",
1182− "description": "The user who requested this operation. @OutputOnly"
1235+ "description": "User who requested this operation. @OutputOnly"
1183 },
1236 },
1184 "target": {
1237 "target": {
1185 "type": "string",
1238 "type": "string",
1186− "description": "Resource that this operation is acting on. Example: \"apps/myapp/modules/default\". @OutputOnly"
1239+ "description": "Name of the resource that this operation is acting on. Example: `apps/myapp/modules/default`. @OutputOnly"
1187 },
1240 },
1188 "method": {
1241 "method": {
1189 "type": "string",
1242 "type": "string",
1190− "description": "API method name that initiated the operation. Example: \"google.appengine.v1beta4.Version.CreateVersion\". @OutputOnly"
1243+ "description": "API method that initiated this operation. Example: `google.appengine.v1beta4.Version.CreateVersion`. @OutputOnly"
1191 }
1244 }
1192 }
1245 }
1193 },
1246 },
@@ -1198,23 +1251,65 @@
1198 "properties": {
1251 "properties": {
1199 "method": {
1252 "method": {
1200 "type": "string",
1253 "type": "string",
1201− "description": "API method name that initiated the operation. Example: \"google.appengine.v1beta5.Version.CreateVersion\". @OutputOnly"
1254+ "description": "API method name that initiated this operation. Example: `google.appengine.v1beta5.Version.CreateVersion`. @OutputOnly"
1202 },
1255 },
1203 "insertTime": {
1256 "insertTime": {
1204 "type": "string",
1257 "type": "string",
1205− "description": "Timestamp that this operation was received. @OutputOnly"
1258+ "description": "Timestamp that this operation was created. @OutputOnly"
1206 },
1259 },
1207 "endTime": {
1260 "endTime": {
1208 "type": "string",
1261 "type": "string",
1209− "description": "Timestamp that this operation was completed. (Not present if the operation is still in progress.) @OutputOnly"
1262+ "description": "Timestamp that this operation completed. @OutputOnly"
1210 },
1263 },
1211 "user": {
1264 "user": {
1212 "type": "string",
1265 "type": "string",
1213− "description": "The user who requested this operation. @OutputOnly"
1266+ "description": "User who requested this operation. @OutputOnly"
1214 },
1267 },
1215 "target": {
1268 "target": {
1216 "type": "string",
1269 "type": "string",
1217− "description": "Resource that this operation is acting on. Example: \"apps/myapp/services/default\". @OutputOnly"
1270+ "description": "Name of the resource that this operation is acting on. Example: `apps/myapp/services/default`. @OutputOnly"
1271+ }
1272+ }
1273+ },
1274+ "OperationMetadataV1": {
1275+ "id": "OperationMetadataV1",
1276+ "type": "object",
1277+ "description": "Metadata for the given google.longrunning.Operation.",
1278+ "properties": {
1279+ "method": {
1280+ "type": "string",
1281+ "description": "API method that initiated this operation. Example: `google.appengine.v1.Versions.CreateVersion`. @OutputOnly"
1282+ },
1283+ "insertTime": {
1284+ "type": "string",
1285+ "description": "Time that this operation was created. @OutputOnly"
1286+ },
1287+ "endTime": {
1288+ "type": "string",
1289+ "description": "Time that this operation completed. @OutputOnly"
1290+ },
1291+ "user": {
1292+ "type": "string",
1293+ "description": "User who requested this operation. @OutputOnly"
1294+ },
1295+ "target": {
1296+ "type": "string",
1297+ "description": "Name of the resource that this operation is acting on. Example: `apps/myapp/services/default`. @OutputOnly"
1298+ }
1299+ }
1300+ },
1301+ "LocationMetadata": {
1302+ "id": "LocationMetadata",
1303+ "type": "object",
1304+ "description": "Metadata for the given google.cloud.location.Location.",
1305+ "properties": {
1306+ "standardEnvironmentAvailable": {
1307+ "type": "boolean",
1308+ "description": "App Engine Standard Environment is available in the given location. @OutputOnly"
1309+ },
1310+ "flexibleEnvironmentAvailable": {
1311+ "type": "boolean",
1312+ "description": "App Engine Flexible Environment is available in the given location. @OutputOnly"
1218 }
1313 }
1219 }
1314 }
1220 }
1315 }
@@ -1222,6 +1317,21 @@
1222 "resources": {
1317 "resources": {
1223 "apps": {
1318 "apps": {
1224 "methods": {
1319 "methods": {
1320+ "create": {
1321+ "id": "appengine.apps.create",
1322+ "path": "v1beta4/apps",
1323+ "httpMethod": "POST",
1324+ "description": "Creates an App Engine application for a Google Cloud Platform project. This requires a project that excludes an App Engine application. For details about creating a project without an application, see the [Google Cloud Resource Manager create project topic](https://cloud.google.com/resource-manager/docs/creating-project).",
1325+ "request": {
1326+ "$ref": "Application"
1327+ },
1328+ "response": {
1329+ "$ref": "Operation"
1330+ },
1331+ "scopes": [
1332+ "https://www.googleapis.com/auth/cloud-platform"
1333+ ]
1334+ },
1225 "get": {
1335 "get": {
1226 "id": "appengine.apps.get",
1336 "id": "appengine.apps.get",
1227 "path": "v1beta4/apps/{appsId}",
1337 "path": "v1beta4/apps/{appsId}",
@@ -1230,7 +1340,7 @@
1230 "parameters": {
1340 "parameters": {
1231 "appsId": {
1341 "appsId": {
1232 "type": "string",
1342 "type": "string",
1233− "description": "Part of `name`. Name of the application to get. For example: \"apps/myapp\".",
1343+ "description": "Part of `name`. Name of the application to get. Example: `apps/myapp`.",
1234 "required": true,
1344 "required": true,
1235 "location": "path"
1345 "location": "path"
1236 },
1346 },
@@ -1249,20 +1359,124 @@
1249 "scopes": [
1359 "scopes": [
1250 "https://www.googleapis.com/auth/cloud-platform"
1360 "https://www.googleapis.com/auth/cloud-platform"
1251 ]
1361 ]
1362+ },
1363+ "patch": {
1364+ "id": "appengine.apps.patch",
1365+ "path": "v1beta4/apps/{appsId}",
1366+ "httpMethod": "PATCH",
1367+ "description": "Updates application parameters.",
1368+ "parameters": {
1369+ "appsId": {
1370+ "type": "string",
1371+ "description": "Part of `name`. Name of the application to update. For example: \"apps/myapp\".",
1372+ "required": true,
1373+ "location": "path"
1374+ },
1375+ "mask": {
1376+ "type": "string",
1377+ "description": "Standard field mask for the set of fields to be updated.",
1378+ "location": "query"
1379+ }
1380+ },
1381+ "parameterOrder": [
1382+ "appsId"
1383+ ],
1384+ "request": {
1385+ "$ref": "Application"
1386+ },
1387+ "response": {
1388+ "$ref": "Operation"
1389+ },
1390+ "scopes": [
1391+ "https://www.googleapis.com/auth/cloud-platform"
1392+ ]
1252 }
1393 }
1253 },
1394 },
1254 "resources": {
1395 "resources": {
1396+ "operations": {
1397+ "methods": {
1398+ "get": {
1399+ "id": "appengine.apps.operations.get",
1400+ "path": "v1beta4/apps/{appsId}/operations/{operationsId}",
1401+ "httpMethod": "GET",
1402+ "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
1403+ "parameters": {
1404+ "appsId": {
1405+ "type": "string",
1406+ "description": "Part of `name`. The name of the operation resource.",
1407+ "required": true,
1408+ "location": "path"
1409+ },
1410+ "operationsId": {
1411+ "type": "string",
1412+ "description": "Part of `name`. See documentation of `appsId`.",
1413+ "required": true,
1414+ "location": "path"
1415+ }
1416+ },
1417+ "parameterOrder": [
1418+ "appsId",
1419+ "operationsId"
1420+ ],
1421+ "response": {
1422+ "$ref": "Operation"
1423+ },
1424+ "scopes": [
1425+ "https://www.googleapis.com/auth/cloud-platform"
1426+ ]
1427+ },
1428+ "list": {
1429+ "id": "appengine.apps.operations.list",
1430+ "path": "v1beta4/apps/{appsId}/operations",
1431+ "httpMethod": "GET",
1432+ "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding below allows API services to override the binding to use different resource name schemes, such as `users/*/operations`.",
1433+ "parameters": {
1434+ "appsId": {
1435+ "type": "string",
1436+ "description": "Part of `name`. The name of the operation collection.",
1437+ "required": true,
1438+ "location": "path"
1439+ },
1440+ "filter": {
1441+ "type": "string",
1442+ "description": "The standard list filter.",
1443+ "location": "query"
1444+ },
1445+ "pageSize": {
1446+ "type": "integer",
1447+ "description": "The standard list page size.",
1448+ "format": "int32",
1449+ "location": "query"
1450+ },
1451+ "pageToken": {
1452+ "type": "string",
1453+ "description": "The standard list page token.",
1454+ "location": "query"
1455+ }
1456+ },
1457+ "parameterOrder": [
1458+ "appsId"
1459+ ],
1460+ "response": {
1461+ "$ref": "ListOperationsResponse"
1462+ },
1463+ "scopes": [
1464+ "https://www.googleapis.com/auth/cloud-platform"
1465+ ]
1466+ }
1467+ }
1468+ },
1255 "modules": {
1469 "modules": {
1256 "methods": {
1470 "methods": {
1257 "delete": {
1471 "delete": {
1258 "id": "appengine.apps.modules.delete",
1472 "id": "appengine.apps.modules.delete",
1259 "path": "v1beta4/apps/{appsId}/modules/{modulesId}",
1473 "path": "v1beta4/apps/{appsId}/modules/{modulesId}",
1260 "httpMethod": "DELETE",
1474 "httpMethod": "DELETE",
1261− "description": "Deletes a module and all enclosed versions.",
1475+ "description": "Deletes the specified module and all enclosed versions.",
1262 "parameters": {
1476 "parameters": {
1263 "appsId": {
1477 "appsId": {
1264 "type": "string",
1478 "type": "string",
1265− "description": "Part of `name`. Name of the resource requested. For example: \"apps/myapp/modules/default\".",
1479+ "description": "Part of `name`. Name of the resource requested. Example: `apps/myapp/modules/default`.",
1266 "required": true,
1480 "required": true,
1267 "location": "path"
1481 "location": "path"
1268 },
1482 },
@@ -1288,11 +1502,11 @@
1288 "id": "appengine.apps.modules.get",
1502 "id": "appengine.apps.modules.get",
1289 "path": "v1beta4/apps/{appsId}/modules/{modulesId}",
1503 "path": "v1beta4/apps/{appsId}/modules/{modulesId}",
1290 "httpMethod": "GET",
1504 "httpMethod": "GET",
1291− "description": "Gets the current configuration of the module.",
1505+ "description": "Gets the current configuration of the specified module.",
1292 "parameters": {
1506 "parameters": {
1293 "appsId": {
1507 "appsId": {
1294 "type": "string",
1508 "type": "string",
1295− "description": "Part of `name`. Name of the resource requested. For example: \"apps/myapp/modules/default\".",
1509+ "description": "Part of `name`. Name of the resource requested. Example: `apps/myapp/modules/default`.",
1296 "required": true,
1510 "required": true,
1297 "location": "path"
1511 "location": "path"
1298 },
1512 },
@@ -1322,7 +1536,7 @@
1322 "parameters": {
1536 "parameters": {
1323 "appsId": {
1537 "appsId": {
1324 "type": "string",
1538 "type": "string",
1325− "description": "Part of `name`. Name of the resource requested. For example: \"apps/myapp\".",
1539+ "description": "Part of `name`. Name of the resource requested. Example: `apps/myapp`.",
1326 "required": true,
1540 "required": true,
1327 "location": "path"
1541 "location": "path"
1328 },
1542 },
@@ -1356,7 +1570,7 @@
1356 "parameters": {
1570 "parameters": {
1357 "appsId": {
1571 "appsId": {
1358 "type": "string",
1572 "type": "string",
1359− "description": "Part of `name`. Name of the resource to update. For example: \"apps/myapp/modules/default\".",
1573+ "description": "Part of `name`. Name of the resource to update. Example: `apps/myapp/modules/default`.",
1360 "required": true,
1574 "required": true,
1361 "location": "path"
1575 "location": "path"
1362 },
1576 },
@@ -1373,7 +1587,7 @@
1373 },
1587 },
1374 "migrateTraffic": {
1588 "migrateTraffic": {
1375 "type": "boolean",
1589 "type": "boolean",
1376− "description": "Whether to use Traffic Migration to shift traffic gradually. Traffic can only be migrated from a single version to another single version.",
1590+ "description": "Set to `true` to gradually shift traffic from one version to another single version. By default, traffic is shifted immediately. For gradual traffic migration, the target version must be located within instances that are configured for both [warmup requests](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#inboundservicetype) and [automatic scaling](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#automaticscaling). You must specify the [`shardBy`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules#shardby) field in the Module resource. Gradual traffic migration is not supported in the App Engine flexible environment. For examples, see [Migrating and Splitting Traffic](https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic).",
1377 "location": "query"
1591 "location": "query"
1378 }
1592 }
1379 },
1593 },
@@ -1399,11 +1613,11 @@
1399 "id": "appengine.apps.modules.versions.create",
1613 "id": "appengine.apps.modules.versions.create",
1400 "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions",
1614 "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions",
1401 "httpMethod": "POST",
1615 "httpMethod": "POST",
1402− "description": "Deploys new code and resource files to a version.",
1616+ "description": "Deploys code and resource files to a new version.",
1403 "parameters": {
1617 "parameters": {
1404 "appsId": {
1618 "appsId": {
1405 "type": "string",
1619 "type": "string",
1406− "description": "Part of `name`. Name of the resource to update. For example: \"apps/myapp/modules/default\".",
1620+ "description": "Part of `name`. Name of the resource to update. Example: `apps/myapp/modules/default`.",
1407 "required": true,
1621 "required": true,
1408 "location": "path"
1622 "location": "path"
1409 },
1623 },
@@ -1436,7 +1650,7 @@
1436 "parameters": {
1650 "parameters": {
1437 "appsId": {
1651 "appsId": {
1438 "type": "string",
1652 "type": "string",
1439− "description": "Part of `name`. Name of the resource requested. For example: \"apps/myapp/modules/default/versions/v1\".",
1653+ "description": "Part of `name`. Name of the resource requested. Example: `apps/myapp/modules/default/versions/v1`.",
1440 "required": true,
1654 "required": true,
1441 "location": "path"
1655 "location": "path"
1442 },
1656 },
@@ -1469,11 +1683,11 @@
1469 "id": "appengine.apps.modules.versions.get",
1683 "id": "appengine.apps.modules.versions.get",
1470 "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}",
1684 "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}",
1471 "httpMethod": "GET",
1685 "httpMethod": "GET",
1472− "description": "Gets application deployment information.",
1686+ "description": "Gets the specified Version resource. By default, only a `BASIC_VIEW` will be returned. Specify the `FULL_VIEW` parameter to get the full resource.",
1473 "parameters": {
1687 "parameters": {
1474 "appsId": {
1688 "appsId": {
1475 "type": "string",
1689 "type": "string",
1476− "description": "Part of `name`. Name of the resource requested. For example: \"apps/myapp/modules/default/versions/v1\".",
1690+ "description": "Part of `name`. Name of the resource requested. Example: `apps/myapp/modules/default/versions/v1`.",
1477 "required": true,
1691 "required": true,
1478 "location": "path"
1692 "location": "path"
1479 },
1693 },
@@ -1519,7 +1733,7 @@
1519 "parameters": {
1733 "parameters": {
1520 "appsId": {
1734 "appsId": {
1521 "type": "string",
1735 "type": "string",
1522− "description": "Part of `name`. Name of the resource requested. For example: \"apps/myapp/modules/default\".",
1736+ "description": "Part of `name`. Name of the resource requested. Example: `apps/myapp/modules/default`.",
1523 "required": true,
1737 "required": true,
1524 "location": "path"
1738 "location": "path"
1525 },
1739 },
@@ -1565,11 +1779,11 @@
1565 "id": "appengine.apps.modules.versions.patch",
1779 "id": "appengine.apps.modules.versions.patch",
1566 "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}",
1780 "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}",
1567 "httpMethod": "PATCH",
1781 "httpMethod": "PATCH",
1568− "description": "Updates an existing version. Note: UNIMPLEMENTED.",
1782+ "description": "Updates the specified Version resource. You can specify the following fields depending on the App Engine environment and type of scaling that the version resource uses: * [`serving_status`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#Version.FIELDS.serving_status): For Version resources that use basic scaling, manual scaling, or run in the App Engine flexible environment. * [`instance_class`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#Version.FIELDS.instance_class): For Version resources that run in the App Engine standard environment. * [`automatic_scaling.min_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment. * [`automatic_scaling.max_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta4/apps.modules.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.",
1569 "parameters": {
1783 "parameters": {
1570 "appsId": {
1784 "appsId": {
1571 "type": "string",
1785 "type": "string",
1572− "description": "Part of `name`. Name of the resource to update. For example: \"apps/myapp/modules/default/versions/1\".",
1786+ "description": "Part of `name`. Name of the resource to update. Example: `apps/myapp/modules/default/versions/1`.",
1573 "required": true,
1787 "required": true,
1574 "location": "path"
1788 "location": "path"
1575 },
1789 },
@@ -1610,6 +1824,94 @@
1610 "resources": {
1824 "resources": {
1611 "instances": {
1825 "instances": {
1612 "methods": {
1826 "methods": {
1827+ "delete": {
1828+ "id": "appengine.apps.modules.versions.instances.delete",
1829+ "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}/instances/{instancesId}",
1830+ "httpMethod": "DELETE",
1831+ "description": "Stops a running instance.",
1832+ "parameters": {
1833+ "appsId": {
1834+ "type": "string",
1835+ "description": "Part of `name`. Name of the resource requested. Example: `apps/myapp/modules/default/versions/v1/instances/instance-1`.",
1836+ "required": true,
1837+ "location": "path"
1838+ },
1839+ "modulesId": {
1840+ "type": "string",
1841+ "description": "Part of `name`. See documentation of `appsId`.",
1842+ "required": true,
1843+ "location": "path"
1844+ },
1845+ "versionsId": {
1846+ "type": "string",
1847+ "description": "Part of `name`. See documentation of `appsId`.",
1848+ "required": true,
1849+ "location": "path"
1850+ },
1851+ "instancesId": {
1852+ "type": "string",
1853+ "description": "Part of `name`. See documentation of `appsId`.",
1854+ "required": true,
1855+ "location": "path"
1856+ }
1857+ },
1858+ "parameterOrder": [
1859+ "appsId",
1860+ "modulesId",
1861+ "versionsId",
1862+ "instancesId"
1863+ ],
1864+ "response": {
1865+ "$ref": "Operation"
1866+ },
1867+ "scopes": [
1868+ "https://www.googleapis.com/auth/cloud-platform"
1869+ ]
1870+ },
1871+ "get": {
1872+ "id": "appengine.apps.modules.versions.instances.get",
1873+ "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}/instances/{instancesId}",
1874+ "httpMethod": "GET",
1875+ "description": "Gets instance information.",
1876+ "parameters": {
1877+ "appsId": {
1878+ "type": "string",
1879+ "description": "Part of `name`. Name of the resource requested. Example: `apps/myapp/modules/default/versions/v1/instances/instance-1`.",
1880+ "required": true,
1881+ "location": "path"
1882+ },
1883+ "modulesId": {
1884+ "type": "string",
1885+ "description": "Part of `name`. See documentation of `appsId`.",
1886+ "required": true,
1887+ "location": "path"
1888+ },
1889+ "versionsId": {
1890+ "type": "string",
1891+ "description": "Part of `name`. See documentation of `appsId`.",
1892+ "required": true,
1893+ "location": "path"
1894+ },
1895+ "instancesId": {
1896+ "type": "string",
1897+ "description": "Part of `name`. See documentation of `appsId`.",
1898+ "required": true,
1899+ "location": "path"
1900+ }
1901+ },
1902+ "parameterOrder": [
1903+ "appsId",
1904+ "modulesId",
1905+ "versionsId",
1906+ "instancesId"
1907+ ],
1908+ "response": {
1909+ "$ref": "Instance"
1910+ },
1911+ "scopes": [
1912+ "https://www.googleapis.com/auth/cloud-platform"
1913+ ]
1914+ },
1613 "list": {
1915 "list": {
1614 "id": "appengine.apps.modules.versions.instances.list",
1916 "id": "appengine.apps.modules.versions.instances.list",
1615 "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}/instances",
1917 "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}/instances",
@@ -1618,7 +1920,7 @@
1618 "parameters": {
1920 "parameters": {
1619 "appsId": {
1921 "appsId": {
1620 "type": "string",
1922 "type": "string",
1621− "description": "Part of `name`. Name of the resource requested. For example: \"apps/myapp/modules/default/versions/v1\".",
1923+ "description": "Part of `name`. Name of the resource requested. Example: `apps/myapp/modules/default/versions/v1`.",
1622 "required": true,
1924 "required": true,
1623 "location": "path"
1925 "location": "path"
1624 },
1926 },
@@ -1657,6 +1959,53 @@
1657 "scopes": [
1959 "scopes": [
1658 "https://www.googleapis.com/auth/cloud-platform"
1960 "https://www.googleapis.com/auth/cloud-platform"
1659 ]
1961 ]
1962+ },
1963+ "debug": {
1964+ "id": "appengine.apps.modules.versions.instances.debug",
1965+ "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}/instances/{instancesId}:debug",
1966+ "httpMethod": "POST",
1967+ "description": "Enables debugging on a VM instance. This allows you to use the SSH command to connect to the virtual machine where the instance lives. While in \"debug mode\", the instance continues to serve live traffic. You should delete the instance when you are done debugging and then allow the system to take over and determine if another instance should be started. Only applicable for instances in App Engine flexible environment.",
1968+ "parameters": {
1969+ "appsId": {
1970+ "type": "string",
1971+ "description": "Part of `name`. Name of the resource requested. Example: `apps/myapp/modules/default/versions/v1/instances/instance-1`.",
1972+ "required": true,
1973+ "location": "path"
1974+ },
1975+ "modulesId": {
1976+ "type": "string",
1977+ "description": "Part of `name`. See documentation of `appsId`.",
1978+ "required": true,
1979+ "location": "path"
1980+ },
1981+ "versionsId": {
1982+ "type": "string",
1983+ "description": "Part of `name`. See documentation of `appsId`.",
1984+ "required": true,
1985+ "location": "path"
1986+ },
1987+ "instancesId": {
1988+ "type": "string",
1989+ "description": "Part of `name`. See documentation of `appsId`.",
1990+ "required": true,
1991+ "location": "path"
1992+ }
1993+ },
1994+ "parameterOrder": [
1995+ "appsId",
1996+ "modulesId",
1997+ "versionsId",
1998+ "instancesId"
1999+ ],
2000+ "request": {
2001+ "$ref": "DebugInstanceRequest"
2002+ },
2003+ "response": {
2004+ "$ref": "Operation"
2005+ },
2006+ "scopes": [
2007+ "https://www.googleapis.com/auth/cloud-platform"
2008+ ]
1660 }
2009 }
1661 }
2010 }
1662 }
2011 }
@@ -1664,72 +2013,72 @@
1664 }
2013 }
1665 }
2014 }
1666 },
2015 },
1667− "operations": {
2016+ "locations": {
1668 "methods": {
2017 "methods": {
1669− "get": {
2018+ "list": {
1670− "id": "appengine.apps.operations.get",
2019+ "id": "appengine.apps.locations.list",
1671− "path": "v1beta4/apps/{appsId}/operations/{operationsId}",
2020+ "path": "v1beta4/apps/{appsId}/locations",
1672 "httpMethod": "GET",
2021 "httpMethod": "GET",
1673− "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
2022+ "description": "Lists information about the supported locations for this service.",
1674 "parameters": {
2023 "parameters": {
1675 "appsId": {
2024 "appsId": {
1676 "type": "string",
2025 "type": "string",
1677− "description": "Part of `name`. The name of the operation resource.",
2026+ "description": "Part of `name`. The resource that owns the locations collection, if applicable.",
1678 "required": true,
2027 "required": true,
1679 "location": "path"
2028 "location": "path"
1680 },
2029 },
1681− "operationsId": {
2030+ "filter": {
1682 "type": "string",
2031 "type": "string",
1683− "description": "Part of `name`. See documentation of `appsId`.",
2032+ "description": "The standard list filter.",
1684− "required": true,
2033+ "location": "query"
2034+ },
2035+ "pageSize": {
2036+ "type": "integer",
2037+ "description": "The standard list page size.",
2038+ "format": "int32",
2039+ "location": "query"
2040+ },
2041+ "pageToken": {
2042+ "type": "string",
2043+ "description": "The standard list page token.",
1685− "location": "path"
2044+ "location": "query"
1686 }
2045 }
1687 },
2046 },
1688 "parameterOrder": [
2047 "parameterOrder": [
1689− "appsId",
2048+ "appsId"
1690− "operationsId"
1691 ],
2049 ],
1692 "response": {
2050 "response": {
1693− "$ref": "Operation"
2051+ "$ref": "ListLocationsResponse"
1694 },
2052 },
1695 "scopes": [
2053 "scopes": [
1696 "https://www.googleapis.com/auth/cloud-platform"
2054 "https://www.googleapis.com/auth/cloud-platform"
1697 ]
2055 ]
1698 },
2056 },
1699− "list": {
2057+ "get": {
1700− "id": "appengine.apps.operations.list",
2058+ "id": "appengine.apps.locations.get",
1701− "path": "v1beta4/apps/{appsId}/operations",
2059+ "path": "v1beta4/apps/{appsId}/locations/{locationsId}",
1702 "httpMethod": "GET",
2060 "httpMethod": "GET",
1703− "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding below allows API services to override the binding to use different resource name schemes, such as `users/*/operations`.",
2061+ "description": "Get information about a location.",
1704 "parameters": {
2062 "parameters": {
1705 "appsId": {
2063 "appsId": {
1706 "type": "string",
2064 "type": "string",
1707− "description": "Part of `name`. The name of the operation collection.",
2065+ "description": "Part of `name`. Resource name for the location.",
1708 "required": true,
2066 "required": true,
1709 "location": "path"
2067 "location": "path"
1710 },
2068 },
1711− "filter": {
2069+ "locationsId": {
1712− "type": "string",
1713− "description": "The standard list filter.",
1714− "location": "query"
1715− },
1716− "pageSize": {
1717− "type": "integer",
1718− "description": "The standard list page size.",
1719− "format": "int32",
1720− "location": "query"
1721− },
1722− "pageToken": {
1723 "type": "string",
2070 "type": "string",
1724− "description": "The standard list page token.",
2071+ "description": "Part of `name`. See documentation of `appsId`.",
2072+ "required": true,
1725− "location": "query"
2073+ "location": "path"
1726 }
2074 }
1727 },
2075 },
1728 "parameterOrder": [
2076 "parameterOrder": [
1729− "appsId"
2077+ "appsId",
2078+ "locationsId"
1730 ],
2079 ],
1731 "response": {
2080 "response": {
1732− "$ref": "ListOperationsResponse"
2081+ "$ref": "Location"
1733 },
2082 },
1734 "scopes": [
2083 "scopes": [
1735 "https://www.googleapis.com/auth/cloud-platform"
2084 "https://www.googleapis.com/auth/cloud-platform"
gen/model/appengine/v1beta5/appengine-api.json+541−192
@@ -1,11 +1,11 @@
1{
1{
2 "kind": "discovery#restDescription",
2 "kind": "discovery#restDescription",
3− "etag": "\"jQLIOHBVnDZie4rQHGH1WJF-INE/uGRAIMczbUMx-blIXv0SXiGStRQ\"",
3+ "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/0qciQsoN0Vvlij82hTLNL1WfFOU\"",
4 "discoveryVersion": "v1",
4 "discoveryVersion": "v1",
5 "id": "appengine:v1beta5",
5 "id": "appengine:v1beta5",
6 "name": "appengine",
6 "name": "appengine",
7 "version": "v1beta5",
7 "version": "v1beta5",
8− "revision": "20160407",
8+ "revision": "20161012",
9 "title": "Google App Engine Admin API",
9 "title": "Google App Engine Admin API",
10 "description": "Provisions and manages App Engine applications.",
10 "description": "Provisions and manages App Engine applications.",
11 "ownerDomain": "google.com",
11 "ownerDomain": "google.com",
@@ -124,7 +124,7 @@
124 "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
124 "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
125 "additionalProperties": {
125 "additionalProperties": {
126 "type": "any",
126 "type": "any",
127− "description": "Properties of the object. Contains field @ype with type URL."
127+ "description": "Properties of the object. Contains field @type with type URL."
128 }
128 }
129 },
129 },
130 "done": {
130 "done": {
@@ -140,7 +140,7 @@
140 "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
140 "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
141 "additionalProperties": {
141 "additionalProperties": {
142 "type": "any",
142 "type": "any",
143− "description": "Properties of the object. Contains field @ype with type URL."
143+ "description": "Properties of the object. Contains field @type with type URL."
144 }
144 }
145 }
145 }
146 }
146 }
@@ -166,7 +166,7 @@
166 "type": "object",
166 "type": "object",
167 "additionalProperties": {
167 "additionalProperties": {
168 "type": "any",
168 "type": "any",
169− "description": "Properties of the object. Contains field @ype with type URL."
169+ "description": "Properties of the object. Contains field @type with type URL."
170 }
170 }
171 }
171 }
172 }
172 }
@@ -193,46 +193,46 @@
193 "Application": {
193 "Application": {
194 "id": "Application",
194 "id": "Application",
195 "type": "object",
195 "type": "object",
196− "description": "An Application contains the top-level configuration of an App Engine application.",
196+ "description": "An Application resource contains the top-level configuration of an App Engine application.",
197 "properties": {
197 "properties": {
198 "name": {
198 "name": {
199 "type": "string",
199 "type": "string",
200− "description": "The full path to the application in the API. Example: \"apps/myapp\". @OutputOnly"
200+ "description": "Full path to the Application resource in the API. Example: `apps/myapp`. @OutputOnly"
201 },
201 },
202 "id": {
202 "id": {
203 "type": "string",
203 "type": "string",
204− "description": "The relative name/path of the application. Example: \"myapp\"."
204+ "description": "Identifier of the Application resource. This identifier is equivalent to the project ID of the Google Cloud Platform project where you want to deploy your application. Example: `myapp`."
205 },
205 },
206 "dispatchRules": {
206 "dispatchRules": {
207 "type": "array",
207 "type": "array",
208− "description": "HTTP path dispatch rules for requests to the app that do not explicitly target a service or version. The rules are order-dependent. @OutputOnly",
208+ "description": "HTTP path dispatch rules for requests to the application that do not explicitly target a service or version. Rules are order-dependent. @OutputOnly",
209 "items": {
209 "items": {
210 "$ref": "UrlDispatchRule"
210 "$ref": "UrlDispatchRule"
211 }
211 }
212 },
212 },
213 "authDomain": {
213 "authDomain": {
214 "type": "string",
214 "type": "string",
215− "description": "If set, only users from the specified Google Apps authentication domain may access the application. If not set, any Google Account may access the application."
215+ "description": "Google Apps authentication domain that controls which users can access this application. Defaults to open access for any Google Account."
216 },
216 },
217 "location": {
217 "location": {
218 "type": "string",
218 "type": "string",
219− "description": "The location from which the application will be run. Application instances will run out of data centers in the chosen location and all of the application's End User Content will be stored at rest. The default is \"us-central\". Choices are: \"us-central\" - Central US \"europe-west\" - Western Europe \"us-east1\" - Eastern US"
219+ "description": "Location from which this application will be run. Application instances will run out of data centers in the chosen location, which is also where all of the application's end user content is stored. Defaults to `us-central`. Options are: `us-central` - Central US `europe-west` - Western Europe `us-east1` - Eastern US"
220 },
220 },
221 "codeBucket": {
221 "codeBucket": {
222 "type": "string",
222 "type": "string",
223− "description": "A Google Cloud Storage bucket which can be used for storing files associated with an application. This bucket is associated with the application and can be used by the gcloud deployment commands. @OutputOnly"
223+ "description": "A Google Cloud Storage bucket that can be used for storing files associated with this application. This bucket is associated with the application and can be used by the gcloud deployment commands. @OutputOnly"
224 },
224 },
225 "defaultCookieExpiration": {
225 "defaultCookieExpiration": {
226 "type": "string",
226 "type": "string",
227− "description": "Determines the cookie expiration policy for the application. @OutputOnly"
227+ "description": "Cookie expiration policy for this application. @OutputOnly"
228 },
228 },
229 "defaultHostname": {
229 "defaultHostname": {
230 "type": "string",
230 "type": "string",
231− "description": "The hostname used to reach the application, as resolved by App Engine. @OutputOnly"
231+ "description": "Hostname used to reach the application, as resolved by App Engine. @OutputOnly"
232 },
232 },
233 "defaultBucket": {
233 "defaultBucket": {
234 "type": "string",
234 "type": "string",
235− "description": "A Google Cloud Storage bucket which can be used by the application to store content. @OutputOnly"
235+ "description": "A Google Cloud Storage bucket that can be used by the application to store content. @OutputOnly"
236 }
236 }
237 }
237 }
238 },
238 },
@@ -243,34 +243,34 @@
243 "properties": {
243 "properties": {
244 "domain": {
244 "domain": {
245 "type": "string",
245 "type": "string",
246− "description": "The domain name to match on. Supports '*' (glob) wildcarding on the left-hand side of a '.'. If empty, all domains will be matched (the same as '*')."
246+ "description": "Domain name to match against. The wildcard \"`*`\" is supported if specified before a period: \"`*.`\". Defaults to matching all domains: \"`*`\"."
247 },
247 },
248 "path": {
248 "path": {
249 "type": "string",
249 "type": "string",
250− "description": "The pathname within the host. This must start with a '/'. A single '*' (glob) can be included at the end of the path. The sum of the lengths of the domain and path may not exceed 100 characters."
250+ "description": "Pathname within the host. Must start with a \"`/`\". A single \"`*`\" can be included at the end of the path. The sum of the lengths of the domain and path may not exceed 100 characters."
251 },
251 },
252 "service": {
252 "service": {
253 "type": "string",
253 "type": "string",
254− "description": "The resource id of a Service in this application that should service the matched request. The Service must already exist. Example: \"default\"."
254+ "description": "Resource id of a service in this application that should serve the matched request. The service must already exist. Example: `default`."
255 }
255 }
256 }
256 }
257 },
257 },
258 "Version": {
258 "Version": {
259 "id": "Version",
259 "id": "Version",
260 "type": "object",
260 "type": "object",
261− "description": "A Version is a specific set of source code and configuration files deployed to a service.",
261+ "description": "A Version resource is a specific set of source code and configuration files that are deployed into a service.",
262 "properties": {
262 "properties": {
263 "name": {
263 "name": {
264 "type": "string",
264 "type": "string",
265− "description": "The full path to the Version resource in the API. Example: \"apps/myapp/services/default/versions/v1\". @OutputOnly"
265+ "description": "Full path to the Version resource in the API. Example: `apps/myapp/services/default/versions/v1`. @OutputOnly"
266 },
266 },
267 "id": {
267 "id": {
268 "type": "string",
268 "type": "string",
269− "description": "The relative name/path of the Version within the service. Example: \"v1\". Version specifiers can contain lowercase letters, digits, and hyphens. It cannot begin with the prefix `ah-` and the names `default` and `latest` are reserved and cannot be used."
269+ "description": "Relative name of the version within the module. Example: `v1`. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names: \"default\", \"latest\", and any name with the prefix \"ah-\"."
270 },
270 },
271 "automaticScaling": {
271 "automaticScaling": {
272 "$ref": "AutomaticScaling",
272 "$ref": "AutomaticScaling",
273− "description": "Automatic scaling is the scaling policy that App Engine has used since its inception. It is based on request rate, response latencies, and other application metrics."
273+ "description": "Automatic scaling is based on request rate, response latencies, and other application metrics."
274 },
274 },
275 "basicScaling": {
275 "basicScaling": {
276 "$ref": "BasicScaling",
276 "$ref": "BasicScaling",
@@ -286,7 +286,7 @@
286 "enumDescriptions": [
286 "enumDescriptions": [
287 "Not specified.",
287 "Not specified.",
288 "Allows an application to receive mail.",
288 "Allows an application to receive mail.",
289− "Allows an application receive email bound notifications.",
289+ "Allows an application to receive email-bound notifications.",
290 "Allows an application to receive error stanzas.",
290 "Allows an application to receive error stanzas.",
291 "Allows an application to receive instant messages.",
291 "Allows an application to receive instant messages.",
292 "Allows an application to receive user subscription POSTs.",
292 "Allows an application to receive user subscription POSTs.",
@@ -311,42 +311,42 @@
311 },
311 },
312 "instanceClass": {
312 "instanceClass": {
313 "type": "string",
313 "type": "string",
314− "description": "The instance class to use to run this app. Valid values for AutomaticScaling are `[F1, F2, F4, F4_1G]`. Valid values for ManualScaling and BasicScaling are `[B1, B2, B4, B8, B4_1G]`. Default: \"F1\" for AutomaticScaling, \"B1\" for ManualScaling and BasicScaling"
314+ "description": "Instance class that is used to run this version. Valid values are: * AutomaticScaling: `F1`, `F2`, `F4`, `F4_1G` * ManualScaling or BasicScaling: `B1`, `B2`, `B4`, `B8`, `B4_1G` Defaults to `F1` for AutomaticScaling and `B1` for ManualScaling or BasicScaling."
315 },
315 },
316 "network": {
316 "network": {
317 "$ref": "Network",
317 "$ref": "Network",
318− "description": "Used to specify extra network settings (for VM runtimes only)."
318+ "description": "Extra network settings. Only applicable for VM runtimes."
319 },
319 },
320 "resources": {
320 "resources": {
321 "$ref": "Resources",
321 "$ref": "Resources",
322− "description": "Used to specify how many machine resources an app version needs (for VM runtimes only)."
322+ "description": "Machine resources for this version. Only applicable for VM runtimes."
323 },
323 },
324 "runtime": {
324 "runtime": {
325 "type": "string",
325 "type": "string",
326− "description": "The desired runtime. Values can include python27, java7, go, etc."
326+ "description": "Desired runtime. Example: `python27`."
327 },
327 },
328 "threadsafe": {
328 "threadsafe": {
329 "type": "boolean",
329 "type": "boolean",
330− "description": "If true, multiple requests can be dispatched to the app at once."
330+ "description": "Whether multiple requests can be dispatched to this version at once."
331 },
331 },
332 "vm": {
332 "vm": {
333 "type": "boolean",
333 "type": "boolean",
334− "description": "Whether to deploy this app in a VM container."
334+ "description": "Whether to deploy this version in a container on a virtual machine."
335 },
335 },
336 "betaSettings": {
336 "betaSettings": {
337 "type": "object",
337 "type": "object",
338− "description": "Beta settings supplied to the application via metadata.",
338+ "description": "Metadata settings that are supplied to this version to enable beta runtime features.",
339 "additionalProperties": {
339 "additionalProperties": {
340 "type": "string"
340 "type": "string"
341 }
341 }
342 },
342 },
343 "env": {
343 "env": {
344 "type": "string",
344 "type": "string",
345− "description": "The App Engine execution environment to use for this version. Default: \"1\""
345+ "description": "App Engine execution environment to use for this version. Defaults to `1`."
346 },
346 },
347 "servingStatus": {
347 "servingStatus": {
348 "type": "string",
348 "type": "string",
349− "description": "The current serving status of this version. Only `SERVING` versions will have instances created or billed for. If this field is unset when a version is created, `SERVING` status will be assumed. It is an error to explicitly set this field to `SERVING_STATUS_UNSPECIFIED`.",
349+ "description": "Current serving status of this version. Only the versions with a `SERVING` status create instances and can be billed. `SERVING_STATUS_UNSPECIFIED` is an invalid value. Defaults to `SERVING`.",
350 "enum": [
350 "enum": [
351 "SERVING_STATUS_UNSPECIFIED",
351 "SERVING_STATUS_UNSPECIFIED",
352 "SERVING",
352 "SERVING",
@@ -355,11 +355,11 @@
355 },
355 },
356 "deployer": {
356 "deployer": {
357 "type": "string",
357 "type": "string",
358− "description": "The email address of the user who created this version. @OutputOnly"
358+ "description": "Email address of the user who created this version. @OutputOnly"
359 },
359 },
360 "creationTime": {
360 "creationTime": {
361 "type": "string",
361 "type": "string",
362− "description": "Creation time of this version. This will be between the start and end times of the operation that creates this version. @OutputOnly"
362+ "description": "Time that this version was created. @OutputOnly"
363 },
363 },
364 "diskUsageBytes": {
364 "diskUsageBytes": {
365 "type": "string",
365 "type": "string",
@@ -368,62 +368,62 @@
368 },
368 },
369 "handlers": {
369 "handlers": {
370 "type": "array",
370 "type": "array",
371− "description": "An ordered list of URL Matching patterns that should be applied to incoming requests. The first matching URL consumes the request, and subsequent handlers are not attempted. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable.",
371+ "description": "An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted. Only returned in `GET` requests if `view=FULL` is set.",
372 "items": {
372 "items": {
373 "$ref": "UrlMap"
373 "$ref": "UrlMap"
374 }
374 }
375 },
375 },
376 "errorHandlers": {
376 "errorHandlers": {
377 "type": "array",
377 "type": "array",
378− "description": "Custom static error pages instead of these generic error pages, (limit 10 KB/page) Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable.",
378+ "description": "Custom static error pages. Limited to 10KB per page. Only returned in `GET` requests if `view=FULL` is set.",
379 "items": {
379 "items": {
380 "$ref": "ErrorHandler"
380 "$ref": "ErrorHandler"
381 }
381 }
382 },
382 },
383 "libraries": {
383 "libraries": {
384 "type": "array",
384 "type": "array",
385− "description": "Configuration for Python runtime third-party libraries required by the application. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable.",
385+ "description": "Configuration for third-party Python runtime libraries required by the application. Only returned in `GET` requests if `view=FULL` is set.",
386 "items": {
386 "items": {
387 "$ref": "Library"
387 "$ref": "Library"
388 }
388 }
389 },
389 },
390 "apiConfig": {
390 "apiConfig": {
391 "$ref": "ApiConfigHandler",
391 "$ref": "ApiConfigHandler",
392− "description": "Serving configuration for Google Cloud Endpoints. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable."
392+ "description": "Serving configuration for [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/). Only returned in `GET` requests if `view=FULL` is set."
393 },
393 },
394 "envVariables": {
394 "envVariables": {
395 "type": "object",
395 "type": "object",
396− "description": "Environment variables made available to the application. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable.",
396+ "description": "Environment variables made available to the application. Only returned in `GET` requests if `view=FULL` is set.",
397 "additionalProperties": {
397 "additionalProperties": {
398 "type": "string"
398 "type": "string"
399 }
399 }
400 },
400 },
401 "defaultExpiration": {
401 "defaultExpiration": {
402 "type": "string",
402 "type": "string",
403− "description": "The length of time a static file served by a static file handler ought to be cached by web proxies and browsers, if the handler does not specify its own expiration. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable."
403+ "description": "Duration that static files should be cached by web proxies and browsers. Only applicable if the corresponding [StaticFilesHandler](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#staticfileshandler) does not specify its own expiration time. Only returned in `GET` requests if `view=FULL` is set."
404 },
404 },
405 "healthCheck": {
405 "healthCheck": {
406 "$ref": "HealthCheck",
406 "$ref": "HealthCheck",
407− "description": "Configure health checking for the VM instances. Unhealthy VM instances will be stopped and replaced with new instances. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable."
407+ "description": "Configures health checking for VM instances. Unhealthy instances are be stopped and replaced with new instances. Only applicable for VM runtimes. Only returned in `GET` requests if `view=FULL` is set."
408 },
408 },
409 "nobuildFilesRegex": {
409 "nobuildFilesRegex": {
410 "type": "string",
410 "type": "string",
411− "description": "Go only. Files that match this pattern will not be built into the app. May only be set on create requests."
411+ "description": "Files that match this pattern will not be built into this version. Only applicable for Go runtimes. Only returned in `GET` requests if `view=FULL` is set."
412 },
412 },
413 "deployment": {
413 "deployment": {
414 "$ref": "Deployment",
414 "$ref": "Deployment",
415− "description": "Code and application artifacts that make up this version. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable."
415+ "description": "Code and application artifacts that make up this version. Only returned in `GET` requests if `view=FULL` is set."
416 }
416 }
417 }
417 }
418 },
418 },
419 "AutomaticScaling": {
419 "AutomaticScaling": {
420 "id": "AutomaticScaling",
420 "id": "AutomaticScaling",
421 "type": "object",
421 "type": "object",
422− "description": "Automatic scaling is the scaling policy that App Engine has used since its inception. It is based on request rate, response latencies, and other application metrics.",
422+ "description": "Automatic scaling is based on request rate, response latencies, and other application metrics.",
423 "properties": {
423 "properties": {
424 "coolDownPeriod": {
424 "coolDownPeriod": {
425 "type": "string",
425 "type": "string",
426− "description": "The amount of time that the [Autoscaler](https://cloud.google.com/compute/docs/autoscaler/) should wait between changes to the number of virtual machines. Applies only to the VM runtime."
426+ "description": "Amount of time that the [Autoscaler](https://cloud.google.com/compute/docs/autoscaler/) should wait between changes to the number of virtual machines. Only applicable for VM runtimes."
427 },
427 },
428 "cpuUtilization": {
428 "cpuUtilization": {
429 "$ref": "CpuUtilization",
429 "$ref": "CpuUtilization",
@@ -431,36 +431,36 @@
431 },
431 },
432 "maxConcurrentRequests": {
432 "maxConcurrentRequests": {
433 "type": "integer",
433 "type": "integer",
434− "description": "The number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance. Default value is chosen based on the runtime.",
434+ "description": "Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance. Defaults to a runtime-specific value.",
435 "format": "int32"
435 "format": "int32"
436 },
436 },
437 "maxIdleInstances": {
437 "maxIdleInstances": {
438 "type": "integer",
438 "type": "integer",
439− "description": "The maximum number of idle instances that App Engine should maintain for this version.",
439+ "description": "Maximum number of idle instances that should be maintained for this version.",
440 "format": "int32"
440 "format": "int32"
441 },
441 },
442 "maxTotalInstances": {
442 "maxTotalInstances": {
443 "type": "integer",
443 "type": "integer",
444− "description": "Max number of instances that App Engine should start to handle requests.",
444+ "description": "Maximum number of instances that should be started to handle requests.",
445 "format": "int32"
445 "format": "int32"
446 },
446 },
447 "maxPendingLatency": {
447 "maxPendingLatency": {
448 "type": "string",
448 "type": "string",
449− "description": "The maximum amount of time that App Engine should allow a request to wait in the pending queue before starting a new instance to handle it."
449+ "description": "Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it."
450 },
450 },
451 "minIdleInstances": {
451 "minIdleInstances": {
452 "type": "integer",
452 "type": "integer",
453− "description": "The minimum number of idle instances that App Engine should maintain for this version. Only applies to the default version of a service, since other versions are not expected to receive significant traffic.",
453+ "description": "Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a module.",
454 "format": "int32"
454 "format": "int32"
455 },
455 },
456 "minTotalInstances": {
456 "minTotalInstances": {
457 "type": "integer",
457 "type": "integer",
458− "description": "Minimum number of instances that App Engine should maintain.",
458+ "description": "Minimum number of instances that should be maintained for this version.",
459 "format": "int32"
459 "format": "int32"
460 },
460 },
461 "minPendingLatency": {
461 "minPendingLatency": {
462 "type": "string",
462 "type": "string",
463− "description": "The minimum amount of time that App Engine should allow a request to wait in the pending queue before starting a new instance to handle it."
463+ "description": "Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it."
464 },
464 },
465 "requestUtilization": {
465 "requestUtilization": {
466 "$ref": "RequestUtilization",
466 "$ref": "RequestUtilization",
@@ -483,11 +483,11 @@
483 "properties": {
483 "properties": {
484 "aggregationWindowLength": {
484 "aggregationWindowLength": {
485 "type": "string",
485 "type": "string",
486− "description": "The period of time over which CPU utilization is calculated."
486+ "description": "Period of time over which CPU utilization is calculated."
487 },
487 },
488 "targetUtilization": {
488 "targetUtilization": {
489 "type": "number",
489 "type": "number",
490− "description": "Target (0-1) CPU utilization ratio to maintain when scaling.",
490+ "description": "Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1.",
491 "format": "double"
491 "format": "double"
492 }
492 }
493 }
493 }
@@ -495,7 +495,7 @@
495 "RequestUtilization": {
495 "RequestUtilization": {
496 "id": "RequestUtilization",
496 "id": "RequestUtilization",
497 "type": "object",
497 "type": "object",
498− "description": "Target scaling by request utilization (for VM runtimes only).",
498+ "description": "Target scaling by request utilization. Only applicable for VM runtimes.",
499 "properties": {
499 "properties": {
500 "targetRequestCountPerSec": {
500 "targetRequestCountPerSec": {
501 "type": "integer",
501 "type": "integer",
@@ -512,26 +512,26 @@
512 "DiskUtilization": {
512 "DiskUtilization": {
513 "id": "DiskUtilization",
513 "id": "DiskUtilization",
514 "type": "object",
514 "type": "object",
515− "description": "Target scaling by disk usage (for VM runtimes only).",
515+ "description": "Target scaling by disk usage. Only applicable for VM runtimes.",
516 "properties": {
516 "properties": {
517 "targetWriteBytesPerSec": {
517 "targetWriteBytesPerSec": {
518 "type": "integer",
518 "type": "integer",
519− "description": "Target bytes per second written.",
519+ "description": "Target bytes written per second.",
520 "format": "int32"
520 "format": "int32"
521 },
521 },
522 "targetWriteOpsPerSec": {
522 "targetWriteOpsPerSec": {
523 "type": "integer",
523 "type": "integer",
524− "description": "Target ops per second written.",
524+ "description": "Target ops written per second.",
525 "format": "int32"
525 "format": "int32"
526 },
526 },
527 "targetReadBytesPerSec": {
527 "targetReadBytesPerSec": {
528 "type": "integer",
528 "type": "integer",
529− "description": "Target bytes per second read.",
529+ "description": "Target bytes read per second.",
530 "format": "int32"
530 "format": "int32"
531 },
531 },
532 "targetReadOpsPerSec": {
532 "targetReadOpsPerSec": {
533 "type": "integer",
533 "type": "integer",
534− "description": "Target ops per second read.",
534+ "description": "Target ops read per second.",
535 "format": "int32"
535 "format": "int32"
536 }
536 }
537 }
537 }
@@ -539,26 +539,26 @@
539 "NetworkUtilization": {
539 "NetworkUtilization": {
540 "id": "NetworkUtilization",
540 "id": "NetworkUtilization",
541 "type": "object",
541 "type": "object",
542− "description": "Target scaling by network usage (for VM runtimes only).",
542+ "description": "Target scaling by network usage. Only applicable for VM runtimes.",
543 "properties": {
543 "properties": {
544 "targetSentBytesPerSec": {
544 "targetSentBytesPerSec": {
545 "type": "integer",
545 "type": "integer",
546− "description": "Target bytes per second sent.",
546+ "description": "Target bytes sent per second.",
547 "format": "int32"
547 "format": "int32"
548 },
548 },
549 "targetSentPacketsPerSec": {
549 "targetSentPacketsPerSec": {
550 "type": "integer",
550 "type": "integer",
551− "description": "Target packets per second sent.",
551+ "description": "Target packets sent per second.",
552 "format": "int32"
552 "format": "int32"
553 },
553 },
554 "targetReceivedBytesPerSec": {
554 "targetReceivedBytesPerSec": {
555 "type": "integer",
555 "type": "integer",
556− "description": "Target bytes per second received.",
556+ "description": "Target bytes received per second.",
557 "format": "int32"
557 "format": "int32"
558 },
558 },
559 "targetReceivedPacketsPerSec": {
559 "targetReceivedPacketsPerSec": {
560 "type": "integer",
560 "type": "integer",
561− "description": "Target packets per second received.",
561+ "description": "Target packets received per second.",
562 "format": "int32"
562 "format": "int32"
563 }
563 }
564 }
564 }
@@ -570,11 +570,11 @@
570 "properties": {
570 "properties": {
571 "idleTimeout": {
571 "idleTimeout": {
572 "type": "string",
572 "type": "string",
573− "description": "The instance will be shut down this amount of time after receiving its last request."
573+ "description": "Duration of time after the last request that an instance must wait before the instance is shut down."
574 },
574 },
575 "maxInstances": {
575 "maxInstances": {
576 "type": "integer",
576 "type": "integer",
577− "description": "The maximum number of instances for App Engine to create for this version.",
577+ "description": "Maximum number of instances to create for this version.",
578 "format": "int32"
578 "format": "int32"
579 }
579 }
580 }
580 }
@@ -586,7 +586,7 @@
586 "properties": {
586 "properties": {
587 "instances": {
587 "instances": {
588 "type": "integer",
588 "type": "integer",
589− "description": "The number of instances to assign to the service at the start. This number can later be altered by using the [Modules API](https://cloud.google.com/appengine/docs/python/modules/functions) `set_num_instances()` function.",
589+ "description": "Number of instances to assign to the service at the start. This number can later be altered by using the [Modules API](https://cloud.google.com/appengine/docs/python/modules/functions) `set_num_instances()` function.",
590 "format": "int32"
590 "format": "int32"
591 }
591 }
592 }
592 }
@@ -594,43 +594,43 @@
594 "Network": {
594 "Network": {
595 "id": "Network",
595 "id": "Network",
596 "type": "object",
596 "type": "object",
597− "description": "Used to specify extra network settings (for VM runtimes only).",
597+ "description": "Extra network settings. Only applicable for VM runtimes.",
598 "properties": {
598 "properties": {
599 "forwardedPorts": {
599 "forwardedPorts": {
600 "type": "array",
600 "type": "array",
601− "description": "A list of ports (or port pairs) to forward from the VM into the app container.",
601+ "description": "List of ports, or port pairs, to forward from the virtual machine to the application container.",
602 "items": {
602 "items": {
603 "type": "string"
603 "type": "string"
604 }
604 }
605 },
605 },
606 "instanceTag": {
606 "instanceTag": {
607 "type": "string",
607 "type": "string",
608− "description": "A tag to apply to the VM instance during creation."
608+ "description": "Tag to apply to the VM instance during creation."
609 },
609 },
610 "name": {
610 "name": {
611 "type": "string",
611 "type": "string",
612− "description": "The Google Compute Engine network where the VMs will be created. If not specified, or empty, the network named \"default\" will be used. (The short name should be specified, not the resource path.)"
612+ "description": "Google Cloud Platform network where the virtual machines are created. Specify the short name, not the resource path. Defaults to `default`."
613 }
613 }
614 }
614 }
615 },
615 },
616 "Resources": {
616 "Resources": {
617 "id": "Resources",
617 "id": "Resources",
618 "type": "object",
618 "type": "object",
619− "description": "Used to specify how many machine resources an app version needs.",
619+ "description": "Machine resources for a version.",
620 "properties": {
620 "properties": {
621 "cpu": {
621 "cpu": {
622 "type": "number",
622 "type": "number",
623− "description": "How many CPU cores an app version needs.",
623+ "description": "Number of CPU cores needed.",
624 "format": "double"
624 "format": "double"
625 },
625 },
626 "diskGb": {
626 "diskGb": {
627 "type": "number",
627 "type": "number",
628− "description": "How much disk size, in GB, an app version needs.",
628+ "description": "Disk size (GB) needed.",
629 "format": "double"
629 "format": "double"
630 },
630 },
631 "memoryGb": {
631 "memoryGb": {
632 "type": "number",
632 "type": "number",
633− "description": "How much memory, in GB, an app version needs.",
633+ "description": "Memory (GB) needed.",
634 "format": "double"
634 "format": "double"
635 }
635 }
636 }
636 }
@@ -638,11 +638,11 @@
638 "UrlMap": {
638 "UrlMap": {
639 "id": "UrlMap",
639 "id": "UrlMap",
640 "type": "object",
640 "type": "object",
641− "description": "A URL pattern and description of how it should be handled. App Engine can handle URLs by executing application code, or by serving static files uploaded with the code, such as images, CSS or JavaScript.",
641+ "description": "URL pattern and description of how the URL should be handled. App Engine can handle URLs by executing application code, or by serving static files uploaded with the version, such as images, CSS, or JavaScript.",
642 "properties": {
642 "properties": {
643 "urlRegex": {
643 "urlRegex": {
644 "type": "string",
644 "type": "string",
645− "description": "A URL prefix. This value uses regular expression syntax (and so regexp special characters must be escaped), but it should not contain groupings. All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path. This is always required."
645+ "description": "A URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings. All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path."
646 },
646 },
647 "staticFiles": {
647 "staticFiles": {
648 "$ref": "StaticFilesHandler",
648 "$ref": "StaticFilesHandler",
@@ -650,15 +650,15 @@
650 },
650 },
651 "script": {
651 "script": {
652 "$ref": "ScriptHandler",
652 "$ref": "ScriptHandler",
653− "description": "Executes a script to handle the request that matches the URL pattern."
653+ "description": "Executes a script to handle the request that matches this URL pattern."
654 },
654 },
655 "apiEndpoint": {
655 "apiEndpoint": {
656 "$ref": "ApiEndpointHandler",
656 "$ref": "ApiEndpointHandler",
657− "description": "Use API Endpoints to handle requests."
657+ "description": "Uses API Endpoints to handle requests."
658 },
658 },
659 "securityLevel": {
659 "securityLevel": {
660 "type": "string",
660 "type": "string",
661− "description": "Configures whether security (HTTPS) should be enforced for this URL.",
661+ "description": "Security (HTTPS) enforcement for this URL.",
662 "enum": [
662 "enum": [
663 "SECURE_UNSPECIFIED",
663 "SECURE_UNSPECIFIED",
664 "SECURE_DEFAULT",
664 "SECURE_DEFAULT",
@@ -669,7 +669,7 @@
669 },
669 },
670 "login": {
670 "login": {
671 "type": "string",
671 "type": "string",
672− "description": "What level of login is required to access this resource.",
672+ "description": "Level of login required to access this resource.",
673 "enum": [
673 "enum": [
674 "LOGIN_UNSPECIFIED",
674 "LOGIN_UNSPECIFIED",
675 "LOGIN_OPTIONAL",
675 "LOGIN_OPTIONAL",
@@ -679,7 +679,7 @@
679 },
679 },
680 "authFailAction": {
680 "authFailAction": {
681 "type": "string",
681 "type": "string",
682− "description": "For users not logged in, how to handle access to resources with required login. Defaults to \"redirect\".",
682+ "description": "Action to take when users access resources that require authentication. Defaults to `redirect`.",
683 "enum": [
683 "enum": [
684 "AUTH_FAIL_ACTION_UNSPECIFIED",
684 "AUTH_FAIL_ACTION_UNSPECIFIED",
685 "AUTH_FAIL_ACTION_REDIRECT",
685 "AUTH_FAIL_ACTION_REDIRECT",
@@ -688,7 +688,7 @@
688 },
688 },
689 "redirectHttpResponseCode": {
689 "redirectHttpResponseCode": {
690 "type": "string",
690 "type": "string",
691− "description": "`30x` code to use when performing redirects for the `secure` field. A `302` is used by default.",
691+ "description": "`30x` code to use when performing redirects for the `secure` field. Defaults to `302`.",
692 "enum": [
692 "enum": [
693 "REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED",
693 "REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED",
694 "REDIRECT_HTTP_RESPONSE_CODE_301",
694 "REDIRECT_HTTP_RESPONSE_CODE_301",
@@ -706,11 +706,11 @@
706 "properties": {
706 "properties": {
707 "path": {
707 "path": {
708 "type": "string",
708 "type": "string",
709− "description": "The path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern."
709+ "description": "Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern."
710 },
710 },
711 "uploadPathRegex": {
711 "uploadPathRegex": {
712 "type": "string",
712 "type": "string",
713− "description": "A regular expression that matches the file paths for all files that will be referenced by this handler."
713+ "description": "Regular expression that matches the file paths for all files that should be referenced by this handler."
714 },
714 },
715 "httpHeaders": {
715 "httpHeaders": {
716 "type": "object",
716 "type": "object",
@@ -721,19 +721,19 @@
721 },
721 },
722 "mimeType": {
722 "mimeType": {
723 "type": "string",
723 "type": "string",
724− "description": "If specified, all files served by this handler will be served using the specified MIME type. If not specified, the MIME type for a file will be derived from the file's filename extension."
724+ "description": "MIME type used to serve all files served by this handler. Defaults to file-specific MIME types, which are derived from each file's filename extension."
725 },
725 },
726 "expiration": {
726 "expiration": {
727 "type": "string",
727 "type": "string",
728− "description": "The length of time a static file served by this handler ought to be cached by web proxies and browsers."
728+ "description": "Time a static file served by this handler should be cached."
729 },
729 },
730 "requireMatchingFile": {
730 "requireMatchingFile": {
731 "type": "boolean",
731 "type": "boolean",
732− "description": "If true, this UrlMap entry does not match the request unless the file referenced by the handler also exists. If no such file exists, processing will continue with the next UrlMap that matches the requested URL."
732+ "description": "Whether this handler should match the request if the file referenced by the handler does not exist."
733 },
733 },
734 "applicationReadable": {
734 "applicationReadable": {
735 "type": "boolean",
735 "type": "boolean",
736− "description": "By default, files declared in static file handlers are uploaded as static data and are only served to end users, they cannot be read by an application. If this field is set to true, the files are also uploaded as code data so your application can read them. Both uploads are charged against your code and static data storage resource quotas."
736+ "description": "Whether files should also be uploaded as code data. By default, files declared in static file handlers are uploaded as static data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged against both your code and static data storage resource quotas."
737 }
737 }
738 }
738 }
739 },
739 },
@@ -744,29 +744,29 @@
744 "properties": {
744 "properties": {
745 "scriptPath": {
745 "scriptPath": {
746 "type": "string",
746 "type": "string",
747− "description": "Specifies the path to the script from the application root directory."
747+ "description": "Path to the script from the application root directory."
748 }
748 }
749 }
749 }
750 },
750 },
751 "ApiEndpointHandler": {
751 "ApiEndpointHandler": {
752 "id": "ApiEndpointHandler",
752 "id": "ApiEndpointHandler",
753 "type": "object",
753 "type": "object",
754− "description": "Use Google Cloud Endpoints to handle requests.",
754+ "description": "Uses Google Cloud Endpoints to handle requests.",
755 "properties": {
755 "properties": {
756 "scriptPath": {
756 "scriptPath": {
757 "type": "string",
757 "type": "string",
758− "description": "Specifies the path to the script from the application root directory."
758+ "description": "Path to the script from the application root directory."
759 }
759 }
760 }
760 }
761 },
761 },
762 "ErrorHandler": {
762 "ErrorHandler": {
763 "id": "ErrorHandler",
763 "id": "ErrorHandler",
764 "type": "object",
764 "type": "object",
765− "description": "A custom static error page to be served when an error occurs.",
765+ "description": "Custom static error page to be served when an error occurs.",
766 "properties": {
766 "properties": {
767 "errorCode": {
767 "errorCode": {
768 "type": "string",
768 "type": "string",
769− "description": "The error condition this handler applies to.",
769+ "description": "Error condition this handler applies to.",
770 "enum": [
770 "enum": [
771 "ERROR_CODE_UNSPECIFIED",
771 "ERROR_CODE_UNSPECIFIED",
772 "ERROR_CODE_DEFAULT",
772 "ERROR_CODE_DEFAULT",
@@ -781,33 +781,33 @@
781 },
781 },
782 "mimeType": {
782 "mimeType": {
783 "type": "string",
783 "type": "string",
784− "description": "MIME type of file. If unspecified, \"text/html\" is assumed."
784+ "description": "MIME type of file. Defaults to `text/html`."
785 }
785 }
786 }
786 }
787 },
787 },
788 "Library": {
788 "Library": {
789 "id": "Library",
789 "id": "Library",
790 "type": "object",
790 "type": "object",
791− "description": "A Python runtime third-party library required by the application.",
791+ "description": "Third-party Python runtime library that is required by the application.",
792 "properties": {
792 "properties": {
793 "name": {
793 "name": {
794 "type": "string",
794 "type": "string",
795− "description": "The name of the library, e.g. \"PIL\" or \"django\"."
795+ "description": "Name of the library. Example: \"django\"."
796 },
796 },
797 "version": {
797 "version": {
798 "type": "string",
798 "type": "string",
799− "description": "The version of the library to select, or \"latest\"."
799+ "description": "Version of the library to select, or \"latest\"."
800 }
800 }
801 }
801 }
802 },
802 },
803 "ApiConfigHandler": {
803 "ApiConfigHandler": {
804 "id": "ApiConfigHandler",
804 "id": "ApiConfigHandler",
805 "type": "object",
805 "type": "object",
806− "description": "API Serving configuration for Cloud Endpoints.",
806+ "description": "[Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/) configuration for API handlers.",
807 "properties": {
807 "properties": {
808 "authFailAction": {
808 "authFailAction": {
809 "type": "string",
809 "type": "string",
810− "description": "For users not logged in, how to handle access to resources with required login. Defaults to \"redirect\".",
810+ "description": "Action to take when users access resources that require authentication. Defaults to `redirect`.",
811 "enum": [
811 "enum": [
812 "AUTH_FAIL_ACTION_UNSPECIFIED",
812 "AUTH_FAIL_ACTION_UNSPECIFIED",
813 "AUTH_FAIL_ACTION_REDIRECT",
813 "AUTH_FAIL_ACTION_REDIRECT",
@@ -816,7 +816,7 @@
816 },
816 },
817 "login": {
817 "login": {
818 "type": "string",
818 "type": "string",
819− "description": "What level of login is required to access this resource. Default is \"optional\".",
819+ "description": "Level of login required to access this resource. Defaults to `optional`.",
820 "enum": [
820 "enum": [
821 "LOGIN_UNSPECIFIED",
821 "LOGIN_UNSPECIFIED",
822 "LOGIN_OPTIONAL",
822 "LOGIN_OPTIONAL",
@@ -826,11 +826,11 @@
826 },
826 },
827 "script": {
827 "script": {
828 "type": "string",
828 "type": "string",
829− "description": "Specifies the path to the script from the application root directory."
829+ "description": "Path to the script from the application root directory."
830 },
830 },
831 "securityLevel": {
831 "securityLevel": {
832 "type": "string",
832 "type": "string",
833− "description": "Configures whether security (HTTPS) should be enforced for this URL.",
833+ "description": "Security (HTTPS) enforcement for this URL.",
834 "enum": [
834 "enum": [
835 "SECURE_UNSPECIFIED",
835 "SECURE_UNSPECIFIED",
836 "SECURE_DEFAULT",
836 "SECURE_DEFAULT",
@@ -848,7 +848,7 @@
848 "HealthCheck": {
848 "HealthCheck": {
849 "id": "HealthCheck",
849 "id": "HealthCheck",
850 "type": "object",
850 "type": "object",
851− "description": "Configure health checking for the VM instances. Unhealthy VM instances will be killed and replaced with new instances.",
851+ "description": "Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances. Only applicable for instances in App Engine flexible environment.",
852 "properties": {
852 "properties": {
853 "disableHealthCheck": {
853 "disableHealthCheck": {
854 "type": "boolean",
854 "type": "boolean",
@@ -856,30 +856,30 @@
856 },
856 },
857 "host": {
857 "host": {
858 "type": "string",
858 "type": "string",
859− "description": "The host header to send when performing an HTTP health check (e.g. myapp.appspot.com)"
859+ "description": "Host header to send when performing an HTTP health check. Example: \"myapp.appspot.com\""
860 },
860 },
861 "healthyThreshold": {
861 "healthyThreshold": {
862 "type": "integer",
862 "type": "integer",
863− "description": "The number of consecutive successful health checks before receiving traffic.",
863+ "description": "Number of consecutive successful health checks required before receiving traffic.",
864 "format": "uint32"
864 "format": "uint32"
865 },
865 },
866 "unhealthyThreshold": {
866 "unhealthyThreshold": {
867 "type": "integer",
867 "type": "integer",
868− "description": "The number of consecutive failed health checks before removing traffic.",
868+ "description": "Number of consecutive failed health checks required before removing traffic.",
869 "format": "uint32"
869 "format": "uint32"
870 },
870 },
871 "restartThreshold": {
871 "restartThreshold": {
872 "type": "integer",
872 "type": "integer",
873− "description": "The number of consecutive failed health checks before an instance is restarted.",
873+ "description": "Number of consecutive failed health checks required before an instance is restarted.",
874 "format": "uint32"
874 "format": "uint32"
875 },
875 },
876 "checkInterval": {
876 "checkInterval": {
877 "type": "string",
877 "type": "string",
878− "description": "The interval between health checks."
878+ "description": "Interval between health checks."
879 },
879 },
880 "timeout": {
880 "timeout": {
881 "type": "string",
881 "type": "string",
882− "description": "The amount of time before the health check is considered failed."
882+ "description": "Time before the health check is considered failed."
883 }
883 }
884 }
884 }
885 },
885 },
@@ -890,18 +890,18 @@
890 "properties": {
890 "properties": {
891 "files": {
891 "files": {
892 "type": "object",
892 "type": "object",
893− "description": "A manifest of files stored in Google Cloud Storage which should be included as part of this application. All files must be readable using the credentials supplied with this call.",
893+ "description": "Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call.",
894 "additionalProperties": {
894 "additionalProperties": {
895 "$ref": "FileInfo"
895 "$ref": "FileInfo"
896 }
896 }
897 },
897 },
898 "container": {
898 "container": {
899 "$ref": "ContainerInfo",
899 "$ref": "ContainerInfo",
900− "description": "If supplied, a docker (container) image which should be used to start the application. Only applicable to the 'vm' runtime."
900+ "description": "A Docker image that App Engine uses the run the version. Only applicable for instances in App Engine flexible environment."
901 },
901 },
902 "sourceReferences": {
902 "sourceReferences": {
903 "type": "array",
903 "type": "array",
904− "description": "The origin of the source code for this deployment. There can be more than one source reference per Version if source code is distributed among multiple repositories.",
904+ "description": "Origin of the source code for this deployment. There can be more than one source reference per version if source code is distributed among multiple repositories.",
905 "items": {
905 "items": {
906 "$ref": "SourceReference"
906 "$ref": "SourceReference"
907 }
907 }
@@ -911,45 +911,45 @@
911 "FileInfo": {
911 "FileInfo": {
912 "id": "FileInfo",
912 "id": "FileInfo",
913 "type": "object",
913 "type": "object",
914− "description": "A single source file which is part of the application to be deployed.",
914+ "description": "Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately.",
915 "properties": {
915 "properties": {
916 "sourceUrl": {
916 "sourceUrl": {
917 "type": "string",
917 "type": "string",
918− "description": "The URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com/\\/\\'."
918+ "description": "URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com/\\/\\'."
919 },
919 },
920 "sha1Sum": {
920 "sha1Sum": {
921 "type": "string",
921 "type": "string",
922− "description": "The SHA1 (160 bits) hash of the file in hex."
922+ "description": "The SHA1 hash of the file, in hex."
923 },
923 },
924 "mimeType": {
924 "mimeType": {
925 "type": "string",
925 "type": "string",
926− "description": "The MIME type of the file; if unspecified, the value from Google Cloud Storage will be used."
926+ "description": "The MIME type of the file. Defaults to the value from Google Cloud Storage."
927 }
927 }
928 }
928 }
929 },
929 },
930 "ContainerInfo": {
930 "ContainerInfo": {
931 "id": "ContainerInfo",
931 "id": "ContainerInfo",
932 "type": "object",
932 "type": "object",
933− "description": "A Docker (container) image which should be used to start the application.",
933+ "description": "Docker image that is used to start a VM container for the version you deploy.",
934 "properties": {
934 "properties": {
935 "image": {
935 "image": {
936 "type": "string",
936 "type": "string",
937− "description": "Reference to a hosted container image. Must be a URI to a resource in a Docker repository. Must be fully qualified, including tag or digest. e.g. gcr.io/my-project/image:tag or gcr.io/my-project/image@digest"
937+ "description": "URI to the hosted container image in a Docker repository. The URI must be fully qualified and include a tag or digest. Examples: \"gcr.io/my-project/image:tag\" or \"gcr.io/my-project/image@digest\""
938 }
938 }
939 }
939 }
940 },
940 },
941 "SourceReference": {
941 "SourceReference": {
942 "id": "SourceReference",
942 "id": "SourceReference",
943 "type": "object",
943 "type": "object",
944− "description": "A reference to a particular snapshot of the source tree used to build and deploy the application.",
944+ "description": "Reference to a particular snapshot of the source tree used to build and deploy the application.",
945 "properties": {
945 "properties": {
946 "repository": {
946 "repository": {
947 "type": "string",
947 "type": "string",
948− "description": "Optional. A URI string identifying the repository. Example: \"https://source.developers.google.com/p/app-123/r/default\""
948+ "description": "URI string identifying the repository. Example: \"https://source.developers.google.com/p/app-123/r/default\""
949 },
949 },
950 "revisionId": {
950 "revisionId": {
951 "type": "string",
951 "type": "string",
952− "description": "The canonical (and persistent) identifier of the deployed revision, i.e. any kind of aliases including tags or branch names are not allowed. Example (git): \"2198322f89e0bb2e25021667c2ed489d1fd34e6b\""
952+ "description": "The canonical, persistent identifier of the deployed revision. Aliases that include tags or branch names are not allowed. Example (git): \"2198322f89e0bb2e25021667c2ed489d1fd34e6b\""
953 }
953 }
954 }
954 }
955 },
955 },
@@ -960,7 +960,7 @@
960 "properties": {
960 "properties": {
961 "versions": {
961 "versions": {
962 "type": "array",
962 "type": "array",
963− "description": "The versions belonging to the requested application service.",
963+ "description": "The versions belonging to the requested service.",
964 "items": {
964 "items": {
965 "$ref": "Version"
965 "$ref": "Version"
966 }
966 }
@@ -974,30 +974,30 @@
974 "Service": {
974 "Service": {
975 "id": "Service",
975 "id": "Service",
976 "type": "object",
976 "type": "object",
977− "description": "A service is a logical component of an application that can share state and communicate in a secure fashion with other services. For example, an application that handles customer requests might include separate services to handle other tasks such as API requests from mobile devices or backend data analysis. Each service has a collection of versions that define a specific set of code used to implement the functionality of that service.",
977+ "description": "A Service resource is a logical component of an application that can share state and communicate in a secure fashion with other services. For example, an application that handles customer requests might include separate services to handle other tasks such as API requests from mobile devices or backend data analysis. Each service has a collection of versions that define a specific set of code used to implement the functionality of that service.",
978 "properties": {
978 "properties": {
979 "name": {
979 "name": {
980 "type": "string",
980 "type": "string",
981− "description": "The full path to the Service resource in the API. Example: \"apps/myapp/services/default\" @OutputOnly"
981+ "description": "Full path to the Service resource in the API. Example: `apps/myapp/services/default`. @OutputOnly"
982 },
982 },
983 "id": {
983 "id": {
984 "type": "string",
984 "type": "string",
985− "description": "The relative name/path of the service within the application. Example: \"default\" @OutputOnly"
985+ "description": "Relative name of the service within the application. Example: `default`. @OutputOnly"
986 },
986 },
987 "split": {
987 "split": {
988 "$ref": "TrafficSplit",
988 "$ref": "TrafficSplit",
989− "description": "A mapping that defines fractional HTTP traffic diversion to different versions within the service."
989+ "description": "Mapping that defines fractional HTTP traffic diversion to different versions within the service."
990 }
990 }
991 }
991 }
992 },
992 },
993 "TrafficSplit": {
993 "TrafficSplit": {
994 "id": "TrafficSplit",
994 "id": "TrafficSplit",
995 "type": "object",
995 "type": "object",
996− "description": "Configuration for traffic splitting for versions within a single service. Traffic splitting allows traffic directed to the service to be assigned to one of several versions in a fractional way, enabling experiments and canarying new builds, for example.",
996+ "description": "Traffic routing configuration for versions within a single service. Traffic splits define how traffic directed to the service is assigned to versions.",
997 "properties": {
997 "properties": {
998 "shardBy": {
998 "shardBy": {
999 "type": "string",
999 "type": "string",
1000− "description": "Which mechanism should be used as a selector when choosing a version to send a request to. The traffic selection algorithm will be stable for either type until allocations are changed.",
1000+ "description": "Mechanism used to determine which version a request is sent to. The traffic selection algorithm will be stable for either type until allocations are changed.",
1001 "enum": [
1001 "enum": [
1002 "UNSPECIFIED",
1002 "UNSPECIFIED",
1003 "COOKIE",
1003 "COOKIE",
@@ -1006,7 +1006,7 @@
1006 },
1006 },
1007 "allocations": {
1007 "allocations": {
1008 "type": "object",
1008 "type": "object",
1009− "description": "Mapping from service version IDs within the service to fractional (0.000, 1] allocations of traffic for that version. Each version may only be specified once, but some versions in the service may not have any traffic allocation. Services that have traffic allocated in this field may not be deleted until the service is deleted, or their traffic allocation is removed. Allocations must sum to 1. Supports precision up to two decimal places for IP-based splits and up to three decimal places for cookie-based splits.",
1009+ "description": "Mapping from version IDs within the service to fractional (0.000, 1] allocations of traffic for that version. Each version can be specified only once, but some versions in the service may not have any traffic allocation. Services that have traffic allocated cannot be deleted until either the service is deleted or their traffic allocation is removed. Allocations must sum to 1. Up to two decimal place precision is supported for IP-based splits and up to three decimal places is supported for cookie-based splits.",
1010 "additionalProperties": {
1010 "additionalProperties": {
1011 "type": "number",
1011 "type": "number",
1012 "format": "double"
1012 "format": "double"
@@ -1032,44 +1032,26 @@
1032 }
1032 }
1033 }
1033 }
1034 },
1034 },
1035− "ListInstancesResponse": {
1036− "id": "ListInstancesResponse",
1037− "type": "object",
1038− "description": "Response message for `Instances.ListInstances`.",
1039− "properties": {
1040− "instances": {
1041− "type": "array",
1042− "description": "The instances belonging to the requested version.",
1043− "items": {
1044− "$ref": "Instance"
1045− }
1046− },
1047− "nextPageToken": {
1048− "type": "string",
1049− "description": "Continuation token for fetching the next page of results."
1050− }
1051− }
1052− },
1053 "Instance": {
1035 "Instance": {
1054 "id": "Instance",
1036 "id": "Instance",
1055 "type": "object",
1037 "type": "object",
1056− "description": "Instances are the computing units that App Engine uses to automatically scale an application.",
1038+ "description": "An Instance resource is the computing unit that App Engine uses to automatically scale an application.",
1057 "properties": {
1039 "properties": {
1058 "name": {
1040 "name": {
1059 "type": "string",
1041 "type": "string",
1060− "description": "The full path to the Instance resource in the API. Example: \"apps/myapp/services/default/versions/v1/instances/instance-1\" @OutputOnly"
1042+ "description": "Full path to the Instance resource in the API. Example: `apps/myapp/services/default/versions/v1/instances/instance-1`. @OutputOnly"
1061 },
1043 },
1062 "id": {
1044 "id": {
1063 "type": "string",
1045 "type": "string",
1064− "description": "The relative name/path of the instance within the version. Example: \"instance-1\" @OutputOnly"
1046+ "description": "Relative name of the instance within the version. Example: `instance-1`. @OutputOnly"
1065 },
1047 },
1066 "appEngineRelease": {
1048 "appEngineRelease": {
1067 "type": "string",
1049 "type": "string",
1068− "description": "The App Engine release the instance is running on. @OutputOnly"
1050+ "description": "App Engine release this instance is running on. @OutputOnly"
1069 },
1051 },
1070 "availability": {
1052 "availability": {
1071 "type": "string",
1053 "type": "string",
1072− "description": "Availability of instance. @OutputOnly",
1054+ "description": "Availability of the instance. @OutputOnly",
1073 "enum": [
1055 "enum": [
1074 "UNSPECIFIED",
1056 "UNSPECIFIED",
1075 "RESIDENT",
1057 "RESIDENT",
@@ -1078,52 +1060,123 @@
1078 },
1060 },
1079 "vmName": {
1061 "vmName": {
1080 "type": "string",
1062 "type": "string",
1081− "description": "For VMEngines instances, the name of GCE VM where the instance lives. @OutputOnly"
1063+ "description": "Name of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment. @OutputOnly"
1082 },
1064 },
1083 "vmZoneName": {
1065 "vmZoneName": {
1084 "type": "string",
1066 "type": "string",
1085− "description": "For VMEngines instances, the zone where the GCE VM is located. @OutputOnly"
1067+ "description": "Zone where the virtual machine is located. Only applicable for instances in App Engine flexible environment. @OutputOnly"
1086 },
1068 },
1087 "vmId": {
1069 "vmId": {
1088 "type": "string",
1070 "type": "string",
1089− "description": "For VMEngines instances, the GCE VM ID of the instance. @OutputOnly"
1071+ "description": "Virtual machine ID of this instance. Only applicable for instances in App Engine flexible environment. @OutputOnly"
1090 },
1072 },
1091 "startTimestamp": {
1073 "startTimestamp": {
1092 "type": "string",
1074 "type": "string",
1093− "description": "Time when instance was started. @OutputOnly"
1075+ "description": "Time that this instance was started. @OutputOnly"
1094 },
1076 },
1095 "requests": {
1077 "requests": {
1096 "type": "integer",
1078 "type": "integer",
1097− "description": "Number of requests (since the clone was started). @OutputOnly",
1079+ "description": "Number of requests since this instance was started. @OutputOnly",
1098 "format": "int32"
1080 "format": "int32"
1099 },
1081 },
1100 "errors": {
1082 "errors": {
1101 "type": "integer",
1083 "type": "integer",
1102− "description": "Number of errors since the instance was started. @OutputOnly",
1084+ "description": "Number of errors since this instance was started. @OutputOnly",
1103 "format": "uint32"
1085 "format": "uint32"
1104 },
1086 },
1105 "qps": {
1087 "qps": {
1106 "type": "number",
1088 "type": "number",
1107− "description": "QPS for this instance (averaged over the last minute). @OutputOnly",
1089+ "description": "Average queries per second (QPS) over the last minute. @OutputOnly",
1108 "format": "float"
1090 "format": "float"
1109 },
1091 },
1110 "averageLatency": {
1092 "averageLatency": {
1111 "type": "integer",
1093 "type": "integer",
1112− "description": "Latency in milliseconds (averaged over the last minute). @OutputOnly",
1094+ "description": "Average latency (ms) over the last minute. @OutputOnly",
1113 "format": "int32"
1095 "format": "int32"
1114 },
1096 },
1115 "memoryUsage": {
1097 "memoryUsage": {
1116 "type": "string",
1098 "type": "string",
1117− "description": "Memory usage (in bytes). @OutputOnly",
1099+ "description": "Total memory in use (bytes). @OutputOnly",
1118 "format": "int64"
1100 "format": "int64"
1119 },
1101 },
1120 "vmStatus": {
1102 "vmStatus": {
1121 "type": "string",
1103 "type": "string",
1122− "description": "For VMEngines instances, the status of GCE VM where the instance lives. @OutputOnly"
1104+ "description": "Status of the virtual machine where this instance lives. Only applicable for instances in App Engine flexible environment. @OutputOnly"
1123 },
1105 },
1124 "vmUnlocked": {
1106 "vmUnlocked": {
1125 "type": "boolean",
1107 "type": "boolean",
1126− "description": "For VMEngines instances, whether the instance has been unlocked. @OutputOnly"
1108+ "description": "Whether this instance is in debug mode. Only applicable for instances in App Engine flexible environment. @OutputOnly"
1109+ }
1110+ }
1111+ },
1112+ "ListInstancesResponse": {
1113+ "id": "ListInstancesResponse",
1114+ "type": "object",
1115+ "description": "Response message for `Instances.ListInstances`.",
1116+ "properties": {
1117+ "instances": {
1118+ "type": "array",
1119+ "description": "The instances belonging to the requested version.",
1120+ "items": {
1121+ "$ref": "Instance"
1122+ }
1123+ },
1124+ "nextPageToken": {
1125+ "type": "string",
1126+ "description": "Continuation token for fetching the next page of results."
1127+ }
1128+ }
1129+ },
1130+ "DebugInstanceRequest": {
1131+ "id": "DebugInstanceRequest",
1132+ "type": "object",
1133+ "description": "Request message for `Instances.DebugInstance`."
1134+ },
1135+ "ListLocationsResponse": {
1136+ "id": "ListLocationsResponse",
1137+ "type": "object",
1138+ "description": "The response message for LocationService.ListLocations.",
1139+ "properties": {
1140+ "locations": {
1141+ "type": "array",
1142+ "description": "A list of locations that matches the specified filter in the request.",
1143+ "items": {
1144+ "$ref": "Location"
1145+ }
1146+ },
1147+ "nextPageToken": {
1148+ "type": "string",
1149+ "description": "The standard List next-page token."
1150+ }
1151+ }
1152+ },
1153+ "Location": {
1154+ "id": "Location",
1155+ "type": "object",
1156+ "description": "A resource that represents Google Cloud Platform location.",
1157+ "properties": {
1158+ "name": {
1159+ "type": "string",
1160+ "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`"
1161+ },
1162+ "locationId": {
1163+ "type": "string",
1164+ "description": "The canonical id for this location. For example: `\"us-east1\"`."
1165+ },
1166+ "labels": {
1167+ "type": "object",
1168+ "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
1169+ "additionalProperties": {
1170+ "type": "string"
1171+ }
1172+ },
1173+ "metadata": {
1174+ "type": "object",
1175+ "description": "Service-specific metadata. For example the available capacity at the given location.",
1176+ "additionalProperties": {
1177+ "type": "any",
1178+ "description": "Properties of the object. Contains field @type with type URL."
1179+ }
1127 }
1180 }
1128 }
1181 }
1129 },
1182 },
@@ -1134,27 +1187,27 @@
1134 "properties": {
1187 "properties": {
1135 "operationType": {
1188 "operationType": {
1136 "type": "string",
1189 "type": "string",
1137− "description": "The type of the operation (deprecated, use method field instead). Example: \"create_version\". @OutputOnly"
1190+ "description": "Type of this operation. Deprecated, use method field instead. Example: \"create_version\". @OutputOnly"
1138 },
1191 },
1139 "insertTime": {
1192 "insertTime": {
1140 "type": "string",
1193 "type": "string",
1141− "description": "Timestamp that this operation was received. @OutputOnly"
1194+ "description": "Timestamp that this operation was created. @OutputOnly"
1142 },
1195 },
1143 "endTime": {
1196 "endTime": {
1144 "type": "string",
1197 "type": "string",
1145− "description": "Timestamp that this operation was completed. (Not present if the operation is still in progress.) @OutputOnly"
1198+ "description": "Timestamp that this operation completed. @OutputOnly"
1146 },
1199 },
1147 "user": {
1200 "user": {
1148 "type": "string",
1201 "type": "string",
1149− "description": "The user who requested this operation. @OutputOnly"
1202+ "description": "User who requested this operation. @OutputOnly"
1150 },
1203 },
1151 "target": {
1204 "target": {
1152 "type": "string",
1205 "type": "string",
1153− "description": "Resource that this operation is acting on. Example: \"apps/myapp/modules/default\". @OutputOnly"
1206+ "description": "Name of the resource that this operation is acting on. Example: `apps/myapp/modules/default`. @OutputOnly"
1154 },
1207 },
1155 "method": {
1208 "method": {
1156 "type": "string",
1209 "type": "string",
1157− "description": "API method name that initiated the operation. Example: \"google.appengine.v1beta4.Version.CreateVersion\". @OutputOnly"
1210+ "description": "API method that initiated this operation. Example: `google.appengine.v1beta4.Version.CreateVersion`. @OutputOnly"
1158 }
1211 }
1159 }
1212 }
1160 },
1213 },
@@ -1165,23 +1218,65 @@
1165 "properties": {
1218 "properties": {
1166 "method": {
1219 "method": {
1167 "type": "string",
1220 "type": "string",
1168− "description": "API method name that initiated the operation. Example: \"google.appengine.v1beta5.Version.CreateVersion\". @OutputOnly"
1221+ "description": "API method name that initiated this operation. Example: `google.appengine.v1beta5.Version.CreateVersion`. @OutputOnly"
1169 },
1222 },
1170 "insertTime": {
1223 "insertTime": {
1171 "type": "string",
1224 "type": "string",
1172− "description": "Timestamp that this operation was received. @OutputOnly"
1225+ "description": "Timestamp that this operation was created. @OutputOnly"
1173 },
1226 },
1174 "endTime": {
1227 "endTime": {
1175 "type": "string",
1228 "type": "string",
1176− "description": "Timestamp that this operation was completed. (Not present if the operation is still in progress.) @OutputOnly"
1229+ "description": "Timestamp that this operation completed. @OutputOnly"
1177 },
1230 },
1178 "user": {
1231 "user": {
1179 "type": "string",
1232 "type": "string",
1180− "description": "The user who requested this operation. @OutputOnly"
1233+ "description": "User who requested this operation. @OutputOnly"
1181 },
1234 },
1182 "target": {
1235 "target": {
1183 "type": "string",
1236 "type": "string",
1184− "description": "Resource that this operation is acting on. Example: \"apps/myapp/services/default\". @OutputOnly"
1237+ "description": "Name of the resource that this operation is acting on. Example: `apps/myapp/services/default`. @OutputOnly"
1238+ }
1239+ }
1240+ },
1241+ "OperationMetadataV1": {
1242+ "id": "OperationMetadataV1",
1243+ "type": "object",
1244+ "description": "Metadata for the given google.longrunning.Operation.",
1245+ "properties": {
1246+ "method": {
1247+ "type": "string",
1248+ "description": "API method that initiated this operation. Example: `google.appengine.v1.Versions.CreateVersion`. @OutputOnly"
1249+ },
1250+ "insertTime": {
1251+ "type": "string",
1252+ "description": "Time that this operation was created. @OutputOnly"
1253+ },
1254+ "endTime": {
1255+ "type": "string",
1256+ "description": "Time that this operation completed. @OutputOnly"
1257+ },
1258+ "user": {
1259+ "type": "string",
1260+ "description": "User who requested this operation. @OutputOnly"
1261+ },
1262+ "target": {
1263+ "type": "string",
1264+ "description": "Name of the resource that this operation is acting on. Example: `apps/myapp/services/default`. @OutputOnly"
1265+ }
1266+ }
1267+ },
1268+ "LocationMetadata": {
1269+ "id": "LocationMetadata",
1270+ "type": "object",
1271+ "description": "Metadata for the given google.cloud.location.Location.",
1272+ "properties": {
1273+ "standardEnvironmentAvailable": {
1274+ "type": "boolean",
1275+ "description": "App Engine Standard Environment is available in the given location. @OutputOnly"
1276+ },
1277+ "flexibleEnvironmentAvailable": {
1278+ "type": "boolean",
1279+ "description": "App Engine Flexible Environment is available in the given location. @OutputOnly"
1185 }
1280 }
1186 }
1281 }
1187 }
1282 }
@@ -1189,6 +1284,21 @@
1189 "resources": {
1284 "resources": {
1190 "apps": {
1285 "apps": {
1191 "methods": {
1286 "methods": {
1287+ "create": {
1288+ "id": "appengine.apps.create",
1289+ "path": "v1beta5/apps",
1290+ "httpMethod": "POST",
1291+ "description": "Creates an App Engine application for a Google Cloud Platform project. This requires a project that excludes an App Engine application. For details about creating a project without an application, see the [Google Cloud Resource Manager create project topic](https://cloud.google.com/resource-manager/docs/creating-project).",
1292+ "request": {
1293+ "$ref": "Application"
1294+ },
1295+ "response": {
1296+ "$ref": "Operation"
1297+ },
1298+ "scopes": [
1299+ "https://www.googleapis.com/auth/cloud-platform"
1300+ ]
1301+ },
1192 "get": {
1302 "get": {
1193 "id": "appengine.apps.get",
1303 "id": "appengine.apps.get",
1194 "path": "v1beta5/apps/{appsId}",
1304 "path": "v1beta5/apps/{appsId}",
@@ -1197,7 +1307,7 @@
1197 "parameters": {
1307 "parameters": {
1198 "appsId": {
1308 "appsId": {
1199 "type": "string",
1309 "type": "string",
1200− "description": "Part of `name`. Name of the application to get. For example: \"apps/myapp\".",
1310+ "description": "Part of `name`. Name of the application to get. Example: `apps/myapp`.",
1201 "required": true,
1311 "required": true,
1202 "location": "path"
1312 "location": "path"
1203 },
1313 },
@@ -1216,6 +1326,37 @@
1216 "scopes": [
1326 "scopes": [
1217 "https://www.googleapis.com/auth/cloud-platform"
1327 "https://www.googleapis.com/auth/cloud-platform"
1218 ]
1328 ]
1329+ },
1330+ "patch": {
1331+ "id": "appengine.apps.patch",
1332+ "path": "v1beta5/apps/{appsId}",
1333+ "httpMethod": "PATCH",
1334+ "description": "Updates application parameters.",
1335+ "parameters": {
1336+ "appsId": {
1337+ "type": "string",
1338+ "description": "Part of `name`. Name of the application to update. Example: `apps/myapp`.",
1339+ "required": true,
1340+ "location": "path"
1341+ },
1342+ "mask": {
1343+ "type": "string",
1344+ "description": "Standard field mask for the set of fields to be updated.",
1345+ "location": "query"
1346+ }
1347+ },
1348+ "parameterOrder": [
1349+ "appsId"
1350+ ],
1351+ "request": {
1352+ "$ref": "Application"
1353+ },
1354+ "response": {
1355+ "$ref": "Operation"
1356+ },
1357+ "scopes": [
1358+ "https://www.googleapis.com/auth/cloud-platform"
1359+ ]
1219 }
1360 }
1220 },
1361 },
1221 "resources": {
1362 "resources": {
@@ -1298,11 +1439,11 @@
1298 "id": "appengine.apps.services.delete",
1439 "id": "appengine.apps.services.delete",
1299 "path": "v1beta5/apps/{appsId}/services/{servicesId}",
1440 "path": "v1beta5/apps/{appsId}/services/{servicesId}",
1300 "httpMethod": "DELETE",
1441 "httpMethod": "DELETE",
1301− "description": "Deletes a service and all enclosed versions.",
1442+ "description": "Deletes the specified service and all enclosed versions.",
1302 "parameters": {
1443 "parameters": {
1303 "appsId": {
1444 "appsId": {
1304 "type": "string",
1445 "type": "string",
1305− "description": "Part of `name`. Name of the resource requested. For example: \"apps/myapp/services/default\".",
1446+ "description": "Part of `name`. Name of the resource requested. Example: `apps/myapp/services/default`.",
1306 "required": true,
1447 "required": true,
1307 "location": "path"
1448 "location": "path"
1308 },
1449 },
@@ -1328,11 +1469,11 @@
1328 "id": "appengine.apps.services.get",
1469 "id": "appengine.apps.services.get",
1329 "path": "v1beta5/apps/{appsId}/services/{servicesId}",
1470 "path": "v1beta5/apps/{appsId}/services/{servicesId}",
1330 "httpMethod": "GET",
1471 "httpMethod": "GET",
1331− "description": "Gets the current configuration of the service.",
1472+ "description": "Gets the current configuration of the specified service.",
1332 "parameters": {
1473 "parameters": {
1333 "appsId": {
1474 "appsId": {
1334 "type": "string",
1475 "type": "string",
1335− "description": "Part of `name`. Name of the resource requested. For example: \"apps/myapp/services/default\".",
1476+ "description": "Part of `name`. Name of the resource requested. Example: `apps/myapp/services/default`.",
1336 "required": true,
1477 "required": true,
1337 "location": "path"
1478 "location": "path"
1338 },
1479 },
@@ -1362,7 +1503,7 @@
1362 "parameters": {
1503 "parameters": {
1363 "appsId": {
1504 "appsId": {
1364 "type": "string",
1505 "type": "string",
1365− "description": "Part of `name`. Name of the resource requested. For example: \"apps/myapp\".",
1506+ "description": "Part of `name`. Name of the resource requested. Example: `apps/myapp`.",
1366 "required": true,
1507 "required": true,
1367 "location": "path"
1508 "location": "path"
1368 },
1509 },
@@ -1396,7 +1537,7 @@
1396 "parameters": {
1537 "parameters": {
1397 "appsId": {
1538 "appsId": {
1398 "type": "string",
1539 "type": "string",
1399− "description": "Part of `name`. Name of the resource to update. For example: \"apps/myapp/services/default\".",
1540+ "description": "Part of `name`. Name of the resource to update. Example: `apps/myapp/services/default`.",
1400 "required": true,
1541 "required": true,
1401 "location": "path"
1542 "location": "path"
1402 },
1543 },
@@ -1413,7 +1554,7 @@
1413 },
1554 },
1414 "migrateTraffic": {
1555 "migrateTraffic": {
1415 "type": "boolean",
1556 "type": "boolean",
1416− "description": "Whether to use Traffic Migration to shift traffic gradually. Traffic can only be migrated from a single version to another single version.",
1557+ "description": "Set to `true` to gradually shift traffic from one version to another single version. By default, traffic is shifted immediately. For gradual traffic migration, the target version must be located within instances that are configured for both [warmup requests](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services.versions#inboundservicetype) and [automatic scaling](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services.versions#automaticscaling). You must specify the [`shardBy`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services#shardby) field in the Service resource. Gradual traffic migration is not supported in the App Engine flexible environment. For examples, see [Migrating and Splitting Traffic](https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic).",
1417 "location": "query"
1558 "location": "query"
1418 }
1559 }
1419 },
1560 },
@@ -1439,7 +1580,7 @@
1439 "id": "appengine.apps.services.versions.create",
1580 "id": "appengine.apps.services.versions.create",
1440 "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions",
1581 "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions",
1441 "httpMethod": "POST",
1582 "httpMethod": "POST",
1442− "description": "Deploys new code and resource files to a version.",
1583+ "description": "Deploys new code and resource files to a new version.",
1443 "parameters": {
1584 "parameters": {
1444 "appsId": {
1585 "appsId": {
1445 "type": "string",
1586 "type": "string",
@@ -1476,7 +1617,7 @@
1476 "parameters": {
1617 "parameters": {
1477 "appsId": {
1618 "appsId": {
1478 "type": "string",
1619 "type": "string",
1479− "description": "Part of `name`. Name of the resource requested. For example: \"apps/myapp/services/default/versions/v1\".",
1620+ "description": "Part of `name`. Name of the resource requested. Example: `apps/myapp/services/default/versions/v1`.",
1480 "required": true,
1621 "required": true,
1481 "location": "path"
1622 "location": "path"
1482 },
1623 },
@@ -1509,11 +1650,11 @@
1509 "id": "appengine.apps.services.versions.get",
1650 "id": "appengine.apps.services.versions.get",
1510 "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}",
1651 "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}",
1511 "httpMethod": "GET",
1652 "httpMethod": "GET",
1512− "description": "Gets application deployment information.",
1653+ "description": "Gets the specified Version resource. By default, only a `BASIC_VIEW` will be returned. Specify the `FULL_VIEW` parameter to get the full resource.",
1513 "parameters": {
1654 "parameters": {
1514 "appsId": {
1655 "appsId": {
1515 "type": "string",
1656 "type": "string",
1516− "description": "Part of `name`. Name of the resource requested. For example: \"apps/myapp/services/default/versions/v1\".",
1657+ "description": "Part of `name`. Name of the resource requested. Example: `apps/myapp/services/default/versions/v1`.",
1517 "required": true,
1658 "required": true,
1518 "location": "path"
1659 "location": "path"
1519 },
1660 },
@@ -1559,7 +1700,7 @@
1559 "parameters": {
1700 "parameters": {
1560 "appsId": {
1701 "appsId": {
1561 "type": "string",
1702 "type": "string",
1562− "description": "Part of `name`. Name of the resource requested. For example: \"apps/myapp/services/default\".",
1703+ "description": "Part of `name`. Name of the resource requested. Example: `apps/myapp/services/default`.",
1563 "required": true,
1704 "required": true,
1564 "location": "path"
1705 "location": "path"
1565 },
1706 },
@@ -1605,11 +1746,11 @@
1605 "id": "appengine.apps.services.versions.patch",
1746 "id": "appengine.apps.services.versions.patch",
1606 "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}",
1747 "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}",
1607 "httpMethod": "PATCH",
1748 "httpMethod": "PATCH",
1608− "description": "Updates an existing version. Note: UNIMPLEMENTED.",
1749+ "description": "Updates the specified Version resource. You can specify the following fields depending on the App Engine environment and type of scaling that the version resource uses: * [`serving_status`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services.versions#Version.FIELDS.serving_status): For Version resources that use basic scaling, manual scaling, or run in the App Engine flexible environment. * [`instance_class`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services.versions#Version.FIELDS.instance_class): For Version resources that run in the App Engine standard environment. * [`automatic_scaling.min_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment. * [`automatic_scaling.max_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services.versions#Version.FIELDS.automatic_scaling): For Version resources that use automatic scaling and run in the App Engine standard environment.",
1609 "parameters": {
1750 "parameters": {
1610 "appsId": {
1751 "appsId": {
1611 "type": "string",
1752 "type": "string",
1612− "description": "Part of `name`. Name of the resource to update. For example: \"apps/myapp/services/default/versions/1\".",
1753+ "description": "Part of `name`. Name of the resource to update. Example: `apps/myapp/services/default/versions/1`.",
1613 "required": true,
1754 "required": true,
1614 "location": "path"
1755 "location": "path"
1615 },
1756 },
@@ -1650,6 +1791,94 @@
1650 "resources": {
1791 "resources": {
1651 "instances": {
1792 "instances": {
1652 "methods": {
1793 "methods": {
1794+ "delete": {
1795+ "id": "appengine.apps.services.versions.instances.delete",
1796+ "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}",
1797+ "httpMethod": "DELETE",
1798+ "description": "Stops a running instance.",
1799+ "parameters": {
1800+ "appsId": {
1801+ "type": "string",
1802+ "description": "Part of `name`. Name of the resource requested. For example: \"apps/myapp/services/default/versions/v1/instances/instance-1\".",
1803+ "required": true,
1804+ "location": "path"
1805+ },
1806+ "servicesId": {
1807+ "type": "string",
1808+ "description": "Part of `name`. See documentation of `appsId`.",
1809+ "required": true,
1810+ "location": "path"
1811+ },
1812+ "versionsId": {
1813+ "type": "string",
1814+ "description": "Part of `name`. See documentation of `appsId`.",
1815+ "required": true,
1816+ "location": "path"
1817+ },
1818+ "instancesId": {
1819+ "type": "string",
1820+ "description": "Part of `name`. See documentation of `appsId`.",
1821+ "required": true,
1822+ "location": "path"
1823+ }
1824+ },
1825+ "parameterOrder": [
1826+ "appsId",
1827+ "servicesId",
1828+ "versionsId",
1829+ "instancesId"
1830+ ],
1831+ "response": {
1832+ "$ref": "Operation"
1833+ },
1834+ "scopes": [
1835+ "https://www.googleapis.com/auth/cloud-platform"
1836+ ]
1837+ },
1838+ "get": {
1839+ "id": "appengine.apps.services.versions.instances.get",
1840+ "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}",
1841+ "httpMethod": "GET",
1842+ "description": "Gets instance information.",
1843+ "parameters": {
1844+ "appsId": {
1845+ "type": "string",
1846+ "description": "Part of `name`. Name of the resource requested. Example: `apps/myapp/services/default/versions/v1/instances/instance-1`.",
1847+ "required": true,
1848+ "location": "path"
1849+ },
1850+ "servicesId": {
1851+ "type": "string",
1852+ "description": "Part of `name`. See documentation of `appsId`.",
1853+ "required": true,
1854+ "location": "path"
1855+ },
1856+ "versionsId": {
1857+ "type": "string",
1858+ "description": "Part of `name`. See documentation of `appsId`.",
1859+ "required": true,
1860+ "location": "path"
1861+ },
1862+ "instancesId": {
1863+ "type": "string",
1864+ "description": "Part of `name`. See documentation of `appsId`.",
1865+ "required": true,
1866+ "location": "path"
1867+ }
1868+ },
1869+ "parameterOrder": [
1870+ "appsId",
1871+ "servicesId",
1872+ "versionsId",
1873+ "instancesId"
1874+ ],
1875+ "response": {
1876+ "$ref": "Instance"
1877+ },
1878+ "scopes": [
1879+ "https://www.googleapis.com/auth/cloud-platform"
1880+ ]
1881+ },
1653 "list": {
1882 "list": {
1654 "id": "appengine.apps.services.versions.instances.list",
1883 "id": "appengine.apps.services.versions.instances.list",
1655 "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances",
1884 "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances",
@@ -1658,7 +1887,7 @@
1658 "parameters": {
1887 "parameters": {
1659 "appsId": {
1888 "appsId": {
1660 "type": "string",
1889 "type": "string",
1661− "description": "Part of `name`. Name of the resource requested. For example: \"apps/myapp/services/default/versions/v1\".",
1890+ "description": "Part of `name`. Name of the resource requested. Example: `apps/myapp/services/default/versions/v1`.",
1662 "required": true,
1891 "required": true,
1663 "location": "path"
1892 "location": "path"
1664 },
1893 },
@@ -1697,12 +1926,132 @@
1697 "scopes": [
1926 "scopes": [
1698 "https://www.googleapis.com/auth/cloud-platform"
1927 "https://www.googleapis.com/auth/cloud-platform"
1699 ]
1928 ]
1929+ },
1930+ "debug": {
1931+ "id": "appengine.apps.services.versions.instances.debug",
1932+ "path": "v1beta5/apps/{appsId}/services/{servicesId}/versions/{versionsId}/instances/{instancesId}:debug",
1933+ "httpMethod": "POST",
1934+ "description": "Enables debugging on a VM instance. This allows you to use the SSH command to connect to the virtual machine where the instance lives. While in \"debug mode\", the instance continues to serve live traffic. You should delete the instance when you are done debugging and then allow the system to take over and determine if another instance should be started. Only applicable for instances in App Engine flexible environment.",
1935+ "parameters": {
1936+ "appsId": {
1937+ "type": "string",
1938+ "description": "Part of `name`. Name of the resource requested. Example: `apps/myapp/services/default/versions/v1/instances/instance-1`.",
1939+ "required": true,
1940+ "location": "path"
1941+ },
1942+ "servicesId": {
1943+ "type": "string",
1944+ "description": "Part of `name`. See documentation of `appsId`.",
1945+ "required": true,
1946+ "location": "path"
1947+ },
1948+ "versionsId": {
1949+ "type": "string",
1950+ "description": "Part of `name`. See documentation of `appsId`.",
1951+ "required": true,
1952+ "location": "path"
1953+ },
1954+ "instancesId": {
1955+ "type": "string",
1956+ "description": "Part of `name`. See documentation of `appsId`.",
1957+ "required": true,
1958+ "location": "path"
1959+ }
1960+ },
1961+ "parameterOrder": [
1962+ "appsId",
1963+ "servicesId",
1964+ "versionsId",
1965+ "instancesId"
1966+ ],
1967+ "request": {
1968+ "$ref": "DebugInstanceRequest"
1969+ },
1970+ "response": {
1971+ "$ref": "Operation"
1972+ },
1973+ "scopes": [
1974+ "https://www.googleapis.com/auth/cloud-platform"
1975+ ]
1700 }
1976 }
1701 }
1977 }
1702 }
1978 }
1703 }
1979 }
1704 }
1980 }
1705 }
1981 }
1982+ },
1983+ "locations": {
1984+ "methods": {
1985+ "list": {
1986+ "id": "appengine.apps.locations.list",
1987+ "path": "v1beta5/apps/{appsId}/locations",
1988+ "httpMethod": "GET",
1989+ "description": "Lists information about the supported locations for this service.",
1990+ "parameters": {
1991+ "appsId": {
1992+ "type": "string",
1993+ "description": "Part of `name`. The resource that owns the locations collection, if applicable.",
1994+ "required": true,
1995+ "location": "path"
1996+ },
1997+ "filter": {
1998+ "type": "string",
1999+ "description": "The standard list filter.",
2000+ "location": "query"
2001+ },
2002+ "pageSize": {
2003+ "type": "integer",
2004+ "description": "The standard list page size.",
2005+ "format": "int32",
2006+ "location": "query"
2007+ },
2008+ "pageToken": {
2009+ "type": "string",
2010+ "description": "The standard list page token.",
2011+ "location": "query"
2012+ }
2013+ },
2014+ "parameterOrder": [
2015+ "appsId"
2016+ ],
2017+ "response": {
2018+ "$ref": "ListLocationsResponse"
2019+ },
2020+ "scopes": [
2021+ "https://www.googleapis.com/auth/cloud-platform"
2022+ ]
2023+ },
2024+ "get": {
2025+ "id": "appengine.apps.locations.get",
2026+ "path": "v1beta5/apps/{appsId}/locations/{locationsId}",
2027+ "httpMethod": "GET",
2028+ "description": "Get information about a location.",
2029+ "parameters": {
2030+ "appsId": {
2031+ "type": "string",
2032+ "description": "Part of `name`. Resource name for the location.",
2033+ "required": true,
2034+ "location": "path"
2035+ },
2036+ "locationsId": {
2037+ "type": "string",
2038+ "description": "Part of `name`. See documentation of `appsId`.",
2039+ "required": true,
2040+ "location": "path"
2041+ }
2042+ },
2043+ "parameterOrder": [
2044+ "appsId",
2045+ "locationsId"
2046+ ],
2047+ "response": {
2048+ "$ref": "Location"
2049+ },
2050+ "scopes": [
2051+ "https://www.googleapis.com/auth/cloud-platform"
2052+ ]
2053+ }
2054+ }
1706 }
2055 }
1707 }
2056 }
1708 }
2057 }
gen/model/bigquery/v2/bigquery-api.json+183−10
@@ -1,11 +1,11 @@
1{
1{
2 "kind": "discovery#restDescription",
2 "kind": "discovery#restDescription",
3− "etag": "\"jQLIOHBVnDZie4rQHGH1WJF-INE/xJN8TIpPcg1NGIZr6unBuM4TVZg\"",
3+ "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/v5KMn4eNX1u6f2QZ4MK3wTA9qok\"",
4 "discoveryVersion": "v1",
4 "discoveryVersion": "v1",
5 "id": "bigquery:v2",
5 "id": "bigquery:v2",
6 "name": "bigquery",
6 "name": "bigquery",
7 "version": "v2",
7 "version": "v2",
8− "revision": "20160511",
8+ "revision": "20161016",
9 "title": "BigQuery API",
9 "title": "BigQuery API",
10 "description": "A data platform for customers to create, manage, share and query data.",
10 "description": "A data platform for customers to create, manage, share and query data.",
11 "ownerDomain": "google.com",
11 "ownerDomain": "google.com",
@@ -27,11 +27,9 @@
27 "description": "Data format for the response.",
27 "description": "Data format for the response.",
28 "default": "json",
28 "default": "json",
29 "enum": [
29 "enum": [
30− "csv",
31 "json"
30 "json"
32 ],
31 ],
33 "enumDescriptions": [
32 "enumDescriptions": [
34− "Responses with Content-Type of text/csv",
35 "Responses with Content-Type of application/json"
33 "Responses with Content-Type of application/json"
36 ],
34 ],
37 "location": "query"
35 "location": "query"
@@ -122,7 +120,7 @@
122 },
120 },
123 "type": {
121 "type": {
124 "type": "string",
122 "type": "string",
125− "description": "[Optional] The type to convert the value in cells of this column. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Defaut type is BYTES. 'type' can also be set at the column family level. However, the setting at this level takes precedence if 'type' is set at both levels."
123+ "description": "[Optional] The type to convert the value in cells of this column. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Default type is BYTES. 'type' can also be set at the column family level. However, the setting at this level takes precedence if 'type' is set at both levels."
126 }
124 }
127 }
125 }
128 },
126 },
@@ -151,7 +149,7 @@
151 },
149 },
152 "type": {
150 "type": {
153 "type": "string",
151 "type": "string",
154− "description": "[Optional] The type to convert the value in cells of this column family. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Defaut type is BYTES. This can be overridden for a specific column by listing that column in 'columns' and specifying a type for it."
152+ "description": "[Optional] The type to convert the value in cells of this column family. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Default type is BYTES. This can be overridden for a specific column by listing that column in 'columns' and specifying a type for it."
155 }
153 }
156 }
154 }
157 },
155 },
@@ -169,6 +167,10 @@
169 "ignoreUnspecifiedColumnFamilies": {
167 "ignoreUnspecifiedColumnFamilies": {
170 "type": "boolean",
168 "type": "boolean",
171 "description": "[Optional] If field is true, then the column families that are not specified in columnFamilies list are not exposed in the table schema. Otherwise, they are read with BYTES type values. The default value is false."
169 "description": "[Optional] If field is true, then the column families that are not specified in columnFamilies list are not exposed in the table schema. Otherwise, they are read with BYTES type values. The default value is false."
170+ },
171+ "readRowkeyAsString": {
172+ "type": "boolean",
173+ "description": "[Optional] If field is true, then the rowkey column families will be read and converted to string. Otherwise they are read with BYTES type values and users need to manually cast them with CAST if necessary. The default value is false."
172 }
174 }
173 }
175 }
174 },
176 },
@@ -277,6 +279,13 @@
277 "description": "[Output-only] The resource type.",
279 "description": "[Output-only] The resource type.",
278 "default": "bigquery#dataset"
280 "default": "bigquery#dataset"
279 },
281 },
282+ "labels": {
283+ "type": "object",
284+ "description": "[Experimental] The labels associated with this dataset. You can use these to organize and group your datasets. You can set this property when inserting or updating a dataset. See Labeling Datasets for more information.",
285+ "additionalProperties": {
286+ "type": "string"
287+ }
288+ },
280 "lastModifiedTime": {
289 "lastModifiedTime": {
281 "type": "string",
290 "type": "string",
282 "description": "[Output-only] The date when this dataset or any of its tables was last modified, in milliseconds since the epoch.",
291 "description": "[Output-only] The date when this dataset or any of its tables was last modified, in milliseconds since the epoch.",
@@ -318,6 +327,13 @@
318 "type": "string",
327 "type": "string",
319 "description": "The resource type. This property always returns the value \"bigquery#dataset\".",
328 "description": "The resource type. This property always returns the value \"bigquery#dataset\".",
320 "default": "bigquery#dataset"
329 "default": "bigquery#dataset"
330+ },
331+ "labels": {
332+ "type": "object",
333+ "description": "[Experimental] The labels associated with this dataset. You can use these to organize and group your datasets.",
334+ "additionalProperties": {
335+ "type": "string"
336+ }
321 }
337 }
322 }
338 }
323 }
339 }
@@ -554,6 +570,11 @@
554 "description": "The resource type of the response.",
570 "description": "The resource type of the response.",
555 "default": "bigquery#getQueryResultsResponse"
571 "default": "bigquery#getQueryResultsResponse"
556 },
572 },
573+ "numDmlAffectedRows": {
574+ "type": "string",
575+ "description": "[Output-only, Experimental] The number of rows affected by a DML statement. Present only for DML statements INSERT, UPDATE or DELETE.",
576+ "format": "int64"
577+ },
557 "pageToken": {
578 "pageToken": {
558 "type": "string",
579 "type": "string",
559 "description": "A token used for paging results."
580 "description": "A token used for paging results."
@@ -666,6 +687,13 @@
666 "$ref": "JobConfigurationExtract",
687 "$ref": "JobConfigurationExtract",
667 "description": "[Pick one] Configures an extract job."
688 "description": "[Pick one] Configures an extract job."
668 },
689 },
690+ "labels": {
691+ "type": "object",
692+ "description": "[Experimental] The labels associated with this job. You can use these to organize and group your jobs. Label keys and values can be no longer than 63 characters, can only contain letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter and must be unique within a dataset. Both keys and values are additionally constrained to be \u003c= 128 bytes in size.",
693+ "additionalProperties": {
694+ "type": "string"
695+ }
696+ },
669 "load": {
697 "load": {
670 "$ref": "JobConfigurationLoad",
698 "$ref": "JobConfigurationLoad",
671 "description": "[Pick one] Configures a load job."
699 "description": "[Pick one] Configures a load job."
@@ -780,6 +808,13 @@
780 "type": "string",
808 "type": "string",
781 "description": "[Deprecated] The format of the schemaInline property."
809 "description": "[Deprecated] The format of the schemaInline property."
782 },
810 },
811+ "schemaUpdateOptions": {
812+ "type": "array",
813+ "description": "[Experimental] Allows the schema of the desitination table to be updated as a side effect of the load job. Schema update options are supported in two cases: when writeDisposition is WRITE_APPEND; when writeDisposition is WRITE_TRUNCATE and the destination table is a partition of a table, specified by partition decorators. For normal tables, WRITE_TRUNCATE will always overwrite the schema. One or more of the following values are specified: ALLOW_FIELD_ADDITION: allow adding a nullable field to the schema. ALLOW_FIELD_RELAXATION: allow relaxing a required field in the original schema to nullable.",
814+ "items": {
815+ "type": "string"
816+ }
817+ },
783 "skipLeadingRows": {
818 "skipLeadingRows": {
784 "type": "integer",
819 "type": "integer",
785 "description": "[Optional] The number of rows at the top of a CSV file that BigQuery will skip when loading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped.",
820 "description": "[Optional] The number of rows at the top of a CSV file that BigQuery will skip when loading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped.",
@@ -833,6 +868,15 @@
833 "default": "1",
868 "default": "1",
834 "format": "int32"
869 "format": "int32"
835 },
870 },
871+ "maximumBytesBilled": {
872+ "type": "string",
873+ "description": "[Optional] Limits the bytes billed for this job. Queries that will have bytes billed beyond this limit will fail (without incurring a charge). If unspecified, this will be set to your project default.",
874+ "format": "int64"
875+ },
876+ "parameterMode": {
877+ "type": "string",
878+ "description": "[Experimental] Standard SQL only. Whether to use positional (?) or named (@myparam) query parameters in this query."
879+ },
836 "preserveNulls": {
880 "preserveNulls": {
837 "type": "boolean",
881 "type": "boolean",
838 "description": "[Deprecated] This property is deprecated."
882 "description": "[Deprecated] This property is deprecated."
@@ -845,6 +889,20 @@
845 "type": "string",
889 "type": "string",
846 "description": "[Required] BigQuery SQL query to execute."
890 "description": "[Required] BigQuery SQL query to execute."
847 },
891 },
892+ "queryParameters": {
893+ "type": "array",
894+ "description": "Query parameters for standard SQL queries.",
895+ "items": {
896+ "$ref": "QueryParameter"
897+ }
898+ },
899+ "schemaUpdateOptions": {
900+ "type": "array",
901+ "description": "[Experimental] Allows the schema of the destination table to be updated as a side effect of the query job. Schema update options are supported in two cases: when writeDisposition is WRITE_APPEND; when writeDisposition is WRITE_TRUNCATE and the destination table is a partition of a table, specified by partition decorators. For normal tables, WRITE_TRUNCATE will always overwrite the schema. One or more of the following values are specified: ALLOW_FIELD_ADDITION: allow adding a nullable field to the schema. ALLOW_FIELD_RELAXATION: allow relaxing a required field in the original schema to nullable.",
902+ "items": {
903+ "type": "string"
904+ }
905+ },
848 "tableDefinitions": {
906 "tableDefinitions": {
849 "type": "object",
907 "type": "object",
850 "description": "[Optional] If querying an external data source outside of BigQuery, describes the data format, location and other properties of the data source. By defining these properties, the data source can then be queried as if it were a standard BigQuery table.",
908 "description": "[Optional] If querying an external data source outside of BigQuery, describes the data format, location and other properties of the data source. By defining these properties, the data source can then be queried as if it were a standard BigQuery table.",
@@ -1043,9 +1101,14 @@
1043 "type": "boolean",
1101 "type": "boolean",
1044 "description": "[Output-only] Whether the query result was fetched from the query cache."
1102 "description": "[Output-only] Whether the query result was fetched from the query cache."
1045 },
1103 },
1104+ "numDmlAffectedRows": {
1105+ "type": "string",
1106+ "description": "[Output-only, Experimental] The number of rows affected by a DML statement. Present only for DML statements INSERT, UPDATE or DELETE.",
1107+ "format": "int64"
1108+ },
1046 "queryPlan": {
1109 "queryPlan": {
1047 "type": "array",
1110 "type": "array",
1048− "description": "[Output-only, Experimental] Describes execution plan for the query as a list of stages.",
1111+ "description": "[Output-only, Experimental] Describes execution plan for the query.",
1049 "items": {
1112 "items": {
1050 "$ref": "ExplainQueryStage"
1113 "$ref": "ExplainQueryStage"
1051 }
1114 }
@@ -1070,6 +1133,13 @@
1070 "type": "string",
1133 "type": "string",
1071 "description": "[Output-only] Total bytes processed for the job.",
1134 "description": "[Output-only] Total bytes processed for the job.",
1072 "format": "int64"
1135 "format": "int64"
1136+ },
1137+ "undeclaredQueryParameters": {
1138+ "type": "array",
1139+ "description": "[Output-only, Experimental] Standard SQL only: list of undeclared query parameters detected during a dry run validation.",
1140+ "items": {
1141+ "$ref": "QueryParameter"
1142+ }
1073 }
1143 }
1074 }
1144 }
1075 },
1145 },
@@ -1211,6 +1281,83 @@
1211 }
1281 }
1212 }
1282 }
1213 },
1283 },
1284+ "QueryParameter": {
1285+ "id": "QueryParameter",
1286+ "type": "object",
1287+ "properties": {
1288+ "name": {
1289+ "type": "string",
1290+ "description": "[Optional] If unset, this is a positional parameter. Otherwise, should be unique within a query."
1291+ },
1292+ "parameterType": {
1293+ "$ref": "QueryParameterType",
1294+ "description": "[Required] The type of this parameter."
1295+ },
1296+ "parameterValue": {
1297+ "$ref": "QueryParameterValue",
1298+ "description": "[Required] The value of this parameter."
1299+ }
1300+ }
1301+ },
1302+ "QueryParameterType": {
1303+ "id": "QueryParameterType",
1304+ "type": "object",
1305+ "properties": {
1306+ "arrayType": {
1307+ "$ref": "QueryParameterType",
1308+ "description": "[Optional] The type of the array's elements, if this is an array."
1309+ },
1310+ "structTypes": {
1311+ "type": "array",
1312+ "description": "[Optional] The types of the fields of this struct, in order, if this is a struct.",
1313+ "items": {
1314+ "type": "object",
1315+ "properties": {
1316+ "description": {
1317+ "type": "string",
1318+ "description": "[Optional] Human-oriented description of the field."
1319+ },
1320+ "name": {
1321+ "type": "string",
1322+ "description": "[Optional] The name of this field."
1323+ },
1324+ "type": {
1325+ "$ref": "QueryParameterType",
1326+ "description": "[Required] The type of this field."
1327+ }
1328+ }
1329+ }
1330+ },
1331+ "type": {
1332+ "type": "string",
1333+ "description": "[Required] The top level type of this field."
1334+ }
1335+ }
1336+ },
1337+ "QueryParameterValue": {
1338+ "id": "QueryParameterValue",
1339+ "type": "object",
1340+ "properties": {
1341+ "arrayValues": {
1342+ "type": "array",
1343+ "description": "[Optional] The array values, if this is an array type.",
1344+ "items": {
1345+ "$ref": "QueryParameterValue"
1346+ }
1347+ },
1348+ "structValues": {
1349+ "type": "object",
1350+ "description": "[Optional] The struct field values, in order of the struct type's declaration.",
1351+ "additionalProperties": {
1352+ "$ref": "QueryParameterValue"
1353+ }
1354+ },
1355+ "value": {
1356+ "type": "string",
1357+ "description": "[Optional] The value of this value, if a simple scalar type."
1358+ }
1359+ }
1360+ },
1214 "QueryRequest": {
1361 "QueryRequest": {
1215 "id": "QueryRequest",
1362 "id": "QueryRequest",
1216 "type": "object",
1363 "type": "object",
@@ -1233,6 +1380,10 @@
1233 "description": "[Optional] The maximum number of rows of data to return per page of results. Setting this flag to a small value such as 1000 and then paging through results might improve reliability when the query result set is large. In addition to this limit, responses are also limited to 10 MB. By default, there is no maximum row count, and only the byte limit applies.",
1380 "description": "[Optional] The maximum number of rows of data to return per page of results. Setting this flag to a small value such as 1000 and then paging through results might improve reliability when the query result set is large. In addition to this limit, responses are also limited to 10 MB. By default, there is no maximum row count, and only the byte limit applies.",
1234 "format": "uint32"
1381 "format": "uint32"
1235 },
1382 },
1383+ "parameterMode": {
1384+ "type": "string",
1385+ "description": "[Experimental] Standard SQL only. Whether to use positional (?) or named (@myparam) query parameters in this query."
1386+ },
1236 "preserveNulls": {
1387 "preserveNulls": {
1237 "type": "boolean",
1388 "type": "boolean",
1238 "description": "[Deprecated] This property is deprecated."
1389 "description": "[Deprecated] This property is deprecated."
@@ -1246,6 +1397,13 @@
1246 ]
1397 ]
1247 }
1398 }
1248 },
1399 },
1400+ "queryParameters": {
1401+ "type": "array",
1402+ "description": "[Experimental] Query parameters for Standard SQL queries.",
1403+ "items": {
1404+ "$ref": "QueryParameter"
1405+ }
1406+ },
1249 "timeoutMs": {
1407 "timeoutMs": {
1250 "type": "integer",
1408 "type": "integer",
1251 "description": "[Optional] How long to wait for the query to complete, in milliseconds, before the request times out and returns. Note that this is only a timeout for the request, not the query. If the query takes longer to run than the timeout value, the call returns without any results and with the 'jobComplete' flag set to false. You can call GetQueryResults() to wait for the query to complete and read the results. The default value is 10000 milliseconds (10 seconds).",
1409 "description": "[Optional] How long to wait for the query to complete, in milliseconds, before the request times out and returns. Note that this is only a timeout for the request, not the query. If the query takes longer to run than the timeout value, the call returns without any results and with the 'jobComplete' flag set to false. You can call GetQueryResults() to wait for the query to complete and read the results. The default value is 10000 milliseconds (10 seconds).",
@@ -1253,7 +1411,8 @@
1253 },
1411 },
1254 "useLegacySql": {
1412 "useLegacySql": {
1255 "type": "boolean",
1413 "type": "boolean",
1256− "description": "[Experimental] Specifies whether to use BigQuery's legacy SQL dialect for this query. The default value is true. If set to false, the query will use BigQuery's standard SQL: https://cloud.google.com/bigquery/sql-reference/ When useLegacySql is set to false, the values of allowLargeResults and flattenResults are ignored; query will be run as if allowLargeResults is true and flattenResults is false."
1414+ "description": "[Experimental] Specifies whether to use BigQuery's legacy SQL dialect for this query. The default value is true. If set to false, the query will use BigQuery's standard SQL: https://cloud.google.com/bigquery/sql-reference/ When useLegacySql is set to false, the values of allowLargeResults and flattenResults are ignored; query will be run as if allowLargeResults is true and flattenResults is false.",
1415+ "default": "true"
1257 },
1416 },
1258 "useQueryCache": {
1417 "useQueryCache": {
1259 "type": "boolean",
1418 "type": "boolean",
@@ -1290,6 +1449,11 @@
1290 "description": "The resource type.",
1449 "description": "The resource type.",
1291 "default": "bigquery#queryResponse"
1450 "default": "bigquery#queryResponse"
1292 },
1451 },
1452+ "numDmlAffectedRows": {
1453+ "type": "string",
1454+ "description": "[Output-only, Experimental] The number of rows affected by a DML statement. Present only for DML statements INSERT, UPDATE or DELETE.",
1455+ "format": "int64"
1456+ },
1293 "pageToken": {
1457 "pageToken": {
1294 "type": "string",
1458 "type": "string",
1295 "description": "A token used for paging results."
1459 "description": "A token used for paging results."
@@ -1568,7 +1732,7 @@
1568 },
1732 },
1569 "type": {
1733 "type": {
1570 "type": "string",
1734 "type": "string",
1571− "description": "[Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema)."
1735+ "description": "[Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP, DATE, TIME, DATETIME, or RECORD (where RECORD indicates that the field contains a nested schema)."
1572 }
1736 }
1573 }
1737 }
1574 },
1738 },
@@ -1722,6 +1886,10 @@
1722 "type": "string",
1886 "type": "string",
1723 "description": "[Required] A query that BigQuery executes when the view is referenced."
1887 "description": "[Required] A query that BigQuery executes when the view is referenced."
1724 },
1888 },
1889+ "useLegacySql": {
1890+ "type": "boolean",
1891+ "description": "[Experimental] Specifies whether to use BigQuery's legacy SQL for this view. The default value is true. If set to false, the view will use BigQuery's standard SQL: https://cloud.google.com/bigquery/sql-reference/ Queries and views that reference this view must use the same flag value."
1892+ },
1725 "userDefinedFunctionResources": {
1893 "userDefinedFunctionResources": {
1726 "type": "array",
1894 "type": "array",
1727 "description": "[Experimental] Describes user-defined function resources used in the query.",
1895 "description": "[Experimental] Describes user-defined function resources used in the query.",
@@ -1838,6 +2006,11 @@
1838 "description": "Whether to list all datasets, including hidden ones",
2006 "description": "Whether to list all datasets, including hidden ones",
1839 "location": "query"
2007 "location": "query"
1840 },
2008 },
2009+ "filter": {
2010+ "type": "string",
2011+ "description": "An expression for filtering the results of the request by label. The syntax is \"labels.\u003cname\u003e[:\u003cvalue\u003e]\". Multiple filters can be ANDed together by connecting with a space. Example: \"labels.department:receiving labels.active\". See Filtering datasets using labels for details.",
2012+ "location": "query"
2013+ },
1841 "maxResults": {
2014 "maxResults": {
1842 "type": "integer",
2015 "type": "integer",
1843 "description": "The maximum number of results to return",
2016 "description": "The maximum number of results to return",
@@ -1942,7 +2115,7 @@
1942 "methods": {
2115 "methods": {
1943 "cancel": {
2116 "cancel": {
1944 "id": "bigquery.jobs.cancel",
2117 "id": "bigquery.jobs.cancel",
1945− "path": "project/{projectId}/jobs/{jobId}/cancel",
2118+ "path": "projects/{projectId}/jobs/{jobId}/cancel",
1946 "httpMethod": "POST",
2119 "httpMethod": "POST",
1947 "description": "Requests that a job be cancelled. This call will return immediately, and the client will need to poll for the job status to see if the cancel completed successfully. Cancelled jobs may still incur costs.",
2120 "description": "Requests that a job be cancelled. This call will return immediately, and the client will need to poll for the job status to see if the cancel completed successfully. Cancelled jobs may still incur costs.",
1948 "parameters": {
2121 "parameters": {
gen/model/books/v1/books-api.json+50−4
@@ -1,13 +1,13 @@
1{
1{
2 "kind": "discovery#restDescription",
2 "kind": "discovery#restDescription",
3− "etag": "\"jQLIOHBVnDZie4rQHGH1WJF-INE/EKgCMl0lR3W1RkwoySiKYH3FM7c\"",
3+ "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/qBcgfnv8LaBwEppyThW1YG_JvBU\"",
4 "discoveryVersion": "v1",
4 "discoveryVersion": "v1",
5 "id": "books:v1",
5 "id": "books:v1",
6 "name": "books",
6 "name": "books",
7 "version": "v1",
7 "version": "v1",
8− "revision": "20160411",
8+ "revision": "20161005",
9 "title": "Books API",
9 "title": "Books API",
10− "description": "Lets you search for books and manage your Google Books library.",
10+ "description": "Searches for books and manages your Google Books library.",
11 "ownerDomain": "google.com",
11 "ownerDomain": "google.com",
12 "ownerName": "Google",
12 "ownerName": "Google",
13 "icons": {
13 "icons": {
@@ -1374,6 +1374,7 @@
1374 },
1374 },
1375 "series": {
1375 "series": {
1376 "type": "array",
1376 "type": "array",
1377+ "description": "Series info list. The client always expects this element in the JSON output, hence declared here as OutputAlways.",
1377 "items": {
1378 "items": {
1378 "type": "object",
1379 "type": "object",
1379 "properties": {
1380 "properties": {
@@ -1448,6 +1449,14 @@
1448 "type": "string"
1449 "type": "string"
1449 }
1450 }
1450 }
1451 }
1452+ },
1453+ "moreFromSeries": {
1454+ "type": "object",
1455+ "properties": {
1456+ "opted_state": {
1457+ "type": "string"
1458+ }
1459+ }
1451 }
1460 }
1452 }
1461 }
1453 }
1462 }
@@ -1635,6 +1644,10 @@
1635 "description": "The finsky offer type (e.g., PURCHASE=0 RENTAL=3)",
1644 "description": "The finsky offer type (e.g., PURCHASE=0 RENTAL=3)",
1636 "format": "int32"
1645 "format": "int32"
1637 },
1646 },
1647+ "giftable": {
1648+ "type": "boolean",
1649+ "description": "Indicates whether the offer is giftable."
1650+ },
1638 "listPrice": {
1651 "listPrice": {
1639 "type": "object",
1652 "type": "object",
1640 "description": "Offer list (=undiscounted) price in Micros.",
1653 "description": "Offer list (=undiscounted) price in Micros.",
@@ -1972,6 +1985,24 @@
1972 "description": "Total number of pages as per publisher metadata.",
1985 "description": "Total number of pages as per publisher metadata.",
1973 "format": "int32"
1986 "format": "int32"
1974 },
1987 },
1988+ "panelizationSummary": {
1989+ "type": "object",
1990+ "description": "A top-level summary of the panelization info in this volume.",
1991+ "properties": {
1992+ "containsEpubBubbles": {
1993+ "type": "boolean"
1994+ },
1995+ "containsImageBubbles": {
1996+ "type": "boolean"
1997+ },
1998+ "epubBubbleVersion": {
1999+ "type": "string"
2000+ },
2001+ "imageBubbleVersion": {
2002+ "type": "string"
2003+ }
2004+ }
2005+ },
1975 "previewLink": {
2006 "previewLink": {
1976 "type": "string",
2007 "type": "string",
1977 "description": "URL to preview this volume on the Google Books site."
2008 "description": "URL to preview this volume on the Google Books site."
@@ -4154,6 +4185,19 @@
4154 ],
4185 ],
4155 "location": "query"
4186 "location": "query"
4156 },
4187 },
4188+ "maxAllowedMaturityRating": {
4189+ "type": "string",
4190+ "description": "The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out.",
4191+ "enum": [
4192+ "mature",
4193+ "not-mature"
4194+ ],
4195+ "enumDescriptions": [
4196+ "Show books which are rated mature or lower.",
4197+ "Show books which are rated not mature."
4198+ ],
4199+ "location": "query"
4200+ },
4157 "maxResults": {
4201 "maxResults": {
4158 "type": "integer",
4202 "type": "integer",
4159 "description": "Maximum number of results to return.",
4203 "description": "Maximum number of results to return.",
@@ -4319,8 +4363,9 @@
4319 "parameters": {
4363 "parameters": {
4320 "acquireMethod": {
4364 "acquireMethod": {
4321 "type": "string",
4365 "type": "string",
4322− "description": "How the book was aquired",
4366+ "description": "How the book was acquired",
4323 "enum": [
4367 "enum": [
4368+ "FAMILY_SHARED",
4324 "PREORDERED",
4369 "PREORDERED",
4325 "PREVIOUSLY_RENTED",
4370 "PREVIOUSLY_RENTED",
4326 "PUBLIC_DOMAIN",
4371 "PUBLIC_DOMAIN",
@@ -4330,6 +4375,7 @@
4330 "UPLOADED"
4375 "UPLOADED"
4331 ],
4376 ],
4332 "enumDescriptions": [
4377 "enumDescriptions": [
4378+ "Books acquired via Family Sharing",
4333 "Preordered books (not yet available)",
4379 "Preordered books (not yet available)",
4334 "User-rented books past their expiration time",
4380 "User-rented books past their expiration time",
4335 "Public domain books",
4381 "Public domain books",
gen/model/calendar/v3/calendar-api.json+4−2
@@ -1,11 +1,11 @@
1{
1{
2 "kind": "discovery#restDescription",
2 "kind": "discovery#restDescription",
3− "etag": "\"jQLIOHBVnDZie4rQHGH1WJF-INE/RlnIv2SWp5bp3g5LStifBhcKFP4\"",
3+ "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/VWub4J15NN4SkSidNp3dhsb_pzo\"",
4 "discoveryVersion": "v1",
4 "discoveryVersion": "v1",
5 "id": "calendar:v3",
5 "id": "calendar:v3",
6 "name": "calendar",
6 "name": "calendar",
7 "version": "v3",
7 "version": "v3",
8− "revision": "20160417",
8+ "revision": "20160927",
9 "title": "Calendar API",
9 "title": "Calendar API",
10 "description": "Manipulates events and other calendar data.",
10 "description": "Manipulates events and other calendar data.",
11 "ownerDomain": "google.com",
11 "ownerDomain": "google.com",
@@ -2129,6 +2129,7 @@
2129 "maxResults": {
2129 "maxResults": {
2130 "type": "integer",
2130 "type": "integer",
2131 "description": "Maximum number of events returned on one result page. By default the value is 250 events. The page size can never be larger than 2500 events. Optional.",
2131 "description": "Maximum number of events returned on one result page. By default the value is 250 events. The page size can never be larger than 2500 events. Optional.",
2132+ "default": "250",
2132 "format": "int32",
2133 "format": "int32",
2133 "minimum": "1",
2134 "minimum": "1",
2134 "location": "query"
2135 "location": "query"
@@ -2443,6 +2444,7 @@
2443 "maxResults": {
2444 "maxResults": {
2444 "type": "integer",
2445 "type": "integer",
2445 "description": "Maximum number of events returned on one result page. By default the value is 250 events. The page size can never be larger than 2500 events. Optional.",
2446 "description": "Maximum number of events returned on one result page. By default the value is 250 events. The page size can never be larger than 2500 events. Optional.",
2447+ "default": "250",
2446 "format": "int32",
2448 "format": "int32",
2447 "minimum": "1",
2449 "minimum": "1",
2448 "location": "query"
2450 "location": "query"
gen/model/civicinfo/v2/civicinfo-api.json+94−6
@@ -1,14 +1,14 @@
1{
1{
2 "kind": "discovery#restDescription",
2 "kind": "discovery#restDescription",
3− "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/ZiNhyAfCE7ZKhbU1KQ-igi1g1zk\"",
3+ "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/dddQ_XrBtLta7hoQNz6vCsWY1OE\"",
4 "discoveryVersion": "v1",
4 "discoveryVersion": "v1",
5 "id": "civicinfo:v2",
5 "id": "civicinfo:v2",
6 "name": "civicinfo",
6 "name": "civicinfo",
7 "canonicalName": "Civic Info",
7 "canonicalName": "Civic Info",
8 "version": "v2",
8 "version": "v2",
9− "revision": "20150820",
9+ "revision": "20161017",
10 "title": "Google Civic Information API",
10 "title": "Google Civic Information API",
11− "description": "An API for accessing civic information.",
11+ "description": "Provides polling places, early vote locations, contest data, election officials, and government representatives for U.S. residential addresses.",
12 "ownerDomain": "google.com",
12 "ownerDomain": "google.com",
13 "ownerName": "Google",
13 "ownerName": "Google",
14 "icons": {
14 "icons": {
@@ -107,6 +107,12 @@
107 "type": "string",
107 "type": "string",
108 "description": "A URL provided by this administrative body for information on absentee voting."
108 "description": "A URL provided by this administrative body for information on absentee voting."
109 },
109 },
110+ "addressLines": {
111+ "type": "array",
112+ "items": {
113+ "type": "string"
114+ }
115+ },
110 "ballotInfoUrl": {
116 "ballotInfoUrl": {
111 "type": "string",
117 "type": "string",
112 "description": "A URL provided by this administrative body to give contest information to the voter."
118 "description": "A URL provided by this administrative body to give contest information to the voter."
@@ -185,7 +191,7 @@
185 },
191 },
186 "name": {
192 "name": {
187 "type": "string",
193 "type": "string",
188− "description": "The candidate's name."
194+ "description": "The candidate's name. If this is a joint ticket it will indicate the name of the candidate at the top of a ticket followed by a / and that name of candidate at the bottom of the ticket. e.g. \"Mitt Romney / Paul Ryan\""
189 },
195 },
190 "orderOnBallot": {
196 "orderOnBallot": {
191 "type": "string",
197 "type": "string",
@@ -277,7 +283,7 @@
277 },
283 },
278 "referendumBallotResponses": {
284 "referendumBallotResponses": {
279 "type": "array",
285 "type": "array",
280− "description": "The set of ballot responses for the referendum. A ballot response represents a line on the ballot. Common examples might include \"yes\" or \"no\" for referenda, or a judge's name for a retention contest. This field is only populated for contests of type 'Referendum'.",
286+ "description": "The set of ballot responses for the referendum. A ballot response represents a line on the ballot. Common examples might include \"yes\" or \"no\" for referenda. This field is only populated for contests of type 'Referendum'.",
281 "items": {
287 "items": {
282 "type": "string"
288 "type": "string"
283 }
289 }
@@ -338,7 +344,36 @@
338 },
344 },
339 "type": {
345 "type": {
340 "type": "string",
346 "type": "string",
341− "description": "The type of contest. Usually this will be 'General', 'Primary', or 'Run-off' for contests with candidates. For referenda this will be 'Referendum'."
347+ "description": "The type of contest. Usually this will be 'General', 'Primary', or 'Run-off' for contests with candidates. For referenda this will be 'Referendum'. For Retention contests this will typically be 'Retention'."
348+ }
349+ }
350+ },
351+ "ContextParams": {
352+ "id": "ContextParams",
353+ "type": "object",
354+ "properties": {
355+ "clientProfile": {
356+ "type": "string"
357+ }
358+ }
359+ },
360+ "DivisionRepresentativeInfoRequest": {
361+ "id": "DivisionRepresentativeInfoRequest",
362+ "type": "object",
363+ "description": "A request to look up representative information for a single division.",
364+ "properties": {
365+ "contextParams": {
366+ "$ref": "ContextParams"
367+ }
368+ }
369+ },
370+ "DivisionSearchRequest": {
371+ "id": "DivisionSearchRequest",
372+ "type": "object",
373+ "description": "A search request for political geographies.",
374+ "properties": {
375+ "contextParams": {
376+ "$ref": "ContextParams"
342 }
377 }
343 }
378 }
344 },
379 },
@@ -433,6 +468,15 @@
433 }
468 }
434 }
469 }
435 },
470 },
471+ "ElectionsQueryRequest": {
472+ "id": "ElectionsQueryRequest",
473+ "type": "object",
474+ "properties": {
475+ "contextParams": {
476+ "$ref": "ContextParams"
477+ }
478+ }
479+ },
436 "ElectionsQueryResponse": {
480 "ElectionsQueryResponse": {
437 "id": "ElectionsQueryResponse",
481 "id": "ElectionsQueryResponse",
438 "type": "object",
482 "type": "object",
@@ -461,6 +505,9 @@
461 "type": "string",
505 "type": "string",
462 "description": "An identifier for this district, relative to its scope. For example, the 34th State Senate district would have id \"34\" and a scope of stateUpper."
506 "description": "An identifier for this district, relative to its scope. For example, the 34th State Senate district would have id \"34\" and a scope of stateUpper."
463 },
507 },
508+ "kgForeignKey": {
509+ "type": "string"
510+ },
464 "name": {
511 "name": {
465 "type": "string",
512 "type": "string",
466 "description": "The name of the district."
513 "description": "The name of the district."
@@ -669,6 +716,16 @@
669 }
716 }
670 }
717 }
671 },
718 },
719+ "RepresentativeInfoRequest": {
720+ "id": "RepresentativeInfoRequest",
721+ "type": "object",
722+ "description": "A request for political geography and representative information for an address.",
723+ "properties": {
724+ "contextParams": {
725+ "$ref": "ContextParams"
726+ }
727+ }
728+ },
672 "RepresentativeInfoResponse": {
729 "RepresentativeInfoResponse": {
673 "id": "RepresentativeInfoResponse",
730 "id": "RepresentativeInfoResponse",
674 "type": "object",
731 "type": "object",
@@ -757,6 +814,16 @@
757 }
814 }
758 }
815 }
759 },
816 },
817+ "VoterInfoRequest": {
818+ "id": "VoterInfoRequest",
819+ "type": "object",
820+ "description": "A request for information about a voter.",
821+ "properties": {
822+ "contextParams": {
823+ "$ref": "ContextParams"
824+ }
825+ }
826+ },
760 "VoterInfoResponse": {
827 "VoterInfoResponse": {
761 "id": "VoterInfoResponse",
828 "id": "VoterInfoResponse",
762 "type": "object",
829 "type": "object",
@@ -842,6 +909,9 @@
842 "location": "query"
909 "location": "query"
843 }
910 }
844 },
911 },
912+ "request": {
913+ "$ref": "DivisionSearchRequest"
914+ },
845 "response": {
915 "response": {
846 "$ref": "DivisionSearchResponse"
916 "$ref": "DivisionSearchResponse"
847 }
917 }
@@ -855,6 +925,9 @@
855 "path": "elections",
925 "path": "elections",
856 "httpMethod": "GET",
926 "httpMethod": "GET",
857 "description": "List of available elections to query.",
927 "description": "List of available elections to query.",
928+ "request": {
929+ "$ref": "ElectionsQueryRequest"
930+ },
858 "response": {
931 "response": {
859 "$ref": "ElectionsQueryResponse"
932 "$ref": "ElectionsQueryResponse"
860 }
933 }
@@ -883,11 +956,20 @@
883 "description": "If set to true, only data from official state sources will be returned.",
956 "description": "If set to true, only data from official state sources will be returned.",
884 "default": "false",
957 "default": "false",
885 "location": "query"
958 "location": "query"
959+ },
960+ "returnAllAvailableData": {
961+ "type": "boolean",
962+ "description": "If set to true, the query will return the success codeand include any partial information when it is unable to determine a matching address or unable to determine the election for electionId=0 queries.",
963+ "default": "false",
964+ "location": "query"
886 }
965 }
887 },
966 },
888 "parameterOrder": [
967 "parameterOrder": [
889 "address"
968 "address"
890 ],
969 ],
970+ "request": {
971+ "$ref": "VoterInfoRequest"
972+ },
891 "response": {
973 "response": {
892 "$ref": "VoterInfoResponse"
974 "$ref": "VoterInfoResponse"
893 }
975 }
@@ -974,6 +1056,9 @@
974 "location": "query"
1056 "location": "query"
975 }
1057 }
976 },
1058 },
1059+ "request": {
1060+ "$ref": "RepresentativeInfoRequest"
1061+ },
977 "response": {
1062 "response": {
978 "$ref": "RepresentativeInfoResponse"
1063 "$ref": "RepresentativeInfoResponse"
979 }
1064 }
@@ -1059,6 +1144,9 @@
1059 "parameterOrder": [
1144 "parameterOrder": [
1060 "ocdId"
1145 "ocdId"
1061 ],
1146 ],
1147+ "request": {
1148+ "$ref": "DivisionRepresentativeInfoRequest"
1149+ },
1062 "response": {
1150 "response": {
1063 "$ref": "RepresentativeInfoData"
1151 "$ref": "RepresentativeInfoData"
1064 }
1152 }
gen/model/classroom/v1/classroom-api.json+401−61
@@ -1,11 +1,11 @@
1{
1{
2 "kind": "discovery#restDescription",
2 "kind": "discovery#restDescription",
3− "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/CqYvNpV2Som-B9o1jdwhrzhRs18\"",
3+ "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/mk_oLjlaBwJ1BcBJ5yykCFb6u3w\"",
4 "discoveryVersion": "v1",
4 "discoveryVersion": "v1",
5 "id": "classroom:v1",
5 "id": "classroom:v1",
6 "name": "classroom",
6 "name": "classroom",
7 "version": "v1",
7 "version": "v1",
8− "revision": "20160517",
8+ "revision": "20161006",
9 "title": "Google Classroom API",
9 "title": "Google Classroom API",
10 "description": "Manages classes, rosters, and invitations in Google Classroom.",
10 "description": "Manages classes, rosters, and invitations in Google Classroom.",
11 "ownerDomain": "google.com",
11 "ownerDomain": "google.com",
@@ -224,6 +224,10 @@
224 "items": {
224 "items": {
225 "$ref": "CourseMaterialSet"
225 "$ref": "CourseMaterialSet"
226 }
226 }
227+ },
228+ "guardiansEnabled": {
229+ "type": "boolean",
230+ "description": "Whether or not guardian notifications are enabled for this course. Read-only."
227 }
231 }
228 }
232 }
229 },
233 },
@@ -427,44 +431,66 @@
427 }
431 }
428 }
432 }
429 },
433 },
430− "Invitation": {
434+ "ListGuardianInvitationsResponse": {
431− "id": "Invitation",
435+ "id": "ListGuardianInvitationsResponse",
432 "type": "object",
436 "type": "object",
433− "description": "An invitation to join a course.",
437+ "description": "Response when listing guardian invitations.",
434 "properties": {
438 "properties": {
435− "id": {
439+ "guardianInvitations": {
440+ "type": "array",
441+ "description": "Guardian invitations that matched the list request.",
442+ "items": {
443+ "$ref": "GuardianInvitation"
444+ }
445+ },
446+ "nextPageToken": {
436 "type": "string",
447 "type": "string",
437− "description": "Identifier assigned by Classroom. Read-only."
448+ "description": "Token identifying the next page of results to return. If empty, no further results are available."
449+ }
450+ }
451+ },
452+ "GuardianInvitation": {
453+ "id": "GuardianInvitation",
454+ "type": "object",
455+ "description": "An invitation to become the guardian of a specified user, sent to a specified email address.",
456+ "properties": {
457+ "studentId": {
458+ "type": "string",
459+ "description": "ID of the student (in standard format)"
438 },
460 },
439− "userId": {
461+ "invitationId": {
440 "type": "string",
462 "type": "string",
441− "description": "Identifier of the invited user. When specified as a parameter of a request, this identifier can be set to one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user"
463+ "description": "Unique identifier for this invitation. Read-only."
442 },
464 },
443− "courseId": {
465+ "invitedEmailAddress": {
444 "type": "string",
466 "type": "string",
445− "description": "Identifier of the course to invite the user to."
467+ "description": "Email address that the invitation was sent to. This field is only visible to domain administrators."
446 },
468 },
447− "role": {
469+ "state": {
448 "type": "string",
470 "type": "string",
449− "description": "Role to invite the user to have. Must not be `COURSE_ROLE_UNSPECIFIED`.",
471+ "description": "The state that this invitation is in.",
450 "enum": [
472 "enum": [
451− "COURSE_ROLE_UNSPECIFIED",
473+ "GUARDIAN_INVITATION_STATE_UNSPECIFIED",
452− "STUDENT",
474+ "PENDING",
453− "TEACHER"
475+ "COMPLETE"
454 ]
476 ]
477+ },
478+ "creationTime": {
479+ "type": "string",
480+ "description": "The time that this invitation was created. Read-only."
455 }
481 }
456 }
482 }
457 },
483 },
458− "ListInvitationsResponse": {
484+ "ListGuardiansResponse": {
459− "id": "ListInvitationsResponse",
485+ "id": "ListGuardiansResponse",
460 "type": "object",
486 "type": "object",
461− "description": "Response when listing invitations.",
487+ "description": "Response when listing guardians.",
462 "properties": {
488 "properties": {
463− "invitations": {
489+ "guardians": {
464 "type": "array",
490 "type": "array",
465− "description": "Invitations that match the list request.",
491+ "description": "Guardians on this page of results that met the criteria specified in the request.",
466 "items": {
492 "items": {
467− "$ref": "Invitation"
493+ "$ref": "Guardian"
468 }
494 }
469 },
495 },
470 "nextPageToken": {
496 "nextPageToken": {
@@ -473,6 +499,29 @@
473 }
499 }
474 }
500 }
475 },
501 },
502+ "Guardian": {
503+ "id": "Guardian",
504+ "type": "object",
505+ "description": "Association between a student and a guardian of that student. The guardian may receive information about the student's course work.",
506+ "properties": {
507+ "studentId": {
508+ "type": "string",
509+ "description": "Identifier for the student to whom the guardian relationship applies."
510+ },
511+ "guardianId": {
512+ "type": "string",
513+ "description": "Identifier for the guardian."
514+ },
515+ "guardianProfile": {
516+ "$ref": "UserProfile",
517+ "description": "User profile for the guardian."
518+ },
519+ "invitedEmailAddress": {
520+ "type": "string",
521+ "description": "The email address to which the initial guardian invitation was sent. This field is only visible to domain administrators."
522+ }
523+ }
524+ },
476 "UserProfile": {
525 "UserProfile": {
477 "id": "UserProfile",
526 "id": "UserProfile",
478 "type": "object",
527 "type": "object",
@@ -615,6 +664,52 @@
615 }
664 }
616 }
665 }
617 },
666 },
667+ "Invitation": {
668+ "id": "Invitation",
669+ "type": "object",
670+ "description": "An invitation to join a course.",
671+ "properties": {
672+ "id": {
673+ "type": "string",
674+ "description": "Identifier assigned by Classroom. Read-only."
675+ },
676+ "userId": {
677+ "type": "string",
678+ "description": "Identifier of the invited user. When specified as a parameter of a request, this identifier can be set to one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user"
679+ },
680+ "courseId": {
681+ "type": "string",
682+ "description": "Identifier of the course to invite the user to."
683+ },
684+ "role": {
685+ "type": "string",
686+ "description": "Role to invite the user to have. Must not be `COURSE_ROLE_UNSPECIFIED`.",
687+ "enum": [
688+ "COURSE_ROLE_UNSPECIFIED",
689+ "STUDENT",
690+ "TEACHER"
691+ ]
692+ }
693+ }
694+ },
695+ "ListInvitationsResponse": {
696+ "id": "ListInvitationsResponse",
697+ "type": "object",
698+ "description": "Response when listing invitations.",
699+ "properties": {
700+ "invitations": {
701+ "type": "array",
702+ "description": "Invitations that match the list request.",
703+ "items": {
704+ "$ref": "Invitation"
705+ }
706+ },
707+ "nextPageToken": {
708+ "type": "string",
709+ "description": "Token identifying the next page of results to return. If empty, no further results are available."
710+ }
711+ }
712+ },
618 "CourseWork": {
713 "CourseWork": {
619 "id": "CourseWork",
714 "id": "CourseWork",
620 "type": "object",
715 "type": "object",
@@ -638,14 +733,14 @@
638 },
733 },
639 "materials": {
734 "materials": {
640 "type": "array",
735 "type": "array",
641− "description": "Additional materials.",
736+ "description": "Additional materials. CourseWork must have no more than 20 material items.",
642 "items": {
737 "items": {
643 "$ref": "Material"
738 "$ref": "Material"
644 }
739 }
645 },
740 },
646 "state": {
741 "state": {
647 "type": "string",
742 "type": "string",
648− "description": "Status of this course work.. If unspecified, the default state is `DRAFT`.",
743+ "description": "Status of this course work. If unspecified, the default state is `DRAFT`.",
649 "enum": [
744 "enum": [
650 "COURSE_WORK_STATE_UNSPECIFIED",
745 "COURSE_WORK_STATE_UNSPECIFIED",
651 "PUBLISHED",
746 "PUBLISHED",
@@ -675,7 +770,7 @@
675 },
770 },
676 "maxPoints": {
771 "maxPoints": {
677 "type": "number",
772 "type": "number",
678− "description": "Maximum grade for this course work. If zero or unspecified, this assignment is considered ungraded. This must be an integer value.",
773+ "description": "Maximum grade for this course work. If zero or unspecified, this assignment is considered ungraded. This must be a non-negative integer value.",
679 "format": "double"
774 "format": "double"
680 },
775 },
681 "workType": {
776 "workType": {
@@ -870,7 +965,7 @@
870 },
965 },
871 "creationTime": {
966 "creationTime": {
872 "type": "string",
967 "type": "string",
873− "description": "Creation time of this submission.. This may be unset if the student has not accessed this item. Read-only."
968+ "description": "Creation time of this submission. This may be unset if the student has not accessed this item. Read-only."
874 },
969 },
875 "updateTime": {
970 "updateTime": {
876 "type": "string",
971 "type": "string",
@@ -894,12 +989,12 @@
894 },
989 },
895 "draftGrade": {
990 "draftGrade": {
896 "type": "number",
991 "type": "number",
897− "description": "Optional pending grade. If unset, no grade was set. This must be an integer value. This is only visible to and modifiable by course teachers.",
992+ "description": "Optional pending grade. If unset, no grade was set. This must be a non-negative integer value. This is only visible to and modifiable by course teachers.",
898 "format": "double"
993 "format": "double"
899 },
994 },
900 "assignedGrade": {
995 "assignedGrade": {
901 "type": "number",
996 "type": "number",
902− "description": "Optional grade. If unset, no grade was set. This must be an integer value. This may be modified only by course teachers.",
997+ "description": "Optional grade. If unset, no grade was set. This must be a non-negative integer value. This may be modified only by course teachers.",
903 "format": "double"
998 "format": "double"
904 },
999 },
905 "alternateLink": {
1000 "alternateLink": {
@@ -930,7 +1025,7 @@
930 },
1025 },
931 "multipleChoiceSubmission": {
1026 "multipleChoiceSubmission": {
932 "$ref": "MultipleChoiceSubmission",
1027 "$ref": "MultipleChoiceSubmission",
933− "description": "Submission content when course_work_type is MUTIPLE_CHOICE_QUESTION."
1028+ "description": "Submission content when course_work_type is MULTIPLE_CHOICE_QUESTION."
934 }
1029 }
935 }
1030 }
936 },
1031 },
@@ -1033,7 +1128,7 @@
1033 "properties": {
1128 "properties": {
1034 "addAttachments": {
1129 "addAttachments": {
1035 "type": "array",
1130 "type": "array",
1036− "description": "Attachments to add. This may only contain link attachments.",
1131+ "description": "Attachments to add. A student submission may not have more than 20 attachments. This may only contain link attachments.",
1037 "items": {
1132 "items": {
1038 "$ref": "Attachment"
1133 "$ref": "Attachment"
1039 }
1134 }
@@ -1179,6 +1274,19 @@
1179 "description": "Restricts returned courses to those having a teacher with the specified identifier. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user",
1274 "description": "Restricts returned courses to those having a teacher with the specified identifier. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user",
1180 "location": "query"
1275 "location": "query"
1181 },
1276 },
1277+ "courseStates": {
1278+ "type": "string",
1279+ "description": "Restricts returned courses to those in one of the specified states",
1280+ "enum": [
1281+ "COURSE_STATE_UNSPECIFIED",
1282+ "ACTIVE",
1283+ "ARCHIVED",
1284+ "PROVISIONED",
1285+ "DECLINED"
1286+ ],
1287+ "repeated": true,
1288+ "location": "query"
1289+ },
1182 "pageSize": {
1290 "pageSize": {
1183 "type": "integer",
1291 "type": "integer",
1184 "description": "Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.",
1292 "description": "Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.",
@@ -1788,7 +1896,7 @@
1788 },
1896 },
1789 "courseWorkId": {
1897 "courseWorkId": {
1790 "type": "string",
1898 "type": "string",
1791− "description": "Identifer of the student work to request. If `user_id` is specified, this may be set to the string literal `\"-\"` to request student work for all course work in the specified course.",
1899+ "description": "Identifer of the student work to request. This may be set to the string literal `\"-\"` to request student work for all course work in the specified course.",
1792 "required": true,
1900 "required": true,
1793 "location": "path"
1901 "location": "path"
1794 },
1902 },
@@ -2016,6 +2124,268 @@
2016 }
2124 }
2017 }
2125 }
2018 },
2126 },
2127+ "userProfiles": {
2128+ "methods": {
2129+ "get": {
2130+ "id": "classroom.userProfiles.get",
2131+ "path": "v1/userProfiles/{userId}",
2132+ "httpMethod": "GET",
2133+ "description": "Returns a user profile. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access this user profile or if no profile exists with the requested ID or for access errors.",
2134+ "parameters": {
2135+ "userId": {
2136+ "type": "string",
2137+ "description": "Identifier of the profile to return. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user",
2138+ "required": true,
2139+ "location": "path"
2140+ }
2141+ },
2142+ "parameterOrder": [
2143+ "userId"
2144+ ],
2145+ "response": {
2146+ "$ref": "UserProfile"
2147+ },
2148+ "scopes": [
2149+ "https://www.googleapis.com/auth/classroom.profile.emails",
2150+ "https://www.googleapis.com/auth/classroom.profile.photos",
2151+ "https://www.googleapis.com/auth/classroom.rosters",
2152+ "https://www.googleapis.com/auth/classroom.rosters.readonly"
2153+ ]
2154+ }
2155+ },
2156+ "resources": {
2157+ "guardianInvitations": {
2158+ "methods": {
2159+ "list": {
2160+ "id": "classroom.userProfiles.guardianInvitations.list",
2161+ "path": "v1/userProfiles/{studentId}/guardianInvitations",
2162+ "httpMethod": "GET",
2163+ "description": "Returns a list of guardian invitations that the requesting user is permitted to view, filtered by the parameters provided. This method returns the following error codes: * `PERMISSION_DENIED` if a `student_id` is specified, and the requesting user is not permitted to view guardian invitations for that student, if `\"-\"` is specified as the `student_id` and the user is not a domain administrator, if guardians are not enabled for the domain in question, or for other access errors. * `INVALID_ARGUMENT` if a `student_id` is specified, but its format cannot be recognized (it is not an email address, nor a `student_id` from the API, nor the literal string `me`). May also be returned if an invalid `page_token` or `state` is provided. * `NOT_FOUND` if a `student_id` is specified, and its format can be recognized, but Classroom has no record of that student.",
2164+ "parameters": {
2165+ "studentId": {
2166+ "type": "string",
2167+ "description": "The ID of the student whose guardian invitations are to be returned. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user * the string literal `\"-\"`, indicating that results should be returned for all students that the requesting user is permitted to view guardian invitations.",
2168+ "required": true,
2169+ "location": "path"
2170+ },
2171+ "invitedEmailAddress": {
2172+ "type": "string",
2173+ "description": "If specified, only results with the specified `invited_email_address` will be returned.",
2174+ "location": "query"
2175+ },
2176+ "states": {
2177+ "type": "string",
2178+ "description": "If specified, only results with the specified `state` values will be returned. Otherwise, results with a `state` of `PENDING` will be returned.",
2179+ "enum": [
2180+ "GUARDIAN_INVITATION_STATE_UNSPECIFIED",
2181+ "PENDING",
2182+ "COMPLETE"
2183+ ],
2184+ "repeated": true,
2185+ "location": "query"
2186+ },
2187+ "pageToken": {
2188+ "type": "string",
2189+ "description": "nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.",
2190+ "location": "query"
2191+ },
2192+ "pageSize": {
2193+ "type": "integer",
2194+ "description": "Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.",
2195+ "format": "int32",
2196+ "location": "query"
2197+ }
2198+ },
2199+ "parameterOrder": [
2200+ "studentId"
2201+ ],
2202+ "response": {
2203+ "$ref": "ListGuardianInvitationsResponse"
2204+ }
2205+ },
2206+ "get": {
2207+ "id": "classroom.userProfiles.guardianInvitations.get",
2208+ "path": "v1/userProfiles/{studentId}/guardianInvitations/{invitationId}",
2209+ "httpMethod": "GET",
2210+ "description": "Returns a specific guardian invitation. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to view guardian invitations for the student identified by the `student_id`, if guardians are not enabled for the domain in question, or for other access errors. * `INVALID_ARGUMENT` if a `student_id` is specified, but its format cannot be recognized (it is not an email address, nor a `student_id` from the API, nor the literal string `me`). * `NOT_FOUND` if Classroom cannot find any record of the given student or `invitation_id`. May also be returned if the student exists, but the requesting user does not have access to see that student.",
2211+ "parameters": {
2212+ "studentId": {
2213+ "type": "string",
2214+ "description": "The ID of the student whose guardian invitation is being requested.",
2215+ "required": true,
2216+ "location": "path"
2217+ },
2218+ "invitationId": {
2219+ "type": "string",
2220+ "description": "The `id` field of the `GuardianInvitation` being requested.",
2221+ "required": true,
2222+ "location": "path"
2223+ }
2224+ },
2225+ "parameterOrder": [
2226+ "studentId",
2227+ "invitationId"
2228+ ],
2229+ "response": {
2230+ "$ref": "GuardianInvitation"
2231+ }
2232+ },
2233+ "create": {
2234+ "id": "classroom.userProfiles.guardianInvitations.create",
2235+ "path": "v1/userProfiles/{studentId}/guardianInvitations",
2236+ "httpMethod": "POST",
2237+ "description": "Creates a guardian invitation, and sends an email to the guardian asking them to confirm that they are the student's guardian. Once the guardian accepts the invitation, their `state` will change to `COMPLETED` and they will start receiving guardian notifications. A `Guardian` resource will also be created to represent the active guardian. The request object must have the `student_id` and `invited_email_address` fields set. Failing to set these fields, or setting any other fields in the request, will result in an error. This method returns the following error codes: * `PERMISSION_DENIED` if the current user does not have permission to manage guardians, if the guardian in question has already rejected too many requests for that student, if guardians are not enabled for the domain in question, or for other access errors. * `RESOURCE_EXHAUSTED` if the student or guardian has exceeded the guardian link limit. * `INVALID_ARGUMENT` if the guardian email address is not valid (for example, if it is too long), or if the format of the student ID provided cannot be recognized (it is not an email address, nor a `user_id` from this API). This error will also be returned if read-only fields are set, or if the `state` field is set to to a value other than `PENDING`. * `NOT_FOUND` if the student ID provided is a valid student ID, but Classroom has no record of that student. * `ALREADY_EXISTS` if there is already a pending guardian invitation for the student and `invited_email_address` provided, or if the provided `invited_email_address` matches the Google account of an existing `Guardian` for this user.",
2238+ "parameters": {
2239+ "studentId": {
2240+ "type": "string",
2241+ "description": "ID of the student (in standard format)",
2242+ "required": true,
2243+ "location": "path"
2244+ }
2245+ },
2246+ "parameterOrder": [
2247+ "studentId"
2248+ ],
2249+ "request": {
2250+ "$ref": "GuardianInvitation"
2251+ },
2252+ "response": {
2253+ "$ref": "GuardianInvitation"
2254+ }
2255+ },
2256+ "patch": {
2257+ "id": "classroom.userProfiles.guardianInvitations.patch",
2258+ "path": "v1/userProfiles/{studentId}/guardianInvitations/{invitationId}",
2259+ "httpMethod": "PATCH",
2260+ "description": "Modifies a guardian invitation. Currently, the only valid modification is to change the `state` from `PENDING` to `COMPLETE`. This has the effect of withdrawing the invitation. This method returns the following error codes: * `PERMISSION_DENIED` if the current user does not have permission to manage guardians, if guardians are not enabled for the domain in question or for other access errors. * `FAILED_PRECONDITION` if the guardian link is not in the `PENDING` state. * `INVALID_ARGUMENT` if the format of the student ID provided cannot be recognized (it is not an email address, nor a `user_id` from this API), or if the passed `GuardianInvitation` has a `state` other than `COMPLETE`, or if it modifies fields other than `state`. * `NOT_FOUND` if the student ID provided is a valid student ID, but Classroom has no record of that student, or if the `id` field does not refer to a guardian invitation known to Classroom.",
2261+ "parameters": {
2262+ "studentId": {
2263+ "type": "string",
2264+ "description": "The ID of the student whose guardian invitation is to be modified.",
2265+ "required": true,
2266+ "location": "path"
2267+ },
2268+ "invitationId": {
2269+ "type": "string",
2270+ "description": "The `id` field of the `GuardianInvitation` to be modified.",
2271+ "required": true,
2272+ "location": "path"
2273+ },
2274+ "updateMask": {
2275+ "type": "string",
2276+ "description": "Mask that identifies which fields on the course to update. This field is required to do an update. The update will fail if invalid fields are specified. The following fields are valid: * `state` When set in a query parameter, this field should be specified as `updateMask=,,...`",
2277+ "location": "query"
2278+ }
2279+ },
2280+ "parameterOrder": [
2281+ "studentId",
2282+ "invitationId"
2283+ ],
2284+ "request": {
2285+ "$ref": "GuardianInvitation"
2286+ },
2287+ "response": {
2288+ "$ref": "GuardianInvitation"
2289+ }
2290+ }
2291+ }
2292+ },
2293+ "guardians": {
2294+ "methods": {
2295+ "list": {
2296+ "id": "classroom.userProfiles.guardians.list",
2297+ "path": "v1/userProfiles/{studentId}/guardians",
2298+ "httpMethod": "GET",
2299+ "description": "Returns a list of guardians that the requesting user is permitted to view, restricted to those that match the request. To list guardians for any student that the requesting user may view guardians for, use the literal character `-` for the student ID. This method returns the following error codes: * `PERMISSION_DENIED` if a `student_id` is specified, and the requesting user is not permitted to view guardian information for that student, if `\"-\"` is specified as the `student_id` and the user is not a domain administrator, if guardians are not enabled for the domain in question, if the `invited_email_address` filter is set by a user who is not a domain administrator, or for other access errors. * `INVALID_ARGUMENT` if a `student_id` is specified, but its format cannot be recognized (it is not an email address, nor a `student_id` from the API, nor the literal string `me`). May also be returned if an invalid `page_token` is provided. * `NOT_FOUND` if a `student_id` is specified, and its format can be recognized, but Classroom has no record of that student.",
2300+ "parameters": {
2301+ "studentId": {
2302+ "type": "string",
2303+ "description": "Filter results by the student who the guardian is linked to. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user * the string literal `\"-\"`, indicating that results should be returned for all students that the requesting user has access to view.",
2304+ "required": true,
2305+ "location": "path"
2306+ },
2307+ "invitedEmailAddress": {
2308+ "type": "string",
2309+ "description": "Filter results by the email address that the original invitation was sent to, resulting in this guardian link. This filter can only be used by domain administrators.",
2310+ "location": "query"
2311+ },
2312+ "pageToken": {
2313+ "type": "string",
2314+ "description": "nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.",
2315+ "location": "query"
2316+ },
2317+ "pageSize": {
2318+ "type": "integer",
2319+ "description": "Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.",
2320+ "format": "int32",
2321+ "location": "query"
2322+ }
2323+ },
2324+ "parameterOrder": [
2325+ "studentId"
2326+ ],
2327+ "response": {
2328+ "$ref": "ListGuardiansResponse"
2329+ }
2330+ },
2331+ "get": {
2332+ "id": "classroom.userProfiles.guardians.get",
2333+ "path": "v1/userProfiles/{studentId}/guardians/{guardianId}",
2334+ "httpMethod": "GET",
2335+ "description": "Returns a specific guardian. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to view guardian information for the student identified by the `student_id`, if guardians are not enabled for the domain in question, or for other access errors. * `INVALID_ARGUMENT` if a `student_id` is specified, but its format cannot be recognized (it is not an email address, nor a `student_id` from the API, nor the literal string `me`). * `NOT_FOUND` if Classroom cannot find any record of the given student or `guardian_id`, or if the guardian has been disabled.",
2336+ "parameters": {
2337+ "studentId": {
2338+ "type": "string",
2339+ "description": "The student whose guardian is being requested. One of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user",
2340+ "required": true,
2341+ "location": "path"
2342+ },
2343+ "guardianId": {
2344+ "type": "string",
2345+ "description": "The `id` field from a `Guardian`.",
2346+ "required": true,
2347+ "location": "path"
2348+ }
2349+ },
2350+ "parameterOrder": [
2351+ "studentId",
2352+ "guardianId"
2353+ ],
2354+ "response": {
2355+ "$ref": "Guardian"
2356+ }
2357+ },
2358+ "delete": {
2359+ "id": "classroom.userProfiles.guardians.delete",
2360+ "path": "v1/userProfiles/{studentId}/guardians/{guardianId}",
2361+ "httpMethod": "DELETE",
2362+ "description": "Deletes a guardian. The guardian will no longer receive guardian notifications and the guardian will no longer be accessible via the API. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to manage guardians for the student identified by the `student_id`, if guardians are not enabled for the domain in question, or for other access errors. * `INVALID_ARGUMENT` if a `student_id` is specified, but its format cannot be recognized (it is not an email address, nor a `student_id` from the API). * `NOT_FOUND` if Classroom cannot find any record of the given `student_id` or `guardian_id`, or if the guardian has already been disabled.",
2363+ "parameters": {
2364+ "studentId": {
2365+ "type": "string",
2366+ "description": "The student whose guardian is to be deleted. One of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user",
2367+ "required": true,
2368+ "location": "path"
2369+ },
2370+ "guardianId": {
2371+ "type": "string",
2372+ "description": "The `id` field from a `Guardian`.",
2373+ "required": true,
2374+ "location": "path"
2375+ }
2376+ },
2377+ "parameterOrder": [
2378+ "studentId",
2379+ "guardianId"
2380+ ],
2381+ "response": {
2382+ "$ref": "Empty"
2383+ }
2384+ }
2385+ }
2386+ }
2387+ }
2388+ },
2019 "invitations": {
2389 "invitations": {
2020 "methods": {
2390 "methods": {
2021 "create": {
2391 "create": {
@@ -2140,36 +2510,6 @@
2140 ]
2510 ]
2141 }
2511 }
2142 }
2512 }
2143− },
2144− "userProfiles": {
2145− "methods": {
2146− "get": {
2147− "id": "classroom.userProfiles.get",
2148− "path": "v1/userProfiles/{userId}",
2149− "httpMethod": "GET",
2150− "description": "Returns a user profile. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access this user profile or if no profile exists with the requested ID or for access errors.",
2151− "parameters": {
2152− "userId": {
2153− "type": "string",
2154− "description": "Identifier of the profile to return. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user",
2155− "required": true,
2156− "location": "path"
2157− }
2158− },
2159− "parameterOrder": [
2160− "userId"
2161− ],
2162− "response": {
2163− "$ref": "UserProfile"
2164− },
2165− "scopes": [
2166− "https://www.googleapis.com/auth/classroom.profile.emails",
2167− "https://www.googleapis.com/auth/classroom.profile.photos",
2168− "https://www.googleapis.com/auth/classroom.rosters",
2169− "https://www.googleapis.com/auth/classroom.rosters.readonly"
2170− ]
2171− }
2172− }
2173 }
2513 }
2174 }
2514 }
2175}
2515}
gen/model/cloudbuild/v1/cloudbuild-api.json+387−18
@@ -15,6 +15,157 @@
15 "resources": {
15 "resources": {
16 "projects": {
16 "projects": {
17 "resources": {
17 "resources": {
18+ "triggers": {
19+ "methods": {
20+ "create": {
21+ "id": "cloudbuild.projects.triggers.create",
22+ "response": {
23+ "$ref": "BuildTrigger"
24+ },
25+ "parameterOrder": [
26+ "projectId"
27+ ],
28+ "description": "Creates a new BuildTrigger.\n\nThis API is experimental.",
29+ "request": {
30+ "$ref": "BuildTrigger"
31+ },
32+ "flatPath": "v1/projects/{projectId}/triggers",
33+ "httpMethod": "POST",
34+ "parameters": {
35+ "projectId": {
36+ "description": "ID of the project for which to configure automatic builds.",
37+ "required": true,
38+ "location": "path",
39+ "type": "string"
40+ }
41+ },
42+ "path": "v1/projects/{projectId}/triggers",
43+ "scopes": [
44+ "https://www.googleapis.com/auth/cloud-platform"
45+ ]
46+ },
47+ "get": {
48+ "id": "cloudbuild.projects.triggers.get",
49+ "response": {
50+ "$ref": "BuildTrigger"
51+ },
52+ "parameterOrder": [
53+ "projectId",
54+ "triggerId"
55+ ],
56+ "description": "Gets information about a BuildTrigger.\n\nThis API is experimental.",
57+ "flatPath": "v1/projects/{projectId}/triggers/{triggerId}",
58+ "httpMethod": "GET",
59+ "parameters": {
60+ "projectId": {
61+ "description": "ID of the project that owns the trigger.",
62+ "required": true,
63+ "location": "path",
64+ "type": "string"
65+ },
66+ "triggerId": {
67+ "description": "ID of the BuildTrigger to get.",
68+ "required": true,
69+ "location": "path",
70+ "type": "string"
71+ }
72+ },
73+ "path": "v1/projects/{projectId}/triggers/{triggerId}",
74+ "scopes": [
75+ "https://www.googleapis.com/auth/cloud-platform"
76+ ]
77+ },
78+ "list": {
79+ "id": "cloudbuild.projects.triggers.list",
80+ "response": {
81+ "$ref": "ListBuildTriggersResponse"
82+ },
83+ "parameterOrder": [
84+ "projectId"
85+ ],
86+ "description": "Lists existing BuildTrigger.\n\nThis API is experimental.",
87+ "flatPath": "v1/projects/{projectId}/triggers",
88+ "httpMethod": "GET",
89+ "parameters": {
90+ "projectId": {
91+ "description": "ID of the project for which to list BuildTriggers.",
92+ "required": true,
93+ "location": "path",
94+ "type": "string"
95+ }
96+ },
97+ "path": "v1/projects/{projectId}/triggers",
98+ "scopes": [
99+ "https://www.googleapis.com/auth/cloud-platform"
100+ ]
101+ },
102+ "delete": {
103+ "id": "cloudbuild.projects.triggers.delete",
104+ "response": {
105+ "$ref": "Empty"
106+ },
107+ "parameterOrder": [
108+ "projectId",
109+ "triggerId"
110+ ],
111+ "description": "Deletes an BuildTrigger by its project ID and trigger ID.\n\nThis API is experimental.",
112+ "flatPath": "v1/projects/{projectId}/triggers/{triggerId}",
113+ "httpMethod": "DELETE",
114+ "parameters": {
115+ "projectId": {
116+ "description": "ID of the project that owns the trigger.",
117+ "required": true,
118+ "location": "path",
119+ "type": "string"
120+ },
121+ "triggerId": {
122+ "description": "ID of the BuildTrigger to delete.",
123+ "required": true,
124+ "location": "path",
125+ "type": "string"
126+ }
127+ },
128+ "path": "v1/projects/{projectId}/triggers/{triggerId}",
129+ "scopes": [
130+ "https://www.googleapis.com/auth/cloud-platform"
131+ ]
132+ },
133+ "patch": {
134+ "id": "cloudbuild.projects.triggers.patch",
135+ "response": {
136+ "$ref": "BuildTrigger"
137+ },
138+ "parameterOrder": [
139+ "projectId",
140+ "triggerId"
141+ ],
142+ "description": "Updates an BuildTrigger by its project ID and trigger ID.\n\nThis API is experimental.",
143+ "request": {
144+ "$ref": "BuildTrigger"
145+ },
146+ "flatPath": "v1/projects/{projectId}/triggers/{triggerId}",
147+ "httpMethod": "PATCH",
148+ "parameters": {
149+ "projectId": {
150+ "description": "ID of the project that owns the trigger.",
151+ "required": true,
152+ "location": "path",
153+ "type": "string"
154+ },
155+ "triggerId": {
156+ "description": "ID of the BuildTrigger to update.",
157+ "required": true,
158+ "location": "path",
159+ "type": "string"
160+ }
161+ },
162+ "path": "v1/projects/{projectId}/triggers/{triggerId}",
163+ "scopes": [
164+ "https://www.googleapis.com/auth/cloud-platform"
165+ ]
166+ }
167+ }
168+ },
18 "builds": {
169 "builds": {
19 "methods": {
170 "methods": {
20 "create": {
171 "create": {
@@ -93,6 +244,11 @@
93 "type": "integer",
244 "type": "integer",
94 "format": "int32"
245 "format": "int32"
95 },
246 },
247+ "filter": {
248+ "description": "The raw filter text to constrain the results.",
249+ "location": "query",
250+ "type": "string"
251+ },
96 "projectId": {
252 "projectId": {
97 "description": "ID of the project.",
253 "description": "ID of the project.",
98 "required": true,
254 "required": true,
@@ -165,7 +321,7 @@
165 "name": {
321 "name": {
166 "description": "The name of the operation resource.",
322 "description": "The name of the operation resource.",
167 "required": true,
323 "required": true,
168− "pattern": "^operations/.*$",
324+ "pattern": "^operations/.+$",
169 "location": "path",
325 "location": "path",
170 "type": "string"
326 "type": "string"
171 }
327 }
@@ -234,7 +390,7 @@
234 "type": "array",
390 "type": "array",
235 "items": {
391 "items": {
236 "additionalProperties": {
392 "additionalProperties": {
237− "description": "Properties of the object. Contains field @ype with type URL.",
393+ "description": "Properties of the object. Contains field @type with type URL.",
238 "type": "any"
394 "type": "any"
239 },
395 },
240 "type": "object"
396 "type": "object"
@@ -265,16 +421,42 @@
265 "storageSource": {
421 "storageSource": {
266 "description": "If provided, get the source from this location in in Google Cloud\nStorage.",
422 "description": "If provided, get the source from this location in in Google Cloud\nStorage.",
267 "$ref": "StorageSource"
423 "$ref": "StorageSource"
424+ },
425+ "repoSource": {
426+ "description": "If provided, get source from this location in a Cloud Repo.",
427+ "$ref": "RepoSource"
268 }
428 }
269 },
429 },
270 "id": "Source"
430 "id": "Source"
271 },
431 },
432+ "SourceProvenance": {
433+ "description": "Provenance of the source. Ways to find the original source, or verify that\nsome source was used for this build.",
434+ "type": "object",
435+ "properties": {
436+ "resolvedRepoSource": {
437+ "description": "A copy of the build's source.repo_source, if exists, with any\nrevisions resolved.",
438+ "$ref": "RepoSource"
439+ },
440+ "resolvedStorageSource": {
441+ "description": "A copy of the build's source.storage_source, if exists, with any\ngenerations resolved.",
442+ "$ref": "StorageSource"
443+ },
444+ "fileHashes": {
445+ "description": "Hash(es) of the build source, which can be used to verify that the original\nsource integrity was maintained in the build. Note that FileHashes will\nonly be populated if BuildOptions has requested a SourceProvenanceHash.\n\nThe keys to this map are file paths used as build source and the values\ncontain the hash values for those files.\n\nIf the build source came in a single package such as a gzipped tarfile\n(.tar.gz), the FileHash will be for the single path to that file.\n@OutputOnly",
446+ "additionalProperties": {
447+ "$ref": "FileHashes"
448+ },
449+ "type": "object"
450+ }
451+ },
452+ "id": "SourceProvenance"
453+ },
272 "Operation": {
454 "Operation": {
273 "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
455 "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
274 "type": "object",
456 "type": "object",
275 "properties": {
457 "properties": {
276 "error": {
458 "error": {
277− "description": "The error result of the operation in case of failure.",
459+ "description": "The error result of the operation in case of failure or cancellation.",
278 "$ref": "Status"
460 "$ref": "Status"
279 },
461 },
280 "done": {
462 "done": {
@@ -284,7 +466,7 @@
284 "metadata": {
466 "metadata": {
285 "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.",
467 "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.",
286 "additionalProperties": {
468 "additionalProperties": {
287− "description": "Properties of the object. Contains field @ype with type URL.",
469+ "description": "Properties of the object. Contains field @type with type URL.",
288 "type": "any"
470 "type": "any"
289 },
471 },
290 "type": "object"
472 "type": "object"
@@ -292,7 +474,7 @@
292 "response": {
474 "response": {
293 "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`.",
475 "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`.",
294 "additionalProperties": {
476 "additionalProperties": {
295− "description": "Properties of the object. Contains field @ype with type URL.",
477+ "description": "Properties of the object. Contains field @type with type URL.",
296 "type": "any"
478 "type": "any"
297 },
479 },
298 "type": "object"
480 "type": "object"
@@ -304,6 +486,42 @@
304 },
486 },
305 "id": "Operation"
487 "id": "Operation"
306 },
488 },
489+ "BuildTrigger": {
490+ "description": "Configuration for an automated build in response to source repository\nchanges.",
491+ "type": "object",
492+ "properties": {
493+ "id": {
494+ "description": "Unique identifier of the trigger.\n\n@OutputOnly",
495+ "type": "string"
496+ },
497+ "description": {
498+ "description": "Human-readable description of this trigger.",
499+ "type": "string"
500+ },
501+ "triggerTemplate": {
502+ "description": "Template describing the types of source changes to trigger a build.\n\nBranch and tag names in trigger templates are interpreted as regular\nexpressions. Any branch or tag change that matches that regular expression\nwill trigger a build.",
503+ "$ref": "RepoSource"
504+ },
505+ "disabled": {
506+ "description": "If true, the trigger will never result in a build.",
507+ "type": "boolean"
508+ },
509+ "createTime": {
510+ "description": "Time when the trigger was created.\n\n@OutputOnly",
511+ "type": "string",
512+ "format": "google-datetime"
513+ },
514+ "filename": {
515+ "description": "Path, from the source root, to a file whose contents is used for the\ntemplate.",
516+ "type": "string"
517+ },
518+ "build": {
519+ "description": "Contents of the build template.",
520+ "$ref": "Build"
521+ }
522+ },
523+ "id": "BuildTrigger"
524+ },
307 "BuiltImage": {
525 "BuiltImage": {
308 "description": "BuiltImage describes an image built by the pipeline.",
526 "description": "BuiltImage describes an image built by the pipeline.",
309 "type": "object",
527 "type": "object",
@@ -319,6 +537,30 @@
319 },
537 },
320 "id": "BuiltImage"
538 "id": "BuiltImage"
321 },
539 },
540+ "Hash": {
541+ "description": "Container message for hash values.",
542+ "type": "object",
543+ "properties": {
544+ "value": {
545+ "description": "The hash value.",
546+ "type": "string",
547+ "format": "byte"
548+ },
549+ "type": {
550+ "description": "The type of hash that was performed.",
551+ "enum": [
552+ "NONE",
553+ "SHA256"
554+ ],
555+ "enumDescriptions": [
556+ "No hash requested.",
557+ "Use a sha256 hash."
558+ ],
559+ "type": "string"
560+ }
561+ },
562+ "id": "Hash"
563+ },
322 "StorageSource": {
564 "StorageSource": {
323 "description": "StorageSource describes the location of the source in an archive file in\nGoogle Cloud Storage.",
565 "description": "StorageSource describes the location of the source in an archive file in\nGoogle Cloud Storage.",
324 "type": "object",
566 "type": "object",
@@ -349,18 +591,29 @@
349 "items": {
591 "items": {
350 "$ref": "BuiltImage"
592 "$ref": "BuiltImage"
351 }
593 }
594+ },
595+ "buildStepImages": {
596+ "description": "List of build step digests, in order corresponding to build step indices.",
597+ "type": "array",
598+ "items": {
599+ "type": "string"
600+ }
352 }
601 }
353 },
602 },
354 "id": "Results"
603 "id": "Results"
355 },
604 },
356 "Build": {
605 "Build": {
357− "description": "A build resource in the Container Builder API.\n\nAt a high level, a Build describes where to find source code, how to build\nit (for example, the builder image to run on the source), and what tag to\napply to the built image when it is pushed to Google Container Registry.",
606+ "description": "A build resource in the Container Builder API.\n\nAt a high level, a Build describes where to find source code, how to build\nit (for example, the builder image to run on the source), and what tag to\napply to the built image when it is pushed to Google Container Registry.\n\nFields can include the following variables which will be expanded when the\nbuild is created:\n\n- $PROJECT_ID: the project ID of the build.\n- $BUILD_ID: the autogenerated ID of the build.\n- $REPO_NAME: the source repository name specified by RepoSource.\n- $BRANCH_NAME: the branch name specified by RepoSource.\n- $TAG_NAME: the tag name specified by RepoSource.\n- $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or\n resolved from the specified branch or tag.",
358 "type": "object",
607 "type": "object",
359 "properties": {
608 "properties": {
360 "id": {
609 "id": {
361 "description": "Unique identifier of the build.\n@OutputOnly",
610 "description": "Unique identifier of the build.\n@OutputOnly",
362 "type": "string"
611 "type": "string"
363 },
612 },
613+ "sourceProvenance": {
614+ "description": "A permanent fixed identifier for source.\n@OutputOnly",
615+ "$ref": "SourceProvenance"
616+ },
364 "results": {
617 "results": {
365 "description": "Results of the build.\n@OutputOnly",
618 "description": "Results of the build.\n@OutputOnly",
366 "$ref": "Results"
619 "$ref": "Results"
@@ -369,6 +622,7 @@
369 "description": "Status of the build.\n@OutputOnly",
622 "description": "Status of the build.\n@OutputOnly",
370 "enum": [
623 "enum": [
371 "STATUS_UNKNOWN",
624 "STATUS_UNKNOWN",
625+ "QUEUING",
372 "QUEUED",
626 "QUEUED",
373 "WORKING",
627 "WORKING",
374 "SUCCESS",
628 "SUCCESS",
@@ -379,7 +633,8 @@
379 ],
633 ],
380 "enumDescriptions": [
634 "enumDescriptions": [
381 "Status of the build is unknown.",
635 "Status of the build is unknown.",
636+ "Build has been received and is being queued.",
382− "Build is queued, work has not yet begun.",
637+ "Build is queued; work has not yet begun.",
383 "Build is being executed.",
638 "Build is being executed.",
384 "Build finished successfully.",
639 "Build finished successfully.",
385 "Build failed to complete successfully.",
640 "Build failed to complete successfully.",
@@ -389,6 +644,10 @@
389 ],
644 ],
390 "type": "string"
645 "type": "string"
391 },
646 },
647+ "options": {
648+ "description": "Special options for this build.",
649+ "$ref": "BuildOptions"
650+ },
392 "finishTime": {
651 "finishTime": {
393 "description": "Time at which execution of the build was finished.\n@OutputOnly",
652 "description": "Time at which execution of the build was finished.\n@OutputOnly",
394 "type": "string",
653 "type": "string",
@@ -415,12 +674,16 @@
415 "type": "string",
674 "type": "string",
416 "format": "google-datetime"
675 "format": "google-datetime"
417 },
676 },
677+ "logUrl": {
678+ "description": "URL to logs for this build in Google Cloud Logging.\n@OutputOnly",
679+ "type": "string"
680+ },
418 "statusDetail": {
681 "statusDetail": {
419 "description": "Customer-readable message about the current status.\n@OutputOnly",
682 "description": "Customer-readable message about the current status.\n@OutputOnly",
420 "type": "string"
683 "type": "string"
421 },
684 },
422 "images": {
685 "images": {
423− "description": "List of images expected to be built and pushed to Google Container\nRegistry. If an image is listed here and the image is not produced by\none of the build steps, the build will fail. Any images present when\nthe build steps are complete will be pushed to Container Registry.",
686+ "description": "A list of images to be pushed upon the successful completion of all build\nsteps.\n\nThe images will be pushed using the builder\nservice account's credentials.\n\nThe digests of the pushed images will be stored in the Build resource's\nresults field.\n\nIf any of the images fail to be pushed, the build is marked FAILURE.",
424 "type": "array",
687 "type": "array",
425 "items": {
688 "items": {
426 "type": "string"
689 "type": "string"
@@ -442,12 +705,40 @@
442 },
705 },
443 "id": "Build"
706 "id": "Build"
444 },
707 },
708+ "ListBuildTriggersResponse": {
709+ "description": "Response containing existing BuildTriggers.",
710+ "type": "object",
711+ "properties": {
712+ "triggers": {
713+ "description": "BuildTriggers for the project, sorted by create_time descending.",
714+ "type": "array",
715+ "items": {
716+ "$ref": "BuildTrigger"
717+ }
718+ }
719+ },
720+ "id": "ListBuildTriggersResponse"
721+ },
445 "CancelBuildRequest": {
722 "CancelBuildRequest": {
446 "description": "Request to cancel an ongoing build.",
723 "description": "Request to cancel an ongoing build.",
447 "type": "object",
724 "type": "object",
448 "properties": {},
725 "properties": {},
449 "id": "CancelBuildRequest"
726 "id": "CancelBuildRequest"
450 },
727 },
728+ "FileHashes": {
729+ "description": "Container message for hashes of byte content of files, used in\nSourceProvenance messages to verify integrity of source input to the build.",
730+ "type": "object",
731+ "properties": {
732+ "fileHash": {
733+ "description": "Collection of file hashes.",
734+ "type": "array",
735+ "items": {
736+ "$ref": "Hash"
737+ }
738+ }
739+ },
740+ "id": "FileHashes"
741+ },
451 "ListOperationsResponse": {
742 "ListOperationsResponse": {
452 "description": "The response message for Operations.ListOperations.",
743 "description": "The response message for Operations.ListOperations.",
453 "type": "object",
744 "type": "object",
@@ -466,34 +757,112 @@
466 },
757 },
467 "id": "ListOperationsResponse"
758 "id": "ListOperationsResponse"
468 },
759 },
760+ "RepoSource": {
761+ "description": "RepoSource describes the location of the source in a Google Cloud Source\nRepository.",
762+ "type": "object",
763+ "properties": {
764+ "repoName": {
765+ "description": "Name of the repo. If omitted, the name \"default\" is assumed.",
766+ "type": "string"
767+ },
768+ "tagName": {
769+ "description": "Name of the tag to build.",
770+ "type": "string"
771+ },
772+ "projectId": {
773+ "description": "ID of the project that owns the repo. If omitted, the project ID requesting\nthe build is assumed.",
774+ "type": "string"
775+ },
776+ "branchName": {
777+ "description": "Name of the branch to build.",
778+ "type": "string"
779+ },
780+ "commitSha": {
781+ "description": "Explicit commit SHA to build.",
782+ "type": "string"
783+ }
784+ },
785+ "id": "RepoSource"
786+ },
469 "BuildStep": {
787 "BuildStep": {
470 "description": "BuildStep describes a step to perform in the build pipeline.",
788 "description": "BuildStep describes a step to perform in the build pipeline.",
471 "type": "object",
789 "type": "object",
472 "properties": {
790 "properties": {
473− "args": {
791+ "id": {
474− "description": "Command-line arguments to use when running this step's container.",
792+ "description": "Optional unique identifier for this build step, used in wait_for to\nreference this build step as a dependency.",
793+ "type": "string"
794+ },
795+ "env": {
796+ "description": "A list of environment variable definitions to be used when running a step.\n\nThe elements are of the form \"KEY=VALUE\" for the environment variable \"KEY\"\nbeing given the value \"VALUE\".",
475 "type": "array",
797 "type": "array",
476 "items": {
798 "items": {
477 "type": "string"
799 "type": "string"
478 }
800 }
479 },
801 },
480− "dir": {
802+ "waitFor": {
481− "description": "Working directory (relative to project source root) to use when running\nthis operation's container.",
803+ "description": "The ID(s) of the step(s) that this build step depends on.\nThis build step will not start until all the build steps in wait_for\nhave completed successfully. If wait_for is empty, this build step will\nstart when all previous build steps in the Build.Steps list have completed\nsuccessfully.",
804+ "type": "array",
805+ "items": {
806+ "type": "string"
807+ }
808+ },
809+ "args": {
810+ "description": "A list of arguments that will be presented to the step when it is started.\n\nIf the image used to run the step's container has an entrypoint, these args\nwill be used as arguments to that entrypoint. If the image does not define\nan entrypoint, the first element in args will be used as the entrypoint,\nand the remainder will be used as arguments.",
811+ "type": "array",
812+ "items": {
482− "type": "string"
813+ "type": "string"
814+ }
483 },
815 },
484 "name": {
816 "name": {
485− "description": "Name of the container image to use for creating this stage in the\npipeline, as presented to `docker pull`.",
817+ "description": "The name of the container image that will run this particular build step.\n\nIf the image is already available in the host's\nDocker daemon's cache, it will be run directly. If not, the host will\nattempt to pull the image first, using the builder service account's\ncredentials if necessary.\n\nThe Docker daemon's cache will already have the latest versions of all of\nthe officially supported build steps\n(https://github.com/GoogleCloudPlatform/cloud-builders). The Docker daemon\nwill also have cached many of the layers for some popular images, like\n\"ubuntu\", \"debian\", but they will be refreshed at the time you attempt to\nuse them.\n\nIf you built an image in a previous build step, it will be stored in the\nhost's Docker daemon's cache and is available to use as the name for a\nlater build step.",
486 "type": "string"
818 "type": "string"
487 },
819 },
488− "env": {
820+ "dir": {
489− "description": "Additional environment variables to set for this step's container.",
821+ "description": "Working directory (relative to project source root) to use when running\nthis operation's container.",
822+ "type": "string"
823+ }
824+ },
825+ "id": "BuildStep"
826+ },
827+ "Empty": {
828+ "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 `{}`.",
829+ "type": "object",
830+ "properties": {},
831+ "id": "Empty"
832+ },
833+ "BuildOptions": {
834+ "description": "Optional arguments to enable specific features of builds.",
835+ "type": "object",
836+ "properties": {
837+ "sourceProvenanceHash": {
838+ "description": "Requested hash for SourceProvenance.",
839+ "enumDescriptions": [
840+ "No hash requested.",
841+ "Use a sha256 hash."
842+ ],
490 "type": "array",
843 "type": "array",
491 "items": {
844 "items": {
845+ "enum": [
846+ "NONE",
847+ "SHA256"
848+ ],
492 "type": "string"
849 "type": "string"
493 }
850 }
851+ },
852+ "requestedVerifyOption": {
853+ "description": "Requested verifiability options.",
854+ "enum": [
855+ "NOT_VERIFIED",
856+ "VERIFIED"
857+ ],
858+ "enumDescriptions": [
859+ "Not a verifiable build. (default)",
860+ "Verified build."
861+ ],
862+ "type": "string"
494 }
863 }
495 },
864 },
496− "id": "BuildStep"
865+ "id": "BuildOptions"
497 },
866 },
498 "ListBuildsResponse": {
867 "ListBuildsResponse": {
499 "description": "Response including listed builds.",
868 "description": "Response including listed builds.",
@@ -514,7 +883,7 @@
514 "id": "ListBuildsResponse"
883 "id": "ListBuildsResponse"
515 }
884 }
516 },
885 },
517− "revision": "20160523",
886+ "revision": "20161020",
518 "basePath": "",
887 "basePath": "",
519 "icons": {
888 "icons": {
520 "x32": "http://www.google.com/images/icons/product/search-32.gif",
889 "x32": "http://www.google.com/images/icons/product/search-32.gif",
gen/model/clouddebugger/v2/clouddebugger-api.json+8−10
@@ -1,12 +1,13 @@
1{
1{
2 "kind": "discovery#restDescription",
2 "kind": "discovery#restDescription",
3− "etag": "\"bRFOOrZKfO9LweMbPqu0kcu6De8/DyOQnJEJbXYKE7HJJaEpvyi2Ka0\"",
3+ "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/QjifI48X3fgI9mRgli3ziT84a8U\"",
4 "discoveryVersion": "v1",
4 "discoveryVersion": "v1",
5 "id": "clouddebugger:v2",
5 "id": "clouddebugger:v2",
6 "name": "clouddebugger",
6 "name": "clouddebugger",
7+ "canonicalName": "Cloud Debugger",
7 "version": "v2",
8 "version": "v2",
8− "revision": "20160309",
9+ "revision": "20160810",
9− "title": "Google Cloud Debugger API",
10+ "title": "Stackdriver Debugger API",
10 "description": "Examines the call stack and variables of a running application without stopping or slowing it down.",
11 "description": "Examines the call stack and variables of a running application without stopping or slowing it down.",
11 "ownerDomain": "google.com",
12 "ownerDomain": "google.com",
12 "ownerName": "Google",
13 "ownerName": "Google",
@@ -14,7 +15,7 @@
14 "x16": "http://www.google.com/images/icons/product/search-16.gif",
15 "x16": "http://www.google.com/images/icons/product/search-16.gif",
15 "x32": "http://www.google.com/images/icons/product/search-32.gif"
16 "x32": "http://www.google.com/images/icons/product/search-32.gif"
16 },
17 },
17− "documentationLink": "https://cloud.google.com/tools/cloud-debugger",
18+ "documentationLink": "http://cloud.google.com/debugger",
18 "protocol": "rest",
19 "protocol": "rest",
19 "baseUrl": "https://clouddebugger.googleapis.com/",
20 "baseUrl": "https://clouddebugger.googleapis.com/",
20 "basePath": "",
21 "basePath": "",
@@ -109,9 +110,6 @@
109 },
110 },
110 "https://www.googleapis.com/auth/cloud_debugger": {
111 "https://www.googleapis.com/auth/cloud_debugger": {
111 "description": "Manage cloud debugger"
112 "description": "Manage cloud debugger"
112− },
113− "https://www.googleapis.com/auth/cloud_debugletcontroller": {
114− "description": "Manage active breakpoints in cloud debugger"
115 }
113 }
116 }
114 }
117 }
115 }
@@ -722,7 +720,7 @@
722 },
720 },
723 "scopes": [
721 "scopes": [
724 "https://www.googleapis.com/auth/cloud-platform",
722 "https://www.googleapis.com/auth/cloud-platform",
725− "https://www.googleapis.com/auth/cloud_debugletcontroller"
723+ "https://www.googleapis.com/auth/cloud_debugger"
726 ]
724 ]
727 }
725 }
728 },
726 },
@@ -760,7 +758,7 @@
760 },
758 },
761 "scopes": [
759 "scopes": [
762 "https://www.googleapis.com/auth/cloud-platform",
760 "https://www.googleapis.com/auth/cloud-platform",
763− "https://www.googleapis.com/auth/cloud_debugletcontroller"
761+ "https://www.googleapis.com/auth/cloud_debugger"
764 ]
762 ]
765 },
763 },
766 "update": {
764 "update": {
@@ -794,7 +792,7 @@
794 },
792 },
795 "scopes": [
793 "scopes": [
796 "https://www.googleapis.com/auth/cloud-platform",
794 "https://www.googleapis.com/auth/cloud-platform",
797− "https://www.googleapis.com/auth/cloud_debugletcontroller"
795+ "https://www.googleapis.com/auth/cloud_debugger"
798 ]
796 ]
799 }
797 }
800 }
798 }
gen/model/clouderrorreporting/v1beta1/clouderrorreporting-api.json+94−36
@@ -9,7 +9,7 @@
9 }
9 }
10 }
10 }
11 },
11 },
12− "description": "Stackdriver Error Reporting groups and counts similar errors from cloud services. The Stackdriver Error Reporting API provides read access to error groups and their associated errors.\n",
12+ "description": "Stackdriver Error Reporting groups and counts similar errors from cloud services. The Stackdriver Error Reporting API provides a way to report new errors and read access to error groups and their associated errors.\n",
13 "protocol": "rest",
13 "protocol": "rest",
14 "title": "Stackdriver Error Reporting API",
14 "title": "Stackdriver Error Reporting API",
15 "resources": {
15 "resources": {
@@ -43,35 +43,35 @@
43 "type": "string"
43 "type": "string"
44 },
44 },
45 "projectName": {
45 "projectName": {
46− "description": "The resource name of the Google Cloud Platform project. Required.\nExample: projects/my-project",
46+ "description": "[Required] The resource name of the Google Cloud Platform project. Written\nas `projects/` plus the\n[Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840).\nExample: `projects/my-project-123`.",
47 "required": true,
47 "required": true,
48 "pattern": "^projects/[^/]*$",
48 "pattern": "^projects/[^/]*$",
49 "location": "path",
49 "location": "path",
50 "type": "string"
50 "type": "string"
51 },
51 },
52 "serviceFilter.service": {
52 "serviceFilter.service": {
53− "description": "The exact value to match against\n[`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).",
53+ "description": "[Optional] The exact value to match against\n[`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).",
54 "location": "query",
54 "location": "query",
55 "type": "string"
55 "type": "string"
56 },
56 },
57 "groupId": {
57 "groupId": {
58− "description": "The group for which events shall be returned. Required.",
58+ "description": "[Required] The group for which events shall be returned.",
59 "location": "query",
59 "location": "query",
60 "type": "string"
60 "type": "string"
61 },
61 },
62 "serviceFilter.version": {
62 "serviceFilter.version": {
63− "description": "The exact value to match against\n[`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).",
63+ "description": "[Optional] The exact value to match against\n[`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).",
64 "location": "query",
64 "location": "query",
65 "type": "string"
65 "type": "string"
66 },
66 },
67 "pageSize": {
67 "pageSize": {
68− "description": "The maximum number of results to return per response.",
68+ "description": "[Optional] The maximum number of results to return per response.",
69 "location": "query",
69 "location": "query",
70 "type": "integer",
70 "type": "integer",
71 "format": "int32"
71 "format": "int32"
72 },
72 },
73 "pageToken": {
73 "pageToken": {
74− "description": "A `next_page_token` provided by a previous response.",
74+ "description": "[Optional] A `next_page_token` provided by a previous response.",
75 "location": "query",
75 "location": "query",
76 "type": "string"
76 "type": "string"
77 }
77 }
@@ -80,6 +80,34 @@
80 "scopes": [
80 "scopes": [
81 "https://www.googleapis.com/auth/cloud-platform"
81 "https://www.googleapis.com/auth/cloud-platform"
82 ]
82 ]
83+ },
84+ "report": {
85+ "id": "clouderrorreporting.projects.events.report",
86+ "response": {
87+ "$ref": "ReportErrorEventResponse"
88+ },
89+ "parameterOrder": [
90+ "projectName"
91+ ],
92+ "description": "Report an individual error event.\n\nThis endpoint accepts \u003cstrong\u003eeither\u003c/strong\u003e an OAuth token,\n\u003cstrong\u003eor\u003c/strong\u003e an\n\u003ca href=\"https://support.google.com/cloud/answer/6158862\"\u003eAPI key\u003c/a\u003e\nfor authentication. To use an API key, append it to the URL as the value of\na `key` parameter. For example:\n\u003cpre\u003ePOST https://clouderrorreporting.googleapis.com/v1beta1/projects/example-project/events:report?key=123ABC456\u003c/pre\u003e",
93+ "request": {
94+ "$ref": "ReportedErrorEvent"
95+ },
96+ "flatPath": "v1beta1/projects/{projectsId}/events:report",
97+ "httpMethod": "POST",
98+ "parameters": {
99+ "projectName": {
100+ "description": "[Required] The resource name of the Google Cloud Platform project. Written\nas `projects/` plus the\n[Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840).\nExample: `projects/my-project-123`.",
101+ "required": true,
102+ "pattern": "^projects/[^/]*$",
103+ "location": "path",
104+ "type": "string"
105+ }
106+ },
107+ "path": "v1beta1/{+projectName}/events:report",
108+ "scopes": [
109+ "https://www.googleapis.com/auth/cloud-platform"
110+ ]
83 }
111 }
84 }
112 }
85 },
113 },
@@ -101,7 +129,7 @@
101 "httpMethod": "PUT",
129 "httpMethod": "PUT",
102 "parameters": {
130 "parameters": {
103 "name": {
131 "name": {
104− "description": "Group resource name.\nExample: `projects/my-project-123/groups/my-groupid`",
132+ "description": "The group resource name.\nExample: \u003ccode\u003eprojects/my-project-123/groups/my-groupid\u003c/code\u003e",
105 "required": true,
133 "required": true,
106 "pattern": "^projects/[^/]*/groups/[^/]*$",
134 "pattern": "^projects/[^/]*/groups/[^/]*$",
107 "location": "path",
135 "location": "path",
@@ -126,7 +154,7 @@
126 "httpMethod": "GET",
154 "httpMethod": "GET",
127 "parameters": {
155 "parameters": {
128 "groupName": {
156 "groupName": {
129− "description": "Group resource name. Required.\nExample: `projects/my-project-123/groups/my-group`",
157+ "description": "[Required] The group resource name. Written as\n\u003ccode\u003eprojects/\u003cvar\u003eprojectID\u003c/var\u003e/groups/\u003cvar\u003egroup_name\u003c/var\u003e\u003c/code\u003e.\nCall\n\u003ca href=\"/error-reporting/reference/rest/v1beta1/projects.groupStats/list\"\u003e\n\u003ccode\u003egroupStats.list\u003c/code\u003e\u003c/a\u003e to return a list of groups belonging to\nthis project.\n\nExample: \u003ccode\u003eprojects/my-project-123/groups/my-group\u003c/code\u003e",
130 "required": true,
158 "required": true,
131 "pattern": "^projects/[^/]*/groups/[^/]*$",
159 "pattern": "^projects/[^/]*/groups/[^/]*$",
132 "location": "path",
160 "location": "path",
@@ -155,7 +183,7 @@
155 "httpMethod": "GET",
183 "httpMethod": "GET",
156 "parameters": {
184 "parameters": {
157 "alignment": {
185 "alignment": {
158− "description": "The alignment of the timed counts to be returned.\nDefault is `ALIGNMENT_EQUAL_AT_END`.",
186+ "description": "[Optional] The alignment of the timed counts to be returned.\nDefault is `ALIGNMENT_EQUAL_AT_END`.",
159 "enum": [
187 "enum": [
160 "ERROR_COUNT_ALIGNMENT_UNSPECIFIED",
188 "ERROR_COUNT_ALIGNMENT_UNSPECIFIED",
161 "ALIGNMENT_EQUAL_ROUNDED",
189 "ALIGNMENT_EQUAL_ROUNDED",
@@ -178,14 +206,14 @@
178 "type": "string"
206 "type": "string"
179 },
207 },
180 "projectName": {
208 "projectName": {
181− "description": "The resource name of the Google Cloud Platform project. Written as\n`projects/` plus the\n[Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840).\nRequired. Example: `projects/my-project-123`.",
209+ "description": "[Required] The resource name of the Google Cloud Platform project. Written\nas \u003ccode\u003eprojects/\u003c/code\u003e plus the\n\u003ca href=\"https://support.google.com/cloud/answer/6158840\"\u003eGoogle Cloud\nPlatform project ID\u003c/a\u003e.\n\nExample: \u003ccode\u003eprojects/my-project-123\u003c/code\u003e.",
182 "required": true,
210 "required": true,
183 "pattern": "^projects/[^/]*$",
211 "pattern": "^projects/[^/]*$",
184 "location": "path",
212 "location": "path",
185 "type": "string"
213 "type": "string"
186 },
214 },
187 "order": {
215 "order": {
188− "description": "The sort order in which the results are returned.\nDefault is `COUNT_DESC`.",
216+ "description": "[Optional] The sort order in which the results are returned.\nDefault is `COUNT_DESC`.",
189 "enum": [
217 "enum": [
190 "GROUP_ORDER_UNSPECIFIED",
218 "GROUP_ORDER_UNSPECIFIED",
191 "COUNT_DESC",
219 "COUNT_DESC",
@@ -197,41 +225,41 @@
197 "type": "string"
225 "type": "string"
198 },
226 },
199 "groupId": {
227 "groupId": {
200− "description": "List all `ErrorGroupStats` with these IDs.\nIf not specified, all error group stats with a non-zero error count\nfor the given selection criteria are returned.",
228+ "description": "[Optional] List all \u003ccode\u003eErrorGroupStats\u003c/code\u003e with these IDs.",
201 "repeated": true,
229 "repeated": true,
202 "location": "query",
230 "location": "query",
203 "type": "string"
231 "type": "string"
204 },
232 },
205 "serviceFilter.service": {
233 "serviceFilter.service": {
206− "description": "The exact value to match against\n[`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).",
234+ "description": "[Optional] The exact value to match against\n[`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).",
207 "location": "query",
235 "location": "query",
208 "type": "string"
236 "type": "string"
209 },
237 },
210 "alignmentTime": {
238 "alignmentTime": {
211− "description": "Time where the timed counts shall be aligned if rounded alignment\nis chosen. Default is 00:00 UTC.",
239+ "description": "[Optional] Time where the timed counts shall be aligned if rounded\nalignment is chosen. Default is 00:00 UTC.",
212 "location": "query",
240 "location": "query",
213 "type": "string",
241 "type": "string",
214 "format": "google-datetime"
242 "format": "google-datetime"
215 },
243 },
216 "serviceFilter.version": {
244 "serviceFilter.version": {
217− "description": "The exact value to match against\n[`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).",
245+ "description": "[Optional] The exact value to match against\n[`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).",
218 "location": "query",
246 "location": "query",
219 "type": "string"
247 "type": "string"
220 },
248 },
221 "pageSize": {
249 "pageSize": {
222− "description": "The maximum number of results to return per response.\nDefault is 20.",
250+ "description": "[Optional] The maximum number of results to return per response.\nDefault is 20.",
223 "location": "query",
251 "location": "query",
224 "type": "integer",
252 "type": "integer",
225 "format": "int32"
253 "format": "int32"
226 },
254 },
227 "timedCountDuration": {
255 "timedCountDuration": {
228− "description": "The preferred duration for a single returned `TimedCount`.\nIf not set, no timed counts are returned.",
256+ "description": "[Optional] The preferred duration for a single returned `TimedCount`.\nIf not set, no timed counts are returned.",
229 "location": "query",
257 "location": "query",
230 "type": "string",
258 "type": "string",
231 "format": "google-duration"
259 "format": "google-duration"
232 },
260 },
233 "pageToken": {
261 "pageToken": {
234− "description": "A `next_page_token` provided by a previous response. To view additional\nresults, pass this token along with the identical query parameters as the\nfirst request.",
262+ "description": "[Optional] A `next_page_token` provided by a previous response. To view\nadditional results, pass this token along with the identical query\nparameters as the first request.",
235 "location": "query",
263 "location": "query",
236 "type": "string"
264 "type": "string"
237 }
265 }
@@ -258,7 +286,7 @@
258 "httpMethod": "DELETE",
286 "httpMethod": "DELETE",
259 "parameters": {
287 "parameters": {
260 "projectName": {
288 "projectName": {
261− "description": "The resource name of the Google Cloud Platform project. Required.\nExample: `projects/my-project`.",
289+ "description": "[Required] The resource name of the Google Cloud Platform project. Written\nas `projects/` plus the\n[Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840).\nExample: `projects/my-project-123`.",
262 "required": true,
290 "required": true,
263 "pattern": "^projects/[^/]*$",
291 "pattern": "^projects/[^/]*$",
264 "location": "path",
292 "location": "path",
@@ -274,12 +302,36 @@
274 }
302 }
275 },
303 },
276 "schemas": {
304 "schemas": {
305+ "ReportedErrorEvent": {
306+ "description": "An error event which is reported to the Error Reporting system.",
307+ "type": "object",
308+ "properties": {
309+ "serviceContext": {
310+ "description": "[Required] The service context in which this error has occurred.",
311+ "$ref": "ServiceContext"
312+ },
313+ "context": {
314+ "description": "[Optional] A description of the context in which the error occurred.",
315+ "$ref": "ErrorContext"
316+ },
317+ "eventTime": {
318+ "description": "[Optional] Time when the event occurred.\nIf not provided, the time when the event was received by the\nError Reporting system will be used.",
319+ "type": "string",
320+ "format": "google-datetime"
321+ },
322+ "message": {
323+ "description": "[Required] A message describing the error. The message can contain an\nexception stack in one of the supported programming languages and formats.\nIn that case, the message is parsed and detailed exception information\nis returned when retrieving the error event again.",
324+ "type": "string"
325+ }
326+ },
327+ "id": "ReportedErrorEvent"
328+ },
277 "SourceLocation": {
329 "SourceLocation": {
278 "description": "Indicates a location in the source code of the service for which\nerrors are reported.\nThis data should be provided by the application when reporting an error,\nunless the error report has been generated automatically from Google App\nEngine logs. All fields are optional.",
330 "description": "Indicates a location in the source code of the service for which\nerrors are reported.\nThis data should be provided by the application when reporting an error,\nunless the error report has been generated automatically from Google App\nEngine logs. All fields are optional.",
279 "type": "object",
331 "type": "object",
280 "properties": {
332 "properties": {
281 "filePath": {
333 "filePath": {
282− "description": "The source code filename, which can include a truncated relative path, or\na full path from a production machine.",
334+ "description": "The source code filename, which can include a truncated relative\npath, or a full path from a production machine.",
283 "type": "string"
335 "type": "string"
284 },
336 },
285 "functionName": {
337 "functionName": {
@@ -295,7 +347,7 @@
295 "id": "SourceLocation"
347 "id": "SourceLocation"
296 },
348 },
297 "ErrorGroupStats": {
349 "ErrorGroupStats": {
298− "description": "Data extracted for a specific group based on certain selection criteria,\nsuch as a given time period and/or service filter.",
350+ "description": "Data extracted for a specific group based on certain filter criteria,\nsuch as a given time period and/or service filter.",
299 "type": "object",
351 "type": "object",
300 "properties": {
352 "properties": {
301 "representative": {
353 "representative": {
@@ -303,36 +355,36 @@
303 "$ref": "ErrorEvent"
355 "$ref": "ErrorEvent"
304 },
356 },
305 "numAffectedServices": {
357 "numAffectedServices": {
306− "description": "The total number of services with a non-zero error count for the given\nselection criteria.",
358+ "description": "The total number of services with a non-zero error count for the given\nfilter criteria.",
307 "type": "integer",
359 "type": "integer",
308 "format": "int32"
360 "format": "int32"
309 },
361 },
310 "affectedUsersCount": {
362 "affectedUsersCount": {
311− "description": "Approximate number of affected users in the given group that\nmatch the selection criteria.\nUsers are distinguished by data in the `ErrorContext` of the\nindividual error events, such as their login name or their remote\nIP address in case of HTTP requests.\nThe number of affected users can be zero even if the number of\nerrors is non-zero if no data was provided from which the\naffected user could be deduced.\nUsers are counted based on data in the request\ncontext that was provided in the error report. If more users are\nimplicitly affected, such as due to a crash of the whole service,\nthis is not reflected here.",
363+ "description": "Approximate number of affected users in the given group that\nmatch the filter criteria.\nUsers are distinguished by data in the `ErrorContext` of the\nindividual error events, such as their login name or their remote\nIP address in case of HTTP requests.\nThe number of affected users can be zero even if the number of\nerrors is non-zero if no data was provided from which the\naffected user could be deduced.\nUsers are counted based on data in the request\ncontext that was provided in the error report. If more users are\nimplicitly affected, such as due to a crash of the whole service,\nthis is not reflected here.",
312 "type": "string",
364 "type": "string",
313 "format": "int64"
365 "format": "int64"
314 },
366 },
315 "count": {
367 "count": {
316− "description": "Approximate total number of events in the given group that match\nthe selection criteria.",
368+ "description": "Approximate total number of events in the given group that match\nthe filter criteria.",
317 "type": "string",
369 "type": "string",
318 "format": "int64"
370 "format": "int64"
319 },
371 },
320 "firstSeenTime": {
372 "firstSeenTime": {
321− "description": "Approximate first occurrence that was seen for this group and\nwhich matches the given selection criteria.",
373+ "description": "Approximate first occurrence that was ever seen for this group\nand which matches the given filter criteria, ignoring the\ntime_range that was specified in the request.",
322 "type": "string",
374 "type": "string",
323 "format": "google-datetime"
375 "format": "google-datetime"
324 },
376 },
325 "lastSeenTime": {
377 "lastSeenTime": {
326− "description": "Approximate last occurrence that was seen for this group\nand which matches the given selection criteria.",
378+ "description": "Approximate last occurrence that was ever seen for this group and\nwhich matches the given filter criteria, ignoring the time_range\nthat was specified in the request.",
327 "type": "string",
379 "type": "string",
328 "format": "google-datetime"
380 "format": "google-datetime"
329 },
381 },
330 "group": {
382 "group": {
331− "description": "Group data that is independent of the selection criteria.",
383+ "description": "Group data that is independent of the filter criteria.",
332 "$ref": "ErrorGroup"
384 "$ref": "ErrorGroup"
333 },
385 },
334 "affectedServices": {
386 "affectedServices": {
335− "description": "Service contexts with a non-zero error count for the given selection\ncriteria. This list can be truncated if multiple services are affected.\nRefer to `num_affected_services` for the total count.",
387+ "description": "Service contexts with a non-zero error count for the given filter\ncriteria. This list can be truncated if multiple services are affected.\nRefer to `num_affected_services` for the total count.",
336 "type": "array",
388 "type": "array",
337 "items": {
389 "items": {
338 "$ref": "ServiceContext"
390 "$ref": "ServiceContext"
@@ -349,11 +401,11 @@
349 "id": "ErrorGroupStats"
401 "id": "ErrorGroupStats"
350 },
402 },
351 "ErrorContext": {
403 "ErrorContext": {
352− "description": "A description of the context in which an error occurred.\nThis data should be provided by the application when reporting an error,\nunless the\nerror report has been generated automatically from Google App Engine logs.\nAll fields are optional.",
404+ "description": "A description of the context in which an error occurred.\nThis data should be provided by the application when reporting an error,\nunless the\nerror report has been generated automatically from Google App Engine logs.",
353 "type": "object",
405 "type": "object",
354 "properties": {
406 "properties": {
355 "httpRequest": {
407 "httpRequest": {
356− "description": "The HTTP request which was processed when the error was triggered.",
408+ "description": "The HTTP request which was processed when the error was\ntriggered.",
357 "$ref": "HttpRequestContext"
409 "$ref": "HttpRequestContext"
358 },
410 },
359 "reportLocation": {
411 "reportLocation": {
@@ -372,7 +424,7 @@
372 "type": "object",
424 "type": "object",
373 "properties": {
425 "properties": {
374 "service": {
426 "service": {
375− "description": "An identifier of the service, such as the name of the executable, job, or\nGoogle App Engine module name. This field is expected to have a low number\nof values that are relatively stable over time, as opposed to\n`version`, which can be changed whenever new code is deployed.\n\nContains the module name for error reports extracted from Google\nApp Engine logs or `default` if the App Engine default module is used.",
427+ "description": "An identifier of the service, such as the name of the\nexecutable, job, or Google App Engine service name. This field is expected\nto have a low number of values that are relatively stable over time, as\nopposed to `version`, which can be changed whenever new code is deployed.\n\nContains the service name for error reports extracted from Google\nApp Engine logs or `default` if the App Engine default service is used.",
376 "type": "string"
428 "type": "string"
377 },
429 },
378 "version": {
430 "version": {
@@ -391,7 +443,7 @@
391 "type": "string"
443 "type": "string"
392 },
444 },
393 "name": {
445 "name": {
394− "description": "Group resource name.\nExample: `projects/my-project-123/groups/my-groupid`",
446+ "description": "The group resource name.\nExample: \u003ccode\u003eprojects/my-project-123/groups/my-groupid\u003c/code\u003e",
395 "type": "string"
447 "type": "string"
396 },
448 },
397 "trackingIssues": {
449 "trackingIssues": {
@@ -404,6 +456,12 @@
404 },
456 },
405 "id": "ErrorGroup"
457 "id": "ErrorGroup"
406 },
458 },
459+ "ReportErrorEventResponse": {
460+ "description": "Response for reporting an individual error event.\nData may be added to this message in the future.",
461+ "type": "object",
462+ "properties": {},
463+ "id": "ReportErrorEventResponse"
464+ },
407 "TrackingIssue": {
465 "TrackingIssue": {
408 "description": "Information related to tracking the progress on resolving the error.",
466 "description": "Information related to tracking the progress on resolving the error.",
409 "type": "object",
467 "type": "object",
@@ -426,7 +484,7 @@
426 "type": "object",
484 "type": "object",
427 "properties": {
485 "properties": {
428 "serviceContext": {
486 "serviceContext": {
429− "description": "The service_context for which this error was reported.",
487+ "description": "The `ServiceContext` for which this error was reported.",
430 "$ref": "ServiceContext"
488 "$ref": "ServiceContext"
431 },
489 },
432 "context": {
490 "context": {
@@ -486,7 +544,7 @@
486 "id": "TimedCount"
544 "id": "TimedCount"
487 },
545 },
488 "HttpRequestContext": {
546 "HttpRequestContext": {
489− "description": "HTTP request data that is related to a reported error.\nThis data should be provided by the application when reporting an error,\nunless the\nerror report has been generated automatically from Google App Engine logs.\nAll fields are optional.",
547+ "description": "HTTP request data that is related to a reported error.\nThis data should be provided by the application when reporting an error,\nunless the\nerror report has been generated automatically from Google App Engine logs.",
490 "type": "object",
548 "type": "object",
491 "properties": {
549 "properties": {
492 "method": {
550 "method": {
@@ -536,7 +594,7 @@
536 "id": "ListGroupStatsResponse"
594 "id": "ListGroupStatsResponse"
537 }
595 }
538 },
596 },
539− "revision": "20160502",
597+ "revision": "20160930",
540 "basePath": "",
598 "basePath": "",
541 "icons": {
599 "icons": {
542 "x32": "http://www.google.com/images/icons/product/search-32.gif",
600 "x32": "http://www.google.com/images/icons/product/search-32.gif",
gen/model/cloudresourcemanager/v1/cloudresourcemanager-api.json+456−72
@@ -1,12 +1,12 @@
1{
1{
2 "kind": "discovery#restDescription",
2 "kind": "discovery#restDescription",
3− "etag": "\"jQLIOHBVnDZie4rQHGH1WJF-INE/808IeaiUvRpH2AAOyroDUDw0WoY\"",
3+ "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/KWbv1ck4Hir_ldCgHUUAxKHck4c\"",
4 "discoveryVersion": "v1",
4 "discoveryVersion": "v1",
5 "id": "cloudresourcemanager:v1",
5 "id": "cloudresourcemanager:v1",
6 "name": "cloudresourcemanager",
6 "name": "cloudresourcemanager",
7 "canonicalName": "Cloud Resource Manager",
7 "canonicalName": "Cloud Resource Manager",
8 "version": "v1",
8 "version": "v1",
9− "revision": "20160316",
9+ "revision": "20160927",
10 "title": "Google Cloud Resource Manager API",
10 "title": "Google Cloud Resource Manager API",
11 "description": "The Google Cloud Resource Manager API provides methods for creating, reading, and updating project metadata.",
11 "description": "The Google Cloud Resource Manager API provides methods for creating, reading, and updating project metadata.",
12 "ownerDomain": "google.com",
12 "ownerDomain": "google.com",
@@ -114,98 +114,159 @@
114 }
114 }
115 },
115 },
116 "schemas": {
116 "schemas": {
117− "Project": {
117+ "Operation": {
118− "id": "Project",
118+ "id": "Operation",
119 "type": "object",
119 "type": "object",
120− "description": "A Project is a high-level Google Cloud Platform entity. It is a container for ACLs, APIs, AppEngine Apps, VMs, and other Google Cloud Platform resources.",
120+ "description": "This resource represents a long-running operation that is the result of a network API call.",
121 "properties": {
121 "properties": {
122− "projectNumber": {
122+ "name": {
123− "type": "string",
124− "description": "The number uniquely identifying the project. Example: 415104041262 Read-only.",
125− "format": "int64"
126− },
127− "projectId": {
128 "type": "string",
123 "type": "string",
129− "description": "The unique, user-assigned ID of the Project. It must be 6 to 30 lowercase letters, digits, or hyphens. It must start with a letter. Trailing hyphens are prohibited. Example: tokyo-rain-123 Read-only after creation."
124+ "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should have the format of `operations/some/unique/name`."
130 },
125 },
131− "lifecycleState": {
126+ "metadata": {
132− "type": "string",
127+ "type": "object",
133− "description": "The Project lifecycle state. Read-only.",
128+ "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
134− "enum": [
129+ "additionalProperties": {
135− "LIFECYCLE_STATE_UNSPECIFIED",
130+ "type": "any",
136− "ACTIVE",
131+ "description": "Properties of the object. Contains field @type with type URL."
137− "DELETE_REQUESTED",
132+ }
138− "DELETE_IN_PROGRESS"
139− ]
140 },
133 },
141− "name": {
134+ "done": {
142− "type": "string",
135+ "type": "boolean",
143− "description": "The user-assigned name of the Project. It must be 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: My Project Read-write."
136+ "description": "If the value is `false`, it means the operation is still in progress. If true, the operation is completed, and either `error` or `response` is available."
144 },
137 },
145− "createTime": {
138+ "error": {
146− "type": "string",
139+ "$ref": "Status",
147− "description": "Creation time. Read-only."
140+ "description": "The error result of the operation in case of failure."
148 },
141 },
149− "labels": {
142+ "response": {
150 "type": "object",
143 "type": "object",
151− "description": "The labels associated with this Project. Label keys must be between 1 and 63 characters long and must conform to the following regular expression: \\[a-z\\](\\[-a-z0-9\\]*\\[a-z0-9\\])?. Label values must be between 0 and 63 characters long and must conform to the regular expression (\\[a-z\\](\\[-a-z0-9\\]*\\[a-z0-9\\])?)?. No more than 256 labels can be associated with a given resource. Clients should store labels in a representation such as JSON that does not depend on specific characters being disallowed. Example: \"environment\" : \"dev\" Read-write.",
144+ "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
152 "additionalProperties": {
145 "additionalProperties": {
153− "type": "string"
146+ "type": "any",
147+ "description": "Properties of the object. Contains field @type with type URL."
154 }
148 }
149+ }
150+ }
151+ },
152+ "Status": {
153+ "id": "Status",
154+ "type": "object",
155+ "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). The error model is designed to be: - Simple to use and understand for most users - Flexible enough to meet unexpected needs # Overview The `Status` message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers *understand* and *resolve* the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package `google.rpc` which can be used for common error conditions. # Language mapping The `Status` message is the logical representation of the error model, but it is not necessarily the actual wire format. When the `Status` message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C. # Other uses The error model and the `Status` message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments. Example uses of this error model include: - Partial errors. If a service needs to return partial errors to the client, it may embed the `Status` in the normal response to indicate the partial errors. - Workflow errors. A typical workflow has multiple steps. Each step may have a `Status` message for error reporting purpose. - Batch operations. If a client uses batch request and batch response, the `Status` message should be used directly inside batch response, one for each error sub-response. - Asynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the `Status` message. - Logging. If some API errors are stored in logs, the message `Status` could be used directly after any stripping needed for security/privacy reasons.",
156+ "properties": {
157+ "code": {
158+ "type": "integer",
159+ "description": "The status code, which should be an enum value of google.rpc.Code.",
160+ "format": "int32"
155 },
161 },
156− "parent": {
162+ "message": {
157− "$ref": "ResourceId",
163+ "type": "string",
158− "description": "An optional reference to a parent Resource. The only supported parent type is \"organization\". Once set, the parent cannot be modified. Read-write."
164+ "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client."
165+ },
166+ "details": {
167+ "type": "array",
168+ "description": "A list of messages that carry the error details. There will be a common set of message types for APIs to use.",
169+ "items": {
170+ "type": "object",
171+ "additionalProperties": {
172+ "type": "any",
173+ "description": "Properties of the object. Contains field @type with type URL."
174+ }
175+ }
159 }
176 }
160 }
177 }
161 },
178 },
162− "ResourceId": {
179+ "SearchOrganizationsRequest": {
163− "id": "ResourceId",
180+ "id": "SearchOrganizationsRequest",
164 "type": "object",
181 "type": "object",
165− "description": "A container to reference an id for any resource type. A `resource` in Google Cloud Platform is a generic term for something you (a developer) may want to interact with through one of our API's. Some examples are an AppEngine app, a Compute Engine instance, a Cloud SQL database, and so on.",
182+ "description": "The request sent to the `SearchOrganizations` method.",
166 "properties": {
183 "properties": {
184+ "pageSize": {
167− "type": {
185+ "type": "integer",
186+ "description": "The maximum number of Organizations to return in the response. This field is optional.",
187+ "format": "int32"
188+ },
189+ "pageToken": {
168 "type": "string",
190 "type": "string",
169− "description": "Required field representing the resource type this id is for. At present, the only valid type is \"organization\"."
191+ "description": "A pagination token returned from a previous call to `SearchOrganizations` that indicates from where listing should continue. This field is optional."
170 },
192 },
171− "id": {
193+ "filter": {
172 "type": "string",
194 "type": "string",
173− "description": "Required field for the type-specific id. This should correspond to the id used in the type-specific API's."
195+ "description": "An optional query string used to filter the Organizations to return in the response. Filter rules are case-insensitive. Organizations may be filtered by `owner.directoryCustomerId` or by `domain`, where the domain is a Google for Work domain, for example: |Filter|Description| |------|-----------| |owner.directorycustomerid:123456789|Organizations with `owner.directory_customer_id` equal to `123456789`.| |domain:google.com|Organizations corresponding to the domain `google.com`.| This field is optional."
174 }
196 }
175 }
197 }
176 },
198 },
177− "ListProjectsResponse": {
199+ "SearchOrganizationsResponse": {
178− "id": "ListProjectsResponse",
200+ "id": "SearchOrganizationsResponse",
179 "type": "object",
201 "type": "object",
180− "description": "A page of the response received from the ListProjects method. A paginated response where more pages are available has `next_page_token` set. This token can be used in a subsequent request to retrieve the next request page.",
202+ "description": "The response returned from the `SearchOrganizations` method.",
181 "properties": {
203 "properties": {
182− "projects": {
204+ "organizations": {
183 "type": "array",
205 "type": "array",
184− "description": "The list of Projects that matched the list filter. This list can be paginated.",
206+ "description": "The list of Organizations that matched the search query, possibly paginated.",
185 "items": {
207 "items": {
186− "$ref": "Project"
208+ "$ref": "Organization"
187 }
209 }
188 },
210 },
189 "nextPageToken": {
211 "nextPageToken": {
190 "type": "string",
212 "type": "string",
191− "description": "Pagination token. If the result set is too large to fit in a single response, this token is returned. It encodes the position of the current result cursor. Feeding this value into a new list request with the `page_token` parameter gives the next page of the results. When `next_page_token` is not filled in, there is no next page and the list returned is the last page in the result set. Pagination tokens have a limited lifetime."
213+ "description": "A pagination token to be used to retrieve the next page of results. If the result is too large to fit within the page size specified in the request, this field will be set with a token that can be used to fetch the next page of results. If this field is empty, it indicates that this response contains the last page of results."
192 }
214 }
193 }
215 }
194 },
216 },
195− "Empty": {
217+ "Organization": {
196− "id": "Empty",
218+ "id": "Organization",
197 "type": "object",
219 "type": "object",
198− "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`."
220+ "description": "The root node in the resource hierarchy to which a particular entity's (e.g., company) resources belong.",
221+ "properties": {
222+ "name": {
223+ "type": "string",
224+ "description": "Output Only. The resource name of the organization. This is the organization's relative path in the API. Its format is \"organizations/[organization_id]\". For example, \"organizations/1234\"."
225+ },
226+ "displayName": {
227+ "type": "string",
228+ "description": "A friendly string to be used to refer to the Organization in the UI. Assigned by the server, set to the firm name of the Google For Work customer that owns this organization. @OutputOnly"
229+ },
230+ "owner": {
231+ "$ref": "OrganizationOwner",
232+ "description": "The owner of this Organization. The owner should be specified on creation. Once set, it cannot be changed. This field is required."
233+ },
234+ "creationTime": {
235+ "type": "string",
236+ "description": "Timestamp when the Organization was created. Assigned by the server. @OutputOnly"
237+ },
238+ "lifecycleState": {
239+ "type": "string",
240+ "description": "The organization's current lifecycle state. Assigned by the server. @OutputOnly",
241+ "enum": [
242+ "LIFECYCLE_STATE_UNSPECIFIED",
243+ "ACTIVE",
244+ "DELETE_REQUESTED"
245+ ]
246+ }
247+ }
199 },
248 },
200− "UndeleteProjectRequest": {
249+ "OrganizationOwner": {
201− "id": "UndeleteProjectRequest",
250+ "id": "OrganizationOwner",
202 "type": "object",
251 "type": "object",
203− "description": "The request sent to the UndeleteProject method."
252+ "description": "The entity that owns an Organization. The lifetime of the Organization and all of its descendants are bound to the `OrganizationOwner`. If the `OrganizationOwner` is deleted, the Organization and all its descendants will be deleted.",
253+ "properties": {
254+ "directoryCustomerId": {
255+ "type": "string",
256+ "description": "The Google for Work customer id used in the Directory API."
257+ }
258+ }
204 },
259 },
205− "GetIamPolicyRequest": {
260+ "SetIamPolicyRequest": {
206− "id": "GetIamPolicyRequest",
261+ "id": "SetIamPolicyRequest",
207 "type": "object",
262 "type": "object",
208− "description": "Request message for `GetIamPolicy` method."
263+ "description": "Request message for `SetIamPolicy` method.",
264+ "properties": {
265+ "policy": {
266+ "$ref": "Policy",
267+ "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them."
268+ }
269+ }
209 },
270 },
210 "Policy": {
271 "Policy": {
211 "id": "Policy",
272 "id": "Policy",
@@ -249,16 +310,10 @@
249 }
310 }
250 }
311 }
251 },
312 },
252− "SetIamPolicyRequest": {
313+ "GetIamPolicyRequest": {
253− "id": "SetIamPolicyRequest",
314+ "id": "GetIamPolicyRequest",
254 "type": "object",
315 "type": "object",
255− "description": "Request message for `SetIamPolicy` method.",
316+ "description": "Request message for `GetIamPolicy` method."
256− "properties": {
257− "policy": {
258− "$ref": "Policy",
259− "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them."
260− }
261− }
262 },
317 },
263 "TestIamPermissionsRequest": {
318 "TestIamPermissionsRequest": {
264 "id": "TestIamPermissionsRequest",
319 "id": "TestIamPermissionsRequest",
@@ -267,7 +322,7 @@
267 "properties": {
322 "properties": {
268 "permissions": {
323 "permissions": {
269 "type": "array",
324 "type": "array",
270− "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see IAM Overview.",
325+ "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
271 "items": {
326 "items": {
272 "type": "string"
327 "type": "string"
273 }
328 }
@@ -287,9 +342,323 @@
287 }
342 }
288 }
343 }
289 }
344 }
345+ },
346+ "Project": {
347+ "id": "Project",
348+ "type": "object",
349+ "description": "A Project is a high-level Google Cloud Platform entity. It is a container for ACLs, APIs, AppEngine Apps, VMs, and other Google Cloud Platform resources.",
350+ "properties": {
351+ "projectNumber": {
352+ "type": "string",
353+ "description": "The number uniquely identifying the project. Example: 415104041262 Read-only.",
354+ "format": "int64"
355+ },
356+ "projectId": {
357+ "type": "string",
358+ "description": "The unique, user-assigned ID of the Project. It must be 6 to 30 lowercase letters, digits, or hyphens. It must start with a letter. Trailing hyphens are prohibited. Example: tokyo-rain-123 Read-only after creation."
359+ },
360+ "lifecycleState": {
361+ "type": "string",
362+ "description": "The Project lifecycle state. Read-only.",
363+ "enum": [
364+ "LIFECYCLE_STATE_UNSPECIFIED",
365+ "ACTIVE",
366+ "DELETE_REQUESTED",
367+ "DELETE_IN_PROGRESS"
368+ ]
369+ },
370+ "name": {
371+ "type": "string",
372+ "description": "The user-assigned display name of the Project. It must be 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: My Project Read-write."
373+ },
374+ "createTime": {
375+ "type": "string",
376+ "description": "Creation time. Read-only."
377+ },
378+ "labels": {
379+ "type": "object",
380+ "description": "The labels associated with this Project. Label keys must be between 1 and 63 characters long and must conform to the following regular expression: \\[a-z\\](\\[-a-z0-9\\]*\\[a-z0-9\\])?. Label values must be between 0 and 63 characters long and must conform to the regular expression (\\[a-z\\](\\[-a-z0-9\\]*\\[a-z0-9\\])?)?. No more than 256 labels can be associated with a given resource. Clients should store labels in a representation such as JSON that does not depend on specific characters being disallowed. Example: \"environment\" : \"dev\" Read-write.",
381+ "additionalProperties": {
382+ "type": "string"
383+ }
384+ },
385+ "parent": {
386+ "$ref": "ResourceId",
387+ "description": "An optional reference to a parent Resource. The only supported parent type is \"organization\". Once set, the parent cannot be modified. Read-write."
388+ }
389+ }
390+ },
391+ "ResourceId": {
392+ "id": "ResourceId",
393+ "type": "object",
394+ "description": "A container to reference an id for any resource type. A `resource` in Google Cloud Platform is a generic term for something you (a developer) may want to interact with through one of our API's. Some examples are an AppEngine app, a Compute Engine instance, a Cloud SQL database, and so on.",
395+ "properties": {
396+ "type": {
397+ "type": "string",
398+ "description": "Required field representing the resource type this id is for. At present, the only valid type is \"organization\"."
399+ },
400+ "id": {
401+ "type": "string",
402+ "description": "Required field for the type-specific id. This should correspond to the id used in the type-specific API's."
403+ }
404+ }
405+ },
406+ "ListProjectsResponse": {
407+ "id": "ListProjectsResponse",
408+ "type": "object",
409+ "description": "A page of the response received from the ListProjects method. A paginated response where more pages are available has `next_page_token` set. This token can be used in a subsequent request to retrieve the next request page.",
410+ "properties": {
411+ "projects": {
412+ "type": "array",
413+ "description": "The list of Projects that matched the list filter. This list can be paginated.",
414+ "items": {
415+ "$ref": "Project"
416+ }
417+ },
418+ "nextPageToken": {
419+ "type": "string",
420+ "description": "Pagination token. If the result set is too large to fit in a single response, this token is returned. It encodes the position of the current result cursor. Feeding this value into a new list request with the `page_token` parameter gives the next page of the results. When `next_page_token` is not filled in, there is no next page and the list returned is the last page in the result set. Pagination tokens have a limited lifetime."
421+ }
422+ }
423+ },
424+ "Empty": {
425+ "id": "Empty",
426+ "type": "object",
427+ "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`."
428+ },
429+ "UndeleteProjectRequest": {
430+ "id": "UndeleteProjectRequest",
431+ "type": "object",
432+ "description": "The request sent to the UndeleteProject method."
433+ },
434+ "ProjectCreationStatus": {
435+ "id": "ProjectCreationStatus",
436+ "type": "object",
437+ "description": "A status object which is used as the `metadata` field for the Operation returned by CreateProject. It provides insight for when significant phases of Project creation have completed.",
438+ "properties": {
439+ "createTime": {
440+ "type": "string",
441+ "description": "Creation time of the project creation workflow."
442+ },
443+ "gettable": {
444+ "type": "boolean",
445+ "description": "True if the project can be retrieved using GetProject. No other operations on the project are guaranteed to work until the project creation is complete."
446+ },
447+ "ready": {
448+ "type": "boolean",
449+ "description": "True if the project creation process is complete."
450+ }
451+ }
452+ },
453+ "FolderOperation": {
454+ "id": "FolderOperation",
455+ "type": "object",
456+ "description": "Metadata describing a long running folder operation",
457+ "properties": {
458+ "displayName": {
459+ "type": "string",
460+ "description": "The display name of the folder."
461+ },
462+ "operationType": {
463+ "type": "string",
464+ "description": "The type of this operation.",
465+ "enum": [
466+ "OPERATION_TYPE_UNSPECIFIED",
467+ "CREATE",
468+ "MOVE"
469+ ]
470+ },
471+ "sourceParent": {
472+ "type": "string",
473+ "description": "The resource name of the folder's parent. Only applicable when the operation_type is MOVE."
474+ },
475+ "destinationParent": {
476+ "type": "string",
477+ "description": "The resource name of the folder or organization we are either creating the folder under or moving the folder to."
478+ }
479+ }
480+ },
481+ "FolderOperationError": {
482+ "id": "FolderOperationError",
483+ "type": "object",
484+ "description": "A classification of the Folder Operation error.",
485+ "properties": {
486+ "errorMessageId": {
487+ "type": "string",
488+ "description": "The type of operation error experienced.",
489+ "enum": [
490+ "ERROR_TYPE_UNSPECIFIED",
491+ "FOLDER_HEIGHT_VIOLATION",
492+ "MAX_CHILD_FOLDERS_VIOLATION",
493+ "FOLDER_NAME_UNIQUENESS_VIOLATION",
494+ "RESOURCE_DELETED",
495+ "PARENT_DELETED",
496+ "CYCLE_INTRODUCED_ERROR",
497+ "FOLDER_ALREADY_BEING_MOVED",
498+ "FOLDER_TO_DELETE_NON_EMPTY"
499+ ]
500+ }
501+ }
290 }
502 }
291 },
503 },
292 "resources": {
504 "resources": {
505+ "operations": {
506+ "methods": {
507+ "get": {
508+ "id": "cloudresourcemanager.operations.get",
509+ "path": "v1/{+name}",
510+ "httpMethod": "GET",
511+ "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
512+ "parameters": {
513+ "name": {
514+ "type": "string",
515+ "description": "The name of the operation resource.",
516+ "required": true,
517+ "pattern": "^operations/.*$",
518+ "location": "path"
519+ }
520+ },
521+ "parameterOrder": [
522+ "name"
523+ ],
524+ "response": {
525+ "$ref": "Operation"
526+ },
527+ "scopes": [
528+ "https://www.googleapis.com/auth/cloud-platform",
529+ "https://www.googleapis.com/auth/cloud-platform.read-only"
530+ ]
531+ }
532+ }
533+ },
534+ "organizations": {
535+ "methods": {
536+ "search": {
537+ "id": "cloudresourcemanager.organizations.search",
538+ "path": "v1/organizations:search",
539+ "httpMethod": "POST",
540+ "description": "Searches Organization resources that are visible to the user and satisfy the specified filter. This method returns Organizations in an unspecified order. New Organizations do not necessarily appear at the end of the results.",
541+ "request": {
542+ "$ref": "SearchOrganizationsRequest"
543+ },
544+ "response": {
545+ "$ref": "SearchOrganizationsResponse"
546+ },
547+ "scopes": [
548+ "https://www.googleapis.com/auth/cloud-platform",
549+ "https://www.googleapis.com/auth/cloud-platform.read-only"
550+ ]
551+ },
552+ "get": {
553+ "id": "cloudresourcemanager.organizations.get",
554+ "path": "v1/{+name}",
555+ "httpMethod": "GET",
556+ "description": "Fetches an Organization resource identified by the specified resource name.",
557+ "parameters": {
558+ "name": {
559+ "type": "string",
560+ "description": "The resource name of the Organization to fetch, e.g. \"organizations/1234\".",
561+ "required": true,
562+ "pattern": "^organizations/[^/]*$",
563+ "location": "path"
564+ }
565+ },
566+ "parameterOrder": [
567+ "name"
568+ ],
569+ "response": {
570+ "$ref": "Organization"
571+ },
572+ "scopes": [
573+ "https://www.googleapis.com/auth/cloud-platform",
574+ "https://www.googleapis.com/auth/cloud-platform.read-only"
575+ ]
576+ },
577+ "setIamPolicy": {
578+ "id": "cloudresourcemanager.organizations.setIamPolicy",
579+ "path": "v1/{+resource}:setIamPolicy",
580+ "httpMethod": "POST",
581+ "description": "Sets the access control policy on an Organization resource. Replaces any existing policy. The `resource` field should be the organization's resource name, e.g. \"organizations/123\".",
582+ "parameters": {
583+ "resource": {
584+ "type": "string",
585+ "description": "REQUIRED: The resource for which the policy is being specified. `resource` is usually specified as a path. For example, a Project resource is specified as `projects/{project}`.",
586+ "required": true,
587+ "pattern": "^organizations/[^/]*$",
588+ "location": "path"
589+ }
590+ },
591+ "parameterOrder": [
592+ "resource"
593+ ],
594+ "request": {
595+ "$ref": "SetIamPolicyRequest"
596+ },
597+ "response": {
598+ "$ref": "Policy"
599+ },
600+ "scopes": [
601+ "https://www.googleapis.com/auth/cloud-platform"
602+ ]
603+ },
604+ "getIamPolicy": {
605+ "id": "cloudresourcemanager.organizations.getIamPolicy",
606+ "path": "v1/{+resource}:getIamPolicy",
607+ "httpMethod": "POST",
608+ "description": "Gets the access control policy for an Organization resource. May be empty if no such policy or resource exists. The `resource` field should be the organization's resource name, e.g. \"organizations/123\".",
609+ "parameters": {
610+ "resource": {
611+ "type": "string",
612+ "description": "REQUIRED: The resource for which the policy is being requested. `resource` is usually specified as a path. For example, a Project resource is specified as `projects/{project}`.",
613+ "required": true,
614+ "pattern": "^organizations/[^/]*$",
615+ "location": "path"
616+ }
617+ },
618+ "parameterOrder": [
619+ "resource"
620+ ],
621+ "request": {
622+ "$ref": "GetIamPolicyRequest"
623+ },
624+ "response": {
625+ "$ref": "Policy"
626+ },
627+ "scopes": [
628+ "https://www.googleapis.com/auth/cloud-platform",
629+ "https://www.googleapis.com/auth/cloud-platform.read-only"
630+ ]
631+ },
632+ "testIamPermissions": {
633+ "id": "cloudresourcemanager.organizations.testIamPermissions",
634+ "path": "v1/{+resource}:testIamPermissions",
635+ "httpMethod": "POST",
636+ "description": "Returns permissions that a caller has on the specified Organization. The `resource` field should be the organization's resource name, e.g. \"organizations/123\".",
637+ "parameters": {
638+ "resource": {
639+ "type": "string",
640+ "description": "REQUIRED: The resource for which the policy detail is being requested. `resource` is usually specified as a path. For example, a Project resource is specified as `projects/{project}`.",
641+ "required": true,
642+ "pattern": "^organizations/[^/]*$",
643+ "location": "path"
644+ }
645+ },
646+ "parameterOrder": [
647+ "resource"
648+ ],
649+ "request": {
650+ "$ref": "TestIamPermissionsRequest"
651+ },
652+ "response": {
653+ "$ref": "TestIamPermissionsResponse"
654+ },
655+ "scopes": [
656+ "https://www.googleapis.com/auth/cloud-platform",
657+ "https://www.googleapis.com/auth/cloud-platform.read-only"
658+ ]
659+ }
660+ }
661+ },
293 "projects": {
662 "projects": {
294 "methods": {
663 "methods": {
295 "get": {
664 "get": {
@@ -347,6 +716,21 @@
347 "https://www.googleapis.com/auth/cloud-platform.read-only"
716 "https://www.googleapis.com/auth/cloud-platform.read-only"
348 ]
717 ]
349 },
718 },
719+ "create": {
720+ "id": "cloudresourcemanager.projects.create",
721+ "path": "v1/projects",
722+ "httpMethod": "POST",
723+ "description": "Request that a new Project be created. The result is an Operation which can be used to track the creation process. It is automatically deleted after a few hours, so there is no need to call DeleteOperation. Our SLO permits Project creation to take up to 30 seconds at the 90th percentile. As of 2016-08-29, we are observing 6 seconds 50th percentile latency. 95th percentile latency is around 11 seconds. We recommend polling at the 5th second with an exponential backoff.",
724+ "request": {
725+ "$ref": "Project"
726+ },
727+ "response": {
728+ "$ref": "Operation"
729+ },
730+ "scopes": [
731+ "https://www.googleapis.com/auth/cloud-platform"
732+ ]
733+ },
350 "update": {
734 "update": {
351 "id": "cloudresourcemanager.projects.update",
735 "id": "cloudresourcemanager.projects.update",
352 "path": "v1/projects/{projectId}",
736 "path": "v1/projects/{projectId}",
@@ -377,7 +761,7 @@
377 "id": "cloudresourcemanager.projects.delete",
761 "id": "cloudresourcemanager.projects.delete",
378 "path": "v1/projects/{projectId}",
762 "path": "v1/projects/{projectId}",
379 "httpMethod": "DELETE",
763 "httpMethod": "DELETE",
380− "description": "Marks the Project identified by the specified `project_id` (for example, `my-project-123`) for deletion. This method will only affect the Project if the following criteria are met: + The Project does not have a billing account associated with it. + The Project has a lifecycle state of ACTIVE. This method changes the Project's lifecycle state from ACTIVE to DELETE_REQUESTED. The deletion starts at an unspecified time, at which point the lifecycle state changes to DELETE_IN_PROGRESS. Until the deletion completes, you can check the lifecycle state checked by retrieving the Project with GetProject, and the Project remains visible to ListProjects. However, you cannot update the project. After the deletion completes, the Project is not retrievable by the GetProject and ListProjects methods. The caller must have modify permissions for this Project.",
764+ "description": "Marks the Project identified by the specified `project_id` (for example, `my-project-123`) for deletion. This method will only affect the Project if the following criteria are met: + The Project does not have a billing account associated with it. + The Project has a lifecycle state of ACTIVE. This method changes the Project's lifecycle state from ACTIVE to DELETE_REQUESTED. The deletion starts at an unspecified time, at which point the Project is no longer accessible. Until the deletion completes, you can check the lifecycle state checked by retrieving the Project with GetProject, and the Project remains visible to ListProjects. However, you cannot update the project. After the deletion completes, the Project is not retrievable by the GetProject and ListProjects methods. The caller must have modify permissions for this Project.",
381 "parameters": {
765 "parameters": {
382 "projectId": {
766 "projectId": {
383 "type": "string",
767 "type": "string",
@@ -400,7 +784,7 @@
400 "id": "cloudresourcemanager.projects.undelete",
784 "id": "cloudresourcemanager.projects.undelete",
401 "path": "v1/projects/{projectId}:undelete",
785 "path": "v1/projects/{projectId}:undelete",
402 "httpMethod": "POST",
786 "httpMethod": "POST",
403− "description": "Restores the Project identified by the specified `project_id` (for example, `my-project-123`). You can only use this method for a Project that has a lifecycle state of DELETE_REQUESTED. After deletion starts, as indicated by a lifecycle state of DELETE_IN_PROGRESS, the Project cannot be restored. The caller must have modify permissions for this Project.",
787+ "description": "Restores the Project identified by the specified `project_id` (for example, `my-project-123`). You can only use this method for a Project that has a lifecycle state of DELETE_REQUESTED. After deletion starts, the Project cannot be restored. The caller must have modify permissions for this Project.",
404 "parameters": {
788 "parameters": {
405 "projectId": {
789 "projectId": {
406 "type": "string",
790 "type": "string",
@@ -430,7 +814,7 @@
430 "parameters": {
814 "parameters": {
431 "resource": {
815 "resource": {
432 "type": "string",
816 "type": "string",
433− "description": "REQUIRED: The resource for which the policy is being requested. `resource` is usually specified as a path, such as `projects/*project*/zones/*zone*/disks/*disk*`. The format for the path specified in this value is resource specific and is specified in the `getIamPolicy` documentation.",
817+ "description": "REQUIRED: The resource for which the policy is being requested. `resource` is usually specified as a path. For example, a Project resource is specified as `projects/{project}`.",
434 "required": true,
818 "required": true,
435 "location": "path"
819 "location": "path"
436 }
820 }
@@ -453,11 +837,11 @@
453 "id": "cloudresourcemanager.projects.setIamPolicy",
837 "id": "cloudresourcemanager.projects.setIamPolicy",
454 "path": "v1/projects/{resource}:setIamPolicy",
838 "path": "v1/projects/{resource}:setIamPolicy",
455 "httpMethod": "POST",
839 "httpMethod": "POST",
456− "description": "Sets the IAM access control policy for the specified Project. Replaces any existing policy. The following constraints apply when using `setIamPolicy()`: + Project currently supports only `user:{emailid}` and `serviceAccount:{emailid}` members in a `Binding` of a `Policy`. + To be added as an `owner`, a user must be invited via Cloud Platform console and must accept the invitation. + Members cannot be added to more than one role in the same policy. + There must be at least one owner who has accepted the Terms of Service (ToS) agreement in the policy. Calling `setIamPolicy()` to to remove the last ToS-accepted owner from the policy will fail. + Calling this method requires enabling the App Engine Admin API. Note: Removing service accounts from policies or changing their roles can render services completely inoperable. It is important to understand how the service account is being used before removing or updating its roles.",
840+ "description": "Sets the IAM access control policy for the specified Project. Replaces any existing policy. The following constraints apply when using `setIamPolicy()`: + Project does not support `allUsers` and `allAuthenticatedUsers` as `members` in a `Binding` of a `Policy`. + The owner role can be granted only to `user` and `serviceAccount`. + Service accounts can be made owners of a project directly without any restrictions. However, to be added as an owner, a user must be invited via Cloud Platform console and must accept the invitation. + A user cannot be granted the owner role using `setIamPolicy()`. The user must be granted the owner role using the Cloud Platform Console and must explicitly accept the invitation. + Invitations to grant the owner role cannot be sent using `setIamPolicy()`; they must be sent only using the Cloud Platform Console. + Membership changes that leave the project without any owners that have accepted the Terms of Service (ToS) will be rejected. + There must be at least one owner who has accepted the Terms of Service (ToS) agreement in the policy. Calling `setIamPolicy()` to to remove the last ToS-accepted owner from the policy will fail. This restriction also applies to legacy projects that no longer have owners who have accepted the ToS. Edits to IAM policies will be rejected until the lack of a ToS-accepting owner is rectified. + Calling this method requires enabling the App Engine Admin API. Note: Removing service accounts from policies or changing their roles can render services completely inoperable. It is important to understand how the service account is being used before removing or updating its roles.",
457 "parameters": {
841 "parameters": {
458 "resource": {
842 "resource": {
459 "type": "string",
843 "type": "string",
460− "description": "REQUIRED: The resource for which the policy is being specified. `resource` is usually specified as a path, such as `projects/*project*/zones/*zone*/disks/*disk*`. The format for the path specified in this value is resource specific and is specified in the `setIamPolicy` documentation.",
844+ "description": "REQUIRED: The resource for which the policy is being specified. `resource` is usually specified as a path. For example, a Project resource is specified as `projects/{project}`.",
461 "required": true,
845 "required": true,
462 "location": "path"
846 "location": "path"
463 }
847 }
@@ -483,7 +867,7 @@
483 "parameters": {
867 "parameters": {
484 "resource": {
868 "resource": {
485 "type": "string",
869 "type": "string",
486− "description": "REQUIRED: The resource for which the policy detail is being requested. `resource` is usually specified as a path, such as `projects/*project*/zones/*zone*/disks/*disk*`. The format for the path specified in this value is resource specific and is specified in the `testIamPermissions` documentation.",
870+ "description": "REQUIRED: The resource for which the policy detail is being requested. `resource` is usually specified as a path. For example, a Project resource is specified as `projects/{project}`.",
487 "required": true,
871 "required": true,
488 "location": "path"
872 "location": "path"
489 }
873 }
gen/model/cloudresourcemanager/v1beta1/cloudresourcemanager-api.json+131−32
@@ -1,12 +1,12 @@
1{
1{
2 "kind": "discovery#restDescription",
2 "kind": "discovery#restDescription",
3− "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/GkqtFEkXnBYAQROql86wY5QBIFo\"",
3+ "etag": "\"C5oy1hgQsABtYOYIOXWcR3BgYqU/LEsmfjb1rYEGIEL137RcSgOD86w\"",
4 "discoveryVersion": "v1",
4 "discoveryVersion": "v1",
5 "id": "cloudresourcemanager:v1beta1",
5 "id": "cloudresourcemanager:v1beta1",
6 "name": "cloudresourcemanager",
6 "name": "cloudresourcemanager",
7 "canonicalName": "Cloud Resource Manager",
7 "canonicalName": "Cloud Resource Manager",
8 "version": "v1beta1",
8 "version": "v1beta1",
9− "revision": "20160518",
9+ "revision": "20160927",
10 "title": "Google Cloud Resource Manager API",
10 "title": "Google Cloud Resource Manager API",
11 "description": "The Google Cloud Resource Manager API provides methods for creating, reading, and updating project metadata.",
11 "description": "The Google Cloud Resource Manager API provides methods for creating, reading, and updating project metadata.",
12 "ownerDomain": "google.com",
12 "ownerDomain": "google.com",
@@ -140,7 +140,7 @@
140 },
140 },
141 "name": {
141 "name": {
142 "type": "string",
142 "type": "string",
143− "description": "The user-assigned name of the Project. It must be 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: My Project Read-write."
143+ "description": "The user-assigned display name of the Project. It must be 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: My Project Read-write."
144 },
144 },
145 "createTime": {
145 "createTime": {
146 "type": "string",
146 "type": "string",
@@ -166,7 +166,7 @@
166 "properties": {
166 "properties": {
167 "type": {
167 "type": {
168 "type": "string",
168 "type": "string",
169− "description": "Required field representing the resource type this id is for. At present, the only valid type is \"organization\"."
169+ "description": "Required field representing the resource type this id is for. At present, the valid types are \"project\" and \"organization\"."
170 },
170 },
171 "id": {
171 "id": {
172 "type": "string",
172 "type": "string",
@@ -297,7 +297,7 @@
297 "properties": {
297 "properties": {
298 "permissions": {
298 "permissions": {
299 "type": "array",
299 "type": "array",
300− "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see IAM Overview.",
300+ "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
301 "items": {
301 "items": {
302 "type": "string"
302 "type": "string"
303 }
303 }
@@ -341,13 +341,17 @@
341 "type": "object",
341 "type": "object",
342 "description": "The root node in the resource hierarchy to which a particular entity's (e.g., company) resources belong.",
342 "description": "The root node in the resource hierarchy to which a particular entity's (e.g., company) resources belong.",
343 "properties": {
343 "properties": {
344+ "name": {
345+ "type": "string",
346+ "description": "Output Only. The resource name of the organization. This is the organization's relative path in the API. Its format is \"organizations/[organization_id]\". For example, \"organizations/1234\"."
347+ },
344 "organizationId": {
348 "organizationId": {
345 "type": "string",
349 "type": "string",
346− "description": "An immutable id for the Organization that is assigned on creation. This should be omitted when creating a new Organization. This field is read-only."
350+ "description": "An immutable id for the Organization that is assigned on creation. This should be omitted when creating a new Organization. This field is read-only. This field is deprecated and will be removed in v1. Use name instead."
347 },
351 },
348 "displayName": {
352 "displayName": {
349 "type": "string",
353 "type": "string",
350− "description": "A friendly string to be used to refer to the Organization in the UI. This field is required."
354+ "description": "A friendly string to be used to refer to the Organization in the UI. Assigned by the server, set to the firm name of the Google For Work customer that owns this organization. @OutputOnly"
351 },
355 },
352 "owner": {
356 "owner": {
353 "$ref": "OrganizationOwner",
357 "$ref": "OrganizationOwner",
@@ -356,6 +360,15 @@
356 "creationTime": {
360 "creationTime": {
357 "type": "string",
361 "type": "string",
358 "description": "Timestamp when the Organization was created. Assigned by the server. @OutputOnly"
362 "description": "Timestamp when the Organization was created. Assigned by the server. @OutputOnly"
363+ },
364+ "lifecycleState": {
365+ "type": "string",
366+ "description": "The organization's current lifecycle state. Assigned by the server. @OutputOnly",
367+ "enum": [
368+ "LIFECYCLE_STATE_UNSPECIFIED",
369+ "ACTIVE",
370+ "DELETE_REQUESTED"
371+ ]
359 }
372 }
360 }
373 }
361 },
374 },
@@ -369,6 +382,75 @@
369 "description": "The Google for Work customer id used in the Directory API."
382 "description": "The Google for Work customer id used in the Directory API."
370 }
383 }
371 }
384 }
385+ },
386+ "ProjectCreationStatus": {
387+ "id": "ProjectCreationStatus",
388+ "type": "object",
389+ "description": "A status object which is used as the `metadata` field for the Operation returned by CreateProject. It provides insight for when significant phases of Project creation have completed.",
390+ "properties": {
391+ "createTime": {
392+ "type": "string",
393+ "description": "Creation time of the project creation workflow."
394+ },
395+ "gettable": {
396+ "type": "boolean",
397+ "description": "True if the project can be retrieved using GetProject. No other operations on the project are guaranteed to work until the project creation is complete."
398+ },
399+ "ready": {
400+ "type": "boolean",
401+ "description": "True if the project creation process is complete."
402+ }
403+ }
404+ },
405+ "FolderOperation": {
406+ "id": "FolderOperation",
407+ "type": "object",
408+ "description": "Metadata describing a long running folder operation",
409+ "properties": {
410+ "displayName": {
411+ "type": "string",
412+ "description": "The display name of the folder."
413+ },
414+ "operationType": {
415+ "type": "string",
416+ "description": "The type of this operation.",
417+ "enum": [
418+ "OPERATION_TYPE_UNSPECIFIED",
419+ "CREATE",
420+ "MOVE"
421+ ]
422+ },
423+ "sourceParent": {
424+ "type": "string",
425+ "description": "The resource name of the folder's parent. Only applicable when the operation_type is MOVE."
426+ },
427+ "destinationParent": {
428+ "type": "string",
429+ "description": "The resource name of the folder or organization we are either creating the folder under or moving the folder to."
430+ }
431+ }
432+ },
433+ "FolderOperationError": {
434+ "id": "FolderOperationError",
435+ "type": "object",
436+ "description": "A classification of the Folder Operation error.",
437+ "properties": {
438+ "errorMessageId": {
439+ "type": "string",
440+ "description": "The type of operation error experienced.",
441+ "enum": [
442+ "ERROR_TYPE_UNSPECIFIED",
443+ "FOLDER_HEIGHT_VIOLATION",
444+ "MAX_CHILD_FOLDERS_VIOLATION",
445+ "FOLDER_NAME_UNIQUENESS_VIOLATION",
446+ "RESOURCE_DELETED",
447+ "PARENT_DELETED",
448+ "CYCLE_INTRODUCED_ERROR",
449+ "FOLDER_ALREADY_BEING_MOVED",
450+ "FOLDER_TO_DELETE_NON_EMPTY"
451+ ]
452+ }
453+ }
372 }
454 }
373 },
455 },
374 "resources": {
456 "resources": {
@@ -379,6 +461,13 @@
379 "path": "v1beta1/projects",
461 "path": "v1beta1/projects",
380 "httpMethod": "POST",
462 "httpMethod": "POST",
381 "description": "Creates a Project resource. Initially, the Project resource is owned by its creator exclusively. The creator can later grant permission to others to read or update the Project. Several APIs are activated automatically for the Project, including Google Cloud Storage.",
463 "description": "Creates a Project resource. Initially, the Project resource is owned by its creator exclusively. The creator can later grant permission to others to read or update the Project. Several APIs are activated automatically for the Project, including Google Cloud Storage.",
464+ "parameters": {
465+ "useLegacyStack": {
466+ "type": "boolean",
467+ "description": "A safety hatch to opt out of the new reliable project creation process.",
468+ "location": "query"
469+ }
470+ },
382 "request": {
471 "request": {
383 "$ref": "Project"
472 "$ref": "Project"
384 },
473 },
@@ -474,7 +563,7 @@
474 "id": "cloudresourcemanager.projects.delete",
563 "id": "cloudresourcemanager.projects.delete",
475 "path": "v1beta1/projects/{projectId}",
564 "path": "v1beta1/projects/{projectId}",
476 "httpMethod": "DELETE",
565 "httpMethod": "DELETE",
477− "description": "Marks the Project identified by the specified `project_id` (for example, `my-project-123`) for deletion. This method will only affect the Project if the following criteria are met: + The Project does not have a billing account associated with it. + The Project has a lifecycle state of ACTIVE. This method changes the Project's lifecycle state from ACTIVE to DELETE_REQUESTED. The deletion starts at an unspecified time, at which point the lifecycle state changes to DELETE_IN_PROGRESS. Until the deletion completes, you can check the lifecycle state checked by retrieving the Project with GetProject, and the Project remains visible to ListProjects. However, you cannot update the project. After the deletion completes, the Project is not retrievable by the GetProject and ListProjects methods. The caller must have modify permissions for this Project.",
566+ "description": "Marks the Project identified by the specified `project_id` (for example, `my-project-123`) for deletion. This method will only affect the Project if the following criteria are met: + The Project does not have a billing account associated with it. + The Project has a lifecycle state of ACTIVE. This method changes the Project's lifecycle state from ACTIVE to DELETE_REQUESTED. The deletion starts at an unspecified time, at which point the project is no longer accessible. Until the deletion completes, you can check the lifecycle state checked by retrieving the Project with GetProject, and the Project remains visible to ListProjects. However, you cannot update the project. After the deletion completes, the Project is not retrievable by the GetProject and ListProjects methods. The caller must have modify permissions for this Project.",
478 "parameters": {
567 "parameters": {
479 "projectId": {
568 "projectId": {
480 "type": "string",
569 "type": "string",
@@ -497,7 +586,7 @@
497 "id": "cloudresourcemanager.projects.undelete",
586 "id": "cloudresourcemanager.projects.undelete",
498 "path": "v1beta1/projects/{projectId}:undelete",
587 "path": "v1beta1/projects/{projectId}:undelete",
499 "httpMethod": "POST",
588 "httpMethod": "POST",
500− "description": "Restores the Project identified by the specified `project_id` (for example, `my-project-123`). You can only use this method for a Project that has a lifecycle state of DELETE_REQUESTED. After deletion starts, as indicated by a lifecycle state of DELETE_IN_PROGRESS, the Project cannot be restored. The caller must have modify permissions for this Project.",
589+ "description": "Restores the Project identified by the specified `project_id` (for example, `my-project-123`). You can only use this method for a Project that has a lifecycle state of DELETE_REQUESTED. After deletion starts, the Project cannot be restored. The caller must have modify permissions for this Project.",
501 "parameters": {
590 "parameters": {
502 "projectId": {
591 "projectId": {
503 "type": "string",
592 "type": "string",
@@ -554,7 +643,7 @@
554 "parameters": {
643 "parameters": {
555 "resource": {
644 "resource": {
556 "type": "string",
645 "type": "string",
557− "description": "REQUIRED: The resource for which the policy is being requested. `resource` is usually specified as a path, such as `projects/*project*/zones/*zone*/disks/*disk*`. The format for the path specified in this value is resource specific and is specified in the `getIamPolicy` documentation.",
646+ "description": "REQUIRED: The resource for which the policy is being requested. `resource` is usually specified as a path. For example, a Project resource is specified as `projects/{project}`.",
558 "required": true,
647 "required": true,
559 "location": "path"
648 "location": "path"
560 }
649 }
@@ -577,11 +666,11 @@
577 "id": "cloudresourcemanager.projects.setIamPolicy",
666 "id": "cloudresourcemanager.projects.setIamPolicy",
578 "path": "v1beta1/projects/{resource}:setIamPolicy",
667 "path": "v1beta1/projects/{resource}:setIamPolicy",
579 "httpMethod": "POST",
668 "httpMethod": "POST",
580− "description": "Sets the IAM access control policy for the specified Project. Replaces any existing policy. The following constraints apply when using `setIamPolicy()`: + Project currently supports only `user:{emailid}` and `serviceAccount:{emailid}` members in a `Binding` of a `Policy`. + To be added as an `owner`, a user must be invited via Cloud Platform console and must accept the invitation. + Members cannot be added to more than one role in the same policy. + There must be at least one owner who has accepted the Terms of Service (ToS) agreement in the policy. Calling `setIamPolicy()` to to remove the last ToS-accepted owner from the policy will fail. + Calling this method requires enabling the App Engine Admin API. Note: Removing service accounts from policies or changing their roles can render services completely inoperable. It is important to understand how the service account is being used before removing or updating its roles.",
669+ "description": "Sets the IAM access control policy for the specified Project. Replaces any existing policy. The following constraints apply when using `setIamPolicy()`: + Project does not support `allUsers` and `allAuthenticatedUsers` as `members` in a `Binding` of a `Policy`. + The owner role can be granted only to `user` and `serviceAccount`. + Service accounts can be made owners of a project directly without any restrictions. However, to be added as an owner, a user must be invited via Cloud Platform console and must accept the invitation. + A user cannot be granted the owner role using `setIamPolicy()`. The user must be granted the owner role using the Cloud Platform Console and must explicitly accept the invitation. + Invitations to grant the owner role cannot be sent using `setIamPolicy()`; they must be sent only using the Cloud Platform Console. + Membership changes that leave the project without any owners that have accepted the Terms of Service (ToS) will be rejected. + There must be at least one owner who has accepted the Terms of Service (ToS) agreement in the policy. Calling `setIamPolicy()` to to remove the last ToS-accepted owner from the policy will fail. This restriction also applies to legacy projects that no longer have owners who have accepted the ToS. Edits to IAM policies will be rejected until the lack of a ToS-accepting owner is rectified. + Calling this method requires enabling the App Engine Admin API. Note: Removing service accounts from policies or changing their roles can render services completely inoperable. It is important to understand how the service account is being used before removing or updating its roles.",
581 "parameters": {
670 "parameters": {
582 "resource": {
671 "resource": {
583 "type": "string",
672 "type": "string",
584− "description": "REQUIRED: The resource for which the policy is being specified. `resource` is usually specified as a path, such as `projects/*project*/zones/*zone*/disks/*disk*`. The format for the path specified in this value is resource specific and is specified in the `setIamPolicy` documentation.",
673+ "description": "REQUIRED: The resource for which the policy is being specified. `resource` is usually specified as a path. For example, a Project resource is specified as `projects/{project}`.",
585 "required": true,
674 "required": true,
586 "location": "path"
675 "location": "path"
587 }
676 }
@@ -607,7 +696,7 @@
607 "parameters": {
696 "parameters": {
608 "resource": {
697 "resource": {
609 "type": "string",
698 "type": "string",
610− "description": "REQUIRED: The resource for which the policy detail is being requested. `resource` is usually specified as a path, such as `projects/*project*/zones/*zone*/disks/*disk*`. The format for the path specified in this value is resource specific and is specified in the `testIamPermissions` documentation.",
699+ "description": "REQUIRED: The resource for which the policy detail is being requested. `resource` is usually specified as a path. For example, a Project resource is specified as `projects/{project}`.",
611 "required": true,
700 "required": true,
612 "location": "path"
701 "location": "path"
613 }
702 }
@@ -663,19 +752,25 @@
663 },
752 },
664 "get": {
753 "get": {
665 "id": "cloudresourcemanager.organizations.get",
754 "id": "cloudresourcemanager.organizations.get",
666− "path": "v1beta1/organizations/{organizationId}",
755+ "path": "v1beta1/{+name}",
667 "httpMethod": "GET",
756 "httpMethod": "GET",
668− "description": "Fetches an Organization resource identified by the specified `organization_id`.",
757+ "description": "Fetches an Organization resource identified by the specified resource name.",
669 "parameters": {
758 "parameters": {
670− "organizationId": {
759+ "name": {
671 "type": "string",
760 "type": "string",
672− "description": "The id of the Organization resource to fetch.",
761+ "description": "The resource name of the Organization to fetch, e.g. \"organizations/1234\".",
673 "required": true,
762 "required": true,
763+ "pattern": "^organizations/[^/]*$",
674 "location": "path"
764 "location": "path"
765+ },
766+ "organizationId": {
767+ "type": "string",
768+ "description": "The id of the Organization resource to fetch. This field is deprecated and will be removed in v1. Use name instead.",
769+ "location": "query"
675 }
770 }
676 },
771 },
677 "parameterOrder": [
772 "parameterOrder": [
678− "organizationId"
773+ "name"
679 ],
774 ],
680 "response": {
775 "response": {
681 "$ref": "Organization"
776 "$ref": "Organization"
@@ -687,19 +782,20 @@
687 },
782 },
688 "update": {
783 "update": {
689 "id": "cloudresourcemanager.organizations.update",
784 "id": "cloudresourcemanager.organizations.update",
690− "path": "v1beta1/organizations/{organizationId}",
785+ "path": "v1beta1/{+name}",
691 "httpMethod": "PUT",
786 "httpMethod": "PUT",
692− "description": "Updates an Organization resource identified by the specified `organization_id`.",
787+ "description": "Updates an Organization resource identified by the specified resource name.",
693 "parameters": {
788 "parameters": {
694− "organizationId": {
789+ "name": {
695 "type": "string",
790 "type": "string",
696− "description": "An immutable id for the Organization that is assigned on creation. This should be omitted when creating a new Organization. This field is read-only.",
791+ "description": "Output Only. The resource name of the organization. This is the organization's relative path in the API. Its format is \"organizations/[organization_id]\". For example, \"organizations/1234\".",
697 "required": true,
792 "required": true,
793+ "pattern": "^organizations/[^/]*$",
698 "location": "path"
794 "location": "path"
699 }
795 }
700 },
796 },
701 "parameterOrder": [
797 "parameterOrder": [
702− "organizationId"
798+ "name"
703 ],
799 ],
704 "request": {
800 "request": {
705 "$ref": "Organization"
801 "$ref": "Organization"
@@ -713,14 +809,15 @@
713 },
809 },
714 "setIamPolicy": {
810 "setIamPolicy": {
715 "id": "cloudresourcemanager.organizations.setIamPolicy",
811 "id": "cloudresourcemanager.organizations.setIamPolicy",
716− "path": "v1beta1/organizations/{resource}:setIamPolicy",
812+ "path": "v1beta1/{+resource}:setIamPolicy",
717 "httpMethod": "POST",
813 "httpMethod": "POST",
718− "description": "Sets the access control policy on an Organization resource. Replaces any existing policy.",
814+ "description": "Sets the access control policy on an Organization resource. Replaces any existing policy. The `resource` field should be the organization's resource name, e.g. \"organizations/123\".",
719 "parameters": {
815 "parameters": {
720 "resource": {
816 "resource": {
721 "type": "string",
817 "type": "string",
722− "description": "REQUIRED: The resource for which the policy is being specified. `resource` is usually specified as a path, such as `projects/*project*/zones/*zone*/disks/*disk*`. The format for the path specified in this value is resource specific and is specified in the `setIamPolicy` documentation.",
818+ "description": "REQUIRED: The resource for which the policy is being specified. `resource` is usually specified as a path. For example, a Project resource is specified as `projects/{project}`.",
723 "required": true,
819 "required": true,
820+ "pattern": "^organizations/[^/]*$",
724 "location": "path"
821 "location": "path"
725 }
822 }
726 },
823 },
@@ -739,14 +836,15 @@
739 },
836 },
740 "getIamPolicy": {
837 "getIamPolicy": {
741 "id": "cloudresourcemanager.organizations.getIamPolicy",
838 "id": "cloudresourcemanager.organizations.getIamPolicy",
742− "path": "v1beta1/organizations/{resource}:getIamPolicy",
839+ "path": "v1beta1/{+resource}:getIamPolicy",
743 "httpMethod": "POST",
840 "httpMethod": "POST",
744− "description": "Gets the access control policy for an Organization resource. May be empty if no such policy or resource exists.",
841+ "description": "Gets the access control policy for an Organization resource. May be empty if no such policy or resource exists. The `resource` field should be the organization's resource name, e.g. \"organizations/123\".",
745 "parameters": {
842 "parameters": {
746 "resource": {
843 "resource": {
747 "type": "string",
844 "type": "string",
748− "description": "REQUIRED: The resource for which the policy is being requested. `resource` is usually specified as a path, such as `projects/*project*/zones/*zone*/disks/*disk*`. The format for the path specified in this value is resource specific and is specified in the `getIamPolicy` documentation.",
845+ "description": "REQUIRED: The resource for which the policy is being requested. `resource` is usually specified as a path. For example, a Project resource is specified as `projects/{project}`.",
749 "required": true,
846 "required": true,
847+ "pattern": "^organizations/[^/]*$",
750 "location": "path"
848 "location": "path"
751 }
849 }
752 },
850 },
@@ -766,14 +864,15 @@
766 },
864 },
767 "testIamPermissions": {
865 "testIamPermissions": {
768 "id": "cloudresourcemanager.organizations.testIamPermissions",
866 "id": "cloudresourcemanager.organizations.testIamPermissions",
769− "path": "v1beta1/organizations/{resource}:testIamPermissions",
867+ "path": "v1beta1/{+resource}:testIamPermissions",
770 "httpMethod": "POST",
868 "httpMethod": "POST",
771− "description": "Returns permissions that a caller has on the specified Organization.",
869+ "description": "Returns permissions that a caller has on the specified Organization. The `resource` field should be the organization's resource name, e.g. \"organizations/123\".",
772 "parameters": {
870 "parameters": {
773 "resource": {
871 "resource": {
774 "type": "string",
872 "type": "string",
775− "description": "REQUIRED: The resource for which the policy detail is being requested. `resource` is usually specified as a path, such as `projects/*project*/zones/*zone*/disks/*disk*`. The format for the path specified in this value is resource specific and is specified in the `testIamPermissions` documentation.",
873+ "description": "REQUIRED: The resource for which the policy detail is being requested. `resource` is usually specified as a path. For example, a Project resource is specified as `projects/{project}`.",
776 "required": true,
874 "required": true,
875+ "pattern": "^organizations/[^/]*$",
777 "location": "path"
876 "location": "path"
778 }
877 }
779 },
878 },
gen/model/compute/v0.alpha/compute-api.json+3778−802

This diff is too big to show here.

gen/model/compute/v0.beta/compute-api.json+3977−571

This diff is too big to show here.

gen/model/compute/v1/compute-api.json+5307−3060

This diff is too big to show here.

gen/model/consumersurveys/v2/consumersurveys-api.json+203−6

This diff is too big to show here.

gen/model/content/v2/content-api.json+661−3

This diff is too big to show here.

gen/model/content/v2sandbox/content-api.json+7−3

This diff is too big to show here.

gen/model/dataflow/v1b3/dataflow-api.json+590−9

This diff is too big to show here.

gen/model/datastore/v1/datastore-api.jsonnew file+1075

This diff is too big to show here.

gen/model/datastore/v1beta3/datastore-api.json+296−272

This diff is too big to show here.

gen/model/deploymentmanager/v2/deploymentmanager-api.json+351−9

This diff is too big to show here.

gen/model/dfareporting/v2.2/dfareporting-api.json+349−13

This diff is too big to show here.

gen/model/dfareporting/v2.3/dfareporting-api.json+349−13

This diff is too big to show here.

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

This diff is too big to show here.

gen/model/dfareporting/v2.5/dfareporting-api.json+518−22

This diff is too big to show here.

gen/model/dfareporting/v2.5beta1/dfareporting-api.json+516−20

This diff is too big to show here.

gen/model/dfareporting/v2.6/dfareporting-api.jsonnew file+19207

This diff is too big to show here.

gen/model/dns/v1/dns-api.json+3−3

This diff is too big to show here.

gen/model/dns/v2beta1/dns-api.jsonnew file+1406

This diff is too big to show here.

gen/model/doubleclickbidmanager/v1/doubleclickbidmanager-api.json+160−67

This diff is too big to show here.

gen/model/drive/v2/drive-api.json+38−5

This diff is too big to show here.

gen/model/drive/v3/drive-api.json+45−18

This diff is too big to show here.

gen/model/firebasedynamiclinks/v1/firebasedynamiclinks-api.jsonnew file+464

This diff is too big to show here.

gen/model/firebaserules/v1/firebaserules-api.json+36−15

This diff is too big to show here.

gen/model/fitness/v1/fitness-api.json+143−22

This diff is too big to show here.

gen/model/fusiontables/v2/fusiontables-api.json+3−3

This diff is too big to show here.

gen/model/genomics/v1/genomics-api.json+127−62

This diff is too big to show here.

gen/model/genomics/v1alpha2/genomics-api.json+126−57

This diff is too big to show here.

gen/model/genomics/v1beta2/genomics-api.json+5−5

This diff is too big to show here.

gen/model/gmail/v1/gmail-api.json+1102−2

This diff is too big to show here.

gen/model/groupssettings/v1/groupssettings-api.json+10−2

This diff is too big to show here.

gen/model/iam/v1/iam-api.json+179−195

This diff is too big to show here.

gen/model/identitytoolkit/v3/identitytoolkit-api.json+115−5

This diff is too big to show here.

gen/model/language/v1beta1/language-api.jsonnew file+750

This diff is too big to show here.

gen/model/logging/v2/logging-api.jsonnew file+1504

This diff is too big to show here.

gen/model/logging/v2beta1/logging-api.json+1299−1159

This diff is too big to show here.

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

This diff is too big to show here.

gen/model/ml/v1beta1/ml-api.jsonnew file+1380

This diff is too big to show here.

gen/model/monitoring/v3/monitoring-api.json+1586−1475

This diff is too big to show here.

gen/model/pubsub/v1/pubsub-api.json+101−16

This diff is too big to show here.

gen/model/pubsub/v1beta2/pubsub-api.json+15−15

This diff is too big to show here.

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

This diff is too big to show here.

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

This diff is too big to show here.

gen/model/runtimeconfig/v1/runtimeconfig-api.jsonnew file+322

This diff is too big to show here.

gen/model/runtimeconfig/v1beta1/runtimeconfig-api.json+108−89

This diff is too big to show here.

gen/model/script/v1/script-api.json+12−5

This diff is too big to show here.

gen/model/servicecontrol/v1/servicecontrol-api.jsonnew file+659

This diff is too big to show here.

gen/model/servicemanagement/v1/servicemanagement-api.jsonnew file+2882

This diff is too big to show here.

gen/model/sheets/v4/sheets-api.json+262−69

This diff is too big to show here.

gen/model/speech/v1beta1/speech-api.jsonnew file+529

This diff is too big to show here.

gen/model/sqladmin/v1beta3/sqladmin-api.json+6−2

This diff is too big to show here.

gen/model/sqladmin/v1beta4/sqladmin-api.json+50−4

This diff is too big to show here.

gen/model/storage/v1/storage-api.json+41−18

This diff is too big to show here.

gen/model/surveys/v2/surveys-api.jsonnew file+847

This diff is too big to show here.

gen/model/toolresults/v1beta3/toolresults-api.json+7−11

This diff is too big to show here.

gen/model/translate/v2/translate-api.json+3−3

This diff is too big to show here.

gen/model/vision/v1/vision-api.json+4−4

This diff is too big to show here.

gen/model/youtube/v3/youtube-api.json+142−11

This diff is too big to show here.

gen/script/travis-matrixdeleted−47

This diff is too big to show here.

gen/src/Gen/Syntax.hs+3

This diff is too big to show here.

gen/src/Gen/Text.hs+2

This diff is too big to show here.

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

This diff is too big to show here.

gen/src/Gen/Types/Schema.hs+2

This diff is too big to show here.

gen/stack.yaml+3−1

This diff is too big to show here.

gen/template/cabal.ede+1−1

This diff is too big to show here.

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

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/AdExchangeBuyer.hs+47

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/AdExchangeBuyer/Types.hs+42

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/AdExchangeBuyer/Types/Product.hs+498−41

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/AdExchangeBuyer/Types/Sum.hs+12−2

This diff is too big to show here.

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

This diff is too big to show here.

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

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Creatives/ListDeals.hsnew file+102

This diff is too big to show here.

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

This diff is too big to show here.

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

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Proposals/Patch.hs+2−1

This diff is too big to show here.

gogol-adexchange-buyer/gen/Network/Google/Resource/AdExchangeBuyer/Proposals/Update.hs+2−1

This diff is too big to show here.

gogol-adexchange-buyer/gogol-adexchange-buyer.cabal+4−3

This diff is too big to show here.

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

This diff is too big to show here.

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

This diff is too big to show here.

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

This diff is too big to show here.

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

This diff is too big to show here.

gogol-admin-datatransfer/gogol-admin-datatransfer.cabal+3−3

This diff is too big to show here.

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

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Directory.hs+21

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Directory/Types.hs+16

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Directory/Types/Product.hs+174−9

This diff is too big to show here.

gogol-admin-directory/gen/Network/Google/Resource/Directory/ChromeosDevices/Action.hsnew file+118

This diff is too big to show here.

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

This diff is too big to show here.

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

This diff is too big to show here.

gogol-admin-directory/gogol-admin-directory.cabal+4−3

This diff is too big to show here.

gogol-admin-emailmigration/README.md+1−1

This diff is too big to show here.

gogol-admin-emailmigration/gogol-admin-emailmigration.cabal+3−3

This diff is too big to show here.

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

This diff is too big to show here.

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

This diff is too big to show here.

gogol-admin-reports/gogol-admin-reports.cabal+5−5

This diff is too big to show here.

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

This diff is too big to show here.

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

This diff is too big to show here.

gogol-adsense/README.md+1−1

This diff is too big to show here.

gogol-adsense/gogol-adsense.cabal+3−3

This diff is too big to show here.

gogol-affiliates/README.md+1−1

This diff is too big to show here.

gogol-affiliates/gogol-affiliates.cabal+3−3

This diff is too big to show here.

gogol-analytics/README.md+1−1

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Analytics.hs+96

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Analytics/Types.hs+71

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Analytics/Types/Product.hs+733−4

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/RemarketingAudience/Get.hsnew file+123

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/RemarketingAudience/Insert.hsnew file+121

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/RemarketingAudience/List.hsnew file+148

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/RemarketingAudience/Patch.hsnew file+137

This diff is too big to show here.

gogol-analytics/gen/Network/Google/Resource/Analytics/Management/RemarketingAudience/Update.hsnew file+136

This diff is too big to show here.

gogol-analytics/gogol-analytics.cabal+8−3

This diff is too big to show here.

gogol-android-enterprise/README.md+1−1

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/AndroidEnterprise.hs+282

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/AndroidEnterprise/Types.hs+157

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/AndroidEnterprise/Types/Product.hs+1519−83

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/AndroidEnterprise/Types/Sum.hs+60

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Devices/GetState.hs+10−10

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Devices/SetState.hs+10−10

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Enterprises/AcknowledgeNotificationSet.hsnew file+95

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Enterprises/CompleteSignup.hsnew file+105

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Enterprises/CreateWebToken.hsnew file+109

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Enterprises/GenerateSignupURL.hsnew file+95

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Enterprises/GetServiceAccount.hsnew file+123

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Enterprises/GetStoreLayout.hs+6−2

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Enterprises/List.hs+10−2

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Enterprises/PullNotificationSet.hsnew file+125

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Enterprises/SetStoreLayout.hs+2−2

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ManagedConfigurationsforDevice/Delete.hsnew file+136

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ManagedConfigurationsforDevice/Get.hsnew file+135

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ManagedConfigurationsforDevice/List.hsnew file+122

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ManagedConfigurationsforDevice/Patch.hsnew file+151

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ManagedConfigurationsforDevice/Update.hsnew file+151

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ManagedConfigurationsforUser/Delete.hsnew file+121

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ManagedConfigurationsforUser/Get.hsnew file+123

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ManagedConfigurationsforUser/List.hsnew file+107

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ManagedConfigurationsforUser/Patch.hsnew file+136

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ManagedConfigurationsforUser/Update.hsnew file+136

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Products/GetAppRestrictionsSchema.hs+12−6

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Products/List.hs+6−3

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Products/UnApprove.hsnew file+103

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ServiceAccountkeys/Delete.hsnew file+107

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ServiceAccountkeys/Insert.hsnew file+109

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/ServiceAccountkeys/List.hsnew file+98

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Users/Delete.hsnew file+98

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Users/GenerateAuthenticationToken.hsnew file+111

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Users/Insert.hsnew file+107

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Users/List.hs+8−2

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Users/Patch.hsnew file+119

This diff is too big to show here.

gogol-android-enterprise/gen/Network/Google/Resource/AndroidEnterprise/Users/Update.hsnew file+117

This diff is too big to show here.

gogol-android-enterprise/gogol-android-enterprise.cabal+28−3

This diff is too big to show here.

gogol-android-publisher/README.md+1−1

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/AndroidPublisher.hs+18

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/AndroidPublisher/Types.hs+13

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/AndroidPublisher/Types/Product.hs+86−12

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/AndroidPublisher/Types/Sum.hs+22

This diff is too big to show here.

gogol-android-publisher/gen/Network/Google/Resource/AndroidPublisher/Edits/DeobfuscationFiles/Upload.hsnew file+178

This diff is too big to show here.

gogol-android-publisher/gogol-android-publisher.cabal+4−3

This diff is too big to show here.

gogol-appengine/README.md+1−1

This diff is too big to show here.

gogol-appengine/gen/Network/Google/AppEngine.hs+113−20

This diff is too big to show here.

gogol-appengine/gen/Network/Google/AppEngine/Types.hs+70−22

This diff is too big to show here.

gogol-appengine/gen/Network/Google/AppEngine/Types/Product.hs+886−516

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Get.hs+13−31

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Locations/Get.hsnew file+185

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Locations/List.hsnew file+210

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Operations/Get.hs+1−1

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Operations/List.hs+1−1

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Patch.hsnew file+194

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Repair.hsnew file+190

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Services/Delete.hs+5−5

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Services/Get.hs+5−5

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Services/List.hs+3−3

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Services/Patch.hs+33−20

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Create.hs+6−6

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Delete.hs+5−5

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Get.hs+9−5

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Instances/Debug.hsnew file+247

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Instances/Delete.hsnew file+213

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Instances/Get.hsnew file+221

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Instances/List.hs+5−5

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/List.hs+4−4

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Apps/Services/Versions/Patch.hs+47−19

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Experimental/Apps/Operations/Get.hsnew file+192

This diff is too big to show here.

gogol-appengine/gen/Network/Google/Resource/AppEngine/Experimental/Apps/Operations/List.hsnew file+222

This diff is too big to show here.

gogol-appengine/gogol-appengine.cabal+13−4

This diff is too big to show here.

gogol-apps-activity/README.md+1−1

This diff is too big to show here.

gogol-apps-activity/gogol-apps-activity.cabal+3−3

This diff is too big to show here.

gogol-apps-calendar/README.md+1−1

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/Events/List.hs+5−5

This diff is too big to show here.

gogol-apps-calendar/gen/Network/Google/Resource/Calendar/Events/Watch.hs+5−5

This diff is too big to show here.

gogol-apps-calendar/gogol-apps-calendar.cabal+3−3

This diff is too big to show here.

gogol-apps-licensing/README.md+1−1

This diff is too big to show here.

gogol-apps-licensing/gogol-apps-licensing.cabal+3−3

This diff is too big to show here.

gogol-apps-reseller/README.md+1−1

This diff is too big to show here.

gogol-apps-reseller/gogol-apps-reseller.cabal+3−3

This diff is too big to show here.

gogol-apps-tasks/README.md+1−1

This diff is too big to show here.

gogol-apps-tasks/gogol-apps-tasks.cabal+3−3

This diff is too big to show here.

gogol-appstate/README.md+1−1

This diff is too big to show here.

gogol-appstate/gogol-appstate.cabal+3−3

This diff is too big to show here.

gogol-autoscaler/README.md+1−1

This diff is too big to show here.

gogol-autoscaler/gogol-autoscaler.cabal+3−3

This diff is too big to show here.

gogol-bigquery/README.md+1−1

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/BigQuery.hs+64

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/BigQuery/Types.hs+64

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/BigQuery/Types/Product.hs+673−36

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/DataSets/List.hs+18−4

This diff is too big to show here.

gogol-bigquery/gen/Network/Google/Resource/BigQuery/Jobs/Cancel.hs+1−1

This diff is too big to show here.

gogol-bigquery/gogol-bigquery.cabal+3−3

This diff is too big to show here.

gogol-billing/README.md+1−1

This diff is too big to show here.

gogol-billing/gogol-billing.cabal+3−3

This diff is too big to show here.

gogol-blogger/README.md+1−1

This diff is too big to show here.

gogol-blogger/gogol-blogger.cabal+3−3

This diff is too big to show here.

gogol-books/README.md+1−1

This diff is too big to show here.

gogol-books/gen/Network/Google/Books.hs+20−1

This diff is too big to show here.

gogol-books/gen/Network/Google/Books/Types.hs+19

This diff is too big to show here.

gogol-books/gen/Network/Google/Books/Types/Product.hs+161−8

This diff is too big to show here.

gogol-books/gen/Network/Google/Books/Types/Sum.hs+37−2

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Volumes/List.hs+46−29

This diff is too big to show here.

gogol-books/gen/Network/Google/Resource/Books/Volumes/Mybooks/List.hs+1−1

This diff is too big to show here.

gogol-books/gogol-books.cabal+4−4

This diff is too big to show here.

gogol-civicinfo/README.md+1−1

This diff is too big to show here.

gogol-civicinfo/gen/Network/Google/CivicInfo.hs+35−1

This diff is too big to show here.

gogol-civicinfo/gen/Network/Google/CivicInfo/Types.hs+32

This diff is too big to show here.

gogol-civicinfo/gen/Network/Google/CivicInfo/Types/Product.hs+257−10

This diff is too big to show here.

gogol-civicinfo/gen/Network/Google/Resource/CivicInfo/Divisions/Search.hs+20−7

This diff is too big to show here.

gogol-civicinfo/gen/Network/Google/Resource/CivicInfo/Elections/ElectionQuery.hs+23−8

This diff is too big to show here.

gogol-civicinfo/gen/Network/Google/Resource/CivicInfo/Elections/VoterInfoQuery.hs+39−10

This diff is too big to show here.

gogol-civicinfo/gen/Network/Google/Resource/CivicInfo/Representatives/RepresentativeInfoByAddress.hs+16−3

This diff is too big to show here.

gogol-civicinfo/gen/Network/Google/Resource/CivicInfo/Representatives/RepresentativeInfoByDivision.hs+16−3

This diff is too big to show here.

gogol-civicinfo/gogol-civicinfo.cabal+6−4

This diff is too big to show here.

gogol-classroom/README.md+1−1

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Classroom.hs+65

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Classroom/Types.hs+30

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Classroom/Types/Product.hs+293−11

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/CourseWork/StudentSubmissions/List.hs+3−3

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/Courses/List.hs+18−3

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/UserProFiles/GuardianInvitations/Create.hsnew file+240

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/UserProFiles/GuardianInvitations/Get.hsnew file+212

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/UserProFiles/GuardianInvitations/List.hsnew file+269

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/UserProFiles/GuardianInvitations/Patch.hsnew file+250

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/UserProFiles/Guardians/Delete.hsnew file+210

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/UserProFiles/Guardians/Get.hsnew file+205

This diff is too big to show here.

gogol-classroom/gen/Network/Google/Resource/Classroom/UserProFiles/Guardians/List.hsnew file+257

This diff is too big to show here.

gogol-classroom/gogol-classroom.cabal+10−3

This diff is too big to show here.

gogol-cloudmonitoring/README.md+1−1

This diff is too big to show here.

gogol-cloudmonitoring/gogol-cloudmonitoring.cabal+3−3

This diff is too big to show here.

gogol-cloudtrace/README.md+1−1

This diff is too big to show here.

gogol-cloudtrace/gogol-cloudtrace.cabal+3−3

This diff is too big to show here.

gogol-compute/README.md+1−1

This diff is too big to show here.

gogol-compute/gen/Network/Google/Compute.hs+430−29

This diff is too big to show here.

gogol-compute/gen/Network/Google/Compute/Types.hs+310−29

This diff is too big to show here.

gogol-compute/gen/Network/Google/Compute/Types/Product.hs+3000−475

This diff is too big to show here.

gogol-compute/gen/Network/Google/Compute/Types/Sum.hs+497−46

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Addresses/AggregatedList.hs+32−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Addresses/Delete.hs+27−25

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Addresses/List.hs+32−14

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Autoscalers/AggregatedList.hs+32−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Autoscalers/List.hs+31−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/BackendServices/List.hs+32−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/BackendServices/Patch.hs+8−8

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/BackendServices/Update.hs+8−6

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/DiskTypes/AggregatedList.hs+33−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/DiskTypes/List.hs+32−14

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Disks/AggregatedList.hs+32−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Disks/List.hs+32−14

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Firewalls/List.hs+31−14

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/ForwardingRules/AggregatedList.hs+33−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/ForwardingRules/List.hs+33−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/GlobalAddresses/List.hs+31−14

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/GlobalForwardingRules/List.hs+33−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/GlobalOperations/AggregatedList.hs+33−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/GlobalOperations/List.hs+31−14

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/HTTPHealthChecks/List.hs+34−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/HTTPSHealthChecks/List.hs+33−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/HealthChecks/Delete.hsnew file+102

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/HealthChecks/Get.hsnew file+105

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/HealthChecks/Insert.hsnew file+103

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/HealthChecks/List.hsnew file+171

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/HealthChecks/Patch.hsnew file+118

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/HealthChecks/Update.hsnew file+117

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Images/GetFromFamily.hs+1−1

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Images/List.hs+35−20

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroupManagers/AggregatedList.hs+33−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroupManagers/List.hs+32−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroups/AggregatedList.hs+33−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroups/List.hs+33−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceGroups/ListInstances.hs+34−16

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/InstanceTemplates/List.hs+32−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/AggregatedList.hs+32−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/List.hs+32−14

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Instances/StartWithEncryptionKey.hsnew file+135

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/MachineTypes/AggregatedList.hs+33−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/MachineTypes/List.hs+33−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Networks/List.hs+31−14

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/RegionOperations/List.hs+32−14

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Regions/List.hs+62−42

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Routers/AggregatedList.hsnew file+169

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Routers/Delete.hsnew file+112

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Routers/Get.hsnew file+115

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Routers/GetRouterStatus.hsnew file+117

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Routers/Insert.hsnew file+113

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Routers/List.hsnew file+177

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Routers/Patch.hsnew file+125

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Routers/Preview.hsnew file+130

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Routers/Update.hsnew file+125

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Routes/Get.hs+17−17

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Routes/Insert.hs+16−18

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Routes/List.hs+61−42

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/SSLCertificates/List.hs+32−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Snapshots/List.hs+30−14

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Subnetworks/AggregatedList.hs+32−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Subnetworks/List.hs+33−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetHTTPProxies/List.hs+34−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetHTTPSProxies/List.hs+33−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetInstances/AggregatedList.hs+33−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetInstances/List.hs+33−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetPools/AggregatedList.hs+33−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetPools/List.hs+33−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetSSLProxies/Delete.hsnew file+102

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetSSLProxies/Get.hsnew file+106

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetSSLProxies/Insert.hsnew file+104

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetSSLProxies/List.hsnew file+173

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetSSLProxies/SetBackendService.hsnew file+124

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetSSLProxies/SetProxyHeader.hsnew file+122

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetSSLProxies/SetSSLCertificates.hsnew file+125

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetVPNGateways/AggregatedList.hs+33−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/TargetVPNGateways/List.hs+33−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/URLMaps/InvalidateCache.hsnew file+118

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/URLMaps/List.hs+31−14

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/URLMaps/Patch.hs+4−4

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/URLMaps/Update.hs+4−2

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/VPNTunnels/AggregatedList.hs+33−15

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/VPNTunnels/List.hs+32−14

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/ZoneOperations/List.hs+32−14

This diff is too big to show here.

gogol-compute/gen/Network/Google/Resource/Compute/Zones/List.hs+31−14

This diff is too big to show here.

gogol-compute/gogol-compute.cabal+27−3

This diff is too big to show here.

gogol-container/README.md+1−1

This diff is too big to show here.

gogol-container/gogol-container.cabal+3−3

This diff is too big to show here.

gogol-containerbuilder/LICENSEnew file+367

This diff is too big to show here.

gogol-containerbuilder/Makefilenew file+1

This diff is too big to show here.

gogol-containerbuilder/README.mdnew file+28

This diff is too big to show here.

gogol-containerbuilder/Setup.hsnew file+2

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/ContainerBuilder.hsnew file+274

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/ContainerBuilder/Types.hsnew file+215

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/ContainerBuilder/Types/Product.hsnew file+1520

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/ContainerBuilder/Types/Sum.hsnew file+170

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/Resource/Cloudbuild/Operations/Get.hsnew file+169

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/Resource/Cloudbuild/Operations/List.hsnew file+210

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/Cancel.hsnew file+197

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/Create.hsnew file+185

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/Get.hsnew file+187

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/Resource/Cloudbuild/Projects/Builds/List.hsnew file+211

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Create.hsnew file+185

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Delete.hsnew file+186

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Get.hsnew file+185

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/List.hsnew file+173

This diff is too big to show here.

gogol-containerbuilder/gen/Network/Google/Resource/Cloudbuild/Projects/Triggers/Patch.hsnew file+200

This diff is too big to show here.

gogol-containerbuilder/gogol-containerbuilder.cabalnew file+56

This diff is too big to show here.

gogol-containerbuilder/src/.gitkeepnew file

No changes to the content.

gogol-customsearch/README.md+1−1

This diff is too big to show here.

gogol-customsearch/gogol-customsearch.cabal+3−3

This diff is too big to show here.

gogol-dataflow/README.md+1−1

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Dataflow.hs+174−2

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Dataflow/Types.hs+157

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Dataflow/Types/Product.hs+1434−43

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Jobs/Debug/GetConfig.hsnew file+206

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Jobs/Debug/SendCapture.hsnew file+206

This diff is too big to show here.

gogol-dataflow/gen/Network/Google/Resource/Dataflow/Projects/Templates/Create.hsnew file+186

This diff is too big to show here.

gogol-dataflow/gogol-dataflow.cabal+6−3

This diff is too big to show here.

gogol-dataproc/README.md+1−1

This diff is too big to show here.

gogol-dataproc/gogol-dataproc.cabal+3−3

This diff is too big to show here.

gogol-datastore/README.md+1−1

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Datastore.hs+5

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Datastore/Types.hs+7−2

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Datastore/Types/Product.hs+114−33

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Projects/AllocateIds.hs+1−1

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Projects/BeginTransaction.hs+1−1

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Projects/Commit.hs+1−1

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Projects/Lookup.hs+1−1

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Projects/Rollback.hs+1−1

This diff is too big to show here.

gogol-datastore/gen/Network/Google/Resource/Datastore/Projects/RunQuery.hs+1−1

This diff is too big to show here.

gogol-datastore/gogol-datastore.cabal+4−4

This diff is too big to show here.

gogol-debugger/README.md+2−2

This diff is too big to show here.

gogol-debugger/gen/Network/Google/Debugger.hs+2−3

This diff is too big to show here.

gogol-debugger/gen/Network/Google/Debugger/Types.hs+1−6

This diff is too big to show here.

gogol-debugger/gen/Network/Google/Resource/CloudDebugger/Controller/Debuggees/Breakpoints/List.hs+2−2

This diff is too big to show here.

gogol-debugger/gen/Network/Google/Resource/CloudDebugger/Controller/Debuggees/Breakpoints/Update.hs+2−2

This diff is too big to show here.

gogol-debugger/gen/Network/Google/Resource/CloudDebugger/Controller/Debuggees/Register.hs+2−2

This diff is too big to show here.

gogol-debugger/gen/Network/Google/Resource/CloudDebugger/Debugger/Debuggees/Breakpoints/Delete.hs+1−1

This diff is too big to show here.

gogol-debugger/gen/Network/Google/Resource/CloudDebugger/Debugger/Debuggees/Breakpoints/Get.hs+1−1

This diff is too big to show here.

gogol-debugger/gen/Network/Google/Resource/CloudDebugger/Debugger/Debuggees/Breakpoints/List.hs+1−1

This diff is too big to show here.

gogol-debugger/gen/Network/Google/Resource/CloudDebugger/Debugger/Debuggees/Breakpoints/Set.hs+1−1

This diff is too big to show here.

gogol-debugger/gen/Network/Google/Resource/CloudDebugger/Debugger/Debuggees/List.hs+1−1

This diff is too big to show here.

gogol-debugger/gogol-debugger.cabal+4−4

This diff is too big to show here.

gogol-deploymentmanager/README.md+1−1

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/DeploymentManager.hs+87

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/DeploymentManager/Types.hs+72

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/DeploymentManager/Types/Product.hs+686−7

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Deployments/GetIAMPolicy.hsnew file+104

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Deployments/List.hs+6−7

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Deployments/SetIAMPolicy.hsnew file+117

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Deployments/TestIAMPermissions.hsnew file+119

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Manifests/List.hs+6−7

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Operations/List.hs+6−7

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Resources/List.hs+6−7

This diff is too big to show here.

gogol-deploymentmanager/gen/Network/Google/Resource/DeploymentManager/Types/List.hs+6−7

This diff is too big to show here.

gogol-deploymentmanager/gogol-deploymentmanager.cabal+6−3

This diff is too big to show here.

gogol-dfareporting/README.md+1−1

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/DFAReporting.hs+106−5

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/DFAReporting/Types.hs+77−6

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/DFAReporting/Types/Product.hs+828−128

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/DFAReporting/Types/Sum.hs+1054−5

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/AccountActiveAdSummaries/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/AccountPermissionGroups/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/AccountPermissionGroups/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/AccountPermissions/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/AccountPermissions/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/AccountUserProFiles/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/AccountUserProFiles/Insert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/AccountUserProFiles/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/AccountUserProFiles/Patch.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/AccountUserProFiles/Update.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Accounts/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Accounts/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Accounts/Patch.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Accounts/Update.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Ads/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Ads/Insert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Ads/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Ads/Patch.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Ads/Update.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/AdvertiserGroups/Delete.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/AdvertiserGroups/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/AdvertiserGroups/Insert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/AdvertiserGroups/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/AdvertiserGroups/Patch.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/AdvertiserGroups/Update.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Advertisers/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Advertisers/Insert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Advertisers/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Advertisers/Patch.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Advertisers/Update.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Browsers/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/CampaignCreativeAssociations/Insert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/CampaignCreativeAssociations/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Campaigns/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Campaigns/Insert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Campaigns/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Campaigns/Patch.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Campaigns/Update.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/ChangeLogs/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/ChangeLogs/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Cities/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/ConnectionTypes/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/ConnectionTypes/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/ContentCategories/Delete.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/ContentCategories/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/ContentCategories/Insert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/ContentCategories/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/ContentCategories/Patch.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/ContentCategories/Update.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Conversions/Batchinsert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Countries/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Countries/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/CreativeAssets/Insert.hs+3−3

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/CreativeFieldValues/Delete.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/CreativeFieldValues/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/CreativeFieldValues/Insert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/CreativeFieldValues/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/CreativeFieldValues/Patch.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/CreativeFieldValues/Update.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/CreativeFields/Delete.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/CreativeFields/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/CreativeFields/Insert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/CreativeFields/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/CreativeFields/Patch.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/CreativeFields/Update.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/CreativeGroups/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/CreativeGroups/Insert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/CreativeGroups/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/CreativeGroups/Patch.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/CreativeGroups/Update.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Creatives/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Creatives/Insert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Creatives/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Creatives/Patch.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Creatives/Update.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/DimensionValues/Query.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/DirectorySiteContacts/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/DirectorySiteContacts/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/DirectorySites/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/DirectorySites/Insert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/DirectorySites/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/DynamicTargetingKeys/Delete.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/DynamicTargetingKeys/Insert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/DynamicTargetingKeys/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/EventTags/Delete.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/EventTags/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/EventTags/Insert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/EventTags/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/EventTags/Patch.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/EventTags/Update.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Files/Get.hs+3−3

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Files/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/FloodlightActivities/Delete.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/FloodlightActivities/Generatetag.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/FloodlightActivities/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/FloodlightActivities/Insert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/FloodlightActivities/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/FloodlightActivities/Patch.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/FloodlightActivities/Update.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/FloodlightActivityGroups/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/FloodlightActivityGroups/Insert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/FloodlightActivityGroups/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/FloodlightActivityGroups/Patch.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/FloodlightActivityGroups/Update.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/FloodlightConfigurations/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/FloodlightConfigurations/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/FloodlightConfigurations/Patch.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/FloodlightConfigurations/Update.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/InventoryItems/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/InventoryItems/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/LandingPages/Delete.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/LandingPages/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/LandingPages/Insert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/LandingPages/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/LandingPages/Patch.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/LandingPages/Update.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Languages/List.hsnew file+87

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Metros/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/MobileCarriers/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/MobileCarriers/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/OperatingSystemVersions/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/OperatingSystemVersions/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/OperatingSystems/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/OperatingSystems/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/OrderDocuments/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/OrderDocuments/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Orders/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Orders/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/PlacementGroups/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/PlacementGroups/Insert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/PlacementGroups/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/PlacementGroups/Patch.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/PlacementGroups/Update.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/PlacementStrategies/Delete.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/PlacementStrategies/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/PlacementStrategies/Insert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/PlacementStrategies/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/PlacementStrategies/Patch.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/PlacementStrategies/Update.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Placements/Generatetags.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Placements/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Placements/Insert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Placements/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Placements/Patch.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Placements/Update.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/PlatformTypes/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/PlatformTypes/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/PostalCodes/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/PostalCodes/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Projects/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Projects/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Regions/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/RemarketingListShares/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/RemarketingListShares/Patch.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/RemarketingListShares/Update.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/RemarketingLists/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/RemarketingLists/Insert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/RemarketingLists/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/RemarketingLists/Patch.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/RemarketingLists/Update.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Reports/CompatibleFields/Query.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Reports/Delete.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Reports/Files/Get.hs+3−3

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Reports/Files/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Reports/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Reports/Insert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Reports/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Reports/Patch.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Reports/Run.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Reports/Update.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Sites/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Sites/Insert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Sites/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Sites/Patch.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Sites/Update.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Sizes/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Sizes/Insert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/Sizes/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/SubAccounts/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/SubAccounts/Insert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/SubAccounts/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/SubAccounts/Patch.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/SubAccounts/Update.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/TargetableRemarketingLists/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/TargetableRemarketingLists/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/TargetingTemplates/Get.hsnew file+101

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/TargetingTemplates/Insert.hsnew file+101

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/TargetingTemplates/List.hsnew file+189

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/TargetingTemplates/Patch.hsnew file+116

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/TargetingTemplates/Update.hsnew file+101

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/UserProFiles/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/UserProFiles/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/UserRolePermissionGroups/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/UserRolePermissionGroups/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/UserRolePermissions/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/UserRolePermissions/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/UserRoles/Delete.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/UserRoles/Get.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/UserRoles/Insert.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/UserRoles/List.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/UserRoles/Patch.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gen/Network/Google/Resource/DFAReporting/UserRoles/Update.hs+2−2

This diff is too big to show here.

gogol-dfareporting/gogol-dfareporting.cabal+10−4

This diff is too big to show here.

gogol-discovery/README.md+1−1

This diff is too big to show here.

gogol-discovery/gogol-discovery.cabal+3−3

This diff is too big to show here.

gogol-dns/README.md+1−1

This diff is too big to show here.

gogol-dns/gen/Network/Google/DNS.hs+154−2

This diff is too big to show here.

gogol-dns/gen/Network/Google/DNS/Types.hs+124−2

This diff is too big to show here.

gogol-dns/gen/Network/Google/DNS/Types/Product.hs+916−14

This diff is too big to show here.

gogol-dns/gen/Network/Google/DNS/Types/Sum.hs+297−11

This diff is too big to show here.

gogol-dns/gen/Network/Google/Resource/DNS/Changes/Create.hs+22−7

This diff is too big to show here.

gogol-dns/gen/Network/Google/Resource/DNS/Changes/Get.hs+20−5

This diff is too big to show here.

gogol-dns/gen/Network/Google/Resource/DNS/Changes/List.hs+1−1

This diff is too big to show here.

gogol-dns/gen/Network/Google/Resource/DNS/DNSkeys/Get.hsnew file+146

This diff is too big to show here.

gogol-dns/gen/Network/Google/Resource/DNS/DNSkeys/List.hsnew file+146

This diff is too big to show here.

gogol-dns/gen/Network/Google/Resource/DNS/ManagedZoneOperations/Get.hsnew file+133

This diff is too big to show here.

gogol-dns/gen/Network/Google/Resource/DNS/ManagedZoneOperations/List.hsnew file+149

This diff is too big to show here.

gogol-dns/gen/Network/Google/Resource/DNS/ManagedZones/Create.hs+22−7

This diff is too big to show here.

gogol-dns/gen/Network/Google/Resource/DNS/ManagedZones/Delete.hs+24−6

This diff is too big to show here.

gogol-dns/gen/Network/Google/Resource/DNS/ManagedZones/Get.hs+21−5

This diff is too big to show here.

gogol-dns/gen/Network/Google/Resource/DNS/ManagedZones/List.hs+1−1

This diff is too big to show here.

gogol-dns/gen/Network/Google/Resource/DNS/ManagedZones/Patch.hsnew file+132

This diff is too big to show here.

gogol-dns/gen/Network/Google/Resource/DNS/ManagedZones/Update.hsnew file+131

This diff is too big to show here.

gogol-dns/gen/Network/Google/Resource/DNS/Projects/Get.hs+20−5

This diff is too big to show here.

gogol-dns/gen/Network/Google/Resource/DNS/ResourceRecordSets/List.hs+1−1

This diff is too big to show here.

gogol-dns/gogol-dns.cabal+10−4

This diff is too big to show here.

gogol-doubleclick-bids/README.md+1−1

This diff is too big to show here.

gogol-doubleclick-bids/gen/Network/Google/DoubleClickBids.hs+26−22

This diff is too big to show here.

gogol-doubleclick-bids/gen/Network/Google/DoubleClickBids/Types.hs+22−18

This diff is too big to show here.

gogol-doubleclick-bids/gen/Network/Google/DoubleClickBids/Types/Product.hs+148−158

This diff is too big to show here.

gogol-doubleclick-bids/gen/Network/Google/DoubleClickBids/Types/Sum.hs+214−1

This diff is too big to show here.

gogol-doubleclick-bids/gen/Network/Google/Resource/DoubleClickBidManager/Rubicon/Notifyproposalchange.hsdeleted−87

This diff is too big to show here.

gogol-doubleclick-bids/gen/Network/Google/Resource/DoubleClickBidManager/Sdf/Download.hsnew file+85

This diff is too big to show here.

gogol-doubleclick-bids/gogol-doubleclick-bids.cabal+4−4

This diff is too big to show here.

gogol-doubleclick-search/README.md+1−1

This diff is too big to show here.

gogol-doubleclick-search/gogol-doubleclick-search.cabal+3−3

This diff is too big to show here.

gogol-drive/README.md+1−1

This diff is too big to show here.

gogol-drive/gen/Network/Google/Drive.hs+2

This diff is too big to show here.

gogol-drive/gen/Network/Google/Drive/Types.hs+2

This diff is too big to show here.

gogol-drive/gen/Network/Google/Drive/Types/Product.hs+66−24

This diff is too big to show here.

gogol-drive/gen/Network/Google/Resource/Drive/Permissions/Update.hs+17−4

This diff is too big to show here.

gogol-drive/gen/Network/Google/Resource/Drive/Revisions/List.hs+32−5

This diff is too big to show here.

gogol-drive/gogol-drive.cabal+3−3

This diff is too big to show here.

gogol-firebase-dynamiclinks/LICENSEnew file+367

This diff is too big to show here.

gogol-firebase-dynamiclinks/Makefilenew file+1

This diff is too big to show here.

gogol-firebase-dynamiclinks/README.mdnew file+28

This diff is too big to show here.

gogol-firebase-dynamiclinks/Setup.hsnew file+2

This diff is too big to show here.

gogol-firebase-dynamiclinks/gen/Network/Google/FirebaseDynamicLinks.hsnew file+143

This diff is too big to show here.

gogol-firebase-dynamiclinks/gen/Network/Google/FirebaseDynamicLinks/Types.hsnew file+133

This diff is too big to show here.

gogol-firebase-dynamiclinks/gen/Network/Google/FirebaseDynamicLinks/Types/Product.hsnew file+805

This diff is too big to show here.

gogol-firebase-dynamiclinks/gen/Network/Google/FirebaseDynamicLinks/Types/Sum.hsnew file+255

This diff is too big to show here.

gogol-firebase-dynamiclinks/gen/Network/Google/Resource/FirebaseDynamicLinks/ShortLinks/Create.hsnew file+182

This diff is too big to show here.

gogol-firebase-dynamiclinks/gogol-firebase-dynamiclinks.cabalnew file+47

This diff is too big to show here.

gogol-firebase-dynamiclinks/src/.gitkeepnew file

No changes to the content.

gogol-firebase-rules/README.md+1−1

This diff is too big to show here.

gogol-firebase-rules/gen/Network/Google/FirebaseRules.hs+3−1

This diff is too big to show here.

gogol-firebase-rules/gen/Network/Google/FirebaseRules/Types.hs+10

This diff is too big to show here.

gogol-firebase-rules/gen/Network/Google/Resource/FirebaseRules/Projects/Releases/Create.hs+3−2

This diff is too big to show here.

gogol-firebase-rules/gen/Network/Google/Resource/FirebaseRules/Projects/Releases/Delete.hs+3−2

This diff is too big to show here.

gogol-firebase-rules/gen/Network/Google/Resource/FirebaseRules/Projects/Releases/Get.hs+4−2

This diff is too big to show here.

gogol-firebase-rules/gen/Network/Google/Resource/FirebaseRules/Projects/Releases/List.hs+4−2

This diff is too big to show here.

gogol-firebase-rules/gen/Network/Google/Resource/FirebaseRules/Projects/Releases/Update.hs+3−2

This diff is too big to show here.

gogol-firebase-rules/gen/Network/Google/Resource/FirebaseRules/Projects/Rulesets/Create.hs+3−2

This diff is too big to show here.

gogol-firebase-rules/gen/Network/Google/Resource/FirebaseRules/Projects/Rulesets/Delete.hs+3−2

This diff is too big to show here.

gogol-firebase-rules/gen/Network/Google/Resource/FirebaseRules/Projects/Rulesets/Get.hs+4−2

This diff is too big to show here.

gogol-firebase-rules/gen/Network/Google/Resource/FirebaseRules/Projects/Rulesets/List.hs+4−2

This diff is too big to show here.

gogol-firebase-rules/gen/Network/Google/Resource/FirebaseRules/Projects/Test.hs+4−2

This diff is too big to show here.

gogol-firebase-rules/gogol-firebase-rules.cabal+3−3

This diff is too big to show here.

gogol-fitness/README.md+1−1

This diff is too big to show here.

gogol-fitness/gen/Network/Google/Fitness.hs+24−1

This diff is too big to show here.

gogol-fitness/gen/Network/Google/Fitness/Types.hs+30

This diff is too big to show here.

gogol-fitness/gen/Network/Google/Fitness/Types/Product.hs+137−26

This diff is too big to show here.

gogol-fitness/gen/Network/Google/Fitness/Types/Sum.hs+150

This diff is too big to show here.

gogol-fitness/gen/Network/Google/Resource/Fitness/Users/DataSet/Aggregate.hs+3−1

This diff is too big to show here.

gogol-fitness/gen/Network/Google/Resource/Fitness/Users/DataSources/Create.hs+2−1

This diff is too big to show here.

gogol-fitness/gen/Network/Google/Resource/Fitness/Users/DataSources/DataSets/Delete.hs+2−1

This diff is too big to show here.

gogol-fitness/gen/Network/Google/Resource/Fitness/Users/DataSources/DataSets/Get.hs+4−2

This diff is too big to show here.

gogol-fitness/gen/Network/Google/Resource/Fitness/Users/DataSources/DataSets/Patch.hs+2−1

This diff is too big to show here.

gogol-fitness/gen/Network/Google/Resource/Fitness/Users/DataSources/Delete.hs+6−3

This diff is too big to show here.

gogol-fitness/gen/Network/Google/Resource/Fitness/Users/DataSources/Get.hs+5−3

This diff is too big to show here.

gogol-fitness/gen/Network/Google/Resource/Fitness/Users/DataSources/List.hs+7−5

This diff is too big to show here.

gogol-fitness/gen/Network/Google/Resource/Fitness/Users/DataSources/Patch.hs+10−13

This diff is too big to show here.

gogol-fitness/gen/Network/Google/Resource/Fitness/Users/DataSources/Update.hs+8−11

This diff is too big to show here.

gogol-fitness/gen/Network/Google/Resource/Fitness/Users/Sessions/List.hs+3−1

This diff is too big to show here.

gogol-fitness/gogol-fitness.cabal+5−4

This diff is too big to show here.

gogol-fonts/README.md+1−1

This diff is too big to show here.

gogol-fonts/gogol-fonts.cabal+3−3

This diff is too big to show here.

gogol-freebasesearch/README.md+1−1

This diff is too big to show here.

gogol-freebasesearch/gogol-freebasesearch.cabal+3−3

This diff is too big to show here.

gogol-fusiontables/README.md+1−1

This diff is too big to show here.

gogol-fusiontables/gen/Network/Google/FusionTables/Types/Product.hs+2−1

This diff is too big to show here.

gogol-fusiontables/gogol-fusiontables.cabal+3−3

This diff is too big to show here.

gogol-games-configuration/README.md+1−1

This diff is too big to show here.

gogol-games-configuration/gogol-games-configuration.cabal+3−3

This diff is too big to show here.

gogol-games-management/README.md+1−1

This diff is too big to show here.

gogol-games-management/gogol-games-management.cabal+3−3

This diff is too big to show here.

gogol-games/README.md+1−1

This diff is too big to show here.

gogol-games/gogol-games.cabal+3−3

This diff is too big to show here.

gogol-genomics/README.md+1−1

This diff is too big to show here.

gogol-genomics/gen/Network/Google/Genomics.hs+25−3

This diff is too big to show here.

gogol-genomics/gen/Network/Google/Genomics/Types.hs+24

This diff is too big to show here.

gogol-genomics/gen/Network/Google/Genomics/Types/Product.hs+260−34

This diff is too big to show here.

gogol-genomics/gen/Network/Google/Resource/Genomics/DataSets/List.hs+1−1

This diff is too big to show here.

gogol-genomics/gen/Network/Google/Resource/Genomics/ReadGroupSets/Export.hs+2−4

This diff is too big to show here.

gogol-genomics/gogol-genomics.cabal+4−6

This diff is too big to show here.

gogol-gmail/README.md+1−1

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Gmail.hs+246−1

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Gmail/Types.hs+137

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Gmail/Types/Product.hs+985

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Gmail/Types/Sum.hs+281

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Resource/Gmail/Users/Drafts/List.hs+20−8

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Resource/Gmail/Users/Settings/Filters/Create.hsnew file+101

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Resource/Gmail/Users/Settings/Filters/Delete.hsnew file+99

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Resource/Gmail/Users/Settings/Filters/Get.hsnew file+101

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Resource/Gmail/Users/Settings/Filters/List.hsnew file+92

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Resource/Gmail/Users/Settings/ForwardingAddresses/Create.hsnew file+111

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Resource/Gmail/Users/Settings/ForwardingAddresses/Delete.hsnew file+107

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Resource/Gmail/Users/Settings/ForwardingAddresses/Get.hsnew file+110

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Resource/Gmail/Users/Settings/ForwardingAddresses/List.hsnew file+95

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Resource/Gmail/Users/Settings/GetAutoForwarding.hsnew file+94

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Resource/Gmail/Users/Settings/GetImap.hsnew file+90

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Resource/Gmail/Users/Settings/GetPop.hsnew file+90

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Resource/Gmail/Users/Settings/GetVacation.hsnew file+91

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Resource/Gmail/Users/Settings/SendAs/Create.hsnew file+115

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Resource/Gmail/Users/Settings/SendAs/Delete.hsnew file+104

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Resource/Gmail/Users/Settings/SendAs/Get.hsnew file+106

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Resource/Gmail/Users/Settings/SendAs/List.hsnew file+95

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Resource/Gmail/Users/Settings/SendAs/Patch.hsnew file+119

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Resource/Gmail/Users/Settings/SendAs/Update.hsnew file+118

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Resource/Gmail/Users/Settings/SendAs/Verify.hsnew file+105

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Resource/Gmail/Users/Settings/UpdateAutoForwarding.hsnew file+108

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Resource/Gmail/Users/Settings/UpdateImap.hsnew file+101

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Resource/Gmail/Users/Settings/UpdatePop.hsnew file+101

This diff is too big to show here.

gogol-gmail/gen/Network/Google/Resource/Gmail/Users/Settings/UpdateVacation.hsnew file+103

This diff is too big to show here.

gogol-gmail/gogol-gmail.cabal+26−3

This diff is too big to show here.

gogol-groups-migration/README.md+1−1

This diff is too big to show here.

gogol-groups-migration/gogol-groups-migration.cabal+3−3

This diff is too big to show here.

gogol-groups-settings/README.md+1−1

This diff is too big to show here.

gogol-groups-settings/gen/Network/Google/GroupsSettings.hs+2

This diff is too big to show here.

gogol-groups-settings/gen/Network/Google/GroupsSettings/Types.hs+2

This diff is too big to show here.

gogol-groups-settings/gen/Network/Google/GroupsSettings/Types/Product.hs+24

This diff is too big to show here.

gogol-groups-settings/gogol-groups-settings.cabal+3−3

This diff is too big to show here.

gogol-iam/LICENSEnew file+367

This diff is too big to show here.

gogol-iam/Makefilenew file+1

This diff is too big to show here.

gogol-iam/README.mdnew file+28

This diff is too big to show here.

gogol-iam/Setup.hsnew file+2

This diff is too big to show here.

gogol-iam/gen/Network/Google/IAM.hsnew file+238

This diff is too big to show here.

gogol-iam/gen/Network/Google/IAM/Types.hsnew file+160

This diff is too big to show here.

gogol-iam/gen/Network/Google/IAM/Types/Product.hsnew file+1107

This diff is too big to show here.

gogol-iam/gen/Network/Google/IAM/Types/Sum.hsnew file+19

This diff is too big to show here.

gogol-kgsearch/gen/Network/Google/Resource/IAM/Projects/ServiceAccounts/Create.hs → gogol-iam/gen/Network/Google/Resource/IAM/Projects/ServiceAccounts/Create.hsrenamed+6−6

This diff is too big to show here.

gogol-kgsearch/gen/Network/Google/Resource/IAM/Projects/ServiceAccounts/Delete.hs → gogol-iam/gen/Network/Google/Resource/IAM/Projects/ServiceAccounts/Delete.hsrenamed+10−10

This diff is too big to show here.

gogol-kgsearch/gen/Network/Google/Resource/IAM/Projects/ServiceAccounts/Get.hs → gogol-iam/gen/Network/Google/Resource/IAM/Projects/ServiceAccounts/Get.hsrenamed+10−10

This diff is too big to show here.

gogol-kgsearch/gen/Network/Google/Resource/IAM/Projects/ServiceAccounts/GetIAMPolicy.hs → gogol-iam/gen/Network/Google/Resource/IAM/Projects/ServiceAccounts/GetIAMPolicy.hsrenamed+7−9

This diff is too big to show here.

gogol-kgsearch/gen/Network/Google/Resource/IAM/Projects/ServiceAccounts/Keys/Create.hs → gogol-iam/gen/Network/Google/Resource/IAM/Projects/ServiceAccounts/Keys/Create.hsrenamed+10−10

This diff is too big to show here.

gogol-kgsearch/gen/Network/Google/Resource/IAM/Projects/ServiceAccounts/Keys/Delete.hs → gogol-iam/gen/Network/Google/Resource/IAM/Projects/ServiceAccounts/Keys/Delete.hsrenamed+10−10

This diff is too big to show here.

gogol-kgsearch/gen/Network/Google/Resource/IAM/Projects/ServiceAccounts/Keys/Get.hs → gogol-iam/gen/Network/Google/Resource/IAM/Projects/ServiceAccounts/Keys/Get.hsrenamed+25−11

This diff is too big to show here.

gogol-kgsearch/gen/Network/Google/Resource/IAM/Projects/ServiceAccounts/Keys/List.hs → gogol-iam/gen/Network/Google/Resource/IAM/Projects/ServiceAccounts/Keys/List.hsrenamed+12−11

This diff is too big to show here.

gogol-kgsearch/gen/Network/Google/Resource/IAM/Projects/ServiceAccounts/List.hs → gogol-iam/gen/Network/Google/Resource/IAM/Projects/ServiceAccounts/List.hsrenamed+8−8

This diff is too big to show here.

gogol-kgsearch/gen/Network/Google/Resource/IAM/Projects/ServiceAccounts/SetIAMPolicy.hs → gogol-iam/gen/Network/Google/Resource/IAM/Projects/ServiceAccounts/SetIAMPolicy.hsrenamed+7−9

This diff is too big to show here.

gogol-kgsearch/gen/Network/Google/Resource/IAM/Projects/ServiceAccounts/SignBlob.hs → gogol-iam/gen/Network/Google/Resource/IAM/Projects/ServiceAccounts/SignBlob.hsrenamed+10−10

This diff is too big to show here.

gogol-kgsearch/gen/Network/Google/Resource/IAM/Projects/ServiceAccounts/TestIAMPermissions.hs → gogol-iam/gen/Network/Google/Resource/IAM/Projects/ServiceAccounts/TestIAMPermissions.hsrenamed+7−9

This diff is too big to show here.

gogol-kgsearch/gen/Network/Google/Resource/IAM/Projects/ServiceAccounts/Update.hs → gogol-iam/gen/Network/Google/Resource/IAM/Projects/ServiceAccounts/Update.hsrenamed+14−13

This diff is too big to show here.

gogol-iam/gen/Network/Google/Resource/IAM/Roles/QueryGrantableRoles.hsnew file+177

This diff is too big to show here.

gogol-iam/gogol-iam.cabalnew file+61

This diff is too big to show here.

gogol-iam/src/.gitkeepnew file

No changes to the content.

gogol-identity-toolkit/README.md+1−1

This diff is too big to show here.

gogol-identity-toolkit/gen/Network/Google/IdentityToolkit.hs+29

This diff is too big to show here.

gogol-identity-toolkit/gen/Network/Google/IdentityToolkit/Types.hs+33

This diff is too big to show here.

gogol-identity-toolkit/gen/Network/Google/IdentityToolkit/Types/Product.hs+332−22

This diff is too big to show here.

gogol-identity-toolkit/gen/Network/Google/Resource/IdentityToolkit/RelyingParty/DownloadAccount.hs+2−1

This diff is too big to show here.

gogol-identity-toolkit/gen/Network/Google/Resource/IdentityToolkit/RelyingParty/UploadAccount.hs+2−1

This diff is too big to show here.

gogol-identity-toolkit/gogol-identity-toolkit.cabal+3−3

This diff is too big to show here.

gogol-kgsearch/README.md+2−2

This diff is too big to show here.

gogol-kgsearch/gen/Network/Google/KnowledgeGraphSearch.hs+14−201

This diff is too big to show here.

gogol-kgsearch/gen/Network/Google/KnowledgeGraphSearch/Types.hs+9−137

This diff is too big to show here.

gogol-kgsearch/gen/Network/Google/KnowledgeGraphSearch/Types/Product.hs+42−1103

This diff is too big to show here.

gogol-kgsearch/gen/Network/Google/Resource/Kgsearch/Entities/Search.hsnew file+247

This diff is too big to show here.

gogol-kgsearch/gogol-kgsearch.cabal+7−20

This diff is too big to show here.

gogol-latencytest/README.md+1−1

This diff is too big to show here.

gogol-latencytest/gogol-latencytest.cabal+3−3

This diff is too big to show here.

gogol-logging/README.md+2−2

This diff is too big to show here.

gogol-logging/gen/Network/Google/Logging.hs+63−23

This diff is too big to show here.

gogol-logging/gen/Network/Google/Logging/Types.hs+27−21

This diff is too big to show here.

gogol-logging/gen/Network/Google/Logging/Types/Product.hs+253−321

This diff is too big to show here.

gogol-logging/gen/Network/Google/Logging/Types/Sum.hs+262

This diff is too big to show here.

gogol-logging/gen/Network/Google/Resource/Logging/BillingAccounts/Logs/Delete.hsnew file+175

This diff is too big to show here.

gogol-logging/gen/Network/Google/Resource/Logging/Entries/List.hs+5−5

This diff is too big to show here.

gogol-logging/gen/Network/Google/Resource/Logging/Entries/Write.hs+9−9

This diff is too big to show here.

gogol-logging/gen/Network/Google/Resource/Logging/MonitoredResourceDescriptors/List.hs+14−15

This diff is too big to show here.

gogol-logging/gen/Network/Google/Resource/Logging/Organizations/Logs/Delete.hsnew file+173

This diff is too big to show here.

gogol-logging/gen/Network/Google/Resource/Logging/Organizations/Sinks/Create.hsnew file+186

This diff is too big to show here.

gogol-logging/gen/Network/Google/Resource/Logging/Organizations/Sinks/Delete.hsnew file+173

This diff is too big to show here.

gogol-logging/gen/Network/Google/Resource/Logging/Organizations/Sinks/Get.hsnew file+173

This diff is too big to show here.

gogol-logging/gen/Network/Google/Resource/Logging/Organizations/Sinks/List.hsnew file+205

This diff is too big to show here.

gogol-logging/gen/Network/Google/Resource/Logging/Organizations/Sinks/Update.hsnew file+186

This diff is too big to show here.

gogol-logging/gen/Network/Google/Resource/Logging/Projects/Logs/Delete.hs+5−5

This diff is too big to show here.

gogol-logging/gen/Network/Google/Resource/Logging/Projects/Metrics/Create.hs+23−24

This diff is too big to show here.

gogol-logging/gen/Network/Google/Resource/Logging/Projects/Metrics/Delete.hs+5−5

This diff is too big to show here.

gogol-logging/gen/Network/Google/Resource/Logging/Projects/Metrics/Get.hs+5−5

This diff is too big to show here.

gogol-logging/gen/Network/Google/Resource/Logging/Projects/Metrics/List.hs+28−31

This diff is too big to show here.

gogol-logging/gen/Network/Google/Resource/Logging/Projects/Metrics/Update.hs+5−5

This diff is too big to show here.

gogol-logging/gen/Network/Google/Resource/Logging/Projects/Sinks/Create.hs+23−24

This diff is too big to show here.

gogol-logging/gen/Network/Google/Resource/Logging/Projects/Sinks/Delete.hs+9−7

This diff is too big to show here.

gogol-logging/gen/Network/Google/Resource/Logging/Projects/Sinks/Get.hs+6−6

This diff is too big to show here.

gogol-logging/gen/Network/Google/Resource/Logging/Projects/Sinks/List.hs+28−31

This diff is too big to show here.

gogol-logging/gen/Network/Google/Resource/Logging/Projects/Sinks/Update.hs+11−11

This diff is too big to show here.

gogol-logging/gogol-logging.cabal+13−7

This diff is too big to show here.

gogol-maps-coordinate/README.md+1−1

This diff is too big to show here.

gogol-maps-coordinate/gogol-maps-coordinate.cabal+3−3

This diff is too big to show here.

gogol-maps-engine/README.md+1−1

This diff is too big to show here.

gogol-maps-engine/gogol-maps-engine.cabal+3−3

This diff is too big to show here.

gogol-mirror/README.md+1−1

This diff is too big to show here.

gogol-mirror/gen/Network/Google/Mirror.hs+1−1

This diff is too big to show here.

gogol-mirror/gogol-mirror.cabal+4−4

This diff is too big to show here.

gogol-ml/LICENSEnew file+367

This diff is too big to show here.

gogol-ml/Makefilenew file+1

This diff is too big to show here.

gogol-ml/README.mdnew file+28

This diff is too big to show here.

gogol-ml/Setup.hsnew file+2

This diff is too big to show here.

gogol-ml/gen/Network/Google/MachineLearning.hsnew file+365

This diff is too big to show here.

gogol-ml/gen/Network/Google/MachineLearning/Types.hsnew file+265

This diff is too big to show here.

gogol-ml/gen/Network/Google/MachineLearning/Types/Product.hsnew file+2154

This diff is too big to show here.

gogol-ml/gen/Network/Google/MachineLearning/Types/Sum.hsnew file+375

This diff is too big to show here.

gogol-ml/gen/Network/Google/Resource/Ml/Projects/GetConfig.hsnew file+177

This diff is too big to show here.

gogol-ml/gen/Network/Google/Resource/Ml/Projects/Jobs/Cancel.hsnew file+184

This diff is too big to show here.

gogol-ml/gen/Network/Google/Resource/Ml/Projects/Jobs/Create.hsnew file+180

This diff is too big to show here.

gogol-ml/gen/Network/Google/Resource/Ml/Projects/Jobs/Get.hsnew file+170

This diff is too big to show here.

gogol-ml/gen/Network/Google/Resource/Ml/Projects/Jobs/List.hsnew file+216

This diff is too big to show here.

gogol-ml/gen/Network/Google/Resource/Ml/Projects/Models/Create.hsnew file+192

This diff is too big to show here.

gogol-ml/gen/Network/Google/Resource/Ml/Projects/Models/Delete.hsnew file+175

This diff is too big to show here.

gogol-ml/gen/Network/Google/Resource/Ml/Projects/Models/Get.hsnew file+175

This diff is too big to show here.

gogol-ml/gen/Network/Google/Resource/Ml/Projects/Models/List.hsnew file+206

This diff is too big to show here.

gogol-ml/gen/Network/Google/Resource/Ml/Projects/Models/Versions/Create.hsnew file+200

This diff is too big to show here.

gogol-ml/gen/Network/Google/Resource/Ml/Projects/Models/Versions/Delete.hsnew file+181

This diff is too big to show here.

gogol-ml/gen/Network/Google/Resource/Ml/Projects/Models/Versions/Get.hsnew file+181

This diff is too big to show here.

gogol-ml/gen/Network/Google/Resource/Ml/Projects/Models/Versions/List.hsnew file+213

This diff is too big to show here.

gogol-ml/gen/Network/Google/Resource/Ml/Projects/Models/Versions/SetDefault.hsnew file+200

This diff is too big to show here.

gogol-ml/gen/Network/Google/Resource/Ml/Projects/Operations/Cancel.hsnew file+186

This diff is too big to show here.

gogol-ml/gen/Network/Google/Resource/Ml/Projects/Operations/Delete.hsnew file+176

This diff is too big to show here.

gogol-ml/gen/Network/Google/Resource/Ml/Projects/Operations/Get.hsnew file+174

This diff is too big to show here.

gogol-ml/gen/Network/Google/Resource/Ml/Projects/Operations/List.hsnew file+217

This diff is too big to show here.

gogol-ml/gen/Network/Google/Resource/Ml/Projects/Predict.hsnew file+257

This diff is too big to show here.

gogol-ml/gogol-ml.cabalnew file+64

This diff is too big to show here.

gogol-ml/src/.gitkeepnew file

No changes to the content.

gogol-monitoring/README.md+2−2

This diff is too big to show here.

gogol-monitoring/gen/Network/Google/Monitoring.hs+35−10

This diff is too big to show here.

gogol-monitoring/gen/Network/Google/Monitoring/Types.hs+31−1

This diff is too big to show here.

gogol-monitoring/gen/Network/Google/Monitoring/Types/Product.hs+256−238

This diff is too big to show here.

gogol-monitoring/gen/Network/Google/Monitoring/Types/Sum.hs+503

This diff is too big to show here.

gogol-monitoring/gen/Network/Google/Resource/Monitoring/Projects/CollectdTimeSeries/Create.hs+11−13

This diff is too big to show here.

gogol-monitoring/gen/Network/Google/Resource/Monitoring/Projects/Groups/Create.hs+5−5

This diff is too big to show here.

gogol-monitoring/gen/Network/Google/Resource/Monitoring/Projects/Groups/Delete.hs+5−5

This diff is too big to show here.

gogol-monitoring/gen/Network/Google/Resource/Monitoring/Projects/Groups/Get.hs+5−5

This diff is too big to show here.

gogol-monitoring/gen/Network/Google/Resource/Monitoring/Projects/Groups/List.hs+16−20

This diff is too big to show here.

gogol-monitoring/gen/Network/Google/Resource/Monitoring/Projects/Groups/Members/List.hs+21−21

This diff is too big to show here.

gogol-monitoring/gen/Network/Google/Resource/Monitoring/Projects/Groups/Update.hs+11−11

This diff is too big to show here.

gogol-monitoring/gen/Network/Google/Resource/Monitoring/Projects/MetricDescriptors/Create.hs+7−7

This diff is too big to show here.

gogol-monitoring/gen/Network/Google/Resource/Monitoring/Projects/MetricDescriptors/Delete.hs+10−11

This diff is too big to show here.

gogol-monitoring/gen/Network/Google/Resource/Monitoring/Projects/MetricDescriptors/Get.hs+7−7

This diff is too big to show here.

gogol-monitoring/gen/Network/Google/Resource/Monitoring/Projects/MetricDescriptors/List.hs+11−12

This diff is too big to show here.

gogol-monitoring/gen/Network/Google/Resource/Monitoring/Projects/MonitoredResourceDescriptors/Get.hs+6−7

This diff is too big to show here.

gogol-monitoring/gen/Network/Google/Resource/Monitoring/Projects/MonitoredResourceDescriptors/List.hs+10−11

This diff is too big to show here.

gogol-monitoring/gen/Network/Google/Resource/Monitoring/Projects/TimeSeries/Create.hs+5−5

This diff is too big to show here.

gogol-monitoring/gen/Network/Google/Resource/Monitoring/Projects/TimeSeries/List.hs+53−52

This diff is too big to show here.

gogol-monitoring/gogol-monitoring.cabal+7−12

This diff is too big to show here.

gogol-oauth2/README.md+1−1

This diff is too big to show here.

gogol-oauth2/gogol-oauth2.cabal+3−3

This diff is too big to show here.

gogol-pagespeed/README.md+1−1

This diff is too big to show here.

gogol-pagespeed/gogol-pagespeed.cabal+3−3

This diff is too big to show here.

gogol-partners/README.md+1−1

This diff is too big to show here.

gogol-partners/gogol-partners.cabal+3−3

This diff is too big to show here.

gogol-people/README.md+1−1

This diff is too big to show here.

gogol-people/gogol-people.cabal+3−3

This diff is too big to show here.

gogol-play-moviespartner/README.md+1−1

This diff is too big to show here.

gogol-play-moviespartner/gogol-play-moviespartner.cabal+3−3

This diff is too big to show here.

gogol-plus-domains/README.md+1−1

This diff is too big to show here.

gogol-plus-domains/gogol-plus-domains.cabal+3−3

This diff is too big to show here.

gogol-plus/README.md+1−1

This diff is too big to show here.

gogol-plus/gogol-plus.cabal+3−3

This diff is too big to show here.

gogol-prediction/README.md+1−1

This diff is too big to show here.

gogol-prediction/gogol-prediction.cabal+3−3

This diff is too big to show here.

gogol-proximitybeacon/README.md+1−1

This diff is too big to show here.

gogol-proximitybeacon/gogol-proximitybeacon.cabal+3−3

This diff is too big to show here.

gogol-pubsub/README.md+1−1

This diff is too big to show here.

gogol-pubsub/gen/Network/Google/PubSub.hs+15

This diff is too big to show here.

gogol-pubsub/gen/Network/Google/PubSub/Types/Product.hs+7−5

This diff is too big to show here.

gogol-pubsub/gen/Network/Google/Resource/PubSub/Projects/Snapshots/GetIAMPolicy.hsnew file+179

This diff is too big to show here.

gogol-pubsub/gen/Network/Google/Resource/PubSub/Projects/Snapshots/SetIAMPolicy.hsnew file+196

This diff is too big to show here.

gogol-pubsub/gen/Network/Google/Resource/PubSub/Projects/Snapshots/TestIAMPermissions.hsnew file+193

This diff is too big to show here.

gogol-pubsub/gen/Network/Google/Resource/PubSub/Projects/Subscriptions/Create.hs+4−2

This diff is too big to show here.

gogol-pubsub/gen/Network/Google/Resource/PubSub/Projects/Subscriptions/Delete.hs+4−4

This diff is too big to show here.

gogol-pubsub/gen/Network/Google/Resource/PubSub/Projects/Subscriptions/GetIAMPolicy.hs+77−77

This diff is too big to show here.

gogol-pubsub/gen/Network/Google/Resource/PubSub/Projects/Subscriptions/ModifyAckDeadline.hs+4−2

This diff is too big to show here.

gogol-pubsub/gen/Network/Google/Resource/PubSub/Projects/Subscriptions/SetIAMPolicy.hs+2−4

This diff is too big to show here.

gogol-pubsub/gen/Network/Google/Resource/PubSub/Projects/Subscriptions/TestIAMPermissions.hs+83−82

This diff is too big to show here.

gogol-pubsub/gen/Network/Google/Resource/PubSub/Projects/Topics/GetIAMPolicy.hs+6−8

This diff is too big to show here.

gogol-pubsub/gen/Network/Google/Resource/PubSub/Projects/Topics/SetIAMPolicy.hs+2−4

This diff is too big to show here.

gogol-pubsub/gen/Network/Google/Resource/PubSub/Projects/Topics/TestIAMPermissions.hs+2−4

This diff is too big to show here.

gogol-pubsub/gogol-pubsub.cabal+6−3

This diff is too big to show here.

gogol-qpxexpress/README.md+1−1

This diff is too big to show here.

gogol-qpxexpress/gen/Network/Google/QPXExpress.hs+1

This diff is too big to show here.

gogol-qpxexpress/gen/Network/Google/QPXExpress/Types.hs+1

This diff is too big to show here.

gogol-qpxexpress/gen/Network/Google/QPXExpress/Types/Product.hs+18−6

This diff is too big to show here.

gogol-qpxexpress/gogol-qpxexpress.cabal+3−3

This diff is too big to show here.

gogol-replicapool-updater/README.md+1−1

This diff is too big to show here.

gogol-replicapool-updater/gen/Network/Google/ReplicaPoolUpdater.hs+2

This diff is too big to show here.

gogol-replicapool-updater/gogol-replicapool-updater.cabal+5−3

This diff is too big to show here.

gogol-replicapool/README.md+1−1

This diff is too big to show here.

gogol-replicapool/gogol-replicapool.cabal+3−3

This diff is too big to show here.

gogol-resourcemanager/README.md+1−1

This diff is too big to show here.

gogol-resourcemanager/gen/Network/Google/Resource/CloudResourceManager/Operations/Get.hsnew file+170

This diff is too big to show here.

gogol-resourcemanager/gen/Network/Google/Resource/CloudResourceManager/Organizations/Get.hsnew file+172

This diff is too big to show here.

gogol-resourcemanager/gen/Network/Google/Resource/CloudResourceManager/Organizations/GetIAMPolicy.hsnew file+194

This diff is too big to show here.

gogol-resourcemanager/gen/Network/Google/Resource/CloudResourceManager/Organizations/Search.hsnew file+178

This diff is too big to show here.

gogol-resourcemanager/gen/Network/Google/Resource/CloudResourceManager/Organizations/SetIAMPolicy.hsnew file+191

This diff is too big to show here.

gogol-resourcemanager/gen/Network/Google/Resource/CloudResourceManager/Organizations/TestIAMPermissions.hsnew file+194

This diff is too big to show here.

gogol-resourcemanager/gen/Network/Google/Resource/CloudResourceManager/Projects/Create.hsnew file+180

This diff is too big to show here.

gogol-resourcemanager/gen/Network/Google/Resource/CloudResourceManager/Projects/Delete.hs+10−10

This diff is too big to show here.

gogol-resourcemanager/gen/Network/Google/Resource/CloudResourceManager/Projects/GetIAMPolicy.hs+2−4

This diff is too big to show here.

gogol-resourcemanager/gen/Network/Google/Resource/CloudResourceManager/Projects/SetIAMPolicy.hs+48−28

This diff is too big to show here.

gogol-resourcemanager/gen/Network/Google/Resource/CloudResourceManager/Projects/TestIAMPermissions.hs+2−4

This diff is too big to show here.

gogol-resourcemanager/gen/Network/Google/Resource/CloudResourceManager/Projects/Undelete.hs+4−6

This diff is too big to show here.

gogol-resourcemanager/gen/Network/Google/ResourceManager.hs+115−1

This diff is too big to show here.

gogol-resourcemanager/gen/Network/Google/ResourceManager/Types.hs+78

This diff is too big to show here.

gogol-resourcemanager/gen/Network/Google/ResourceManager/Types/Product.hs+735−5

This diff is too big to show here.

gogol-resourcemanager/gogol-resourcemanager.cabal+11−4

This diff is too big to show here.

gogol-resourceviews/README.md+1−1

This diff is too big to show here.

gogol-resourceviews/gogol-resourceviews.cabal+3−3

This diff is too big to show here.

gogol-runtimeconfig/LICENSEnew file+367

This diff is too big to show here.

gogol-runtimeconfig/Makefilenew file+1

This diff is too big to show here.

gogol-runtimeconfig/README.mdnew file+28

This diff is too big to show here.

gogol-runtimeconfig/Setup.hsnew file+2

This diff is too big to show here.

gogol-runtimeconfig/gen/Network/Google/Resource/RuntimeConfig/Operations/Cancel.hsnew file+197

This diff is too big to show here.

gogol-runtimeconfig/gen/Network/Google/Resource/RuntimeConfig/Operations/Delete.hsnew file+173

This diff is too big to show here.

gogol-runtimeconfig/gen/Network/Google/Resource/RuntimeConfig/Operations/List.hsnew file+211

This diff is too big to show here.

gogol-runtimeconfig/gen/Network/Google/RuntimeConfig.hsnew file+107

This diff is too big to show here.

gogol-runtimeconfig/gen/Network/Google/RuntimeConfig/Types.hsnew file+91

This diff is too big to show here.

gogol-runtimeconfig/gen/Network/Google/RuntimeConfig/Types/Product.hsnew file+416

This diff is too big to show here.

gogol-runtimeconfig/gen/Network/Google/RuntimeConfig/Types/Sum.hsnew file+48

This diff is too big to show here.

gogol-runtimeconfig/gogol-runtimeconfig.cabalnew file+49

This diff is too big to show here.

gogol-runtimeconfig/src/.gitkeepnew file

No changes to the content.

gogol-safebrowsing/LICENSEnew file+367

This diff is too big to show here.

gogol-safebrowsing/Makefilenew file+1

This diff is too big to show here.

gogol-safebrowsing/README.mdnew file+28

This diff is too big to show here.

gogol-safebrowsing/Setup.hsnew file+2

This diff is too big to show here.

gogol-safebrowsing/gen/Network/Google/Resource/SafeBrowsing/FullHashes/Find.hsnew file+169

This diff is too big to show here.

gogol-safebrowsing/gen/Network/Google/Resource/SafeBrowsing/ThreatListUpdates/Fetch.hsnew file+174

This diff is too big to show here.

gogol-safebrowsing/gen/Network/Google/Resource/SafeBrowsing/ThreatLists/List.hsnew file+157

This diff is too big to show here.

gogol-safebrowsing/gen/Network/Google/Resource/SafeBrowsing/ThreatMatches/Find.hs+170

This diff is too big to show here.

gogol-safebrowsing/gen/Network/Google/SafeBrowsing.hs+213

This diff is too big to show here.

gogol-safebrowsing/gen/Network/Google/SafeBrowsing/Types.hs+184

This diff is too big to show here.

gogol-safebrowsing/gen/Network/Google/SafeBrowsing/Types/Product.hs+1417

This diff is too big to show here.

gogol-safebrowsing/gen/Network/Google/SafeBrowsing/Types/Sum.hs+19

This diff is too big to show here.

gogol-safebrowsing/gogol-safebrowsing.cabal+50

This diff is too big to show here.

gogol-safebrowsing/src/.gitkeep

This diff is too big to show here.

gogol-script/README.md+1−1

This diff is too big to show here.

gogol-script/gen/Network/Google/Script.hs+1

This diff is too big to show here.

gogol-script/gen/Network/Google/Script/Types.hs+1

This diff is too big to show here.

gogol-script/gen/Network/Google/Script/Types/Product.hs+20−8

This diff is too big to show here.

gogol-script/gogol-script.cabal+3−3

This diff is too big to show here.

gogol-servicecontrol/LICENSE+367

This diff is too big to show here.

gogol-servicecontrol/Makefile+1

This diff is too big to show here.

gogol-servicecontrol/README.md+28

This diff is too big to show here.

gogol-servicecontrol/Setup.hs+2

This diff is too big to show here.

gogol-servicecontrol/gen/Network/Google/Resource/ServiceControl/Services/Check.hs+196

This diff is too big to show here.

gogol-servicecontrol/gen/Network/Google/Resource/ServiceControl/Services/Report.hs+194

This diff is too big to show here.

gogol-servicecontrol/gen/Network/Google/ServiceControl.hs+213

This diff is too big to show here.

gogol-servicecontrol/gen/Network/Google/ServiceControl/Types.hs+202

This diff is too big to show here.

gogol-servicecontrol/gen/Network/Google/ServiceControl/Types/Product.hs+1434

This diff is too big to show here.

gogol-servicecontrol/gen/Network/Google/ServiceControl/Types/Sum.hs+255

This diff is too big to show here.

gogol-servicecontrol/gogol-servicecontrol.cabal+48

This diff is too big to show here.

gogol-servicecontrol/src/.gitkeep

This diff is too big to show here.

gogol-servicemanagement/LICENSE+367

This diff is too big to show here.

gogol-servicemanagement/Makefile+1

This diff is too big to show here.

gogol-servicemanagement/README.md+28

This diff is too big to show here.

gogol-servicemanagement/Setup.hs+2

This diff is too big to show here.

gogol-servicemanagement/gen/Network/Google/Resource/ServiceManagement/Operations/Get.hs+170

This diff is too big to show here.

gogol-servicemanagement/gen/Network/Google/Resource/ServiceManagement/Services/Configs/Create.hs+194

This diff is too big to show here.

gogol-servicemanagement/gen/Network/Google/Resource/ServiceManagement/Services/Configs/Get.hs+189

This diff is too big to show here.

gogol-servicemanagement/gen/Network/Google/Resource/ServiceManagement/Services/Configs/List.hs+206

This diff is too big to show here.

gogol-servicemanagement/gen/Network/Google/Resource/ServiceManagement/Services/Configs/Submit.hs+199

This diff is too big to show here.

gogol-servicemanagement/gen/Network/Google/Resource/ServiceManagement/Services/Create.hs+172

This diff is too big to show here.

gogol-servicemanagement/gen/Network/Google/Resource/ServiceManagement/Services/Delete.hs+178

This diff is too big to show here.

gogol-servicemanagement/gen/Network/Google/Resource/ServiceManagement/Services/Disable.hs+182

This diff is too big to show here.

gogol-servicemanagement/gen/Network/Google/Resource/ServiceManagement/Services/Enable.hs+189

This diff is too big to show here.

gogol-servicemanagement/gen/Network/Google/Resource/ServiceManagement/Services/GenerateConfigReport.hs+193

This diff is too big to show here.

gogol-servicemanagement/gen/Network/Google/Resource/ServiceManagement/Services/Get.hs+174

This diff is too big to show here.

gogol-servicemanagement/gen/Network/Google/Resource/ServiceManagement/Services/GetConfig.hs+188

This diff is too big to show here.

gogol-servicemanagement/gen/Network/Google/Resource/ServiceManagement/Services/GetIAMPolicy.hs+189

This diff is too big to show here.

gogol-servicemanagement/gen/Network/Google/Resource/ServiceManagement/Services/List.hs+198

This diff is too big to show here.

gogol-servicemanagement/gen/Network/Google/Resource/ServiceManagement/Services/Rollouts/Create.hs+200

This diff is too big to show here.

gogol-servicemanagement/gen/Network/Google/Resource/ServiceManagement/Services/Rollouts/Get.hs+190

This diff is too big to show here.

gogol-servicemanagement/gen/Network/Google/Resource/ServiceManagement/Services/Rollouts/List.hs+206

This diff is too big to show here.

gogol-servicemanagement/gen/Network/Google/Resource/ServiceManagement/Services/SetIAMPolicy.hs+189

This diff is too big to show here.

gogol-servicemanagement/gen/Network/Google/Resource/ServiceManagement/Services/TestIAMPermissions.hs+189

This diff is too big to show here.

gogol-servicemanagement/gen/Network/Google/Resource/ServiceManagement/Services/Undelete.hs+179

This diff is too big to show here.

gogol-servicemanagement/gen/Network/Google/ServiceManagement.hs+844

This diff is too big to show here.

gogol-servicemanagement/gen/Network/Google/ServiceManagement/Types.hs+749

This diff is too big to show here.

gogol-servicemanagement/gen/Network/Google/ServiceManagement/Types/Product.hs+6247

This diff is too big to show here.

gogol-servicemanagement/gen/Network/Google/ServiceManagement/Types/Sum.hs+852

This diff is too big to show here.

gogol-servicemanagement/gogol-servicemanagement.cabal+67

This diff is too big to show here.

gogol-servicemanagement/src/.gitkeep

This diff is too big to show here.

gogol-sheets/README.md+1−1

This diff is too big to show here.

gogol-sheets/gen/Network/Google/Resource/Sheets/Spreadsheets/Values/Append.hs+245

This diff is too big to show here.

gogol-sheets/gen/Network/Google/Resource/Sheets/Spreadsheets/Values/BatchClear.hs+197

This diff is too big to show here.

gogol-sheets/gen/Network/Google/Resource/Sheets/Spreadsheets/Values/Clear.hs+205

This diff is too big to show here.

gogol-sheets/gen/Network/Google/Sheets.hs+44−1

This diff is too big to show here.

gogol-sheets/gen/Network/Google/Sheets/Types.hs+28

This diff is too big to show here.

gogol-sheets/gen/Network/Google/Sheets/Types/Product.hs+250−15

This diff is too big to show here.

gogol-sheets/gen/Network/Google/Sheets/Types/Sum.hs+21−13

This diff is too big to show here.

gogol-sheets/gogol-sheets.cabal+6−3

This diff is too big to show here.

gogol-shopping-content/README.md+1−1

This diff is too big to show here.

gogol-shopping-content/gen/Network/Google/Resource/Content/ShippingSettings/Custombatch.hs+103

This diff is too big to show here.

gogol-shopping-content/gen/Network/Google/Resource/Content/ShippingSettings/Get.hs+101

This diff is too big to show here.

gogol-shopping-content/gen/Network/Google/Resource/Content/ShippingSettings/Getsupportedcarriers.hs+94

This diff is too big to show here.

gogol-shopping-content/gen/Network/Google/Resource/Content/ShippingSettings/List.hs+118

This diff is too big to show here.

gogol-shopping-content/gen/Network/Google/Resource/Content/ShippingSettings/Patch.hs+129

This diff is too big to show here.

gogol-shopping-content/gen/Network/Google/Resource/Content/ShippingSettings/Update.hs+127

This diff is too big to show here.

gogol-shopping-content/gen/Network/Google/ShoppingContent.hs+175−2

This diff is too big to show here.

gogol-shopping-content/gen/Network/Google/ShoppingContent/Types.hs+145−2

This diff is too big to show here.

gogol-shopping-content/gen/Network/Google/ShoppingContent/Types/Product.hs+1398−21

This diff is too big to show here.

gogol-shopping-content/gogol-shopping-content.cabal+9−3

This diff is too big to show here.

gogol-siteverification/README.md+1−1

This diff is too big to show here.

gogol-siteverification/gogol-siteverification.cabal+3−3

This diff is too big to show here.

gogol-spectrum/README.md+1−1

This diff is too big to show here.

gogol-spectrum/gogol-spectrum.cabal+3−3

This diff is too big to show here.

gogol-sqladmin/README.md+1−1

This diff is too big to show here.

gogol-sqladmin/gen/Network/Google/Resource/SQL/BackupRuns/Insert.hs+116

This diff is too big to show here.

gogol-sqladmin/gen/Network/Google/SQLAdmin.hs+8

This diff is too big to show here.

gogol-sqladmin/gen/Network/Google/SQLAdmin/Types.hs+3

This diff is too big to show here.

gogol-sqladmin/gen/Network/Google/SQLAdmin/Types/Product.hs+48−7

This diff is too big to show here.

gogol-sqladmin/gogol-sqladmin.cabal+4−3

This diff is too big to show here.

gogol-storage-transfer/README.md+1−1

This diff is too big to show here.

gogol-storage-transfer/gogol-storage-transfer.cabal+3−3

This diff is too big to show here.

gogol-storage/README.md+1−1

This diff is too big to show here.

gogol-storage/gen/Network/Google/Resource/Storage/Buckets/Patch.hs+6−2

This diff is too big to show here.

gogol-storage/gen/Network/Google/Resource/Storage/Buckets/Update.hs+4−2

This diff is too big to show here.

gogol-storage/gen/Network/Google/Storage.hs+2

This diff is too big to show here.

gogol-storage/gen/Network/Google/Storage/Types.hs+2

This diff is too big to show here.

gogol-storage/gen/Network/Google/Storage/Types/Product.hs+74−28

This diff is too big to show here.

gogol-storage/gogol-storage.cabal+3−3

This diff is too big to show here.

gogol-tagmanager/README.md+1−1

This diff is too big to show here.

gogol-tagmanager/gogol-tagmanager.cabal+3−3

This diff is too big to show here.

gogol-taskqueue/README.md+1−1

This diff is too big to show here.

gogol-taskqueue/gogol-taskqueue.cabal+3−3

This diff is too big to show here.

gogol-translate/README.md+1−1

This diff is too big to show here.

gogol-translate/gen/Network/Google/Translate.hs+1−1

This diff is too big to show here.

gogol-translate/gogol-translate.cabal+4−4

This diff is too big to show here.

gogol-urlshortener/README.md+1−1

This diff is too big to show here.

gogol-urlshortener/gogol-urlshortener.cabal+3−3

This diff is too big to show here.

gogol-useraccounts/README.md+1−1

This diff is too big to show here.

gogol-useraccounts/gogol-useraccounts.cabal+3−3

This diff is too big to show here.

gogol-vision/README.md+1−1

This diff is too big to show here.

gogol-vision/gen/Network/Google/Vision/Types/Product.hs+12−11

This diff is too big to show here.

gogol-vision/gogol-vision.cabal+3−3

This diff is too big to show here.

gogol-webmaster-tools/README.md+1−1

This diff is too big to show here.

gogol-webmaster-tools/gogol-webmaster-tools.cabal+3−3

This diff is too big to show here.

gogol-youtube-analytics/README.md+1−1

This diff is too big to show here.

gogol-youtube-analytics/gogol-youtube-analytics.cabal+3−3

This diff is too big to show here.

gogol-youtube-reporting/README.md+1−1

This diff is too big to show here.

gogol-youtube-reporting/gogol-youtube-reporting.cabal+3−3

This diff is too big to show here.

gogol-youtube/README.md+1−1

This diff is too big to show here.

gogol-youtube/gen/Network/Google/Resource/YouTube/Subscriptions/List.hs+26−11

This diff is too big to show here.

gogol-youtube/gen/Network/Google/YouTube.hs+39

This diff is too big to show here.

gogol-youtube/gen/Network/Google/YouTube/Types.hs+39

This diff is too big to show here.

gogol-youtube/gen/Network/Google/YouTube/Types/Product.hs+301−6

This diff is too big to show here.

gogol-youtube/gen/Network/Google/YouTube/Types/Sum.hs+90

This diff is too big to show here.

gogol-youtube/gogol-youtube.cabal+3−3

This diff is too big to show here.

gogol/CHANGELOG.md+15−1

This diff is too big to show here.

gogol/gogol.cabal+5−6

This diff is too big to show here.

gogol/src/Network/Google/Auth.hs+4−17

This diff is too big to show here.

gogol/src/Network/Google/Auth/InstalledApplication.hs+15−13

This diff is too big to show here.

gogol/src/Network/Google/Auth/Scope.hs−1

This diff is too big to show here.

gogol/src/Network/Google/Auth/ServiceAccount.hs+3−4

This diff is too big to show here.

gogol/src/Network/Google/Compute/Metadata.hs+19−14

This diff is too big to show here.

gogol/src/Network/Google/Internal/Auth.hs+4−6

This diff is too big to show here.

gogol/src/Network/Google/Internal/HTTP.hs+5−4

This diff is too big to show here.

gogol/src/Network/Google/Internal/Logger.hs+1−2

This diff is too big to show here.

gogol/src/Network/Google/Internal/Multipart.hs−1

This diff is too big to show here.

stack-7.10.3.yaml+14−2

This diff is too big to show here.

stack-8.0.1.yaml+10−1

This diff is too big to show here.