google-cloud-web_risk-v1 0.6.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,381 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # Required information for every language.
23
+ # @!attribute [rw] reference_docs_uri
24
+ # @return [::String]
25
+ # Link to automatically generated reference documentation. Example:
26
+ # https://cloud.google.com/nodejs/docs/reference/asset/latest
27
+ # @!attribute [rw] destinations
28
+ # @return [::Array<::Google::Api::ClientLibraryDestination>]
29
+ # The destination where API teams want this client library to be published.
30
+ class CommonLanguageSettings
31
+ include ::Google::Protobuf::MessageExts
32
+ extend ::Google::Protobuf::MessageExts::ClassMethods
33
+ end
34
+
35
+ # Details about how and where to publish client libraries.
36
+ # @!attribute [rw] version
37
+ # @return [::String]
38
+ # Version of the API to apply these settings to. This is the full protobuf
39
+ # package for the API, ending in the version element.
40
+ # Examples: "google.cloud.speech.v1" and "google.spanner.admin.database.v1".
41
+ # @!attribute [rw] launch_stage
42
+ # @return [::Google::Api::LaunchStage]
43
+ # Launch stage of this version of the API.
44
+ # @!attribute [rw] rest_numeric_enums
45
+ # @return [::Boolean]
46
+ # When using transport=rest, the client request will encode enums as
47
+ # numbers rather than strings.
48
+ # @!attribute [rw] java_settings
49
+ # @return [::Google::Api::JavaSettings]
50
+ # Settings for legacy Java features, supported in the Service YAML.
51
+ # @!attribute [rw] cpp_settings
52
+ # @return [::Google::Api::CppSettings]
53
+ # Settings for C++ client libraries.
54
+ # @!attribute [rw] php_settings
55
+ # @return [::Google::Api::PhpSettings]
56
+ # Settings for PHP client libraries.
57
+ # @!attribute [rw] python_settings
58
+ # @return [::Google::Api::PythonSettings]
59
+ # Settings for Python client libraries.
60
+ # @!attribute [rw] node_settings
61
+ # @return [::Google::Api::NodeSettings]
62
+ # Settings for Node client libraries.
63
+ # @!attribute [rw] dotnet_settings
64
+ # @return [::Google::Api::DotnetSettings]
65
+ # Settings for .NET client libraries.
66
+ # @!attribute [rw] ruby_settings
67
+ # @return [::Google::Api::RubySettings]
68
+ # Settings for Ruby client libraries.
69
+ # @!attribute [rw] go_settings
70
+ # @return [::Google::Api::GoSettings]
71
+ # Settings for Go client libraries.
72
+ class ClientLibrarySettings
73
+ include ::Google::Protobuf::MessageExts
74
+ extend ::Google::Protobuf::MessageExts::ClassMethods
75
+ end
76
+
77
+ # This message configures the settings for publishing [Google Cloud Client
78
+ # libraries](https://cloud.google.com/apis/docs/cloud-client-libraries)
79
+ # generated from the service config.
80
+ # @!attribute [rw] method_settings
81
+ # @return [::Array<::Google::Api::MethodSettings>]
82
+ # A list of API method settings, e.g. the behavior for methods that use the
83
+ # long-running operation pattern.
84
+ # @!attribute [rw] new_issue_uri
85
+ # @return [::String]
86
+ # Link to a *public* URI where users can report issues. Example:
87
+ # https://issuetracker.google.com/issues/new?component=190865&template=1161103
88
+ # @!attribute [rw] documentation_uri
89
+ # @return [::String]
90
+ # Link to product home page. Example:
91
+ # https://cloud.google.com/asset-inventory/docs/overview
92
+ # @!attribute [rw] api_short_name
93
+ # @return [::String]
94
+ # Used as a tracking tag when collecting data about the APIs developer
95
+ # relations artifacts like docs, packages delivered to package managers,
96
+ # etc. Example: "speech".
97
+ # @!attribute [rw] github_label
98
+ # @return [::String]
99
+ # GitHub label to apply to issues and pull requests opened for this API.
100
+ # @!attribute [rw] codeowner_github_teams
101
+ # @return [::Array<::String>]
102
+ # GitHub teams to be added to CODEOWNERS in the directory in GitHub
103
+ # containing source code for the client libraries for this API.
104
+ # @!attribute [rw] doc_tag_prefix
105
+ # @return [::String]
106
+ # A prefix used in sample code when demarking regions to be included in
107
+ # documentation.
108
+ # @!attribute [rw] organization
109
+ # @return [::Google::Api::ClientLibraryOrganization]
110
+ # For whom the client library is being published.
111
+ # @!attribute [rw] library_settings
112
+ # @return [::Array<::Google::Api::ClientLibrarySettings>]
113
+ # Client library settings. If the same version string appears multiple
114
+ # times in this list, then the last one wins. Settings from earlier
115
+ # settings with the same version string are discarded.
116
+ # @!attribute [rw] proto_reference_documentation_uri
117
+ # @return [::String]
118
+ # Optional link to proto reference documentation. Example:
119
+ # https://cloud.google.com/pubsub/lite/docs/reference/rpc
120
+ class Publishing
121
+ include ::Google::Protobuf::MessageExts
122
+ extend ::Google::Protobuf::MessageExts::ClassMethods
123
+ end
124
+
125
+ # Settings for Java client libraries.
126
+ # @!attribute [rw] library_package
127
+ # @return [::String]
128
+ # The package name to use in Java. Clobbers the java_package option
129
+ # set in the protobuf. This should be used **only** by APIs
130
+ # who have already set the language_settings.java.package_name" field
131
+ # in gapic.yaml. API teams should use the protobuf java_package option
132
+ # where possible.
133
+ #
134
+ # Example of a YAML configuration::
135
+ #
136
+ # publishing:
137
+ # java_settings:
138
+ # library_package: com.google.cloud.pubsub.v1
139
+ # @!attribute [rw] service_class_names
140
+ # @return [::Google::Protobuf::Map{::String => ::String}]
141
+ # Configure the Java class name to use instead of the service's for its
142
+ # corresponding generated GAPIC client. Keys are fully-qualified
143
+ # service names as they appear in the protobuf (including the full
144
+ # the language_settings.java.interface_names" field in gapic.yaml. API
145
+ # teams should otherwise use the service name as it appears in the
146
+ # protobuf.
147
+ #
148
+ # Example of a YAML configuration::
149
+ #
150
+ # publishing:
151
+ # java_settings:
152
+ # service_class_names:
153
+ # - google.pubsub.v1.Publisher: TopicAdmin
154
+ # - google.pubsub.v1.Subscriber: SubscriptionAdmin
155
+ # @!attribute [rw] common
156
+ # @return [::Google::Api::CommonLanguageSettings]
157
+ # Some settings.
158
+ class JavaSettings
159
+ include ::Google::Protobuf::MessageExts
160
+ extend ::Google::Protobuf::MessageExts::ClassMethods
161
+
162
+ # @!attribute [rw] key
163
+ # @return [::String]
164
+ # @!attribute [rw] value
165
+ # @return [::String]
166
+ class ServiceClassNamesEntry
167
+ include ::Google::Protobuf::MessageExts
168
+ extend ::Google::Protobuf::MessageExts::ClassMethods
169
+ end
170
+ end
171
+
172
+ # Settings for C++ client libraries.
173
+ # @!attribute [rw] common
174
+ # @return [::Google::Api::CommonLanguageSettings]
175
+ # Some settings.
176
+ class CppSettings
177
+ include ::Google::Protobuf::MessageExts
178
+ extend ::Google::Protobuf::MessageExts::ClassMethods
179
+ end
180
+
181
+ # Settings for Php client libraries.
182
+ # @!attribute [rw] common
183
+ # @return [::Google::Api::CommonLanguageSettings]
184
+ # Some settings.
185
+ class PhpSettings
186
+ include ::Google::Protobuf::MessageExts
187
+ extend ::Google::Protobuf::MessageExts::ClassMethods
188
+ end
189
+
190
+ # Settings for Python client libraries.
191
+ # @!attribute [rw] common
192
+ # @return [::Google::Api::CommonLanguageSettings]
193
+ # Some settings.
194
+ class PythonSettings
195
+ include ::Google::Protobuf::MessageExts
196
+ extend ::Google::Protobuf::MessageExts::ClassMethods
197
+ end
198
+
199
+ # Settings for Node client libraries.
200
+ # @!attribute [rw] common
201
+ # @return [::Google::Api::CommonLanguageSettings]
202
+ # Some settings.
203
+ class NodeSettings
204
+ include ::Google::Protobuf::MessageExts
205
+ extend ::Google::Protobuf::MessageExts::ClassMethods
206
+ end
207
+
208
+ # Settings for Dotnet client libraries.
209
+ # @!attribute [rw] common
210
+ # @return [::Google::Api::CommonLanguageSettings]
211
+ # Some settings.
212
+ # @!attribute [rw] renamed_services
213
+ # @return [::Google::Protobuf::Map{::String => ::String}]
214
+ # Map from original service names to renamed versions.
215
+ # This is used when the default generated types
216
+ # would cause a naming conflict. (Neither name is
217
+ # fully-qualified.)
218
+ # Example: Subscriber to SubscriberServiceApi.
219
+ # @!attribute [rw] renamed_resources
220
+ # @return [::Google::Protobuf::Map{::String => ::String}]
221
+ # Map from full resource types to the effective short name
222
+ # for the resource. This is used when otherwise resource
223
+ # named from different services would cause naming collisions.
224
+ # Example entry:
225
+ # "datalabeling.googleapis.com/Dataset": "DataLabelingDataset"
226
+ # @!attribute [rw] ignored_resources
227
+ # @return [::Array<::String>]
228
+ # List of full resource types to ignore during generation.
229
+ # This is typically used for API-specific Location resources,
230
+ # which should be handled by the generator as if they were actually
231
+ # the common Location resources.
232
+ # Example entry: "documentai.googleapis.com/Location"
233
+ # @!attribute [rw] forced_namespace_aliases
234
+ # @return [::Array<::String>]
235
+ # Namespaces which must be aliased in snippets due to
236
+ # a known (but non-generator-predictable) naming collision
237
+ # @!attribute [rw] handwritten_signatures
238
+ # @return [::Array<::String>]
239
+ # Method signatures (in the form "service.method(signature)")
240
+ # which are provided separately, so shouldn't be generated.
241
+ # Snippets *calling* these methods are still generated, however.
242
+ class DotnetSettings
243
+ include ::Google::Protobuf::MessageExts
244
+ extend ::Google::Protobuf::MessageExts::ClassMethods
245
+
246
+ # @!attribute [rw] key
247
+ # @return [::String]
248
+ # @!attribute [rw] value
249
+ # @return [::String]
250
+ class RenamedServicesEntry
251
+ include ::Google::Protobuf::MessageExts
252
+ extend ::Google::Protobuf::MessageExts::ClassMethods
253
+ end
254
+
255
+ # @!attribute [rw] key
256
+ # @return [::String]
257
+ # @!attribute [rw] value
258
+ # @return [::String]
259
+ class RenamedResourcesEntry
260
+ include ::Google::Protobuf::MessageExts
261
+ extend ::Google::Protobuf::MessageExts::ClassMethods
262
+ end
263
+ end
264
+
265
+ # Settings for Ruby client libraries.
266
+ # @!attribute [rw] common
267
+ # @return [::Google::Api::CommonLanguageSettings]
268
+ # Some settings.
269
+ class RubySettings
270
+ include ::Google::Protobuf::MessageExts
271
+ extend ::Google::Protobuf::MessageExts::ClassMethods
272
+ end
273
+
274
+ # Settings for Go client libraries.
275
+ # @!attribute [rw] common
276
+ # @return [::Google::Api::CommonLanguageSettings]
277
+ # Some settings.
278
+ class GoSettings
279
+ include ::Google::Protobuf::MessageExts
280
+ extend ::Google::Protobuf::MessageExts::ClassMethods
281
+ end
282
+
283
+ # Describes the generator configuration for a method.
284
+ # @!attribute [rw] selector
285
+ # @return [::String]
286
+ # The fully qualified name of the method, for which the options below apply.
287
+ # This is used to find the method to apply the options.
288
+ # @!attribute [rw] long_running
289
+ # @return [::Google::Api::MethodSettings::LongRunning]
290
+ # Describes settings to use for long-running operations when generating
291
+ # API methods for RPCs. Complements RPCs that use the annotations in
292
+ # google/longrunning/operations.proto.
293
+ #
294
+ # Example of a YAML configuration::
295
+ #
296
+ # publishing:
297
+ # method_settings:
298
+ # - selector: google.cloud.speech.v2.Speech.BatchRecognize
299
+ # long_running:
300
+ # initial_poll_delay:
301
+ # seconds: 60 # 1 minute
302
+ # poll_delay_multiplier: 1.5
303
+ # max_poll_delay:
304
+ # seconds: 360 # 6 minutes
305
+ # total_poll_timeout:
306
+ # seconds: 54000 # 90 minutes
307
+ class MethodSettings
308
+ include ::Google::Protobuf::MessageExts
309
+ extend ::Google::Protobuf::MessageExts::ClassMethods
310
+
311
+ # Describes settings to use when generating API methods that use the
312
+ # long-running operation pattern.
313
+ # All default values below are from those used in the client library
314
+ # generators (e.g.
315
+ # [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)).
316
+ # @!attribute [rw] initial_poll_delay
317
+ # @return [::Google::Protobuf::Duration]
318
+ # Initial delay after which the first poll request will be made.
319
+ # Default value: 5 seconds.
320
+ # @!attribute [rw] poll_delay_multiplier
321
+ # @return [::Float]
322
+ # Multiplier to gradually increase delay between subsequent polls until it
323
+ # reaches max_poll_delay.
324
+ # Default value: 1.5.
325
+ # @!attribute [rw] max_poll_delay
326
+ # @return [::Google::Protobuf::Duration]
327
+ # Maximum time between two subsequent poll requests.
328
+ # Default value: 45 seconds.
329
+ # @!attribute [rw] total_poll_timeout
330
+ # @return [::Google::Protobuf::Duration]
331
+ # Total polling timeout.
332
+ # Default value: 5 minutes.
333
+ class LongRunning
334
+ include ::Google::Protobuf::MessageExts
335
+ extend ::Google::Protobuf::MessageExts::ClassMethods
336
+ end
337
+ end
338
+
339
+ # The organization for which the client libraries are being published.
340
+ # Affects the url where generated docs are published, etc.
341
+ module ClientLibraryOrganization
342
+ # Not useful.
343
+ CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED = 0
344
+
345
+ # Google Cloud Platform Org.
346
+ CLOUD = 1
347
+
348
+ # Ads (Advertising) Org.
349
+ ADS = 2
350
+
351
+ # Photos Org.
352
+ PHOTOS = 3
353
+
354
+ # Street View Org.
355
+ STREET_VIEW = 4
356
+
357
+ # Shopping Org.
358
+ SHOPPING = 5
359
+
360
+ # Geo Org.
361
+ GEO = 6
362
+
363
+ # Generative AI - https://developers.generativeai.google
364
+ GENERATIVE_AI = 7
365
+ end
366
+
367
+ # To where should client libraries be published?
368
+ module ClientLibraryDestination
369
+ # Client libraries will neither be generated nor published to package
370
+ # managers.
371
+ CLIENT_LIBRARY_DESTINATION_UNSPECIFIED = 0
372
+
373
+ # Generate the client library in a repo under github.com/googleapis,
374
+ # but don't publish it to package managers.
375
+ GITHUB = 10
376
+
377
+ # Publish the library to package managers like nuget.org and npmjs.com.
378
+ PACKAGE_MANAGER = 20
379
+ end
380
+ end
381
+ end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # The launch stage as defined by [Google Cloud Platform
23
+ # Launch Stages](https://cloud.google.com/terms/launch-stages).
24
+ module LaunchStage
25
+ # Do not use this default value.
26
+ LAUNCH_STAGE_UNSPECIFIED = 0
27
+
28
+ # The feature is not yet implemented. Users can not use it.
29
+ UNIMPLEMENTED = 6
30
+
31
+ # Prelaunch features are hidden from users and are only visible internally.
32
+ PRELAUNCH = 7
33
+
34
+ # Early Access features are limited to a closed group of testers. To use
35
+ # these features, you must sign up in advance and sign a Trusted Tester
36
+ # agreement (which includes confidentiality provisions). These features may
37
+ # be unstable, changed in backward-incompatible ways, and are not
38
+ # guaranteed to be released.
39
+ EARLY_ACCESS = 1
40
+
41
+ # Alpha is a limited availability test for releases before they are cleared
42
+ # for widespread use. By Alpha, all significant design issues are resolved
43
+ # and we are in the process of verifying functionality. Alpha customers
44
+ # need to apply for access, agree to applicable terms, and have their
45
+ # projects allowlisted. Alpha releases don't have to be feature complete,
46
+ # no SLAs are provided, and there are no technical support obligations, but
47
+ # they will be far enough along that customers can actually use them in
48
+ # test environments or for limited-use tests -- just like they would in
49
+ # normal production cases.
50
+ ALPHA = 2
51
+
52
+ # Beta is the point at which we are ready to open a release for any
53
+ # customer to use. There are no SLA or technical support obligations in a
54
+ # Beta release. Products will be complete from a feature perspective, but
55
+ # may have some open outstanding issues. Beta releases are suitable for
56
+ # limited production use cases.
57
+ BETA = 3
58
+
59
+ # GA features are open to all developers and are considered stable and
60
+ # fully qualified for production use.
61
+ GA = 4
62
+
63
+ # Deprecated features are scheduled to be shut down and removed. For more
64
+ # information, see the "Deprecation Policy" section of our [Terms of
65
+ # Service](https://cloud.google.com/terms/)
66
+ # and the [Google Cloud Platform Subject to the Deprecation
67
+ # Policy](https://cloud.google.com/terms/deprecation) documentation.
68
+ DEPRECATED = 5
69
+ end
70
+ end
71
+ end
@@ -24,9 +24,9 @@ module Google
24
24
  # Describes an API diff request.
25
25
  # @!attribute [rw] threat_type
26
26
  # @return [::Google::Cloud::WebRisk::V1::ThreatType]
27
- # Required. The threat list to update. Only a single ThreatType should be specified
28
- # per request. If you want to handle multiple ThreatTypes, you must make one
29
- # request per ThreatType.
27
+ # Required. The threat list to update. Only a single ThreatType should be
28
+ # specified per request. If you want to handle multiple ThreatTypes, you must
29
+ # make one request per ThreatType.
30
30
  # @!attribute [rw] version_token
31
31
  # @return [::String]
32
32
  # The current version token of the client for the requested list (the
@@ -124,7 +124,8 @@ module Google
124
124
  # Required. The URI to be checked for matches.
125
125
  # @!attribute [rw] threat_types
126
126
  # @return [::Array<::Google::Cloud::WebRisk::V1::ThreatType>]
127
- # Required. The ThreatLists to search in. Multiple ThreatLists may be specified.
127
+ # Required. The ThreatLists to search in. Multiple ThreatLists may be
128
+ # specified.
128
129
  class SearchUrisRequest
129
130
  include ::Google::Protobuf::MessageExts
130
131
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -160,7 +161,8 @@ module Google
160
161
  # the web safe base64 variant (RFC 4648).
161
162
  # @!attribute [rw] threat_types
162
163
  # @return [::Array<::Google::Cloud::WebRisk::V1::ThreatType>]
163
- # Required. The ThreatLists to search in. Multiple ThreatLists may be specified.
164
+ # Required. The ThreatLists to search in. Multiple ThreatLists may be
165
+ # specified.
164
166
  class SearchHashesRequest
165
167
  include ::Google::Protobuf::MessageExts
166
168
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -287,17 +289,142 @@ module Google
287
289
  # Wraps a URI that might be displaying malicious content.
288
290
  # @!attribute [rw] uri
289
291
  # @return [::String]
290
- # Required. The URI that is being reported for malicious content to be analyzed.
292
+ # Required. The URI that is being reported for malicious content to be
293
+ # analyzed.
294
+ # @!attribute [r] threat_types
295
+ # @return [::Array<::Google::Cloud::WebRisk::V1::ThreatType>]
296
+ # Output only. ThreatTypes found to be associated with the submitted URI
297
+ # after reviewing it. This might be empty if the URI was not added to any
298
+ # list.
291
299
  class Submission
292
300
  include ::Google::Protobuf::MessageExts
293
301
  extend ::Google::Protobuf::MessageExts::ClassMethods
294
302
  end
295
303
 
304
+ # Context about the submission including the type of abuse found on the URI and
305
+ # supporting details.
306
+ # option (google.api.message_visibility).restriction = "TRUSTED_TESTER";
307
+ # @!attribute [rw] abuse_type
308
+ # @return [::Google::Cloud::WebRisk::V1::ThreatInfo::AbuseType]
309
+ # The type of abuse.
310
+ # @!attribute [rw] threat_confidence
311
+ # @return [::Google::Cloud::WebRisk::V1::ThreatInfo::Confidence]
312
+ # Confidence that the URI is unsafe.
313
+ # @!attribute [rw] threat_justification
314
+ # @return [::Google::Cloud::WebRisk::V1::ThreatInfo::ThreatJustification]
315
+ # Context about why the URI is unsafe.
316
+ class ThreatInfo
317
+ include ::Google::Protobuf::MessageExts
318
+ extend ::Google::Protobuf::MessageExts::ClassMethods
319
+
320
+ # Confidence that a URI is unsafe.
321
+ # @!attribute [rw] score
322
+ # @return [::Float]
323
+ # A decimal representation of confidence in the range of 0
324
+ # to 1 where 0 indicates no confidence and 1 indicates
325
+ # complete confidence.
326
+ # @!attribute [rw] level
327
+ # @return [::Google::Cloud::WebRisk::V1::ThreatInfo::Confidence::ConfidenceLevel]
328
+ # Enum representation of confidence.
329
+ class Confidence
330
+ include ::Google::Protobuf::MessageExts
331
+ extend ::Google::Protobuf::MessageExts::ClassMethods
332
+
333
+ # Enum representation of confidence.
334
+ module ConfidenceLevel
335
+ # Default.
336
+ CONFIDENCE_LEVEL_UNSPECIFIED = 0
337
+
338
+ # Less than 60% confidence that the URI is unsafe.
339
+ LOW = 1
340
+
341
+ # Between 60% and 80% confidence that the URI is unsafe.
342
+ MEDIUM = 2
343
+
344
+ # Greater than 80% confidence that the URI is unsafe.
345
+ HIGH = 3
346
+ end
347
+ end
348
+
349
+ # Context about why the URI is unsafe.
350
+ # @!attribute [rw] labels
351
+ # @return [::Array<::Google::Cloud::WebRisk::V1::ThreatInfo::ThreatJustification::JustificationLabel>]
352
+ # Labels associated with this URI that explain how it was classified.
353
+ # @!attribute [rw] comments
354
+ # @return [::Array<::String>]
355
+ # Free-form context on why this URI is unsafe.
356
+ class ThreatJustification
357
+ include ::Google::Protobuf::MessageExts
358
+ extend ::Google::Protobuf::MessageExts::ClassMethods
359
+
360
+ # Labels that explain how the URI was classified.
361
+ module JustificationLabel
362
+ # Default.
363
+ JUSTIFICATION_LABEL_UNSPECIFIED = 0
364
+
365
+ # The submitter manually verified that the submission is unsafe.
366
+ MANUAL_VERIFICATION = 1
367
+
368
+ # The submitter received the submission from an end user.
369
+ USER_REPORT = 2
370
+
371
+ # The submitter received the submission from an automated system.
372
+ AUTOMATED_REPORT = 3
373
+ end
374
+ end
375
+
376
+ # The abuse type found on the URI.
377
+ module AbuseType
378
+ # Default.
379
+ ABUSE_TYPE_UNSPECIFIED = 0
380
+
381
+ # The URI contains malware.
382
+ MALWARE = 1
383
+
384
+ # The URI contains social engineering.
385
+ SOCIAL_ENGINEERING = 2
386
+
387
+ # The URI contains unwanted software.
388
+ UNWANTED_SOFTWARE = 3
389
+ end
390
+ end
391
+
392
+ # Details about how the threat was discovered.
393
+ # @!attribute [rw] platform
394
+ # @return [::Google::Cloud::WebRisk::V1::ThreatDiscovery::Platform]
395
+ # Platform on which the threat was discovered.
396
+ # @!attribute [rw] region_codes
397
+ # @return [::Array<::String>]
398
+ # CLDR region code of the countries/regions the URI poses a threat ordered
399
+ # from most impact to least impact. Example: "US" for United States.
400
+ class ThreatDiscovery
401
+ include ::Google::Protobuf::MessageExts
402
+ extend ::Google::Protobuf::MessageExts::ClassMethods
403
+
404
+ # Platform types.
405
+ module Platform
406
+ # Default.
407
+ PLATFORM_UNSPECIFIED = 0
408
+
409
+ # General Android platform.
410
+ ANDROID = 1
411
+
412
+ # General iOS platform.
413
+ IOS = 2
414
+
415
+ # General macOS platform.
416
+ MACOS = 3
417
+
418
+ # General Windows platform.
419
+ WINDOWS = 4
420
+ end
421
+ end
422
+
296
423
  # Request to send a potentially phishy URI to WebRisk.
297
424
  # @!attribute [rw] parent
298
425
  # @return [::String]
299
- # Required. The name of the project that is making the submission. This string is in
300
- # the format "projects/\\{project_number}".
426
+ # Required. The name of the project that is making the submission. This
427
+ # string is in the format "projects/\\{project_number}".
301
428
  # @!attribute [rw] submission
302
429
  # @return [::Google::Cloud::WebRisk::V1::Submission]
303
430
  # Required. The submission that contains the content of the phishing report.
@@ -306,6 +433,62 @@ module Google
306
433
  extend ::Google::Protobuf::MessageExts::ClassMethods
307
434
  end
308
435
 
436
+ # Request to send a potentially malicious URI to WebRisk.
437
+ # @!attribute [rw] parent
438
+ # @return [::String]
439
+ # Required. The name of the project that is making the submission. This
440
+ # string is in the format "projects/\\{project_number}".
441
+ # @!attribute [rw] submission
442
+ # @return [::Google::Cloud::WebRisk::V1::Submission]
443
+ # Required. The submission that contains the URI to be scanned.
444
+ # @!attribute [rw] threat_info
445
+ # @return [::Google::Cloud::WebRisk::V1::ThreatInfo]
446
+ # Provides additional information about the submission.
447
+ # @!attribute [rw] threat_discovery
448
+ # @return [::Google::Cloud::WebRisk::V1::ThreatDiscovery]
449
+ # Provides additional information about how the submission was discovered.
450
+ class SubmitUriRequest
451
+ include ::Google::Protobuf::MessageExts
452
+ extend ::Google::Protobuf::MessageExts::ClassMethods
453
+ end
454
+
455
+ # Metadata for the Submit URI long-running operation.
456
+ # option (google.api.message_visibility).restriction = "TRUSTED_TESTER";
457
+ # @!attribute [rw] state
458
+ # @return [::Google::Cloud::WebRisk::V1::SubmitUriMetadata::State]
459
+ # The state of the operation.
460
+ # @!attribute [rw] create_time
461
+ # @return [::Google::Protobuf::Timestamp]
462
+ # Creation time of the operation.
463
+ # @!attribute [rw] update_time
464
+ # @return [::Google::Protobuf::Timestamp]
465
+ # Latest update time of the operation.
466
+ class SubmitUriMetadata
467
+ include ::Google::Protobuf::MessageExts
468
+ extend ::Google::Protobuf::MessageExts::ClassMethods
469
+
470
+ # Enum that represents the state of the long-running operation.
471
+ module State
472
+ # Default unspecified state.
473
+ STATE_UNSPECIFIED = 0
474
+
475
+ # The operation is currently running.
476
+ RUNNING = 1
477
+
478
+ # The operation finished with a success status.
479
+ SUCCEEDED = 2
480
+
481
+ # The operation was cancelled.
482
+ CANCELLED = 3
483
+
484
+ # The operation finished with a failure status.
485
+ FAILED = 4
486
+
487
+ # The operation was closed with no action taken.
488
+ CLOSED = 5
489
+ end
490
+ end
491
+
309
492
  # The type of threat. This maps directly to the threat list a threat may
310
493
  # belong to.
311
494
  module ThreatType