google-apps-chat-v1 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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