Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(613)

Side by Side Diff: discovery/googleapis/datastore__v1.json

Issue 2824163002: Api-roll 48: 2017-04-18 (Closed)
Patch Set: Revert changes to pubspecs Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « discovery/googleapis/dataproc__v1.json ('k') | discovery/googleapis/deploymentmanager__v2.json » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 { 1 {
2 "auth": { 2 "auth": {
3 "oauth2": { 3 "oauth2": {
4 "scopes": { 4 "scopes": {
5 "https://www.googleapis.com/auth/datastore": {
6 "description": "View and manage your Google Cloud Datastore data"
7 },
5 "https://www.googleapis.com/auth/cloud-platform": { 8 "https://www.googleapis.com/auth/cloud-platform": {
6 "description": "View and manage your data across Google Clou d Platform services" 9 "description": "View and manage your data across Google Clou d Platform services"
7 },
8 "https://www.googleapis.com/auth/datastore": {
9 "description": "View and manage your Google Cloud Datastore data"
10 } 10 }
11 } 11 }
12 } 12 }
13 }, 13 },
14 "basePath": "", 14 "basePath": "",
15 "baseUrl": "https://datastore.googleapis.com/", 15 "baseUrl": "https://datastore.googleapis.com/",
16 "batchPath": "batch", 16 "batchPath": "batch",
17 "description": "Accesses the schemaless NoSQL database to provide fully mana ged, robust, scalable storage for your application.\n", 17 "description": "Accesses the schemaless NoSQL database to provide fully mana ged, robust, scalable storage for your application.\n",
18 "discoveryVersion": "v1", 18 "discoveryVersion": "v1",
19 "documentationLink": "https://cloud.google.com/datastore/", 19 "documentationLink": "https://cloud.google.com/datastore/",
20 "icons": { 20 "icons": {
21 "x16": "http://www.google.com/images/icons/product/search-16.gif", 21 "x16": "http://www.google.com/images/icons/product/search-16.gif",
22 "x32": "http://www.google.com/images/icons/product/search-32.gif" 22 "x32": "http://www.google.com/images/icons/product/search-32.gif"
23 }, 23 },
24 "id": "datastore:v1", 24 "id": "datastore:v1",
25 "kind": "discovery#restDescription", 25 "kind": "discovery#restDescription",
26 "name": "datastore", 26 "name": "datastore",
27 "ownerDomain": "google.com", 27 "ownerDomain": "google.com",
28 "ownerName": "Google", 28 "ownerName": "Google",
29 "parameters": { 29 "parameters": {
30 "access_token": { 30 "upload_protocol": {
31 "description": "OAuth access token.", 31 "description": "Upload protocol for media (e.g. \"raw\", \"multipart \").",
32 "location": "query", 32 "location": "query",
33 "type": "string" 33 "type": "string"
34 }, 34 },
35 "prettyPrint": { 35 "prettyPrint": {
36 "default": "true", 36 "default": "true",
37 "description": "Returns response with indentations and line breaks." , 37 "description": "Returns response with indentations and line breaks." ,
38 "location": "query", 38 "location": "query",
39 "type": "boolean" 39 "type": "boolean"
40 }, 40 },
41 "key": { 41 "uploadType": {
42 "description": "API key. Your API key identifies your project and pr ovides you with API access, quota, and reports. Required unless you provide an O Auth 2.0 token.", 42 "description": "Legacy upload protocol for media (e.g. \"media\", \" multipart\").",
43 "location": "query", 43 "location": "query",
44 "type": "string" 44 "type": "string"
45 }, 45 },
46 "quotaUser": {
47 "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exc eed 40 characters.",
48 "location": "query",
49 "type": "string"
50 },
51 "pp": {
52 "default": "true",
53 "description": "Pretty-print response.",
54 "location": "query",
55 "type": "boolean"
56 },
57 "fields": { 46 "fields": {
58 "description": "Selector specifying which fields to include in a par tial response.", 47 "description": "Selector specifying which fields to include in a par tial response.",
59 "location": "query", 48 "location": "query",
60 "type": "string" 49 "type": "string"
61 }, 50 },
51 "callback": {
52 "description": "JSONP",
53 "location": "query",
54 "type": "string"
55 },
56 "$.xgafv": {
57 "description": "V1 error format.",
58 "enum": [
59 "1",
60 "2"
61 ],
62 "enumDescriptions": [
63 "v1 error format",
64 "v2 error format"
65 ],
66 "location": "query",
67 "type": "string"
68 },
62 "alt": { 69 "alt": {
63 "default": "json", 70 "default": "json",
64 "description": "Data format for response.", 71 "description": "Data format for response.",
65 "enum": [ 72 "enum": [
66 "json", 73 "json",
67 "media", 74 "media",
68 "proto" 75 "proto"
69 ], 76 ],
70 "enumDescriptions": [ 77 "enumDescriptions": [
71 "Responses with Content-Type of application/json", 78 "Responses with Content-Type of application/json",
72 "Media download with context-dependent Content-Type", 79 "Media download with context-dependent Content-Type",
73 "Responses with Content-Type of application/x-protobuf" 80 "Responses with Content-Type of application/x-protobuf"
74 ], 81 ],
75 "location": "query", 82 "location": "query",
76 "type": "string" 83 "type": "string"
77 }, 84 },
78 "$.xgafv": { 85 "key": {
79 "description": "V1 error format.", 86 "description": "API key. Your API key identifies your project and pr ovides you with API access, quota, and reports. Required unless you provide an O Auth 2.0 token.",
80 "enum": [
81 "1",
82 "2"
83 ],
84 "enumDescriptions": [
85 "v1 error format",
86 "v2 error format"
87 ],
88 "location": "query", 87 "location": "query",
89 "type": "string" 88 "type": "string"
90 }, 89 },
91 "callback": { 90 "access_token": {
92 "description": "JSONP", 91 "description": "OAuth access token.",
92 "location": "query",
93 "type": "string"
94 },
95 "quotaUser": {
96 "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exc eed 40 characters.",
97 "location": "query",
98 "type": "string"
99 },
100 "pp": {
101 "default": "true",
102 "description": "Pretty-print response.",
103 "location": "query",
104 "type": "boolean"
105 },
106 "bearer_token": {
107 "description": "OAuth bearer token.",
93 "location": "query", 108 "location": "query",
94 "type": "string" 109 "type": "string"
95 }, 110 },
96 "oauth_token": { 111 "oauth_token": {
97 "description": "OAuth 2.0 token for the current user.", 112 "description": "OAuth 2.0 token for the current user.",
98 "location": "query", 113 "location": "query",
99 "type": "string" 114 "type": "string"
100 },
101 "uploadType": {
102 "description": "Legacy upload protocol for media (e.g. \"media\", \" multipart\").",
103 "location": "query",
104 "type": "string"
105 },
106 "bearer_token": {
107 "description": "OAuth bearer token.",
108 "location": "query",
109 "type": "string"
110 },
111 "upload_protocol": {
112 "description": "Upload protocol for media (e.g. \"raw\", \"multipart \").",
113 "location": "query",
114 "type": "string"
115 } 115 }
116 }, 116 },
117 "protocol": "rest", 117 "protocol": "rest",
118 "resources": { 118 "resources": {
119 "projects": { 119 "projects": {
120 "methods": { 120 "methods": {
121 "runQuery": { 121 "allocateIds": {
122 "description": "Queries for entities.", 122 "description": "Allocates IDs for the given keys, which is u seful for referencing an entity\nbefore it is inserted.",
123 "httpMethod": "POST", 123 "httpMethod": "POST",
124 "id": "datastore.projects.runQuery", 124 "id": "datastore.projects.allocateIds",
125 "parameterOrder": [ 125 "parameterOrder": [
126 "projectId" 126 "projectId"
127 ], 127 ],
128 "parameters": { 128 "parameters": {
129 "projectId": { 129 "projectId": {
130 "description": "The ID of the project against which to make the request.", 130 "description": "The ID of the project against which to make the request.",
131 "location": "path", 131 "location": "path",
132 "required": true, 132 "required": true,
133 "type": "string" 133 "type": "string"
134 } 134 }
135 }, 135 },
136 "path": "v1/projects/{projectId}:runQuery", 136 "path": "v1/projects/{projectId}:allocateIds",
137 "request": { 137 "request": {
138 "$ref": "RunQueryRequest" 138 "$ref": "AllocateIdsRequest"
139 }, 139 },
140 "response": { 140 "response": {
141 "$ref": "RunQueryResponse" 141 "$ref": "AllocateIdsResponse"
142 }, 142 },
143 "scopes": [ 143 "scopes": [
144 "https://www.googleapis.com/auth/cloud-platform", 144 "https://www.googleapis.com/auth/cloud-platform",
145 "https://www.googleapis.com/auth/datastore" 145 "https://www.googleapis.com/auth/datastore"
146 ] 146 ]
147 }, 147 },
148 "beginTransaction": { 148 "beginTransaction": {
149 "description": "Begins a new transaction.", 149 "description": "Begins a new transaction.",
150 "httpMethod": "POST", 150 "httpMethod": "POST",
151 "id": "datastore.projects.beginTransaction", 151 "id": "datastore.projects.beginTransaction",
(...skipping 13 matching lines...) Expand all
165 "$ref": "BeginTransactionRequest" 165 "$ref": "BeginTransactionRequest"
166 }, 166 },
167 "response": { 167 "response": {
168 "$ref": "BeginTransactionResponse" 168 "$ref": "BeginTransactionResponse"
169 }, 169 },
170 "scopes": [ 170 "scopes": [
171 "https://www.googleapis.com/auth/cloud-platform", 171 "https://www.googleapis.com/auth/cloud-platform",
172 "https://www.googleapis.com/auth/datastore" 172 "https://www.googleapis.com/auth/datastore"
173 ] 173 ]
174 }, 174 },
175 "allocateIds": { 175 "commit": {
176 "description": "Allocates IDs for the given keys, which is u seful for referencing an entity\nbefore it is inserted.", 176 "description": "Commits a transaction, optionally creating, deleting or modifying some\nentities.",
177 "httpMethod": "POST", 177 "httpMethod": "POST",
178 "id": "datastore.projects.allocateIds", 178 "id": "datastore.projects.commit",
179 "parameterOrder": [ 179 "parameterOrder": [
180 "projectId" 180 "projectId"
181 ], 181 ],
182 "parameters": { 182 "parameters": {
183 "projectId": { 183 "projectId": {
184 "description": "The ID of the project against which to make the request.", 184 "description": "The ID of the project against which to make the request.",
185 "location": "path", 185 "location": "path",
186 "required": true, 186 "required": true,
187 "type": "string" 187 "type": "string"
188 } 188 }
189 }, 189 },
190 "path": "v1/projects/{projectId}:allocateIds", 190 "path": "v1/projects/{projectId}:commit",
191 "request": { 191 "request": {
192 "$ref": "AllocateIdsRequest" 192 "$ref": "CommitRequest"
193 }, 193 },
194 "response": { 194 "response": {
195 "$ref": "AllocateIdsResponse" 195 "$ref": "CommitResponse"
196 }, 196 },
197 "scopes": [ 197 "scopes": [
198 "https://www.googleapis.com/auth/cloud-platform", 198 "https://www.googleapis.com/auth/cloud-platform",
199 "https://www.googleapis.com/auth/datastore" 199 "https://www.googleapis.com/auth/datastore"
200 ] 200 ]
201 }, 201 },
202 "lookup": { 202 "runQuery": {
203 "description": "Looks up entities by key.", 203 "description": "Queries for entities.",
204 "httpMethod": "POST", 204 "httpMethod": "POST",
205 "id": "datastore.projects.lookup", 205 "id": "datastore.projects.runQuery",
206 "parameterOrder": [ 206 "parameterOrder": [
207 "projectId" 207 "projectId"
208 ], 208 ],
209 "parameters": { 209 "parameters": {
210 "projectId": { 210 "projectId": {
211 "description": "The ID of the project against which to make the request.", 211 "description": "The ID of the project against which to make the request.",
212 "location": "path", 212 "location": "path",
213 "required": true, 213 "required": true,
214 "type": "string" 214 "type": "string"
215 } 215 }
216 }, 216 },
217 "path": "v1/projects/{projectId}:lookup", 217 "path": "v1/projects/{projectId}:runQuery",
218 "request": { 218 "request": {
219 "$ref": "LookupRequest" 219 "$ref": "RunQueryRequest"
220 }, 220 },
221 "response": { 221 "response": {
222 "$ref": "LookupResponse" 222 "$ref": "RunQueryResponse"
223 }, 223 },
224 "scopes": [ 224 "scopes": [
225 "https://www.googleapis.com/auth/cloud-platform", 225 "https://www.googleapis.com/auth/cloud-platform",
226 "https://www.googleapis.com/auth/datastore" 226 "https://www.googleapis.com/auth/datastore"
227 ] 227 ]
228 }, 228 },
229 "commit": { 229 "rollback": {
230 "description": "Commits a transaction, optionally creating, deleting or modifying some\nentities.", 230 "description": "Rolls back a transaction.",
231 "httpMethod": "POST", 231 "httpMethod": "POST",
232 "id": "datastore.projects.commit", 232 "id": "datastore.projects.rollback",
233 "parameterOrder": [ 233 "parameterOrder": [
234 "projectId" 234 "projectId"
235 ], 235 ],
236 "parameters": { 236 "parameters": {
237 "projectId": { 237 "projectId": {
238 "description": "The ID of the project against which to make the request.", 238 "description": "The ID of the project against which to make the request.",
239 "location": "path", 239 "location": "path",
240 "required": true, 240 "required": true,
241 "type": "string" 241 "type": "string"
242 } 242 }
243 }, 243 },
244 "path": "v1/projects/{projectId}:commit", 244 "path": "v1/projects/{projectId}:rollback",
245 "request": { 245 "request": {
246 "$ref": "CommitRequest" 246 "$ref": "RollbackRequest"
247 }, 247 },
248 "response": { 248 "response": {
249 "$ref": "CommitResponse" 249 "$ref": "RollbackResponse"
250 }, 250 },
251 "scopes": [ 251 "scopes": [
252 "https://www.googleapis.com/auth/cloud-platform", 252 "https://www.googleapis.com/auth/cloud-platform",
253 "https://www.googleapis.com/auth/datastore" 253 "https://www.googleapis.com/auth/datastore"
254 ] 254 ]
255 }, 255 },
256 "rollback": { 256 "lookup": {
257 "description": "Rolls back a transaction.", 257 "description": "Looks up entities by key.",
258 "httpMethod": "POST", 258 "httpMethod": "POST",
259 "id": "datastore.projects.rollback", 259 "id": "datastore.projects.lookup",
260 "parameterOrder": [ 260 "parameterOrder": [
261 "projectId" 261 "projectId"
262 ], 262 ],
263 "parameters": { 263 "parameters": {
264 "projectId": { 264 "projectId": {
265 "description": "The ID of the project against which to make the request.", 265 "description": "The ID of the project against which to make the request.",
266 "location": "path", 266 "location": "path",
267 "required": true, 267 "required": true,
268 "type": "string" 268 "type": "string"
269 } 269 }
270 }, 270 },
271 "path": "v1/projects/{projectId}:rollback", 271 "path": "v1/projects/{projectId}:lookup",
272 "request": { 272 "request": {
273 "$ref": "RollbackRequest" 273 "$ref": "LookupRequest"
274 }, 274 },
275 "response": { 275 "response": {
276 "$ref": "RollbackResponse" 276 "$ref": "LookupResponse"
277 }, 277 },
278 "scopes": [ 278 "scopes": [
279 "https://www.googleapis.com/auth/cloud-platform", 279 "https://www.googleapis.com/auth/cloud-platform",
280 "https://www.googleapis.com/auth/datastore" 280 "https://www.googleapis.com/auth/datastore"
281 ] 281 ]
282 } 282 }
283 } 283 }
284 } 284 }
285 }, 285 },
286 "revision": "20170123", 286 "revision": "20170314",
287 "rootUrl": "https://datastore.googleapis.com/", 287 "rootUrl": "https://datastore.googleapis.com/",
288 "schemas": { 288 "schemas": {
289 "Value": { 289 "CompositeFilter": {
290 "description": "A message that can hold any of the supported value t ypes and associated\nmetadata.", 290 "description": "A filter that merges multiple other filters using th e given operator.",
291 "id": "Value", 291 "id": "CompositeFilter",
292 "properties": { 292 "properties": {
293 "stringValue": { 293 "filters": {
294 "description": "A UTF-8 encoded string value.\nWhen `exclude _from_indexes` is false (it is indexed) , may have at most 1500 bytes.\nOtherwis e, may be set to at least 1,000,000 bytes.", 294 "description": "The list of filters to combine.\nMust contai n at least one filter.",
295 "type": "string" 295 "items": {
296 "$ref": "Filter"
297 },
298 "type": "array"
296 }, 299 },
297 "arrayValue": { 300 "op": {
298 "$ref": "ArrayValue", 301 "description": "The operator for combining multiple filters. ",
299 "description": "An array value.\nCannot contain another arra y value.\nA `Value` instance that sets field `array_value` must not set fields\n `meaning` or `exclude_from_indexes`."
300 },
301 "entityValue": {
302 "$ref": "Entity",
303 "description": "An entity value.\n\n- May have no key.\n- Ma y have a key with an incomplete key path.\n- May have a reserved/read-only key."
304 },
305 "meaning": {
306 "description": "The `meaning` field should only be populated for backwards compatibility.",
307 "format": "int32",
308 "type": "integer"
309 },
310 "integerValue": {
311 "description": "An integer value.",
312 "format": "int64",
313 "type": "string"
314 },
315 "doubleValue": {
316 "description": "A double value.",
317 "format": "double",
318 "type": "number"
319 },
320 "blobValue": {
321 "description": "A blob value.\nMay have at most 1,000,000 by tes.\nWhen `exclude_from_indexes` is false, may have at most 1500 bytes.\nIn JSO N requests, must be base64-encoded.",
322 "format": "byte",
323 "type": "string"
324 },
325 "geoPointValue": {
326 "$ref": "LatLng",
327 "description": "A geo point value representing a point on th e surface of Earth."
328 },
329 "nullValue": {
330 "description": "A null value.",
331 "enum": [ 302 "enum": [
332 "NULL_VALUE" 303 "OPERATOR_UNSPECIFIED",
333 ], 304 "AND"
334 "enumDescriptions": [
335 "Null value."
336 ],
337 "type": "string"
338 },
339 "booleanValue": {
340 "description": "A boolean value.",
341 "type": "boolean"
342 },
343 "keyValue": {
344 "$ref": "Key",
345 "description": "A key value."
346 },
347 "excludeFromIndexes": {
348 "description": "If the value should be excluded from all ind exes including those defined\nexplicitly.",
349 "type": "boolean"
350 },
351 "timestampValue": {
352 "description": "A timestamp value.\nWhen stored in the Datas tore, precise only to microseconds;\nany additional precision is rounded down.",
353 "format": "google-datetime",
354 "type": "string"
355 }
356 },
357 "type": "object"
358 },
359 "ReadOptions": {
360 "description": "The options shared by read requests.",
361 "id": "ReadOptions",
362 "properties": {
363 "transaction": {
364 "description": "The identifier of the transaction in which t o read. A\ntransaction identifier is returned by a call to\nDatastore.BeginTrans action.",
365 "format": "byte",
366 "type": "string"
367 },
368 "readConsistency": {
369 "description": "The non-transactional read consistency to us e.\nCannot be set to `STRONG` for global queries.",
370 "enum": [
371 "READ_CONSISTENCY_UNSPECIFIED",
372 "STRONG",
373 "EVENTUAL"
374 ], 305 ],
375 "enumDescriptions": [ 306 "enumDescriptions": [
376 "Unspecified. This value must not be used.", 307 "Unspecified. This value must not be used.",
377 "Strong consistency.", 308 "The results are required to satisfy each of the combine d filters."
378 "Eventual consistency."
379 ], 309 ],
380 "type": "string" 310 "type": "string"
381 } 311 }
382 }, 312 },
383 "type": "object" 313 "type": "object"
384 }, 314 },
385 "PropertyOrder": { 315 "AllocateIdsResponse": {
386 "description": "The desired order for a specific property.", 316 "description": "The response for Datastore.AllocateIds.",
387 "id": "PropertyOrder", 317 "id": "AllocateIdsResponse",
388 "properties": { 318 "properties": {
389 "direction": { 319 "keys": {
390 "description": "The direction to order by. Defaults to `ASCE NDING`.", 320 "description": "The keys specified in the request (in the sa me order), each with\nits key path completed with a newly allocated ID.",
391 "enum": [
392 "DIRECTION_UNSPECIFIED",
393 "ASCENDING",
394 "DESCENDING"
395 ],
396 "enumDescriptions": [
397 "Unspecified. This value must not be used.",
398 "Ascending.",
399 "Descending."
400 ],
401 "type": "string"
402 },
403 "property": {
404 "$ref": "PropertyReference",
405 "description": "The property to order by."
406 }
407 },
408 "type": "object"
409 },
410 "CommitRequest": {
411 "description": "The request for Datastore.Commit.",
412 "id": "CommitRequest",
413 "properties": {
414 "transaction": {
415 "description": "The identifier of the transaction associated with the commit. A\ntransaction identifier is returned by a call to\nDatastore. BeginTransaction.",
416 "format": "byte",
417 "type": "string"
418 },
419 "mode": {
420 "description": "The type of commit to perform. Defaults to ` TRANSACTIONAL`.",
421 "enum": [
422 "MODE_UNSPECIFIED",
423 "TRANSACTIONAL",
424 "NON_TRANSACTIONAL"
425 ],
426 "enumDescriptions": [
427 "Unspecified. This value must not be used.",
428 "Transactional: The mutations are either all applied, or none are applied.\nLearn about transactions [here](https://cloud.google.com/dat astore/docs/concepts/transactions).",
429 "Non-transactional: The mutations may not apply as all o r none."
430 ],
431 "type": "string"
432 },
433 "mutations": {
434 "description": "The mutations to perform.\n\nWhen mode is `T RANSACTIONAL`, mutations affecting a single entity are\napplied in order. The fo llowing sequences of mutations affecting a single\nentity are not permitted in a single `Commit` request:\n\n- `insert` followed by `insert`\n- `update` followe d by `insert`\n- `upsert` followed by `insert`\n- `delete` followed by `update`\ n\nWhen mode is `NON_TRANSACTIONAL`, no two mutations may affect a single\nentit y.",
435 "items": { 321 "items": {
436 "$ref": "Mutation" 322 "$ref": "Key"
437 }, 323 },
438 "type": "array" 324 "type": "array"
439 } 325 }
440 }, 326 },
441 "type": "object" 327 "type": "object"
442 }, 328 },
443 "Query": { 329 "Query": {
444 "description": "A query for entities.", 330 "description": "A query for entities.",
445 "id": "Query", 331 "id": "Query",
446 "properties": { 332 "properties": {
447 "limit": {
448 "description": "The maximum number of results to return. App lies after all other\nconstraints. Optional.\nUnspecified is interpreted as no l imit.\nMust be >= 0 if specified.",
449 "format": "int32",
450 "type": "integer"
451 },
452 "filter": {
453 "$ref": "Filter",
454 "description": "The filter to apply."
455 },
456 "endCursor": {
457 "description": "An ending point for the query results. Query cursors are\nreturned in query result batches and\n[can only be used to limit t he same query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_ limits_and_offsets).",
458 "format": "byte",
459 "type": "string"
460 },
461 "distinctOn": { 333 "distinctOn": {
462 "description": "The properties to make distinct. The query r esults will contain the first\nresult for each distinct combination of values fo r the given properties\n(if empty, all results are returned).", 334 "description": "The properties to make distinct. The query r esults will contain the first\nresult for each distinct combination of values fo r the given properties\n(if empty, all results are returned).",
463 "items": { 335 "items": {
464 "$ref": "PropertyReference" 336 "$ref": "PropertyReference"
465 }, 337 },
466 "type": "array" 338 "type": "array"
467 }, 339 },
468 "offset": { 340 "order": {
469 "description": "The number of results to skip. Applies befor e limit, but after all other\nconstraints. Optional. Must be >= 0 if specified." , 341 "description": "The order to apply to the query results (if empty, order is unspecified).",
470 "format": "int32", 342 "items": {
471 "type": "integer" 343 "$ref": "PropertyOrder"
344 },
345 "type": "array"
472 }, 346 },
473 "projection": { 347 "projection": {
474 "description": "The projection to return. Defaults to return ing all properties.", 348 "description": "The projection to return. Defaults to return ing all properties.",
475 "items": { 349 "items": {
476 "$ref": "Projection" 350 "$ref": "Projection"
477 }, 351 },
478 "type": "array" 352 "type": "array"
479 }, 353 },
480 "order": { 354 "endCursor": {
481 "description": "The order to apply to the query results (if empty, order is unspecified).", 355 "description": "An ending point for the query results. Query cursors are\nreturned in query result batches and\n[can only be used to limit t he same query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_ limits_and_offsets).",
482 "items": { 356 "format": "byte",
483 "$ref": "PropertyOrder" 357 "type": "string"
484 }, 358 },
485 "type": "array" 359 "limit": {
360 "description": "The maximum number of results to return. App lies after all other\nconstraints. Optional.\nUnspecified is interpreted as no l imit.\nMust be >= 0 if specified.",
361 "format": "int32",
362 "type": "integer"
363 },
364 "filter": {
365 "$ref": "Filter",
366 "description": "The filter to apply."
367 },
368 "offset": {
369 "description": "The number of results to skip. Applies befor e limit, but after all other\nconstraints. Optional. Must be >= 0 if specified." ,
370 "format": "int32",
371 "type": "integer"
486 }, 372 },
487 "startCursor": { 373 "startCursor": {
488 "description": "A starting point for the query results. Quer y cursors are\nreturned in query result batches and\n[can only be used to contin ue the same query](https://cloud.google.com/datastore/docs/concepts/queries#curs ors_limits_and_offsets).", 374 "description": "A starting point for the query results. Quer y cursors are\nreturned in query result batches and\n[can only be used to contin ue the same query](https://cloud.google.com/datastore/docs/concepts/queries#curs ors_limits_and_offsets).",
489 "format": "byte", 375 "format": "byte",
490 "type": "string" 376 "type": "string"
491 }, 377 },
492 "kind": { 378 "kind": {
493 "description": "The kinds to query (if empty, returns entiti es of all kinds).\nCurrently at most 1 kind may be specified.", 379 "description": "The kinds to query (if empty, returns entiti es of all kinds).\nCurrently at most 1 kind may be specified.",
494 "items": { 380 "items": {
495 "$ref": "KindExpression" 381 "$ref": "KindExpression"
496 }, 382 },
497 "type": "array" 383 "type": "array"
498 } 384 }
499 }, 385 },
500 "type": "object" 386 "type": "object"
501 }, 387 },
502 "RollbackRequest": { 388 "PropertyFilter": {
503 "description": "The request for Datastore.Rollback.", 389 "description": "A filter on a specific property.",
504 "id": "RollbackRequest", 390 "id": "PropertyFilter",
505 "properties": { 391 "properties": {
506 "transaction": { 392 "op": {
507 "description": "The transaction identifier, returned by a ca ll to\nDatastore.BeginTransaction.", 393 "description": "The operator to filter by.",
508 "format": "byte", 394 "enum": [
395 "OPERATOR_UNSPECIFIED",
396 "LESS_THAN",
397 "LESS_THAN_OR_EQUAL",
398 "GREATER_THAN",
399 "GREATER_THAN_OR_EQUAL",
400 "EQUAL",
401 "HAS_ANCESTOR"
402 ],
403 "enumDescriptions": [
404 "Unspecified. This value must not be used.",
405 "Less than.",
406 "Less than or equal.",
407 "Greater than.",
408 "Greater than or equal.",
409 "Equal.",
410 "Has ancestor."
411 ],
509 "type": "string" 412 "type": "string"
413 },
414 "value": {
415 "$ref": "Value",
416 "description": "The value to compare the property to."
417 },
418 "property": {
419 "$ref": "PropertyReference",
420 "description": "The property to filter by."
510 } 421 }
511 }, 422 },
512 "type": "object" 423 "type": "object"
513 }, 424 },
514 "EntityResult": { 425 "EntityResult": {
515 "description": "The result of fetching an entity from Datastore.", 426 "description": "The result of fetching an entity from Datastore.",
516 "id": "EntityResult", 427 "id": "EntityResult",
517 "properties": { 428 "properties": {
518 "cursor": { 429 "cursor": {
519 "description": "A cursor that points to the position after t he result entity.\nSet only when the `EntityResult` is part of a `QueryResultBat ch` message.", 430 "description": "A cursor that points to the position after t he result entity.\nSet only when the `EntityResult` is part of a `QueryResultBat ch` message.",
520 "format": "byte", 431 "format": "byte",
521 "type": "string" 432 "type": "string"
522 }, 433 },
434 "version": {
435 "description": "The version of the entity, a strictly positi ve number that monotonically\nincreases with changes to the entity.\n\nThis fiel d is set for `FULL` entity\nresults.\n\nFor missing entities in `LookupResponse` , this\nis the version of the snapshot that was used to look up the entity, and it\nis always set except for eventually consistent reads.",
436 "format": "int64",
437 "type": "string"
438 },
523 "entity": { 439 "entity": {
524 "$ref": "Entity", 440 "$ref": "Entity",
525 "description": "The resulting entity." 441 "description": "The resulting entity."
526 },
527 "version": {
528 "description": "The version of the entity, a strictly positi ve number that monotonically\nincreases with changes to the entity.\n\nThis fiel d is set for `FULL` entity\nresults.\n\nFor missing entities in `LookupResponse` , this\nis the version of the snapshot that was used to look up the entity, and it\nis always set except for eventually consistent reads.",
529 "format": "int64",
530 "type": "string"
531 } 442 }
532 }, 443 },
533 "type": "object" 444 "type": "object"
534 }, 445 },
535 "GqlQueryParameter": { 446 "CommitResponse": {
536 "description": "A binding parameter for a GQL query.", 447 "description": "The response for Datastore.Commit.",
537 "id": "GqlQueryParameter", 448 "id": "CommitResponse",
538 "properties": { 449 "properties": {
539 "value": { 450 "mutationResults": {
540 "$ref": "Value", 451 "description": "The result of performing the mutations.\nThe i-th mutation result corresponds to the i-th mutation in the request.",
541 "description": "A value parameter." 452 "items": {
453 "$ref": "MutationResult"
454 },
455 "type": "array"
542 }, 456 },
543 "cursor": { 457 "indexUpdates": {
544 "description": "A query cursor. Query cursors are returned i n query\nresult batches.", 458 "description": "The number of index entries updated during t he commit, or zero if none were\nupdated.",
545 "format": "byte", 459 "format": "int32",
546 "type": "string" 460 "type": "integer"
547 } 461 }
548 }, 462 },
549 "type": "object" 463 "type": "object"
550 }, 464 },
551 "ArrayValue": { 465 "Value": {
552 "description": "An array value.", 466 "description": "A message that can hold any of the supported value t ypes and associated\nmetadata.",
553 "id": "ArrayValue", 467 "id": "Value",
554 "properties": { 468 "properties": {
555 "values": { 469 "doubleValue": {
556 "description": "Values in the array.\nThe order of this arra y may not be preserved if it contains a mix of\nindexed and unindexed values.", 470 "description": "A double value.",
557 "items": { 471 "format": "double",
558 "$ref": "Value" 472 "type": "number"
559 }, 473 },
560 "type": "array" 474 "timestampValue": {
475 "description": "A timestamp value.\nWhen stored in the Datas tore, precise only to microseconds;\nany additional precision is rounded down.",
476 "format": "google-datetime",
477 "type": "string"
478 },
479 "booleanValue": {
480 "description": "A boolean value.",
481 "type": "boolean"
482 },
483 "nullValue": {
484 "description": "A null value.",
485 "enum": [
486 "NULL_VALUE"
487 ],
488 "enumDescriptions": [
489 "Null value."
490 ],
491 "type": "string"
492 },
493 "blobValue": {
494 "description": "A blob value.\nMay have at most 1,000,000 by tes.\nWhen `exclude_from_indexes` is false, may have at most 1500 bytes.\nIn JSO N requests, must be base64-encoded.",
495 "format": "byte",
496 "type": "string"
497 },
498 "meaning": {
499 "description": "The `meaning` field should only be populated for backwards compatibility.",
500 "format": "int32",
501 "type": "integer"
502 },
503 "arrayValue": {
504 "$ref": "ArrayValue",
505 "description": "An array value.\nCannot contain another arra y value.\nA `Value` instance that sets field `array_value` must not set fields\n `meaning` or `exclude_from_indexes`."
506 },
507 "entityValue": {
508 "$ref": "Entity",
509 "description": "An entity value.\n\n- May have no key.\n- Ma y have a key with an incomplete key path.\n- May have a reserved/read-only key."
510 },
511 "geoPointValue": {
512 "$ref": "LatLng",
513 "description": "A geo point value representing a point on th e surface of Earth."
514 },
515 "keyValue": {
516 "$ref": "Key",
517 "description": "A key value."
518 },
519 "integerValue": {
520 "description": "An integer value.",
521 "format": "int64",
522 "type": "string"
523 },
524 "stringValue": {
525 "description": "A UTF-8 encoded string value.\nWhen `exclude _from_indexes` is false (it is indexed) , may have at most 1500 bytes.\nOtherwis e, may be set to at least 1,000,000 bytes.",
526 "type": "string"
527 },
528 "excludeFromIndexes": {
529 "description": "If the value should be excluded from all ind exes including those defined\nexplicitly.",
530 "type": "boolean"
561 } 531 }
562 }, 532 },
563 "type": "object" 533 "type": "object"
564 },
565 "Filter": {
566 "description": "A holder for any type of filter.",
567 "id": "Filter",
568 "properties": {
569 "propertyFilter": {
570 "$ref": "PropertyFilter",
571 "description": "A filter on a property."
572 },
573 "compositeFilter": {
574 "$ref": "CompositeFilter",
575 "description": "A composite filter."
576 }
577 },
578 "type": "object"
579 },
580 "BeginTransactionResponse": {
581 "description": "The response for Datastore.BeginTransaction.",
582 "id": "BeginTransactionResponse",
583 "properties": {
584 "transaction": {
585 "description": "The transaction identifier (always present). ",
586 "format": "byte",
587 "type": "string"
588 }
589 },
590 "type": "object"
591 }, 534 },
592 "PartitionId": { 535 "PartitionId": {
593 "description": "A partition ID identifies a grouping of entities. Th e grouping is always\nby project and namespace, however the namespace ID may be empty.\n\nA partition ID contains several dimensions:\nproject ID and namespace ID.\n\nPartition dimensions:\n\n- May be `\"\"`.\n- Must be valid UTF-8 bytes.\n - Must have values that match regex `[A-Za-z\\d\\.\\-_]{1,100}`\nIf the value of any dimension matches regex `__.*__`, the partition is\nreserved/read-only.\nA reserved/read-only partition ID is forbidden in certain documented\ncontexts.\n\ nForeign partition IDs (in which the project ID does\nnot match the context proj ect ID ) are discouraged.\nReads and writes of foreign partition IDs may fail if the project is not in an active state.", 536 "description": "A partition ID identifies a grouping of entities. Th e grouping is always\nby project and namespace, however the namespace ID may be empty.\n\nA partition ID contains several dimensions:\nproject ID and namespace ID.\n\nPartition dimensions:\n\n- May be `\"\"`.\n- Must be valid UTF-8 bytes.\n - Must have values that match regex `[A-Za-z\\d\\.\\-_]{1,100}`\nIf the value of any dimension matches regex `__.*__`, the partition is\nreserved/read-only.\nA reserved/read-only partition ID is forbidden in certain documented\ncontexts.\n\ nForeign partition IDs (in which the project ID does\nnot match the context proj ect ID ) are discouraged.\nReads and writes of foreign partition IDs may fail if the project is not in an active state.",
594 "id": "PartitionId", 537 "id": "PartitionId",
595 "properties": { 538 "properties": {
596 "namespaceId": { 539 "namespaceId": {
597 "description": "If not empty, the ID of the namespace to whi ch the entities belong.", 540 "description": "If not empty, the ID of the namespace to whi ch the entities belong.",
598 "type": "string" 541 "type": "string"
599 }, 542 },
600 "projectId": { 543 "projectId": {
601 "description": "The ID of the project to which the entities belong.", 544 "description": "The ID of the project to which the entities belong.",
602 "type": "string" 545 "type": "string"
603 } 546 }
604 }, 547 },
605 "type": "object" 548 "type": "object"
606 }, 549 },
550 "Entity": {
551 "description": "A Datastore data object.\n\nAn entity is limited to 1 megabyte when stored. That _roughly_\ncorresponds to a limit of 1 megabyte for the serialized form of this\nmessage.",
552 "id": "Entity",
553 "properties": {
554 "key": {
555 "$ref": "Key",
556 "description": "The entity's key.\n\nAn entity must have a k ey, unless otherwise documented (for example,\nan entity in `Value.entity_value` may have no key).\nAn entity's kind is its key path's last element's kind,\nor null if it has no key."
557 },
558 "properties": {
559 "additionalProperties": {
560 "$ref": "Value"
561 },
562 "description": "The entity's properties.\nThe map's keys are property names.\nA property name matching regex `__.*__` is reserved.\nA reserv ed property name is forbidden in certain documented contexts.\nThe name must not contain more than 500 characters.\nThe name cannot be `\"\"`.",
563 "type": "object"
564 }
565 },
566 "type": "object"
567 },
568 "LookupRequest": {
569 "description": "The request for Datastore.Lookup.",
570 "id": "LookupRequest",
571 "properties": {
572 "readOptions": {
573 "$ref": "ReadOptions",
574 "description": "The options for this lookup request."
575 },
576 "keys": {
577 "description": "Keys of entities to look up.",
578 "items": {
579 "$ref": "Key"
580 },
581 "type": "array"
582 }
583 },
584 "type": "object"
585 },
607 "QueryResultBatch": { 586 "QueryResultBatch": {
608 "description": "A batch of results produced by a query.", 587 "description": "A batch of results produced by a query.",
609 "id": "QueryResultBatch", 588 "id": "QueryResultBatch",
610 "properties": { 589 "properties": {
611 "snapshotVersion": {
612 "description": "The version number of the snapshot this batc h was returned from.\nThis applies to the range of results from the query's `sta rt_cursor` (or\nthe beginning of the query if no cursor was given) to this batch 's\n`end_cursor` (not the query's `end_cursor`).\n\nIn a single transaction, sub sequent query result batches for the same query\ncan have a greater snapshot ver sion number. Each batch's snapshot version\nis valid for all preceding batches.\ nThe value will be zero for eventually consistent queries.",
613 "format": "int64",
614 "type": "string"
615 },
616 "endCursor": {
617 "description": "A cursor that points to the position after t he last result in the batch.",
618 "format": "byte",
619 "type": "string"
620 },
621 "skippedCursor": {
622 "description": "A cursor that points to the position after t he last skipped result.\nWill be set when `skipped_results` != 0.",
623 "format": "byte",
624 "type": "string"
625 },
626 "entityResultType": {
627 "description": "The result type for every entity in `entity_ results`.",
628 "enum": [
629 "RESULT_TYPE_UNSPECIFIED",
630 "FULL",
631 "PROJECTION",
632 "KEY_ONLY"
633 ],
634 "enumDescriptions": [
635 "Unspecified. This value is never used.",
636 "The key and properties.",
637 "A projected subset of properties. The entity may have n o key.",
638 "Only the key."
639 ],
640 "type": "string"
641 },
642 "moreResults": { 590 "moreResults": {
643 "description": "The state of the query after the current bat ch.", 591 "description": "The state of the query after the current bat ch.",
644 "enum": [ 592 "enum": [
645 "MORE_RESULTS_TYPE_UNSPECIFIED", 593 "MORE_RESULTS_TYPE_UNSPECIFIED",
646 "NOT_FINISHED", 594 "NOT_FINISHED",
647 "MORE_RESULTS_AFTER_LIMIT", 595 "MORE_RESULTS_AFTER_LIMIT",
648 "MORE_RESULTS_AFTER_CURSOR", 596 "MORE_RESULTS_AFTER_CURSOR",
649 "NO_MORE_RESULTS" 597 "NO_MORE_RESULTS"
650 ], 598 ],
651 "enumDescriptions": [ 599 "enumDescriptions": [
652 "Unspecified. This value is never used.", 600 "Unspecified. This value is never used.",
653 "There may be additional batches to fetch from this quer y.", 601 "There may be additional batches to fetch from this quer y.",
654 "The query is finished, but there may be more results af ter the limit.", 602 "The query is finished, but there may be more results af ter the limit.",
655 "The query is finished, but there may be more results af ter the end\ncursor.", 603 "The query is finished, but there may be more results af ter the end\ncursor.",
656 "The query has been exhausted." 604 "The query has been exhausted."
657 ], 605 ],
658 "type": "string" 606 "type": "string"
659 }, 607 },
608 "endCursor": {
609 "description": "A cursor that points to the position after t he last result in the batch.",
610 "format": "byte",
611 "type": "string"
612 },
613 "snapshotVersion": {
614 "description": "The version number of the snapshot this batc h was returned from.\nThis applies to the range of results from the query's `sta rt_cursor` (or\nthe beginning of the query if no cursor was given) to this batch 's\n`end_cursor` (not the query's `end_cursor`).\n\nIn a single transaction, sub sequent query result batches for the same query\ncan have a greater snapshot ver sion number. Each batch's snapshot version\nis valid for all preceding batches.\ nThe value will be zero for eventually consistent queries.",
615 "format": "int64",
616 "type": "string"
617 },
618 "skippedCursor": {
619 "description": "A cursor that points to the position after t he last skipped result.\nWill be set when `skipped_results` != 0.",
620 "format": "byte",
621 "type": "string"
622 },
623 "skippedResults": {
624 "description": "The number of results skipped, typically bec ause of an offset.",
625 "format": "int32",
626 "type": "integer"
627 },
628 "entityResultType": {
629 "description": "The result type for every entity in `entity_ results`.",
630 "enum": [
631 "RESULT_TYPE_UNSPECIFIED",
632 "FULL",
633 "PROJECTION",
634 "KEY_ONLY"
635 ],
636 "enumDescriptions": [
637 "Unspecified. This value is never used.",
638 "The key and properties.",
639 "A projected subset of properties. The entity may have n o key.",
640 "Only the key."
641 ],
642 "type": "string"
643 },
660 "entityResults": { 644 "entityResults": {
661 "description": "The results for this batch.", 645 "description": "The results for this batch.",
662 "items": { 646 "items": {
663 "$ref": "EntityResult" 647 "$ref": "EntityResult"
664 }, 648 },
665 "type": "array" 649 "type": "array"
666 },
667 "skippedResults": {
668 "description": "The number of results skipped, typically bec ause of an offset.",
669 "format": "int32",
670 "type": "integer"
671 } 650 }
672 }, 651 },
673 "type": "object" 652 "type": "object"
674 },
675 "AllocateIdsRequest": {
676 "description": "The request for Datastore.AllocateIds.",
677 "id": "AllocateIdsRequest",
678 "properties": {
679 "keys": {
680 "description": "A list of keys with incomplete key paths for which to allocate IDs.\nNo key may be reserved/read-only.",
681 "items": {
682 "$ref": "Key"
683 },
684 "type": "array"
685 }
686 },
687 "type": "object"
688 },
689 "KindExpression": {
690 "description": "A representation of a kind.",
691 "id": "KindExpression",
692 "properties": {
693 "name": {
694 "description": "The name of the kind.",
695 "type": "string"
696 }
697 },
698 "type": "object"
699 },
700 "PropertyFilter": {
701 "description": "A filter on a specific property.",
702 "id": "PropertyFilter",
703 "properties": {
704 "value": {
705 "$ref": "Value",
706 "description": "The value to compare the property to."
707 },
708 "op": {
709 "description": "The operator to filter by.",
710 "enum": [
711 "OPERATOR_UNSPECIFIED",
712 "LESS_THAN",
713 "LESS_THAN_OR_EQUAL",
714 "GREATER_THAN",
715 "GREATER_THAN_OR_EQUAL",
716 "EQUAL",
717 "HAS_ANCESTOR"
718 ],
719 "enumDescriptions": [
720 "Unspecified. This value must not be used.",
721 "Less than.",
722 "Less than or equal.",
723 "Greater than.",
724 "Greater than or equal.",
725 "Equal.",
726 "Has ancestor."
727 ],
728 "type": "string"
729 },
730 "property": {
731 "$ref": "PropertyReference",
732 "description": "The property to filter by."
733 }
734 },
735 "type": "object"
736 }, 653 },
737 "PathElement": { 654 "PathElement": {
738 "description": "A (kind, ID/name) pair used to construct a key path. \n\nIf either name or ID is set, the element is complete.\nIf neither is set, th e element is incomplete.", 655 "description": "A (kind, ID/name) pair used to construct a key path. \n\nIf either name or ID is set, the element is complete.\nIf neither is set, th e element is incomplete.",
739 "id": "PathElement", 656 "id": "PathElement",
740 "properties": { 657 "properties": {
741 "kind": {
742 "description": "The kind of the entity.\nA kind matching reg ex `__.*__` is reserved/read-only.\nA kind must not contain more than 1500 bytes when UTF-8 encoded.\nCannot be `\"\"`.",
743 "type": "string"
744 },
745 "id": { 658 "id": {
746 "description": "The auto-allocated ID of the entity.\nNever equal to zero. Values less than zero are discouraged and may not\nbe supported i n the future.", 659 "description": "The auto-allocated ID of the entity.\nNever equal to zero. Values less than zero are discouraged and may not\nbe supported i n the future.",
747 "format": "int64", 660 "format": "int64",
748 "type": "string" 661 "type": "string"
749 }, 662 },
750 "name": { 663 "name": {
751 "description": "The name of the entity.\nA name matching reg ex `__.*__` is reserved/read-only.\nA name must not be more than 1500 bytes when UTF-8 encoded.\nCannot be `\"\"`.", 664 "description": "The name of the entity.\nA name matching reg ex `__.*__` is reserved/read-only.\nA name must not be more than 1500 bytes when UTF-8 encoded.\nCannot be `\"\"`.",
752 "type": "string" 665 "type": "string"
666 },
667 "kind": {
668 "description": "The kind of the entity.\nA kind matching reg ex `__.*__` is reserved/read-only.\nA kind must not contain more than 1500 bytes when UTF-8 encoded.\nCannot be `\"\"`.",
669 "type": "string"
753 } 670 }
754 }, 671 },
755 "type": "object" 672 "type": "object"
756 }, 673 },
757 "RollbackResponse": { 674 "GqlQueryParameter": {
758 "description": "The response for Datastore.Rollback.\n(an empty mess age).", 675 "description": "A binding parameter for a GQL query.",
759 "id": "RollbackResponse", 676 "id": "GqlQueryParameter",
760 "properties": {}, 677 "properties": {
678 "cursor": {
679 "description": "A query cursor. Query cursors are returned i n query\nresult batches.",
680 "format": "byte",
681 "type": "string"
682 },
683 "value": {
684 "$ref": "Value",
685 "description": "A value parameter."
686 }
687 },
761 "type": "object" 688 "type": "object"
762 }, 689 },
763 "PropertyReference": { 690 "BeginTransactionResponse": {
764 "description": "A reference to a property relative to the kind expre ssions.", 691 "description": "The response for Datastore.BeginTransaction.",
765 "id": "PropertyReference", 692 "id": "BeginTransactionResponse",
766 "properties": { 693 "properties": {
767 "name": { 694 "transaction": {
768 "description": "The name of the property.\nIf name includes \".\"s, it may be interpreted as a property name path.", 695 "description": "The transaction identifier (always present). ",
696 "format": "byte",
769 "type": "string" 697 "type": "string"
770 } 698 }
771 }, 699 },
772 "type": "object" 700 "type": "object"
773 }, 701 },
774 "Projection": { 702 "AllocateIdsRequest": {
775 "description": "A representation of a property in a projection.", 703 "description": "The request for Datastore.AllocateIds.",
776 "id": "Projection", 704 "id": "AllocateIdsRequest",
777 "properties": {
778 "property": {
779 "$ref": "PropertyReference",
780 "description": "The property to project."
781 }
782 },
783 "type": "object"
784 },
785 "MutationResult": {
786 "description": "The result of applying a mutation.",
787 "id": "MutationResult",
788 "properties": {
789 "conflictDetected": {
790 "description": "Whether a conflict was detected for this mut ation. Always false when a\nconflict detection strategy field is not set in the mutation.",
791 "type": "boolean"
792 },
793 "key": {
794 "$ref": "Key",
795 "description": "The automatically allocated key.\nSet only w hen the mutation allocated a key."
796 },
797 "version": {
798 "description": "The version of the entity on the server afte r processing the mutation. If\nthe mutation doesn't change anything on the serve r, then the version will\nbe the version of the current entity or, if no entity is present, a version\nthat is strictly greater than the version of any previous entity and less\nthan the version of any possible future entity.",
799 "format": "int64",
800 "type": "string"
801 }
802 },
803 "type": "object"
804 },
805 "AllocateIdsResponse": {
806 "description": "The response for Datastore.AllocateIds.",
807 "id": "AllocateIdsResponse",
808 "properties": { 705 "properties": {
809 "keys": { 706 "keys": {
810 "description": "The keys specified in the request (in the sa me order), each with\nits key path completed with a newly allocated ID.", 707 "description": "A list of keys with incomplete key paths for which to allocate IDs.\nNo key may be reserved/read-only.",
811 "items": { 708 "items": {
812 "$ref": "Key" 709 "$ref": "Key"
813 }, 710 },
814 "type": "array" 711 "type": "array"
815 } 712 }
816 }, 713 },
817 "type": "object" 714 "type": "object"
818 }, 715 },
819 "LookupResponse": { 716 "LookupResponse": {
820 "description": "The response for Datastore.Lookup.", 717 "description": "The response for Datastore.Lookup.",
821 "id": "LookupResponse", 718 "id": "LookupResponse",
822 "properties": { 719 "properties": {
720 "deferred": {
721 "description": "A list of keys that were not looked up due t o resource constraints. The\norder of results in this field is undefined and has no relation to the\norder of the keys in the input.",
722 "items": {
723 "$ref": "Key"
724 },
725 "type": "array"
726 },
823 "found": { 727 "found": {
824 "description": "Entities found as `ResultType.FULL` entities . The order of results in this\nfield is undefined and has no relation to the or der of the keys in the\ninput.", 728 "description": "Entities found as `ResultType.FULL` entities . The order of results in this\nfield is undefined and has no relation to the or der of the keys in the\ninput.",
825 "items": { 729 "items": {
826 "$ref": "EntityResult" 730 "$ref": "EntityResult"
827 }, 731 },
828 "type": "array" 732 "type": "array"
829 }, 733 },
830 "missing": { 734 "missing": {
831 "description": "Entities not found as `ResultType.KEY_ONLY` entities. The order of results\nin this field is undefined and has no relation t o the order of the keys\nin the input.", 735 "description": "Entities not found as `ResultType.KEY_ONLY` entities. The order of results\nin this field is undefined and has no relation t o the order of the keys\nin the input.",
832 "items": { 736 "items": {
833 "$ref": "EntityResult" 737 "$ref": "EntityResult"
834 }, 738 },
835 "type": "array" 739 "type": "array"
740 }
741 },
742 "type": "object"
743 },
744 "RunQueryResponse": {
745 "description": "The response for Datastore.RunQuery.",
746 "id": "RunQueryResponse",
747 "properties": {
748 "query": {
749 "$ref": "Query",
750 "description": "The parsed form of the `GqlQuery` from the r equest, if it was set."
836 }, 751 },
837 "deferred": { 752 "batch": {
838 "description": "A list of keys that were not looked up due t o resource constraints. The\norder of results in this field is undefined and has no relation to the\norder of the keys in the input.", 753 "$ref": "QueryResultBatch",
839 "items": { 754 "description": "A batch of query results (always present)."
840 "$ref": "Key"
841 },
842 "type": "array"
843 } 755 }
844 }, 756 },
845 "type": "object" 757 "type": "object"
846 }, 758 },
847 "BeginTransactionRequest": { 759 "BeginTransactionRequest": {
848 "description": "The request for Datastore.BeginTransaction.", 760 "description": "The request for Datastore.BeginTransaction.",
849 "id": "BeginTransactionRequest", 761 "id": "BeginTransactionRequest",
850 "properties": {}, 762 "properties": {},
851 "type": "object" 763 "type": "object"
852 }, 764 },
765 "CommitRequest": {
766 "description": "The request for Datastore.Commit.",
767 "id": "CommitRequest",
768 "properties": {
769 "transaction": {
770 "description": "The identifier of the transaction associated with the commit. A\ntransaction identifier is returned by a call to\nDatastore. BeginTransaction.",
771 "format": "byte",
772 "type": "string"
773 },
774 "mode": {
775 "description": "The type of commit to perform. Defaults to ` TRANSACTIONAL`.",
776 "enum": [
777 "MODE_UNSPECIFIED",
778 "TRANSACTIONAL",
779 "NON_TRANSACTIONAL"
780 ],
781 "enumDescriptions": [
782 "Unspecified. This value must not be used.",
783 "Transactional: The mutations are either all applied, or none are applied.\nLearn about transactions [here](https://cloud.google.com/dat astore/docs/concepts/transactions).",
784 "Non-transactional: The mutations may not apply as all o r none."
785 ],
786 "type": "string"
787 },
788 "mutations": {
789 "description": "The mutations to perform.\n\nWhen mode is `T RANSACTIONAL`, mutations affecting a single entity are\napplied in order. The fo llowing sequences of mutations affecting a single\nentity are not permitted in a single `Commit` request:\n\n- `insert` followed by `insert`\n- `update` followe d by `insert`\n- `upsert` followed by `insert`\n- `delete` followed by `update`\ n\nWhen mode is `NON_TRANSACTIONAL`, no two mutations may affect a single\nentit y.",
790 "items": {
791 "$ref": "Mutation"
792 },
793 "type": "array"
794 }
795 },
796 "type": "object"
797 },
798 "PropertyOrder": {
799 "description": "The desired order for a specific property.",
800 "id": "PropertyOrder",
801 "properties": {
802 "property": {
803 "$ref": "PropertyReference",
804 "description": "The property to order by."
805 },
806 "direction": {
807 "description": "The direction to order by. Defaults to `ASCE NDING`.",
808 "enum": [
809 "DIRECTION_UNSPECIFIED",
810 "ASCENDING",
811 "DESCENDING"
812 ],
813 "enumDescriptions": [
814 "Unspecified. This value must not be used.",
815 "Ascending.",
816 "Descending."
817 ],
818 "type": "string"
819 }
820 },
821 "type": "object"
822 },
823 "KindExpression": {
824 "description": "A representation of a kind.",
825 "id": "KindExpression",
826 "properties": {
827 "name": {
828 "description": "The name of the kind.",
829 "type": "string"
830 }
831 },
832 "type": "object"
833 },
834 "LatLng": {
835 "description": "An object representing a latitude/longitude pair. Th is is expressed as a pair\nof doubles representing degrees latitude and degrees longitude. Unless\nspecified otherwise, this must conform to the\n<a href=\"http ://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf\">WGS84\nstandard</a>. Values must be within normalized ranges.\n\nExample of normalization code in Python:\n \n def NormalizeLongitude(longitude):\n \"\"\"Wraps decimal degrees long itude to [-180.0, 180.0].\"\"\"\n q, r = divmod(longitude, 360.0)\n if r > 180.0 or (r == 180.0 and q <= -1.0):\n return r - 360.0\n retur n r\n\n def NormalizeLatLng(latitude, longitude):\n \"\"\"Wraps decimal degrees latitude and longitude to\n [-90.0, 90.0] and [-180.0, 180.0], resp ectively.\"\"\"\n r = latitude % 360.0\n if r <= 90.0:\n return r, NormalizeLongitude(longitude)\n elif r >= 270.0:\n return r - 36 0, NormalizeLongitude(longitude)\n else:\n return 180 - r, Normalize Longitude(longitude + 180.0)\n\n assert 180.0 == NormalizeLongitude(180.0)\n assert -180.0 == NormalizeLongitude(-180.0)\n assert -179.0 == NormalizeLo ngitude(181.0)\n assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)\n assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)\n assert (85.0, 180.0) == Normali zeLatLng(95.0, 0.0)\n assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)\ n assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)\n assert (-90.0, -10. 0) == NormalizeLatLng(-90.0, -10.0)\n assert (0.0, -170.0) == NormalizeLatLng (-180.0, 10.0)\n assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)\n as sert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)\n assert (90.0, 10.0) == N ormalizeLatLng(-270.0, 10.0)\n\nThe code in logs/storage/validator/logs_validato r_traits.cc treats this type\nas if it were annotated as ST_LOCATION.",
836 "id": "LatLng",
837 "properties": {
838 "latitude": {
839 "description": "The latitude in degrees. It must be in the r ange [-90.0, +90.0].",
840 "format": "double",
841 "type": "number"
842 },
843 "longitude": {
844 "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].",
845 "format": "double",
846 "type": "number"
847 }
848 },
849 "type": "object"
850 },
853 "Key": { 851 "Key": {
854 "description": "A unique identifier for an entity.\nIf a key's parti tion ID or any of its path kinds or names are\nreserved/read-only, the key is re served/read-only.\nA reserved/read-only key is forbidden in certain documented c ontexts.", 852 "description": "A unique identifier for an entity.\nIf a key's parti tion ID or any of its path kinds or names are\nreserved/read-only, the key is re served/read-only.\nA reserved/read-only key is forbidden in certain documented c ontexts.",
855 "id": "Key", 853 "id": "Key",
856 "properties": { 854 "properties": {
857 "partitionId": { 855 "partitionId": {
858 "$ref": "PartitionId", 856 "$ref": "PartitionId",
859 "description": "Entities are partitioned into subsets, curre ntly identified by a project\nID and namespace ID.\nQueries are scoped to a sing le partition." 857 "description": "Entities are partitioned into subsets, curre ntly identified by a project\nID and namespace ID.\nQueries are scoped to a sing le partition."
860 }, 858 },
861 "path": { 859 "path": {
862 "description": "The entity path.\nAn entity path consists of one or more elements composed of a kind and a\nstring or numerical identifier, which identify entities. The first\nelement identifies a _root entity_, the seco nd element identifies\na _child_ of the root entity, the third element identifie s a child of the\nsecond entity, and so forth. The entities identified by all pr efixes of\nthe path are called the element's _ancestors_.\n\nAn entity path is a lways fully complete: *all* of the entity's ancestors\nare required to be in the path along with the entity identifier itself.\nThe only exception is that in so me documented cases, the identifier in the\nlast path element (for the entity) i tself may be omitted. For example,\nthe last path element of the key of `Mutatio n.insert` may have no\nidentifier.\n\nA path can never be empty, and a path can have at most 100 elements.", 860 "description": "The entity path.\nAn entity path consists of one or more elements composed of a kind and a\nstring or numerical identifier, which identify entities. The first\nelement identifies a _root entity_, the seco nd element identifies\na _child_ of the root entity, the third element identifie s a child of the\nsecond entity, and so forth. The entities identified by all pr efixes of\nthe path are called the element's _ancestors_.\n\nAn entity path is a lways fully complete: *all* of the entity's ancestors\nare required to be in the path along with the entity identifier itself.\nThe only exception is that in so me documented cases, the identifier in the\nlast path element (for the entity) i tself may be omitted. For example,\nthe last path element of the key of `Mutatio n.insert` may have no\nidentifier.\n\nA path can never be empty, and a path can have at most 100 elements.",
863 "items": { 861 "items": {
864 "$ref": "PathElement" 862 "$ref": "PathElement"
865 }, 863 },
866 "type": "array" 864 "type": "array"
867 } 865 }
868 }, 866 },
869 "type": "object" 867 "type": "object"
870 }, 868 },
871 "RunQueryResponse": { 869 "PropertyReference": {
872 "description": "The response for Datastore.RunQuery.", 870 "description": "A reference to a property relative to the kind expre ssions.",
873 "id": "RunQueryResponse", 871 "id": "PropertyReference",
874 "properties": { 872 "properties": {
875 "batch": { 873 "name": {
876 "$ref": "QueryResultBatch", 874 "description": "The name of the property.\nIf name includes \".\"s, it may be interpreted as a property name path.",
877 "description": "A batch of query results (always present)." 875 "type": "string"
878 },
879 "query": {
880 "$ref": "Query",
881 "description": "The parsed form of the `GqlQuery` from the r equest, if it was set."
882 } 876 }
883 }, 877 },
884 "type": "object" 878 "type": "object"
885 }, 879 },
886 "Entity": { 880 "ArrayValue": {
887 "description": "A Datastore data object.\n\nAn entity is limited to 1 megabyte when stored. That _roughly_\ncorresponds to a limit of 1 megabyte for the serialized form of this\nmessage.", 881 "description": "An array value.",
888 "id": "Entity", 882 "id": "ArrayValue",
889 "properties": { 883 "properties": {
890 "properties": { 884 "values": {
891 "additionalProperties": { 885 "description": "Values in the array.\nThe order of this arra y may not be preserved if it contains a mix of\nindexed and unindexed values.",
886 "items": {
892 "$ref": "Value" 887 "$ref": "Value"
893 }, 888 },
894 "description": "The entity's properties.\nThe map's keys are property names.\nA property name matching regex `__.*__` is reserved.\nA reserv ed property name is forbidden in certain documented contexts.\nThe name must not contain more than 500 characters.\nThe name cannot be `\"\"`.", 889 "type": "array"
895 "type": "object" 890 }
891 },
892 "type": "object"
893 },
894 "Projection": {
895 "description": "A representation of a property in a projection.",
896 "id": "Projection",
897 "properties": {
898 "property": {
899 "$ref": "PropertyReference",
900 "description": "The property to project."
901 }
902 },
903 "type": "object"
904 },
905 "Mutation": {
906 "description": "A mutation to apply to an entity.",
907 "id": "Mutation",
908 "properties": {
909 "update": {
910 "$ref": "Entity",
911 "description": "The entity to update. The entity must alread y exist.\nMust have a complete key path."
912 },
913 "upsert": {
914 "$ref": "Entity",
915 "description": "The entity to upsert. The entity may or may not already exist.\nThe entity key's final path element may be incomplete."
916 },
917 "delete": {
918 "$ref": "Key",
919 "description": "The key of the entity to delete. The entity may or may not already exist.\nMust have a complete key path and must not be res erved/read-only."
920 },
921 "insert": {
922 "$ref": "Entity",
923 "description": "The entity to insert. The entity must not al ready exist.\nThe entity key's final path element may be incomplete."
924 },
925 "baseVersion": {
926 "description": "The version of the entity that this mutation is being applied to. If this\ndoes not match the current version on the server, the mutation conflicts.",
927 "format": "int64",
928 "type": "string"
929 }
930 },
931 "type": "object"
932 },
933 "ReadOptions": {
934 "description": "The options shared by read requests.",
935 "id": "ReadOptions",
936 "properties": {
937 "readConsistency": {
938 "description": "The non-transactional read consistency to us e.\nCannot be set to `STRONG` for global queries.",
939 "enum": [
940 "READ_CONSISTENCY_UNSPECIFIED",
941 "STRONG",
942 "EVENTUAL"
943 ],
944 "enumDescriptions": [
945 "Unspecified. This value must not be used.",
946 "Strong consistency.",
947 "Eventual consistency."
948 ],
949 "type": "string"
950 },
951 "transaction": {
952 "description": "The identifier of the transaction in which t o read. A\ntransaction identifier is returned by a call to\nDatastore.BeginTrans action.",
953 "format": "byte",
954 "type": "string"
955 }
956 },
957 "type": "object"
958 },
959 "RollbackResponse": {
960 "description": "The response for Datastore.Rollback.\n(an empty mess age).",
961 "id": "RollbackResponse",
962 "properties": {},
963 "type": "object"
964 },
965 "MutationResult": {
966 "description": "The result of applying a mutation.",
967 "id": "MutationResult",
968 "properties": {
969 "conflictDetected": {
970 "description": "Whether a conflict was detected for this mut ation. Always false when a\nconflict detection strategy field is not set in the mutation.",
971 "type": "boolean"
896 }, 972 },
897 "key": { 973 "key": {
898 "$ref": "Key", 974 "$ref": "Key",
899 "description": "The entity's key.\n\nAn entity must have a k ey, unless otherwise documented (for example,\nan entity in `Value.entity_value` may have no key).\nAn entity's kind is its key path's last element's kind,\nor null if it has no key." 975 "description": "The automatically allocated key.\nSet only w hen the mutation allocated a key."
976 },
977 "version": {
978 "description": "The version of the entity on the server afte r processing the mutation. If\nthe mutation doesn't change anything on the serve r, then the version will\nbe the version of the current entity or, if no entity is present, a version\nthat is strictly greater than the version of any previous entity and less\nthan the version of any possible future entity.",
979 "format": "int64",
980 "type": "string"
900 } 981 }
901 }, 982 },
902 "type": "object" 983 "type": "object"
903 }, 984 },
904 "GqlQuery": { 985 "GqlQuery": {
905 "description": "A [GQL query](https://cloud.google.com/datastore/doc s/apis/gql/gql_reference).", 986 "description": "A [GQL query](https://cloud.google.com/datastore/doc s/apis/gql/gql_reference).",
906 "id": "GqlQuery", 987 "id": "GqlQuery",
907 "properties": { 988 "properties": {
908 "queryString": { 989 "queryString": {
909 "description": "A string of the format described\n[here](htt ps://cloud.google.com/datastore/docs/apis/gql/gql_reference).", 990 "description": "A string of the format described\n[here](htt ps://cloud.google.com/datastore/docs/apis/gql/gql_reference).",
910 "type": "string" 991 "type": "string"
911 }, 992 },
993 "allowLiterals": {
994 "description": "When false, the query string must not contai n any literals and instead must\nbind all values. For example,\n`SELECT * FROM K ind WHERE a = 'string literal'` is not allowed, while\n`SELECT * FROM Kind WHERE a = @value` is.",
995 "type": "boolean"
996 },
912 "namedBindings": { 997 "namedBindings": {
913 "additionalProperties": { 998 "additionalProperties": {
914 "$ref": "GqlQueryParameter" 999 "$ref": "GqlQueryParameter"
915 }, 1000 },
916 "description": "For each non-reserved named binding site in the query string, there must be\na named parameter with that name, but not neces sarily the inverse.\n\nKey must match regex `A-Za-z_$*`, must not match regex\n` __.*__`, and must not be `\"\"`.", 1001 "description": "For each non-reserved named binding site in the query string, there must be\na named parameter with that name, but not neces sarily the inverse.\n\nKey must match regex `A-Za-z_$*`, must not match regex\n` __.*__`, and must not be `\"\"`.",
917 "type": "object" 1002 "type": "object"
918 }, 1003 },
919 "allowLiterals": {
920 "description": "When false, the query string must not contai n any literals and instead must\nbind all values. For example,\n`SELECT * FROM K ind WHERE a = 'string literal'` is not allowed, while\n`SELECT * FROM Kind WHERE a = @value` is.",
921 "type": "boolean"
922 },
923 "positionalBindings": { 1004 "positionalBindings": {
924 "description": "Numbered binding site @1 references the firs t numbered parameter,\neffectively using 1-based indexing, rather than the usual 0.\n\nFor each binding site numbered i in `query_string`, there must be an i-th \nnumbered parameter. The inverse must also be true.", 1005 "description": "Numbered binding site @1 references the firs t numbered parameter,\neffectively using 1-based indexing, rather than the usual 0.\n\nFor each binding site numbered i in `query_string`, there must be an i-th \nnumbered parameter. The inverse must also be true.",
925 "items": { 1006 "items": {
926 "$ref": "GqlQueryParameter" 1007 "$ref": "GqlQueryParameter"
927 }, 1008 },
928 "type": "array" 1009 "type": "array"
929 } 1010 }
930 }, 1011 },
931 "type": "object" 1012 "type": "object"
932 }, 1013 },
933 "Mutation": { 1014 "Filter": {
934 "description": "A mutation to apply to an entity.", 1015 "description": "A holder for any type of filter.",
935 "id": "Mutation", 1016 "id": "Filter",
936 "properties": { 1017 "properties": {
937 "insert": { 1018 "propertyFilter": {
938 "$ref": "Entity", 1019 "$ref": "PropertyFilter",
939 "description": "The entity to insert. The entity must not al ready exist.\nThe entity key's final path element may be incomplete." 1020 "description": "A filter on a property."
940 }, 1021 },
941 "update": { 1022 "compositeFilter": {
942 "$ref": "Entity", 1023 "$ref": "CompositeFilter",
943 "description": "The entity to update. The entity must alread y exist.\nMust have a complete key path." 1024 "description": "A composite filter."
944 },
945 "baseVersion": {
946 "description": "The version of the entity that this mutation is being applied to. If this\ndoes not match the current version on the server, the mutation conflicts.",
947 "format": "int64",
948 "type": "string"
949 },
950 "upsert": {
951 "$ref": "Entity",
952 "description": "The entity to upsert. The entity may or may not already exist.\nThe entity key's final path element may be incomplete."
953 },
954 "delete": {
955 "$ref": "Key",
956 "description": "The key of the entity to delete. The entity may or may not already exist.\nMust have a complete key path and must not be res erved/read-only."
957 } 1025 }
958 }, 1026 },
959 "type": "object" 1027 "type": "object"
960 }, 1028 },
961 "CommitResponse": { 1029 "RollbackRequest": {
962 "description": "The response for Datastore.Commit.", 1030 "description": "The request for Datastore.Rollback.",
963 "id": "CommitResponse", 1031 "id": "RollbackRequest",
964 "properties": { 1032 "properties": {
965 "mutationResults": { 1033 "transaction": {
966 "description": "The result of performing the mutations.\nThe i-th mutation result corresponds to the i-th mutation in the request.", 1034 "description": "The transaction identifier, returned by a ca ll to\nDatastore.BeginTransaction.",
967 "items": { 1035 "format": "byte",
968 "$ref": "MutationResult" 1036 "type": "string"
969 },
970 "type": "array"
971 },
972 "indexUpdates": {
973 "description": "The number of index entries updated during t he commit, or zero if none were\nupdated.",
974 "format": "int32",
975 "type": "integer"
976 } 1037 }
977 }, 1038 },
978 "type": "object" 1039 "type": "object"
979 }, 1040 },
980 "RunQueryRequest": { 1041 "RunQueryRequest": {
981 "description": "The request for Datastore.RunQuery.", 1042 "description": "The request for Datastore.RunQuery.",
982 "id": "RunQueryRequest", 1043 "id": "RunQueryRequest",
983 "properties": { 1044 "properties": {
984 "partitionId": { 1045 "partitionId": {
985 "$ref": "PartitionId", 1046 "$ref": "PartitionId",
986 "description": "Entities are partitioned into subsets, ident ified by a partition ID.\nQueries are scoped to a single partition.\nThis partit ion ID is normalized with the standard default context\npartition ID." 1047 "description": "Entities are partitioned into subsets, ident ified by a partition ID.\nQueries are scoped to a single partition.\nThis partit ion ID is normalized with the standard default context\npartition ID."
987 }, 1048 },
988 "gqlQuery": { 1049 "gqlQuery": {
989 "$ref": "GqlQuery", 1050 "$ref": "GqlQuery",
990 "description": "The GQL query to run." 1051 "description": "The GQL query to run."
991 }, 1052 },
992 "readOptions": { 1053 "readOptions": {
993 "$ref": "ReadOptions", 1054 "$ref": "ReadOptions",
994 "description": "The options for this query." 1055 "description": "The options for this query."
995 }, 1056 },
996 "query": { 1057 "query": {
997 "$ref": "Query", 1058 "$ref": "Query",
998 "description": "The query to run." 1059 "description": "The query to run."
999 } 1060 }
1000 }, 1061 },
1001 "type": "object" 1062 "type": "object"
1002 },
1003 "LookupRequest": {
1004 "description": "The request for Datastore.Lookup.",
1005 "id": "LookupRequest",
1006 "properties": {
1007 "readOptions": {
1008 "$ref": "ReadOptions",
1009 "description": "The options for this lookup request."
1010 },
1011 "keys": {
1012 "description": "Keys of entities to look up.",
1013 "items": {
1014 "$ref": "Key"
1015 },
1016 "type": "array"
1017 }
1018 },
1019 "type": "object"
1020 },
1021 "LatLng": {
1022 "description": "An object representing a latitude/longitude pair. Th is is expressed as a pair\nof doubles representing degrees latitude and degrees longitude. Unless\nspecified otherwise, this must conform to the\n<a href=\"http ://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf\">WGS84\nstandard</a>. Values must be within normalized ranges.\n\nExample of normalization code in Python:\n \n def NormalizeLongitude(longitude):\n \"\"\"Wraps decimal degrees long itude to [-180.0, 180.0].\"\"\"\n q, r = divmod(longitude, 360.0)\n if r > 180.0 or (r == 180.0 and q <= -1.0):\n return r - 360.0\n retur n r\n\n def NormalizeLatLng(latitude, longitude):\n \"\"\"Wraps decimal degrees latitude and longitude to\n [-90.0, 90.0] and [-180.0, 180.0], resp ectively.\"\"\"\n r = latitude % 360.0\n if r <= 90.0:\n return r, NormalizeLongitude(longitude)\n elif r >= 270.0:\n return r - 36 0, NormalizeLongitude(longitude)\n else:\n return 180 - r, Normalize Longitude(longitude + 180.0)\n\n assert 180.0 == NormalizeLongitude(180.0)\n assert -180.0 == NormalizeLongitude(-180.0)\n assert -179.0 == NormalizeLo ngitude(181.0)\n assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)\n assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)\n assert (85.0, 180.0) == Normali zeLatLng(95.0, 0.0)\n assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)\ n assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)\n assert (-90.0, -10. 0) == NormalizeLatLng(-90.0, -10.0)\n assert (0.0, -170.0) == NormalizeLatLng (-180.0, 10.0)\n assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)\n as sert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)\n assert (90.0, 10.0) == N ormalizeLatLng(-270.0, 10.0)\n\nThe code in logs/storage/validator/logs_validato r_traits.cc treats this type\nas if it were annotated as ST_LOCATION.",
1023 "id": "LatLng",
1024 "properties": {
1025 "latitude": {
1026 "description": "The latitude in degrees. It must be in the r ange [-90.0, +90.0].",
1027 "format": "double",
1028 "type": "number"
1029 },
1030 "longitude": {
1031 "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].",
1032 "format": "double",
1033 "type": "number"
1034 }
1035 },
1036 "type": "object"
1037 },
1038 "CompositeFilter": {
1039 "description": "A filter that merges multiple other filters using th e given operator.",
1040 "id": "CompositeFilter",
1041 "properties": {
1042 "op": {
1043 "description": "The operator for combining multiple filters. ",
1044 "enum": [
1045 "OPERATOR_UNSPECIFIED",
1046 "AND"
1047 ],
1048 "enumDescriptions": [
1049 "Unspecified. This value must not be used.",
1050 "The results are required to satisfy each of the combine d filters."
1051 ],
1052 "type": "string"
1053 },
1054 "filters": {
1055 "description": "The list of filters to combine.\nMust contai n at least one filter.",
1056 "items": {
1057 "$ref": "Filter"
1058 },
1059 "type": "array"
1060 }
1061 },
1062 "type": "object"
1063 } 1063 }
1064 }, 1064 },
1065 "servicePath": "", 1065 "servicePath": "",
1066 "title": "Google Cloud Datastore API", 1066 "title": "Google Cloud Datastore API",
1067 "version": "v1" 1067 "version": "v1"
1068 } 1068 }
OLDNEW
« no previous file with comments | « discovery/googleapis/dataproc__v1.json ('k') | discovery/googleapis/deploymentmanager__v2.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698