google-apps-chat-v1 0.a → 0.1.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.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +144 -8
  5. data/lib/google/apps/chat/v1/chat_service/client.rb +3663 -0
  6. data/lib/google/apps/chat/v1/chat_service/credentials.rb +63 -0
  7. data/lib/google/apps/chat/v1/chat_service/paths.rb +191 -0
  8. data/lib/google/apps/chat/v1/chat_service/rest/client.rb +3487 -0
  9. data/lib/google/apps/chat/v1/chat_service/rest/service_stub.rb +1614 -0
  10. data/lib/google/apps/chat/v1/chat_service/rest.rb +53 -0
  11. data/lib/google/apps/chat/v1/chat_service.rb +56 -0
  12. data/lib/google/apps/chat/v1/rest.rb +37 -0
  13. data/lib/google/apps/chat/v1/version.rb +7 -2
  14. data/lib/google/apps/chat/v1.rb +45 -0
  15. data/lib/google/chat/v1/action_status_pb.rb +44 -0
  16. data/lib/google/chat/v1/annotation_pb.rb +55 -0
  17. data/lib/google/chat/v1/attachment_pb.rb +51 -0
  18. data/lib/google/chat/v1/chat_service_pb.rb +53 -0
  19. data/lib/google/chat/v1/chat_service_services_pb.rb +359 -0
  20. data/lib/google/chat/v1/contextual_addon_pb.rb +50 -0
  21. data/lib/google/chat/v1/deletion_metadata_pb.rb +43 -0
  22. data/lib/google/chat/v1/group_pb.rb +42 -0
  23. data/lib/google/chat/v1/history_state_pb.rb +42 -0
  24. data/lib/google/chat/v1/matched_url_pb.rb +44 -0
  25. data/lib/google/chat/v1/membership_pb.rb +61 -0
  26. data/lib/google/chat/v1/message_pb.rb +89 -0
  27. data/lib/google/chat/v1/reaction_pb.rb +54 -0
  28. data/lib/google/chat/v1/slash_command_pb.rb +42 -0
  29. data/lib/google/chat/v1/space_pb.rb +63 -0
  30. data/lib/google/chat/v1/space_read_state_pb.rb +51 -0
  31. data/lib/google/chat/v1/space_setup_pb.rb +48 -0
  32. data/lib/google/chat/v1/thread_read_state_pb.rb +48 -0
  33. data/lib/google/chat/v1/user_pb.rb +46 -0
  34. data/lib/google/chat/v1/widgets_pb.rb +53 -0
  35. data/lib/google-apps-chat-v1.rb +21 -0
  36. data/proto_docs/README.md +4 -0
  37. data/proto_docs/google/api/client.rb +399 -0
  38. data/proto_docs/google/api/field_behavior.rb +85 -0
  39. data/proto_docs/google/api/launch_stage.rb +71 -0
  40. data/proto_docs/google/api/resource.rb +222 -0
  41. data/proto_docs/google/apps/card/v1/card.rb +2076 -0
  42. data/proto_docs/google/chat/v1/action_status.rb +40 -0
  43. data/proto_docs/google/chat/v1/annotation.rb +186 -0
  44. data/proto_docs/google/chat/v1/attachment.rb +131 -0
  45. data/proto_docs/google/chat/v1/contextual_addon.rb +120 -0
  46. data/proto_docs/google/chat/v1/deletion_metadata.rb +60 -0
  47. data/proto_docs/google/chat/v1/group.rb +41 -0
  48. data/proto_docs/google/chat/v1/history_state.rb +42 -0
  49. data/proto_docs/google/chat/v1/matched_url.rb +37 -0
  50. data/proto_docs/google/chat/v1/membership.rb +294 -0
  51. data/proto_docs/google/chat/v1/message.rb +657 -0
  52. data/proto_docs/google/chat/v1/reaction.rb +185 -0
  53. data/proto_docs/google/chat/v1/slash_command.rb +37 -0
  54. data/proto_docs/google/chat/v1/space.rb +382 -0
  55. data/proto_docs/google/chat/v1/space_read_state.rb +104 -0
  56. data/proto_docs/google/chat/v1/space_setup.rb +92 -0
  57. data/proto_docs/google/chat/v1/thread_read_state.rb +66 -0
  58. data/proto_docs/google/chat/v1/user.rb +84 -0
  59. data/proto_docs/google/chat/v1/widgets.rb +293 -0
  60. data/proto_docs/google/protobuf/duration.rb +98 -0
  61. data/proto_docs/google/protobuf/empty.rb +34 -0
  62. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  63. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  64. data/proto_docs/google/protobuf/wrappers.rb +121 -0
  65. data/proto_docs/google/rpc/code.rb +185 -0
  66. data/proto_docs/google/type/color.rb +173 -0
  67. metadata +128 -10
@@ -0,0 +1,3487 @@
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
+ require "google/cloud/errors"
20
+ require "google/chat/v1/chat_service_pb"
21
+ require "google/apps/chat/v1/chat_service/rest/service_stub"
22
+
23
+ module Google
24
+ module Apps
25
+ module Chat
26
+ module V1
27
+ module ChatService
28
+ module Rest
29
+ ##
30
+ # REST client for the ChatService service.
31
+ #
32
+ # Enables developers to build Chat apps and
33
+ # integrations on Google Chat Platform.
34
+ #
35
+ class Client
36
+ # @private
37
+ DEFAULT_ENDPOINT_TEMPLATE = "chat.$UNIVERSE_DOMAIN$"
38
+
39
+ include Paths
40
+
41
+ # @private
42
+ attr_reader :chat_service_stub
43
+
44
+ ##
45
+ # Configure the ChatService Client class.
46
+ #
47
+ # See {::Google::Apps::Chat::V1::ChatService::Rest::Client::Configuration}
48
+ # for a description of the configuration fields.
49
+ #
50
+ # @example
51
+ #
52
+ # # Modify the configuration for all ChatService clients
53
+ # ::Google::Apps::Chat::V1::ChatService::Rest::Client.configure do |config|
54
+ # config.timeout = 10.0
55
+ # end
56
+ #
57
+ # @yield [config] Configure the Client client.
58
+ # @yieldparam config [Client::Configuration]
59
+ #
60
+ # @return [Client::Configuration]
61
+ #
62
+ def self.configure
63
+ @configure ||= begin
64
+ namespace = ["Google", "Apps", "Chat", "V1"]
65
+ parent_config = while namespace.any?
66
+ parent_name = namespace.join "::"
67
+ parent_const = const_get parent_name
68
+ break parent_const.configure if parent_const.respond_to? :configure
69
+ namespace.pop
70
+ end
71
+ default_config = Client::Configuration.new parent_config
72
+
73
+ default_config.rpcs.create_message.timeout = 30.0
74
+ default_config.rpcs.create_message.retry_policy = {
75
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
76
+ }
77
+
78
+ default_config.rpcs.list_messages.timeout = 30.0
79
+ default_config.rpcs.list_messages.retry_policy = {
80
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
81
+ }
82
+
83
+ default_config.rpcs.list_memberships.timeout = 30.0
84
+ default_config.rpcs.list_memberships.retry_policy = {
85
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
86
+ }
87
+
88
+ default_config.rpcs.get_membership.timeout = 30.0
89
+ default_config.rpcs.get_membership.retry_policy = {
90
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
91
+ }
92
+
93
+ default_config.rpcs.get_message.timeout = 30.0
94
+ default_config.rpcs.get_message.retry_policy = {
95
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
96
+ }
97
+
98
+ default_config.rpcs.update_message.timeout = 30.0
99
+ default_config.rpcs.update_message.retry_policy = {
100
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
101
+ }
102
+
103
+ default_config.rpcs.delete_message.timeout = 30.0
104
+ default_config.rpcs.delete_message.retry_policy = {
105
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
106
+ }
107
+
108
+ default_config.rpcs.get_attachment.timeout = 30.0
109
+ default_config.rpcs.get_attachment.retry_policy = {
110
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
111
+ }
112
+
113
+ default_config.rpcs.upload_attachment.timeout = 30.0
114
+ default_config.rpcs.upload_attachment.retry_policy = {
115
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
116
+ }
117
+
118
+ default_config.rpcs.list_spaces.timeout = 30.0
119
+ default_config.rpcs.list_spaces.retry_policy = {
120
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
121
+ }
122
+
123
+ default_config.rpcs.get_space.timeout = 30.0
124
+ default_config.rpcs.get_space.retry_policy = {
125
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
126
+ }
127
+
128
+ default_config.rpcs.create_space.timeout = 30.0
129
+ default_config.rpcs.create_space.retry_policy = {
130
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
131
+ }
132
+
133
+ default_config.rpcs.set_up_space.timeout = 30.0
134
+ default_config.rpcs.set_up_space.retry_policy = {
135
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
136
+ }
137
+
138
+ default_config.rpcs.update_space.timeout = 30.0
139
+ default_config.rpcs.update_space.retry_policy = {
140
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
141
+ }
142
+
143
+ default_config.rpcs.delete_space.timeout = 30.0
144
+ default_config.rpcs.delete_space.retry_policy = {
145
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
146
+ }
147
+
148
+ default_config.rpcs.complete_import_space.timeout = 30.0
149
+ default_config.rpcs.complete_import_space.retry_policy = {
150
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
151
+ }
152
+
153
+ default_config.rpcs.find_direct_message.timeout = 30.0
154
+ default_config.rpcs.find_direct_message.retry_policy = {
155
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
156
+ }
157
+
158
+ default_config.rpcs.create_membership.timeout = 30.0
159
+ default_config.rpcs.create_membership.retry_policy = {
160
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
161
+ }
162
+
163
+ default_config.rpcs.update_membership.timeout = 30.0
164
+ default_config.rpcs.update_membership.retry_policy = {
165
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
166
+ }
167
+
168
+ default_config.rpcs.delete_membership.timeout = 30.0
169
+ default_config.rpcs.delete_membership.retry_policy = {
170
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
171
+ }
172
+
173
+ default_config.rpcs.create_reaction.timeout = 30.0
174
+ default_config.rpcs.create_reaction.retry_policy = {
175
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
176
+ }
177
+
178
+ default_config.rpcs.list_reactions.timeout = 30.0
179
+ default_config.rpcs.list_reactions.retry_policy = {
180
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
181
+ }
182
+
183
+ default_config.rpcs.delete_reaction.timeout = 30.0
184
+ default_config.rpcs.delete_reaction.retry_policy = {
185
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
186
+ }
187
+
188
+ default_config.rpcs.get_space_read_state.timeout = 30.0
189
+ default_config.rpcs.get_space_read_state.retry_policy = {
190
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
191
+ }
192
+
193
+ default_config.rpcs.update_space_read_state.timeout = 30.0
194
+ default_config.rpcs.update_space_read_state.retry_policy = {
195
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
196
+ }
197
+
198
+ default_config.rpcs.get_thread_read_state.timeout = 30.0
199
+ default_config.rpcs.get_thread_read_state.retry_policy = {
200
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
201
+ }
202
+
203
+ default_config
204
+ end
205
+ yield @configure if block_given?
206
+ @configure
207
+ end
208
+
209
+ ##
210
+ # Configure the ChatService Client instance.
211
+ #
212
+ # The configuration is set to the derived mode, meaning that values can be changed,
213
+ # but structural changes (adding new fields, etc.) are not allowed. Structural changes
214
+ # should be made on {Client.configure}.
215
+ #
216
+ # See {::Google::Apps::Chat::V1::ChatService::Rest::Client::Configuration}
217
+ # for a description of the configuration fields.
218
+ #
219
+ # @yield [config] Configure the Client client.
220
+ # @yieldparam config [Client::Configuration]
221
+ #
222
+ # @return [Client::Configuration]
223
+ #
224
+ def configure
225
+ yield @config if block_given?
226
+ @config
227
+ end
228
+
229
+ ##
230
+ # The effective universe domain
231
+ #
232
+ # @return [String]
233
+ #
234
+ def universe_domain
235
+ @chat_service_stub.universe_domain
236
+ end
237
+
238
+ ##
239
+ # Create a new ChatService REST client object.
240
+ #
241
+ # @example
242
+ #
243
+ # # Create a client using the default configuration
244
+ # client = ::Google::Apps::Chat::V1::ChatService::Rest::Client.new
245
+ #
246
+ # # Create a client using a custom configuration
247
+ # client = ::Google::Apps::Chat::V1::ChatService::Rest::Client.new do |config|
248
+ # config.timeout = 10.0
249
+ # end
250
+ #
251
+ # @yield [config] Configure the ChatService client.
252
+ # @yieldparam config [Client::Configuration]
253
+ #
254
+ def initialize
255
+ # Create the configuration object
256
+ @config = Configuration.new Client.configure
257
+
258
+ # Yield the configuration if needed
259
+ yield @config if block_given?
260
+
261
+ # Create credentials
262
+ credentials = @config.credentials
263
+ # Use self-signed JWT if the endpoint is unchanged from default,
264
+ # but only if the default endpoint does not have a region prefix.
265
+ enable_self_signed_jwt = @config.endpoint.nil? ||
266
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
267
+ !@config.endpoint.split(".").first.include?("-"))
268
+ credentials ||= Credentials.default scope: @config.scope,
269
+ enable_self_signed_jwt: enable_self_signed_jwt
270
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
271
+ credentials = Credentials.new credentials, scope: @config.scope
272
+ end
273
+
274
+ @quota_project_id = @config.quota_project
275
+ @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
276
+
277
+ @chat_service_stub = ::Google::Apps::Chat::V1::ChatService::Rest::ServiceStub.new(
278
+ endpoint: @config.endpoint,
279
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
280
+ universe_domain: @config.universe_domain,
281
+ credentials: credentials
282
+ )
283
+ end
284
+
285
+ # Service calls
286
+
287
+ ##
288
+ # Creates a message in a Google Chat space. For an example, see [Send a
289
+ # message](https://developers.google.com/workspace/chat/create-messages).
290
+ #
291
+ # Calling this method requires
292
+ # [authentication](https://developers.google.com/workspace/chat/authenticate-authorize)
293
+ # and supports the following authentication types:
294
+ #
295
+ # - For text messages, user authentication or app authentication are
296
+ # supported.
297
+ # - For card messages, only app authentication is supported. (Only Chat apps
298
+ # can create card messages.)
299
+ #
300
+ # @overload create_message(request, options = nil)
301
+ # Pass arguments to `create_message` via a request object, either of type
302
+ # {::Google::Apps::Chat::V1::CreateMessageRequest} or an equivalent Hash.
303
+ #
304
+ # @param request [::Google::Apps::Chat::V1::CreateMessageRequest, ::Hash]
305
+ # A request object representing the call parameters. Required. To specify no
306
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
307
+ # @param options [::Gapic::CallOptions, ::Hash]
308
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
309
+ #
310
+ # @overload create_message(parent: nil, message: nil, thread_key: nil, request_id: nil, message_reply_option: nil, message_id: nil)
311
+ # Pass arguments to `create_message` via keyword arguments. Note that at
312
+ # least one keyword argument is required. To specify no parameters, or to keep all
313
+ # the default parameter values, pass an empty Hash as a request object (see above).
314
+ #
315
+ # @param parent [::String]
316
+ # Required. The resource name of the space in which to create a message.
317
+ #
318
+ # Format: `spaces/{space}`
319
+ # @param message [::Google::Apps::Chat::V1::Message, ::Hash]
320
+ # Required. Message body.
321
+ # @param thread_key [::String]
322
+ # Optional. Deprecated: Use
323
+ # {::Google::Apps::Chat::V1::Thread#thread_key thread.thread_key} instead. ID for the
324
+ # thread. Supports up to 4000 characters. To start or add to a thread, create
325
+ # a message and specify a `threadKey` or the
326
+ # {::Google::Apps::Chat::V1::Thread#name thread.name}. For example usage, see [Start or
327
+ # reply to a message
328
+ # thread](https://developers.google.com/workspace/chat/create-messages#create-message-thread).
329
+ # @param request_id [::String]
330
+ # Optional. A unique request ID for this message. Specifying an existing
331
+ # request ID returns the message created with that ID instead of creating a
332
+ # new message.
333
+ # @param message_reply_option [::Google::Apps::Chat::V1::CreateMessageRequest::MessageReplyOption]
334
+ # Optional. Specifies whether a message starts a thread or replies to one.
335
+ # Only supported in named spaces.
336
+ # @param message_id [::String]
337
+ # Optional. A custom ID for a message. Lets Chat apps get, update, or delete
338
+ # a message without needing to store the system-assigned ID in the message's
339
+ # resource name (represented in the message `name` field).
340
+ #
341
+ # The value for this field must meet the following requirements:
342
+ #
343
+ # * Begins with `client-`. For example, `client-custom-name` is a valid
344
+ # custom ID, but `custom-name` is not.
345
+ # * Contains up to 63 characters and only lowercase letters, numbers, and
346
+ # hyphens.
347
+ # * Is unique within a space. A Chat app can't use the same custom ID for
348
+ # different messages.
349
+ #
350
+ # For details, see [Name a
351
+ # message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message).
352
+ # @yield [result, operation] Access the result along with the TransportOperation object
353
+ # @yieldparam result [::Google::Apps::Chat::V1::Message]
354
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
355
+ #
356
+ # @return [::Google::Apps::Chat::V1::Message]
357
+ #
358
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
359
+ #
360
+ # @example Basic example
361
+ # require "google/apps/chat/v1"
362
+ #
363
+ # # Create a client object. The client can be reused for multiple calls.
364
+ # client = Google::Apps::Chat::V1::ChatService::Rest::Client.new
365
+ #
366
+ # # Create a request. To set request fields, pass in keyword arguments.
367
+ # request = Google::Apps::Chat::V1::CreateMessageRequest.new
368
+ #
369
+ # # Call the create_message method.
370
+ # result = client.create_message request
371
+ #
372
+ # # The returned object is of type Google::Apps::Chat::V1::Message.
373
+ # p result
374
+ #
375
+ def create_message request, options = nil
376
+ raise ::ArgumentError, "request must be provided" if request.nil?
377
+
378
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::CreateMessageRequest
379
+
380
+ # Converts hash and nil to an options object
381
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
382
+
383
+ # Customize the options with defaults
384
+ call_metadata = @config.rpcs.create_message.metadata.to_h
385
+
386
+ # Set x-goog-api-client and x-goog-user-project headers
387
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
388
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
389
+ gapic_version: ::Google::Apps::Chat::V1::VERSION,
390
+ transports_version_send: [:rest]
391
+
392
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
393
+
394
+ options.apply_defaults timeout: @config.rpcs.create_message.timeout,
395
+ metadata: call_metadata,
396
+ retry_policy: @config.rpcs.create_message.retry_policy
397
+
398
+ options.apply_defaults timeout: @config.timeout,
399
+ metadata: @config.metadata,
400
+ retry_policy: @config.retry_policy
401
+
402
+ @chat_service_stub.create_message request, options do |result, operation|
403
+ yield result, operation if block_given?
404
+ return result
405
+ end
406
+ rescue ::Gapic::Rest::Error => e
407
+ raise ::Google::Cloud::Error.from_error(e)
408
+ end
409
+
410
+ ##
411
+ # Lists messages in a space that the caller is a member of, including
412
+ # messages from blocked members and spaces. For an example, see
413
+ # [List messages](/chat/api/guides/v1/messages/list).
414
+ # Requires [user
415
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
416
+ #
417
+ # @overload list_messages(request, options = nil)
418
+ # Pass arguments to `list_messages` via a request object, either of type
419
+ # {::Google::Apps::Chat::V1::ListMessagesRequest} or an equivalent Hash.
420
+ #
421
+ # @param request [::Google::Apps::Chat::V1::ListMessagesRequest, ::Hash]
422
+ # A request object representing the call parameters. Required. To specify no
423
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
424
+ # @param options [::Gapic::CallOptions, ::Hash]
425
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
426
+ #
427
+ # @overload list_messages(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil, show_deleted: nil)
428
+ # Pass arguments to `list_messages` via keyword arguments. Note that at
429
+ # least one keyword argument is required. To specify no parameters, or to keep all
430
+ # the default parameter values, pass an empty Hash as a request object (see above).
431
+ #
432
+ # @param parent [::String]
433
+ # Required. The resource name of the space to list messages from.
434
+ #
435
+ # Format: `spaces/{space}`
436
+ # @param page_size [::Integer]
437
+ # The maximum number of messages returned. The service might return fewer
438
+ # messages than this value.
439
+ #
440
+ # If unspecified, at most 25 are returned.
441
+ #
442
+ # The maximum value is 1000. If you use a value more than 1000, it's
443
+ # automatically changed to 1000.
444
+ #
445
+ # Negative values return an `INVALID_ARGUMENT` error.
446
+ # @param page_token [::String]
447
+ # Optional, if resuming from a previous query.
448
+ #
449
+ # A page token received from a previous list messages call. Provide this
450
+ # parameter to retrieve the subsequent page.
451
+ #
452
+ # When paginating, all other parameters provided should match the call that
453
+ # provided the page token. Passing different values to the other parameters
454
+ # might lead to unexpected results.
455
+ # @param filter [::String]
456
+ # A query filter.
457
+ #
458
+ # You can filter messages by date (`create_time`) and thread (`thread.name`).
459
+ #
460
+ # To filter messages by the date they were created, specify the `create_time`
461
+ # with a timestamp in [RFC-3339](https://www.rfc-editor.org/rfc/rfc3339)
462
+ # format and double quotation marks. For example,
463
+ # `"2023-04-21T11:30:00-04:00"`. You can use the greater than operator `>` to
464
+ # list messages that were created after a timestamp, or the less than
465
+ # operator `<` to list messages that were created before a timestamp. To
466
+ # filter messages within a time interval, use the `AND` operator between two
467
+ # timestamps.
468
+ #
469
+ # To filter by thread, specify the `thread.name`, formatted as
470
+ # `spaces/{space}/threads/{thread}`. You can only specify one
471
+ # `thread.name` per query.
472
+ #
473
+ # To filter by both thread and date, use the `AND` operator in your query.
474
+ #
475
+ # For example, the following queries are valid:
476
+ #
477
+ # ```
478
+ # create_time > "2012-04-21T11:30:00-04:00"
479
+ #
480
+ # create_time > "2012-04-21T11:30:00-04:00" AND
481
+ # thread.name = spaces/AAAAAAAAAAA/threads/123
482
+ #
483
+ # create_time > "2012-04-21T11:30:00+00:00" AND
484
+ #
485
+ # create_time < "2013-01-01T00:00:00+00:00" AND
486
+ # thread.name = spaces/AAAAAAAAAAA/threads/123
487
+ #
488
+ # thread.name = spaces/AAAAAAAAAAA/threads/123
489
+ # ```
490
+ #
491
+ # Invalid queries are rejected by the server with an `INVALID_ARGUMENT`
492
+ # error.
493
+ # @param order_by [::String]
494
+ # Optional, if resuming from a previous query.
495
+ #
496
+ # How the list of messages is ordered. Specify a value to order by an
497
+ # ordering operation. Valid ordering operation values are as follows:
498
+ #
499
+ # - `ASC` for ascending.
500
+ #
501
+ # - `DESC` for descending.
502
+ #
503
+ # The default ordering is `create_time ASC`.
504
+ # @param show_deleted [::Boolean]
505
+ # Whether to include deleted messages. Deleted messages include deleted time
506
+ # and metadata about their deletion, but message content is unavailable.
507
+ # @yield [result, operation] Access the result along with the TransportOperation object
508
+ # @yieldparam result [::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Message>]
509
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
510
+ #
511
+ # @return [::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Message>]
512
+ #
513
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
514
+ #
515
+ # @example Basic example
516
+ # require "google/apps/chat/v1"
517
+ #
518
+ # # Create a client object. The client can be reused for multiple calls.
519
+ # client = Google::Apps::Chat::V1::ChatService::Rest::Client.new
520
+ #
521
+ # # Create a request. To set request fields, pass in keyword arguments.
522
+ # request = Google::Apps::Chat::V1::ListMessagesRequest.new
523
+ #
524
+ # # Call the list_messages method.
525
+ # result = client.list_messages request
526
+ #
527
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
528
+ # # over elements, and API calls will be issued to fetch pages as needed.
529
+ # result.each do |item|
530
+ # # Each element is of type ::Google::Apps::Chat::V1::Message.
531
+ # p item
532
+ # end
533
+ #
534
+ def list_messages request, options = nil
535
+ raise ::ArgumentError, "request must be provided" if request.nil?
536
+
537
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::ListMessagesRequest
538
+
539
+ # Converts hash and nil to an options object
540
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
541
+
542
+ # Customize the options with defaults
543
+ call_metadata = @config.rpcs.list_messages.metadata.to_h
544
+
545
+ # Set x-goog-api-client and x-goog-user-project headers
546
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
547
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
548
+ gapic_version: ::Google::Apps::Chat::V1::VERSION,
549
+ transports_version_send: [:rest]
550
+
551
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
552
+
553
+ options.apply_defaults timeout: @config.rpcs.list_messages.timeout,
554
+ metadata: call_metadata,
555
+ retry_policy: @config.rpcs.list_messages.retry_policy
556
+
557
+ options.apply_defaults timeout: @config.timeout,
558
+ metadata: @config.metadata,
559
+ retry_policy: @config.retry_policy
560
+
561
+ @chat_service_stub.list_messages request, options do |result, operation|
562
+ result = ::Gapic::Rest::PagedEnumerable.new @chat_service_stub, :list_messages, "messages", request, result, options
563
+ yield result, operation if block_given?
564
+ return result
565
+ end
566
+ rescue ::Gapic::Rest::Error => e
567
+ raise ::Google::Cloud::Error.from_error(e)
568
+ end
569
+
570
+ ##
571
+ # Lists memberships in a space. For an example, see [List users and Google
572
+ # Chat apps in a
573
+ # space](https://developers.google.com/workspace/chat/list-members). Listing
574
+ # memberships with [app
575
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
576
+ # lists memberships in spaces that the Chat app has
577
+ # access to, but excludes Chat app memberships,
578
+ # including its own. Listing memberships with
579
+ # [User
580
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
581
+ # lists memberships in spaces that the authenticated user has access to.
582
+ #
583
+ # Requires
584
+ # [authentication](https://developers.google.com/workspace/chat/authenticate-authorize).
585
+ # Supports
586
+ # [app
587
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
588
+ # and [user
589
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
590
+ #
591
+ # @overload list_memberships(request, options = nil)
592
+ # Pass arguments to `list_memberships` via a request object, either of type
593
+ # {::Google::Apps::Chat::V1::ListMembershipsRequest} or an equivalent Hash.
594
+ #
595
+ # @param request [::Google::Apps::Chat::V1::ListMembershipsRequest, ::Hash]
596
+ # A request object representing the call parameters. Required. To specify no
597
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
598
+ # @param options [::Gapic::CallOptions, ::Hash]
599
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
600
+ #
601
+ # @overload list_memberships(parent: nil, page_size: nil, page_token: nil, filter: nil, show_groups: nil, show_invited: nil)
602
+ # Pass arguments to `list_memberships` via keyword arguments. Note that at
603
+ # least one keyword argument is required. To specify no parameters, or to keep all
604
+ # the default parameter values, pass an empty Hash as a request object (see above).
605
+ #
606
+ # @param parent [::String]
607
+ # Required. The resource name of the space for which to fetch a membership
608
+ # list.
609
+ #
610
+ # Format: spaces/\\{space}
611
+ # @param page_size [::Integer]
612
+ # Optional. The maximum number of memberships to return. The service might
613
+ # return fewer than this value.
614
+ #
615
+ # If unspecified, at most 100 memberships are returned.
616
+ #
617
+ # The maximum value is 1000. If you use a value more than 1000, it's
618
+ # automatically changed to 1000.
619
+ #
620
+ # Negative values return an `INVALID_ARGUMENT` error.
621
+ # @param page_token [::String]
622
+ # Optional. A page token, received from a previous call to list memberships.
623
+ # Provide this parameter to retrieve the subsequent page.
624
+ #
625
+ # When paginating, all other parameters provided should match the call that
626
+ # provided the page token. Passing different values to the other parameters
627
+ # might lead to unexpected results.
628
+ # @param filter [::String]
629
+ # Optional. A query filter.
630
+ #
631
+ # You can filter memberships by a member's role
632
+ # ([`role`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.members#membershiprole))
633
+ # and type
634
+ # ([`member.type`](https://developers.google.com/workspace/chat/api/reference/rest/v1/User#type)).
635
+ #
636
+ # To filter by role, set `role` to `ROLE_MEMBER` or `ROLE_MANAGER`.
637
+ #
638
+ # To filter by type, set `member.type` to `HUMAN` or `BOT`.
639
+ #
640
+ # To filter by both role and type, use the `AND` operator. To filter by
641
+ # either role or type, use the `OR` operator.
642
+ #
643
+ # For example, the following queries are valid:
644
+ #
645
+ # ```
646
+ # role = "ROLE_MANAGER" OR role = "ROLE_MEMBER"
647
+ # member.type = "HUMAN" AND role = "ROLE_MANAGER"
648
+ # ```
649
+ #
650
+ # The following queries are invalid:
651
+ #
652
+ # ```
653
+ # member.type = "HUMAN" AND member.type = "BOT"
654
+ # role = "ROLE_MANAGER" AND role = "ROLE_MEMBER"
655
+ # ```
656
+ #
657
+ #
658
+ # Invalid queries are rejected by the server with an `INVALID_ARGUMENT`
659
+ # error.
660
+ # @param show_groups [::Boolean]
661
+ # Optional. When `true`, also returns memberships associated with a
662
+ # {::Google::Apps::Chat::V1::Membership#group_member Google Group}, in
663
+ # addition to other types of memberships. If a
664
+ # {::Google::Apps::Chat::V1::ListMembershipsRequest#filter filter} is set,
665
+ # {::Google::Apps::Chat::V1::Membership#group_member Google Group}
666
+ # memberships that don't match the filter criteria aren't returned.
667
+ # @param show_invited [::Boolean]
668
+ # Optional. When `true`, also returns memberships associated with
669
+ # {::Google::Apps::Chat::V1::Membership::MembershipState::INVITED invited} members, in
670
+ # addition to other types of memberships. If a
671
+ # filter is set,
672
+ # {::Google::Apps::Chat::V1::Membership::MembershipState::INVITED invited} memberships
673
+ # that don't match the filter criteria aren't returned.
674
+ #
675
+ # Currently requires [user
676
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
677
+ # @yield [result, operation] Access the result along with the TransportOperation object
678
+ # @yieldparam result [::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Membership>]
679
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
680
+ #
681
+ # @return [::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Membership>]
682
+ #
683
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
684
+ #
685
+ # @example Basic example
686
+ # require "google/apps/chat/v1"
687
+ #
688
+ # # Create a client object. The client can be reused for multiple calls.
689
+ # client = Google::Apps::Chat::V1::ChatService::Rest::Client.new
690
+ #
691
+ # # Create a request. To set request fields, pass in keyword arguments.
692
+ # request = Google::Apps::Chat::V1::ListMembershipsRequest.new
693
+ #
694
+ # # Call the list_memberships method.
695
+ # result = client.list_memberships request
696
+ #
697
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
698
+ # # over elements, and API calls will be issued to fetch pages as needed.
699
+ # result.each do |item|
700
+ # # Each element is of type ::Google::Apps::Chat::V1::Membership.
701
+ # p item
702
+ # end
703
+ #
704
+ def list_memberships request, options = nil
705
+ raise ::ArgumentError, "request must be provided" if request.nil?
706
+
707
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::ListMembershipsRequest
708
+
709
+ # Converts hash and nil to an options object
710
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
711
+
712
+ # Customize the options with defaults
713
+ call_metadata = @config.rpcs.list_memberships.metadata.to_h
714
+
715
+ # Set x-goog-api-client and x-goog-user-project headers
716
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
717
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
718
+ gapic_version: ::Google::Apps::Chat::V1::VERSION,
719
+ transports_version_send: [:rest]
720
+
721
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
722
+
723
+ options.apply_defaults timeout: @config.rpcs.list_memberships.timeout,
724
+ metadata: call_metadata,
725
+ retry_policy: @config.rpcs.list_memberships.retry_policy
726
+
727
+ options.apply_defaults timeout: @config.timeout,
728
+ metadata: @config.metadata,
729
+ retry_policy: @config.retry_policy
730
+
731
+ @chat_service_stub.list_memberships request, options do |result, operation|
732
+ result = ::Gapic::Rest::PagedEnumerable.new @chat_service_stub, :list_memberships, "memberships", request, result, options
733
+ yield result, operation if block_given?
734
+ return result
735
+ end
736
+ rescue ::Gapic::Rest::Error => e
737
+ raise ::Google::Cloud::Error.from_error(e)
738
+ end
739
+
740
+ ##
741
+ # Returns details about a membership. For an example, see
742
+ # [Get details about a user's or Google Chat app's
743
+ # membership](https://developers.google.com/workspace/chat/get-members).
744
+ #
745
+ # Requires
746
+ # [authentication](https://developers.google.com/workspace/chat/authenticate-authorize).
747
+ # Supports
748
+ # [app
749
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
750
+ # and [user
751
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
752
+ #
753
+ # @overload get_membership(request, options = nil)
754
+ # Pass arguments to `get_membership` via a request object, either of type
755
+ # {::Google::Apps::Chat::V1::GetMembershipRequest} or an equivalent Hash.
756
+ #
757
+ # @param request [::Google::Apps::Chat::V1::GetMembershipRequest, ::Hash]
758
+ # A request object representing the call parameters. Required. To specify no
759
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
760
+ # @param options [::Gapic::CallOptions, ::Hash]
761
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
762
+ #
763
+ # @overload get_membership(name: nil)
764
+ # Pass arguments to `get_membership` via keyword arguments. Note that at
765
+ # least one keyword argument is required. To specify no parameters, or to keep all
766
+ # the default parameter values, pass an empty Hash as a request object (see above).
767
+ #
768
+ # @param name [::String]
769
+ # Required. Resource name of the membership to retrieve.
770
+ #
771
+ # To get the app's own membership, you can optionally use
772
+ # `spaces/{space}/members/app`.
773
+ #
774
+ # Format: `spaces/{space}/members/{member}` or `spaces/{space}/members/app`
775
+ #
776
+ # When [authenticated as a
777
+ # user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user),
778
+ # you can use the user's email as an alias for `{member}`. For example,
779
+ # `spaces/{space}/members/example@gmail.com` where `example@gmail.com` is the
780
+ # email of the Google Chat user.
781
+ # @yield [result, operation] Access the result along with the TransportOperation object
782
+ # @yieldparam result [::Google::Apps::Chat::V1::Membership]
783
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
784
+ #
785
+ # @return [::Google::Apps::Chat::V1::Membership]
786
+ #
787
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
788
+ #
789
+ # @example Basic example
790
+ # require "google/apps/chat/v1"
791
+ #
792
+ # # Create a client object. The client can be reused for multiple calls.
793
+ # client = Google::Apps::Chat::V1::ChatService::Rest::Client.new
794
+ #
795
+ # # Create a request. To set request fields, pass in keyword arguments.
796
+ # request = Google::Apps::Chat::V1::GetMembershipRequest.new
797
+ #
798
+ # # Call the get_membership method.
799
+ # result = client.get_membership request
800
+ #
801
+ # # The returned object is of type Google::Apps::Chat::V1::Membership.
802
+ # p result
803
+ #
804
+ def get_membership request, options = nil
805
+ raise ::ArgumentError, "request must be provided" if request.nil?
806
+
807
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::GetMembershipRequest
808
+
809
+ # Converts hash and nil to an options object
810
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
811
+
812
+ # Customize the options with defaults
813
+ call_metadata = @config.rpcs.get_membership.metadata.to_h
814
+
815
+ # Set x-goog-api-client and x-goog-user-project headers
816
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
817
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
818
+ gapic_version: ::Google::Apps::Chat::V1::VERSION,
819
+ transports_version_send: [:rest]
820
+
821
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
822
+
823
+ options.apply_defaults timeout: @config.rpcs.get_membership.timeout,
824
+ metadata: call_metadata,
825
+ retry_policy: @config.rpcs.get_membership.retry_policy
826
+
827
+ options.apply_defaults timeout: @config.timeout,
828
+ metadata: @config.metadata,
829
+ retry_policy: @config.retry_policy
830
+
831
+ @chat_service_stub.get_membership request, options do |result, operation|
832
+ yield result, operation if block_given?
833
+ return result
834
+ end
835
+ rescue ::Gapic::Rest::Error => e
836
+ raise ::Google::Cloud::Error.from_error(e)
837
+ end
838
+
839
+ ##
840
+ # Returns details about a message.
841
+ # For an example, see [Get details about a
842
+ # message](https://developers.google.com/workspace/chat/get-messages).
843
+ #
844
+ # Requires
845
+ # [authentication](https://developers.google.com/workspace/chat/authenticate-authorize).
846
+ # Supports
847
+ # [app
848
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
849
+ # and [user
850
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
851
+ #
852
+ # Note: Might return a message from a blocked member or space.
853
+ #
854
+ # @overload get_message(request, options = nil)
855
+ # Pass arguments to `get_message` via a request object, either of type
856
+ # {::Google::Apps::Chat::V1::GetMessageRequest} or an equivalent Hash.
857
+ #
858
+ # @param request [::Google::Apps::Chat::V1::GetMessageRequest, ::Hash]
859
+ # A request object representing the call parameters. Required. To specify no
860
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
861
+ # @param options [::Gapic::CallOptions, ::Hash]
862
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
863
+ #
864
+ # @overload get_message(name: nil)
865
+ # Pass arguments to `get_message` via keyword arguments. Note that at
866
+ # least one keyword argument is required. To specify no parameters, or to keep all
867
+ # the default parameter values, pass an empty Hash as a request object (see above).
868
+ #
869
+ # @param name [::String]
870
+ # Required. Resource name of the message.
871
+ #
872
+ # Format: `spaces/{space}/messages/{message}`
873
+ #
874
+ # If you've set a custom ID for your message, you can use the value from the
875
+ # `clientAssignedMessageId` field for `{message}`. For details, see [Name a
876
+ # message]
877
+ # (https://developers.google.com/workspace/chat/create-messages#name_a_created_message).
878
+ # @yield [result, operation] Access the result along with the TransportOperation object
879
+ # @yieldparam result [::Google::Apps::Chat::V1::Message]
880
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
881
+ #
882
+ # @return [::Google::Apps::Chat::V1::Message]
883
+ #
884
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
885
+ #
886
+ # @example Basic example
887
+ # require "google/apps/chat/v1"
888
+ #
889
+ # # Create a client object. The client can be reused for multiple calls.
890
+ # client = Google::Apps::Chat::V1::ChatService::Rest::Client.new
891
+ #
892
+ # # Create a request. To set request fields, pass in keyword arguments.
893
+ # request = Google::Apps::Chat::V1::GetMessageRequest.new
894
+ #
895
+ # # Call the get_message method.
896
+ # result = client.get_message request
897
+ #
898
+ # # The returned object is of type Google::Apps::Chat::V1::Message.
899
+ # p result
900
+ #
901
+ def get_message request, options = nil
902
+ raise ::ArgumentError, "request must be provided" if request.nil?
903
+
904
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::GetMessageRequest
905
+
906
+ # Converts hash and nil to an options object
907
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
908
+
909
+ # Customize the options with defaults
910
+ call_metadata = @config.rpcs.get_message.metadata.to_h
911
+
912
+ # Set x-goog-api-client and x-goog-user-project headers
913
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
914
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
915
+ gapic_version: ::Google::Apps::Chat::V1::VERSION,
916
+ transports_version_send: [:rest]
917
+
918
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
919
+
920
+ options.apply_defaults timeout: @config.rpcs.get_message.timeout,
921
+ metadata: call_metadata,
922
+ retry_policy: @config.rpcs.get_message.retry_policy
923
+
924
+ options.apply_defaults timeout: @config.timeout,
925
+ metadata: @config.metadata,
926
+ retry_policy: @config.retry_policy
927
+
928
+ @chat_service_stub.get_message request, options do |result, operation|
929
+ yield result, operation if block_given?
930
+ return result
931
+ end
932
+ rescue ::Gapic::Rest::Error => e
933
+ raise ::Google::Cloud::Error.from_error(e)
934
+ end
935
+
936
+ ##
937
+ # Updates a message. There's a difference between the `patch` and `update`
938
+ # methods. The `patch`
939
+ # method uses a `patch` request while the `update` method uses a `put`
940
+ # request. We recommend using the `patch` method. For an example, see
941
+ # [Update a
942
+ # message](https://developers.google.com/workspace/chat/update-messages).
943
+ #
944
+ # Requires
945
+ # [authentication](https://developers.google.com/workspace/chat/authenticate-authorize).
946
+ # Supports
947
+ # [app
948
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
949
+ # and [user
950
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
951
+ # When using app authentication, requests can only update messages
952
+ # created by the calling Chat app.
953
+ #
954
+ # @overload update_message(request, options = nil)
955
+ # Pass arguments to `update_message` via a request object, either of type
956
+ # {::Google::Apps::Chat::V1::UpdateMessageRequest} or an equivalent Hash.
957
+ #
958
+ # @param request [::Google::Apps::Chat::V1::UpdateMessageRequest, ::Hash]
959
+ # A request object representing the call parameters. Required. To specify no
960
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
961
+ # @param options [::Gapic::CallOptions, ::Hash]
962
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
963
+ #
964
+ # @overload update_message(message: nil, update_mask: nil, allow_missing: nil)
965
+ # Pass arguments to `update_message` via keyword arguments. Note that at
966
+ # least one keyword argument is required. To specify no parameters, or to keep all
967
+ # the default parameter values, pass an empty Hash as a request object (see above).
968
+ #
969
+ # @param message [::Google::Apps::Chat::V1::Message, ::Hash]
970
+ # Required. Message with fields updated.
971
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
972
+ # Required. The field paths to update. Separate multiple values with commas
973
+ # or use `*` to update all field paths.
974
+ #
975
+ # Currently supported field paths:
976
+ #
977
+ # - `text`
978
+ #
979
+ # - `attachment`
980
+ #
981
+ # - `cards` (Requires [app
982
+ # authentication](/chat/api/guides/auth/service-accounts).)
983
+ #
984
+ # - `cards_v2` (Requires [app
985
+ # authentication](/chat/api/guides/auth/service-accounts).)
986
+ #
987
+ # - `accessory_widgets` (Requires [app
988
+ # authentication](/chat/api/guides/auth/service-accounts).)
989
+ # @param allow_missing [::Boolean]
990
+ # Optional. If `true` and the message isn't found, a new message is created
991
+ # and `updateMask` is ignored. The specified message ID must be
992
+ # [client-assigned](https://developers.google.com/workspace/chat/create-messages#name_a_created_message)
993
+ # or the request fails.
994
+ # @yield [result, operation] Access the result along with the TransportOperation object
995
+ # @yieldparam result [::Google::Apps::Chat::V1::Message]
996
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
997
+ #
998
+ # @return [::Google::Apps::Chat::V1::Message]
999
+ #
1000
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1001
+ #
1002
+ # @example Basic example
1003
+ # require "google/apps/chat/v1"
1004
+ #
1005
+ # # Create a client object. The client can be reused for multiple calls.
1006
+ # client = Google::Apps::Chat::V1::ChatService::Rest::Client.new
1007
+ #
1008
+ # # Create a request. To set request fields, pass in keyword arguments.
1009
+ # request = Google::Apps::Chat::V1::UpdateMessageRequest.new
1010
+ #
1011
+ # # Call the update_message method.
1012
+ # result = client.update_message request
1013
+ #
1014
+ # # The returned object is of type Google::Apps::Chat::V1::Message.
1015
+ # p result
1016
+ #
1017
+ def update_message request, options = nil
1018
+ raise ::ArgumentError, "request must be provided" if request.nil?
1019
+
1020
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::UpdateMessageRequest
1021
+
1022
+ # Converts hash and nil to an options object
1023
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1024
+
1025
+ # Customize the options with defaults
1026
+ call_metadata = @config.rpcs.update_message.metadata.to_h
1027
+
1028
+ # Set x-goog-api-client and x-goog-user-project headers
1029
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1030
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1031
+ gapic_version: ::Google::Apps::Chat::V1::VERSION,
1032
+ transports_version_send: [:rest]
1033
+
1034
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1035
+
1036
+ options.apply_defaults timeout: @config.rpcs.update_message.timeout,
1037
+ metadata: call_metadata,
1038
+ retry_policy: @config.rpcs.update_message.retry_policy
1039
+
1040
+ options.apply_defaults timeout: @config.timeout,
1041
+ metadata: @config.metadata,
1042
+ retry_policy: @config.retry_policy
1043
+
1044
+ @chat_service_stub.update_message request, options do |result, operation|
1045
+ yield result, operation if block_given?
1046
+ return result
1047
+ end
1048
+ rescue ::Gapic::Rest::Error => e
1049
+ raise ::Google::Cloud::Error.from_error(e)
1050
+ end
1051
+
1052
+ ##
1053
+ # Deletes a message.
1054
+ # For an example, see [Delete a
1055
+ # message](https://developers.google.com/workspace/chat/delete-messages).
1056
+ #
1057
+ # Requires
1058
+ # [authentication](https://developers.google.com/workspace/chat/authenticate-authorize).
1059
+ # Supports
1060
+ # [app
1061
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
1062
+ # and [user
1063
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
1064
+ # When using app authentication, requests can only delete messages
1065
+ # created by the calling Chat app.
1066
+ #
1067
+ # @overload delete_message(request, options = nil)
1068
+ # Pass arguments to `delete_message` via a request object, either of type
1069
+ # {::Google::Apps::Chat::V1::DeleteMessageRequest} or an equivalent Hash.
1070
+ #
1071
+ # @param request [::Google::Apps::Chat::V1::DeleteMessageRequest, ::Hash]
1072
+ # A request object representing the call parameters. Required. To specify no
1073
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1074
+ # @param options [::Gapic::CallOptions, ::Hash]
1075
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1076
+ #
1077
+ # @overload delete_message(name: nil, force: nil)
1078
+ # Pass arguments to `delete_message` via keyword arguments. Note that at
1079
+ # least one keyword argument is required. To specify no parameters, or to keep all
1080
+ # the default parameter values, pass an empty Hash as a request object (see above).
1081
+ #
1082
+ # @param name [::String]
1083
+ # Required. Resource name of the message.
1084
+ #
1085
+ # Format: `spaces/{space}/messages/{message}`
1086
+ #
1087
+ # If you've set a custom ID for your message, you can use the value from the
1088
+ # `clientAssignedMessageId` field for `{message}`. For details, see [Name a
1089
+ # message]
1090
+ # (https://developers.google.com/workspace/chat/create-messages#name_a_created_message).
1091
+ # @param force [::Boolean]
1092
+ # When `true`, deleting a message also deletes its threaded replies. When
1093
+ # `false`, if a message has threaded replies, deletion fails.
1094
+ #
1095
+ # Only applies when [authenticating as a
1096
+ # user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
1097
+ # Has no effect when [authenticating as a Chat app]
1098
+ # (https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).
1099
+ # @yield [result, operation] Access the result along with the TransportOperation object
1100
+ # @yieldparam result [::Google::Protobuf::Empty]
1101
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1102
+ #
1103
+ # @return [::Google::Protobuf::Empty]
1104
+ #
1105
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1106
+ #
1107
+ # @example Basic example
1108
+ # require "google/apps/chat/v1"
1109
+ #
1110
+ # # Create a client object. The client can be reused for multiple calls.
1111
+ # client = Google::Apps::Chat::V1::ChatService::Rest::Client.new
1112
+ #
1113
+ # # Create a request. To set request fields, pass in keyword arguments.
1114
+ # request = Google::Apps::Chat::V1::DeleteMessageRequest.new
1115
+ #
1116
+ # # Call the delete_message method.
1117
+ # result = client.delete_message request
1118
+ #
1119
+ # # The returned object is of type Google::Protobuf::Empty.
1120
+ # p result
1121
+ #
1122
+ def delete_message request, options = nil
1123
+ raise ::ArgumentError, "request must be provided" if request.nil?
1124
+
1125
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::DeleteMessageRequest
1126
+
1127
+ # Converts hash and nil to an options object
1128
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1129
+
1130
+ # Customize the options with defaults
1131
+ call_metadata = @config.rpcs.delete_message.metadata.to_h
1132
+
1133
+ # Set x-goog-api-client and x-goog-user-project headers
1134
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1135
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1136
+ gapic_version: ::Google::Apps::Chat::V1::VERSION,
1137
+ transports_version_send: [:rest]
1138
+
1139
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1140
+
1141
+ options.apply_defaults timeout: @config.rpcs.delete_message.timeout,
1142
+ metadata: call_metadata,
1143
+ retry_policy: @config.rpcs.delete_message.retry_policy
1144
+
1145
+ options.apply_defaults timeout: @config.timeout,
1146
+ metadata: @config.metadata,
1147
+ retry_policy: @config.retry_policy
1148
+
1149
+ @chat_service_stub.delete_message request, options do |result, operation|
1150
+ yield result, operation if block_given?
1151
+ return result
1152
+ end
1153
+ rescue ::Gapic::Rest::Error => e
1154
+ raise ::Google::Cloud::Error.from_error(e)
1155
+ end
1156
+
1157
+ ##
1158
+ # Gets the metadata of a message attachment. The attachment data is fetched
1159
+ # using the [media
1160
+ # API](https://developers.google.com/workspace/chat/api/reference/rest/v1/media/download).
1161
+ # For an example, see
1162
+ # [Get metadata about a message
1163
+ # attachment](https://developers.google.com/workspace/chat/get-media-attachments).
1164
+ # Requires [app
1165
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).
1166
+ #
1167
+ # @overload get_attachment(request, options = nil)
1168
+ # Pass arguments to `get_attachment` via a request object, either of type
1169
+ # {::Google::Apps::Chat::V1::GetAttachmentRequest} or an equivalent Hash.
1170
+ #
1171
+ # @param request [::Google::Apps::Chat::V1::GetAttachmentRequest, ::Hash]
1172
+ # A request object representing the call parameters. Required. To specify no
1173
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1174
+ # @param options [::Gapic::CallOptions, ::Hash]
1175
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1176
+ #
1177
+ # @overload get_attachment(name: nil)
1178
+ # Pass arguments to `get_attachment` via keyword arguments. Note that at
1179
+ # least one keyword argument is required. To specify no parameters, or to keep all
1180
+ # the default parameter values, pass an empty Hash as a request object (see above).
1181
+ #
1182
+ # @param name [::String]
1183
+ # Required. Resource name of the attachment, in the form
1184
+ # `spaces/*/messages/*/attachments/*`.
1185
+ # @yield [result, operation] Access the result along with the TransportOperation object
1186
+ # @yieldparam result [::Google::Apps::Chat::V1::Attachment]
1187
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1188
+ #
1189
+ # @return [::Google::Apps::Chat::V1::Attachment]
1190
+ #
1191
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1192
+ #
1193
+ # @example Basic example
1194
+ # require "google/apps/chat/v1"
1195
+ #
1196
+ # # Create a client object. The client can be reused for multiple calls.
1197
+ # client = Google::Apps::Chat::V1::ChatService::Rest::Client.new
1198
+ #
1199
+ # # Create a request. To set request fields, pass in keyword arguments.
1200
+ # request = Google::Apps::Chat::V1::GetAttachmentRequest.new
1201
+ #
1202
+ # # Call the get_attachment method.
1203
+ # result = client.get_attachment request
1204
+ #
1205
+ # # The returned object is of type Google::Apps::Chat::V1::Attachment.
1206
+ # p result
1207
+ #
1208
+ def get_attachment request, options = nil
1209
+ raise ::ArgumentError, "request must be provided" if request.nil?
1210
+
1211
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::GetAttachmentRequest
1212
+
1213
+ # Converts hash and nil to an options object
1214
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1215
+
1216
+ # Customize the options with defaults
1217
+ call_metadata = @config.rpcs.get_attachment.metadata.to_h
1218
+
1219
+ # Set x-goog-api-client and x-goog-user-project headers
1220
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1221
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1222
+ gapic_version: ::Google::Apps::Chat::V1::VERSION,
1223
+ transports_version_send: [:rest]
1224
+
1225
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1226
+
1227
+ options.apply_defaults timeout: @config.rpcs.get_attachment.timeout,
1228
+ metadata: call_metadata,
1229
+ retry_policy: @config.rpcs.get_attachment.retry_policy
1230
+
1231
+ options.apply_defaults timeout: @config.timeout,
1232
+ metadata: @config.metadata,
1233
+ retry_policy: @config.retry_policy
1234
+
1235
+ @chat_service_stub.get_attachment request, options do |result, operation|
1236
+ yield result, operation if block_given?
1237
+ return result
1238
+ end
1239
+ rescue ::Gapic::Rest::Error => e
1240
+ raise ::Google::Cloud::Error.from_error(e)
1241
+ end
1242
+
1243
+ ##
1244
+ # Uploads an attachment. For an example, see
1245
+ # [Upload media as a file
1246
+ # attachment](https://developers.google.com/workspace/chat/upload-media-attachments).
1247
+ # Requires user
1248
+ # [authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
1249
+ #
1250
+ # You can upload attachments up to 200 MB. Certain file types aren't
1251
+ # supported. For details, see [File types blocked by Google
1252
+ # Chat](https://support.google.com/chat/answer/7651457?&co=GENIE.Platform%3DDesktop#File%20types%20blocked%20in%20Google%20Chat).
1253
+ #
1254
+ # @overload upload_attachment(request, options = nil)
1255
+ # Pass arguments to `upload_attachment` via a request object, either of type
1256
+ # {::Google::Apps::Chat::V1::UploadAttachmentRequest} or an equivalent Hash.
1257
+ #
1258
+ # @param request [::Google::Apps::Chat::V1::UploadAttachmentRequest, ::Hash]
1259
+ # A request object representing the call parameters. Required. To specify no
1260
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1261
+ # @param options [::Gapic::CallOptions, ::Hash]
1262
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1263
+ #
1264
+ # @overload upload_attachment(parent: nil, filename: nil)
1265
+ # Pass arguments to `upload_attachment` via keyword arguments. Note that at
1266
+ # least one keyword argument is required. To specify no parameters, or to keep all
1267
+ # the default parameter values, pass an empty Hash as a request object (see above).
1268
+ #
1269
+ # @param parent [::String]
1270
+ # Required. Resource name of the Chat space in which the attachment is
1271
+ # uploaded. Format "spaces/\\{space}".
1272
+ # @param filename [::String]
1273
+ # Required. The filename of the attachment, including the file extension.
1274
+ # @yield [result, operation] Access the result along with the TransportOperation object
1275
+ # @yieldparam result [::Google::Apps::Chat::V1::UploadAttachmentResponse]
1276
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1277
+ #
1278
+ # @return [::Google::Apps::Chat::V1::UploadAttachmentResponse]
1279
+ #
1280
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1281
+ #
1282
+ # @example Basic example
1283
+ # require "google/apps/chat/v1"
1284
+ #
1285
+ # # Create a client object. The client can be reused for multiple calls.
1286
+ # client = Google::Apps::Chat::V1::ChatService::Rest::Client.new
1287
+ #
1288
+ # # Create a request. To set request fields, pass in keyword arguments.
1289
+ # request = Google::Apps::Chat::V1::UploadAttachmentRequest.new
1290
+ #
1291
+ # # Call the upload_attachment method.
1292
+ # result = client.upload_attachment request
1293
+ #
1294
+ # # The returned object is of type Google::Apps::Chat::V1::UploadAttachmentResponse.
1295
+ # p result
1296
+ #
1297
+ def upload_attachment request, options = nil
1298
+ raise ::ArgumentError, "request must be provided" if request.nil?
1299
+
1300
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::UploadAttachmentRequest
1301
+
1302
+ # Converts hash and nil to an options object
1303
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1304
+
1305
+ # Customize the options with defaults
1306
+ call_metadata = @config.rpcs.upload_attachment.metadata.to_h
1307
+
1308
+ # Set x-goog-api-client and x-goog-user-project headers
1309
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1310
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1311
+ gapic_version: ::Google::Apps::Chat::V1::VERSION,
1312
+ transports_version_send: [:rest]
1313
+
1314
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1315
+
1316
+ options.apply_defaults timeout: @config.rpcs.upload_attachment.timeout,
1317
+ metadata: call_metadata,
1318
+ retry_policy: @config.rpcs.upload_attachment.retry_policy
1319
+
1320
+ options.apply_defaults timeout: @config.timeout,
1321
+ metadata: @config.metadata,
1322
+ retry_policy: @config.retry_policy
1323
+
1324
+ @chat_service_stub.upload_attachment request, options do |result, operation|
1325
+ yield result, operation if block_given?
1326
+ return result
1327
+ end
1328
+ rescue ::Gapic::Rest::Error => e
1329
+ raise ::Google::Cloud::Error.from_error(e)
1330
+ end
1331
+
1332
+ ##
1333
+ # Lists spaces the caller is a member of. Group chats and DMs aren't listed
1334
+ # until the first message is sent. For an example, see
1335
+ # [List
1336
+ # spaces](https://developers.google.com/workspace/chat/list-spaces).
1337
+ #
1338
+ # Requires
1339
+ # [authentication](https://developers.google.com/workspace/chat/authenticate-authorize).
1340
+ # Supports
1341
+ # [app
1342
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
1343
+ # and [user
1344
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
1345
+ #
1346
+ # Lists spaces visible to the caller or authenticated user. Group chats
1347
+ # and DMs aren't listed until the first message is sent.
1348
+ #
1349
+ # @overload list_spaces(request, options = nil)
1350
+ # Pass arguments to `list_spaces` via a request object, either of type
1351
+ # {::Google::Apps::Chat::V1::ListSpacesRequest} or an equivalent Hash.
1352
+ #
1353
+ # @param request [::Google::Apps::Chat::V1::ListSpacesRequest, ::Hash]
1354
+ # A request object representing the call parameters. Required. To specify no
1355
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1356
+ # @param options [::Gapic::CallOptions, ::Hash]
1357
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1358
+ #
1359
+ # @overload list_spaces(page_size: nil, page_token: nil, filter: nil)
1360
+ # Pass arguments to `list_spaces` via keyword arguments. Note that at
1361
+ # least one keyword argument is required. To specify no parameters, or to keep all
1362
+ # the default parameter values, pass an empty Hash as a request object (see above).
1363
+ #
1364
+ # @param page_size [::Integer]
1365
+ # Optional. The maximum number of spaces to return. The service might return
1366
+ # fewer than this value.
1367
+ #
1368
+ # If unspecified, at most 100 spaces are returned.
1369
+ #
1370
+ # The maximum value is 1000. If you use a value more than 1000, it's
1371
+ # automatically changed to 1000.
1372
+ #
1373
+ # Negative values return an `INVALID_ARGUMENT` error.
1374
+ # @param page_token [::String]
1375
+ # Optional. A page token, received from a previous list spaces call.
1376
+ # Provide this parameter to retrieve the subsequent page.
1377
+ #
1378
+ # When paginating, the filter value should match the call that provided the
1379
+ # page token. Passing a different value may lead to unexpected results.
1380
+ # @param filter [::String]
1381
+ # Optional. A query filter.
1382
+ #
1383
+ # You can filter spaces by the space type
1384
+ # ([`space_type`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces#spacetype)).
1385
+ #
1386
+ # To filter by space type, you must specify valid enum value, such as
1387
+ # `SPACE` or `GROUP_CHAT` (the `space_type` can't be
1388
+ # `SPACE_TYPE_UNSPECIFIED`). To query for multiple space types, use the `OR`
1389
+ # operator.
1390
+ #
1391
+ # For example, the following queries are valid:
1392
+ #
1393
+ # ```
1394
+ # space_type = "SPACE"
1395
+ # spaceType = "GROUP_CHAT" OR spaceType = "DIRECT_MESSAGE"
1396
+ # ```
1397
+ #
1398
+ # Invalid queries are rejected by the server with an `INVALID_ARGUMENT`
1399
+ # error.
1400
+ # @yield [result, operation] Access the result along with the TransportOperation object
1401
+ # @yieldparam result [::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Space>]
1402
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1403
+ #
1404
+ # @return [::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Space>]
1405
+ #
1406
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1407
+ #
1408
+ # @example Basic example
1409
+ # require "google/apps/chat/v1"
1410
+ #
1411
+ # # Create a client object. The client can be reused for multiple calls.
1412
+ # client = Google::Apps::Chat::V1::ChatService::Rest::Client.new
1413
+ #
1414
+ # # Create a request. To set request fields, pass in keyword arguments.
1415
+ # request = Google::Apps::Chat::V1::ListSpacesRequest.new
1416
+ #
1417
+ # # Call the list_spaces method.
1418
+ # result = client.list_spaces request
1419
+ #
1420
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
1421
+ # # over elements, and API calls will be issued to fetch pages as needed.
1422
+ # result.each do |item|
1423
+ # # Each element is of type ::Google::Apps::Chat::V1::Space.
1424
+ # p item
1425
+ # end
1426
+ #
1427
+ def list_spaces request, options = nil
1428
+ raise ::ArgumentError, "request must be provided" if request.nil?
1429
+
1430
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::ListSpacesRequest
1431
+
1432
+ # Converts hash and nil to an options object
1433
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1434
+
1435
+ # Customize the options with defaults
1436
+ call_metadata = @config.rpcs.list_spaces.metadata.to_h
1437
+
1438
+ # Set x-goog-api-client and x-goog-user-project headers
1439
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1440
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1441
+ gapic_version: ::Google::Apps::Chat::V1::VERSION,
1442
+ transports_version_send: [:rest]
1443
+
1444
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1445
+
1446
+ options.apply_defaults timeout: @config.rpcs.list_spaces.timeout,
1447
+ metadata: call_metadata,
1448
+ retry_policy: @config.rpcs.list_spaces.retry_policy
1449
+
1450
+ options.apply_defaults timeout: @config.timeout,
1451
+ metadata: @config.metadata,
1452
+ retry_policy: @config.retry_policy
1453
+
1454
+ @chat_service_stub.list_spaces request, options do |result, operation|
1455
+ result = ::Gapic::Rest::PagedEnumerable.new @chat_service_stub, :list_spaces, "spaces", request, result, options
1456
+ yield result, operation if block_given?
1457
+ return result
1458
+ end
1459
+ rescue ::Gapic::Rest::Error => e
1460
+ raise ::Google::Cloud::Error.from_error(e)
1461
+ end
1462
+
1463
+ ##
1464
+ # Returns details about a space. For an example, see
1465
+ # [Get details about a
1466
+ # space](https://developers.google.com/workspace/chat/get-spaces).
1467
+ #
1468
+ # Requires
1469
+ # [authentication](https://developers.google.com/workspace/chat/authenticate-authorize).
1470
+ # Supports
1471
+ # [app
1472
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
1473
+ # and [user
1474
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
1475
+ #
1476
+ # @overload get_space(request, options = nil)
1477
+ # Pass arguments to `get_space` via a request object, either of type
1478
+ # {::Google::Apps::Chat::V1::GetSpaceRequest} or an equivalent Hash.
1479
+ #
1480
+ # @param request [::Google::Apps::Chat::V1::GetSpaceRequest, ::Hash]
1481
+ # A request object representing the call parameters. Required. To specify no
1482
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1483
+ # @param options [::Gapic::CallOptions, ::Hash]
1484
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1485
+ #
1486
+ # @overload get_space(name: nil)
1487
+ # Pass arguments to `get_space` via keyword arguments. Note that at
1488
+ # least one keyword argument is required. To specify no parameters, or to keep all
1489
+ # the default parameter values, pass an empty Hash as a request object (see above).
1490
+ #
1491
+ # @param name [::String]
1492
+ # Required. Resource name of the space, in the form "spaces/*".
1493
+ #
1494
+ # Format: `spaces/{space}`
1495
+ # @yield [result, operation] Access the result along with the TransportOperation object
1496
+ # @yieldparam result [::Google::Apps::Chat::V1::Space]
1497
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1498
+ #
1499
+ # @return [::Google::Apps::Chat::V1::Space]
1500
+ #
1501
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1502
+ #
1503
+ # @example Basic example
1504
+ # require "google/apps/chat/v1"
1505
+ #
1506
+ # # Create a client object. The client can be reused for multiple calls.
1507
+ # client = Google::Apps::Chat::V1::ChatService::Rest::Client.new
1508
+ #
1509
+ # # Create a request. To set request fields, pass in keyword arguments.
1510
+ # request = Google::Apps::Chat::V1::GetSpaceRequest.new
1511
+ #
1512
+ # # Call the get_space method.
1513
+ # result = client.get_space request
1514
+ #
1515
+ # # The returned object is of type Google::Apps::Chat::V1::Space.
1516
+ # p result
1517
+ #
1518
+ def get_space request, options = nil
1519
+ raise ::ArgumentError, "request must be provided" if request.nil?
1520
+
1521
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::GetSpaceRequest
1522
+
1523
+ # Converts hash and nil to an options object
1524
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1525
+
1526
+ # Customize the options with defaults
1527
+ call_metadata = @config.rpcs.get_space.metadata.to_h
1528
+
1529
+ # Set x-goog-api-client and x-goog-user-project headers
1530
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1531
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1532
+ gapic_version: ::Google::Apps::Chat::V1::VERSION,
1533
+ transports_version_send: [:rest]
1534
+
1535
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1536
+
1537
+ options.apply_defaults timeout: @config.rpcs.get_space.timeout,
1538
+ metadata: call_metadata,
1539
+ retry_policy: @config.rpcs.get_space.retry_policy
1540
+
1541
+ options.apply_defaults timeout: @config.timeout,
1542
+ metadata: @config.metadata,
1543
+ retry_policy: @config.retry_policy
1544
+
1545
+ @chat_service_stub.get_space request, options do |result, operation|
1546
+ yield result, operation if block_given?
1547
+ return result
1548
+ end
1549
+ rescue ::Gapic::Rest::Error => e
1550
+ raise ::Google::Cloud::Error.from_error(e)
1551
+ end
1552
+
1553
+ ##
1554
+ # Creates a named space. Spaces grouped by topics aren't supported. For an
1555
+ # example, see [Create a
1556
+ # space](https://developers.google.com/workspace/chat/create-spaces).
1557
+ #
1558
+ # If you receive the error message `ALREADY_EXISTS` when creating
1559
+ # a space, try a different `displayName`. An existing space within
1560
+ # the Google Workspace organization might already use this display name.
1561
+ #
1562
+ # Requires [user
1563
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
1564
+ #
1565
+ # @overload create_space(request, options = nil)
1566
+ # Pass arguments to `create_space` via a request object, either of type
1567
+ # {::Google::Apps::Chat::V1::CreateSpaceRequest} or an equivalent Hash.
1568
+ #
1569
+ # @param request [::Google::Apps::Chat::V1::CreateSpaceRequest, ::Hash]
1570
+ # A request object representing the call parameters. Required. To specify no
1571
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1572
+ # @param options [::Gapic::CallOptions, ::Hash]
1573
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1574
+ #
1575
+ # @overload create_space(space: nil, request_id: nil)
1576
+ # Pass arguments to `create_space` via keyword arguments. Note that at
1577
+ # least one keyword argument is required. To specify no parameters, or to keep all
1578
+ # the default parameter values, pass an empty Hash as a request object (see above).
1579
+ #
1580
+ # @param space [::Google::Apps::Chat::V1::Space, ::Hash]
1581
+ # Required. The `displayName` and `spaceType` fields must be populated. Only
1582
+ # `SpaceType.SPACE` is supported.
1583
+ #
1584
+ # If you receive the error message `ALREADY_EXISTS` when creating a space,
1585
+ # try a different `displayName`. An existing space within the Google
1586
+ # Workspace organization might already use this display name.
1587
+ #
1588
+ # The space `name` is assigned on the server so anything specified in this
1589
+ # field will be ignored.
1590
+ # @param request_id [::String]
1591
+ # Optional. A unique identifier for this request.
1592
+ # A random UUID is recommended.
1593
+ # Specifying an existing request ID returns the space created with that ID
1594
+ # instead of creating a new space.
1595
+ # Specifying an existing request ID from the same Chat app with a different
1596
+ # authenticated user returns an error.
1597
+ # @yield [result, operation] Access the result along with the TransportOperation object
1598
+ # @yieldparam result [::Google::Apps::Chat::V1::Space]
1599
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1600
+ #
1601
+ # @return [::Google::Apps::Chat::V1::Space]
1602
+ #
1603
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1604
+ #
1605
+ # @example Basic example
1606
+ # require "google/apps/chat/v1"
1607
+ #
1608
+ # # Create a client object. The client can be reused for multiple calls.
1609
+ # client = Google::Apps::Chat::V1::ChatService::Rest::Client.new
1610
+ #
1611
+ # # Create a request. To set request fields, pass in keyword arguments.
1612
+ # request = Google::Apps::Chat::V1::CreateSpaceRequest.new
1613
+ #
1614
+ # # Call the create_space method.
1615
+ # result = client.create_space request
1616
+ #
1617
+ # # The returned object is of type Google::Apps::Chat::V1::Space.
1618
+ # p result
1619
+ #
1620
+ def create_space request, options = nil
1621
+ raise ::ArgumentError, "request must be provided" if request.nil?
1622
+
1623
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::CreateSpaceRequest
1624
+
1625
+ # Converts hash and nil to an options object
1626
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1627
+
1628
+ # Customize the options with defaults
1629
+ call_metadata = @config.rpcs.create_space.metadata.to_h
1630
+
1631
+ # Set x-goog-api-client and x-goog-user-project headers
1632
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1633
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1634
+ gapic_version: ::Google::Apps::Chat::V1::VERSION,
1635
+ transports_version_send: [:rest]
1636
+
1637
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1638
+
1639
+ options.apply_defaults timeout: @config.rpcs.create_space.timeout,
1640
+ metadata: call_metadata,
1641
+ retry_policy: @config.rpcs.create_space.retry_policy
1642
+
1643
+ options.apply_defaults timeout: @config.timeout,
1644
+ metadata: @config.metadata,
1645
+ retry_policy: @config.retry_policy
1646
+
1647
+ @chat_service_stub.create_space request, options do |result, operation|
1648
+ yield result, operation if block_given?
1649
+ return result
1650
+ end
1651
+ rescue ::Gapic::Rest::Error => e
1652
+ raise ::Google::Cloud::Error.from_error(e)
1653
+ end
1654
+
1655
+ ##
1656
+ # Creates a space and adds specified users to it. The calling user is
1657
+ # automatically added to the space, and shouldn't be specified as a
1658
+ # membership in the request. For an example, see
1659
+ # [Set up a space with initial
1660
+ # members](https://developers.google.com/workspace/chat/set-up-spaces).
1661
+ #
1662
+ # To specify the human members to add, add memberships with the appropriate
1663
+ # `member.name` in the `SetUpSpaceRequest`. To add a human user, use
1664
+ # `users/{user}`, where `{user}` can be the email address for the user. For
1665
+ # users in the same Workspace organization `{user}` can also be the `id` for
1666
+ # the person from the People API, or the `id` for the user in the Directory
1667
+ # API. For example, if the People API Person profile ID for
1668
+ # `user@example.com` is `123456789`, you can add the user to the space by
1669
+ # setting the `membership.member.name` to `users/user@example.com` or
1670
+ # `users/123456789`.
1671
+ #
1672
+ # For a space or group chat, if the caller blocks or is blocked by some
1673
+ # members, then those members aren't added to the created space.
1674
+ #
1675
+ # To create a direct message (DM) between the calling user and another human
1676
+ # user, specify exactly one membership to represent the human user. If
1677
+ # one user blocks the other, the request fails and the DM isn't created.
1678
+ #
1679
+ # To create a DM between the calling user and the calling app, set
1680
+ # `Space.singleUserBotDm` to `true` and don't specify any memberships. You
1681
+ # can only use this method to set up a DM with the calling app. To add the
1682
+ # calling app as a member of a space or an existing DM between two human
1683
+ # users, see
1684
+ # [Invite or add a user or app to a
1685
+ # space](https://developers.google.com/workspace/chat/create-members).
1686
+ #
1687
+ # If a DM already exists between two users, even when one user blocks the
1688
+ # other at the time a request is made, then the existing DM is returned.
1689
+ #
1690
+ # Spaces with threaded replies aren't supported. If you receive the error
1691
+ # message `ALREADY_EXISTS` when setting up a space, try a different
1692
+ # `displayName`. An existing space within the Google Workspace organization
1693
+ # might already use this display name.
1694
+ #
1695
+ # Requires [user
1696
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
1697
+ #
1698
+ # @overload set_up_space(request, options = nil)
1699
+ # Pass arguments to `set_up_space` via a request object, either of type
1700
+ # {::Google::Apps::Chat::V1::SetUpSpaceRequest} or an equivalent Hash.
1701
+ #
1702
+ # @param request [::Google::Apps::Chat::V1::SetUpSpaceRequest, ::Hash]
1703
+ # A request object representing the call parameters. Required. To specify no
1704
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1705
+ # @param options [::Gapic::CallOptions, ::Hash]
1706
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1707
+ #
1708
+ # @overload set_up_space(space: nil, request_id: nil, memberships: nil)
1709
+ # Pass arguments to `set_up_space` via keyword arguments. Note that at
1710
+ # least one keyword argument is required. To specify no parameters, or to keep all
1711
+ # the default parameter values, pass an empty Hash as a request object (see above).
1712
+ #
1713
+ # @param space [::Google::Apps::Chat::V1::Space, ::Hash]
1714
+ # Required. The `Space.spaceType` field is required.
1715
+ #
1716
+ # To create a space, set `Space.spaceType` to `SPACE` and set
1717
+ # `Space.displayName`. If you receive the error message `ALREADY_EXISTS` when
1718
+ # setting up a space, try a different `displayName`. An existing space
1719
+ # within the Google Workspace organization might already use this display
1720
+ # name.
1721
+ #
1722
+ # To create a group chat, set `Space.spaceType` to
1723
+ # `GROUP_CHAT`. Don't set `Space.displayName`.
1724
+ #
1725
+ # To create a 1:1 conversation between humans,
1726
+ # set `Space.spaceType` to `DIRECT_MESSAGE` and set
1727
+ # `Space.singleUserBotDm` to `false`. Don't set `Space.displayName` or
1728
+ # `Space.spaceDetails`.
1729
+ #
1730
+ # To create an 1:1 conversation between a human and the calling Chat app, set
1731
+ # `Space.spaceType` to `DIRECT_MESSAGE` and
1732
+ # `Space.singleUserBotDm` to `true`. Don't set `Space.displayName` or
1733
+ # `Space.spaceDetails`.
1734
+ #
1735
+ # If a `DIRECT_MESSAGE` space already exists, that space is returned instead
1736
+ # of creating a new space.
1737
+ # @param request_id [::String]
1738
+ # Optional. A unique identifier for this request.
1739
+ # A random UUID is recommended.
1740
+ # Specifying an existing request ID returns the space created with that ID
1741
+ # instead of creating a new space.
1742
+ # Specifying an existing request ID from the same Chat app with a different
1743
+ # authenticated user returns an error.
1744
+ # @param memberships [::Array<::Google::Apps::Chat::V1::Membership, ::Hash>]
1745
+ # Optional. The Google Chat users to invite to join the space. Omit the
1746
+ # calling user, as they are added automatically.
1747
+ #
1748
+ # The set currently allows up to 20 memberships (in addition to the caller).
1749
+ #
1750
+ # The `Membership.member` field must contain a `user` with `name` populated
1751
+ # (format: `users/{user}`) and `type` set to `User.Type.HUMAN`. You can only
1752
+ # add human users when setting up a space (adding Chat apps is only supported
1753
+ # for direct message setup with the calling app). You can also add members
1754
+ # using the user's email as an alias for \\{user}. For example, the `user.name`
1755
+ # can be `users/example@gmail.com`." To invite Gmail users or users from
1756
+ # external Google Workspace domains, user's email must be used for
1757
+ # `{user}`.
1758
+ #
1759
+ # Optional when setting `Space.spaceType` to `SPACE`.
1760
+ #
1761
+ # Required when setting `Space.spaceType` to `GROUP_CHAT`, along with at
1762
+ # least two memberships.
1763
+ #
1764
+ # Required when setting `Space.spaceType` to `DIRECT_MESSAGE` with a human
1765
+ # user, along with exactly one membership.
1766
+ #
1767
+ # Must be empty when creating a 1:1 conversation between a human and the
1768
+ # calling Chat app (when setting `Space.spaceType` to
1769
+ # `DIRECT_MESSAGE` and `Space.singleUserBotDm` to `true`).
1770
+ # @yield [result, operation] Access the result along with the TransportOperation object
1771
+ # @yieldparam result [::Google::Apps::Chat::V1::Space]
1772
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1773
+ #
1774
+ # @return [::Google::Apps::Chat::V1::Space]
1775
+ #
1776
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1777
+ #
1778
+ # @example Basic example
1779
+ # require "google/apps/chat/v1"
1780
+ #
1781
+ # # Create a client object. The client can be reused for multiple calls.
1782
+ # client = Google::Apps::Chat::V1::ChatService::Rest::Client.new
1783
+ #
1784
+ # # Create a request. To set request fields, pass in keyword arguments.
1785
+ # request = Google::Apps::Chat::V1::SetUpSpaceRequest.new
1786
+ #
1787
+ # # Call the set_up_space method.
1788
+ # result = client.set_up_space request
1789
+ #
1790
+ # # The returned object is of type Google::Apps::Chat::V1::Space.
1791
+ # p result
1792
+ #
1793
+ def set_up_space request, options = nil
1794
+ raise ::ArgumentError, "request must be provided" if request.nil?
1795
+
1796
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::SetUpSpaceRequest
1797
+
1798
+ # Converts hash and nil to an options object
1799
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1800
+
1801
+ # Customize the options with defaults
1802
+ call_metadata = @config.rpcs.set_up_space.metadata.to_h
1803
+
1804
+ # Set x-goog-api-client and x-goog-user-project headers
1805
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1806
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1807
+ gapic_version: ::Google::Apps::Chat::V1::VERSION,
1808
+ transports_version_send: [:rest]
1809
+
1810
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1811
+
1812
+ options.apply_defaults timeout: @config.rpcs.set_up_space.timeout,
1813
+ metadata: call_metadata,
1814
+ retry_policy: @config.rpcs.set_up_space.retry_policy
1815
+
1816
+ options.apply_defaults timeout: @config.timeout,
1817
+ metadata: @config.metadata,
1818
+ retry_policy: @config.retry_policy
1819
+
1820
+ @chat_service_stub.set_up_space request, options do |result, operation|
1821
+ yield result, operation if block_given?
1822
+ return result
1823
+ end
1824
+ rescue ::Gapic::Rest::Error => e
1825
+ raise ::Google::Cloud::Error.from_error(e)
1826
+ end
1827
+
1828
+ ##
1829
+ # Updates a space. For an example, see
1830
+ # [Update a
1831
+ # space](https://developers.google.com/workspace/chat/update-spaces).
1832
+ #
1833
+ # If you're updating the `displayName` field and receive the error message
1834
+ # `ALREADY_EXISTS`, try a different display name.. An existing space within
1835
+ # the Google Workspace organization might already use this display name.
1836
+ #
1837
+ # Requires [user
1838
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
1839
+ #
1840
+ # @overload update_space(request, options = nil)
1841
+ # Pass arguments to `update_space` via a request object, either of type
1842
+ # {::Google::Apps::Chat::V1::UpdateSpaceRequest} or an equivalent Hash.
1843
+ #
1844
+ # @param request [::Google::Apps::Chat::V1::UpdateSpaceRequest, ::Hash]
1845
+ # A request object representing the call parameters. Required. To specify no
1846
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1847
+ # @param options [::Gapic::CallOptions, ::Hash]
1848
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1849
+ #
1850
+ # @overload update_space(space: nil, update_mask: nil)
1851
+ # Pass arguments to `update_space` via keyword arguments. Note that at
1852
+ # least one keyword argument is required. To specify no parameters, or to keep all
1853
+ # the default parameter values, pass an empty Hash as a request object (see above).
1854
+ #
1855
+ # @param space [::Google::Apps::Chat::V1::Space, ::Hash]
1856
+ # Required. Space with fields to be updated. `Space.name` must be
1857
+ # populated in the form of `spaces/{space}`. Only fields
1858
+ # specified by `update_mask` are updated.
1859
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
1860
+ # Required. The updated field paths, comma separated if there are
1861
+ # multiple.
1862
+ #
1863
+ # Currently supported field paths:
1864
+ #
1865
+ # - `display_name` (Only supports changing the display name of a space with
1866
+ # the `SPACE` type, or when also including the `space_type` mask to change a
1867
+ # `GROUP_CHAT` space type to `SPACE`. Trying to update the display name of a
1868
+ # `GROUP_CHAT` or a `DIRECT_MESSAGE` space results in an invalid argument
1869
+ # error. If you receive the error message `ALREADY_EXISTS` when updating the
1870
+ # `displayName`, try a different `displayName`. An existing space within the
1871
+ # Google Workspace organization might already use this display name.)
1872
+ #
1873
+ # - `space_type` (Only supports changing a `GROUP_CHAT` space type to
1874
+ # `SPACE`. Include `display_name` together
1875
+ # with `space_type` in the update mask and ensure that the specified space
1876
+ # has a non-empty display name and the `SPACE` space type. Including the
1877
+ # `space_type` mask and the `SPACE` type in the specified space when updating
1878
+ # the display name is optional if the existing space already has the `SPACE`
1879
+ # type. Trying to update the space type in other ways results in an invalid
1880
+ # argument error).
1881
+ #
1882
+ # - `space_details`
1883
+ #
1884
+ # - `space_history_state` (Supports [turning history on or off for the
1885
+ # space](https://support.google.com/chat/answer/7664687) if [the organization
1886
+ # allows users to change their history
1887
+ # setting](https://support.google.com/a/answer/7664184).
1888
+ # Warning: mutually exclusive with all other field paths.)
1889
+ #
1890
+ # - Developer Preview: `access_settings.audience` (Supports changing the
1891
+ # [access setting](https://support.google.com/chat/answer/11971020) of a
1892
+ # space. If no audience is specified in the access setting, the space's
1893
+ # access setting is updated to restricted. Warning: mutually exclusive with
1894
+ # all other field paths.)
1895
+ # @yield [result, operation] Access the result along with the TransportOperation object
1896
+ # @yieldparam result [::Google::Apps::Chat::V1::Space]
1897
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1898
+ #
1899
+ # @return [::Google::Apps::Chat::V1::Space]
1900
+ #
1901
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1902
+ #
1903
+ # @example Basic example
1904
+ # require "google/apps/chat/v1"
1905
+ #
1906
+ # # Create a client object. The client can be reused for multiple calls.
1907
+ # client = Google::Apps::Chat::V1::ChatService::Rest::Client.new
1908
+ #
1909
+ # # Create a request. To set request fields, pass in keyword arguments.
1910
+ # request = Google::Apps::Chat::V1::UpdateSpaceRequest.new
1911
+ #
1912
+ # # Call the update_space method.
1913
+ # result = client.update_space request
1914
+ #
1915
+ # # The returned object is of type Google::Apps::Chat::V1::Space.
1916
+ # p result
1917
+ #
1918
+ def update_space request, options = nil
1919
+ raise ::ArgumentError, "request must be provided" if request.nil?
1920
+
1921
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::UpdateSpaceRequest
1922
+
1923
+ # Converts hash and nil to an options object
1924
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1925
+
1926
+ # Customize the options with defaults
1927
+ call_metadata = @config.rpcs.update_space.metadata.to_h
1928
+
1929
+ # Set x-goog-api-client and x-goog-user-project headers
1930
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1931
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1932
+ gapic_version: ::Google::Apps::Chat::V1::VERSION,
1933
+ transports_version_send: [:rest]
1934
+
1935
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1936
+
1937
+ options.apply_defaults timeout: @config.rpcs.update_space.timeout,
1938
+ metadata: call_metadata,
1939
+ retry_policy: @config.rpcs.update_space.retry_policy
1940
+
1941
+ options.apply_defaults timeout: @config.timeout,
1942
+ metadata: @config.metadata,
1943
+ retry_policy: @config.retry_policy
1944
+
1945
+ @chat_service_stub.update_space request, options do |result, operation|
1946
+ yield result, operation if block_given?
1947
+ return result
1948
+ end
1949
+ rescue ::Gapic::Rest::Error => e
1950
+ raise ::Google::Cloud::Error.from_error(e)
1951
+ end
1952
+
1953
+ ##
1954
+ # Deletes a named space. Always performs a cascading delete, which means
1955
+ # that the space's child resources—like messages posted in the space and
1956
+ # memberships in the space—are also deleted. For an example, see
1957
+ # [Delete a
1958
+ # space](https://developers.google.com/workspace/chat/delete-spaces).
1959
+ # Requires [user
1960
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
1961
+ # from a user who has permission to delete the space.
1962
+ #
1963
+ # @overload delete_space(request, options = nil)
1964
+ # Pass arguments to `delete_space` via a request object, either of type
1965
+ # {::Google::Apps::Chat::V1::DeleteSpaceRequest} or an equivalent Hash.
1966
+ #
1967
+ # @param request [::Google::Apps::Chat::V1::DeleteSpaceRequest, ::Hash]
1968
+ # A request object representing the call parameters. Required. To specify no
1969
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1970
+ # @param options [::Gapic::CallOptions, ::Hash]
1971
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1972
+ #
1973
+ # @overload delete_space(name: nil)
1974
+ # Pass arguments to `delete_space` via keyword arguments. Note that at
1975
+ # least one keyword argument is required. To specify no parameters, or to keep all
1976
+ # the default parameter values, pass an empty Hash as a request object (see above).
1977
+ #
1978
+ # @param name [::String]
1979
+ # Required. Resource name of the space to delete.
1980
+ #
1981
+ # Format: `spaces/{space}`
1982
+ # @yield [result, operation] Access the result along with the TransportOperation object
1983
+ # @yieldparam result [::Google::Protobuf::Empty]
1984
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
1985
+ #
1986
+ # @return [::Google::Protobuf::Empty]
1987
+ #
1988
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
1989
+ #
1990
+ # @example Basic example
1991
+ # require "google/apps/chat/v1"
1992
+ #
1993
+ # # Create a client object. The client can be reused for multiple calls.
1994
+ # client = Google::Apps::Chat::V1::ChatService::Rest::Client.new
1995
+ #
1996
+ # # Create a request. To set request fields, pass in keyword arguments.
1997
+ # request = Google::Apps::Chat::V1::DeleteSpaceRequest.new
1998
+ #
1999
+ # # Call the delete_space method.
2000
+ # result = client.delete_space request
2001
+ #
2002
+ # # The returned object is of type Google::Protobuf::Empty.
2003
+ # p result
2004
+ #
2005
+ def delete_space request, options = nil
2006
+ raise ::ArgumentError, "request must be provided" if request.nil?
2007
+
2008
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::DeleteSpaceRequest
2009
+
2010
+ # Converts hash and nil to an options object
2011
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2012
+
2013
+ # Customize the options with defaults
2014
+ call_metadata = @config.rpcs.delete_space.metadata.to_h
2015
+
2016
+ # Set x-goog-api-client and x-goog-user-project headers
2017
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2018
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2019
+ gapic_version: ::Google::Apps::Chat::V1::VERSION,
2020
+ transports_version_send: [:rest]
2021
+
2022
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2023
+
2024
+ options.apply_defaults timeout: @config.rpcs.delete_space.timeout,
2025
+ metadata: call_metadata,
2026
+ retry_policy: @config.rpcs.delete_space.retry_policy
2027
+
2028
+ options.apply_defaults timeout: @config.timeout,
2029
+ metadata: @config.metadata,
2030
+ retry_policy: @config.retry_policy
2031
+
2032
+ @chat_service_stub.delete_space request, options do |result, operation|
2033
+ yield result, operation if block_given?
2034
+ return result
2035
+ end
2036
+ rescue ::Gapic::Rest::Error => e
2037
+ raise ::Google::Cloud::Error.from_error(e)
2038
+ end
2039
+
2040
+ ##
2041
+ # Completes the
2042
+ # [import process](https://developers.google.com/workspace/chat/import-data)
2043
+ # for the specified space and makes it visible to users.
2044
+ # Requires app authentication and domain-wide delegation. For more
2045
+ # information, see [Authorize Google Chat apps to import
2046
+ # data](https://developers.google.com/workspace/chat/authorize-import).
2047
+ #
2048
+ # @overload complete_import_space(request, options = nil)
2049
+ # Pass arguments to `complete_import_space` via a request object, either of type
2050
+ # {::Google::Apps::Chat::V1::CompleteImportSpaceRequest} or an equivalent Hash.
2051
+ #
2052
+ # @param request [::Google::Apps::Chat::V1::CompleteImportSpaceRequest, ::Hash]
2053
+ # A request object representing the call parameters. Required. To specify no
2054
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2055
+ # @param options [::Gapic::CallOptions, ::Hash]
2056
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
2057
+ #
2058
+ # @overload complete_import_space(name: nil)
2059
+ # Pass arguments to `complete_import_space` via keyword arguments. Note that at
2060
+ # least one keyword argument is required. To specify no parameters, or to keep all
2061
+ # the default parameter values, pass an empty Hash as a request object (see above).
2062
+ #
2063
+ # @param name [::String]
2064
+ # Required. Resource name of the import mode space.
2065
+ #
2066
+ # Format: `spaces/{space}`
2067
+ # @yield [result, operation] Access the result along with the TransportOperation object
2068
+ # @yieldparam result [::Google::Apps::Chat::V1::CompleteImportSpaceResponse]
2069
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
2070
+ #
2071
+ # @return [::Google::Apps::Chat::V1::CompleteImportSpaceResponse]
2072
+ #
2073
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
2074
+ #
2075
+ # @example Basic example
2076
+ # require "google/apps/chat/v1"
2077
+ #
2078
+ # # Create a client object. The client can be reused for multiple calls.
2079
+ # client = Google::Apps::Chat::V1::ChatService::Rest::Client.new
2080
+ #
2081
+ # # Create a request. To set request fields, pass in keyword arguments.
2082
+ # request = Google::Apps::Chat::V1::CompleteImportSpaceRequest.new
2083
+ #
2084
+ # # Call the complete_import_space method.
2085
+ # result = client.complete_import_space request
2086
+ #
2087
+ # # The returned object is of type Google::Apps::Chat::V1::CompleteImportSpaceResponse.
2088
+ # p result
2089
+ #
2090
+ def complete_import_space request, options = nil
2091
+ raise ::ArgumentError, "request must be provided" if request.nil?
2092
+
2093
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::CompleteImportSpaceRequest
2094
+
2095
+ # Converts hash and nil to an options object
2096
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2097
+
2098
+ # Customize the options with defaults
2099
+ call_metadata = @config.rpcs.complete_import_space.metadata.to_h
2100
+
2101
+ # Set x-goog-api-client and x-goog-user-project headers
2102
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2103
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2104
+ gapic_version: ::Google::Apps::Chat::V1::VERSION,
2105
+ transports_version_send: [:rest]
2106
+
2107
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2108
+
2109
+ options.apply_defaults timeout: @config.rpcs.complete_import_space.timeout,
2110
+ metadata: call_metadata,
2111
+ retry_policy: @config.rpcs.complete_import_space.retry_policy
2112
+
2113
+ options.apply_defaults timeout: @config.timeout,
2114
+ metadata: @config.metadata,
2115
+ retry_policy: @config.retry_policy
2116
+
2117
+ @chat_service_stub.complete_import_space request, options do |result, operation|
2118
+ yield result, operation if block_given?
2119
+ return result
2120
+ end
2121
+ rescue ::Gapic::Rest::Error => e
2122
+ raise ::Google::Cloud::Error.from_error(e)
2123
+ end
2124
+
2125
+ ##
2126
+ # Returns the existing direct message with the specified user. If no direct
2127
+ # message space is found, returns a `404 NOT_FOUND` error. For an example,
2128
+ # see
2129
+ # [Find a direct message](/chat/api/guides/v1/spaces/find-direct-message).
2130
+ #
2131
+ # With [user
2132
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user),
2133
+ # returns the direct message space between the specified user and the
2134
+ # authenticated user.
2135
+ #
2136
+ # With [app
2137
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app),
2138
+ # returns the direct message space between the specified user and the calling
2139
+ # Chat app.
2140
+ #
2141
+ # Requires [user
2142
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
2143
+ # or [app
2144
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).
2145
+ #
2146
+ # @overload find_direct_message(request, options = nil)
2147
+ # Pass arguments to `find_direct_message` via a request object, either of type
2148
+ # {::Google::Apps::Chat::V1::FindDirectMessageRequest} or an equivalent Hash.
2149
+ #
2150
+ # @param request [::Google::Apps::Chat::V1::FindDirectMessageRequest, ::Hash]
2151
+ # A request object representing the call parameters. Required. To specify no
2152
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2153
+ # @param options [::Gapic::CallOptions, ::Hash]
2154
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
2155
+ #
2156
+ # @overload find_direct_message(name: nil)
2157
+ # Pass arguments to `find_direct_message` via keyword arguments. Note that at
2158
+ # least one keyword argument is required. To specify no parameters, or to keep all
2159
+ # the default parameter values, pass an empty Hash as a request object (see above).
2160
+ #
2161
+ # @param name [::String]
2162
+ # Required. Resource name of the user to find direct message with.
2163
+ #
2164
+ # Format: `users/{user}`, where `{user}` is either the `id` for the
2165
+ # [person](https://developers.google.com/people/api/rest/v1/people) from the
2166
+ # People API, or the `id` for the
2167
+ # [user](https://developers.google.com/admin-sdk/directory/reference/rest/v1/users)
2168
+ # in the Directory API. For example, if the People API profile ID is
2169
+ # `123456789`, you can find a direct message with that person by using
2170
+ # `users/123456789` as the `name`. When [authenticated as a
2171
+ # user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user),
2172
+ # you can use the email as an alias for `{user}`. For example,
2173
+ # `users/example@gmail.com` where `example@gmail.com` is the email of the
2174
+ # Google Chat user.
2175
+ # @yield [result, operation] Access the result along with the TransportOperation object
2176
+ # @yieldparam result [::Google::Apps::Chat::V1::Space]
2177
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
2178
+ #
2179
+ # @return [::Google::Apps::Chat::V1::Space]
2180
+ #
2181
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
2182
+ #
2183
+ # @example Basic example
2184
+ # require "google/apps/chat/v1"
2185
+ #
2186
+ # # Create a client object. The client can be reused for multiple calls.
2187
+ # client = Google::Apps::Chat::V1::ChatService::Rest::Client.new
2188
+ #
2189
+ # # Create a request. To set request fields, pass in keyword arguments.
2190
+ # request = Google::Apps::Chat::V1::FindDirectMessageRequest.new
2191
+ #
2192
+ # # Call the find_direct_message method.
2193
+ # result = client.find_direct_message request
2194
+ #
2195
+ # # The returned object is of type Google::Apps::Chat::V1::Space.
2196
+ # p result
2197
+ #
2198
+ def find_direct_message request, options = nil
2199
+ raise ::ArgumentError, "request must be provided" if request.nil?
2200
+
2201
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::FindDirectMessageRequest
2202
+
2203
+ # Converts hash and nil to an options object
2204
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2205
+
2206
+ # Customize the options with defaults
2207
+ call_metadata = @config.rpcs.find_direct_message.metadata.to_h
2208
+
2209
+ # Set x-goog-api-client and x-goog-user-project headers
2210
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2211
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2212
+ gapic_version: ::Google::Apps::Chat::V1::VERSION,
2213
+ transports_version_send: [:rest]
2214
+
2215
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2216
+
2217
+ options.apply_defaults timeout: @config.rpcs.find_direct_message.timeout,
2218
+ metadata: call_metadata,
2219
+ retry_policy: @config.rpcs.find_direct_message.retry_policy
2220
+
2221
+ options.apply_defaults timeout: @config.timeout,
2222
+ metadata: @config.metadata,
2223
+ retry_policy: @config.retry_policy
2224
+
2225
+ @chat_service_stub.find_direct_message request, options do |result, operation|
2226
+ yield result, operation if block_given?
2227
+ return result
2228
+ end
2229
+ rescue ::Gapic::Rest::Error => e
2230
+ raise ::Google::Cloud::Error.from_error(e)
2231
+ end
2232
+
2233
+ ##
2234
+ # Creates a human membership or app membership for the calling app. Creating
2235
+ # memberships for other apps isn't supported. For an example, see
2236
+ # [Invite or add a user or a Google Chat app to a
2237
+ # space](https://developers.google.com/workspace/chat/create-members).
2238
+ # When creating a membership, if the specified member has their auto-accept
2239
+ # policy turned off, then they're invited, and must accept the space
2240
+ # invitation before joining. Otherwise, creating a membership adds the member
2241
+ # directly to the specified space. Requires [user
2242
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
2243
+ #
2244
+ # To specify the member to add, set the `membership.member.name` in the
2245
+ # `CreateMembershipRequest`:
2246
+ #
2247
+ # - To add the calling app to a space or a direct message between two human
2248
+ # users, use `users/app`. Unable to add other
2249
+ # apps to the space.
2250
+ #
2251
+ # - To add a human user, use `users/{user}`, where `{user}` can be the email
2252
+ # address for the user. For users in the same Workspace organization `{user}`
2253
+ # can also be the `id` for the person from the People API, or the `id` for
2254
+ # the user in the Directory API. For example, if the People API Person
2255
+ # profile ID for `user@example.com` is `123456789`, you can add the user to
2256
+ # the space by setting the `membership.member.name` to
2257
+ # `users/user@example.com` or `users/123456789`.
2258
+ #
2259
+ # @overload create_membership(request, options = nil)
2260
+ # Pass arguments to `create_membership` via a request object, either of type
2261
+ # {::Google::Apps::Chat::V1::CreateMembershipRequest} or an equivalent Hash.
2262
+ #
2263
+ # @param request [::Google::Apps::Chat::V1::CreateMembershipRequest, ::Hash]
2264
+ # A request object representing the call parameters. Required. To specify no
2265
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2266
+ # @param options [::Gapic::CallOptions, ::Hash]
2267
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
2268
+ #
2269
+ # @overload create_membership(parent: nil, membership: nil)
2270
+ # Pass arguments to `create_membership` via keyword arguments. Note that at
2271
+ # least one keyword argument is required. To specify no parameters, or to keep all
2272
+ # the default parameter values, pass an empty Hash as a request object (see above).
2273
+ #
2274
+ # @param parent [::String]
2275
+ # Required. The resource name of the space for which to create the
2276
+ # membership.
2277
+ #
2278
+ # Format: spaces/\\{space}
2279
+ # @param membership [::Google::Apps::Chat::V1::Membership, ::Hash]
2280
+ # Required. The membership relation to create.
2281
+ # The `memberType` field must contain a user with the `user.name` and
2282
+ # `user.type` fields populated. The server will assign a resource name
2283
+ # and overwrite anything specified.
2284
+ # When a Chat app creates a membership relation for a human user, it must use
2285
+ # the `chat.memberships` scope, set `user.type` to `HUMAN`, and set
2286
+ # `user.name` with format `users/{user}`, where `{user}` can be the email
2287
+ # address for the user. For users in the same Workspace organization `{user}`
2288
+ # can also be the `id` of the
2289
+ # [person](https://developers.google.com/people/api/rest/v1/people) from the
2290
+ # People API, or the `id` for the user in the Directory API. For example, if
2291
+ # the People API Person profile ID for `user@example.com` is `123456789`, you
2292
+ # can add the user to the space by setting the `membership.member.name` to
2293
+ # `users/user@example.com` or `users/123456789`. When a Chat app creates a
2294
+ # membership relation for itself, it must use the `chat.memberships.app`
2295
+ # scope, set `user.type` to `BOT`, and set `user.name` to `users/app`.
2296
+ # @yield [result, operation] Access the result along with the TransportOperation object
2297
+ # @yieldparam result [::Google::Apps::Chat::V1::Membership]
2298
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
2299
+ #
2300
+ # @return [::Google::Apps::Chat::V1::Membership]
2301
+ #
2302
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
2303
+ #
2304
+ # @example Basic example
2305
+ # require "google/apps/chat/v1"
2306
+ #
2307
+ # # Create a client object. The client can be reused for multiple calls.
2308
+ # client = Google::Apps::Chat::V1::ChatService::Rest::Client.new
2309
+ #
2310
+ # # Create a request. To set request fields, pass in keyword arguments.
2311
+ # request = Google::Apps::Chat::V1::CreateMembershipRequest.new
2312
+ #
2313
+ # # Call the create_membership method.
2314
+ # result = client.create_membership request
2315
+ #
2316
+ # # The returned object is of type Google::Apps::Chat::V1::Membership.
2317
+ # p result
2318
+ #
2319
+ def create_membership request, options = nil
2320
+ raise ::ArgumentError, "request must be provided" if request.nil?
2321
+
2322
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::CreateMembershipRequest
2323
+
2324
+ # Converts hash and nil to an options object
2325
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2326
+
2327
+ # Customize the options with defaults
2328
+ call_metadata = @config.rpcs.create_membership.metadata.to_h
2329
+
2330
+ # Set x-goog-api-client and x-goog-user-project headers
2331
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2332
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2333
+ gapic_version: ::Google::Apps::Chat::V1::VERSION,
2334
+ transports_version_send: [:rest]
2335
+
2336
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2337
+
2338
+ options.apply_defaults timeout: @config.rpcs.create_membership.timeout,
2339
+ metadata: call_metadata,
2340
+ retry_policy: @config.rpcs.create_membership.retry_policy
2341
+
2342
+ options.apply_defaults timeout: @config.timeout,
2343
+ metadata: @config.metadata,
2344
+ retry_policy: @config.retry_policy
2345
+
2346
+ @chat_service_stub.create_membership request, options do |result, operation|
2347
+ yield result, operation if block_given?
2348
+ return result
2349
+ end
2350
+ rescue ::Gapic::Rest::Error => e
2351
+ raise ::Google::Cloud::Error.from_error(e)
2352
+ end
2353
+
2354
+ ##
2355
+ # Updates a membership. Requires [user
2356
+ # authentication](https://developers.google.com/chat/api/guides/auth/users).
2357
+ #
2358
+ # @overload update_membership(request, options = nil)
2359
+ # Pass arguments to `update_membership` via a request object, either of type
2360
+ # {::Google::Apps::Chat::V1::UpdateMembershipRequest} or an equivalent Hash.
2361
+ #
2362
+ # @param request [::Google::Apps::Chat::V1::UpdateMembershipRequest, ::Hash]
2363
+ # A request object representing the call parameters. Required. To specify no
2364
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2365
+ # @param options [::Gapic::CallOptions, ::Hash]
2366
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
2367
+ #
2368
+ # @overload update_membership(membership: nil, update_mask: nil)
2369
+ # Pass arguments to `update_membership` via keyword arguments. Note that at
2370
+ # least one keyword argument is required. To specify no parameters, or to keep all
2371
+ # the default parameter values, pass an empty Hash as a request object (see above).
2372
+ #
2373
+ # @param membership [::Google::Apps::Chat::V1::Membership, ::Hash]
2374
+ # Required. The membership to update. Only fields specified by `update_mask`
2375
+ # are updated.
2376
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
2377
+ # Required. The field paths to update. Separate multiple values with commas
2378
+ # or use `*` to update all field paths.
2379
+ #
2380
+ # Currently supported field paths:
2381
+ #
2382
+ # - `role`
2383
+ # @yield [result, operation] Access the result along with the TransportOperation object
2384
+ # @yieldparam result [::Google::Apps::Chat::V1::Membership]
2385
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
2386
+ #
2387
+ # @return [::Google::Apps::Chat::V1::Membership]
2388
+ #
2389
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
2390
+ #
2391
+ # @example Basic example
2392
+ # require "google/apps/chat/v1"
2393
+ #
2394
+ # # Create a client object. The client can be reused for multiple calls.
2395
+ # client = Google::Apps::Chat::V1::ChatService::Rest::Client.new
2396
+ #
2397
+ # # Create a request. To set request fields, pass in keyword arguments.
2398
+ # request = Google::Apps::Chat::V1::UpdateMembershipRequest.new
2399
+ #
2400
+ # # Call the update_membership method.
2401
+ # result = client.update_membership request
2402
+ #
2403
+ # # The returned object is of type Google::Apps::Chat::V1::Membership.
2404
+ # p result
2405
+ #
2406
+ def update_membership request, options = nil
2407
+ raise ::ArgumentError, "request must be provided" if request.nil?
2408
+
2409
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::UpdateMembershipRequest
2410
+
2411
+ # Converts hash and nil to an options object
2412
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2413
+
2414
+ # Customize the options with defaults
2415
+ call_metadata = @config.rpcs.update_membership.metadata.to_h
2416
+
2417
+ # Set x-goog-api-client and x-goog-user-project headers
2418
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2419
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2420
+ gapic_version: ::Google::Apps::Chat::V1::VERSION,
2421
+ transports_version_send: [:rest]
2422
+
2423
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2424
+
2425
+ options.apply_defaults timeout: @config.rpcs.update_membership.timeout,
2426
+ metadata: call_metadata,
2427
+ retry_policy: @config.rpcs.update_membership.retry_policy
2428
+
2429
+ options.apply_defaults timeout: @config.timeout,
2430
+ metadata: @config.metadata,
2431
+ retry_policy: @config.retry_policy
2432
+
2433
+ @chat_service_stub.update_membership request, options do |result, operation|
2434
+ yield result, operation if block_given?
2435
+ return result
2436
+ end
2437
+ rescue ::Gapic::Rest::Error => e
2438
+ raise ::Google::Cloud::Error.from_error(e)
2439
+ end
2440
+
2441
+ ##
2442
+ # Deletes a membership. For an example, see
2443
+ # [Remove a user or a Google Chat app from a
2444
+ # space](https://developers.google.com/workspace/chat/delete-members).
2445
+ #
2446
+ # Requires [user
2447
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
2448
+ #
2449
+ # @overload delete_membership(request, options = nil)
2450
+ # Pass arguments to `delete_membership` via a request object, either of type
2451
+ # {::Google::Apps::Chat::V1::DeleteMembershipRequest} or an equivalent Hash.
2452
+ #
2453
+ # @param request [::Google::Apps::Chat::V1::DeleteMembershipRequest, ::Hash]
2454
+ # A request object representing the call parameters. Required. To specify no
2455
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2456
+ # @param options [::Gapic::CallOptions, ::Hash]
2457
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
2458
+ #
2459
+ # @overload delete_membership(name: nil)
2460
+ # Pass arguments to `delete_membership` via keyword arguments. Note that at
2461
+ # least one keyword argument is required. To specify no parameters, or to keep all
2462
+ # the default parameter values, pass an empty Hash as a request object (see above).
2463
+ #
2464
+ # @param name [::String]
2465
+ # Required. Resource name of the membership to delete. Chat apps can delete
2466
+ # human users' or their own memberships. Chat apps can't delete other apps'
2467
+ # memberships.
2468
+ #
2469
+ # When deleting a human membership, requires the `chat.memberships` scope and
2470
+ # `spaces/{space}/members/{member}` format. You can use the email as an
2471
+ # alias for `{member}`. For example,
2472
+ # `spaces/{space}/members/example@gmail.com` where `example@gmail.com` is the
2473
+ # email of the Google Chat user.
2474
+ #
2475
+ # When deleting an app membership, requires the `chat.memberships.app` scope
2476
+ # and `spaces/{space}/members/app` format.
2477
+ #
2478
+ # Format: `spaces/{space}/members/{member}` or `spaces/{space}/members/app`.
2479
+ # @yield [result, operation] Access the result along with the TransportOperation object
2480
+ # @yieldparam result [::Google::Apps::Chat::V1::Membership]
2481
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
2482
+ #
2483
+ # @return [::Google::Apps::Chat::V1::Membership]
2484
+ #
2485
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
2486
+ #
2487
+ # @example Basic example
2488
+ # require "google/apps/chat/v1"
2489
+ #
2490
+ # # Create a client object. The client can be reused for multiple calls.
2491
+ # client = Google::Apps::Chat::V1::ChatService::Rest::Client.new
2492
+ #
2493
+ # # Create a request. To set request fields, pass in keyword arguments.
2494
+ # request = Google::Apps::Chat::V1::DeleteMembershipRequest.new
2495
+ #
2496
+ # # Call the delete_membership method.
2497
+ # result = client.delete_membership request
2498
+ #
2499
+ # # The returned object is of type Google::Apps::Chat::V1::Membership.
2500
+ # p result
2501
+ #
2502
+ def delete_membership request, options = nil
2503
+ raise ::ArgumentError, "request must be provided" if request.nil?
2504
+
2505
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::DeleteMembershipRequest
2506
+
2507
+ # Converts hash and nil to an options object
2508
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2509
+
2510
+ # Customize the options with defaults
2511
+ call_metadata = @config.rpcs.delete_membership.metadata.to_h
2512
+
2513
+ # Set x-goog-api-client and x-goog-user-project headers
2514
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2515
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2516
+ gapic_version: ::Google::Apps::Chat::V1::VERSION,
2517
+ transports_version_send: [:rest]
2518
+
2519
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2520
+
2521
+ options.apply_defaults timeout: @config.rpcs.delete_membership.timeout,
2522
+ metadata: call_metadata,
2523
+ retry_policy: @config.rpcs.delete_membership.retry_policy
2524
+
2525
+ options.apply_defaults timeout: @config.timeout,
2526
+ metadata: @config.metadata,
2527
+ retry_policy: @config.retry_policy
2528
+
2529
+ @chat_service_stub.delete_membership request, options do |result, operation|
2530
+ yield result, operation if block_given?
2531
+ return result
2532
+ end
2533
+ rescue ::Gapic::Rest::Error => e
2534
+ raise ::Google::Cloud::Error.from_error(e)
2535
+ end
2536
+
2537
+ ##
2538
+ # Creates a reaction and adds it to a message. Only unicode emojis are
2539
+ # supported. For an example, see
2540
+ # [Add a reaction to a
2541
+ # message](https://developers.google.com/workspace/chat/create-reactions).
2542
+ # Requires [user
2543
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
2544
+ #
2545
+ # @overload create_reaction(request, options = nil)
2546
+ # Pass arguments to `create_reaction` via a request object, either of type
2547
+ # {::Google::Apps::Chat::V1::CreateReactionRequest} or an equivalent Hash.
2548
+ #
2549
+ # @param request [::Google::Apps::Chat::V1::CreateReactionRequest, ::Hash]
2550
+ # A request object representing the call parameters. Required. To specify no
2551
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2552
+ # @param options [::Gapic::CallOptions, ::Hash]
2553
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
2554
+ #
2555
+ # @overload create_reaction(parent: nil, reaction: nil)
2556
+ # Pass arguments to `create_reaction` via keyword arguments. Note that at
2557
+ # least one keyword argument is required. To specify no parameters, or to keep all
2558
+ # the default parameter values, pass an empty Hash as a request object (see above).
2559
+ #
2560
+ # @param parent [::String]
2561
+ # Required. The message where the reaction is created.
2562
+ #
2563
+ # Format: `spaces/{space}/messages/{message}`
2564
+ # @param reaction [::Google::Apps::Chat::V1::Reaction, ::Hash]
2565
+ # Required. The reaction to create.
2566
+ # @yield [result, operation] Access the result along with the TransportOperation object
2567
+ # @yieldparam result [::Google::Apps::Chat::V1::Reaction]
2568
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
2569
+ #
2570
+ # @return [::Google::Apps::Chat::V1::Reaction]
2571
+ #
2572
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
2573
+ #
2574
+ # @example Basic example
2575
+ # require "google/apps/chat/v1"
2576
+ #
2577
+ # # Create a client object. The client can be reused for multiple calls.
2578
+ # client = Google::Apps::Chat::V1::ChatService::Rest::Client.new
2579
+ #
2580
+ # # Create a request. To set request fields, pass in keyword arguments.
2581
+ # request = Google::Apps::Chat::V1::CreateReactionRequest.new
2582
+ #
2583
+ # # Call the create_reaction method.
2584
+ # result = client.create_reaction request
2585
+ #
2586
+ # # The returned object is of type Google::Apps::Chat::V1::Reaction.
2587
+ # p result
2588
+ #
2589
+ def create_reaction request, options = nil
2590
+ raise ::ArgumentError, "request must be provided" if request.nil?
2591
+
2592
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::CreateReactionRequest
2593
+
2594
+ # Converts hash and nil to an options object
2595
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2596
+
2597
+ # Customize the options with defaults
2598
+ call_metadata = @config.rpcs.create_reaction.metadata.to_h
2599
+
2600
+ # Set x-goog-api-client and x-goog-user-project headers
2601
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2602
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2603
+ gapic_version: ::Google::Apps::Chat::V1::VERSION,
2604
+ transports_version_send: [:rest]
2605
+
2606
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2607
+
2608
+ options.apply_defaults timeout: @config.rpcs.create_reaction.timeout,
2609
+ metadata: call_metadata,
2610
+ retry_policy: @config.rpcs.create_reaction.retry_policy
2611
+
2612
+ options.apply_defaults timeout: @config.timeout,
2613
+ metadata: @config.metadata,
2614
+ retry_policy: @config.retry_policy
2615
+
2616
+ @chat_service_stub.create_reaction request, options do |result, operation|
2617
+ yield result, operation if block_given?
2618
+ return result
2619
+ end
2620
+ rescue ::Gapic::Rest::Error => e
2621
+ raise ::Google::Cloud::Error.from_error(e)
2622
+ end
2623
+
2624
+ ##
2625
+ # Lists reactions to a message. For an example, see
2626
+ # [List reactions for a
2627
+ # message](https://developers.google.com/workspace/chat/list-reactions).
2628
+ # Requires [user
2629
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
2630
+ #
2631
+ # @overload list_reactions(request, options = nil)
2632
+ # Pass arguments to `list_reactions` via a request object, either of type
2633
+ # {::Google::Apps::Chat::V1::ListReactionsRequest} or an equivalent Hash.
2634
+ #
2635
+ # @param request [::Google::Apps::Chat::V1::ListReactionsRequest, ::Hash]
2636
+ # A request object representing the call parameters. Required. To specify no
2637
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2638
+ # @param options [::Gapic::CallOptions, ::Hash]
2639
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
2640
+ #
2641
+ # @overload list_reactions(parent: nil, page_size: nil, page_token: nil, filter: nil)
2642
+ # Pass arguments to `list_reactions` via keyword arguments. Note that at
2643
+ # least one keyword argument is required. To specify no parameters, or to keep all
2644
+ # the default parameter values, pass an empty Hash as a request object (see above).
2645
+ #
2646
+ # @param parent [::String]
2647
+ # Required. The message users reacted to.
2648
+ #
2649
+ # Format: `spaces/{space}/messages/{message}`
2650
+ # @param page_size [::Integer]
2651
+ # Optional. The maximum number of reactions returned. The service can return
2652
+ # fewer reactions than this value. If unspecified, the default value is 25.
2653
+ # The maximum value is 200; values above 200 are changed to 200.
2654
+ # @param page_token [::String]
2655
+ # Optional. (If resuming from a previous query.)
2656
+ #
2657
+ # A page token received from a previous list reactions call. Provide this
2658
+ # to retrieve the subsequent page.
2659
+ #
2660
+ # When paginating, the filter value should match the call that provided the
2661
+ # page token. Passing a different value might lead to unexpected results.
2662
+ # @param filter [::String]
2663
+ # Optional. A query filter.
2664
+ #
2665
+ # You can filter reactions by
2666
+ # [emoji](https://developers.google.com/workspace/chat/api/reference/rest/v1/Emoji)
2667
+ # (either `emoji.unicode` or `emoji.custom_emoji.uid`) and
2668
+ # [user](https://developers.google.com/workspace/chat/api/reference/rest/v1/User)
2669
+ # (`user.name`).
2670
+ #
2671
+ # To filter reactions for multiple emojis or users, join similar fields
2672
+ # with the `OR` operator, such as `emoji.unicode = "🙂" OR emoji.unicode =
2673
+ # "👍"` and `user.name = "users/AAAAAA" OR user.name = "users/BBBBBB"`.
2674
+ #
2675
+ # To filter reactions by emoji and user, use the `AND` operator, such as
2676
+ # `emoji.unicode = "🙂" AND user.name = "users/AAAAAA"`.
2677
+ #
2678
+ # If your query uses both `AND` and `OR`, group them with parentheses.
2679
+ #
2680
+ # For example, the following queries are valid:
2681
+ #
2682
+ # ```
2683
+ # user.name = "users/\\{user}"
2684
+ # emoji.unicode = "🙂"
2685
+ # emoji.custom_emoji.uid = "\\{uid}"
2686
+ # emoji.unicode = "🙂" OR emoji.unicode = "👍"
2687
+ # emoji.unicode = "🙂" OR emoji.custom_emoji.uid = "\\{uid}"
2688
+ # emoji.unicode = "🙂" AND user.name = "users/\\{user}"
2689
+ # (emoji.unicode = "🙂" OR emoji.custom_emoji.uid = "\\{uid}")
2690
+ # AND user.name = "users/\\{user}"
2691
+ # ```
2692
+ #
2693
+ # The following queries are invalid:
2694
+ #
2695
+ # ```
2696
+ # emoji.unicode = "🙂" AND emoji.unicode = "👍"
2697
+ # emoji.unicode = "🙂" AND emoji.custom_emoji.uid = "\\{uid}"
2698
+ # emoji.unicode = "🙂" OR user.name = "users/\\{user}"
2699
+ # emoji.unicode = "🙂" OR emoji.custom_emoji.uid = "\\{uid}" OR
2700
+ # user.name = "users/\\{user}"
2701
+ # emoji.unicode = "🙂" OR emoji.custom_emoji.uid = "\\{uid}"
2702
+ # AND user.name = "users/\\{user}"
2703
+ # ```
2704
+ #
2705
+ # Invalid queries are rejected by the server with an `INVALID_ARGUMENT`
2706
+ # error.
2707
+ # @yield [result, operation] Access the result along with the TransportOperation object
2708
+ # @yieldparam result [::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Reaction>]
2709
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
2710
+ #
2711
+ # @return [::Gapic::Rest::PagedEnumerable<::Google::Apps::Chat::V1::Reaction>]
2712
+ #
2713
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
2714
+ #
2715
+ # @example Basic example
2716
+ # require "google/apps/chat/v1"
2717
+ #
2718
+ # # Create a client object. The client can be reused for multiple calls.
2719
+ # client = Google::Apps::Chat::V1::ChatService::Rest::Client.new
2720
+ #
2721
+ # # Create a request. To set request fields, pass in keyword arguments.
2722
+ # request = Google::Apps::Chat::V1::ListReactionsRequest.new
2723
+ #
2724
+ # # Call the list_reactions method.
2725
+ # result = client.list_reactions request
2726
+ #
2727
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
2728
+ # # over elements, and API calls will be issued to fetch pages as needed.
2729
+ # result.each do |item|
2730
+ # # Each element is of type ::Google::Apps::Chat::V1::Reaction.
2731
+ # p item
2732
+ # end
2733
+ #
2734
+ def list_reactions request, options = nil
2735
+ raise ::ArgumentError, "request must be provided" if request.nil?
2736
+
2737
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::ListReactionsRequest
2738
+
2739
+ # Converts hash and nil to an options object
2740
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2741
+
2742
+ # Customize the options with defaults
2743
+ call_metadata = @config.rpcs.list_reactions.metadata.to_h
2744
+
2745
+ # Set x-goog-api-client and x-goog-user-project headers
2746
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2747
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2748
+ gapic_version: ::Google::Apps::Chat::V1::VERSION,
2749
+ transports_version_send: [:rest]
2750
+
2751
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2752
+
2753
+ options.apply_defaults timeout: @config.rpcs.list_reactions.timeout,
2754
+ metadata: call_metadata,
2755
+ retry_policy: @config.rpcs.list_reactions.retry_policy
2756
+
2757
+ options.apply_defaults timeout: @config.timeout,
2758
+ metadata: @config.metadata,
2759
+ retry_policy: @config.retry_policy
2760
+
2761
+ @chat_service_stub.list_reactions request, options do |result, operation|
2762
+ result = ::Gapic::Rest::PagedEnumerable.new @chat_service_stub, :list_reactions, "reactions", request, result, options
2763
+ yield result, operation if block_given?
2764
+ return result
2765
+ end
2766
+ rescue ::Gapic::Rest::Error => e
2767
+ raise ::Google::Cloud::Error.from_error(e)
2768
+ end
2769
+
2770
+ ##
2771
+ # Deletes a reaction to a message. Only unicode emojis are supported.
2772
+ # For an example, see
2773
+ # [Delete a
2774
+ # reaction](https://developers.google.com/workspace/chat/delete-reactions).
2775
+ # Requires [user
2776
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
2777
+ #
2778
+ # @overload delete_reaction(request, options = nil)
2779
+ # Pass arguments to `delete_reaction` via a request object, either of type
2780
+ # {::Google::Apps::Chat::V1::DeleteReactionRequest} or an equivalent Hash.
2781
+ #
2782
+ # @param request [::Google::Apps::Chat::V1::DeleteReactionRequest, ::Hash]
2783
+ # A request object representing the call parameters. Required. To specify no
2784
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2785
+ # @param options [::Gapic::CallOptions, ::Hash]
2786
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
2787
+ #
2788
+ # @overload delete_reaction(name: nil)
2789
+ # Pass arguments to `delete_reaction` via keyword arguments. Note that at
2790
+ # least one keyword argument is required. To specify no parameters, or to keep all
2791
+ # the default parameter values, pass an empty Hash as a request object (see above).
2792
+ #
2793
+ # @param name [::String]
2794
+ # Required. Name of the reaction to delete.
2795
+ #
2796
+ # Format: `spaces/{space}/messages/{message}/reactions/{reaction}`
2797
+ # @yield [result, operation] Access the result along with the TransportOperation object
2798
+ # @yieldparam result [::Google::Protobuf::Empty]
2799
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
2800
+ #
2801
+ # @return [::Google::Protobuf::Empty]
2802
+ #
2803
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
2804
+ #
2805
+ # @example Basic example
2806
+ # require "google/apps/chat/v1"
2807
+ #
2808
+ # # Create a client object. The client can be reused for multiple calls.
2809
+ # client = Google::Apps::Chat::V1::ChatService::Rest::Client.new
2810
+ #
2811
+ # # Create a request. To set request fields, pass in keyword arguments.
2812
+ # request = Google::Apps::Chat::V1::DeleteReactionRequest.new
2813
+ #
2814
+ # # Call the delete_reaction method.
2815
+ # result = client.delete_reaction request
2816
+ #
2817
+ # # The returned object is of type Google::Protobuf::Empty.
2818
+ # p result
2819
+ #
2820
+ def delete_reaction request, options = nil
2821
+ raise ::ArgumentError, "request must be provided" if request.nil?
2822
+
2823
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::DeleteReactionRequest
2824
+
2825
+ # Converts hash and nil to an options object
2826
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2827
+
2828
+ # Customize the options with defaults
2829
+ call_metadata = @config.rpcs.delete_reaction.metadata.to_h
2830
+
2831
+ # Set x-goog-api-client and x-goog-user-project headers
2832
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2833
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2834
+ gapic_version: ::Google::Apps::Chat::V1::VERSION,
2835
+ transports_version_send: [:rest]
2836
+
2837
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2838
+
2839
+ options.apply_defaults timeout: @config.rpcs.delete_reaction.timeout,
2840
+ metadata: call_metadata,
2841
+ retry_policy: @config.rpcs.delete_reaction.retry_policy
2842
+
2843
+ options.apply_defaults timeout: @config.timeout,
2844
+ metadata: @config.metadata,
2845
+ retry_policy: @config.retry_policy
2846
+
2847
+ @chat_service_stub.delete_reaction request, options do |result, operation|
2848
+ yield result, operation if block_given?
2849
+ return result
2850
+ end
2851
+ rescue ::Gapic::Rest::Error => e
2852
+ raise ::Google::Cloud::Error.from_error(e)
2853
+ end
2854
+
2855
+ ##
2856
+ # Returns details about a user's read state within a space, used to identify
2857
+ # read and unread messages.
2858
+ #
2859
+ # Requires [user
2860
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
2861
+ #
2862
+ # @overload get_space_read_state(request, options = nil)
2863
+ # Pass arguments to `get_space_read_state` via a request object, either of type
2864
+ # {::Google::Apps::Chat::V1::GetSpaceReadStateRequest} or an equivalent Hash.
2865
+ #
2866
+ # @param request [::Google::Apps::Chat::V1::GetSpaceReadStateRequest, ::Hash]
2867
+ # A request object representing the call parameters. Required. To specify no
2868
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2869
+ # @param options [::Gapic::CallOptions, ::Hash]
2870
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
2871
+ #
2872
+ # @overload get_space_read_state(name: nil)
2873
+ # Pass arguments to `get_space_read_state` via keyword arguments. Note that at
2874
+ # least one keyword argument is required. To specify no parameters, or to keep all
2875
+ # the default parameter values, pass an empty Hash as a request object (see above).
2876
+ #
2877
+ # @param name [::String]
2878
+ # Required. Resource name of the space read state to retrieve.
2879
+ #
2880
+ # Only supports getting read state for the calling user.
2881
+ #
2882
+ # To refer to the calling user, set one of the following:
2883
+ #
2884
+ # - The `me` alias. For example, `users/me/spaces/{space}/spaceReadState`.
2885
+ #
2886
+ # - Their Workspace email address. For example,
2887
+ # `users/user@example.com/spaces/{space}/spaceReadState`.
2888
+ #
2889
+ # - Their user id. For example,
2890
+ # `users/123456789/spaces/{space}/spaceReadState`.
2891
+ #
2892
+ # Format: users/\\{user}/spaces/\\{space}/spaceReadState
2893
+ # @yield [result, operation] Access the result along with the TransportOperation object
2894
+ # @yieldparam result [::Google::Apps::Chat::V1::SpaceReadState]
2895
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
2896
+ #
2897
+ # @return [::Google::Apps::Chat::V1::SpaceReadState]
2898
+ #
2899
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
2900
+ #
2901
+ # @example Basic example
2902
+ # require "google/apps/chat/v1"
2903
+ #
2904
+ # # Create a client object. The client can be reused for multiple calls.
2905
+ # client = Google::Apps::Chat::V1::ChatService::Rest::Client.new
2906
+ #
2907
+ # # Create a request. To set request fields, pass in keyword arguments.
2908
+ # request = Google::Apps::Chat::V1::GetSpaceReadStateRequest.new
2909
+ #
2910
+ # # Call the get_space_read_state method.
2911
+ # result = client.get_space_read_state request
2912
+ #
2913
+ # # The returned object is of type Google::Apps::Chat::V1::SpaceReadState.
2914
+ # p result
2915
+ #
2916
+ def get_space_read_state request, options = nil
2917
+ raise ::ArgumentError, "request must be provided" if request.nil?
2918
+
2919
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::GetSpaceReadStateRequest
2920
+
2921
+ # Converts hash and nil to an options object
2922
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2923
+
2924
+ # Customize the options with defaults
2925
+ call_metadata = @config.rpcs.get_space_read_state.metadata.to_h
2926
+
2927
+ # Set x-goog-api-client and x-goog-user-project headers
2928
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2929
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2930
+ gapic_version: ::Google::Apps::Chat::V1::VERSION,
2931
+ transports_version_send: [:rest]
2932
+
2933
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2934
+
2935
+ options.apply_defaults timeout: @config.rpcs.get_space_read_state.timeout,
2936
+ metadata: call_metadata,
2937
+ retry_policy: @config.rpcs.get_space_read_state.retry_policy
2938
+
2939
+ options.apply_defaults timeout: @config.timeout,
2940
+ metadata: @config.metadata,
2941
+ retry_policy: @config.retry_policy
2942
+
2943
+ @chat_service_stub.get_space_read_state request, options do |result, operation|
2944
+ yield result, operation if block_given?
2945
+ return result
2946
+ end
2947
+ rescue ::Gapic::Rest::Error => e
2948
+ raise ::Google::Cloud::Error.from_error(e)
2949
+ end
2950
+
2951
+ ##
2952
+ # Updates a user's read state within a space, used to identify read and
2953
+ # unread messages.
2954
+ #
2955
+ # Requires [user
2956
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
2957
+ #
2958
+ # @overload update_space_read_state(request, options = nil)
2959
+ # Pass arguments to `update_space_read_state` via a request object, either of type
2960
+ # {::Google::Apps::Chat::V1::UpdateSpaceReadStateRequest} or an equivalent Hash.
2961
+ #
2962
+ # @param request [::Google::Apps::Chat::V1::UpdateSpaceReadStateRequest, ::Hash]
2963
+ # A request object representing the call parameters. Required. To specify no
2964
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2965
+ # @param options [::Gapic::CallOptions, ::Hash]
2966
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
2967
+ #
2968
+ # @overload update_space_read_state(space_read_state: nil, update_mask: nil)
2969
+ # Pass arguments to `update_space_read_state` via keyword arguments. Note that at
2970
+ # least one keyword argument is required. To specify no parameters, or to keep all
2971
+ # the default parameter values, pass an empty Hash as a request object (see above).
2972
+ #
2973
+ # @param space_read_state [::Google::Apps::Chat::V1::SpaceReadState, ::Hash]
2974
+ # Required. The space read state and fields to update.
2975
+ #
2976
+ # Only supports updating read state for the calling user.
2977
+ #
2978
+ # To refer to the calling user, set one of the following:
2979
+ #
2980
+ # - The `me` alias. For example, `users/me/spaces/{space}/spaceReadState`.
2981
+ #
2982
+ # - Their Workspace email address. For example,
2983
+ # `users/user@example.com/spaces/{space}/spaceReadState`.
2984
+ #
2985
+ # - Their user id. For example,
2986
+ # `users/123456789/spaces/{space}/spaceReadState`.
2987
+ #
2988
+ # Format: users/\\{user}/spaces/\\{space}/spaceReadState
2989
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
2990
+ # Required. The field paths to update. Currently supported field paths:
2991
+ #
2992
+ # - `last_read_time`
2993
+ #
2994
+ # When the `last_read_time` is before the latest message create time, the
2995
+ # space appears as unread in the UI.
2996
+ #
2997
+ # To mark the space as read, set `last_read_time` to any value later (larger)
2998
+ # than the latest message create time. The `last_read_time` is coerced to
2999
+ # match the latest message create time. Note that the space read state only
3000
+ # affects the read state of messages that are visible in the space's
3001
+ # top-level conversation. Replies in threads are unaffected by this
3002
+ # timestamp, and instead rely on the thread read state.
3003
+ # @yield [result, operation] Access the result along with the TransportOperation object
3004
+ # @yieldparam result [::Google::Apps::Chat::V1::SpaceReadState]
3005
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
3006
+ #
3007
+ # @return [::Google::Apps::Chat::V1::SpaceReadState]
3008
+ #
3009
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
3010
+ #
3011
+ # @example Basic example
3012
+ # require "google/apps/chat/v1"
3013
+ #
3014
+ # # Create a client object. The client can be reused for multiple calls.
3015
+ # client = Google::Apps::Chat::V1::ChatService::Rest::Client.new
3016
+ #
3017
+ # # Create a request. To set request fields, pass in keyword arguments.
3018
+ # request = Google::Apps::Chat::V1::UpdateSpaceReadStateRequest.new
3019
+ #
3020
+ # # Call the update_space_read_state method.
3021
+ # result = client.update_space_read_state request
3022
+ #
3023
+ # # The returned object is of type Google::Apps::Chat::V1::SpaceReadState.
3024
+ # p result
3025
+ #
3026
+ def update_space_read_state request, options = nil
3027
+ raise ::ArgumentError, "request must be provided" if request.nil?
3028
+
3029
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::UpdateSpaceReadStateRequest
3030
+
3031
+ # Converts hash and nil to an options object
3032
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
3033
+
3034
+ # Customize the options with defaults
3035
+ call_metadata = @config.rpcs.update_space_read_state.metadata.to_h
3036
+
3037
+ # Set x-goog-api-client and x-goog-user-project headers
3038
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
3039
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
3040
+ gapic_version: ::Google::Apps::Chat::V1::VERSION,
3041
+ transports_version_send: [:rest]
3042
+
3043
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
3044
+
3045
+ options.apply_defaults timeout: @config.rpcs.update_space_read_state.timeout,
3046
+ metadata: call_metadata,
3047
+ retry_policy: @config.rpcs.update_space_read_state.retry_policy
3048
+
3049
+ options.apply_defaults timeout: @config.timeout,
3050
+ metadata: @config.metadata,
3051
+ retry_policy: @config.retry_policy
3052
+
3053
+ @chat_service_stub.update_space_read_state request, options do |result, operation|
3054
+ yield result, operation if block_given?
3055
+ return result
3056
+ end
3057
+ rescue ::Gapic::Rest::Error => e
3058
+ raise ::Google::Cloud::Error.from_error(e)
3059
+ end
3060
+
3061
+ ##
3062
+ # Returns details about a user's read state within a thread, used to identify
3063
+ # read and unread messages.
3064
+ #
3065
+ # Requires [user
3066
+ # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
3067
+ #
3068
+ # @overload get_thread_read_state(request, options = nil)
3069
+ # Pass arguments to `get_thread_read_state` via a request object, either of type
3070
+ # {::Google::Apps::Chat::V1::GetThreadReadStateRequest} or an equivalent Hash.
3071
+ #
3072
+ # @param request [::Google::Apps::Chat::V1::GetThreadReadStateRequest, ::Hash]
3073
+ # A request object representing the call parameters. Required. To specify no
3074
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
3075
+ # @param options [::Gapic::CallOptions, ::Hash]
3076
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
3077
+ #
3078
+ # @overload get_thread_read_state(name: nil)
3079
+ # Pass arguments to `get_thread_read_state` via keyword arguments. Note that at
3080
+ # least one keyword argument is required. To specify no parameters, or to keep all
3081
+ # the default parameter values, pass an empty Hash as a request object (see above).
3082
+ #
3083
+ # @param name [::String]
3084
+ # Required. Resource name of the thread read state to retrieve.
3085
+ #
3086
+ # Only supports getting read state for the calling user.
3087
+ #
3088
+ # To refer to the calling user, set one of the following:
3089
+ #
3090
+ # - The `me` alias. For example,
3091
+ # `users/me/spaces/{space}/threads/{thread}/threadReadState`.
3092
+ #
3093
+ # - Their Workspace email address. For example,
3094
+ # `users/user@example.com/spaces/{space}/threads/{thread}/threadReadState`.
3095
+ #
3096
+ # - Their user id. For example,
3097
+ # `users/123456789/spaces/{space}/threads/{thread}/threadReadState`.
3098
+ #
3099
+ # Format: users/\\{user}/spaces/\\{space}/threads/\\{thread}/threadReadState
3100
+ # @yield [result, operation] Access the result along with the TransportOperation object
3101
+ # @yieldparam result [::Google::Apps::Chat::V1::ThreadReadState]
3102
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
3103
+ #
3104
+ # @return [::Google::Apps::Chat::V1::ThreadReadState]
3105
+ #
3106
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
3107
+ #
3108
+ # @example Basic example
3109
+ # require "google/apps/chat/v1"
3110
+ #
3111
+ # # Create a client object. The client can be reused for multiple calls.
3112
+ # client = Google::Apps::Chat::V1::ChatService::Rest::Client.new
3113
+ #
3114
+ # # Create a request. To set request fields, pass in keyword arguments.
3115
+ # request = Google::Apps::Chat::V1::GetThreadReadStateRequest.new
3116
+ #
3117
+ # # Call the get_thread_read_state method.
3118
+ # result = client.get_thread_read_state request
3119
+ #
3120
+ # # The returned object is of type Google::Apps::Chat::V1::ThreadReadState.
3121
+ # p result
3122
+ #
3123
+ def get_thread_read_state request, options = nil
3124
+ raise ::ArgumentError, "request must be provided" if request.nil?
3125
+
3126
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Apps::Chat::V1::GetThreadReadStateRequest
3127
+
3128
+ # Converts hash and nil to an options object
3129
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
3130
+
3131
+ # Customize the options with defaults
3132
+ call_metadata = @config.rpcs.get_thread_read_state.metadata.to_h
3133
+
3134
+ # Set x-goog-api-client and x-goog-user-project headers
3135
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
3136
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
3137
+ gapic_version: ::Google::Apps::Chat::V1::VERSION,
3138
+ transports_version_send: [:rest]
3139
+
3140
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
3141
+
3142
+ options.apply_defaults timeout: @config.rpcs.get_thread_read_state.timeout,
3143
+ metadata: call_metadata,
3144
+ retry_policy: @config.rpcs.get_thread_read_state.retry_policy
3145
+
3146
+ options.apply_defaults timeout: @config.timeout,
3147
+ metadata: @config.metadata,
3148
+ retry_policy: @config.retry_policy
3149
+
3150
+ @chat_service_stub.get_thread_read_state request, options do |result, operation|
3151
+ yield result, operation if block_given?
3152
+ return result
3153
+ end
3154
+ rescue ::Gapic::Rest::Error => e
3155
+ raise ::Google::Cloud::Error.from_error(e)
3156
+ end
3157
+
3158
+ ##
3159
+ # Configuration class for the ChatService REST API.
3160
+ #
3161
+ # This class represents the configuration for ChatService REST,
3162
+ # providing control over timeouts, retry behavior, logging, transport
3163
+ # parameters, and other low-level controls. Certain parameters can also be
3164
+ # applied individually to specific RPCs. See
3165
+ # {::Google::Apps::Chat::V1::ChatService::Rest::Client::Configuration::Rpcs}
3166
+ # for a list of RPCs that can be configured independently.
3167
+ #
3168
+ # Configuration can be applied globally to all clients, or to a single client
3169
+ # on construction.
3170
+ #
3171
+ # @example
3172
+ #
3173
+ # # Modify the global config, setting the timeout for
3174
+ # # create_message to 20 seconds,
3175
+ # # and all remaining timeouts to 10 seconds.
3176
+ # ::Google::Apps::Chat::V1::ChatService::Rest::Client.configure do |config|
3177
+ # config.timeout = 10.0
3178
+ # config.rpcs.create_message.timeout = 20.0
3179
+ # end
3180
+ #
3181
+ # # Apply the above configuration only to a new client.
3182
+ # client = ::Google::Apps::Chat::V1::ChatService::Rest::Client.new do |config|
3183
+ # config.timeout = 10.0
3184
+ # config.rpcs.create_message.timeout = 20.0
3185
+ # end
3186
+ #
3187
+ # @!attribute [rw] endpoint
3188
+ # A custom service endpoint, as a hostname or hostname:port. The default is
3189
+ # nil, indicating to use the default endpoint in the current universe domain.
3190
+ # @return [::String,nil]
3191
+ # @!attribute [rw] credentials
3192
+ # Credentials to send with calls. You may provide any of the following types:
3193
+ # * (`String`) The path to a service account key file in JSON format
3194
+ # * (`Hash`) A service account key as a Hash
3195
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
3196
+ # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
3197
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
3198
+ # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
3199
+ # * (`nil`) indicating no credentials
3200
+ # @return [::Object]
3201
+ # @!attribute [rw] scope
3202
+ # The OAuth scopes
3203
+ # @return [::Array<::String>]
3204
+ # @!attribute [rw] lib_name
3205
+ # The library name as recorded in instrumentation and logging
3206
+ # @return [::String]
3207
+ # @!attribute [rw] lib_version
3208
+ # The library version as recorded in instrumentation and logging
3209
+ # @return [::String]
3210
+ # @!attribute [rw] timeout
3211
+ # The call timeout in seconds.
3212
+ # @return [::Numeric]
3213
+ # @!attribute [rw] metadata
3214
+ # Additional headers to be sent with the call.
3215
+ # @return [::Hash{::Symbol=>::String}]
3216
+ # @!attribute [rw] retry_policy
3217
+ # The retry policy. The value is a hash with the following keys:
3218
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
3219
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
3220
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
3221
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
3222
+ # trigger a retry.
3223
+ # @return [::Hash]
3224
+ # @!attribute [rw] quota_project
3225
+ # A separate project against which to charge quota.
3226
+ # @return [::String]
3227
+ # @!attribute [rw] universe_domain
3228
+ # The universe domain within which to make requests. This determines the
3229
+ # default endpoint URL. The default value of nil uses the environment
3230
+ # universe (usually the default "googleapis.com" universe).
3231
+ # @return [::String,nil]
3232
+ #
3233
+ class Configuration
3234
+ extend ::Gapic::Config
3235
+
3236
+ # @private
3237
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
3238
+ DEFAULT_ENDPOINT = "chat.googleapis.com"
3239
+
3240
+ config_attr :endpoint, nil, ::String, nil
3241
+ config_attr :credentials, nil do |value|
3242
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
3243
+ allowed.any? { |klass| klass === value }
3244
+ end
3245
+ config_attr :scope, nil, ::String, ::Array, nil
3246
+ config_attr :lib_name, nil, ::String, nil
3247
+ config_attr :lib_version, nil, ::String, nil
3248
+ config_attr :timeout, nil, ::Numeric, nil
3249
+ config_attr :metadata, nil, ::Hash, nil
3250
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
3251
+ config_attr :quota_project, nil, ::String, nil
3252
+ config_attr :universe_domain, nil, ::String, nil
3253
+
3254
+ # @private
3255
+ def initialize parent_config = nil
3256
+ @parent_config = parent_config unless parent_config.nil?
3257
+
3258
+ yield self if block_given?
3259
+ end
3260
+
3261
+ ##
3262
+ # Configurations for individual RPCs
3263
+ # @return [Rpcs]
3264
+ #
3265
+ def rpcs
3266
+ @rpcs ||= begin
3267
+ parent_rpcs = nil
3268
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
3269
+ Rpcs.new parent_rpcs
3270
+ end
3271
+ end
3272
+
3273
+ ##
3274
+ # Configuration RPC class for the ChatService API.
3275
+ #
3276
+ # Includes fields providing the configuration for each RPC in this service.
3277
+ # Each configuration object is of type `Gapic::Config::Method` and includes
3278
+ # the following configuration fields:
3279
+ #
3280
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
3281
+ # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional headers
3282
+ # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
3283
+ # include the following keys:
3284
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
3285
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
3286
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
3287
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
3288
+ # trigger a retry.
3289
+ #
3290
+ class Rpcs
3291
+ ##
3292
+ # RPC-specific configuration for `create_message`
3293
+ # @return [::Gapic::Config::Method]
3294
+ #
3295
+ attr_reader :create_message
3296
+ ##
3297
+ # RPC-specific configuration for `list_messages`
3298
+ # @return [::Gapic::Config::Method]
3299
+ #
3300
+ attr_reader :list_messages
3301
+ ##
3302
+ # RPC-specific configuration for `list_memberships`
3303
+ # @return [::Gapic::Config::Method]
3304
+ #
3305
+ attr_reader :list_memberships
3306
+ ##
3307
+ # RPC-specific configuration for `get_membership`
3308
+ # @return [::Gapic::Config::Method]
3309
+ #
3310
+ attr_reader :get_membership
3311
+ ##
3312
+ # RPC-specific configuration for `get_message`
3313
+ # @return [::Gapic::Config::Method]
3314
+ #
3315
+ attr_reader :get_message
3316
+ ##
3317
+ # RPC-specific configuration for `update_message`
3318
+ # @return [::Gapic::Config::Method]
3319
+ #
3320
+ attr_reader :update_message
3321
+ ##
3322
+ # RPC-specific configuration for `delete_message`
3323
+ # @return [::Gapic::Config::Method]
3324
+ #
3325
+ attr_reader :delete_message
3326
+ ##
3327
+ # RPC-specific configuration for `get_attachment`
3328
+ # @return [::Gapic::Config::Method]
3329
+ #
3330
+ attr_reader :get_attachment
3331
+ ##
3332
+ # RPC-specific configuration for `upload_attachment`
3333
+ # @return [::Gapic::Config::Method]
3334
+ #
3335
+ attr_reader :upload_attachment
3336
+ ##
3337
+ # RPC-specific configuration for `list_spaces`
3338
+ # @return [::Gapic::Config::Method]
3339
+ #
3340
+ attr_reader :list_spaces
3341
+ ##
3342
+ # RPC-specific configuration for `get_space`
3343
+ # @return [::Gapic::Config::Method]
3344
+ #
3345
+ attr_reader :get_space
3346
+ ##
3347
+ # RPC-specific configuration for `create_space`
3348
+ # @return [::Gapic::Config::Method]
3349
+ #
3350
+ attr_reader :create_space
3351
+ ##
3352
+ # RPC-specific configuration for `set_up_space`
3353
+ # @return [::Gapic::Config::Method]
3354
+ #
3355
+ attr_reader :set_up_space
3356
+ ##
3357
+ # RPC-specific configuration for `update_space`
3358
+ # @return [::Gapic::Config::Method]
3359
+ #
3360
+ attr_reader :update_space
3361
+ ##
3362
+ # RPC-specific configuration for `delete_space`
3363
+ # @return [::Gapic::Config::Method]
3364
+ #
3365
+ attr_reader :delete_space
3366
+ ##
3367
+ # RPC-specific configuration for `complete_import_space`
3368
+ # @return [::Gapic::Config::Method]
3369
+ #
3370
+ attr_reader :complete_import_space
3371
+ ##
3372
+ # RPC-specific configuration for `find_direct_message`
3373
+ # @return [::Gapic::Config::Method]
3374
+ #
3375
+ attr_reader :find_direct_message
3376
+ ##
3377
+ # RPC-specific configuration for `create_membership`
3378
+ # @return [::Gapic::Config::Method]
3379
+ #
3380
+ attr_reader :create_membership
3381
+ ##
3382
+ # RPC-specific configuration for `update_membership`
3383
+ # @return [::Gapic::Config::Method]
3384
+ #
3385
+ attr_reader :update_membership
3386
+ ##
3387
+ # RPC-specific configuration for `delete_membership`
3388
+ # @return [::Gapic::Config::Method]
3389
+ #
3390
+ attr_reader :delete_membership
3391
+ ##
3392
+ # RPC-specific configuration for `create_reaction`
3393
+ # @return [::Gapic::Config::Method]
3394
+ #
3395
+ attr_reader :create_reaction
3396
+ ##
3397
+ # RPC-specific configuration for `list_reactions`
3398
+ # @return [::Gapic::Config::Method]
3399
+ #
3400
+ attr_reader :list_reactions
3401
+ ##
3402
+ # RPC-specific configuration for `delete_reaction`
3403
+ # @return [::Gapic::Config::Method]
3404
+ #
3405
+ attr_reader :delete_reaction
3406
+ ##
3407
+ # RPC-specific configuration for `get_space_read_state`
3408
+ # @return [::Gapic::Config::Method]
3409
+ #
3410
+ attr_reader :get_space_read_state
3411
+ ##
3412
+ # RPC-specific configuration for `update_space_read_state`
3413
+ # @return [::Gapic::Config::Method]
3414
+ #
3415
+ attr_reader :update_space_read_state
3416
+ ##
3417
+ # RPC-specific configuration for `get_thread_read_state`
3418
+ # @return [::Gapic::Config::Method]
3419
+ #
3420
+ attr_reader :get_thread_read_state
3421
+
3422
+ # @private
3423
+ def initialize parent_rpcs = nil
3424
+ create_message_config = parent_rpcs.create_message if parent_rpcs.respond_to? :create_message
3425
+ @create_message = ::Gapic::Config::Method.new create_message_config
3426
+ list_messages_config = parent_rpcs.list_messages if parent_rpcs.respond_to? :list_messages
3427
+ @list_messages = ::Gapic::Config::Method.new list_messages_config
3428
+ list_memberships_config = parent_rpcs.list_memberships if parent_rpcs.respond_to? :list_memberships
3429
+ @list_memberships = ::Gapic::Config::Method.new list_memberships_config
3430
+ get_membership_config = parent_rpcs.get_membership if parent_rpcs.respond_to? :get_membership
3431
+ @get_membership = ::Gapic::Config::Method.new get_membership_config
3432
+ get_message_config = parent_rpcs.get_message if parent_rpcs.respond_to? :get_message
3433
+ @get_message = ::Gapic::Config::Method.new get_message_config
3434
+ update_message_config = parent_rpcs.update_message if parent_rpcs.respond_to? :update_message
3435
+ @update_message = ::Gapic::Config::Method.new update_message_config
3436
+ delete_message_config = parent_rpcs.delete_message if parent_rpcs.respond_to? :delete_message
3437
+ @delete_message = ::Gapic::Config::Method.new delete_message_config
3438
+ get_attachment_config = parent_rpcs.get_attachment if parent_rpcs.respond_to? :get_attachment
3439
+ @get_attachment = ::Gapic::Config::Method.new get_attachment_config
3440
+ upload_attachment_config = parent_rpcs.upload_attachment if parent_rpcs.respond_to? :upload_attachment
3441
+ @upload_attachment = ::Gapic::Config::Method.new upload_attachment_config
3442
+ list_spaces_config = parent_rpcs.list_spaces if parent_rpcs.respond_to? :list_spaces
3443
+ @list_spaces = ::Gapic::Config::Method.new list_spaces_config
3444
+ get_space_config = parent_rpcs.get_space if parent_rpcs.respond_to? :get_space
3445
+ @get_space = ::Gapic::Config::Method.new get_space_config
3446
+ create_space_config = parent_rpcs.create_space if parent_rpcs.respond_to? :create_space
3447
+ @create_space = ::Gapic::Config::Method.new create_space_config
3448
+ set_up_space_config = parent_rpcs.set_up_space if parent_rpcs.respond_to? :set_up_space
3449
+ @set_up_space = ::Gapic::Config::Method.new set_up_space_config
3450
+ update_space_config = parent_rpcs.update_space if parent_rpcs.respond_to? :update_space
3451
+ @update_space = ::Gapic::Config::Method.new update_space_config
3452
+ delete_space_config = parent_rpcs.delete_space if parent_rpcs.respond_to? :delete_space
3453
+ @delete_space = ::Gapic::Config::Method.new delete_space_config
3454
+ complete_import_space_config = parent_rpcs.complete_import_space if parent_rpcs.respond_to? :complete_import_space
3455
+ @complete_import_space = ::Gapic::Config::Method.new complete_import_space_config
3456
+ find_direct_message_config = parent_rpcs.find_direct_message if parent_rpcs.respond_to? :find_direct_message
3457
+ @find_direct_message = ::Gapic::Config::Method.new find_direct_message_config
3458
+ create_membership_config = parent_rpcs.create_membership if parent_rpcs.respond_to? :create_membership
3459
+ @create_membership = ::Gapic::Config::Method.new create_membership_config
3460
+ update_membership_config = parent_rpcs.update_membership if parent_rpcs.respond_to? :update_membership
3461
+ @update_membership = ::Gapic::Config::Method.new update_membership_config
3462
+ delete_membership_config = parent_rpcs.delete_membership if parent_rpcs.respond_to? :delete_membership
3463
+ @delete_membership = ::Gapic::Config::Method.new delete_membership_config
3464
+ create_reaction_config = parent_rpcs.create_reaction if parent_rpcs.respond_to? :create_reaction
3465
+ @create_reaction = ::Gapic::Config::Method.new create_reaction_config
3466
+ list_reactions_config = parent_rpcs.list_reactions if parent_rpcs.respond_to? :list_reactions
3467
+ @list_reactions = ::Gapic::Config::Method.new list_reactions_config
3468
+ delete_reaction_config = parent_rpcs.delete_reaction if parent_rpcs.respond_to? :delete_reaction
3469
+ @delete_reaction = ::Gapic::Config::Method.new delete_reaction_config
3470
+ get_space_read_state_config = parent_rpcs.get_space_read_state if parent_rpcs.respond_to? :get_space_read_state
3471
+ @get_space_read_state = ::Gapic::Config::Method.new get_space_read_state_config
3472
+ update_space_read_state_config = parent_rpcs.update_space_read_state if parent_rpcs.respond_to? :update_space_read_state
3473
+ @update_space_read_state = ::Gapic::Config::Method.new update_space_read_state_config
3474
+ get_thread_read_state_config = parent_rpcs.get_thread_read_state if parent_rpcs.respond_to? :get_thread_read_state
3475
+ @get_thread_read_state = ::Gapic::Config::Method.new get_thread_read_state_config
3476
+
3477
+ yield self if block_given?
3478
+ end
3479
+ end
3480
+ end
3481
+ end
3482
+ end
3483
+ end
3484
+ end
3485
+ end
3486
+ end
3487
+ end