google-cloud-security_center 1.0.0 → 1.1.4

Sign up to get free protection for your applications and to get access to all the features.
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