google-cloud-firestore 0.25.0 → 0.25.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/AUTHENTICATION.md +33 -12
- data/CHANGELOG.md +8 -1
- data/lib/google/cloud/firestore/client.rb +4 -4
- data/lib/google/cloud/firestore/collection_reference.rb +1 -1
- data/lib/google/cloud/firestore/document_reference.rb +3 -3
- data/lib/google/cloud/firestore/field_path.rb +5 -4
- data/lib/google/cloud/firestore/generate.rb +1 -1
- data/lib/google/cloud/firestore/query.rb +6 -6
- data/lib/google/cloud/firestore/transaction.rb +5 -5
- data/lib/google/cloud/firestore/v1.rb +1 -1
- data/lib/google/cloud/firestore/v1/doc/google/firestore/v1/query.rb +5 -5
- data/lib/google/cloud/firestore/v1/doc/google/firestore/v1/write.rb +1 -1
- data/lib/google/cloud/firestore/v1/doc/google/protobuf/any.rb +2 -1
- data/lib/google/cloud/firestore/v1/doc/google/protobuf/timestamp.rb +15 -13
- data/lib/google/cloud/firestore/v1/doc/google/rpc/status.rb +17 -14
- data/lib/google/cloud/firestore/v1/firestore_client.rb +60 -33
- data/lib/google/cloud/firestore/v1beta1/doc/google/firestore/v1beta1/query.rb +9 -9
- data/lib/google/cloud/firestore/v1beta1/doc/google/firestore/v1beta1/write.rb +1 -1
- data/lib/google/cloud/firestore/v1beta1/doc/google/protobuf/any.rb +2 -1
- data/lib/google/cloud/firestore/v1beta1/doc/google/protobuf/timestamp.rb +15 -13
- data/lib/google/cloud/firestore/v1beta1/doc/google/rpc/status.rb +17 -14
- data/lib/google/cloud/firestore/v1beta1/firestore_client.rb +60 -33
- data/lib/google/cloud/firestore/version.rb +1 -1
- data/lib/google/cloud/firestore/watch/enumerator_queue.rb +1 -1
- data/lib/google/cloud/firestore/watch/order.rb +2 -2
- data/lib/google/firestore/v1/common_pb.rb +1 -1
- data/lib/google/firestore/v1/document_pb.rb +1 -1
- data/lib/google/firestore/v1/firestore_services_pb.rb +1 -1
- data/lib/google/firestore/v1/query_pb.rb +5 -5
- data/lib/google/firestore/v1/write_pb.rb +1 -1
- data/lib/google/firestore/v1beta1/common_pb.rb +1 -1
- data/lib/google/firestore/v1beta1/document_pb.rb +1 -1
- data/lib/google/firestore/v1beta1/firestore_services_pb.rb +1 -1
- data/lib/google/firestore/v1beta1/query_pb.rb +5 -5
- data/lib/google/firestore/v1beta1/write_pb.rb +1 -1
- metadata +5 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 827e034858a868b3f10ad1aa997efd49ae602d56a57d16cbc12fa57cd6d69f1c
|
4
|
+
data.tar.gz: 3a7e878306128346310111ec5c99ca008b48cb030c44096f7a86c1d9b99da6fc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2bee3a7931f0dedec0666925e3e8e1485cd9c2865cc6a2d5909dba2121a15590f4282baa61190829d888610e289c33ef3d60421a19378cdd1019773a9d9bce86
|
7
|
+
data.tar.gz: afad9e59107345669f0918e6f28faf2fd5baefc01e445111e9e01abb6d19278e10789a7cff21930125f6229a5e03886c32bf63b8a8e17d70e1ac70b58917400c
|
data/AUTHENTICATION.md
CHANGED
@@ -2,20 +2,39 @@
|
|
2
2
|
|
3
3
|
In general, the google-cloud-firestore library uses [Service
|
4
4
|
Account](https://cloud.google.com/iam/docs/creating-managing-service-accounts)
|
5
|
-
credentials to connect to Google Cloud services. When running
|
5
|
+
credentials to connect to Google Cloud services. When running within [Google
|
6
|
+
Cloud Platform environments](#google-cloud-platform-environments)
|
6
7
|
the credentials will be discovered automatically. When running on other
|
7
8
|
environments, the Service Account credentials can be specified by providing the
|
8
9
|
path to the [JSON
|
9
10
|
keyfile](https://cloud.google.com/iam/docs/managing-service-account-keys) for
|
10
|
-
the account (or the JSON itself) in environment
|
11
|
-
SDK credentials can also
|
12
|
-
recommended during development.
|
11
|
+
the account (or the JSON itself) in [environment
|
12
|
+
variables](#environment-variables). Additionally, Cloud SDK credentials can also
|
13
|
+
be discovered automatically, but this is only recommended during development.
|
14
|
+
|
15
|
+
## Quickstart
|
16
|
+
|
17
|
+
1. [Create a service account and credentials](#creating-a-service-account).
|
18
|
+
2. Set the [environment variable](#environment-variables).
|
19
|
+
|
20
|
+
```sh
|
21
|
+
export FIRESTORE_CREDENTIALS=/path/to/json`
|
22
|
+
```
|
23
|
+
|
24
|
+
3. Initialize the client.
|
25
|
+
|
26
|
+
```ruby
|
27
|
+
require "google/cloud/firestore"
|
28
|
+
|
29
|
+
client = Google::Cloud::Firestore.new
|
30
|
+
```
|
13
31
|
|
14
32
|
## Project and Credential Lookup
|
15
33
|
|
16
|
-
The google-cloud-firestore library aims to make authentication
|
17
|
-
possible, and provides several mechanisms to configure your system
|
18
|
-
providing **Project ID** and **Service Account Credentials** directly in
|
34
|
+
The google-cloud-firestore library aims to make authentication
|
35
|
+
as simple as possible, and provides several mechanisms to configure your system
|
36
|
+
without providing **Project ID** and **Service Account Credentials** directly in
|
37
|
+
code.
|
19
38
|
|
20
39
|
**Project ID** is discovered in the following order:
|
21
40
|
|
@@ -23,6 +42,7 @@ providing **Project ID** and **Service Account Credentials** directly in code.
|
|
23
42
|
2. Specify project ID in configuration
|
24
43
|
3. Discover project ID in environment variables
|
25
44
|
4. Discover GCE project ID
|
45
|
+
5. Discover project ID in credentials JSON
|
26
46
|
|
27
47
|
**Credentials** are discovered in the following order:
|
28
48
|
|
@@ -73,12 +93,12 @@ environment variable, or the **Credentials JSON** itself can be stored for
|
|
73
93
|
environments such as Docker containers where writing files is difficult or not
|
74
94
|
encouraged.
|
75
95
|
|
76
|
-
The environment variables that
|
96
|
+
The environment variables that google-cloud-firestore checks for project ID are:
|
77
97
|
|
78
98
|
1. `FIRESTORE_PROJECT`
|
79
99
|
2. `GOOGLE_CLOUD_PROJECT`
|
80
100
|
|
81
|
-
The environment variables that
|
101
|
+
The environment variables that google-cloud-firestore checks for credentials are configured on {Google::Cloud::Firestore::V1::Credentials}:
|
82
102
|
|
83
103
|
1. `FIRESTORE_CREDENTIALS` - Path to JSON file, or JSON contents
|
84
104
|
2. `FIRESTORE_KEYFILE` - Path to JSON file, or JSON contents
|
@@ -92,7 +112,7 @@ require "google/cloud/firestore"
|
|
92
112
|
ENV["FIRESTORE_PROJECT"] = "my-project-id"
|
93
113
|
ENV["FIRESTORE_CREDENTIALS"] = "path/to/keyfile.json"
|
94
114
|
|
95
|
-
|
115
|
+
client = Google::Cloud::Firestore.new
|
96
116
|
```
|
97
117
|
|
98
118
|
### Configuration
|
@@ -107,7 +127,7 @@ Google::Cloud::Firestore.configure do |config|
|
|
107
127
|
config.credentials = "path/to/keyfile.json"
|
108
128
|
end
|
109
129
|
|
110
|
-
|
130
|
+
client = Google::Cloud::Firestore.new
|
111
131
|
```
|
112
132
|
|
113
133
|
### Cloud SDK
|
@@ -140,7 +160,8 @@ Google Cloud requires a **Project ID** and **Service Account Credentials** to
|
|
140
160
|
connect to the APIs. You will use the **Project ID** and **JSON key file** to
|
141
161
|
connect to most services with google-cloud-firestore.
|
142
162
|
|
143
|
-
If you are not running this client
|
163
|
+
If you are not running this client within [Google Cloud Platform
|
164
|
+
environments](#google-cloud-platform-environments), you need a Google
|
144
165
|
Developers service account.
|
145
166
|
|
146
167
|
1. Visit the [Google Developers Console][dev-console].
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# Release History
|
2
2
|
|
3
|
+
### 0.25.1 / 2019-04-29
|
4
|
+
|
5
|
+
* Add AUTHENTICATION.md guide.
|
6
|
+
* Update documentation for V1 Server API to GA.
|
7
|
+
* Update generated documentation.
|
8
|
+
* Extract gRPC header values from request.
|
9
|
+
|
3
10
|
### 0.25.0 / 2019-02-01
|
4
11
|
|
5
12
|
* Switch Firestore to use the V1 API:
|
@@ -22,7 +29,7 @@
|
|
22
29
|
This value was added in googleauth 0.7.0.
|
23
30
|
* Loosen googleauth dependency
|
24
31
|
Allow for new releases up to 0.10.
|
25
|
-
The googleauth devs have committed to
|
32
|
+
The googleauth devs have committed to maintaining the current API
|
26
33
|
and will not make backwards compatible changes before 0.10.
|
27
34
|
* Add Firestore emulator support.
|
28
35
|
|
@@ -102,10 +102,10 @@ module Google
|
|
102
102
|
def cols
|
103
103
|
ensure_service!
|
104
104
|
|
105
|
-
return enum_for
|
105
|
+
return enum_for :cols unless block_given?
|
106
106
|
|
107
107
|
collection_ids = service.list_collections "#{path}/documents"
|
108
|
-
collection_ids.each { |collection_id| yield col
|
108
|
+
collection_ids.each { |collection_id| yield col collection_id }
|
109
109
|
end
|
110
110
|
alias collections cols
|
111
111
|
alias list_collections cols
|
@@ -217,7 +217,7 @@ module Google
|
|
217
217
|
ensure_service!
|
218
218
|
|
219
219
|
unless block_given?
|
220
|
-
return enum_for
|
220
|
+
return enum_for :get_all, docs, field_mask: field_mask
|
221
221
|
end
|
222
222
|
|
223
223
|
doc_paths = Array(docs).flatten.map do |doc_path|
|
@@ -235,7 +235,7 @@ module Google
|
|
235
235
|
results = service.get_documents doc_paths, mask: mask
|
236
236
|
results.each do |result|
|
237
237
|
next if result.result.nil?
|
238
|
-
yield DocumentSnapshot.from_batch_result
|
238
|
+
yield DocumentSnapshot.from_batch_result result, self
|
239
239
|
end
|
240
240
|
end
|
241
241
|
alias get_docs get_all
|
@@ -91,10 +91,10 @@ module Google
|
|
91
91
|
def cols
|
92
92
|
ensure_service!
|
93
93
|
|
94
|
-
return enum_for
|
94
|
+
return enum_for :cols unless block_given?
|
95
95
|
|
96
96
|
collection_ids = service.list_collections path
|
97
|
-
collection_ids.each { |collection_id| yield col
|
97
|
+
collection_ids.each { |collection_id| yield col collection_id }
|
98
98
|
end
|
99
99
|
alias collections cols
|
100
100
|
alias list_collections cols
|
@@ -473,7 +473,7 @@ module Google
|
|
473
473
|
##
|
474
474
|
# @private
|
475
475
|
def parent_path
|
476
|
-
path.split("/")[0...-1].join
|
476
|
+
path.split("/")[0...-1].join "/"
|
477
477
|
end
|
478
478
|
|
479
479
|
##
|
@@ -110,7 +110,7 @@ module Google
|
|
110
110
|
#
|
111
111
|
def formatted_string
|
112
112
|
escaped_fields = @fields.map { |field| escape_field_for_path field }
|
113
|
-
escaped_fields.join
|
113
|
+
escaped_fields.join "."
|
114
114
|
end
|
115
115
|
|
116
116
|
##
|
@@ -175,16 +175,17 @@ module Google
|
|
175
175
|
end
|
176
176
|
|
177
177
|
if dotted_string.is_a? Array
|
178
|
-
|
178
|
+
@memoized_field_paths[dotted_string] = new dotted_string
|
179
|
+
return @memoized_field_paths[dotted_string]
|
179
180
|
end
|
180
181
|
|
181
|
-
fields = String(dotted_string).split
|
182
|
+
fields = String(dotted_string).split "."
|
182
183
|
|
183
184
|
if fields.grep(INVALID_FIELD_PATH_CHARS).any?
|
184
185
|
raise ArgumentError, "invalid character, use FieldPath instead"
|
185
186
|
end
|
186
187
|
|
187
|
-
@memoized_field_paths[dotted_string] = new
|
188
|
+
@memoized_field_paths[dotted_string] = new fields
|
188
189
|
end
|
189
190
|
|
190
191
|
##
|
@@ -378,7 +378,7 @@ module Google
|
|
378
378
|
new_query = @query.dup
|
379
379
|
new_query ||= StructuredQuery.new
|
380
380
|
|
381
|
-
new_query.limit = Google::Protobuf::Int32Value.new
|
381
|
+
new_query.limit = Google::Protobuf::Int32Value.new value: num
|
382
382
|
|
383
383
|
Query.start new_query, parent_path, client
|
384
384
|
end
|
@@ -825,12 +825,12 @@ module Google
|
|
825
825
|
def get
|
826
826
|
ensure_service!
|
827
827
|
|
828
|
-
return enum_for
|
828
|
+
return enum_for :get unless block_given?
|
829
829
|
|
830
830
|
results = service.run_query parent_path, @query
|
831
831
|
results.each do |result|
|
832
832
|
next if result.document.nil?
|
833
|
-
yield DocumentSnapshot.from_query_result
|
833
|
+
yield DocumentSnapshot.from_query_result result, client
|
834
834
|
end
|
835
835
|
end
|
836
836
|
alias run get
|
@@ -923,13 +923,13 @@ module Google
|
|
923
923
|
].freeze
|
924
924
|
|
925
925
|
def value_nil? value
|
926
|
-
[nil, :null, :nil].include?
|
926
|
+
[nil, :null, :nil].include? value
|
927
927
|
end
|
928
928
|
|
929
929
|
def value_nan? value
|
930
930
|
# Comparing NaN values raises, so check for #nan? first.
|
931
931
|
return true if value.respond_to?(:nan?) && value.nan?
|
932
|
-
[:nan].include?
|
932
|
+
[:nan].include? value
|
933
933
|
end
|
934
934
|
|
935
935
|
def value_unary? value
|
@@ -994,7 +994,7 @@ module Google
|
|
994
994
|
|
995
995
|
def values_to_cursor values, query
|
996
996
|
if values.count == 1 && values.first.is_a?(DocumentSnapshot)
|
997
|
-
return snapshot_to_cursor
|
997
|
+
return snapshot_to_cursor values.first, query
|
998
998
|
end
|
999
999
|
|
1000
1000
|
# pair values with their field_paths to ensure correct formatting
|
@@ -131,7 +131,7 @@ module Google
|
|
131
131
|
ensure_service!
|
132
132
|
|
133
133
|
unless block_given?
|
134
|
-
return enum_for
|
134
|
+
return enum_for :get_all, docs, field_mask: field_mask
|
135
135
|
end
|
136
136
|
|
137
137
|
doc_paths = Array(docs).flatten.map do |doc_path|
|
@@ -151,7 +151,7 @@ module Google
|
|
151
151
|
results.each do |result|
|
152
152
|
extract_transaction_from_result! result
|
153
153
|
next if result.result.nil?
|
154
|
-
yield DocumentSnapshot.from_batch_result
|
154
|
+
yield DocumentSnapshot.from_batch_result result, client
|
155
155
|
end
|
156
156
|
end
|
157
157
|
alias get_docs get_all
|
@@ -251,20 +251,20 @@ module Google
|
|
251
251
|
|
252
252
|
obj = coalesce_get_argument obj
|
253
253
|
|
254
|
-
if obj.is_a?
|
254
|
+
if obj.is_a? DocumentReference
|
255
255
|
doc = get_all([obj]).first
|
256
256
|
yield doc if block_given?
|
257
257
|
return doc
|
258
258
|
end
|
259
259
|
|
260
|
-
return enum_for
|
260
|
+
return enum_for :get, obj unless block_given?
|
261
261
|
|
262
262
|
results = service.run_query obj.parent_path, obj.query,
|
263
263
|
transaction: transaction_or_create
|
264
264
|
results.each do |result|
|
265
265
|
extract_transaction_from_result! result
|
266
266
|
next if result.document.nil?
|
267
|
-
yield DocumentSnapshot.from_query_result
|
267
|
+
yield DocumentSnapshot.from_query_result result, client
|
268
268
|
end
|
269
269
|
end
|
270
270
|
alias run get
|
@@ -21,7 +21,7 @@ module Google
|
|
21
21
|
# rubocop:disable LineLength
|
22
22
|
|
23
23
|
##
|
24
|
-
# # Ruby Client for Google Cloud Firestore API ([
|
24
|
+
# # Ruby Client for Google Cloud Firestore API ([GA](https://github.com/googleapis/google-cloud-ruby#versioning))
|
25
25
|
#
|
26
26
|
# [Google Cloud Firestore API][Product Documentation]:
|
27
27
|
#
|
@@ -166,6 +166,11 @@ module Google
|
|
166
166
|
end
|
167
167
|
end
|
168
168
|
|
169
|
+
# A reference to a field, such as `max(messages.time) as max_time`.
|
170
|
+
# @!attribute [rw] field_path
|
171
|
+
# @return [String]
|
172
|
+
class FieldReference; end
|
173
|
+
|
169
174
|
# An order on a field.
|
170
175
|
# @!attribute [rw] field
|
171
176
|
# @return [Google::Firestore::V1::StructuredQuery::FieldReference]
|
@@ -175,11 +180,6 @@ module Google
|
|
175
180
|
# The direction to order by. Defaults to `ASCENDING`.
|
176
181
|
class Order; end
|
177
182
|
|
178
|
-
# A reference to a field, such as `max(messages.time) as max_time`.
|
179
|
-
# @!attribute [rw] field_path
|
180
|
-
# @return [String]
|
181
|
-
class FieldReference; end
|
182
|
-
|
183
183
|
# The projection of document's fields to return.
|
184
184
|
# @!attribute [rw] fields
|
185
185
|
# @return [Array<Google::Firestore::V1::StructuredQuery::FieldReference>]
|
@@ -26,7 +26,7 @@ module Google
|
|
26
26
|
# `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
|
27
27
|
# @!attribute [rw] transform
|
28
28
|
# @return [Google::Firestore::V1::DocumentTransform]
|
29
|
-
# Applies a
|
29
|
+
# Applies a transformation to a document.
|
30
30
|
# At most one `transform` per document is allowed in a given request.
|
31
31
|
# An `update` cannot follow a `transform` on the same document in a given
|
32
32
|
# request.
|
@@ -97,7 +97,8 @@ module Google
|
|
97
97
|
# @!attribute [rw] type_url
|
98
98
|
# @return [String]
|
99
99
|
# A URL/resource name that uniquely identifies the type of the serialized
|
100
|
-
# protocol buffer message.
|
100
|
+
# protocol buffer message. This string must contain at least
|
101
|
+
# one "/" character. The last segment of the URL's path must represent
|
101
102
|
# the fully qualified name of the type (as in
|
102
103
|
# `path/google.protobuf.Duration`). The name should be in a canonical form
|
103
104
|
# (e.g., leading "." is not accepted).
|
@@ -15,17 +15,19 @@
|
|
15
15
|
|
16
16
|
module Google
|
17
17
|
module Protobuf
|
18
|
-
# A Timestamp represents a point in time independent of any time zone
|
19
|
-
#
|
20
|
-
# nanosecond resolution
|
21
|
-
#
|
22
|
-
# backwards to year one.
|
23
|
-
#
|
24
|
-
#
|
25
|
-
#
|
26
|
-
#
|
27
|
-
#
|
28
|
-
#
|
18
|
+
# A Timestamp represents a point in time independent of any time zone or local
|
19
|
+
# calendar, encoded as a count of seconds and fractions of seconds at
|
20
|
+
# nanosecond resolution. The count is relative to an epoch at UTC midnight on
|
21
|
+
# January 1, 1970, in the proleptic Gregorian calendar which extends the
|
22
|
+
# Gregorian calendar backwards to year one.
|
23
|
+
#
|
24
|
+
# All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
|
25
|
+
# second table is needed for interpretation, using a [24-hour linear
|
26
|
+
# smear](https://developers.google.com/time/smear).
|
27
|
+
#
|
28
|
+
# The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
|
29
|
+
# restricting to that range, we ensure that we can convert to and from [RFC
|
30
|
+
# 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
|
29
31
|
#
|
30
32
|
# = Examples
|
31
33
|
#
|
@@ -86,12 +88,12 @@ module Google
|
|
86
88
|
# 01:30 UTC on January 15, 2017.
|
87
89
|
#
|
88
90
|
# In JavaScript, one can convert a Date object to this format using the
|
89
|
-
# standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
|
91
|
+
# standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
|
90
92
|
# method. In Python, a standard `datetime.datetime` object can be converted
|
91
93
|
# to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime)
|
92
94
|
# with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one
|
93
95
|
# can use the Joda Time's [`ISODateTimeFormat.dateTime()`](
|
94
|
-
# http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime
|
96
|
+
# http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D
|
95
97
|
# ) to obtain a formatter capable of generating timestamps in this format.
|
96
98
|
# @!attribute [rw] seconds
|
97
99
|
# @return [Integer]
|
@@ -15,24 +15,25 @@
|
|
15
15
|
|
16
16
|
module Google
|
17
17
|
module Rpc
|
18
|
-
# The `Status` type defines a logical error model that is suitable for
|
19
|
-
# programming environments, including REST APIs and RPC APIs. It is
|
20
|
-
# [gRPC](https://github.com/grpc). The error model is designed to be:
|
18
|
+
# The `Status` type defines a logical error model that is suitable for
|
19
|
+
# different programming environments, including REST APIs and RPC APIs. It is
|
20
|
+
# used by [gRPC](https://github.com/grpc). The error model is designed to be:
|
21
21
|
#
|
22
22
|
# * Simple to use and understand for most users
|
23
23
|
# * Flexible enough to meet unexpected needs
|
24
24
|
#
|
25
25
|
# = Overview
|
26
26
|
#
|
27
|
-
# The `Status` message contains three pieces of data: error code, error
|
28
|
-
# and error details. The error code should be an enum value of
|
29
|
-
# {Google::Rpc::Code}, but it may accept additional error codes
|
30
|
-
# error message should be a developer-facing English message
|
31
|
-
# developers *understand* and *resolve* the error. If a localized
|
32
|
-
# error message is needed, put the localized message in the error
|
33
|
-
# localize it in the client. The optional error details may contain
|
34
|
-
# information about the error. There is a predefined set of error
|
35
|
-
# in the package `google.rpc` that can be used for common error
|
27
|
+
# The `Status` message contains three pieces of data: error code, error
|
28
|
+
# message, and error details. The error code should be an enum value of
|
29
|
+
# {Google::Rpc::Code}, but it may accept additional error codes
|
30
|
+
# if needed. The error message should be a developer-facing English message
|
31
|
+
# that helps developers *understand* and *resolve* the error. If a localized
|
32
|
+
# user-facing error message is needed, put the localized message in the error
|
33
|
+
# details or localize it in the client. The optional error details may contain
|
34
|
+
# arbitrary information about the error. There is a predefined set of error
|
35
|
+
# detail types in the package `google.rpc` that can be used for common error
|
36
|
+
# conditions.
|
36
37
|
#
|
37
38
|
# = Language mapping
|
38
39
|
#
|
@@ -69,12 +70,14 @@ module Google
|
|
69
70
|
# be used directly after any stripping needed for security/privacy reasons.
|
70
71
|
# @!attribute [rw] code
|
71
72
|
# @return [Integer]
|
72
|
-
# The status code, which should be an enum value of
|
73
|
+
# The status code, which should be an enum value of
|
74
|
+
# {Google::Rpc::Code}.
|
73
75
|
# @!attribute [rw] message
|
74
76
|
# @return [String]
|
75
77
|
# A developer-facing error message, which should be in English. Any
|
76
78
|
# user-facing error message should be localized and sent in the
|
77
|
-
# {Google::Rpc::Status#details} field, or localized
|
79
|
+
# {Google::Rpc::Status#details} field, or localized
|
80
|
+
# by the client.
|
78
81
|
# @!attribute [rw] details
|
79
82
|
# @return [Array<Google::Protobuf::Any>]
|
80
83
|
# A list of messages that carry the error details. There is a common set of
|