google-apis-cloudsearch_v1 0.39.0 → 0.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4412,6 +4412,112 @@ module Google
4412
4412
  end
4413
4413
  end
4414
4414
 
4415
+ # An Attribute is a piece of data attached an Item. Attributes are opaque to the
4416
+ # Starbox and have no effect on, nor are they effected by, message storage,
4417
+ # indexing, or search.
4418
+ class Attribute
4419
+ include Google::Apis::Core::Hashable
4420
+
4421
+ # The name of the attribute. Required - If a write is attempted with an empty
4422
+ # string, the server will return an error.
4423
+ # Corresponds to the JSON property `name`
4424
+ # @return [String]
4425
+ attr_accessor :name
4426
+
4427
+ #
4428
+ # Corresponds to the JSON property `value`
4429
+ # @return [Google::Apis::CloudsearchV1::CaribouAttributeValue]
4430
+ attr_accessor :value
4431
+
4432
+ def initialize(**args)
4433
+ update!(**args)
4434
+ end
4435
+
4436
+ # Update properties of this object
4437
+ def update!(**args)
4438
+ @name = args[:name] if args.key?(:name)
4439
+ @value = args[:value] if args.key?(:value)
4440
+ end
4441
+ end
4442
+
4443
+ # An attribute was deleted from some (subset of the) messages in this thread.
4444
+ class AttributeRemoved
4445
+ include Google::Apis::Core::Hashable
4446
+
4447
+ #
4448
+ # Corresponds to the JSON property `attributeId`
4449
+ # @return [String]
4450
+ attr_accessor :attribute_id
4451
+
4452
+ #
4453
+ # Corresponds to the JSON property `messageKeys`
4454
+ # @return [Array<Google::Apis::CloudsearchV1::MultiKey>]
4455
+ attr_accessor :message_keys
4456
+
4457
+ def initialize(**args)
4458
+ update!(**args)
4459
+ end
4460
+
4461
+ # Update properties of this object
4462
+ def update!(**args)
4463
+ @attribute_id = args[:attribute_id] if args.key?(:attribute_id)
4464
+ @message_keys = args[:message_keys] if args.key?(:message_keys)
4465
+ end
4466
+ end
4467
+
4468
+ # An attribute was added to some (subset of the) messages in this thread.
4469
+ class AttributeSet
4470
+ include Google::Apis::Core::Hashable
4471
+
4472
+ #
4473
+ # Corresponds to the JSON property `attributeId`
4474
+ # @return [String]
4475
+ attr_accessor :attribute_id
4476
+
4477
+ # The serialized attribute_value as persisted in the storage layer. The
4478
+ # application is responsible for deserializing it to an Attribute.Value if
4479
+ # appropriate.
4480
+ # Corresponds to the JSON property `attributeValue`
4481
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
4482
+ # @return [String]
4483
+ attr_accessor :attribute_value
4484
+
4485
+ #
4486
+ # Corresponds to the JSON property `messageKeys`
4487
+ # @return [Array<Google::Apis::CloudsearchV1::MultiKey>]
4488
+ attr_accessor :message_keys
4489
+
4490
+ def initialize(**args)
4491
+ update!(**args)
4492
+ end
4493
+
4494
+ # Update properties of this object
4495
+ def update!(**args)
4496
+ @attribute_id = args[:attribute_id] if args.key?(:attribute_id)
4497
+ @attribute_value = args[:attribute_value] if args.key?(:attribute_value)
4498
+ @message_keys = args[:message_keys] if args.key?(:message_keys)
4499
+ end
4500
+ end
4501
+
4502
+ #
4503
+ class Attributes
4504
+ include Google::Apis::Core::Hashable
4505
+
4506
+ #
4507
+ # Corresponds to the JSON property `attribute`
4508
+ # @return [Array<Google::Apis::CloudsearchV1::Attribute>]
4509
+ attr_accessor :attribute
4510
+
4511
+ def initialize(**args)
4512
+ update!(**args)
4513
+ end
4514
+
4515
+ # Update properties of this object
4516
+ def update!(**args)
4517
+ @attribute = args[:attribute] if args.key?(:attribute)
4518
+ end
4519
+ end
4520
+
4415
4521
  # Represents the settings for Cloud audit logging
4416
4522
  class AuditLoggingSettings
4417
4523
  include Google::Apis::Core::Hashable
@@ -4996,11 +5102,6 @@ module Google
4996
5102
  # @return [String]
4997
5103
  attr_accessor :calendar_event_id
4998
5104
 
4999
- # Configuration of the in meeting chat.
5000
- # Corresponds to the JSON property `chatConfig`
5001
- # @return [Google::Apis::CloudsearchV1::ChatConfig]
5002
- attr_accessor :chat_config
5003
-
5004
5105
  # Metadata about a co-activity session.
5005
5106
  # Corresponds to the JSON property `coActivity`
5006
5107
  # @return [Google::Apis::CloudsearchV1::CoActivity]
@@ -5027,16 +5128,6 @@ module Google
5027
5128
  # @return [Fixnum]
5028
5129
  attr_accessor :max_joined_devices
5029
5130
 
5030
- # Output only. Information about the media backend for the currently ongoing
5031
- # conference in the meeting space. The media backend information will only be
5032
- # filled in for clients that are supposed to present the information. The
5033
- # information should be displayed in a debug panel and is only intended for
5034
- # internal debugging purposes. If the string is empty nothing should be
5035
- # displayed about the media backend.
5036
- # Corresponds to the JSON property `mediaBackendInfo`
5037
- # @return [String]
5038
- attr_accessor :media_backend_info
5039
-
5040
5131
  # Output only. The name or description of the organization or domain that the
5041
5132
  # organizer belongs to. The expected use of this in clients is to present
5042
5133
  # messages like "John Doe (outside of Google.com) is trying to join this call",
@@ -5111,12 +5202,10 @@ module Google
5111
5202
  @available_reactions = args[:available_reactions] if args.key?(:available_reactions)
5112
5203
  @broadcast_session_info = args[:broadcast_session_info] if args.key?(:broadcast_session_info)
5113
5204
  @calendar_event_id = args[:calendar_event_id] if args.key?(:calendar_event_id)
5114
- @chat_config = args[:chat_config] if args.key?(:chat_config)
5115
5205
  @co_activity = args[:co_activity] if args.key?(:co_activity)
5116
5206
  @collaboration = args[:collaboration] if args.key?(:collaboration)
5117
5207
  @cse_info = args[:cse_info] if args.key?(:cse_info)
5118
5208
  @max_joined_devices = args[:max_joined_devices] if args.key?(:max_joined_devices)
5119
- @media_backend_info = args[:media_backend_info] if args.key?(:media_backend_info)
5120
5209
  @organization_name = args[:organization_name] if args.key?(:organization_name)
5121
5210
  @paygate_info = args[:paygate_info] if args.key?(:paygate_info)
5122
5211
  @presenter = args[:presenter] if args.key?(:presenter)
@@ -5395,41 +5484,66 @@ module Google
5395
5484
  end
5396
5485
  end
5397
5486
 
5398
- # Actions handled by Chat Clients.
5399
- class ChatClientActionMarkup
5487
+ #
5488
+ class CaribouAttributeValue
5400
5489
  include Google::Apis::Core::Hashable
5401
5490
 
5491
+ # Tags 1 through 15 are reserved for the most commonly used fields.
5492
+ # Corresponds to the JSON property `booleanValue`
5493
+ # @return [Boolean]
5494
+ attr_accessor :boolean_value
5495
+ alias_method :boolean_value?, :boolean_value
5496
+
5497
+ #
5498
+ # Corresponds to the JSON property `intValue`
5499
+ # @return [Fixnum]
5500
+ attr_accessor :int_value
5501
+
5502
+ #
5503
+ # Corresponds to the JSON property `longValue`
5504
+ # @return [Fixnum]
5505
+ attr_accessor :long_value
5506
+
5507
+ # Generally, applications should avoid storing raw bytes and instead store
5508
+ # structured data as protocol buffer extensions. This both reduces the amount of
5509
+ # ad-hoc attribute parsing code as well as eliminates an intermediate copy of
5510
+ # the data when deserializing the value. The rawByteValue field is mainly
5511
+ # provided for compatibility with attributes stored before the introduction of
5512
+ # the Attribute.Value.
5513
+ # Corresponds to the JSON property `rawByteValue`
5514
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
5515
+ # @return [String]
5516
+ attr_accessor :raw_byte_value
5517
+
5518
+ #
5519
+ # Corresponds to the JSON property `stringValue`
5520
+ # @return [String]
5521
+ attr_accessor :string_value
5522
+
5402
5523
  def initialize(**args)
5403
5524
  update!(**args)
5404
5525
  end
5405
5526
 
5406
5527
  # Update properties of this object
5407
5528
  def update!(**args)
5529
+ @boolean_value = args[:boolean_value] if args.key?(:boolean_value)
5530
+ @int_value = args[:int_value] if args.key?(:int_value)
5531
+ @long_value = args[:long_value] if args.key?(:long_value)
5532
+ @raw_byte_value = args[:raw_byte_value] if args.key?(:raw_byte_value)
5533
+ @string_value = args[:string_value] if args.key?(:string_value)
5408
5534
  end
5409
5535
  end
5410
5536
 
5411
- # Configuration of the in meeting chat.
5412
- class ChatConfig
5537
+ # Actions handled by Chat Clients.
5538
+ class ChatClientActionMarkup
5413
5539
  include Google::Apis::Core::Hashable
5414
5540
 
5415
- # The Type of chat this Conference is currently using.
5416
- # Corresponds to the JSON property `chatType`
5417
- # @return [String]
5418
- attr_accessor :chat_type
5419
-
5420
- # Configuration of the Google Chat in Meet.
5421
- # Corresponds to the JSON property `googleChatConfig`
5422
- # @return [Google::Apis::CloudsearchV1::GoogleChatConfig]
5423
- attr_accessor :google_chat_config
5424
-
5425
5541
  def initialize(**args)
5426
5542
  update!(**args)
5427
5543
  end
5428
5544
 
5429
5545
  # Update properties of this object
5430
5546
  def update!(**args)
5431
- @chat_type = args[:chat_type] if args.key?(:chat_type)
5432
- @google_chat_config = args[:google_chat_config] if args.key?(:google_chat_config)
5433
5547
  end
5434
5548
  end
5435
5549
 
@@ -5801,6 +5915,49 @@ module Google
5801
5915
  end
5802
5916
  end
5803
5917
 
5918
+ # Represents the context of the client on behalf of which a HistoryRecord is
5919
+ # produced. The ClientContext message can be used to hold context about the
5920
+ # service client (e.g. the internal server making fusebox requests) or the user
5921
+ # client (e.g. the IP address of the end user).
5922
+ class ClientContext
5923
+ include Google::Apis::Core::Hashable
5924
+
5925
+ # The client operation to which this history record belongs. The notion of a
5926
+ # client operation is provided to keep track of client operations which might
5927
+ # span multiple transactions in the lower level.
5928
+ # Corresponds to the JSON property `clientOperationId`
5929
+ # @return [String]
5930
+ attr_accessor :client_operation_id
5931
+
5932
+ # E.g. "pinto", "imap", "bigtop", "upload"
5933
+ # Corresponds to the JSON property `clientType`
5934
+ # @return [String]
5935
+ attr_accessor :client_type
5936
+
5937
+ # Contains information about the session which created this history record. This
5938
+ # will be empty if the history record was generated by an internal request.
5939
+ # Corresponds to the JSON property `sessionContext`
5940
+ # @return [Google::Apis::CloudsearchV1::SessionContext]
5941
+ attr_accessor :session_context
5942
+
5943
+ # Textual representation of the user's IP address, if available.
5944
+ # Corresponds to the JSON property `userIp`
5945
+ # @return [String]
5946
+ attr_accessor :user_ip
5947
+
5948
+ def initialize(**args)
5949
+ update!(**args)
5950
+ end
5951
+
5952
+ # Update properties of this object
5953
+ def update!(**args)
5954
+ @client_operation_id = args[:client_operation_id] if args.key?(:client_operation_id)
5955
+ @client_type = args[:client_type] if args.key?(:client_type)
5956
+ @session_context = args[:session_context] if args.key?(:session_context)
5957
+ @user_ip = args[:user_ip] if args.key?(:user_ip)
5958
+ end
5959
+ end
5960
+
5804
5961
  # Principal associated with a Cloud Principal representing third party user.
5805
5962
  class CloudPrincipalProto
5806
5963
  include Google::Apis::Core::Hashable
@@ -5820,6 +5977,39 @@ module Google
5820
5977
  end
5821
5978
  end
5822
5979
 
5980
+ # ClusterInfo contains clustering related information for a particular thread
5981
+ # that would be sent as part of the conversation view. Today, this information
5982
+ # would be used by iOS notification server to identify whether the thread
5983
+ # belongs to a cluster. If the thread belongs to a grouped cluster, it would
5984
+ # identify whether the cluster is throttled.
5985
+ class ClusterInfo
5986
+ include Google::Apis::Core::Hashable
5987
+
5988
+ # IDs of the highest priority clusters to which the thread belongs to. If this
5989
+ # field is not present, the thread does not belong to any cluster and would be
5990
+ # shown in the inbox, unclustered.
5991
+ # Corresponds to the JSON property `clusterId`
5992
+ # @return [Array<String>]
5993
+ attr_accessor :cluster_id
5994
+
5995
+ # If the thread belongs to a grouped cluster and all of those clusters are
5996
+ # throttled, then this field is set to true.
5997
+ # Corresponds to the JSON property `throttled`
5998
+ # @return [Boolean]
5999
+ attr_accessor :throttled
6000
+ alias_method :throttled?, :throttled
6001
+
6002
+ def initialize(**args)
6003
+ update!(**args)
6004
+ end
6005
+
6006
+ # Update properties of this object
6007
+ def update!(**args)
6008
+ @cluster_id = args[:cluster_id] if args.key?(:cluster_id)
6009
+ @throttled = args[:throttled] if args.key?(:throttled)
6010
+ end
6011
+ end
6012
+
5823
6013
  # Metadata about a co-activity session.
5824
6014
  class CoActivity
5825
6015
  include Google::Apis::Core::Hashable
@@ -7500,6 +7690,50 @@ module Google
7500
7690
  end
7501
7691
  end
7502
7692
 
7693
+ # This is the proto for holding message level scoring information. This data is
7694
+ # used for logging in query-api server and for testing purposes.
7695
+ class DynamiteMessagesScoringInfo
7696
+ include Google::Apis::Core::Hashable
7697
+
7698
+ #
7699
+ # Corresponds to the JSON property `finalScore`
7700
+ # @return [Float]
7701
+ attr_accessor :final_score
7702
+
7703
+ #
7704
+ # Corresponds to the JSON property `freshnessScore`
7705
+ # @return [Float]
7706
+ attr_accessor :freshness_score
7707
+
7708
+ #
7709
+ # Corresponds to the JSON property `joinedSpaceAffinityScore`
7710
+ # @return [Float]
7711
+ attr_accessor :joined_space_affinity_score
7712
+
7713
+ #
7714
+ # Corresponds to the JSON property `messageAgeInDays`
7715
+ # @return [Float]
7716
+ attr_accessor :message_age_in_days
7717
+
7718
+ #
7719
+ # Corresponds to the JSON property `topicalityScore`
7720
+ # @return [Float]
7721
+ attr_accessor :topicality_score
7722
+
7723
+ def initialize(**args)
7724
+ update!(**args)
7725
+ end
7726
+
7727
+ # Update properties of this object
7728
+ def update!(**args)
7729
+ @final_score = args[:final_score] if args.key?(:final_score)
7730
+ @freshness_score = args[:freshness_score] if args.key?(:freshness_score)
7731
+ @joined_space_affinity_score = args[:joined_space_affinity_score] if args.key?(:joined_space_affinity_score)
7732
+ @message_age_in_days = args[:message_age_in_days] if args.key?(:message_age_in_days)
7733
+ @topicality_score = args[:topicality_score] if args.key?(:topicality_score)
7734
+ end
7735
+ end
7736
+
7503
7737
  # This is the proto for holding space level scoring information. This data is
7504
7738
  # used for logging in query-api server and for testing purposes.
7505
7739
  class DynamiteSpacesScoringInfo
@@ -8051,6 +8285,16 @@ module Google
8051
8285
  # @return [Fixnum]
8052
8286
  attr_accessor :count
8053
8287
 
8288
+ # A generic way of expressing filters in a query, which supports two approaches:
8289
+ # **1. Setting a ValueFilter.** The name must match an operator_name defined in
8290
+ # the schema for your data source. **2. Setting a CompositeFilter.** The filters
8291
+ # are evaluated using the logical operator. The top-level operators can only be
8292
+ # either an AND or a NOT. AND can appear only at the top-most level. OR can
8293
+ # appear only under a top-level AND.
8294
+ # Corresponds to the JSON property `filter`
8295
+ # @return [Google::Apis::CloudsearchV1::Filter]
8296
+ attr_accessor :filter
8297
+
8054
8298
  # Percent of results that match the bucket value. The returned value is between (
8055
8299
  # 0-100], and is rounded down to an integer if fractional. If the value is not
8056
8300
  # explicitly returned, it represents a percentage value that rounds to 0.
@@ -8073,6 +8317,7 @@ module Google
8073
8317
  # Update properties of this object
8074
8318
  def update!(**args)
8075
8319
  @count = args[:count] if args.key?(:count)
8320
+ @filter = args[:filter] if args.key?(:filter)
8076
8321
  @percentage = args[:percentage] if args.key?(:percentage)
8077
8322
  @value = args[:value] if args.key?(:value)
8078
8323
  end
@@ -8083,6 +8328,11 @@ module Google
8083
8328
  class FacetOptions
8084
8329
  include Google::Apis::Core::Hashable
8085
8330
 
8331
+ # Used to specify integer faceting options.
8332
+ # Corresponds to the JSON property `integerFacetingOptions`
8333
+ # @return [Google::Apis::CloudsearchV1::IntegerFacetingOptions]
8334
+ attr_accessor :integer_faceting_options
8335
+
8086
8336
  # Maximum number of facet buckets that should be returned for this facet.
8087
8337
  # Defaults to 10. Maximum value is 100.
8088
8338
  # Corresponds to the JSON property `numFacetBuckets`
@@ -8113,6 +8363,7 @@ module Google
8113
8363
 
8114
8364
  # Update properties of this object
8115
8365
  def update!(**args)
8366
+ @integer_faceting_options = args[:integer_faceting_options] if args.key?(:integer_faceting_options)
8116
8367
  @num_facet_buckets = args[:num_facet_buckets] if args.key?(:num_facet_buckets)
8117
8368
  @object_type = args[:object_type] if args.key?(:object_type)
8118
8369
  @operator_name = args[:operator_name] if args.key?(:operator_name)
@@ -8214,6 +8465,32 @@ module Google
8214
8465
  end
8215
8466
  end
8216
8467
 
8468
+ # A filter was created.
8469
+ class FilterCreated
8470
+ include Google::Apis::Core::Hashable
8471
+
8472
+ def initialize(**args)
8473
+ update!(**args)
8474
+ end
8475
+
8476
+ # Update properties of this object
8477
+ def update!(**args)
8478
+ end
8479
+ end
8480
+
8481
+ # A filter was deleted.
8482
+ class FilterDeleted
8483
+ include Google::Apis::Core::Hashable
8484
+
8485
+ def initialize(**args)
8486
+ update!(**args)
8487
+ end
8488
+
8489
+ # Update properties of this object
8490
+ def update!(**args)
8491
+ end
8492
+ end
8493
+
8217
8494
  # Filter options to be applied on query.
8218
8495
  class FilterOptions
8219
8496
  include Google::Apis::Core::Hashable
@@ -8246,6 +8523,38 @@ module Google
8246
8523
  end
8247
8524
  end
8248
8525
 
8526
+ # HistoryRecord for changes associated with a filter, namely: FILTER_CREATED
8527
+ # FILTER_DELETED
8528
+ class FilterUpdate
8529
+ include Google::Apis::Core::Hashable
8530
+
8531
+ # A filter was created.
8532
+ # Corresponds to the JSON property `filterCreated`
8533
+ # @return [Google::Apis::CloudsearchV1::FilterCreated]
8534
+ attr_accessor :filter_created
8535
+
8536
+ # A filter was deleted.
8537
+ # Corresponds to the JSON property `filterDeleted`
8538
+ # @return [Google::Apis::CloudsearchV1::FilterDeleted]
8539
+ attr_accessor :filter_deleted
8540
+
8541
+ #
8542
+ # Corresponds to the JSON property `filterId`
8543
+ # @return [String]
8544
+ attr_accessor :filter_id
8545
+
8546
+ def initialize(**args)
8547
+ update!(**args)
8548
+ end
8549
+
8550
+ # Update properties of this object
8551
+ def update!(**args)
8552
+ @filter_created = args[:filter_created] if args.key?(:filter_created)
8553
+ @filter_deleted = args[:filter_deleted] if args.key?(:filter_deleted)
8554
+ @filter_id = args[:filter_id] if args.key?(:filter_id)
8555
+ end
8556
+ end
8557
+
8249
8558
  # A persistent (sticky) footer that is added to the bottom of the card.
8250
8559
  class FixedFooter
8251
8560
  include Google::Apis::Core::Hashable
@@ -8278,33 +8587,77 @@ module Google
8278
8587
  end
8279
8588
 
8280
8589
  #
8281
- class FormAction
8590
+ class Folder
8282
8591
  include Google::Apis::Core::Hashable
8283
8592
 
8284
- # Apps script function that should be invoked in the developer's apps script
8285
- # when the containing element is clicked/activated.
8286
- # Corresponds to the JSON property `actionMethodName`
8287
- # @return [String]
8288
- attr_accessor :action_method_name
8593
+ # Folder mapping id.
8594
+ # Corresponds to the JSON property `id`
8595
+ # @return [Fixnum]
8596
+ attr_accessor :id
8289
8597
 
8290
- #
8291
- # Corresponds to the JSON property `loadIndicator`
8292
- # @return [String]
8293
- attr_accessor :load_indicator
8598
+ # One for each copy of the message in the IMAP folder.
8599
+ # Corresponds to the JSON property `message`
8600
+ # @return [Array<Google::Apis::CloudsearchV1::ImapsyncFolderAttributeFolderMessage>]
8601
+ attr_accessor :message
8294
8602
 
8295
- #
8296
- # Corresponds to the JSON property `parameters`
8297
- # @return [Array<Google::Apis::CloudsearchV1::ActionParameter>]
8298
- attr_accessor :parameters
8603
+ def initialize(**args)
8604
+ update!(**args)
8605
+ end
8299
8606
 
8300
- # Indicates whether form values persist after the action. When false, the Apps
8301
- # Script is responsible for persisting values, by setting any form field values
8302
- # using the formInputs in the event. Disabling this behavior can be used if the
8303
- # add-on needs the ability to clear form fields, for example, as with persistent
8304
- # values, there is no means for clearing existing values. When disabling
8305
- # persistent values, it is strongly recommended that the add-on use
8306
- # LoadIndicator.SPINNER for all events, as this locks the UI to ensure no
8307
- # changes are made by the user while the action is being processed. When using
8607
+ # Update properties of this object
8608
+ def update!(**args)
8609
+ @id = args[:id] if args.key?(:id)
8610
+ @message = args[:message] if args.key?(:message)
8611
+ end
8612
+ end
8613
+
8614
+ # This is the content of //imapsync/folder attribute.
8615
+ class FolderAttribute
8616
+ include Google::Apis::Core::Hashable
8617
+
8618
+ # List of all IMAP folders where the message presents.
8619
+ # Corresponds to the JSON property `folder`
8620
+ # @return [Array<Google::Apis::CloudsearchV1::Folder>]
8621
+ attr_accessor :folder
8622
+
8623
+ def initialize(**args)
8624
+ update!(**args)
8625
+ end
8626
+
8627
+ # Update properties of this object
8628
+ def update!(**args)
8629
+ @folder = args[:folder] if args.key?(:folder)
8630
+ end
8631
+ end
8632
+
8633
+ #
8634
+ class FormAction
8635
+ include Google::Apis::Core::Hashable
8636
+
8637
+ # Apps script function that should be invoked in the developer's apps script
8638
+ # when the containing element is clicked/activated.
8639
+ # Corresponds to the JSON property `actionMethodName`
8640
+ # @return [String]
8641
+ attr_accessor :action_method_name
8642
+
8643
+ #
8644
+ # Corresponds to the JSON property `loadIndicator`
8645
+ # @return [String]
8646
+ attr_accessor :load_indicator
8647
+
8648
+ #
8649
+ # Corresponds to the JSON property `parameters`
8650
+ # @return [Array<Google::Apis::CloudsearchV1::ActionParameter>]
8651
+ attr_accessor :parameters
8652
+
8653
+ # Indicates whether form values persist after the action. When false, the Apps
8654
+ # Script is responsible for persisting values, by setting any form field values
8655
+ # using the formInputs in the event. Disabling this behavior can be used if the
8656
+ # add-on needs the ability to clear form fields, for example, as with persistent
8657
+ # values, there is no means for clearing existing values. When disabling
8658
+ # persistent values, it is strongly recommended that the add-on use
8659
+ # LoadIndicator.SPINNER for all events, as this locks the UI to ensure no
8660
+ # changes are made by the user while the action is being processed. When using
8308
8661
  # LoadIndicator.NONE for any of the actions, persistent values are recommended,
8309
8662
  # as it ensures that any changes made by the user after form / on change actions
8310
8663
  # are sent to the server are not overwritten by the response. Persistent values
@@ -8451,6 +8804,288 @@ module Google
8451
8804
  end
8452
8805
  end
8453
8806
 
8807
+ # The Item message is the read interface for user data (traditionally referred
8808
+ # to as a "message", such as a mail message or a chat message, but generalized
8809
+ # to encompass other types such as tasks) and stored in Tingle. Each Item is
8810
+ # associated with a single Thread. An Item contains three classes of data. (1):
8811
+ # Item "fields" are common to items of all message types (e.g. mail, chat, task,
8812
+ # etc.) and are identified by the ItemFieldSpec.FetchType enum when fetching
8813
+ # Items. (2): Item "attributes" represent data associated with an Item that is
8814
+ # stored on behalf of the client but to which the fusebox and storage layers are
8815
+ # otherwise agnostic. (3): Item "parts" are application-defined protocol buffers
8816
+ # that affect how the Item is indexed. Item parts are referenced as extensions
8817
+ # to the ItemParts message. By default the application specifies the index terms
8818
+ # associated with an Item part. For performance sensitive applications, the
8819
+ # storage layer can be modified to understand and index data types natively.
8820
+ class FuseboxItem
8821
+ include Google::Apis::Core::Hashable
8822
+
8823
+ #
8824
+ # Corresponds to the JSON property `attributes`
8825
+ # @return [Google::Apis::CloudsearchV1::Attributes]
8826
+ attr_accessor :attributes
8827
+
8828
+ # The creation time of the Item in micro seconds.
8829
+ # Corresponds to the JSON property `creationTimeMicroseconds`
8830
+ # @return [Fixnum]
8831
+ attr_accessor :creation_time_microseconds
8832
+
8833
+ # The most recent history records associated with the item.
8834
+ # Corresponds to the JSON property `history`
8835
+ # @return [Google::Apis::CloudsearchV1::History]
8836
+ attr_accessor :history
8837
+
8838
+ # A union-like type for identifiying an object in storage. MultiKeys contain
8839
+ # multiple key fields, each in a separate key space. At least one key field must
8840
+ # be set. More than one key field may be set as long as all key values refer to
8841
+ # the same object. All objects in storage have unique server_id keys. All
8842
+ # MultiKeys returned from storage to storage clients will always have the
8843
+ # server_id field set. When creating an object, if a MultiKey without a
8844
+ # server_id is supplied to storage, the storage system will auto-assign a server
8845
+ # ID to the new object. For all other storage requests (i.e. those not creating
8846
+ # new objects), clients may omit server_id (as long as they supply another key).
8847
+ # Instead of server ids, clients can specify string based
8848
+ # client_assigned_perm_id keys. Mail message drafts are a prime example of these
8849
+ # kinds of objects. Each time a user saves a new version of a draft, the storage
8850
+ # system needs to create a new object with the updated draft content and needs
8851
+ # to delete the object containing the old content. The new object gets a new
8852
+ # SERVER_ID but should get the same CLIENT_ASSIGNED_PERM_ID as the now-deleted
8853
+ # object containing the old content. Carrying forward the perm ID allows it to
8854
+ # be used to consistently refer to the same logical object across revisions.
8855
+ # These perm IDs save sync clients from having to deal with changing object IDs.
8856
+ # For example, assume there's a mail message in storage with SERVER_ID = 123 and
8857
+ # CLIENT_ASSIGNED_PERM_ID = "foo". The following are all valid ways of
8858
+ # addressing the object using MultiKeys: 1) MultiKey ` server_id = 123 ` 2)
8859
+ # MultiKey ` server_id = 123, client_assigned_perm_id = "foo" ` 3) MultiKey `
8860
+ # client_assigned_perm_id = "foo" ` Multikeys are never serialized in the
8861
+ # storage. The individual keys are extracted and processed separately. Both the
8862
+ # integer ids as well as string ids are indexed for efficient retrieval using
8863
+ # the same fields in the backend. See go/tingle-multikeys for more information
8864
+ # on background and motivation.
8865
+ # Corresponds to the JSON property `itemKey`
8866
+ # @return [Google::Apis::CloudsearchV1::MultiKey]
8867
+ attr_accessor :item_key
8868
+
8869
+ #
8870
+ # Corresponds to the JSON property `labels`
8871
+ # @return [Google::Apis::CloudsearchV1::Labels]
8872
+ attr_accessor :labels
8873
+
8874
+ # The modification time of the Item in micro seconds. Modifications to the
8875
+ # message include label addition, deletion, etc.
8876
+ # Corresponds to the JSON property `lastModificationTimeUs`
8877
+ # @return [Fixnum]
8878
+ attr_accessor :last_modification_time_us
8879
+
8880
+ # go/lockpicker Locker counterpart of references.
8881
+ # Corresponds to the JSON property `lockerReferences`
8882
+ # @return [Google::Apis::CloudsearchV1::References]
8883
+ attr_accessor :locker_references
8884
+
8885
+ #
8886
+ # Corresponds to the JSON property `matchInfo`
8887
+ # @return [Google::Apis::CloudsearchV1::MatchInfo]
8888
+ attr_accessor :match_info
8889
+
8890
+ # Container for type-specific extensions of an Item. This protobuf is defined in
8891
+ # a separate file to allow types to reference/extend the message without
8892
+ # depending on other fusebox protobufs. See items.proto.
8893
+ # Corresponds to the JSON property `parts`
8894
+ # @return [Google::Apis::CloudsearchV1::ItemParts]
8895
+ attr_accessor :parts
8896
+
8897
+ # The read timestamp at which this item was read. This is a temporary field used
8898
+ # to check if two items streamed during dual reading were read at the same
8899
+ # timestamp. This will be populated by Fusebox RPCs. "DO NOT USE UNLESS YOU TALK
8900
+ # TO FUSEBOX TEAM (gmail-fusebox@)".
8901
+ # Corresponds to the JSON property `readTs`
8902
+ # @return [Fixnum]
8903
+ attr_accessor :read_ts
8904
+
8905
+ # References to attachments, video attachments in Youtube and Hangout messages.
8906
+ # Corresponds to the JSON property `references`
8907
+ # @return [Google::Apis::CloudsearchV1::References]
8908
+ attr_accessor :references
8909
+
8910
+ # The snippet is a brief bit of text describing this item.
8911
+ # Corresponds to the JSON property `snippet`
8912
+ # @return [String]
8913
+ attr_accessor :snippet
8914
+
8915
+ # A union-like type for identifiying an object in storage. MultiKeys contain
8916
+ # multiple key fields, each in a separate key space. At least one key field must
8917
+ # be set. More than one key field may be set as long as all key values refer to
8918
+ # the same object. All objects in storage have unique server_id keys. All
8919
+ # MultiKeys returned from storage to storage clients will always have the
8920
+ # server_id field set. When creating an object, if a MultiKey without a
8921
+ # server_id is supplied to storage, the storage system will auto-assign a server
8922
+ # ID to the new object. For all other storage requests (i.e. those not creating
8923
+ # new objects), clients may omit server_id (as long as they supply another key).
8924
+ # Instead of server ids, clients can specify string based
8925
+ # client_assigned_perm_id keys. Mail message drafts are a prime example of these
8926
+ # kinds of objects. Each time a user saves a new version of a draft, the storage
8927
+ # system needs to create a new object with the updated draft content and needs
8928
+ # to delete the object containing the old content. The new object gets a new
8929
+ # SERVER_ID but should get the same CLIENT_ASSIGNED_PERM_ID as the now-deleted
8930
+ # object containing the old content. Carrying forward the perm ID allows it to
8931
+ # be used to consistently refer to the same logical object across revisions.
8932
+ # These perm IDs save sync clients from having to deal with changing object IDs.
8933
+ # For example, assume there's a mail message in storage with SERVER_ID = 123 and
8934
+ # CLIENT_ASSIGNED_PERM_ID = "foo". The following are all valid ways of
8935
+ # addressing the object using MultiKeys: 1) MultiKey ` server_id = 123 ` 2)
8936
+ # MultiKey ` server_id = 123, client_assigned_perm_id = "foo" ` 3) MultiKey `
8937
+ # client_assigned_perm_id = "foo" ` Multikeys are never serialized in the
8938
+ # storage. The individual keys are extracted and processed separately. Both the
8939
+ # integer ids as well as string ids are indexed for efficient retrieval using
8940
+ # the same fields in the backend. See go/tingle-multikeys for more information
8941
+ # on background and motivation.
8942
+ # Corresponds to the JSON property `threadKey`
8943
+ # @return [Google::Apis::CloudsearchV1::MultiKey]
8944
+ attr_accessor :thread_key
8945
+
8946
+ # A base64 encoded and encrypted string generated from the Gaia Id and the
8947
+ # thread id. Used to generate the permalink for this thread, exposed from Gmail
8948
+ # API.
8949
+ # Corresponds to the JSON property `threadLocator`
8950
+ # @return [String]
8951
+ attr_accessor :thread_locator
8952
+
8953
+ #
8954
+ # Corresponds to the JSON property `triggers`
8955
+ # @return [Google::Apis::CloudsearchV1::Triggers]
8956
+ attr_accessor :triggers
8957
+
8958
+ # The latest history operation id that resulted in a mutation of the item.
8959
+ # Corresponds to the JSON property `version`
8960
+ # @return [Fixnum]
8961
+ attr_accessor :version
8962
+
8963
+ def initialize(**args)
8964
+ update!(**args)
8965
+ end
8966
+
8967
+ # Update properties of this object
8968
+ def update!(**args)
8969
+ @attributes = args[:attributes] if args.key?(:attributes)
8970
+ @creation_time_microseconds = args[:creation_time_microseconds] if args.key?(:creation_time_microseconds)
8971
+ @history = args[:history] if args.key?(:history)
8972
+ @item_key = args[:item_key] if args.key?(:item_key)
8973
+ @labels = args[:labels] if args.key?(:labels)
8974
+ @last_modification_time_us = args[:last_modification_time_us] if args.key?(:last_modification_time_us)
8975
+ @locker_references = args[:locker_references] if args.key?(:locker_references)
8976
+ @match_info = args[:match_info] if args.key?(:match_info)
8977
+ @parts = args[:parts] if args.key?(:parts)
8978
+ @read_ts = args[:read_ts] if args.key?(:read_ts)
8979
+ @references = args[:references] if args.key?(:references)
8980
+ @snippet = args[:snippet] if args.key?(:snippet)
8981
+ @thread_key = args[:thread_key] if args.key?(:thread_key)
8982
+ @thread_locator = args[:thread_locator] if args.key?(:thread_locator)
8983
+ @triggers = args[:triggers] if args.key?(:triggers)
8984
+ @version = args[:version] if args.key?(:version)
8985
+ end
8986
+ end
8987
+
8988
+ # In the context of a search, the MatchInfo contains information about which
8989
+ # Items matched the query.
8990
+ class FuseboxItemThreadMatchInfo
8991
+ include Google::Apis::Core::Hashable
8992
+
8993
+ # If SearchQuery.Options.Clustering is present, the query will be treated as a
8994
+ # cluster query, and this field may be populated with the cluster ID of the
8995
+ # cluster to which this thread belongs, if any. The cluster ID will be a label
8996
+ # on the message.
8997
+ # Corresponds to the JSON property `clusterId`
8998
+ # @return [String]
8999
+ attr_accessor :cluster_id
9000
+
9001
+ # The server id of the last item that matched the query. This is always set,
9002
+ # regardless of the compute_matching_items_per_thread option. This is the value
9003
+ # by which search results are sorted, in descending (i.e. newest first) order.
9004
+ # Corresponds to the JSON property `lastMatchingItemId`
9005
+ # @return [Fixnum]
9006
+ attr_accessor :last_matching_item_id
9007
+
9008
+ # A union-like type for identifiying an object in storage. MultiKeys contain
9009
+ # multiple key fields, each in a separate key space. At least one key field must
9010
+ # be set. More than one key field may be set as long as all key values refer to
9011
+ # the same object. All objects in storage have unique server_id keys. All
9012
+ # MultiKeys returned from storage to storage clients will always have the
9013
+ # server_id field set. When creating an object, if a MultiKey without a
9014
+ # server_id is supplied to storage, the storage system will auto-assign a server
9015
+ # ID to the new object. For all other storage requests (i.e. those not creating
9016
+ # new objects), clients may omit server_id (as long as they supply another key).
9017
+ # Instead of server ids, clients can specify string based
9018
+ # client_assigned_perm_id keys. Mail message drafts are a prime example of these
9019
+ # kinds of objects. Each time a user saves a new version of a draft, the storage
9020
+ # system needs to create a new object with the updated draft content and needs
9021
+ # to delete the object containing the old content. The new object gets a new
9022
+ # SERVER_ID but should get the same CLIENT_ASSIGNED_PERM_ID as the now-deleted
9023
+ # object containing the old content. Carrying forward the perm ID allows it to
9024
+ # be used to consistently refer to the same logical object across revisions.
9025
+ # These perm IDs save sync clients from having to deal with changing object IDs.
9026
+ # For example, assume there's a mail message in storage with SERVER_ID = 123 and
9027
+ # CLIENT_ASSIGNED_PERM_ID = "foo". The following are all valid ways of
9028
+ # addressing the object using MultiKeys: 1) MultiKey ` server_id = 123 ` 2)
9029
+ # MultiKey ` server_id = 123, client_assigned_perm_id = "foo" ` 3) MultiKey `
9030
+ # client_assigned_perm_id = "foo" ` Multikeys are never serialized in the
9031
+ # storage. The individual keys are extracted and processed separately. Both the
9032
+ # integer ids as well as string ids are indexed for efficient retrieval using
9033
+ # the same fields in the backend. See go/tingle-multikeys for more information
9034
+ # on background and motivation.
9035
+ # Corresponds to the JSON property `lastMatchingItemKey`
9036
+ # @return [Google::Apis::CloudsearchV1::MultiKey]
9037
+ attr_accessor :last_matching_item_key
9038
+
9039
+ # If SearchQuery.Options.compute_matching_items_per_thread, this field will
9040
+ # contain the keys of all items that matched the query, in ascending order. Note
9041
+ # that this option requires extra computation.
9042
+ # Corresponds to the JSON property `matchingItemKey`
9043
+ # @return [Array<Google::Apis::CloudsearchV1::MultiKey>]
9044
+ attr_accessor :matching_item_key
9045
+
9046
+ # The rank contains a tuple of numbers which may be used as a general sort order.
9047
+ # The rank should be treated as an ordered set of numbers, where the ordering
9048
+ # is done in descending order of the most significant rank member. For example,
9049
+ # given the following ranks described as (primary, secondary): (1,1), (1,2), (2,
9050
+ # 2) (2,1) The descending rank-order is: (2,2) > (2,1) > (1,2) > (1,1)
9051
+ # Corresponds to the JSON property `rank`
9052
+ # @return [Google::Apis::CloudsearchV1::Rank]
9053
+ attr_accessor :rank
9054
+
9055
+ def initialize(**args)
9056
+ update!(**args)
9057
+ end
9058
+
9059
+ # Update properties of this object
9060
+ def update!(**args)
9061
+ @cluster_id = args[:cluster_id] if args.key?(:cluster_id)
9062
+ @last_matching_item_id = args[:last_matching_item_id] if args.key?(:last_matching_item_id)
9063
+ @last_matching_item_key = args[:last_matching_item_key] if args.key?(:last_matching_item_key)
9064
+ @matching_item_key = args[:matching_item_key] if args.key?(:matching_item_key)
9065
+ @rank = args[:rank] if args.key?(:rank)
9066
+ end
9067
+ end
9068
+
9069
+ # If the Value field is not set this means the pref did not exist.
9070
+ class FuseboxPrefUpdatePreState
9071
+ include Google::Apis::Core::Hashable
9072
+
9073
+ #
9074
+ # Corresponds to the JSON property `value`
9075
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
9076
+ # @return [String]
9077
+ attr_accessor :value
9078
+
9079
+ def initialize(**args)
9080
+ update!(**args)
9081
+ end
9082
+
9083
+ # Update properties of this object
9084
+ def update!(**args)
9085
+ @value = args[:value] if args.key?(:value)
9086
+ end
9087
+ end
9088
+
8454
9089
  #
8455
9090
  class GSuitePrincipal
8456
9091
  include Google::Apis::Core::Hashable
@@ -8813,25 +9448,6 @@ module Google
8813
9448
  end
8814
9449
  end
8815
9450
 
8816
- # Configuration of the Google Chat in Meet.
8817
- class GoogleChatConfig
8818
- include Google::Apis::Core::Hashable
8819
-
8820
- # ID of the Chat group.
8821
- # Corresponds to the JSON property `chatGroupId`
8822
- # @return [String]
8823
- attr_accessor :chat_group_id
8824
-
8825
- def initialize(**args)
8826
- update!(**args)
8827
- end
8828
-
8829
- # Update properties of this object
8830
- def update!(**args)
8831
- @chat_group_id = args[:chat_group_id] if args.key?(:chat_group_id)
8832
- end
8833
- end
8834
-
8835
9451
  # The markup for developers to specify the contents of a contextual AddOn.
8836
9452
  class GoogleChatV1ContextualAddOnMarkup
8837
9453
  include Google::Apis::Core::Hashable
@@ -9791,6 +10407,112 @@ module Google
9791
10407
  end
9792
10408
  end
9793
10409
 
10410
+ # The most recent history records associated with the item.
10411
+ class History
10412
+ include Google::Apis::Core::Hashable
10413
+
10414
+ #
10415
+ # Corresponds to the JSON property `record`
10416
+ # @return [Array<Google::Apis::CloudsearchV1::HistoryRecord>]
10417
+ attr_accessor :record
10418
+
10419
+ def initialize(**args)
10420
+ update!(**args)
10421
+ end
10422
+
10423
+ # Update properties of this object
10424
+ def update!(**args)
10425
+ @record = args[:record] if args.key?(:record)
10426
+ end
10427
+ end
10428
+
10429
+ #
10430
+ class HistoryRecord
10431
+ include Google::Apis::Core::Hashable
10432
+
10433
+ # Represents the context of the client on behalf of which a HistoryRecord is
10434
+ # produced. The ClientContext message can be used to hold context about the
10435
+ # service client (e.g. the internal server making fusebox requests) or the user
10436
+ # client (e.g. the IP address of the end user).
10437
+ # Corresponds to the JSON property `clientContext`
10438
+ # @return [Google::Apis::CloudsearchV1::ClientContext]
10439
+ attr_accessor :client_context
10440
+
10441
+ # HistoryRecord for changes associated with a filter, namely: FILTER_CREATED
10442
+ # FILTER_DELETED
10443
+ # Corresponds to the JSON property `filterUpdate`
10444
+ # @return [Google::Apis::CloudsearchV1::FilterUpdate]
10445
+ attr_accessor :filter_update
10446
+
10447
+ # HistoryRecord for changes associated with IMAP, namely: IMAP_UIDS_REASSIGN
10448
+ # Corresponds to the JSON property `imapUpdate`
10449
+ # @return [Google::Apis::CloudsearchV1::ImapUpdate]
10450
+ attr_accessor :imap_update
10451
+
10452
+ # HistoryRecord for changes associated with a label, namely: LABEL_CREATED
10453
+ # LABEL_DELETED LABEL_RENAMED LABEL_UPDATED
10454
+ # Corresponds to the JSON property `labelUpdate`
10455
+ # @return [Google::Apis::CloudsearchV1::LabelUpdate]
10456
+ attr_accessor :label_update
10457
+
10458
+ # HistoryRecord for changes associated with prefs, namely: PREF_WRITTEN
10459
+ # PREF_DELETED
10460
+ # Corresponds to the JSON property `prefUpdate`
10461
+ # @return [Google::Apis::CloudsearchV1::PrefUpdate]
10462
+ attr_accessor :pref_update
10463
+
10464
+ # Each HistoryRecord has a unique id. Ids are monotonically increasing, and not
10465
+ # necessarily contiguous.
10466
+ # Corresponds to the JSON property `recordId`
10467
+ # @return [Fixnum]
10468
+ attr_accessor :record_id
10469
+
10470
+ # HistoryRecord for changes associated with a thread, namely: MESSAGE_ADDED
10471
+ # MESSAGE_DELETED LABEL_ADDED LABEL_REMOVED ATTRIBUTE_SET ATTRIBUTE_REMOVED
10472
+ # THREAD_KEY_SET All label_ids refer to the (unchanging) value as defined by the
10473
+ # Label.id field in labels.proto. In particular, it is *not* the canonical_name.
10474
+ # Corresponds to the JSON property `threadUpdate`
10475
+ # @return [Google::Apis::CloudsearchV1::ThreadUpdate]
10476
+ attr_accessor :thread_update
10477
+
10478
+ # Storage information pertaining to the transaction with which a HistoryRecord
10479
+ # is associated.
10480
+ # Corresponds to the JSON property `transactionContext`
10481
+ # @return [Google::Apis::CloudsearchV1::TransactionContext]
10482
+ attr_accessor :transaction_context
10483
+
10484
+ # HistoryRecord for debug info associated with the transaction, namely:
10485
+ # TXN_DEBUG_INFO TODO(b/143845917) This is a short-term workaround for
10486
+ # unblocking fusebox writes migration. Clean up the code or land a long-term
10487
+ # solution after the rollout. go/diff-to-historyrecord
10488
+ # Corresponds to the JSON property `txnDebugInfo`
10489
+ # @return [Google::Apis::CloudsearchV1::TransactionDebugInfo]
10490
+ attr_accessor :txn_debug_info
10491
+
10492
+ #
10493
+ # Corresponds to the JSON property `type`
10494
+ # @return [String]
10495
+ attr_accessor :type
10496
+
10497
+ def initialize(**args)
10498
+ update!(**args)
10499
+ end
10500
+
10501
+ # Update properties of this object
10502
+ def update!(**args)
10503
+ @client_context = args[:client_context] if args.key?(:client_context)
10504
+ @filter_update = args[:filter_update] if args.key?(:filter_update)
10505
+ @imap_update = args[:imap_update] if args.key?(:imap_update)
10506
+ @label_update = args[:label_update] if args.key?(:label_update)
10507
+ @pref_update = args[:pref_update] if args.key?(:pref_update)
10508
+ @record_id = args[:record_id] if args.key?(:record_id)
10509
+ @thread_update = args[:thread_update] if args.key?(:thread_update)
10510
+ @transaction_context = args[:transaction_context] if args.key?(:transaction_context)
10511
+ @txn_debug_info = args[:txn_debug_info] if args.key?(:txn_debug_info)
10512
+ @type = args[:type] if args.key?(:type)
10513
+ end
10514
+ end
10515
+
9794
10516
  # Actions handled by individual host apps.
9795
10517
  class HostAppActionMarkup
9796
10518
  include Google::Apis::Core::Hashable
@@ -10198,6 +10920,181 @@ module Google
10198
10920
  end
10199
10921
  end
10200
10922
 
10923
+ #
10924
+ class ImapSessionContext
10925
+ include Google::Apis::Core::Hashable
10926
+
10927
+ #
10928
+ # Corresponds to the JSON property `app`
10929
+ # @return [String]
10930
+ attr_accessor :app
10931
+
10932
+ # User agent information
10933
+ # Corresponds to the JSON property `deviceType`
10934
+ # @return [String]
10935
+ attr_accessor :device_type
10936
+
10937
+ # As agreed with Bond team, this holds the fingerprint of any "aguid" or "guid"
10938
+ # provided by the ID command. The fingerprint should be calculated by
10939
+ # fingerprint2011. Note that not all clients will provide aguid or guid through
10940
+ # ID command.
10941
+ # Corresponds to the JSON property `guidFingerprint`
10942
+ # @return [Fixnum]
10943
+ attr_accessor :guid_fingerprint
10944
+
10945
+ #
10946
+ # Corresponds to the JSON property `os`
10947
+ # @return [String]
10948
+ attr_accessor :os
10949
+
10950
+ #
10951
+ # Corresponds to the JSON property `osVersion`
10952
+ # @return [Google::Apis::CloudsearchV1::OsVersion]
10953
+ attr_accessor :os_version
10954
+
10955
+ # This message contains either the device model, or a prefix of the device model
10956
+ # (AKA a trimmed device model). The "is_trimmed" field indicates which one it is.
10957
+ # Corresponds to the JSON property `possiblyTrimmedModel`
10958
+ # @return [Google::Apis::CloudsearchV1::PossiblyTrimmedModel]
10959
+ attr_accessor :possibly_trimmed_model
10960
+
10961
+ def initialize(**args)
10962
+ update!(**args)
10963
+ end
10964
+
10965
+ # Update properties of this object
10966
+ def update!(**args)
10967
+ @app = args[:app] if args.key?(:app)
10968
+ @device_type = args[:device_type] if args.key?(:device_type)
10969
+ @guid_fingerprint = args[:guid_fingerprint] if args.key?(:guid_fingerprint)
10970
+ @os = args[:os] if args.key?(:os)
10971
+ @os_version = args[:os_version] if args.key?(:os_version)
10972
+ @possibly_trimmed_model = args[:possibly_trimmed_model] if args.key?(:possibly_trimmed_model)
10973
+ end
10974
+ end
10975
+
10976
+ # Message delete history record extension that exports //imapsync/folder
10977
+ # attribute of deleted messages which have ^is label.
10978
+ class ImapSyncDelete
10979
+ include Google::Apis::Core::Hashable
10980
+
10981
+ # This is the content of //imapsync/folder attribute.
10982
+ # Corresponds to the JSON property `mappings`
10983
+ # @return [Google::Apis::CloudsearchV1::FolderAttribute]
10984
+ attr_accessor :mappings
10985
+
10986
+ #
10987
+ # Corresponds to the JSON property `msgId`
10988
+ # @return [Fixnum]
10989
+ attr_accessor :msg_id
10990
+
10991
+ def initialize(**args)
10992
+ update!(**args)
10993
+ end
10994
+
10995
+ # Update properties of this object
10996
+ def update!(**args)
10997
+ @mappings = args[:mappings] if args.key?(:mappings)
10998
+ @msg_id = args[:msg_id] if args.key?(:msg_id)
10999
+ end
11000
+ end
11001
+
11002
+ #
11003
+ class ImapUidsReassign
11004
+ include Google::Apis::Core::Hashable
11005
+
11006
+ # Label
11007
+ # Corresponds to the JSON property `labelId`
11008
+ # @return [String]
11009
+ attr_accessor :label_id
11010
+
11011
+ # The message Ids
11012
+ # Corresponds to the JSON property `messageId`
11013
+ # @return [Array<Fixnum>]
11014
+ attr_accessor :message_id
11015
+
11016
+ def initialize(**args)
11017
+ update!(**args)
11018
+ end
11019
+
11020
+ # Update properties of this object
11021
+ def update!(**args)
11022
+ @label_id = args[:label_id] if args.key?(:label_id)
11023
+ @message_id = args[:message_id] if args.key?(:message_id)
11024
+ end
11025
+ end
11026
+
11027
+ # HistoryRecord for changes associated with IMAP, namely: IMAP_UIDS_REASSIGN
11028
+ class ImapUpdate
11029
+ include Google::Apis::Core::Hashable
11030
+
11031
+ #
11032
+ # Corresponds to the JSON property `imapUidsReassign`
11033
+ # @return [Google::Apis::CloudsearchV1::ImapUidsReassign]
11034
+ attr_accessor :imap_uids_reassign
11035
+
11036
+ def initialize(**args)
11037
+ update!(**args)
11038
+ end
11039
+
11040
+ # Update properties of this object
11041
+ def update!(**args)
11042
+ @imap_uids_reassign = args[:imap_uids_reassign] if args.key?(:imap_uids_reassign)
11043
+ end
11044
+ end
11045
+
11046
+ #
11047
+ class ImapsyncFolderAttributeFolderMessage
11048
+ include Google::Apis::Core::Hashable
11049
+
11050
+ # Flags of the message. Represents unseen and flagged state.
11051
+ # Corresponds to the JSON property `flags`
11052
+ # @return [Google::Apis::CloudsearchV1::ImapsyncFolderAttributeFolderMessageFlags]
11053
+ attr_accessor :flags
11054
+
11055
+ # UID of the message.
11056
+ # Corresponds to the JSON property `uid`
11057
+ # @return [Fixnum]
11058
+ attr_accessor :uid
11059
+
11060
+ def initialize(**args)
11061
+ update!(**args)
11062
+ end
11063
+
11064
+ # Update properties of this object
11065
+ def update!(**args)
11066
+ @flags = args[:flags] if args.key?(:flags)
11067
+ @uid = args[:uid] if args.key?(:uid)
11068
+ end
11069
+ end
11070
+
11071
+ #
11072
+ class ImapsyncFolderAttributeFolderMessageFlags
11073
+ include Google::Apis::Core::Hashable
11074
+
11075
+ # Flagged state of the message.
11076
+ # Corresponds to the JSON property `flagged`
11077
+ # @return [Boolean]
11078
+ attr_accessor :flagged
11079
+ alias_method :flagged?, :flagged
11080
+
11081
+ # Seen state of the message.
11082
+ # Corresponds to the JSON property `seen`
11083
+ # @return [Boolean]
11084
+ attr_accessor :seen
11085
+ alias_method :seen?, :seen
11086
+
11087
+ def initialize(**args)
11088
+ update!(**args)
11089
+ end
11090
+
11091
+ # Update properties of this object
11092
+ def update!(**args)
11093
+ @flagged = args[:flagged] if args.key?(:flagged)
11094
+ @seen = args[:seen] if args.key?(:seen)
11095
+ end
11096
+ end
11097
+
10201
11098
  # Annotation metadata to display system messages for incoming webhook events.
10202
11099
  # Next Tag: 7
10203
11100
  class IncomingWebhookChangedMetadata
@@ -10363,6 +11260,27 @@ module Google
10363
11260
  end
10364
11261
  end
10365
11262
 
11263
+ # Used to specify integer faceting options.
11264
+ class IntegerFacetingOptions
11265
+ include Google::Apis::Core::Hashable
11266
+
11267
+ # Buckets for given integer values should be in strictly ascending order. For
11268
+ # example, if values supplied are (1,5,10,100), the following facet buckets will
11269
+ # be formed `<1, [1,5), [5-10), [10-100), >=100`.
11270
+ # Corresponds to the JSON property `integerBuckets`
11271
+ # @return [Array<Fixnum>]
11272
+ attr_accessor :integer_buckets
11273
+
11274
+ def initialize(**args)
11275
+ update!(**args)
11276
+ end
11277
+
11278
+ # Update properties of this object
11279
+ def update!(**args)
11280
+ @integer_buckets = args[:integer_buckets] if args.key?(:integer_buckets)
11281
+ end
11282
+ end
11283
+
10366
11284
  # Used to provide a search operator for integer properties. This is optional.
10367
11285
  # Search operators let users restrict the query to specific fields relevant to
10368
11286
  # the type of item being searched.
@@ -10419,6 +11337,11 @@ module Google
10419
11337
  class IntegerPropertyOptions
10420
11338
  include Google::Apis::Core::Hashable
10421
11339
 
11340
+ # Used to specify integer faceting options.
11341
+ # Corresponds to the JSON property `integerFacetingOptions`
11342
+ # @return [Google::Apis::CloudsearchV1::IntegerFacetingOptions]
11343
+ attr_accessor :integer_faceting_options
11344
+
10422
11345
  # The maximum value of the property. The minimum and maximum values for the
10423
11346
  # property are used to rank results according to the ordered ranking. Indexing
10424
11347
  # requests with values greater than the maximum are accepted and ranked with the
@@ -10454,6 +11377,7 @@ module Google
10454
11377
 
10455
11378
  # Update properties of this object
10456
11379
  def update!(**args)
11380
+ @integer_faceting_options = args[:integer_faceting_options] if args.key?(:integer_faceting_options)
10457
11381
  @maximum_value = args[:maximum_value] if args.key?(:maximum_value)
10458
11382
  @minimum_value = args[:minimum_value] if args.key?(:minimum_value)
10459
11383
  @operator_options = args[:operator_options] if args.key?(:operator_options)
@@ -10961,6 +11885,21 @@ module Google
10961
11885
  end
10962
11886
  end
10963
11887
 
11888
+ # Container for type-specific extensions of an Item. This protobuf is defined in
11889
+ # a separate file to allow types to reference/extend the message without
11890
+ # depending on other fusebox protobufs. See items.proto.
11891
+ class ItemParts
11892
+ include Google::Apis::Core::Hashable
11893
+
11894
+ def initialize(**args)
11895
+ update!(**args)
11896
+ end
11897
+
11898
+ # Update properties of this object
11899
+ def update!(**args)
11900
+ end
11901
+ end
11902
+
10964
11903
  # This contains item's status and any errors.
10965
11904
  class ItemStatus
10966
11905
  include Google::Apis::Core::Hashable
@@ -11018,6 +11957,140 @@ module Google
11018
11957
  end
11019
11958
  end
11020
11959
 
11960
+ # An ItemThread is an ordered list of Items. An ItemThread corresponds to a "
11961
+ # conversation" in the context of mail. An Item belongs to exactly one
11962
+ # ItemThread.
11963
+ class ItemThread
11964
+ include Google::Apis::Core::Hashable
11965
+
11966
+ # ClusterInfo contains clustering related information for a particular thread
11967
+ # that would be sent as part of the conversation view. Today, this information
11968
+ # would be used by iOS notification server to identify whether the thread
11969
+ # belongs to a cluster. If the thread belongs to a grouped cluster, it would
11970
+ # identify whether the cluster is throttled.
11971
+ # Corresponds to the JSON property `clusterInfo`
11972
+ # @return [Google::Apis::CloudsearchV1::ClusterInfo]
11973
+ attr_accessor :cluster_info
11974
+
11975
+ # The Items in the ItemThread. In the context of a search, the list of Items may
11976
+ # be a subset of those that logically belong to the ItemThread. The details of
11977
+ # which items are included are available in the ItemThreadView returned in the
11978
+ # overall rpc response.
11979
+ # Corresponds to the JSON property `item`
11980
+ # @return [Array<Google::Apis::CloudsearchV1::FuseboxItem>]
11981
+ attr_accessor :item
11982
+
11983
+ # The server id of the last item returned in the ItemThread. This can be deduced
11984
+ # from the [item] list but is provided for convenience. When manually
11985
+ # constructing an ItemThreadViewSpec to perform operations on the ItemThread,
11986
+ # this value can be used as the [high_item_id_watermark].
11987
+ # Corresponds to the JSON property `lastItemId`
11988
+ # @return [Fixnum]
11989
+ attr_accessor :last_item_id
11990
+
11991
+ # In the context of a search, the MatchInfo contains information about which
11992
+ # Items matched the query.
11993
+ # Corresponds to the JSON property `matchInfo`
11994
+ # @return [Google::Apis::CloudsearchV1::FuseboxItemThreadMatchInfo]
11995
+ attr_accessor :match_info
11996
+
11997
+ # A snippet summarizing the thread. This field is only populated for searches.
11998
+ # Corresponds to the JSON property `snippet`
11999
+ # @return [String]
12000
+ attr_accessor :snippet
12001
+
12002
+ # A union-like type for identifiying an object in storage. MultiKeys contain
12003
+ # multiple key fields, each in a separate key space. At least one key field must
12004
+ # be set. More than one key field may be set as long as all key values refer to
12005
+ # the same object. All objects in storage have unique server_id keys. All
12006
+ # MultiKeys returned from storage to storage clients will always have the
12007
+ # server_id field set. When creating an object, if a MultiKey without a
12008
+ # server_id is supplied to storage, the storage system will auto-assign a server
12009
+ # ID to the new object. For all other storage requests (i.e. those not creating
12010
+ # new objects), clients may omit server_id (as long as they supply another key).
12011
+ # Instead of server ids, clients can specify string based
12012
+ # client_assigned_perm_id keys. Mail message drafts are a prime example of these
12013
+ # kinds of objects. Each time a user saves a new version of a draft, the storage
12014
+ # system needs to create a new object with the updated draft content and needs
12015
+ # to delete the object containing the old content. The new object gets a new
12016
+ # SERVER_ID but should get the same CLIENT_ASSIGNED_PERM_ID as the now-deleted
12017
+ # object containing the old content. Carrying forward the perm ID allows it to
12018
+ # be used to consistently refer to the same logical object across revisions.
12019
+ # These perm IDs save sync clients from having to deal with changing object IDs.
12020
+ # For example, assume there's a mail message in storage with SERVER_ID = 123 and
12021
+ # CLIENT_ASSIGNED_PERM_ID = "foo". The following are all valid ways of
12022
+ # addressing the object using MultiKeys: 1) MultiKey ` server_id = 123 ` 2)
12023
+ # MultiKey ` server_id = 123, client_assigned_perm_id = "foo" ` 3) MultiKey `
12024
+ # client_assigned_perm_id = "foo" ` Multikeys are never serialized in the
12025
+ # storage. The individual keys are extracted and processed separately. Both the
12026
+ # integer ids as well as string ids are indexed for efficient retrieval using
12027
+ # the same fields in the backend. See go/tingle-multikeys for more information
12028
+ # on background and motivation.
12029
+ # Corresponds to the JSON property `threadKey`
12030
+ # @return [Google::Apis::CloudsearchV1::MultiKey]
12031
+ attr_accessor :thread_key
12032
+
12033
+ # A base64 encoded and encrypted string generated from the Gaia Id and the
12034
+ # thread id. Used to generate the permalink for this thread, exposed from Gmail
12035
+ # API.
12036
+ # Corresponds to the JSON property `threadLocator`
12037
+ # @return [String]
12038
+ attr_accessor :thread_locator
12039
+
12040
+ # State of an topic thread as maintained within Tingle.
12041
+ # Corresponds to the JSON property `topicState`
12042
+ # @return [Google::Apis::CloudsearchV1::TopicState]
12043
+ attr_accessor :topic_state
12044
+
12045
+ # The latest history operation id that resulted in a mutation of any item in the
12046
+ # thread.
12047
+ # Corresponds to the JSON property `version`
12048
+ # @return [Fixnum]
12049
+ attr_accessor :version
12050
+
12051
+ def initialize(**args)
12052
+ update!(**args)
12053
+ end
12054
+
12055
+ # Update properties of this object
12056
+ def update!(**args)
12057
+ @cluster_info = args[:cluster_info] if args.key?(:cluster_info)
12058
+ @item = args[:item] if args.key?(:item)
12059
+ @last_item_id = args[:last_item_id] if args.key?(:last_item_id)
12060
+ @match_info = args[:match_info] if args.key?(:match_info)
12061
+ @snippet = args[:snippet] if args.key?(:snippet)
12062
+ @thread_key = args[:thread_key] if args.key?(:thread_key)
12063
+ @thread_locator = args[:thread_locator] if args.key?(:thread_locator)
12064
+ @topic_state = args[:topic_state] if args.key?(:topic_state)
12065
+ @version = args[:version] if args.key?(:version)
12066
+ end
12067
+ end
12068
+
12069
+ # Identifies a jobsetted server as a target for Trigger dispatch.
12070
+ class JobsettedServerSpec
12071
+ include Google::Apis::Core::Hashable
12072
+
12073
+ # E.g. "gateway", "stubby" etc. Leave unset to use the default unnamed port.
12074
+ # Corresponds to the JSON property `portName`
12075
+ # @return [String]
12076
+ attr_accessor :port_name
12077
+
12078
+ # E.g. "satellite-server", "bigtop-sync", etc.
12079
+ # Corresponds to the JSON property `serverName`
12080
+ # @return [String]
12081
+ attr_accessor :server_name
12082
+
12083
+ def initialize(**args)
12084
+ update!(**args)
12085
+ end
12086
+
12087
+ # Update properties of this object
12088
+ def update!(**args)
12089
+ @port_name = args[:port_name] if args.key?(:port_name)
12090
+ @server_name = args[:server_name] if args.key?(:server_name)
12091
+ end
12092
+ end
12093
+
11021
12094
  #
11022
12095
  class KeyValue
11023
12096
  include Google::Apis::Core::Hashable
@@ -11110,6 +12183,220 @@ module Google
11110
12183
  end
11111
12184
  end
11112
12185
 
12186
+ # A label was added to some (subset of the) messages in this thread.
12187
+ class LabelAdded
12188
+ include Google::Apis::Core::Hashable
12189
+
12190
+ #
12191
+ # Corresponds to the JSON property `labelId`
12192
+ # @return [String]
12193
+ attr_accessor :label_id
12194
+
12195
+ #
12196
+ # Corresponds to the JSON property `labelName`
12197
+ # @return [String]
12198
+ attr_accessor :label_name
12199
+
12200
+ #
12201
+ # Corresponds to the JSON property `messageKeys`
12202
+ # @return [Array<Google::Apis::CloudsearchV1::MultiKey>]
12203
+ attr_accessor :message_keys
12204
+
12205
+ #
12206
+ # Corresponds to the JSON property `syncId`
12207
+ # @return [Fixnum]
12208
+ attr_accessor :sync_id
12209
+
12210
+ def initialize(**args)
12211
+ update!(**args)
12212
+ end
12213
+
12214
+ # Update properties of this object
12215
+ def update!(**args)
12216
+ @label_id = args[:label_id] if args.key?(:label_id)
12217
+ @label_name = args[:label_name] if args.key?(:label_name)
12218
+ @message_keys = args[:message_keys] if args.key?(:message_keys)
12219
+ @sync_id = args[:sync_id] if args.key?(:sync_id)
12220
+ end
12221
+ end
12222
+
12223
+ # A label was created.
12224
+ class LabelCreated
12225
+ include Google::Apis::Core::Hashable
12226
+
12227
+ def initialize(**args)
12228
+ update!(**args)
12229
+ end
12230
+
12231
+ # Update properties of this object
12232
+ def update!(**args)
12233
+ end
12234
+ end
12235
+
12236
+ # A label was deleted.
12237
+ class LabelDeleted
12238
+ include Google::Apis::Core::Hashable
12239
+
12240
+ def initialize(**args)
12241
+ update!(**args)
12242
+ end
12243
+
12244
+ # Update properties of this object
12245
+ def update!(**args)
12246
+ end
12247
+ end
12248
+
12249
+ # A label was removed from some (subset of the) messages in this thread.
12250
+ class LabelRemoved
12251
+ include Google::Apis::Core::Hashable
12252
+
12253
+ #
12254
+ # Corresponds to the JSON property `labelId`
12255
+ # @return [String]
12256
+ attr_accessor :label_id
12257
+
12258
+ #
12259
+ # Corresponds to the JSON property `labelName`
12260
+ # @return [String]
12261
+ attr_accessor :label_name
12262
+
12263
+ #
12264
+ # Corresponds to the JSON property `messageKeys`
12265
+ # @return [Array<Google::Apis::CloudsearchV1::MultiKey>]
12266
+ attr_accessor :message_keys
12267
+
12268
+ #
12269
+ # Corresponds to the JSON property `syncId`
12270
+ # @return [Fixnum]
12271
+ attr_accessor :sync_id
12272
+
12273
+ def initialize(**args)
12274
+ update!(**args)
12275
+ end
12276
+
12277
+ # Update properties of this object
12278
+ def update!(**args)
12279
+ @label_id = args[:label_id] if args.key?(:label_id)
12280
+ @label_name = args[:label_name] if args.key?(:label_name)
12281
+ @message_keys = args[:message_keys] if args.key?(:message_keys)
12282
+ @sync_id = args[:sync_id] if args.key?(:sync_id)
12283
+ end
12284
+ end
12285
+
12286
+ # A label was renamed.
12287
+ class LabelRenamed
12288
+ include Google::Apis::Core::Hashable
12289
+
12290
+ #
12291
+ # Corresponds to the JSON property `oldCanonicalName`
12292
+ # @return [String]
12293
+ attr_accessor :old_canonical_name
12294
+
12295
+ def initialize(**args)
12296
+ update!(**args)
12297
+ end
12298
+
12299
+ # Update properties of this object
12300
+ def update!(**args)
12301
+ @old_canonical_name = args[:old_canonical_name] if args.key?(:old_canonical_name)
12302
+ end
12303
+ end
12304
+
12305
+ # HistoryRecord for changes associated with a label, namely: LABEL_CREATED
12306
+ # LABEL_DELETED LABEL_RENAMED LABEL_UPDATED
12307
+ class LabelUpdate
12308
+ include Google::Apis::Core::Hashable
12309
+
12310
+ #
12311
+ # Corresponds to the JSON property `canonicalName`
12312
+ # @return [String]
12313
+ attr_accessor :canonical_name
12314
+
12315
+ # A label was created.
12316
+ # Corresponds to the JSON property `labelCreated`
12317
+ # @return [Google::Apis::CloudsearchV1::LabelCreated]
12318
+ attr_accessor :label_created
12319
+
12320
+ # A label was deleted.
12321
+ # Corresponds to the JSON property `labelDeleted`
12322
+ # @return [Google::Apis::CloudsearchV1::LabelDeleted]
12323
+ attr_accessor :label_deleted
12324
+
12325
+ #
12326
+ # Corresponds to the JSON property `labelId`
12327
+ # @return [String]
12328
+ attr_accessor :label_id
12329
+
12330
+ # A label was renamed.
12331
+ # Corresponds to the JSON property `labelRenamed`
12332
+ # @return [Google::Apis::CloudsearchV1::LabelRenamed]
12333
+ attr_accessor :label_renamed
12334
+
12335
+ # A label pref was updated outside of a rename, create, or delete.
12336
+ # Corresponds to the JSON property `labelUpdated`
12337
+ # @return [Google::Apis::CloudsearchV1::LabelUpdated]
12338
+ attr_accessor :label_updated
12339
+
12340
+ #
12341
+ # Corresponds to the JSON property `syncId`
12342
+ # @return [Fixnum]
12343
+ attr_accessor :sync_id
12344
+
12345
+ def initialize(**args)
12346
+ update!(**args)
12347
+ end
12348
+
12349
+ # Update properties of this object
12350
+ def update!(**args)
12351
+ @canonical_name = args[:canonical_name] if args.key?(:canonical_name)
12352
+ @label_created = args[:label_created] if args.key?(:label_created)
12353
+ @label_deleted = args[:label_deleted] if args.key?(:label_deleted)
12354
+ @label_id = args[:label_id] if args.key?(:label_id)
12355
+ @label_renamed = args[:label_renamed] if args.key?(:label_renamed)
12356
+ @label_updated = args[:label_updated] if args.key?(:label_updated)
12357
+ @sync_id = args[:sync_id] if args.key?(:sync_id)
12358
+ end
12359
+ end
12360
+
12361
+ # A label pref was updated outside of a rename, create, or delete.
12362
+ class LabelUpdated
12363
+ include Google::Apis::Core::Hashable
12364
+
12365
+ def initialize(**args)
12366
+ update!(**args)
12367
+ end
12368
+
12369
+ # Update properties of this object
12370
+ def update!(**args)
12371
+ end
12372
+ end
12373
+
12374
+ #
12375
+ class Labels
12376
+ include Google::Apis::Core::Hashable
12377
+
12378
+ # The display name of the labels. This is populated (instead of the id) when the
12379
+ # request fetch_spec has LABEL_DISPLAY_NAMES.
12380
+ # Corresponds to the JSON property `displayName`
12381
+ # @return [Array<String>]
12382
+ attr_accessor :display_name
12383
+
12384
+ # The ids of the labels attached to the Item, e.g. "^i", "^x_1"
12385
+ # Corresponds to the JSON property `id`
12386
+ # @return [Array<String>]
12387
+ attr_accessor :id
12388
+
12389
+ def initialize(**args)
12390
+ update!(**args)
12391
+ end
12392
+
12393
+ # Update properties of this object
12394
+ def update!(**args)
12395
+ @display_name = args[:display_name] if args.key?(:display_name)
12396
+ @id = args[:id] if args.key?(:id)
12397
+ end
12398
+ end
12399
+
11113
12400
  # The language configuration for the session.
11114
12401
  class LanguageConfig
11115
12402
  include Google::Apis::Core::Hashable
@@ -11436,8 +12723,27 @@ module Google
11436
12723
 
11437
12724
  # Update properties of this object
11438
12725
  def update!(**args)
11439
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
11440
- @unmapped_identities = args[:unmapped_identities] if args.key?(:unmapped_identities)
12726
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
12727
+ @unmapped_identities = args[:unmapped_identities] if args.key?(:unmapped_identities)
12728
+ end
12729
+ end
12730
+
12731
+ #
12732
+ class MatchInfo
12733
+ include Google::Apis::Core::Hashable
12734
+
12735
+ # Reference keys for image attachments that matches search query.
12736
+ # Corresponds to the JSON property `matchingImageReferenceKey`
12737
+ # @return [Array<String>]
12738
+ attr_accessor :matching_image_reference_key
12739
+
12740
+ def initialize(**args)
12741
+ update!(**args)
12742
+ end
12743
+
12744
+ # Update properties of this object
12745
+ def update!(**args)
12746
+ @matching_image_reference_key = args[:matching_image_reference_key] if args.key?(:matching_image_reference_key)
11441
12747
  end
11442
12748
  end
11443
12749
 
@@ -12106,6 +13412,14 @@ module Google
12106
13412
  # @return [Google::Apis::CloudsearchV1::AppsDynamiteSharedRetentionSettings]
12107
13413
  attr_accessor :retention_settings
12108
13414
 
13415
+ # Used by clients to correctly log format type for message creation due to
13416
+ # complexity with client side optimistic update (see go/content-metric-post-send-
13417
+ # logging for details). Currently, only set by server in the message or topic
13418
+ # creation path.
13419
+ # Corresponds to the JSON property `richTextFormattingType`
13420
+ # @return [String]
13421
+ attr_accessor :rich_text_formatting_type
13422
+
12109
13423
  # A client-specified string that can be used to uniquely identify a message in a
12110
13424
  # space, in lieu of `id.message_id`.
12111
13425
  # Corresponds to the JSON property `secondaryMessageKey`
@@ -12177,6 +13491,7 @@ module Google
12177
13491
  @reactions = args[:reactions] if args.key?(:reactions)
12178
13492
  @reports = args[:reports] if args.key?(:reports)
12179
13493
  @retention_settings = args[:retention_settings] if args.key?(:retention_settings)
13494
+ @rich_text_formatting_type = args[:rich_text_formatting_type] if args.key?(:rich_text_formatting_type)
12180
13495
  @secondary_message_key = args[:secondary_message_key] if args.key?(:secondary_message_key)
12181
13496
  @text_body = args[:text_body] if args.key?(:text_body)
12182
13497
  @tombstone_metadata = args[:tombstone_metadata] if args.key?(:tombstone_metadata)
@@ -12185,6 +13500,69 @@ module Google
12185
13500
  end
12186
13501
  end
12187
13502
 
13503
+ # A message was added. Specifying id and initial labels.
13504
+ class MessageAdded
13505
+ include Google::Apis::Core::Hashable
13506
+
13507
+ #
13508
+ # Corresponds to the JSON property `attributeIds`
13509
+ # @return [Array<String>]
13510
+ attr_accessor :attribute_ids
13511
+
13512
+ #
13513
+ # Corresponds to the JSON property `labelIds`
13514
+ # @return [Array<String>]
13515
+ attr_accessor :label_ids
13516
+
13517
+ # A union-like type for identifiying an object in storage. MultiKeys contain
13518
+ # multiple key fields, each in a separate key space. At least one key field must
13519
+ # be set. More than one key field may be set as long as all key values refer to
13520
+ # the same object. All objects in storage have unique server_id keys. All
13521
+ # MultiKeys returned from storage to storage clients will always have the
13522
+ # server_id field set. When creating an object, if a MultiKey without a
13523
+ # server_id is supplied to storage, the storage system will auto-assign a server
13524
+ # ID to the new object. For all other storage requests (i.e. those not creating
13525
+ # new objects), clients may omit server_id (as long as they supply another key).
13526
+ # Instead of server ids, clients can specify string based
13527
+ # client_assigned_perm_id keys. Mail message drafts are a prime example of these
13528
+ # kinds of objects. Each time a user saves a new version of a draft, the storage
13529
+ # system needs to create a new object with the updated draft content and needs
13530
+ # to delete the object containing the old content. The new object gets a new
13531
+ # SERVER_ID but should get the same CLIENT_ASSIGNED_PERM_ID as the now-deleted
13532
+ # object containing the old content. Carrying forward the perm ID allows it to
13533
+ # be used to consistently refer to the same logical object across revisions.
13534
+ # These perm IDs save sync clients from having to deal with changing object IDs.
13535
+ # For example, assume there's a mail message in storage with SERVER_ID = 123 and
13536
+ # CLIENT_ASSIGNED_PERM_ID = "foo". The following are all valid ways of
13537
+ # addressing the object using MultiKeys: 1) MultiKey ` server_id = 123 ` 2)
13538
+ # MultiKey ` server_id = 123, client_assigned_perm_id = "foo" ` 3) MultiKey `
13539
+ # client_assigned_perm_id = "foo" ` Multikeys are never serialized in the
13540
+ # storage. The individual keys are extracted and processed separately. Both the
13541
+ # integer ids as well as string ids are indexed for efficient retrieval using
13542
+ # the same fields in the backend. See go/tingle-multikeys for more information
13543
+ # on background and motivation.
13544
+ # Corresponds to the JSON property `messageKey`
13545
+ # @return [Google::Apis::CloudsearchV1::MultiKey]
13546
+ attr_accessor :message_key
13547
+
13548
+ # Note that there can be fewer sync ids than label ids.
13549
+ # Corresponds to the JSON property `syncIds`
13550
+ # @return [Array<Fixnum>]
13551
+ attr_accessor :sync_ids
13552
+
13553
+ def initialize(**args)
13554
+ update!(**args)
13555
+ end
13556
+
13557
+ # Update properties of this object
13558
+ def update!(**args)
13559
+ @attribute_ids = args[:attribute_ids] if args.key?(:attribute_ids)
13560
+ @label_ids = args[:label_ids] if args.key?(:label_ids)
13561
+ @message_key = args[:message_key] if args.key?(:message_key)
13562
+ @sync_ids = args[:sync_ids] if args.key?(:sync_ids)
13563
+ end
13564
+ end
13565
+
12188
13566
  # Stores tombstone message attributes: go/tombstone-message-attributes-overview
12189
13567
  class MessageAttributes
12190
13568
  include Google::Apis::Core::Hashable
@@ -12205,6 +13583,32 @@ module Google
12205
13583
  end
12206
13584
  end
12207
13585
 
13586
+ # Some (subset of the) messages in this thread were deleted.
13587
+ class MessageDeleted
13588
+ include Google::Apis::Core::Hashable
13589
+
13590
+ # Value of coproc's message delete history record extension that exports /
13591
+ # imapsync/folder attribute of deleted messages which have ^is label.
13592
+ # Corresponds to the JSON property `imapSyncMappings`
13593
+ # @return [Array<Google::Apis::CloudsearchV1::ImapSyncDelete>]
13594
+ attr_accessor :imap_sync_mappings
13595
+
13596
+ #
13597
+ # Corresponds to the JSON property `messageKeys`
13598
+ # @return [Array<Google::Apis::CloudsearchV1::MultiKey>]
13599
+ attr_accessor :message_keys
13600
+
13601
+ def initialize(**args)
13602
+ update!(**args)
13603
+ end
13604
+
13605
+ # Update properties of this object
13606
+ def update!(**args)
13607
+ @imap_sync_mappings = args[:imap_sync_mappings] if args.key?(:imap_sync_mappings)
13608
+ @message_keys = args[:message_keys] if args.key?(:message_keys)
13609
+ end
13610
+ end
13611
+
12208
13612
  # Primary key for Message resource.
12209
13613
  class MessageId
12210
13614
  include Google::Apis::Core::Hashable
@@ -12303,6 +13707,19 @@ module Google
12303
13707
  end
12304
13708
  end
12305
13709
 
13710
+ # This is proto2's version of MessageSet.
13711
+ class MessageSet
13712
+ include Google::Apis::Core::Hashable
13713
+
13714
+ def initialize(**args)
13715
+ update!(**args)
13716
+ end
13717
+
13718
+ # Update properties of this object
13719
+ def update!(**args)
13720
+ end
13721
+ end
13722
+
12306
13723
  # Metadata of a matched search result.
12307
13724
  class Metadata
12308
13725
  include Google::Apis::Core::Hashable
@@ -12394,6 +13811,59 @@ module Google
12394
13811
  end
12395
13812
  end
12396
13813
 
13814
+ # A union-like type for identifiying an object in storage. MultiKeys contain
13815
+ # multiple key fields, each in a separate key space. At least one key field must
13816
+ # be set. More than one key field may be set as long as all key values refer to
13817
+ # the same object. All objects in storage have unique server_id keys. All
13818
+ # MultiKeys returned from storage to storage clients will always have the
13819
+ # server_id field set. When creating an object, if a MultiKey without a
13820
+ # server_id is supplied to storage, the storage system will auto-assign a server
13821
+ # ID to the new object. For all other storage requests (i.e. those not creating
13822
+ # new objects), clients may omit server_id (as long as they supply another key).
13823
+ # Instead of server ids, clients can specify string based
13824
+ # client_assigned_perm_id keys. Mail message drafts are a prime example of these
13825
+ # kinds of objects. Each time a user saves a new version of a draft, the storage
13826
+ # system needs to create a new object with the updated draft content and needs
13827
+ # to delete the object containing the old content. The new object gets a new
13828
+ # SERVER_ID but should get the same CLIENT_ASSIGNED_PERM_ID as the now-deleted
13829
+ # object containing the old content. Carrying forward the perm ID allows it to
13830
+ # be used to consistently refer to the same logical object across revisions.
13831
+ # These perm IDs save sync clients from having to deal with changing object IDs.
13832
+ # For example, assume there's a mail message in storage with SERVER_ID = 123 and
13833
+ # CLIENT_ASSIGNED_PERM_ID = "foo". The following are all valid ways of
13834
+ # addressing the object using MultiKeys: 1) MultiKey ` server_id = 123 ` 2)
13835
+ # MultiKey ` server_id = 123, client_assigned_perm_id = "foo" ` 3) MultiKey `
13836
+ # client_assigned_perm_id = "foo" ` Multikeys are never serialized in the
13837
+ # storage. The individual keys are extracted and processed separately. Both the
13838
+ # integer ids as well as string ids are indexed for efficient retrieval using
13839
+ # the same fields in the backend. See go/tingle-multikeys for more information
13840
+ # on background and motivation.
13841
+ class MultiKey
13842
+ include Google::Apis::Core::Hashable
13843
+
13844
+ # A client-assigned string based key.
13845
+ # Corresponds to the JSON property `clientAssignedPermId`
13846
+ # @return [String]
13847
+ attr_accessor :client_assigned_perm_id
13848
+
13849
+ # A server-assigned ID. This ID must be used only by Gmail and is constructed
13850
+ # using millesecond ts << 20 + randomness. The ID affects the sort order of the
13851
+ # index.
13852
+ # Corresponds to the JSON property `serverId`
13853
+ # @return [Fixnum]
13854
+ attr_accessor :server_id
13855
+
13856
+ def initialize(**args)
13857
+ update!(**args)
13858
+ end
13859
+
13860
+ # Update properties of this object
13861
+ def update!(**args)
13862
+ @client_assigned_perm_id = args[:client_assigned_perm_id] if args.key?(:client_assigned_perm_id)
13863
+ @server_id = args[:server_id] if args.key?(:server_id)
13864
+ end
13865
+ end
13866
+
12397
13867
  # A person's name.
12398
13868
  class Name
12399
13869
  include Google::Apis::Core::Hashable
@@ -12850,6 +14320,37 @@ module Google
12850
14320
  end
12851
14321
  end
12852
14322
 
14323
+ #
14324
+ class OsVersion
14325
+ include Google::Apis::Core::Hashable
14326
+
14327
+ #
14328
+ # Corresponds to the JSON property `majorVersion`
14329
+ # @return [Fixnum]
14330
+ attr_accessor :major_version
14331
+
14332
+ #
14333
+ # Corresponds to the JSON property `minorVersion`
14334
+ # @return [Fixnum]
14335
+ attr_accessor :minor_version
14336
+
14337
+ #
14338
+ # Corresponds to the JSON property `tertiaryVersion`
14339
+ # @return [Fixnum]
14340
+ attr_accessor :tertiary_version
14341
+
14342
+ def initialize(**args)
14343
+ update!(**args)
14344
+ end
14345
+
14346
+ # Update properties of this object
14347
+ def update!(**args)
14348
+ @major_version = args[:major_version] if args.key?(:major_version)
14349
+ @minor_version = args[:minor_version] if args.key?(:minor_version)
14350
+ @tertiary_version = args[:tertiary_version] if args.key?(:tertiary_version)
14351
+ end
14352
+ end
14353
+
12853
14354
  #
12854
14355
  class OtrChatMessageEvent
12855
14356
  include Google::Apis::Core::Hashable
@@ -13271,6 +14772,33 @@ module Google
13271
14772
  end
13272
14773
  end
13273
14774
 
14775
+ # This message contains either the device model, or a prefix of the device model
14776
+ # (AKA a trimmed device model). The "is_trimmed" field indicates which one it is.
14777
+ class PossiblyTrimmedModel
14778
+ include Google::Apis::Core::Hashable
14779
+
14780
+ #
14781
+ # Corresponds to the JSON property `isTrimmed`
14782
+ # @return [Boolean]
14783
+ attr_accessor :is_trimmed
14784
+ alias_method :is_trimmed?, :is_trimmed
14785
+
14786
+ #
14787
+ # Corresponds to the JSON property `model`
14788
+ # @return [String]
14789
+ attr_accessor :model
14790
+
14791
+ def initialize(**args)
14792
+ update!(**args)
14793
+ end
14794
+
14795
+ # Update properties of this object
14796
+ def update!(**args)
14797
+ @is_trimmed = args[:is_trimmed] if args.key?(:is_trimmed)
14798
+ @model = args[:model] if args.key?(:model)
14799
+ end
14800
+ end
14801
+
13274
14802
  # See http://s/?fileprint=//depot/google3/security/authentication/postini/
13275
14803
  # auth_token.proto
13276
14804
  class PostiniUserProto
@@ -13291,6 +14819,167 @@ module Google
13291
14819
  end
13292
14820
  end
13293
14821
 
14822
+ # State of the thread previous to the update. This really just describes the
14823
+ # label state of all messages before the update.
14824
+ class PreState
14825
+ include Google::Apis::Core::Hashable
14826
+
14827
+ #
14828
+ # Corresponds to the JSON property `labelIds`
14829
+ # @return [Array<String>]
14830
+ attr_accessor :label_ids
14831
+
14832
+ # A union-like type for identifiying an object in storage. MultiKeys contain
14833
+ # multiple key fields, each in a separate key space. At least one key field must
14834
+ # be set. More than one key field may be set as long as all key values refer to
14835
+ # the same object. All objects in storage have unique server_id keys. All
14836
+ # MultiKeys returned from storage to storage clients will always have the
14837
+ # server_id field set. When creating an object, if a MultiKey without a
14838
+ # server_id is supplied to storage, the storage system will auto-assign a server
14839
+ # ID to the new object. For all other storage requests (i.e. those not creating
14840
+ # new objects), clients may omit server_id (as long as they supply another key).
14841
+ # Instead of server ids, clients can specify string based
14842
+ # client_assigned_perm_id keys. Mail message drafts are a prime example of these
14843
+ # kinds of objects. Each time a user saves a new version of a draft, the storage
14844
+ # system needs to create a new object with the updated draft content and needs
14845
+ # to delete the object containing the old content. The new object gets a new
14846
+ # SERVER_ID but should get the same CLIENT_ASSIGNED_PERM_ID as the now-deleted
14847
+ # object containing the old content. Carrying forward the perm ID allows it to
14848
+ # be used to consistently refer to the same logical object across revisions.
14849
+ # These perm IDs save sync clients from having to deal with changing object IDs.
14850
+ # For example, assume there's a mail message in storage with SERVER_ID = 123 and
14851
+ # CLIENT_ASSIGNED_PERM_ID = "foo". The following are all valid ways of
14852
+ # addressing the object using MultiKeys: 1) MultiKey ` server_id = 123 ` 2)
14853
+ # MultiKey ` server_id = 123, client_assigned_perm_id = "foo" ` 3) MultiKey `
14854
+ # client_assigned_perm_id = "foo" ` Multikeys are never serialized in the
14855
+ # storage. The individual keys are extracted and processed separately. Both the
14856
+ # integer ids as well as string ids are indexed for efficient retrieval using
14857
+ # the same fields in the backend. See go/tingle-multikeys for more information
14858
+ # on background and motivation.
14859
+ # Corresponds to the JSON property `messageKey`
14860
+ # @return [Google::Apis::CloudsearchV1::MultiKey]
14861
+ attr_accessor :message_key
14862
+
14863
+ # Note that there can be fewer sync ids than label ids.
14864
+ # Corresponds to the JSON property `syncIds`
14865
+ # @return [Array<Fixnum>]
14866
+ attr_accessor :sync_ids
14867
+
14868
+ # A union-like type for identifiying an object in storage. MultiKeys contain
14869
+ # multiple key fields, each in a separate key space. At least one key field must
14870
+ # be set. More than one key field may be set as long as all key values refer to
14871
+ # the same object. All objects in storage have unique server_id keys. All
14872
+ # MultiKeys returned from storage to storage clients will always have the
14873
+ # server_id field set. When creating an object, if a MultiKey without a
14874
+ # server_id is supplied to storage, the storage system will auto-assign a server
14875
+ # ID to the new object. For all other storage requests (i.e. those not creating
14876
+ # new objects), clients may omit server_id (as long as they supply another key).
14877
+ # Instead of server ids, clients can specify string based
14878
+ # client_assigned_perm_id keys. Mail message drafts are a prime example of these
14879
+ # kinds of objects. Each time a user saves a new version of a draft, the storage
14880
+ # system needs to create a new object with the updated draft content and needs
14881
+ # to delete the object containing the old content. The new object gets a new
14882
+ # SERVER_ID but should get the same CLIENT_ASSIGNED_PERM_ID as the now-deleted
14883
+ # object containing the old content. Carrying forward the perm ID allows it to
14884
+ # be used to consistently refer to the same logical object across revisions.
14885
+ # These perm IDs save sync clients from having to deal with changing object IDs.
14886
+ # For example, assume there's a mail message in storage with SERVER_ID = 123 and
14887
+ # CLIENT_ASSIGNED_PERM_ID = "foo". The following are all valid ways of
14888
+ # addressing the object using MultiKeys: 1) MultiKey ` server_id = 123 ` 2)
14889
+ # MultiKey ` server_id = 123, client_assigned_perm_id = "foo" ` 3) MultiKey `
14890
+ # client_assigned_perm_id = "foo" ` Multikeys are never serialized in the
14891
+ # storage. The individual keys are extracted and processed separately. Both the
14892
+ # integer ids as well as string ids are indexed for efficient retrieval using
14893
+ # the same fields in the backend. See go/tingle-multikeys for more information
14894
+ # on background and motivation.
14895
+ # Corresponds to the JSON property `threadKey`
14896
+ # @return [Google::Apis::CloudsearchV1::MultiKey]
14897
+ attr_accessor :thread_key
14898
+
14899
+ def initialize(**args)
14900
+ update!(**args)
14901
+ end
14902
+
14903
+ # Update properties of this object
14904
+ def update!(**args)
14905
+ @label_ids = args[:label_ids] if args.key?(:label_ids)
14906
+ @message_key = args[:message_key] if args.key?(:message_key)
14907
+ @sync_ids = args[:sync_ids] if args.key?(:sync_ids)
14908
+ @thread_key = args[:thread_key] if args.key?(:thread_key)
14909
+ end
14910
+ end
14911
+
14912
+ # PREF_DELETED
14913
+ class PrefDeleted
14914
+ include Google::Apis::Core::Hashable
14915
+
14916
+ def initialize(**args)
14917
+ update!(**args)
14918
+ end
14919
+
14920
+ # Update properties of this object
14921
+ def update!(**args)
14922
+ end
14923
+ end
14924
+
14925
+ # HistoryRecord for changes associated with prefs, namely: PREF_WRITTEN
14926
+ # PREF_DELETED
14927
+ class PrefUpdate
14928
+ include Google::Apis::Core::Hashable
14929
+
14930
+ # Name of the affected preference.
14931
+ # Corresponds to the JSON property `name`
14932
+ # @return [String]
14933
+ attr_accessor :name
14934
+
14935
+ # If the Value field is not set this means the pref did not exist.
14936
+ # Corresponds to the JSON property `preState`
14937
+ # @return [Google::Apis::CloudsearchV1::FuseboxPrefUpdatePreState]
14938
+ attr_accessor :pre_state
14939
+
14940
+ # PREF_DELETED
14941
+ # Corresponds to the JSON property `prefDeleted`
14942
+ # @return [Google::Apis::CloudsearchV1::PrefDeleted]
14943
+ attr_accessor :pref_deleted
14944
+
14945
+ # PREF_WRITTEN
14946
+ # Corresponds to the JSON property `prefWritten`
14947
+ # @return [Google::Apis::CloudsearchV1::PrefWritten]
14948
+ attr_accessor :pref_written
14949
+
14950
+ def initialize(**args)
14951
+ update!(**args)
14952
+ end
14953
+
14954
+ # Update properties of this object
14955
+ def update!(**args)
14956
+ @name = args[:name] if args.key?(:name)
14957
+ @pre_state = args[:pre_state] if args.key?(:pre_state)
14958
+ @pref_deleted = args[:pref_deleted] if args.key?(:pref_deleted)
14959
+ @pref_written = args[:pref_written] if args.key?(:pref_written)
14960
+ end
14961
+ end
14962
+
14963
+ # PREF_WRITTEN
14964
+ class PrefWritten
14965
+ include Google::Apis::Core::Hashable
14966
+
14967
+ #
14968
+ # Corresponds to the JSON property `value`
14969
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
14970
+ # @return [String]
14971
+ attr_accessor :value
14972
+
14973
+ def initialize(**args)
14974
+ update!(**args)
14975
+ end
14976
+
14977
+ # Update properties of this object
14978
+ def update!(**args)
14979
+ @value = args[:value] if args.key?(:value)
14980
+ end
14981
+ end
14982
+
13294
14983
  # Presenter contains information about which device is currently presenting as
13295
14984
  # well as which device requested the presenter to be set.
13296
14985
  class Presenter
@@ -13600,7 +15289,8 @@ module Google
13600
15289
  end
13601
15290
  end
13602
15291
 
13603
- # Private message information specific to a given user.
15292
+ # Private message information specific to a given user. DEPRECATED: Use the
15293
+ # privateMessageViewer field in CreateMessageInfo instead.
13604
15294
  class PrivateMessageInfo
13605
15295
  include Google::Apis::Core::Hashable
13606
15296
 
@@ -14431,6 +16121,38 @@ module Google
14431
16121
  end
14432
16122
  end
14433
16123
 
16124
+ # The rank contains a tuple of numbers which may be used as a general sort order.
16125
+ # The rank should be treated as an ordered set of numbers, where the ordering
16126
+ # is done in descending order of the most significant rank member. For example,
16127
+ # given the following ranks described as (primary, secondary): (1,1), (1,2), (2,
16128
+ # 2) (2,1) The descending rank-order is: (2,2) > (2,1) > (1,2) > (1,1)
16129
+ class Rank
16130
+ include Google::Apis::Core::Hashable
16131
+
16132
+ # The primary rank is the most significant rank member. This rank element should
16133
+ # always be present. Items with higher primary rank are always considered of
16134
+ # higher rank than those of lower primary rank.
16135
+ # Corresponds to the JSON property `primary`
16136
+ # @return [Fixnum]
16137
+ attr_accessor :primary
16138
+
16139
+ # The secondary rank may be used to rank items of identical primary rank. This
16140
+ # rank element should always be present.
16141
+ # Corresponds to the JSON property `secondary`
16142
+ # @return [Fixnum]
16143
+ attr_accessor :secondary
16144
+
16145
+ def initialize(**args)
16146
+ update!(**args)
16147
+ end
16148
+
16149
+ # Update properties of this object
16150
+ def update!(**args)
16151
+ @primary = args[:primary] if args.key?(:primary)
16152
+ @secondary = args[:secondary] if args.key?(:secondary)
16153
+ end
16154
+ end
16155
+
14434
16156
  # Principal associated with a given RBAC role. This principal is used by Sphinx
14435
16157
  # Provisioning Service for RBAC (go/cedi-auth) provisionable (go/sphinx-rbacz-
14436
16158
  # design).
@@ -14612,12 +16334,95 @@ module Google
14612
16334
  # @return [String]
14613
16335
  attr_accessor :recording_id
14614
16336
 
14615
- # The current status of the recording. This can be used by clients to show a
14616
- # recording dot or similar to indicated to the user that a recording is taking
14617
- # place.
14618
- # Corresponds to the JSON property `recordingStatus`
16337
+ # The current status of the recording. This can be used by clients to show a
16338
+ # recording dot or similar to indicated to the user that a recording is taking
16339
+ # place.
16340
+ # Corresponds to the JSON property `recordingStatus`
16341
+ # @return [String]
16342
+ attr_accessor :recording_status
16343
+
16344
+ def initialize(**args)
16345
+ update!(**args)
16346
+ end
16347
+
16348
+ # Update properties of this object
16349
+ def update!(**args)
16350
+ @latest_recording_event = args[:latest_recording_event] if args.key?(:latest_recording_event)
16351
+ @owner_display_name = args[:owner_display_name] if args.key?(:owner_display_name)
16352
+ @producer_device_id = args[:producer_device_id] if args.key?(:producer_device_id)
16353
+ @recording_application_type = args[:recording_application_type] if args.key?(:recording_application_type)
16354
+ @recording_id = args[:recording_id] if args.key?(:recording_id)
16355
+ @recording_status = args[:recording_status] if args.key?(:recording_status)
16356
+ end
16357
+ end
16358
+
16359
+ # Information about a recording session.
16360
+ class RecordingSessionInfo
16361
+ include Google::Apis::Core::Hashable
16362
+
16363
+ # Input only. Deprecated field, should not be used.
16364
+ # Corresponds to the JSON property `ownerEmail`
16365
+ # @return [String]
16366
+ attr_accessor :owner_email
16367
+
16368
+ # A unique server-generated ID for the recording session.
16369
+ # Corresponds to the JSON property `recordingSessionId`
16370
+ # @return [String]
16371
+ attr_accessor :recording_session_id
16372
+
16373
+ # Information about the state of a (recording, broadcast, transcription...)
16374
+ # session in a conference.
16375
+ # Corresponds to the JSON property `sessionStateInfo`
16376
+ # @return [Google::Apis::CloudsearchV1::SessionStateInfo]
16377
+ attr_accessor :session_state_info
16378
+
16379
+ def initialize(**args)
16380
+ update!(**args)
16381
+ end
16382
+
16383
+ # Update properties of this object
16384
+ def update!(**args)
16385
+ @owner_email = args[:owner_email] if args.key?(:owner_email)
16386
+ @recording_session_id = args[:recording_session_id] if args.key?(:recording_session_id)
16387
+ @session_state_info = args[:session_state_info] if args.key?(:session_state_info)
16388
+ end
16389
+ end
16390
+
16391
+ # All fields in this proto are now columns in spanner see google3/storage/slice/
16392
+ # production/gmail/user_data_tables.pi for documentation.
16393
+ class Reference
16394
+ include Google::Apis::Core::Hashable
16395
+
16396
+ #
16397
+ # Corresponds to the JSON property `blobId`
16398
+ # @return [String]
16399
+ attr_accessor :blob_id
16400
+
16401
+ #
16402
+ # Corresponds to the JSON property `contentType`
16403
+ # @return [String]
16404
+ attr_accessor :content_type
16405
+
16406
+ #
16407
+ # Corresponds to the JSON property `hash`
16408
+ # @return [String]
16409
+ attr_accessor :hash_prop
16410
+
16411
+ # LINT.IfChange
16412
+ # Corresponds to the JSON property `key`
16413
+ # @return [String]
16414
+ attr_accessor :key
16415
+
16416
+ # LINT.ThenChange(//depot/google3/storage/slice/production/gmail/
16417
+ # user_data_tables.pi)
16418
+ # Corresponds to the JSON property `name`
14619
16419
  # @return [String]
14620
- attr_accessor :recording_status
16420
+ attr_accessor :name
16421
+
16422
+ #
16423
+ # Corresponds to the JSON property `size`
16424
+ # @return [Fixnum]
16425
+ attr_accessor :size
14621
16426
 
14622
16427
  def initialize(**args)
14623
16428
  update!(**args)
@@ -14625,34 +16430,23 @@ module Google
14625
16430
 
14626
16431
  # Update properties of this object
14627
16432
  def update!(**args)
14628
- @latest_recording_event = args[:latest_recording_event] if args.key?(:latest_recording_event)
14629
- @owner_display_name = args[:owner_display_name] if args.key?(:owner_display_name)
14630
- @producer_device_id = args[:producer_device_id] if args.key?(:producer_device_id)
14631
- @recording_application_type = args[:recording_application_type] if args.key?(:recording_application_type)
14632
- @recording_id = args[:recording_id] if args.key?(:recording_id)
14633
- @recording_status = args[:recording_status] if args.key?(:recording_status)
16433
+ @blob_id = args[:blob_id] if args.key?(:blob_id)
16434
+ @content_type = args[:content_type] if args.key?(:content_type)
16435
+ @hash_prop = args[:hash_prop] if args.key?(:hash_prop)
16436
+ @key = args[:key] if args.key?(:key)
16437
+ @name = args[:name] if args.key?(:name)
16438
+ @size = args[:size] if args.key?(:size)
14634
16439
  end
14635
16440
  end
14636
16441
 
14637
- # Information about a recording session.
14638
- class RecordingSessionInfo
16442
+ #
16443
+ class References
14639
16444
  include Google::Apis::Core::Hashable
14640
16445
 
14641
- # Input only. Deprecated field, should not be used.
14642
- # Corresponds to the JSON property `ownerEmail`
14643
- # @return [String]
14644
- attr_accessor :owner_email
14645
-
14646
- # A unique server-generated ID for the recording session.
14647
- # Corresponds to the JSON property `recordingSessionId`
14648
- # @return [String]
14649
- attr_accessor :recording_session_id
14650
-
14651
- # Information about the state of a (recording, broadcast, transcription...)
14652
- # session in a conference.
14653
- # Corresponds to the JSON property `sessionStateInfo`
14654
- # @return [Google::Apis::CloudsearchV1::SessionStateInfo]
14655
- attr_accessor :session_state_info
16446
+ #
16447
+ # Corresponds to the JSON property `references`
16448
+ # @return [Array<Google::Apis::CloudsearchV1::Reference>]
16449
+ attr_accessor :references
14656
16450
 
14657
16451
  def initialize(**args)
14658
16452
  update!(**args)
@@ -14660,9 +16454,7 @@ module Google
14660
16454
 
14661
16455
  # Update properties of this object
14662
16456
  def update!(**args)
14663
- @owner_email = args[:owner_email] if args.key?(:owner_email)
14664
- @recording_session_id = args[:recording_session_id] if args.key?(:recording_session_id)
14665
- @session_state_info = args[:session_state_info] if args.key?(:session_state_info)
16457
+ @references = args[:references] if args.key?(:references)
14666
16458
  end
14667
16459
  end
14668
16460
 
@@ -15245,6 +17037,25 @@ module Google
15245
17037
  end
15246
17038
  end
15247
17039
 
17040
+ # Options for Triggers dispatched via RPC.
17041
+ class RpcOptions
17042
+ include Google::Apis::Core::Hashable
17043
+
17044
+ # This is proto2's version of MessageSet.
17045
+ # Corresponds to the JSON property `requestExtensions`
17046
+ # @return [Google::Apis::CloudsearchV1::MessageSet]
17047
+ attr_accessor :request_extensions
17048
+
17049
+ def initialize(**args)
17050
+ update!(**args)
17051
+ end
17052
+
17053
+ # Update properties of this object
17054
+ def update!(**args)
17055
+ @request_extensions = args[:request_extensions] if args.key?(:request_extensions)
17056
+ end
17057
+ end
17058
+
15248
17059
  # Message containing a string that is safe to use in URL contexts in DOM APIs
15249
17060
  # and HTML documents, where the URL context does not refer to a resource that
15250
17061
  # loads code.
@@ -15997,6 +17808,58 @@ module Google
15997
17808
  end
15998
17809
  end
15999
17810
 
17811
+ #
17812
+ class SessionContext
17813
+ include Google::Apis::Core::Hashable
17814
+
17815
+ # Time at which this activity's session was authenticated, in seconds since the
17816
+ # epoch.
17817
+ # Corresponds to the JSON property `authTime`
17818
+ # @return [Fixnum]
17819
+ attr_accessor :auth_time
17820
+
17821
+ # Gaia ID of the authenticated user when delegate access is active. In such
17822
+ # sessions the main gaia ID is that of the delegator, i.e. the account being
17823
+ # accessed.
17824
+ # Corresponds to the JSON property `delegateUserId`
17825
+ # @return [Fixnum]
17826
+ attr_accessor :delegate_user_id
17827
+
17828
+ # Device User Session ID, see go/dusi.
17829
+ # Corresponds to the JSON property `dusi`
17830
+ # @return [String]
17831
+ attr_accessor :dusi
17832
+
17833
+ # Imap session context for Bond/Gmail integration
17834
+ # Corresponds to the JSON property `imapSessionContext`
17835
+ # @return [Google::Apis::CloudsearchV1::ImapSessionContext]
17836
+ attr_accessor :imap_session_context
17837
+
17838
+ # OAuth login ID.
17839
+ # Corresponds to the JSON property `oauthLoginId`
17840
+ # @return [Fixnum]
17841
+ attr_accessor :oauth_login_id
17842
+
17843
+ # The devconsole project ID of the developer who authenticated with OAuth.
17844
+ # Corresponds to the JSON property `oauthProjectId`
17845
+ # @return [Fixnum]
17846
+ attr_accessor :oauth_project_id
17847
+
17848
+ def initialize(**args)
17849
+ update!(**args)
17850
+ end
17851
+
17852
+ # Update properties of this object
17853
+ def update!(**args)
17854
+ @auth_time = args[:auth_time] if args.key?(:auth_time)
17855
+ @delegate_user_id = args[:delegate_user_id] if args.key?(:delegate_user_id)
17856
+ @dusi = args[:dusi] if args.key?(:dusi)
17857
+ @imap_session_context = args[:imap_session_context] if args.key?(:imap_session_context)
17858
+ @oauth_login_id = args[:oauth_login_id] if args.key?(:oauth_login_id)
17859
+ @oauth_project_id = args[:oauth_project_id] if args.key?(:oauth_project_id)
17860
+ end
17861
+ end
17862
+
16000
17863
  # A session event is something that happens to the streaming session in a
16001
17864
  # conference.
16002
17865
  class SessionEvent
@@ -17066,6 +18929,11 @@ module Google
17066
18929
  # @return [String]
17067
18930
  attr_accessor :deletion_policy_url
17068
18931
 
18932
+ # Link to GWM page of the app. May be empty.
18933
+ # Corresponds to the JSON property `gwmUrl`
18934
+ # @return [String]
18935
+ attr_accessor :gwm_url
18936
+
17069
18937
  # Link to the privacy policy webpage for the bot. May be empty.
17070
18938
  # Corresponds to the JSON property `privacyPolicyUrl`
17071
18939
  # @return [String]
@@ -17094,6 +18962,7 @@ module Google
17094
18962
  def update!(**args)
17095
18963
  @admin_config_url = args[:admin_config_url] if args.key?(:admin_config_url)
17096
18964
  @deletion_policy_url = args[:deletion_policy_url] if args.key?(:deletion_policy_url)
18965
+ @gwm_url = args[:gwm_url] if args.key?(:gwm_url)
17097
18966
  @privacy_policy_url = args[:privacy_policy_url] if args.key?(:privacy_policy_url)
17098
18967
  @setup_url = args[:setup_url] if args.key?(:setup_url)
17099
18968
  @support_url = args[:support_url] if args.key?(:support_url)
@@ -17430,6 +19299,205 @@ module Google
17430
19299
  end
17431
19300
  end
17432
19301
 
19302
+ # The ThreadKey was set on some (subset of the) messages in this thread.
19303
+ class ThreadKeySet
19304
+ include Google::Apis::Core::Hashable
19305
+
19306
+ # Messages on which the thread_key was changed.
19307
+ # Corresponds to the JSON property `messageKeys`
19308
+ # @return [Array<Google::Apis::CloudsearchV1::MultiKey>]
19309
+ attr_accessor :message_keys
19310
+
19311
+ # A union-like type for identifiying an object in storage. MultiKeys contain
19312
+ # multiple key fields, each in a separate key space. At least one key field must
19313
+ # be set. More than one key field may be set as long as all key values refer to
19314
+ # the same object. All objects in storage have unique server_id keys. All
19315
+ # MultiKeys returned from storage to storage clients will always have the
19316
+ # server_id field set. When creating an object, if a MultiKey without a
19317
+ # server_id is supplied to storage, the storage system will auto-assign a server
19318
+ # ID to the new object. For all other storage requests (i.e. those not creating
19319
+ # new objects), clients may omit server_id (as long as they supply another key).
19320
+ # Instead of server ids, clients can specify string based
19321
+ # client_assigned_perm_id keys. Mail message drafts are a prime example of these
19322
+ # kinds of objects. Each time a user saves a new version of a draft, the storage
19323
+ # system needs to create a new object with the updated draft content and needs
19324
+ # to delete the object containing the old content. The new object gets a new
19325
+ # SERVER_ID but should get the same CLIENT_ASSIGNED_PERM_ID as the now-deleted
19326
+ # object containing the old content. Carrying forward the perm ID allows it to
19327
+ # be used to consistently refer to the same logical object across revisions.
19328
+ # These perm IDs save sync clients from having to deal with changing object IDs.
19329
+ # For example, assume there's a mail message in storage with SERVER_ID = 123 and
19330
+ # CLIENT_ASSIGNED_PERM_ID = "foo". The following are all valid ways of
19331
+ # addressing the object using MultiKeys: 1) MultiKey ` server_id = 123 ` 2)
19332
+ # MultiKey ` server_id = 123, client_assigned_perm_id = "foo" ` 3) MultiKey `
19333
+ # client_assigned_perm_id = "foo" ` Multikeys are never serialized in the
19334
+ # storage. The individual keys are extracted and processed separately. Both the
19335
+ # integer ids as well as string ids are indexed for efficient retrieval using
19336
+ # the same fields in the backend. See go/tingle-multikeys for more information
19337
+ # on background and motivation.
19338
+ # Corresponds to the JSON property `newThreadKey`
19339
+ # @return [Google::Apis::CloudsearchV1::MultiKey]
19340
+ attr_accessor :new_thread_key
19341
+
19342
+ def initialize(**args)
19343
+ update!(**args)
19344
+ end
19345
+
19346
+ # Update properties of this object
19347
+ def update!(**args)
19348
+ @message_keys = args[:message_keys] if args.key?(:message_keys)
19349
+ @new_thread_key = args[:new_thread_key] if args.key?(:new_thread_key)
19350
+ end
19351
+ end
19352
+
19353
+ # HistoryRecord for changes associated with a thread, namely: MESSAGE_ADDED
19354
+ # MESSAGE_DELETED LABEL_ADDED LABEL_REMOVED ATTRIBUTE_SET ATTRIBUTE_REMOVED
19355
+ # THREAD_KEY_SET All label_ids refer to the (unchanging) value as defined by the
19356
+ # Label.id field in labels.proto. In particular, it is *not* the canonical_name.
19357
+ class ThreadUpdate
19358
+ include Google::Apis::Core::Hashable
19359
+
19360
+ # An attribute was deleted from some (subset of the) messages in this thread.
19361
+ # Corresponds to the JSON property `attributeRemoved`
19362
+ # @return [Google::Apis::CloudsearchV1::AttributeRemoved]
19363
+ attr_accessor :attribute_removed
19364
+
19365
+ # An attribute was added to some (subset of the) messages in this thread.
19366
+ # Corresponds to the JSON property `attributeSet`
19367
+ # @return [Google::Apis::CloudsearchV1::AttributeSet]
19368
+ attr_accessor :attribute_set
19369
+
19370
+ # A label was added to some (subset of the) messages in this thread.
19371
+ # Corresponds to the JSON property `labelAdded`
19372
+ # @return [Google::Apis::CloudsearchV1::LabelAdded]
19373
+ attr_accessor :label_added
19374
+
19375
+ # A label was removed from some (subset of the) messages in this thread.
19376
+ # Corresponds to the JSON property `labelRemoved`
19377
+ # @return [Google::Apis::CloudsearchV1::LabelRemoved]
19378
+ attr_accessor :label_removed
19379
+
19380
+ # Indicates the record id of the last operation that modified this thread.
19381
+ # Corresponds to the JSON property `lastHistoryRecordId`
19382
+ # @return [Fixnum]
19383
+ attr_accessor :last_history_record_id
19384
+
19385
+ # A message was added. Specifying id and initial labels.
19386
+ # Corresponds to the JSON property `messageAdded`
19387
+ # @return [Google::Apis::CloudsearchV1::MessageAdded]
19388
+ attr_accessor :message_added
19389
+
19390
+ # Some (subset of the) messages in this thread were deleted.
19391
+ # Corresponds to the JSON property `messageDeleted`
19392
+ # @return [Google::Apis::CloudsearchV1::MessageDeleted]
19393
+ attr_accessor :message_deleted
19394
+
19395
+ # A union-like type for identifiying an object in storage. MultiKeys contain
19396
+ # multiple key fields, each in a separate key space. At least one key field must
19397
+ # be set. More than one key field may be set as long as all key values refer to
19398
+ # the same object. All objects in storage have unique server_id keys. All
19399
+ # MultiKeys returned from storage to storage clients will always have the
19400
+ # server_id field set. When creating an object, if a MultiKey without a
19401
+ # server_id is supplied to storage, the storage system will auto-assign a server
19402
+ # ID to the new object. For all other storage requests (i.e. those not creating
19403
+ # new objects), clients may omit server_id (as long as they supply another key).
19404
+ # Instead of server ids, clients can specify string based
19405
+ # client_assigned_perm_id keys. Mail message drafts are a prime example of these
19406
+ # kinds of objects. Each time a user saves a new version of a draft, the storage
19407
+ # system needs to create a new object with the updated draft content and needs
19408
+ # to delete the object containing the old content. The new object gets a new
19409
+ # SERVER_ID but should get the same CLIENT_ASSIGNED_PERM_ID as the now-deleted
19410
+ # object containing the old content. Carrying forward the perm ID allows it to
19411
+ # be used to consistently refer to the same logical object across revisions.
19412
+ # These perm IDs save sync clients from having to deal with changing object IDs.
19413
+ # For example, assume there's a mail message in storage with SERVER_ID = 123 and
19414
+ # CLIENT_ASSIGNED_PERM_ID = "foo". The following are all valid ways of
19415
+ # addressing the object using MultiKeys: 1) MultiKey ` server_id = 123 ` 2)
19416
+ # MultiKey ` server_id = 123, client_assigned_perm_id = "foo" ` 3) MultiKey `
19417
+ # client_assigned_perm_id = "foo" ` Multikeys are never serialized in the
19418
+ # storage. The individual keys are extracted and processed separately. Both the
19419
+ # integer ids as well as string ids are indexed for efficient retrieval using
19420
+ # the same fields in the backend. See go/tingle-multikeys for more information
19421
+ # on background and motivation.
19422
+ # Corresponds to the JSON property `originalThreadKey`
19423
+ # @return [Google::Apis::CloudsearchV1::MultiKey]
19424
+ attr_accessor :original_thread_key
19425
+
19426
+ # The PreStates of all messages before the transaction. These are suppressed if
19427
+ # the client requested that prestates not be included in the output of the
19428
+ # GetHistoryRequest.
19429
+ # Corresponds to the JSON property `preState`
19430
+ # @return [Array<Google::Apis::CloudsearchV1::PreState>]
19431
+ attr_accessor :pre_state
19432
+
19433
+ # A union-like type for identifiying an object in storage. MultiKeys contain
19434
+ # multiple key fields, each in a separate key space. At least one key field must
19435
+ # be set. More than one key field may be set as long as all key values refer to
19436
+ # the same object. All objects in storage have unique server_id keys. All
19437
+ # MultiKeys returned from storage to storage clients will always have the
19438
+ # server_id field set. When creating an object, if a MultiKey without a
19439
+ # server_id is supplied to storage, the storage system will auto-assign a server
19440
+ # ID to the new object. For all other storage requests (i.e. those not creating
19441
+ # new objects), clients may omit server_id (as long as they supply another key).
19442
+ # Instead of server ids, clients can specify string based
19443
+ # client_assigned_perm_id keys. Mail message drafts are a prime example of these
19444
+ # kinds of objects. Each time a user saves a new version of a draft, the storage
19445
+ # system needs to create a new object with the updated draft content and needs
19446
+ # to delete the object containing the old content. The new object gets a new
19447
+ # SERVER_ID but should get the same CLIENT_ASSIGNED_PERM_ID as the now-deleted
19448
+ # object containing the old content. Carrying forward the perm ID allows it to
19449
+ # be used to consistently refer to the same logical object across revisions.
19450
+ # These perm IDs save sync clients from having to deal with changing object IDs.
19451
+ # For example, assume there's a mail message in storage with SERVER_ID = 123 and
19452
+ # CLIENT_ASSIGNED_PERM_ID = "foo". The following are all valid ways of
19453
+ # addressing the object using MultiKeys: 1) MultiKey ` server_id = 123 ` 2)
19454
+ # MultiKey ` server_id = 123, client_assigned_perm_id = "foo" ` 3) MultiKey `
19455
+ # client_assigned_perm_id = "foo" ` Multikeys are never serialized in the
19456
+ # storage. The individual keys are extracted and processed separately. Both the
19457
+ # integer ids as well as string ids are indexed for efficient retrieval using
19458
+ # the same fields in the backend. See go/tingle-multikeys for more information
19459
+ # on background and motivation.
19460
+ # Corresponds to the JSON property `threadKey`
19461
+ # @return [Google::Apis::CloudsearchV1::MultiKey]
19462
+ attr_accessor :thread_key
19463
+
19464
+ # The ThreadKey was set on some (subset of the) messages in this thread.
19465
+ # Corresponds to the JSON property `threadKeySet`
19466
+ # @return [Google::Apis::CloudsearchV1::ThreadKeySet]
19467
+ attr_accessor :thread_key_set
19468
+
19469
+ # Thread PLID
19470
+ # Corresponds to the JSON property `threadLocator`
19471
+ # @return [String]
19472
+ attr_accessor :thread_locator
19473
+
19474
+ #
19475
+ # Corresponds to the JSON property `topicStateUpdate`
19476
+ # @return [Google::Apis::CloudsearchV1::TopicStateUpdate]
19477
+ attr_accessor :topic_state_update
19478
+
19479
+ def initialize(**args)
19480
+ update!(**args)
19481
+ end
19482
+
19483
+ # Update properties of this object
19484
+ def update!(**args)
19485
+ @attribute_removed = args[:attribute_removed] if args.key?(:attribute_removed)
19486
+ @attribute_set = args[:attribute_set] if args.key?(:attribute_set)
19487
+ @label_added = args[:label_added] if args.key?(:label_added)
19488
+ @label_removed = args[:label_removed] if args.key?(:label_removed)
19489
+ @last_history_record_id = args[:last_history_record_id] if args.key?(:last_history_record_id)
19490
+ @message_added = args[:message_added] if args.key?(:message_added)
19491
+ @message_deleted = args[:message_deleted] if args.key?(:message_deleted)
19492
+ @original_thread_key = args[:original_thread_key] if args.key?(:original_thread_key)
19493
+ @pre_state = args[:pre_state] if args.key?(:pre_state)
19494
+ @thread_key = args[:thread_key] if args.key?(:thread_key)
19495
+ @thread_key_set = args[:thread_key_set] if args.key?(:thread_key_set)
19496
+ @thread_locator = args[:thread_locator] if args.key?(:thread_locator)
19497
+ @topic_state_update = args[:topic_state_update] if args.key?(:topic_state_update)
19498
+ end
19499
+ end
19500
+
17433
19501
  # Used to provide a search operator for timestamp properties. This is optional.
17434
19502
  # Search operators let users restrict the query to specific fields relevant to
17435
19503
  # the type of item being searched.
@@ -17602,6 +19670,105 @@ module Google
17602
19670
  end
17603
19671
  end
17604
19672
 
19673
+ # State of an topic thread as maintained within Tingle.
19674
+ class TopicState
19675
+ include Google::Apis::Core::Hashable
19676
+
19677
+ # Map of label => count of topic constituent messages with label These only
19678
+ # contain counts of labels that are relevant for topic normalization/
19679
+ # denormalization. Eg. If a topic thread has 5 constituents, 4 of which are in
19680
+ # inbox, this will contain ^i => 4. Some labels of interest are archive, inbox,
19681
+ # trash, spam, etc.
19682
+ # Corresponds to the JSON property `labelIdMessageCount`
19683
+ # @return [Hash<String,Fixnum>]
19684
+ attr_accessor :label_id_message_count
19685
+
19686
+ # Number of constituents for this entity.
19687
+ # Corresponds to the JSON property `numConstituents`
19688
+ # @return [Fixnum]
19689
+ attr_accessor :num_constituents
19690
+
19691
+ def initialize(**args)
19692
+ update!(**args)
19693
+ end
19694
+
19695
+ # Update properties of this object
19696
+ def update!(**args)
19697
+ @label_id_message_count = args[:label_id_message_count] if args.key?(:label_id_message_count)
19698
+ @num_constituents = args[:num_constituents] if args.key?(:num_constituents)
19699
+ end
19700
+ end
19701
+
19702
+ #
19703
+ class TopicStateUpdate
19704
+ include Google::Apis::Core::Hashable
19705
+
19706
+ # State of an topic thread as maintained within Tingle.
19707
+ # Corresponds to the JSON property `topicState`
19708
+ # @return [Google::Apis::CloudsearchV1::TopicState]
19709
+ attr_accessor :topic_state
19710
+
19711
+ def initialize(**args)
19712
+ update!(**args)
19713
+ end
19714
+
19715
+ # Update properties of this object
19716
+ def update!(**args)
19717
+ @topic_state = args[:topic_state] if args.key?(:topic_state)
19718
+ end
19719
+ end
19720
+
19721
+ # Storage information pertaining to the transaction with which a HistoryRecord
19722
+ # is associated.
19723
+ class TransactionContext
19724
+ include Google::Apis::Core::Hashable
19725
+
19726
+ # The last HistoryRecord of the transaction. Note that this may correspond to a
19727
+ # record that is filtered by Tingle (and thus not returned to the client). See
19728
+ # http://b/9513464.
19729
+ # Corresponds to the JSON property `endingRecordId`
19730
+ # @return [Fixnum]
19731
+ attr_accessor :ending_record_id
19732
+
19733
+ # The first HistoryRecord of the transaction. Note that this may be a record of
19734
+ # type INTERNAL.
19735
+ # Corresponds to the JSON property `startingRecordId`
19736
+ # @return [Fixnum]
19737
+ attr_accessor :starting_record_id
19738
+
19739
+ # The microsecond timestamp of the transaction.
19740
+ # Corresponds to the JSON property `writeTimestampUs`
19741
+ # @return [Fixnum]
19742
+ attr_accessor :write_timestamp_us
19743
+
19744
+ def initialize(**args)
19745
+ update!(**args)
19746
+ end
19747
+
19748
+ # Update properties of this object
19749
+ def update!(**args)
19750
+ @ending_record_id = args[:ending_record_id] if args.key?(:ending_record_id)
19751
+ @starting_record_id = args[:starting_record_id] if args.key?(:starting_record_id)
19752
+ @write_timestamp_us = args[:write_timestamp_us] if args.key?(:write_timestamp_us)
19753
+ end
19754
+ end
19755
+
19756
+ # HistoryRecord for debug info associated with the transaction, namely:
19757
+ # TXN_DEBUG_INFO TODO(b/143845917) This is a short-term workaround for
19758
+ # unblocking fusebox writes migration. Clean up the code or land a long-term
19759
+ # solution after the rollout. go/diff-to-historyrecord
19760
+ class TransactionDebugInfo
19761
+ include Google::Apis::Core::Hashable
19762
+
19763
+ def initialize(**args)
19764
+ update!(**args)
19765
+ end
19766
+
19767
+ # Update properties of this object
19768
+ def update!(**args)
19769
+ end
19770
+ end
19771
+
17605
19772
  # Information about a transcription session.
17606
19773
  class TranscriptionSessionInfo
17607
19774
  include Google::Apis::Core::Hashable
@@ -17641,6 +19808,180 @@ module Google
17641
19808
  end
17642
19809
  end
17643
19810
 
19811
+ #
19812
+ class Trigger
19813
+ include Google::Apis::Core::Hashable
19814
+
19815
+ # Each dispatcher should use an enum to for the actions that it supports. If a
19816
+ # dispatcher has only one action, this does not need to be set. (It can be
19817
+ # expanded later, defining the default behaviour as type 0.) For purposes such
19818
+ # as batching, the type of a trigger is (dispatcher, action_type).
19819
+ # Corresponds to the JSON property `actionType`
19820
+ # @return [Fixnum]
19821
+ attr_accessor :action_type
19822
+
19823
+ # Maximum possible delay in micros that can be tolerated so triggers can be
19824
+ # batched, which makes processing more efficient compared to firing triggers
19825
+ # individually. Note that the actual fire time will be somewhere in the
19826
+ # timerange interval [fire_time_us, fire_time_us + batch_time_us).
19827
+ # Corresponds to the JSON property `batchTimeUs`
19828
+ # @return [Fixnum]
19829
+ attr_accessor :batch_time_us
19830
+
19831
+ # Must be set for DISPATCHER_STUBBY_DISPATCHER.
19832
+ # Corresponds to the JSON property `dispatchId`
19833
+ # @return [Fixnum]
19834
+ attr_accessor :dispatch_id
19835
+
19836
+ # Which server should interpret action_type.
19837
+ # Corresponds to the JSON property `dispatcher`
19838
+ # @return [String]
19839
+ attr_accessor :dispatcher
19840
+
19841
+ # Earliest time to fire at in microseconds. The actual time that the trigger
19842
+ # will fire will be in the timerange: [fire_time_us, fire_time_us +
19843
+ # batch_time_us).
19844
+ # Corresponds to the JSON property `fireTimeUs`
19845
+ # @return [Fixnum]
19846
+ attr_accessor :fire_time_us
19847
+
19848
+ # Identifies a jobsetted server as a target for Trigger dispatch.
19849
+ # Corresponds to the JSON property `jobsettedServerSpec`
19850
+ # @return [Google::Apis::CloudsearchV1::JobsettedServerSpec]
19851
+ attr_accessor :jobsetted_server_spec
19852
+
19853
+ # The trigger key, if applicable.
19854
+ # Corresponds to the JSON property `key`
19855
+ # @return [String]
19856
+ attr_accessor :key
19857
+
19858
+ # Options for Triggers dispatched via RPC.
19859
+ # Corresponds to the JSON property `rpcOptions`
19860
+ # @return [Google::Apis::CloudsearchV1::RpcOptions]
19861
+ attr_accessor :rpc_options
19862
+
19863
+ # The slice_fire_time_us is automatically computed and stored as part of the
19864
+ # trigger write. It represents the exact fire time at which the trigger will be
19865
+ # queued to fire and will satisfy fire_time_us < slice_fire_time_us <=
19866
+ # fire_time_us + batch_time_us Triggers have an index row in the slice trigger
19867
+ # index with the row prefix matching this time. Note that this field is internal
19868
+ # to gmail_cp and is ignored if set by external clients when adding / updating
19869
+ # triggers.
19870
+ # Corresponds to the JSON property `sliceFireTimeUs`
19871
+ # @return [Fixnum]
19872
+ attr_accessor :slice_fire_time_us
19873
+
19874
+ # Trigger action to perform. This should always be set.
19875
+ # Corresponds to the JSON property `triggerAction`
19876
+ # @return [Google::Apis::CloudsearchV1::TriggerAction]
19877
+ attr_accessor :trigger_action
19878
+
19879
+ # A TriggerKey (type + instance_id) uniquely identifies a trigger within a
19880
+ # message for a message-trigger and within an account for an account-trigger.
19881
+ # Corresponds to the JSON property `triggerKey`
19882
+ # @return [Google::Apis::CloudsearchV1::TriggerKey]
19883
+ attr_accessor :trigger_key
19884
+
19885
+ def initialize(**args)
19886
+ update!(**args)
19887
+ end
19888
+
19889
+ # Update properties of this object
19890
+ def update!(**args)
19891
+ @action_type = args[:action_type] if args.key?(:action_type)
19892
+ @batch_time_us = args[:batch_time_us] if args.key?(:batch_time_us)
19893
+ @dispatch_id = args[:dispatch_id] if args.key?(:dispatch_id)
19894
+ @dispatcher = args[:dispatcher] if args.key?(:dispatcher)
19895
+ @fire_time_us = args[:fire_time_us] if args.key?(:fire_time_us)
19896
+ @jobsetted_server_spec = args[:jobsetted_server_spec] if args.key?(:jobsetted_server_spec)
19897
+ @key = args[:key] if args.key?(:key)
19898
+ @rpc_options = args[:rpc_options] if args.key?(:rpc_options)
19899
+ @slice_fire_time_us = args[:slice_fire_time_us] if args.key?(:slice_fire_time_us)
19900
+ @trigger_action = args[:trigger_action] if args.key?(:trigger_action)
19901
+ @trigger_key = args[:trigger_key] if args.key?(:trigger_key)
19902
+ end
19903
+ end
19904
+
19905
+ #
19906
+ class TriggerAction
19907
+ include Google::Apis::Core::Hashable
19908
+
19909
+ #
19910
+ # Corresponds to the JSON property `action`
19911
+ # @return [String]
19912
+ attr_accessor :action
19913
+
19914
+ # Clients should use extensions on the Trigger message instead.
19915
+ # Corresponds to the JSON property `data`
19916
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
19917
+ # @return [String]
19918
+ attr_accessor :data
19919
+
19920
+ #
19921
+ # Corresponds to the JSON property `dataInt`
19922
+ # @return [Fixnum]
19923
+ attr_accessor :data_int
19924
+
19925
+ def initialize(**args)
19926
+ update!(**args)
19927
+ end
19928
+
19929
+ # Update properties of this object
19930
+ def update!(**args)
19931
+ @action = args[:action] if args.key?(:action)
19932
+ @data = args[:data] if args.key?(:data)
19933
+ @data_int = args[:data_int] if args.key?(:data_int)
19934
+ end
19935
+ end
19936
+
19937
+ # A TriggerKey (type + instance_id) uniquely identifies a trigger within a
19938
+ # message for a message-trigger and within an account for an account-trigger.
19939
+ class TriggerKey
19940
+ include Google::Apis::Core::Hashable
19941
+
19942
+ # Identifier to distinguish multiple Triggers of the same type (per message or
19943
+ # per account).
19944
+ # Corresponds to the JSON property `instanceId`
19945
+ # @return [String]
19946
+ attr_accessor :instance_id
19947
+
19948
+ # A non-empty string that identifies the type of Trigger. Triggers of the same
19949
+ # type may be batched together. The universe of values for the type field should
19950
+ # be finite as it is used as a stats key.
19951
+ # Corresponds to the JSON property `type`
19952
+ # @return [String]
19953
+ attr_accessor :type
19954
+
19955
+ def initialize(**args)
19956
+ update!(**args)
19957
+ end
19958
+
19959
+ # Update properties of this object
19960
+ def update!(**args)
19961
+ @instance_id = args[:instance_id] if args.key?(:instance_id)
19962
+ @type = args[:type] if args.key?(:type)
19963
+ end
19964
+ end
19965
+
19966
+ #
19967
+ class Triggers
19968
+ include Google::Apis::Core::Hashable
19969
+
19970
+ # A list of triggers.
19971
+ # Corresponds to the JSON property `triggers`
19972
+ # @return [Array<Google::Apis::CloudsearchV1::Trigger>]
19973
+ attr_accessor :triggers
19974
+
19975
+ def initialize(**args)
19976
+ update!(**args)
19977
+ end
19978
+
19979
+ # Update properties of this object
19980
+ def update!(**args)
19981
+ @triggers = args[:triggers] if args.key?(:triggers)
19982
+ end
19983
+ end
19984
+
17644
19985
  # Message containing a string that is safe to use in all URL contexts in DOM
17645
19986
  # APIs and HTML documents; even where the referred-to resource is interpreted as
17646
19987
  # code, e.g., as the src of a script element.
@@ -18070,6 +20411,11 @@ module Google
18070
20411
  # @return [Google::Apis::CloudsearchV1::AppsDynamiteSharedDlpMetricsMetadata]
18071
20412
  attr_accessor :dlp_metrics_metadata
18072
20413
 
20414
+ # The timestamp of the most recent virus scan completed (in microseconds).
20415
+ # Corresponds to the JSON property `latestVirusScanTimestamp`
20416
+ # @return [Fixnum]
20417
+ attr_accessor :latest_virus_scan_timestamp
20418
+
18073
20419
  # A copy of the LocalId in Annotation. This field is supposed to be filled by
18074
20420
  # server only.
18075
20421
  # Corresponds to the JSON property `localId`
@@ -18106,6 +20452,7 @@ module Google
18106
20452
  @content_name = args[:content_name] if args.key?(:content_name)
18107
20453
  @content_type = args[:content_type] if args.key?(:content_type)
18108
20454
  @dlp_metrics_metadata = args[:dlp_metrics_metadata] if args.key?(:dlp_metrics_metadata)
20455
+ @latest_virus_scan_timestamp = args[:latest_virus_scan_timestamp] if args.key?(:latest_virus_scan_timestamp)
18109
20456
  @local_id = args[:local_id] if args.key?(:local_id)
18110
20457
  @original_dimension = args[:original_dimension] if args.key?(:original_dimension)
18111
20458
  @video_reference = args[:video_reference] if args.key?(:video_reference)
@@ -18165,11 +20512,6 @@ module Google
18165
20512
  # @return [Fixnum]
18166
20513
  attr_accessor :int_image_width
18167
20514
 
18168
- # NEXT TAG : 18
18169
- # Corresponds to the JSON property `linkType`
18170
- # @return [String]
18171
- attr_accessor :link_type
18172
-
18173
20515
  # Mime type of the content (Currently mapped from Page Render Service ItemType)
18174
20516
  # Note that this is not necessarily the mime type of the http resource. For
18175
20517
  # example a text/html from youtube or vimeo may actually be classified as a
@@ -18229,7 +20571,6 @@ module Google
18229
20571
  @image_width = args[:image_width] if args.key?(:image_width)
18230
20572
  @int_image_height = args[:int_image_height] if args.key?(:int_image_height)
18231
20573
  @int_image_width = args[:int_image_width] if args.key?(:int_image_width)
18232
- @link_type = args[:link_type] if args.key?(:link_type)
18233
20574
  @mime_type = args[:mime_type] if args.key?(:mime_type)
18234
20575
  @redirect_url = args[:redirect_url] if args.key?(:redirect_url)
18235
20576
  @should_not_render = args[:should_not_render] if args.key?(:should_not_render)