google-cloud-asset 1.0.2 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8da15ab8be4f6216d68c64f5a3a68c06d4697b423e83bcb9de45f4042a7e2e23
4
- data.tar.gz: b81753e643df39e3631cc037c4772b9a3c58bebeb5dc9fc54634c9cdf9d0ff97
3
+ metadata.gz: 794f8a549e1bd639a3441f0e4277e98357a7586b8955dc307d308f1d4c184dec
4
+ data.tar.gz: 37230be2d2c53909d013bef02c0a364ddb438db00c3a45cfc34693222f234704
5
5
  SHA512:
6
- metadata.gz: 43ce8138ed4cf94514705432c2ccdfd108f708adc4b4dba7df0bb252a94be1d5d948558be39e3ea0f69ece729d8b877fa563b165a1afe9a4a24b03ec3e6b6be8
7
- data.tar.gz: 0262abb2047d3afa99d9eb0fdd51c6ead8ce0748aa53d20c32bfbae5859c821757e233061e21c064ab69f96945f2873e9f3e9b23bb84eef324668bcc3d712d12
6
+ metadata.gz: ea37162ed26467402ec1c1e4f0be2de9855a69fab60b73c209240d3829bcabe17419c0fa0f95dde3ff94765405f2a9d2da27ef5bd390da380d888ef03f93853d
7
+ data.tar.gz: 56e1e3bb40964d3adb43b8ef424551d82648c9ee33d6bc98676a2b6f63a126568681397237e81f503654bd83fc37c5964de37c2e46886bfee6ac10998fffaedd
data/MIGRATING.md CHANGED
@@ -29,6 +29,10 @@ To summarize:
29
29
  resource paths. These paths are now instance methods on the client objects,
30
30
  and are also available in a separate paths module. See
31
31
  [Resource Path Helpers](#resource-path-helpers) for more info.
32
+ * Previously, clients reported RPC errors by raising instances of
33
+ `Google::Gax::GaxError` and its subclasses. Now, RPC exceptions are of type
34
+ `Google::Cloud::Error` and its subclasses. See
35
+ [Handling Errors](#handling-errors) for more info.
32
36
  * Some classes have moved into different namespaces. See
33
37
  [Class Namespaces](#class-namespaces) for more info.
34
38
 
@@ -254,7 +258,7 @@ Finally, in the 1.0 client, you can also use the paths module as a convenience m
254
258
 
255
259
  New:
256
260
  ```
257
- # Bring the session_path method into the current class
261
+ # Bring the path helper methods into the current class
258
262
  include Google::Cloud::Asset::V1::AssetService::Paths
259
263
 
260
264
  def foo
@@ -269,6 +273,48 @@ def foo
269
273
  end
270
274
  ```
271
275
 
276
+ ### Handling Errors
277
+
278
+ The client reports standard
279
+ [gRPC error codes](https://github.com/grpc/grpc/blob/master/doc/statuscodes.md)
280
+ by raising exceptions. In older releases, these exceptions were located in the
281
+ `Google::Gax` namespace and were subclasses of the `Google::Gax::GaxError` base
282
+ exception class, defined in the `google-gax` gem. However, these classes were
283
+ different from the standard exceptions (subclasses of `Google::Cloud::Error`)
284
+ thrown by other client libraries such as `google-cloud-storage`.
285
+
286
+ The 1.0 client library now uses the `Google::Cloud::Error` exception hierarchy
287
+ for consistency across all the Google Cloud client libraries. In general, these
288
+ exceptions have the same name as their counterparts from older releases, but
289
+ are located in the `Google::Cloud` namespace rather than the `Google::Gax`
290
+ namespace.
291
+
292
+ Old:
293
+ ```
294
+ client = Google::Cloud::Asset.new
295
+
296
+ name = "projects/my-project/feeds/my-feed"
297
+
298
+ begin
299
+ client.get_feed name
300
+ rescue Google::Gax::Error => e
301
+ # Handle exceptions that subclass Google::Gax::Error
302
+ end
303
+ ```
304
+
305
+ New:
306
+ ```
307
+ client = Google::Cloud::Asset.asset_service
308
+
309
+ name = "projects/my-project/feeds/my-feed"
310
+
311
+ begin
312
+ client.get_feed name: name
313
+ rescue Google::Cloud::Error => e
314
+ # Handle exceptions that subclass Google::Cloud::Error
315
+ end
316
+ ```
317
+
272
318
  ### Class Namespaces
273
319
 
274
320
  In older releases, the client object was of classes with names like:
data/README.md CHANGED
@@ -6,9 +6,10 @@ A metadata inventory service that allows you to view, monitor, and analyze all y
6
6
 
7
7
  Actual client classes for the various versions of this API are defined in
8
8
  _versioned_ client gems, with names of the form `google-cloud-asset-v*`.
9
- The gem `google-cloud-asset` is a convenience wrapper library that brings the
9
+ The gem `google-cloud-asset` is the main client library that brings the
10
10
  verisoned gems in as dependencies, and provides high-level methods for
11
- constructing clients.
11
+ constructing clients. More information on versioned clients can be found below
12
+ in the section titled *Which client should I use?*.
12
13
 
13
14
  View the [Client Library Documentation](https://googleapis.dev/ruby/google-cloud-asset/latest)
14
15
  for this library, google-cloud-asset, to see the convenience methods for
@@ -18,7 +19,7 @@ client gems:
18
19
  [google-cloud-asset-v1](https://googleapis.dev/ruby/google-cloud-asset-v1/latest),
19
20
  [google-cloud-asset-v1beta1](https://googleapis.dev/ruby/google-cloud-asset-v1beta1/latest).
20
21
 
21
- See also the [Product Documentation](https://cloud.google.com/resource-manager)
22
+ See also the [Product Documentation](https://cloud.google.com/asset-inventory/)
22
23
  for more usage information.
23
24
 
24
25
  ## Quick Start
@@ -78,3 +79,61 @@ in security maintenance, and not end of life. Currently, this means Ruby 2.4
78
79
  and later. Older versions of Ruby _may_ still work, but are unsupported and not
79
80
  recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details
80
81
  about the Ruby support schedule.
82
+
83
+ ## Which client should I use?
84
+
85
+ Most modern Ruby client libraries for Google APIs come in two flavors: the main
86
+ client library with a name such as `google-cloud-asset`,
87
+ and lower-level _versioned_ client libraries with names such as
88
+ `google-cloud-asset-v1`.
89
+ _In most cases, you should install the main client._
90
+
91
+ ### What's the difference between the main client and a versioned client?
92
+
93
+ A _versioned client_ provides a basic set of data types and client classes for
94
+ a _single version_ of a specific service. (That is, for a service with multiple
95
+ versions, there might be a separate versioned client for each service version.)
96
+ Most versioned clients are written and maintained by a code generator.
97
+
98
+ The _main client_ is designed to provide you with the _recommended_ client
99
+ interfaces for the service. There will be only one main client for any given
100
+ service, even a service with multiple versions. The main client includes
101
+ factory methods for constructing the client objects we recommend for most
102
+ users. In some cases, those will be classes provided by an underlying versioned
103
+ client; in other cases, they will be handwritten higher-level client objects
104
+ with additional capabilities, convenience methods, or best practices built in.
105
+ Generally, the main client will default to a recommended service version,
106
+ although in some cases you can override this if you need to talk to a specific
107
+ service version.
108
+
109
+ ### Why would I want to use the main client?
110
+
111
+ We recommend that most users install the main client gem for a service. You can
112
+ identify this gem as the one _without_ a version in its name, e.g.
113
+ `google-cloud-asset`.
114
+ The main client is recommended because it will embody the best practices for
115
+ accessing the service, and may also provide more convenient interfaces or
116
+ tighter integration into frameworks and third-party libraries. In addition, the
117
+ documentation and samples published by Google will generally demonstrate use of
118
+ the main client.
119
+
120
+ ### Why would I want to use a versioned client?
121
+
122
+ You can use a versioned client if you are content with a possibly lower-level
123
+ class interface, you explicitly want to avoid features provided by the main
124
+ client, or you want to access a specific service version not be covered by the
125
+ main client. You can identify versioned client gems because the service version
126
+ is part of the name, e.g. `google-cloud-asset-v1`.
127
+
128
+ ### What about the google-apis-<name> clients?
129
+
130
+ Client library gems with names that begin with `google-apis-` are based on an
131
+ older code generation technology. They talk to a REST/JSON backend (whereas
132
+ most modern clients talk to a [gRPC](https://grpc.io/) backend) and they may
133
+ not offer the same performance, features, and ease of use provided by more
134
+ modern clients.
135
+
136
+ The `google-apis-` clients have wide coverage across Google services, so you
137
+ might need to use one if there is no modern client available for the service.
138
+ However, if a modern client is available, we generally recommend it over the
139
+ older `google-apis-` clients.
@@ -29,13 +29,16 @@ require "google/cloud/config"
29
29
 
30
30
  # Set the default configuration
31
31
  ::Google::Cloud.configure.add_config! :asset do |config|
32
- config.add_field! :credentials, nil, match: [::String, ::Hash, ::Google::Auth::Credentials]
33
- config.add_field! :lib_name, nil, match: ::String
34
- config.add_field! :lib_version, nil, match: ::String
35
- config.add_field! :interceptors, nil, match: ::Array
36
- config.add_field! :timeout, nil, match: ::Numeric
37
- config.add_field! :metadata, nil, match: ::Hash
38
- config.add_field! :retry_policy, nil, match: [::Hash, ::Proc]
32
+ config.add_field! :endpoint, "cloudasset.googleapis.com", match: ::String
33
+ config.add_field! :credentials, nil, match: [::String, ::Hash, ::Google::Auth::Credentials]
34
+ config.add_field! :scope, nil, match: [::Array, ::String]
35
+ config.add_field! :lib_name, nil, match: ::String
36
+ config.add_field! :lib_version, nil, match: ::String
37
+ config.add_field! :interceptors, nil, match: ::Array
38
+ config.add_field! :timeout, nil, match: ::Numeric
39
+ config.add_field! :metadata, nil, match: ::Hash
40
+ config.add_field! :retry_policy, nil, match: [::Hash, ::Proc]
41
+ config.add_field! :quota_project, nil, match: ::String
39
42
  end
40
43
 
41
44
  module Google
@@ -85,8 +88,8 @@ module Google
85
88
  # The library version as recorded in instrumentation and logging.
86
89
  # * `interceptors` (*type:* `Array<GRPC::ClientInterceptor>`) -
87
90
  # An array of interceptors that are run before calls are executed.
88
- # * `timeout` (*type:* `Integer`) -
89
- # Default timeout in milliseconds.
91
+ # * `timeout` (*type:* `Numeric`) -
92
+ # Default timeout in seconds.
90
93
  # * `metadata` (*type:* `Hash{Symbol=>String}`) -
91
94
  # Additional gRPC headers to be sent with the call.
92
95
  # * `retry_policy` (*type:* `Hash`) -
@@ -107,3 +110,6 @@ module Google
107
110
  end
108
111
  end
109
112
  end
113
+
114
+ helper_path = ::File.join __dir__, "asset", "helpers.rb"
115
+ require "google/cloud/asset/helpers" if ::File.file? helper_path
@@ -16,7 +16,7 @@
16
16
  module Google
17
17
  module Cloud
18
18
  module Asset
19
- VERSION = "1.0.2".freeze
19
+ VERSION = "1.1.4".freeze
20
20
  end
21
21
  end
22
22
  end
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-asset
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-05 00:00:00.000000000 Z
11
+ date: 2021-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: google-cloud-core
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.5'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.5'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: google-cloud-asset-v1
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -53,19 +39,19 @@ dependencies:
53
39
  - !ruby/object:Gem::Version
54
40
  version: '0.0'
55
41
  - !ruby/object:Gem::Dependency
56
- name: autotest-suffix
42
+ name: google-cloud-core
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
45
  - - "~>"
60
46
  - !ruby/object:Gem::Version
61
- version: '1.1'
62
- type: :development
47
+ version: '1.5'
48
+ type: :runtime
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
52
  - - "~>"
67
53
  - !ruby/object:Gem::Version
68
- version: '1.1'
54
+ version: '1.5'
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: google-style
71
57
  requirement: !ruby/object:Gem::Requirement
@@ -94,20 +80,6 @@ dependencies:
94
80
  - - "~>"
95
81
  - !ruby/object:Gem::Version
96
82
  version: '5.14'
97
- - !ruby/object:Gem::Dependency
98
- name: minitest-autotest
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: '1.0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: '1.0'
111
83
  - !ruby/object:Gem::Dependency
112
84
  name: minitest-focus
113
85
  requirement: !ruby/object:Gem::Requirement
@@ -226,7 +198,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
226
198
  - !ruby/object:Gem::Version
227
199
  version: '0'
228
200
  requirements: []
229
- rubygems_version: 3.0.6
201
+ rubygems_version: 3.2.6
230
202
  signing_key:
231
203
  specification_version: 4
232
204
  summary: API Client library for the Cloud Asset API