| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  | # Copyright 2020 Google LLC | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # Licensed under the Apache License, Version 2.0 (the "License"); | 
					
						
							|  |  |  | # you may not use this file except in compliance with the License. | 
					
						
							|  |  |  | # You may obtain a copy of the License at | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | #      http://www.apache.org/licenses/LICENSE-2.0 | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # Unless required by applicable law or agreed to in writing, software | 
					
						
							|  |  |  | # distributed under the License is distributed on an "AS IS" BASIS, | 
					
						
							|  |  |  | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
					
						
							|  |  |  | # See the License for the specific language governing permissions and | 
					
						
							|  |  |  | # limitations under the License. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | require 'date' | 
					
						
							|  |  |  | require 'google/apis/core/base_service' | 
					
						
							|  |  |  | require 'google/apis/core/json_representation' | 
					
						
							|  |  |  | require 'google/apis/core/hashable' | 
					
						
							|  |  |  | require 'google/apis/errors' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | module Google | 
					
						
							|  |  |  |   module Apis | 
					
						
							|  |  |  |     module SafebrowsingV4 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |       # A generic empty message that you can re-use to avoid defining duplicated empty | 
					
						
							|  |  |  |       # messages in your APIs. A typical example is to use it as the request or the | 
					
						
							|  |  |  |       # response type of an API method. For instance: service Foo ` rpc Bar(google. | 
					
						
							|  |  |  |       # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for | 
					
						
							|  |  |  |       # `Empty` is empty JSON object ````. | 
					
						
							|  |  |  |       class GoogleProtobufEmpty | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |       # The expected state of a client's local database. | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |       class GoogleSecuritySafebrowsingV4Checksum | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The SHA256 hash of the client state; that is, of the sorted list of all hashes | 
					
						
							|  |  |  |         # present in the database. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `sha256` | 
					
						
							|  |  |  |         # NOTE: Values are automatically base64 encoded/decoded in the client library. | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :sha256 | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @sha256 = args[:sha256] if args.key?(:sha256) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # The client metadata associated with Safe Browsing API requests. | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |       class GoogleSecuritySafebrowsingV4ClientInfo | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # A client ID that (hopefully) uniquely identifies the client implementation of | 
					
						
							|  |  |  |         # the Safe Browsing API. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `clientId` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :client_id | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The version of the client implementation. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `clientVersion` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :client_version | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @client_id = args[:client_id] if args.key?(:client_id) | 
					
						
							|  |  |  |           @client_version = args[:client_version] if args.key?(:client_version) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |       # Describes a Safe Browsing API update request. Clients can request updates for | 
					
						
							| 
									
										
										
										
											2021-01-08 16:44:35 +00:00
										 |  |  |       # multiple lists in a single request. The server may not respond to all requests, | 
					
						
							|  |  |  |       # if the server has no updates for that list. NOTE: Field index 2 is unused. | 
					
						
							|  |  |  |       # NEXT: 5 | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |       class GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequest | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The client metadata associated with Safe Browsing API requests. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `client` | 
					
						
							|  |  |  |         # @return [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4ClientInfo] | 
					
						
							|  |  |  |         attr_accessor :client | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The requested threat list updates. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `listUpdateRequests` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequestListUpdateRequest>] | 
					
						
							|  |  |  |         attr_accessor :list_update_requests | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @client = args[:client] if args.key?(:client) | 
					
						
							|  |  |  |           @list_update_requests = args[:list_update_requests] if args.key?(:list_update_requests) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # A single list update request. | 
					
						
							|  |  |  |       class GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequestListUpdateRequest | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The constraints for this update. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `constraints` | 
					
						
							|  |  |  |         # @return [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequestListUpdateRequestConstraints] | 
					
						
							|  |  |  |         attr_accessor :constraints | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The type of platform at risk by entries present in the list. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `platformType` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :platform_type | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The current state of the client for the requested list (the encrypted client | 
					
						
							|  |  |  |         # state that was received from the last successful list update). | 
					
						
							|  |  |  |         # Corresponds to the JSON property `state` | 
					
						
							|  |  |  |         # NOTE: Values are automatically base64 encoded/decoded in the client library. | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :state | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The types of entries present in the list. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `threatEntryType` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :threat_entry_type | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The type of threat posed by entries present in the list. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `threatType` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :threat_type | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @constraints = args[:constraints] if args.key?(:constraints) | 
					
						
							|  |  |  |           @platform_type = args[:platform_type] if args.key?(:platform_type) | 
					
						
							|  |  |  |           @state = args[:state] if args.key?(:state) | 
					
						
							|  |  |  |           @threat_entry_type = args[:threat_entry_type] if args.key?(:threat_entry_type) | 
					
						
							|  |  |  |           @threat_type = args[:threat_type] if args.key?(:threat_type) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |       # The constraints for this update. | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |       class GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequestListUpdateRequestConstraints | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # A client's physical location, expressed as a ISO 31166-1 alpha-2 region code. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `deviceLocation` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :device_location | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Requests the lists for a specific language. Expects ISO 639 alpha-2 format. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `language` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :language | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Sets the maximum number of entries that the client is willing to have in the | 
					
						
							|  |  |  |         # local database for the specified list. This should be a power of 2 between 2** | 
					
						
							|  |  |  |         # 10 and 2**20. If zero, no database size limit is set. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `maxDatabaseEntries` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :max_database_entries | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The maximum size in number of entries. The update will not contain more | 
					
						
							|  |  |  |         # entries than this value. This should be a power of 2 between 2**10 and 2**20. | 
					
						
							|  |  |  |         # If zero, no update size limit is set. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `maxUpdateEntries` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :max_update_entries | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Requests the list for a specific geographic location. If not set the server | 
					
						
							|  |  |  |         # may pick that value based on the user's IP address. Expects ISO 3166-1 alpha-2 | 
					
						
							|  |  |  |         # format. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `region` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :region | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The compression types supported by the client. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `supportedCompressions` | 
					
						
							|  |  |  |         # @return [Array<String>] | 
					
						
							|  |  |  |         attr_accessor :supported_compressions | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @device_location = args[:device_location] if args.key?(:device_location) | 
					
						
							|  |  |  |           @language = args[:language] if args.key?(:language) | 
					
						
							|  |  |  |           @max_database_entries = args[:max_database_entries] if args.key?(:max_database_entries) | 
					
						
							|  |  |  |           @max_update_entries = args[:max_update_entries] if args.key?(:max_update_entries) | 
					
						
							|  |  |  |           @region = args[:region] if args.key?(:region) | 
					
						
							|  |  |  |           @supported_compressions = args[:supported_compressions] if args.key?(:supported_compressions) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |       #  | 
					
						
							|  |  |  |       class GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponse | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2021-01-08 16:44:35 +00:00
										 |  |  |         # The list updates requested by the clients. The number of responses here may be | 
					
						
							|  |  |  |         # less than the number of requests sent by clients. This is the case, for | 
					
						
							|  |  |  |         # example, if the server has no updates for a particular list. | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # Corresponds to the JSON property `listUpdateResponses` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponseListUpdateResponse>] | 
					
						
							|  |  |  |         attr_accessor :list_update_responses | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The minimum duration the client must wait before issuing any update request. | 
					
						
							|  |  |  |         # If this field is not set clients may update as soon as they want. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `minimumWaitDuration` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :minimum_wait_duration | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |           @list_update_responses = args[:list_update_responses] if args.key?(:list_update_responses) | 
					
						
							|  |  |  |           @minimum_wait_duration = args[:minimum_wait_duration] if args.key?(:minimum_wait_duration) | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |       # An update to an individual list. | 
					
						
							|  |  |  |       class GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponseListUpdateResponse | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # A set of entries to add to a local threat type's list. Repeated to allow for a | 
					
						
							|  |  |  |         # combination of compressed and raw data to be sent in a single response. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `additions` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4ThreatEntrySet>] | 
					
						
							|  |  |  |         attr_accessor :additions | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |        | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # The expected state of a client's local database. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `checksum` | 
					
						
							|  |  |  |         # @return [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4Checksum] | 
					
						
							|  |  |  |         attr_accessor :checksum | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |        | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # The new client state, in encrypted format. Opaque to clients. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `newClientState` | 
					
						
							|  |  |  |         # NOTE: Values are automatically base64 encoded/decoded in the client library. | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :new_client_state | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |        | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # The platform type for which data is returned. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `platformType` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :platform_type | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |        | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # A set of entries to remove from a local threat type's list. In practice, this | 
					
						
							|  |  |  |         # field is empty or contains exactly one ThreatEntrySet. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `removals` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4ThreatEntrySet>] | 
					
						
							|  |  |  |         attr_accessor :removals | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |        | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # The type of response. This may indicate that an action is required by the | 
					
						
							|  |  |  |         # client when the response is received. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `responseType` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :response_type | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |        | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # The format of the threats. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `threatEntryType` | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         # @return [String] | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         attr_accessor :threat_entry_type | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The threat type for which data is returned. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `threatType` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :threat_type | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |           @additions = args[:additions] if args.key?(:additions) | 
					
						
							|  |  |  |           @checksum = args[:checksum] if args.key?(:checksum) | 
					
						
							|  |  |  |           @new_client_state = args[:new_client_state] if args.key?(:new_client_state) | 
					
						
							|  |  |  |           @platform_type = args[:platform_type] if args.key?(:platform_type) | 
					
						
							|  |  |  |           @removals = args[:removals] if args.key?(:removals) | 
					
						
							|  |  |  |           @response_type = args[:response_type] if args.key?(:response_type) | 
					
						
							|  |  |  |           @threat_entry_type = args[:threat_entry_type] if args.key?(:threat_entry_type) | 
					
						
							|  |  |  |           @threat_type = args[:threat_type] if args.key?(:threat_type) | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Request to return full hashes matched by the provided hash prefixes. | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |       class GoogleSecuritySafebrowsingV4FindFullHashesRequest | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The client metadata associated with Safe Browsing API requests. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `apiClient` | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # @return [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4ClientInfo] | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         attr_accessor :api_client | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The client metadata associated with Safe Browsing API requests. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `client` | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # @return [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4ClientInfo] | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         attr_accessor :client | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The current client states for each of the client's local threat lists. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `clientStates` | 
					
						
							|  |  |  |         # @return [Array<String>] | 
					
						
							|  |  |  |         attr_accessor :client_states | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The information regarding one or more threats that a client submits when | 
					
						
							|  |  |  |         # checking for matches in threat lists. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `threatInfo` | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # @return [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4ThreatInfo] | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         attr_accessor :threat_info | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @api_client = args[:api_client] if args.key?(:api_client) | 
					
						
							|  |  |  |           @client = args[:client] if args.key?(:client) | 
					
						
							|  |  |  |           @client_states = args[:client_states] if args.key?(:client_states) | 
					
						
							|  |  |  |           @threat_info = args[:threat_info] if args.key?(:threat_info) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       #  | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |       class GoogleSecuritySafebrowsingV4FindFullHashesResponse | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The full hashes that matched the requested prefixes. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `matches` | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # @return [Array<Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4ThreatMatch>] | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         attr_accessor :matches | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The minimum duration the client must wait before issuing any find hashes | 
					
						
							|  |  |  |         # request. If this field is not set, clients can issue a request as soon as they | 
					
						
							|  |  |  |         # want. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `minimumWaitDuration` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :minimum_wait_duration | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # For requested entities that did not match the threat list, how long to cache | 
					
						
							|  |  |  |         # the response. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `negativeCacheDuration` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :negative_cache_duration | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @matches = args[:matches] if args.key?(:matches) | 
					
						
							|  |  |  |           @minimum_wait_duration = args[:minimum_wait_duration] if args.key?(:minimum_wait_duration) | 
					
						
							|  |  |  |           @negative_cache_duration = args[:negative_cache_duration] if args.key?(:negative_cache_duration) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Request to check entries against lists. | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |       class GoogleSecuritySafebrowsingV4FindThreatMatchesRequest | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The client metadata associated with Safe Browsing API requests. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `client` | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # @return [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4ClientInfo] | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         attr_accessor :client | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The information regarding one or more threats that a client submits when | 
					
						
							|  |  |  |         # checking for matches in threat lists. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `threatInfo` | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # @return [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4ThreatInfo] | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         attr_accessor :threat_info | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @client = args[:client] if args.key?(:client) | 
					
						
							|  |  |  |           @threat_info = args[:threat_info] if args.key?(:threat_info) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       #  | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |       class GoogleSecuritySafebrowsingV4FindThreatMatchesResponse | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The threat list matches. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `matches` | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # @return [Array<Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4ThreatMatch>] | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         attr_accessor :matches | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @matches = args[:matches] if args.key?(:matches) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       #  | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |       class GoogleSecuritySafebrowsingV4ListThreatListsResponse | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The lists available for download by the client. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `threatLists` | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # @return [Array<Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4ThreatListDescriptor>] | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         attr_accessor :threat_lists | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @threat_lists = args[:threat_lists] if args.key?(:threat_lists) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # The uncompressed threat entries in hash format of a particular prefix length. | 
					
						
							|  |  |  |       # Hashes can be anywhere from 4 to 32 bytes in size. A large majority are 4 | 
					
						
							|  |  |  |       # bytes, but some hashes are lengthened if they collide with the hash of a | 
					
						
							|  |  |  |       # popular URL. Used for sending ThreatEntrySet to clients that do not support | 
					
						
							|  |  |  |       # compression, or when sending non-4-byte hashes to clients that do support | 
					
						
							|  |  |  |       # compression. | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |       class GoogleSecuritySafebrowsingV4RawHashes | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The number of bytes for each prefix encoded below. This field can be anywhere | 
					
						
							|  |  |  |         # from 4 (shortest prefix) to 32 (full SHA256 hash). | 
					
						
							|  |  |  |         # Corresponds to the JSON property `prefixSize` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :prefix_size | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The hashes, in binary format, concatenated into one long string. Hashes are | 
					
						
							|  |  |  |         # sorted in lexicographic order. For JSON API users, hashes are base64-encoded. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `rawHashes` | 
					
						
							|  |  |  |         # NOTE: Values are automatically base64 encoded/decoded in the client library. | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :raw_hashes | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @prefix_size = args[:prefix_size] if args.key?(:prefix_size) | 
					
						
							|  |  |  |           @raw_hashes = args[:raw_hashes] if args.key?(:raw_hashes) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # A set of raw indices to remove from a local list. | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |       class GoogleSecuritySafebrowsingV4RawIndices | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The indices to remove from a lexicographically-sorted local list. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `indices` | 
					
						
							|  |  |  |         # @return [Array<Fixnum>] | 
					
						
							|  |  |  |         attr_accessor :indices | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @indices = args[:indices] if args.key?(:indices) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # The Rice-Golomb encoded data. Used for sending compressed 4-byte hashes or | 
					
						
							|  |  |  |       # compressed removal indices. | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |       class GoogleSecuritySafebrowsingV4RiceDeltaEncoding | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The encoded deltas that are encoded using the Golomb-Rice coder. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `encodedData` | 
					
						
							|  |  |  |         # NOTE: Values are automatically base64 encoded/decoded in the client library. | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :encoded_data | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The offset of the first entry in the encoded data, or, if only a single | 
					
						
							|  |  |  |         # integer was encoded, that single integer's value. If the field is empty or | 
					
						
							|  |  |  |         # missing, assume zero. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `firstValue` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :first_value | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The number of entries that are delta encoded in the encoded data. If only a | 
					
						
							|  |  |  |         # single integer was encoded, this will be zero and the single value will be | 
					
						
							|  |  |  |         # stored in `first_value`. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `numEntries` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :num_entries | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The Golomb-Rice parameter, which is a number between 2 and 28. This field is | 
					
						
							|  |  |  |         # missing (that is, zero) if `num_entries` is zero. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `riceParameter` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :rice_parameter | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @encoded_data = args[:encoded_data] if args.key?(:encoded_data) | 
					
						
							|  |  |  |           @first_value = args[:first_value] if args.key?(:first_value) | 
					
						
							|  |  |  |           @num_entries = args[:num_entries] if args.key?(:num_entries) | 
					
						
							|  |  |  |           @rice_parameter = args[:rice_parameter] if args.key?(:rice_parameter) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # An individual threat; for example, a malicious URL or its hash representation. | 
					
						
							|  |  |  |       # Only one of these fields should be set. | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |       class GoogleSecuritySafebrowsingV4ThreatEntry | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The digest of an executable in SHA256 format. The API supports both binary and | 
					
						
							|  |  |  |         # hex digests. For JSON requests, digests are base64-encoded. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `digest` | 
					
						
							|  |  |  |         # NOTE: Values are automatically base64 encoded/decoded in the client library. | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :digest | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # A hash prefix, consisting of the most significant 4-32 bytes of a SHA256 hash. | 
					
						
							|  |  |  |         # This field is in binary format. For JSON requests, hashes are base64-encoded. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `hash` | 
					
						
							|  |  |  |         # NOTE: Values are automatically base64 encoded/decoded in the client library. | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :hash_prop | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # A URL. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `url` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :url | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @digest = args[:digest] if args.key?(:digest) | 
					
						
							|  |  |  |           @hash_prop = args[:hash_prop] if args.key?(:hash_prop) | 
					
						
							|  |  |  |           @url = args[:url] if args.key?(:url) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # The metadata associated with a specific threat entry. The client is expected | 
					
						
							|  |  |  |       # to know the metadata key/value pairs associated with each threat type. | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |       class GoogleSecuritySafebrowsingV4ThreatEntryMetadata | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The metadata entries. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `entries` | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # @return [Array<Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4ThreatEntryMetadataMetadataEntry>] | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         attr_accessor :entries | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @entries = args[:entries] if args.key?(:entries) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |       # A single metadata entry. | 
					
						
							|  |  |  |       class GoogleSecuritySafebrowsingV4ThreatEntryMetadataMetadataEntry | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The metadata entry key. For JSON requests, the key is base64-encoded. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `key` | 
					
						
							|  |  |  |         # NOTE: Values are automatically base64 encoded/decoded in the client library. | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :key | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The metadata entry value. For JSON requests, the value is base64-encoded. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `value` | 
					
						
							|  |  |  |         # NOTE: Values are automatically base64 encoded/decoded in the client library. | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :value | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @key = args[:key] if args.key?(:key) | 
					
						
							|  |  |  |           @value = args[:value] if args.key?(:value) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |       # A set of threats that should be added or removed from a client's local | 
					
						
							|  |  |  |       # database. | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |       class GoogleSecuritySafebrowsingV4ThreatEntrySet | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The compression type for the entries in this set. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `compressionType` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :compression_type | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The uncompressed threat entries in hash format of a particular prefix length. | 
					
						
							|  |  |  |         # Hashes can be anywhere from 4 to 32 bytes in size. A large majority are 4 | 
					
						
							|  |  |  |         # bytes, but some hashes are lengthened if they collide with the hash of a | 
					
						
							|  |  |  |         # popular URL. Used for sending ThreatEntrySet to clients that do not support | 
					
						
							|  |  |  |         # compression, or when sending non-4-byte hashes to clients that do support | 
					
						
							|  |  |  |         # compression. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `rawHashes` | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # @return [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4RawHashes] | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         attr_accessor :raw_hashes | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # A set of raw indices to remove from a local list. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `rawIndices` | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # @return [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4RawIndices] | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         attr_accessor :raw_indices | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The Rice-Golomb encoded data. Used for sending compressed 4-byte hashes or | 
					
						
							|  |  |  |         # compressed removal indices. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `riceHashes` | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # @return [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4RiceDeltaEncoding] | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         attr_accessor :rice_hashes | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The Rice-Golomb encoded data. Used for sending compressed 4-byte hashes or | 
					
						
							|  |  |  |         # compressed removal indices. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `riceIndices` | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # @return [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4RiceDeltaEncoding] | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         attr_accessor :rice_indices | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @compression_type = args[:compression_type] if args.key?(:compression_type) | 
					
						
							|  |  |  |           @raw_hashes = args[:raw_hashes] if args.key?(:raw_hashes) | 
					
						
							|  |  |  |           @raw_indices = args[:raw_indices] if args.key?(:raw_indices) | 
					
						
							|  |  |  |           @rice_hashes = args[:rice_hashes] if args.key?(:rice_hashes) | 
					
						
							|  |  |  |           @rice_indices = args[:rice_indices] if args.key?(:rice_indices) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       #  | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |       class GoogleSecuritySafebrowsingV4ThreatHit | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The client metadata associated with Safe Browsing API requests. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `clientInfo` | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # @return [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4ClientInfo] | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         attr_accessor :client_info | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # An individual threat; for example, a malicious URL or its hash representation. | 
					
						
							|  |  |  |         # Only one of these fields should be set. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `entry` | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # @return [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4ThreatEntry] | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         attr_accessor :entry | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The platform type reported. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `platformType` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :platform_type | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The resources related to the threat hit. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `resources` | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # @return [Array<Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4ThreatHitThreatSource>] | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         attr_accessor :resources | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The threat type reported. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `threatType` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :threat_type | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Details about the user that encountered the threat. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `userInfo` | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # @return [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4ThreatHitUserInfo] | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         attr_accessor :user_info | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @client_info = args[:client_info] if args.key?(:client_info) | 
					
						
							|  |  |  |           @entry = args[:entry] if args.key?(:entry) | 
					
						
							|  |  |  |           @platform_type = args[:platform_type] if args.key?(:platform_type) | 
					
						
							|  |  |  |           @resources = args[:resources] if args.key?(:resources) | 
					
						
							|  |  |  |           @threat_type = args[:threat_type] if args.key?(:threat_type) | 
					
						
							|  |  |  |           @user_info = args[:user_info] if args.key?(:user_info) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |       # A single resource related to a threat hit. | 
					
						
							|  |  |  |       class GoogleSecuritySafebrowsingV4ThreatHitThreatSource | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Referrer of the resource. Only set if the referrer is available. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `referrer` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :referrer | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The remote IP of the resource in ASCII format. Either IPv4 or IPv6. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `remoteIp` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :remote_ip | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The type of source reported. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `type` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :type | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The URL of the resource. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `url` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :url | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @referrer = args[:referrer] if args.key?(:referrer) | 
					
						
							|  |  |  |           @remote_ip = args[:remote_ip] if args.key?(:remote_ip) | 
					
						
							|  |  |  |           @type = args[:type] if args.key?(:type) | 
					
						
							|  |  |  |           @url = args[:url] if args.key?(:url) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Details about the user that encountered the threat. | 
					
						
							|  |  |  |       class GoogleSecuritySafebrowsingV4ThreatHitUserInfo | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The UN M.49 region code associated with the user's location. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `regionCode` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :region_code | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Unique user identifier defined by the client. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `userId` | 
					
						
							|  |  |  |         # NOTE: Values are automatically base64 encoded/decoded in the client library. | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :user_id | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @region_code = args[:region_code] if args.key?(:region_code) | 
					
						
							|  |  |  |           @user_id = args[:user_id] if args.key?(:user_id) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |       # The information regarding one or more threats that a client submits when | 
					
						
							|  |  |  |       # checking for matches in threat lists. | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |       class GoogleSecuritySafebrowsingV4ThreatInfo | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The platform types to be checked. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `platformTypes` | 
					
						
							|  |  |  |         # @return [Array<String>] | 
					
						
							|  |  |  |         attr_accessor :platform_types | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The threat entries to be checked. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `threatEntries` | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # @return [Array<Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4ThreatEntry>] | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         attr_accessor :threat_entries | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The entry types to be checked. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `threatEntryTypes` | 
					
						
							|  |  |  |         # @return [Array<String>] | 
					
						
							|  |  |  |         attr_accessor :threat_entry_types | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The threat types to be checked. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `threatTypes` | 
					
						
							|  |  |  |         # @return [Array<String>] | 
					
						
							|  |  |  |         attr_accessor :threat_types | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @platform_types = args[:platform_types] if args.key?(:platform_types) | 
					
						
							|  |  |  |           @threat_entries = args[:threat_entries] if args.key?(:threat_entries) | 
					
						
							|  |  |  |           @threat_entry_types = args[:threat_entry_types] if args.key?(:threat_entry_types) | 
					
						
							|  |  |  |           @threat_types = args[:threat_types] if args.key?(:threat_types) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Describes an individual threat list. A list is defined by three parameters: | 
					
						
							|  |  |  |       # the type of threat posed, the type of platform targeted by the threat, and the | 
					
						
							|  |  |  |       # type of entries in the list. | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |       class GoogleSecuritySafebrowsingV4ThreatListDescriptor | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The platform type targeted by the list's entries. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `platformType` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :platform_type | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The entry types contained in the list. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `threatEntryType` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :threat_entry_type | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The threat type posed by the list's entries. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `threatType` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :threat_type | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @platform_type = args[:platform_type] if args.key?(:platform_type) | 
					
						
							|  |  |  |           @threat_entry_type = args[:threat_entry_type] if args.key?(:threat_entry_type) | 
					
						
							|  |  |  |           @threat_type = args[:threat_type] if args.key?(:threat_type) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # A match when checking a threat entry in the Safe Browsing threat lists. | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |       class GoogleSecuritySafebrowsingV4ThreatMatch | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The cache lifetime for the returned match. Clients must not cache this | 
					
						
							|  |  |  |         # response for more than this duration to avoid false positives. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `cacheDuration` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :cache_duration | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The platform type matching this threat. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `platformType` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :platform_type | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # An individual threat; for example, a malicious URL or its hash representation. | 
					
						
							|  |  |  |         # Only one of these fields should be set. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `threat` | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # @return [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4ThreatEntry] | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         attr_accessor :threat | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The metadata associated with a specific threat entry. The client is expected | 
					
						
							|  |  |  |         # to know the metadata key/value pairs associated with each threat type. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `threatEntryMetadata` | 
					
						
							| 
									
										
										
										
											2021-01-07 22:57:10 +00:00
										 |  |  |         # @return [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4ThreatEntryMetadata] | 
					
						
							| 
									
										
										
										
											2021-01-01 03:01:13 +00:00
										 |  |  |         attr_accessor :threat_entry_metadata | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The threat entry type matching this threat. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `threatEntryType` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :threat_entry_type | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The threat type matching this threat. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `threatType` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :threat_type | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @cache_duration = args[:cache_duration] if args.key?(:cache_duration) | 
					
						
							|  |  |  |           @platform_type = args[:platform_type] if args.key?(:platform_type) | 
					
						
							|  |  |  |           @threat = args[:threat] if args.key?(:threat) | 
					
						
							|  |  |  |           @threat_entry_metadata = args[:threat_entry_metadata] if args.key?(:threat_entry_metadata) | 
					
						
							|  |  |  |           @threat_entry_type = args[:threat_entry_type] if args.key?(:threat_entry_type) | 
					
						
							|  |  |  |           @threat_type = args[:threat_type] if args.key?(:threat_type) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end |