google-api-client 0.9.14 → 0.9.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c86b6760edd178aec1fd5ec8d250d038635e0a20
4
- data.tar.gz: 9e6b6fcf21f5afd1f24019c6322057eef8c49dfd
3
+ metadata.gz: 1e9d7247fc2ce2a2f3939a0a86bf64179442853c
4
+ data.tar.gz: e029987dcef71d12b471515885db08e4bc010c31
5
5
  SHA512:
6
- metadata.gz: 8c1ebc9e366607bbac64c1950d4c8d140db48e7be1d2c17ee794b141b37036130f0c53a68af4c67cdf06544141939bc74f4b939da8bd5e90803e11a64bfff14d
7
- data.tar.gz: cff8c9fd6c2243abe130d7df40ae51779da233ab1040d11aa2e4fb7a8e062fc31dc15b538c28b9a630c725f9151e7ad1585507d088753044caae21144978e944
6
+ metadata.gz: 2a8f6e25d0a58e84a51ca6a288b5a5d12cca8329b3da8c48c5b431fa6cd52b2efcafc2bfe2f7fc02b1ed02b2f3aa80ac0d204e8338bc1ef536efa83f188f9f6d
7
+ data.tar.gz: 175684cf1de4a998c1f4df85711e5dcd62d2088f06f4b9ceb03dc514772bb80ad48e28db39e75d074cede2eab2363c6548ebc2fc34e670bb68470de9ff089970
@@ -1,3 +1,7 @@
1
+ # 0.9.15
2
+ * Add datastore v1
3
+ * Regenerate APIs
4
+
1
5
  # 0.9.14
2
6
  * Fix error handling with downloads, no longer fails silently
3
7
  * Prevent form-encoding query parameters for APIs that don't expect it
@@ -623,6 +623,10 @@
623
623
  "/datastore:v1beta2/AllocateIdsResponse": allocate_ids_response
624
624
  "/datastore:v1beta2/BeginTransactionRequest": begin_transaction_request
625
625
  "/datastore:v1beta2/BeginTransactionResponse": begin_transaction_response
626
+ "/datastore:v1/AllocateIdsRequest": allocate_ids_request
627
+ "/datastore:v1/AllocateIdsResponse": allocate_ids_response
628
+ "/datastore:v1/BeginTransactionRequest": begin_transaction_request
629
+ "/datastore:v1/BeginTransactionResponse": begin_transaction_response
626
630
  "/deploymentmanager:v2/DeploymentsListResponse": list_deployments_response
627
631
  "/deploymentmanager:v2/ManifestsListResponse": list_manifests_response
628
632
  "/deploymentmanager:v2/OperationsListResponse": list_operations_response
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/adsense/management/
26
26
  module AdsenseV1_4
27
27
  VERSION = 'V1_4'
28
- REVISION = '20160910'
28
+ REVISION = '20160918'
29
29
 
30
30
  # View and manage your AdSense data
31
31
  AUTH_ADSENSE = 'https://www.googleapis.com/auth/adsense'
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://developers.google.com/adsense/host/
27
27
  module AdsensehostV4_1
28
28
  VERSION = 'V4_1'
29
- REVISION = '20160910'
29
+ REVISION = '20160918'
30
30
 
31
31
  # View and manage your AdSense host data and associated accounts
32
32
  AUTH_ADSENSEHOST = 'https://www.googleapis.com/auth/adsensehost'
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/container-builder/docs/
26
26
  module CloudbuildV1
27
27
  VERSION = 'V1'
28
- REVISION = '20160919'
28
+ REVISION = '20160920'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -0,0 +1,38 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/datastore_v1/service.rb'
16
+ require 'google/apis/datastore_v1/classes.rb'
17
+ require 'google/apis/datastore_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Google Cloud Datastore API
22
+ #
23
+ # Accesses the schemaless NoSQL database to provide fully managed, robust,
24
+ # scalable storage for your application.
25
+ #
26
+ # @see https://cloud.google.com/datastore/
27
+ module DatastoreV1
28
+ VERSION = 'V1'
29
+ REVISION = '20160823'
30
+
31
+ # View and manage your data across Google Cloud Platform services
32
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
33
+
34
+ # View and manage your Google Cloud Datastore data
35
+ AUTH_DATASTORE = 'https://www.googleapis.com/auth/datastore'
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,1284 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module DatastoreV1
24
+
25
+ # A message that can hold any of the supported value types and associated
26
+ # metadata.
27
+ class Value
28
+ include Google::Apis::Core::Hashable
29
+
30
+ # A UTF-8 encoded string value.
31
+ # When `exclude_from_indexes` is false (it is indexed) , may have at most 1500
32
+ # bytes.
33
+ # Otherwise, may be set to at least 1,000,000 bytes.
34
+ # Corresponds to the JSON property `stringValue`
35
+ # @return [String]
36
+ attr_accessor :string_value
37
+
38
+ # An array value.
39
+ # Corresponds to the JSON property `arrayValue`
40
+ # @return [Google::Apis::DatastoreV1::ArrayValue]
41
+ attr_accessor :array_value
42
+
43
+ # A Datastore data object.
44
+ # An entity is limited to 1 megabyte when stored. That _roughly_
45
+ # corresponds to a limit of 1 megabyte for the serialized form of this
46
+ # message.
47
+ # Corresponds to the JSON property `entityValue`
48
+ # @return [Google::Apis::DatastoreV1::Entity]
49
+ attr_accessor :entity_value
50
+
51
+ # The `meaning` field should only be populated for backwards compatibility.
52
+ # Corresponds to the JSON property `meaning`
53
+ # @return [Fixnum]
54
+ attr_accessor :meaning
55
+
56
+ # An integer value.
57
+ # Corresponds to the JSON property `integerValue`
58
+ # @return [String]
59
+ attr_accessor :integer_value
60
+
61
+ # A double value.
62
+ # Corresponds to the JSON property `doubleValue`
63
+ # @return [Float]
64
+ attr_accessor :double_value
65
+
66
+ # A blob value.
67
+ # May have at most 1,000,000 bytes.
68
+ # When `exclude_from_indexes` is false, may have at most 1500 bytes.
69
+ # In JSON requests, must be base64-encoded.
70
+ # Corresponds to the JSON property `blobValue`
71
+ # @return [String]
72
+ attr_accessor :blob_value
73
+
74
+ # An object representing a latitude/longitude pair. This is expressed as a pair
75
+ # of doubles representing degrees latitude and degrees longitude. Unless
76
+ # specified otherwise, this must conform to the
77
+ # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
78
+ # standard</a>. Values must be within normalized ranges.
79
+ # Example of normalization code in Python:
80
+ # def NormalizeLongitude(longitude):
81
+ # """Wraps decimal degrees longitude to [-180.0, 180.0]."""
82
+ # q, r = divmod(longitude, 360.0)
83
+ # if r > 180.0 or (r == 180.0 and q <= -1.0):
84
+ # return r - 360.0
85
+ # return r
86
+ # def NormalizeLatLng(latitude, longitude):
87
+ # """Wraps decimal degrees latitude and longitude to
88
+ # [-90.0, 90.0] and [-180.0, 180.0], respectively."""
89
+ # r = latitude % 360.0
90
+ # if r <= 90.0:
91
+ # return r, NormalizeLongitude(longitude)
92
+ # elif r >= 270.0:
93
+ # return r - 360, NormalizeLongitude(longitude)
94
+ # else:
95
+ # return 180 - r, NormalizeLongitude(longitude + 180.0)
96
+ # assert 180.0 == NormalizeLongitude(180.0)
97
+ # assert -180.0 == NormalizeLongitude(-180.0)
98
+ # assert -179.0 == NormalizeLongitude(181.0)
99
+ # assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
100
+ # assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
101
+ # assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
102
+ # assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
103
+ # assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
104
+ # assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
105
+ # assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
106
+ # assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
107
+ # assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
108
+ # assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
109
+ # Corresponds to the JSON property `geoPointValue`
110
+ # @return [Google::Apis::DatastoreV1::LatLng]
111
+ attr_accessor :geo_point_value
112
+
113
+ # A null value.
114
+ # Corresponds to the JSON property `nullValue`
115
+ # @return [String]
116
+ attr_accessor :null_value
117
+
118
+ # A boolean value.
119
+ # Corresponds to the JSON property `booleanValue`
120
+ # @return [Boolean]
121
+ attr_accessor :boolean_value
122
+ alias_method :boolean_value?, :boolean_value
123
+
124
+ # A unique identifier for an entity.
125
+ # If a key's partition ID or any of its path kinds or names are
126
+ # reserved/read-only, the key is reserved/read-only.
127
+ # A reserved/read-only key is forbidden in certain documented contexts.
128
+ # Corresponds to the JSON property `keyValue`
129
+ # @return [Google::Apis::DatastoreV1::Key]
130
+ attr_accessor :key_value
131
+
132
+ # If the value should be excluded from all indexes including those defined
133
+ # explicitly.
134
+ # Corresponds to the JSON property `excludeFromIndexes`
135
+ # @return [Boolean]
136
+ attr_accessor :exclude_from_indexes
137
+ alias_method :exclude_from_indexes?, :exclude_from_indexes
138
+
139
+ # A timestamp value.
140
+ # When stored in the Datastore, precise only to microseconds;
141
+ # any additional precision is rounded down.
142
+ # Corresponds to the JSON property `timestampValue`
143
+ # @return [String]
144
+ attr_accessor :timestamp_value
145
+
146
+ def initialize(**args)
147
+ update!(**args)
148
+ end
149
+
150
+ # Update properties of this object
151
+ def update!(**args)
152
+ @string_value = args[:string_value] if args.key?(:string_value)
153
+ @array_value = args[:array_value] if args.key?(:array_value)
154
+ @entity_value = args[:entity_value] if args.key?(:entity_value)
155
+ @meaning = args[:meaning] if args.key?(:meaning)
156
+ @integer_value = args[:integer_value] if args.key?(:integer_value)
157
+ @double_value = args[:double_value] if args.key?(:double_value)
158
+ @blob_value = args[:blob_value] if args.key?(:blob_value)
159
+ @geo_point_value = args[:geo_point_value] if args.key?(:geo_point_value)
160
+ @null_value = args[:null_value] if args.key?(:null_value)
161
+ @boolean_value = args[:boolean_value] if args.key?(:boolean_value)
162
+ @key_value = args[:key_value] if args.key?(:key_value)
163
+ @exclude_from_indexes = args[:exclude_from_indexes] if args.key?(:exclude_from_indexes)
164
+ @timestamp_value = args[:timestamp_value] if args.key?(:timestamp_value)
165
+ end
166
+ end
167
+
168
+ # The options shared by read requests.
169
+ class ReadOptions
170
+ include Google::Apis::Core::Hashable
171
+
172
+ # The identifier of the transaction in which to read. A
173
+ # transaction identifier is returned by a call to
174
+ # Datastore.BeginTransaction.
175
+ # Corresponds to the JSON property `transaction`
176
+ # @return [String]
177
+ attr_accessor :transaction
178
+
179
+ # The non-transactional read consistency to use.
180
+ # Cannot be set to `STRONG` for global queries.
181
+ # Corresponds to the JSON property `readConsistency`
182
+ # @return [String]
183
+ attr_accessor :read_consistency
184
+
185
+ def initialize(**args)
186
+ update!(**args)
187
+ end
188
+
189
+ # Update properties of this object
190
+ def update!(**args)
191
+ @transaction = args[:transaction] if args.key?(:transaction)
192
+ @read_consistency = args[:read_consistency] if args.key?(:read_consistency)
193
+ end
194
+ end
195
+
196
+ # The desired order for a specific property.
197
+ class PropertyOrder
198
+ include Google::Apis::Core::Hashable
199
+
200
+ # The direction to order by. Defaults to `ASCENDING`.
201
+ # Corresponds to the JSON property `direction`
202
+ # @return [String]
203
+ attr_accessor :direction
204
+
205
+ # A reference to a property relative to the kind expressions.
206
+ # Corresponds to the JSON property `property`
207
+ # @return [Google::Apis::DatastoreV1::PropertyReference]
208
+ attr_accessor :property
209
+
210
+ def initialize(**args)
211
+ update!(**args)
212
+ end
213
+
214
+ # Update properties of this object
215
+ def update!(**args)
216
+ @direction = args[:direction] if args.key?(:direction)
217
+ @property = args[:property] if args.key?(:property)
218
+ end
219
+ end
220
+
221
+ # The request for Datastore.Commit.
222
+ class CommitRequest
223
+ include Google::Apis::Core::Hashable
224
+
225
+ # The identifier of the transaction associated with the commit. A
226
+ # transaction identifier is returned by a call to
227
+ # Datastore.BeginTransaction.
228
+ # Corresponds to the JSON property `transaction`
229
+ # @return [String]
230
+ attr_accessor :transaction
231
+
232
+ # The type of commit to perform. Defaults to `TRANSACTIONAL`.
233
+ # Corresponds to the JSON property `mode`
234
+ # @return [String]
235
+ attr_accessor :mode
236
+
237
+ # The mutations to perform.
238
+ # When mode is `TRANSACTIONAL`, mutations affecting a single entity are
239
+ # applied in order. The following sequences of mutations affecting a single
240
+ # entity are not permitted in a single `Commit` request:
241
+ # - `insert` followed by `insert`
242
+ # - `update` followed by `insert`
243
+ # - `upsert` followed by `insert`
244
+ # - `delete` followed by `update`
245
+ # When mode is `NON_TRANSACTIONAL`, no two mutations may affect a single
246
+ # entity.
247
+ # Corresponds to the JSON property `mutations`
248
+ # @return [Array<Google::Apis::DatastoreV1::Mutation>]
249
+ attr_accessor :mutations
250
+
251
+ def initialize(**args)
252
+ update!(**args)
253
+ end
254
+
255
+ # Update properties of this object
256
+ def update!(**args)
257
+ @transaction = args[:transaction] if args.key?(:transaction)
258
+ @mode = args[:mode] if args.key?(:mode)
259
+ @mutations = args[:mutations] if args.key?(:mutations)
260
+ end
261
+ end
262
+
263
+ # A query for entities.
264
+ class Query
265
+ include Google::Apis::Core::Hashable
266
+
267
+ # The maximum number of results to return. Applies after all other
268
+ # constraints. Optional.
269
+ # Unspecified is interpreted as no limit.
270
+ # Must be >= 0 if specified.
271
+ # Corresponds to the JSON property `limit`
272
+ # @return [Fixnum]
273
+ attr_accessor :limit
274
+
275
+ # A holder for any type of filter.
276
+ # Corresponds to the JSON property `filter`
277
+ # @return [Google::Apis::DatastoreV1::Filter]
278
+ attr_accessor :filter
279
+
280
+ # An ending point for the query results. Query cursors are
281
+ # returned in query result batches and
282
+ # [can only be used to limit the same query](https://cloud.google.com/datastore/
283
+ # docs/concepts/queries#cursors_limits_and_offsets).
284
+ # Corresponds to the JSON property `endCursor`
285
+ # @return [String]
286
+ attr_accessor :end_cursor
287
+
288
+ # The properties to make distinct. The query results will contain the first
289
+ # result for each distinct combination of values for the given properties
290
+ # (if empty, all results are returned).
291
+ # Corresponds to the JSON property `distinctOn`
292
+ # @return [Array<Google::Apis::DatastoreV1::PropertyReference>]
293
+ attr_accessor :distinct_on
294
+
295
+ # The number of results to skip. Applies before limit, but after all other
296
+ # constraints. Optional. Must be >= 0 if specified.
297
+ # Corresponds to the JSON property `offset`
298
+ # @return [Fixnum]
299
+ attr_accessor :offset
300
+
301
+ # The projection to return. Defaults to returning all properties.
302
+ # Corresponds to the JSON property `projection`
303
+ # @return [Array<Google::Apis::DatastoreV1::Projection>]
304
+ attr_accessor :projection
305
+
306
+ # The order to apply to the query results (if empty, order is unspecified).
307
+ # Corresponds to the JSON property `order`
308
+ # @return [Array<Google::Apis::DatastoreV1::PropertyOrder>]
309
+ attr_accessor :order
310
+
311
+ # A starting point for the query results. Query cursors are
312
+ # returned in query result batches and
313
+ # [can only be used to continue the same query](https://cloud.google.com/
314
+ # datastore/docs/concepts/queries#cursors_limits_and_offsets).
315
+ # Corresponds to the JSON property `startCursor`
316
+ # @return [String]
317
+ attr_accessor :start_cursor
318
+
319
+ # The kinds to query (if empty, returns entities of all kinds).
320
+ # Currently at most 1 kind may be specified.
321
+ # Corresponds to the JSON property `kind`
322
+ # @return [Array<Google::Apis::DatastoreV1::KindExpression>]
323
+ attr_accessor :kind
324
+
325
+ def initialize(**args)
326
+ update!(**args)
327
+ end
328
+
329
+ # Update properties of this object
330
+ def update!(**args)
331
+ @limit = args[:limit] if args.key?(:limit)
332
+ @filter = args[:filter] if args.key?(:filter)
333
+ @end_cursor = args[:end_cursor] if args.key?(:end_cursor)
334
+ @distinct_on = args[:distinct_on] if args.key?(:distinct_on)
335
+ @offset = args[:offset] if args.key?(:offset)
336
+ @projection = args[:projection] if args.key?(:projection)
337
+ @order = args[:order] if args.key?(:order)
338
+ @start_cursor = args[:start_cursor] if args.key?(:start_cursor)
339
+ @kind = args[:kind] if args.key?(:kind)
340
+ end
341
+ end
342
+
343
+ # The request for Datastore.Rollback.
344
+ class RollbackRequest
345
+ include Google::Apis::Core::Hashable
346
+
347
+ # The transaction identifier, returned by a call to
348
+ # Datastore.BeginTransaction.
349
+ # Corresponds to the JSON property `transaction`
350
+ # @return [String]
351
+ attr_accessor :transaction
352
+
353
+ def initialize(**args)
354
+ update!(**args)
355
+ end
356
+
357
+ # Update properties of this object
358
+ def update!(**args)
359
+ @transaction = args[:transaction] if args.key?(:transaction)
360
+ end
361
+ end
362
+
363
+ # The result of fetching an entity from Datastore.
364
+ class EntityResult
365
+ include Google::Apis::Core::Hashable
366
+
367
+ # A cursor that points to the position after the result entity.
368
+ # Set only when the `EntityResult` is part of a `QueryResultBatch` message.
369
+ # Corresponds to the JSON property `cursor`
370
+ # @return [String]
371
+ attr_accessor :cursor
372
+
373
+ # A Datastore data object.
374
+ # An entity is limited to 1 megabyte when stored. That _roughly_
375
+ # corresponds to a limit of 1 megabyte for the serialized form of this
376
+ # message.
377
+ # Corresponds to the JSON property `entity`
378
+ # @return [Google::Apis::DatastoreV1::Entity]
379
+ attr_accessor :entity
380
+
381
+ # The version of the entity, a strictly positive number that monotonically
382
+ # increases with changes to the entity.
383
+ # This field is set for `FULL` entity
384
+ # results.
385
+ # For missing entities in `LookupResponse`, this
386
+ # is the version of the snapshot that was used to look up the entity, and it
387
+ # is always set except for eventually consistent reads.
388
+ # Corresponds to the JSON property `version`
389
+ # @return [String]
390
+ attr_accessor :version
391
+
392
+ def initialize(**args)
393
+ update!(**args)
394
+ end
395
+
396
+ # Update properties of this object
397
+ def update!(**args)
398
+ @cursor = args[:cursor] if args.key?(:cursor)
399
+ @entity = args[:entity] if args.key?(:entity)
400
+ @version = args[:version] if args.key?(:version)
401
+ end
402
+ end
403
+
404
+ # A binding parameter for a GQL query.
405
+ class GqlQueryParameter
406
+ include Google::Apis::Core::Hashable
407
+
408
+ # A message that can hold any of the supported value types and associated
409
+ # metadata.
410
+ # Corresponds to the JSON property `value`
411
+ # @return [Google::Apis::DatastoreV1::Value]
412
+ attr_accessor :value
413
+
414
+ # A query cursor. Query cursors are returned in query
415
+ # result batches.
416
+ # Corresponds to the JSON property `cursor`
417
+ # @return [String]
418
+ attr_accessor :cursor
419
+
420
+ def initialize(**args)
421
+ update!(**args)
422
+ end
423
+
424
+ # Update properties of this object
425
+ def update!(**args)
426
+ @value = args[:value] if args.key?(:value)
427
+ @cursor = args[:cursor] if args.key?(:cursor)
428
+ end
429
+ end
430
+
431
+ # An array value.
432
+ class ArrayValue
433
+ include Google::Apis::Core::Hashable
434
+
435
+ # Values in the array.
436
+ # The order of this array may not be preserved if it contains a mix of
437
+ # indexed and unindexed values.
438
+ # Corresponds to the JSON property `values`
439
+ # @return [Array<Google::Apis::DatastoreV1::Value>]
440
+ attr_accessor :values
441
+
442
+ def initialize(**args)
443
+ update!(**args)
444
+ end
445
+
446
+ # Update properties of this object
447
+ def update!(**args)
448
+ @values = args[:values] if args.key?(:values)
449
+ end
450
+ end
451
+
452
+ # A holder for any type of filter.
453
+ class Filter
454
+ include Google::Apis::Core::Hashable
455
+
456
+ # A filter on a specific property.
457
+ # Corresponds to the JSON property `propertyFilter`
458
+ # @return [Google::Apis::DatastoreV1::PropertyFilter]
459
+ attr_accessor :property_filter
460
+
461
+ # A filter that merges multiple other filters using the given operator.
462
+ # Corresponds to the JSON property `compositeFilter`
463
+ # @return [Google::Apis::DatastoreV1::CompositeFilter]
464
+ attr_accessor :composite_filter
465
+
466
+ def initialize(**args)
467
+ update!(**args)
468
+ end
469
+
470
+ # Update properties of this object
471
+ def update!(**args)
472
+ @property_filter = args[:property_filter] if args.key?(:property_filter)
473
+ @composite_filter = args[:composite_filter] if args.key?(:composite_filter)
474
+ end
475
+ end
476
+
477
+ # The response for Datastore.BeginTransaction.
478
+ class BeginTransactionResponse
479
+ include Google::Apis::Core::Hashable
480
+
481
+ # The transaction identifier (always present).
482
+ # Corresponds to the JSON property `transaction`
483
+ # @return [String]
484
+ attr_accessor :transaction
485
+
486
+ def initialize(**args)
487
+ update!(**args)
488
+ end
489
+
490
+ # Update properties of this object
491
+ def update!(**args)
492
+ @transaction = args[:transaction] if args.key?(:transaction)
493
+ end
494
+ end
495
+
496
+ # A partition ID identifies a grouping of entities. The grouping is always
497
+ # by project and namespace, however the namespace ID may be empty.
498
+ # A partition ID contains several dimensions:
499
+ # project ID and namespace ID.
500
+ # Partition dimensions:
501
+ # - May be `""`.
502
+ # - Must be valid UTF-8 bytes.
503
+ # - Must have values that match regex `[A-Za-z\d\.\-_]`1,100``
504
+ # If the value of any dimension matches regex `__.*__`, the partition is
505
+ # reserved/read-only.
506
+ # A reserved/read-only partition ID is forbidden in certain documented
507
+ # contexts.
508
+ # Foreign partition IDs (in which the project ID does
509
+ # not match the context project ID ) are discouraged.
510
+ # Reads and writes of foreign partition IDs may fail if the project is not in an
511
+ # active state.
512
+ class PartitionId
513
+ include Google::Apis::Core::Hashable
514
+
515
+ # If not empty, the ID of the namespace to which the entities belong.
516
+ # Corresponds to the JSON property `namespaceId`
517
+ # @return [String]
518
+ attr_accessor :namespace_id
519
+
520
+ # The ID of the project to which the entities belong.
521
+ # Corresponds to the JSON property `projectId`
522
+ # @return [String]
523
+ attr_accessor :project_id
524
+
525
+ def initialize(**args)
526
+ update!(**args)
527
+ end
528
+
529
+ # Update properties of this object
530
+ def update!(**args)
531
+ @namespace_id = args[:namespace_id] if args.key?(:namespace_id)
532
+ @project_id = args[:project_id] if args.key?(:project_id)
533
+ end
534
+ end
535
+
536
+ # A batch of results produced by a query.
537
+ class QueryResultBatch
538
+ include Google::Apis::Core::Hashable
539
+
540
+ # The version number of the snapshot this batch was returned from.
541
+ # This applies to the range of results from the query's `start_cursor` (or
542
+ # the beginning of the query if no cursor was given) to this batch's
543
+ # `end_cursor` (not the query's `end_cursor`).
544
+ # In a single transaction, subsequent query result batches for the same query
545
+ # can have a greater snapshot version number. Each batch's snapshot version
546
+ # is valid for all preceding batches.
547
+ # Corresponds to the JSON property `snapshotVersion`
548
+ # @return [String]
549
+ attr_accessor :snapshot_version
550
+
551
+ # A cursor that points to the position after the last result in the batch.
552
+ # Corresponds to the JSON property `endCursor`
553
+ # @return [String]
554
+ attr_accessor :end_cursor
555
+
556
+ # A cursor that points to the position after the last skipped result.
557
+ # Will be set when `skipped_results` != 0.
558
+ # Corresponds to the JSON property `skippedCursor`
559
+ # @return [String]
560
+ attr_accessor :skipped_cursor
561
+
562
+ # The result type for every entity in `entity_results`.
563
+ # Corresponds to the JSON property `entityResultType`
564
+ # @return [String]
565
+ attr_accessor :entity_result_type
566
+
567
+ # The state of the query after the current batch.
568
+ # Corresponds to the JSON property `moreResults`
569
+ # @return [String]
570
+ attr_accessor :more_results
571
+
572
+ # The results for this batch.
573
+ # Corresponds to the JSON property `entityResults`
574
+ # @return [Array<Google::Apis::DatastoreV1::EntityResult>]
575
+ attr_accessor :entity_results
576
+
577
+ # The number of results skipped, typically because of an offset.
578
+ # Corresponds to the JSON property `skippedResults`
579
+ # @return [Fixnum]
580
+ attr_accessor :skipped_results
581
+
582
+ def initialize(**args)
583
+ update!(**args)
584
+ end
585
+
586
+ # Update properties of this object
587
+ def update!(**args)
588
+ @snapshot_version = args[:snapshot_version] if args.key?(:snapshot_version)
589
+ @end_cursor = args[:end_cursor] if args.key?(:end_cursor)
590
+ @skipped_cursor = args[:skipped_cursor] if args.key?(:skipped_cursor)
591
+ @entity_result_type = args[:entity_result_type] if args.key?(:entity_result_type)
592
+ @more_results = args[:more_results] if args.key?(:more_results)
593
+ @entity_results = args[:entity_results] if args.key?(:entity_results)
594
+ @skipped_results = args[:skipped_results] if args.key?(:skipped_results)
595
+ end
596
+ end
597
+
598
+ # The request for Datastore.AllocateIds.
599
+ class AllocateIdsRequest
600
+ include Google::Apis::Core::Hashable
601
+
602
+ # A list of keys with incomplete key paths for which to allocate IDs.
603
+ # No key may be reserved/read-only.
604
+ # Corresponds to the JSON property `keys`
605
+ # @return [Array<Google::Apis::DatastoreV1::Key>]
606
+ attr_accessor :keys
607
+
608
+ def initialize(**args)
609
+ update!(**args)
610
+ end
611
+
612
+ # Update properties of this object
613
+ def update!(**args)
614
+ @keys = args[:keys] if args.key?(:keys)
615
+ end
616
+ end
617
+
618
+ # A representation of a kind.
619
+ class KindExpression
620
+ include Google::Apis::Core::Hashable
621
+
622
+ # The name of the kind.
623
+ # Corresponds to the JSON property `name`
624
+ # @return [String]
625
+ attr_accessor :name
626
+
627
+ def initialize(**args)
628
+ update!(**args)
629
+ end
630
+
631
+ # Update properties of this object
632
+ def update!(**args)
633
+ @name = args[:name] if args.key?(:name)
634
+ end
635
+ end
636
+
637
+ # A filter on a specific property.
638
+ class PropertyFilter
639
+ include Google::Apis::Core::Hashable
640
+
641
+ # A message that can hold any of the supported value types and associated
642
+ # metadata.
643
+ # Corresponds to the JSON property `value`
644
+ # @return [Google::Apis::DatastoreV1::Value]
645
+ attr_accessor :value
646
+
647
+ # The operator to filter by.
648
+ # Corresponds to the JSON property `op`
649
+ # @return [String]
650
+ attr_accessor :op
651
+
652
+ # A reference to a property relative to the kind expressions.
653
+ # Corresponds to the JSON property `property`
654
+ # @return [Google::Apis::DatastoreV1::PropertyReference]
655
+ attr_accessor :property
656
+
657
+ def initialize(**args)
658
+ update!(**args)
659
+ end
660
+
661
+ # Update properties of this object
662
+ def update!(**args)
663
+ @value = args[:value] if args.key?(:value)
664
+ @op = args[:op] if args.key?(:op)
665
+ @property = args[:property] if args.key?(:property)
666
+ end
667
+ end
668
+
669
+ # A (kind, ID/name) pair used to construct a key path.
670
+ # If either name or ID is set, the element is complete.
671
+ # If neither is set, the element is incomplete.
672
+ class PathElement
673
+ include Google::Apis::Core::Hashable
674
+
675
+ # The kind of the entity.
676
+ # A kind matching regex `__.*__` is reserved/read-only.
677
+ # A kind must not contain more than 1500 bytes when UTF-8 encoded.
678
+ # Cannot be `""`.
679
+ # Corresponds to the JSON property `kind`
680
+ # @return [String]
681
+ attr_accessor :kind
682
+
683
+ # The auto-allocated ID of the entity.
684
+ # Never equal to zero. Values less than zero are discouraged and may not
685
+ # be supported in the future.
686
+ # Corresponds to the JSON property `id`
687
+ # @return [String]
688
+ attr_accessor :id
689
+
690
+ # The name of the entity.
691
+ # A name matching regex `__.*__` is reserved/read-only.
692
+ # A name must not be more than 1500 bytes when UTF-8 encoded.
693
+ # Cannot be `""`.
694
+ # Corresponds to the JSON property `name`
695
+ # @return [String]
696
+ attr_accessor :name
697
+
698
+ def initialize(**args)
699
+ update!(**args)
700
+ end
701
+
702
+ # Update properties of this object
703
+ def update!(**args)
704
+ @kind = args[:kind] if args.key?(:kind)
705
+ @id = args[:id] if args.key?(:id)
706
+ @name = args[:name] if args.key?(:name)
707
+ end
708
+ end
709
+
710
+ # The response for Datastore.Rollback.
711
+ # (an empty message).
712
+ class RollbackResponse
713
+ include Google::Apis::Core::Hashable
714
+
715
+ def initialize(**args)
716
+ update!(**args)
717
+ end
718
+
719
+ # Update properties of this object
720
+ def update!(**args)
721
+ end
722
+ end
723
+
724
+ # A reference to a property relative to the kind expressions.
725
+ class PropertyReference
726
+ include Google::Apis::Core::Hashable
727
+
728
+ # The name of the property.
729
+ # If name includes "."s, it may be interpreted as a property name path.
730
+ # Corresponds to the JSON property `name`
731
+ # @return [String]
732
+ attr_accessor :name
733
+
734
+ def initialize(**args)
735
+ update!(**args)
736
+ end
737
+
738
+ # Update properties of this object
739
+ def update!(**args)
740
+ @name = args[:name] if args.key?(:name)
741
+ end
742
+ end
743
+
744
+ # A representation of a property in a projection.
745
+ class Projection
746
+ include Google::Apis::Core::Hashable
747
+
748
+ # A reference to a property relative to the kind expressions.
749
+ # Corresponds to the JSON property `property`
750
+ # @return [Google::Apis::DatastoreV1::PropertyReference]
751
+ attr_accessor :property
752
+
753
+ def initialize(**args)
754
+ update!(**args)
755
+ end
756
+
757
+ # Update properties of this object
758
+ def update!(**args)
759
+ @property = args[:property] if args.key?(:property)
760
+ end
761
+ end
762
+
763
+ # The result of applying a mutation.
764
+ class MutationResult
765
+ include Google::Apis::Core::Hashable
766
+
767
+ # Whether a conflict was detected for this mutation. Always false when a
768
+ # conflict detection strategy field is not set in the mutation.
769
+ # Corresponds to the JSON property `conflictDetected`
770
+ # @return [Boolean]
771
+ attr_accessor :conflict_detected
772
+ alias_method :conflict_detected?, :conflict_detected
773
+
774
+ # A unique identifier for an entity.
775
+ # If a key's partition ID or any of its path kinds or names are
776
+ # reserved/read-only, the key is reserved/read-only.
777
+ # A reserved/read-only key is forbidden in certain documented contexts.
778
+ # Corresponds to the JSON property `key`
779
+ # @return [Google::Apis::DatastoreV1::Key]
780
+ attr_accessor :key
781
+
782
+ # The version of the entity on the server after processing the mutation. If
783
+ # the mutation doesn't change anything on the server, then the version will
784
+ # be the version of the current entity or, if no entity is present, a version
785
+ # that is strictly greater than the version of any previous entity and less
786
+ # than the version of any possible future entity.
787
+ # Corresponds to the JSON property `version`
788
+ # @return [String]
789
+ attr_accessor :version
790
+
791
+ def initialize(**args)
792
+ update!(**args)
793
+ end
794
+
795
+ # Update properties of this object
796
+ def update!(**args)
797
+ @conflict_detected = args[:conflict_detected] if args.key?(:conflict_detected)
798
+ @key = args[:key] if args.key?(:key)
799
+ @version = args[:version] if args.key?(:version)
800
+ end
801
+ end
802
+
803
+ # The response for Datastore.AllocateIds.
804
+ class AllocateIdsResponse
805
+ include Google::Apis::Core::Hashable
806
+
807
+ # The keys specified in the request (in the same order), each with
808
+ # its key path completed with a newly allocated ID.
809
+ # Corresponds to the JSON property `keys`
810
+ # @return [Array<Google::Apis::DatastoreV1::Key>]
811
+ attr_accessor :keys
812
+
813
+ def initialize(**args)
814
+ update!(**args)
815
+ end
816
+
817
+ # Update properties of this object
818
+ def update!(**args)
819
+ @keys = args[:keys] if args.key?(:keys)
820
+ end
821
+ end
822
+
823
+ # The response for Datastore.Lookup.
824
+ class LookupResponse
825
+ include Google::Apis::Core::Hashable
826
+
827
+ # Entities found as `ResultType.FULL` entities. The order of results in this
828
+ # field is undefined and has no relation to the order of the keys in the
829
+ # input.
830
+ # Corresponds to the JSON property `found`
831
+ # @return [Array<Google::Apis::DatastoreV1::EntityResult>]
832
+ attr_accessor :found
833
+
834
+ # Entities not found as `ResultType.KEY_ONLY` entities. The order of results
835
+ # in this field is undefined and has no relation to the order of the keys
836
+ # in the input.
837
+ # Corresponds to the JSON property `missing`
838
+ # @return [Array<Google::Apis::DatastoreV1::EntityResult>]
839
+ attr_accessor :missing
840
+
841
+ # A list of keys that were not looked up due to resource constraints. The
842
+ # order of results in this field is undefined and has no relation to the
843
+ # order of the keys in the input.
844
+ # Corresponds to the JSON property `deferred`
845
+ # @return [Array<Google::Apis::DatastoreV1::Key>]
846
+ attr_accessor :deferred
847
+
848
+ def initialize(**args)
849
+ update!(**args)
850
+ end
851
+
852
+ # Update properties of this object
853
+ def update!(**args)
854
+ @found = args[:found] if args.key?(:found)
855
+ @missing = args[:missing] if args.key?(:missing)
856
+ @deferred = args[:deferred] if args.key?(:deferred)
857
+ end
858
+ end
859
+
860
+ # The request for Datastore.BeginTransaction.
861
+ class BeginTransactionRequest
862
+ include Google::Apis::Core::Hashable
863
+
864
+ def initialize(**args)
865
+ update!(**args)
866
+ end
867
+
868
+ # Update properties of this object
869
+ def update!(**args)
870
+ end
871
+ end
872
+
873
+ # A unique identifier for an entity.
874
+ # If a key's partition ID or any of its path kinds or names are
875
+ # reserved/read-only, the key is reserved/read-only.
876
+ # A reserved/read-only key is forbidden in certain documented contexts.
877
+ class Key
878
+ include Google::Apis::Core::Hashable
879
+
880
+ # A partition ID identifies a grouping of entities. The grouping is always
881
+ # by project and namespace, however the namespace ID may be empty.
882
+ # A partition ID contains several dimensions:
883
+ # project ID and namespace ID.
884
+ # Partition dimensions:
885
+ # - May be `""`.
886
+ # - Must be valid UTF-8 bytes.
887
+ # - Must have values that match regex `[A-Za-z\d\.\-_]`1,100``
888
+ # If the value of any dimension matches regex `__.*__`, the partition is
889
+ # reserved/read-only.
890
+ # A reserved/read-only partition ID is forbidden in certain documented
891
+ # contexts.
892
+ # Foreign partition IDs (in which the project ID does
893
+ # not match the context project ID ) are discouraged.
894
+ # Reads and writes of foreign partition IDs may fail if the project is not in an
895
+ # active state.
896
+ # Corresponds to the JSON property `partitionId`
897
+ # @return [Google::Apis::DatastoreV1::PartitionId]
898
+ attr_accessor :partition_id
899
+
900
+ # The entity path.
901
+ # An entity path consists of one or more elements composed of a kind and a
902
+ # string or numerical identifier, which identify entities. The first
903
+ # element identifies a _root entity_, the second element identifies
904
+ # a _child_ of the root entity, the third element identifies a child of the
905
+ # second entity, and so forth. The entities identified by all prefixes of
906
+ # the path are called the element's _ancestors_.
907
+ # An entity path is always fully complete: *all* of the entity's ancestors
908
+ # are required to be in the path along with the entity identifier itself.
909
+ # The only exception is that in some documented cases, the identifier in the
910
+ # last path element (for the entity) itself may be omitted. For example,
911
+ # the last path element of the key of `Mutation.insert` may have no
912
+ # identifier.
913
+ # A path can never be empty, and a path can have at most 100 elements.
914
+ # Corresponds to the JSON property `path`
915
+ # @return [Array<Google::Apis::DatastoreV1::PathElement>]
916
+ attr_accessor :path
917
+
918
+ def initialize(**args)
919
+ update!(**args)
920
+ end
921
+
922
+ # Update properties of this object
923
+ def update!(**args)
924
+ @partition_id = args[:partition_id] if args.key?(:partition_id)
925
+ @path = args[:path] if args.key?(:path)
926
+ end
927
+ end
928
+
929
+ # The response for Datastore.RunQuery.
930
+ class RunQueryResponse
931
+ include Google::Apis::Core::Hashable
932
+
933
+ # A batch of results produced by a query.
934
+ # Corresponds to the JSON property `batch`
935
+ # @return [Google::Apis::DatastoreV1::QueryResultBatch]
936
+ attr_accessor :batch
937
+
938
+ # A query for entities.
939
+ # Corresponds to the JSON property `query`
940
+ # @return [Google::Apis::DatastoreV1::Query]
941
+ attr_accessor :query
942
+
943
+ def initialize(**args)
944
+ update!(**args)
945
+ end
946
+
947
+ # Update properties of this object
948
+ def update!(**args)
949
+ @batch = args[:batch] if args.key?(:batch)
950
+ @query = args[:query] if args.key?(:query)
951
+ end
952
+ end
953
+
954
+ # A Datastore data object.
955
+ # An entity is limited to 1 megabyte when stored. That _roughly_
956
+ # corresponds to a limit of 1 megabyte for the serialized form of this
957
+ # message.
958
+ class Entity
959
+ include Google::Apis::Core::Hashable
960
+
961
+ # The entity's properties.
962
+ # The map's keys are property names.
963
+ # A property name matching regex `__.*__` is reserved.
964
+ # A reserved property name is forbidden in certain documented contexts.
965
+ # The name must not contain more than 500 characters.
966
+ # The name cannot be `""`.
967
+ # Corresponds to the JSON property `properties`
968
+ # @return [Hash<String,Google::Apis::DatastoreV1::Value>]
969
+ attr_accessor :properties
970
+
971
+ # A unique identifier for an entity.
972
+ # If a key's partition ID or any of its path kinds or names are
973
+ # reserved/read-only, the key is reserved/read-only.
974
+ # A reserved/read-only key is forbidden in certain documented contexts.
975
+ # Corresponds to the JSON property `key`
976
+ # @return [Google::Apis::DatastoreV1::Key]
977
+ attr_accessor :key
978
+
979
+ def initialize(**args)
980
+ update!(**args)
981
+ end
982
+
983
+ # Update properties of this object
984
+ def update!(**args)
985
+ @properties = args[:properties] if args.key?(:properties)
986
+ @key = args[:key] if args.key?(:key)
987
+ end
988
+ end
989
+
990
+ # A [GQL query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).
991
+ class GqlQuery
992
+ include Google::Apis::Core::Hashable
993
+
994
+ # A string of the format described
995
+ # [here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).
996
+ # Corresponds to the JSON property `queryString`
997
+ # @return [String]
998
+ attr_accessor :query_string
999
+
1000
+ # For each non-reserved named binding site in the query string, there must be
1001
+ # a named parameter with that name, but not necessarily the inverse.
1002
+ # Key must match regex `A-Za-z_$*`, must not match regex
1003
+ # `__.*__`, and must not be `""`.
1004
+ # Corresponds to the JSON property `namedBindings`
1005
+ # @return [Hash<String,Google::Apis::DatastoreV1::GqlQueryParameter>]
1006
+ attr_accessor :named_bindings
1007
+
1008
+ # When false, the query string must not contain any literals and instead must
1009
+ # bind all values. For example,
1010
+ # `SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while
1011
+ # `SELECT * FROM Kind WHERE a = @value` is.
1012
+ # Corresponds to the JSON property `allowLiterals`
1013
+ # @return [Boolean]
1014
+ attr_accessor :allow_literals
1015
+ alias_method :allow_literals?, :allow_literals
1016
+
1017
+ # Numbered binding site @1 references the first numbered parameter,
1018
+ # effectively using 1-based indexing, rather than the usual 0.
1019
+ # For each binding site numbered i in `query_string`, there must be an i-th
1020
+ # numbered parameter. The inverse must also be true.
1021
+ # Corresponds to the JSON property `positionalBindings`
1022
+ # @return [Array<Google::Apis::DatastoreV1::GqlQueryParameter>]
1023
+ attr_accessor :positional_bindings
1024
+
1025
+ def initialize(**args)
1026
+ update!(**args)
1027
+ end
1028
+
1029
+ # Update properties of this object
1030
+ def update!(**args)
1031
+ @query_string = args[:query_string] if args.key?(:query_string)
1032
+ @named_bindings = args[:named_bindings] if args.key?(:named_bindings)
1033
+ @allow_literals = args[:allow_literals] if args.key?(:allow_literals)
1034
+ @positional_bindings = args[:positional_bindings] if args.key?(:positional_bindings)
1035
+ end
1036
+ end
1037
+
1038
+ # A mutation to apply to an entity.
1039
+ class Mutation
1040
+ include Google::Apis::Core::Hashable
1041
+
1042
+ # A Datastore data object.
1043
+ # An entity is limited to 1 megabyte when stored. That _roughly_
1044
+ # corresponds to a limit of 1 megabyte for the serialized form of this
1045
+ # message.
1046
+ # Corresponds to the JSON property `insert`
1047
+ # @return [Google::Apis::DatastoreV1::Entity]
1048
+ attr_accessor :insert
1049
+
1050
+ # A Datastore data object.
1051
+ # An entity is limited to 1 megabyte when stored. That _roughly_
1052
+ # corresponds to a limit of 1 megabyte for the serialized form of this
1053
+ # message.
1054
+ # Corresponds to the JSON property `update`
1055
+ # @return [Google::Apis::DatastoreV1::Entity]
1056
+ attr_accessor :update
1057
+
1058
+ # The version of the entity that this mutation is being applied to. If this
1059
+ # does not match the current version on the server, the mutation conflicts.
1060
+ # Corresponds to the JSON property `baseVersion`
1061
+ # @return [String]
1062
+ attr_accessor :base_version
1063
+
1064
+ # A Datastore data object.
1065
+ # An entity is limited to 1 megabyte when stored. That _roughly_
1066
+ # corresponds to a limit of 1 megabyte for the serialized form of this
1067
+ # message.
1068
+ # Corresponds to the JSON property `upsert`
1069
+ # @return [Google::Apis::DatastoreV1::Entity]
1070
+ attr_accessor :upsert
1071
+
1072
+ # A unique identifier for an entity.
1073
+ # If a key's partition ID or any of its path kinds or names are
1074
+ # reserved/read-only, the key is reserved/read-only.
1075
+ # A reserved/read-only key is forbidden in certain documented contexts.
1076
+ # Corresponds to the JSON property `delete`
1077
+ # @return [Google::Apis::DatastoreV1::Key]
1078
+ attr_accessor :delete
1079
+
1080
+ def initialize(**args)
1081
+ update!(**args)
1082
+ end
1083
+
1084
+ # Update properties of this object
1085
+ def update!(**args)
1086
+ @insert = args[:insert] if args.key?(:insert)
1087
+ @update = args[:update] if args.key?(:update)
1088
+ @base_version = args[:base_version] if args.key?(:base_version)
1089
+ @upsert = args[:upsert] if args.key?(:upsert)
1090
+ @delete = args[:delete] if args.key?(:delete)
1091
+ end
1092
+ end
1093
+
1094
+ # The response for Datastore.Commit.
1095
+ class CommitResponse
1096
+ include Google::Apis::Core::Hashable
1097
+
1098
+ # The result of performing the mutations.
1099
+ # The i-th mutation result corresponds to the i-th mutation in the request.
1100
+ # Corresponds to the JSON property `mutationResults`
1101
+ # @return [Array<Google::Apis::DatastoreV1::MutationResult>]
1102
+ attr_accessor :mutation_results
1103
+
1104
+ # The number of index entries updated during the commit, or zero if none were
1105
+ # updated.
1106
+ # Corresponds to the JSON property `indexUpdates`
1107
+ # @return [Fixnum]
1108
+ attr_accessor :index_updates
1109
+
1110
+ def initialize(**args)
1111
+ update!(**args)
1112
+ end
1113
+
1114
+ # Update properties of this object
1115
+ def update!(**args)
1116
+ @mutation_results = args[:mutation_results] if args.key?(:mutation_results)
1117
+ @index_updates = args[:index_updates] if args.key?(:index_updates)
1118
+ end
1119
+ end
1120
+
1121
+ # The request for Datastore.RunQuery.
1122
+ class RunQueryRequest
1123
+ include Google::Apis::Core::Hashable
1124
+
1125
+ # A partition ID identifies a grouping of entities. The grouping is always
1126
+ # by project and namespace, however the namespace ID may be empty.
1127
+ # A partition ID contains several dimensions:
1128
+ # project ID and namespace ID.
1129
+ # Partition dimensions:
1130
+ # - May be `""`.
1131
+ # - Must be valid UTF-8 bytes.
1132
+ # - Must have values that match regex `[A-Za-z\d\.\-_]`1,100``
1133
+ # If the value of any dimension matches regex `__.*__`, the partition is
1134
+ # reserved/read-only.
1135
+ # A reserved/read-only partition ID is forbidden in certain documented
1136
+ # contexts.
1137
+ # Foreign partition IDs (in which the project ID does
1138
+ # not match the context project ID ) are discouraged.
1139
+ # Reads and writes of foreign partition IDs may fail if the project is not in an
1140
+ # active state.
1141
+ # Corresponds to the JSON property `partitionId`
1142
+ # @return [Google::Apis::DatastoreV1::PartitionId]
1143
+ attr_accessor :partition_id
1144
+
1145
+ # A [GQL query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).
1146
+ # Corresponds to the JSON property `gqlQuery`
1147
+ # @return [Google::Apis::DatastoreV1::GqlQuery]
1148
+ attr_accessor :gql_query
1149
+
1150
+ # The options shared by read requests.
1151
+ # Corresponds to the JSON property `readOptions`
1152
+ # @return [Google::Apis::DatastoreV1::ReadOptions]
1153
+ attr_accessor :read_options
1154
+
1155
+ # A query for entities.
1156
+ # Corresponds to the JSON property `query`
1157
+ # @return [Google::Apis::DatastoreV1::Query]
1158
+ attr_accessor :query
1159
+
1160
+ def initialize(**args)
1161
+ update!(**args)
1162
+ end
1163
+
1164
+ # Update properties of this object
1165
+ def update!(**args)
1166
+ @partition_id = args[:partition_id] if args.key?(:partition_id)
1167
+ @gql_query = args[:gql_query] if args.key?(:gql_query)
1168
+ @read_options = args[:read_options] if args.key?(:read_options)
1169
+ @query = args[:query] if args.key?(:query)
1170
+ end
1171
+ end
1172
+
1173
+ # The request for Datastore.Lookup.
1174
+ class LookupRequest
1175
+ include Google::Apis::Core::Hashable
1176
+
1177
+ # The options shared by read requests.
1178
+ # Corresponds to the JSON property `readOptions`
1179
+ # @return [Google::Apis::DatastoreV1::ReadOptions]
1180
+ attr_accessor :read_options
1181
+
1182
+ # Keys of entities to look up.
1183
+ # Corresponds to the JSON property `keys`
1184
+ # @return [Array<Google::Apis::DatastoreV1::Key>]
1185
+ attr_accessor :keys
1186
+
1187
+ def initialize(**args)
1188
+ update!(**args)
1189
+ end
1190
+
1191
+ # Update properties of this object
1192
+ def update!(**args)
1193
+ @read_options = args[:read_options] if args.key?(:read_options)
1194
+ @keys = args[:keys] if args.key?(:keys)
1195
+ end
1196
+ end
1197
+
1198
+ # An object representing a latitude/longitude pair. This is expressed as a pair
1199
+ # of doubles representing degrees latitude and degrees longitude. Unless
1200
+ # specified otherwise, this must conform to the
1201
+ # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
1202
+ # standard</a>. Values must be within normalized ranges.
1203
+ # Example of normalization code in Python:
1204
+ # def NormalizeLongitude(longitude):
1205
+ # """Wraps decimal degrees longitude to [-180.0, 180.0]."""
1206
+ # q, r = divmod(longitude, 360.0)
1207
+ # if r > 180.0 or (r == 180.0 and q <= -1.0):
1208
+ # return r - 360.0
1209
+ # return r
1210
+ # def NormalizeLatLng(latitude, longitude):
1211
+ # """Wraps decimal degrees latitude and longitude to
1212
+ # [-90.0, 90.0] and [-180.0, 180.0], respectively."""
1213
+ # r = latitude % 360.0
1214
+ # if r <= 90.0:
1215
+ # return r, NormalizeLongitude(longitude)
1216
+ # elif r >= 270.0:
1217
+ # return r - 360, NormalizeLongitude(longitude)
1218
+ # else:
1219
+ # return 180 - r, NormalizeLongitude(longitude + 180.0)
1220
+ # assert 180.0 == NormalizeLongitude(180.0)
1221
+ # assert -180.0 == NormalizeLongitude(-180.0)
1222
+ # assert -179.0 == NormalizeLongitude(181.0)
1223
+ # assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
1224
+ # assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
1225
+ # assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
1226
+ # assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
1227
+ # assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
1228
+ # assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
1229
+ # assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
1230
+ # assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
1231
+ # assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
1232
+ # assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
1233
+ class LatLng
1234
+ include Google::Apis::Core::Hashable
1235
+
1236
+ # The latitude in degrees. It must be in the range [-90.0, +90.0].
1237
+ # Corresponds to the JSON property `latitude`
1238
+ # @return [Float]
1239
+ attr_accessor :latitude
1240
+
1241
+ # The longitude in degrees. It must be in the range [-180.0, +180.0].
1242
+ # Corresponds to the JSON property `longitude`
1243
+ # @return [Float]
1244
+ attr_accessor :longitude
1245
+
1246
+ def initialize(**args)
1247
+ update!(**args)
1248
+ end
1249
+
1250
+ # Update properties of this object
1251
+ def update!(**args)
1252
+ @latitude = args[:latitude] if args.key?(:latitude)
1253
+ @longitude = args[:longitude] if args.key?(:longitude)
1254
+ end
1255
+ end
1256
+
1257
+ # A filter that merges multiple other filters using the given operator.
1258
+ class CompositeFilter
1259
+ include Google::Apis::Core::Hashable
1260
+
1261
+ # The operator for combining multiple filters.
1262
+ # Corresponds to the JSON property `op`
1263
+ # @return [String]
1264
+ attr_accessor :op
1265
+
1266
+ # The list of filters to combine.
1267
+ # Must contain at least one filter.
1268
+ # Corresponds to the JSON property `filters`
1269
+ # @return [Array<Google::Apis::DatastoreV1::Filter>]
1270
+ attr_accessor :filters
1271
+
1272
+ def initialize(**args)
1273
+ update!(**args)
1274
+ end
1275
+
1276
+ # Update properties of this object
1277
+ def update!(**args)
1278
+ @op = args[:op] if args.key?(:op)
1279
+ @filters = args[:filters] if args.key?(:filters)
1280
+ end
1281
+ end
1282
+ end
1283
+ end
1284
+ end