google-cloud-datastore-v1 0.1.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,4 @@
1
+ # Firestore in Datastore mode V1 Protocol Buffer Documentation
2
+
3
+ These files are for the YARD documentation of the generated protobuf files.
4
+ They are not intended to be required or loaded at runtime.
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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
+ # An indicator of the behavior of a given field (for example, that a field
23
+ # is required in requests, or given as output but ignored as input).
24
+ # This **does not** change the behavior in protocol buffers itself; it only
25
+ # denotes the behavior and may affect how API tooling handles the field.
26
+ #
27
+ # Note: This enum **may** receive new values in the future.
28
+ module FieldBehavior
29
+ # Conventional default for enums. Do not use this.
30
+ FIELD_BEHAVIOR_UNSPECIFIED = 0
31
+
32
+ # Specifically denotes a field as optional.
33
+ # While all fields in protocol buffers are optional, this may be specified
34
+ # for emphasis if appropriate.
35
+ OPTIONAL = 1
36
+
37
+ # Denotes a field as required.
38
+ # This indicates that the field **must** be provided as part of the request,
39
+ # and failure to do so will cause an error (usually `INVALID_ARGUMENT`).
40
+ REQUIRED = 2
41
+
42
+ # Denotes a field as output only.
43
+ # This indicates that the field is provided in responses, but including the
44
+ # field in a request does nothing (the server *must* ignore it and
45
+ # *must not* throw an error as a result of the field's presence).
46
+ OUTPUT_ONLY = 3
47
+
48
+ # Denotes a field as input only.
49
+ # This indicates that the field is provided in requests, and the
50
+ # corresponding field is not included in output.
51
+ INPUT_ONLY = 4
52
+
53
+ # Denotes a field as immutable.
54
+ # This indicates that the field may be set once in a request to create a
55
+ # resource, but may not be changed thereafter.
56
+ IMMUTABLE = 5
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,247 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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
+ # A simple descriptor of a resource type.
23
+ #
24
+ # ResourceDescriptor annotates a resource message (either by means of a
25
+ # protobuf annotation or use in the service config), and associates the
26
+ # resource's schema, the resource type, and the pattern of the resource name.
27
+ #
28
+ # Example:
29
+ #
30
+ # message Topic {
31
+ # // Indicates this message defines a resource schema.
32
+ # // Declares the resource type in the format of {service}/{kind}.
33
+ # // For Kubernetes resources, the format is {api group}/{kind}.
34
+ # option (google.api.resource) = {
35
+ # type: "pubsub.googleapis.com/Topic"
36
+ # name_descriptor: {
37
+ # pattern: "projects/{project}/topics/{topic}"
38
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
39
+ # parent_name_extractor: "projects/{project}"
40
+ # }
41
+ # };
42
+ # }
43
+ #
44
+ # The ResourceDescriptor Yaml config will look like:
45
+ #
46
+ # resources:
47
+ # - type: "pubsub.googleapis.com/Topic"
48
+ # name_descriptor:
49
+ # - pattern: "projects/\\{project}/topics/\\{topic}"
50
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
51
+ # parent_name_extractor: "projects/\\{project}"
52
+ #
53
+ # Sometimes, resources have multiple patterns, typically because they can
54
+ # live under multiple parents.
55
+ #
56
+ # Example:
57
+ #
58
+ # message LogEntry {
59
+ # option (google.api.resource) = {
60
+ # type: "logging.googleapis.com/LogEntry"
61
+ # name_descriptor: {
62
+ # pattern: "projects/{project}/logs/{log}"
63
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
64
+ # parent_name_extractor: "projects/{project}"
65
+ # }
66
+ # name_descriptor: {
67
+ # pattern: "folders/{folder}/logs/{log}"
68
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
69
+ # parent_name_extractor: "folders/{folder}"
70
+ # }
71
+ # name_descriptor: {
72
+ # pattern: "organizations/{organization}/logs/{log}"
73
+ # parent_type: "cloudresourcemanager.googleapis.com/Organization"
74
+ # parent_name_extractor: "organizations/{organization}"
75
+ # }
76
+ # name_descriptor: {
77
+ # pattern: "billingAccounts/{billing_account}/logs/{log}"
78
+ # parent_type: "billing.googleapis.com/BillingAccount"
79
+ # parent_name_extractor: "billingAccounts/{billing_account}"
80
+ # }
81
+ # };
82
+ # }
83
+ #
84
+ # The ResourceDescriptor Yaml config will look like:
85
+ #
86
+ # resources:
87
+ # - type: 'logging.googleapis.com/LogEntry'
88
+ # name_descriptor:
89
+ # - pattern: "projects/{project}/logs/{log}"
90
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
91
+ # parent_name_extractor: "projects/{project}"
92
+ # - pattern: "folders/{folder}/logs/{log}"
93
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
94
+ # parent_name_extractor: "folders/{folder}"
95
+ # - pattern: "organizations/{organization}/logs/{log}"
96
+ # parent_type: "cloudresourcemanager.googleapis.com/Organization"
97
+ # parent_name_extractor: "organizations/{organization}"
98
+ # - pattern: "billingAccounts/{billing_account}/logs/{log}"
99
+ # parent_type: "billing.googleapis.com/BillingAccount"
100
+ # parent_name_extractor: "billingAccounts/{billing_account}"
101
+ #
102
+ # For flexible resources, the resource name doesn't contain parent names, but
103
+ # the resource itself has parents for policy evaluation.
104
+ #
105
+ # Example:
106
+ #
107
+ # message Shelf {
108
+ # option (google.api.resource) = {
109
+ # type: "library.googleapis.com/Shelf"
110
+ # name_descriptor: {
111
+ # pattern: "shelves/{shelf}"
112
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
113
+ # }
114
+ # name_descriptor: {
115
+ # pattern: "shelves/{shelf}"
116
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
117
+ # }
118
+ # };
119
+ # }
120
+ #
121
+ # The ResourceDescriptor Yaml config will look like:
122
+ #
123
+ # resources:
124
+ # - type: 'library.googleapis.com/Shelf'
125
+ # name_descriptor:
126
+ # - pattern: "shelves/{shelf}"
127
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
128
+ # - pattern: "shelves/{shelf}"
129
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
130
+ # @!attribute [rw] type
131
+ # @return [::String]
132
+ # The resource type. It must be in the format of
133
+ # \\{service_name}/\\{resource_type_kind}. The `resource_type_kind` must be
134
+ # singular and must not include version numbers.
135
+ #
136
+ # Example: `storage.googleapis.com/Bucket`
137
+ #
138
+ # The value of the resource_type_kind must follow the regular expression
139
+ # /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and
140
+ # should use PascalCase (UpperCamelCase). The maximum number of
141
+ # characters allowed for the `resource_type_kind` is 100.
142
+ # @!attribute [rw] pattern
143
+ # @return [::Array<::String>]
144
+ # Optional. The relative resource name pattern associated with this resource
145
+ # type. The DNS prefix of the full resource name shouldn't be specified here.
146
+ #
147
+ # The path pattern must follow the syntax, which aligns with HTTP binding
148
+ # syntax:
149
+ #
150
+ # Template = Segment { "/" Segment } ;
151
+ # Segment = LITERAL | Variable ;
152
+ # Variable = "{" LITERAL "}" ;
153
+ #
154
+ # Examples:
155
+ #
156
+ # - "projects/\\{project}/topics/\\{topic}"
157
+ # - "projects/\\{project}/knowledgeBases/\\{knowledge_base}"
158
+ #
159
+ # The components in braces correspond to the IDs for each resource in the
160
+ # hierarchy. It is expected that, if multiple patterns are provided,
161
+ # the same component name (e.g. "project") refers to IDs of the same
162
+ # type of resource.
163
+ # @!attribute [rw] name_field
164
+ # @return [::String]
165
+ # Optional. The field on the resource that designates the resource name
166
+ # field. If omitted, this is assumed to be "name".
167
+ # @!attribute [rw] history
168
+ # @return [::Google::Api::ResourceDescriptor::History]
169
+ # Optional. The historical or future-looking state of the resource pattern.
170
+ #
171
+ # Example:
172
+ #
173
+ # // The InspectTemplate message originally only supported resource
174
+ # // names with organization, and project was added later.
175
+ # message InspectTemplate {
176
+ # option (google.api.resource) = {
177
+ # type: "dlp.googleapis.com/InspectTemplate"
178
+ # pattern:
179
+ # "organizations/{organization}/inspectTemplates/{inspect_template}"
180
+ # pattern: "projects/{project}/inspectTemplates/{inspect_template}"
181
+ # history: ORIGINALLY_SINGLE_PATTERN
182
+ # };
183
+ # }
184
+ # @!attribute [rw] plural
185
+ # @return [::String]
186
+ # The plural name used in the resource name, such as 'projects' for
187
+ # the name of 'projects/\\{project}'. It is the same concept of the `plural`
188
+ # field in k8s CRD spec
189
+ # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
190
+ # @!attribute [rw] singular
191
+ # @return [::String]
192
+ # The same concept of the `singular` field in k8s CRD spec
193
+ # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
194
+ # Such as "project" for the `resourcemanager.googleapis.com/Project` type.
195
+ class ResourceDescriptor
196
+ include ::Google::Protobuf::MessageExts
197
+ extend ::Google::Protobuf::MessageExts::ClassMethods
198
+
199
+ # A description of the historical or future-looking state of the
200
+ # resource pattern.
201
+ module History
202
+ # The "unset" value.
203
+ HISTORY_UNSPECIFIED = 0
204
+
205
+ # The resource originally had one pattern and launched as such, and
206
+ # additional patterns were added later.
207
+ ORIGINALLY_SINGLE_PATTERN = 1
208
+
209
+ # The resource has one pattern, but the API owner expects to add more
210
+ # later. (This is the inverse of ORIGINALLY_SINGLE_PATTERN, and prevents
211
+ # that from being necessary once there are multiple patterns.)
212
+ FUTURE_MULTI_PATTERN = 2
213
+ end
214
+ end
215
+
216
+ # Defines a proto annotation that describes a string field that refers to
217
+ # an API resource.
218
+ # @!attribute [rw] type
219
+ # @return [::String]
220
+ # The resource type that the annotated field references.
221
+ #
222
+ # Example:
223
+ #
224
+ # message Subscription {
225
+ # string topic = 2 [(google.api.resource_reference) = {
226
+ # type: "pubsub.googleapis.com/Topic"
227
+ # }];
228
+ # }
229
+ # @!attribute [rw] child_type
230
+ # @return [::String]
231
+ # The resource type of a child collection that the annotated field
232
+ # references. This is useful for annotating the `parent` field that
233
+ # doesn't have a fixed resource type.
234
+ #
235
+ # Example:
236
+ #
237
+ # message ListLogEntriesRequest {
238
+ # string parent = 1 [(google.api.resource_reference) = {
239
+ # child_type: "logging.googleapis.com/LogEntry"
240
+ # };
241
+ # }
242
+ class ResourceReference
243
+ include ::Google::Protobuf::MessageExts
244
+ extend ::Google::Protobuf::MessageExts::ClassMethods
245
+ end
246
+ end
247
+ end
@@ -0,0 +1,349 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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 Cloud
22
+ module Datastore
23
+ module V1
24
+ # The request for {::Google::Cloud::Datastore::V1::Datastore::Client#lookup Datastore.Lookup}.
25
+ # @!attribute [rw] project_id
26
+ # @return [::String]
27
+ # Required. The ID of the project against which to make the request.
28
+ # @!attribute [rw] read_options
29
+ # @return [::Google::Cloud::Datastore::V1::ReadOptions]
30
+ # The options for this lookup request.
31
+ # @!attribute [rw] keys
32
+ # @return [::Array<::Google::Cloud::Datastore::V1::Key>]
33
+ # Required. Keys of entities to look up.
34
+ class LookupRequest
35
+ include ::Google::Protobuf::MessageExts
36
+ extend ::Google::Protobuf::MessageExts::ClassMethods
37
+ end
38
+
39
+ # The response for {::Google::Cloud::Datastore::V1::Datastore::Client#lookup Datastore.Lookup}.
40
+ # @!attribute [rw] found
41
+ # @return [::Array<::Google::Cloud::Datastore::V1::EntityResult>]
42
+ # Entities found as `ResultType.FULL` entities. The order of results in this
43
+ # field is undefined and has no relation to the order of the keys in the
44
+ # input.
45
+ # @!attribute [rw] missing
46
+ # @return [::Array<::Google::Cloud::Datastore::V1::EntityResult>]
47
+ # Entities not found as `ResultType.KEY_ONLY` entities. The order of results
48
+ # in this field is undefined and has no relation to the order of the keys
49
+ # in the input.
50
+ # @!attribute [rw] deferred
51
+ # @return [::Array<::Google::Cloud::Datastore::V1::Key>]
52
+ # A list of keys that were not looked up due to resource constraints. The
53
+ # order of results in this field is undefined and has no relation to the
54
+ # order of the keys in the input.
55
+ class LookupResponse
56
+ include ::Google::Protobuf::MessageExts
57
+ extend ::Google::Protobuf::MessageExts::ClassMethods
58
+ end
59
+
60
+ # The request for {::Google::Cloud::Datastore::V1::Datastore::Client#run_query Datastore.RunQuery}.
61
+ # @!attribute [rw] project_id
62
+ # @return [::String]
63
+ # Required. The ID of the project against which to make the request.
64
+ # @!attribute [rw] partition_id
65
+ # @return [::Google::Cloud::Datastore::V1::PartitionId]
66
+ # Entities are partitioned into subsets, identified by a partition ID.
67
+ # Queries are scoped to a single partition.
68
+ # This partition ID is normalized with the standard default context
69
+ # partition ID.
70
+ # @!attribute [rw] read_options
71
+ # @return [::Google::Cloud::Datastore::V1::ReadOptions]
72
+ # The options for this query.
73
+ # @!attribute [rw] query
74
+ # @return [::Google::Cloud::Datastore::V1::Query]
75
+ # The query to run.
76
+ # @!attribute [rw] gql_query
77
+ # @return [::Google::Cloud::Datastore::V1::GqlQuery]
78
+ # The GQL query to run.
79
+ class RunQueryRequest
80
+ include ::Google::Protobuf::MessageExts
81
+ extend ::Google::Protobuf::MessageExts::ClassMethods
82
+ end
83
+
84
+ # The response for {::Google::Cloud::Datastore::V1::Datastore::Client#run_query Datastore.RunQuery}.
85
+ # @!attribute [rw] batch
86
+ # @return [::Google::Cloud::Datastore::V1::QueryResultBatch]
87
+ # A batch of query results (always present).
88
+ # @!attribute [rw] query
89
+ # @return [::Google::Cloud::Datastore::V1::Query]
90
+ # The parsed form of the `GqlQuery` from the request, if it was set.
91
+ class RunQueryResponse
92
+ include ::Google::Protobuf::MessageExts
93
+ extend ::Google::Protobuf::MessageExts::ClassMethods
94
+ end
95
+
96
+ # The request for {::Google::Cloud::Datastore::V1::Datastore::Client#begin_transaction Datastore.BeginTransaction}.
97
+ # @!attribute [rw] project_id
98
+ # @return [::String]
99
+ # Required. The ID of the project against which to make the request.
100
+ # @!attribute [rw] transaction_options
101
+ # @return [::Google::Cloud::Datastore::V1::TransactionOptions]
102
+ # Options for a new transaction.
103
+ class BeginTransactionRequest
104
+ include ::Google::Protobuf::MessageExts
105
+ extend ::Google::Protobuf::MessageExts::ClassMethods
106
+ end
107
+
108
+ # The response for {::Google::Cloud::Datastore::V1::Datastore::Client#begin_transaction Datastore.BeginTransaction}.
109
+ # @!attribute [rw] transaction
110
+ # @return [::String]
111
+ # The transaction identifier (always present).
112
+ class BeginTransactionResponse
113
+ include ::Google::Protobuf::MessageExts
114
+ extend ::Google::Protobuf::MessageExts::ClassMethods
115
+ end
116
+
117
+ # The request for {::Google::Cloud::Datastore::V1::Datastore::Client#rollback Datastore.Rollback}.
118
+ # @!attribute [rw] project_id
119
+ # @return [::String]
120
+ # Required. The ID of the project against which to make the request.
121
+ # @!attribute [rw] transaction
122
+ # @return [::String]
123
+ # Required. The transaction identifier, returned by a call to
124
+ # {::Google::Cloud::Datastore::V1::Datastore::Client#begin_transaction Datastore.BeginTransaction}.
125
+ class RollbackRequest
126
+ include ::Google::Protobuf::MessageExts
127
+ extend ::Google::Protobuf::MessageExts::ClassMethods
128
+ end
129
+
130
+ # The response for {::Google::Cloud::Datastore::V1::Datastore::Client#rollback Datastore.Rollback}.
131
+ # (an empty message).
132
+ class RollbackResponse
133
+ include ::Google::Protobuf::MessageExts
134
+ extend ::Google::Protobuf::MessageExts::ClassMethods
135
+ end
136
+
137
+ # The request for {::Google::Cloud::Datastore::V1::Datastore::Client#commit Datastore.Commit}.
138
+ # @!attribute [rw] project_id
139
+ # @return [::String]
140
+ # Required. The ID of the project against which to make the request.
141
+ # @!attribute [rw] mode
142
+ # @return [::Google::Cloud::Datastore::V1::CommitRequest::Mode]
143
+ # The type of commit to perform. Defaults to `TRANSACTIONAL`.
144
+ # @!attribute [rw] transaction
145
+ # @return [::String]
146
+ # The identifier of the transaction associated with the commit. A
147
+ # transaction identifier is returned by a call to
148
+ # {::Google::Cloud::Datastore::V1::Datastore::Client#begin_transaction Datastore.BeginTransaction}.
149
+ # @!attribute [rw] mutations
150
+ # @return [::Array<::Google::Cloud::Datastore::V1::Mutation>]
151
+ # The mutations to perform.
152
+ #
153
+ # When mode is `TRANSACTIONAL`, mutations affecting a single entity are
154
+ # applied in order. The following sequences of mutations affecting a single
155
+ # entity are not permitted in a single `Commit` request:
156
+ #
157
+ # - `insert` followed by `insert`
158
+ # - `update` followed by `insert`
159
+ # - `upsert` followed by `insert`
160
+ # - `delete` followed by `update`
161
+ #
162
+ # When mode is `NON_TRANSACTIONAL`, no two mutations may affect a single
163
+ # entity.
164
+ class CommitRequest
165
+ include ::Google::Protobuf::MessageExts
166
+ extend ::Google::Protobuf::MessageExts::ClassMethods
167
+
168
+ # The modes available for commits.
169
+ module Mode
170
+ # Unspecified. This value must not be used.
171
+ MODE_UNSPECIFIED = 0
172
+
173
+ # Transactional: The mutations are either all applied, or none are applied.
174
+ # Learn about transactions
175
+ # [here](https://cloud.google.com/datastore/docs/concepts/transactions).
176
+ TRANSACTIONAL = 1
177
+
178
+ # Non-transactional: The mutations may not apply as all or none.
179
+ NON_TRANSACTIONAL = 2
180
+ end
181
+ end
182
+
183
+ # The response for {::Google::Cloud::Datastore::V1::Datastore::Client#commit Datastore.Commit}.
184
+ # @!attribute [rw] mutation_results
185
+ # @return [::Array<::Google::Cloud::Datastore::V1::MutationResult>]
186
+ # The result of performing the mutations.
187
+ # The i-th mutation result corresponds to the i-th mutation in the request.
188
+ # @!attribute [rw] index_updates
189
+ # @return [::Integer]
190
+ # The number of index entries updated during the commit, or zero if none were
191
+ # updated.
192
+ class CommitResponse
193
+ include ::Google::Protobuf::MessageExts
194
+ extend ::Google::Protobuf::MessageExts::ClassMethods
195
+ end
196
+
197
+ # The request for {::Google::Cloud::Datastore::V1::Datastore::Client#allocate_ids Datastore.AllocateIds}.
198
+ # @!attribute [rw] project_id
199
+ # @return [::String]
200
+ # Required. The ID of the project against which to make the request.
201
+ # @!attribute [rw] keys
202
+ # @return [::Array<::Google::Cloud::Datastore::V1::Key>]
203
+ # Required. A list of keys with incomplete key paths for which to allocate IDs.
204
+ # No key may be reserved/read-only.
205
+ class AllocateIdsRequest
206
+ include ::Google::Protobuf::MessageExts
207
+ extend ::Google::Protobuf::MessageExts::ClassMethods
208
+ end
209
+
210
+ # The response for {::Google::Cloud::Datastore::V1::Datastore::Client#allocate_ids Datastore.AllocateIds}.
211
+ # @!attribute [rw] keys
212
+ # @return [::Array<::Google::Cloud::Datastore::V1::Key>]
213
+ # The keys specified in the request (in the same order), each with
214
+ # its key path completed with a newly allocated ID.
215
+ class AllocateIdsResponse
216
+ include ::Google::Protobuf::MessageExts
217
+ extend ::Google::Protobuf::MessageExts::ClassMethods
218
+ end
219
+
220
+ # The request for {::Google::Cloud::Datastore::V1::Datastore::Client#reserve_ids Datastore.ReserveIds}.
221
+ # @!attribute [rw] project_id
222
+ # @return [::String]
223
+ # Required. The ID of the project against which to make the request.
224
+ # @!attribute [rw] database_id
225
+ # @return [::String]
226
+ # If not empty, the ID of the database against which to make the request.
227
+ # @!attribute [rw] keys
228
+ # @return [::Array<::Google::Cloud::Datastore::V1::Key>]
229
+ # Required. A list of keys with complete key paths whose numeric IDs should not be
230
+ # auto-allocated.
231
+ class ReserveIdsRequest
232
+ include ::Google::Protobuf::MessageExts
233
+ extend ::Google::Protobuf::MessageExts::ClassMethods
234
+ end
235
+
236
+ # The response for {::Google::Cloud::Datastore::V1::Datastore::Client#reserve_ids Datastore.ReserveIds}.
237
+ class ReserveIdsResponse
238
+ include ::Google::Protobuf::MessageExts
239
+ extend ::Google::Protobuf::MessageExts::ClassMethods
240
+ end
241
+
242
+ # A mutation to apply to an entity.
243
+ # @!attribute [rw] insert
244
+ # @return [::Google::Cloud::Datastore::V1::Entity]
245
+ # The entity to insert. The entity must not already exist.
246
+ # The entity key's final path element may be incomplete.
247
+ # @!attribute [rw] update
248
+ # @return [::Google::Cloud::Datastore::V1::Entity]
249
+ # The entity to update. The entity must already exist.
250
+ # Must have a complete key path.
251
+ # @!attribute [rw] upsert
252
+ # @return [::Google::Cloud::Datastore::V1::Entity]
253
+ # The entity to upsert. The entity may or may not already exist.
254
+ # The entity key's final path element may be incomplete.
255
+ # @!attribute [rw] delete
256
+ # @return [::Google::Cloud::Datastore::V1::Key]
257
+ # The key of the entity to delete. The entity may or may not already exist.
258
+ # Must have a complete key path and must not be reserved/read-only.
259
+ # @!attribute [rw] base_version
260
+ # @return [::Integer]
261
+ # The version of the entity that this mutation is being applied to. If this
262
+ # does not match the current version on the server, the mutation conflicts.
263
+ class Mutation
264
+ include ::Google::Protobuf::MessageExts
265
+ extend ::Google::Protobuf::MessageExts::ClassMethods
266
+ end
267
+
268
+ # The result of applying a mutation.
269
+ # @!attribute [rw] key
270
+ # @return [::Google::Cloud::Datastore::V1::Key]
271
+ # The automatically allocated key.
272
+ # Set only when the mutation allocated a key.
273
+ # @!attribute [rw] version
274
+ # @return [::Integer]
275
+ # The version of the entity on the server after processing the mutation. If
276
+ # the mutation doesn't change anything on the server, then the version will
277
+ # be the version of the current entity or, if no entity is present, a version
278
+ # that is strictly greater than the version of any previous entity and less
279
+ # than the version of any possible future entity.
280
+ # @!attribute [rw] conflict_detected
281
+ # @return [::Boolean]
282
+ # Whether a conflict was detected for this mutation. Always false when a
283
+ # conflict detection strategy field is not set in the mutation.
284
+ class MutationResult
285
+ include ::Google::Protobuf::MessageExts
286
+ extend ::Google::Protobuf::MessageExts::ClassMethods
287
+ end
288
+
289
+ # The options shared by read requests.
290
+ # @!attribute [rw] read_consistency
291
+ # @return [::Google::Cloud::Datastore::V1::ReadOptions::ReadConsistency]
292
+ # The non-transactional read consistency to use.
293
+ # Cannot be set to `STRONG` for global queries.
294
+ # @!attribute [rw] transaction
295
+ # @return [::String]
296
+ # The identifier of the transaction in which to read. A
297
+ # transaction identifier is returned by a call to
298
+ # {::Google::Cloud::Datastore::V1::Datastore::Client#begin_transaction Datastore.BeginTransaction}.
299
+ class ReadOptions
300
+ include ::Google::Protobuf::MessageExts
301
+ extend ::Google::Protobuf::MessageExts::ClassMethods
302
+
303
+ # The possible values for read consistencies.
304
+ module ReadConsistency
305
+ # Unspecified. This value must not be used.
306
+ READ_CONSISTENCY_UNSPECIFIED = 0
307
+
308
+ # Strong consistency.
309
+ STRONG = 1
310
+
311
+ # Eventual consistency.
312
+ EVENTUAL = 2
313
+ end
314
+ end
315
+
316
+ # Options for beginning a new transaction.
317
+ #
318
+ # Transactions can be created explicitly with calls to
319
+ # {::Google::Cloud::Datastore::V1::Datastore::Client#begin_transaction Datastore.BeginTransaction} or implicitly by setting
320
+ # [ReadOptions.new_transaction][google.datastore.v1.ReadOptions.new_transaction] in read requests.
321
+ # @!attribute [rw] read_write
322
+ # @return [::Google::Cloud::Datastore::V1::TransactionOptions::ReadWrite]
323
+ # The transaction should allow both reads and writes.
324
+ # @!attribute [rw] read_only
325
+ # @return [::Google::Cloud::Datastore::V1::TransactionOptions::ReadOnly]
326
+ # The transaction should only allow reads.
327
+ class TransactionOptions
328
+ include ::Google::Protobuf::MessageExts
329
+ extend ::Google::Protobuf::MessageExts::ClassMethods
330
+
331
+ # Options specific to read / write transactions.
332
+ # @!attribute [rw] previous_transaction
333
+ # @return [::String]
334
+ # The transaction identifier of the transaction being retried.
335
+ class ReadWrite
336
+ include ::Google::Protobuf::MessageExts
337
+ extend ::Google::Protobuf::MessageExts::ClassMethods
338
+ end
339
+
340
+ # Options specific to read-only transactions.
341
+ class ReadOnly
342
+ include ::Google::Protobuf::MessageExts
343
+ extend ::Google::Protobuf::MessageExts::ClassMethods
344
+ end
345
+ end
346
+ end
347
+ end
348
+ end
349
+ end