google-cloud-security_center 1.0.0 → 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: 1c8cd952a84632ab8b8a8ed15647e624826876dec8d89e4231eb1abb79d0ccc6
4
- data.tar.gz: 04e02b650653f4fef98105ecc405f4199312f22fceaef76bf6beefb5bb4421f3
3
+ metadata.gz: 07abca5d583575411e1dcf35db1f362f160ff2e6192c73a16bf38dca45325a23
4
+ data.tar.gz: 9211b8257cd41b7e677599a4d537bb429b3bd2e381256ce7b020c47c1ae5ff20
5
5
  SHA512:
6
- metadata.gz: 9e11da98338e345be1784e2eab973693bc682ad3d81f19959658d271e335dca686eba9bf15d8d75ecbece83a8a61051efaa12335719b4f0c2b6bf5d8482e56b4
7
- data.tar.gz: df3d46e6037a3c159e3b20445517de45011be7a06cbbd4c1ecdc92dbbf656b288d018adc0f0b1444eb4b329e72f5e494991e499fcbbfb0dd497106eb429d6669
6
+ metadata.gz: 717f38429920d41e364410916422b187c4fb1e15c6acfa17b155f945ef5d70b6cc6c362c25c772e927a656a6a9fff89fad4a85f24b91ca6e38b8642367012bb0
7
+ data.tar.gz: 8c8c4227386ad042f08134f5ebcf94a6888f9e9ab84bd45a729527aa07e45d32607955894bad8edac12f1a47b3af108b491d6034829ef696b8d8528d5f548a3a
data/MIGRATING.md CHANGED
@@ -30,6 +30,10 @@ To summarize:
30
30
  resource paths. These methods now take keyword rather than positional
31
31
  arguments, and are also available in a separate paths module. See
32
32
  [Resource Path Helpers](#resource-path-helpers) for more info.
33
+ * Previously, clients reported RPC errors by raising instances of
34
+ `Google::Gax::GaxError` and its subclasses. Now, RPC exceptions are of type
35
+ `Google::Cloud::Error` and its subclasses. See
36
+ [Handling Errors](#handling-errors) for more info.
33
37
  * Some classes have moved into different namespaces. See
34
38
  [Class Namespaces](#class-namespaces) for more info.
35
39
 
@@ -245,7 +249,7 @@ In the 1.0 client, you can also use the paths module as a convenience module.
245
249
 
246
250
  New:
247
251
  ```
248
- # Bring the session_path method into the current class
252
+ # Bring the path helper methods into the current class
249
253
  include Google::Cloud::SecurityCenter::V1::SecurityCenterService::Paths
250
254
 
251
255
  def foo
@@ -260,6 +264,50 @@ def foo
260
264
  end
261
265
  ```
262
266
 
267
+ ### Handling Errors
268
+
269
+ The client reports standard
270
+ [gRPC error codes](https://github.com/grpc/grpc/blob/master/doc/statuscodes.md)
271
+ by raising exceptions. In older releases, these exceptions were located in the
272
+ `Google::Gax` namespace and were subclasses of the `Google::Gax::GaxError` base
273
+ exception class, defined in the `google-gax` gem. However, these classes were
274
+ different from the standard exceptions (subclasses of `Google::Cloud::Error`)
275
+ thrown by other client libraries such as `google-cloud-storage`.
276
+
277
+ The 1.0 client library now uses the `Google::Cloud::Error` exception hierarchy,
278
+ for consistency across all the Google Cloud client libraries. In general, these
279
+ exceptions have the same name as their counterparts from older releases, but
280
+ are located in the `Google::Cloud` namespace rather than the `Google::Gax`
281
+ namespace.
282
+
283
+ Old:
284
+ ```
285
+ client = Google::Cloud::SecurityCenter.new
286
+
287
+ parent = "organizations/my-org/sources/-"
288
+ ordering = "name"
289
+
290
+ begin
291
+ response = client.list_findings parent, order_by: ordering
292
+ rescue Google::Gax::Error => e
293
+ # Handle exceptions that subclass Google::Gax::Error
294
+ end
295
+ ```
296
+
297
+ New:
298
+ ```
299
+ client = Google::Cloud::SecurityCenter.security_center
300
+
301
+ parent = "organizations/my-org/sources/-"
302
+ ordering = "name"
303
+
304
+ begin
305
+ response = client.list_findings parent: parent, order_by: ordering
306
+ rescue Google::Cloud::Error => e
307
+ # Handle exceptions that subclass Google::Cloud::Error
308
+ end
309
+ ```
310
+
263
311
  ### Class Namespaces
264
312
 
265
313
  In older releases, the client object was of class
data/README.md CHANGED
@@ -6,9 +6,10 @@ Security Command Center API provides access to temporal views of assets and find
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-security_center-v*`.
9
- The gem `google-cloud-security_center` is a convenience wrapper library that brings the
9
+ The gem `google-cloud-security_center` 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-security_center/latest)
14
15
  for this library, google-cloud-security_center, to see the convenience methods for
@@ -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-security_center`,
87
+ and lower-level _versioned_ client libraries with names such as
88
+ `google-cloud-security_center-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-security_center`.
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-security_center-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! :security_center 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, "securitycenter.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__, "security_center", "helpers.rb"
115
+ require "google/cloud/security_center/helpers" if ::File.file? helper_path
@@ -20,7 +20,7 @@
20
20
  module Google
21
21
  module Cloud
22
22
  module SecurityCenter
23
- VERSION = "1.0.0"
23
+ VERSION = "1.1.4"
24
24
  end
25
25
  end
26
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-security_center
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
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-06 00:00:00.000000000 Z
11
+ date: 2021-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-cloud-core
@@ -52,20 +52,6 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0.0'
55
- - !ruby/object:Gem::Dependency
56
- name: autotest-suffix
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '1.1'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '1.1'
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 Security Command Center API