google-apps-chat-v1 0.6.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,88 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # Rich semantic information of an API field beyond basic typing.
23
+ # @!attribute [rw] format
24
+ # @return [::Google::Api::FieldInfo::Format]
25
+ # The standard format of a field value. This does not explicitly configure
26
+ # any API consumer, just documents the API's format for the field it is
27
+ # applied to.
28
+ # @!attribute [rw] referenced_types
29
+ # @return [::Array<::Google::Api::TypeReference>]
30
+ # The type(s) that the annotated, generic field may represent.
31
+ #
32
+ # Currently, this must only be used on fields of type `google.protobuf.Any`.
33
+ # Supporting other generic types may be considered in the future.
34
+ class FieldInfo
35
+ include ::Google::Protobuf::MessageExts
36
+ extend ::Google::Protobuf::MessageExts::ClassMethods
37
+
38
+ # The standard format of a field value. The supported formats are all backed
39
+ # by either an RFC defined by the IETF or a Google-defined AIP.
40
+ module Format
41
+ # Default, unspecified value.
42
+ FORMAT_UNSPECIFIED = 0
43
+
44
+ # Universally Unique Identifier, version 4, value as defined by
45
+ # https://datatracker.ietf.org/doc/html/rfc4122. The value may be
46
+ # normalized to entirely lowercase letters. For example, the value
47
+ # `F47AC10B-58CC-0372-8567-0E02B2C3D479` would be normalized to
48
+ # `f47ac10b-58cc-0372-8567-0e02b2c3d479`.
49
+ UUID4 = 1
50
+
51
+ # Internet Protocol v4 value as defined by [RFC
52
+ # 791](https://datatracker.ietf.org/doc/html/rfc791). The value may be
53
+ # condensed, with leading zeros in each octet stripped. For example,
54
+ # `001.022.233.040` would be condensed to `1.22.233.40`.
55
+ IPV4 = 2
56
+
57
+ # Internet Protocol v6 value as defined by [RFC
58
+ # 2460](https://datatracker.ietf.org/doc/html/rfc2460). The value may be
59
+ # normalized to entirely lowercase letters with zeros compressed, following
60
+ # [RFC 5952](https://datatracker.ietf.org/doc/html/rfc5952). For example,
61
+ # the value `2001:0DB8:0::0` would be normalized to `2001:db8::`.
62
+ IPV6 = 3
63
+
64
+ # An IP address in either v4 or v6 format as described by the individual
65
+ # values defined herein. See the comments on the IPV4 and IPV6 types for
66
+ # allowed normalizations of each.
67
+ IPV4_OR_IPV6 = 4
68
+ end
69
+ end
70
+
71
+ # A reference to a message type, for use in {::Google::Api::FieldInfo FieldInfo}.
72
+ # @!attribute [rw] type_name
73
+ # @return [::String]
74
+ # The name of the type that the annotated, generic field may represent.
75
+ # If the type is in the same protobuf package, the value can be the simple
76
+ # message name e.g., `"MyMessage"`. Otherwise, the value must be the
77
+ # fully-qualified message name e.g., `"google.library.v1.Book"`.
78
+ #
79
+ # If the type(s) are unknown to the service (e.g. the field accepts generic
80
+ # user input), use the wildcard `"*"` to denote this behavior.
81
+ #
82
+ # See [AIP-202](https://google.aip.dev/202#type-references) for more details.
83
+ class TypeReference
84
+ include ::Google::Protobuf::MessageExts
85
+ extend ::Google::Protobuf::MessageExts::ClassMethods
86
+ end
87
+ end
88
+ end
@@ -393,6 +393,8 @@ module Google
393
393
  # "text": " <b>bold text</b>"
394
394
  # }
395
395
  # ```
396
+ #
397
+ # Note: The following fields are mutually exclusive: `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `date_time_picker`, `divider`, `grid`, `columns`. If a field in that set is populated, all other fields in the set will automatically be cleared.
396
398
  # @!attribute [rw] image
397
399
  # @return [::Google::Apps::Card::V1::Image]
398
400
  # Displays an image.
@@ -405,6 +407,8 @@ module Google
405
407
  # "altText": "Chat app avatar"
406
408
  # }
407
409
  # ```
410
+ #
411
+ # Note: The following fields are mutually exclusive: `image`, `text_paragraph`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `date_time_picker`, `divider`, `grid`, `columns`. If a field in that set is populated, all other fields in the set will automatically be cleared.
408
412
  # @!attribute [rw] decorated_text
409
413
  # @return [::Google::Apps::Card::V1::DecoratedText]
410
414
  # Displays a decorated text item.
@@ -427,6 +431,8 @@ module Google
427
431
  # }
428
432
  # }
429
433
  # ```
434
+ #
435
+ # Note: The following fields are mutually exclusive: `decorated_text`, `text_paragraph`, `image`, `button_list`, `text_input`, `selection_input`, `date_time_picker`, `divider`, `grid`, `columns`. If a field in that set is populated, all other fields in the set will automatically be cleared.
430
436
  # @!attribute [rw] button_list
431
437
  # @return [::Google::Apps::Card::V1::ButtonList]
432
438
  # A list of buttons.
@@ -461,6 +467,8 @@ module Google
461
467
  # ]
462
468
  # }
463
469
  # ```
470
+ #
471
+ # Note: The following fields are mutually exclusive: `button_list`, `text_paragraph`, `image`, `decorated_text`, `text_input`, `selection_input`, `date_time_picker`, `divider`, `grid`, `columns`. If a field in that set is populated, all other fields in the set will automatically be cleared.
464
472
  # @!attribute [rw] text_input
465
473
  # @return [::Google::Apps::Card::V1::TextInput]
466
474
  # Displays a text box that users can type into.
@@ -499,6 +507,8 @@ module Google
499
507
  # }
500
508
  # }
501
509
  # ```
510
+ #
511
+ # Note: The following fields are mutually exclusive: `text_input`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `selection_input`, `date_time_picker`, `divider`, `grid`, `columns`. If a field in that set is populated, all other fields in the set will automatically be cleared.
502
512
  # @!attribute [rw] selection_input
503
513
  # @return [::Google::Apps::Card::V1::SelectionInput]
504
514
  # Displays a selection control that lets users select items. Selection
@@ -536,6 +546,8 @@ module Google
536
546
  # ]
537
547
  # }
538
548
  # ```
549
+ #
550
+ # Note: The following fields are mutually exclusive: `selection_input`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `date_time_picker`, `divider`, `grid`, `columns`. If a field in that set is populated, all other fields in the set will automatically be cleared.
539
551
  # @!attribute [rw] date_time_picker
540
552
  # @return [::Google::Apps::Card::V1::DateTimePicker]
541
553
  # Displays a widget that lets users input a date, time, or date and time.
@@ -552,6 +564,8 @@ module Google
552
564
  # "valueMsEpoch": "796435200000"
553
565
  # }
554
566
  # ```
567
+ #
568
+ # Note: The following fields are mutually exclusive: `date_time_picker`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `divider`, `grid`, `columns`. If a field in that set is populated, all other fields in the set will automatically be cleared.
555
569
  # @!attribute [rw] divider
556
570
  # @return [::Google::Apps::Card::V1::Divider]
557
571
  # Displays a horizontal line divider between widgets.
@@ -561,6 +575,8 @@ module Google
561
575
  # "divider": {
562
576
  # }
563
577
  # ```
578
+ #
579
+ # Note: The following fields are mutually exclusive: `divider`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `date_time_picker`, `grid`, `columns`. If a field in that set is populated, all other fields in the set will automatically be cleared.
564
580
  # @!attribute [rw] grid
565
581
  # @return [::Google::Apps::Card::V1::Grid]
566
582
  # Displays a grid with a collection of items.
@@ -606,6 +622,8 @@ module Google
606
622
  # }
607
623
  # }
608
624
  # ```
625
+ #
626
+ # Note: The following fields are mutually exclusive: `grid`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `date_time_picker`, `divider`, `columns`. If a field in that set is populated, all other fields in the set will automatically be cleared.
609
627
  # @!attribute [rw] columns
610
628
  # @return [::Google::Apps::Card::V1::Columns]
611
629
  # Displays up to 2 columns.
@@ -645,6 +663,8 @@ module Google
645
663
  # ]
646
664
  # }
647
665
  # ```
666
+ #
667
+ # Note: The following fields are mutually exclusive: `columns`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `date_time_picker`, `divider`, `grid`. If a field in that set is populated, all other fields in the set will automatically be cleared.
648
668
  # @!attribute [rw] horizontal_alignment
649
669
  # @return [::Google::Apps::Card::V1::Widget::HorizontalAlignment]
650
670
  # Specifies whether widgets align to the left, right, or center of a column.
@@ -799,10 +819,14 @@ module Google
799
819
  # @!attribute [rw] button
800
820
  # @return [::Google::Apps::Card::V1::Button]
801
821
  # A button that a user can click to trigger an action.
822
+ #
823
+ # Note: The following fields are mutually exclusive: `button`, `switch_control`, `end_icon`. If a field in that set is populated, all other fields in the set will automatically be cleared.
802
824
  # @!attribute [rw] switch_control
803
825
  # @return [::Google::Apps::Card::V1::DecoratedText::SwitchControl]
804
826
  # A switch widget that a user can click to change its state and trigger an
805
827
  # action.
828
+ #
829
+ # Note: The following fields are mutually exclusive: `switch_control`, `button`, `end_icon`. If a field in that set is populated, all other fields in the set will automatically be cleared.
806
830
  # @!attribute [rw] end_icon
807
831
  # @return [::Google::Apps::Card::V1::Icon]
808
832
  # An icon displayed after the text.
@@ -812,6 +836,8 @@ module Google
812
836
  # and
813
837
  # [custom](https://developers.google.com/workspace/chat/format-messages#customicons)
814
838
  # icons.
839
+ #
840
+ # Note: The following fields are mutually exclusive: `end_icon`, `button`, `switch_control`. If a field in that set is populated, all other fields in the set will automatically be cleared.
815
841
  class DecoratedText
816
842
  include ::Google::Protobuf::MessageExts
817
843
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1098,9 +1124,13 @@ module Google
1098
1124
  # @!attribute [rw] external_data_source
1099
1125
  # @return [::Google::Apps::Card::V1::Action]
1100
1126
  # An external data source, such as a relational data base.
1127
+ #
1128
+ # Note: The following fields are mutually exclusive: `external_data_source`, `platform_data_source`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1101
1129
  # @!attribute [rw] platform_data_source
1102
1130
  # @return [::Google::Apps::Card::V1::SelectionInput::PlatformDataSource]
1103
1131
  # A data source from Google Workspace.
1132
+ #
1133
+ # Note: The following fields are mutually exclusive: `platform_data_source`, `external_data_source`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1104
1134
  class SelectionInput
1105
1135
  include ::Google::Protobuf::MessageExts
1106
1136
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1380,6 +1410,8 @@ module Google
1380
1410
  #
1381
1411
  # For a full list of supported icons, see [built-in
1382
1412
  # icons](https://developers.google.com/workspace/chat/format-messages#builtinicons).
1413
+ #
1414
+ # Note: The following fields are mutually exclusive: `known_icon`, `icon_url`, `material_icon`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1383
1415
  # @!attribute [rw] icon_url
1384
1416
  # @return [::String]
1385
1417
  # Display a custom icon hosted at an HTTPS URL.
@@ -1392,6 +1424,8 @@ module Google
1392
1424
  # ```
1393
1425
  #
1394
1426
  # Supported file types include `.png` and `.jpg`.
1427
+ #
1428
+ # Note: The following fields are mutually exclusive: `icon_url`, `known_icon`, `material_icon`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1395
1429
  # @!attribute [rw] material_icon
1396
1430
  # @return [::Google::Apps::Card::V1::MaterialIcon]
1397
1431
  # Display one of the [Google Material
@@ -1407,6 +1441,8 @@ module Google
1407
1441
  # ```
1408
1442
  #
1409
1443
  # [Google Chat apps](https://developers.google.com/workspace/chat):
1444
+ #
1445
+ # Note: The following fields are mutually exclusive: `material_icon`, `known_icon`, `icon_url`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1410
1446
  # @!attribute [rw] alt_text
1411
1447
  # @return [::String]
1412
1448
  # Optional. A description of the icon used for accessibility.
@@ -1776,24 +1812,38 @@ module Google
1776
1812
  # @!attribute [rw] text_paragraph
1777
1813
  # @return [::Google::Apps::Card::V1::TextParagraph]
1778
1814
  # {::Google::Apps::Card::V1::TextParagraph TextParagraph} widget.
1815
+ #
1816
+ # Note: The following fields are mutually exclusive: `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `date_time_picker`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1779
1817
  # @!attribute [rw] image
1780
1818
  # @return [::Google::Apps::Card::V1::Image]
1781
1819
  # {::Google::Apps::Card::V1::Image Image} widget.
1820
+ #
1821
+ # Note: The following fields are mutually exclusive: `image`, `text_paragraph`, `decorated_text`, `button_list`, `text_input`, `selection_input`, `date_time_picker`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1782
1822
  # @!attribute [rw] decorated_text
1783
1823
  # @return [::Google::Apps::Card::V1::DecoratedText]
1784
1824
  # {::Google::Apps::Card::V1::DecoratedText DecoratedText} widget.
1825
+ #
1826
+ # Note: The following fields are mutually exclusive: `decorated_text`, `text_paragraph`, `image`, `button_list`, `text_input`, `selection_input`, `date_time_picker`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1785
1827
  # @!attribute [rw] button_list
1786
1828
  # @return [::Google::Apps::Card::V1::ButtonList]
1787
1829
  # {::Google::Apps::Card::V1::ButtonList ButtonList} widget.
1830
+ #
1831
+ # Note: The following fields are mutually exclusive: `button_list`, `text_paragraph`, `image`, `decorated_text`, `text_input`, `selection_input`, `date_time_picker`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1788
1832
  # @!attribute [rw] text_input
1789
1833
  # @return [::Google::Apps::Card::V1::TextInput]
1790
1834
  # {::Google::Apps::Card::V1::TextInput TextInput} widget.
1835
+ #
1836
+ # Note: The following fields are mutually exclusive: `text_input`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `selection_input`, `date_time_picker`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1791
1837
  # @!attribute [rw] selection_input
1792
1838
  # @return [::Google::Apps::Card::V1::SelectionInput]
1793
1839
  # {::Google::Apps::Card::V1::SelectionInput SelectionInput} widget.
1840
+ #
1841
+ # Note: The following fields are mutually exclusive: `selection_input`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `date_time_picker`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1794
1842
  # @!attribute [rw] date_time_picker
1795
1843
  # @return [::Google::Apps::Card::V1::DateTimePicker]
1796
1844
  # {::Google::Apps::Card::V1::DateTimePicker DateTimePicker} widget.
1845
+ #
1846
+ # Note: The following fields are mutually exclusive: `date_time_picker`, `text_paragraph`, `image`, `decorated_text`, `button_list`, `text_input`, `selection_input`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1797
1847
  class Widgets
1798
1848
  include ::Google::Protobuf::MessageExts
1799
1849
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1852,9 +1902,13 @@ module Google
1852
1902
  # @!attribute [rw] action
1853
1903
  # @return [::Google::Apps::Card::V1::Action]
1854
1904
  # If specified, an action is triggered by this `onClick`.
1905
+ #
1906
+ # Note: The following fields are mutually exclusive: `action`, `open_link`, `open_dynamic_link_action`, `card`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1855
1907
  # @!attribute [rw] open_link
1856
1908
  # @return [::Google::Apps::Card::V1::OpenLink]
1857
1909
  # If specified, this `onClick` triggers an open link action.
1910
+ #
1911
+ # Note: The following fields are mutually exclusive: `open_link`, `action`, `open_dynamic_link_action`, `card`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1858
1912
  # @!attribute [rw] open_dynamic_link_action
1859
1913
  # @return [::Google::Apps::Card::V1::Action]
1860
1914
  # An add-on triggers this action when the action needs to open a
@@ -1864,12 +1918,16 @@ module Google
1864
1918
  #
1865
1919
  # [Google Workspace
1866
1920
  # Add-ons](https://developers.google.com/workspace/add-ons):
1921
+ #
1922
+ # Note: The following fields are mutually exclusive: `open_dynamic_link_action`, `action`, `open_link`, `card`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1867
1923
  # @!attribute [rw] card
1868
1924
  # @return [::Google::Apps::Card::V1::Card]
1869
1925
  # A new card is pushed to the card stack after clicking if specified.
1870
1926
  #
1871
1927
  # [Google Workspace
1872
1928
  # Add-ons](https://developers.google.com/workspace/add-ons):
1929
+ #
1930
+ # Note: The following fields are mutually exclusive: `card`, `action`, `open_link`, `open_dynamic_link_action`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1873
1931
  class OnClick
1874
1932
  include ::Google::Protobuf::MessageExts
1875
1933
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -62,12 +62,18 @@ module Google
62
62
  # @!attribute [rw] user_mention
63
63
  # @return [::Google::Apps::Chat::V1::UserMentionMetadata]
64
64
  # The metadata of user mention.
65
+ #
66
+ # Note: The following fields are mutually exclusive: `user_mention`, `slash_command`, `rich_link_metadata`. If a field in that set is populated, all other fields in the set will automatically be cleared.
65
67
  # @!attribute [rw] slash_command
66
68
  # @return [::Google::Apps::Chat::V1::SlashCommandMetadata]
67
69
  # The metadata for a slash command.
70
+ #
71
+ # Note: The following fields are mutually exclusive: `slash_command`, `user_mention`, `rich_link_metadata`. If a field in that set is populated, all other fields in the set will automatically be cleared.
68
72
  # @!attribute [rw] rich_link_metadata
69
73
  # @return [::Google::Apps::Chat::V1::RichLinkMetadata]
70
74
  # The metadata for a rich link.
75
+ #
76
+ # Note: The following fields are mutually exclusive: `rich_link_metadata`, `user_mention`, `slash_command`. If a field in that set is populated, all other fields in the set will automatically be cleared.
71
77
  class Annotation
72
78
  include ::Google::Protobuf::MessageExts
73
79
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -138,9 +144,13 @@ module Google
138
144
  # @!attribute [rw] drive_link_data
139
145
  # @return [::Google::Apps::Chat::V1::DriveLinkData]
140
146
  # Data for a drive link.
147
+ #
148
+ # Note: The following fields are mutually exclusive: `drive_link_data`, `chat_space_link_data`. If a field in that set is populated, all other fields in the set will automatically be cleared.
141
149
  # @!attribute [rw] chat_space_link_data
142
150
  # @return [::Google::Apps::Chat::V1::ChatSpaceLinkData]
143
151
  # Data for a chat space link.
152
+ #
153
+ # Note: The following fields are mutually exclusive: `chat_space_link_data`, `drive_link_data`. If a field in that set is populated, all other fields in the set will automatically be cleared.
144
154
  class RichLinkMetadata
145
155
  include ::Google::Protobuf::MessageExts
146
156
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -24,7 +24,7 @@ module Google
24
24
  # An attachment in Google Chat.
25
25
  # @!attribute [rw] name
26
26
  # @return [::String]
27
- # Resource name of the attachment, in the form
27
+ # Optional. Resource name of the attachment, in the form
28
28
  # `spaces/{space}/messages/{message}/attachments/{attachment}`.
29
29
  # @!attribute [r] content_name
30
30
  # @return [::String]
@@ -34,12 +34,17 @@ module Google
34
34
  # Output only. The content type (MIME type) of the file.
35
35
  # @!attribute [rw] attachment_data_ref
36
36
  # @return [::Google::Apps::Chat::V1::AttachmentDataRef]
37
- # A reference to the attachment data. This field is used with the media API
38
- # to download the attachment data.
37
+ # Optional. A reference to the attachment data. This field is used to
38
+ # create or update messages with attachments, or with the media API to
39
+ # download the attachment data.
40
+ #
41
+ # Note: The following fields are mutually exclusive: `attachment_data_ref`, `drive_data_ref`. If a field in that set is populated, all other fields in the set will automatically be cleared.
39
42
  # @!attribute [r] drive_data_ref
40
43
  # @return [::Google::Apps::Chat::V1::DriveDataRef]
41
44
  # Output only. A reference to the Google Drive attachment. This field is
42
45
  # used with the Google Drive API.
46
+ #
47
+ # Note: The following fields are mutually exclusive: `drive_data_ref`, `attachment_data_ref`. If a field in that set is populated, all other fields in the set will automatically be cleared.
43
48
  # @!attribute [r] thumbnail_uri
44
49
  # @return [::String]
45
50
  # Output only. The thumbnail URL which should be used to preview the
@@ -82,13 +87,13 @@ module Google
82
87
  # A reference to the attachment data.
83
88
  # @!attribute [rw] resource_name
84
89
  # @return [::String]
85
- # The resource name of the attachment data. This field is used with the media
86
- # API to download the attachment data.
90
+ # Optional. The resource name of the attachment data. This field is used with
91
+ # the media API to download the attachment data.
87
92
  # @!attribute [rw] attachment_upload_token
88
93
  # @return [::String]
89
- # Opaque token containing a reference to an uploaded attachment. Treated by
90
- # clients as an opaque string and used to create or update Chat messages with
91
- # attachments.
94
+ # Optional. Opaque token containing a reference to an uploaded attachment.
95
+ # Treated by clients as an opaque string and used to create or update Chat
96
+ # messages with attachments.
92
97
  class AttachmentDataRef
93
98
  include ::Google::Protobuf::MessageExts
94
99
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -30,7 +30,8 @@ module Google
30
30
  include ::Google::Protobuf::MessageExts
31
31
  extend ::Google::Protobuf::MessageExts::ClassMethods
32
32
 
33
- # Who deleted the message and how it was deleted.
33
+ # Who deleted the message and how it was deleted. More values may be added in
34
+ # the future.
34
35
  module DeletionType
35
36
  # This value is unused.
36
37
  DELETION_TYPE_UNSPECIFIED = 0
@@ -25,7 +25,7 @@ module Google
25
25
  # Chat app is invited to, part of, or absent from a space.
26
26
  # @!attribute [rw] name
27
27
  # @return [::String]
28
- # Resource name of the membership, assigned by the server.
28
+ # Identifier. Resource name of the membership, assigned by the server.
29
29
  #
30
30
  # Format: `spaces/{space}/members/{member}`
31
31
  # @!attribute [r] state
@@ -39,15 +39,22 @@ module Google
39
39
  # This field can only be used as input in `UpdateMembership`.
40
40
  # @!attribute [rw] member
41
41
  # @return [::Google::Apps::Chat::V1::User]
42
- # The Google Chat user or app the membership corresponds to.
42
+ # Optional. The Google Chat user or app the membership corresponds to.
43
43
  # If your Chat app [authenticates as a
44
44
  # user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user),
45
45
  # the output populates the
46
46
  # [user](https://developers.google.com/workspace/chat/api/reference/rest/v1/User)
47
47
  # `name` and `type`.
48
+ #
49
+ # Note: The following fields are mutually exclusive: `member`, `group_member`. If a field in that set is populated, all other fields in the set will automatically be cleared.
48
50
  # @!attribute [rw] group_member
49
51
  # @return [::Google::Apps::Chat::V1::Group]
50
- # The Google Group the membership corresponds to.
52
+ # Optional. The Google Group the membership corresponds to.
53
+ #
54
+ # Reading or mutating memberships for Google Groups requires [user
55
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
56
+ #
57
+ # Note: The following fields are mutually exclusive: `group_member`, `member`. If a field in that set is populated, all other fields in the set will automatically be cleared.
51
58
  # @!attribute [rw] create_time
52
59
  # @return [::Google::Protobuf::Timestamp]
53
60
  # Optional. Immutable. The creation time of the membership, such as when a
@@ -111,24 +118,45 @@ module Google
111
118
  # @!attribute [rw] membership
112
119
  # @return [::Google::Apps::Chat::V1::Membership]
113
120
  # Required. The membership relation to create.
121
+ #
114
122
  # The `memberType` field must contain a user with the `user.name` and
115
123
  # `user.type` fields populated. The server will assign a resource name
116
124
  # and overwrite anything specified.
125
+ #
117
126
  # When a Chat app creates a membership relation for a human user, it must use
118
- # the `chat.memberships` scope, set `user.type` to `HUMAN`, and set
119
- # `user.name` with format `users/{user}`, where `{user}` can be the email
120
- # address for the user. For users in the same Workspace organization `{user}`
121
- # can also be the `id` of the
122
- # [person](https://developers.google.com/people/api/rest/v1/people) from the
123
- # People API, or the `id` for the user in the Directory API. For example, if
124
- # the People API Person profile ID for `user@example.com` is `123456789`, you
125
- # can add the user to the space by setting the `membership.member.name` to
126
- # `users/user@example.com` or `users/123456789`. When a Chat app creates a
127
- # membership relation for itself, it must use the `chat.memberships.app`
128
- # scope, set `user.type` to `BOT`, and set `user.name` to `users/app`.
127
+ # certain authorization scopes and set specific values for certain fields:
128
+ #
129
+ # - When [authenticating as a
130
+ # user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user),
131
+ # the `chat.memberships` authorization scope is required.
132
+ #
133
+ # - When [authenticating as an
134
+ # app](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app),
135
+ # the `chat.app.memberships` authorization scope is required.
136
+ # Authenticating as an app is available in [Developer
137
+ # Preview](https://developers.google.com/workspace/preview).
138
+ #
139
+ # - Set `user.type` to `HUMAN`, and set `user.name` with format
140
+ # `users/{user}`, where `{user}` can be the email address for the user. For
141
+ # users in the same Workspace organization `{user}` can also be the `id` of
142
+ # the [person](https://developers.google.com/people/api/rest/v1/people) from
143
+ # the People API, or the `id` for the user in the Directory API. For example,
144
+ # if the People API Person profile ID for `user@example.com` is `123456789`,
145
+ # you can add the user to the space by setting the `membership.member.name`
146
+ # to `users/user@example.com` or `users/123456789`.
147
+ #
148
+ # Inviting users external to the Workspace organization that owns the space
149
+ # requires [user
150
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
151
+ #
152
+ # When a Chat app creates a membership relation for itself, it must
153
+ # [authenticate as a
154
+ # user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
155
+ # and use the `chat.memberships.app` scope, set `user.type` to `BOT`, and set
156
+ # `user.name` to `users/app`.
129
157
  # @!attribute [rw] use_admin_access
130
158
  # @return [::Boolean]
131
- # When `true`, the method runs using the user's Google Workspace
159
+ # Optional. When `true`, the method runs using the user's Google Workspace
132
160
  # administrator privileges.
133
161
  #
134
162
  # The calling user must be a Google Workspace administrator with the
@@ -161,7 +189,7 @@ module Google
161
189
  # - `role`
162
190
  # @!attribute [rw] use_admin_access
163
191
  # @return [::Boolean]
164
- # When `true`, the method runs using the user's Google Workspace
192
+ # Optional. When `true`, the method runs using the user's Google Workspace
165
193
  # administrator privileges.
166
194
  #
167
195
  # The calling user must be a Google Workspace administrator with the
@@ -261,7 +289,7 @@ module Google
261
289
  # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
262
290
  # @!attribute [rw] use_admin_access
263
291
  # @return [::Boolean]
264
- # When `true`, the method runs using the user's Google Workspace
292
+ # Optional. When `true`, the method runs using the user's Google Workspace
265
293
  # administrator privileges.
266
294
  #
267
295
  # The calling user must be a Google Workspace administrator with the
@@ -302,14 +330,12 @@ module Google
302
330
  #
303
331
  # Format: `spaces/{space}/members/{member}` or `spaces/{space}/members/app`
304
332
  #
305
- # When [authenticated as a
306
- # user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user),
307
- # you can use the user's email as an alias for `{member}`. For example,
333
+ # You can use the user's email as an alias for `{member}`. For example,
308
334
  # `spaces/{space}/members/example@gmail.com` where `example@gmail.com` is the
309
335
  # email of the Google Chat user.
310
336
  # @!attribute [rw] use_admin_access
311
337
  # @return [::Boolean]
312
- # When `true`, the method runs using the user's Google Workspace
338
+ # Optional. When `true`, the method runs using the user's Google Workspace
313
339
  # administrator privileges.
314
340
  #
315
341
  # The calling user must be a Google Workspace administrator with the
@@ -345,7 +371,7 @@ module Google
345
371
  # Format: `spaces/{space}/members/{member}` or `spaces/{space}/members/app`.
346
372
  # @!attribute [rw] use_admin_access
347
373
  # @return [::Boolean]
348
- # When `true`, the method runs using the user's Google Workspace
374
+ # Optional. When `true`, the method runs using the user's Google Workspace
349
375
  # administrator privileges.
350
376
  #
351
377
  # The calling user must be a Google Workspace administrator with the