google-apis-chat_v1 0.44.0 → 0.69.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -23,9 +23,9 @@ module Google
23
23
  module ChatV1
24
24
 
25
25
  # List of string parameters to supply when the action method is invoked. For
26
- # example, consider three snooze buttons: snooze now, snooze 1 day, snooze next
27
- # week. You might use action method = snooze(), passing the snooze type and
28
- # snooze time in the list of string parameters.
26
+ # example, consider three snooze buttons: snooze now, snooze one day, snooze
27
+ # next week. You might use `action method = snooze()`, passing the snooze type
28
+ # and snooze time in the list of string parameters.
29
29
  class ActionParameter
30
30
  include Google::Apis::Core::Hashable
31
31
 
@@ -50,7 +50,7 @@ module Google
50
50
  end
51
51
  end
52
52
 
53
- # Parameters that a Chat app can use to configure how it's response is posted.
53
+ # Parameters that a Chat app can use to configure how its response is posted.
54
54
  class ActionResponse
55
55
  include Google::Apis::Core::Hashable
56
56
 
@@ -65,8 +65,8 @@ module Google
65
65
  # @return [String]
66
66
  attr_accessor :type
67
67
 
68
- # Input only. URL for users to auth or config. (Only for REQUEST_CONFIG response
69
- # types.)
68
+ # Input only. URL for users to authenticate or configure. (Only for `
69
+ # REQUEST_CONFIG` response types.)
70
70
  # Corresponds to the JSON property `url`
71
71
  # @return [String]
72
72
  attr_accessor :url
@@ -113,9 +113,9 @@ module Google
113
113
  # Annotations associated with the plain-text body of the message. Example plain-
114
114
  # text message body: ``` Hello @FooBot how are you!" ``` The corresponding
115
115
  # annotations metadata: ``` "annotations":[` "type":"USER_MENTION", "startIndex":
116
- # 6, "length":7, "userMention": ` "user": ` "name":"users/107946847022116401880",
117
- # "displayName":"FooBot", "avatarUrl":"https://goo.gl/aeDtrS", "type":"BOT" `, "
118
- # type":"MENTION" ` `] ```
116
+ # 6, "length":7, "userMention": ` "user": ` "name":"users/`user`", "displayName":
117
+ # "FooBot", "avatarUrl":"https://goo.gl/aeDtrS", "type":"BOT" `, "type":"MENTION"
118
+ # ` `] ```
119
119
  class Annotation
120
120
  include Google::Apis::Core::Hashable
121
121
 
@@ -160,27 +160,47 @@ module Google
160
160
  end
161
161
  end
162
162
 
163
+ # A GIF image that's specified by a URL.
164
+ class AttachedGif
165
+ include Google::Apis::Core::Hashable
166
+
167
+ # Output only. The URL that hosts the GIF image.
168
+ # Corresponds to the JSON property `uri`
169
+ # @return [String]
170
+ attr_accessor :uri
171
+
172
+ def initialize(**args)
173
+ update!(**args)
174
+ end
175
+
176
+ # Update properties of this object
177
+ def update!(**args)
178
+ @uri = args[:uri] if args.key?(:uri)
179
+ end
180
+ end
181
+
163
182
  # An attachment in Google Chat.
164
183
  class Attachment
165
184
  include Google::Apis::Core::Hashable
166
185
 
167
- # A reference to the data of an attachment.
186
+ # A reference to the attachment data. This field is used with the media API to
187
+ # download the attachment data.
168
188
  # Corresponds to the JSON property `attachmentDataRef`
169
189
  # @return [Google::Apis::ChatV1::AttachmentDataRef]
170
190
  attr_accessor :attachment_data_ref
171
191
 
172
- # The original file name for the content, not the full path.
192
+ # Output only. The original file name for the content, not the full path.
173
193
  # Corresponds to the JSON property `contentName`
174
194
  # @return [String]
175
195
  attr_accessor :content_name
176
196
 
177
- # The content type (MIME type) of the file.
197
+ # Output only. The content type (MIME type) of the file.
178
198
  # Corresponds to the JSON property `contentType`
179
199
  # @return [String]
180
200
  attr_accessor :content_type
181
201
 
182
202
  # Output only. The download URL which should be used to allow a human user to
183
- # download the attachment. Chat apps should not use this URL to download
203
+ # download the attachment. Chat apps shouldn't use this URL to download
184
204
  # attachment content.
185
205
  # Corresponds to the JSON property `downloadUri`
186
206
  # @return [String]
@@ -191,19 +211,19 @@ module Google
191
211
  # @return [Google::Apis::ChatV1::DriveDataRef]
192
212
  attr_accessor :drive_data_ref
193
213
 
194
- # Resource name of the attachment, in the form "spaces/*/messages/*/attachments/*
195
- # ".
214
+ # Resource name of the attachment, in the form `spaces/*/messages/*/attachments/*
215
+ # `.
196
216
  # Corresponds to the JSON property `name`
197
217
  # @return [String]
198
218
  attr_accessor :name
199
219
 
200
- # The source of the attachment.
220
+ # Output only. The source of the attachment.
201
221
  # Corresponds to the JSON property `source`
202
222
  # @return [String]
203
223
  attr_accessor :source
204
224
 
205
225
  # Output only. The thumbnail URL which should be used to preview the attachment
206
- # to a human user. Chat apps should not use this URL to download attachment
226
+ # to a human user. Chat apps shouldn't use this URL to download attachment
207
227
  # content.
208
228
  # Corresponds to the JSON property `thumbnailUri`
209
229
  # @return [String]
@@ -226,12 +246,19 @@ module Google
226
246
  end
227
247
  end
228
248
 
229
- # A reference to the data of an attachment.
249
+ #
230
250
  class AttachmentDataRef
231
251
  include Google::Apis::Core::Hashable
232
252
 
233
- # The resource name of the attachment data. This is used with the media API to
234
- # download the attachment data.
253
+ # Opaque token containing a reference to an uploaded attachment. Treated by
254
+ # clients as an opaque string and used to create or update Chat messages with
255
+ # attachments.
256
+ # Corresponds to the JSON property `attachmentUploadToken`
257
+ # @return [String]
258
+ attr_accessor :attachment_upload_token
259
+
260
+ # The resource name of the attachment data. This field is used with the media
261
+ # API to download the attachment data.
235
262
  # Corresponds to the JSON property `resourceName`
236
263
  # @return [String]
237
264
  attr_accessor :resource_name
@@ -242,6 +269,7 @@ module Google
242
269
 
243
270
  # Update properties of this object
244
271
  def update!(**args)
272
+ @attachment_upload_token = args[:attachment_upload_token] if args.key?(:attachment_upload_token)
245
273
  @resource_name = args[:resource_name] if args.key?(:resource_name)
246
274
  end
247
275
  end
@@ -250,12 +278,12 @@ module Google
250
278
  class Button
251
279
  include Google::Apis::Core::Hashable
252
280
 
253
- # An image button with an onclick action.
281
+ # An image button with an `onclick` action.
254
282
  # Corresponds to the JSON property `imageButton`
255
283
  # @return [Google::Apis::ChatV1::ImageButton]
256
284
  attr_accessor :image_button
257
285
 
258
- # A button with text and onclick action.
286
+ # A button with text and `onclick` action.
259
287
  # Corresponds to the JSON property `textButton`
260
288
  # @return [Google::Apis::ChatV1::TextButton]
261
289
  attr_accessor :text_button
@@ -271,7 +299,7 @@ module Google
271
299
  end
272
300
  end
273
301
 
274
- # A card is a UI element that can contain UI widgets such as texts, images.
302
+ # A card is a UI element that can contain UI widgets such as text and images.
275
303
  class Card
276
304
  include Google::Apis::Core::Hashable
277
305
 
@@ -310,7 +338,7 @@ module Google
310
338
 
311
339
  # A card action is the action associated with the card. For an invoice card, a
312
340
  # typical action would be: delete invoice, email invoice or open the invoice in
313
- # browser.
341
+ # browser. Not supported by Google Chat apps.
314
342
  class CardAction
315
343
  include Google::Apis::Core::Hashable
316
344
 
@@ -319,7 +347,7 @@ module Google
319
347
  # @return [String]
320
348
  attr_accessor :action_label
321
349
 
322
- # An onclick action (e.g. open a link).
350
+ # An `onclick` action (for example, open a link).
323
351
  # Corresponds to the JSON property `onClick`
324
352
  # @return [Google::Apis::ChatV1::OnClick]
325
353
  attr_accessor :on_click
@@ -339,7 +367,7 @@ module Google
339
367
  class CardHeader
340
368
  include Google::Apis::Core::Hashable
341
369
 
342
- # The image's type (e.g. square border or circular border).
370
+ # The image's type (for example, square border or circular border).
343
371
  # Corresponds to the JSON property `imageStyle`
344
372
  # @return [String]
345
373
  attr_accessor :image_style
@@ -355,8 +383,8 @@ module Google
355
383
  attr_accessor :subtitle
356
384
 
357
385
  # The title must be specified. The header has a fixed height: if both a title
358
- # and subtitle is specified, each will take up 1 line. If only the title is
359
- # specified, it will take up both lines.
386
+ # and subtitle is specified, each takes up one line. If only the title is
387
+ # specified, it takes up both lines.
360
388
  # Corresponds to the JSON property `title`
361
389
  # @return [String]
362
390
  attr_accessor :title
@@ -374,34 +402,42 @@ module Google
374
402
  end
375
403
  end
376
404
 
377
- # Widgets for Chat apps to specify.
405
+ # A [card](https://developers.google.com/chat/api/reference/rest/v1/cards) in a
406
+ # Google Chat message. Only Chat apps can create cards. If your Chat app [
407
+ # authenticates as a user](https://developers.google.com/chat/api/guides/auth/
408
+ # users), the message can't contain cards.
378
409
  class CardWithId
379
410
  include Google::Apis::Core::Hashable
380
411
 
381
- # A card is a UI element that can contain UI widgets such as text and images.
382
- # For more information, see Cards . For example, the following JSON creates a
383
- # card that has a header with the name, position, icons, and link for a contact,
384
- # followed by a section with contact information like email and phone number. ```
385
- # ` "header": ` "title": "Sasha", "subtitle": "Software Engineer", "imageStyle":
386
- # "ImageStyle.AVATAR", "imageUrl": "https://example.com/sasha.png", "
387
- # imageAltText": "Avatar for Sasha" `, "sections" : [ ` "header": "Contact Info",
388
- # "widgets": [ ` "decorated_text": ` "icon": ` "knownIcon": "EMAIL" `, "content"
389
- # : "sasha@example.com" ` `, ` "decoratedText": ` "icon": ` "knownIcon": "PERSON"
390
- # `, "content": "Online" ` `, ` "decoratedText": ` "icon": ` "knownIcon": "
391
- # PHONE" `, "content": "+1 (555) 555-1234" ` `, ` "buttons": [ ` "textButton": `
392
- # "text": "Share", `, "onClick": ` "openLink": ` "url": "https://example.com/
393
- # share" ` ` `, ` "textButton": ` "text": "Edit", `, "onClick": ` "action": ` "
394
- # function": "goToView", "parameters": [ ` "key": "viewType", "value": "EDIT" ` ]
395
- # , "loadIndicator": "LoadIndicator.SPINNER" ` ` ` ] ` ], "collapsible": true, "
396
- # uncollapsibleWidgetsCount": 3 ` ], "cardActions": [ ` "actionLabel": "Send
397
- # Feedback", "onClick": ` "openLink": ` "url": "https://example.com/feedback" ` `
398
- # ` ], "name": "contact-card-K3wB6arF2H9L" ` ```
412
+ # A card interface displayed in a Google Chat message or Google Workspace Add-on.
413
+ # Cards support a defined layout, interactive UI elements like buttons, and
414
+ # rich media like images. Use cards to present detailed information, gather
415
+ # information from users, and guide users to take a next step. To learn how to
416
+ # build cards, see the following documentation: * For Google Chat apps, see [
417
+ # Design dynamic, interactive, and consistent UIs with cards](https://developers.
418
+ # google.com/chat/ui). * For Google Workspace Add-ons, see [Card-based
419
+ # interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards).
420
+ # **Example: Card message for a Google Chat app** ![Example contact card](https:/
421
+ # /developers.google.com/chat/images/card_api_reference.png) To create the
422
+ # sample card message in Google Chat, use the following JSON: ``` ` "cardsV2": [
423
+ # ` "cardId": "unique-card-id", "card": ` "header": ` "title": "Sasha", "
424
+ # subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/
425
+ # chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText":
426
+ # "Avatar for Sasha", `, "sections": [ ` "header": "Contact Info", "collapsible":
427
+ # true, "uncollapsibleWidgetsCount": 1, "widgets": [ ` "decoratedText": ` "
428
+ # startIcon": ` "knownIcon": "EMAIL", `, "text": "sasha@example.com", ` `, ` "
429
+ # decoratedText": ` "startIcon": ` "knownIcon": "PERSON", `, "text": "Online", `,
430
+ # `, ` "decoratedText": ` "startIcon": ` "knownIcon": "PHONE", `, "text": "+1 (
431
+ # 555) 555-1234", ` `, ` "buttonList": ` "buttons": [ ` "text": "Share", "
432
+ # onClick": ` "openLink": ` "url": "https://example.com/share", ` ` `, ` "text":
433
+ # "Edit", "onClick": ` "action": ` "function": "goToView", "parameters": [ ` "
434
+ # key": "viewType", "value": "EDIT", ` ], ` ` `, ], ` `, ], `, ], `, ` ], ` ```
399
435
  # Corresponds to the JSON property `card`
400
436
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1Card]
401
437
  attr_accessor :card
402
438
 
403
- # Required for `cardsV2` messages. Chat app-specified identifier for this widget.
404
- # Scoped within a message.
439
+ # Required if the message contains multiple cards. A unique identifier for a
440
+ # card in a message.
405
441
  # Corresponds to the JSON property `cardId`
406
442
  # @return [String]
407
443
  attr_accessor :card_id
@@ -457,19 +493,42 @@ module Google
457
493
  end
458
494
  end
459
495
 
496
+ # Chat apps only. For a `SelectionInput` widget that uses a multi-select menu, a
497
+ # data source from Google Chat. For example, a list of Google Chat spaces of
498
+ # which the user is a member. [Developer Preview](https://developers.google.com/
499
+ # workspace/preview).
500
+ class ChatClientDataSourceMarkup
501
+ include Google::Apis::Core::Hashable
502
+
503
+ # A data source representing a Google Chat space. Format: spaces/`space` [
504
+ # Developer Preview](https://developers.google.com/workspace/preview).
505
+ # Corresponds to the JSON property `spaceDataSource`
506
+ # @return [Google::Apis::ChatV1::SpaceDataSource]
507
+ attr_accessor :space_data_source
508
+
509
+ def initialize(**args)
510
+ update!(**args)
511
+ end
512
+
513
+ # Update properties of this object
514
+ def update!(**args)
515
+ @space_data_source = args[:space_data_source] if args.key?(:space_data_source)
516
+ end
517
+ end
518
+
460
519
  # Represents a color in the RGBA color space. This representation is designed
461
- # for simplicity of conversion to/from color representations in various
520
+ # for simplicity of conversion to and from color representations in various
462
521
  # languages over compactness. For example, the fields of this representation can
463
522
  # be trivially provided to the constructor of `java.awt.Color` in Java; it can
464
523
  # also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha`
465
524
  # method in iOS; and, with just a little work, it can be easily formatted into a
466
- # CSS `rgba()` string in JavaScript. This reference page doesn't carry
525
+ # CSS `rgba()` string in JavaScript. This reference page doesn't have
467
526
  # information about the absolute color space that should be used to interpret
468
- # the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default,
527
+ # the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default,
469
528
  # applications should assume the sRGB color space. When color equality needs to
470
529
  # be decided, implementations, unless documented otherwise, treat two colors as
471
- # equal if all their red, green, blue, and alpha values each differ by at most
472
- # 1e-5. Example (Java): import com.google.type.Color; // ... public static java.
530
+ # equal if all their red, green, blue, and alpha values each differ by at most `
531
+ # 1e-5`. Example (Java): import com.google.type.Color; // ... public static java.
473
532
  # awt.Color fromProto(Color protocolor) ` float alpha = protocolor.hasAlpha() ?
474
533
  # protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.
475
534
  # getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); ` public static
@@ -588,14 +647,17 @@ module Google
588
647
  # @return [String]
589
648
  attr_accessor :platform
590
649
 
591
- # The timezone ID and offset from Coordinated Universal Time (UTC). Not
592
- # supported by Chat apps.
650
+ # The timezone ID and offset from Coordinated Universal Time (UTC). Only
651
+ # supported for the event types [`CARD_CLICKED`](https://developers.google.com/
652
+ # chat/api/reference/rest/v1/EventType#ENUM_VALUES.CARD_CLICKED) and [`
653
+ # SUBMIT_DIALOG`](https://developers.google.com/chat/api/reference/rest/v1/
654
+ # DialogEventType#ENUM_VALUES.SUBMIT_DIALOG).
593
655
  # Corresponds to the JSON property `timeZone`
594
656
  # @return [Google::Apis::ChatV1::TimeZone]
595
657
  attr_accessor :time_zone
596
658
 
597
659
  # The full `locale.displayName` in the format of [ISO 639 language code]-[ISO
598
- # 3166 country/region code] such as "en-US". Not supported by Chat apps.
660
+ # 3166 country/region code] such as "en-US".
599
661
  # Corresponds to the JSON property `userLocale`
600
662
  # @return [String]
601
663
  attr_accessor :user_locale
@@ -616,7 +678,26 @@ module Google
616
678
  end
617
679
  end
618
680
 
619
- # Date input values. Not supported by Chat apps.
681
+ # Represents a custom emoji.
682
+ class CustomEmoji
683
+ include Google::Apis::Core::Hashable
684
+
685
+ # Unique key for the custom emoji resource.
686
+ # Corresponds to the JSON property `uid`
687
+ # @return [String]
688
+ attr_accessor :uid
689
+
690
+ def initialize(**args)
691
+ update!(**args)
692
+ end
693
+
694
+ # Update properties of this object
695
+ def update!(**args)
696
+ @uid = args[:uid] if args.key?(:uid)
697
+ end
698
+ end
699
+
700
+ # Date input values.
620
701
  class DateInput
621
702
  include Google::Apis::Core::Hashable
622
703
 
@@ -635,7 +716,7 @@ module Google
635
716
  end
636
717
  end
637
718
 
638
- # Date and time input values. Not supported by Chat apps.
719
+ # Date and time input values.
639
720
  class DateTimeInput
640
721
  include Google::Apis::Core::Hashable
641
722
 
@@ -668,12 +749,37 @@ module Google
668
749
  end
669
750
  end
670
751
 
671
- # Google Chat events.
752
+ # Information about a deleted message. A message is deleted when `delete_time`
753
+ # is set.
754
+ class DeletionMetadata
755
+ include Google::Apis::Core::Hashable
756
+
757
+ # Indicates who deleted the message.
758
+ # Corresponds to the JSON property `deletionType`
759
+ # @return [String]
760
+ attr_accessor :deletion_type
761
+
762
+ def initialize(**args)
763
+ update!(**args)
764
+ end
765
+
766
+ # Update properties of this object
767
+ def update!(**args)
768
+ @deletion_type = args[:deletion_type] if args.key?(:deletion_type)
769
+ end
770
+ end
771
+
772
+ # A Google Chat app interaction event. To learn about interaction events, see [
773
+ # Receive and respond to interactions with your Google Chat app](https://
774
+ # developers.google.com/chat/api/guides/message-formats). To learn about event
775
+ # types and for example event payloads, see [Types of Google Chat app
776
+ # interaction events](https://developers.google.com/chat/api/guides/message-
777
+ # formats/events).
672
778
  class DeprecatedEvent
673
779
  include Google::Apis::Core::Hashable
674
780
 
675
781
  # A form action describes the behavior when the form is submitted. For example,
676
- # an Apps Script can be invoked to handle the form.
782
+ # you can invoke Apps Script to handle the form.
677
783
  # Corresponds to the JSON property `action`
678
784
  # @return [Google::Apis::ChatV1::FormAction]
679
785
  attr_accessor :action
@@ -687,32 +793,32 @@ module Google
687
793
  attr_accessor :common
688
794
 
689
795
  # The URL the Chat app should redirect the user to after they have completed an
690
- # authorization or configuration flow outside of Google Chat. See the [
691
- # Authorizing access to 3p services guide](/chat/how-tos/auth-3p) for more
692
- # information.
796
+ # authorization or configuration flow outside of Google Chat. For more
797
+ # information, see [Connect a Chat app with other services & tools](https://
798
+ # developers.google.com/chat/how-tos/connect-web-services-tools).
693
799
  # Corresponds to the JSON property `configCompleteRedirectUrl`
694
800
  # @return [String]
695
801
  attr_accessor :config_complete_redirect_url
696
802
 
697
- # The type of [dialog](https://developers.google.com/chat/how-tos/dialogs) event
698
- # received.
803
+ # The type of [dialog](https://developers.google.com/chat/how-tos/dialogs)
804
+ # interaction event received.
699
805
  # Corresponds to the JSON property `dialogEventType`
700
806
  # @return [String]
701
807
  attr_accessor :dialog_event_type
702
808
 
703
- # The timestamp indicating when the event occurred.
809
+ # The timestamp indicating when the interaction event occurred.
704
810
  # Corresponds to the JSON property `eventTime`
705
811
  # @return [String]
706
812
  attr_accessor :event_time
707
813
 
708
- # True when the event is related to [dialogs](https://developers.google.com/chat/
709
- # how-tos/dialogs).
814
+ # For `CARD_CLICKED` interaction events, whether the user interacted with a [
815
+ # dialog](https://developers.google.com/chat/how-tos/dialogs).
710
816
  # Corresponds to the JSON property `isDialogEvent`
711
817
  # @return [Boolean]
712
818
  attr_accessor :is_dialog_event
713
819
  alias_method :is_dialog_event?, :is_dialog_event
714
820
 
715
- # A message in Google Chat.
821
+ # A message in a Google Chat space.
716
822
  # Corresponds to the JSON property `message`
717
823
  # @return [Google::Apis::ChatV1::Message]
718
824
  attr_accessor :message
@@ -723,8 +829,9 @@ module Google
723
829
  # @return [Google::Apis::ChatV1::Space]
724
830
  attr_accessor :space
725
831
 
726
- # The Chat app-defined key for the thread related to the event. See the
727
- # thread_key field of the `spaces.message.create` request for more information.
832
+ # The Chat app-defined key for the thread related to the interaction event. See [
833
+ # `spaces.messages.thread.threadKey`](/chat/api/reference/rest/v1/spaces.
834
+ # messages#Thread.FIELDS.thread_key) for more information.
728
835
  # Corresponds to the JSON property `threadKey`
729
836
  # @return [String]
730
837
  attr_accessor :thread_key
@@ -740,12 +847,17 @@ module Google
740
847
  # @return [String]
741
848
  attr_accessor :token
742
849
 
743
- # The type of the event.
850
+ # The type of interaction event. For details, see [Types of Google Chat app
851
+ # interaction events](https://developers.google.com/chat/api/guides/message-
852
+ # formats/events).
744
853
  # Corresponds to the JSON property `type`
745
854
  # @return [String]
746
855
  attr_accessor :type
747
856
 
748
- # A user in Google Chat.
857
+ # A user in Google Chat. When returned as an output from a request, if your Chat
858
+ # app [authenticates as a user](https://developers.google.com/chat/api/guides/
859
+ # auth/users), the output for a `User` resource only populates the user's `name`
860
+ # and `type`.
749
861
  # Corresponds to the JSON property `user`
750
862
  # @return [Google::Apis::ChatV1::User]
751
863
  attr_accessor :user
@@ -775,24 +887,29 @@ module Google
775
887
  class Dialog
776
888
  include Google::Apis::Core::Hashable
777
889
 
778
- # A card is a UI element that can contain UI widgets such as text and images.
779
- # For more information, see Cards . For example, the following JSON creates a
780
- # card that has a header with the name, position, icons, and link for a contact,
781
- # followed by a section with contact information like email and phone number. ```
782
- # ` "header": ` "title": "Sasha", "subtitle": "Software Engineer", "imageStyle":
783
- # "ImageStyle.AVATAR", "imageUrl": "https://example.com/sasha.png", "
784
- # imageAltText": "Avatar for Sasha" `, "sections" : [ ` "header": "Contact Info",
785
- # "widgets": [ ` "decorated_text": ` "icon": ` "knownIcon": "EMAIL" `, "content"
786
- # : "sasha@example.com" ` `, ` "decoratedText": ` "icon": ` "knownIcon": "PERSON"
787
- # `, "content": "Online" ` `, ` "decoratedText": ` "icon": ` "knownIcon": "
788
- # PHONE" `, "content": "+1 (555) 555-1234" ` `, ` "buttons": [ ` "textButton": `
789
- # "text": "Share", `, "onClick": ` "openLink": ` "url": "https://example.com/
790
- # share" ` ` `, ` "textButton": ` "text": "Edit", `, "onClick": ` "action": ` "
791
- # function": "goToView", "parameters": [ ` "key": "viewType", "value": "EDIT" ` ]
792
- # , "loadIndicator": "LoadIndicator.SPINNER" ` ` ` ] ` ], "collapsible": true, "
793
- # uncollapsibleWidgetsCount": 3 ` ], "cardActions": [ ` "actionLabel": "Send
794
- # Feedback", "onClick": ` "openLink": ` "url": "https://example.com/feedback" ` `
795
- # ` ], "name": "contact-card-K3wB6arF2H9L" ` ```
890
+ # A card interface displayed in a Google Chat message or Google Workspace Add-on.
891
+ # Cards support a defined layout, interactive UI elements like buttons, and
892
+ # rich media like images. Use cards to present detailed information, gather
893
+ # information from users, and guide users to take a next step. To learn how to
894
+ # build cards, see the following documentation: * For Google Chat apps, see [
895
+ # Design dynamic, interactive, and consistent UIs with cards](https://developers.
896
+ # google.com/chat/ui). * For Google Workspace Add-ons, see [Card-based
897
+ # interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards).
898
+ # **Example: Card message for a Google Chat app** ![Example contact card](https:/
899
+ # /developers.google.com/chat/images/card_api_reference.png) To create the
900
+ # sample card message in Google Chat, use the following JSON: ``` ` "cardsV2": [
901
+ # ` "cardId": "unique-card-id", "card": ` "header": ` "title": "Sasha", "
902
+ # subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/
903
+ # chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText":
904
+ # "Avatar for Sasha", `, "sections": [ ` "header": "Contact Info", "collapsible":
905
+ # true, "uncollapsibleWidgetsCount": 1, "widgets": [ ` "decoratedText": ` "
906
+ # startIcon": ` "knownIcon": "EMAIL", `, "text": "sasha@example.com", ` `, ` "
907
+ # decoratedText": ` "startIcon": ` "knownIcon": "PERSON", `, "text": "Online", `,
908
+ # `, ` "decoratedText": ` "startIcon": ` "knownIcon": "PHONE", `, "text": "+1 (
909
+ # 555) 555-1234", ` `, ` "buttonList": ` "buttons": [ ` "text": "Share", "
910
+ # onClick": ` "openLink": ` "url": "https://example.com/share", ` ` `, ` "text":
911
+ # "Edit", "onClick": ` "action": ` "function": "goToView", "parameters": [ ` "
912
+ # key": "viewType", "value": "EDIT", ` ], ` ` `, ], ` `, ], `, ], `, ` ], ` ```
796
913
  # Corresponds to the JSON property `body`
797
914
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1Card]
798
915
  attr_accessor :body
@@ -838,7 +955,7 @@ module Google
838
955
  class DriveDataRef
839
956
  include Google::Apis::Core::Hashable
840
957
 
841
- # The id for the drive file, for use with the Drive API.
958
+ # The ID for the drive file. Use with the Drive API.
842
959
  # Corresponds to the JSON property `driveFileId`
843
960
  # @return [String]
844
961
  attr_accessor :drive_file_id
@@ -853,6 +970,56 @@ module Google
853
970
  end
854
971
  end
855
972
 
973
+ # An emoji that is used as a reaction to a message.
974
+ class Emoji
975
+ include Google::Apis::Core::Hashable
976
+
977
+ # Represents a custom emoji.
978
+ # Corresponds to the JSON property `customEmoji`
979
+ # @return [Google::Apis::ChatV1::CustomEmoji]
980
+ attr_accessor :custom_emoji
981
+
982
+ # A basic emoji represented by a unicode string.
983
+ # Corresponds to the JSON property `unicode`
984
+ # @return [String]
985
+ attr_accessor :unicode
986
+
987
+ def initialize(**args)
988
+ update!(**args)
989
+ end
990
+
991
+ # Update properties of this object
992
+ def update!(**args)
993
+ @custom_emoji = args[:custom_emoji] if args.key?(:custom_emoji)
994
+ @unicode = args[:unicode] if args.key?(:unicode)
995
+ end
996
+ end
997
+
998
+ # The number of people who reacted to a message with a specific emoji.
999
+ class EmojiReactionSummary
1000
+ include Google::Apis::Core::Hashable
1001
+
1002
+ # An emoji that is used as a reaction to a message.
1003
+ # Corresponds to the JSON property `emoji`
1004
+ # @return [Google::Apis::ChatV1::Emoji]
1005
+ attr_accessor :emoji
1006
+
1007
+ # The total number of reactions using the associated emoji.
1008
+ # Corresponds to the JSON property `reactionCount`
1009
+ # @return [Fixnum]
1010
+ attr_accessor :reaction_count
1011
+
1012
+ def initialize(**args)
1013
+ update!(**args)
1014
+ end
1015
+
1016
+ # Update properties of this object
1017
+ def update!(**args)
1018
+ @emoji = args[:emoji] if args.key?(:emoji)
1019
+ @reaction_count = args[:reaction_count] if args.key?(:reaction_count)
1020
+ end
1021
+ end
1022
+
856
1023
  # A generic empty message that you can re-use to avoid defining duplicated empty
857
1024
  # messages in your APIs. A typical example is to use it as the request or the
858
1025
  # response type of an API method. For instance: service Foo ` rpc Bar(google.
@@ -870,14 +1037,14 @@ module Google
870
1037
  end
871
1038
 
872
1039
  # A form action describes the behavior when the form is submitted. For example,
873
- # an Apps Script can be invoked to handle the form.
1040
+ # you can invoke Apps Script to handle the form.
874
1041
  class FormAction
875
1042
  include Google::Apis::Core::Hashable
876
1043
 
877
1044
  # The method name is used to identify which part of the form triggered the form
878
1045
  # submission. This information is echoed back to the Chat app as part of the
879
- # card click event. The same method name can be used for several elements that
880
- # trigger a common behavior if desired.
1046
+ # card click event. You can use the same method name for several elements that
1047
+ # trigger a common behavior.
881
1048
  # Corresponds to the JSON property `actionMethodName`
882
1049
  # @return [String]
883
1050
  attr_accessor :action_method_name
@@ -899,16 +1066,32 @@ module Google
899
1066
  end
900
1067
 
901
1068
  # An action that describes the behavior when the form is submitted. For example,
902
- # an Apps Script can be invoked to handle the form.
1069
+ # you can invoke an Apps Script script to handle the form. If the action is
1070
+ # triggered, the form values are sent to the server.
903
1071
  class GoogleAppsCardV1Action
904
1072
  include Google::Apis::Core::Hashable
905
1073
 
906
- # Apps Script function to invoke when the containing element is clicked/
907
- # activated.
1074
+ # A custom function to invoke when the containing element is clicked or othrwise
1075
+ # activated. For example usage, see [Create interactive cards](https://
1076
+ # developers.google.com/chat/how-tos/cards-onclick).
908
1077
  # Corresponds to the JSON property `function`
909
1078
  # @return [String]
910
1079
  attr_accessor :function
911
1080
 
1081
+ # Optional. Required when opening a [dialog](https://developers.google.com/chat/
1082
+ # how-tos/dialogs). What to do in response to an interaction with a user, such
1083
+ # as a user clicking a button in a card message. If unspecified, the app
1084
+ # responds by executing an `action`—like opening a link or running a function—as
1085
+ # normal. By specifying an `interaction`, the app can respond in special
1086
+ # interactive ways. For example, by setting `interaction` to `OPEN_DIALOG`, the
1087
+ # app can open a [dialog](https://developers.google.com/chat/how-tos/dialogs).
1088
+ # When specified, a loading indicator isn't shown. Supported by Chat apps, but
1089
+ # not Google Workspace Add-ons. If specified for an add-on, the entire card is
1090
+ # stripped and nothing is shown in the client.
1091
+ # Corresponds to the JSON property `interaction`
1092
+ # @return [String]
1093
+ attr_accessor :interaction
1094
+
912
1095
  # Specifies the loading indicator that the action displays while making the call
913
1096
  # to the action.
914
1097
  # Corresponds to the JSON property `loadIndicator`
@@ -921,17 +1104,19 @@ module Google
921
1104
  attr_accessor :parameters
922
1105
 
923
1106
  # Indicates whether form values persist after the action. The default value is `
924
- # false`. If `true`, form values remain after the action is triggered. When
925
- # using [LoadIndicator.NONE](https://developers.google.com/workspace/add-ons/
926
- # reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values`
927
- # = `true`is recommended, as it ensures that any changes made by the user after
928
- # form or on change actions are sent to the server are not overwritten by the
929
- # response. If `false`, the form values are cleared when the action is triggered.
930
- # When `persist_values` is set to `false`, it is strongly recommended that the
931
- # card use [LoadIndicator.SPINNER](https://developers.google.com/workspace/add-
932
- # ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this
933
- # locks the UI to ensure no changes are made by the user while the action is
934
- # being processed. Not supported by Google Chat apps.
1107
+ # false`. If `true`, form values remain after the action is triggered. To let
1108
+ # the user make changes while the action is being processed, set [`LoadIndicator`
1109
+ # ](https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.
1110
+ # card.v1#loadindicator) to `NONE`. For [card messages](https://developers.
1111
+ # google.com/chat/api/guides/message-formats/cards) in Chat apps, you must also
1112
+ # set the action's [`ResponseType`](https://developers.google.com/chat/api/
1113
+ # reference/rest/v1/spaces.messages#responsetype) to `UPDATE_MESSAGE` and use
1114
+ # the same [`card_id`](https://developers.google.com/chat/api/reference/rest/v1/
1115
+ # spaces.messages#CardWithId) from the card that contained the action. If `false`
1116
+ # , the form values are cleared when the action is triggered. To prevent the
1117
+ # user from making changes while the action is being processed, set [`
1118
+ # LoadIndicator`](https://developers.google.com/workspace/add-ons/reference/rpc/
1119
+ # google.apps.card.v1#loadindicator) to `SPINNER`.
935
1120
  # Corresponds to the JSON property `persistValues`
936
1121
  # @return [Boolean]
937
1122
  attr_accessor :persist_values
@@ -944,6 +1129,7 @@ module Google
944
1129
  # Update properties of this object
945
1130
  def update!(**args)
946
1131
  @function = args[:function] if args.key?(:function)
1132
+ @interaction = args[:interaction] if args.key?(:interaction)
947
1133
  @load_indicator = args[:load_indicator] if args.key?(:load_indicator)
948
1134
  @parameters = args[:parameters] if args.key?(:parameters)
949
1135
  @persist_values = args[:persist_values] if args.key?(:persist_values)
@@ -951,9 +1137,11 @@ module Google
951
1137
  end
952
1138
 
953
1139
  # List of string parameters to supply when the action method is invoked. For
954
- # example, consider three snooze buttons: snooze now, snooze 1 day, snooze next
955
- # week. You might use action method = snooze(), passing the snooze type and
956
- # snooze time in the list of string parameters.
1140
+ # example, consider three snooze buttons: snooze now, snooze one day, or snooze
1141
+ # next week. You might use `action method = snooze()`, passing the snooze type
1142
+ # and snooze time in the list of string parameters. To learn more, see [`
1143
+ # CommonEventObject`](https://developers.google.com/chat/api/reference/rest/v1/
1144
+ # Event#commoneventobject).
957
1145
  class GoogleAppsCardV1ActionParameter
958
1146
  include Google::Apis::Core::Hashable
959
1147
 
@@ -978,7 +1166,8 @@ module Google
978
1166
  end
979
1167
  end
980
1168
 
981
- # Represents the complete border style applied to widgets.
1169
+ # The style options for the border of a card or widget, including the border
1170
+ # type and color.
982
1171
  class GoogleAppsCardV1BorderStyle
983
1172
  include Google::Apis::Core::Hashable
984
1173
 
@@ -988,18 +1177,18 @@ module Google
988
1177
  attr_accessor :corner_radius
989
1178
 
990
1179
  # Represents a color in the RGBA color space. This representation is designed
991
- # for simplicity of conversion to/from color representations in various
1180
+ # for simplicity of conversion to and from color representations in various
992
1181
  # languages over compactness. For example, the fields of this representation can
993
1182
  # be trivially provided to the constructor of `java.awt.Color` in Java; it can
994
1183
  # also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha`
995
1184
  # method in iOS; and, with just a little work, it can be easily formatted into a
996
- # CSS `rgba()` string in JavaScript. This reference page doesn't carry
1185
+ # CSS `rgba()` string in JavaScript. This reference page doesn't have
997
1186
  # information about the absolute color space that should be used to interpret
998
- # the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default,
1187
+ # the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default,
999
1188
  # applications should assume the sRGB color space. When color equality needs to
1000
1189
  # be decided, implementations, unless documented otherwise, treat two colors as
1001
- # equal if all their red, green, blue, and alpha values each differ by at most
1002
- # 1e-5. Example (Java): import com.google.type.Color; // ... public static java.
1190
+ # equal if all their red, green, blue, and alpha values each differ by at most `
1191
+ # 1e-5`. Example (Java): import com.google.type.Color; // ... public static java.
1003
1192
  # awt.Color fromProto(Color protocolor) ` float alpha = protocolor.hasAlpha() ?
1004
1193
  # protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.
1005
1194
  # getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); ` public static
@@ -1053,29 +1242,34 @@ module Google
1053
1242
  end
1054
1243
  end
1055
1244
 
1056
- # A button. Can be a text button or an image button.
1245
+ # A text, icon, or text and icon button that users can click. For an example in
1246
+ # Google Chat apps, see [Button list](https://developers.google.com/chat/ui/
1247
+ # widgets/button-list). To make an image a clickable button, specify an `Image` (
1248
+ # not an `ImageComponent`) and set an `onClick` action.
1057
1249
  class GoogleAppsCardV1Button
1058
1250
  include Google::Apis::Core::Hashable
1059
1251
 
1060
- # The alternative text used for accessibility. Has no effect when an icon is set;
1061
- # use `icon.alt_text` instead.
1252
+ # The alternative text that's used for accessibility. Set descriptive text that
1253
+ # lets users know what the button does. For example, if a button opens a
1254
+ # hyperlink, you might write: "Opens a new browser tab and navigates to the
1255
+ # Google Chat developer documentation at https://developers.google.com/chat".
1062
1256
  # Corresponds to the JSON property `altText`
1063
1257
  # @return [String]
1064
1258
  attr_accessor :alt_text
1065
1259
 
1066
1260
  # Represents a color in the RGBA color space. This representation is designed
1067
- # for simplicity of conversion to/from color representations in various
1261
+ # for simplicity of conversion to and from color representations in various
1068
1262
  # languages over compactness. For example, the fields of this representation can
1069
1263
  # be trivially provided to the constructor of `java.awt.Color` in Java; it can
1070
1264
  # also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha`
1071
1265
  # method in iOS; and, with just a little work, it can be easily formatted into a
1072
- # CSS `rgba()` string in JavaScript. This reference page doesn't carry
1266
+ # CSS `rgba()` string in JavaScript. This reference page doesn't have
1073
1267
  # information about the absolute color space that should be used to interpret
1074
- # the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default,
1268
+ # the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default,
1075
1269
  # applications should assume the sRGB color space. When color equality needs to
1076
1270
  # be decided, implementations, unless documented otherwise, treat two colors as
1077
- # equal if all their red, green, blue, and alpha values each differ by at most
1078
- # 1e-5. Example (Java): import com.google.type.Color; // ... public static java.
1271
+ # equal if all their red, green, blue, and alpha values each differ by at most `
1272
+ # 1e-5`. Example (Java): import com.google.type.Color; // ... public static java.
1079
1273
  # awt.Color fromProto(Color protocolor) ` float alpha = protocolor.hasAlpha() ?
1080
1274
  # protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.
1081
1275
  # getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); ` public static
@@ -1112,24 +1306,29 @@ module Google
1112
1306
  # @return [Google::Apis::ChatV1::Color]
1113
1307
  attr_accessor :color
1114
1308
 
1115
- # If `true`, the button is displayed in a disabled state and doesn't respond to
1309
+ # If `true`, the button is displayed in an inactive state and doesn't respond to
1116
1310
  # user actions.
1117
1311
  # Corresponds to the JSON property `disabled`
1118
1312
  # @return [Boolean]
1119
1313
  attr_accessor :disabled
1120
1314
  alias_method :disabled?, :disabled
1121
1315
 
1122
- # The icon image.
1316
+ # An icon displayed in a widget on a card. For an example in Google Chat apps,
1317
+ # see [Icon](https://developers.google.com/chat/ui/widgets/icon). Supports [
1318
+ # built-in](https://developers.google.com/chat/api/guides/message-formats/cards#
1319
+ # builtinicons) and [custom](https://developers.google.com/chat/api/guides/
1320
+ # message-formats/cards#customicons) icons.
1123
1321
  # Corresponds to the JSON property `icon`
1124
1322
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1Icon]
1125
1323
  attr_accessor :icon
1126
1324
 
1127
- # Represents the response to an `onClick` event.
1325
+ # Represents how to respond when users click an interactive element on a card,
1326
+ # such as a button.
1128
1327
  # Corresponds to the JSON property `onClick`
1129
1328
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1OnClick]
1130
1329
  attr_accessor :on_click
1131
1330
 
1132
- # The text of the button.
1331
+ # The text displayed inside the button.
1133
1332
  # Corresponds to the JSON property `text`
1134
1333
  # @return [String]
1135
1334
  attr_accessor :text
@@ -1149,7 +1348,8 @@ module Google
1149
1348
  end
1150
1349
  end
1151
1350
 
1152
- # A list of buttons layed out horizontally.
1351
+ # A list of buttons layed out horizontally. For an example in Google Chat apps,
1352
+ # see [Button list](https://developers.google.com/chat/ui/widgets/button-list).
1153
1353
  class GoogleAppsCardV1ButtonList
1154
1354
  include Google::Apis::Core::Hashable
1155
1355
 
@@ -1168,30 +1368,36 @@ module Google
1168
1368
  end
1169
1369
  end
1170
1370
 
1171
- # A card is a UI element that can contain UI widgets such as text and images.
1172
- # For more information, see Cards . For example, the following JSON creates a
1173
- # card that has a header with the name, position, icons, and link for a contact,
1174
- # followed by a section with contact information like email and phone number. ```
1175
- # ` "header": ` "title": "Sasha", "subtitle": "Software Engineer", "imageStyle":
1176
- # "ImageStyle.AVATAR", "imageUrl": "https://example.com/sasha.png", "
1177
- # imageAltText": "Avatar for Sasha" `, "sections" : [ ` "header": "Contact Info",
1178
- # "widgets": [ ` "decorated_text": ` "icon": ` "knownIcon": "EMAIL" `, "content"
1179
- # : "sasha@example.com" ` `, ` "decoratedText": ` "icon": ` "knownIcon": "PERSON"
1180
- # `, "content": "Online" ` `, ` "decoratedText": ` "icon": ` "knownIcon": "
1181
- # PHONE" `, "content": "+1 (555) 555-1234" ` `, ` "buttons": [ ` "textButton": `
1182
- # "text": "Share", `, "onClick": ` "openLink": ` "url": "https://example.com/
1183
- # share" ` ` `, ` "textButton": ` "text": "Edit", `, "onClick": ` "action": ` "
1184
- # function": "goToView", "parameters": [ ` "key": "viewType", "value": "EDIT" ` ]
1185
- # , "loadIndicator": "LoadIndicator.SPINNER" ` ` ` ] ` ], "collapsible": true, "
1186
- # uncollapsibleWidgetsCount": 3 ` ], "cardActions": [ ` "actionLabel": "Send
1187
- # Feedback", "onClick": ` "openLink": ` "url": "https://example.com/feedback" ` `
1188
- # ` ], "name": "contact-card-K3wB6arF2H9L" ` ```
1371
+ # A card interface displayed in a Google Chat message or Google Workspace Add-on.
1372
+ # Cards support a defined layout, interactive UI elements like buttons, and
1373
+ # rich media like images. Use cards to present detailed information, gather
1374
+ # information from users, and guide users to take a next step. To learn how to
1375
+ # build cards, see the following documentation: * For Google Chat apps, see [
1376
+ # Design dynamic, interactive, and consistent UIs with cards](https://developers.
1377
+ # google.com/chat/ui). * For Google Workspace Add-ons, see [Card-based
1378
+ # interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards).
1379
+ # **Example: Card message for a Google Chat app** ![Example contact card](https:/
1380
+ # /developers.google.com/chat/images/card_api_reference.png) To create the
1381
+ # sample card message in Google Chat, use the following JSON: ``` ` "cardsV2": [
1382
+ # ` "cardId": "unique-card-id", "card": ` "header": ` "title": "Sasha", "
1383
+ # subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/
1384
+ # chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText":
1385
+ # "Avatar for Sasha", `, "sections": [ ` "header": "Contact Info", "collapsible":
1386
+ # true, "uncollapsibleWidgetsCount": 1, "widgets": [ ` "decoratedText": ` "
1387
+ # startIcon": ` "knownIcon": "EMAIL", `, "text": "sasha@example.com", ` `, ` "
1388
+ # decoratedText": ` "startIcon": ` "knownIcon": "PERSON", `, "text": "Online", `,
1389
+ # `, ` "decoratedText": ` "startIcon": ` "knownIcon": "PHONE", `, "text": "+1 (
1390
+ # 555) 555-1234", ` `, ` "buttonList": ` "buttons": [ ` "text": "Share", "
1391
+ # onClick": ` "openLink": ` "url": "https://example.com/share", ` ` `, ` "text":
1392
+ # "Edit", "onClick": ` "action": ` "function": "goToView", "parameters": [ ` "
1393
+ # key": "viewType", "value": "EDIT", ` ], ` ` `, ], ` `, ], `, ], `, ` ], ` ```
1189
1394
  class GoogleAppsCardV1Card
1190
1395
  include Google::Apis::Core::Hashable
1191
1396
 
1192
- # The card's actions. Actions are added to the card's generated toolbar menu.
1193
- # For example, the following JSON constructs a card action menu with Settings
1194
- # and Send Feedback options: ``` "card_actions": [ ` "actionLabel": "Settings", "
1397
+ # The card's actions. Actions are added to the card's toolbar menu. Because Chat
1398
+ # app cards have no toolbar, `cardActions[]` isn't supported by Chat apps. For
1399
+ # example, the following JSON constructs a card action menu with `Settings` and `
1400
+ # Send Feedback` options: ``` "card_actions": [ ` "actionLabel": "Settings", "
1195
1401
  # onClick": ` "action": ` "functionName": "goToView", "parameters": [ ` "key": "
1196
1402
  # viewType", "value": "SETTING" ` ], "loadIndicator": "LoadIndicator.SPINNER" ` `
1197
1403
  # `, ` "actionLabel": "Send Feedback", "onClick": ` "openLink": ` "url": "https:
@@ -1200,32 +1406,51 @@ module Google
1200
1406
  # @return [Array<Google::Apis::ChatV1::GoogleAppsCardV1CardAction>]
1201
1407
  attr_accessor :card_actions
1202
1408
 
1203
- # The `peekCardHeader` display style for. Not supported by Google Chat apps.
1409
+ # In Google Workspace add-ons, sets the display properties of the `
1410
+ # peekCardHeader`. Not supported by Chat apps.
1204
1411
  # Corresponds to the JSON property `displayStyle`
1205
1412
  # @return [String]
1206
1413
  attr_accessor :display_style
1207
1414
 
1208
- # A persistent (sticky) footer that is added to the bottom of the card.
1415
+ # A persistent (sticky) footer that that appears at the bottom of the card. For
1416
+ # an example in Google Chat apps, see [Card footer](https://developers.google.
1417
+ # com/chat/ui/widgets/card-fixed-footer). Setting `fixedFooter` without
1418
+ # specifying a `primaryButton` or a `secondaryButton` causes an error. Supported
1419
+ # by Google Workspace Add-ons and Chat apps. For Chat apps, you can use fixed
1420
+ # footers in [dialogs](https://developers.google.com/chat/how-tos/dialogs), but
1421
+ # not [card messages](https://developers.google.com/chat/api/guides/message-
1422
+ # formats/cards).
1209
1423
  # Corresponds to the JSON property `fixedFooter`
1210
1424
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1CardFixedFooter]
1211
1425
  attr_accessor :fixed_footer
1212
1426
 
1213
- # Represents a card header.
1427
+ # Represents a card header. For an example in Google Chat apps, see [Card header]
1428
+ # (https://developers.google.com/chat/ui/widgets/card-header).
1214
1429
  # Corresponds to the JSON property `header`
1215
1430
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1CardHeader]
1216
1431
  attr_accessor :header
1217
1432
 
1218
- # Name of the card. Used as a card identifier in card navigation.
1433
+ # Name of the card. Used as a card identifier in card navigation. Because Chat
1434
+ # apps don't support card navigation, they ignore this field.
1219
1435
  # Corresponds to the JSON property `name`
1220
1436
  # @return [String]
1221
1437
  attr_accessor :name
1222
1438
 
1223
- # Represents a card header.
1439
+ # Represents a card header. For an example in Google Chat apps, see [Card header]
1440
+ # (https://developers.google.com/chat/ui/widgets/card-header).
1224
1441
  # Corresponds to the JSON property `peekCardHeader`
1225
1442
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1CardHeader]
1226
1443
  attr_accessor :peek_card_header
1227
1444
 
1228
- # Sections are separated by a line divider.
1445
+ # The divider style between sections.
1446
+ # Corresponds to the JSON property `sectionDividerStyle`
1447
+ # @return [String]
1448
+ attr_accessor :section_divider_style
1449
+
1450
+ # Contains a collection of widgets. Each section has its own, optional header.
1451
+ # Sections are visually separated by a line divider. For an example in Google
1452
+ # Chat apps, see [Card section](https://developers.google.com/chat/ui/widgets/
1453
+ # card-section).
1229
1454
  # Corresponds to the JSON property `sections`
1230
1455
  # @return [Array<Google::Apis::ChatV1::GoogleAppsCardV1Section>]
1231
1456
  attr_accessor :sections
@@ -1242,13 +1467,14 @@ module Google
1242
1467
  @header = args[:header] if args.key?(:header)
1243
1468
  @name = args[:name] if args.key?(:name)
1244
1469
  @peek_card_header = args[:peek_card_header] if args.key?(:peek_card_header)
1470
+ @section_divider_style = args[:section_divider_style] if args.key?(:section_divider_style)
1245
1471
  @sections = args[:sections] if args.key?(:sections)
1246
1472
  end
1247
1473
  end
1248
1474
 
1249
1475
  # A card action is the action associated with the card. For example, an invoice
1250
1476
  # card might include actions such as delete invoice, email invoice, or open the
1251
- # invoice in a browser.
1477
+ # invoice in a browser. Not supported by Chat apps.
1252
1478
  class GoogleAppsCardV1CardAction
1253
1479
  include Google::Apis::Core::Hashable
1254
1480
 
@@ -1257,7 +1483,8 @@ module Google
1257
1483
  # @return [String]
1258
1484
  attr_accessor :action_label
1259
1485
 
1260
- # Represents the response to an `onClick` event.
1486
+ # Represents how to respond when users click an interactive element on a card,
1487
+ # such as a button.
1261
1488
  # Corresponds to the JSON property `onClick`
1262
1489
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1OnClick]
1263
1490
  attr_accessor :on_click
@@ -1273,16 +1500,29 @@ module Google
1273
1500
  end
1274
1501
  end
1275
1502
 
1276
- # A persistent (sticky) footer that is added to the bottom of the card.
1503
+ # A persistent (sticky) footer that that appears at the bottom of the card. For
1504
+ # an example in Google Chat apps, see [Card footer](https://developers.google.
1505
+ # com/chat/ui/widgets/card-fixed-footer). Setting `fixedFooter` without
1506
+ # specifying a `primaryButton` or a `secondaryButton` causes an error. Supported
1507
+ # by Google Workspace Add-ons and Chat apps. For Chat apps, you can use fixed
1508
+ # footers in [dialogs](https://developers.google.com/chat/how-tos/dialogs), but
1509
+ # not [card messages](https://developers.google.com/chat/api/guides/message-
1510
+ # formats/cards).
1277
1511
  class GoogleAppsCardV1CardFixedFooter
1278
1512
  include Google::Apis::Core::Hashable
1279
1513
 
1280
- # A button. Can be a text button or an image button.
1514
+ # A text, icon, or text and icon button that users can click. For an example in
1515
+ # Google Chat apps, see [Button list](https://developers.google.com/chat/ui/
1516
+ # widgets/button-list). To make an image a clickable button, specify an `Image` (
1517
+ # not an `ImageComponent`) and set an `onClick` action.
1281
1518
  # Corresponds to the JSON property `primaryButton`
1282
1519
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1Button]
1283
1520
  attr_accessor :primary_button
1284
1521
 
1285
- # A button. Can be a text button or an image button.
1522
+ # A text, icon, or text and icon button that users can click. For an example in
1523
+ # Google Chat apps, see [Button list](https://developers.google.com/chat/ui/
1524
+ # widgets/button-list). To make an image a clickable button, specify an `Image` (
1525
+ # not an `ImageComponent`) and set an `onClick` action.
1286
1526
  # Corresponds to the JSON property `secondaryButton`
1287
1527
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1Button]
1288
1528
  attr_accessor :secondary_button
@@ -1298,26 +1538,28 @@ module Google
1298
1538
  end
1299
1539
  end
1300
1540
 
1301
- # Represents a card header.
1541
+ # Represents a card header. For an example in Google Chat apps, see [Card header]
1542
+ # (https://developers.google.com/chat/ui/widgets/card-header).
1302
1543
  class GoogleAppsCardV1CardHeader
1303
1544
  include Google::Apis::Core::Hashable
1304
1545
 
1305
- # The alternative text of this image which is used for accessibility.
1546
+ # The alternative text of this image that's used for accessibility.
1306
1547
  # Corresponds to the JSON property `imageAltText`
1307
1548
  # @return [String]
1308
1549
  attr_accessor :image_alt_text
1309
1550
 
1310
- # The image's type.
1551
+ # The shape used to crop the image.
1311
1552
  # Corresponds to the JSON property `imageType`
1312
1553
  # @return [String]
1313
1554
  attr_accessor :image_type
1314
1555
 
1315
- # The URL of the image in the card header.
1556
+ # The HTTPS URL of the image in the card header.
1316
1557
  # Corresponds to the JSON property `imageUrl`
1317
1558
  # @return [String]
1318
1559
  attr_accessor :image_url
1319
1560
 
1320
- # The subtitle of the card header.
1561
+ # The subtitle of the card header. If specified, appears on its own line below
1562
+ # the `title`.
1321
1563
  # Corresponds to the JSON property `subtitle`
1322
1564
  # @return [String]
1323
1565
  attr_accessor :subtitle
@@ -1343,45 +1585,127 @@ module Google
1343
1585
  end
1344
1586
  end
1345
1587
 
1346
- # The widget that lets users to specify a date and time. Not supported by Google
1347
- # Chat apps.
1588
+ # A column.
1589
+ class GoogleAppsCardV1Column
1590
+ include Google::Apis::Core::Hashable
1591
+
1592
+ # Specifies whether widgets align to the left, right, or center of a column.
1593
+ # Corresponds to the JSON property `horizontalAlignment`
1594
+ # @return [String]
1595
+ attr_accessor :horizontal_alignment
1596
+
1597
+ # Specifies how a column fills the width of the card.
1598
+ # Corresponds to the JSON property `horizontalSizeStyle`
1599
+ # @return [String]
1600
+ attr_accessor :horizontal_size_style
1601
+
1602
+ # Specifies whether widgets align to the top, bottom, or center of a column.
1603
+ # Corresponds to the JSON property `verticalAlignment`
1604
+ # @return [String]
1605
+ attr_accessor :vertical_alignment
1606
+
1607
+ # An array of widgets included in a column. Widgets appear in the order that
1608
+ # they are specified.
1609
+ # Corresponds to the JSON property `widgets`
1610
+ # @return [Array<Google::Apis::ChatV1::GoogleAppsCardV1Widgets>]
1611
+ attr_accessor :widgets
1612
+
1613
+ def initialize(**args)
1614
+ update!(**args)
1615
+ end
1616
+
1617
+ # Update properties of this object
1618
+ def update!(**args)
1619
+ @horizontal_alignment = args[:horizontal_alignment] if args.key?(:horizontal_alignment)
1620
+ @horizontal_size_style = args[:horizontal_size_style] if args.key?(:horizontal_size_style)
1621
+ @vertical_alignment = args[:vertical_alignment] if args.key?(:vertical_alignment)
1622
+ @widgets = args[:widgets] if args.key?(:widgets)
1623
+ end
1624
+ end
1625
+
1626
+ # The `Columns` widget displays up to 2 columns in a card message or dialog. You
1627
+ # can add widgets to each column; the widgets appear in the order that they are
1628
+ # specified. For an example in Google Chat apps, see [Columns](https://
1629
+ # developers.google.com/chat/ui/widgets/columns). The height of each column is
1630
+ # determined by the taller column. For example, if the first column is taller
1631
+ # than the second column, both columns have the height of the first column.
1632
+ # Because each column can contain a different number of widgets, you can't
1633
+ # define rows or align widgets between the columns. Columns are displayed side-
1634
+ # by-side. You can customize the width of each column using the `
1635
+ # HorizontalSizeStyle` field. If the user's screen width is too narrow, the
1636
+ # second column wraps below the first: * On web, the second column wraps if the
1637
+ # screen width is less than or equal to 480 pixels. * On iOS devices, the second
1638
+ # column wraps if the screen width is less than or equal to 300 pt. * On Android
1639
+ # devices, the second column wraps if the screen width is less than or equal to
1640
+ # 320 dp. To include more than 2 columns, or to use rows, use the `Grid` widget.
1641
+ # Supported by Chat apps, but not Google Workspace Add-ons.
1642
+ class GoogleAppsCardV1Columns
1643
+ include Google::Apis::Core::Hashable
1644
+
1645
+ # An array of columns. You can include up to 2 columns in a card or dialog.
1646
+ # Corresponds to the JSON property `columnItems`
1647
+ # @return [Array<Google::Apis::ChatV1::GoogleAppsCardV1Column>]
1648
+ attr_accessor :column_items
1649
+
1650
+ def initialize(**args)
1651
+ update!(**args)
1652
+ end
1653
+
1654
+ # Update properties of this object
1655
+ def update!(**args)
1656
+ @column_items = args[:column_items] if args.key?(:column_items)
1657
+ end
1658
+ end
1659
+
1660
+ # Lets users input a date, a time, or both a date and a time. For an example in
1661
+ # Google Chat apps, see [Date time picker](https://developers.google.com/chat/ui/
1662
+ # widgets/date-time-picker). Users can input text or use the picker to select
1663
+ # dates and times. If users input an invalid date or time, the picker shows an
1664
+ # error that prompts users to input the information correctly.
1348
1665
  class GoogleAppsCardV1DateTimePicker
1349
1666
  include Google::Apis::Core::Hashable
1350
1667
 
1351
- # The label for the field that displays to the user.
1668
+ # The text that prompts users to input a date, a time, or a date and time. For
1669
+ # example, if users are scheduling an appointment, use a label such as `
1670
+ # Appointment date` or `Appointment date and time`.
1352
1671
  # Corresponds to the JSON property `label`
1353
1672
  # @return [String]
1354
1673
  attr_accessor :label
1355
1674
 
1356
- # The name of the text input that's used in `formInput`, and uniquely identifies
1357
- # this input.
1675
+ # The name by which the `DateTimePicker` is identified in a form input event.
1676
+ # For details about working with form inputs, see [Receive form data](https://
1677
+ # developers.google.com/chat/ui/read-form-data).
1358
1678
  # Corresponds to the JSON property `name`
1359
1679
  # @return [String]
1360
1680
  attr_accessor :name
1361
1681
 
1362
1682
  # An action that describes the behavior when the form is submitted. For example,
1363
- # an Apps Script can be invoked to handle the form.
1683
+ # you can invoke an Apps Script script to handle the form. If the action is
1684
+ # triggered, the form values are sent to the server.
1364
1685
  # Corresponds to the JSON property `onChangeAction`
1365
1686
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1Action]
1366
1687
  attr_accessor :on_change_action
1367
1688
 
1368
1689
  # The number representing the time zone offset from UTC, in minutes. If set, the
1369
- # `value_ms_epoch` is displayed in the specified time zone. If not set, it uses
1370
- # the user's time zone setting on the client side.
1690
+ # `value_ms_epoch` is displayed in the specified time zone. If unset, the value
1691
+ # defaults to the user's time zone setting.
1371
1692
  # Corresponds to the JSON property `timezoneOffsetDate`
1372
1693
  # @return [Fixnum]
1373
1694
  attr_accessor :timezone_offset_date
1374
1695
 
1375
- # The type of the date/time picker.
1696
+ # Whether the widget supports inputting a date, a time, or the date and time.
1376
1697
  # Corresponds to the JSON property `type`
1377
1698
  # @return [String]
1378
1699
  attr_accessor :type
1379
1700
 
1380
- # The value to display as the default value before user input or previous user
1381
- # input. It is represented in milliseconds (Epoch time). For `DATE_AND_TIME`
1382
- # type, the full epoch value is used. For `DATE_ONLY` type, only date of the
1383
- # epoch time is used. For `TIME_ONLY` type, only time of the epoch time is used.
1384
- # For example, you can set epoch time to `3 * 60 * 60 * 1000` to represent 3am.
1701
+ # The default value displayed in the widget, in milliseconds since [Unix epoch
1702
+ # time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the
1703
+ # type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and
1704
+ # time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `
1705
+ # 1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example,
1706
+ # to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in
1707
+ # UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 *
1708
+ # 1000`).
1385
1709
  # Corresponds to the JSON property `valueMsEpoch`
1386
1710
  # @return [Fixnum]
1387
1711
  attr_accessor :value_ms_epoch
@@ -1402,58 +1726,81 @@ module Google
1402
1726
  end
1403
1727
 
1404
1728
  # A widget that displays text with optional decorations such as a label above or
1405
- # below the text, an icon in front of the text, a selection widget or a button
1406
- # after the text.
1729
+ # below the text, an icon in front of the text, a selection widget, or a button
1730
+ # after the text. For an example in Google Chat apps, see [Decorated text](https:
1731
+ # //developers.google.com/chat/ui/widgets/decorated-text).
1407
1732
  class GoogleAppsCardV1DecoratedText
1408
1733
  include Google::Apis::Core::Hashable
1409
1734
 
1410
- # The formatted text label that shows below the main text.
1735
+ # The text that appears below `text`. Always wraps.
1411
1736
  # Corresponds to the JSON property `bottomLabel`
1412
1737
  # @return [String]
1413
1738
  attr_accessor :bottom_label
1414
1739
 
1415
- # A button. Can be a text button or an image button.
1740
+ # A text, icon, or text and icon button that users can click. For an example in
1741
+ # Google Chat apps, see [Button list](https://developers.google.com/chat/ui/
1742
+ # widgets/button-list). To make an image a clickable button, specify an `Image` (
1743
+ # not an `ImageComponent`) and set an `onClick` action.
1416
1744
  # Corresponds to the JSON property `button`
1417
1745
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1Button]
1418
1746
  attr_accessor :button
1419
1747
 
1420
- # An icon displayed after the text.
1748
+ # An icon displayed in a widget on a card. For an example in Google Chat apps,
1749
+ # see [Icon](https://developers.google.com/chat/ui/widgets/icon). Supports [
1750
+ # built-in](https://developers.google.com/chat/api/guides/message-formats/cards#
1751
+ # builtinicons) and [custom](https://developers.google.com/chat/api/guides/
1752
+ # message-formats/cards#customicons) icons.
1421
1753
  # Corresponds to the JSON property `endIcon`
1422
1754
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1Icon]
1423
1755
  attr_accessor :end_icon
1424
1756
 
1425
- # Deprecated in favor of start_icon.
1757
+ # An icon displayed in a widget on a card. For an example in Google Chat apps,
1758
+ # see [Icon](https://developers.google.com/chat/ui/widgets/icon). Supports [
1759
+ # built-in](https://developers.google.com/chat/api/guides/message-formats/cards#
1760
+ # builtinicons) and [custom](https://developers.google.com/chat/api/guides/
1761
+ # message-formats/cards#customicons) icons.
1426
1762
  # Corresponds to the JSON property `icon`
1427
1763
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1Icon]
1428
1764
  attr_accessor :icon
1429
1765
 
1430
- # Represents the response to an `onClick` event.
1766
+ # Represents how to respond when users click an interactive element on a card,
1767
+ # such as a button.
1431
1768
  # Corresponds to the JSON property `onClick`
1432
1769
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1OnClick]
1433
1770
  attr_accessor :on_click
1434
1771
 
1435
- # The icon displayed in front of the text.
1772
+ # An icon displayed in a widget on a card. For an example in Google Chat apps,
1773
+ # see [Icon](https://developers.google.com/chat/ui/widgets/icon). Supports [
1774
+ # built-in](https://developers.google.com/chat/api/guides/message-formats/cards#
1775
+ # builtinicons) and [custom](https://developers.google.com/chat/api/guides/
1776
+ # message-formats/cards#customicons) icons.
1436
1777
  # Corresponds to the JSON property `startIcon`
1437
1778
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1Icon]
1438
1779
  attr_accessor :start_icon
1439
1780
 
1440
- # Either a toggle-style switch or a checkbox.
1781
+ # Either a toggle-style switch or a checkbox inside a `decoratedText` widget.
1782
+ # Only supported in the `decoratedText` widget.
1441
1783
  # Corresponds to the JSON property `switchControl`
1442
1784
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1SwitchControl]
1443
1785
  attr_accessor :switch_control
1444
1786
 
1445
- # Required. The main widget formatted text. See Text formatting for details.
1787
+ # Required. The primary text. Supports simple formatting. For more information
1788
+ # about formatting text, see [Formatting text in Google Chat apps](https://
1789
+ # developers.google.com/chat/api/guides/message-formats/cards#card-formatting)
1790
+ # and [Formatting text in Google Workspace Add-ons](https://developers.google.
1791
+ # com/apps-script/add-ons/concepts/widgets#text_formatting).
1446
1792
  # Corresponds to the JSON property `text`
1447
1793
  # @return [String]
1448
1794
  attr_accessor :text
1449
1795
 
1450
- # The formatted text label that shows above the main text.
1796
+ # The text that appears above `text`. Always truncates.
1451
1797
  # Corresponds to the JSON property `topLabel`
1452
1798
  # @return [String]
1453
1799
  attr_accessor :top_label
1454
1800
 
1455
- # The wrap text setting. If `true`, the text is wrapped and displayed in
1456
- # multiline. Otherwise, the text is truncated.
1801
+ # The wrap text setting. If `true`, the text wraps and displays on multiple
1802
+ # lines. Otherwise, the text is truncated. Only applies to `text`, not `topLabel`
1803
+ # and `bottomLabel`.
1457
1804
  # Corresponds to the JSON property `wrapText`
1458
1805
  # @return [Boolean]
1459
1806
  attr_accessor :wrap_text
@@ -1478,7 +1825,10 @@ module Google
1478
1825
  end
1479
1826
  end
1480
1827
 
1481
- # A divider that appears in between widgets.
1828
+ # Displays a divider between widgets as a horizontal line. For an example in
1829
+ # Google Chat apps, see [Divider](https://developers.google.com/chat/ui/widgets/
1830
+ # divider). For example, the following JSON creates a divider: ``` "divider": ``
1831
+ # ```
1482
1832
  class GoogleAppsCardV1Divider
1483
1833
  include Google::Apis::Core::Hashable
1484
1834
 
@@ -1491,11 +1841,24 @@ module Google
1491
1841
  end
1492
1842
  end
1493
1843
 
1494
- # Represents a Grid widget that displays items in a configurable grid layout.
1844
+ # Displays a grid with a collection of items. Items can only include text or
1845
+ # images. For responsive columns, or to include more than text or images, use `
1846
+ # Columns`. For an example in Google Chat apps, see [Grid](https://developers.
1847
+ # google.com/chat/ui/widgets/grid). A grid supports any number of columns and
1848
+ # items. The number of rows is determined by items divided by columns. A grid
1849
+ # with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has
1850
+ # 6 rows. For example, the following JSON creates a 2 column grid with a single
1851
+ # item: ``` "grid": ` "title": "A fine collection of items", "columnCount": 2, "
1852
+ # borderStyle": ` "type": "STROKE", "cornerRadius": 4 `, "items": [ ` "image": `
1853
+ # "imageUri": "https://www.example.com/image.png", "cropStyle": ` "type": "
1854
+ # SQUARE" `, "borderStyle": ` "type": "STROKE" ` `, "title": "An item", "
1855
+ # textAlignment": "CENTER" ` ], "onClick": ` "openLink": ` "url": "https://www.
1856
+ # example.com" ` ` ` ```
1495
1857
  class GoogleAppsCardV1Grid
1496
1858
  include Google::Apis::Core::Hashable
1497
1859
 
1498
- # Represents the complete border style applied to widgets.
1860
+ # The style options for the border of a card or widget, including the border
1861
+ # type and color.
1499
1862
  # Corresponds to the JSON property `borderStyle`
1500
1863
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1BorderStyle]
1501
1864
  attr_accessor :border_style
@@ -1512,7 +1875,8 @@ module Google
1512
1875
  # @return [Array<Google::Apis::ChatV1::GoogleAppsCardV1GridItem>]
1513
1876
  attr_accessor :items
1514
1877
 
1515
- # Represents the response to an `onClick` event.
1878
+ # Represents how to respond when users click an interactive element on a card,
1879
+ # such as a button.
1516
1880
  # Corresponds to the JSON property `onClick`
1517
1881
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1OnClick]
1518
1882
  attr_accessor :on_click
@@ -1536,12 +1900,13 @@ module Google
1536
1900
  end
1537
1901
  end
1538
1902
 
1539
- # Represents a single item in the grid layout.
1903
+ # Represents an item in a grid layout. Items can contain text, an image, or both
1904
+ # text and an image.
1540
1905
  class GoogleAppsCardV1GridItem
1541
1906
  include Google::Apis::Core::Hashable
1542
1907
 
1543
1908
  # A user-specified identifier for this grid item. This identifier is returned in
1544
- # the parent Grid's onClick callback parameters.
1909
+ # the parent grid's `onClick` callback parameters.
1545
1910
  # Corresponds to the JSON property `id`
1546
1911
  # @return [String]
1547
1912
  attr_accessor :id
@@ -1561,11 +1926,6 @@ module Google
1561
1926
  # @return [String]
1562
1927
  attr_accessor :subtitle
1563
1928
 
1564
- # The horizontal alignment of the grid item's text.
1565
- # Corresponds to the JSON property `textAlignment`
1566
- # @return [String]
1567
- attr_accessor :text_alignment
1568
-
1569
1929
  # The grid item's title.
1570
1930
  # Corresponds to the JSON property `title`
1571
1931
  # @return [String]
@@ -1581,33 +1941,47 @@ module Google
1581
1941
  @image = args[:image] if args.key?(:image)
1582
1942
  @layout = args[:layout] if args.key?(:layout)
1583
1943
  @subtitle = args[:subtitle] if args.key?(:subtitle)
1584
- @text_alignment = args[:text_alignment] if args.key?(:text_alignment)
1585
1944
  @title = args[:title] if args.key?(:title)
1586
1945
  end
1587
1946
  end
1588
1947
 
1589
- #
1948
+ # An icon displayed in a widget on a card. For an example in Google Chat apps,
1949
+ # see [Icon](https://developers.google.com/chat/ui/widgets/icon). Supports [
1950
+ # built-in](https://developers.google.com/chat/api/guides/message-formats/cards#
1951
+ # builtinicons) and [custom](https://developers.google.com/chat/api/guides/
1952
+ # message-formats/cards#customicons) icons.
1590
1953
  class GoogleAppsCardV1Icon
1591
1954
  include Google::Apis::Core::Hashable
1592
1955
 
1593
- # The description of the icon, used for accessibility. The default value is
1594
- # provided if you don't specify one.
1956
+ # Optional. A description of the icon used for accessibility. If unspecified,
1957
+ # the default value `Button` is provided. As a best practice, you should set a
1958
+ # helpful description for what the icon displays, and if applicable, what it
1959
+ # does. For example, `A user's account portrait`, or `Opens a new browser tab
1960
+ # and navigates to the Google Chat developer documentation at https://developers.
1961
+ # google.com/chat`. If the icon is set in a `Button`, the `altText` appears as
1962
+ # helper text when the user hovers over the button. However, if the button also
1963
+ # sets `text`, the icon's `altText` is ignored.
1595
1964
  # Corresponds to the JSON property `altText`
1596
1965
  # @return [String]
1597
1966
  attr_accessor :alt_text
1598
1967
 
1599
- # The icon specified by a URL.
1968
+ # Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "
1969
+ # https://developers.google.com/chat/images/quickstart-app-avatar.png" ```
1970
+ # Supported file types include `.png` and `.jpg`.
1600
1971
  # Corresponds to the JSON property `iconUrl`
1601
1972
  # @return [String]
1602
1973
  attr_accessor :icon_url
1603
1974
 
1604
1975
  # The crop style applied to the image. In some cases, applying a `CIRCLE` crop
1605
- # causes the image to be drawn larger than a standard icon.
1976
+ # causes the image to be drawn larger than a built-in icon.
1606
1977
  # Corresponds to the JSON property `imageType`
1607
1978
  # @return [String]
1608
1979
  attr_accessor :image_type
1609
1980
 
1610
- # The icon specified by the string name of a list of known icons.
1981
+ # Display one of the built-in icons provided by Google Workspace. For example,
1982
+ # to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For
1983
+ # a full list of supported icons, see [built-in icons](https://developers.google.
1984
+ # com/chat/api/guides/message-formats/cards#builtinicons).
1611
1985
  # Corresponds to the JSON property `knownIcon`
1612
1986
  # @return [String]
1613
1987
  attr_accessor :known_icon
@@ -1625,21 +1999,24 @@ module Google
1625
1999
  end
1626
2000
  end
1627
2001
 
1628
- # An image that is specified by a URL and can have an `onClick` action.
2002
+ # An image that is specified by a URL and can have an `onClick` action. For an
2003
+ # example, see [Image](https://developers.google.com/chat/ui/widgets/image).
1629
2004
  class GoogleAppsCardV1Image
1630
2005
  include Google::Apis::Core::Hashable
1631
2006
 
1632
- # The alternative text of this image, used for accessibility.
2007
+ # The alternative text of this image that's used for accessibility.
1633
2008
  # Corresponds to the JSON property `altText`
1634
2009
  # @return [String]
1635
2010
  attr_accessor :alt_text
1636
2011
 
1637
- # An image URL.
2012
+ # The HTTPS URL that hosts the image. For example: ``` https://developers.google.
2013
+ # com/chat/images/quickstart-app-avatar.png ```
1638
2014
  # Corresponds to the JSON property `imageUrl`
1639
2015
  # @return [String]
1640
2016
  attr_accessor :image_url
1641
2017
 
1642
- # Represents the response to an `onClick` event.
2018
+ # Represents how to respond when users click an interactive element on a card,
2019
+ # such as a button.
1643
2020
  # Corresponds to the JSON property `onClick`
1644
2021
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1OnClick]
1645
2022
  attr_accessor :on_click
@@ -1665,12 +2042,15 @@ module Google
1665
2042
  # @return [String]
1666
2043
  attr_accessor :alt_text
1667
2044
 
1668
- # Represents the complete border style applied to widgets.
2045
+ # The style options for the border of a card or widget, including the border
2046
+ # type and color.
1669
2047
  # Corresponds to the JSON property `borderStyle`
1670
2048
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1BorderStyle]
1671
2049
  attr_accessor :border_style
1672
2050
 
1673
- # Represents the crop style applied to an image.
2051
+ # Represents the crop style applied to an image. For example, here's how to
2052
+ # apply a 16:9 aspect ratio: ``` cropStyle ` "type": "RECTANGLE_CUSTOM", "
2053
+ # aspectRatio": 16/9 ` ```
1674
2054
  # Corresponds to the JSON property `cropStyle`
1675
2055
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1ImageCropStyle]
1676
2056
  attr_accessor :crop_style
@@ -1693,11 +2073,15 @@ module Google
1693
2073
  end
1694
2074
  end
1695
2075
 
1696
- # Represents the crop style applied to an image.
2076
+ # Represents the crop style applied to an image. For example, here's how to
2077
+ # apply a 16:9 aspect ratio: ``` cropStyle ` "type": "RECTANGLE_CUSTOM", "
2078
+ # aspectRatio": 16/9 ` ```
1697
2079
  class GoogleAppsCardV1ImageCropStyle
1698
2080
  include Google::Apis::Core::Hashable
1699
2081
 
1700
- # The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`.
2082
+ # The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`. For example,
2083
+ # here's how to apply a 16:9 aspect ratio: ``` cropStyle ` "type": "
2084
+ # RECTANGLE_CUSTOM", "aspectRatio": 16/9 ` ```
1701
2085
  # Corresponds to the JSON property `aspectRatio`
1702
2086
  # @return [Float]
1703
2087
  attr_accessor :aspect_ratio
@@ -1718,40 +2102,48 @@ module Google
1718
2102
  end
1719
2103
  end
1720
2104
 
1721
- # Represents the response to an `onClick` event.
2105
+ # Represents how to respond when users click an interactive element on a card,
2106
+ # such as a button.
1722
2107
  class GoogleAppsCardV1OnClick
1723
2108
  include Google::Apis::Core::Hashable
1724
2109
 
1725
2110
  # An action that describes the behavior when the form is submitted. For example,
1726
- # an Apps Script can be invoked to handle the form.
2111
+ # you can invoke an Apps Script script to handle the form. If the action is
2112
+ # triggered, the form values are sent to the server.
1727
2113
  # Corresponds to the JSON property `action`
1728
2114
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1Action]
1729
2115
  attr_accessor :action
1730
2116
 
1731
- # A card is a UI element that can contain UI widgets such as text and images.
1732
- # For more information, see Cards . For example, the following JSON creates a
1733
- # card that has a header with the name, position, icons, and link for a contact,
1734
- # followed by a section with contact information like email and phone number. ```
1735
- # ` "header": ` "title": "Sasha", "subtitle": "Software Engineer", "imageStyle":
1736
- # "ImageStyle.AVATAR", "imageUrl": "https://example.com/sasha.png", "
1737
- # imageAltText": "Avatar for Sasha" `, "sections" : [ ` "header": "Contact Info",
1738
- # "widgets": [ ` "decorated_text": ` "icon": ` "knownIcon": "EMAIL" `, "content"
1739
- # : "sasha@example.com" ` `, ` "decoratedText": ` "icon": ` "knownIcon": "PERSON"
1740
- # `, "content": "Online" ` `, ` "decoratedText": ` "icon": ` "knownIcon": "
1741
- # PHONE" `, "content": "+1 (555) 555-1234" ` `, ` "buttons": [ ` "textButton": `
1742
- # "text": "Share", `, "onClick": ` "openLink": ` "url": "https://example.com/
1743
- # share" ` ` `, ` "textButton": ` "text": "Edit", `, "onClick": ` "action": ` "
1744
- # function": "goToView", "parameters": [ ` "key": "viewType", "value": "EDIT" ` ]
1745
- # , "loadIndicator": "LoadIndicator.SPINNER" ` ` ` ] ` ], "collapsible": true, "
1746
- # uncollapsibleWidgetsCount": 3 ` ], "cardActions": [ ` "actionLabel": "Send
1747
- # Feedback", "onClick": ` "openLink": ` "url": "https://example.com/feedback" ` `
1748
- # ` ], "name": "contact-card-K3wB6arF2H9L" ` ```
2117
+ # A card interface displayed in a Google Chat message or Google Workspace Add-on.
2118
+ # Cards support a defined layout, interactive UI elements like buttons, and
2119
+ # rich media like images. Use cards to present detailed information, gather
2120
+ # information from users, and guide users to take a next step. To learn how to
2121
+ # build cards, see the following documentation: * For Google Chat apps, see [
2122
+ # Design dynamic, interactive, and consistent UIs with cards](https://developers.
2123
+ # google.com/chat/ui). * For Google Workspace Add-ons, see [Card-based
2124
+ # interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards).
2125
+ # **Example: Card message for a Google Chat app** ![Example contact card](https:/
2126
+ # /developers.google.com/chat/images/card_api_reference.png) To create the
2127
+ # sample card message in Google Chat, use the following JSON: ``` ` "cardsV2": [
2128
+ # ` "cardId": "unique-card-id", "card": ` "header": ` "title": "Sasha", "
2129
+ # subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/
2130
+ # chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText":
2131
+ # "Avatar for Sasha", `, "sections": [ ` "header": "Contact Info", "collapsible":
2132
+ # true, "uncollapsibleWidgetsCount": 1, "widgets": [ ` "decoratedText": ` "
2133
+ # startIcon": ` "knownIcon": "EMAIL", `, "text": "sasha@example.com", ` `, ` "
2134
+ # decoratedText": ` "startIcon": ` "knownIcon": "PERSON", `, "text": "Online", `,
2135
+ # `, ` "decoratedText": ` "startIcon": ` "knownIcon": "PHONE", `, "text": "+1 (
2136
+ # 555) 555-1234", ` `, ` "buttonList": ` "buttons": [ ` "text": "Share", "
2137
+ # onClick": ` "openLink": ` "url": "https://example.com/share", ` ` `, ` "text":
2138
+ # "Edit", "onClick": ` "action": ` "function": "goToView", "parameters": [ ` "
2139
+ # key": "viewType", "value": "EDIT", ` ], ` ` `, ], ` `, ], `, ], `, ` ], ` ```
1749
2140
  # Corresponds to the JSON property `card`
1750
2141
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1Card]
1751
2142
  attr_accessor :card
1752
2143
 
1753
2144
  # An action that describes the behavior when the form is submitted. For example,
1754
- # an Apps Script can be invoked to handle the form.
2145
+ # you can invoke an Apps Script script to handle the form. If the action is
2146
+ # triggered, the form values are sent to the server.
1755
2147
  # Corresponds to the JSON property `openDynamicLinkAction`
1756
2148
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1Action]
1757
2149
  attr_accessor :open_dynamic_link_action
@@ -1806,34 +2198,75 @@ module Google
1806
2198
  end
1807
2199
  end
1808
2200
 
2201
+ # Chat apps only. For a `SelectionInput` widget that uses a multi-select menu,
2202
+ # the data from a [Google Workspace host application](https://developers.google.
2203
+ # com/chat/api/reference/rest/v1/HostApp). Used to populate the items in the
2204
+ # multi-select menu. [Developer Preview](https://developers.google.com/workspace/
2205
+ # preview).
2206
+ class GoogleAppsCardV1PlatformDataSource
2207
+ include Google::Apis::Core::Hashable
2208
+
2209
+ # For a `SelectionInput` widget that uses a multi-select menu, a data source
2210
+ # shared by all Google Workspace host applications, such as users in a Google
2211
+ # Workspace organization. [Developer Preview](https://developers.google.com/
2212
+ # workspace/preview).
2213
+ # Corresponds to the JSON property `commonDataSource`
2214
+ # @return [String]
2215
+ attr_accessor :common_data_source
2216
+
2217
+ # Chat apps only. For a `SelectionInput` widget that uses a multi-select menu, a
2218
+ # data source from a Google Workspace host application. [Developer Preview](
2219
+ # https://developers.google.com/workspace/preview).
2220
+ # Corresponds to the JSON property `hostAppDataSource`
2221
+ # @return [Google::Apis::ChatV1::HostAppDataSourceMarkup]
2222
+ attr_accessor :host_app_data_source
2223
+
2224
+ def initialize(**args)
2225
+ update!(**args)
2226
+ end
2227
+
2228
+ # Update properties of this object
2229
+ def update!(**args)
2230
+ @common_data_source = args[:common_data_source] if args.key?(:common_data_source)
2231
+ @host_app_data_source = args[:host_app_data_source] if args.key?(:host_app_data_source)
2232
+ end
2233
+ end
2234
+
1809
2235
  # A section contains a collection of widgets that are rendered vertically in the
1810
- # order that they are specified. Across all platforms, cards have a narrow fixed
1811
- # width, so there is currently no need for layout properties, for example, float.
2236
+ # order that they're specified.
1812
2237
  class GoogleAppsCardV1Section
1813
2238
  include Google::Apis::Core::Hashable
1814
2239
 
1815
- # Indicates whether this section is collapsible. If a section is collapsible,
1816
- # the description must be given.
2240
+ # Indicates whether this section is collapsible. Collapsible sections hide some
2241
+ # or all widgets, but users can expand the section to reveal the hidden widgets
2242
+ # by clicking **Show more**. Users can hide the widgets again by clicking **Show
2243
+ # less**. To determine which widgets are hidden, specify `
2244
+ # uncollapsibleWidgetsCount`.
1817
2245
  # Corresponds to the JSON property `collapsible`
1818
2246
  # @return [Boolean]
1819
2247
  attr_accessor :collapsible
1820
2248
  alias_method :collapsible?, :collapsible
1821
2249
 
1822
- # The header of the section. Formatted text is supported.
2250
+ # Text that appears at the top of a section. Supports simple HTML formatted text.
2251
+ # For more information about formatting text, see [Formatting text in Google
2252
+ # Chat apps](https://developers.google.com/chat/api/guides/message-formats/cards#
2253
+ # card-formatting) and [Formatting text in Google Workspace Add-ons](https://
2254
+ # developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
1823
2255
  # Corresponds to the JSON property `header`
1824
2256
  # @return [String]
1825
2257
  attr_accessor :header
1826
2258
 
1827
- # The number of uncollapsible widgets. For example, when a section contains five
1828
- # widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two
1829
- # widgets are always shown and the last three are collapsed as default. The `
2259
+ # The number of uncollapsible widgets which remain visible even when a section
2260
+ # is collapsed. For example, when a section contains five widgets and the `
2261
+ # uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always
2262
+ # shown and the last three are collapsed by default. The `
1830
2263
  # uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `
1831
2264
  # true`.
1832
2265
  # Corresponds to the JSON property `uncollapsibleWidgetsCount`
1833
2266
  # @return [Fixnum]
1834
2267
  attr_accessor :uncollapsible_widgets_count
1835
2268
 
1836
- # A section must contain at least 1 widget.
2269
+ # All the widgets in the section. Must contain at least one widget.
1837
2270
  # Corresponds to the JSON property `widgets`
1838
2271
  # @return [Array<Google::Apis::ChatV1::GoogleAppsCardV1Widget>]
1839
2272
  attr_accessor :widgets
@@ -1851,33 +2284,81 @@ module Google
1851
2284
  end
1852
2285
  end
1853
2286
 
1854
- # A widget that creates a UI item with options for users to select. For example,
1855
- # a dropdown menu.
2287
+ # A widget that creates one or more UI items that users can select. For example,
2288
+ # a dropdown menu or checkboxes. You can use this widget to collect data that
2289
+ # can be predicted or enumerated. For an example in Google Chat apps, see [
2290
+ # Selection input](https://developers.google.com/chat/ui/widgets/selection-input)
2291
+ # . Chat apps can process the value of items that users select or input. For
2292
+ # details about working with form inputs, see [Receive form data](https://
2293
+ # developers.google.com/chat/ui/read-form-data). To collect undefined or
2294
+ # abstract data from users, use the TextInput widget.
1856
2295
  class GoogleAppsCardV1SelectionInput
1857
2296
  include Google::Apis::Core::Hashable
1858
2297
 
1859
- # An array of the selected items.
2298
+ # An action that describes the behavior when the form is submitted. For example,
2299
+ # you can invoke an Apps Script script to handle the form. If the action is
2300
+ # triggered, the form values are sent to the server.
2301
+ # Corresponds to the JSON property `externalDataSource`
2302
+ # @return [Google::Apis::ChatV1::GoogleAppsCardV1Action]
2303
+ attr_accessor :external_data_source
2304
+
2305
+ # An array of selectable items. For example, an array of radio buttons or
2306
+ # checkboxes. Supports up to 100 items.
1860
2307
  # Corresponds to the JSON property `items`
1861
2308
  # @return [Array<Google::Apis::ChatV1::GoogleAppsCardV1SelectionItem>]
1862
2309
  attr_accessor :items
1863
2310
 
1864
- # The label displayed ahead of the switch control.
2311
+ # The text that appears above the selection input field in the user interface.
2312
+ # Specify text that helps the user enter the information your app needs. For
2313
+ # example, if users are selecting the urgency of a work ticket from a drop-down
2314
+ # menu, the label might be "Urgency" or "Select urgency".
1865
2315
  # Corresponds to the JSON property `label`
1866
2316
  # @return [String]
1867
2317
  attr_accessor :label
1868
2318
 
1869
- # The name of the text input which is used in `formInput`.
2319
+ # For multi-select menus, the maximum number of items that a user can select.
2320
+ # Minimum value is 1 item. If unspecified, set to 3 items. [Developer Preview](
2321
+ # https://developers.google.com/workspace/preview).
2322
+ # Corresponds to the JSON property `multiSelectMaxSelectedItems`
2323
+ # @return [Fixnum]
2324
+ attr_accessor :multi_select_max_selected_items
2325
+
2326
+ # For multi-select menus, the number of text characters that a user inputs
2327
+ # before the Chat app queries autocomplete and displays suggested items on the
2328
+ # card. If unspecified, set to 0 characters for static data sources and 3
2329
+ # characters for external data sources. [Developer Preview](https://developers.
2330
+ # google.com/workspace/preview).
2331
+ # Corresponds to the JSON property `multiSelectMinQueryLength`
2332
+ # @return [Fixnum]
2333
+ attr_accessor :multi_select_min_query_length
2334
+
2335
+ # The name that identifies the selection input in a form input event. For
2336
+ # details about working with form inputs, see [Receive form data](https://
2337
+ # developers.google.com/chat/ui/read-form-data).
1870
2338
  # Corresponds to the JSON property `name`
1871
2339
  # @return [String]
1872
2340
  attr_accessor :name
1873
2341
 
1874
2342
  # An action that describes the behavior when the form is submitted. For example,
1875
- # an Apps Script can be invoked to handle the form.
2343
+ # you can invoke an Apps Script script to handle the form. If the action is
2344
+ # triggered, the form values are sent to the server.
1876
2345
  # Corresponds to the JSON property `onChangeAction`
1877
2346
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1Action]
1878
2347
  attr_accessor :on_change_action
1879
2348
 
1880
- # The type of the selection.
2349
+ # Chat apps only. For a `SelectionInput` widget that uses a multi-select menu,
2350
+ # the data from a [Google Workspace host application](https://developers.google.
2351
+ # com/chat/api/reference/rest/v1/HostApp). Used to populate the items in the
2352
+ # multi-select menu. [Developer Preview](https://developers.google.com/workspace/
2353
+ # preview).
2354
+ # Corresponds to the JSON property `platformDataSource`
2355
+ # @return [Google::Apis::ChatV1::GoogleAppsCardV1PlatformDataSource]
2356
+ attr_accessor :platform_data_source
2357
+
2358
+ # The type of items that are displayed to users in a `SelectionInput` widget.
2359
+ # Selection types support different types of interactions. For example, users
2360
+ # can select one or more checkboxes, but they can only select one value from a
2361
+ # dropdown menu.
1881
2362
  # Corresponds to the JSON property `type`
1882
2363
  # @return [String]
1883
2364
  attr_accessor :type
@@ -1888,32 +2369,54 @@ module Google
1888
2369
 
1889
2370
  # Update properties of this object
1890
2371
  def update!(**args)
2372
+ @external_data_source = args[:external_data_source] if args.key?(:external_data_source)
1891
2373
  @items = args[:items] if args.key?(:items)
1892
2374
  @label = args[:label] if args.key?(:label)
2375
+ @multi_select_max_selected_items = args[:multi_select_max_selected_items] if args.key?(:multi_select_max_selected_items)
2376
+ @multi_select_min_query_length = args[:multi_select_min_query_length] if args.key?(:multi_select_min_query_length)
1893
2377
  @name = args[:name] if args.key?(:name)
1894
2378
  @on_change_action = args[:on_change_action] if args.key?(:on_change_action)
2379
+ @platform_data_source = args[:platform_data_source] if args.key?(:platform_data_source)
1895
2380
  @type = args[:type] if args.key?(:type)
1896
2381
  end
1897
2382
  end
1898
2383
 
1899
- # A selectable item in the switch control.
2384
+ # An item that users can select in a selection input, such as a checkbox or
2385
+ # switch.
1900
2386
  class GoogleAppsCardV1SelectionItem
1901
2387
  include Google::Apis::Core::Hashable
1902
2388
 
1903
- # If more than one item is selected for `RADIO_BUTTON` and `DROPDOWN`, the first
1904
- # selected item is treated as selected and the ones after are ignored.
2389
+ # For multi-select menus, a text description or label that's displayed below the
2390
+ # item's `text` field. [Developer Preview](https://developers.google.com/
2391
+ # workspace/preview).
2392
+ # Corresponds to the JSON property `bottomText`
2393
+ # @return [String]
2394
+ attr_accessor :bottom_text
2395
+
2396
+ # Whether the item is selected by default. If the selection input only accepts
2397
+ # one value (such as for radio buttons or a dropdown menu), only set this field
2398
+ # for one item.
1905
2399
  # Corresponds to the JSON property `selected`
1906
2400
  # @return [Boolean]
1907
2401
  attr_accessor :selected
1908
2402
  alias_method :selected?, :selected
1909
2403
 
1910
- # The text to be displayed.
2404
+ # For multi-select menus, the URL for the icon displayed next to the item's `
2405
+ # text` field. Supports PNG and JPEG files. Must be an `HTTPS` URL. For example,
2406
+ # `https://developers.google.com/chat/images/quickstart-app-avatar.png`. [
2407
+ # Developer Preview](https://developers.google.com/workspace/preview).
2408
+ # Corresponds to the JSON property `startIconUri`
2409
+ # @return [String]
2410
+ attr_accessor :start_icon_uri
2411
+
2412
+ # The text that identifies or describes the item to users.
1911
2413
  # Corresponds to the JSON property `text`
1912
2414
  # @return [String]
1913
2415
  attr_accessor :text
1914
2416
 
1915
2417
  # The value associated with this item. The client should use this as a form
1916
- # input value.
2418
+ # input value. For details about working with form inputs, see [Receive form
2419
+ # data](https://developers.google.com/chat/ui/read-form-data).
1917
2420
  # Corresponds to the JSON property `value`
1918
2421
  # @return [String]
1919
2422
  attr_accessor :value
@@ -1924,17 +2427,20 @@ module Google
1924
2427
 
1925
2428
  # Update properties of this object
1926
2429
  def update!(**args)
2430
+ @bottom_text = args[:bottom_text] if args.key?(:bottom_text)
1927
2431
  @selected = args[:selected] if args.key?(:selected)
2432
+ @start_icon_uri = args[:start_icon_uri] if args.key?(:start_icon_uri)
1928
2433
  @text = args[:text] if args.key?(:text)
1929
2434
  @value = args[:value] if args.key?(:value)
1930
2435
  end
1931
2436
  end
1932
2437
 
1933
- # A suggestion item.
2438
+ # One suggested value that users can enter in a text input field.
1934
2439
  class GoogleAppsCardV1SuggestionItem
1935
2440
  include Google::Apis::Core::Hashable
1936
2441
 
1937
- # The suggested autocomplete result.
2442
+ # The value of a suggested input to a text input field. This is equivalent to
2443
+ # what users enter themselves.
1938
2444
  # Corresponds to the JSON property `text`
1939
2445
  # @return [String]
1940
2446
  attr_accessor :text
@@ -1949,12 +2455,21 @@ module Google
1949
2455
  end
1950
2456
  end
1951
2457
 
1952
- # A container wrapping elements necessary for showing suggestion items used in
1953
- # text input autocomplete.
2458
+ # Suggested values that users can enter. These values appear when users click
2459
+ # inside the text input field. As users type, the suggested values dynamically
2460
+ # filter to match what the users have typed. For example, a text input field for
2461
+ # programming language might suggest Java, JavaScript, Python, and C++. When
2462
+ # users start typing `Jav`, the list of suggestions filters to show `Java` and `
2463
+ # JavaScript`. Suggested values help guide users to enter values that your app
2464
+ # can make sense of. When referring to JavaScript, some users might enter `
2465
+ # javascript` and others `java script`. Suggesting `JavaScript` can standardize
2466
+ # how users interact with your app. When specified, `TextInput.type` is always `
2467
+ # SINGLE_LINE`, even if it's set to `MULTIPLE_LINE`.
1954
2468
  class GoogleAppsCardV1Suggestions
1955
2469
  include Google::Apis::Core::Hashable
1956
2470
 
1957
- # A list of suggestions used for autocomplete recommendations.
2471
+ # A list of suggestions used for autocomplete recommendations in text input
2472
+ # fields.
1958
2473
  # Corresponds to the JSON property `items`
1959
2474
  # @return [Array<Google::Apis::ChatV1::GoogleAppsCardV1SuggestionItem>]
1960
2475
  attr_accessor :items
@@ -1969,33 +2484,39 @@ module Google
1969
2484
  end
1970
2485
  end
1971
2486
 
1972
- # Either a toggle-style switch or a checkbox.
2487
+ # Either a toggle-style switch or a checkbox inside a `decoratedText` widget.
2488
+ # Only supported in the `decoratedText` widget.
1973
2489
  class GoogleAppsCardV1SwitchControl
1974
2490
  include Google::Apis::Core::Hashable
1975
2491
 
1976
- # The control type, either switch or checkbox.
2492
+ # How the switch appears in the user interface.
1977
2493
  # Corresponds to the JSON property `controlType`
1978
2494
  # @return [String]
1979
2495
  attr_accessor :control_type
1980
2496
 
1981
- # The name of the switch widget that's used in `formInput`.
2497
+ # The name by which the switch widget is identified in a form input event. For
2498
+ # details about working with form inputs, see [Receive form data](https://
2499
+ # developers.google.com/chat/ui/read-form-data).
1982
2500
  # Corresponds to the JSON property `name`
1983
2501
  # @return [String]
1984
2502
  attr_accessor :name
1985
2503
 
1986
2504
  # An action that describes the behavior when the form is submitted. For example,
1987
- # an Apps Script can be invoked to handle the form.
2505
+ # you can invoke an Apps Script script to handle the form. If the action is
2506
+ # triggered, the form values are sent to the server.
1988
2507
  # Corresponds to the JSON property `onChangeAction`
1989
2508
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1Action]
1990
2509
  attr_accessor :on_change_action
1991
2510
 
1992
- # If the switch is selected.
2511
+ # When `true`, the switch is selected.
1993
2512
  # Corresponds to the JSON property `selected`
1994
2513
  # @return [Boolean]
1995
2514
  attr_accessor :selected
1996
2515
  alias_method :selected?, :selected
1997
2516
 
1998
- # The value is what is passed back in the callback.
2517
+ # The value entered by a user, returned as part of a form input event. For
2518
+ # details about working with form inputs, see [Receive form data](https://
2519
+ # developers.google.com/chat/ui/read-form-data).
1999
2520
  # Corresponds to the JSON property `value`
2000
2521
  # @return [String]
2001
2522
  attr_accessor :value
@@ -2014,50 +2535,77 @@ module Google
2014
2535
  end
2015
2536
  end
2016
2537
 
2017
- # A text input is a UI item where users can input text. A text input can also
2018
- # have an onChange action and suggestions.
2538
+ # A field in which users can enter text. Supports suggestions and on-change
2539
+ # actions. For an example in Google Chat apps, see [Text input](https://
2540
+ # developers.google.com/chat/ui/widgets/text-input). Chat apps receive and can
2541
+ # process the value of entered text during form input events. For details about
2542
+ # working with form inputs, see [Receive form data](https://developers.google.
2543
+ # com/chat/ui/read-form-data). When you need to collect undefined or abstract
2544
+ # data from users, use a text input. To collect defined or enumerated data from
2545
+ # users, use the SelectionInput widget.
2019
2546
  class GoogleAppsCardV1TextInput
2020
2547
  include Google::Apis::Core::Hashable
2021
2548
 
2022
2549
  # An action that describes the behavior when the form is submitted. For example,
2023
- # an Apps Script can be invoked to handle the form.
2550
+ # you can invoke an Apps Script script to handle the form. If the action is
2551
+ # triggered, the form values are sent to the server.
2024
2552
  # Corresponds to the JSON property `autoCompleteAction`
2025
2553
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1Action]
2026
2554
  attr_accessor :auto_complete_action
2027
2555
 
2028
- # The hint text.
2556
+ # Text that appears below the text input field meant to assist users by
2557
+ # prompting them to enter a certain value. This text is always visible. Required
2558
+ # if `label` is unspecified. Otherwise, optional.
2029
2559
  # Corresponds to the JSON property `hintText`
2030
2560
  # @return [String]
2031
2561
  attr_accessor :hint_text
2032
2562
 
2033
- # A container wrapping elements necessary for showing suggestion items used in
2034
- # text input autocomplete.
2563
+ # Suggested values that users can enter. These values appear when users click
2564
+ # inside the text input field. As users type, the suggested values dynamically
2565
+ # filter to match what the users have typed. For example, a text input field for
2566
+ # programming language might suggest Java, JavaScript, Python, and C++. When
2567
+ # users start typing `Jav`, the list of suggestions filters to show `Java` and `
2568
+ # JavaScript`. Suggested values help guide users to enter values that your app
2569
+ # can make sense of. When referring to JavaScript, some users might enter `
2570
+ # javascript` and others `java script`. Suggesting `JavaScript` can standardize
2571
+ # how users interact with your app. When specified, `TextInput.type` is always `
2572
+ # SINGLE_LINE`, even if it's set to `MULTIPLE_LINE`.
2035
2573
  # Corresponds to the JSON property `initialSuggestions`
2036
2574
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1Suggestions]
2037
2575
  attr_accessor :initial_suggestions
2038
2576
 
2039
- # At least one of label and hintText must be specified.
2577
+ # The text that appears above the text input field in the user interface.
2578
+ # Specify text that helps the user enter the information your app needs. For
2579
+ # example, if you are asking someone's name, but specifically need their surname,
2580
+ # write `surname` instead of `name`. Required if `hintText` is unspecified.
2581
+ # Otherwise, optional.
2040
2582
  # Corresponds to the JSON property `label`
2041
2583
  # @return [String]
2042
2584
  attr_accessor :label
2043
2585
 
2044
- # The name of the text input which is used in `formInput`.
2586
+ # The name by which the text input is identified in a form input event. For
2587
+ # details about working with form inputs, see [Receive form data](https://
2588
+ # developers.google.com/chat/ui/read-form-data).
2045
2589
  # Corresponds to the JSON property `name`
2046
2590
  # @return [String]
2047
2591
  attr_accessor :name
2048
2592
 
2049
2593
  # An action that describes the behavior when the form is submitted. For example,
2050
- # an Apps Script can be invoked to handle the form.
2594
+ # you can invoke an Apps Script script to handle the form. If the action is
2595
+ # triggered, the form values are sent to the server.
2051
2596
  # Corresponds to the JSON property `onChangeAction`
2052
2597
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1Action]
2053
2598
  attr_accessor :on_change_action
2054
2599
 
2055
- # The style of the text, for example, a single line or multiple lines.
2600
+ # How a text input field appears in the user interface. For example, whether the
2601
+ # field is single or multi-line.
2056
2602
  # Corresponds to the JSON property `type`
2057
2603
  # @return [String]
2058
2604
  attr_accessor :type
2059
2605
 
2060
- # The default value when there is no input from the user.
2606
+ # The value entered by a user, returned as part of a form input event. For
2607
+ # details about working with form inputs, see [Receive form data](https://
2608
+ # developers.google.com/chat/ui/read-form-data).
2061
2609
  # Corresponds to the JSON property `value`
2062
2610
  # @return [String]
2063
2611
  attr_accessor :value
@@ -2079,9 +2627,13 @@ module Google
2079
2627
  end
2080
2628
  end
2081
2629
 
2082
- # A paragraph of text that supports formatting. See [Text formatting](https://
2083
- # developers.google.com/workspace/add-ons/concepts/widgets#text_formatting) for
2084
- # details.
2630
+ # A paragraph of text that supports formatting. For an example in Google Chat
2631
+ # apps, see [Text paragraph](https://developers.google.com/chat/ui/widgets/text-
2632
+ # paragraph). For more information about formatting text, see [Formatting text
2633
+ # in Google Chat apps](https://developers.google.com/chat/api/guides/message-
2634
+ # formats/cards##card-formatting) and [Formatting text in Google Workspace Add-
2635
+ # ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#
2636
+ # text_formatting).
2085
2637
  class GoogleAppsCardV1TextParagraph
2086
2638
  include Google::Apis::Core::Hashable
2087
2639
 
@@ -2100,63 +2652,121 @@ module Google
2100
2652
  end
2101
2653
  end
2102
2654
 
2103
- # A widget is a UI element that presents texts, images, etc.
2655
+ # Each card is made up of widgets. A widget is a composite object that can
2656
+ # represent one of text, images, buttons, and other object types.
2104
2657
  class GoogleAppsCardV1Widget
2105
2658
  include Google::Apis::Core::Hashable
2106
2659
 
2107
- # A list of buttons layed out horizontally.
2660
+ # A list of buttons layed out horizontally. For an example in Google Chat apps,
2661
+ # see [Button list](https://developers.google.com/chat/ui/widgets/button-list).
2108
2662
  # Corresponds to the JSON property `buttonList`
2109
2663
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1ButtonList]
2110
2664
  attr_accessor :button_list
2111
2665
 
2112
- # The widget that lets users to specify a date and time. Not supported by Google
2113
- # Chat apps.
2666
+ # The `Columns` widget displays up to 2 columns in a card message or dialog. You
2667
+ # can add widgets to each column; the widgets appear in the order that they are
2668
+ # specified. For an example in Google Chat apps, see [Columns](https://
2669
+ # developers.google.com/chat/ui/widgets/columns). The height of each column is
2670
+ # determined by the taller column. For example, if the first column is taller
2671
+ # than the second column, both columns have the height of the first column.
2672
+ # Because each column can contain a different number of widgets, you can't
2673
+ # define rows or align widgets between the columns. Columns are displayed side-
2674
+ # by-side. You can customize the width of each column using the `
2675
+ # HorizontalSizeStyle` field. If the user's screen width is too narrow, the
2676
+ # second column wraps below the first: * On web, the second column wraps if the
2677
+ # screen width is less than or equal to 480 pixels. * On iOS devices, the second
2678
+ # column wraps if the screen width is less than or equal to 300 pt. * On Android
2679
+ # devices, the second column wraps if the screen width is less than or equal to
2680
+ # 320 dp. To include more than 2 columns, or to use rows, use the `Grid` widget.
2681
+ # Supported by Chat apps, but not Google Workspace Add-ons.
2682
+ # Corresponds to the JSON property `columns`
2683
+ # @return [Google::Apis::ChatV1::GoogleAppsCardV1Columns]
2684
+ attr_accessor :columns
2685
+
2686
+ # Lets users input a date, a time, or both a date and a time. For an example in
2687
+ # Google Chat apps, see [Date time picker](https://developers.google.com/chat/ui/
2688
+ # widgets/date-time-picker). Users can input text or use the picker to select
2689
+ # dates and times. If users input an invalid date or time, the picker shows an
2690
+ # error that prompts users to input the information correctly.
2114
2691
  # Corresponds to the JSON property `dateTimePicker`
2115
2692
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1DateTimePicker]
2116
2693
  attr_accessor :date_time_picker
2117
2694
 
2118
2695
  # A widget that displays text with optional decorations such as a label above or
2119
- # below the text, an icon in front of the text, a selection widget or a button
2120
- # after the text.
2696
+ # below the text, an icon in front of the text, a selection widget, or a button
2697
+ # after the text. For an example in Google Chat apps, see [Decorated text](https:
2698
+ # //developers.google.com/chat/ui/widgets/decorated-text).
2121
2699
  # Corresponds to the JSON property `decoratedText`
2122
2700
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1DecoratedText]
2123
2701
  attr_accessor :decorated_text
2124
2702
 
2125
- # A divider that appears in between widgets.
2703
+ # Displays a divider between widgets as a horizontal line. For an example in
2704
+ # Google Chat apps, see [Divider](https://developers.google.com/chat/ui/widgets/
2705
+ # divider). For example, the following JSON creates a divider: ``` "divider": ``
2706
+ # ```
2126
2707
  # Corresponds to the JSON property `divider`
2127
2708
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1Divider]
2128
2709
  attr_accessor :divider
2129
2710
 
2130
- # Represents a Grid widget that displays items in a configurable grid layout.
2711
+ # Displays a grid with a collection of items. Items can only include text or
2712
+ # images. For responsive columns, or to include more than text or images, use `
2713
+ # Columns`. For an example in Google Chat apps, see [Grid](https://developers.
2714
+ # google.com/chat/ui/widgets/grid). A grid supports any number of columns and
2715
+ # items. The number of rows is determined by items divided by columns. A grid
2716
+ # with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has
2717
+ # 6 rows. For example, the following JSON creates a 2 column grid with a single
2718
+ # item: ``` "grid": ` "title": "A fine collection of items", "columnCount": 2, "
2719
+ # borderStyle": ` "type": "STROKE", "cornerRadius": 4 `, "items": [ ` "image": `
2720
+ # "imageUri": "https://www.example.com/image.png", "cropStyle": ` "type": "
2721
+ # SQUARE" `, "borderStyle": ` "type": "STROKE" ` `, "title": "An item", "
2722
+ # textAlignment": "CENTER" ` ], "onClick": ` "openLink": ` "url": "https://www.
2723
+ # example.com" ` ` ` ```
2131
2724
  # Corresponds to the JSON property `grid`
2132
2725
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1Grid]
2133
2726
  attr_accessor :grid
2134
2727
 
2135
- # The horizontal alignment of this widget.
2728
+ # Specifies whether widgets align to the left, right, or center of a column.
2136
2729
  # Corresponds to the JSON property `horizontalAlignment`
2137
2730
  # @return [String]
2138
2731
  attr_accessor :horizontal_alignment
2139
2732
 
2140
- # An image that is specified by a URL and can have an `onClick` action.
2733
+ # An image that is specified by a URL and can have an `onClick` action. For an
2734
+ # example, see [Image](https://developers.google.com/chat/ui/widgets/image).
2141
2735
  # Corresponds to the JSON property `image`
2142
2736
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1Image]
2143
2737
  attr_accessor :image
2144
2738
 
2145
- # A widget that creates a UI item with options for users to select. For example,
2146
- # a dropdown menu.
2739
+ # A widget that creates one or more UI items that users can select. For example,
2740
+ # a dropdown menu or checkboxes. You can use this widget to collect data that
2741
+ # can be predicted or enumerated. For an example in Google Chat apps, see [
2742
+ # Selection input](https://developers.google.com/chat/ui/widgets/selection-input)
2743
+ # . Chat apps can process the value of items that users select or input. For
2744
+ # details about working with form inputs, see [Receive form data](https://
2745
+ # developers.google.com/chat/ui/read-form-data). To collect undefined or
2746
+ # abstract data from users, use the TextInput widget.
2147
2747
  # Corresponds to the JSON property `selectionInput`
2148
2748
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1SelectionInput]
2149
2749
  attr_accessor :selection_input
2150
2750
 
2151
- # A text input is a UI item where users can input text. A text input can also
2152
- # have an onChange action and suggestions.
2751
+ # A field in which users can enter text. Supports suggestions and on-change
2752
+ # actions. For an example in Google Chat apps, see [Text input](https://
2753
+ # developers.google.com/chat/ui/widgets/text-input). Chat apps receive and can
2754
+ # process the value of entered text during form input events. For details about
2755
+ # working with form inputs, see [Receive form data](https://developers.google.
2756
+ # com/chat/ui/read-form-data). When you need to collect undefined or abstract
2757
+ # data from users, use a text input. To collect defined or enumerated data from
2758
+ # users, use the SelectionInput widget.
2153
2759
  # Corresponds to the JSON property `textInput`
2154
2760
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1TextInput]
2155
2761
  attr_accessor :text_input
2156
2762
 
2157
- # A paragraph of text that supports formatting. See [Text formatting](https://
2158
- # developers.google.com/workspace/add-ons/concepts/widgets#text_formatting) for
2159
- # details.
2763
+ # A paragraph of text that supports formatting. For an example in Google Chat
2764
+ # apps, see [Text paragraph](https://developers.google.com/chat/ui/widgets/text-
2765
+ # paragraph). For more information about formatting text, see [Formatting text
2766
+ # in Google Chat apps](https://developers.google.com/chat/api/guides/message-
2767
+ # formats/cards##card-formatting) and [Formatting text in Google Workspace Add-
2768
+ # ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#
2769
+ # text_formatting).
2160
2770
  # Corresponds to the JSON property `textParagraph`
2161
2771
  # @return [Google::Apis::ChatV1::GoogleAppsCardV1TextParagraph]
2162
2772
  attr_accessor :text_paragraph
@@ -2168,6 +2778,7 @@ module Google
2168
2778
  # Update properties of this object
2169
2779
  def update!(**args)
2170
2780
  @button_list = args[:button_list] if args.key?(:button_list)
2781
+ @columns = args[:columns] if args.key?(:columns)
2171
2782
  @date_time_picker = args[:date_time_picker] if args.key?(:date_time_picker)
2172
2783
  @decorated_text = args[:decorated_text] if args.key?(:decorated_text)
2173
2784
  @divider = args[:divider] if args.key?(:divider)
@@ -2180,14 +2791,122 @@ module Google
2180
2791
  end
2181
2792
  end
2182
2793
 
2183
- # An image that is specified by a URL and can have an onclick action.
2794
+ # The supported widgets that you can include in a column.
2795
+ class GoogleAppsCardV1Widgets
2796
+ include Google::Apis::Core::Hashable
2797
+
2798
+ # A list of buttons layed out horizontally. For an example in Google Chat apps,
2799
+ # see [Button list](https://developers.google.com/chat/ui/widgets/button-list).
2800
+ # Corresponds to the JSON property `buttonList`
2801
+ # @return [Google::Apis::ChatV1::GoogleAppsCardV1ButtonList]
2802
+ attr_accessor :button_list
2803
+
2804
+ # Lets users input a date, a time, or both a date and a time. For an example in
2805
+ # Google Chat apps, see [Date time picker](https://developers.google.com/chat/ui/
2806
+ # widgets/date-time-picker). Users can input text or use the picker to select
2807
+ # dates and times. If users input an invalid date or time, the picker shows an
2808
+ # error that prompts users to input the information correctly.
2809
+ # Corresponds to the JSON property `dateTimePicker`
2810
+ # @return [Google::Apis::ChatV1::GoogleAppsCardV1DateTimePicker]
2811
+ attr_accessor :date_time_picker
2812
+
2813
+ # A widget that displays text with optional decorations such as a label above or
2814
+ # below the text, an icon in front of the text, a selection widget, or a button
2815
+ # after the text. For an example in Google Chat apps, see [Decorated text](https:
2816
+ # //developers.google.com/chat/ui/widgets/decorated-text).
2817
+ # Corresponds to the JSON property `decoratedText`
2818
+ # @return [Google::Apis::ChatV1::GoogleAppsCardV1DecoratedText]
2819
+ attr_accessor :decorated_text
2820
+
2821
+ # An image that is specified by a URL and can have an `onClick` action. For an
2822
+ # example, see [Image](https://developers.google.com/chat/ui/widgets/image).
2823
+ # Corresponds to the JSON property `image`
2824
+ # @return [Google::Apis::ChatV1::GoogleAppsCardV1Image]
2825
+ attr_accessor :image
2826
+
2827
+ # A widget that creates one or more UI items that users can select. For example,
2828
+ # a dropdown menu or checkboxes. You can use this widget to collect data that
2829
+ # can be predicted or enumerated. For an example in Google Chat apps, see [
2830
+ # Selection input](https://developers.google.com/chat/ui/widgets/selection-input)
2831
+ # . Chat apps can process the value of items that users select or input. For
2832
+ # details about working with form inputs, see [Receive form data](https://
2833
+ # developers.google.com/chat/ui/read-form-data). To collect undefined or
2834
+ # abstract data from users, use the TextInput widget.
2835
+ # Corresponds to the JSON property `selectionInput`
2836
+ # @return [Google::Apis::ChatV1::GoogleAppsCardV1SelectionInput]
2837
+ attr_accessor :selection_input
2838
+
2839
+ # A field in which users can enter text. Supports suggestions and on-change
2840
+ # actions. For an example in Google Chat apps, see [Text input](https://
2841
+ # developers.google.com/chat/ui/widgets/text-input). Chat apps receive and can
2842
+ # process the value of entered text during form input events. For details about
2843
+ # working with form inputs, see [Receive form data](https://developers.google.
2844
+ # com/chat/ui/read-form-data). When you need to collect undefined or abstract
2845
+ # data from users, use a text input. To collect defined or enumerated data from
2846
+ # users, use the SelectionInput widget.
2847
+ # Corresponds to the JSON property `textInput`
2848
+ # @return [Google::Apis::ChatV1::GoogleAppsCardV1TextInput]
2849
+ attr_accessor :text_input
2850
+
2851
+ # A paragraph of text that supports formatting. For an example in Google Chat
2852
+ # apps, see [Text paragraph](https://developers.google.com/chat/ui/widgets/text-
2853
+ # paragraph). For more information about formatting text, see [Formatting text
2854
+ # in Google Chat apps](https://developers.google.com/chat/api/guides/message-
2855
+ # formats/cards##card-formatting) and [Formatting text in Google Workspace Add-
2856
+ # ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#
2857
+ # text_formatting).
2858
+ # Corresponds to the JSON property `textParagraph`
2859
+ # @return [Google::Apis::ChatV1::GoogleAppsCardV1TextParagraph]
2860
+ attr_accessor :text_paragraph
2861
+
2862
+ def initialize(**args)
2863
+ update!(**args)
2864
+ end
2865
+
2866
+ # Update properties of this object
2867
+ def update!(**args)
2868
+ @button_list = args[:button_list] if args.key?(:button_list)
2869
+ @date_time_picker = args[:date_time_picker] if args.key?(:date_time_picker)
2870
+ @decorated_text = args[:decorated_text] if args.key?(:decorated_text)
2871
+ @image = args[:image] if args.key?(:image)
2872
+ @selection_input = args[:selection_input] if args.key?(:selection_input)
2873
+ @text_input = args[:text_input] if args.key?(:text_input)
2874
+ @text_paragraph = args[:text_paragraph] if args.key?(:text_paragraph)
2875
+ end
2876
+ end
2877
+
2878
+ # Chat apps only. For a `SelectionInput` widget that uses a multi-select menu, a
2879
+ # data source from a Google Workspace host application. [Developer Preview](
2880
+ # https://developers.google.com/workspace/preview).
2881
+ class HostAppDataSourceMarkup
2882
+ include Google::Apis::Core::Hashable
2883
+
2884
+ # Chat apps only. For a `SelectionInput` widget that uses a multi-select menu, a
2885
+ # data source from Google Chat. For example, a list of Google Chat spaces of
2886
+ # which the user is a member. [Developer Preview](https://developers.google.com/
2887
+ # workspace/preview).
2888
+ # Corresponds to the JSON property `chatDataSource`
2889
+ # @return [Google::Apis::ChatV1::ChatClientDataSourceMarkup]
2890
+ attr_accessor :chat_data_source
2891
+
2892
+ def initialize(**args)
2893
+ update!(**args)
2894
+ end
2895
+
2896
+ # Update properties of this object
2897
+ def update!(**args)
2898
+ @chat_data_source = args[:chat_data_source] if args.key?(:chat_data_source)
2899
+ end
2900
+ end
2901
+
2902
+ # An image that's specified by a URL and can have an `onclick` action.
2184
2903
  class Image
2185
2904
  include Google::Apis::Core::Hashable
2186
2905
 
2187
- # The aspect ratio of this image (width/height). This field allows clients to
2188
- # reserve the right height for the image while waiting for it to load. It's not
2189
- # meant to override the native aspect ratio of the image. If unset, the server
2190
- # fills it by prefetching the image.
2906
+ # The aspect ratio of this image (width and height). This field lets you reserve
2907
+ # the right height for the image while waiting for it to load. It's not meant to
2908
+ # override the built-in aspect ratio of the image. If unset, the server fills it
2909
+ # by prefetching the image.
2191
2910
  # Corresponds to the JSON property `aspectRatio`
2192
2911
  # @return [Float]
2193
2912
  attr_accessor :aspect_ratio
@@ -2197,7 +2916,7 @@ module Google
2197
2916
  # @return [String]
2198
2917
  attr_accessor :image_url
2199
2918
 
2200
- # An onclick action (e.g. open a link).
2919
+ # An `onclick` action (for example, open a link).
2201
2920
  # Corresponds to the JSON property `onClick`
2202
2921
  # @return [Google::Apis::ChatV1::OnClick]
2203
2922
  attr_accessor :on_click
@@ -2214,11 +2933,11 @@ module Google
2214
2933
  end
2215
2934
  end
2216
2935
 
2217
- # An image button with an onclick action.
2936
+ # An image button with an `onclick` action.
2218
2937
  class ImageButton
2219
2938
  include Google::Apis::Core::Hashable
2220
2939
 
2221
- # The icon specified by an enum that indices to an icon provided by Chat API.
2940
+ # The icon specified by an `enum` that indices to an icon provided by Chat API.
2222
2941
  # Corresponds to the JSON property `icon`
2223
2942
  # @return [String]
2224
2943
  attr_accessor :icon
@@ -2228,13 +2947,13 @@ module Google
2228
2947
  # @return [String]
2229
2948
  attr_accessor :icon_url
2230
2949
 
2231
- # The name of this image_button which will be used for accessibility. Default
2232
- # value will be provided if developers don't specify.
2950
+ # The name of this `image_button` that's used for accessibility. Default value
2951
+ # is provided if this name isn't specified.
2233
2952
  # Corresponds to the JSON property `name`
2234
2953
  # @return [String]
2235
2954
  attr_accessor :name
2236
2955
 
2237
- # An onclick action (e.g. open a link).
2956
+ # An `onclick` action (for example, open a link).
2238
2957
  # Corresponds to the JSON property `onClick`
2239
2958
  # @return [Google::Apis::ChatV1::OnClick]
2240
2959
  attr_accessor :on_click
@@ -2252,16 +2971,18 @@ module Google
2252
2971
  end
2253
2972
  end
2254
2973
 
2255
- # Types of data inputs for widgets. Users enter data with these inputs.
2974
+ # Types of data that users can enter on cards or dialogs. To learn how to
2975
+ # process information from users, see [Read form data input by users on cards](
2976
+ # https://developers.google.com/chat/ui/read-form-data).
2256
2977
  class Inputs
2257
2978
  include Google::Apis::Core::Hashable
2258
2979
 
2259
- # Date input values. Not supported by Chat apps.
2980
+ # Date input values.
2260
2981
  # Corresponds to the JSON property `dateInput`
2261
2982
  # @return [Google::Apis::ChatV1::DateInput]
2262
2983
  attr_accessor :date_input
2263
2984
 
2264
- # Date and time input values. Not supported by Chat apps.
2985
+ # Date and time input values.
2265
2986
  # Corresponds to the JSON property `dateTimeInput`
2266
2987
  # @return [Google::Apis::ChatV1::DateTimeInput]
2267
2988
  attr_accessor :date_time_input
@@ -2273,7 +2994,7 @@ module Google
2273
2994
  # @return [Google::Apis::ChatV1::StringInputs]
2274
2995
  attr_accessor :string_inputs
2275
2996
 
2276
- # Time input values. Not supported by Chat apps.
2997
+ # Time input values.
2277
2998
  # Corresponds to the JSON property `timeInput`
2278
2999
  # @return [Google::Apis::ChatV1::TimeInput]
2279
3000
  attr_accessor :time_input
@@ -2291,12 +3012,16 @@ module Google
2291
3012
  end
2292
3013
  end
2293
3014
 
2294
- # A UI element contains a key (label) and a value (content). And this element
2295
- # may also contain some actions such as onclick button.
3015
+ # A UI element contains a key (label) and a value (content). This element can
3016
+ # also contain some actions such as `onclick` button.
2296
3017
  class KeyValue
2297
3018
  include Google::Apis::Core::Hashable
2298
3019
 
2299
- # The text of the bottom label. Formatted text supported.
3020
+ # The text of the bottom label. Formatted text supported. For more information
3021
+ # about formatting text, see [Formatting text in Google Chat apps](https://
3022
+ # developers.google.com/chat/api/guides/message-formats/cards#
3023
+ # card_text_formatting) and [Formatting text in Google Workspace Add-ons](https:/
3024
+ # /developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
2300
3025
  # Corresponds to the JSON property `bottomLabel`
2301
3026
  # @return [String]
2302
3027
  attr_accessor :bottom_label
@@ -2306,7 +3031,11 @@ module Google
2306
3031
  # @return [Google::Apis::ChatV1::Button]
2307
3032
  attr_accessor :button
2308
3033
 
2309
- # The text of the content. Formatted text supported and always required.
3034
+ # The text of the content. Formatted text supported and always required. For
3035
+ # more information about formatting text, see [Formatting text in Google Chat
3036
+ # apps](https://developers.google.com/chat/api/guides/message-formats/cards#
3037
+ # card_text_formatting) and [Formatting text in Google Workspace Add-ons](https:/
3038
+ # /developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
2310
3039
  # Corresponds to the JSON property `content`
2311
3040
  # @return [String]
2312
3041
  attr_accessor :content
@@ -2317,8 +3046,8 @@ module Google
2317
3046
  attr_accessor :content_multiline
2318
3047
  alias_method :content_multiline?, :content_multiline
2319
3048
 
2320
- # An enum value that will be replaced by the Chat API with the corresponding
2321
- # icon image.
3049
+ # An enum value that's replaced by the Chat API with the corresponding icon
3050
+ # image.
2322
3051
  # Corresponds to the JSON property `icon`
2323
3052
  # @return [String]
2324
3053
  attr_accessor :icon
@@ -2328,12 +3057,16 @@ module Google
2328
3057
  # @return [String]
2329
3058
  attr_accessor :icon_url
2330
3059
 
2331
- # An onclick action (e.g. open a link).
3060
+ # An `onclick` action (for example, open a link).
2332
3061
  # Corresponds to the JSON property `onClick`
2333
3062
  # @return [Google::Apis::ChatV1::OnClick]
2334
3063
  attr_accessor :on_click
2335
3064
 
2336
- # The text of the top label. Formatted text supported.
3065
+ # The text of the top label. Formatted text supported. For more information
3066
+ # about formatting text, see [Formatting text in Google Chat apps](https://
3067
+ # developers.google.com/chat/api/guides/message-formats/cards#
3068
+ # card_text_formatting) and [Formatting text in Google Workspace Add-ons](https:/
3069
+ # /developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
2337
3070
  # Corresponds to the JSON property `topLabel`
2338
3071
  # @return [String]
2339
3072
  attr_accessor :top_label
@@ -2364,8 +3097,8 @@ module Google
2364
3097
  # @return [Array<Google::Apis::ChatV1::Membership>]
2365
3098
  attr_accessor :memberships
2366
3099
 
2367
- # Continuation token to retrieve the next page of results. It will be empty for
2368
- # the last page of results.
3100
+ # A token that you can send as `pageToken` to retrieve the next page of results.
3101
+ # If empty, there are no subsequent pages.
2369
3102
  # Corresponds to the JSON property `nextPageToken`
2370
3103
  # @return [String]
2371
3104
  attr_accessor :next_page_token
@@ -2381,13 +3114,64 @@ module Google
2381
3114
  end
2382
3115
  end
2383
3116
 
3117
+ #
3118
+ class ListMessagesResponse
3119
+ include Google::Apis::Core::Hashable
3120
+
3121
+ # List of messages.
3122
+ # Corresponds to the JSON property `messages`
3123
+ # @return [Array<Google::Apis::ChatV1::Message>]
3124
+ attr_accessor :messages
3125
+
3126
+ # You can send a token as `pageToken` to retrieve the next page of results. If
3127
+ # empty, there are no subsequent pages.
3128
+ # Corresponds to the JSON property `nextPageToken`
3129
+ # @return [String]
3130
+ attr_accessor :next_page_token
3131
+
3132
+ def initialize(**args)
3133
+ update!(**args)
3134
+ end
3135
+
3136
+ # Update properties of this object
3137
+ def update!(**args)
3138
+ @messages = args[:messages] if args.key?(:messages)
3139
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3140
+ end
3141
+ end
3142
+
3143
+ #
3144
+ class ListReactionsResponse
3145
+ include Google::Apis::Core::Hashable
3146
+
3147
+ # Continuation token to retrieve the next page of results. It's empty for the
3148
+ # last page of results.
3149
+ # Corresponds to the JSON property `nextPageToken`
3150
+ # @return [String]
3151
+ attr_accessor :next_page_token
3152
+
3153
+ # List of reactions in the requested (or first) page.
3154
+ # Corresponds to the JSON property `reactions`
3155
+ # @return [Array<Google::Apis::ChatV1::Reaction>]
3156
+ attr_accessor :reactions
3157
+
3158
+ def initialize(**args)
3159
+ update!(**args)
3160
+ end
3161
+
3162
+ # Update properties of this object
3163
+ def update!(**args)
3164
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3165
+ @reactions = args[:reactions] if args.key?(:reactions)
3166
+ end
3167
+ end
3168
+
2384
3169
  #
2385
3170
  class ListSpacesResponse
2386
3171
  include Google::Apis::Core::Hashable
2387
3172
 
2388
- # Continuation token to retrieve the next page of results. It will be empty for
2389
- # the last page of results. Tokens expire in an hour. An error is thrown if an
2390
- # expired token is passed.
3173
+ # You can send a token as `pageToken` to retrieve the next page of results. If
3174
+ # empty, there are no subsequent pages.
2391
3175
  # Corresponds to the JSON property `nextPageToken`
2392
3176
  # @return [String]
2393
3177
  attr_accessor :next_page_token
@@ -2408,13 +3192,13 @@ module Google
2408
3192
  end
2409
3193
  end
2410
3194
 
2411
- # A matched url in a Chat message. Chat apps can preview matched URLs. For more
2412
- # information, refer to [Preview links](https://developers.google.com/chat/how-
2413
- # tos/preview-links).
3195
+ # A matched URL in a Chat message. Chat apps can preview matched URLs. For more
3196
+ # information, see [Preview links](https://developers.google.com/chat/how-tos/
3197
+ # preview-links).
2414
3198
  class MatchedUrl
2415
3199
  include Google::Apis::Core::Hashable
2416
3200
 
2417
- # Output only. The url that was matched.
3201
+ # Output only. The URL that was matched.
2418
3202
  # Corresponds to the JSON property `url`
2419
3203
  # @return [String]
2420
3204
  attr_accessor :url
@@ -2459,12 +3243,16 @@ module Google
2459
3243
  # @return [String]
2460
3244
  attr_accessor :create_time
2461
3245
 
2462
- # A user in Google Chat.
3246
+ # A user in Google Chat. When returned as an output from a request, if your Chat
3247
+ # app [authenticates as a user](https://developers.google.com/chat/api/guides/
3248
+ # auth/users), the output for a `User` resource only populates the user's `name`
3249
+ # and `type`.
2463
3250
  # Corresponds to the JSON property `member`
2464
3251
  # @return [Google::Apis::ChatV1::User]
2465
3252
  attr_accessor :member
2466
3253
 
2467
- # Resource name of the membership. Format: spaces/`space`/members/`member`
3254
+ # Resource name of the membership, assigned by the server. Format: `spaces/`
3255
+ # space`/members/`member``
2468
3256
  # Corresponds to the JSON property `name`
2469
3257
  # @return [String]
2470
3258
  attr_accessor :name
@@ -2494,56 +3282,98 @@ module Google
2494
3282
  end
2495
3283
  end
2496
3284
 
2497
- # A message in Google Chat.
3285
+ # A message in a Google Chat space.
2498
3286
  class Message
2499
3287
  include Google::Apis::Core::Hashable
2500
3288
 
2501
- # Parameters that a Chat app can use to configure how it's response is posted.
3289
+ # Parameters that a Chat app can use to configure how its response is posted.
2502
3290
  # Corresponds to the JSON property `actionResponse`
2503
3291
  # @return [Google::Apis::ChatV1::ActionResponse]
2504
3292
  attr_accessor :action_response
2505
3293
 
2506
- # Output only. Annotations associated with the text in this message.
3294
+ # Output only. Annotations associated with the `text` in this message.
2507
3295
  # Corresponds to the JSON property `annotations`
2508
3296
  # @return [Array<Google::Apis::ChatV1::Annotation>]
2509
3297
  attr_accessor :annotations
2510
3298
 
2511
- # Plain-text body of the message with all Chat app mentions stripped out.
3299
+ # Output only. Plain-text body of the message with all Chat app mentions
3300
+ # stripped out.
2512
3301
  # Corresponds to the JSON property `argumentText`
2513
3302
  # @return [String]
2514
3303
  attr_accessor :argument_text
2515
3304
 
2516
- # User uploaded attachment.
3305
+ # Output only. GIF images that are attached to the message.
3306
+ # Corresponds to the JSON property `attachedGifs`
3307
+ # @return [Array<Google::Apis::ChatV1::AttachedGif>]
3308
+ attr_accessor :attached_gifs
3309
+
3310
+ # User-uploaded attachment.
2517
3311
  # Corresponds to the JSON property `attachment`
2518
3312
  # @return [Array<Google::Apis::ChatV1::Attachment>]
2519
3313
  attr_accessor :attachment
2520
3314
 
2521
- # Rich, formatted and interactive cards that can be used to display UI elements
2522
- # such as: formatted texts, buttons, clickable images. Cards are normally
2523
- # displayed below the plain-text body of the message.
3315
+ # Deprecated: Use `cards_v2` instead. Rich, formatted, and interactive cards
3316
+ # that you can use to display UI elements such as: formatted texts, buttons, and
3317
+ # clickable images. Cards are normally displayed below the plain-text body of
3318
+ # the message. `cards` and `cards_v2` can have a maximum size of 32 KB.
2524
3319
  # Corresponds to the JSON property `cards`
2525
3320
  # @return [Array<Google::Apis::ChatV1::Card>]
2526
3321
  attr_accessor :cards
2527
3322
 
2528
- # Richly formatted and interactive cards that display UI elements and editable
2529
- # widgets, such as: - Formatted text - Buttons - Clickable images - Checkboxes -
2530
- # Radio buttons - Input widgets. Cards are usually displayed below the text-body
2531
- # of a Chat message, but can situationally appear other places, such as [dialogs]
2532
- # (https://developers.google.com/chat/how-tos/dialogs). The `cardId` is a unique
2533
- # identifier among cards in the same message and for identifying user input
2534
- # values. Currently supported widgets include: - `TextParagraph` - `
2535
- # DecoratedText` - `Image` - `ButtonList`
3323
+ # An array of [cards](https://developers.google.com/chat/api/reference/rest/v1/
3324
+ # cards). Only Chat apps can create cards. If your Chat app [authenticates as a
3325
+ # user](https://developers.google.com/chat/api/guides/auth/users), the messages
3326
+ # can't contain cards. To learn about cards and how to create them, see [Design
3327
+ # dynamic, interactive, and consistent UIs with cards](https://developers.google.
3328
+ # com/chat/ui).
2536
3329
  # Corresponds to the JSON property `cardsV2`
2537
3330
  # @return [Array<Google::Apis::ChatV1::CardWithId>]
2538
3331
  attr_accessor :cards_v2
2539
3332
 
2540
- # Output only. The time at which the message was created in Google Chat server.
3333
+ # A custom name for a Chat message assigned at creation. Must start with `client-
3334
+ # ` and contain only lowercase letters, numbers, and hyphens up to 63 characters
3335
+ # in length. Specify this field to get, update, or delete the message with the
3336
+ # specified value. Assigning a custom name lets a Chat app recall the message
3337
+ # without saving the message `name` from the [response body](/chat/api/reference/
3338
+ # rest/v1/spaces.messages/get#response-body) returned when creating the message.
3339
+ # Assigning a custom name doesn't replace the generated `name` field, the
3340
+ # message's resource name. Instead, it sets the custom name as the `
3341
+ # clientAssignedMessageId` field, which you can reference while processing later
3342
+ # operations, like updating or deleting the message. For example usage, see [
3343
+ # Name a created message](https://developers.google.com/chat/api/guides/v1/
3344
+ # messages/create#name_a_created_message).
3345
+ # Corresponds to the JSON property `clientAssignedMessageId`
3346
+ # @return [String]
3347
+ attr_accessor :client_assigned_message_id
3348
+
3349
+ # For spaces created in Chat, the time at which the message was created. This
3350
+ # field is output only, except when used in imported spaces. [Developer Preview](
3351
+ # https://developers.google.com/workspace/preview): For imported spaces, set
3352
+ # this field to the historical timestamp at which the message was created in the
3353
+ # source in order to preserve the original creation time.
2541
3354
  # Corresponds to the JSON property `createTime`
2542
3355
  # @return [String]
2543
3356
  attr_accessor :create_time
2544
3357
 
3358
+ # Output only. The time at which the message was deleted in Google Chat. If the
3359
+ # message is never deleted, this field is empty.
3360
+ # Corresponds to the JSON property `deleteTime`
3361
+ # @return [String]
3362
+ attr_accessor :delete_time
3363
+
3364
+ # Information about a deleted message. A message is deleted when `delete_time`
3365
+ # is set.
3366
+ # Corresponds to the JSON property `deletionMetadata`
3367
+ # @return [Google::Apis::ChatV1::DeletionMetadata]
3368
+ attr_accessor :deletion_metadata
3369
+
3370
+ # Output only. The list of emoji reaction summaries on the message.
3371
+ # Corresponds to the JSON property `emojiReactionSummaries`
3372
+ # @return [Array<Google::Apis::ChatV1::EmojiReactionSummary>]
3373
+ attr_accessor :emoji_reaction_summaries
3374
+
2545
3375
  # A plain-text description of the message's cards, used when the actual cards
2546
- # cannot be displayed (e.g. mobile notifications).
3376
+ # can't be displayed—for example, mobile notifications.
2547
3377
  # Corresponds to the JSON property `fallbackText`
2548
3378
  # @return [String]
2549
3379
  attr_accessor :fallback_text
@@ -2554,9 +3384,9 @@ module Google
2554
3384
  # @return [String]
2555
3385
  attr_accessor :last_update_time
2556
3386
 
2557
- # A matched url in a Chat message. Chat apps can preview matched URLs. For more
2558
- # information, refer to [Preview links](https://developers.google.com/chat/how-
2559
- # tos/preview-links).
3387
+ # A matched URL in a Chat message. Chat apps can preview matched URLs. For more
3388
+ # information, see [Preview links](https://developers.google.com/chat/how-tos/
3389
+ # preview-links).
2560
3390
  # Corresponds to the JSON property `matchedUrl`
2561
3391
  # @return [Google::Apis::ChatV1::MatchedUrl]
2562
3392
  attr_accessor :matched_url
@@ -2567,7 +3397,15 @@ module Google
2567
3397
  # @return [String]
2568
3398
  attr_accessor :name
2569
3399
 
2570
- # A user in Google Chat.
3400
+ # Information about a quoted message.
3401
+ # Corresponds to the JSON property `quotedMessageMetadata`
3402
+ # @return [Google::Apis::ChatV1::QuotedMessageMetadata]
3403
+ attr_accessor :quoted_message_metadata
3404
+
3405
+ # A user in Google Chat. When returned as an output from a request, if your Chat
3406
+ # app [authenticates as a user](https://developers.google.com/chat/api/guides/
3407
+ # auth/users), the output for a `User` resource only populates the user's `name`
3408
+ # and `type`.
2571
3409
  # Corresponds to the JSON property `sender`
2572
3410
  # @return [Google::Apis::ChatV1::User]
2573
3411
  attr_accessor :sender
@@ -2584,17 +3422,31 @@ module Google
2584
3422
  # @return [Google::Apis::ChatV1::Space]
2585
3423
  attr_accessor :space
2586
3424
 
2587
- # Plain-text body of the message. The first link to an image, video, web page,
2588
- # or other preview-able item generates a preview chip.
3425
+ # Plain-text body of the message. The first link to an image, video, or web page
3426
+ # generates a preview chip. You can also @mention a Google Chat user, or
3427
+ # everyone in the space. To learn about creating text messages, see [Create a
3428
+ # text message](https://developers.google.com/chat/api/guides/message-formats/
3429
+ # text).
2589
3430
  # Corresponds to the JSON property `text`
2590
3431
  # @return [String]
2591
3432
  attr_accessor :text
2592
3433
 
2593
- # A thread in Google Chat.
3434
+ # A thread in a Google Chat space. For example usage, see [Start or reply to a
3435
+ # message thread](https://developers.google.com/chat/api/guides/crudl/messages#
3436
+ # start_or_reply_to_a_message_thread).
2594
3437
  # Corresponds to the JSON property `thread`
2595
3438
  # @return [Google::Apis::ChatV1::Thread]
2596
3439
  attr_accessor :thread
2597
3440
 
3441
+ # Output only. When `true`, the message is a response in a reply thread. When `
3442
+ # false`, the message is visible in the space's top-level conversation as either
3443
+ # the first message of a thread or a message with no threaded replies. If the
3444
+ # space doesn't support reply in threads, this field is always `false`.
3445
+ # Corresponds to the JSON property `threadReply`
3446
+ # @return [Boolean]
3447
+ attr_accessor :thread_reply
3448
+ alias_method :thread_reply?, :thread_reply
3449
+
2598
3450
  def initialize(**args)
2599
3451
  update!(**args)
2600
3452
  end
@@ -2604,28 +3456,35 @@ module Google
2604
3456
  @action_response = args[:action_response] if args.key?(:action_response)
2605
3457
  @annotations = args[:annotations] if args.key?(:annotations)
2606
3458
  @argument_text = args[:argument_text] if args.key?(:argument_text)
3459
+ @attached_gifs = args[:attached_gifs] if args.key?(:attached_gifs)
2607
3460
  @attachment = args[:attachment] if args.key?(:attachment)
2608
3461
  @cards = args[:cards] if args.key?(:cards)
2609
3462
  @cards_v2 = args[:cards_v2] if args.key?(:cards_v2)
3463
+ @client_assigned_message_id = args[:client_assigned_message_id] if args.key?(:client_assigned_message_id)
2610
3464
  @create_time = args[:create_time] if args.key?(:create_time)
3465
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
3466
+ @deletion_metadata = args[:deletion_metadata] if args.key?(:deletion_metadata)
3467
+ @emoji_reaction_summaries = args[:emoji_reaction_summaries] if args.key?(:emoji_reaction_summaries)
2611
3468
  @fallback_text = args[:fallback_text] if args.key?(:fallback_text)
2612
3469
  @last_update_time = args[:last_update_time] if args.key?(:last_update_time)
2613
3470
  @matched_url = args[:matched_url] if args.key?(:matched_url)
2614
3471
  @name = args[:name] if args.key?(:name)
3472
+ @quoted_message_metadata = args[:quoted_message_metadata] if args.key?(:quoted_message_metadata)
2615
3473
  @sender = args[:sender] if args.key?(:sender)
2616
3474
  @slash_command = args[:slash_command] if args.key?(:slash_command)
2617
3475
  @space = args[:space] if args.key?(:space)
2618
3476
  @text = args[:text] if args.key?(:text)
2619
3477
  @thread = args[:thread] if args.key?(:thread)
3478
+ @thread_reply = args[:thread_reply] if args.key?(:thread_reply)
2620
3479
  end
2621
3480
  end
2622
3481
 
2623
- # An onclick action (e.g. open a link).
3482
+ # An `onclick` action (for example, open a link).
2624
3483
  class OnClick
2625
3484
  include Google::Apis::Core::Hashable
2626
3485
 
2627
3486
  # A form action describes the behavior when the form is submitted. For example,
2628
- # an Apps Script can be invoked to handle the form.
3487
+ # you can invoke Apps Script to handle the form.
2629
3488
  # Corresponds to the JSON property `action`
2630
3489
  # @return [Google::Apis::ChatV1::FormAction]
2631
3490
  attr_accessor :action
@@ -2665,18 +3524,85 @@ module Google
2665
3524
  end
2666
3525
  end
2667
3526
 
3527
+ # Information about a quoted message.
3528
+ class QuotedMessageMetadata
3529
+ include Google::Apis::Core::Hashable
3530
+
3531
+ # Output only. The timestamp when the quoted message was created or when the
3532
+ # quoted message was last updated.
3533
+ # Corresponds to the JSON property `lastUpdateTime`
3534
+ # @return [String]
3535
+ attr_accessor :last_update_time
3536
+
3537
+ # Output only. Resource name of the quoted message. Format: `spaces/`space`/
3538
+ # messages/`message``
3539
+ # Corresponds to the JSON property `name`
3540
+ # @return [String]
3541
+ attr_accessor :name
3542
+
3543
+ def initialize(**args)
3544
+ update!(**args)
3545
+ end
3546
+
3547
+ # Update properties of this object
3548
+ def update!(**args)
3549
+ @last_update_time = args[:last_update_time] if args.key?(:last_update_time)
3550
+ @name = args[:name] if args.key?(:name)
3551
+ end
3552
+ end
3553
+
3554
+ # A reaction to a message.
3555
+ class Reaction
3556
+ include Google::Apis::Core::Hashable
3557
+
3558
+ # An emoji that is used as a reaction to a message.
3559
+ # Corresponds to the JSON property `emoji`
3560
+ # @return [Google::Apis::ChatV1::Emoji]
3561
+ attr_accessor :emoji
3562
+
3563
+ # The resource name of the reaction. Format: `spaces/`space`/messages/`message`/
3564
+ # reactions/`reaction``
3565
+ # Corresponds to the JSON property `name`
3566
+ # @return [String]
3567
+ attr_accessor :name
3568
+
3569
+ # A user in Google Chat. When returned as an output from a request, if your Chat
3570
+ # app [authenticates as a user](https://developers.google.com/chat/api/guides/
3571
+ # auth/users), the output for a `User` resource only populates the user's `name`
3572
+ # and `type`.
3573
+ # Corresponds to the JSON property `user`
3574
+ # @return [Google::Apis::ChatV1::User]
3575
+ attr_accessor :user
3576
+
3577
+ def initialize(**args)
3578
+ update!(**args)
3579
+ end
3580
+
3581
+ # Update properties of this object
3582
+ def update!(**args)
3583
+ @emoji = args[:emoji] if args.key?(:emoji)
3584
+ @name = args[:name] if args.key?(:name)
3585
+ @user = args[:user] if args.key?(:user)
3586
+ end
3587
+ end
3588
+
2668
3589
  # A section contains a collection of widgets that are rendered (vertically) in
2669
3590
  # the order that they are specified. Across all platforms, cards have a narrow
2670
- # fixed width, so there is currently no need for layout properties (e.g. float).
3591
+ # fixed width, so there's currently no need for layout properties (for example,
3592
+ # float).
2671
3593
  class Section
2672
3594
  include Google::Apis::Core::Hashable
2673
3595
 
2674
- # The header of the section, text formatted supported.
3596
+ # The header of the section. Formatted text is supported. For more information
3597
+ # about formatting text, see [Formatting text in Google Chat apps](https://
3598
+ # developers.google.com/chat/api/guides/message-formats/cards#
3599
+ # card_text_formatting) and [Formatting text in Google Workspace Add-ons](https:/
3600
+ # /developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
2675
3601
  # Corresponds to the JSON property `header`
2676
3602
  # @return [String]
2677
3603
  attr_accessor :header
2678
3604
 
2679
- # A section must contain at least 1 widget.
3605
+ # A section must contain at least one widget.
2680
3606
  # Corresponds to the JSON property `widgets`
2681
3607
  # @return [Array<Google::Apis::ChatV1::WidgetMarkup>]
2682
3608
  attr_accessor :widgets
@@ -2692,12 +3618,62 @@ module Google
2692
3618
  end
2693
3619
  end
2694
3620
 
3621
+ #
3622
+ class SetUpSpaceRequest
3623
+ include Google::Apis::Core::Hashable
3624
+
3625
+ # Optional. The Google Chat users to invite to join the space. Omit the calling
3626
+ # user, as they are added automatically. The set currently allows up to 20
3627
+ # memberships (in addition to the caller). The `Membership.member` field must
3628
+ # contain a `user` with `name` populated (format: `users/`user``) and `type` set
3629
+ # to `User.Type.HUMAN`. You can only add human users when setting up a space (
3630
+ # adding Chat apps is only supported for direct message setup with the calling
3631
+ # app). You can also add members using the user's email as an alias for `user`.
3632
+ # For example, the `user.name` can be `users/example@gmail.com`." To invite
3633
+ # Gmail users or users from external Google Workspace domains, user's email must
3634
+ # be used for ``user``. Optional when setting `Space.spaceType` to `SPACE`.
3635
+ # Required when setting `Space.spaceType` to `GROUP_CHAT`, along with at least
3636
+ # two memberships. Required when setting `Space.spaceType` to `DIRECT_MESSAGE`
3637
+ # with a human user, along with exactly one membership. Must be empty when
3638
+ # creating a 1:1 conversation between a human and the calling Chat app (when
3639
+ # setting `Space.spaceType` to `DIRECT_MESSAGE` and `Space.singleUserBotDm` to `
3640
+ # true`).
3641
+ # Corresponds to the JSON property `memberships`
3642
+ # @return [Array<Google::Apis::ChatV1::Membership>]
3643
+ attr_accessor :memberships
3644
+
3645
+ # Optional. A unique identifier for this request. A random UUID is recommended.
3646
+ # Specifying an existing request ID returns the space created with that ID
3647
+ # instead of creating a new space. Specifying an existing request ID from the
3648
+ # same Chat app with a different authenticated user returns an error.
3649
+ # Corresponds to the JSON property `requestId`
3650
+ # @return [String]
3651
+ attr_accessor :request_id
3652
+
3653
+ # A space in Google Chat. Spaces are conversations between two or more users or
3654
+ # 1:1 messages between a user and a Chat app.
3655
+ # Corresponds to the JSON property `space`
3656
+ # @return [Google::Apis::ChatV1::Space]
3657
+ attr_accessor :space
3658
+
3659
+ def initialize(**args)
3660
+ update!(**args)
3661
+ end
3662
+
3663
+ # Update properties of this object
3664
+ def update!(**args)
3665
+ @memberships = args[:memberships] if args.key?(:memberships)
3666
+ @request_id = args[:request_id] if args.key?(:request_id)
3667
+ @space = args[:space] if args.key?(:space)
3668
+ end
3669
+ end
3670
+
2695
3671
  # A [slash command](https://developers.google.com/chat/how-tos/slash-commands)
2696
3672
  # in Google Chat.
2697
3673
  class SlashCommand
2698
3674
  include Google::Apis::Core::Hashable
2699
3675
 
2700
- # The id of the slash command invoked.
3676
+ # The ID of the slash command invoked.
2701
3677
  # Corresponds to the JSON property `commandId`
2702
3678
  # @return [Fixnum]
2703
3679
  attr_accessor :command_id
@@ -2716,12 +3692,15 @@ module Google
2716
3692
  class SlashCommandMetadata
2717
3693
  include Google::Apis::Core::Hashable
2718
3694
 
2719
- # A user in Google Chat.
3695
+ # A user in Google Chat. When returned as an output from a request, if your Chat
3696
+ # app [authenticates as a user](https://developers.google.com/chat/api/guides/
3697
+ # auth/users), the output for a `User` resource only populates the user's `name`
3698
+ # and `type`.
2720
3699
  # Corresponds to the JSON property `bot`
2721
3700
  # @return [Google::Apis::ChatV1::User]
2722
3701
  attr_accessor :bot
2723
3702
 
2724
- # The command id of the invoked slash command.
3703
+ # The command ID of the invoked slash command.
2725
3704
  # Corresponds to the JSON property `commandId`
2726
3705
  # @return [Fixnum]
2727
3706
  attr_accessor :command_id
@@ -2731,7 +3710,7 @@ module Google
2731
3710
  # @return [String]
2732
3711
  attr_accessor :command_name
2733
3712
 
2734
- # Indicating whether the slash command is for a dialog.
3713
+ # Indicates whether the slash command is for a dialog.
2735
3714
  # Corresponds to the JSON property `triggersDialog`
2736
3715
  # @return [Boolean]
2737
3716
  attr_accessor :triggers_dialog
@@ -2761,13 +3740,37 @@ module Google
2761
3740
  class Space
2762
3741
  include Google::Apis::Core::Hashable
2763
3742
 
2764
- # The space's display name. For direct messages between humans, this field might
2765
- # be empty.
3743
+ # Output only. Whether the Chat app was installed by a Google Workspace
3744
+ # administrator. Administrators can install a Chat app for their domain,
3745
+ # organizational unit, or a group of users. Administrators can only install Chat
3746
+ # apps for direct messaging between users and the app. To support admin install,
3747
+ # your app must feature direct messaging.
3748
+ # Corresponds to the JSON property `adminInstalled`
3749
+ # @return [Boolean]
3750
+ attr_accessor :admin_installed
3751
+ alias_method :admin_installed?, :admin_installed
3752
+
3753
+ # The space's display name. Required when [creating a space](https://developers.
3754
+ # google.com/chat/api/reference/rest/v1/spaces/create). If you receive the error
3755
+ # message `ALREADY_EXISTS` when creating a space or updating the `displayName`,
3756
+ # try a different `displayName`. An existing space within the Google Workspace
3757
+ # organization might already use this display name. For direct messages, this
3758
+ # field might be empty. Supports up to 128 characters.
2766
3759
  # Corresponds to the JSON property `displayName`
2767
3760
  # @return [String]
2768
3761
  attr_accessor :display_name
2769
3762
 
2770
- # Resource name of the space. Format: spaces/`space`
3763
+ # Immutable. Whether this space permits any Google Chat user as a member. Input
3764
+ # when creating a space in a Google Workspace organization. For Google Chat
3765
+ # users that use a Google Account, omit this field when creating a space (By
3766
+ # default, the space permits any Google Chat user). For existing spaces, this
3767
+ # field is output only.
3768
+ # Corresponds to the JSON property `externalUserAllowed`
3769
+ # @return [Boolean]
3770
+ attr_accessor :external_user_allowed
3771
+ alias_method :external_user_allowed?, :external_user_allowed
3772
+
3773
+ # Resource name of the space. Format: `spaces/`space``
2771
3774
  # Corresponds to the JSON property `name`
2772
3775
  # @return [String]
2773
3776
  attr_accessor :name
@@ -2783,14 +3786,30 @@ module Google
2783
3786
  # @return [Google::Apis::ChatV1::SpaceDetails]
2784
3787
  attr_accessor :space_details
2785
3788
 
2786
- # Output only. Whether messages are threaded in this space.
3789
+ # The message history state for messages and threads in this space.
3790
+ # Corresponds to the JSON property `spaceHistoryState`
3791
+ # @return [String]
3792
+ attr_accessor :space_history_state
3793
+
3794
+ # Output only. The threading state in the Chat space.
3795
+ # Corresponds to the JSON property `spaceThreadingState`
3796
+ # @return [String]
3797
+ attr_accessor :space_threading_state
3798
+
3799
+ # The type of space. Required when creating a space or updating the space type
3800
+ # of a space. Output only for other usage.
3801
+ # Corresponds to the JSON property `spaceType`
3802
+ # @return [String]
3803
+ attr_accessor :space_type
3804
+
3805
+ # Output only. Deprecated: Use `spaceThreadingState` instead. Whether messages
3806
+ # are threaded in this space.
2787
3807
  # Corresponds to the JSON property `threaded`
2788
3808
  # @return [Boolean]
2789
3809
  attr_accessor :threaded
2790
3810
  alias_method :threaded?, :threaded
2791
3811
 
2792
- # Output only. Deprecated: Use `singleUserBotDm` or `spaceType` (developer
2793
- # preview) instead. The type of a space.
3812
+ # Output only. Deprecated: Use `space_type` instead. The type of a space.
2794
3813
  # Corresponds to the JSON property `type`
2795
3814
  # @return [String]
2796
3815
  attr_accessor :type
@@ -2801,26 +3820,56 @@ module Google
2801
3820
 
2802
3821
  # Update properties of this object
2803
3822
  def update!(**args)
3823
+ @admin_installed = args[:admin_installed] if args.key?(:admin_installed)
2804
3824
  @display_name = args[:display_name] if args.key?(:display_name)
3825
+ @external_user_allowed = args[:external_user_allowed] if args.key?(:external_user_allowed)
2805
3826
  @name = args[:name] if args.key?(:name)
2806
3827
  @single_user_bot_dm = args[:single_user_bot_dm] if args.key?(:single_user_bot_dm)
2807
3828
  @space_details = args[:space_details] if args.key?(:space_details)
3829
+ @space_history_state = args[:space_history_state] if args.key?(:space_history_state)
3830
+ @space_threading_state = args[:space_threading_state] if args.key?(:space_threading_state)
3831
+ @space_type = args[:space_type] if args.key?(:space_type)
2808
3832
  @threaded = args[:threaded] if args.key?(:threaded)
2809
3833
  @type = args[:type] if args.key?(:type)
2810
3834
  end
2811
3835
  end
2812
3836
 
3837
+ # A data source representing a Google Chat space. Format: spaces/`space` [
3838
+ # Developer Preview](https://developers.google.com/workspace/preview).
3839
+ class SpaceDataSource
3840
+ include Google::Apis::Core::Hashable
3841
+
3842
+ # When `true`, uses the card's Google Chat space as the default selection. The
3843
+ # default value is `false`. [Developer Preview](https://developers.google.com/
3844
+ # workspace/preview).
3845
+ # Corresponds to the JSON property `defaultToCurrentSpace`
3846
+ # @return [Boolean]
3847
+ attr_accessor :default_to_current_space
3848
+ alias_method :default_to_current_space?, :default_to_current_space
3849
+
3850
+ def initialize(**args)
3851
+ update!(**args)
3852
+ end
3853
+
3854
+ # Update properties of this object
3855
+ def update!(**args)
3856
+ @default_to_current_space = args[:default_to_current_space] if args.key?(:default_to_current_space)
3857
+ end
3858
+ end
3859
+
2813
3860
  # Details about the space including description and rules.
2814
3861
  class SpaceDetails
2815
3862
  include Google::Apis::Core::Hashable
2816
3863
 
2817
- # Optional. A description of the space. It could describe the space's discussion
2818
- # topic, functional purpose, or participants.
3864
+ # Optional. A description of the space. For example, describe the space's
3865
+ # discussion topic, functional purpose, or participants. Supports up to 150
3866
+ # characters.
2819
3867
  # Corresponds to the JSON property `description`
2820
3868
  # @return [String]
2821
3869
  attr_accessor :description
2822
3870
 
2823
- # Optional. The space's rules, expectations, and etiquette.
3871
+ # Optional. The space's rules, expectations, and etiquette. Supports up to 5,000
3872
+ # characters.
2824
3873
  # Corresponds to the JSON property `guidelines`
2825
3874
  # @return [String]
2826
3875
  attr_accessor :guidelines
@@ -2896,11 +3945,11 @@ module Google
2896
3945
  end
2897
3946
  end
2898
3947
 
2899
- # A button with text and onclick action.
3948
+ # A button with text and `onclick` action.
2900
3949
  class TextButton
2901
3950
  include Google::Apis::Core::Hashable
2902
3951
 
2903
- # An onclick action (e.g. open a link).
3952
+ # An `onclick` action (for example, open a link).
2904
3953
  # Corresponds to the JSON property `onClick`
2905
3954
  # @return [Google::Apis::ChatV1::OnClick]
2906
3955
  attr_accessor :on_click
@@ -2921,7 +3970,11 @@ module Google
2921
3970
  end
2922
3971
  end
2923
3972
 
2924
- # A paragraph of text. Formatted text supported.
3973
+ # A paragraph of text. Formatted text supported. For more information about
3974
+ # formatting text, see [Formatting text in Google Chat apps](https://developers.
3975
+ # google.com/chat/api/guides/message-formats/cards#card_text_formatting) and [
3976
+ # Formatting text in Google Workspace Add-ons](https://developers.google.com/
3977
+ # apps-script/add-ons/concepts/widgets#text_formatting).
2925
3978
  class TextParagraph
2926
3979
  include Google::Apis::Core::Hashable
2927
3980
 
@@ -2940,16 +3993,23 @@ module Google
2940
3993
  end
2941
3994
  end
2942
3995
 
2943
- # A thread in Google Chat.
3996
+ # A thread in a Google Chat space. For example usage, see [Start or reply to a
3997
+ # message thread](https://developers.google.com/chat/api/guides/crudl/messages#
3998
+ # start_or_reply_to_a_message_thread).
2944
3999
  class Thread
2945
4000
  include Google::Apis::Core::Hashable
2946
4001
 
2947
- # Resource name, in the form "spaces/*/threads/*". Example: spaces/AAAAAAAAAAA/
2948
- # threads/TTTTTTTTTTT
4002
+ # Resource name of the thread. Example: `spaces/`space`/threads/`thread``
2949
4003
  # Corresponds to the JSON property `name`
2950
4004
  # @return [String]
2951
4005
  attr_accessor :name
2952
4006
 
4007
+ # Optional. ID for the thread. Supports up to 4000 characters. Input for
4008
+ # creating or updating a thread. Otherwise, output only.
4009
+ # Corresponds to the JSON property `threadKey`
4010
+ # @return [String]
4011
+ attr_accessor :thread_key
4012
+
2953
4013
  def initialize(**args)
2954
4014
  update!(**args)
2955
4015
  end
@@ -2957,10 +4017,11 @@ module Google
2957
4017
  # Update properties of this object
2958
4018
  def update!(**args)
2959
4019
  @name = args[:name] if args.key?(:name)
4020
+ @thread_key = args[:thread_key] if args.key?(:thread_key)
2960
4021
  end
2961
4022
  end
2962
4023
 
2963
- # Time input values. Not supported by Chat apps.
4024
+ # Time input values.
2964
4025
  class TimeInput
2965
4026
  include Google::Apis::Core::Hashable
2966
4027
 
@@ -2985,8 +4046,11 @@ module Google
2985
4046
  end
2986
4047
  end
2987
4048
 
2988
- # The timezone ID and offset from Coordinated Universal Time (UTC). Not
2989
- # supported by Chat apps.
4049
+ # The timezone ID and offset from Coordinated Universal Time (UTC). Only
4050
+ # supported for the event types [`CARD_CLICKED`](https://developers.google.com/
4051
+ # chat/api/reference/rest/v1/EventType#ENUM_VALUES.CARD_CLICKED) and [`
4052
+ # SUBMIT_DIALOG`](https://developers.google.com/chat/api/reference/rest/v1/
4053
+ # DialogEventType#ENUM_VALUES.SUBMIT_DIALOG).
2990
4054
  class TimeZone
2991
4055
  include Google::Apis::Core::Hashable
2992
4056
 
@@ -3013,7 +4077,48 @@ module Google
3013
4077
  end
3014
4078
  end
3015
4079
 
3016
- # A user in Google Chat.
4080
+ #
4081
+ class UploadAttachmentRequest
4082
+ include Google::Apis::Core::Hashable
4083
+
4084
+ # Required. The filename of the attachment, including the file extension.
4085
+ # Corresponds to the JSON property `filename`
4086
+ # @return [String]
4087
+ attr_accessor :filename
4088
+
4089
+ def initialize(**args)
4090
+ update!(**args)
4091
+ end
4092
+
4093
+ # Update properties of this object
4094
+ def update!(**args)
4095
+ @filename = args[:filename] if args.key?(:filename)
4096
+ end
4097
+ end
4098
+
4099
+ #
4100
+ class UploadAttachmentResponse
4101
+ include Google::Apis::Core::Hashable
4102
+
4103
+ # Reference to the uploaded attachment.
4104
+ # Corresponds to the JSON property `attachmentDataRef`
4105
+ # @return [Google::Apis::ChatV1::AttachmentDataRef]
4106
+ attr_accessor :attachment_data_ref
4107
+
4108
+ def initialize(**args)
4109
+ update!(**args)
4110
+ end
4111
+
4112
+ # Update properties of this object
4113
+ def update!(**args)
4114
+ @attachment_data_ref = args[:attachment_data_ref] if args.key?(:attachment_data_ref)
4115
+ end
4116
+ end
4117
+
4118
+ # A user in Google Chat. When returned as an output from a request, if your Chat
4119
+ # app [authenticates as a user](https://developers.google.com/chat/api/guides/
4120
+ # auth/users), the output for a `User` resource only populates the user's `name`
4121
+ # and `type`.
3017
4122
  class User
3018
4123
  include Google::Apis::Core::Hashable
3019
4124
 
@@ -3033,10 +4138,14 @@ module Google
3033
4138
  attr_accessor :is_anonymous
3034
4139
  alias_method :is_anonymous?, :is_anonymous
3035
4140
 
3036
- # Resource name for a Google Chat user. Represents a [person](https://developers.
3037
- # google.com/people/api/rest/v1/people#Person) in the People API or a [user](
3038
- # https://developers.google.com/admin-sdk/directory/reference/rest/v1/users) in
3039
- # the Admin SDK Directory API. Formatted as: `users/`user``
4141
+ # Resource name for a Google Chat user. Format: `users/`user``. `users/app` can
4142
+ # be used as an alias for the calling app bot user. For human users, ``user`` is
4143
+ # the same user identifier as: - the ``person_id`` for the [Person](https://
4144
+ # developers.google.com/people/api/rest/v1/people) in the People API, where the
4145
+ # Person `resource_name` is `people/`person_id``. For example, `users/123456789`
4146
+ # in Chat API represents the same person as `people/123456789` in People API. -
4147
+ # the `id` for a [user](https://developers.google.com/admin-sdk/directory/
4148
+ # reference/rest/v1/users) in the Admin SDK Directory API.
3040
4149
  # Corresponds to the JSON property `name`
3041
4150
  # @return [String]
3042
4151
  attr_accessor :name
@@ -3069,7 +4178,10 @@ module Google
3069
4178
  # @return [String]
3070
4179
  attr_accessor :type
3071
4180
 
3072
- # A user in Google Chat.
4181
+ # A user in Google Chat. When returned as an output from a request, if your Chat
4182
+ # app [authenticates as a user](https://developers.google.com/chat/api/guides/
4183
+ # auth/users), the output for a `User` resource only populates the user's `name`
4184
+ # and `type`.
3073
4185
  # Corresponds to the JSON property `user`
3074
4186
  # @return [Google::Apis::ChatV1::User]
3075
4187
  attr_accessor :user
@@ -3085,28 +4197,32 @@ module Google
3085
4197
  end
3086
4198
  end
3087
4199
 
3088
- # A widget is a UI element that presents texts, images, etc.
4200
+ # A widget is a UI element that presents text and images.
3089
4201
  class WidgetMarkup
3090
4202
  include Google::Apis::Core::Hashable
3091
4203
 
3092
- # A list of buttons. Buttons is also oneof data and only one of these fields
4204
+ # A list of buttons. Buttons is also `oneof data` and only one of these fields
3093
4205
  # should be set.
3094
4206
  # Corresponds to the JSON property `buttons`
3095
4207
  # @return [Array<Google::Apis::ChatV1::Button>]
3096
4208
  attr_accessor :buttons
3097
4209
 
3098
- # An image that is specified by a URL and can have an onclick action.
4210
+ # An image that's specified by a URL and can have an `onclick` action.
3099
4211
  # Corresponds to the JSON property `image`
3100
4212
  # @return [Google::Apis::ChatV1::Image]
3101
4213
  attr_accessor :image
3102
4214
 
3103
- # A UI element contains a key (label) and a value (content). And this element
3104
- # may also contain some actions such as onclick button.
4215
+ # A UI element contains a key (label) and a value (content). This element can
4216
+ # also contain some actions such as `onclick` button.
3105
4217
  # Corresponds to the JSON property `keyValue`
3106
4218
  # @return [Google::Apis::ChatV1::KeyValue]
3107
4219
  attr_accessor :key_value
3108
4220
 
3109
- # A paragraph of text. Formatted text supported.
4221
+ # A paragraph of text. Formatted text supported. For more information about
4222
+ # formatting text, see [Formatting text in Google Chat apps](https://developers.
4223
+ # google.com/chat/api/guides/message-formats/cards#card_text_formatting) and [
4224
+ # Formatting text in Google Workspace Add-ons](https://developers.google.com/
4225
+ # apps-script/add-ons/concepts/widgets#text_formatting).
3110
4226
  # Corresponds to the JSON property `textParagraph`
3111
4227
  # @return [Google::Apis::ChatV1::TextParagraph]
3112
4228
  attr_accessor :text_paragraph