google-apis-cloudsearch_v1 0.39.0 → 0.40.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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)