google-cloud-bigtable 0.6.2 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/AUTHENTICATION.md +4 -26
- data/CHANGELOG.md +85 -0
- data/CONTRIBUTING.md +1 -1
- data/OVERVIEW.md +388 -19
- data/lib/google-cloud-bigtable.rb +19 -22
- data/lib/google/bigtable/admin/v2/bigtable_table_admin_services_pb.rb +1 -1
- data/lib/google/bigtable/v2/bigtable_pb.rb +3 -0
- data/lib/google/bigtable/v2/bigtable_services_pb.rb +1 -1
- data/lib/google/cloud/bigtable.rb +11 -17
- data/lib/google/cloud/bigtable/admin.rb +2 -2
- data/lib/google/cloud/bigtable/admin/v2.rb +2 -2
- data/lib/google/cloud/bigtable/admin/v2/bigtable_instance_admin_client.rb +1 -1
- data/lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb +2 -2
- data/lib/google/cloud/bigtable/admin/v2/credentials.rb +1 -1
- data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/bigtable_instance_admin.rb +1 -1
- data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/bigtable_table_admin.rb +1 -1
- data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/instance.rb +1 -1
- data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/table.rb +1 -1
- data/lib/google/cloud/bigtable/admin/v2/doc/google/iam/v1/iam_policy.rb +1 -1
- data/lib/google/cloud/bigtable/admin/v2/doc/google/iam/v1/options.rb +1 -1
- data/lib/google/cloud/bigtable/admin/v2/doc/google/iam/v1/policy.rb +7 -6
- data/lib/google/cloud/bigtable/admin/v2/doc/google/longrunning/operations.rb +2 -2
- data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/any.rb +1 -1
- data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/duration.rb +1 -1
- data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/empty.rb +1 -1
- data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/field_mask.rb +1 -1
- data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/timestamp.rb +1 -1
- data/lib/google/cloud/bigtable/admin/v2/doc/google/rpc/status.rb +7 -55
- data/lib/google/cloud/bigtable/admin/v2/doc/google/type/expr.rb +1 -1
- data/lib/google/cloud/bigtable/app_profile.rb +162 -96
- data/lib/google/cloud/bigtable/app_profile/job.rb +5 -8
- data/lib/google/cloud/bigtable/app_profile/list.rb +18 -12
- data/lib/google/cloud/bigtable/chunk_processor.rb +24 -36
- data/lib/google/cloud/bigtable/cluster.rb +45 -18
- data/lib/google/cloud/bigtable/cluster/job.rb +3 -7
- data/lib/google/cloud/bigtable/cluster/list.rb +22 -20
- data/lib/google/cloud/bigtable/column_family.rb +18 -231
- data/lib/google/cloud/bigtable/column_family_map.rb +426 -0
- data/lib/google/cloud/bigtable/column_range.rb +15 -7
- data/lib/google/cloud/bigtable/convert.rb +12 -4
- data/lib/google/cloud/bigtable/errors.rb +4 -1
- data/lib/google/cloud/bigtable/gc_rule.rb +188 -69
- data/lib/google/cloud/bigtable/instance.rb +209 -189
- data/lib/google/cloud/bigtable/instance/cluster_map.rb +17 -13
- data/lib/google/cloud/bigtable/instance/job.rb +6 -5
- data/lib/google/cloud/bigtable/instance/list.rb +18 -13
- data/lib/google/cloud/bigtable/longrunning_job.rb +7 -1
- data/lib/google/cloud/bigtable/mutation_entry.rb +36 -39
- data/lib/google/cloud/bigtable/mutation_operations.rb +90 -73
- data/lib/google/cloud/bigtable/policy.rb +9 -5
- data/lib/google/cloud/bigtable/project.rb +87 -196
- data/lib/google/cloud/bigtable/read_modify_write_rule.rb +15 -10
- data/lib/google/cloud/bigtable/read_operations.rb +42 -59
- data/lib/google/cloud/bigtable/routing_policy.rb +172 -0
- data/lib/google/cloud/bigtable/row.rb +32 -21
- data/lib/google/cloud/bigtable/row_filter.rb +80 -35
- data/lib/google/cloud/bigtable/row_filter/chain_filter.rb +119 -68
- data/lib/google/cloud/bigtable/row_filter/condition_filter.rb +8 -2
- data/lib/google/cloud/bigtable/row_filter/interleave_filter.rb +117 -66
- data/lib/google/cloud/bigtable/row_filter/simple_filter.rb +24 -9
- data/lib/google/cloud/bigtable/row_range.rb +5 -0
- data/lib/google/cloud/bigtable/rows_mutator.rb +14 -21
- data/lib/google/cloud/bigtable/rows_reader.rb +23 -18
- data/lib/google/cloud/bigtable/sample_row_key.rb +6 -3
- data/lib/google/cloud/bigtable/service.rb +200 -253
- data/lib/google/cloud/bigtable/status.rb +76 -0
- data/lib/google/cloud/bigtable/table.rb +158 -262
- data/lib/google/cloud/bigtable/table/cluster_state.rb +17 -6
- data/lib/google/cloud/bigtable/table/list.rb +16 -9
- data/lib/google/cloud/bigtable/v2.rb +2 -2
- data/lib/google/cloud/bigtable/v2/bigtable_client.rb +13 -13
- data/lib/google/cloud/bigtable/v2/credentials.rb +1 -1
- data/lib/google/cloud/bigtable/v2/doc/google/bigtable/v2/bigtable.rb +17 -14
- data/lib/google/cloud/bigtable/v2/doc/google/bigtable/v2/data.rb +1 -1
- data/lib/google/cloud/bigtable/v2/doc/google/protobuf/any.rb +1 -1
- data/lib/google/cloud/bigtable/v2/doc/google/protobuf/wrappers.rb +1 -1
- data/lib/google/cloud/bigtable/v2/doc/google/rpc/status.rb +7 -55
- data/lib/google/cloud/bigtable/value_range.rb +19 -13
- data/lib/google/cloud/bigtable/version.rb +1 -1
- metadata +67 -25
- data/lib/google/cloud/bigtable/table/column_family_map.rb +0 -70
@@ -26,6 +26,7 @@ require "google/cloud/config"
|
|
26
26
|
|
27
27
|
module Google
|
28
28
|
module Cloud
|
29
|
+
##
|
29
30
|
# Creates a new object for connecting to the Cloud Bigtable service.
|
30
31
|
#
|
31
32
|
# For more information on connecting to Google Cloud Platform, see the
|
@@ -39,7 +40,8 @@ module Google
|
|
39
40
|
# updater_proc is supplied.
|
40
41
|
# @param timeout [Integer]
|
41
42
|
# The default timeout, in seconds, for calls made through this client.
|
42
|
-
# @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel,
|
43
|
+
# @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel,
|
44
|
+
# GRPC::Core::ChannelCredentials, Proc]
|
43
45
|
# Provides the means for authenticating requests made by the client. This parameter can
|
44
46
|
# be one of the following types.
|
45
47
|
# `Google::Auth::Credentials` uses the properties of its represented keyfile for
|
@@ -61,23 +63,23 @@ module Google
|
|
61
63
|
# @return [Google::Cloud::Bigtable::Project]
|
62
64
|
#
|
63
65
|
# @example
|
64
|
-
# require "google/cloud"
|
66
|
+
# require "google/cloud/bigtable"
|
65
67
|
#
|
66
68
|
# gcloud = Google::Cloud.new
|
67
69
|
#
|
68
70
|
# bigtable = gcloud.bigtable
|
69
71
|
#
|
70
|
-
|
71
72
|
def bigtable scope: nil, timeout: nil, credentials: nil, client_config: nil
|
72
73
|
Google::Cloud.bigtable(
|
73
|
-
project_id:
|
74
|
-
credentials:
|
75
|
-
scope:
|
76
|
-
timeout:
|
74
|
+
project_id: @project,
|
75
|
+
credentials: (credentials || @keyfile),
|
76
|
+
scope: scope,
|
77
|
+
timeout: (timeout || @timeout),
|
77
78
|
client_config: client_config
|
78
79
|
)
|
79
80
|
end
|
80
81
|
|
82
|
+
##
|
81
83
|
# Creates a Cloud Bigtable client instance for data, table admin and instance admin
|
82
84
|
# operations.
|
83
85
|
#
|
@@ -85,7 +87,8 @@ module Google
|
|
85
87
|
# Project identifier for the Bigtable service you
|
86
88
|
# are connecting to. If not present, the default project for the
|
87
89
|
# credentials is used.
|
88
|
-
# @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel,
|
90
|
+
# @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel,
|
91
|
+
# GRPC::Core::ChannelCredentials, Proc]
|
89
92
|
# The means for authenticating requests made by the client. This parameter can
|
90
93
|
# be one of the following types.
|
91
94
|
# `Google::Auth::Credentials` uses the properties of its represented keyfile for
|
@@ -99,7 +102,6 @@ module Google
|
|
99
102
|
# should already be composed with a `GRPC::Core::CallCredentials` object.
|
100
103
|
# `Proc` will be used as an updater_proc for the gRPC channel. The proc transforms the
|
101
104
|
# metadata for requests, generally, to give OAuth credentials.
|
102
|
-
# @param timeout [Integer]
|
103
105
|
# @param scope [Array<String>]
|
104
106
|
# The OAuth 2.0 scopes controlling the set of resources and operations
|
105
107
|
# that the connection can access. See [Using OAuth 2.0 to Access Google
|
@@ -116,22 +118,17 @@ module Google
|
|
116
118
|
# @return [Google::Cloud::Bigtable::Project]
|
117
119
|
#
|
118
120
|
# @example
|
119
|
-
# require "google/cloud"
|
121
|
+
# require "google/cloud/bigtable"
|
120
122
|
#
|
121
123
|
# bigtable = Google::Cloud.bigtable
|
122
|
-
|
123
|
-
def self.bigtable
|
124
|
-
project_id: nil,
|
125
|
-
credentials: nil,
|
126
|
-
scope: nil,
|
127
|
-
timeout: nil,
|
128
|
-
client_config: nil
|
124
|
+
#
|
125
|
+
def self.bigtable project_id: nil, credentials: nil, scope: nil, timeout: nil, client_config: nil
|
129
126
|
require "google/cloud/bigtable"
|
130
127
|
Google::Cloud::Bigtable.new(
|
131
|
-
project_id:
|
132
|
-
credentials:
|
133
|
-
scope:
|
134
|
-
timeout:
|
128
|
+
project_id: project_id,
|
129
|
+
credentials: credentials,
|
130
|
+
scope: scope,
|
131
|
+
timeout: timeout,
|
135
132
|
client_config: client_config
|
136
133
|
)
|
137
134
|
end
|
@@ -156,7 +153,7 @@ Google::Cloud.configure.add_config! :bigtable do |config|
|
|
156
153
|
config.add_field! :project_id, default_project, match: String, allow_nil: true
|
157
154
|
config.add_alias! :project, :project_id
|
158
155
|
config.add_field! :credentials, default_creds,
|
159
|
-
match:
|
156
|
+
match: [
|
160
157
|
String,
|
161
158
|
Hash,
|
162
159
|
Google::Auth::Credentials,
|
@@ -109,7 +109,7 @@ module Google
|
|
109
109
|
# recommended for production use. It is not subject to any SLA or deprecation
|
110
110
|
# policy.
|
111
111
|
rpc :DeleteSnapshot, DeleteSnapshotRequest, Google::Protobuf::Empty
|
112
|
-
# Gets the access control policy for
|
112
|
+
# Gets the access control policy for a table resource. Returns an empty
|
113
113
|
# policy if an table exists but does not have a policy set.
|
114
114
|
rpc :GetIamPolicy, Google::Iam::V1::GetIamPolicyRequest, Google::Iam::V1::Policy
|
115
115
|
# Sets the access control policy on a table resource. Replaces any existing
|
@@ -5,6 +5,9 @@
|
|
5
5
|
require 'google/protobuf'
|
6
6
|
|
7
7
|
require 'google/api/annotations_pb'
|
8
|
+
require 'google/api/client_pb'
|
9
|
+
require 'google/api/field_behavior_pb'
|
10
|
+
require 'google/api/resource_pb'
|
8
11
|
require 'google/bigtable/v2/data_pb'
|
9
12
|
require 'google/protobuf/wrappers_pb'
|
10
13
|
require 'google/rpc/status_pb'
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
2
|
# Source: google/bigtable/v2/bigtable.proto for package 'google.bigtable.v2'
|
3
3
|
# Original file comments:
|
4
|
-
# Copyright
|
4
|
+
# Copyright 2019 Google LLC.
|
5
5
|
#
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
7
|
# you may not use this file except in compliance with the License.
|
@@ -21,18 +21,21 @@ require "google/cloud/bigtable/project"
|
|
21
21
|
|
22
22
|
module Google
|
23
23
|
module Cloud
|
24
|
+
##
|
24
25
|
# Cloud Bigtable
|
25
26
|
#
|
26
27
|
# See {file:OVERVIEW.md Bigtable Overview}.
|
27
28
|
#
|
28
29
|
module Bigtable
|
30
|
+
##
|
29
31
|
# Service for managing Cloud Bigtable instances and tables and for reading from and
|
30
32
|
# writing to Bigtable tables.
|
31
33
|
#
|
32
34
|
# @param project_id [String]
|
33
35
|
# Project identifier for the Bigtable service you are connecting to.
|
34
36
|
# If not present, the default project for the credentials is used.
|
35
|
-
# @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel,
|
37
|
+
# @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel,
|
38
|
+
# GRPC::Core::ChannelCredentials, Proc]
|
36
39
|
# Provides the means for authenticating requests made by the client. This parameter can
|
37
40
|
# be one of the following types:
|
38
41
|
# `Google::Auth::Credentials` uses the properties of its represented keyfile for
|
@@ -70,14 +73,8 @@ module Google
|
|
70
73
|
#
|
71
74
|
# client = Google::Cloud::Bigtable.new
|
72
75
|
#
|
73
|
-
def self.new
|
74
|
-
|
75
|
-
credentials: nil,
|
76
|
-
emulator_host: nil,
|
77
|
-
scope: nil,
|
78
|
-
client_config: nil,
|
79
|
-
endpoint: nil,
|
80
|
-
timeout: nil
|
76
|
+
def self.new project_id: nil, credentials: nil, emulator_host: nil, scope: nil, client_config: nil, endpoint: nil,
|
77
|
+
timeout: nil
|
81
78
|
project_id ||= default_project_id
|
82
79
|
scope ||= configure.scope
|
83
80
|
timeout ||= configure.timeout
|
@@ -98,9 +95,10 @@ module Google
|
|
98
95
|
project_id, credentials,
|
99
96
|
host: endpoint, timeout: timeout, client_config: client_config
|
100
97
|
)
|
101
|
-
Bigtable::Project.new
|
98
|
+
Bigtable::Project.new service
|
102
99
|
end
|
103
100
|
|
101
|
+
##
|
104
102
|
# Configure the Google Cloud Bigtable library.
|
105
103
|
#
|
106
104
|
# The following Bigtable configuration parameters are supported:
|
@@ -151,10 +149,8 @@ module Google
|
|
151
149
|
#
|
152
150
|
def self.resolve_credentials given_credentials, scope
|
153
151
|
credentials = given_credentials || default_credentials(scope: scope)
|
154
|
-
|
155
|
-
|
156
|
-
end
|
157
|
-
credentials
|
152
|
+
return credentials if credentials.is_a? Google::Auth::Credentials
|
153
|
+
Bigtable::Credentials.new credentials, scope: scope
|
158
154
|
end
|
159
155
|
|
160
156
|
# @private
|
@@ -162,9 +158,7 @@ module Google
|
|
162
158
|
#
|
163
159
|
def self.resolve_project_id given_project_id, credentials
|
164
160
|
project_id = given_project_id || default_project_id
|
165
|
-
if credentials.respond_to? :project_id
|
166
|
-
project_id ||= credentials.project_id
|
167
|
-
end
|
161
|
+
project_id ||= credentials.project_id if credentials.respond_to? :project_id
|
168
162
|
project_id.to_s # Always cast to a string
|
169
163
|
end
|
170
164
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2020 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
@@ -22,7 +22,7 @@ module Google
|
|
22
22
|
# rubocop:disable LineLength
|
23
23
|
|
24
24
|
##
|
25
|
-
# # Ruby Client for Cloud Bigtable Admin API ([
|
25
|
+
# # Ruby Client for Cloud Bigtable Admin API ([GA](https://github.com/googleapis/google-cloud-ruby#versioning))
|
26
26
|
#
|
27
27
|
# [Cloud Bigtable Admin API][Product Documentation]:
|
28
28
|
#
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2020 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
@@ -25,7 +25,7 @@ module Google
|
|
25
25
|
# rubocop:disable LineLength
|
26
26
|
|
27
27
|
##
|
28
|
-
# # Ruby Client for Cloud Bigtable Admin API ([
|
28
|
+
# # Ruby Client for Cloud Bigtable Admin API ([GA](https://github.com/googleapis/google-cloud-ruby#versioning))
|
29
29
|
#
|
30
30
|
# [Cloud Bigtable Admin API][Product Documentation]:
|
31
31
|
#
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2020 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
@@ -870,7 +870,7 @@ module Google
|
|
870
870
|
@check_consistency.call(req, options, &block)
|
871
871
|
end
|
872
872
|
|
873
|
-
# Gets the access control policy for
|
873
|
+
# Gets the access control policy for a table resource. Returns an empty
|
874
874
|
# policy if an table exists but does not have a policy set.
|
875
875
|
#
|
876
876
|
# @param resource [String]
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2020 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
@@ -82,12 +82,13 @@ module Google
|
|
82
82
|
#
|
83
83
|
# Operations affecting conditional bindings must specify version 3. This can
|
84
84
|
# be either setting a conditional policy, modifying a conditional binding,
|
85
|
-
# or removing a conditional
|
85
|
+
# or removing a binding (conditional or unconditional) from the stored
|
86
|
+
# conditional policy.
|
86
87
|
# Operations on non-conditional policies may specify any valid value or
|
87
88
|
# leave the field unset.
|
88
89
|
#
|
89
|
-
# If no etag is provided in the call to `setIamPolicy`,
|
90
|
-
#
|
90
|
+
# If no etag is provided in the call to `setIamPolicy`, version compliance
|
91
|
+
# checks against the stored policy is skipped.
|
91
92
|
# @!attribute [rw] bindings
|
92
93
|
# @return [Array<Google::Iam::V1::Binding>]
|
93
94
|
# Associates a list of `members` to a `role`. Optionally may specify a
|
@@ -105,8 +106,8 @@ module Google
|
|
105
106
|
#
|
106
107
|
# If no `etag` is provided in the call to `setIamPolicy`, then the existing
|
107
108
|
# policy is overwritten. Due to blind-set semantics of an etag-less policy,
|
108
|
-
# 'setIamPolicy' will not fail even if
|
109
|
-
#
|
109
|
+
# 'setIamPolicy' will not fail even if the incoming policy version does not
|
110
|
+
# meet the requirements for modifying the stored policy.
|
110
111
|
class Policy; end
|
111
112
|
|
112
113
|
# Associates `members` with a `role`.
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2020 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
@@ -21,7 +21,7 @@ module Google
|
|
21
21
|
# @return [String]
|
22
22
|
# The server-assigned name, which is only unique within the same service that
|
23
23
|
# originally returns it. If you use the default HTTP mapping, the
|
24
|
-
# `name` should
|
24
|
+
# `name` should be a resource name ending with `operations/{unique_id}`.
|
25
25
|
# @!attribute [rw] metadata
|
26
26
|
# @return [Google::Protobuf::Any]
|
27
27
|
# Service-specific metadata associated with the operation. It typically
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2020 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
@@ -17,67 +17,19 @@ module Google
|
|
17
17
|
module Rpc
|
18
18
|
# The `Status` type defines a logical error model that is suitable for
|
19
19
|
# different programming environments, including REST APIs and RPC APIs. It is
|
20
|
-
# used by [gRPC](https://github.com/grpc).
|
20
|
+
# used by [gRPC](https://github.com/grpc). Each `Status` message contains
|
21
|
+
# three pieces of data: error code, error message, and error details.
|
21
22
|
#
|
22
|
-
#
|
23
|
-
#
|
24
|
-
#
|
25
|
-
# = Overview
|
26
|
-
#
|
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.
|
37
|
-
#
|
38
|
-
# = Language mapping
|
39
|
-
#
|
40
|
-
# The `Status` message is the logical representation of the error model, but it
|
41
|
-
# is not necessarily the actual wire format. When the `Status` message is
|
42
|
-
# exposed in different client libraries and different wire protocols, it can be
|
43
|
-
# mapped differently. For example, it will likely be mapped to some exceptions
|
44
|
-
# in Java, but more likely mapped to some error codes in C.
|
45
|
-
#
|
46
|
-
# = Other uses
|
47
|
-
#
|
48
|
-
# The error model and the `Status` message can be used in a variety of
|
49
|
-
# environments, either with or without APIs, to provide a
|
50
|
-
# consistent developer experience across different environments.
|
51
|
-
#
|
52
|
-
# Example uses of this error model include:
|
53
|
-
#
|
54
|
-
# * Partial errors. If a service needs to return partial errors to the client,
|
55
|
-
# it may embed the `Status` in the normal response to indicate the partial
|
56
|
-
# errors.
|
57
|
-
#
|
58
|
-
# * Workflow errors. A typical workflow has multiple steps. Each step may
|
59
|
-
# have a `Status` message for error reporting.
|
60
|
-
#
|
61
|
-
# * Batch operations. If a client uses batch request and batch response, the
|
62
|
-
# `Status` message should be used directly inside batch response, one for
|
63
|
-
# each error sub-response.
|
64
|
-
#
|
65
|
-
# * Asynchronous operations. If an API call embeds asynchronous operation
|
66
|
-
# results in its response, the status of those operations should be
|
67
|
-
# represented directly using the `Status` message.
|
68
|
-
#
|
69
|
-
# * Logging. If some API errors are stored in logs, the message `Status` could
|
70
|
-
# be used directly after any stripping needed for security/privacy reasons.
|
23
|
+
# You can find out more about this error model and how to work with it in the
|
24
|
+
# [API Design Guide](https://cloud.google.com/apis/design/errors).
|
71
25
|
# @!attribute [rw] code
|
72
26
|
# @return [Integer]
|
73
|
-
# The status code, which should be an enum value of
|
74
|
-
# {Google::Rpc::Code}.
|
27
|
+
# The status code, which should be an enum value of {Google::Rpc::Code}.
|
75
28
|
# @!attribute [rw] message
|
76
29
|
# @return [String]
|
77
30
|
# A developer-facing error message, which should be in English. Any
|
78
31
|
# user-facing error message should be localized and sent in the
|
79
|
-
# {Google::Rpc::Status#details} field, or localized
|
80
|
-
# by the client.
|
32
|
+
# {Google::Rpc::Status#details} field, or localized by the client.
|
81
33
|
# @!attribute [rw] details
|
82
34
|
# @return [Array<Google::Protobuf::Any>]
|
83
35
|
# A list of messages that carry the error details. There is a common set of
|