google-cloud-web_risk-v1 0.2.2 → 0.3.0
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 +4 -4
- data/README.md +68 -0
- data/lib/google/cloud/web_risk/v1.rb +3 -0
- data/lib/google/cloud/web_risk/v1/version.rb +1 -1
- data/lib/google/cloud/web_risk/v1/web_risk_service/client.rb +14 -6
- data/lib/google/cloud/webrisk/v1/webrisk_services_pb.rb +4 -4
- data/proto_docs/google/api/field_behavior.rb +6 -0
- data/proto_docs/google/api/resource.rb +50 -14
- data/proto_docs/google/protobuf/timestamp.rb +10 -1
- metadata +9 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ca82b984f973c528e7e031efdb032bc8088a75b8433d1cdb5c5ad479596f1ece
|
4
|
+
data.tar.gz: 7e54d30ebd9a0d95d1a13c7545b4ff6931c119e0522f630ea5ba13b23db10014
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9f80f6733968d17cec44fbecc0f364693cccb8d14fb9c5fb16794794ec9a79e53413dcd3aea7039c82c54c1a6148264d78a3a6b9c58348afd0fd06809b50dbf4
|
7
|
+
data.tar.gz: 198205fa64edb84d6e425b20a0d39162e69b7a40f4f74b678fe93ab4afa6363b0e4382aaba1bbab6ebfeca014cfa46170a9ce518a83abff19770fadd16880afd
|
data/README.md
CHANGED
@@ -6,6 +6,12 @@ Web Risk is an enterprise security product that lets your client applications ch
|
|
6
6
|
|
7
7
|
https://github.com/googleapis/google-cloud-ruby
|
8
8
|
|
9
|
+
This gem is a _versioned_ client. It provides basic client classes for a
|
10
|
+
specific version of the Web Risk V1 API. Most users should consider using
|
11
|
+
the main client gem,
|
12
|
+
[google-cloud-web_risk](https://rubygems.org/gems/google-cloud-web_risk).
|
13
|
+
See the section below titled *Which client should I use?* for more information.
|
14
|
+
|
9
15
|
## Installation
|
10
16
|
|
11
17
|
```
|
@@ -18,6 +24,7 @@ In order to use this library, you first need to go through the following steps:
|
|
18
24
|
|
19
25
|
1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project)
|
20
26
|
1. [Enable billing for your project.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
|
27
|
+
1. [Enable the API.](https://console.cloud.google.com/apis/library/webrisk.googleapis.com)
|
21
28
|
1. {file:AUTHENTICATION.md Set up authentication.}
|
22
29
|
|
23
30
|
## Quick Start
|
@@ -33,6 +40,9 @@ response = client.compute_threat_list_diff request
|
|
33
40
|
View the [Client Library Documentation](https://googleapis.dev/ruby/google-cloud-web_risk-v1/latest)
|
34
41
|
for class and method documentation.
|
35
42
|
|
43
|
+
See also the [Product Documentation](https://cloud.google.com/web-risk)
|
44
|
+
for general usage information.
|
45
|
+
|
36
46
|
## Enabling Logging
|
37
47
|
|
38
48
|
To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
|
@@ -69,3 +79,61 @@ in security maintenance, and not end of life. Currently, this means Ruby 2.4
|
|
69
79
|
and later. Older versions of Ruby _may_ still work, but are unsupported and not
|
70
80
|
recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details
|
71
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-web_risk`,
|
87
|
+
and lower-level _versioned_ client libraries with names such as
|
88
|
+
`google-cloud-web_risk-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-web_risk`.
|
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-web_risk-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.
|
@@ -71,7 +71,7 @@ module Google
|
|
71
71
|
initial_delay: 0.1,
|
72
72
|
max_delay: 60.0,
|
73
73
|
multiplier: 1.3,
|
74
|
-
retry_codes: [
|
74
|
+
retry_codes: [4, 14]
|
75
75
|
}
|
76
76
|
|
77
77
|
default_config.rpcs.search_uris.timeout = 600.0
|
@@ -79,7 +79,7 @@ module Google
|
|
79
79
|
initial_delay: 0.1,
|
80
80
|
max_delay: 60.0,
|
81
81
|
multiplier: 1.3,
|
82
|
-
retry_codes: [
|
82
|
+
retry_codes: [4, 14]
|
83
83
|
}
|
84
84
|
|
85
85
|
default_config.rpcs.search_hashes.timeout = 600.0
|
@@ -87,9 +87,11 @@ module Google
|
|
87
87
|
initial_delay: 0.1,
|
88
88
|
max_delay: 60.0,
|
89
89
|
multiplier: 1.3,
|
90
|
-
retry_codes: [
|
90
|
+
retry_codes: [4, 14]
|
91
91
|
}
|
92
92
|
|
93
|
+
default_config.rpcs.create_submission.timeout = 60.0
|
94
|
+
|
93
95
|
default_config
|
94
96
|
end
|
95
97
|
yield @configure if block_given?
|
@@ -151,7 +153,13 @@ module Google
|
|
151
153
|
|
152
154
|
# Create credentials
|
153
155
|
credentials = @config.credentials
|
154
|
-
|
156
|
+
# Use self-signed JWT if the scope and endpoint are unchanged from default,
|
157
|
+
# but only if the default endpoint does not have a region prefix.
|
158
|
+
enable_self_signed_jwt = @config.scope == Client.configure.scope &&
|
159
|
+
@config.endpoint == Client.configure.endpoint &&
|
160
|
+
!@config.endpoint.split(".").first.include?("-")
|
161
|
+
credentials ||= Credentials.default scope: @config.scope,
|
162
|
+
enable_self_signed_jwt: enable_self_signed_jwt
|
155
163
|
if credentials.is_a?(String) || credentials.is_a?(Hash)
|
156
164
|
credentials = Credentials.new credentials, scope: @config.scope
|
157
165
|
end
|
@@ -534,7 +542,7 @@ module Google
|
|
534
542
|
|
535
543
|
config_attr :endpoint, "webrisk.googleapis.com", ::String
|
536
544
|
config_attr :credentials, nil do |value|
|
537
|
-
allowed = [::String, ::Hash, ::Proc, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
|
545
|
+
allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
|
538
546
|
allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
|
539
547
|
allowed.any? { |klass| klass === value }
|
540
548
|
end
|
@@ -574,7 +582,7 @@ module Google
|
|
574
582
|
# Each configuration object is of type `Gapic::Config::Method` and includes
|
575
583
|
# the following configuration fields:
|
576
584
|
#
|
577
|
-
# * `timeout` (*type:* `Numeric`) - The call timeout in
|
585
|
+
# * `timeout` (*type:* `Numeric`) - The call timeout in seconds
|
578
586
|
# * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
|
579
587
|
# * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
|
580
588
|
# include the following keys:
|
@@ -40,26 +40,26 @@ module Google
|
|
40
40
|
# be returned. This Method only updates a single ThreatList at a time. To
|
41
41
|
# update multiple ThreatList databases, this method needs to be called once
|
42
42
|
# for each list.
|
43
|
-
rpc :ComputeThreatListDiff, Google::Cloud::WebRisk::V1::ComputeThreatListDiffRequest, Google::Cloud::WebRisk::V1::ComputeThreatListDiffResponse
|
43
|
+
rpc :ComputeThreatListDiff, ::Google::Cloud::WebRisk::V1::ComputeThreatListDiffRequest, ::Google::Cloud::WebRisk::V1::ComputeThreatListDiffResponse
|
44
44
|
# This method is used to check whether a URI is on a given threatList.
|
45
45
|
# Multiple threatLists may be searched in a single query.
|
46
46
|
# The response will list all requested threatLists the URI was found to
|
47
47
|
# match. If the URI is not found on any of the requested ThreatList an
|
48
48
|
# empty response will be returned.
|
49
|
-
rpc :SearchUris, Google::Cloud::WebRisk::V1::SearchUrisRequest, Google::Cloud::WebRisk::V1::SearchUrisResponse
|
49
|
+
rpc :SearchUris, ::Google::Cloud::WebRisk::V1::SearchUrisRequest, ::Google::Cloud::WebRisk::V1::SearchUrisResponse
|
50
50
|
# Gets the full hashes that match the requested hash prefix.
|
51
51
|
# This is used after a hash prefix is looked up in a threatList
|
52
52
|
# and there is a match. The client side threatList only holds partial hashes
|
53
53
|
# so the client must query this method to determine if there is a full
|
54
54
|
# hash match of a threat.
|
55
|
-
rpc :SearchHashes, Google::Cloud::WebRisk::V1::SearchHashesRequest, Google::Cloud::WebRisk::V1::SearchHashesResponse
|
55
|
+
rpc :SearchHashes, ::Google::Cloud::WebRisk::V1::SearchHashesRequest, ::Google::Cloud::WebRisk::V1::SearchHashesResponse
|
56
56
|
# Creates a Submission of a URI suspected of containing phishing content to
|
57
57
|
# be reviewed. If the result verifies the existence of malicious phishing
|
58
58
|
# content, the site will be added to the [Google's Social Engineering
|
59
59
|
# lists](https://support.google.com/webmasters/answer/6350487/) in order to
|
60
60
|
# protect users that could get exposed to this threat in the future. Only
|
61
61
|
# projects with CREATE_SUBMISSION_USERS visibility can use this method.
|
62
|
-
rpc :CreateSubmission, Google::Cloud::WebRisk::V1::CreateSubmissionRequest, Google::Cloud::WebRisk::V1::Submission
|
62
|
+
rpc :CreateSubmission, ::Google::Cloud::WebRisk::V1::CreateSubmissionRequest, ::Google::Cloud::WebRisk::V1::Submission
|
63
63
|
end
|
64
64
|
|
65
65
|
Stub = Service.rpc_stub_class
|
@@ -54,6 +54,12 @@ module Google
|
|
54
54
|
# This indicates that the field may be set once in a request to create a
|
55
55
|
# resource, but may not be changed thereafter.
|
56
56
|
IMMUTABLE = 5
|
57
|
+
|
58
|
+
# Denotes that a (repeated) field is an unordered list.
|
59
|
+
# This indicates that the service may provide the elements of the list
|
60
|
+
# in any arbitrary order, rather than the order the user originally
|
61
|
+
# provided. Additionally, the list's order may or may not be stable.
|
62
|
+
UNORDERED_LIST = 6
|
57
63
|
end
|
58
64
|
end
|
59
65
|
end
|
@@ -43,12 +43,12 @@ module Google
|
|
43
43
|
#
|
44
44
|
# The ResourceDescriptor Yaml config will look like:
|
45
45
|
#
|
46
|
-
#
|
47
|
-
#
|
48
|
-
#
|
49
|
-
#
|
50
|
-
#
|
51
|
-
#
|
46
|
+
# resources:
|
47
|
+
# - type: "pubsub.googleapis.com/Topic"
|
48
|
+
# name_descriptor:
|
49
|
+
# - pattern: "projects/{project}/topics/{topic}"
|
50
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Project"
|
51
|
+
# parent_name_extractor: "projects/{project}"
|
52
52
|
#
|
53
53
|
# Sometimes, resources have multiple patterns, typically because they can
|
54
54
|
# live under multiple parents.
|
@@ -183,15 +183,24 @@ module Google
|
|
183
183
|
# }
|
184
184
|
# @!attribute [rw] plural
|
185
185
|
# @return [::String]
|
186
|
-
# The plural name used in the resource name, such as
|
187
|
-
# the name of 'projects/\\{project}'
|
188
|
-
#
|
186
|
+
# The plural name used in the resource name and permission names, such as
|
187
|
+
# 'projects' for the resource name of 'projects/\\{project}' and the permission
|
188
|
+
# name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same
|
189
|
+
# concept of the `plural` field in k8s CRD spec
|
189
190
|
# https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
|
191
|
+
#
|
192
|
+
# Note: The plural form is required even for singleton resources. See
|
193
|
+
# https://aip.dev/156
|
190
194
|
# @!attribute [rw] singular
|
191
195
|
# @return [::String]
|
192
196
|
# The same concept of the `singular` field in k8s CRD spec
|
193
197
|
# https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
|
194
198
|
# Such as "project" for the `resourcemanager.googleapis.com/Project` type.
|
199
|
+
# @!attribute [rw] style
|
200
|
+
# @return [::Array<::Google::Api::ResourceDescriptor::Style>]
|
201
|
+
# Style flag(s) for this resource.
|
202
|
+
# These indicate that a resource is expected to conform to a given
|
203
|
+
# style. See the specific style flags for additional information.
|
195
204
|
class ResourceDescriptor
|
196
205
|
include ::Google::Protobuf::MessageExts
|
197
206
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -211,6 +220,22 @@ module Google
|
|
211
220
|
# that from being necessary once there are multiple patterns.)
|
212
221
|
FUTURE_MULTI_PATTERN = 2
|
213
222
|
end
|
223
|
+
|
224
|
+
# A flag representing a specific style that a resource claims to conform to.
|
225
|
+
module Style
|
226
|
+
# The unspecified value. Do not use.
|
227
|
+
STYLE_UNSPECIFIED = 0
|
228
|
+
|
229
|
+
# This resource is intended to be "declarative-friendly".
|
230
|
+
#
|
231
|
+
# Declarative-friendly resources must be more strictly consistent, and
|
232
|
+
# setting this to true communicates to tools that this resource should
|
233
|
+
# adhere to declarative-friendly expectations.
|
234
|
+
#
|
235
|
+
# Note: This is used by the API linter (linter.aip.dev) to enable
|
236
|
+
# additional checks.
|
237
|
+
DECLARATIVE_FRIENDLY = 1
|
238
|
+
end
|
214
239
|
end
|
215
240
|
|
216
241
|
# Defines a proto annotation that describes a string field that refers to
|
@@ -226,6 +251,17 @@ module Google
|
|
226
251
|
# type: "pubsub.googleapis.com/Topic"
|
227
252
|
# }];
|
228
253
|
# }
|
254
|
+
#
|
255
|
+
# Occasionally, a field may reference an arbitrary resource. In this case,
|
256
|
+
# APIs use the special value * in their resource reference.
|
257
|
+
#
|
258
|
+
# Example:
|
259
|
+
#
|
260
|
+
# message GetIamPolicyRequest {
|
261
|
+
# string resource = 2 [(google.api.resource_reference) = {
|
262
|
+
# type: "*"
|
263
|
+
# }];
|
264
|
+
# }
|
229
265
|
# @!attribute [rw] child_type
|
230
266
|
# @return [::String]
|
231
267
|
# The resource type of a child collection that the annotated field
|
@@ -234,11 +270,11 @@ module Google
|
|
234
270
|
#
|
235
271
|
# Example:
|
236
272
|
#
|
237
|
-
#
|
238
|
-
#
|
239
|
-
#
|
240
|
-
#
|
241
|
-
#
|
273
|
+
# message ListLogEntriesRequest {
|
274
|
+
# string parent = 1 [(google.api.resource_reference) = {
|
275
|
+
# child_type: "logging.googleapis.com/LogEntry"
|
276
|
+
# };
|
277
|
+
# }
|
242
278
|
class ResourceReference
|
243
279
|
include ::Google::Protobuf::MessageExts
|
244
280
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -70,7 +70,16 @@ module Google
|
|
70
70
|
# .setNanos((int) ((millis % 1000) * 1000000)).build();
|
71
71
|
#
|
72
72
|
#
|
73
|
-
# Example 5: Compute Timestamp from
|
73
|
+
# Example 5: Compute Timestamp from Java `Instant.now()`.
|
74
|
+
#
|
75
|
+
# Instant now = Instant.now();
|
76
|
+
#
|
77
|
+
# Timestamp timestamp =
|
78
|
+
# Timestamp.newBuilder().setSeconds(now.getEpochSecond())
|
79
|
+
# .setNanos(now.getNano()).build();
|
80
|
+
#
|
81
|
+
#
|
82
|
+
# Example 6: Compute Timestamp from current time in Python.
|
74
83
|
#
|
75
84
|
# timestamp = Timestamp()
|
76
85
|
# timestamp.GetCurrentTime()
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-cloud-web_risk-v1
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Google LLC
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-02-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gapic-common
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.3'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0.
|
26
|
+
version: '0.3'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: google-cloud-errors
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -151,7 +151,10 @@ dependencies:
|
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '0.9'
|
153
153
|
description: Web Risk is an enterprise security product that lets your client applications
|
154
|
-
check URLs against Google's constantly updated lists of unsafe web resources.
|
154
|
+
check URLs against Google's constantly updated lists of unsafe web resources. Note
|
155
|
+
that google-cloud-web_risk-v1 is a version-specific client library. For most uses,
|
156
|
+
we recommend installing the main client library google-cloud-web_risk instead. See
|
157
|
+
the readme for more details.
|
155
158
|
email: googleapis-packages@google.com
|
156
159
|
executables: []
|
157
160
|
extensions: []
|
@@ -194,7 +197,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
194
197
|
- !ruby/object:Gem::Version
|
195
198
|
version: '0'
|
196
199
|
requirements: []
|
197
|
-
rubygems_version: 3.
|
200
|
+
rubygems_version: 3.2.6
|
198
201
|
signing_key:
|
199
202
|
specification_version: 4
|
200
203
|
summary: API Client library for the Web Risk V1 API
|