# 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 CloudsearchV1 # class Action include Google::Apis::Core::Hashable # [Required] Title of the action. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title # [Optional] Url of the action. # 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) @title = args[:title] if args.key?(:title) @url = args[:url] if args.key?(:url) end end # Represents the settings for Cloud audit logging class AuditLoggingSettings include Google::Apis::Core::Hashable # Indicates whether audit logging is on/off for admin activity read APIs i.e. # Get/List DataSources, Get/List SearchApplications etc. # Corresponds to the JSON property `logAdminReadActions` # @return [Boolean] attr_accessor :log_admin_read_actions alias_method :log_admin_read_actions?, :log_admin_read_actions # Indicates whether audit logging is on/off for data access read APIs i.e. # ListItems, GetItem etc. # Corresponds to the JSON property `logDataReadActions` # @return [Boolean] attr_accessor :log_data_read_actions alias_method :log_data_read_actions?, :log_data_read_actions # Indicates whether audit logging is on/off for data access write APIs i.e. # IndexItem etc. # Corresponds to the JSON property `logDataWriteActions` # @return [Boolean] attr_accessor :log_data_write_actions alias_method :log_data_write_actions?, :log_data_write_actions # The resource name of the GCP Project to store audit logs. Cloud audit logging # will be enabled after project_name has been updated through CustomerService. # Format: projects/`project_id` # Corresponds to the JSON property `project` # @return [String] attr_accessor :project def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @log_admin_read_actions = args[:log_admin_read_actions] if args.key?(:log_admin_read_actions) @log_data_read_actions = args[:log_data_read_actions] if args.key?(:log_data_read_actions) @log_data_write_actions = args[:log_data_write_actions] if args.key?(:log_data_write_actions) @project = args[:project] if args.key?(:project) end end # class BackgroundColoredText include Google::Apis::Core::Hashable # [Optional] Color of the background. The text color can change depending on the # selected background color, and the client does not have control over this. If # missing, the background will be WHITE. # Corresponds to the JSON property `backgroundColor` # @return [String] attr_accessor :background_color # [Required] The text to display. # Corresponds to the JSON property `text` # @return [String] attr_accessor :text def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @background_color = args[:background_color] if args.key?(:background_color) @text = args[:text] if args.key?(:text) end end # Used to provide a search operator for boolean properties. This is optional. # Search operators let users restrict the query to specific fields relevant to # the type of item being searched. class BooleanOperatorOptions include Google::Apis::Core::Hashable # Indicates the operator name required in the query in order to isolate the # boolean property. For example, if operatorName is *closed* and the property's # name is *isClosed*, then queries like *closed:* show results only where # the value of the property named *isClosed* matches **. By contrast, a # search that uses the same ** without an operator returns all items # where ** matches the value of any String properties or text within the # content field for the item. The operator name can only contain lowercase # letters (a-z). The maximum length is 32 characters. # Corresponds to the JSON property `operatorName` # @return [String] attr_accessor :operator_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @operator_name = args[:operator_name] if args.key?(:operator_name) end end # The options for boolean properties. class BooleanPropertyOptions include Google::Apis::Core::Hashable # Used to provide a search operator for boolean properties. This is optional. # Search operators let users restrict the query to specific fields relevant to # the type of item being searched. # Corresponds to the JSON property `operatorOptions` # @return [Google::Apis::CloudsearchV1::BooleanOperatorOptions] attr_accessor :operator_options def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @operator_options = args[:operator_options] if args.key?(:operator_options) end end # class CheckAccessResponse include Google::Apis::Core::Hashable # Returns true if principal has access. Returns false otherwise. # Corresponds to the JSON property `hasAccess` # @return [Boolean] attr_accessor :has_access alias_method :has_access?, :has_access def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @has_access = args[:has_access] if args.key?(:has_access) end end # class CompositeFilter include Google::Apis::Core::Hashable # The logic operator of the sub filter. # Corresponds to the JSON property `logicOperator` # @return [String] attr_accessor :logic_operator # Sub filters. # Corresponds to the JSON property `subFilters` # @return [Array] attr_accessor :sub_filters def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @logic_operator = args[:logic_operator] if args.key?(:logic_operator) @sub_filters = args[:sub_filters] if args.key?(:sub_filters) end end # class Content include Google::Apis::Core::Hashable # [Optional] Actions for this card. # Corresponds to the JSON property `actions` # @return [Array] attr_accessor :actions # IMPORTANT: It is unsafe to accept this message from an untrusted source, since # it's trivial for an attacker to forge serialized messages that don't fulfill # the type's safety contract -- for example, it could contain attacker # controlled script. A system which receives a SafeHtmlProto implicitly trusts # the producer of the SafeHtmlProto. So, it's generally safe to return this # message in RPC responses, but generally unsafe to accept it in RPC requests. # Corresponds to the JSON property `description` # @return [Google::Apis::CloudsearchV1::SafeHtmlProto] attr_accessor :description # [Optional] Subtitle of the card. # Corresponds to the JSON property `subtitle` # @return [Google::Apis::CloudsearchV1::BackgroundColoredText] attr_accessor :subtitle # [Optional] Title of the card. # Corresponds to the JSON property `title` # @return [Google::Apis::CloudsearchV1::BackgroundColoredText] attr_accessor :title def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @actions = args[:actions] if args.key?(:actions) @description = args[:description] if args.key?(:description) @subtitle = args[:subtitle] if args.key?(:subtitle) @title = args[:title] if args.key?(:title) end end # class Context include Google::Apis::Core::Hashable # [Optional] App where the card should be shown. If missing, the card will be # shown in TOPAZ. # Corresponds to the JSON property `app` # @return [Array] attr_accessor :app # [Optional] Day of week when the card should be shown, where 0 is Monday. # Corresponds to the JSON property `dayOfWeek` # @return [Array] attr_accessor :day_of_week # [Optional] Date (in seconds since epoch) when the card should stop being shown. # If missing, end_date_sec will be set to Jan 1st, 2100. # Corresponds to the JSON property `endDateSec` # @return [Fixnum] attr_accessor :end_date_sec # [Optional] End time in seconds, within a day, when the card should stop being # shown if it's within [start_date_sec, end_date_sec]. If missing, this is set # to 86400 (24 hours x 3600 sec/hour), i.e., midnight next day. # Corresponds to the JSON property `endDayOffsetSec` # @return [Fixnum] attr_accessor :end_day_offset_sec # [Optional] The locales for which the card should be triggered (e.g., en_US and # en_CA). If missing, the card is going to show to clients regardless of their # locale. # Corresponds to the JSON property `locale` # @return [Array] attr_accessor :locale # [Optional] Text-free locations where the card should be shown. This is # expected to match the user's location in focus. If no location is specified, # the card will be shown for any location. # Corresponds to the JSON property `location` # @return [Array] attr_accessor :location # [Required only for Answer and RHS cards - will be ignored for Homepage] cards. # It's the exact case-insensitive queries that will trigger the Answer or RHS # card. # Corresponds to the JSON property `query` # @return [Array] attr_accessor :query # [Optional] Date (in seconds since epoch) when the card should start being # shown. If missing, start_date_sec will be Jan 1st, 1970 UTC. # Corresponds to the JSON property `startDateSec` # @return [Fixnum] attr_accessor :start_date_sec # [Optional] Start time in seconds, within a day, when the card should be shown # if it's within [start_date_sec, end_date_sec]. If 0, the card will be shown # from 12:00am on. # Corresponds to the JSON property `startDayOffsetSec` # @return [Fixnum] attr_accessor :start_day_offset_sec # [Optional] Surface where the card should be shown in. If missing, the card # will be shown in any surface. # Corresponds to the JSON property `surface` # @return [Array] attr_accessor :surface # [Required] Type of the card (homepage, Answer or RHS). # Corresponds to the JSON property `type` # @return [Array] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @app = args[:app] if args.key?(:app) @day_of_week = args[:day_of_week] if args.key?(:day_of_week) @end_date_sec = args[:end_date_sec] if args.key?(:end_date_sec) @end_day_offset_sec = args[:end_day_offset_sec] if args.key?(:end_day_offset_sec) @locale = args[:locale] if args.key?(:locale) @location = args[:location] if args.key?(:location) @query = args[:query] if args.key?(:query) @start_date_sec = args[:start_date_sec] if args.key?(:start_date_sec) @start_day_offset_sec = args[:start_day_offset_sec] if args.key?(:start_day_offset_sec) @surface = args[:surface] if args.key?(:surface) @type = args[:type] if args.key?(:type) end end # A named attribute associated with an item which can be used for influencing # the ranking of the item based on the context in the request. class ContextAttribute include Google::Apis::Core::Hashable # The name of the attribute. It should not be empty. The maximum length is 32 # characters. The name must start with a letter and can only contain letters (A- # Z, a-z) or numbers (0-9). The name will be normalized (lower-cased) before # being matched. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Text values of the attribute. The maximum number of elements is 10. The # maximum length of an element in the array is 32 characters. The value will be # normalized (lower-cased) before being matched. # Corresponds to the JSON property `values` # @return [Array] attr_accessor :values def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @values = args[:values] if args.key?(:values) end end # Aggregation of items by status code as of the specified date. class CustomerIndexStats include Google::Apis::Core::Hashable # Represents a whole calendar date, for example a date of birth. The time of day # and time zone are either specified elsewhere or are not significant. The date # is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/ # wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date # between the year 1 and 9999. # Corresponds to the JSON property `date` # @return [Google::Apis::CloudsearchV1::Date] attr_accessor :date # Number of items aggregrated by status code. # Corresponds to the JSON property `itemCountByStatus` # @return [Array] attr_accessor :item_count_by_status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @date = args[:date] if args.key?(:date) @item_count_by_status = args[:item_count_by_status] if args.key?(:item_count_by_status) end end # class CustomerQueryStats include Google::Apis::Core::Hashable # Represents a whole calendar date, for example a date of birth. The time of day # and time zone are either specified elsewhere or are not significant. The date # is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/ # wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date # between the year 1 and 9999. # Corresponds to the JSON property `date` # @return [Google::Apis::CloudsearchV1::Date] attr_accessor :date # # Corresponds to the JSON property `queryCountByStatus` # @return [Array] attr_accessor :query_count_by_status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @date = args[:date] if args.key?(:date) @query_count_by_status = args[:query_count_by_status] if args.key?(:query_count_by_status) end end # Search application stats for a customer for the given date. class CustomerSearchApplicationStats include Google::Apis::Core::Hashable # The count of search applications for the date. # Corresponds to the JSON property `count` # @return [Fixnum] attr_accessor :count # Represents a whole calendar date, for example a date of birth. The time of day # and time zone are either specified elsewhere or are not significant. The date # is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/ # wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date # between the year 1 and 9999. # Corresponds to the JSON property `date` # @return [Google::Apis::CloudsearchV1::Date] attr_accessor :date def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @count = args[:count] if args.key?(:count) @date = args[:date] if args.key?(:date) end end # class CustomerSessionStats include Google::Apis::Core::Hashable # Represents a whole calendar date, for example a date of birth. The time of day # and time zone are either specified elsewhere or are not significant. The date # is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/ # wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date # between the year 1 and 9999. # Corresponds to the JSON property `date` # @return [Google::Apis::CloudsearchV1::Date] attr_accessor :date # The count of search sessions on the day # Corresponds to the JSON property `searchSessionsCount` # @return [Fixnum] attr_accessor :search_sessions_count def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @date = args[:date] if args.key?(:date) @search_sessions_count = args[:search_sessions_count] if args.key?(:search_sessions_count) end end # Represents settings at a customer level. class CustomerSettings include Google::Apis::Core::Hashable # Represents the settings for Cloud audit logging # Corresponds to the JSON property `auditLoggingSettings` # @return [Google::Apis::CloudsearchV1::AuditLoggingSettings] attr_accessor :audit_logging_settings # VPC SC settings for the customer. If update_mask is empty then this field will # be updated based on UpdateCustomerSettings request. # Corresponds to the JSON property `vpcSettings` # @return [Google::Apis::CloudsearchV1::VpcSettings] attr_accessor :vpc_settings def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @audit_logging_settings = args[:audit_logging_settings] if args.key?(:audit_logging_settings) @vpc_settings = args[:vpc_settings] if args.key?(:vpc_settings) end end # class CustomerUserStats include Google::Apis::Core::Hashable # Represents a whole calendar date, for example a date of birth. The time of day # and time zone are either specified elsewhere or are not significant. The date # is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/ # wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date # between the year 1 and 9999. # Corresponds to the JSON property `date` # @return [Google::Apis::CloudsearchV1::Date] attr_accessor :date # The count of unique active users in the past one day # Corresponds to the JSON property `oneDayActiveUsersCount` # @return [Fixnum] attr_accessor :one_day_active_users_count # The count of unique active users in the past seven days # Corresponds to the JSON property `sevenDaysActiveUsersCount` # @return [Fixnum] attr_accessor :seven_days_active_users_count # The count of unique active users in the past thirty days # Corresponds to the JSON property `thirtyDaysActiveUsersCount` # @return [Fixnum] attr_accessor :thirty_days_active_users_count def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @date = args[:date] if args.key?(:date) @one_day_active_users_count = args[:one_day_active_users_count] if args.key?(:one_day_active_users_count) @seven_days_active_users_count = args[:seven_days_active_users_count] if args.key?(:seven_days_active_users_count) @thirty_days_active_users_count = args[:thirty_days_active_users_count] if args.key?(:thirty_days_active_users_count) end end # Datasource is a logical namespace for items to be indexed. All items must # belong to a datasource. This is the prerequisite before items can be indexed # into Cloud Search. class DataSource include Google::Apis::Core::Hashable # If true, sets the datasource to read-only mode. In read-only mode, the # Indexing API rejects any requests to index or delete items in this source. # Enabling read-only mode does not stop the processing of previously accepted # data. # Corresponds to the JSON property `disableModifications` # @return [Boolean] attr_accessor :disable_modifications alias_method :disable_modifications?, :disable_modifications # Disable serving any search or assist results. # Corresponds to the JSON property `disableServing` # @return [Boolean] attr_accessor :disable_serving alias_method :disable_serving?, :disable_serving # Required. Display name of the datasource The maximum length is 300 characters. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # List of service accounts that have indexing access. # Corresponds to the JSON property `indexingServiceAccounts` # @return [Array] attr_accessor :indexing_service_accounts # This field restricts visibility to items at the datasource level. Items within # the datasource are restricted to the union of users and groups included in # this field. Note that, this does not ensure access to a specific item, as # users need to have ACL permissions on the contained items. This ensures a high # level access on the entire datasource, and that the individual items are not # shared outside this visibility. # Corresponds to the JSON property `itemsVisibility` # @return [Array] attr_accessor :items_visibility # The name of the datasource resource. Format: datasources/`source_id`. The name # is ignored when creating a datasource. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # IDs of the Long Running Operations (LROs) currently running for this schema. # Corresponds to the JSON property `operationIds` # @return [Array] attr_accessor :operation_ids # Can a user request to get thumbnail URI for Items indexed in this data source. # Corresponds to the JSON property `returnThumbnailUrls` # @return [Boolean] attr_accessor :return_thumbnail_urls alias_method :return_thumbnail_urls?, :return_thumbnail_urls # A short name or alias for the source. This value will be used to match the ' # source' operator. For example, if the short name is ** then queries # like *source:* will only return results for this source. The value must # be unique across all datasources. The value must only contain alphanumeric # characters (a-zA-Z0-9). The value cannot start with 'google' and cannot be one # of the following: mail, gmail, docs, drive, groups, sites, calendar, hangouts, # gplus, keep, people, teams. Its maximum length is 32 characters. # Corresponds to the JSON property `shortName` # @return [String] attr_accessor :short_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disable_modifications = args[:disable_modifications] if args.key?(:disable_modifications) @disable_serving = args[:disable_serving] if args.key?(:disable_serving) @display_name = args[:display_name] if args.key?(:display_name) @indexing_service_accounts = args[:indexing_service_accounts] if args.key?(:indexing_service_accounts) @items_visibility = args[:items_visibility] if args.key?(:items_visibility) @name = args[:name] if args.key?(:name) @operation_ids = args[:operation_ids] if args.key?(:operation_ids) @return_thumbnail_urls = args[:return_thumbnail_urls] if args.key?(:return_thumbnail_urls) @short_name = args[:short_name] if args.key?(:short_name) end end # Aggregation of items by status code as of the specified date. class DataSourceIndexStats include Google::Apis::Core::Hashable # Represents a whole calendar date, for example a date of birth. The time of day # and time zone are either specified elsewhere or are not significant. The date # is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/ # wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date # between the year 1 and 9999. # Corresponds to the JSON property `date` # @return [Google::Apis::CloudsearchV1::Date] attr_accessor :date # Number of items aggregrated by status code. # Corresponds to the JSON property `itemCountByStatus` # @return [Array] attr_accessor :item_count_by_status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @date = args[:date] if args.key?(:date) @item_count_by_status = args[:item_count_by_status] if args.key?(:item_count_by_status) end end # Restriction on Datasource. class DataSourceRestriction include Google::Apis::Core::Hashable # Filter options restricting the results. If multiple filters are present, they # are grouped by object type before joining. Filters with the same object type # are joined conjunctively, then the resulting expressions are joined # disjunctively. The maximum number of elements is 20. NOTE: Suggest API # supports only few filters at the moment: "objecttype", "type" and "mimetype". # For now, schema specific filters cannot be used to filter suggestions. # Corresponds to the JSON property `filterOptions` # @return [Array] attr_accessor :filter_options # Defines sources for the suggest/search APIs. # Corresponds to the JSON property `source` # @return [Google::Apis::CloudsearchV1::Source] attr_accessor :source def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @filter_options = args[:filter_options] if args.key?(:filter_options) @source = args[:source] if args.key?(:source) end end # Represents a whole calendar date, for example a date of birth. The time of day # and time zone are either specified elsewhere or are not significant. The date # is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/ # wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date # between the year 1 and 9999. class Date include Google::Apis::Core::Hashable # Day of month. Must be from 1 to 31 and valid for the year and month. # Corresponds to the JSON property `day` # @return [Fixnum] attr_accessor :day # Month of date. Must be from 1 to 12. # Corresponds to the JSON property `month` # @return [Fixnum] attr_accessor :month # Year of date. Must be from 1 to 9999. # Corresponds to the JSON property `year` # @return [Fixnum] attr_accessor :year def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @day = args[:day] if args.key?(:day) @month = args[:month] if args.key?(:month) @year = args[:year] if args.key?(:year) end end # Optional. Provides a search operator for date properties. Search operators let # users restrict the query to specific fields relevant to the type of item being # searched. class DateOperatorOptions include Google::Apis::Core::Hashable # Indicates the operator name required in the query in order to isolate the date # property using the greater-than operator. For example, if # greaterThanOperatorName is *closedafter* and the property's name is *closeDate* # , then queries like *closedafter:* show results only where the value of # the property named *closeDate* is later than **. The operator name can # only contain lowercase letters (a-z). The maximum length is 32 characters. # Corresponds to the JSON property `greaterThanOperatorName` # @return [String] attr_accessor :greater_than_operator_name # Indicates the operator name required in the query in order to isolate the date # property using the less-than operator. For example, if lessThanOperatorName is # *closedbefore* and the property's name is *closeDate*, then queries like * # closedbefore:* show results only where the value of the property named * # closeDate* is earlier than **. The operator name can only contain # lowercase letters (a-z). The maximum length is 32 characters. # Corresponds to the JSON property `lessThanOperatorName` # @return [String] attr_accessor :less_than_operator_name # Indicates the actual string required in the query in order to isolate the date # property. For example, suppose an issue tracking schema object has a property # named *closeDate* that specifies an operator with an operatorName of *closedon* # . For searches on that data, queries like *closedon:* show results only # where the value of the *closeDate* property matches **. By contrast, a # search that uses the same ** without an operator returns all items # where ** matches the value of any String properties or text within the # content field for the indexed datasource. The operator name can only contain # lowercase letters (a-z). The maximum length is 32 characters. # Corresponds to the JSON property `operatorName` # @return [String] attr_accessor :operator_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @greater_than_operator_name = args[:greater_than_operator_name] if args.key?(:greater_than_operator_name) @less_than_operator_name = args[:less_than_operator_name] if args.key?(:less_than_operator_name) @operator_name = args[:operator_name] if args.key?(:operator_name) end end # The options for date properties. class DatePropertyOptions include Google::Apis::Core::Hashable # Optional. Provides a search operator for date properties. Search operators let # users restrict the query to specific fields relevant to the type of item being # searched. # Corresponds to the JSON property `operatorOptions` # @return [Google::Apis::CloudsearchV1::DateOperatorOptions] attr_accessor :operator_options def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @operator_options = args[:operator_options] if args.key?(:operator_options) end end # List of date values. class DateValues include Google::Apis::Core::Hashable # # Corresponds to the JSON property `values` # @return [Array] attr_accessor :values def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @values = args[:values] if args.key?(:values) end end # Shared request debug options for all cloudsearch RPC methods. class DebugOptions include Google::Apis::Core::Hashable # If you are asked by Google to help with debugging, set this field. Otherwise, # ignore this field. # Corresponds to the JSON property `enableDebugging` # @return [Boolean] attr_accessor :enable_debugging alias_method :enable_debugging?, :enable_debugging def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @enable_debugging = args[:enable_debugging] if args.key?(:enable_debugging) end end # Debug Search Response. class DebugResponse include Google::Apis::Core::Hashable # Serialized string of GenericSearchRequest. # Corresponds to the JSON property `gsrRequest` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :gsr_request # Serialized string of GenericSearchResponse. # Corresponds to the JSON property `gsrResponse` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :gsr_response # The search API response. NEXT ID: 17 # Corresponds to the JSON property `searchResponse` # @return [Google::Apis::CloudsearchV1::SearchResponse] attr_accessor :search_response def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @gsr_request = args[:gsr_request] if args.key?(:gsr_request) @gsr_response = args[:gsr_response] if args.key?(:gsr_response) @search_response = args[:search_response] if args.key?(:search_response) end end # class DeleteQueueItemsRequest include Google::Apis::Core::Hashable # The name of connector making this call. Format: datasources/`source_id`/ # connectors/`ID` # Corresponds to the JSON property `connectorName` # @return [String] attr_accessor :connector_name # Shared request debug options for all cloudsearch RPC methods. # Corresponds to the JSON property `debugOptions` # @return [Google::Apis::CloudsearchV1::DebugOptions] attr_accessor :debug_options # The name of a queue to delete items from. # Corresponds to the JSON property `queue` # @return [String] attr_accessor :queue def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @connector_name = args[:connector_name] if args.key?(:connector_name) @debug_options = args[:debug_options] if args.key?(:debug_options) @queue = args[:queue] if args.key?(:queue) end end # A reference to a top-level property within the object that should be displayed # in search results. The values of the chosen properties is displayed in the # search results along with the display label for that property if one is # specified. If a display label is not specified, only the values is shown. class DisplayedProperty include Google::Apis::Core::Hashable # The name of the top-level property as defined in a property definition for the # object. If the name is not a defined property in the schema, an error is given # when attempting to update the schema. # Corresponds to the JSON property `propertyName` # @return [String] attr_accessor :property_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @property_name = args[:property_name] if args.key?(:property_name) end end # Used to provide a search operator for double properties. This is optional. # Search operators let users restrict the query to specific fields relevant to # the type of item being searched. class DoubleOperatorOptions include Google::Apis::Core::Hashable # Indicates the operator name required in the query in order to use the double # property in sorting or as a facet. The operator name can only contain # lowercase letters (a-z). The maximum length is 32 characters. # Corresponds to the JSON property `operatorName` # @return [String] attr_accessor :operator_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @operator_name = args[:operator_name] if args.key?(:operator_name) end end # The options for double properties. class DoublePropertyOptions include Google::Apis::Core::Hashable # Used to provide a search operator for double properties. This is optional. # Search operators let users restrict the query to specific fields relevant to # the type of item being searched. # Corresponds to the JSON property `operatorOptions` # @return [Google::Apis::CloudsearchV1::DoubleOperatorOptions] attr_accessor :operator_options def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @operator_options = args[:operator_options] if args.key?(:operator_options) end end # List of double values. class DoubleValues include Google::Apis::Core::Hashable # # Corresponds to the JSON property `values` # @return [Array] attr_accessor :values def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @values = args[:values] if args.key?(:values) end end # Drive follow-up search restricts (e.g. "followup:suggestions"). class DriveFollowUpRestrict include Google::Apis::Core::Hashable # # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @type = args[:type] if args.key?(:type) end end # Drive location search restricts (e.g. "is:starred"). class DriveLocationRestrict include Google::Apis::Core::Hashable # # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @type = args[:type] if args.key?(:type) end end # Drive mime-type search restricts (e.g. "type:pdf"). class DriveMimeTypeRestrict include Google::Apis::Core::Hashable # # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @type = args[:type] if args.key?(:type) end end # The time span search restrict (e.g. "after:2017-09-11 before:2017-09-12"). class DriveTimeSpanRestrict include Google::Apis::Core::Hashable # # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @type = args[:type] if args.key?(:type) end end # A person's email address. class EmailAddress include Google::Apis::Core::Hashable # If the value of type is custom, this property contains the custom type string. # Corresponds to the JSON property `customType` # @return [String] attr_accessor :custom_type # The email address. # Corresponds to the JSON property `emailAddress` # @return [String] attr_accessor :email_address # The URL to send email. # Corresponds to the JSON property `emailUrl` # @return [String] attr_accessor :email_url # Indicates if this is the user's primary email. Only one entry can be marked as # primary. # Corresponds to the JSON property `primary` # @return [Boolean] attr_accessor :primary alias_method :primary?, :primary # The type of the email account. Acceptable values are: "custom", "home", "other" # , "work". # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @custom_type = args[:custom_type] if args.key?(:custom_type) @email_address = args[:email_address] if args.key?(:email_address) @email_url = args[:email_url] if args.key?(:email_url) @primary = args[:primary] if args.key?(:primary) @type = args[:type] if args.key?(:type) end end # class EnterpriseTopazFrontendTeamsLink include Google::Apis::Core::Hashable # The identifying link type # Corresponds to the JSON property `type` # @return [String] attr_accessor :type # Message containing a string that is safe to use in URL contexts in DOM APIs # and HTML documents, where the URL context does not refer to a resource that # loads code. # Corresponds to the JSON property `url` # @return [Google::Apis::CloudsearchV1::SafeUrlProto] attr_accessor :url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @type = args[:type] if args.key?(:type) @url = args[:url] if args.key?(:url) end end # class EnterpriseTopazFrontendTeamsPersonCorePhoneNumber include Google::Apis::Core::Hashable # Phone number in no particular format (as comes from the Focus profile). # Corresponds to the JSON property `phoneNumber` # @return [String] attr_accessor :phone_number # Message containing a string that is safe to use in URL contexts in DOM APIs # and HTML documents, where the URL context does not refer to a resource that # loads code. # Corresponds to the JSON property `phoneUrl` # @return [Google::Apis::CloudsearchV1::SafeUrlProto] attr_accessor :phone_url # # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @phone_number = args[:phone_number] if args.key?(:phone_number) @phone_url = args[:phone_url] if args.key?(:phone_url) @type = args[:type] if args.key?(:type) end end # An AgendaEntry, e.g., a Calendar Event. class EnterpriseTopazSidekickAgendaEntry include Google::Apis::Core::Hashable # URL of the agenda item. # Corresponds to the JSON property `agendaItemUrl` # @return [String] attr_accessor :agenda_item_url # The chronology from the present. # Corresponds to the JSON property `chronology` # @return [String] attr_accessor :chronology # Person. # Corresponds to the JSON property `creator` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickPerson] attr_accessor :creator # Attendance status for the current user making the request. This is a # convenience data member in order to avoid figuring out the same by iterating # the invitee list above on the caller side. # Corresponds to the JSON property `currentUserAttendingStatus` # @return [String] attr_accessor :current_user_attending_status # Description of the agenda item (i.e., typically, summary in calendar event). # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Items related to the current AgendaEntry. E.g., related drive/mail/groups # documents. # Corresponds to the JSON property `document` # @return [Array] attr_accessor :document # End date "Friday, August 26" in the user's timezone. # Corresponds to the JSON property `endDate` # @return [String] attr_accessor :end_date # End time (HH:mm) in the user's timezone. # Corresponds to the JSON property `endTime` # @return [String] attr_accessor :end_time # End time in milliseconds # Corresponds to the JSON property `endTimeMs` # @return [Fixnum] attr_accessor :end_time_ms # Event id provided by Calendar API. # Corresponds to the JSON property `eventId` # @return [String] attr_accessor :event_id # Whether the guests can invite other guests. # Corresponds to the JSON property `guestsCanInviteOthers` # @return [Boolean] attr_accessor :guests_can_invite_others alias_method :guests_can_invite_others?, :guests_can_invite_others # Whether the guests can modify the event. # Corresponds to the JSON property `guestsCanModify` # @return [Boolean] attr_accessor :guests_can_modify alias_method :guests_can_modify?, :guests_can_modify # Whether the guests of the event can be seen. If false, the user is going to be # reported as the only attendee to the meeting, even though there may be more # attendees. # Corresponds to the JSON property `guestsCanSeeGuests` # @return [Boolean] attr_accessor :guests_can_see_guests alias_method :guests_can_see_guests?, :guests_can_see_guests # Hangout meeting identifier. # Corresponds to the JSON property `hangoutId` # @return [String] attr_accessor :hangout_id # Absolute URL for the Hangout meeting. # Corresponds to the JSON property `hangoutUrl` # @return [String] attr_accessor :hangout_url # People attending the meeting. # Corresponds to the JSON property `invitee` # @return [Array] attr_accessor :invitee # Whether the entry lasts all day. # Corresponds to the JSON property `isAllDay` # @return [Boolean] attr_accessor :is_all_day alias_method :is_all_day?, :is_all_day # Last time the event was modified. # Corresponds to the JSON property `lastModificationTimeMs` # @return [Fixnum] attr_accessor :last_modification_time_ms # Agenda item location. # Corresponds to the JSON property `location` # @return [String] attr_accessor :location # Whether this should be notified to the user. # Corresponds to the JSON property `notifyToUser` # @return [Boolean] attr_accessor :notify_to_user alias_method :notify_to_user?, :notify_to_user # Whether guest list is not returned because number of attendees is too large. # Corresponds to the JSON property `otherAttendeesExcluded` # @return [Boolean] attr_accessor :other_attendees_excluded alias_method :other_attendees_excluded?, :other_attendees_excluded # Whether the requester is the owner of the agenda entry. # Corresponds to the JSON property `requesterIsOwner` # @return [Boolean] attr_accessor :requester_is_owner alias_method :requester_is_owner?, :requester_is_owner # Whether the details of this entry should be displayed to the user. # Corresponds to the JSON property `showFullEventDetailsToUse` # @return [Boolean] attr_accessor :show_full_event_details_to_use alias_method :show_full_event_details_to_use?, :show_full_event_details_to_use # Start date "Friday, August 26" in the user's timezone. # Corresponds to the JSON property `startDate` # @return [String] attr_accessor :start_date # Start time (HH:mm) in the user's timezone. # Corresponds to the JSON property `startTime` # @return [String] attr_accessor :start_time # Start time in milliseconds. # Corresponds to the JSON property `startTimeMs` # @return [Fixnum] attr_accessor :start_time_ms # User's calendar timezone; # Corresponds to the JSON property `timeZone` # @return [String] attr_accessor :time_zone # Title of the agenda item. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @agenda_item_url = args[:agenda_item_url] if args.key?(:agenda_item_url) @chronology = args[:chronology] if args.key?(:chronology) @creator = args[:creator] if args.key?(:creator) @current_user_attending_status = args[:current_user_attending_status] if args.key?(:current_user_attending_status) @description = args[:description] if args.key?(:description) @document = args[:document] if args.key?(:document) @end_date = args[:end_date] if args.key?(:end_date) @end_time = args[:end_time] if args.key?(:end_time) @end_time_ms = args[:end_time_ms] if args.key?(:end_time_ms) @event_id = args[:event_id] if args.key?(:event_id) @guests_can_invite_others = args[:guests_can_invite_others] if args.key?(:guests_can_invite_others) @guests_can_modify = args[:guests_can_modify] if args.key?(:guests_can_modify) @guests_can_see_guests = args[:guests_can_see_guests] if args.key?(:guests_can_see_guests) @hangout_id = args[:hangout_id] if args.key?(:hangout_id) @hangout_url = args[:hangout_url] if args.key?(:hangout_url) @invitee = args[:invitee] if args.key?(:invitee) @is_all_day = args[:is_all_day] if args.key?(:is_all_day) @last_modification_time_ms = args[:last_modification_time_ms] if args.key?(:last_modification_time_ms) @location = args[:location] if args.key?(:location) @notify_to_user = args[:notify_to_user] if args.key?(:notify_to_user) @other_attendees_excluded = args[:other_attendees_excluded] if args.key?(:other_attendees_excluded) @requester_is_owner = args[:requester_is_owner] if args.key?(:requester_is_owner) @show_full_event_details_to_use = args[:show_full_event_details_to_use] if args.key?(:show_full_event_details_to_use) @start_date = args[:start_date] if args.key?(:start_date) @start_time = args[:start_time] if args.key?(:start_time) @start_time_ms = args[:start_time_ms] if args.key?(:start_time_ms) @time_zone = args[:time_zone] if args.key?(:time_zone) @title = args[:title] if args.key?(:title) end end # class EnterpriseTopazSidekickAgendaGroupCardProto include Google::Apis::Core::Hashable # # Corresponds to the JSON property `agendaItem` # @return [Array] attr_accessor :agenda_item # The context that resulted in the generation of the card. # Corresponds to the JSON property `context` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickAgendaGroupCardProtoContext] attr_accessor :context # # Corresponds to the JSON property `currentAgendaItem` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickAgendaItem] attr_accessor :current_agenda_item def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @agenda_item = args[:agenda_item] if args.key?(:agenda_item) @context = args[:context] if args.key?(:context) @current_agenda_item = args[:current_agenda_item] if args.key?(:current_agenda_item) end end # The context that resulted in the generation of the card. class EnterpriseTopazSidekickAgendaGroupCardProtoContext include Google::Apis::Core::Hashable # User friendly free text that describes the context of the card (e.g. "Next # meeting with Bob"). This is largely only applicable when the card is generated # from a query. # Corresponds to the JSON property `context` # @return [String] attr_accessor :context # Localized free text that describes the dates represented by the card. # Currently, the card will only represent a single day. # Corresponds to the JSON property `date` # @return [String] attr_accessor :date # Represents restrictions applied to the events requested in the user's query. # Corresponds to the JSON property `eventsRestrict` # @return [String] attr_accessor :events_restrict def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @context = args[:context] if args.key?(:context) @date = args[:date] if args.key?(:date) @events_restrict = args[:events_restrict] if args.key?(:events_restrict) end end # class EnterpriseTopazSidekickAgendaItem include Google::Apis::Core::Hashable # Conflicting meetings card proto. # Corresponds to the JSON property `conflictedGroup` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickConflictingEventsCardProto] attr_accessor :conflicted_group # # Corresponds to the JSON property `gapBefore` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickGap] attr_accessor :gap_before # An AgendaEntry, e.g., a Calendar Event. # Corresponds to the JSON property `meeting` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickAgendaEntry] attr_accessor :meeting def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @conflicted_group = args[:conflicted_group] if args.key?(:conflicted_group) @gap_before = args[:gap_before] if args.key?(:gap_before) @meeting = args[:meeting] if args.key?(:meeting) end end # A list of answers represented as free text. class EnterpriseTopazSidekickAnswerAnswerList include Google::Apis::Core::Hashable # Answers that have a corresponding label. # Corresponds to the JSON property `labeledAnswer` # @return [Array] attr_accessor :labeled_answer # Answer type. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @labeled_answer = args[:labeled_answer] if args.key?(:labeled_answer) @type = args[:type] if args.key?(:type) end end # An answer with a corresponding label. class EnterpriseTopazSidekickAnswerAnswerListLabeledAnswer include Google::Apis::Core::Hashable # The free text answer. # Corresponds to the JSON property `answer` # @return [String] attr_accessor :answer # A localized label for the answer (e.g. "Cell phone" vs "Desk phone"). # Corresponds to the JSON property `label` # @return [String] attr_accessor :label def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @answer = args[:answer] if args.key?(:answer) @label = args[:label] if args.key?(:label) end end # Contains a list of suggested queries. Allows the user to determine what # natural language queries they can ask Cloud Search (e.g. "what can I search # for?"). class EnterpriseTopazSidekickAnswerSuggestedQueryAnswerCard include Google::Apis::Core::Hashable # A list of queries to suggest. # Corresponds to the JSON property `suggestedQueryCategory` # @return [Array] attr_accessor :suggested_query_category def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @suggested_query_category = args[:suggested_query_category] if args.key?(:suggested_query_category) end end # Contains a list of suggested queries for a single category. class EnterpriseTopazSidekickAnswerSuggestedQueryCategory include Google::Apis::Core::Hashable # The query list category. # Corresponds to the JSON property `category` # @return [String] attr_accessor :category # Whether this category is enabled. # Corresponds to the JSON property `isEnabled` # @return [Boolean] attr_accessor :is_enabled alias_method :is_enabled?, :is_enabled # List of suggested queries to show the user. # Corresponds to the JSON property `query` # @return [Array] attr_accessor :query def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @category = args[:category] if args.key?(:category) @is_enabled = args[:is_enabled] if args.key?(:is_enabled) @query = args[:query] if args.key?(:query) end end # Wrapper proto for the Assist cards. class EnterpriseTopazSidekickAssistCardProto include Google::Apis::Core::Hashable # Agenda group card. # Corresponds to the JSON property `agendaGroupCardProto` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickAgendaGroupCardProto] attr_accessor :agenda_group_card_proto # Card metadata. # Corresponds to the JSON property `cardMetadata` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickCardMetadata] attr_accessor :card_metadata # Card type. # Corresponds to the JSON property `cardType` # @return [String] attr_accessor :card_type # Conflicting meetings card proto. # Corresponds to the JSON property `conflictingMeetingsCard` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickConflictingEventsCardProto] attr_accessor :conflicting_meetings_card # Answer card for documents that are applicable to the current query. # Corresponds to the JSON property `documentListCard` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickDocumentPerCategoryList] attr_accessor :document_list_card # Documents with mentions. # Corresponds to the JSON property `documentsWithMentions` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickDocumentPerCategoryList] attr_accessor :documents_with_mentions # Response to find meeting time among a set of people. # Corresponds to the JSON property `findMeetingTimeCard` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickFindMeetingTimeCardProto] attr_accessor :find_meeting_time_card # Generic answer card. # Corresponds to the JSON property `genericAnswerCard` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickGenericAnswerCard] attr_accessor :generic_answer_card # Get and keep ahead card # Corresponds to the JSON property `getAndKeepAheadCard` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickGetAndKeepAheadCardProto] attr_accessor :get_and_keep_ahead_card # An AgendaEntry, e.g., a Calendar Event. # Corresponds to the JSON property `meeting` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickAgendaEntry] attr_accessor :meeting # Information about the meeting notes created. # Corresponds to the JSON property `meetingNotesCard` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickMeetingNotesCardProto] attr_accessor :meeting_notes_card # Meeting notes card request. # Corresponds to the JSON property `meetingNotesCardRequest` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickMeetingNotesCardRequest] attr_accessor :meeting_notes_card_request # The people disambiguation card. # Corresponds to the JSON property `peopleDisambiguationCard` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickPeopleDisambiguationCard] attr_accessor :people_disambiguation_card # People Search promotion card. # Corresponds to the JSON property `peoplePromotionCard` # @return [Google::Apis::CloudsearchV1::PeoplePromotionCard] attr_accessor :people_promotion_card # An answer card for a single person. # Corresponds to the JSON property `personAnswerCard` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickPeopleAnswerPersonAnswerCard] attr_accessor :person_answer_card # Full profile card. # Corresponds to the JSON property `personProfileCard` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickPersonProfileCard] attr_accessor :person_profile_card # Personalized docs card proto. # Corresponds to the JSON property `personalizedDocsCard` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickPersonalizedDocsCardProto] attr_accessor :personalized_docs_card # An answer card for a list of people that are related to the subject of the # query. # Corresponds to the JSON property `relatedPeopleAnswerCard` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickPeopleAnswerRelatedPeopleAnswerCard] attr_accessor :related_people_answer_card # Share meeting docs card proto. # Corresponds to the JSON property `shareMeetingDocsCard` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickShareMeetingDocsCardProto] attr_accessor :share_meeting_docs_card # Shared documents. # Corresponds to the JSON property `sharedDocuments` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickDocumentPerCategoryList] attr_accessor :shared_documents # Contains a list of suggested queries. Allows the user to determine what # natural language queries they can ask Cloud Search (e.g. "what can I search # for?"). # Corresponds to the JSON property `suggestedQueryAnswerCard` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickAnswerSuggestedQueryAnswerCard] attr_accessor :suggested_query_answer_card # Third party answer cards. # Corresponds to the JSON property `thirdPartyAnswerCard` # @return [Google::Apis::CloudsearchV1::ThirdPartyGenericCard] attr_accessor :third_party_answer_card # Work In Progress card. # Corresponds to the JSON property `workInProgressCardProto` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickRecentDocumentsCardProto] attr_accessor :work_in_progress_card_proto def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @agenda_group_card_proto = args[:agenda_group_card_proto] if args.key?(:agenda_group_card_proto) @card_metadata = args[:card_metadata] if args.key?(:card_metadata) @card_type = args[:card_type] if args.key?(:card_type) @conflicting_meetings_card = args[:conflicting_meetings_card] if args.key?(:conflicting_meetings_card) @document_list_card = args[:document_list_card] if args.key?(:document_list_card) @documents_with_mentions = args[:documents_with_mentions] if args.key?(:documents_with_mentions) @find_meeting_time_card = args[:find_meeting_time_card] if args.key?(:find_meeting_time_card) @generic_answer_card = args[:generic_answer_card] if args.key?(:generic_answer_card) @get_and_keep_ahead_card = args[:get_and_keep_ahead_card] if args.key?(:get_and_keep_ahead_card) @meeting = args[:meeting] if args.key?(:meeting) @meeting_notes_card = args[:meeting_notes_card] if args.key?(:meeting_notes_card) @meeting_notes_card_request = args[:meeting_notes_card_request] if args.key?(:meeting_notes_card_request) @people_disambiguation_card = args[:people_disambiguation_card] if args.key?(:people_disambiguation_card) @people_promotion_card = args[:people_promotion_card] if args.key?(:people_promotion_card) @person_answer_card = args[:person_answer_card] if args.key?(:person_answer_card) @person_profile_card = args[:person_profile_card] if args.key?(:person_profile_card) @personalized_docs_card = args[:personalized_docs_card] if args.key?(:personalized_docs_card) @related_people_answer_card = args[:related_people_answer_card] if args.key?(:related_people_answer_card) @share_meeting_docs_card = args[:share_meeting_docs_card] if args.key?(:share_meeting_docs_card) @shared_documents = args[:shared_documents] if args.key?(:shared_documents) @suggested_query_answer_card = args[:suggested_query_answer_card] if args.key?(:suggested_query_answer_card) @third_party_answer_card = args[:third_party_answer_card] if args.key?(:third_party_answer_card) @work_in_progress_card_proto = args[:work_in_progress_card_proto] if args.key?(:work_in_progress_card_proto) end end # Card metadata. class EnterpriseTopazSidekickCardMetadata include Google::Apis::Core::Hashable # Declares a preference for how this card should be packed in MSCR. All cards in # a response must correspond to a single category. As a result, cards may be # dropped from the response if this field is set. Any card that does not match # the category of the card with the highest priority in the response will be # dropped. # Corresponds to the JSON property `cardCategory` # @return [String] attr_accessor :card_category # An ID to identify the card and match actions to it. Be thoughtful of new card # IDs since actions will be associated to that ID. E.g., if two card IDs collide, # the system will think that the actions have been applied to the same card. # Similarly, if EAS can return multiple cards of the same type (e.g., Meetings), # ensure that the card_id identifies a given instance of the card so that, e.g., # dismissals only affect the dismissed card as opposed to affecting all meeting # cards. # Corresponds to the JSON property `cardId` # @return [String] attr_accessor :card_id # Chronology. # Corresponds to the JSON property `chronology` # @return [String] attr_accessor :chronology # Debug info (only reported if request's debug_level > 0). # Corresponds to the JSON property `debugInfo` # @return [String] attr_accessor :debug_info # Metadata about the NLP interpretation of the query. # Corresponds to the JSON property `nlpMetadata` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickNlpMetadata] attr_accessor :nlp_metadata # Ranking params. # Corresponds to the JSON property `rankingParams` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickRankingParams] attr_accessor :ranking_params # Render mode. # Corresponds to the JSON property `renderMode` # @return [String] attr_accessor :render_mode def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @card_category = args[:card_category] if args.key?(:card_category) @card_id = args[:card_id] if args.key?(:card_id) @chronology = args[:chronology] if args.key?(:chronology) @debug_info = args[:debug_info] if args.key?(:debug_info) @nlp_metadata = args[:nlp_metadata] if args.key?(:nlp_metadata) @ranking_params = args[:ranking_params] if args.key?(:ranking_params) @render_mode = args[:render_mode] if args.key?(:render_mode) end end # Container of debugging information in all object levels. Extend as needed. class EnterpriseTopazSidekickCommonDebugInfo include Google::Apis::Core::Hashable # Debug message. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @message = args[:message] if args.key?(:message) end end # Representation of a document. NEXT_TAG: 15 class EnterpriseTopazSidekickCommonDocument include Google::Apis::Core::Hashable # Access type, i.e., whether the user has access to the document or not. # Corresponds to the JSON property `accessType` # @return [String] attr_accessor :access_type # Container of debugging information in all object levels. Extend as needed. # Corresponds to the JSON property `debugInfo` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickCommonDebugInfo] attr_accessor :debug_info # Document id. # Corresponds to the JSON property `documentId` # @return [String] attr_accessor :document_id # Meta data for drive documents. # Corresponds to the JSON property `driveDocumentMetadata` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickCommonDocumentDriveDocumentMetadata] attr_accessor :drive_document_metadata # Generic Drive-based url in the format of drive.google.com/open to be used for # deeplink # Corresponds to the JSON property `genericUrl` # @return [String] attr_accessor :generic_url # Justification of why we are reporting the document. # Corresponds to the JSON property `justification` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickCommonDocumentJustification] attr_accessor :justification # MIME type # Corresponds to the JSON property `mimeType` # @return [String] attr_accessor :mime_type # Document provenance. # Corresponds to the JSON property `provenance` # @return [String] attr_accessor :provenance # Justification of why this document is being returned. # Corresponds to the JSON property `reason` # @return [String] attr_accessor :reason # A sampling of the text from the document. # Corresponds to the JSON property `snippet` # @return [String] attr_accessor :snippet # Thumbnail URL. # Corresponds to the JSON property `thumbnailUrl` # @return [String] attr_accessor :thumbnail_url # Title of the document. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title # Type of the document. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type # Absolute URL of the document. # 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) @access_type = args[:access_type] if args.key?(:access_type) @debug_info = args[:debug_info] if args.key?(:debug_info) @document_id = args[:document_id] if args.key?(:document_id) @drive_document_metadata = args[:drive_document_metadata] if args.key?(:drive_document_metadata) @generic_url = args[:generic_url] if args.key?(:generic_url) @justification = args[:justification] if args.key?(:justification) @mime_type = args[:mime_type] if args.key?(:mime_type) @provenance = args[:provenance] if args.key?(:provenance) @reason = args[:reason] if args.key?(:reason) @snippet = args[:snippet] if args.key?(:snippet) @thumbnail_url = args[:thumbnail_url] if args.key?(:thumbnail_url) @title = args[:title] if args.key?(:title) @type = args[:type] if args.key?(:type) @url = args[:url] if args.key?(:url) end end # Meta data for drive documents. class EnterpriseTopazSidekickCommonDocumentDriveDocumentMetadata include Google::Apis::Core::Hashable # The drive document cosmo id. Client could use the id to build a URL to open a # document. Please use Document.document_id. # Corresponds to the JSON property `documentId` # @return [String] attr_accessor :document_id # Additional field to identify whether a document is private since scope set to # LIMITED can mean both that the doc is private or that it's shared with others. # is_private indicates whether the doc is not shared with anyone except for the # owner. # Corresponds to the JSON property `isPrivate` # @return [Boolean] attr_accessor :is_private alias_method :is_private?, :is_private # Timestamp of the most recent comment added to the document in milliseconds # since epoch. # Corresponds to the JSON property `lastCommentTimeMs` # @return [Fixnum] attr_accessor :last_comment_time_ms # Timestamp of the most recent edit from the current user in milliseconds since # epoch. # Corresponds to the JSON property `lastEditTimeMs` # @return [Fixnum] attr_accessor :last_edit_time_ms # Last modification time of the document (independent of the user that modified # it). # Corresponds to the JSON property `lastModificationTimeMillis` # @return [Fixnum] attr_accessor :last_modification_time_millis # Timestamp of the last updated time of the document in milliseconds since epoch. # Corresponds to the JSON property `lastUpdatedTimeMs` # @return [Fixnum] attr_accessor :last_updated_time_ms # Timestamp of the most recent view from the current user in milliseconds since # epoch. # Corresponds to the JSON property `lastViewTimeMs` # @return [Fixnum] attr_accessor :last_view_time_ms # Common representation of a person. # Corresponds to the JSON property `owner` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickCommonPerson] attr_accessor :owner # ACL scope of the document which identifies the sharing status of the doc (e.g., # limited, shared with link, team drive, ...). # Corresponds to the JSON property `scope` # @return [String] attr_accessor :scope def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @document_id = args[:document_id] if args.key?(:document_id) @is_private = args[:is_private] if args.key?(:is_private) @last_comment_time_ms = args[:last_comment_time_ms] if args.key?(:last_comment_time_ms) @last_edit_time_ms = args[:last_edit_time_ms] if args.key?(:last_edit_time_ms) @last_modification_time_millis = args[:last_modification_time_millis] if args.key?(:last_modification_time_millis) @last_updated_time_ms = args[:last_updated_time_ms] if args.key?(:last_updated_time_ms) @last_view_time_ms = args[:last_view_time_ms] if args.key?(:last_view_time_ms) @owner = args[:owner] if args.key?(:owner) @scope = args[:scope] if args.key?(:scope) end end # Justification of why we are reporting the document. class EnterpriseTopazSidekickCommonDocumentJustification include Google::Apis::Core::Hashable # A locale aware message that explains why this document was selected. # Corresponds to the JSON property `justification` # @return [String] attr_accessor :justification # Reason on why the document is selected. Populate for trending documents. # Corresponds to the JSON property `reason` # @return [String] attr_accessor :reason def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @justification = args[:justification] if args.key?(:justification) @reason = args[:reason] if args.key?(:reason) end end # Common representation of a person. class EnterpriseTopazSidekickCommonPerson include Google::Apis::Core::Hashable # The birthday. # Corresponds to the JSON property `birthday` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickCommonPersonBirthday] attr_accessor :birthday # Cell phone number. # Corresponds to the JSON property `cellPhone` # @return [String] attr_accessor :cell_phone # The department the person works in (e.g. Engineering). # Corresponds to the JSON property `department` # @return [String] attr_accessor :department # Desk location (e.g. US-MTV-PR55-5-5B1I). # Corresponds to the JSON property `deskLocation` # @return [String] attr_accessor :desk_location # Work desk phone number. # Corresponds to the JSON property `deskPhone` # @return [String] attr_accessor :desk_phone # The full name. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # Email. # Corresponds to the JSON property `email` # @return [String] attr_accessor :email # The last name. # Corresponds to the JSON property `familyName` # @return [String] attr_accessor :family_name # The fully formatted address (e.g. 1255 Pear Avenue, Mountain View 94043, # United States). # Corresponds to the JSON property `fullAddress` # @return [String] attr_accessor :full_address # This field is deprecated. The obfuscated_id should be used instead. # Corresponds to the JSON property `gaiaId` # @return [Fixnum] attr_accessor :gaia_id # The first name. # Corresponds to the JSON property `givenName` # @return [String] attr_accessor :given_name # The person's job title (e.g. Software Engineer). # Corresponds to the JSON property `jobTitle` # @return [String] attr_accessor :job_title # Common representation of a person. # Corresponds to the JSON property `manager` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickCommonPerson] attr_accessor :manager # The obfuscated GAIA ID. # Corresponds to the JSON property `obfuscatedId` # @return [String] attr_accessor :obfuscated_id # The URL for the Focus profile picture. # Corresponds to the JSON property `photoUrl` # @return [String] attr_accessor :photo_url # The street address (e.g. 1255 Pear Avenue). # Corresponds to the JSON property `streetAddress` # @return [String] attr_accessor :street_address def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @birthday = args[:birthday] if args.key?(:birthday) @cell_phone = args[:cell_phone] if args.key?(:cell_phone) @department = args[:department] if args.key?(:department) @desk_location = args[:desk_location] if args.key?(:desk_location) @desk_phone = args[:desk_phone] if args.key?(:desk_phone) @display_name = args[:display_name] if args.key?(:display_name) @email = args[:email] if args.key?(:email) @family_name = args[:family_name] if args.key?(:family_name) @full_address = args[:full_address] if args.key?(:full_address) @gaia_id = args[:gaia_id] if args.key?(:gaia_id) @given_name = args[:given_name] if args.key?(:given_name) @job_title = args[:job_title] if args.key?(:job_title) @manager = args[:manager] if args.key?(:manager) @obfuscated_id = args[:obfuscated_id] if args.key?(:obfuscated_id) @photo_url = args[:photo_url] if args.key?(:photo_url) @street_address = args[:street_address] if args.key?(:street_address) end end # class EnterpriseTopazSidekickCommonPersonBirthday include Google::Apis::Core::Hashable # Unstructured birthday. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @value = args[:value] if args.key?(:value) end end # Conflicting meetings card proto. class EnterpriseTopazSidekickConflictingEventsCardProto include Google::Apis::Core::Hashable # All the events that conflict with main_event. # Corresponds to the JSON property `conflictingEvent` # @return [Array] attr_accessor :conflicting_event # An AgendaEntry, e.g., a Calendar Event. # Corresponds to the JSON property `mainEvent` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickAgendaEntry] attr_accessor :main_event def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @conflicting_event = args[:conflicting_event] if args.key?(:conflicting_event) @main_event = args[:main_event] if args.key?(:main_event) end end # Represents a mapping between a document type and its corresponding documents. # Use for Work in Progress card in v1 homepage. class EnterpriseTopazSidekickDocumentGroup include Google::Apis::Core::Hashable # Document group type # Corresponds to the JSON property `groupType` # @return [String] attr_accessor :group_type # The list of corresponding documents. # Corresponds to the JSON property `personalizedDocument` # @return [Array] attr_accessor :personalized_document def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @group_type = args[:group_type] if args.key?(:group_type) @personalized_document = args[:personalized_document] if args.key?(:personalized_document) end end # class EnterpriseTopazSidekickDocumentPerCategoryList include Google::Apis::Core::Hashable # # Corresponds to the JSON property `documents` # @return [Array] attr_accessor :documents # Localized message explaining how the documents were derived (e.g. from the # last 30 days activity). This field is optional. # Corresponds to the JSON property `helpMessage` # @return [String] attr_accessor :help_message # # Corresponds to the JSON property `listType` # @return [String] attr_accessor :list_type # Description of the types of documents present in the list. # Corresponds to the JSON property `listTypeDescription` # @return [String] attr_accessor :list_type_description # Response message in case no documents are present in the card. # Corresponds to the JSON property `responseMessage` # @return [String] attr_accessor :response_message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @documents = args[:documents] if args.key?(:documents) @help_message = args[:help_message] if args.key?(:help_message) @list_type = args[:list_type] if args.key?(:list_type) @list_type_description = args[:list_type_description] if args.key?(:list_type_description) @response_message = args[:response_message] if args.key?(:response_message) end end # class EnterpriseTopazSidekickDocumentPerCategoryListDocumentPerCategoryListEntry include Google::Apis::Core::Hashable # # Corresponds to the JSON property `category` # @return [String] attr_accessor :category # Representation of a document. NEXT_TAG: 15 # Corresponds to the JSON property `document` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickCommonDocument] attr_accessor :document # Reason this document was selected. # Corresponds to the JSON property `rationale` # @return [String] attr_accessor :rationale def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @category = args[:category] if args.key?(:category) @document = args[:document] if args.key?(:document) @rationale = args[:rationale] if args.key?(:rationale) end end # Response to find meeting time among a set of people. class EnterpriseTopazSidekickFindMeetingTimeCardProto include Google::Apis::Core::Hashable # Slots when all attendees have availability. # Corresponds to the JSON property `commonAvailableTimeSlots` # @return [Array] attr_accessor :common_available_time_slots # Invitees to the event. # Corresponds to the JSON property `invitees` # @return [Array] attr_accessor :invitees # Person. # Corresponds to the JSON property `requester` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickPerson] attr_accessor :requester # Details about scheduled meetings. # Corresponds to the JSON property `scheduledMeeting` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickScheduledMeeting] attr_accessor :scheduled_meeting # Invitees that have been skipped in the computation, most likely because they # are groups. # Corresponds to the JSON property `skippedInvitees` # @return [Array] attr_accessor :skipped_invitees # Slot of time. # Corresponds to the JSON property `timeBoundaries` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickTimeSlot] attr_accessor :time_boundaries # Timezone ID. # Corresponds to the JSON property `timezoneId` # @return [String] attr_accessor :timezone_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @common_available_time_slots = args[:common_available_time_slots] if args.key?(:common_available_time_slots) @invitees = args[:invitees] if args.key?(:invitees) @requester = args[:requester] if args.key?(:requester) @scheduled_meeting = args[:scheduled_meeting] if args.key?(:scheduled_meeting) @skipped_invitees = args[:skipped_invitees] if args.key?(:skipped_invitees) @time_boundaries = args[:time_boundaries] if args.key?(:time_boundaries) @timezone_id = args[:timezone_id] if args.key?(:timezone_id) end end # class EnterpriseTopazSidekickGap include Google::Apis::Core::Hashable # Localized time string in the format: 1 hour 15 minutes # Corresponds to the JSON property `displayRemainingTime` # @return [String] attr_accessor :display_remaining_time # Localized time string in the format:(Locale CZ) 8:30 odp. # Corresponds to the JSON property `endTime` # @return [String] attr_accessor :end_time # # Corresponds to the JSON property `endTimeMs` # @return [Fixnum] attr_accessor :end_time_ms # # Corresponds to the JSON property `remainingTime` # @return [String] attr_accessor :remaining_time # Localized time string in the format:(Locale CZ) 8:30 odp. # Corresponds to the JSON property `startTime` # @return [String] attr_accessor :start_time # # Corresponds to the JSON property `startTimeMs` # @return [Fixnum] attr_accessor :start_time_ms def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @display_remaining_time = args[:display_remaining_time] if args.key?(:display_remaining_time) @end_time = args[:end_time] if args.key?(:end_time) @end_time_ms = args[:end_time_ms] if args.key?(:end_time_ms) @remaining_time = args[:remaining_time] if args.key?(:remaining_time) @start_time = args[:start_time] if args.key?(:start_time) @start_time_ms = args[:start_time_ms] if args.key?(:start_time_ms) end end # class EnterpriseTopazSidekickGenericAnswerCard include Google::Apis::Core::Hashable # The answer. # Corresponds to the JSON property `answer` # @return [String] attr_accessor :answer # Title or header of the card. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @answer = args[:answer] if args.key?(:answer) @title = args[:title] if args.key?(:title) end end # Get and keep ahead card class EnterpriseTopazSidekickGetAndKeepAheadCardProto include Google::Apis::Core::Hashable # A list of events where all guests declined. # Corresponds to the JSON property `declinedEvents` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickGetAndKeepAheadCardProtoDeclinedEvents] attr_accessor :declined_events # # Corresponds to the JSON property `mentionedDocuments` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickDocumentPerCategoryList] attr_accessor :mentioned_documents # # Corresponds to the JSON property `sharedDocuments` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickDocumentPerCategoryList] attr_accessor :shared_documents def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @declined_events = args[:declined_events] if args.key?(:declined_events) @mentioned_documents = args[:mentioned_documents] if args.key?(:mentioned_documents) @shared_documents = args[:shared_documents] if args.key?(:shared_documents) end end # A list of events where all guests declined. class EnterpriseTopazSidekickGetAndKeepAheadCardProtoDeclinedEvents include Google::Apis::Core::Hashable # # Corresponds to the JSON property `events` # @return [Array] attr_accessor :events def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @events = args[:events] if args.key?(:events) end end # Errors in the creation of meeting notes. class EnterpriseTopazSidekickMeetingNotesCardError include Google::Apis::Core::Hashable # The description of the reason why create-meeting-notes failed. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # An AgendaEntry, e.g., a Calendar Event. # Corresponds to the JSON property `event` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickAgendaEntry] attr_accessor :event # The reason why create-meeting-notes failed. # Corresponds to the JSON property `reason` # @return [String] attr_accessor :reason def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] if args.key?(:description) @event = args[:event] if args.key?(:event) @reason = args[:reason] if args.key?(:reason) end end # Information about the meeting notes created. class EnterpriseTopazSidekickMeetingNotesCardProto include Google::Apis::Core::Hashable # An AgendaEntry, e.g., a Calendar Event. # Corresponds to the JSON property `event` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickAgendaEntry] attr_accessor :event # Google Drive ID (a.k.a. resource ID) of the file. # Corresponds to the JSON property `fileId` # @return [String] attr_accessor :file_id # Title we want to show for meeting notes in the answer card # Corresponds to the JSON property `title` # @return [String] attr_accessor :title # New 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) @event = args[:event] if args.key?(:event) @file_id = args[:file_id] if args.key?(:file_id) @title = args[:title] if args.key?(:title) @url = args[:url] if args.key?(:url) end end # Meeting notes card request. class EnterpriseTopazSidekickMeetingNotesCardRequest include Google::Apis::Core::Hashable # Who are the meeting notes created for. # Corresponds to the JSON property `canCreateFor` # @return [Array] attr_accessor :can_create_for # Errors in the creation of meeting notes. # Corresponds to the JSON property `error` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickMeetingNotesCardError] attr_accessor :error # An AgendaEntry, e.g., a Calendar Event. # Corresponds to the JSON property `event` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickAgendaEntry] attr_accessor :event def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @can_create_for = args[:can_create_for] if args.key?(:can_create_for) @error = args[:error] if args.key?(:error) @event = args[:event] if args.key?(:event) end end # Metadata about the NLP interpretation of the query. class EnterpriseTopazSidekickNlpMetadata include Google::Apis::Core::Hashable # Confidence of the interpretation that generated this card. # Corresponds to the JSON property `confidence` # @return [Float] attr_accessor :confidence def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @confidence = args[:confidence] if args.key?(:confidence) end end # Metadata for disambiguation. class EnterpriseTopazSidekickPeopleAnswerDisambiguationInfo include Google::Apis::Core::Hashable # A list of people that also matched the query. This list is not complete. # Corresponds to the JSON property `disambiguation` # @return [Array] attr_accessor :disambiguation # The name that was extracted from the query. This may be in the form of the # given name, last name, full name, LDAP, or email address. This name can be # considered suitable for displaying to the user and can largely be considered # to be normalized (e.g. "Bob's" -> "Bob"). # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disambiguation = args[:disambiguation] if args.key?(:disambiguation) @name = args[:name] if args.key?(:name) end end # A person that also matches the query, but was not selected due to a lower # affinity with the requesting user. class EnterpriseTopazSidekickPeopleAnswerDisambiguationInfoDisambiguationPerson include Google::Apis::Core::Hashable # Common representation of a person. # Corresponds to the JSON property `person` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickCommonPerson] attr_accessor :person # The query that can be used to produce an answer card with the same attribute, # but for this person. # Corresponds to the JSON property `query` # @return [String] attr_accessor :query def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @person = args[:person] if args.key?(:person) @query = args[:query] if args.key?(:query) end end # Recommended header to display for the card. class EnterpriseTopazSidekickPeopleAnswerPeopleAnswerCardHeader include Google::Apis::Core::Hashable # The suggested title to display. This defaults to the user's query. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @title = args[:title] if args.key?(:title) end end # An answer card for a single person. class EnterpriseTopazSidekickPeopleAnswerPersonAnswerCard include Google::Apis::Core::Hashable # List of answers. # Corresponds to the JSON property `answer` # @return [Array] attr_accessor :answer # A list of answers represented as free text. # Corresponds to the JSON property `answerText` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickAnswerAnswerList] attr_accessor :answer_text # Metadata for disambiguation. # Corresponds to the JSON property `disambiguationInfo` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickPeopleAnswerDisambiguationInfo] attr_accessor :disambiguation_info # Recommended header to display for the card. # Corresponds to the JSON property `header` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickPeopleAnswerPeopleAnswerCardHeader] attr_accessor :header # The response status. # Corresponds to the JSON property `responseStatus` # @return [String] attr_accessor :response_status # Localized user friendly message to display to the user in the case of missing # data or an error. # Corresponds to the JSON property `statusMessage` # @return [String] attr_accessor :status_message # Common representation of a person. # Corresponds to the JSON property `subject` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickCommonPerson] attr_accessor :subject def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @answer = args[:answer] if args.key?(:answer) @answer_text = args[:answer_text] if args.key?(:answer_text) @disambiguation_info = args[:disambiguation_info] if args.key?(:disambiguation_info) @header = args[:header] if args.key?(:header) @response_status = args[:response_status] if args.key?(:response_status) @status_message = args[:status_message] if args.key?(:status_message) @subject = args[:subject] if args.key?(:subject) end end # An answer card for a list of people that are related to the subject of the # query. class EnterpriseTopazSidekickPeopleAnswerRelatedPeopleAnswerCard include Google::Apis::Core::Hashable # Metadata for disambiguation. # Corresponds to the JSON property `disambiguationInfo` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickPeopleAnswerDisambiguationInfo] attr_accessor :disambiguation_info # Recommended header to display for the card. # Corresponds to the JSON property `header` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickPeopleAnswerPeopleAnswerCardHeader] attr_accessor :header # A list of people that are related to the query subject. # Corresponds to the JSON property `relatedPeople` # @return [Array] attr_accessor :related_people # Defines the type of relation the list of people have with the subject of the # card. # Corresponds to the JSON property `relationType` # @return [String] attr_accessor :relation_type # The response status. # Corresponds to the JSON property `responseStatus` # @return [String] attr_accessor :response_status # Localized user friendly message to display to the user in the case of missing # data or an error. # Corresponds to the JSON property `statusMessage` # @return [String] attr_accessor :status_message # Common representation of a person. # Corresponds to the JSON property `subject` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickCommonPerson] attr_accessor :subject def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disambiguation_info = args[:disambiguation_info] if args.key?(:disambiguation_info) @header = args[:header] if args.key?(:header) @related_people = args[:related_people] if args.key?(:related_people) @relation_type = args[:relation_type] if args.key?(:relation_type) @response_status = args[:response_status] if args.key?(:response_status) @status_message = args[:status_message] if args.key?(:status_message) @subject = args[:subject] if args.key?(:subject) end end # class EnterpriseTopazSidekickPeopleDisambiguationCard include Google::Apis::Core::Hashable # Candidate persons for the query. # Corresponds to the JSON property `person` # @return [Array] attr_accessor :person def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @person = args[:person] if args.key?(:person) end end # Person. class EnterpriseTopazSidekickPerson include Google::Apis::Core::Hashable # The level of affinity this person has with the requesting user. # Corresponds to the JSON property `affinityLevel` # @return [String] attr_accessor :affinity_level # Attendance status of the person when included in a meeting event. # Corresponds to the JSON property `attendingStatus` # @return [String] attr_accessor :attending_status # Email. # Corresponds to the JSON property `email` # @return [String] attr_accessor :email # Gaia id. # Corresponds to the JSON property `gaiaId` # @return [Fixnum] attr_accessor :gaia_id # Whether the invitee is a group. # Corresponds to the JSON property `isGroup` # @return [Boolean] attr_accessor :is_group alias_method :is_group?, :is_group # Name. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Obfuscated Gaia id. # Corresponds to the JSON property `obfuscatedGaiaId` # @return [String] attr_accessor :obfuscated_gaia_id # Absolute URL to the profile photo of the person. # Corresponds to the JSON property `photoUrl` # @return [String] attr_accessor :photo_url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @affinity_level = args[:affinity_level] if args.key?(:affinity_level) @attending_status = args[:attending_status] if args.key?(:attending_status) @email = args[:email] if args.key?(:email) @gaia_id = args[:gaia_id] if args.key?(:gaia_id) @is_group = args[:is_group] if args.key?(:is_group) @name = args[:name] if args.key?(:name) @obfuscated_gaia_id = args[:obfuscated_gaia_id] if args.key?(:obfuscated_gaia_id) @photo_url = args[:photo_url] if args.key?(:photo_url) end end # class EnterpriseTopazSidekickPersonProfileCard include Google::Apis::Core::Hashable # # Corresponds to the JSON property `relatedPeople` # @return [Array] attr_accessor :related_people # Common representation of a person. # Corresponds to the JSON property `subject` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickCommonPerson] attr_accessor :subject def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @related_people = args[:related_people] if args.key?(:related_people) @subject = args[:subject] if args.key?(:subject) end end # class EnterpriseTopazSidekickPersonProfileCardRelatedPeople include Google::Apis::Core::Hashable # Related people. # Corresponds to the JSON property `relatedPerson` # @return [Array] attr_accessor :related_person # Relation type. # Corresponds to the JSON property `relation` # @return [String] attr_accessor :relation def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @related_person = args[:related_person] if args.key?(:related_person) @relation = args[:relation] if args.key?(:relation) end end # Personalized docs card proto. class EnterpriseTopazSidekickPersonalizedDocsCardProto include Google::Apis::Core::Hashable # Document group. # Corresponds to the JSON property `documentGroup` # @return [Array] attr_accessor :document_group def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @document_group = args[:document_group] if args.key?(:document_group) end end # Ranking params. class EnterpriseTopazSidekickRankingParams include Google::Apis::Core::Hashable # The end-time that this object will expect to occur. If the type is marked as # FIXED, then this end-time will persist after bidding. If the type is marked as # FLEXIBLE, this field is NOT expected to be filled and will be filled in after # it has won a bid. Expected to be set when type is set to FIXED. # Corresponds to the JSON property `endTimeMs` # @return [Fixnum] attr_accessor :end_time_ms # The priority to determine between objects that have the same start_time_ms The # lower-value of priority == ranked higher. Max-priority = 0. Expected to be set # for all types. # Corresponds to the JSON property `priority` # @return [String] attr_accessor :priority # The score of the card to be used to break priority-ties # Corresponds to the JSON property `score` # @return [Float] attr_accessor :score # The span that this card will take in the stream Expected to be set when type # is set to FLEXIBLE. # Corresponds to the JSON property `spanMs` # @return [Fixnum] attr_accessor :span_ms # The start-time that this object will bid-for If the type is marked as FIXED, # then this start-time will persist after bidding. If the type is marked as # FLEXIBLE, then it will occur at the given time or sometime after the requested # time. Expected to be set for all types. # Corresponds to the JSON property `startTimeMs` # @return [Fixnum] attr_accessor :start_time_ms # The packing type of this object. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @end_time_ms = args[:end_time_ms] if args.key?(:end_time_ms) @priority = args[:priority] if args.key?(:priority) @score = args[:score] if args.key?(:score) @span_ms = args[:span_ms] if args.key?(:span_ms) @start_time_ms = args[:start_time_ms] if args.key?(:start_time_ms) @type = args[:type] if args.key?(:type) end end # class EnterpriseTopazSidekickRecentDocumentsCardProto include Google::Apis::Core::Hashable # # Corresponds to the JSON property `document` # @return [Array] attr_accessor :document def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @document = args[:document] if args.key?(:document) end end # Details about scheduled meetings. class EnterpriseTopazSidekickScheduledMeeting include Google::Apis::Core::Hashable # The meeting location. # Corresponds to the JSON property `meetingLocation` # @return [String] attr_accessor :meeting_location # Slot of time. # Corresponds to the JSON property `meetingTime` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickTimeSlot] attr_accessor :meeting_time # The meeting title. # Corresponds to the JSON property `meetingTitle` # @return [String] attr_accessor :meeting_title def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @meeting_location = args[:meeting_location] if args.key?(:meeting_location) @meeting_time = args[:meeting_time] if args.key?(:meeting_time) @meeting_title = args[:meeting_title] if args.key?(:meeting_title) end end # Share meeting docs card proto. class EnterpriseTopazSidekickShareMeetingDocsCardProto include Google::Apis::Core::Hashable # Documents to share for the given meeting. # Corresponds to the JSON property `document` # @return [Array] attr_accessor :document # An AgendaEntry, e.g., a Calendar Event. # Corresponds to the JSON property `event` # @return [Google::Apis::CloudsearchV1::EnterpriseTopazSidekickAgendaEntry] attr_accessor :event def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @document = args[:document] if args.key?(:document) @event = args[:event] if args.key?(:event) end end # Slot of time. class EnterpriseTopazSidekickTimeSlot include Google::Apis::Core::Hashable # Day end time at the user's timezone. # Corresponds to the JSON property `endTimeDay` # @return [String] attr_accessor :end_time_day # Hour and minute of the end time at the user's timezone. # Corresponds to the JSON property `endTimeHourAndMinute` # @return [String] attr_accessor :end_time_hour_and_minute # End time in milliseconds. # Corresponds to the JSON property `endTimeInMillis` # @return [Fixnum] attr_accessor :end_time_in_millis # Day start time at user's timezone. # Corresponds to the JSON property `startTimeDay` # @return [String] attr_accessor :start_time_day # Hour and minute of the start time at the user's timezone. # Corresponds to the JSON property `startTimeHourAndMinute` # @return [String] attr_accessor :start_time_hour_and_minute # Start time in milliseconds. # Corresponds to the JSON property `startTimeInMillis` # @return [Fixnum] attr_accessor :start_time_in_millis def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @end_time_day = args[:end_time_day] if args.key?(:end_time_day) @end_time_hour_and_minute = args[:end_time_hour_and_minute] if args.key?(:end_time_hour_and_minute) @end_time_in_millis = args[:end_time_in_millis] if args.key?(:end_time_in_millis) @start_time_day = args[:start_time_day] if args.key?(:start_time_day) @start_time_hour_and_minute = args[:start_time_hour_and_minute] if args.key?(:start_time_hour_and_minute) @start_time_in_millis = args[:start_time_in_millis] if args.key?(:start_time_in_millis) end end # Used to provide a search operator for enum properties. This is optional. # Search operators let users restrict the query to specific fields relevant to # the type of item being searched. For example, if you provide no operator for a # *priority* enum property with possible values *p0* and *p1*, a query that # contains the term *p0* returns items that have *p0* as the value of the * # priority* property, as well as any items that contain the string *p0* in other # fields. If you provide an operator name for the enum, such as *priority*, then # search users can use that operator to refine results to only items that have * # p0* as this property's value, with the query *priority:p0*. class EnumOperatorOptions include Google::Apis::Core::Hashable # Indicates the operator name required in the query in order to isolate the enum # property. For example, if operatorName is *priority* and the property's name # is *priorityVal*, then queries like *priority:* show results only where # the value of the property named *priorityVal* matches **. By contrast, # a search that uses the same ** without an operator returns all items # where ** matches the value of any String properties or text within the # content field for the item. The operator name can only contain lowercase # letters (a-z). The maximum length is 32 characters. # Corresponds to the JSON property `operatorName` # @return [String] attr_accessor :operator_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @operator_name = args[:operator_name] if args.key?(:operator_name) end end # The options for enum properties, which allow you to define a restricted set of # strings to match user queries, set rankings for those string values, and # define an operator name to be paired with those strings so that users can # narrow results to only items with a specific value. For example, for items in # a request tracking system with priority information, you could define *p0* as # an allowable enum value and tie this enum to the operator name *priority* so # that search users could add *priority:p0* to their query to restrict the set # of results to only those items indexed with the value *p0*. class EnumPropertyOptions include Google::Apis::Core::Hashable # Used to provide a search operator for enum properties. This is optional. # Search operators let users restrict the query to specific fields relevant to # the type of item being searched. For example, if you provide no operator for a # *priority* enum property with possible values *p0* and *p1*, a query that # contains the term *p0* returns items that have *p0* as the value of the * # priority* property, as well as any items that contain the string *p0* in other # fields. If you provide an operator name for the enum, such as *priority*, then # search users can use that operator to refine results to only items that have * # p0* as this property's value, with the query *priority:p0*. # Corresponds to the JSON property `operatorOptions` # @return [Google::Apis::CloudsearchV1::EnumOperatorOptions] attr_accessor :operator_options # Used to specify the ordered ranking for the enumeration that determines how # the integer values provided in the possible EnumValuePairs are used to rank # results. If specified, integer values must be provided for all possible # EnumValuePair values given for this property. Can only be used if isRepeatable # is false. # Corresponds to the JSON property `orderedRanking` # @return [String] attr_accessor :ordered_ranking # The list of possible values for the enumeration property. All EnumValuePairs # must provide a string value. If you specify an integer value for one # EnumValuePair, then all possible EnumValuePairs must provide an integer value. # Both the string value and integer value must be unique over all possible # values. Once set, possible values cannot be removed or modified. If you supply # an ordered ranking and think you might insert additional enum values in the # future, leave gaps in the initial integer values to allow adding a value in # between previously registered values. The maximum number of elements is 100. # Corresponds to the JSON property `possibleValues` # @return [Array] attr_accessor :possible_values def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @operator_options = args[:operator_options] if args.key?(:operator_options) @ordered_ranking = args[:ordered_ranking] if args.key?(:ordered_ranking) @possible_values = args[:possible_values] if args.key?(:possible_values) end end # The enumeration value pair defines two things: a required string value and an # optional integer value. The string value defines the necessary query term # required to retrieve that item, such as *p0* for a priority item. The integer # value determines the ranking of that string value relative to other enumerated # values for the same property. For example, you might associate *p0* with *0* # and define another enum pair such as *p1* and *1*. You must use the integer # value in combination with ordered ranking to set the ranking of a given value # relative to other enumerated values for the same property name. Here, a # ranking order of DESCENDING for *priority* properties results in a ranking # boost for items indexed with a value of *p0* compared to items indexed with a # value of *p1*. Without a specified ranking order, the integer value has no # effect on item ranking. class EnumValuePair include Google::Apis::Core::Hashable # The integer value of the EnumValuePair which must be non-negative. Optional. # Corresponds to the JSON property `integerValue` # @return [Fixnum] attr_accessor :integer_value # The string value of the EnumValuePair. The maximum length is 32 characters. # Corresponds to the JSON property `stringValue` # @return [String] attr_accessor :string_value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @integer_value = args[:integer_value] if args.key?(:integer_value) @string_value = args[:string_value] if args.key?(:string_value) end end # List of enum values. class EnumValues include Google::Apis::Core::Hashable # The maximum allowable length for string values is 32 characters. # Corresponds to the JSON property `values` # @return [Array] attr_accessor :values def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @values = args[:values] if args.key?(:values) end end # Error information about the response. class ErrorInfo include Google::Apis::Core::Hashable # # Corresponds to the JSON property `errorMessages` # @return [Array] attr_accessor :error_messages def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @error_messages = args[:error_messages] if args.key?(:error_messages) end end # Error message per source response. class ErrorMessage include Google::Apis::Core::Hashable # # Corresponds to the JSON property `errorMessage` # @return [String] attr_accessor :error_message # Defines sources for the suggest/search APIs. # Corresponds to the JSON property `source` # @return [Google::Apis::CloudsearchV1::Source] attr_accessor :source def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @error_message = args[:error_message] if args.key?(:error_message) @source = args[:source] if args.key?(:source) end end # A bucket in a facet is the basic unit of operation. A bucket can comprise # either a single value OR a contiguous range of values, depending on the type # of the field bucketed. FacetBucket is currently used only for returning the # response object. class FacetBucket include Google::Apis::Core::Hashable # Number of results that match the bucket value. Counts are only returned for # searches when count accuracy is ensured. Cloud Search does not guarantee facet # counts for any query and facet counts might be present only intermittently, # even for identical queries. Do not build dependencies on facet count existence; # instead use facet ount percentages which are always returned. # Corresponds to the JSON property `count` # @return [Fixnum] attr_accessor :count # A generic way of expressing filters in a query, which supports two approaches: # **1. Setting a ValueFilter.** The name must match an operator_name defined in # the schema for your data source. **2. Setting a CompositeFilter.** The filters # are evaluated using the logical operator. The top-level operators can only be # either an AND or a NOT. AND can appear only at the top-most level. OR can # appear only under a top-level AND. # Corresponds to the JSON property `filter` # @return [Google::Apis::CloudsearchV1::Filter] attr_accessor :filter # Percent of results that match the bucket value. The returned value is between ( # 0-100], and is rounded down to an integer if fractional. If the value is not # explicitly returned, it represents a percentage value that rounds to 0. # Percentages are returned for all searches, but are an estimate. Because # percentages are always returned, you should render percentages instead of # counts. # Corresponds to the JSON property `percentage` # @return [Fixnum] attr_accessor :percentage # Definition of a single value with generic type. # Corresponds to the JSON property `value` # @return [Google::Apis::CloudsearchV1::Value] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @count = args[:count] if args.key?(:count) @filter = args[:filter] if args.key?(:filter) @percentage = args[:percentage] if args.key?(:percentage) @value = args[:value] if args.key?(:value) end end # Specifies operators to return facet results for. There will be one FacetResult # for every source_name/object_type/operator_name combination. class FacetOptions include Google::Apis::Core::Hashable # Used to specify integer faceting options. # Corresponds to the JSON property `integerFacetingOptions` # @return [Google::Apis::CloudsearchV1::IntegerFacetingOptions] attr_accessor :integer_faceting_options # Maximum number of facet buckets that should be returned for this facet. # Defaults to 10. Maximum value is 100. # Corresponds to the JSON property `numFacetBuckets` # @return [Fixnum] attr_accessor :num_facet_buckets # If object_type is set, only those objects of that type will be used to compute # facets. If empty, then all objects will be used to compute facets. # Corresponds to the JSON property `objectType` # @return [String] attr_accessor :object_type # The name of the operator chosen for faceting. @see cloudsearch. # SchemaPropertyOptions # Corresponds to the JSON property `operatorName` # @return [String] attr_accessor :operator_name # Source name to facet on. Format: datasources/`source_id` If empty, all data # sources will be used. # Corresponds to the JSON property `sourceName` # @return [String] attr_accessor :source_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @integer_faceting_options = args[:integer_faceting_options] if args.key?(:integer_faceting_options) @num_facet_buckets = args[:num_facet_buckets] if args.key?(:num_facet_buckets) @object_type = args[:object_type] if args.key?(:object_type) @operator_name = args[:operator_name] if args.key?(:operator_name) @source_name = args[:source_name] if args.key?(:source_name) end end # Source specific facet response class FacetResult include Google::Apis::Core::Hashable # FacetBuckets for values in response containing at least a single result with # the corresponding filter. # Corresponds to the JSON property `buckets` # @return [Array] attr_accessor :buckets # Object type for which facet results are returned. Can be empty. # Corresponds to the JSON property `objectType` # @return [String] attr_accessor :object_type # The name of the operator chosen for faceting. @see cloudsearch. # SchemaPropertyOptions # Corresponds to the JSON property `operatorName` # @return [String] attr_accessor :operator_name # Source name for which facet results are returned. Will not be empty. # Corresponds to the JSON property `sourceName` # @return [String] attr_accessor :source_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @buckets = args[:buckets] if args.key?(:buckets) @object_type = args[:object_type] if args.key?(:object_type) @operator_name = args[:operator_name] if args.key?(:operator_name) @source_name = args[:source_name] if args.key?(:source_name) end end # class FieldViolation include Google::Apis::Core::Hashable # The description of the error. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Path of field with violation. # Corresponds to the JSON property `field` # @return [String] attr_accessor :field def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] if args.key?(:description) @field = args[:field] if args.key?(:field) end end # A generic way of expressing filters in a query, which supports two approaches: # **1. Setting a ValueFilter.** The name must match an operator_name defined in # the schema for your data source. **2. Setting a CompositeFilter.** The filters # are evaluated using the logical operator. The top-level operators can only be # either an AND or a NOT. AND can appear only at the top-most level. OR can # appear only under a top-level AND. class Filter include Google::Apis::Core::Hashable # # Corresponds to the JSON property `compositeFilter` # @return [Google::Apis::CloudsearchV1::CompositeFilter] attr_accessor :composite_filter # # Corresponds to the JSON property `valueFilter` # @return [Google::Apis::CloudsearchV1::ValueFilter] attr_accessor :value_filter def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @composite_filter = args[:composite_filter] if args.key?(:composite_filter) @value_filter = args[:value_filter] if args.key?(:value_filter) end end # Filter options to be applied on query. class FilterOptions include Google::Apis::Core::Hashable # A generic way of expressing filters in a query, which supports two approaches: # **1. Setting a ValueFilter.** The name must match an operator_name defined in # the schema for your data source. **2. Setting a CompositeFilter.** The filters # are evaluated using the logical operator. The top-level operators can only be # either an AND or a NOT. AND can appear only at the top-most level. OR can # appear only under a top-level AND. # Corresponds to the JSON property `filter` # @return [Google::Apis::CloudsearchV1::Filter] attr_accessor :filter # If object_type is set, only objects of that type are returned. This should # correspond to the name of the object that was registered within the definition # of schema. The maximum length is 256 characters. # Corresponds to the JSON property `objectType` # @return [String] attr_accessor :object_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @filter = args[:filter] if args.key?(:filter) @object_type = args[:object_type] if args.key?(:object_type) end end # Indicates which freshness property to use when adjusting search ranking for an # item. Fresher, more recent dates indicate higher quality. Use the freshness # option property that best works with your data. For fileshare documents, last # modified time is most relevant. For calendar event data, the time when the # event occurs is a more relevant freshness indicator. In this way, calendar # events that occur closer to the time of the search query are considered higher # quality and ranked accordingly. class FreshnessOptions include Google::Apis::Core::Hashable # The duration after which an object should be considered stale. The default # value is 180 days (in seconds). # Corresponds to the JSON property `freshnessDuration` # @return [String] attr_accessor :freshness_duration # This property indicates the freshness level of the object in the index. If set, # this property must be a top-level property within the property definitions # and it must be a timestamp type or date type. Otherwise, the Indexing API uses # updateTime as the freshness indicator. The maximum length is 256 characters. # When a property is used to calculate freshness, the value defaults to 2 years # from the current time. # Corresponds to the JSON property `freshnessProperty` # @return [String] attr_accessor :freshness_property def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @freshness_duration = args[:freshness_duration] if args.key?(:freshness_duration) @freshness_property = args[:freshness_property] if args.key?(:freshness_property) end end # class GSuitePrincipal include Google::Apis::Core::Hashable # This principal represents all users of the Google Workspace domain of the # customer. # Corresponds to the JSON property `gsuiteDomain` # @return [Boolean] attr_accessor :gsuite_domain alias_method :gsuite_domain?, :gsuite_domain # This principal references a Google Workspace group name. # Corresponds to the JSON property `gsuiteGroupEmail` # @return [String] attr_accessor :gsuite_group_email # This principal references a Google Workspace user account. # Corresponds to the JSON property `gsuiteUserEmail` # @return [String] attr_accessor :gsuite_user_email def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @gsuite_domain = args[:gsuite_domain] if args.key?(:gsuite_domain) @gsuite_group_email = args[:gsuite_group_email] if args.key?(:gsuite_group_email) @gsuite_user_email = args[:gsuite_user_email] if args.key?(:gsuite_user_email) end end # class GetCustomerIndexStatsResponse include Google::Apis::Core::Hashable # Average item count for the given date range for which billing is done. # Corresponds to the JSON property `averageIndexedItemCount` # @return [Fixnum] attr_accessor :average_indexed_item_count # Summary of indexed item counts, one for each day in the requested range. # Corresponds to the JSON property `stats` # @return [Array] attr_accessor :stats def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @average_indexed_item_count = args[:average_indexed_item_count] if args.key?(:average_indexed_item_count) @stats = args[:stats] if args.key?(:stats) end end # class GetCustomerQueryStatsResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `stats` # @return [Array] attr_accessor :stats # Total successful query count (status code 200) for the given date range. # Corresponds to the JSON property `totalQueryCount` # @return [Fixnum] attr_accessor :total_query_count def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @stats = args[:stats] if args.key?(:stats) @total_query_count = args[:total_query_count] if args.key?(:total_query_count) end end # Response format for search application stats for a customer. class GetCustomerSearchApplicationStatsResponse include Google::Apis::Core::Hashable # Average search application count for the given date range. # Corresponds to the JSON property `averageSearchApplicationCount` # @return [Fixnum] attr_accessor :average_search_application_count # Search application stats by date. # Corresponds to the JSON property `stats` # @return [Array] attr_accessor :stats def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @average_search_application_count = args[:average_search_application_count] if args.key?(:average_search_application_count) @stats = args[:stats] if args.key?(:stats) end end # class GetCustomerSessionStatsResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `stats` # @return [Array] attr_accessor :stats def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @stats = args[:stats] if args.key?(:stats) end end # class GetCustomerUserStatsResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `stats` # @return [Array] attr_accessor :stats def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @stats = args[:stats] if args.key?(:stats) end end # class GetDataSourceIndexStatsResponse include Google::Apis::Core::Hashable # Average item count for the given date range for which billing is done. # Corresponds to the JSON property `averageIndexedItemCount` # @return [Fixnum] attr_accessor :average_indexed_item_count # Summary of indexed item counts, one for each day in the requested range. # Corresponds to the JSON property `stats` # @return [Array] attr_accessor :stats def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @average_indexed_item_count = args[:average_indexed_item_count] if args.key?(:average_indexed_item_count) @stats = args[:stats] if args.key?(:stats) end end # Response format for getting query stats for a search application between given # dates. class GetSearchApplicationQueryStatsResponse include Google::Apis::Core::Hashable # Query stats per date for a search application. # Corresponds to the JSON property `stats` # @return [Array] attr_accessor :stats # Total successful query count (status code 200) for the given date range. # Corresponds to the JSON property `totalQueryCount` # @return [Fixnum] attr_accessor :total_query_count def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @stats = args[:stats] if args.key?(:stats) @total_query_count = args[:total_query_count] if args.key?(:total_query_count) end end # class GetSearchApplicationSessionStatsResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `stats` # @return [Array] attr_accessor :stats def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @stats = args[:stats] if args.key?(:stats) end end # class GetSearchApplicationUserStatsResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `stats` # @return [Array] attr_accessor :stats def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @stats = args[:stats] if args.key?(:stats) end end # Used to provide a search operator for html properties. This is optional. # Search operators let users restrict the query to specific fields relevant to # the type of item being searched. class HtmlOperatorOptions include Google::Apis::Core::Hashable # Indicates the operator name required in the query in order to isolate the html # property. For example, if operatorName is *subject* and the property's name is # *subjectLine*, then queries like *subject:* show results only where the # value of the property named *subjectLine* matches **. By contrast, a # search that uses the same ** without an operator return all items where # ** matches the value of any html properties or text within the content # field for the item. The operator name can only contain lowercase letters (a-z). # The maximum length is 32 characters. # Corresponds to the JSON property `operatorName` # @return [String] attr_accessor :operator_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @operator_name = args[:operator_name] if args.key?(:operator_name) end end # The options for html properties. class HtmlPropertyOptions include Google::Apis::Core::Hashable # Used to provide a search operator for html properties. This is optional. # Search operators let users restrict the query to specific fields relevant to # the type of item being searched. # Corresponds to the JSON property `operatorOptions` # @return [Google::Apis::CloudsearchV1::HtmlOperatorOptions] attr_accessor :operator_options # Indicates the search quality importance of the tokens within the field when # used for retrieval. Can only be set to DEFAULT or NONE. # Corresponds to the JSON property `retrievalImportance` # @return [Google::Apis::CloudsearchV1::RetrievalImportance] attr_accessor :retrieval_importance def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @operator_options = args[:operator_options] if args.key?(:operator_options) @retrieval_importance = args[:retrieval_importance] if args.key?(:retrieval_importance) end end # List of html values. class HtmlValues include Google::Apis::Core::Hashable # The maximum allowable length for html values is 2048 characters. # Corresponds to the JSON property `values` # @return [Array] attr_accessor :values def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @values = args[:values] if args.key?(:values) end end # class IndexItemOptions include Google::Apis::Core::Hashable # Specifies if the index request should allow Google Workspace principals that # do not exist or are deleted. # Corresponds to the JSON property `allowUnknownGsuitePrincipals` # @return [Boolean] attr_accessor :allow_unknown_gsuite_principals alias_method :allow_unknown_gsuite_principals?, :allow_unknown_gsuite_principals def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @allow_unknown_gsuite_principals = args[:allow_unknown_gsuite_principals] if args.key?(:allow_unknown_gsuite_principals) end end # class IndexItemRequest include Google::Apis::Core::Hashable # The name of connector making this call. Format: datasources/`source_id`/ # connectors/`ID` # Corresponds to the JSON property `connectorName` # @return [String] attr_accessor :connector_name # Shared request debug options for all cloudsearch RPC methods. # Corresponds to the JSON property `debugOptions` # @return [Google::Apis::CloudsearchV1::DebugOptions] attr_accessor :debug_options # # Corresponds to the JSON property `indexItemOptions` # @return [Google::Apis::CloudsearchV1::IndexItemOptions] attr_accessor :index_item_options # Represents a single object that is an item in the search index, such as a file, # folder, or a database record. # Corresponds to the JSON property `item` # @return [Google::Apis::CloudsearchV1::Item] attr_accessor :item # Required. The RequestMode for this request. # Corresponds to the JSON property `mode` # @return [String] attr_accessor :mode def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @connector_name = args[:connector_name] if args.key?(:connector_name) @debug_options = args[:debug_options] if args.key?(:debug_options) @index_item_options = args[:index_item_options] if args.key?(:index_item_options) @item = args[:item] if args.key?(:item) @mode = args[:mode] if args.key?(:mode) end end # Request message for `InitializeCustomer` method. class InitializeCustomerRequest include Google::Apis::Core::Hashable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) end end # Used to specify integer faceting options. class IntegerFacetingOptions include Google::Apis::Core::Hashable # Buckets for given integer values should be in strictly ascending order. For # example, if values supplied are (1,5,10,100), the following facet buckets will # be formed `<1, [1,5), [5-10), [10-100), >=100`. # Corresponds to the JSON property `integerBuckets` # @return [Array] attr_accessor :integer_buckets def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @integer_buckets = args[:integer_buckets] if args.key?(:integer_buckets) end end # Used to provide a search operator for integer properties. This is optional. # Search operators let users restrict the query to specific fields relevant to # the type of item being searched. class IntegerOperatorOptions include Google::Apis::Core::Hashable # Indicates the operator name required in the query in order to isolate the # integer property using the greater-than operator. For example, if # greaterThanOperatorName is *priorityabove* and the property's name is * # priorityVal*, then queries like *priorityabove:* show results only # where the value of the property named *priorityVal* is greater than **. # The operator name can only contain lowercase letters (a-z). The maximum length # is 32 characters. # Corresponds to the JSON property `greaterThanOperatorName` # @return [String] attr_accessor :greater_than_operator_name # Indicates the operator name required in the query in order to isolate the # integer property using the less-than operator. For example, if # lessThanOperatorName is *prioritybelow* and the property's name is * # priorityVal*, then queries like *prioritybelow:* show results only # where the value of the property named *priorityVal* is less than **. # The operator name can only contain lowercase letters (a-z). The maximum length # is 32 characters. # Corresponds to the JSON property `lessThanOperatorName` # @return [String] attr_accessor :less_than_operator_name # Indicates the operator name required in the query in order to isolate the # integer property. For example, if operatorName is *priority* and the property' # s name is *priorityVal*, then queries like *priority:* show results # only where the value of the property named *priorityVal* matches **. By # contrast, a search that uses the same ** without an operator returns # all items where ** matches the value of any String properties or text # within the content field for the item. The operator name can only contain # lowercase letters (a-z). The maximum length is 32 characters. # Corresponds to the JSON property `operatorName` # @return [String] attr_accessor :operator_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @greater_than_operator_name = args[:greater_than_operator_name] if args.key?(:greater_than_operator_name) @less_than_operator_name = args[:less_than_operator_name] if args.key?(:less_than_operator_name) @operator_name = args[:operator_name] if args.key?(:operator_name) end end # The options for integer properties. class IntegerPropertyOptions include Google::Apis::Core::Hashable # Used to specify integer faceting options. # Corresponds to the JSON property `integerFacetingOptions` # @return [Google::Apis::CloudsearchV1::IntegerFacetingOptions] attr_accessor :integer_faceting_options # The maximum value of the property. The minimum and maximum values for the # property are used to rank results according to the ordered ranking. Indexing # requests with values greater than the maximum are accepted and ranked with the # same weight as items indexed with the maximum value. # Corresponds to the JSON property `maximumValue` # @return [Fixnum] attr_accessor :maximum_value # The minimum value of the property. The minimum and maximum values for the # property are used to rank results according to the ordered ranking. Indexing # requests with values less than the minimum are accepted and ranked with the # same weight as items indexed with the minimum value. # Corresponds to the JSON property `minimumValue` # @return [Fixnum] attr_accessor :minimum_value # Used to provide a search operator for integer properties. This is optional. # Search operators let users restrict the query to specific fields relevant to # the type of item being searched. # Corresponds to the JSON property `operatorOptions` # @return [Google::Apis::CloudsearchV1::IntegerOperatorOptions] attr_accessor :operator_options # Used to specify the ordered ranking for the integer. Can only be used if # isRepeatable is false. # Corresponds to the JSON property `orderedRanking` # @return [String] attr_accessor :ordered_ranking def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @integer_faceting_options = args[:integer_faceting_options] if args.key?(:integer_faceting_options) @maximum_value = args[:maximum_value] if args.key?(:maximum_value) @minimum_value = args[:minimum_value] if args.key?(:minimum_value) @operator_options = args[:operator_options] if args.key?(:operator_options) @ordered_ranking = args[:ordered_ranking] if args.key?(:ordered_ranking) end end # List of integer values. class IntegerValues include Google::Apis::Core::Hashable # # Corresponds to the JSON property `values` # @return [Array] attr_accessor :values def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @values = args[:values] if args.key?(:values) end end # Represents an interaction between a user and an item. class Interaction include Google::Apis::Core::Hashable # The time when the user acted on the item. If multiple actions of the same type # exist for a single user, only the most recent action is recorded. # Corresponds to the JSON property `interactionTime` # @return [String] attr_accessor :interaction_time # Reference to a user, group, or domain. # Corresponds to the JSON property `principal` # @return [Google::Apis::CloudsearchV1::Principal] attr_accessor :principal # # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @interaction_time = args[:interaction_time] if args.key?(:interaction_time) @principal = args[:principal] if args.key?(:principal) @type = args[:type] if args.key?(:type) end end # Represents a single object that is an item in the search index, such as a file, # folder, or a database record. class Item include Google::Apis::Core::Hashable # Access control list information for the item. For more information see [Map # ACLs](https://developers.google.com/cloud-search/docs/guides/acls). # Corresponds to the JSON property `acl` # @return [Google::Apis::CloudsearchV1::ItemAcl] attr_accessor :acl # Content of an item to be indexed and surfaced by Cloud Search. Only UTF-8 # encoded strings are allowed as inlineContent. If the content is uploaded and # not binary, it must be UTF-8 encoded. # Corresponds to the JSON property `content` # @return [Google::Apis::CloudsearchV1::ItemContent] attr_accessor :content # The type for this item. # Corresponds to the JSON property `itemType` # @return [String] attr_accessor :item_type # Available metadata fields for the item. # Corresponds to the JSON property `metadata` # @return [Google::Apis::CloudsearchV1::ItemMetadata] attr_accessor :metadata # The name of the Item. Format: datasources/`source_id`/items/`item_id` This is # a required field. The maximum length is 1536 characters. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Additional state connector can store for this item. The maximum length is # 10000 bytes. # Corresponds to the JSON property `payload` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :payload # Queue this item belongs to. The maximum length is 100 characters. # Corresponds to the JSON property `queue` # @return [String] attr_accessor :queue # This contains item's status and any errors. # Corresponds to the JSON property `status` # @return [Google::Apis::CloudsearchV1::ItemStatus] attr_accessor :status # Available structured data fields for the item. # Corresponds to the JSON property `structuredData` # @return [Google::Apis::CloudsearchV1::ItemStructuredData] attr_accessor :structured_data # Required. The indexing system stores the version from the datasource as a byte # string and compares the Item version in the index to the version of the queued # Item using lexical ordering. Cloud Search Indexing won't index or delete any # queued item with a version value that is less than or equal to the version of # the currently indexed item. The maximum length for this field is 1024 bytes. # For information on how item version affects the deletion process, refer to [ # Handle revisions after manual deletes](https://developers.google.com/cloud- # search/docs/guides/operations). # Corresponds to the JSON property `version` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :version def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @acl = args[:acl] if args.key?(:acl) @content = args[:content] if args.key?(:content) @item_type = args[:item_type] if args.key?(:item_type) @metadata = args[:metadata] if args.key?(:metadata) @name = args[:name] if args.key?(:name) @payload = args[:payload] if args.key?(:payload) @queue = args[:queue] if args.key?(:queue) @status = args[:status] if args.key?(:status) @structured_data = args[:structured_data] if args.key?(:structured_data) @version = args[:version] if args.key?(:version) end end # Access control list information for the item. For more information see [Map # ACLs](https://developers.google.com/cloud-search/docs/guides/acls). class ItemAcl include Google::Apis::Core::Hashable # Sets the type of access rules to apply when an item inherits its ACL from a # parent. This should always be set in tandem with the inheritAclFrom field. # Also, when the inheritAclFrom field is set, this field should be set to a # valid AclInheritanceType. # Corresponds to the JSON property `aclInheritanceType` # @return [String] attr_accessor :acl_inheritance_type # List of principals who are explicitly denied access to the item in search # results. While principals are denied access by default, use denied readers to # handle exceptions and override the list allowed readers. The maximum number of # elements is 100. # Corresponds to the JSON property `deniedReaders` # @return [Array] attr_accessor :denied_readers # The name of the item to inherit the Access Permission List (ACL) from. Note: # ACL inheritance *only* provides access permissions to child items and does not # define structural relationships, nor does it provide convenient ways to delete # large groups of items. Deleting an ACL parent from the index only alters the # access permissions of child items that reference the parent in the # inheritAclFrom field. The item is still in the index, but may not visible in # search results. By contrast, deletion of a container item also deletes all # items that reference the container via the containerName field. The maximum # length for this field is 1536 characters. # Corresponds to the JSON property `inheritAclFrom` # @return [String] attr_accessor :inherit_acl_from # Optional. List of owners for the item. This field has no bearing on document # access permissions. It does, however, offer a slight ranking boosts items # where the querying user is an owner. The maximum number of elements is 5. # Corresponds to the JSON property `owners` # @return [Array] attr_accessor :owners # List of principals who are allowed to see the item in search results. Optional # if inheriting permissions from another item or if the item is not intended to # be visible, such as virtual containers. The maximum number of elements is 1000. # Corresponds to the JSON property `readers` # @return [Array] attr_accessor :readers def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @acl_inheritance_type = args[:acl_inheritance_type] if args.key?(:acl_inheritance_type) @denied_readers = args[:denied_readers] if args.key?(:denied_readers) @inherit_acl_from = args[:inherit_acl_from] if args.key?(:inherit_acl_from) @owners = args[:owners] if args.key?(:owners) @readers = args[:readers] if args.key?(:readers) end end # Content of an item to be indexed and surfaced by Cloud Search. Only UTF-8 # encoded strings are allowed as inlineContent. If the content is uploaded and # not binary, it must be UTF-8 encoded. class ItemContent include Google::Apis::Core::Hashable # Represents an upload session reference. This reference is created via upload # method. This reference is valid for 30 days after its creation. Updating of # item content may refer to this uploaded content via contentDataRef. # Corresponds to the JSON property `contentDataRef` # @return [Google::Apis::CloudsearchV1::UploadItemRef] attr_accessor :content_data_ref # # Corresponds to the JSON property `contentFormat` # @return [String] attr_accessor :content_format # Hashing info calculated and provided by the API client for content. Can be # used with the items.push method to calculate modified state. The maximum # length is 2048 characters. # Corresponds to the JSON property `hash` # @return [String] attr_accessor :hash_prop # Content that is supplied inlined within the update method. The maximum length # is 102400 bytes (100 KiB). # Corresponds to the JSON property `inlineContent` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :inline_content def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content_data_ref = args[:content_data_ref] if args.key?(:content_data_ref) @content_format = args[:content_format] if args.key?(:content_format) @hash_prop = args[:hash_prop] if args.key?(:hash_prop) @inline_content = args[:inline_content] if args.key?(:inline_content) end end # class ItemCountByStatus include Google::Apis::Core::Hashable # Number of items matching the status code. # Corresponds to the JSON property `count` # @return [Fixnum] attr_accessor :count # Number of items matching the status code for which billing is done. This # excludes virtual container items from the total count. This count would not be # applicable for items with ERROR or NEW_ITEM status code. # Corresponds to the JSON property `indexedItemsCount` # @return [Fixnum] attr_accessor :indexed_items_count # Status of the items. # Corresponds to the JSON property `statusCode` # @return [String] attr_accessor :status_code def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @count = args[:count] if args.key?(:count) @indexed_items_count = args[:indexed_items_count] if args.key?(:indexed_items_count) @status_code = args[:status_code] if args.key?(:status_code) end end # Available metadata fields for the item. class ItemMetadata include Google::Apis::Core::Hashable # The name of the container for this item. Deletion of the container item leads # to automatic deletion of this item. Note: ACLs are not inherited from a # container item. To provide ACL inheritance for an item, use the inheritAclFrom # field. The maximum length is 1536 characters. # Corresponds to the JSON property `containerName` # @return [String] attr_accessor :container_name # The BCP-47 language code for the item, such as "en-US" or "sr-Latn". For more # information, see http://www.unicode.org/reports/tr35/# # Unicode_locale_identifier. The maximum length is 32 characters. # Corresponds to the JSON property `contentLanguage` # @return [String] attr_accessor :content_language # A set of named attributes associated with the item. This can be used for # influencing the ranking of the item based on the context in the request. The # maximum number of elements is 10. # Corresponds to the JSON property `contextAttributes` # @return [Array] attr_accessor :context_attributes # The time when the item was created in the source repository. # Corresponds to the JSON property `createTime` # @return [String] attr_accessor :create_time # Hashing value provided by the API caller. This can be used with the items.push # method to calculate modified state. The maximum length is 2048 characters. # Corresponds to the JSON property `hash` # @return [String] attr_accessor :hash_prop # A list of interactions for the item. Interactions are used to improve Search # quality, but are not exposed to end users. The maximum number of elements is # 1000. # Corresponds to the JSON property `interactions` # @return [Array] attr_accessor :interactions # Additional keywords or phrases that should match the item. Used internally for # user generated content. The maximum number of elements is 100. The maximum # length is 8192 characters. # Corresponds to the JSON property `keywords` # @return [Array] attr_accessor :keywords # The original mime-type of ItemContent.content in the source repository. The # maximum length is 256 characters. # Corresponds to the JSON property `mimeType` # @return [String] attr_accessor :mime_type # The type of the item. This should correspond to the name of an object # definition in the schema registered for the data source. For example, if the # schema for the data source contains an object definition with name 'document', # then item indexing requests for objects of that type should set objectType to ' # document'. The maximum length is 256 characters. # Corresponds to the JSON property `objectType` # @return [String] attr_accessor :object_type # Additional search quality metadata of the item. # Corresponds to the JSON property `searchQualityMetadata` # @return [Google::Apis::CloudsearchV1::SearchQualityMetadata] attr_accessor :search_quality_metadata # Link to the source repository serving the data. Seach results apply this link # to the title. Whitespace or special characters may cause Cloud Seach result # links to trigger a redirect notice; to avoid this, encode the URL. The maximum # length is 2048 characters. # Corresponds to the JSON property `sourceRepositoryUrl` # @return [String] attr_accessor :source_repository_url # The title of the item. If given, this will be the displayed title of the # Search result. The maximum length is 2048 characters. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title # The time when the item was last modified in the source repository. # Corresponds to the JSON property `updateTime` # @return [String] attr_accessor :update_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @container_name = args[:container_name] if args.key?(:container_name) @content_language = args[:content_language] if args.key?(:content_language) @context_attributes = args[:context_attributes] if args.key?(:context_attributes) @create_time = args[:create_time] if args.key?(:create_time) @hash_prop = args[:hash_prop] if args.key?(:hash_prop) @interactions = args[:interactions] if args.key?(:interactions) @keywords = args[:keywords] if args.key?(:keywords) @mime_type = args[:mime_type] if args.key?(:mime_type) @object_type = args[:object_type] if args.key?(:object_type) @search_quality_metadata = args[:search_quality_metadata] if args.key?(:search_quality_metadata) @source_repository_url = args[:source_repository_url] if args.key?(:source_repository_url) @title = args[:title] if args.key?(:title) @update_time = args[:update_time] if args.key?(:update_time) end end # This contains item's status and any errors. class ItemStatus include Google::Apis::Core::Hashable # Status code. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # Error details in case the item is in ERROR state. # Corresponds to the JSON property `processingErrors` # @return [Array] attr_accessor :processing_errors # Repository error reported by connector. # Corresponds to the JSON property `repositoryErrors` # @return [Array] attr_accessor :repository_errors def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @processing_errors = args[:processing_errors] if args.key?(:processing_errors) @repository_errors = args[:repository_errors] if args.key?(:repository_errors) end end # Available structured data fields for the item. class ItemStructuredData include Google::Apis::Core::Hashable # Hashing value provided by the API caller. This can be used with the items.push # method to calculate modified state. The maximum length is 2048 characters. # Corresponds to the JSON property `hash` # @return [String] attr_accessor :hash_prop # A structured data object consisting of named properties. # Corresponds to the JSON property `object` # @return [Google::Apis::CloudsearchV1::StructuredDataObject] attr_accessor :object def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @hash_prop = args[:hash_prop] if args.key?(:hash_prop) @object = args[:object] if args.key?(:object) end end # class ListDataSourceResponse include Google::Apis::Core::Hashable # Token to retrieve the next page of results, or empty if there are no more # results in the list. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # # Corresponds to the JSON property `sources` # @return [Array] attr_accessor :sources def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @sources = args[:sources] if args.key?(:sources) end end # class ListItemNamesForUnmappedIdentityResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `itemNames` # @return [Array] attr_accessor :item_names # Token to retrieve the next page of results, or empty if there are no more # results in the list. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @item_names = args[:item_names] if args.key?(:item_names) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end # class ListItemsResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Token to retrieve the next page of results, or empty if there are no more # results in the list. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @items = args[:items] if args.key?(:items) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end # The response message for Operations.ListOperations. class ListOperationsResponse include Google::Apis::Core::Hashable # The standard List next-page token. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # A list of operations that matches the specified filter in the request. # Corresponds to the JSON property `operations` # @return [Array] attr_accessor :operations def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @operations = args[:operations] if args.key?(:operations) end end # List sources response. class ListQuerySourcesResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # # Corresponds to the JSON property `sources` # @return [Array] attr_accessor :sources def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @sources = args[:sources] if args.key?(:sources) end end # class ListSearchApplicationsResponse include Google::Apis::Core::Hashable # Token to retrieve the next page of results, or empty if there are no more # results in the list. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # # Corresponds to the JSON property `searchApplications` # @return [Array] attr_accessor :search_applications def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @search_applications = args[:search_applications] if args.key?(:search_applications) end end # class ListUnmappedIdentitiesResponse include Google::Apis::Core::Hashable # Token to retrieve the next page of results, or empty if there are no more # results in the list. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # # Corresponds to the JSON property `unmappedIdentities` # @return [Array] attr_accessor :unmapped_identities def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @unmapped_identities = args[:unmapped_identities] if args.key?(:unmapped_identities) end end # Geo information used for rendering a map that shows the user's work location. class MapInfo include Google::Apis::Core::Hashable # Latitude in degrees # Corresponds to the JSON property `lat` # @return [Float] attr_accessor :lat # Message containing a string that is safe to use in URL contexts in DOM APIs # and HTML documents, where the URL context does not refer to a resource that # loads code. # Corresponds to the JSON property `locationUrl` # @return [Google::Apis::CloudsearchV1::SafeUrlProto] attr_accessor :location_url # Longitude in degrees # Corresponds to the JSON property `long` # @return [Float] attr_accessor :long # MapTiles for the area around a user's work location # Corresponds to the JSON property `mapTile` # @return [Array] attr_accessor :map_tile # The zoom level of the map. A constant zoom value of 18 is used for now to # match the zoom of the map shown on a Moma Teams Profile page # Corresponds to the JSON property `zoom` # @return [Fixnum] attr_accessor :zoom def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @lat = args[:lat] if args.key?(:lat) @location_url = args[:location_url] if args.key?(:location_url) @long = args[:long] if args.key?(:long) @map_tile = args[:map_tile] if args.key?(:map_tile) @zoom = args[:zoom] if args.key?(:zoom) end end # Information used to render a map tile image in the proper location on a map. class MapTile include Google::Apis::Core::Hashable # Message containing a string that is safe to use in URL contexts in DOM APIs # and HTML documents, where the URL context does not refer to a resource that # loads code. # Corresponds to the JSON property `imageUrl` # @return [Google::Apis::CloudsearchV1::SafeUrlProto] attr_accessor :image_url # Map tile x coordinate # Corresponds to the JSON property `tileX` # @return [Float] attr_accessor :tile_x # Map tile y coordinate # Corresponds to the JSON property `tileY` # @return [Float] attr_accessor :tile_y def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @image_url = args[:image_url] if args.key?(:image_url) @tile_x = args[:tile_x] if args.key?(:tile_x) @tile_y = args[:tile_y] if args.key?(:tile_y) end end # Matched range of a snippet [start, end). class MatchRange include Google::Apis::Core::Hashable # End of the match in the snippet. # Corresponds to the JSON property `end` # @return [Fixnum] attr_accessor :end # Starting position of the match in the snippet. # Corresponds to the JSON property `start` # @return [Fixnum] attr_accessor :start def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @end = args[:end] if args.key?(:end) @start = args[:start] if args.key?(:start) end end # Media resource. class Media include Google::Apis::Core::Hashable # Name of the media resource. # Corresponds to the JSON property `resourceName` # @return [String] attr_accessor :resource_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_name = args[:resource_name] if args.key?(:resource_name) end end # Metadata of a matched search result. class Metadata include Google::Apis::Core::Hashable # The creation time for this document or object in the search result. # Corresponds to the JSON property `createTime` # @return [String] attr_accessor :create_time # Options that specify how to display a structured data search result. # Corresponds to the JSON property `displayOptions` # @return [Google::Apis::CloudsearchV1::ResultDisplayMetadata] attr_accessor :display_options # Indexed fields in structured data, returned as a generic named property. # Corresponds to the JSON property `fields` # @return [Array] attr_accessor :fields # Mime type of the search result. # Corresponds to the JSON property `mimeType` # @return [String] attr_accessor :mime_type # Object type of the search result. # Corresponds to the JSON property `objectType` # @return [String] attr_accessor :object_type # Object to represent a person. # Corresponds to the JSON property `owner` # @return [Google::Apis::CloudsearchV1::Person] attr_accessor :owner # Defines sources for the suggest/search APIs. # Corresponds to the JSON property `source` # @return [Google::Apis::CloudsearchV1::Source] attr_accessor :source # The thumbnail URL of the result. # Corresponds to the JSON property `thumbnailUrl` # @return [String] attr_accessor :thumbnail_url # The last modified date for the object in the search result. If not set in the # item, the value returned here is empty. When `updateTime` is used for # calculating freshness and is not set, this value defaults to 2 years from the # current time. # Corresponds to the JSON property `updateTime` # @return [String] attr_accessor :update_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @create_time = args[:create_time] if args.key?(:create_time) @display_options = args[:display_options] if args.key?(:display_options) @fields = args[:fields] if args.key?(:fields) @mime_type = args[:mime_type] if args.key?(:mime_type) @object_type = args[:object_type] if args.key?(:object_type) @owner = args[:owner] if args.key?(:owner) @source = args[:source] if args.key?(:source) @thumbnail_url = args[:thumbnail_url] if args.key?(:thumbnail_url) @update_time = args[:update_time] if args.key?(:update_time) end end # A metaline is a list of properties that are displayed along with the search # result to provide context. class Metaline include Google::Apis::Core::Hashable # The list of displayed properties for the metaline. The maximum number of # properties is 5. # Corresponds to the JSON property `properties` # @return [Array] attr_accessor :properties def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @properties = args[:properties] if args.key?(:properties) end end # A person's name. class Name include Google::Apis::Core::Hashable # The read-only display name formatted according to the locale specified by the # viewer's account or the `Accept-Language` HTTP header. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @display_name = args[:display_name] if args.key?(:display_name) end end # A typed name-value pair for structured data. The type of the value should be # the same as the registered type for the `name` property in the object # definition of `objectType`. class NamedProperty include Google::Apis::Core::Hashable # # Corresponds to the JSON property `booleanValue` # @return [Boolean] attr_accessor :boolean_value alias_method :boolean_value?, :boolean_value # List of date values. # Corresponds to the JSON property `dateValues` # @return [Google::Apis::CloudsearchV1::DateValues] attr_accessor :date_values # List of double values. # Corresponds to the JSON property `doubleValues` # @return [Google::Apis::CloudsearchV1::DoubleValues] attr_accessor :double_values # List of enum values. # Corresponds to the JSON property `enumValues` # @return [Google::Apis::CloudsearchV1::EnumValues] attr_accessor :enum_values # List of html values. # Corresponds to the JSON property `htmlValues` # @return [Google::Apis::CloudsearchV1::HtmlValues] attr_accessor :html_values # List of integer values. # Corresponds to the JSON property `integerValues` # @return [Google::Apis::CloudsearchV1::IntegerValues] attr_accessor :integer_values # The name of the property. This name should correspond to the name of the # property that was registered for object definition in the schema. The maximum # allowable length for this property is 256 characters. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # List of object values. # Corresponds to the JSON property `objectValues` # @return [Google::Apis::CloudsearchV1::ObjectValues] attr_accessor :object_values # List of text values. # Corresponds to the JSON property `textValues` # @return [Google::Apis::CloudsearchV1::TextValues] attr_accessor :text_values # List of timestamp values. # Corresponds to the JSON property `timestampValues` # @return [Google::Apis::CloudsearchV1::TimestampValues] attr_accessor :timestamp_values def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @boolean_value = args[:boolean_value] if args.key?(:boolean_value) @date_values = args[:date_values] if args.key?(:date_values) @double_values = args[:double_values] if args.key?(:double_values) @enum_values = args[:enum_values] if args.key?(:enum_values) @html_values = args[:html_values] if args.key?(:html_values) @integer_values = args[:integer_values] if args.key?(:integer_values) @name = args[:name] if args.key?(:name) @object_values = args[:object_values] if args.key?(:object_values) @text_values = args[:text_values] if args.key?(:text_values) @timestamp_values = args[:timestamp_values] if args.key?(:timestamp_values) end end # The definition for an object within a data source. class ObjectDefinition include Google::Apis::Core::Hashable # The name for the object, which then defines its type. Item indexing requests # should set the objectType field equal to this value. For example, if *name* is # *Document*, then indexing requests for items of type Document should set # objectType equal to *Document*. Each object definition must be uniquely named # within a schema. The name must start with a letter and can only contain # letters (A-Z, a-z) or numbers (0-9). The maximum length is 256 characters. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The options for an object. # Corresponds to the JSON property `options` # @return [Google::Apis::CloudsearchV1::ObjectOptions] attr_accessor :options # The property definitions for the object. The maximum number of elements is # 1000. # Corresponds to the JSON property `propertyDefinitions` # @return [Array] attr_accessor :property_definitions def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @options = args[:options] if args.key?(:options) @property_definitions = args[:property_definitions] if args.key?(:property_definitions) end end # The display options for an object. class ObjectDisplayOptions include Google::Apis::Core::Hashable # Defines the properties that are displayed in the metalines of the search # results. The property values are displayed in the order given here. If a # property holds multiple values, all of the values are displayed before the # next properties. For this reason, it is a good practice to specify singular # properties before repeated properties in this list. All of the properties must # set is_returnable to true. The maximum number of metalines is 3. # Corresponds to the JSON property `metalines` # @return [Array] attr_accessor :metalines # The user friendly label to display in the search result to indicate the type # of the item. This is OPTIONAL; if not provided, an object label isn't # displayed on the context line of the search results. The maximum length is 64 # characters. # Corresponds to the JSON property `objectDisplayLabel` # @return [String] attr_accessor :object_display_label def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @metalines = args[:metalines] if args.key?(:metalines) @object_display_label = args[:object_display_label] if args.key?(:object_display_label) end end # The options for an object. class ObjectOptions include Google::Apis::Core::Hashable # The display options for an object. # Corresponds to the JSON property `displayOptions` # @return [Google::Apis::CloudsearchV1::ObjectDisplayOptions] attr_accessor :display_options # Indicates which freshness property to use when adjusting search ranking for an # item. Fresher, more recent dates indicate higher quality. Use the freshness # option property that best works with your data. For fileshare documents, last # modified time is most relevant. For calendar event data, the time when the # event occurs is a more relevant freshness indicator. In this way, calendar # events that occur closer to the time of the search query are considered higher # quality and ranked accordingly. # Corresponds to the JSON property `freshnessOptions` # @return [Google::Apis::CloudsearchV1::FreshnessOptions] attr_accessor :freshness_options # Operators that can be used to filter suggestions. For Suggest API, only # operators mentioned here will be honored in the FilterOptions. Only TEXT and # ENUM operators are supported. NOTE: "objecttype", "type" and "mimetype" are # already supported. This property is to configure schema specific operators. # Even though this is an array, only one operator can be specified. This is an # array for future extensibility. Operators mapping to multiple properties # within the same object are not supported. If the operator spans across # different object types, this option has to be set once for each object # definition. # Corresponds to the JSON property `suggestionFilteringOperators` # @return [Array] attr_accessor :suggestion_filtering_operators def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @display_options = args[:display_options] if args.key?(:display_options) @freshness_options = args[:freshness_options] if args.key?(:freshness_options) @suggestion_filtering_operators = args[:suggestion_filtering_operators] if args.key?(:suggestion_filtering_operators) end end # The options for object properties. class ObjectPropertyOptions include Google::Apis::Core::Hashable # The properties of the sub-object. These properties represent a nested object. # For example, if this property represents a postal address, the # subobjectProperties might be named *street*, *city*, and *state*. The maximum # number of elements is 1000. # Corresponds to the JSON property `subobjectProperties` # @return [Array] attr_accessor :subobject_properties def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @subobject_properties = args[:subobject_properties] if args.key?(:subobject_properties) end end # List of object values. class ObjectValues include Google::Apis::Core::Hashable # # Corresponds to the JSON property `values` # @return [Array] attr_accessor :values def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @values = args[:values] if args.key?(:values) end end # This resource represents a long-running operation that is the result of a # network API call. class Operation include Google::Apis::Core::Hashable # If the value is `false`, it means the operation is still in progress. If `true` # , the operation is completed, and either `error` or `response` is available. # Corresponds to the JSON property `done` # @return [Boolean] attr_accessor :done alias_method :done?, :done # The `Status` type defines a logical error model that is suitable for different # programming environments, including REST APIs and RPC APIs. It is used by [ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of # data: error code, error message, and error details. You can find out more # about this error model and how to work with it in the [API Design Guide](https: # //cloud.google.com/apis/design/errors). # Corresponds to the JSON property `error` # @return [Google::Apis::CloudsearchV1::Status] attr_accessor :error # Service-specific metadata associated with the operation. It typically contains # progress information and common metadata such as create time. Some services # might not provide such metadata. Any method that returns a long-running # operation should document the metadata type, if any. # Corresponds to the JSON property `metadata` # @return [Hash] attr_accessor :metadata # The server-assigned name, which is only unique within the same service that # originally returns it. If you use the default HTTP mapping, the `name` should # be a resource name ending with `operations/`unique_id``. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The normal, successful response of the operation. If the original method # returns no data on success, such as `Delete`, the response is `google.protobuf. # Empty`. If the original method is standard `Get`/`Create`/`Update`, the # response should be the resource. For other methods, the response should have # the type `XxxResponse`, where `Xxx` is the original method name. For example, # if the original method name is `TakeSnapshot()`, the inferred response type is # `TakeSnapshotResponse`. # Corresponds to the JSON property `response` # @return [Hash] attr_accessor :response def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @done = args[:done] if args.key?(:done) @error = args[:error] if args.key?(:error) @metadata = args[:metadata] if args.key?(:metadata) @name = args[:name] if args.key?(:name) @response = args[:response] if args.key?(:response) end end # class PeoplePromotionCard include Google::Apis::Core::Hashable # # Corresponds to the JSON property `people` # @return [Array] attr_accessor :people def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @people = args[:people] if args.key?(:people) end end # This field contains information about the person being suggested. class PeopleSuggestion include Google::Apis::Core::Hashable # Object to represent a person. # Corresponds to the JSON property `person` # @return [Google::Apis::CloudsearchV1::Person] attr_accessor :person def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @person = args[:person] if args.key?(:person) end end # Object to represent a person. class Person include Google::Apis::Core::Hashable # The person's email addresses # Corresponds to the JSON property `emailAddresses` # @return [Array] attr_accessor :email_addresses # The resource name of the person to provide information about. See [`People.get` # ](https://developers.google.com/people/api/rest/v1/people/get) from the Google # People API. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Obfuscated ID of a person. # Corresponds to the JSON property `obfuscatedId` # @return [String] attr_accessor :obfuscated_id # The person's name # Corresponds to the JSON property `personNames` # @return [Array] attr_accessor :person_names # The person's phone numbers # Corresponds to the JSON property `phoneNumbers` # @return [Array] attr_accessor :phone_numbers # A person's read-only photo. A picture shown next to the person's name to help # others recognize the person in search results. # Corresponds to the JSON property `photos` # @return [Array] attr_accessor :photos def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @email_addresses = args[:email_addresses] if args.key?(:email_addresses) @name = args[:name] if args.key?(:name) @obfuscated_id = args[:obfuscated_id] if args.key?(:obfuscated_id) @person_names = args[:person_names] if args.key?(:person_names) @phone_numbers = args[:phone_numbers] if args.key?(:phone_numbers) @photos = args[:photos] if args.key?(:photos) end end # Information for rendering a person. NEXT ID: 37 class PersonCore include Google::Apis::Core::Hashable # Instructions for how to address this person (e.g. custom pronouns). For google. # com this is a set of pronouns from a defined list of options. # Corresponds to the JSON property `addressMeAs` # @return [String] attr_accessor :address_me_as # People the profile owner is an admin to. Note that not all fields of these # PersonCores will be set, in particular, relationships will be empty. # Corresponds to the JSON property `adminTo` # @return [Array] attr_accessor :admin_to # The profile owner's admins in no particular order. Note that not all fields of # these PersonCores will be set, in particular, relationships will be empty. # Corresponds to the JSON property `admins` # @return [Array] attr_accessor :admins # # Corresponds to the JSON property `availabilityStatus` # @return [String] attr_accessor :availability_status # Represents a whole calendar date, for example a date of birth. The time of day # and time zone are either specified elsewhere or are not significant. The date # is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/ # wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date # between the year 1 and 9999. # Corresponds to the JSON property `birthday` # @return [Google::Apis::CloudsearchV1::Date] attr_accessor :birthday # Message containing a string that is safe to use in URL contexts in DOM APIs # and HTML documents, where the URL context does not refer to a resource that # loads code. # Corresponds to the JSON property `calendarUrl` # @return [Google::Apis::CloudsearchV1::SafeUrlProto] attr_accessor :calendar_url # Message containing a string that is safe to use in URL contexts in DOM APIs # and HTML documents, where the URL context does not refer to a resource that # loads code. # Corresponds to the JSON property `chatUrl` # @return [Google::Apis::CloudsearchV1::SafeUrlProto] attr_accessor :chat_url # Person's cost center as a string, e.g. "926: Googler Apps". # Corresponds to the JSON property `costCenter` # @return [String] attr_accessor :cost_center # The person's Organization department, e.g. "People Operations". For google.com # this is usually called "area". # Corresponds to the JSON property `department` # @return [String] attr_accessor :department # A subset of the profile owner's direct reports. The number of entities here # may be less than total_direct_reports_count, because typically ProfileResponse # does not include all the person's reports, if there are too many to retrieve # efficiently. Note that not all fields of these PersonCores will be set, in # particular, relationships will be empty. # Corresponds to the JSON property `directReports` # @return [Array] attr_accessor :direct_reports # The profile owner's direct dotted line managers in no particular order. Note # that not all fields of these PersonCores will be set, in particular, # relationships will be empty. # Corresponds to the JSON property `dottedLineManagers` # @return [Array] attr_accessor :dotted_line_managers # A subset of the profile owner's dotted-line reports. The number of entities # here may be less than total_dlr_count. Note that not all fields of these # PersonCores will be set, in particular, relationships will be empty. # Corresponds to the JSON property `dottedLineReports` # @return [Array] attr_accessor :dotted_line_reports # E-mail addresses of the person. The primary or preferred email should be first. # Corresponds to the JSON property `emails` # @return [Array] attr_accessor :emails # Person's employee number (external ID of type "organization") For google.com # this is the badge number (e.g. 2 for Larry Page). # Corresponds to the JSON property `employeeId` # @return [String] attr_accessor :employee_id # A fingerprint used by PAPI to reliably determine if a resource has changed # Externally it is used as part of the etag. # Corresponds to the JSON property `fingerprint` # @return [String] attr_accessor :fingerprint # Full-time equivalent (in ‰) (e.g. 800 for a person who's working 80%). # Corresponds to the JSON property `ftePermille` # @return [Fixnum] attr_accessor :fte_permille # Geo information used for rendering a map that shows the user's work location. # Corresponds to the JSON property `geoLocation` # @return [Google::Apis::CloudsearchV1::MapInfo] attr_accessor :geo_location # # Corresponds to the JSON property `gmailUrl` # @return [String] attr_accessor :gmail_url # Profile owner's job title (e.g. "Software Engineer"). For google.com this is # the Workday preferred job title. # Corresponds to the JSON property `jobTitle` # @return [String] attr_accessor :job_title # List of keys to use from the map 'keywords'. # Corresponds to the JSON property `keywordTypes` # @return [Array] attr_accessor :keyword_types # Custom keywords the domain admin has added. # Corresponds to the JSON property `keywords` # @return [Hash] attr_accessor :keywords # Custom links the profile owner has added. # Corresponds to the JSON property `links` # @return [Array] attr_accessor :links # Detailed desk location within the company. For google.com this is the desk # location code (e.g. "DE-MUC-ARP-6T2-6T2C0C") if the person has a desk. # Corresponds to the JSON property `location` # @return [String] attr_accessor :location # The profile owner's management chain from top to bottom, where managers[0] is # the CEO, manager[N-2] is the person's manager's manager and managers[N-1] is # the person's direct manager. Note that not all fields of these PersonCores # will be set, in particular, relationships will be empty. # Corresponds to the JSON property `managers` # @return [Array] attr_accessor :managers # Custom mission statement the profile owner has added. # Corresponds to the JSON property `mission` # @return [String] attr_accessor :mission # Human-readable Unicode display name. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Office/building identifier within the company. For google.com this is the # office code (e.g. "DE-MUC-ARP"). # Corresponds to the JSON property `officeLocation` # @return [String] attr_accessor :office_location # The person's obfuscated Gaia ID. # Corresponds to the JSON property `personId` # @return [String] attr_accessor :person_id # # Corresponds to the JSON property `phoneNumbers` # @return [Array] attr_accessor :phone_numbers # Message containing a string that is safe to use in URL contexts in DOM APIs # and HTML documents, where the URL context does not refer to a resource that # loads code. # Corresponds to the JSON property `photoUrl` # @return [Google::Apis::CloudsearchV1::SafeUrlProto] attr_accessor :photo_url # Postal address of office/building. # Corresponds to the JSON property `postalAddress` # @return [String] attr_accessor :postal_address # Total count of the profile owner's direct reports. # Corresponds to the JSON property `totalDirectReportsCount` # @return [Fixnum] attr_accessor :total_direct_reports_count # Total count of the profile owner's dotted-line reports. # Corresponds to the JSON property `totalDlrCount` # @return [Fixnum] attr_accessor :total_dlr_count # The sum of all profile owner's reports and their own full-time-equivalents in ‰ # (e.g. 1800 if one report is working 80% and profile owner 100%). # Corresponds to the JSON property `totalFteCount` # @return [Fixnum] attr_accessor :total_fte_count # External ID of type "login_id" for the profile. For google.com this is the # username/LDAP. # Corresponds to the JSON property `username` # @return [String] attr_accessor :username # # Corresponds to the JSON property `waldoComeBackTime` # @return [String] attr_accessor :waldo_come_back_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @address_me_as = args[:address_me_as] if args.key?(:address_me_as) @admin_to = args[:admin_to] if args.key?(:admin_to) @admins = args[:admins] if args.key?(:admins) @availability_status = args[:availability_status] if args.key?(:availability_status) @birthday = args[:birthday] if args.key?(:birthday) @calendar_url = args[:calendar_url] if args.key?(:calendar_url) @chat_url = args[:chat_url] if args.key?(:chat_url) @cost_center = args[:cost_center] if args.key?(:cost_center) @department = args[:department] if args.key?(:department) @direct_reports = args[:direct_reports] if args.key?(:direct_reports) @dotted_line_managers = args[:dotted_line_managers] if args.key?(:dotted_line_managers) @dotted_line_reports = args[:dotted_line_reports] if args.key?(:dotted_line_reports) @emails = args[:emails] if args.key?(:emails) @employee_id = args[:employee_id] if args.key?(:employee_id) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @fte_permille = args[:fte_permille] if args.key?(:fte_permille) @geo_location = args[:geo_location] if args.key?(:geo_location) @gmail_url = args[:gmail_url] if args.key?(:gmail_url) @job_title = args[:job_title] if args.key?(:job_title) @keyword_types = args[:keyword_types] if args.key?(:keyword_types) @keywords = args[:keywords] if args.key?(:keywords) @links = args[:links] if args.key?(:links) @location = args[:location] if args.key?(:location) @managers = args[:managers] if args.key?(:managers) @mission = args[:mission] if args.key?(:mission) @name = args[:name] if args.key?(:name) @office_location = args[:office_location] if args.key?(:office_location) @person_id = args[:person_id] if args.key?(:person_id) @phone_numbers = args[:phone_numbers] if args.key?(:phone_numbers) @photo_url = args[:photo_url] if args.key?(:photo_url) @postal_address = args[:postal_address] if args.key?(:postal_address) @total_direct_reports_count = args[:total_direct_reports_count] if args.key?(:total_direct_reports_count) @total_dlr_count = args[:total_dlr_count] if args.key?(:total_dlr_count) @total_fte_count = args[:total_fte_count] if args.key?(:total_fte_count) @username = args[:username] if args.key?(:username) @waldo_come_back_time = args[:waldo_come_back_time] if args.key?(:waldo_come_back_time) end end # A person's Phone Number class PhoneNumber include Google::Apis::Core::Hashable # The phone number of the person. # Corresponds to the JSON property `phoneNumber` # @return [String] attr_accessor :phone_number # # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @phone_number = args[:phone_number] if args.key?(:phone_number) @type = args[:type] if args.key?(:type) end end # A person's photo. class Photo include Google::Apis::Core::Hashable # The URL of the photo. # 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) @url = args[:url] if args.key?(:url) end end # class PollItemsRequest include Google::Apis::Core::Hashable # The name of connector making this call. Format: datasources/`source_id`/ # connectors/`ID` # Corresponds to the JSON property `connectorName` # @return [String] attr_accessor :connector_name # Shared request debug options for all cloudsearch RPC methods. # Corresponds to the JSON property `debugOptions` # @return [Google::Apis::CloudsearchV1::DebugOptions] attr_accessor :debug_options # Maximum number of items to return. The maximum value is 100 and the default # value is 20. # Corresponds to the JSON property `limit` # @return [Fixnum] attr_accessor :limit # Queue name to fetch items from. If unspecified, PollItems will fetch from ' # default' queue. The maximum length is 100 characters. # Corresponds to the JSON property `queue` # @return [String] attr_accessor :queue # Limit the items polled to the ones with these statuses. # Corresponds to the JSON property `statusCodes` # @return [Array] attr_accessor :status_codes def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @connector_name = args[:connector_name] if args.key?(:connector_name) @debug_options = args[:debug_options] if args.key?(:debug_options) @limit = args[:limit] if args.key?(:limit) @queue = args[:queue] if args.key?(:queue) @status_codes = args[:status_codes] if args.key?(:status_codes) end end # class PollItemsResponse include Google::Apis::Core::Hashable # Set of items from the queue available for connector to process. These items # have the following subset of fields populated: version metadata.hash # structured_data.hash content.hash payload status queue # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @items = args[:items] if args.key?(:items) end end # Reference to a user, group, or domain. class Principal include Google::Apis::Core::Hashable # This principal is a group identified using an external identity. The name # field must specify the group resource name with this format: identitysources/` # source_id`/groups/`ID` # Corresponds to the JSON property `groupResourceName` # @return [String] attr_accessor :group_resource_name # This principal is a Google Workspace user, group or domain. # Corresponds to the JSON property `gsuitePrincipal` # @return [Google::Apis::CloudsearchV1::GSuitePrincipal] attr_accessor :gsuite_principal # This principal is a user identified using an external identity. The name field # must specify the user resource name with this format: identitysources/` # source_id`/users/`ID` # Corresponds to the JSON property `userResourceName` # @return [String] attr_accessor :user_resource_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @group_resource_name = args[:group_resource_name] if args.key?(:group_resource_name) @gsuite_principal = args[:gsuite_principal] if args.key?(:gsuite_principal) @user_resource_name = args[:user_resource_name] if args.key?(:user_resource_name) end end # class ProcessingError include Google::Apis::Core::Hashable # Error code indicating the nature of the error. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # The description of the error. # Corresponds to the JSON property `errorMessage` # @return [String] attr_accessor :error_message # In case the item fields are invalid, this field contains the details about the # validation errors. # Corresponds to the JSON property `fieldViolations` # @return [Array] attr_accessor :field_violations def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @error_message = args[:error_message] if args.key?(:error_message) @field_violations = args[:field_violations] if args.key?(:field_violations) end end # The definition of a property within an object. class PropertyDefinition include Google::Apis::Core::Hashable # The options for boolean properties. # Corresponds to the JSON property `booleanPropertyOptions` # @return [Google::Apis::CloudsearchV1::BooleanPropertyOptions] attr_accessor :boolean_property_options # The options for date properties. # Corresponds to the JSON property `datePropertyOptions` # @return [Google::Apis::CloudsearchV1::DatePropertyOptions] attr_accessor :date_property_options # The display options for a property. # Corresponds to the JSON property `displayOptions` # @return [Google::Apis::CloudsearchV1::PropertyDisplayOptions] attr_accessor :display_options # The options for double properties. # Corresponds to the JSON property `doublePropertyOptions` # @return [Google::Apis::CloudsearchV1::DoublePropertyOptions] attr_accessor :double_property_options # The options for enum properties, which allow you to define a restricted set of # strings to match user queries, set rankings for those string values, and # define an operator name to be paired with those strings so that users can # narrow results to only items with a specific value. For example, for items in # a request tracking system with priority information, you could define *p0* as # an allowable enum value and tie this enum to the operator name *priority* so # that search users could add *priority:p0* to their query to restrict the set # of results to only those items indexed with the value *p0*. # Corresponds to the JSON property `enumPropertyOptions` # @return [Google::Apis::CloudsearchV1::EnumPropertyOptions] attr_accessor :enum_property_options # The options for html properties. # Corresponds to the JSON property `htmlPropertyOptions` # @return [Google::Apis::CloudsearchV1::HtmlPropertyOptions] attr_accessor :html_property_options # The options for integer properties. # Corresponds to the JSON property `integerPropertyOptions` # @return [Google::Apis::CloudsearchV1::IntegerPropertyOptions] attr_accessor :integer_property_options # Indicates that the property can be used for generating facets. Cannot be true # for properties whose type is object. IsReturnable must be true to set this # option. Only supported for boolean, enum, integer, and text properties. # Corresponds to the JSON property `isFacetable` # @return [Boolean] attr_accessor :is_facetable alias_method :is_facetable?, :is_facetable # Indicates that multiple values are allowed for the property. For example, a # document only has one description but can have multiple comments. Cannot be # true for properties whose type is a boolean. If set to false, properties that # contain more than one value cause the indexing request for that item to be # rejected. # Corresponds to the JSON property `isRepeatable` # @return [Boolean] attr_accessor :is_repeatable alias_method :is_repeatable?, :is_repeatable # Indicates that the property identifies data that should be returned in search # results via the Query API. If set to *true*, indicates that Query API users # can use matching property fields in results. However, storing fields requires # more space allocation and uses more bandwidth for search queries, which # impacts performance over large datasets. Set to *true* here only if the field # is needed for search results. Cannot be true for properties whose type is an # object. # Corresponds to the JSON property `isReturnable` # @return [Boolean] attr_accessor :is_returnable alias_method :is_returnable?, :is_returnable # Indicates that the property can be used for sorting. Cannot be true for # properties that are repeatable. Cannot be true for properties whose type is # object. IsReturnable must be true to set this option. Only supported for # boolean, date, double, integer, and timestamp properties. # Corresponds to the JSON property `isSortable` # @return [Boolean] attr_accessor :is_sortable alias_method :is_sortable?, :is_sortable # Indicates that the property can be used for generating query suggestions. # Corresponds to the JSON property `isSuggestable` # @return [Boolean] attr_accessor :is_suggestable alias_method :is_suggestable?, :is_suggestable # Indicates that users can perform wildcard search for this property. Only # supported for Text properties. IsReturnable must be true to set this option. # In a given datasource maximum of 5 properties can be marked as # is_wildcard_searchable. For more details, see [Define object properties](https: # //developers.google.com/cloud-search/docs/guides/schema-guide#properties) # Corresponds to the JSON property `isWildcardSearchable` # @return [Boolean] attr_accessor :is_wildcard_searchable alias_method :is_wildcard_searchable?, :is_wildcard_searchable # The name of the property. Item indexing requests sent to the Indexing API # should set the property name equal to this value. For example, if name is * # subject_line*, then indexing requests for document items with subject fields # should set the name for that field equal to *subject_line*. Use the name as # the identifier for the object property. Once registered as a property for an # object, you cannot re-use this name for another property within that object. # The name must start with a letter and can only contain letters (A-Z, a-z) or # numbers (0-9). The maximum length is 256 characters. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The options for object properties. # Corresponds to the JSON property `objectPropertyOptions` # @return [Google::Apis::CloudsearchV1::ObjectPropertyOptions] attr_accessor :object_property_options # The options for text properties. # Corresponds to the JSON property `textPropertyOptions` # @return [Google::Apis::CloudsearchV1::TextPropertyOptions] attr_accessor :text_property_options # The options for timestamp properties. # Corresponds to the JSON property `timestampPropertyOptions` # @return [Google::Apis::CloudsearchV1::TimestampPropertyOptions] attr_accessor :timestamp_property_options def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @boolean_property_options = args[:boolean_property_options] if args.key?(:boolean_property_options) @date_property_options = args[:date_property_options] if args.key?(:date_property_options) @display_options = args[:display_options] if args.key?(:display_options) @double_property_options = args[:double_property_options] if args.key?(:double_property_options) @enum_property_options = args[:enum_property_options] if args.key?(:enum_property_options) @html_property_options = args[:html_property_options] if args.key?(:html_property_options) @integer_property_options = args[:integer_property_options] if args.key?(:integer_property_options) @is_facetable = args[:is_facetable] if args.key?(:is_facetable) @is_repeatable = args[:is_repeatable] if args.key?(:is_repeatable) @is_returnable = args[:is_returnable] if args.key?(:is_returnable) @is_sortable = args[:is_sortable] if args.key?(:is_sortable) @is_suggestable = args[:is_suggestable] if args.key?(:is_suggestable) @is_wildcard_searchable = args[:is_wildcard_searchable] if args.key?(:is_wildcard_searchable) @name = args[:name] if args.key?(:name) @object_property_options = args[:object_property_options] if args.key?(:object_property_options) @text_property_options = args[:text_property_options] if args.key?(:text_property_options) @timestamp_property_options = args[:timestamp_property_options] if args.key?(:timestamp_property_options) end end # The display options for a property. class PropertyDisplayOptions include Google::Apis::Core::Hashable # The user friendly label for the property that is used if the property is # specified to be displayed in ObjectDisplayOptions. If provided, the display # label is shown in front of the property values when the property is part of # the object display options. For example, if the property value is '1', the # value by itself may not be useful context for the user. If the display name # given was 'priority', then the user sees 'priority : 1' in the search results # which provides clear context to search users. This is OPTIONAL; if not given, # only the property values are displayed. The maximum length is 64 characters. # Corresponds to the JSON property `displayLabel` # @return [String] attr_accessor :display_label def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @display_label = args[:display_label] if args.key?(:display_label) end end # Represents an item to be pushed to the indexing queue. class PushItem include Google::Apis::Core::Hashable # Content hash of the item according to the repository. If specified, this is # used to determine how to modify this item's status. Setting this field and the # type field results in argument error. The maximum length is 2048 characters. # Corresponds to the JSON property `contentHash` # @return [String] attr_accessor :content_hash # The metadata hash of the item according to the repository. If specified, this # is used to determine how to modify this item's status. Setting this field and # the type field results in argument error. The maximum length is 2048 # characters. # Corresponds to the JSON property `metadataHash` # @return [String] attr_accessor :metadata_hash # Provides additional document state information for the connector, such as an # alternate repository ID and other metadata. The maximum length is 8192 bytes. # Corresponds to the JSON property `payload` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :payload # Queue to which this item belongs. The `default` queue is chosen if this field # is not specified. The maximum length is 512 characters. # Corresponds to the JSON property `queue` # @return [String] attr_accessor :queue # Errors when the connector is communicating to the source repository. # Corresponds to the JSON property `repositoryError` # @return [Google::Apis::CloudsearchV1::RepositoryError] attr_accessor :repository_error # Structured data hash of the item according to the repository. If specified, # this is used to determine how to modify this item's status. Setting this field # and the type field results in argument error. The maximum length is 2048 # characters. # Corresponds to the JSON property `structuredDataHash` # @return [String] attr_accessor :structured_data_hash # The type of the push operation that defines the push behavior. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content_hash = args[:content_hash] if args.key?(:content_hash) @metadata_hash = args[:metadata_hash] if args.key?(:metadata_hash) @payload = args[:payload] if args.key?(:payload) @queue = args[:queue] if args.key?(:queue) @repository_error = args[:repository_error] if args.key?(:repository_error) @structured_data_hash = args[:structured_data_hash] if args.key?(:structured_data_hash) @type = args[:type] if args.key?(:type) end end # class PushItemRequest include Google::Apis::Core::Hashable # The name of connector making this call. Format: datasources/`source_id`/ # connectors/`ID` # Corresponds to the JSON property `connectorName` # @return [String] attr_accessor :connector_name # Shared request debug options for all cloudsearch RPC methods. # Corresponds to the JSON property `debugOptions` # @return [Google::Apis::CloudsearchV1::DebugOptions] attr_accessor :debug_options # Represents an item to be pushed to the indexing queue. # Corresponds to the JSON property `item` # @return [Google::Apis::CloudsearchV1::PushItem] attr_accessor :item def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @connector_name = args[:connector_name] if args.key?(:connector_name) @debug_options = args[:debug_options] if args.key?(:debug_options) @item = args[:item] if args.key?(:item) end end # Details about a user's query activity. class QueryActivity include Google::Apis::Core::Hashable # User input query to be logged/removed. # Corresponds to the JSON property `query` # @return [String] attr_accessor :query def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @query = args[:query] if args.key?(:query) end end # class QueryCountByStatus include Google::Apis::Core::Hashable # # Corresponds to the JSON property `count` # @return [Fixnum] attr_accessor :count # This represents the http status code. # Corresponds to the JSON property `statusCode` # @return [Fixnum] attr_accessor :status_code def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @count = args[:count] if args.key?(:count) @status_code = args[:status_code] if args.key?(:status_code) end end # class QueryInterpretation include Google::Apis::Core::Hashable # # Corresponds to the JSON property `interpretationType` # @return [String] attr_accessor :interpretation_type # The interpretation of the query used in search. For example, queries with # natural language intent like "email from john" will be interpreted as "from: # john source:mail". This field will not be filled when the reason is # NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY. # Corresponds to the JSON property `interpretedQuery` # @return [String] attr_accessor :interpreted_query # The reason for interpretation of the query. This field will not be UNSPECIFIED # if the interpretation type is not NONE. # Corresponds to the JSON property `reason` # @return [String] attr_accessor :reason def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @interpretation_type = args[:interpretation_type] if args.key?(:interpretation_type) @interpreted_query = args[:interpreted_query] if args.key?(:interpreted_query) @reason = args[:reason] if args.key?(:reason) end end # Default options to interpret user query. class QueryInterpretationConfig include Google::Apis::Core::Hashable # Set this flag to disable supplemental results retrieval, setting a flag here # will not retrieve supplemental results for queries associated with a given # search application. If this flag is set to True, it will take precedence over # the option set at Query level. For the default value of False, query level # flag will set the correct interpretation for supplemental results. # Corresponds to the JSON property `forceDisableSupplementalResults` # @return [Boolean] attr_accessor :force_disable_supplemental_results alias_method :force_disable_supplemental_results?, :force_disable_supplemental_results # Enable this flag to turn off all internal optimizations like natural language ( # NL) interpretation of queries, supplemental results retrieval, and usage of # synonyms including custom ones. If this flag is set to True, it will take # precedence over the option set at Query level. For the default value of False, # query level flag will set the correct interpretation for verbatim mode. # Corresponds to the JSON property `forceVerbatimMode` # @return [Boolean] attr_accessor :force_verbatim_mode alias_method :force_verbatim_mode?, :force_verbatim_mode def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @force_disable_supplemental_results = args[:force_disable_supplemental_results] if args.key?(:force_disable_supplemental_results) @force_verbatim_mode = args[:force_verbatim_mode] if args.key?(:force_verbatim_mode) end end # Options to interpret user query. class QueryInterpretationOptions include Google::Apis::Core::Hashable # Flag to disable natural language (NL) interpretation of queries. Default is # false, Set to true to disable natural language interpretation. NL # interpretation only applies to predefined datasources. # Corresponds to the JSON property `disableNlInterpretation` # @return [Boolean] attr_accessor :disable_nl_interpretation alias_method :disable_nl_interpretation?, :disable_nl_interpretation # Use this flag to disable supplemental results for a query. Supplemental # results setting chosen at SearchApplication level will take precedence if set # to True. # Corresponds to the JSON property `disableSupplementalResults` # @return [Boolean] attr_accessor :disable_supplemental_results alias_method :disable_supplemental_results?, :disable_supplemental_results # Enable this flag to turn off all internal optimizations like natural language ( # NL) interpretation of queries, supplemental result retrieval, and usage of # synonyms including custom ones. Nl interpretation will be disabled if either # one of the two flags is true. # Corresponds to the JSON property `enableVerbatimMode` # @return [Boolean] attr_accessor :enable_verbatim_mode alias_method :enable_verbatim_mode?, :enable_verbatim_mode def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disable_nl_interpretation = args[:disable_nl_interpretation] if args.key?(:disable_nl_interpretation) @disable_supplemental_results = args[:disable_supplemental_results] if args.key?(:disable_supplemental_results) @enable_verbatim_mode = args[:enable_verbatim_mode] if args.key?(:enable_verbatim_mode) end end # Information relevant only to a query entry. class QueryItem include Google::Apis::Core::Hashable # True if the text was generated by means other than a previous user search. # Corresponds to the JSON property `isSynthetic` # @return [Boolean] attr_accessor :is_synthetic alias_method :is_synthetic?, :is_synthetic def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @is_synthetic = args[:is_synthetic] if args.key?(:is_synthetic) end end # The definition of a operator that can be used in a Search/Suggest request. class QueryOperator include Google::Apis::Core::Hashable # Display name of the operator # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # Potential list of values for the opeatror field. This field is only filled # when we can safely enumerate all the possible values of this operator. # Corresponds to the JSON property `enumValues` # @return [Array] attr_accessor :enum_values # Indicates the operator name that can be used to isolate the property using the # greater-than operator. # Corresponds to the JSON property `greaterThanOperatorName` # @return [String] attr_accessor :greater_than_operator_name # Can this operator be used to get facets. # Corresponds to the JSON property `isFacetable` # @return [Boolean] attr_accessor :is_facetable alias_method :is_facetable?, :is_facetable # Indicates if multiple values can be set for this property. # Corresponds to the JSON property `isRepeatable` # @return [Boolean] attr_accessor :is_repeatable alias_method :is_repeatable?, :is_repeatable # Will the property associated with this facet be returned as part of search # results. # Corresponds to the JSON property `isReturnable` # @return [Boolean] attr_accessor :is_returnable alias_method :is_returnable?, :is_returnable # Can this operator be used to sort results. # Corresponds to the JSON property `isSortable` # @return [Boolean] attr_accessor :is_sortable alias_method :is_sortable?, :is_sortable # Can get suggestions for this field. # Corresponds to the JSON property `isSuggestable` # @return [Boolean] attr_accessor :is_suggestable alias_method :is_suggestable?, :is_suggestable # Indicates the operator name that can be used to isolate the property using the # less-than operator. # Corresponds to the JSON property `lessThanOperatorName` # @return [String] attr_accessor :less_than_operator_name # The name of the object corresponding to the operator. This field is only # filled for schema-specific operators, and is unset for common operators. # Corresponds to the JSON property `objectType` # @return [String] attr_accessor :object_type # The name of the operator. # Corresponds to the JSON property `operatorName` # @return [String] attr_accessor :operator_name # The type of the operator. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @display_name = args[:display_name] if args.key?(:display_name) @enum_values = args[:enum_values] if args.key?(:enum_values) @greater_than_operator_name = args[:greater_than_operator_name] if args.key?(:greater_than_operator_name) @is_facetable = args[:is_facetable] if args.key?(:is_facetable) @is_repeatable = args[:is_repeatable] if args.key?(:is_repeatable) @is_returnable = args[:is_returnable] if args.key?(:is_returnable) @is_sortable = args[:is_sortable] if args.key?(:is_sortable) @is_suggestable = args[:is_suggestable] if args.key?(:is_suggestable) @less_than_operator_name = args[:less_than_operator_name] if args.key?(:less_than_operator_name) @object_type = args[:object_type] if args.key?(:object_type) @operator_name = args[:operator_name] if args.key?(:operator_name) @type = args[:type] if args.key?(:type) end end # List of sources that the user can search using the query API. class QuerySource include Google::Apis::Core::Hashable # Display name of the data source. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # List of all operators applicable for this source. # Corresponds to the JSON property `operators` # @return [Array] attr_accessor :operators # A short name or alias for the source. This value can be used with the 'source' # operator. # Corresponds to the JSON property `shortName` # @return [String] attr_accessor :short_name # Defines sources for the suggest/search APIs. # Corresponds to the JSON property `source` # @return [Google::Apis::CloudsearchV1::Source] attr_accessor :source def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @display_name = args[:display_name] if args.key?(:display_name) @operators = args[:operators] if args.key?(:operators) @short_name = args[:short_name] if args.key?(:short_name) @source = args[:source] if args.key?(:source) end end # This field does not contain anything as of now and is just used as an # indicator that the suggest result was a phrase completion. class QuerySuggestion include Google::Apis::Core::Hashable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) end end # Remove Logged Activity Request. class RemoveActivityRequest include Google::Apis::Core::Hashable # Shared request options for all RPC methods. # Corresponds to the JSON property `requestOptions` # @return [Google::Apis::CloudsearchV1::RequestOptions] attr_accessor :request_options # User's single or bulk query activity. This can be a logging query or deletion # query. # Corresponds to the JSON property `userActivity` # @return [Google::Apis::CloudsearchV1::UserActivity] attr_accessor :user_activity def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @request_options = args[:request_options] if args.key?(:request_options) @user_activity = args[:user_activity] if args.key?(:user_activity) end end # Remove Logged Activity Response. will return an empty response for now. Will # be revisited in later phases. class RemoveActivityResponse include Google::Apis::Core::Hashable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) end end # Errors when the connector is communicating to the source repository. class RepositoryError include Google::Apis::Core::Hashable # Message that describes the error. The maximum allowable length of the message # is 8192 characters. # Corresponds to the JSON property `errorMessage` # @return [String] attr_accessor :error_message # Error codes. Matches the definition of HTTP status codes. # Corresponds to the JSON property `httpStatusCode` # @return [Fixnum] attr_accessor :http_status_code # The type of error. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @error_message = args[:error_message] if args.key?(:error_message) @http_status_code = args[:http_status_code] if args.key?(:http_status_code) @type = args[:type] if args.key?(:type) end end # Shared request options for all RPC methods. class RequestOptions include Google::Apis::Core::Hashable # Shared request debug options for all cloudsearch RPC methods. # Corresponds to the JSON property `debugOptions` # @return [Google::Apis::CloudsearchV1::DebugOptions] attr_accessor :debug_options # The BCP-47 language code, such as "en-US" or "sr-Latn". For more information, # see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. For # translations. Set this field using the language set in browser or for the page. # In the event that the user's language preference is known, set this field to # the known user language. When specified, the documents in search results are # biased towards the specified language. The Suggest API uses this field as a # hint to make better third-party autocomplete predictions. # Corresponds to the JSON property `languageCode` # @return [String] attr_accessor :language_code # The ID generated when you create a search application using the [admin console] # (https://support.google.com/a/answer/9043922). # Corresponds to the JSON property `searchApplicationId` # @return [String] attr_accessor :search_application_id # Current user's time zone id, such as "America/Los_Angeles" or "Australia/ # Sydney". These IDs are defined by [Unicode Common Locale Data Repository (CLDR) # ](http://cldr.unicode.org/) project, and currently available in the file [ # timezone.xml](http://unicode.org/repos/cldr/trunk/common/bcp47/timezone.xml). # This field is used to correctly interpret date and time queries. If this field # is not specified, the default time zone (UTC) is used. # Corresponds to the JSON property `timeZone` # @return [String] attr_accessor :time_zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @debug_options = args[:debug_options] if args.key?(:debug_options) @language_code = args[:language_code] if args.key?(:language_code) @search_application_id = args[:search_application_id] if args.key?(:search_application_id) @time_zone = args[:time_zone] if args.key?(:time_zone) end end # class ResetSearchApplicationRequest include Google::Apis::Core::Hashable # Shared request debug options for all cloudsearch RPC methods. # Corresponds to the JSON property `debugOptions` # @return [Google::Apis::CloudsearchV1::DebugOptions] attr_accessor :debug_options def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @debug_options = args[:debug_options] if args.key?(:debug_options) end end # Debugging information about the response. class ResponseDebugInfo include Google::Apis::Core::Hashable # General debug info formatted for display. # Corresponds to the JSON property `formattedDebugInfo` # @return [String] attr_accessor :formatted_debug_info def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @formatted_debug_info = args[:formatted_debug_info] if args.key?(:formatted_debug_info) end end # Information relevant only to a restrict entry. NextId: 12 class RestrictItem include Google::Apis::Core::Hashable # Drive follow-up search restricts (e.g. "followup:suggestions"). # Corresponds to the JSON property `driveFollowUpRestrict` # @return [Google::Apis::CloudsearchV1::DriveFollowUpRestrict] attr_accessor :drive_follow_up_restrict # Drive location search restricts (e.g. "is:starred"). # Corresponds to the JSON property `driveLocationRestrict` # @return [Google::Apis::CloudsearchV1::DriveLocationRestrict] attr_accessor :drive_location_restrict # Drive mime-type search restricts (e.g. "type:pdf"). # Corresponds to the JSON property `driveMimeTypeRestrict` # @return [Google::Apis::CloudsearchV1::DriveMimeTypeRestrict] attr_accessor :drive_mime_type_restrict # The time span search restrict (e.g. "after:2017-09-11 before:2017-09-12"). # Corresponds to the JSON property `driveTimeSpanRestrict` # @return [Google::Apis::CloudsearchV1::DriveTimeSpanRestrict] attr_accessor :drive_time_span_restrict # The search restrict (e.g. "after:2017-09-11 before:2017-09-12"). # Corresponds to the JSON property `searchOperator` # @return [String] attr_accessor :search_operator def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @drive_follow_up_restrict = args[:drive_follow_up_restrict] if args.key?(:drive_follow_up_restrict) @drive_location_restrict = args[:drive_location_restrict] if args.key?(:drive_location_restrict) @drive_mime_type_restrict = args[:drive_mime_type_restrict] if args.key?(:drive_mime_type_restrict) @drive_time_span_restrict = args[:drive_time_span_restrict] if args.key?(:drive_time_span_restrict) @search_operator = args[:search_operator] if args.key?(:search_operator) end end # Result count information class ResultCounts include Google::Apis::Core::Hashable # Result count information for each source with results. # Corresponds to the JSON property `sourceResultCounts` # @return [Array] attr_accessor :source_result_counts def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @source_result_counts = args[:source_result_counts] if args.key?(:source_result_counts) end end # Debugging information about the result. class ResultDebugInfo include Google::Apis::Core::Hashable # General debug info formatted for display. # Corresponds to the JSON property `formattedDebugInfo` # @return [String] attr_accessor :formatted_debug_info def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @formatted_debug_info = args[:formatted_debug_info] if args.key?(:formatted_debug_info) end end # Display Fields for Search Results class ResultDisplayField include Google::Apis::Core::Hashable # The display label for the property. # Corresponds to the JSON property `label` # @return [String] attr_accessor :label # The operator name of the property. # Corresponds to the JSON property `operatorName` # @return [String] attr_accessor :operator_name # A typed name-value pair for structured data. The type of the value should be # the same as the registered type for the `name` property in the object # definition of `objectType`. # Corresponds to the JSON property `property` # @return [Google::Apis::CloudsearchV1::NamedProperty] attr_accessor :property def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @label = args[:label] if args.key?(:label) @operator_name = args[:operator_name] if args.key?(:operator_name) @property = args[:property] if args.key?(:property) end end # The collection of fields that make up a displayed line class ResultDisplayLine include Google::Apis::Core::Hashable # # Corresponds to the JSON property `fields` # @return [Array] attr_accessor :fields def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @fields = args[:fields] if args.key?(:fields) end end # class ResultDisplayMetadata include Google::Apis::Core::Hashable # The metalines content to be displayed with the result. # Corresponds to the JSON property `metalines` # @return [Array] attr_accessor :metalines # The display label for the object. # Corresponds to the JSON property `objectTypeLabel` # @return [String] attr_accessor :object_type_label def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @metalines = args[:metalines] if args.key?(:metalines) @object_type_label = args[:object_type_label] if args.key?(:object_type_label) end end # class RetrievalImportance include Google::Apis::Core::Hashable # Indicates the ranking importance given to property when it is matched during # retrieval. Once set, the token importance of a property cannot be changed. # Corresponds to the JSON property `importance` # @return [String] attr_accessor :importance def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @importance = args[:importance] if args.key?(:importance) end end # The rewritten queries returned by Apps Search Query Understanding service. class RewrittenQueries include Google::Apis::Core::Hashable # # Corresponds to the JSON property `rewrittenQueries` # @return [Array] attr_accessor :rewritten_queries # The index of the selected query in `rewritten_queries` that is used by QAPI to # call CSSR to get search results. If none of the queries were used (i.e. they # all give empty search results), `selected_query_index` would default to -1. # Corresponds to the JSON property `selectedQueryIndex` # @return [Fixnum] attr_accessor :selected_query_index def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @rewritten_queries = args[:rewritten_queries] if args.key?(:rewritten_queries) @selected_query_index = args[:selected_query_index] if args.key?(:selected_query_index) end end # class RewrittenQuery include Google::Apis::Core::Hashable # # Corresponds to the JSON property `rewrittenQuery` # @return [String] attr_accessor :rewritten_query # # Corresponds to the JSON property `score` # @return [Float] attr_accessor :score # # Corresponds to the JSON property `sortBy` # @return [String] attr_accessor :sort_by def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @rewritten_query = args[:rewritten_query] if args.key?(:rewritten_query) @score = args[:score] if args.key?(:score) @sort_by = args[:sort_by] if args.key?(:sort_by) end end # IMPORTANT: It is unsafe to accept this message from an untrusted source, since # it's trivial for an attacker to forge serialized messages that don't fulfill # the type's safety contract -- for example, it could contain attacker # controlled script. A system which receives a SafeHtmlProto implicitly trusts # the producer of the SafeHtmlProto. So, it's generally safe to return this # message in RPC responses, but generally unsafe to accept it in RPC requests. class SafeHtmlProto include Google::Apis::Core::Hashable # IMPORTANT: Never set or read this field, even from tests, it is private. See # documentation at the top of .proto file for programming language packages with # which to create or read this message. # Corresponds to the JSON property `privateDoNotAccessOrElseSafeHtmlWrappedValue` # @return [String] attr_accessor :private_do_not_access_or_else_safe_html_wrapped_value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @private_do_not_access_or_else_safe_html_wrapped_value = args[:private_do_not_access_or_else_safe_html_wrapped_value] if args.key?(:private_do_not_access_or_else_safe_html_wrapped_value) end end # Message containing a string that is safe to use in URL contexts in DOM APIs # and HTML documents, where the URL context does not refer to a resource that # loads code. class SafeUrlProto include Google::Apis::Core::Hashable # IMPORTANT: Never set or read this field, even from tests, it is private. See # documentation at the top of .proto file for programming language packages with # which to create or read this message. # Corresponds to the JSON property `privateDoNotAccessOrElseSafeUrlWrappedValue` # @return [String] attr_accessor :private_do_not_access_or_else_safe_url_wrapped_value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @private_do_not_access_or_else_safe_url_wrapped_value = args[:private_do_not_access_or_else_safe_url_wrapped_value] if args.key?(:private_do_not_access_or_else_safe_url_wrapped_value) end end # The schema definition for a data source. class Schema include Google::Apis::Core::Hashable # The list of top-level objects for the data source. The maximum number of # elements is 10. # Corresponds to the JSON property `objectDefinitions` # @return [Array] attr_accessor :object_definitions # IDs of the Long Running Operations (LROs) currently running for this schema. # After modifying the schema, wait for operations to complete before indexing # additional content. # Corresponds to the JSON property `operationIds` # @return [Array] attr_accessor :operation_ids def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @object_definitions = args[:object_definitions] if args.key?(:object_definitions) @operation_ids = args[:operation_ids] if args.key?(:operation_ids) end end # Scoring configurations for a source while processing a Search or Suggest # request. class ScoringConfig include Google::Apis::Core::Hashable # Whether to use freshness as a ranking signal. By default, freshness is used as # a ranking signal. Note that this setting is not available in the Admin UI. # Corresponds to the JSON property `disableFreshness` # @return [Boolean] attr_accessor :disable_freshness alias_method :disable_freshness?, :disable_freshness # Whether to personalize the results. By default, personal signals will be used # to boost results. # Corresponds to the JSON property `disablePersonalization` # @return [Boolean] attr_accessor :disable_personalization alias_method :disable_personalization?, :disable_personalization def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disable_freshness = args[:disable_freshness] if args.key?(:disable_freshness) @disable_personalization = args[:disable_personalization] if args.key?(:disable_personalization) end end # SearchApplication class SearchApplication include Google::Apis::Core::Hashable # Retrictions applied to the configurations. The maximum number of elements is # 10. # Corresponds to the JSON property `dataSourceRestrictions` # @return [Array] attr_accessor :data_source_restrictions # The default fields for returning facet results. The sources specified here # also have been included in data_source_restrictions above. # Corresponds to the JSON property `defaultFacetOptions` # @return [Array] attr_accessor :default_facet_options # The default options for sorting the search results # Corresponds to the JSON property `defaultSortOptions` # @return [Google::Apis::CloudsearchV1::SortOptions] attr_accessor :default_sort_options # Display name of the Search Application. The maximum length is 300 characters. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # Indicates whether audit logging is on/off for requests made for the search # application in query APIs. # Corresponds to the JSON property `enableAuditLog` # @return [Boolean] attr_accessor :enable_audit_log alias_method :enable_audit_log?, :enable_audit_log # The name of the Search Application. Format: searchapplications/`application_id` # . # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. IDs of the Long Running Operations (LROs) currently running for # this schema. Output only field. # Corresponds to the JSON property `operationIds` # @return [Array] attr_accessor :operation_ids # Default options to interpret user query. # Corresponds to the JSON property `queryInterpretationConfig` # @return [Google::Apis::CloudsearchV1::QueryInterpretationConfig] attr_accessor :query_interpretation_config # With each result we should return the URI for its thumbnail (when applicable) # Corresponds to the JSON property `returnResultThumbnailUrls` # @return [Boolean] attr_accessor :return_result_thumbnail_urls alias_method :return_result_thumbnail_urls?, :return_result_thumbnail_urls # Scoring configurations for a source while processing a Search or Suggest # request. # Corresponds to the JSON property `scoringConfig` # @return [Google::Apis::CloudsearchV1::ScoringConfig] attr_accessor :scoring_config # Configuration for a sources specified in data_source_restrictions. # Corresponds to the JSON property `sourceConfig` # @return [Array] attr_accessor :source_config def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @data_source_restrictions = args[:data_source_restrictions] if args.key?(:data_source_restrictions) @default_facet_options = args[:default_facet_options] if args.key?(:default_facet_options) @default_sort_options = args[:default_sort_options] if args.key?(:default_sort_options) @display_name = args[:display_name] if args.key?(:display_name) @enable_audit_log = args[:enable_audit_log] if args.key?(:enable_audit_log) @name = args[:name] if args.key?(:name) @operation_ids = args[:operation_ids] if args.key?(:operation_ids) @query_interpretation_config = args[:query_interpretation_config] if args.key?(:query_interpretation_config) @return_result_thumbnail_urls = args[:return_result_thumbnail_urls] if args.key?(:return_result_thumbnail_urls) @scoring_config = args[:scoring_config] if args.key?(:scoring_config) @source_config = args[:source_config] if args.key?(:source_config) end end # Search application level query stats per date class SearchApplicationQueryStats include Google::Apis::Core::Hashable # Represents a whole calendar date, for example a date of birth. The time of day # and time zone are either specified elsewhere or are not significant. The date # is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/ # wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date # between the year 1 and 9999. # Corresponds to the JSON property `date` # @return [Google::Apis::CloudsearchV1::Date] attr_accessor :date # # Corresponds to the JSON property `queryCountByStatus` # @return [Array] attr_accessor :query_count_by_status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @date = args[:date] if args.key?(:date) @query_count_by_status = args[:query_count_by_status] if args.key?(:query_count_by_status) end end # class SearchApplicationSessionStats include Google::Apis::Core::Hashable # Represents a whole calendar date, for example a date of birth. The time of day # and time zone are either specified elsewhere or are not significant. The date # is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/ # wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date # between the year 1 and 9999. # Corresponds to the JSON property `date` # @return [Google::Apis::CloudsearchV1::Date] attr_accessor :date # The count of search sessions on the day # Corresponds to the JSON property `searchSessionsCount` # @return [Fixnum] attr_accessor :search_sessions_count def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @date = args[:date] if args.key?(:date) @search_sessions_count = args[:search_sessions_count] if args.key?(:search_sessions_count) end end # class SearchApplicationUserStats include Google::Apis::Core::Hashable # Represents a whole calendar date, for example a date of birth. The time of day # and time zone are either specified elsewhere or are not significant. The date # is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/ # wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date # between the year 1 and 9999. # Corresponds to the JSON property `date` # @return [Google::Apis::CloudsearchV1::Date] attr_accessor :date # The count of unique active users in the past one day # Corresponds to the JSON property `oneDayActiveUsersCount` # @return [Fixnum] attr_accessor :one_day_active_users_count # The count of unique active users in the past seven days # Corresponds to the JSON property `sevenDaysActiveUsersCount` # @return [Fixnum] attr_accessor :seven_days_active_users_count # The count of unique active users in the past thirty days # Corresponds to the JSON property `thirtyDaysActiveUsersCount` # @return [Fixnum] attr_accessor :thirty_days_active_users_count def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @date = args[:date] if args.key?(:date) @one_day_active_users_count = args[:one_day_active_users_count] if args.key?(:one_day_active_users_count) @seven_days_active_users_count = args[:seven_days_active_users_count] if args.key?(:seven_days_active_users_count) @thirty_days_active_users_count = args[:thirty_days_active_users_count] if args.key?(:thirty_days_active_users_count) end end # class SearchItemsByViewUrlRequest include Google::Apis::Core::Hashable # Shared request debug options for all cloudsearch RPC methods. # Corresponds to the JSON property `debugOptions` # @return [Google::Apis::CloudsearchV1::DebugOptions] attr_accessor :debug_options # The next_page_token value returned from a previous request, if any. # Corresponds to the JSON property `pageToken` # @return [String] attr_accessor :page_token # Specify the full view URL to find the corresponding item. The maximum length # is 2048 characters. # Corresponds to the JSON property `viewUrl` # @return [String] attr_accessor :view_url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @debug_options = args[:debug_options] if args.key?(:debug_options) @page_token = args[:page_token] if args.key?(:page_token) @view_url = args[:view_url] if args.key?(:view_url) end end # class SearchItemsByViewUrlResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Token to retrieve the next page of results, or empty if there are no more # results in the list. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @items = args[:items] if args.key?(:items) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end # Additional search quality metadata of the item. class SearchQualityMetadata include Google::Apis::Core::Hashable # An indication of the quality of the item, used to influence search quality. # Value should be between 0.0 (lowest quality) and 1.0 (highest quality). The # default value is 0.0. # Corresponds to the JSON property `quality` # @return [Float] attr_accessor :quality def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @quality = args[:quality] if args.key?(:quality) end end # The search API request. NEXT ID: 17 class SearchRequest include Google::Apis::Core::Hashable # Context attributes for the request which will be used to adjust ranking of # search results. The maximum number of elements is 10. # Corresponds to the JSON property `contextAttributes` # @return [Array] attr_accessor :context_attributes # The sources to use for querying. If not specified, all data sources from the # current search application are used. # Corresponds to the JSON property `dataSourceRestrictions` # @return [Array] attr_accessor :data_source_restrictions # # Corresponds to the JSON property `facetOptions` # @return [Array] attr_accessor :facet_options # Maximum number of search results to return in one page. Valid values are # between 1 and 100, inclusive. Default value is 10. Minimum value is 50 when # results beyond 2000 are requested. # Corresponds to the JSON property `pageSize` # @return [Fixnum] attr_accessor :page_size # The raw query string. See supported search operators in the [Narrow your # search with operators](https://support.google.com/cloudsearch/answer/6172299) # Corresponds to the JSON property `query` # @return [String] attr_accessor :query # Options to interpret user query. # Corresponds to the JSON property `queryInterpretationOptions` # @return [Google::Apis::CloudsearchV1::QueryInterpretationOptions] attr_accessor :query_interpretation_options # Shared request options for all RPC methods. # Corresponds to the JSON property `requestOptions` # @return [Google::Apis::CloudsearchV1::RequestOptions] attr_accessor :request_options # The options for sorting the search results # Corresponds to the JSON property `sortOptions` # @return [Google::Apis::CloudsearchV1::SortOptions] attr_accessor :sort_options # Starting index of the results. # Corresponds to the JSON property `start` # @return [Fixnum] attr_accessor :start def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @context_attributes = args[:context_attributes] if args.key?(:context_attributes) @data_source_restrictions = args[:data_source_restrictions] if args.key?(:data_source_restrictions) @facet_options = args[:facet_options] if args.key?(:facet_options) @page_size = args[:page_size] if args.key?(:page_size) @query = args[:query] if args.key?(:query) @query_interpretation_options = args[:query_interpretation_options] if args.key?(:query_interpretation_options) @request_options = args[:request_options] if args.key?(:request_options) @sort_options = args[:sort_options] if args.key?(:sort_options) @start = args[:start] if args.key?(:start) end end # The search API response. NEXT ID: 17 class SearchResponse include Google::Apis::Core::Hashable # Debugging information about the response. # Corresponds to the JSON property `debugInfo` # @return [Google::Apis::CloudsearchV1::ResponseDebugInfo] attr_accessor :debug_info # Error information about the response. # Corresponds to the JSON property `errorInfo` # @return [Google::Apis::CloudsearchV1::ErrorInfo] attr_accessor :error_info # Repeated facet results. # Corresponds to the JSON property `facetResults` # @return [Array] attr_accessor :facet_results # Whether there are more search results matching the query. # Corresponds to the JSON property `hasMoreResults` # @return [Boolean] attr_accessor :has_more_results alias_method :has_more_results?, :has_more_results # Query interpretation result for user query. Empty if query interpretation is # disabled. # Corresponds to the JSON property `queryInterpretation` # @return [Google::Apis::CloudsearchV1::QueryInterpretation] attr_accessor :query_interpretation # The estimated result count for this query. # Corresponds to the JSON property `resultCountEstimate` # @return [Fixnum] attr_accessor :result_count_estimate # The exact result count for this query. # Corresponds to the JSON property `resultCountExact` # @return [Fixnum] attr_accessor :result_count_exact # Result count information # Corresponds to the JSON property `resultCounts` # @return [Google::Apis::CloudsearchV1::ResultCounts] attr_accessor :result_counts # Results from a search query. # Corresponds to the JSON property `results` # @return [Array] attr_accessor :results # Suggested spelling for the query. # Corresponds to the JSON property `spellResults` # @return [Array] attr_accessor :spell_results # Structured results for the user query. These results are not counted against # the page_size. # Corresponds to the JSON property `structuredResults` # @return [Array] attr_accessor :structured_results def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @debug_info = args[:debug_info] if args.key?(:debug_info) @error_info = args[:error_info] if args.key?(:error_info) @facet_results = args[:facet_results] if args.key?(:facet_results) @has_more_results = args[:has_more_results] if args.key?(:has_more_results) @query_interpretation = args[:query_interpretation] if args.key?(:query_interpretation) @result_count_estimate = args[:result_count_estimate] if args.key?(:result_count_estimate) @result_count_exact = args[:result_count_exact] if args.key?(:result_count_exact) @result_counts = args[:result_counts] if args.key?(:result_counts) @results = args[:results] if args.key?(:results) @spell_results = args[:spell_results] if args.key?(:spell_results) @structured_results = args[:structured_results] if args.key?(:structured_results) end end # Results containing indexed information for a document. class SearchResult include Google::Apis::Core::Hashable # If source is clustered, provide list of clustered results. There will only be # one level of clustered results. If current source is not enabled for # clustering, this field will be empty. # Corresponds to the JSON property `clusteredResults` # @return [Array] attr_accessor :clustered_results # Debugging information about the result. # Corresponds to the JSON property `debugInfo` # @return [Google::Apis::CloudsearchV1::ResultDebugInfo] attr_accessor :debug_info # Metadata of a matched search result. # Corresponds to the JSON property `metadata` # @return [Google::Apis::CloudsearchV1::Metadata] attr_accessor :metadata # Snippet of the search result, which summarizes the content of the resulting # page. # Corresponds to the JSON property `snippet` # @return [Google::Apis::CloudsearchV1::Snippet] attr_accessor :snippet # Title of the search result. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title # The URL of the search result. The URL contains a Google redirect to the actual # item. This URL is signed and shouldn't be changed. # 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) @clustered_results = args[:clustered_results] if args.key?(:clustered_results) @debug_info = args[:debug_info] if args.key?(:debug_info) @metadata = args[:metadata] if args.key?(:metadata) @snippet = args[:snippet] if args.key?(:snippet) @title = args[:title] if args.key?(:title) @url = args[:url] if args.key?(:url) end end # Snippet of the search result, which summarizes the content of the resulting # page. class Snippet include Google::Apis::Core::Hashable # The matched ranges in the snippet. # Corresponds to the JSON property `matchRanges` # @return [Array] attr_accessor :match_ranges # The snippet of the document. May contain escaped HTML character that should be # unescaped prior to rendering. # Corresponds to the JSON property `snippet` # @return [String] attr_accessor :snippet def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @match_ranges = args[:match_ranges] if args.key?(:match_ranges) @snippet = args[:snippet] if args.key?(:snippet) end end # class SortOptions include Google::Apis::Core::Hashable # The name of the operator corresponding to the field to sort on. The # corresponding property must be marked as sortable. # Corresponds to the JSON property `operatorName` # @return [String] attr_accessor :operator_name # Ascending is the default sort order # Corresponds to the JSON property `sortOrder` # @return [String] attr_accessor :sort_order def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @operator_name = args[:operator_name] if args.key?(:operator_name) @sort_order = args[:sort_order] if args.key?(:sort_order) end end # Defines sources for the suggest/search APIs. class Source include Google::Apis::Core::Hashable # Source name for content indexed by the Indexing API. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Predefined content source for Google Apps. # Corresponds to the JSON property `predefinedSource` # @return [String] attr_accessor :predefined_source def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @predefined_source = args[:predefined_source] if args.key?(:predefined_source) end end # Configurations for a source while processing a Search or Suggest request. class SourceConfig include Google::Apis::Core::Hashable # Set search results crowding limits. Crowding is a situation in which multiple # results from the same source or host "crowd out" other results, diminishing # the quality of search for users. To foster better search quality and source # diversity in search results, you can set a condition to reduce repetitive # results by source. # Corresponds to the JSON property `crowdingConfig` # @return [Google::Apis::CloudsearchV1::SourceCrowdingConfig] attr_accessor :crowding_config # Set the scoring configuration. This allows modifying the ranking of results # for a source. # Corresponds to the JSON property `scoringConfig` # @return [Google::Apis::CloudsearchV1::SourceScoringConfig] attr_accessor :scoring_config # Defines sources for the suggest/search APIs. # Corresponds to the JSON property `source` # @return [Google::Apis::CloudsearchV1::Source] attr_accessor :source def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @crowding_config = args[:crowding_config] if args.key?(:crowding_config) @scoring_config = args[:scoring_config] if args.key?(:scoring_config) @source = args[:source] if args.key?(:source) end end # Set search results crowding limits. Crowding is a situation in which multiple # results from the same source or host "crowd out" other results, diminishing # the quality of search for users. To foster better search quality and source # diversity in search results, you can set a condition to reduce repetitive # results by source. class SourceCrowdingConfig include Google::Apis::Core::Hashable # Maximum number of results allowed from a datasource in a result page as long # as results from other sources are not exhausted. Value specified must not be # negative. A default value is used if this value is equal to 0. To disable # crowding, set the value greater than 100. # Corresponds to the JSON property `numResults` # @return [Fixnum] attr_accessor :num_results # Maximum number of suggestions allowed from a source. No limits will be set on # results if this value is less than or equal to 0. # Corresponds to the JSON property `numSuggestions` # @return [Fixnum] attr_accessor :num_suggestions def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @num_results = args[:num_results] if args.key?(:num_results) @num_suggestions = args[:num_suggestions] if args.key?(:num_suggestions) end end # Per source result count information. class SourceResultCount include Google::Apis::Core::Hashable # Whether there are more search results for this source. # Corresponds to the JSON property `hasMoreResults` # @return [Boolean] attr_accessor :has_more_results alias_method :has_more_results?, :has_more_results # The estimated result count for this source. # Corresponds to the JSON property `resultCountEstimate` # @return [Fixnum] attr_accessor :result_count_estimate # The exact result count for this source. # Corresponds to the JSON property `resultCountExact` # @return [Fixnum] attr_accessor :result_count_exact # Defines sources for the suggest/search APIs. # Corresponds to the JSON property `source` # @return [Google::Apis::CloudsearchV1::Source] attr_accessor :source def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @has_more_results = args[:has_more_results] if args.key?(:has_more_results) @result_count_estimate = args[:result_count_estimate] if args.key?(:result_count_estimate) @result_count_exact = args[:result_count_exact] if args.key?(:result_count_exact) @source = args[:source] if args.key?(:source) end end # Set the scoring configuration. This allows modifying the ranking of results # for a source. class SourceScoringConfig include Google::Apis::Core::Hashable # Importance of the source. # Corresponds to the JSON property `sourceImportance` # @return [String] attr_accessor :source_importance def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @source_importance = args[:source_importance] if args.key?(:source_importance) end end # class SpellResult include Google::Apis::Core::Hashable # The suggested spelling of the query. # Corresponds to the JSON property `suggestedQuery` # @return [String] attr_accessor :suggested_query # IMPORTANT: It is unsafe to accept this message from an untrusted source, since # it's trivial for an attacker to forge serialized messages that don't fulfill # the type's safety contract -- for example, it could contain attacker # controlled script. A system which receives a SafeHtmlProto implicitly trusts # the producer of the SafeHtmlProto. So, it's generally safe to return this # message in RPC responses, but generally unsafe to accept it in RPC requests. # Corresponds to the JSON property `suggestedQueryHtml` # @return [Google::Apis::CloudsearchV1::SafeHtmlProto] attr_accessor :suggested_query_html # Suggestion triggered for the current query. # Corresponds to the JSON property `suggestionType` # @return [String] attr_accessor :suggestion_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @suggested_query = args[:suggested_query] if args.key?(:suggested_query) @suggested_query_html = args[:suggested_query_html] if args.key?(:suggested_query_html) @suggestion_type = args[:suggestion_type] if args.key?(:suggestion_type) end end # Start upload file request. class StartUploadItemRequest include Google::Apis::Core::Hashable # The name of connector making this call. Format: datasources/`source_id`/ # connectors/`ID` # Corresponds to the JSON property `connectorName` # @return [String] attr_accessor :connector_name # Shared request debug options for all cloudsearch RPC methods. # Corresponds to the JSON property `debugOptions` # @return [Google::Apis::CloudsearchV1::DebugOptions] attr_accessor :debug_options def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @connector_name = args[:connector_name] if args.key?(:connector_name) @debug_options = args[:debug_options] if args.key?(:debug_options) end end # The `Status` type defines a logical error model that is suitable for different # programming environments, including REST APIs and RPC APIs. It is used by [ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of # data: error code, error message, and error details. You can find out more # about this error model and how to work with it in the [API Design Guide](https: # //cloud.google.com/apis/design/errors). class Status include Google::Apis::Core::Hashable # The status code, which should be an enum value of google.rpc.Code. # Corresponds to the JSON property `code` # @return [Fixnum] attr_accessor :code # A list of messages that carry the error details. There is a common set of # message types for APIs to use. # Corresponds to the JSON property `details` # @return [Array>] attr_accessor :details # A developer-facing error message, which should be in English. Any user-facing # error message should be localized and sent in the google.rpc.Status.details # field, or localized by the client. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @details = args[:details] if args.key?(:details) @message = args[:message] if args.key?(:message) end end # A structured data object consisting of named properties. class StructuredDataObject include Google::Apis::Core::Hashable # The properties for the object. The maximum number of elements is 1000. # Corresponds to the JSON property `properties` # @return [Array] attr_accessor :properties def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @properties = args[:properties] if args.key?(:properties) end end # Structured results that are returned as part of search request. class StructuredResult include Google::Apis::Core::Hashable # Object to represent a person. # Corresponds to the JSON property `person` # @return [Google::Apis::CloudsearchV1::Person] attr_accessor :person def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @person = args[:person] if args.key?(:person) end end # Request of suggest API. class SuggestRequest include Google::Apis::Core::Hashable # The sources to use for suggestions. If not specified, the data sources are # taken from the current search application. NOTE: Suggestions are only # supported for the following sources: * Third-party data sources * # PredefinedSource.PERSON * PredefinedSource.GOOGLE_DRIVE # Corresponds to the JSON property `dataSourceRestrictions` # @return [Array] attr_accessor :data_source_restrictions # Partial query for which autocomplete suggestions will be shown. For example, # if the query is "sea", then the server might return "season", "search", " # seagull" and so on. # Corresponds to the JSON property `query` # @return [String] attr_accessor :query # Shared request options for all RPC methods. # Corresponds to the JSON property `requestOptions` # @return [Google::Apis::CloudsearchV1::RequestOptions] attr_accessor :request_options def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @data_source_restrictions = args[:data_source_restrictions] if args.key?(:data_source_restrictions) @query = args[:query] if args.key?(:query) @request_options = args[:request_options] if args.key?(:request_options) end end # Response of the suggest API. class SuggestResponse include Google::Apis::Core::Hashable # List of suggestions. # Corresponds to the JSON property `suggestResults` # @return [Array] attr_accessor :suggest_results def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @suggest_results = args[:suggest_results] if args.key?(:suggest_results) end end # One suggestion result. class SuggestResult include Google::Apis::Core::Hashable # This field contains information about the person being suggested. # Corresponds to the JSON property `peopleSuggestion` # @return [Google::Apis::CloudsearchV1::PeopleSuggestion] attr_accessor :people_suggestion # This field does not contain anything as of now and is just used as an # indicator that the suggest result was a phrase completion. # Corresponds to the JSON property `querySuggestion` # @return [Google::Apis::CloudsearchV1::QuerySuggestion] attr_accessor :query_suggestion # Defines sources for the suggest/search APIs. # Corresponds to the JSON property `source` # @return [Google::Apis::CloudsearchV1::Source] attr_accessor :source # The suggested query that will be used for search, when the user clicks on the # suggestion # Corresponds to the JSON property `suggestedQuery` # @return [String] attr_accessor :suggested_query def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @people_suggestion = args[:people_suggestion] if args.key?(:people_suggestion) @query_suggestion = args[:query_suggestion] if args.key?(:query_suggestion) @source = args[:source] if args.key?(:source) @suggested_query = args[:suggested_query] if args.key?(:suggested_query) end end # Used to provide a search operator for text properties. This is optional. # Search operators let users restrict the query to specific fields relevant to # the type of item being searched. class TextOperatorOptions include Google::Apis::Core::Hashable # If true, the text value is tokenized as one atomic value in operator searches # and facet matches. For example, if the operator name is "genre" and the value # is "science-fiction" the query restrictions "genre:science" and "genre:fiction" # doesn't match the item; "genre:science-fiction" does. Text value matching is # case-sensitive and does not remove special characters. If false, the text is # tokenized. For example, if the value is "science-fiction" the queries "genre: # science" and "genre:fiction" matches the item. # Corresponds to the JSON property `exactMatchWithOperator` # @return [Boolean] attr_accessor :exact_match_with_operator alias_method :exact_match_with_operator?, :exact_match_with_operator # Indicates the operator name required in the query in order to isolate the text # property. For example, if operatorName is *subject* and the property's name is # *subjectLine*, then queries like *subject:* show results only where the # value of the property named *subjectLine* matches **. By contrast, a # search that uses the same ** without an operator returns all items # where ** matches the value of any text properties or text within the # content field for the item. The operator name can only contain lowercase # letters (a-z). The maximum length is 32 characters. # Corresponds to the JSON property `operatorName` # @return [String] attr_accessor :operator_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @exact_match_with_operator = args[:exact_match_with_operator] if args.key?(:exact_match_with_operator) @operator_name = args[:operator_name] if args.key?(:operator_name) end end # The options for text properties. class TextPropertyOptions include Google::Apis::Core::Hashable # Used to provide a search operator for text properties. This is optional. # Search operators let users restrict the query to specific fields relevant to # the type of item being searched. # Corresponds to the JSON property `operatorOptions` # @return [Google::Apis::CloudsearchV1::TextOperatorOptions] attr_accessor :operator_options # Indicates the search quality importance of the tokens within the field when # used for retrieval. # Corresponds to the JSON property `retrievalImportance` # @return [Google::Apis::CloudsearchV1::RetrievalImportance] attr_accessor :retrieval_importance def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @operator_options = args[:operator_options] if args.key?(:operator_options) @retrieval_importance = args[:retrieval_importance] if args.key?(:retrieval_importance) end end # List of text values. class TextValues include Google::Apis::Core::Hashable # The maximum allowable length for text values is 2048 characters. # Corresponds to the JSON property `values` # @return [Array] attr_accessor :values def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @values = args[:values] if args.key?(:values) end end # class ThirdPartyGenericCard include Google::Apis::Core::Hashable # Unique identifier for the card. # Corresponds to the JSON property `cardId` # @return [String] attr_accessor :card_id # Category that the card belongs to. # Corresponds to the JSON property `category` # @return [String] attr_accessor :category # [Required] Card content. # Corresponds to the JSON property `content` # @return [Google::Apis::CloudsearchV1::Content] attr_accessor :content # [Required] Context where the card should be triggered. # Corresponds to the JSON property `context` # @return [Google::Apis::CloudsearchV1::Context] attr_accessor :context # Whether the card can be dismissed. # Corresponds to the JSON property `isDismissible` # @return [Boolean] attr_accessor :is_dismissible alias_method :is_dismissible?, :is_dismissible # Priority of the card, where 0 is the highest priority. # Corresponds to the JSON property `priority` # @return [Fixnum] attr_accessor :priority def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @card_id = args[:card_id] if args.key?(:card_id) @category = args[:category] if args.key?(:category) @content = args[:content] if args.key?(:content) @context = args[:context] if args.key?(:context) @is_dismissible = args[:is_dismissible] if args.key?(:is_dismissible) @priority = args[:priority] if args.key?(:priority) end end # Used to provide a search operator for timestamp properties. This is optional. # Search operators let users restrict the query to specific fields relevant to # the type of item being searched. class TimestampOperatorOptions include Google::Apis::Core::Hashable # Indicates the operator name required in the query in order to isolate the # timestamp property using the greater-than operator. For example, if # greaterThanOperatorName is *closedafter* and the property's name is *closeDate* # , then queries like *closedafter:* show results only where the value of # the property named *closeDate* is later than **. The operator name can # only contain lowercase letters (a-z). The maximum length is 32 characters. # Corresponds to the JSON property `greaterThanOperatorName` # @return [String] attr_accessor :greater_than_operator_name # Indicates the operator name required in the query in order to isolate the # timestamp property using the less-than operator. For example, if # lessThanOperatorName is *closedbefore* and the property's name is *closeDate*, # then queries like *closedbefore:* show results only where the value of # the property named *closeDate* is earlier than **. The operator name # can only contain lowercase letters (a-z). The maximum length is 32 characters. # Corresponds to the JSON property `lessThanOperatorName` # @return [String] attr_accessor :less_than_operator_name # Indicates the operator name required in the query in order to isolate the # timestamp property. For example, if operatorName is *closedon* and the # property's name is *closeDate*, then queries like *closedon:* show # results only where the value of the property named *closeDate* matches * # *. By contrast, a search that uses the same ** without an operator # returns all items where ** matches the value of any String properties # or text within the content field for the item. The operator name can only # contain lowercase letters (a-z). The maximum length is 32 characters. # Corresponds to the JSON property `operatorName` # @return [String] attr_accessor :operator_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @greater_than_operator_name = args[:greater_than_operator_name] if args.key?(:greater_than_operator_name) @less_than_operator_name = args[:less_than_operator_name] if args.key?(:less_than_operator_name) @operator_name = args[:operator_name] if args.key?(:operator_name) end end # The options for timestamp properties. class TimestampPropertyOptions include Google::Apis::Core::Hashable # Used to provide a search operator for timestamp properties. This is optional. # Search operators let users restrict the query to specific fields relevant to # the type of item being searched. # Corresponds to the JSON property `operatorOptions` # @return [Google::Apis::CloudsearchV1::TimestampOperatorOptions] attr_accessor :operator_options def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @operator_options = args[:operator_options] if args.key?(:operator_options) end end # List of timestamp values. class TimestampValues include Google::Apis::Core::Hashable # # Corresponds to the JSON property `values` # @return [Array] attr_accessor :values def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @values = args[:values] if args.key?(:values) end end # class UnmappedIdentity include Google::Apis::Core::Hashable # Reference to a user, group, or domain. # Corresponds to the JSON property `externalIdentity` # @return [Google::Apis::CloudsearchV1::Principal] attr_accessor :external_identity # The resolution status for the external identity. # Corresponds to the JSON property `resolutionStatusCode` # @return [String] attr_accessor :resolution_status_code def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @external_identity = args[:external_identity] if args.key?(:external_identity) @resolution_status_code = args[:resolution_status_code] if args.key?(:resolution_status_code) end end # class UnreserveItemsRequest include Google::Apis::Core::Hashable # The name of connector making this call. Format: datasources/`source_id`/ # connectors/`ID` # Corresponds to the JSON property `connectorName` # @return [String] attr_accessor :connector_name # Shared request debug options for all cloudsearch RPC methods. # Corresponds to the JSON property `debugOptions` # @return [Google::Apis::CloudsearchV1::DebugOptions] attr_accessor :debug_options # The name of a queue to unreserve items from. # Corresponds to the JSON property `queue` # @return [String] attr_accessor :queue def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @connector_name = args[:connector_name] if args.key?(:connector_name) @debug_options = args[:debug_options] if args.key?(:debug_options) @queue = args[:queue] if args.key?(:queue) end end # class UpdateDataSourceRequest include Google::Apis::Core::Hashable # Shared request debug options for all cloudsearch RPC methods. # Corresponds to the JSON property `debugOptions` # @return [Google::Apis::CloudsearchV1::DebugOptions] attr_accessor :debug_options # Datasource is a logical namespace for items to be indexed. All items must # belong to a datasource. This is the prerequisite before items can be indexed # into Cloud Search. # Corresponds to the JSON property `source` # @return [Google::Apis::CloudsearchV1::DataSource] attr_accessor :source # Only applies to [`settings.datasources.patch`](https://developers.google.com/ # cloud-search/docs/reference/rest/v1/settings.datasources/patch). Update mask # to control which fields to update. Example field paths: `name`, `displayName`. # * If `update_mask` is non-empty, then only the fields specified in the ` # update_mask` are updated. * If you specify a field in the `update_mask`, but # don't specify its value in the source, that field is cleared. * If the ` # update_mask` is not present or empty or has the value `*`, then all fields are # updated. # Corresponds to the JSON property `updateMask` # @return [String] attr_accessor :update_mask def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @debug_options = args[:debug_options] if args.key?(:debug_options) @source = args[:source] if args.key?(:source) @update_mask = args[:update_mask] if args.key?(:update_mask) end end # class UpdateSchemaRequest include Google::Apis::Core::Hashable # Shared request debug options for all cloudsearch RPC methods. # Corresponds to the JSON property `debugOptions` # @return [Google::Apis::CloudsearchV1::DebugOptions] attr_accessor :debug_options # The schema definition for a data source. # Corresponds to the JSON property `schema` # @return [Google::Apis::CloudsearchV1::Schema] attr_accessor :schema # If true, the schema will be checked for validity, but will not be registered # with the data source, even if valid. # Corresponds to the JSON property `validateOnly` # @return [Boolean] attr_accessor :validate_only alias_method :validate_only?, :validate_only def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @debug_options = args[:debug_options] if args.key?(:debug_options) @schema = args[:schema] if args.key?(:schema) @validate_only = args[:validate_only] if args.key?(:validate_only) end end # Represents an upload session reference. This reference is created via upload # method. This reference is valid for 30 days after its creation. Updating of # item content may refer to this uploaded content via contentDataRef. class UploadItemRef include Google::Apis::Core::Hashable # The name of the content reference. The maximum length is 2048 characters. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) end end # User's single or bulk query activity. This can be a logging query or deletion # query. class UserActivity include Google::Apis::Core::Hashable # Details about a user's query activity. # Corresponds to the JSON property `queryActivity` # @return [Google::Apis::CloudsearchV1::QueryActivity] attr_accessor :query_activity def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @query_activity = args[:query_activity] if args.key?(:query_activity) end end # class VpcSettings include Google::Apis::Core::Hashable # The resource name of the GCP Project to be used for VPC SC policy check. VPC # security settings on this project will be honored for Cloud Search APIs after # project_name has been updated through CustomerService. Format: projects/` # project_id` # Corresponds to the JSON property `project` # @return [String] attr_accessor :project def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @project = args[:project] if args.key?(:project) end end # Definition of a single value with generic type. class Value include Google::Apis::Core::Hashable # # Corresponds to the JSON property `booleanValue` # @return [Boolean] attr_accessor :boolean_value alias_method :boolean_value?, :boolean_value # Represents a whole calendar date, for example a date of birth. The time of day # and time zone are either specified elsewhere or are not significant. The date # is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/ # wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date # between the year 1 and 9999. # Corresponds to the JSON property `dateValue` # @return [Google::Apis::CloudsearchV1::Date] attr_accessor :date_value # # Corresponds to the JSON property `doubleValue` # @return [Float] attr_accessor :double_value # # Corresponds to the JSON property `integerValue` # @return [Fixnum] attr_accessor :integer_value # # Corresponds to the JSON property `stringValue` # @return [String] attr_accessor :string_value # # Corresponds to the JSON property `timestampValue` # @return [String] attr_accessor :timestamp_value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @boolean_value = args[:boolean_value] if args.key?(:boolean_value) @date_value = args[:date_value] if args.key?(:date_value) @double_value = args[:double_value] if args.key?(:double_value) @integer_value = args[:integer_value] if args.key?(:integer_value) @string_value = args[:string_value] if args.key?(:string_value) @timestamp_value = args[:timestamp_value] if args.key?(:timestamp_value) end end # class ValueFilter include Google::Apis::Core::Hashable # The `operator_name` applied to the query, such as *price_greater_than*. The # filter can work against both types of filters defined in the schema for your # data source: 1. `operator_name`, where the query filters results by the # property that matches the value. 2. `greater_than_operator_name` or ` # less_than_operator_name` in your schema. The query filters the results for the # property values that are greater than or less than the supplied value in the # query. # Corresponds to the JSON property `operatorName` # @return [String] attr_accessor :operator_name # Definition of a single value with generic type. # Corresponds to the JSON property `value` # @return [Google::Apis::CloudsearchV1::Value] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @operator_name = args[:operator_name] if args.key?(:operator_name) @value = args[:value] if args.key?(:value) end end end end end