google-cloud-datastore-v1 0.7.0 → 0.9.0

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.
@@ -0,0 +1,459 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # Specifies the routing information that should be sent along with the request
23
+ # in the form of routing header.
24
+ # **NOTE:** All service configuration rules follow the "last one wins" order.
25
+ #
26
+ # The examples below will apply to an RPC which has the following request type:
27
+ #
28
+ # Message Definition:
29
+ #
30
+ # message Request {
31
+ # // The name of the Table
32
+ # // Values can be of the following formats:
33
+ # // - `projects/<project>/tables/<table>`
34
+ # // - `projects/<project>/instances/<instance>/tables/<table>`
35
+ # // - `region/<region>/zones/<zone>/tables/<table>`
36
+ # string table_name = 1;
37
+ #
38
+ # // This value specifies routing for replication.
39
+ # // It can be in the following formats:
40
+ # // - `profiles/<profile_id>`
41
+ # // - a legacy `profile_id` that can be any string
42
+ # string app_profile_id = 2;
43
+ # }
44
+ #
45
+ # Example message:
46
+ #
47
+ # {
48
+ # table_name: projects/proj_foo/instances/instance_bar/table/table_baz,
49
+ # app_profile_id: profiles/prof_qux
50
+ # }
51
+ #
52
+ # The routing header consists of one or multiple key-value pairs. Every key
53
+ # and value must be percent-encoded, and joined together in the format of
54
+ # `key1=value1&key2=value2`.
55
+ # In the examples below I am skipping the percent-encoding for readablity.
56
+ #
57
+ # Example 1
58
+ #
59
+ # Extracting a field from the request to put into the routing header
60
+ # unchanged, with the key equal to the field name.
61
+ #
62
+ # annotation:
63
+ #
64
+ # option (google.api.routing) = {
65
+ # // Take the `app_profile_id`.
66
+ # routing_parameters {
67
+ # field: "app_profile_id"
68
+ # }
69
+ # };
70
+ #
71
+ # result:
72
+ #
73
+ # x-goog-request-params: app_profile_id=profiles/prof_qux
74
+ #
75
+ # Example 2
76
+ #
77
+ # Extracting a field from the request to put into the routing header
78
+ # unchanged, with the key different from the field name.
79
+ #
80
+ # annotation:
81
+ #
82
+ # option (google.api.routing) = {
83
+ # // Take the `app_profile_id`, but name it `routing_id` in the header.
84
+ # routing_parameters {
85
+ # field: "app_profile_id"
86
+ # path_template: "{routing_id=**}"
87
+ # }
88
+ # };
89
+ #
90
+ # result:
91
+ #
92
+ # x-goog-request-params: routing_id=profiles/prof_qux
93
+ #
94
+ # Example 3
95
+ #
96
+ # Extracting a field from the request to put into the routing
97
+ # header, while matching a path template syntax on the field's value.
98
+ #
99
+ # NB: it is more useful to send nothing than to send garbage for the purpose
100
+ # of dynamic routing, since garbage pollutes cache. Thus the matching.
101
+ #
102
+ # Sub-example 3a
103
+ #
104
+ # The field matches the template.
105
+ #
106
+ # annotation:
107
+ #
108
+ # option (google.api.routing) = {
109
+ # // Take the `table_name`, if it's well-formed (with project-based
110
+ # // syntax).
111
+ # routing_parameters {
112
+ # field: "table_name"
113
+ # path_template: "{table_name=projects/*/instances/*/**}"
114
+ # }
115
+ # };
116
+ #
117
+ # result:
118
+ #
119
+ # x-goog-request-params:
120
+ # table_name=projects/proj_foo/instances/instance_bar/table/table_baz
121
+ #
122
+ # Sub-example 3b
123
+ #
124
+ # The field does not match the template.
125
+ #
126
+ # annotation:
127
+ #
128
+ # option (google.api.routing) = {
129
+ # // Take the `table_name`, if it's well-formed (with region-based
130
+ # // syntax).
131
+ # routing_parameters {
132
+ # field: "table_name"
133
+ # path_template: "{table_name=regions/*/zones/*/**}"
134
+ # }
135
+ # };
136
+ #
137
+ # result:
138
+ #
139
+ # <no routing header will be sent>
140
+ #
141
+ # Sub-example 3c
142
+ #
143
+ # Multiple alternative conflictingly named path templates are
144
+ # specified. The one that matches is used to construct the header.
145
+ #
146
+ # annotation:
147
+ #
148
+ # option (google.api.routing) = {
149
+ # // Take the `table_name`, if it's well-formed, whether
150
+ # // using the region- or projects-based syntax.
151
+ #
152
+ # routing_parameters {
153
+ # field: "table_name"
154
+ # path_template: "{table_name=regions/*/zones/*/**}"
155
+ # }
156
+ # routing_parameters {
157
+ # field: "table_name"
158
+ # path_template: "{table_name=projects/*/instances/*/**}"
159
+ # }
160
+ # };
161
+ #
162
+ # result:
163
+ #
164
+ # x-goog-request-params:
165
+ # table_name=projects/proj_foo/instances/instance_bar/table/table_baz
166
+ #
167
+ # Example 4
168
+ #
169
+ # Extracting a single routing header key-value pair by matching a
170
+ # template syntax on (a part of) a single request field.
171
+ #
172
+ # annotation:
173
+ #
174
+ # option (google.api.routing) = {
175
+ # // Take just the project id from the `table_name` field.
176
+ # routing_parameters {
177
+ # field: "table_name"
178
+ # path_template: "{routing_id=projects/*}/**"
179
+ # }
180
+ # };
181
+ #
182
+ # result:
183
+ #
184
+ # x-goog-request-params: routing_id=projects/proj_foo
185
+ #
186
+ # Example 5
187
+ #
188
+ # Extracting a single routing header key-value pair by matching
189
+ # several conflictingly named path templates on (parts of) a single request
190
+ # field. The last template to match "wins" the conflict.
191
+ #
192
+ # annotation:
193
+ #
194
+ # option (google.api.routing) = {
195
+ # // If the `table_name` does not have instances information,
196
+ # // take just the project id for routing.
197
+ # // Otherwise take project + instance.
198
+ #
199
+ # routing_parameters {
200
+ # field: "table_name"
201
+ # path_template: "{routing_id=projects/*}/**"
202
+ # }
203
+ # routing_parameters {
204
+ # field: "table_name"
205
+ # path_template: "{routing_id=projects/*/instances/*}/**"
206
+ # }
207
+ # };
208
+ #
209
+ # result:
210
+ #
211
+ # x-goog-request-params:
212
+ # routing_id=projects/proj_foo/instances/instance_bar
213
+ #
214
+ # Example 6
215
+ #
216
+ # Extracting multiple routing header key-value pairs by matching
217
+ # several non-conflicting path templates on (parts of) a single request field.
218
+ #
219
+ # Sub-example 6a
220
+ #
221
+ # Make the templates strict, so that if the `table_name` does not
222
+ # have an instance information, nothing is sent.
223
+ #
224
+ # annotation:
225
+ #
226
+ # option (google.api.routing) = {
227
+ # // The routing code needs two keys instead of one composite
228
+ # // but works only for the tables with the "project-instance" name
229
+ # // syntax.
230
+ #
231
+ # routing_parameters {
232
+ # field: "table_name"
233
+ # path_template: "{project_id=projects/*}/instances/*/**"
234
+ # }
235
+ # routing_parameters {
236
+ # field: "table_name"
237
+ # path_template: "projects/*/{instance_id=instances/*}/**"
238
+ # }
239
+ # };
240
+ #
241
+ # result:
242
+ #
243
+ # x-goog-request-params:
244
+ # project_id=projects/proj_foo&instance_id=instances/instance_bar
245
+ #
246
+ # Sub-example 6b
247
+ #
248
+ # Make the templates loose, so that if the `table_name` does not
249
+ # have an instance information, just the project id part is sent.
250
+ #
251
+ # annotation:
252
+ #
253
+ # option (google.api.routing) = {
254
+ # // The routing code wants two keys instead of one composite
255
+ # // but will work with just the `project_id` for tables without
256
+ # // an instance in the `table_name`.
257
+ #
258
+ # routing_parameters {
259
+ # field: "table_name"
260
+ # path_template: "{project_id=projects/*}/**"
261
+ # }
262
+ # routing_parameters {
263
+ # field: "table_name"
264
+ # path_template: "projects/*/{instance_id=instances/*}/**"
265
+ # }
266
+ # };
267
+ #
268
+ # result (is the same as 6a for our example message because it has the instance
269
+ # information):
270
+ #
271
+ # x-goog-request-params:
272
+ # project_id=projects/proj_foo&instance_id=instances/instance_bar
273
+ #
274
+ # Example 7
275
+ #
276
+ # Extracting multiple routing header key-value pairs by matching
277
+ # several path templates on multiple request fields.
278
+ #
279
+ # NB: note that here there is no way to specify sending nothing if one of the
280
+ # fields does not match its template. E.g. if the `table_name` is in the wrong
281
+ # format, the `project_id` will not be sent, but the `routing_id` will be.
282
+ # The backend routing code has to be aware of that and be prepared to not
283
+ # receive a full complement of keys if it expects multiple.
284
+ #
285
+ # annotation:
286
+ #
287
+ # option (google.api.routing) = {
288
+ # // The routing needs both `project_id` and `routing_id`
289
+ # // (from the `app_profile_id` field) for routing.
290
+ #
291
+ # routing_parameters {
292
+ # field: "table_name"
293
+ # path_template: "{project_id=projects/*}/**"
294
+ # }
295
+ # routing_parameters {
296
+ # field: "app_profile_id"
297
+ # path_template: "{routing_id=**}"
298
+ # }
299
+ # };
300
+ #
301
+ # result:
302
+ #
303
+ # x-goog-request-params:
304
+ # project_id=projects/proj_foo&routing_id=profiles/prof_qux
305
+ #
306
+ # Example 8
307
+ #
308
+ # Extracting a single routing header key-value pair by matching
309
+ # several conflictingly named path templates on several request fields. The
310
+ # last template to match "wins" the conflict.
311
+ #
312
+ # annotation:
313
+ #
314
+ # option (google.api.routing) = {
315
+ # // The `routing_id` can be a project id or a region id depending on
316
+ # // the table name format, but only if the `app_profile_id` is not set.
317
+ # // If `app_profile_id` is set it should be used instead.
318
+ #
319
+ # routing_parameters {
320
+ # field: "table_name"
321
+ # path_template: "{routing_id=projects/*}/**"
322
+ # }
323
+ # routing_parameters {
324
+ # field: "table_name"
325
+ # path_template: "{routing_id=regions/*}/**"
326
+ # }
327
+ # routing_parameters {
328
+ # field: "app_profile_id"
329
+ # path_template: "{routing_id=**}"
330
+ # }
331
+ # };
332
+ #
333
+ # result:
334
+ #
335
+ # x-goog-request-params: routing_id=profiles/prof_qux
336
+ #
337
+ # Example 9
338
+ #
339
+ # Bringing it all together.
340
+ #
341
+ # annotation:
342
+ #
343
+ # option (google.api.routing) = {
344
+ # // For routing both `table_location` and a `routing_id` are needed.
345
+ # //
346
+ # // table_location can be either an instance id or a region+zone id.
347
+ # //
348
+ # // For `routing_id`, take the value of `app_profile_id`
349
+ # // - If it's in the format `profiles/<profile_id>`, send
350
+ # // just the `<profile_id>` part.
351
+ # // - If it's any other literal, send it as is.
352
+ # // If the `app_profile_id` is empty, and the `table_name` starts with
353
+ # // the project_id, send that instead.
354
+ #
355
+ # routing_parameters {
356
+ # field: "table_name"
357
+ # path_template: "projects/*/{table_location=instances/*}/tables/*"
358
+ # }
359
+ # routing_parameters {
360
+ # field: "table_name"
361
+ # path_template: "{table_location=regions/*/zones/*}/tables/*"
362
+ # }
363
+ # routing_parameters {
364
+ # field: "table_name"
365
+ # path_template: "{routing_id=projects/*}/**"
366
+ # }
367
+ # routing_parameters {
368
+ # field: "app_profile_id"
369
+ # path_template: "{routing_id=**}"
370
+ # }
371
+ # routing_parameters {
372
+ # field: "app_profile_id"
373
+ # path_template: "profiles/{routing_id=*}"
374
+ # }
375
+ # };
376
+ #
377
+ # result:
378
+ #
379
+ # x-goog-request-params:
380
+ # table_location=instances/instance_bar&routing_id=prof_qux
381
+ # @!attribute [rw] routing_parameters
382
+ # @return [::Array<::Google::Api::RoutingParameter>]
383
+ # A collection of Routing Parameter specifications.
384
+ # **NOTE:** If multiple Routing Parameters describe the same key
385
+ # (via the `path_template` field or via the `field` field when
386
+ # `path_template` is not provided), "last one wins" rule
387
+ # determines which Parameter gets used.
388
+ # See the examples for more details.
389
+ class RoutingRule
390
+ include ::Google::Protobuf::MessageExts
391
+ extend ::Google::Protobuf::MessageExts::ClassMethods
392
+ end
393
+
394
+ # A projection from an input message to the GRPC or REST header.
395
+ # @!attribute [rw] field
396
+ # @return [::String]
397
+ # A request field to extract the header key-value pair from.
398
+ # @!attribute [rw] path_template
399
+ # @return [::String]
400
+ # A pattern matching the key-value field. Optional.
401
+ # If not specified, the whole field specified in the `field` field will be
402
+ # taken as value, and its name used as key. If specified, it MUST contain
403
+ # exactly one named segment (along with any number of unnamed segments) The
404
+ # pattern will be matched over the field specified in the `field` field, then
405
+ # if the match is successful:
406
+ # - the name of the single named segment will be used as a header name,
407
+ # - the match value of the segment will be used as a header value;
408
+ # if the match is NOT successful, nothing will be sent.
409
+ #
410
+ # Example:
411
+ #
412
+ # -- This is a field in the request message
413
+ # | that the header value will be extracted from.
414
+ # |
415
+ # | -- This is the key name in the
416
+ # | | routing header.
417
+ # V |
418
+ # field: "table_name" v
419
+ # path_template: "projects/*/{table_location=instances/*}/tables/*"
420
+ # ^ ^
421
+ # | |
422
+ # In the {} brackets is the pattern that -- |
423
+ # specifies what to extract from the |
424
+ # field as a value to be sent. |
425
+ # |
426
+ # The string in the field must match the whole pattern --
427
+ # before brackets, inside brackets, after brackets.
428
+ #
429
+ # When looking at this specific example, we can see that:
430
+ # - A key-value pair with the key `table_location`
431
+ # and the value matching `instances/*` should be added
432
+ # to the x-goog-request-params routing header.
433
+ # - The value is extracted from the request message's `table_name` field
434
+ # if it matches the full pattern specified:
435
+ # `projects/*/instances/*/tables/*`.
436
+ #
437
+ # **NB:** If the `path_template` field is not provided, the key name is
438
+ # equal to the field name, and the whole field should be sent as a value.
439
+ # This makes the pattern for the field and the value functionally equivalent
440
+ # to `**`, and the configuration
441
+ #
442
+ # {
443
+ # field: "table_name"
444
+ # }
445
+ #
446
+ # is a functionally equivalent shorthand to:
447
+ #
448
+ # {
449
+ # field: "table_name"
450
+ # path_template: "{table_name=**}"
451
+ # }
452
+ #
453
+ # See Example 1 for more details.
454
+ class RoutingParameter
455
+ include ::Google::Protobuf::MessageExts
456
+ extend ::Google::Protobuf::MessageExts::ClassMethods
457
+ end
458
+ end
459
+ end
@@ -58,6 +58,13 @@ module Google
58
58
  # A list of keys that were not looked up due to resource constraints. The
59
59
  # order of results in this field is undefined and has no relation to the
60
60
  # order of the keys in the input.
61
+ # @!attribute [rw] transaction
62
+ # @return [::String]
63
+ # The identifier of the transaction that was started as part of this Lookup
64
+ # request.
65
+ #
66
+ # Set only when [ReadOptions.begin_transaction][] was set in
67
+ # {::Google::Cloud::Datastore::V1::LookupRequest#read_options LookupRequest.read_options}.
61
68
  # @!attribute [rw] read_time
62
69
  # @return [::Google::Protobuf::Timestamp]
63
70
  # The time at which these entities were read or found missing.
@@ -96,19 +103,28 @@ module Google
96
103
  extend ::Google::Protobuf::MessageExts::ClassMethods
97
104
  end
98
105
 
99
- # The response for {::Google::Cloud::Datastore::V1::Datastore::Client#run_query Datastore.RunQuery}.
106
+ # The response for
107
+ # {::Google::Cloud::Datastore::V1::Datastore::Client#run_query Datastore.RunQuery}.
100
108
  # @!attribute [rw] batch
101
109
  # @return [::Google::Cloud::Datastore::V1::QueryResultBatch]
102
110
  # A batch of query results (always present).
103
111
  # @!attribute [rw] query
104
112
  # @return [::Google::Cloud::Datastore::V1::Query]
105
113
  # The parsed form of the `GqlQuery` from the request, if it was set.
114
+ # @!attribute [rw] transaction
115
+ # @return [::String]
116
+ # The identifier of the transaction that was started as part of this
117
+ # RunQuery request.
118
+ #
119
+ # Set only when [ReadOptions.begin_transaction][] was set in
120
+ # {::Google::Cloud::Datastore::V1::RunQueryRequest#read_options RunQueryRequest.read_options}.
106
121
  class RunQueryResponse
107
122
  include ::Google::Protobuf::MessageExts
108
123
  extend ::Google::Protobuf::MessageExts::ClassMethods
109
124
  end
110
125
 
111
- # The request for {::Google::Cloud::Datastore::V1::Datastore::Client#run_aggregation_query Datastore.RunAggregationQuery}.
126
+ # The request for
127
+ # {::Google::Cloud::Datastore::V1::Datastore::Client#run_aggregation_query Datastore.RunAggregationQuery}.
112
128
  # @!attribute [rw] project_id
113
129
  # @return [::String]
114
130
  # Required. The ID of the project against which to make the request.
@@ -138,19 +154,28 @@ module Google
138
154
  extend ::Google::Protobuf::MessageExts::ClassMethods
139
155
  end
140
156
 
141
- # The response for {::Google::Cloud::Datastore::V1::Datastore::Client#run_aggregation_query Datastore.RunAggregationQuery}.
157
+ # The response for
158
+ # {::Google::Cloud::Datastore::V1::Datastore::Client#run_aggregation_query Datastore.RunAggregationQuery}.
142
159
  # @!attribute [rw] batch
143
160
  # @return [::Google::Cloud::Datastore::V1::AggregationResultBatch]
144
161
  # A batch of aggregation results. Always present.
145
162
  # @!attribute [rw] query
146
163
  # @return [::Google::Cloud::Datastore::V1::AggregationQuery]
147
164
  # The parsed form of the `GqlQuery` from the request, if it was set.
165
+ # @!attribute [rw] transaction
166
+ # @return [::String]
167
+ # The identifier of the transaction that was started as part of this
168
+ # RunAggregationQuery request.
169
+ #
170
+ # Set only when [ReadOptions.begin_transaction][] was set in
171
+ # {::Google::Cloud::Datastore::V1::RunAggregationQueryRequest#read_options RunAggregationQueryRequest.read_options}.
148
172
  class RunAggregationQueryResponse
149
173
  include ::Google::Protobuf::MessageExts
150
174
  extend ::Google::Protobuf::MessageExts::ClassMethods
151
175
  end
152
176
 
153
- # The request for {::Google::Cloud::Datastore::V1::Datastore::Client#begin_transaction Datastore.BeginTransaction}.
177
+ # The request for
178
+ # {::Google::Cloud::Datastore::V1::Datastore::Client#begin_transaction Datastore.BeginTransaction}.
154
179
  # @!attribute [rw] project_id
155
180
  # @return [::String]
156
181
  # Required. The ID of the project against which to make the request.
@@ -168,7 +193,8 @@ module Google
168
193
  extend ::Google::Protobuf::MessageExts::ClassMethods
169
194
  end
170
195
 
171
- # The response for {::Google::Cloud::Datastore::V1::Datastore::Client#begin_transaction Datastore.BeginTransaction}.
196
+ # The response for
197
+ # {::Google::Cloud::Datastore::V1::Datastore::Client#begin_transaction Datastore.BeginTransaction}.
172
198
  # @!attribute [rw] transaction
173
199
  # @return [::String]
174
200
  # The transaction identifier (always present).
@@ -196,8 +222,9 @@ module Google
196
222
  extend ::Google::Protobuf::MessageExts::ClassMethods
197
223
  end
198
224
 
199
- # The response for {::Google::Cloud::Datastore::V1::Datastore::Client#rollback Datastore.Rollback}.
200
- # (an empty message).
225
+ # The response for
226
+ # {::Google::Cloud::Datastore::V1::Datastore::Client#rollback Datastore.Rollback}. (an empty
227
+ # message).
201
228
  class RollbackResponse
202
229
  include ::Google::Protobuf::MessageExts
203
230
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -221,6 +248,13 @@ module Google
221
248
  # The identifier of the transaction associated with the commit. A
222
249
  # transaction identifier is returned by a call to
223
250
  # {::Google::Cloud::Datastore::V1::Datastore::Client#begin_transaction Datastore.BeginTransaction}.
251
+ # @!attribute [rw] single_use_transaction
252
+ # @return [::Google::Cloud::Datastore::V1::TransactionOptions]
253
+ # Options for beginning a new transaction for this request.
254
+ # The transaction is committed when the request completes. If specified,
255
+ # [TransactionOptions.mode][google.datastore.v1.TransactionOptions.mode]
256
+ # must be
257
+ # {::Google::Cloud::Datastore::V1::TransactionOptions::ReadWrite TransactionOptions.ReadWrite}.
224
258
  # @!attribute [rw] mutations
225
259
  # @return [::Array<::Google::Cloud::Datastore::V1::Mutation>]
226
260
  # The mutations to perform.
@@ -272,7 +306,8 @@ module Google
272
306
  extend ::Google::Protobuf::MessageExts::ClassMethods
273
307
  end
274
308
 
275
- # The request for {::Google::Cloud::Datastore::V1::Datastore::Client#allocate_ids Datastore.AllocateIds}.
309
+ # The request for
310
+ # {::Google::Cloud::Datastore::V1::Datastore::Client#allocate_ids Datastore.AllocateIds}.
276
311
  # @!attribute [rw] project_id
277
312
  # @return [::String]
278
313
  # Required. The ID of the project against which to make the request.
@@ -284,14 +319,15 @@ module Google
284
319
  # database.
285
320
  # @!attribute [rw] keys
286
321
  # @return [::Array<::Google::Cloud::Datastore::V1::Key>]
287
- # Required. A list of keys with incomplete key paths for which to allocate IDs.
288
- # No key may be reserved/read-only.
322
+ # Required. A list of keys with incomplete key paths for which to allocate
323
+ # IDs. No key may be reserved/read-only.
289
324
  class AllocateIdsRequest
290
325
  include ::Google::Protobuf::MessageExts
291
326
  extend ::Google::Protobuf::MessageExts::ClassMethods
292
327
  end
293
328
 
294
- # The response for {::Google::Cloud::Datastore::V1::Datastore::Client#allocate_ids Datastore.AllocateIds}.
329
+ # The response for
330
+ # {::Google::Cloud::Datastore::V1::Datastore::Client#allocate_ids Datastore.AllocateIds}.
295
331
  # @!attribute [rw] keys
296
332
  # @return [::Array<::Google::Cloud::Datastore::V1::Key>]
297
333
  # The keys specified in the request (in the same order), each with
@@ -301,7 +337,8 @@ module Google
301
337
  extend ::Google::Protobuf::MessageExts::ClassMethods
302
338
  end
303
339
 
304
- # The request for {::Google::Cloud::Datastore::V1::Datastore::Client#reserve_ids Datastore.ReserveIds}.
340
+ # The request for
341
+ # {::Google::Cloud::Datastore::V1::Datastore::Client#reserve_ids Datastore.ReserveIds}.
305
342
  # @!attribute [rw] project_id
306
343
  # @return [::String]
307
344
  # Required. The ID of the project against which to make the request.
@@ -313,14 +350,15 @@ module Google
313
350
  # database.
314
351
  # @!attribute [rw] keys
315
352
  # @return [::Array<::Google::Cloud::Datastore::V1::Key>]
316
- # Required. A list of keys with complete key paths whose numeric IDs should not be
317
- # auto-allocated.
353
+ # Required. A list of keys with complete key paths whose numeric IDs should
354
+ # not be auto-allocated.
318
355
  class ReserveIdsRequest
319
356
  include ::Google::Protobuf::MessageExts
320
357
  extend ::Google::Protobuf::MessageExts::ClassMethods
321
358
  end
322
359
 
323
- # The response for {::Google::Cloud::Datastore::V1::Datastore::Client#reserve_ids Datastore.ReserveIds}.
360
+ # The response for
361
+ # {::Google::Cloud::Datastore::V1::Datastore::Client#reserve_ids Datastore.ReserveIds}.
324
362
  class ReserveIdsResponse
325
363
  include ::Google::Protobuf::MessageExts
326
364
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -394,6 +432,15 @@ module Google
394
432
  # The identifier of the transaction in which to read. A
395
433
  # transaction identifier is returned by a call to
396
434
  # {::Google::Cloud::Datastore::V1::Datastore::Client#begin_transaction Datastore.BeginTransaction}.
435
+ # @!attribute [rw] new_transaction
436
+ # @return [::Google::Cloud::Datastore::V1::TransactionOptions]
437
+ # Options for beginning a new transaction for this request.
438
+ #
439
+ # The new transaction identifier will be returned in the corresponding
440
+ # response as either
441
+ # {::Google::Cloud::Datastore::V1::LookupResponse#transaction LookupResponse.transaction}
442
+ # or
443
+ # {::Google::Cloud::Datastore::V1::RunQueryResponse#transaction RunQueryResponse.transaction}.
397
444
  # @!attribute [rw] read_time
398
445
  # @return [::Google::Protobuf::Timestamp]
399
446
  # Reads entities as they were at the given time. This may not be older
@@ -419,8 +466,10 @@ module Google
419
466
  # Options for beginning a new transaction.
420
467
  #
421
468
  # Transactions can be created explicitly with calls to
422
- # {::Google::Cloud::Datastore::V1::Datastore::Client#begin_transaction Datastore.BeginTransaction} or implicitly by setting
423
- # [ReadOptions.new_transaction][google.datastore.v1.ReadOptions.new_transaction] in read requests.
469
+ # {::Google::Cloud::Datastore::V1::Datastore::Client#begin_transaction Datastore.BeginTransaction}
470
+ # or implicitly by setting
471
+ # {::Google::Cloud::Datastore::V1::ReadOptions#new_transaction ReadOptions.new_transaction}
472
+ # in read requests.
424
473
  # @!attribute [rw] read_write
425
474
  # @return [::Google::Cloud::Datastore::V1::TransactionOptions::ReadWrite]
426
475
  # The transaction should allow both reads and writes.