Class: Google::Apps::Chat::V1::Space

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/chat/v1/space.rb

Overview

A space in Google Chat. Spaces are conversations between two or more users or 1:1 messages between a user and a Chat app.

Defined Under Namespace

Modules: PredefinedPermissionSettings, SpaceThreadingState, SpaceType, Type Classes: AccessSettings, MembershipCount, PermissionSetting, PermissionSettings, SpaceDetails

Instance Attribute Summary collapse

Instance Attribute Details

#access_settings::Google::Apps::Chat::V1::Space::AccessSettings

Returns Optional. Specifies the access setting of the space. Only populated when the space_type is SPACE.

Returns:



191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
# File 'proto_docs/google/chat/v1/space.rb', line 191

class Space
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Details about the space including description and rules.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A description of the space. For example, describe the space's
  #     discussion topic, functional purpose, or participants.
  #
  #     Supports up to 150 characters.
  # @!attribute [rw] guidelines
  #   @return [::String]
  #     Optional. The space's rules, expectations, and etiquette.
  #
  #     Supports up to 5,000 characters.
  class SpaceDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the count of memberships of a space, grouped into categories.
  # @!attribute [r] joined_direct_human_user_count
  #   @return [::Integer]
  #     Output only. Count of human users that have directly joined the space,
  #     not counting users joined by having membership in a joined group.
  # @!attribute [r] joined_group_count
  #   @return [::Integer]
  #     Output only. Count of all groups that have directly joined the space.
  class MembershipCount
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the [access
  # setting](https://support.google.com/chat/answer/11971020) of the space.
  # @!attribute [r] access_state
  #   @return [::Google::Apps::Chat::V1::Space::AccessSettings::AccessState]
  #     Output only. Indicates the access state of the space.
  # @!attribute [rw] audience
  #   @return [::String]
  #     Optional. The resource name of the [target
  #     audience](https://support.google.com/a/answer/9934697) who can discover
  #     the space, join the space, and preview the messages in the space. If
  #     unset, only users or Google Groups who have been individually invited or
  #     added to the space can access it. For details, see [Make a space
  #     discoverable to a target
  #     audience](https://developers.google.com/workspace/chat/space-target-audience).
  #
  #     Format: `audiences/{audience}`
  #
  #     To use the default target audience for the Google Workspace organization,
  #     set to `audiences/default`.
  #
  #     Reading the target audience supports:
  #
  #     - [User
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
  #
  #     - [App
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
  #     with [administrator
  #     approval](https://support.google.com/a?p=chat-app-auth)
  #     with the `chat.app.spaces` scope.
  #
  #     This field is not populated when using the `chat.bot` scope with [app
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).
  #
  #     Setting the target audience requires [user
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
  class AccessSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents the access state of the space.
    module AccessState
      # Access state is unknown or not supported in this API.
      ACCESS_STATE_UNSPECIFIED = 0

      # Only users or Google Groups that have been individually added or
      # invited by other users or Google Workspace administrators can discover
      # and access the space.
      PRIVATE = 1

      # A space manager has granted a target audience access to
      # the space. Users or Google Groups that have been individually added or
      # invited to the space can also discover and access the space. To learn
      # more, see [Make a space discoverable to specific
      # users](https://developers.google.com/workspace/chat/space-target-audience).
      #
      # Creating discoverable spaces requires [user
      # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
      DISCOVERABLE = 2
    end
  end

  # [Permission settings](https://support.google.com/chat/answer/13340792)
  # that you can specify when updating an existing named space.
  #
  # To set permission settings when creating a space, specify the
  # `PredefinedPermissionSettings` field in your request.
  # @!attribute [rw] manage_members_and_groups
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing members and groups in a space.
  # @!attribute [rw] modify_space_details
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for updating space name, avatar, description and
  #     guidelines.
  # @!attribute [rw] toggle_history
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for toggling space history on and off.
  # @!attribute [rw] use_at_mention_all
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for using @all in a space.
  # @!attribute [rw] manage_apps
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing apps in a space.
  # @!attribute [rw] manage_webhooks
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing webhooks in a space.
  # @!attribute [r] post_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Output only. Setting for posting messages in a space.
  # @!attribute [rw] reply_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for replying to messages in a space.
  class PermissionSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents a space permission setting.
  # @!attribute [rw] managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space owners
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MANAGER `ROLE_MANAGER`})
  #     have this permission.
  # @!attribute [rw] assistant_managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space managers
  #     {::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_ASSISTANT_MANAGER `ROLE_ASSISTANT_MANAGER`})
  #     have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether basic space members
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MEMBER `ROLE_MEMBER`})
  #     have this permission.
  class PermissionSetting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Deprecated: Use `SpaceType` instead.
  module Type
    # Reserved.
    TYPE_UNSPECIFIED = 0

    # Conversations between two or more humans.
    ROOM = 1

    # 1:1 Direct Message between a human and a Chat app, where all messages are
    # flat. Note that this doesn't include direct messages between two humans.
    DM = 2
  end

  # The type of space. Required when creating or updating a space. Output only
  # for other usage.
  module SpaceType
    # Reserved.
    SPACE_TYPE_UNSPECIFIED = 0

    # A place where people send messages, share files, and collaborate.
    # A `SPACE` can include Chat apps.
    SPACE = 1

    # Group conversations between 3 or more people.
    # A `GROUP_CHAT` can include Chat apps.
    GROUP_CHAT = 2

    # 1:1 messages between two humans or a human and a Chat app.
    DIRECT_MESSAGE = 3
  end

  # Specifies the type of threading state in the Chat space.
  module SpaceThreadingState
    # Reserved.
    SPACE_THREADING_STATE_UNSPECIFIED = 0

    # Named spaces that support message threads. When users respond to a
    # message, they can reply in-thread, which keeps their response in the
    # context of the original message.
    THREADED_MESSAGES = 2

    # Named spaces where the conversation is organized by topic. Topics and
    # their replies are grouped together.
    GROUPED_MESSAGES = 3

    # Direct messages (DMs) between two people and group conversations between
    # 3 or more people.
    UNTHREADED_MESSAGES = 4
  end

  # Predefined permission settings that you can only specify when creating a
  # named space. More settings might be added in the future.
  # For details about permission settings for named spaces, see [Learn about
  # spaces](https://support.google.com/chat/answer/7659784).
  module PredefinedPermissionSettings
    # Unspecified. Don't use.
    PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED = 0

    # Setting to make the space a collaboration space where all members can
    # post messages.
    COLLABORATION_SPACE = 1

    # Setting to make the space an announcement space where only space managers
    # can post messages.
    ANNOUNCEMENT_SPACE = 2
  end
end

#admin_installed::Boolean (readonly)

Returns Output only. For direct message (DM) spaces with a Chat app, whether the space was created by a Google Workspace administrator. Administrators can install and set up a direct message with a Chat app on behalf of users in their organization.

To support admin install, your Chat app must feature direct messaging.

Returns:

  • (::Boolean)

    Output only. For direct message (DM) spaces with a Chat app, whether the space was created by a Google Workspace administrator. Administrators can install and set up a direct message with a Chat app on behalf of users in their organization.

    To support admin install, your Chat app must feature direct messaging.



191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
# File 'proto_docs/google/chat/v1/space.rb', line 191

class Space
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Details about the space including description and rules.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A description of the space. For example, describe the space's
  #     discussion topic, functional purpose, or participants.
  #
  #     Supports up to 150 characters.
  # @!attribute [rw] guidelines
  #   @return [::String]
  #     Optional. The space's rules, expectations, and etiquette.
  #
  #     Supports up to 5,000 characters.
  class SpaceDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the count of memberships of a space, grouped into categories.
  # @!attribute [r] joined_direct_human_user_count
  #   @return [::Integer]
  #     Output only. Count of human users that have directly joined the space,
  #     not counting users joined by having membership in a joined group.
  # @!attribute [r] joined_group_count
  #   @return [::Integer]
  #     Output only. Count of all groups that have directly joined the space.
  class MembershipCount
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the [access
  # setting](https://support.google.com/chat/answer/11971020) of the space.
  # @!attribute [r] access_state
  #   @return [::Google::Apps::Chat::V1::Space::AccessSettings::AccessState]
  #     Output only. Indicates the access state of the space.
  # @!attribute [rw] audience
  #   @return [::String]
  #     Optional. The resource name of the [target
  #     audience](https://support.google.com/a/answer/9934697) who can discover
  #     the space, join the space, and preview the messages in the space. If
  #     unset, only users or Google Groups who have been individually invited or
  #     added to the space can access it. For details, see [Make a space
  #     discoverable to a target
  #     audience](https://developers.google.com/workspace/chat/space-target-audience).
  #
  #     Format: `audiences/{audience}`
  #
  #     To use the default target audience for the Google Workspace organization,
  #     set to `audiences/default`.
  #
  #     Reading the target audience supports:
  #
  #     - [User
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
  #
  #     - [App
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
  #     with [administrator
  #     approval](https://support.google.com/a?p=chat-app-auth)
  #     with the `chat.app.spaces` scope.
  #
  #     This field is not populated when using the `chat.bot` scope with [app
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).
  #
  #     Setting the target audience requires [user
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
  class AccessSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents the access state of the space.
    module AccessState
      # Access state is unknown or not supported in this API.
      ACCESS_STATE_UNSPECIFIED = 0

      # Only users or Google Groups that have been individually added or
      # invited by other users or Google Workspace administrators can discover
      # and access the space.
      PRIVATE = 1

      # A space manager has granted a target audience access to
      # the space. Users or Google Groups that have been individually added or
      # invited to the space can also discover and access the space. To learn
      # more, see [Make a space discoverable to specific
      # users](https://developers.google.com/workspace/chat/space-target-audience).
      #
      # Creating discoverable spaces requires [user
      # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
      DISCOVERABLE = 2
    end
  end

  # [Permission settings](https://support.google.com/chat/answer/13340792)
  # that you can specify when updating an existing named space.
  #
  # To set permission settings when creating a space, specify the
  # `PredefinedPermissionSettings` field in your request.
  # @!attribute [rw] manage_members_and_groups
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing members and groups in a space.
  # @!attribute [rw] modify_space_details
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for updating space name, avatar, description and
  #     guidelines.
  # @!attribute [rw] toggle_history
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for toggling space history on and off.
  # @!attribute [rw] use_at_mention_all
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for using @all in a space.
  # @!attribute [rw] manage_apps
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing apps in a space.
  # @!attribute [rw] manage_webhooks
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing webhooks in a space.
  # @!attribute [r] post_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Output only. Setting for posting messages in a space.
  # @!attribute [rw] reply_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for replying to messages in a space.
  class PermissionSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents a space permission setting.
  # @!attribute [rw] managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space owners
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MANAGER `ROLE_MANAGER`})
  #     have this permission.
  # @!attribute [rw] assistant_managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space managers
  #     {::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_ASSISTANT_MANAGER `ROLE_ASSISTANT_MANAGER`})
  #     have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether basic space members
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MEMBER `ROLE_MEMBER`})
  #     have this permission.
  class PermissionSetting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Deprecated: Use `SpaceType` instead.
  module Type
    # Reserved.
    TYPE_UNSPECIFIED = 0

    # Conversations between two or more humans.
    ROOM = 1

    # 1:1 Direct Message between a human and a Chat app, where all messages are
    # flat. Note that this doesn't include direct messages between two humans.
    DM = 2
  end

  # The type of space. Required when creating or updating a space. Output only
  # for other usage.
  module SpaceType
    # Reserved.
    SPACE_TYPE_UNSPECIFIED = 0

    # A place where people send messages, share files, and collaborate.
    # A `SPACE` can include Chat apps.
    SPACE = 1

    # Group conversations between 3 or more people.
    # A `GROUP_CHAT` can include Chat apps.
    GROUP_CHAT = 2

    # 1:1 messages between two humans or a human and a Chat app.
    DIRECT_MESSAGE = 3
  end

  # Specifies the type of threading state in the Chat space.
  module SpaceThreadingState
    # Reserved.
    SPACE_THREADING_STATE_UNSPECIFIED = 0

    # Named spaces that support message threads. When users respond to a
    # message, they can reply in-thread, which keeps their response in the
    # context of the original message.
    THREADED_MESSAGES = 2

    # Named spaces where the conversation is organized by topic. Topics and
    # their replies are grouped together.
    GROUPED_MESSAGES = 3

    # Direct messages (DMs) between two people and group conversations between
    # 3 or more people.
    UNTHREADED_MESSAGES = 4
  end

  # Predefined permission settings that you can only specify when creating a
  # named space. More settings might be added in the future.
  # For details about permission settings for named spaces, see [Learn about
  # spaces](https://support.google.com/chat/answer/7659784).
  module PredefinedPermissionSettings
    # Unspecified. Don't use.
    PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED = 0

    # Setting to make the space a collaboration space where all members can
    # post messages.
    COLLABORATION_SPACE = 1

    # Setting to make the space an announcement space where only space managers
    # can post messages.
    ANNOUNCEMENT_SPACE = 2
  end
end

#create_time::Google::Protobuf::Timestamp

Returns Optional. Immutable. For spaces created in Chat, the time the space was created. This field is output only, except when used in import mode spaces.

For import mode spaces, set this field to the historical timestamp at which the space was created in the source in order to preserve the original creation time.

Only populated in the output when spaceType is GROUP_CHAT or SPACE.

Returns:

  • (::Google::Protobuf::Timestamp)

    Optional. Immutable. For spaces created in Chat, the time the space was created. This field is output only, except when used in import mode spaces.

    For import mode spaces, set this field to the historical timestamp at which the space was created in the source in order to preserve the original creation time.

    Only populated in the output when spaceType is GROUP_CHAT or SPACE.



191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
# File 'proto_docs/google/chat/v1/space.rb', line 191

class Space
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Details about the space including description and rules.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A description of the space. For example, describe the space's
  #     discussion topic, functional purpose, or participants.
  #
  #     Supports up to 150 characters.
  # @!attribute [rw] guidelines
  #   @return [::String]
  #     Optional. The space's rules, expectations, and etiquette.
  #
  #     Supports up to 5,000 characters.
  class SpaceDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the count of memberships of a space, grouped into categories.
  # @!attribute [r] joined_direct_human_user_count
  #   @return [::Integer]
  #     Output only. Count of human users that have directly joined the space,
  #     not counting users joined by having membership in a joined group.
  # @!attribute [r] joined_group_count
  #   @return [::Integer]
  #     Output only. Count of all groups that have directly joined the space.
  class MembershipCount
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the [access
  # setting](https://support.google.com/chat/answer/11971020) of the space.
  # @!attribute [r] access_state
  #   @return [::Google::Apps::Chat::V1::Space::AccessSettings::AccessState]
  #     Output only. Indicates the access state of the space.
  # @!attribute [rw] audience
  #   @return [::String]
  #     Optional. The resource name of the [target
  #     audience](https://support.google.com/a/answer/9934697) who can discover
  #     the space, join the space, and preview the messages in the space. If
  #     unset, only users or Google Groups who have been individually invited or
  #     added to the space can access it. For details, see [Make a space
  #     discoverable to a target
  #     audience](https://developers.google.com/workspace/chat/space-target-audience).
  #
  #     Format: `audiences/{audience}`
  #
  #     To use the default target audience for the Google Workspace organization,
  #     set to `audiences/default`.
  #
  #     Reading the target audience supports:
  #
  #     - [User
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
  #
  #     - [App
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
  #     with [administrator
  #     approval](https://support.google.com/a?p=chat-app-auth)
  #     with the `chat.app.spaces` scope.
  #
  #     This field is not populated when using the `chat.bot` scope with [app
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).
  #
  #     Setting the target audience requires [user
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
  class AccessSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents the access state of the space.
    module AccessState
      # Access state is unknown or not supported in this API.
      ACCESS_STATE_UNSPECIFIED = 0

      # Only users or Google Groups that have been individually added or
      # invited by other users or Google Workspace administrators can discover
      # and access the space.
      PRIVATE = 1

      # A space manager has granted a target audience access to
      # the space. Users or Google Groups that have been individually added or
      # invited to the space can also discover and access the space. To learn
      # more, see [Make a space discoverable to specific
      # users](https://developers.google.com/workspace/chat/space-target-audience).
      #
      # Creating discoverable spaces requires [user
      # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
      DISCOVERABLE = 2
    end
  end

  # [Permission settings](https://support.google.com/chat/answer/13340792)
  # that you can specify when updating an existing named space.
  #
  # To set permission settings when creating a space, specify the
  # `PredefinedPermissionSettings` field in your request.
  # @!attribute [rw] manage_members_and_groups
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing members and groups in a space.
  # @!attribute [rw] modify_space_details
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for updating space name, avatar, description and
  #     guidelines.
  # @!attribute [rw] toggle_history
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for toggling space history on and off.
  # @!attribute [rw] use_at_mention_all
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for using @all in a space.
  # @!attribute [rw] manage_apps
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing apps in a space.
  # @!attribute [rw] manage_webhooks
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing webhooks in a space.
  # @!attribute [r] post_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Output only. Setting for posting messages in a space.
  # @!attribute [rw] reply_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for replying to messages in a space.
  class PermissionSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents a space permission setting.
  # @!attribute [rw] managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space owners
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MANAGER `ROLE_MANAGER`})
  #     have this permission.
  # @!attribute [rw] assistant_managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space managers
  #     {::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_ASSISTANT_MANAGER `ROLE_ASSISTANT_MANAGER`})
  #     have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether basic space members
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MEMBER `ROLE_MEMBER`})
  #     have this permission.
  class PermissionSetting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Deprecated: Use `SpaceType` instead.
  module Type
    # Reserved.
    TYPE_UNSPECIFIED = 0

    # Conversations between two or more humans.
    ROOM = 1

    # 1:1 Direct Message between a human and a Chat app, where all messages are
    # flat. Note that this doesn't include direct messages between two humans.
    DM = 2
  end

  # The type of space. Required when creating or updating a space. Output only
  # for other usage.
  module SpaceType
    # Reserved.
    SPACE_TYPE_UNSPECIFIED = 0

    # A place where people send messages, share files, and collaborate.
    # A `SPACE` can include Chat apps.
    SPACE = 1

    # Group conversations between 3 or more people.
    # A `GROUP_CHAT` can include Chat apps.
    GROUP_CHAT = 2

    # 1:1 messages between two humans or a human and a Chat app.
    DIRECT_MESSAGE = 3
  end

  # Specifies the type of threading state in the Chat space.
  module SpaceThreadingState
    # Reserved.
    SPACE_THREADING_STATE_UNSPECIFIED = 0

    # Named spaces that support message threads. When users respond to a
    # message, they can reply in-thread, which keeps their response in the
    # context of the original message.
    THREADED_MESSAGES = 2

    # Named spaces where the conversation is organized by topic. Topics and
    # their replies are grouped together.
    GROUPED_MESSAGES = 3

    # Direct messages (DMs) between two people and group conversations between
    # 3 or more people.
    UNTHREADED_MESSAGES = 4
  end

  # Predefined permission settings that you can only specify when creating a
  # named space. More settings might be added in the future.
  # For details about permission settings for named spaces, see [Learn about
  # spaces](https://support.google.com/chat/answer/7659784).
  module PredefinedPermissionSettings
    # Unspecified. Don't use.
    PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED = 0

    # Setting to make the space a collaboration space where all members can
    # post messages.
    COLLABORATION_SPACE = 1

    # Setting to make the space an announcement space where only space managers
    # can post messages.
    ANNOUNCEMENT_SPACE = 2
  end
end

#customer::String

Returns Optional. Immutable. The customer id of the domain of the space. Required only when creating a space with app authentication and SpaceType is SPACE, otherwise should not be set.

In the format customers/{customer}, where customer is the id from the Admin SDK customer resource. Private apps can also use the customers/my_customer alias to create the space in the same Google Workspace organization as the app.

For DMs, this field isn't populated.

Returns:

  • (::String)

    Optional. Immutable. The customer id of the domain of the space. Required only when creating a space with app authentication and SpaceType is SPACE, otherwise should not be set.

    In the format customers/{customer}, where customer is the id from the Admin SDK customer resource. Private apps can also use the customers/my_customer alias to create the space in the same Google Workspace organization as the app.

    For DMs, this field isn't populated.



191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
# File 'proto_docs/google/chat/v1/space.rb', line 191

class Space
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Details about the space including description and rules.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A description of the space. For example, describe the space's
  #     discussion topic, functional purpose, or participants.
  #
  #     Supports up to 150 characters.
  # @!attribute [rw] guidelines
  #   @return [::String]
  #     Optional. The space's rules, expectations, and etiquette.
  #
  #     Supports up to 5,000 characters.
  class SpaceDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the count of memberships of a space, grouped into categories.
  # @!attribute [r] joined_direct_human_user_count
  #   @return [::Integer]
  #     Output only. Count of human users that have directly joined the space,
  #     not counting users joined by having membership in a joined group.
  # @!attribute [r] joined_group_count
  #   @return [::Integer]
  #     Output only. Count of all groups that have directly joined the space.
  class MembershipCount
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the [access
  # setting](https://support.google.com/chat/answer/11971020) of the space.
  # @!attribute [r] access_state
  #   @return [::Google::Apps::Chat::V1::Space::AccessSettings::AccessState]
  #     Output only. Indicates the access state of the space.
  # @!attribute [rw] audience
  #   @return [::String]
  #     Optional. The resource name of the [target
  #     audience](https://support.google.com/a/answer/9934697) who can discover
  #     the space, join the space, and preview the messages in the space. If
  #     unset, only users or Google Groups who have been individually invited or
  #     added to the space can access it. For details, see [Make a space
  #     discoverable to a target
  #     audience](https://developers.google.com/workspace/chat/space-target-audience).
  #
  #     Format: `audiences/{audience}`
  #
  #     To use the default target audience for the Google Workspace organization,
  #     set to `audiences/default`.
  #
  #     Reading the target audience supports:
  #
  #     - [User
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
  #
  #     - [App
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
  #     with [administrator
  #     approval](https://support.google.com/a?p=chat-app-auth)
  #     with the `chat.app.spaces` scope.
  #
  #     This field is not populated when using the `chat.bot` scope with [app
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).
  #
  #     Setting the target audience requires [user
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
  class AccessSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents the access state of the space.
    module AccessState
      # Access state is unknown or not supported in this API.
      ACCESS_STATE_UNSPECIFIED = 0

      # Only users or Google Groups that have been individually added or
      # invited by other users or Google Workspace administrators can discover
      # and access the space.
      PRIVATE = 1

      # A space manager has granted a target audience access to
      # the space. Users or Google Groups that have been individually added or
      # invited to the space can also discover and access the space. To learn
      # more, see [Make a space discoverable to specific
      # users](https://developers.google.com/workspace/chat/space-target-audience).
      #
      # Creating discoverable spaces requires [user
      # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
      DISCOVERABLE = 2
    end
  end

  # [Permission settings](https://support.google.com/chat/answer/13340792)
  # that you can specify when updating an existing named space.
  #
  # To set permission settings when creating a space, specify the
  # `PredefinedPermissionSettings` field in your request.
  # @!attribute [rw] manage_members_and_groups
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing members and groups in a space.
  # @!attribute [rw] modify_space_details
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for updating space name, avatar, description and
  #     guidelines.
  # @!attribute [rw] toggle_history
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for toggling space history on and off.
  # @!attribute [rw] use_at_mention_all
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for using @all in a space.
  # @!attribute [rw] manage_apps
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing apps in a space.
  # @!attribute [rw] manage_webhooks
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing webhooks in a space.
  # @!attribute [r] post_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Output only. Setting for posting messages in a space.
  # @!attribute [rw] reply_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for replying to messages in a space.
  class PermissionSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents a space permission setting.
  # @!attribute [rw] managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space owners
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MANAGER `ROLE_MANAGER`})
  #     have this permission.
  # @!attribute [rw] assistant_managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space managers
  #     {::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_ASSISTANT_MANAGER `ROLE_ASSISTANT_MANAGER`})
  #     have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether basic space members
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MEMBER `ROLE_MEMBER`})
  #     have this permission.
  class PermissionSetting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Deprecated: Use `SpaceType` instead.
  module Type
    # Reserved.
    TYPE_UNSPECIFIED = 0

    # Conversations between two or more humans.
    ROOM = 1

    # 1:1 Direct Message between a human and a Chat app, where all messages are
    # flat. Note that this doesn't include direct messages between two humans.
    DM = 2
  end

  # The type of space. Required when creating or updating a space. Output only
  # for other usage.
  module SpaceType
    # Reserved.
    SPACE_TYPE_UNSPECIFIED = 0

    # A place where people send messages, share files, and collaborate.
    # A `SPACE` can include Chat apps.
    SPACE = 1

    # Group conversations between 3 or more people.
    # A `GROUP_CHAT` can include Chat apps.
    GROUP_CHAT = 2

    # 1:1 messages between two humans or a human and a Chat app.
    DIRECT_MESSAGE = 3
  end

  # Specifies the type of threading state in the Chat space.
  module SpaceThreadingState
    # Reserved.
    SPACE_THREADING_STATE_UNSPECIFIED = 0

    # Named spaces that support message threads. When users respond to a
    # message, they can reply in-thread, which keeps their response in the
    # context of the original message.
    THREADED_MESSAGES = 2

    # Named spaces where the conversation is organized by topic. Topics and
    # their replies are grouped together.
    GROUPED_MESSAGES = 3

    # Direct messages (DMs) between two people and group conversations between
    # 3 or more people.
    UNTHREADED_MESSAGES = 4
  end

  # Predefined permission settings that you can only specify when creating a
  # named space. More settings might be added in the future.
  # For details about permission settings for named spaces, see [Learn about
  # spaces](https://support.google.com/chat/answer/7659784).
  module PredefinedPermissionSettings
    # Unspecified. Don't use.
    PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED = 0

    # Setting to make the space a collaboration space where all members can
    # post messages.
    COLLABORATION_SPACE = 1

    # Setting to make the space an announcement space where only space managers
    # can post messages.
    ANNOUNCEMENT_SPACE = 2
  end
end

#display_name::String

Returns Optional. The space's display name. Required when creating a space with a spaceType of SPACE. If you receive the error message ALREADY_EXISTS when creating a space or updating the displayName, try a different displayName. An existing space within the Google Workspace organization might already use this display name.

For direct messages, this field might be empty.

Supports up to 128 characters.

Returns:

  • (::String)

    Optional. The space's display name. Required when creating a space with a spaceType of SPACE. If you receive the error message ALREADY_EXISTS when creating a space or updating the displayName, try a different displayName. An existing space within the Google Workspace organization might already use this display name.

    For direct messages, this field might be empty.

    Supports up to 128 characters.



191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
# File 'proto_docs/google/chat/v1/space.rb', line 191

class Space
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Details about the space including description and rules.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A description of the space. For example, describe the space's
  #     discussion topic, functional purpose, or participants.
  #
  #     Supports up to 150 characters.
  # @!attribute [rw] guidelines
  #   @return [::String]
  #     Optional. The space's rules, expectations, and etiquette.
  #
  #     Supports up to 5,000 characters.
  class SpaceDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the count of memberships of a space, grouped into categories.
  # @!attribute [r] joined_direct_human_user_count
  #   @return [::Integer]
  #     Output only. Count of human users that have directly joined the space,
  #     not counting users joined by having membership in a joined group.
  # @!attribute [r] joined_group_count
  #   @return [::Integer]
  #     Output only. Count of all groups that have directly joined the space.
  class MembershipCount
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the [access
  # setting](https://support.google.com/chat/answer/11971020) of the space.
  # @!attribute [r] access_state
  #   @return [::Google::Apps::Chat::V1::Space::AccessSettings::AccessState]
  #     Output only. Indicates the access state of the space.
  # @!attribute [rw] audience
  #   @return [::String]
  #     Optional. The resource name of the [target
  #     audience](https://support.google.com/a/answer/9934697) who can discover
  #     the space, join the space, and preview the messages in the space. If
  #     unset, only users or Google Groups who have been individually invited or
  #     added to the space can access it. For details, see [Make a space
  #     discoverable to a target
  #     audience](https://developers.google.com/workspace/chat/space-target-audience).
  #
  #     Format: `audiences/{audience}`
  #
  #     To use the default target audience for the Google Workspace organization,
  #     set to `audiences/default`.
  #
  #     Reading the target audience supports:
  #
  #     - [User
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
  #
  #     - [App
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
  #     with [administrator
  #     approval](https://support.google.com/a?p=chat-app-auth)
  #     with the `chat.app.spaces` scope.
  #
  #     This field is not populated when using the `chat.bot` scope with [app
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).
  #
  #     Setting the target audience requires [user
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
  class AccessSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents the access state of the space.
    module AccessState
      # Access state is unknown or not supported in this API.
      ACCESS_STATE_UNSPECIFIED = 0

      # Only users or Google Groups that have been individually added or
      # invited by other users or Google Workspace administrators can discover
      # and access the space.
      PRIVATE = 1

      # A space manager has granted a target audience access to
      # the space. Users or Google Groups that have been individually added or
      # invited to the space can also discover and access the space. To learn
      # more, see [Make a space discoverable to specific
      # users](https://developers.google.com/workspace/chat/space-target-audience).
      #
      # Creating discoverable spaces requires [user
      # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
      DISCOVERABLE = 2
    end
  end

  # [Permission settings](https://support.google.com/chat/answer/13340792)
  # that you can specify when updating an existing named space.
  #
  # To set permission settings when creating a space, specify the
  # `PredefinedPermissionSettings` field in your request.
  # @!attribute [rw] manage_members_and_groups
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing members and groups in a space.
  # @!attribute [rw] modify_space_details
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for updating space name, avatar, description and
  #     guidelines.
  # @!attribute [rw] toggle_history
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for toggling space history on and off.
  # @!attribute [rw] use_at_mention_all
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for using @all in a space.
  # @!attribute [rw] manage_apps
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing apps in a space.
  # @!attribute [rw] manage_webhooks
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing webhooks in a space.
  # @!attribute [r] post_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Output only. Setting for posting messages in a space.
  # @!attribute [rw] reply_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for replying to messages in a space.
  class PermissionSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents a space permission setting.
  # @!attribute [rw] managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space owners
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MANAGER `ROLE_MANAGER`})
  #     have this permission.
  # @!attribute [rw] assistant_managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space managers
  #     {::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_ASSISTANT_MANAGER `ROLE_ASSISTANT_MANAGER`})
  #     have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether basic space members
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MEMBER `ROLE_MEMBER`})
  #     have this permission.
  class PermissionSetting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Deprecated: Use `SpaceType` instead.
  module Type
    # Reserved.
    TYPE_UNSPECIFIED = 0

    # Conversations between two or more humans.
    ROOM = 1

    # 1:1 Direct Message between a human and a Chat app, where all messages are
    # flat. Note that this doesn't include direct messages between two humans.
    DM = 2
  end

  # The type of space. Required when creating or updating a space. Output only
  # for other usage.
  module SpaceType
    # Reserved.
    SPACE_TYPE_UNSPECIFIED = 0

    # A place where people send messages, share files, and collaborate.
    # A `SPACE` can include Chat apps.
    SPACE = 1

    # Group conversations between 3 or more people.
    # A `GROUP_CHAT` can include Chat apps.
    GROUP_CHAT = 2

    # 1:1 messages between two humans or a human and a Chat app.
    DIRECT_MESSAGE = 3
  end

  # Specifies the type of threading state in the Chat space.
  module SpaceThreadingState
    # Reserved.
    SPACE_THREADING_STATE_UNSPECIFIED = 0

    # Named spaces that support message threads. When users respond to a
    # message, they can reply in-thread, which keeps their response in the
    # context of the original message.
    THREADED_MESSAGES = 2

    # Named spaces where the conversation is organized by topic. Topics and
    # their replies are grouped together.
    GROUPED_MESSAGES = 3

    # Direct messages (DMs) between two people and group conversations between
    # 3 or more people.
    UNTHREADED_MESSAGES = 4
  end

  # Predefined permission settings that you can only specify when creating a
  # named space. More settings might be added in the future.
  # For details about permission settings for named spaces, see [Learn about
  # spaces](https://support.google.com/chat/answer/7659784).
  module PredefinedPermissionSettings
    # Unspecified. Don't use.
    PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED = 0

    # Setting to make the space a collaboration space where all members can
    # post messages.
    COLLABORATION_SPACE = 1

    # Setting to make the space an announcement space where only space managers
    # can post messages.
    ANNOUNCEMENT_SPACE = 2
  end
end

#external_user_allowed::Boolean

Returns Optional. Immutable. Whether this space permits any Google Chat user as a member. Input when creating a space in a Google Workspace organization. Omit this field when creating spaces in the following conditions:

  • The authenticated user uses a consumer account (unmanaged user account). By default, a space created by a consumer account permits any Google Chat user.

For existing spaces, this field is output only.

Returns:

  • (::Boolean)

    Optional. Immutable. Whether this space permits any Google Chat user as a member. Input when creating a space in a Google Workspace organization. Omit this field when creating spaces in the following conditions:

    • The authenticated user uses a consumer account (unmanaged user account). By default, a space created by a consumer account permits any Google Chat user.

    For existing spaces, this field is output only.



191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
# File 'proto_docs/google/chat/v1/space.rb', line 191

class Space
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Details about the space including description and rules.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A description of the space. For example, describe the space's
  #     discussion topic, functional purpose, or participants.
  #
  #     Supports up to 150 characters.
  # @!attribute [rw] guidelines
  #   @return [::String]
  #     Optional. The space's rules, expectations, and etiquette.
  #
  #     Supports up to 5,000 characters.
  class SpaceDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the count of memberships of a space, grouped into categories.
  # @!attribute [r] joined_direct_human_user_count
  #   @return [::Integer]
  #     Output only. Count of human users that have directly joined the space,
  #     not counting users joined by having membership in a joined group.
  # @!attribute [r] joined_group_count
  #   @return [::Integer]
  #     Output only. Count of all groups that have directly joined the space.
  class MembershipCount
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the [access
  # setting](https://support.google.com/chat/answer/11971020) of the space.
  # @!attribute [r] access_state
  #   @return [::Google::Apps::Chat::V1::Space::AccessSettings::AccessState]
  #     Output only. Indicates the access state of the space.
  # @!attribute [rw] audience
  #   @return [::String]
  #     Optional. The resource name of the [target
  #     audience](https://support.google.com/a/answer/9934697) who can discover
  #     the space, join the space, and preview the messages in the space. If
  #     unset, only users or Google Groups who have been individually invited or
  #     added to the space can access it. For details, see [Make a space
  #     discoverable to a target
  #     audience](https://developers.google.com/workspace/chat/space-target-audience).
  #
  #     Format: `audiences/{audience}`
  #
  #     To use the default target audience for the Google Workspace organization,
  #     set to `audiences/default`.
  #
  #     Reading the target audience supports:
  #
  #     - [User
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
  #
  #     - [App
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
  #     with [administrator
  #     approval](https://support.google.com/a?p=chat-app-auth)
  #     with the `chat.app.spaces` scope.
  #
  #     This field is not populated when using the `chat.bot` scope with [app
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).
  #
  #     Setting the target audience requires [user
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
  class AccessSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents the access state of the space.
    module AccessState
      # Access state is unknown or not supported in this API.
      ACCESS_STATE_UNSPECIFIED = 0

      # Only users or Google Groups that have been individually added or
      # invited by other users or Google Workspace administrators can discover
      # and access the space.
      PRIVATE = 1

      # A space manager has granted a target audience access to
      # the space. Users or Google Groups that have been individually added or
      # invited to the space can also discover and access the space. To learn
      # more, see [Make a space discoverable to specific
      # users](https://developers.google.com/workspace/chat/space-target-audience).
      #
      # Creating discoverable spaces requires [user
      # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
      DISCOVERABLE = 2
    end
  end

  # [Permission settings](https://support.google.com/chat/answer/13340792)
  # that you can specify when updating an existing named space.
  #
  # To set permission settings when creating a space, specify the
  # `PredefinedPermissionSettings` field in your request.
  # @!attribute [rw] manage_members_and_groups
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing members and groups in a space.
  # @!attribute [rw] modify_space_details
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for updating space name, avatar, description and
  #     guidelines.
  # @!attribute [rw] toggle_history
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for toggling space history on and off.
  # @!attribute [rw] use_at_mention_all
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for using @all in a space.
  # @!attribute [rw] manage_apps
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing apps in a space.
  # @!attribute [rw] manage_webhooks
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing webhooks in a space.
  # @!attribute [r] post_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Output only. Setting for posting messages in a space.
  # @!attribute [rw] reply_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for replying to messages in a space.
  class PermissionSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents a space permission setting.
  # @!attribute [rw] managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space owners
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MANAGER `ROLE_MANAGER`})
  #     have this permission.
  # @!attribute [rw] assistant_managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space managers
  #     {::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_ASSISTANT_MANAGER `ROLE_ASSISTANT_MANAGER`})
  #     have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether basic space members
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MEMBER `ROLE_MEMBER`})
  #     have this permission.
  class PermissionSetting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Deprecated: Use `SpaceType` instead.
  module Type
    # Reserved.
    TYPE_UNSPECIFIED = 0

    # Conversations between two or more humans.
    ROOM = 1

    # 1:1 Direct Message between a human and a Chat app, where all messages are
    # flat. Note that this doesn't include direct messages between two humans.
    DM = 2
  end

  # The type of space. Required when creating or updating a space. Output only
  # for other usage.
  module SpaceType
    # Reserved.
    SPACE_TYPE_UNSPECIFIED = 0

    # A place where people send messages, share files, and collaborate.
    # A `SPACE` can include Chat apps.
    SPACE = 1

    # Group conversations between 3 or more people.
    # A `GROUP_CHAT` can include Chat apps.
    GROUP_CHAT = 2

    # 1:1 messages between two humans or a human and a Chat app.
    DIRECT_MESSAGE = 3
  end

  # Specifies the type of threading state in the Chat space.
  module SpaceThreadingState
    # Reserved.
    SPACE_THREADING_STATE_UNSPECIFIED = 0

    # Named spaces that support message threads. When users respond to a
    # message, they can reply in-thread, which keeps their response in the
    # context of the original message.
    THREADED_MESSAGES = 2

    # Named spaces where the conversation is organized by topic. Topics and
    # their replies are grouped together.
    GROUPED_MESSAGES = 3

    # Direct messages (DMs) between two people and group conversations between
    # 3 or more people.
    UNTHREADED_MESSAGES = 4
  end

  # Predefined permission settings that you can only specify when creating a
  # named space. More settings might be added in the future.
  # For details about permission settings for named spaces, see [Learn about
  # spaces](https://support.google.com/chat/answer/7659784).
  module PredefinedPermissionSettings
    # Unspecified. Don't use.
    PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED = 0

    # Setting to make the space a collaboration space where all members can
    # post messages.
    COLLABORATION_SPACE = 1

    # Setting to make the space an announcement space where only space managers
    # can post messages.
    ANNOUNCEMENT_SPACE = 2
  end
end

#import_mode::Boolean

Returns Optional. Whether this space is created in Import Mode as part of a data migration into Google Workspace. While spaces are being imported, they aren't visible to users until the import is complete.

Creating a space in Import Moderequires user authentication.

Returns:

  • (::Boolean)

    Optional. Whether this space is created in Import Mode as part of a data migration into Google Workspace. While spaces are being imported, they aren't visible to users until the import is complete.

    Creating a space in Import Moderequires user authentication.



191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
# File 'proto_docs/google/chat/v1/space.rb', line 191

class Space
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Details about the space including description and rules.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A description of the space. For example, describe the space's
  #     discussion topic, functional purpose, or participants.
  #
  #     Supports up to 150 characters.
  # @!attribute [rw] guidelines
  #   @return [::String]
  #     Optional. The space's rules, expectations, and etiquette.
  #
  #     Supports up to 5,000 characters.
  class SpaceDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the count of memberships of a space, grouped into categories.
  # @!attribute [r] joined_direct_human_user_count
  #   @return [::Integer]
  #     Output only. Count of human users that have directly joined the space,
  #     not counting users joined by having membership in a joined group.
  # @!attribute [r] joined_group_count
  #   @return [::Integer]
  #     Output only. Count of all groups that have directly joined the space.
  class MembershipCount
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the [access
  # setting](https://support.google.com/chat/answer/11971020) of the space.
  # @!attribute [r] access_state
  #   @return [::Google::Apps::Chat::V1::Space::AccessSettings::AccessState]
  #     Output only. Indicates the access state of the space.
  # @!attribute [rw] audience
  #   @return [::String]
  #     Optional. The resource name of the [target
  #     audience](https://support.google.com/a/answer/9934697) who can discover
  #     the space, join the space, and preview the messages in the space. If
  #     unset, only users or Google Groups who have been individually invited or
  #     added to the space can access it. For details, see [Make a space
  #     discoverable to a target
  #     audience](https://developers.google.com/workspace/chat/space-target-audience).
  #
  #     Format: `audiences/{audience}`
  #
  #     To use the default target audience for the Google Workspace organization,
  #     set to `audiences/default`.
  #
  #     Reading the target audience supports:
  #
  #     - [User
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
  #
  #     - [App
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
  #     with [administrator
  #     approval](https://support.google.com/a?p=chat-app-auth)
  #     with the `chat.app.spaces` scope.
  #
  #     This field is not populated when using the `chat.bot` scope with [app
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).
  #
  #     Setting the target audience requires [user
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
  class AccessSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents the access state of the space.
    module AccessState
      # Access state is unknown or not supported in this API.
      ACCESS_STATE_UNSPECIFIED = 0

      # Only users or Google Groups that have been individually added or
      # invited by other users or Google Workspace administrators can discover
      # and access the space.
      PRIVATE = 1

      # A space manager has granted a target audience access to
      # the space. Users or Google Groups that have been individually added or
      # invited to the space can also discover and access the space. To learn
      # more, see [Make a space discoverable to specific
      # users](https://developers.google.com/workspace/chat/space-target-audience).
      #
      # Creating discoverable spaces requires [user
      # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
      DISCOVERABLE = 2
    end
  end

  # [Permission settings](https://support.google.com/chat/answer/13340792)
  # that you can specify when updating an existing named space.
  #
  # To set permission settings when creating a space, specify the
  # `PredefinedPermissionSettings` field in your request.
  # @!attribute [rw] manage_members_and_groups
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing members and groups in a space.
  # @!attribute [rw] modify_space_details
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for updating space name, avatar, description and
  #     guidelines.
  # @!attribute [rw] toggle_history
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for toggling space history on and off.
  # @!attribute [rw] use_at_mention_all
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for using @all in a space.
  # @!attribute [rw] manage_apps
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing apps in a space.
  # @!attribute [rw] manage_webhooks
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing webhooks in a space.
  # @!attribute [r] post_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Output only. Setting for posting messages in a space.
  # @!attribute [rw] reply_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for replying to messages in a space.
  class PermissionSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents a space permission setting.
  # @!attribute [rw] managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space owners
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MANAGER `ROLE_MANAGER`})
  #     have this permission.
  # @!attribute [rw] assistant_managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space managers
  #     {::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_ASSISTANT_MANAGER `ROLE_ASSISTANT_MANAGER`})
  #     have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether basic space members
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MEMBER `ROLE_MEMBER`})
  #     have this permission.
  class PermissionSetting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Deprecated: Use `SpaceType` instead.
  module Type
    # Reserved.
    TYPE_UNSPECIFIED = 0

    # Conversations between two or more humans.
    ROOM = 1

    # 1:1 Direct Message between a human and a Chat app, where all messages are
    # flat. Note that this doesn't include direct messages between two humans.
    DM = 2
  end

  # The type of space. Required when creating or updating a space. Output only
  # for other usage.
  module SpaceType
    # Reserved.
    SPACE_TYPE_UNSPECIFIED = 0

    # A place where people send messages, share files, and collaborate.
    # A `SPACE` can include Chat apps.
    SPACE = 1

    # Group conversations between 3 or more people.
    # A `GROUP_CHAT` can include Chat apps.
    GROUP_CHAT = 2

    # 1:1 messages between two humans or a human and a Chat app.
    DIRECT_MESSAGE = 3
  end

  # Specifies the type of threading state in the Chat space.
  module SpaceThreadingState
    # Reserved.
    SPACE_THREADING_STATE_UNSPECIFIED = 0

    # Named spaces that support message threads. When users respond to a
    # message, they can reply in-thread, which keeps their response in the
    # context of the original message.
    THREADED_MESSAGES = 2

    # Named spaces where the conversation is organized by topic. Topics and
    # their replies are grouped together.
    GROUPED_MESSAGES = 3

    # Direct messages (DMs) between two people and group conversations between
    # 3 or more people.
    UNTHREADED_MESSAGES = 4
  end

  # Predefined permission settings that you can only specify when creating a
  # named space. More settings might be added in the future.
  # For details about permission settings for named spaces, see [Learn about
  # spaces](https://support.google.com/chat/answer/7659784).
  module PredefinedPermissionSettings
    # Unspecified. Don't use.
    PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED = 0

    # Setting to make the space a collaboration space where all members can
    # post messages.
    COLLABORATION_SPACE = 1

    # Setting to make the space an announcement space where only space managers
    # can post messages.
    ANNOUNCEMENT_SPACE = 2
  end
end

#import_mode_expire_time::Google::Protobuf::Timestamp (readonly)

Returns Output only. The time when the space will be automatically deleted by the system if it remains in import mode.

Each space created in import mode must exit this mode before this expire time using spaces.completeImport.

This field is only populated for spaces that were created with import mode.

Returns:

  • (::Google::Protobuf::Timestamp)

    Output only. The time when the space will be automatically deleted by the system if it remains in import mode.

    Each space created in import mode must exit this mode before this expire time using spaces.completeImport.

    This field is only populated for spaces that were created with import mode.



191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
# File 'proto_docs/google/chat/v1/space.rb', line 191

class Space
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Details about the space including description and rules.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A description of the space. For example, describe the space's
  #     discussion topic, functional purpose, or participants.
  #
  #     Supports up to 150 characters.
  # @!attribute [rw] guidelines
  #   @return [::String]
  #     Optional. The space's rules, expectations, and etiquette.
  #
  #     Supports up to 5,000 characters.
  class SpaceDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the count of memberships of a space, grouped into categories.
  # @!attribute [r] joined_direct_human_user_count
  #   @return [::Integer]
  #     Output only. Count of human users that have directly joined the space,
  #     not counting users joined by having membership in a joined group.
  # @!attribute [r] joined_group_count
  #   @return [::Integer]
  #     Output only. Count of all groups that have directly joined the space.
  class MembershipCount
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the [access
  # setting](https://support.google.com/chat/answer/11971020) of the space.
  # @!attribute [r] access_state
  #   @return [::Google::Apps::Chat::V1::Space::AccessSettings::AccessState]
  #     Output only. Indicates the access state of the space.
  # @!attribute [rw] audience
  #   @return [::String]
  #     Optional. The resource name of the [target
  #     audience](https://support.google.com/a/answer/9934697) who can discover
  #     the space, join the space, and preview the messages in the space. If
  #     unset, only users or Google Groups who have been individually invited or
  #     added to the space can access it. For details, see [Make a space
  #     discoverable to a target
  #     audience](https://developers.google.com/workspace/chat/space-target-audience).
  #
  #     Format: `audiences/{audience}`
  #
  #     To use the default target audience for the Google Workspace organization,
  #     set to `audiences/default`.
  #
  #     Reading the target audience supports:
  #
  #     - [User
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
  #
  #     - [App
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
  #     with [administrator
  #     approval](https://support.google.com/a?p=chat-app-auth)
  #     with the `chat.app.spaces` scope.
  #
  #     This field is not populated when using the `chat.bot` scope with [app
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).
  #
  #     Setting the target audience requires [user
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
  class AccessSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents the access state of the space.
    module AccessState
      # Access state is unknown or not supported in this API.
      ACCESS_STATE_UNSPECIFIED = 0

      # Only users or Google Groups that have been individually added or
      # invited by other users or Google Workspace administrators can discover
      # and access the space.
      PRIVATE = 1

      # A space manager has granted a target audience access to
      # the space. Users or Google Groups that have been individually added or
      # invited to the space can also discover and access the space. To learn
      # more, see [Make a space discoverable to specific
      # users](https://developers.google.com/workspace/chat/space-target-audience).
      #
      # Creating discoverable spaces requires [user
      # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
      DISCOVERABLE = 2
    end
  end

  # [Permission settings](https://support.google.com/chat/answer/13340792)
  # that you can specify when updating an existing named space.
  #
  # To set permission settings when creating a space, specify the
  # `PredefinedPermissionSettings` field in your request.
  # @!attribute [rw] manage_members_and_groups
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing members and groups in a space.
  # @!attribute [rw] modify_space_details
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for updating space name, avatar, description and
  #     guidelines.
  # @!attribute [rw] toggle_history
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for toggling space history on and off.
  # @!attribute [rw] use_at_mention_all
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for using @all in a space.
  # @!attribute [rw] manage_apps
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing apps in a space.
  # @!attribute [rw] manage_webhooks
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing webhooks in a space.
  # @!attribute [r] post_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Output only. Setting for posting messages in a space.
  # @!attribute [rw] reply_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for replying to messages in a space.
  class PermissionSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents a space permission setting.
  # @!attribute [rw] managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space owners
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MANAGER `ROLE_MANAGER`})
  #     have this permission.
  # @!attribute [rw] assistant_managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space managers
  #     {::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_ASSISTANT_MANAGER `ROLE_ASSISTANT_MANAGER`})
  #     have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether basic space members
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MEMBER `ROLE_MEMBER`})
  #     have this permission.
  class PermissionSetting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Deprecated: Use `SpaceType` instead.
  module Type
    # Reserved.
    TYPE_UNSPECIFIED = 0

    # Conversations between two or more humans.
    ROOM = 1

    # 1:1 Direct Message between a human and a Chat app, where all messages are
    # flat. Note that this doesn't include direct messages between two humans.
    DM = 2
  end

  # The type of space. Required when creating or updating a space. Output only
  # for other usage.
  module SpaceType
    # Reserved.
    SPACE_TYPE_UNSPECIFIED = 0

    # A place where people send messages, share files, and collaborate.
    # A `SPACE` can include Chat apps.
    SPACE = 1

    # Group conversations between 3 or more people.
    # A `GROUP_CHAT` can include Chat apps.
    GROUP_CHAT = 2

    # 1:1 messages between two humans or a human and a Chat app.
    DIRECT_MESSAGE = 3
  end

  # Specifies the type of threading state in the Chat space.
  module SpaceThreadingState
    # Reserved.
    SPACE_THREADING_STATE_UNSPECIFIED = 0

    # Named spaces that support message threads. When users respond to a
    # message, they can reply in-thread, which keeps their response in the
    # context of the original message.
    THREADED_MESSAGES = 2

    # Named spaces where the conversation is organized by topic. Topics and
    # their replies are grouped together.
    GROUPED_MESSAGES = 3

    # Direct messages (DMs) between two people and group conversations between
    # 3 or more people.
    UNTHREADED_MESSAGES = 4
  end

  # Predefined permission settings that you can only specify when creating a
  # named space. More settings might be added in the future.
  # For details about permission settings for named spaces, see [Learn about
  # spaces](https://support.google.com/chat/answer/7659784).
  module PredefinedPermissionSettings
    # Unspecified. Don't use.
    PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED = 0

    # Setting to make the space a collaboration space where all members can
    # post messages.
    COLLABORATION_SPACE = 1

    # Setting to make the space an announcement space where only space managers
    # can post messages.
    ANNOUNCEMENT_SPACE = 2
  end
end

#last_active_time::Google::Protobuf::Timestamp (readonly)

Returns Output only. Timestamp of the last message in the space.

Returns:



191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
# File 'proto_docs/google/chat/v1/space.rb', line 191

class Space
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Details about the space including description and rules.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A description of the space. For example, describe the space's
  #     discussion topic, functional purpose, or participants.
  #
  #     Supports up to 150 characters.
  # @!attribute [rw] guidelines
  #   @return [::String]
  #     Optional. The space's rules, expectations, and etiquette.
  #
  #     Supports up to 5,000 characters.
  class SpaceDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the count of memberships of a space, grouped into categories.
  # @!attribute [r] joined_direct_human_user_count
  #   @return [::Integer]
  #     Output only. Count of human users that have directly joined the space,
  #     not counting users joined by having membership in a joined group.
  # @!attribute [r] joined_group_count
  #   @return [::Integer]
  #     Output only. Count of all groups that have directly joined the space.
  class MembershipCount
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the [access
  # setting](https://support.google.com/chat/answer/11971020) of the space.
  # @!attribute [r] access_state
  #   @return [::Google::Apps::Chat::V1::Space::AccessSettings::AccessState]
  #     Output only. Indicates the access state of the space.
  # @!attribute [rw] audience
  #   @return [::String]
  #     Optional. The resource name of the [target
  #     audience](https://support.google.com/a/answer/9934697) who can discover
  #     the space, join the space, and preview the messages in the space. If
  #     unset, only users or Google Groups who have been individually invited or
  #     added to the space can access it. For details, see [Make a space
  #     discoverable to a target
  #     audience](https://developers.google.com/workspace/chat/space-target-audience).
  #
  #     Format: `audiences/{audience}`
  #
  #     To use the default target audience for the Google Workspace organization,
  #     set to `audiences/default`.
  #
  #     Reading the target audience supports:
  #
  #     - [User
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
  #
  #     - [App
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
  #     with [administrator
  #     approval](https://support.google.com/a?p=chat-app-auth)
  #     with the `chat.app.spaces` scope.
  #
  #     This field is not populated when using the `chat.bot` scope with [app
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).
  #
  #     Setting the target audience requires [user
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
  class AccessSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents the access state of the space.
    module AccessState
      # Access state is unknown or not supported in this API.
      ACCESS_STATE_UNSPECIFIED = 0

      # Only users or Google Groups that have been individually added or
      # invited by other users or Google Workspace administrators can discover
      # and access the space.
      PRIVATE = 1

      # A space manager has granted a target audience access to
      # the space. Users or Google Groups that have been individually added or
      # invited to the space can also discover and access the space. To learn
      # more, see [Make a space discoverable to specific
      # users](https://developers.google.com/workspace/chat/space-target-audience).
      #
      # Creating discoverable spaces requires [user
      # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
      DISCOVERABLE = 2
    end
  end

  # [Permission settings](https://support.google.com/chat/answer/13340792)
  # that you can specify when updating an existing named space.
  #
  # To set permission settings when creating a space, specify the
  # `PredefinedPermissionSettings` field in your request.
  # @!attribute [rw] manage_members_and_groups
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing members and groups in a space.
  # @!attribute [rw] modify_space_details
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for updating space name, avatar, description and
  #     guidelines.
  # @!attribute [rw] toggle_history
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for toggling space history on and off.
  # @!attribute [rw] use_at_mention_all
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for using @all in a space.
  # @!attribute [rw] manage_apps
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing apps in a space.
  # @!attribute [rw] manage_webhooks
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing webhooks in a space.
  # @!attribute [r] post_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Output only. Setting for posting messages in a space.
  # @!attribute [rw] reply_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for replying to messages in a space.
  class PermissionSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents a space permission setting.
  # @!attribute [rw] managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space owners
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MANAGER `ROLE_MANAGER`})
  #     have this permission.
  # @!attribute [rw] assistant_managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space managers
  #     {::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_ASSISTANT_MANAGER `ROLE_ASSISTANT_MANAGER`})
  #     have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether basic space members
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MEMBER `ROLE_MEMBER`})
  #     have this permission.
  class PermissionSetting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Deprecated: Use `SpaceType` instead.
  module Type
    # Reserved.
    TYPE_UNSPECIFIED = 0

    # Conversations between two or more humans.
    ROOM = 1

    # 1:1 Direct Message between a human and a Chat app, where all messages are
    # flat. Note that this doesn't include direct messages between two humans.
    DM = 2
  end

  # The type of space. Required when creating or updating a space. Output only
  # for other usage.
  module SpaceType
    # Reserved.
    SPACE_TYPE_UNSPECIFIED = 0

    # A place where people send messages, share files, and collaborate.
    # A `SPACE` can include Chat apps.
    SPACE = 1

    # Group conversations between 3 or more people.
    # A `GROUP_CHAT` can include Chat apps.
    GROUP_CHAT = 2

    # 1:1 messages between two humans or a human and a Chat app.
    DIRECT_MESSAGE = 3
  end

  # Specifies the type of threading state in the Chat space.
  module SpaceThreadingState
    # Reserved.
    SPACE_THREADING_STATE_UNSPECIFIED = 0

    # Named spaces that support message threads. When users respond to a
    # message, they can reply in-thread, which keeps their response in the
    # context of the original message.
    THREADED_MESSAGES = 2

    # Named spaces where the conversation is organized by topic. Topics and
    # their replies are grouped together.
    GROUPED_MESSAGES = 3

    # Direct messages (DMs) between two people and group conversations between
    # 3 or more people.
    UNTHREADED_MESSAGES = 4
  end

  # Predefined permission settings that you can only specify when creating a
  # named space. More settings might be added in the future.
  # For details about permission settings for named spaces, see [Learn about
  # spaces](https://support.google.com/chat/answer/7659784).
  module PredefinedPermissionSettings
    # Unspecified. Don't use.
    PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED = 0

    # Setting to make the space a collaboration space where all members can
    # post messages.
    COLLABORATION_SPACE = 1

    # Setting to make the space an announcement space where only space managers
    # can post messages.
    ANNOUNCEMENT_SPACE = 2
  end
end

#membership_count::Google::Apps::Chat::V1::Space::MembershipCount (readonly)

Returns Output only. The count of joined memberships grouped by member type. Populated when the space_type is SPACE, DIRECT_MESSAGE or GROUP_CHAT.

Returns:



191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
# File 'proto_docs/google/chat/v1/space.rb', line 191

class Space
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Details about the space including description and rules.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A description of the space. For example, describe the space's
  #     discussion topic, functional purpose, or participants.
  #
  #     Supports up to 150 characters.
  # @!attribute [rw] guidelines
  #   @return [::String]
  #     Optional. The space's rules, expectations, and etiquette.
  #
  #     Supports up to 5,000 characters.
  class SpaceDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the count of memberships of a space, grouped into categories.
  # @!attribute [r] joined_direct_human_user_count
  #   @return [::Integer]
  #     Output only. Count of human users that have directly joined the space,
  #     not counting users joined by having membership in a joined group.
  # @!attribute [r] joined_group_count
  #   @return [::Integer]
  #     Output only. Count of all groups that have directly joined the space.
  class MembershipCount
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the [access
  # setting](https://support.google.com/chat/answer/11971020) of the space.
  # @!attribute [r] access_state
  #   @return [::Google::Apps::Chat::V1::Space::AccessSettings::AccessState]
  #     Output only. Indicates the access state of the space.
  # @!attribute [rw] audience
  #   @return [::String]
  #     Optional. The resource name of the [target
  #     audience](https://support.google.com/a/answer/9934697) who can discover
  #     the space, join the space, and preview the messages in the space. If
  #     unset, only users or Google Groups who have been individually invited or
  #     added to the space can access it. For details, see [Make a space
  #     discoverable to a target
  #     audience](https://developers.google.com/workspace/chat/space-target-audience).
  #
  #     Format: `audiences/{audience}`
  #
  #     To use the default target audience for the Google Workspace organization,
  #     set to `audiences/default`.
  #
  #     Reading the target audience supports:
  #
  #     - [User
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
  #
  #     - [App
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
  #     with [administrator
  #     approval](https://support.google.com/a?p=chat-app-auth)
  #     with the `chat.app.spaces` scope.
  #
  #     This field is not populated when using the `chat.bot` scope with [app
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).
  #
  #     Setting the target audience requires [user
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
  class AccessSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents the access state of the space.
    module AccessState
      # Access state is unknown or not supported in this API.
      ACCESS_STATE_UNSPECIFIED = 0

      # Only users or Google Groups that have been individually added or
      # invited by other users or Google Workspace administrators can discover
      # and access the space.
      PRIVATE = 1

      # A space manager has granted a target audience access to
      # the space. Users or Google Groups that have been individually added or
      # invited to the space can also discover and access the space. To learn
      # more, see [Make a space discoverable to specific
      # users](https://developers.google.com/workspace/chat/space-target-audience).
      #
      # Creating discoverable spaces requires [user
      # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
      DISCOVERABLE = 2
    end
  end

  # [Permission settings](https://support.google.com/chat/answer/13340792)
  # that you can specify when updating an existing named space.
  #
  # To set permission settings when creating a space, specify the
  # `PredefinedPermissionSettings` field in your request.
  # @!attribute [rw] manage_members_and_groups
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing members and groups in a space.
  # @!attribute [rw] modify_space_details
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for updating space name, avatar, description and
  #     guidelines.
  # @!attribute [rw] toggle_history
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for toggling space history on and off.
  # @!attribute [rw] use_at_mention_all
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for using @all in a space.
  # @!attribute [rw] manage_apps
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing apps in a space.
  # @!attribute [rw] manage_webhooks
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing webhooks in a space.
  # @!attribute [r] post_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Output only. Setting for posting messages in a space.
  # @!attribute [rw] reply_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for replying to messages in a space.
  class PermissionSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents a space permission setting.
  # @!attribute [rw] managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space owners
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MANAGER `ROLE_MANAGER`})
  #     have this permission.
  # @!attribute [rw] assistant_managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space managers
  #     {::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_ASSISTANT_MANAGER `ROLE_ASSISTANT_MANAGER`})
  #     have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether basic space members
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MEMBER `ROLE_MEMBER`})
  #     have this permission.
  class PermissionSetting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Deprecated: Use `SpaceType` instead.
  module Type
    # Reserved.
    TYPE_UNSPECIFIED = 0

    # Conversations between two or more humans.
    ROOM = 1

    # 1:1 Direct Message between a human and a Chat app, where all messages are
    # flat. Note that this doesn't include direct messages between two humans.
    DM = 2
  end

  # The type of space. Required when creating or updating a space. Output only
  # for other usage.
  module SpaceType
    # Reserved.
    SPACE_TYPE_UNSPECIFIED = 0

    # A place where people send messages, share files, and collaborate.
    # A `SPACE` can include Chat apps.
    SPACE = 1

    # Group conversations between 3 or more people.
    # A `GROUP_CHAT` can include Chat apps.
    GROUP_CHAT = 2

    # 1:1 messages between two humans or a human and a Chat app.
    DIRECT_MESSAGE = 3
  end

  # Specifies the type of threading state in the Chat space.
  module SpaceThreadingState
    # Reserved.
    SPACE_THREADING_STATE_UNSPECIFIED = 0

    # Named spaces that support message threads. When users respond to a
    # message, they can reply in-thread, which keeps their response in the
    # context of the original message.
    THREADED_MESSAGES = 2

    # Named spaces where the conversation is organized by topic. Topics and
    # their replies are grouped together.
    GROUPED_MESSAGES = 3

    # Direct messages (DMs) between two people and group conversations between
    # 3 or more people.
    UNTHREADED_MESSAGES = 4
  end

  # Predefined permission settings that you can only specify when creating a
  # named space. More settings might be added in the future.
  # For details about permission settings for named spaces, see [Learn about
  # spaces](https://support.google.com/chat/answer/7659784).
  module PredefinedPermissionSettings
    # Unspecified. Don't use.
    PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED = 0

    # Setting to make the space a collaboration space where all members can
    # post messages.
    COLLABORATION_SPACE = 1

    # Setting to make the space an announcement space where only space managers
    # can post messages.
    ANNOUNCEMENT_SPACE = 2
  end
end

#name::String

Returns Identifier. Resource name of the space.

Format: spaces/{space}

Where {space} represents the system-assigned ID for the space. You can obtain the space ID by calling the spaces.list() method or from the space URL. For example, if the space URL is https://mail.google.com/mail/u/0/#chat/space/AAAAAAAAA, the space ID is AAAAAAAAA.

Returns:

  • (::String)

    Identifier. Resource name of the space.

    Format: spaces/{space}

    Where {space} represents the system-assigned ID for the space. You can obtain the space ID by calling the spaces.list() method or from the space URL. For example, if the space URL is https://mail.google.com/mail/u/0/#chat/space/AAAAAAAAA, the space ID is AAAAAAAAA.



191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
# File 'proto_docs/google/chat/v1/space.rb', line 191

class Space
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Details about the space including description and rules.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A description of the space. For example, describe the space's
  #     discussion topic, functional purpose, or participants.
  #
  #     Supports up to 150 characters.
  # @!attribute [rw] guidelines
  #   @return [::String]
  #     Optional. The space's rules, expectations, and etiquette.
  #
  #     Supports up to 5,000 characters.
  class SpaceDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the count of memberships of a space, grouped into categories.
  # @!attribute [r] joined_direct_human_user_count
  #   @return [::Integer]
  #     Output only. Count of human users that have directly joined the space,
  #     not counting users joined by having membership in a joined group.
  # @!attribute [r] joined_group_count
  #   @return [::Integer]
  #     Output only. Count of all groups that have directly joined the space.
  class MembershipCount
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the [access
  # setting](https://support.google.com/chat/answer/11971020) of the space.
  # @!attribute [r] access_state
  #   @return [::Google::Apps::Chat::V1::Space::AccessSettings::AccessState]
  #     Output only. Indicates the access state of the space.
  # @!attribute [rw] audience
  #   @return [::String]
  #     Optional. The resource name of the [target
  #     audience](https://support.google.com/a/answer/9934697) who can discover
  #     the space, join the space, and preview the messages in the space. If
  #     unset, only users or Google Groups who have been individually invited or
  #     added to the space can access it. For details, see [Make a space
  #     discoverable to a target
  #     audience](https://developers.google.com/workspace/chat/space-target-audience).
  #
  #     Format: `audiences/{audience}`
  #
  #     To use the default target audience for the Google Workspace organization,
  #     set to `audiences/default`.
  #
  #     Reading the target audience supports:
  #
  #     - [User
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
  #
  #     - [App
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
  #     with [administrator
  #     approval](https://support.google.com/a?p=chat-app-auth)
  #     with the `chat.app.spaces` scope.
  #
  #     This field is not populated when using the `chat.bot` scope with [app
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).
  #
  #     Setting the target audience requires [user
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
  class AccessSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents the access state of the space.
    module AccessState
      # Access state is unknown or not supported in this API.
      ACCESS_STATE_UNSPECIFIED = 0

      # Only users or Google Groups that have been individually added or
      # invited by other users or Google Workspace administrators can discover
      # and access the space.
      PRIVATE = 1

      # A space manager has granted a target audience access to
      # the space. Users or Google Groups that have been individually added or
      # invited to the space can also discover and access the space. To learn
      # more, see [Make a space discoverable to specific
      # users](https://developers.google.com/workspace/chat/space-target-audience).
      #
      # Creating discoverable spaces requires [user
      # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
      DISCOVERABLE = 2
    end
  end

  # [Permission settings](https://support.google.com/chat/answer/13340792)
  # that you can specify when updating an existing named space.
  #
  # To set permission settings when creating a space, specify the
  # `PredefinedPermissionSettings` field in your request.
  # @!attribute [rw] manage_members_and_groups
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing members and groups in a space.
  # @!attribute [rw] modify_space_details
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for updating space name, avatar, description and
  #     guidelines.
  # @!attribute [rw] toggle_history
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for toggling space history on and off.
  # @!attribute [rw] use_at_mention_all
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for using @all in a space.
  # @!attribute [rw] manage_apps
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing apps in a space.
  # @!attribute [rw] manage_webhooks
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing webhooks in a space.
  # @!attribute [r] post_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Output only. Setting for posting messages in a space.
  # @!attribute [rw] reply_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for replying to messages in a space.
  class PermissionSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents a space permission setting.
  # @!attribute [rw] managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space owners
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MANAGER `ROLE_MANAGER`})
  #     have this permission.
  # @!attribute [rw] assistant_managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space managers
  #     {::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_ASSISTANT_MANAGER `ROLE_ASSISTANT_MANAGER`})
  #     have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether basic space members
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MEMBER `ROLE_MEMBER`})
  #     have this permission.
  class PermissionSetting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Deprecated: Use `SpaceType` instead.
  module Type
    # Reserved.
    TYPE_UNSPECIFIED = 0

    # Conversations between two or more humans.
    ROOM = 1

    # 1:1 Direct Message between a human and a Chat app, where all messages are
    # flat. Note that this doesn't include direct messages between two humans.
    DM = 2
  end

  # The type of space. Required when creating or updating a space. Output only
  # for other usage.
  module SpaceType
    # Reserved.
    SPACE_TYPE_UNSPECIFIED = 0

    # A place where people send messages, share files, and collaborate.
    # A `SPACE` can include Chat apps.
    SPACE = 1

    # Group conversations between 3 or more people.
    # A `GROUP_CHAT` can include Chat apps.
    GROUP_CHAT = 2

    # 1:1 messages between two humans or a human and a Chat app.
    DIRECT_MESSAGE = 3
  end

  # Specifies the type of threading state in the Chat space.
  module SpaceThreadingState
    # Reserved.
    SPACE_THREADING_STATE_UNSPECIFIED = 0

    # Named spaces that support message threads. When users respond to a
    # message, they can reply in-thread, which keeps their response in the
    # context of the original message.
    THREADED_MESSAGES = 2

    # Named spaces where the conversation is organized by topic. Topics and
    # their replies are grouped together.
    GROUPED_MESSAGES = 3

    # Direct messages (DMs) between two people and group conversations between
    # 3 or more people.
    UNTHREADED_MESSAGES = 4
  end

  # Predefined permission settings that you can only specify when creating a
  # named space. More settings might be added in the future.
  # For details about permission settings for named spaces, see [Learn about
  # spaces](https://support.google.com/chat/answer/7659784).
  module PredefinedPermissionSettings
    # Unspecified. Don't use.
    PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED = 0

    # Setting to make the space a collaboration space where all members can
    # post messages.
    COLLABORATION_SPACE = 1

    # Setting to make the space an announcement space where only space managers
    # can post messages.
    ANNOUNCEMENT_SPACE = 2
  end
end

#permission_settings::Google::Apps::Chat::V1::Space::PermissionSettings

Returns Optional. Space permission settings for existing spaces. Input for updating exact space permission settings, where existing permission settings are replaced. Output lists current permission settings.

Reading and updating permission settings supports:

Note: The following fields are mutually exclusive: permission_settings, predefined_permission_settings. If a field in that set is populated, all other fields in the set will automatically be cleared.

Returns:

  • (::Google::Apps::Chat::V1::Space::PermissionSettings)

    Optional. Space permission settings for existing spaces. Input for updating exact space permission settings, where existing permission settings are replaced. Output lists current permission settings.

    Reading and updating permission settings supports:

    Note: The following fields are mutually exclusive: permission_settings, predefined_permission_settings. If a field in that set is populated, all other fields in the set will automatically be cleared.



191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
# File 'proto_docs/google/chat/v1/space.rb', line 191

class Space
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Details about the space including description and rules.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A description of the space. For example, describe the space's
  #     discussion topic, functional purpose, or participants.
  #
  #     Supports up to 150 characters.
  # @!attribute [rw] guidelines
  #   @return [::String]
  #     Optional. The space's rules, expectations, and etiquette.
  #
  #     Supports up to 5,000 characters.
  class SpaceDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the count of memberships of a space, grouped into categories.
  # @!attribute [r] joined_direct_human_user_count
  #   @return [::Integer]
  #     Output only. Count of human users that have directly joined the space,
  #     not counting users joined by having membership in a joined group.
  # @!attribute [r] joined_group_count
  #   @return [::Integer]
  #     Output only. Count of all groups that have directly joined the space.
  class MembershipCount
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the [access
  # setting](https://support.google.com/chat/answer/11971020) of the space.
  # @!attribute [r] access_state
  #   @return [::Google::Apps::Chat::V1::Space::AccessSettings::AccessState]
  #     Output only. Indicates the access state of the space.
  # @!attribute [rw] audience
  #   @return [::String]
  #     Optional. The resource name of the [target
  #     audience](https://support.google.com/a/answer/9934697) who can discover
  #     the space, join the space, and preview the messages in the space. If
  #     unset, only users or Google Groups who have been individually invited or
  #     added to the space can access it. For details, see [Make a space
  #     discoverable to a target
  #     audience](https://developers.google.com/workspace/chat/space-target-audience).
  #
  #     Format: `audiences/{audience}`
  #
  #     To use the default target audience for the Google Workspace organization,
  #     set to `audiences/default`.
  #
  #     Reading the target audience supports:
  #
  #     - [User
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
  #
  #     - [App
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
  #     with [administrator
  #     approval](https://support.google.com/a?p=chat-app-auth)
  #     with the `chat.app.spaces` scope.
  #
  #     This field is not populated when using the `chat.bot` scope with [app
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).
  #
  #     Setting the target audience requires [user
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
  class AccessSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents the access state of the space.
    module AccessState
      # Access state is unknown or not supported in this API.
      ACCESS_STATE_UNSPECIFIED = 0

      # Only users or Google Groups that have been individually added or
      # invited by other users or Google Workspace administrators can discover
      # and access the space.
      PRIVATE = 1

      # A space manager has granted a target audience access to
      # the space. Users or Google Groups that have been individually added or
      # invited to the space can also discover and access the space. To learn
      # more, see [Make a space discoverable to specific
      # users](https://developers.google.com/workspace/chat/space-target-audience).
      #
      # Creating discoverable spaces requires [user
      # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
      DISCOVERABLE = 2
    end
  end

  # [Permission settings](https://support.google.com/chat/answer/13340792)
  # that you can specify when updating an existing named space.
  #
  # To set permission settings when creating a space, specify the
  # `PredefinedPermissionSettings` field in your request.
  # @!attribute [rw] manage_members_and_groups
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing members and groups in a space.
  # @!attribute [rw] modify_space_details
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for updating space name, avatar, description and
  #     guidelines.
  # @!attribute [rw] toggle_history
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for toggling space history on and off.
  # @!attribute [rw] use_at_mention_all
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for using @all in a space.
  # @!attribute [rw] manage_apps
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing apps in a space.
  # @!attribute [rw] manage_webhooks
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing webhooks in a space.
  # @!attribute [r] post_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Output only. Setting for posting messages in a space.
  # @!attribute [rw] reply_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for replying to messages in a space.
  class PermissionSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents a space permission setting.
  # @!attribute [rw] managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space owners
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MANAGER `ROLE_MANAGER`})
  #     have this permission.
  # @!attribute [rw] assistant_managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space managers
  #     {::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_ASSISTANT_MANAGER `ROLE_ASSISTANT_MANAGER`})
  #     have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether basic space members
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MEMBER `ROLE_MEMBER`})
  #     have this permission.
  class PermissionSetting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Deprecated: Use `SpaceType` instead.
  module Type
    # Reserved.
    TYPE_UNSPECIFIED = 0

    # Conversations between two or more humans.
    ROOM = 1

    # 1:1 Direct Message between a human and a Chat app, where all messages are
    # flat. Note that this doesn't include direct messages between two humans.
    DM = 2
  end

  # The type of space. Required when creating or updating a space. Output only
  # for other usage.
  module SpaceType
    # Reserved.
    SPACE_TYPE_UNSPECIFIED = 0

    # A place where people send messages, share files, and collaborate.
    # A `SPACE` can include Chat apps.
    SPACE = 1

    # Group conversations between 3 or more people.
    # A `GROUP_CHAT` can include Chat apps.
    GROUP_CHAT = 2

    # 1:1 messages between two humans or a human and a Chat app.
    DIRECT_MESSAGE = 3
  end

  # Specifies the type of threading state in the Chat space.
  module SpaceThreadingState
    # Reserved.
    SPACE_THREADING_STATE_UNSPECIFIED = 0

    # Named spaces that support message threads. When users respond to a
    # message, they can reply in-thread, which keeps their response in the
    # context of the original message.
    THREADED_MESSAGES = 2

    # Named spaces where the conversation is organized by topic. Topics and
    # their replies are grouped together.
    GROUPED_MESSAGES = 3

    # Direct messages (DMs) between two people and group conversations between
    # 3 or more people.
    UNTHREADED_MESSAGES = 4
  end

  # Predefined permission settings that you can only specify when creating a
  # named space. More settings might be added in the future.
  # For details about permission settings for named spaces, see [Learn about
  # spaces](https://support.google.com/chat/answer/7659784).
  module PredefinedPermissionSettings
    # Unspecified. Don't use.
    PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED = 0

    # Setting to make the space a collaboration space where all members can
    # post messages.
    COLLABORATION_SPACE = 1

    # Setting to make the space an announcement space where only space managers
    # can post messages.
    ANNOUNCEMENT_SPACE = 2
  end
end

#predefined_permission_settings::Google::Apps::Chat::V1::Space::PredefinedPermissionSettings

Returns Optional. Input only. Predefined space permission settings, input only when creating a space. If the field is not set, a collaboration space is created. After you create the space, settings are populated in the PermissionSettings field.

Setting predefined permission settings supports:

Note: The following fields are mutually exclusive: predefined_permission_settings, permission_settings. If a field in that set is populated, all other fields in the set will automatically be cleared.

Returns:

  • (::Google::Apps::Chat::V1::Space::PredefinedPermissionSettings)

    Optional. Input only. Predefined space permission settings, input only when creating a space. If the field is not set, a collaboration space is created. After you create the space, settings are populated in the PermissionSettings field.

    Setting predefined permission settings supports:

    Note: The following fields are mutually exclusive: predefined_permission_settings, permission_settings. If a field in that set is populated, all other fields in the set will automatically be cleared.



191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
# File 'proto_docs/google/chat/v1/space.rb', line 191

class Space
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Details about the space including description and rules.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A description of the space. For example, describe the space's
  #     discussion topic, functional purpose, or participants.
  #
  #     Supports up to 150 characters.
  # @!attribute [rw] guidelines
  #   @return [::String]
  #     Optional. The space's rules, expectations, and etiquette.
  #
  #     Supports up to 5,000 characters.
  class SpaceDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the count of memberships of a space, grouped into categories.
  # @!attribute [r] joined_direct_human_user_count
  #   @return [::Integer]
  #     Output only. Count of human users that have directly joined the space,
  #     not counting users joined by having membership in a joined group.
  # @!attribute [r] joined_group_count
  #   @return [::Integer]
  #     Output only. Count of all groups that have directly joined the space.
  class MembershipCount
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the [access
  # setting](https://support.google.com/chat/answer/11971020) of the space.
  # @!attribute [r] access_state
  #   @return [::Google::Apps::Chat::V1::Space::AccessSettings::AccessState]
  #     Output only. Indicates the access state of the space.
  # @!attribute [rw] audience
  #   @return [::String]
  #     Optional. The resource name of the [target
  #     audience](https://support.google.com/a/answer/9934697) who can discover
  #     the space, join the space, and preview the messages in the space. If
  #     unset, only users or Google Groups who have been individually invited or
  #     added to the space can access it. For details, see [Make a space
  #     discoverable to a target
  #     audience](https://developers.google.com/workspace/chat/space-target-audience).
  #
  #     Format: `audiences/{audience}`
  #
  #     To use the default target audience for the Google Workspace organization,
  #     set to `audiences/default`.
  #
  #     Reading the target audience supports:
  #
  #     - [User
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
  #
  #     - [App
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
  #     with [administrator
  #     approval](https://support.google.com/a?p=chat-app-auth)
  #     with the `chat.app.spaces` scope.
  #
  #     This field is not populated when using the `chat.bot` scope with [app
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).
  #
  #     Setting the target audience requires [user
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
  class AccessSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents the access state of the space.
    module AccessState
      # Access state is unknown or not supported in this API.
      ACCESS_STATE_UNSPECIFIED = 0

      # Only users or Google Groups that have been individually added or
      # invited by other users or Google Workspace administrators can discover
      # and access the space.
      PRIVATE = 1

      # A space manager has granted a target audience access to
      # the space. Users or Google Groups that have been individually added or
      # invited to the space can also discover and access the space. To learn
      # more, see [Make a space discoverable to specific
      # users](https://developers.google.com/workspace/chat/space-target-audience).
      #
      # Creating discoverable spaces requires [user
      # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
      DISCOVERABLE = 2
    end
  end

  # [Permission settings](https://support.google.com/chat/answer/13340792)
  # that you can specify when updating an existing named space.
  #
  # To set permission settings when creating a space, specify the
  # `PredefinedPermissionSettings` field in your request.
  # @!attribute [rw] manage_members_and_groups
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing members and groups in a space.
  # @!attribute [rw] modify_space_details
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for updating space name, avatar, description and
  #     guidelines.
  # @!attribute [rw] toggle_history
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for toggling space history on and off.
  # @!attribute [rw] use_at_mention_all
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for using @all in a space.
  # @!attribute [rw] manage_apps
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing apps in a space.
  # @!attribute [rw] manage_webhooks
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing webhooks in a space.
  # @!attribute [r] post_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Output only. Setting for posting messages in a space.
  # @!attribute [rw] reply_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for replying to messages in a space.
  class PermissionSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents a space permission setting.
  # @!attribute [rw] managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space owners
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MANAGER `ROLE_MANAGER`})
  #     have this permission.
  # @!attribute [rw] assistant_managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space managers
  #     {::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_ASSISTANT_MANAGER `ROLE_ASSISTANT_MANAGER`})
  #     have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether basic space members
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MEMBER `ROLE_MEMBER`})
  #     have this permission.
  class PermissionSetting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Deprecated: Use `SpaceType` instead.
  module Type
    # Reserved.
    TYPE_UNSPECIFIED = 0

    # Conversations between two or more humans.
    ROOM = 1

    # 1:1 Direct Message between a human and a Chat app, where all messages are
    # flat. Note that this doesn't include direct messages between two humans.
    DM = 2
  end

  # The type of space. Required when creating or updating a space. Output only
  # for other usage.
  module SpaceType
    # Reserved.
    SPACE_TYPE_UNSPECIFIED = 0

    # A place where people send messages, share files, and collaborate.
    # A `SPACE` can include Chat apps.
    SPACE = 1

    # Group conversations between 3 or more people.
    # A `GROUP_CHAT` can include Chat apps.
    GROUP_CHAT = 2

    # 1:1 messages between two humans or a human and a Chat app.
    DIRECT_MESSAGE = 3
  end

  # Specifies the type of threading state in the Chat space.
  module SpaceThreadingState
    # Reserved.
    SPACE_THREADING_STATE_UNSPECIFIED = 0

    # Named spaces that support message threads. When users respond to a
    # message, they can reply in-thread, which keeps their response in the
    # context of the original message.
    THREADED_MESSAGES = 2

    # Named spaces where the conversation is organized by topic. Topics and
    # their replies are grouped together.
    GROUPED_MESSAGES = 3

    # Direct messages (DMs) between two people and group conversations between
    # 3 or more people.
    UNTHREADED_MESSAGES = 4
  end

  # Predefined permission settings that you can only specify when creating a
  # named space. More settings might be added in the future.
  # For details about permission settings for named spaces, see [Learn about
  # spaces](https://support.google.com/chat/answer/7659784).
  module PredefinedPermissionSettings
    # Unspecified. Don't use.
    PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED = 0

    # Setting to make the space a collaboration space where all members can
    # post messages.
    COLLABORATION_SPACE = 1

    # Setting to make the space an announcement space where only space managers
    # can post messages.
    ANNOUNCEMENT_SPACE = 2
  end
end

#single_user_bot_dm::Boolean

Returns Optional. Whether the space is a DM between a Chat app and a single human.

Returns:

  • (::Boolean)

    Optional. Whether the space is a DM between a Chat app and a single human.



191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
# File 'proto_docs/google/chat/v1/space.rb', line 191

class Space
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Details about the space including description and rules.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A description of the space. For example, describe the space's
  #     discussion topic, functional purpose, or participants.
  #
  #     Supports up to 150 characters.
  # @!attribute [rw] guidelines
  #   @return [::String]
  #     Optional. The space's rules, expectations, and etiquette.
  #
  #     Supports up to 5,000 characters.
  class SpaceDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the count of memberships of a space, grouped into categories.
  # @!attribute [r] joined_direct_human_user_count
  #   @return [::Integer]
  #     Output only. Count of human users that have directly joined the space,
  #     not counting users joined by having membership in a joined group.
  # @!attribute [r] joined_group_count
  #   @return [::Integer]
  #     Output only. Count of all groups that have directly joined the space.
  class MembershipCount
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the [access
  # setting](https://support.google.com/chat/answer/11971020) of the space.
  # @!attribute [r] access_state
  #   @return [::Google::Apps::Chat::V1::Space::AccessSettings::AccessState]
  #     Output only. Indicates the access state of the space.
  # @!attribute [rw] audience
  #   @return [::String]
  #     Optional. The resource name of the [target
  #     audience](https://support.google.com/a/answer/9934697) who can discover
  #     the space, join the space, and preview the messages in the space. If
  #     unset, only users or Google Groups who have been individually invited or
  #     added to the space can access it. For details, see [Make a space
  #     discoverable to a target
  #     audience](https://developers.google.com/workspace/chat/space-target-audience).
  #
  #     Format: `audiences/{audience}`
  #
  #     To use the default target audience for the Google Workspace organization,
  #     set to `audiences/default`.
  #
  #     Reading the target audience supports:
  #
  #     - [User
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
  #
  #     - [App
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
  #     with [administrator
  #     approval](https://support.google.com/a?p=chat-app-auth)
  #     with the `chat.app.spaces` scope.
  #
  #     This field is not populated when using the `chat.bot` scope with [app
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).
  #
  #     Setting the target audience requires [user
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
  class AccessSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents the access state of the space.
    module AccessState
      # Access state is unknown or not supported in this API.
      ACCESS_STATE_UNSPECIFIED = 0

      # Only users or Google Groups that have been individually added or
      # invited by other users or Google Workspace administrators can discover
      # and access the space.
      PRIVATE = 1

      # A space manager has granted a target audience access to
      # the space. Users or Google Groups that have been individually added or
      # invited to the space can also discover and access the space. To learn
      # more, see [Make a space discoverable to specific
      # users](https://developers.google.com/workspace/chat/space-target-audience).
      #
      # Creating discoverable spaces requires [user
      # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
      DISCOVERABLE = 2
    end
  end

  # [Permission settings](https://support.google.com/chat/answer/13340792)
  # that you can specify when updating an existing named space.
  #
  # To set permission settings when creating a space, specify the
  # `PredefinedPermissionSettings` field in your request.
  # @!attribute [rw] manage_members_and_groups
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing members and groups in a space.
  # @!attribute [rw] modify_space_details
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for updating space name, avatar, description and
  #     guidelines.
  # @!attribute [rw] toggle_history
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for toggling space history on and off.
  # @!attribute [rw] use_at_mention_all
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for using @all in a space.
  # @!attribute [rw] manage_apps
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing apps in a space.
  # @!attribute [rw] manage_webhooks
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing webhooks in a space.
  # @!attribute [r] post_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Output only. Setting for posting messages in a space.
  # @!attribute [rw] reply_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for replying to messages in a space.
  class PermissionSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents a space permission setting.
  # @!attribute [rw] managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space owners
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MANAGER `ROLE_MANAGER`})
  #     have this permission.
  # @!attribute [rw] assistant_managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space managers
  #     {::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_ASSISTANT_MANAGER `ROLE_ASSISTANT_MANAGER`})
  #     have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether basic space members
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MEMBER `ROLE_MEMBER`})
  #     have this permission.
  class PermissionSetting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Deprecated: Use `SpaceType` instead.
  module Type
    # Reserved.
    TYPE_UNSPECIFIED = 0

    # Conversations between two or more humans.
    ROOM = 1

    # 1:1 Direct Message between a human and a Chat app, where all messages are
    # flat. Note that this doesn't include direct messages between two humans.
    DM = 2
  end

  # The type of space. Required when creating or updating a space. Output only
  # for other usage.
  module SpaceType
    # Reserved.
    SPACE_TYPE_UNSPECIFIED = 0

    # A place where people send messages, share files, and collaborate.
    # A `SPACE` can include Chat apps.
    SPACE = 1

    # Group conversations between 3 or more people.
    # A `GROUP_CHAT` can include Chat apps.
    GROUP_CHAT = 2

    # 1:1 messages between two humans or a human and a Chat app.
    DIRECT_MESSAGE = 3
  end

  # Specifies the type of threading state in the Chat space.
  module SpaceThreadingState
    # Reserved.
    SPACE_THREADING_STATE_UNSPECIFIED = 0

    # Named spaces that support message threads. When users respond to a
    # message, they can reply in-thread, which keeps their response in the
    # context of the original message.
    THREADED_MESSAGES = 2

    # Named spaces where the conversation is organized by topic. Topics and
    # their replies are grouped together.
    GROUPED_MESSAGES = 3

    # Direct messages (DMs) between two people and group conversations between
    # 3 or more people.
    UNTHREADED_MESSAGES = 4
  end

  # Predefined permission settings that you can only specify when creating a
  # named space. More settings might be added in the future.
  # For details about permission settings for named spaces, see [Learn about
  # spaces](https://support.google.com/chat/answer/7659784).
  module PredefinedPermissionSettings
    # Unspecified. Don't use.
    PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED = 0

    # Setting to make the space a collaboration space where all members can
    # post messages.
    COLLABORATION_SPACE = 1

    # Setting to make the space an announcement space where only space managers
    # can post messages.
    ANNOUNCEMENT_SPACE = 2
  end
end

#space_details::Google::Apps::Chat::V1::Space::SpaceDetails

Returns Optional. Details about the space including description and rules.

Returns:



191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
# File 'proto_docs/google/chat/v1/space.rb', line 191

class Space
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Details about the space including description and rules.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A description of the space. For example, describe the space's
  #     discussion topic, functional purpose, or participants.
  #
  #     Supports up to 150 characters.
  # @!attribute [rw] guidelines
  #   @return [::String]
  #     Optional. The space's rules, expectations, and etiquette.
  #
  #     Supports up to 5,000 characters.
  class SpaceDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the count of memberships of a space, grouped into categories.
  # @!attribute [r] joined_direct_human_user_count
  #   @return [::Integer]
  #     Output only. Count of human users that have directly joined the space,
  #     not counting users joined by having membership in a joined group.
  # @!attribute [r] joined_group_count
  #   @return [::Integer]
  #     Output only. Count of all groups that have directly joined the space.
  class MembershipCount
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the [access
  # setting](https://support.google.com/chat/answer/11971020) of the space.
  # @!attribute [r] access_state
  #   @return [::Google::Apps::Chat::V1::Space::AccessSettings::AccessState]
  #     Output only. Indicates the access state of the space.
  # @!attribute [rw] audience
  #   @return [::String]
  #     Optional. The resource name of the [target
  #     audience](https://support.google.com/a/answer/9934697) who can discover
  #     the space, join the space, and preview the messages in the space. If
  #     unset, only users or Google Groups who have been individually invited or
  #     added to the space can access it. For details, see [Make a space
  #     discoverable to a target
  #     audience](https://developers.google.com/workspace/chat/space-target-audience).
  #
  #     Format: `audiences/{audience}`
  #
  #     To use the default target audience for the Google Workspace organization,
  #     set to `audiences/default`.
  #
  #     Reading the target audience supports:
  #
  #     - [User
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
  #
  #     - [App
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
  #     with [administrator
  #     approval](https://support.google.com/a?p=chat-app-auth)
  #     with the `chat.app.spaces` scope.
  #
  #     This field is not populated when using the `chat.bot` scope with [app
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).
  #
  #     Setting the target audience requires [user
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
  class AccessSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents the access state of the space.
    module AccessState
      # Access state is unknown or not supported in this API.
      ACCESS_STATE_UNSPECIFIED = 0

      # Only users or Google Groups that have been individually added or
      # invited by other users or Google Workspace administrators can discover
      # and access the space.
      PRIVATE = 1

      # A space manager has granted a target audience access to
      # the space. Users or Google Groups that have been individually added or
      # invited to the space can also discover and access the space. To learn
      # more, see [Make a space discoverable to specific
      # users](https://developers.google.com/workspace/chat/space-target-audience).
      #
      # Creating discoverable spaces requires [user
      # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
      DISCOVERABLE = 2
    end
  end

  # [Permission settings](https://support.google.com/chat/answer/13340792)
  # that you can specify when updating an existing named space.
  #
  # To set permission settings when creating a space, specify the
  # `PredefinedPermissionSettings` field in your request.
  # @!attribute [rw] manage_members_and_groups
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing members and groups in a space.
  # @!attribute [rw] modify_space_details
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for updating space name, avatar, description and
  #     guidelines.
  # @!attribute [rw] toggle_history
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for toggling space history on and off.
  # @!attribute [rw] use_at_mention_all
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for using @all in a space.
  # @!attribute [rw] manage_apps
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing apps in a space.
  # @!attribute [rw] manage_webhooks
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing webhooks in a space.
  # @!attribute [r] post_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Output only. Setting for posting messages in a space.
  # @!attribute [rw] reply_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for replying to messages in a space.
  class PermissionSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents a space permission setting.
  # @!attribute [rw] managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space owners
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MANAGER `ROLE_MANAGER`})
  #     have this permission.
  # @!attribute [rw] assistant_managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space managers
  #     {::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_ASSISTANT_MANAGER `ROLE_ASSISTANT_MANAGER`})
  #     have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether basic space members
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MEMBER `ROLE_MEMBER`})
  #     have this permission.
  class PermissionSetting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Deprecated: Use `SpaceType` instead.
  module Type
    # Reserved.
    TYPE_UNSPECIFIED = 0

    # Conversations between two or more humans.
    ROOM = 1

    # 1:1 Direct Message between a human and a Chat app, where all messages are
    # flat. Note that this doesn't include direct messages between two humans.
    DM = 2
  end

  # The type of space. Required when creating or updating a space. Output only
  # for other usage.
  module SpaceType
    # Reserved.
    SPACE_TYPE_UNSPECIFIED = 0

    # A place where people send messages, share files, and collaborate.
    # A `SPACE` can include Chat apps.
    SPACE = 1

    # Group conversations between 3 or more people.
    # A `GROUP_CHAT` can include Chat apps.
    GROUP_CHAT = 2

    # 1:1 messages between two humans or a human and a Chat app.
    DIRECT_MESSAGE = 3
  end

  # Specifies the type of threading state in the Chat space.
  module SpaceThreadingState
    # Reserved.
    SPACE_THREADING_STATE_UNSPECIFIED = 0

    # Named spaces that support message threads. When users respond to a
    # message, they can reply in-thread, which keeps their response in the
    # context of the original message.
    THREADED_MESSAGES = 2

    # Named spaces where the conversation is organized by topic. Topics and
    # their replies are grouped together.
    GROUPED_MESSAGES = 3

    # Direct messages (DMs) between two people and group conversations between
    # 3 or more people.
    UNTHREADED_MESSAGES = 4
  end

  # Predefined permission settings that you can only specify when creating a
  # named space. More settings might be added in the future.
  # For details about permission settings for named spaces, see [Learn about
  # spaces](https://support.google.com/chat/answer/7659784).
  module PredefinedPermissionSettings
    # Unspecified. Don't use.
    PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED = 0

    # Setting to make the space a collaboration space where all members can
    # post messages.
    COLLABORATION_SPACE = 1

    # Setting to make the space an announcement space where only space managers
    # can post messages.
    ANNOUNCEMENT_SPACE = 2
  end
end

#space_history_state::Google::Apps::Chat::V1::HistoryState

Returns Optional. The message history state for messages and threads in this space.

Returns:



191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
# File 'proto_docs/google/chat/v1/space.rb', line 191

class Space
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Details about the space including description and rules.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A description of the space. For example, describe the space's
  #     discussion topic, functional purpose, or participants.
  #
  #     Supports up to 150 characters.
  # @!attribute [rw] guidelines
  #   @return [::String]
  #     Optional. The space's rules, expectations, and etiquette.
  #
  #     Supports up to 5,000 characters.
  class SpaceDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the count of memberships of a space, grouped into categories.
  # @!attribute [r] joined_direct_human_user_count
  #   @return [::Integer]
  #     Output only. Count of human users that have directly joined the space,
  #     not counting users joined by having membership in a joined group.
  # @!attribute [r] joined_group_count
  #   @return [::Integer]
  #     Output only. Count of all groups that have directly joined the space.
  class MembershipCount
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the [access
  # setting](https://support.google.com/chat/answer/11971020) of the space.
  # @!attribute [r] access_state
  #   @return [::Google::Apps::Chat::V1::Space::AccessSettings::AccessState]
  #     Output only. Indicates the access state of the space.
  # @!attribute [rw] audience
  #   @return [::String]
  #     Optional. The resource name of the [target
  #     audience](https://support.google.com/a/answer/9934697) who can discover
  #     the space, join the space, and preview the messages in the space. If
  #     unset, only users or Google Groups who have been individually invited or
  #     added to the space can access it. For details, see [Make a space
  #     discoverable to a target
  #     audience](https://developers.google.com/workspace/chat/space-target-audience).
  #
  #     Format: `audiences/{audience}`
  #
  #     To use the default target audience for the Google Workspace organization,
  #     set to `audiences/default`.
  #
  #     Reading the target audience supports:
  #
  #     - [User
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
  #
  #     - [App
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
  #     with [administrator
  #     approval](https://support.google.com/a?p=chat-app-auth)
  #     with the `chat.app.spaces` scope.
  #
  #     This field is not populated when using the `chat.bot` scope with [app
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).
  #
  #     Setting the target audience requires [user
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
  class AccessSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents the access state of the space.
    module AccessState
      # Access state is unknown or not supported in this API.
      ACCESS_STATE_UNSPECIFIED = 0

      # Only users or Google Groups that have been individually added or
      # invited by other users or Google Workspace administrators can discover
      # and access the space.
      PRIVATE = 1

      # A space manager has granted a target audience access to
      # the space. Users or Google Groups that have been individually added or
      # invited to the space can also discover and access the space. To learn
      # more, see [Make a space discoverable to specific
      # users](https://developers.google.com/workspace/chat/space-target-audience).
      #
      # Creating discoverable spaces requires [user
      # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
      DISCOVERABLE = 2
    end
  end

  # [Permission settings](https://support.google.com/chat/answer/13340792)
  # that you can specify when updating an existing named space.
  #
  # To set permission settings when creating a space, specify the
  # `PredefinedPermissionSettings` field in your request.
  # @!attribute [rw] manage_members_and_groups
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing members and groups in a space.
  # @!attribute [rw] modify_space_details
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for updating space name, avatar, description and
  #     guidelines.
  # @!attribute [rw] toggle_history
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for toggling space history on and off.
  # @!attribute [rw] use_at_mention_all
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for using @all in a space.
  # @!attribute [rw] manage_apps
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing apps in a space.
  # @!attribute [rw] manage_webhooks
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing webhooks in a space.
  # @!attribute [r] post_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Output only. Setting for posting messages in a space.
  # @!attribute [rw] reply_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for replying to messages in a space.
  class PermissionSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents a space permission setting.
  # @!attribute [rw] managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space owners
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MANAGER `ROLE_MANAGER`})
  #     have this permission.
  # @!attribute [rw] assistant_managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space managers
  #     {::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_ASSISTANT_MANAGER `ROLE_ASSISTANT_MANAGER`})
  #     have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether basic space members
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MEMBER `ROLE_MEMBER`})
  #     have this permission.
  class PermissionSetting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Deprecated: Use `SpaceType` instead.
  module Type
    # Reserved.
    TYPE_UNSPECIFIED = 0

    # Conversations between two or more humans.
    ROOM = 1

    # 1:1 Direct Message between a human and a Chat app, where all messages are
    # flat. Note that this doesn't include direct messages between two humans.
    DM = 2
  end

  # The type of space. Required when creating or updating a space. Output only
  # for other usage.
  module SpaceType
    # Reserved.
    SPACE_TYPE_UNSPECIFIED = 0

    # A place where people send messages, share files, and collaborate.
    # A `SPACE` can include Chat apps.
    SPACE = 1

    # Group conversations between 3 or more people.
    # A `GROUP_CHAT` can include Chat apps.
    GROUP_CHAT = 2

    # 1:1 messages between two humans or a human and a Chat app.
    DIRECT_MESSAGE = 3
  end

  # Specifies the type of threading state in the Chat space.
  module SpaceThreadingState
    # Reserved.
    SPACE_THREADING_STATE_UNSPECIFIED = 0

    # Named spaces that support message threads. When users respond to a
    # message, they can reply in-thread, which keeps their response in the
    # context of the original message.
    THREADED_MESSAGES = 2

    # Named spaces where the conversation is organized by topic. Topics and
    # their replies are grouped together.
    GROUPED_MESSAGES = 3

    # Direct messages (DMs) between two people and group conversations between
    # 3 or more people.
    UNTHREADED_MESSAGES = 4
  end

  # Predefined permission settings that you can only specify when creating a
  # named space. More settings might be added in the future.
  # For details about permission settings for named spaces, see [Learn about
  # spaces](https://support.google.com/chat/answer/7659784).
  module PredefinedPermissionSettings
    # Unspecified. Don't use.
    PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED = 0

    # Setting to make the space a collaboration space where all members can
    # post messages.
    COLLABORATION_SPACE = 1

    # Setting to make the space an announcement space where only space managers
    # can post messages.
    ANNOUNCEMENT_SPACE = 2
  end
end

#space_threading_state::Google::Apps::Chat::V1::Space::SpaceThreadingState (readonly)

Returns Output only. The threading state in the Chat space.

Returns:



191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
# File 'proto_docs/google/chat/v1/space.rb', line 191

class Space
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Details about the space including description and rules.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A description of the space. For example, describe the space's
  #     discussion topic, functional purpose, or participants.
  #
  #     Supports up to 150 characters.
  # @!attribute [rw] guidelines
  #   @return [::String]
  #     Optional. The space's rules, expectations, and etiquette.
  #
  #     Supports up to 5,000 characters.
  class SpaceDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the count of memberships of a space, grouped into categories.
  # @!attribute [r] joined_direct_human_user_count
  #   @return [::Integer]
  #     Output only. Count of human users that have directly joined the space,
  #     not counting users joined by having membership in a joined group.
  # @!attribute [r] joined_group_count
  #   @return [::Integer]
  #     Output only. Count of all groups that have directly joined the space.
  class MembershipCount
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the [access
  # setting](https://support.google.com/chat/answer/11971020) of the space.
  # @!attribute [r] access_state
  #   @return [::Google::Apps::Chat::V1::Space::AccessSettings::AccessState]
  #     Output only. Indicates the access state of the space.
  # @!attribute [rw] audience
  #   @return [::String]
  #     Optional. The resource name of the [target
  #     audience](https://support.google.com/a/answer/9934697) who can discover
  #     the space, join the space, and preview the messages in the space. If
  #     unset, only users or Google Groups who have been individually invited or
  #     added to the space can access it. For details, see [Make a space
  #     discoverable to a target
  #     audience](https://developers.google.com/workspace/chat/space-target-audience).
  #
  #     Format: `audiences/{audience}`
  #
  #     To use the default target audience for the Google Workspace organization,
  #     set to `audiences/default`.
  #
  #     Reading the target audience supports:
  #
  #     - [User
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
  #
  #     - [App
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
  #     with [administrator
  #     approval](https://support.google.com/a?p=chat-app-auth)
  #     with the `chat.app.spaces` scope.
  #
  #     This field is not populated when using the `chat.bot` scope with [app
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).
  #
  #     Setting the target audience requires [user
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
  class AccessSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents the access state of the space.
    module AccessState
      # Access state is unknown or not supported in this API.
      ACCESS_STATE_UNSPECIFIED = 0

      # Only users or Google Groups that have been individually added or
      # invited by other users or Google Workspace administrators can discover
      # and access the space.
      PRIVATE = 1

      # A space manager has granted a target audience access to
      # the space. Users or Google Groups that have been individually added or
      # invited to the space can also discover and access the space. To learn
      # more, see [Make a space discoverable to specific
      # users](https://developers.google.com/workspace/chat/space-target-audience).
      #
      # Creating discoverable spaces requires [user
      # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
      DISCOVERABLE = 2
    end
  end

  # [Permission settings](https://support.google.com/chat/answer/13340792)
  # that you can specify when updating an existing named space.
  #
  # To set permission settings when creating a space, specify the
  # `PredefinedPermissionSettings` field in your request.
  # @!attribute [rw] manage_members_and_groups
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing members and groups in a space.
  # @!attribute [rw] modify_space_details
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for updating space name, avatar, description and
  #     guidelines.
  # @!attribute [rw] toggle_history
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for toggling space history on and off.
  # @!attribute [rw] use_at_mention_all
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for using @all in a space.
  # @!attribute [rw] manage_apps
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing apps in a space.
  # @!attribute [rw] manage_webhooks
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing webhooks in a space.
  # @!attribute [r] post_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Output only. Setting for posting messages in a space.
  # @!attribute [rw] reply_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for replying to messages in a space.
  class PermissionSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents a space permission setting.
  # @!attribute [rw] managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space owners
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MANAGER `ROLE_MANAGER`})
  #     have this permission.
  # @!attribute [rw] assistant_managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space managers
  #     {::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_ASSISTANT_MANAGER `ROLE_ASSISTANT_MANAGER`})
  #     have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether basic space members
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MEMBER `ROLE_MEMBER`})
  #     have this permission.
  class PermissionSetting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Deprecated: Use `SpaceType` instead.
  module Type
    # Reserved.
    TYPE_UNSPECIFIED = 0

    # Conversations between two or more humans.
    ROOM = 1

    # 1:1 Direct Message between a human and a Chat app, where all messages are
    # flat. Note that this doesn't include direct messages between two humans.
    DM = 2
  end

  # The type of space. Required when creating or updating a space. Output only
  # for other usage.
  module SpaceType
    # Reserved.
    SPACE_TYPE_UNSPECIFIED = 0

    # A place where people send messages, share files, and collaborate.
    # A `SPACE` can include Chat apps.
    SPACE = 1

    # Group conversations between 3 or more people.
    # A `GROUP_CHAT` can include Chat apps.
    GROUP_CHAT = 2

    # 1:1 messages between two humans or a human and a Chat app.
    DIRECT_MESSAGE = 3
  end

  # Specifies the type of threading state in the Chat space.
  module SpaceThreadingState
    # Reserved.
    SPACE_THREADING_STATE_UNSPECIFIED = 0

    # Named spaces that support message threads. When users respond to a
    # message, they can reply in-thread, which keeps their response in the
    # context of the original message.
    THREADED_MESSAGES = 2

    # Named spaces where the conversation is organized by topic. Topics and
    # their replies are grouped together.
    GROUPED_MESSAGES = 3

    # Direct messages (DMs) between two people and group conversations between
    # 3 or more people.
    UNTHREADED_MESSAGES = 4
  end

  # Predefined permission settings that you can only specify when creating a
  # named space. More settings might be added in the future.
  # For details about permission settings for named spaces, see [Learn about
  # spaces](https://support.google.com/chat/answer/7659784).
  module PredefinedPermissionSettings
    # Unspecified. Don't use.
    PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED = 0

    # Setting to make the space a collaboration space where all members can
    # post messages.
    COLLABORATION_SPACE = 1

    # Setting to make the space an announcement space where only space managers
    # can post messages.
    ANNOUNCEMENT_SPACE = 2
  end
end

#space_type::Google::Apps::Chat::V1::Space::SpaceType

Returns Optional. The type of space. Required when creating a space or updating the space type of a space. Output only for other usage.

Returns:



191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
# File 'proto_docs/google/chat/v1/space.rb', line 191

class Space
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Details about the space including description and rules.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A description of the space. For example, describe the space's
  #     discussion topic, functional purpose, or participants.
  #
  #     Supports up to 150 characters.
  # @!attribute [rw] guidelines
  #   @return [::String]
  #     Optional. The space's rules, expectations, and etiquette.
  #
  #     Supports up to 5,000 characters.
  class SpaceDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the count of memberships of a space, grouped into categories.
  # @!attribute [r] joined_direct_human_user_count
  #   @return [::Integer]
  #     Output only. Count of human users that have directly joined the space,
  #     not counting users joined by having membership in a joined group.
  # @!attribute [r] joined_group_count
  #   @return [::Integer]
  #     Output only. Count of all groups that have directly joined the space.
  class MembershipCount
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the [access
  # setting](https://support.google.com/chat/answer/11971020) of the space.
  # @!attribute [r] access_state
  #   @return [::Google::Apps::Chat::V1::Space::AccessSettings::AccessState]
  #     Output only. Indicates the access state of the space.
  # @!attribute [rw] audience
  #   @return [::String]
  #     Optional. The resource name of the [target
  #     audience](https://support.google.com/a/answer/9934697) who can discover
  #     the space, join the space, and preview the messages in the space. If
  #     unset, only users or Google Groups who have been individually invited or
  #     added to the space can access it. For details, see [Make a space
  #     discoverable to a target
  #     audience](https://developers.google.com/workspace/chat/space-target-audience).
  #
  #     Format: `audiences/{audience}`
  #
  #     To use the default target audience for the Google Workspace organization,
  #     set to `audiences/default`.
  #
  #     Reading the target audience supports:
  #
  #     - [User
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
  #
  #     - [App
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
  #     with [administrator
  #     approval](https://support.google.com/a?p=chat-app-auth)
  #     with the `chat.app.spaces` scope.
  #
  #     This field is not populated when using the `chat.bot` scope with [app
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).
  #
  #     Setting the target audience requires [user
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
  class AccessSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents the access state of the space.
    module AccessState
      # Access state is unknown or not supported in this API.
      ACCESS_STATE_UNSPECIFIED = 0

      # Only users or Google Groups that have been individually added or
      # invited by other users or Google Workspace administrators can discover
      # and access the space.
      PRIVATE = 1

      # A space manager has granted a target audience access to
      # the space. Users or Google Groups that have been individually added or
      # invited to the space can also discover and access the space. To learn
      # more, see [Make a space discoverable to specific
      # users](https://developers.google.com/workspace/chat/space-target-audience).
      #
      # Creating discoverable spaces requires [user
      # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
      DISCOVERABLE = 2
    end
  end

  # [Permission settings](https://support.google.com/chat/answer/13340792)
  # that you can specify when updating an existing named space.
  #
  # To set permission settings when creating a space, specify the
  # `PredefinedPermissionSettings` field in your request.
  # @!attribute [rw] manage_members_and_groups
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing members and groups in a space.
  # @!attribute [rw] modify_space_details
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for updating space name, avatar, description and
  #     guidelines.
  # @!attribute [rw] toggle_history
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for toggling space history on and off.
  # @!attribute [rw] use_at_mention_all
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for using @all in a space.
  # @!attribute [rw] manage_apps
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing apps in a space.
  # @!attribute [rw] manage_webhooks
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing webhooks in a space.
  # @!attribute [r] post_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Output only. Setting for posting messages in a space.
  # @!attribute [rw] reply_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for replying to messages in a space.
  class PermissionSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents a space permission setting.
  # @!attribute [rw] managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space owners
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MANAGER `ROLE_MANAGER`})
  #     have this permission.
  # @!attribute [rw] assistant_managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space managers
  #     {::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_ASSISTANT_MANAGER `ROLE_ASSISTANT_MANAGER`})
  #     have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether basic space members
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MEMBER `ROLE_MEMBER`})
  #     have this permission.
  class PermissionSetting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Deprecated: Use `SpaceType` instead.
  module Type
    # Reserved.
    TYPE_UNSPECIFIED = 0

    # Conversations between two or more humans.
    ROOM = 1

    # 1:1 Direct Message between a human and a Chat app, where all messages are
    # flat. Note that this doesn't include direct messages between two humans.
    DM = 2
  end

  # The type of space. Required when creating or updating a space. Output only
  # for other usage.
  module SpaceType
    # Reserved.
    SPACE_TYPE_UNSPECIFIED = 0

    # A place where people send messages, share files, and collaborate.
    # A `SPACE` can include Chat apps.
    SPACE = 1

    # Group conversations between 3 or more people.
    # A `GROUP_CHAT` can include Chat apps.
    GROUP_CHAT = 2

    # 1:1 messages between two humans or a human and a Chat app.
    DIRECT_MESSAGE = 3
  end

  # Specifies the type of threading state in the Chat space.
  module SpaceThreadingState
    # Reserved.
    SPACE_THREADING_STATE_UNSPECIFIED = 0

    # Named spaces that support message threads. When users respond to a
    # message, they can reply in-thread, which keeps their response in the
    # context of the original message.
    THREADED_MESSAGES = 2

    # Named spaces where the conversation is organized by topic. Topics and
    # their replies are grouped together.
    GROUPED_MESSAGES = 3

    # Direct messages (DMs) between two people and group conversations between
    # 3 or more people.
    UNTHREADED_MESSAGES = 4
  end

  # Predefined permission settings that you can only specify when creating a
  # named space. More settings might be added in the future.
  # For details about permission settings for named spaces, see [Learn about
  # spaces](https://support.google.com/chat/answer/7659784).
  module PredefinedPermissionSettings
    # Unspecified. Don't use.
    PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED = 0

    # Setting to make the space a collaboration space where all members can
    # post messages.
    COLLABORATION_SPACE = 1

    # Setting to make the space an announcement space where only space managers
    # can post messages.
    ANNOUNCEMENT_SPACE = 2
  end
end

#space_uri::String (readonly)

Returns Output only. The URI for a user to access the space.

Returns:

  • (::String)

    Output only. The URI for a user to access the space.



191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
# File 'proto_docs/google/chat/v1/space.rb', line 191

class Space
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Details about the space including description and rules.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A description of the space. For example, describe the space's
  #     discussion topic, functional purpose, or participants.
  #
  #     Supports up to 150 characters.
  # @!attribute [rw] guidelines
  #   @return [::String]
  #     Optional. The space's rules, expectations, and etiquette.
  #
  #     Supports up to 5,000 characters.
  class SpaceDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the count of memberships of a space, grouped into categories.
  # @!attribute [r] joined_direct_human_user_count
  #   @return [::Integer]
  #     Output only. Count of human users that have directly joined the space,
  #     not counting users joined by having membership in a joined group.
  # @!attribute [r] joined_group_count
  #   @return [::Integer]
  #     Output only. Count of all groups that have directly joined the space.
  class MembershipCount
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the [access
  # setting](https://support.google.com/chat/answer/11971020) of the space.
  # @!attribute [r] access_state
  #   @return [::Google::Apps::Chat::V1::Space::AccessSettings::AccessState]
  #     Output only. Indicates the access state of the space.
  # @!attribute [rw] audience
  #   @return [::String]
  #     Optional. The resource name of the [target
  #     audience](https://support.google.com/a/answer/9934697) who can discover
  #     the space, join the space, and preview the messages in the space. If
  #     unset, only users or Google Groups who have been individually invited or
  #     added to the space can access it. For details, see [Make a space
  #     discoverable to a target
  #     audience](https://developers.google.com/workspace/chat/space-target-audience).
  #
  #     Format: `audiences/{audience}`
  #
  #     To use the default target audience for the Google Workspace organization,
  #     set to `audiences/default`.
  #
  #     Reading the target audience supports:
  #
  #     - [User
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
  #
  #     - [App
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
  #     with [administrator
  #     approval](https://support.google.com/a?p=chat-app-auth)
  #     with the `chat.app.spaces` scope.
  #
  #     This field is not populated when using the `chat.bot` scope with [app
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).
  #
  #     Setting the target audience requires [user
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
  class AccessSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents the access state of the space.
    module AccessState
      # Access state is unknown or not supported in this API.
      ACCESS_STATE_UNSPECIFIED = 0

      # Only users or Google Groups that have been individually added or
      # invited by other users or Google Workspace administrators can discover
      # and access the space.
      PRIVATE = 1

      # A space manager has granted a target audience access to
      # the space. Users or Google Groups that have been individually added or
      # invited to the space can also discover and access the space. To learn
      # more, see [Make a space discoverable to specific
      # users](https://developers.google.com/workspace/chat/space-target-audience).
      #
      # Creating discoverable spaces requires [user
      # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
      DISCOVERABLE = 2
    end
  end

  # [Permission settings](https://support.google.com/chat/answer/13340792)
  # that you can specify when updating an existing named space.
  #
  # To set permission settings when creating a space, specify the
  # `PredefinedPermissionSettings` field in your request.
  # @!attribute [rw] manage_members_and_groups
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing members and groups in a space.
  # @!attribute [rw] modify_space_details
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for updating space name, avatar, description and
  #     guidelines.
  # @!attribute [rw] toggle_history
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for toggling space history on and off.
  # @!attribute [rw] use_at_mention_all
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for using @all in a space.
  # @!attribute [rw] manage_apps
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing apps in a space.
  # @!attribute [rw] manage_webhooks
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing webhooks in a space.
  # @!attribute [r] post_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Output only. Setting for posting messages in a space.
  # @!attribute [rw] reply_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for replying to messages in a space.
  class PermissionSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents a space permission setting.
  # @!attribute [rw] managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space owners
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MANAGER `ROLE_MANAGER`})
  #     have this permission.
  # @!attribute [rw] assistant_managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space managers
  #     {::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_ASSISTANT_MANAGER `ROLE_ASSISTANT_MANAGER`})
  #     have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether basic space members
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MEMBER `ROLE_MEMBER`})
  #     have this permission.
  class PermissionSetting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Deprecated: Use `SpaceType` instead.
  module Type
    # Reserved.
    TYPE_UNSPECIFIED = 0

    # Conversations between two or more humans.
    ROOM = 1

    # 1:1 Direct Message between a human and a Chat app, where all messages are
    # flat. Note that this doesn't include direct messages between two humans.
    DM = 2
  end

  # The type of space. Required when creating or updating a space. Output only
  # for other usage.
  module SpaceType
    # Reserved.
    SPACE_TYPE_UNSPECIFIED = 0

    # A place where people send messages, share files, and collaborate.
    # A `SPACE` can include Chat apps.
    SPACE = 1

    # Group conversations between 3 or more people.
    # A `GROUP_CHAT` can include Chat apps.
    GROUP_CHAT = 2

    # 1:1 messages between two humans or a human and a Chat app.
    DIRECT_MESSAGE = 3
  end

  # Specifies the type of threading state in the Chat space.
  module SpaceThreadingState
    # Reserved.
    SPACE_THREADING_STATE_UNSPECIFIED = 0

    # Named spaces that support message threads. When users respond to a
    # message, they can reply in-thread, which keeps their response in the
    # context of the original message.
    THREADED_MESSAGES = 2

    # Named spaces where the conversation is organized by topic. Topics and
    # their replies are grouped together.
    GROUPED_MESSAGES = 3

    # Direct messages (DMs) between two people and group conversations between
    # 3 or more people.
    UNTHREADED_MESSAGES = 4
  end

  # Predefined permission settings that you can only specify when creating a
  # named space. More settings might be added in the future.
  # For details about permission settings for named spaces, see [Learn about
  # spaces](https://support.google.com/chat/answer/7659784).
  module PredefinedPermissionSettings
    # Unspecified. Don't use.
    PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED = 0

    # Setting to make the space a collaboration space where all members can
    # post messages.
    COLLABORATION_SPACE = 1

    # Setting to make the space an announcement space where only space managers
    # can post messages.
    ANNOUNCEMENT_SPACE = 2
  end
end

#threaded::Boolean (readonly)

Deprecated.

This field is deprecated and may be removed in the next major version update.

Returns Output only. Deprecated: Use spaceThreadingState instead. Whether messages are threaded in this space.

Returns:

  • (::Boolean)

    Output only. Deprecated: Use spaceThreadingState instead. Whether messages are threaded in this space.



191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
# File 'proto_docs/google/chat/v1/space.rb', line 191

class Space
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Details about the space including description and rules.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A description of the space. For example, describe the space's
  #     discussion topic, functional purpose, or participants.
  #
  #     Supports up to 150 characters.
  # @!attribute [rw] guidelines
  #   @return [::String]
  #     Optional. The space's rules, expectations, and etiquette.
  #
  #     Supports up to 5,000 characters.
  class SpaceDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the count of memberships of a space, grouped into categories.
  # @!attribute [r] joined_direct_human_user_count
  #   @return [::Integer]
  #     Output only. Count of human users that have directly joined the space,
  #     not counting users joined by having membership in a joined group.
  # @!attribute [r] joined_group_count
  #   @return [::Integer]
  #     Output only. Count of all groups that have directly joined the space.
  class MembershipCount
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the [access
  # setting](https://support.google.com/chat/answer/11971020) of the space.
  # @!attribute [r] access_state
  #   @return [::Google::Apps::Chat::V1::Space::AccessSettings::AccessState]
  #     Output only. Indicates the access state of the space.
  # @!attribute [rw] audience
  #   @return [::String]
  #     Optional. The resource name of the [target
  #     audience](https://support.google.com/a/answer/9934697) who can discover
  #     the space, join the space, and preview the messages in the space. If
  #     unset, only users or Google Groups who have been individually invited or
  #     added to the space can access it. For details, see [Make a space
  #     discoverable to a target
  #     audience](https://developers.google.com/workspace/chat/space-target-audience).
  #
  #     Format: `audiences/{audience}`
  #
  #     To use the default target audience for the Google Workspace organization,
  #     set to `audiences/default`.
  #
  #     Reading the target audience supports:
  #
  #     - [User
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
  #
  #     - [App
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
  #     with [administrator
  #     approval](https://support.google.com/a?p=chat-app-auth)
  #     with the `chat.app.spaces` scope.
  #
  #     This field is not populated when using the `chat.bot` scope with [app
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).
  #
  #     Setting the target audience requires [user
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
  class AccessSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents the access state of the space.
    module AccessState
      # Access state is unknown or not supported in this API.
      ACCESS_STATE_UNSPECIFIED = 0

      # Only users or Google Groups that have been individually added or
      # invited by other users or Google Workspace administrators can discover
      # and access the space.
      PRIVATE = 1

      # A space manager has granted a target audience access to
      # the space. Users or Google Groups that have been individually added or
      # invited to the space can also discover and access the space. To learn
      # more, see [Make a space discoverable to specific
      # users](https://developers.google.com/workspace/chat/space-target-audience).
      #
      # Creating discoverable spaces requires [user
      # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
      DISCOVERABLE = 2
    end
  end

  # [Permission settings](https://support.google.com/chat/answer/13340792)
  # that you can specify when updating an existing named space.
  #
  # To set permission settings when creating a space, specify the
  # `PredefinedPermissionSettings` field in your request.
  # @!attribute [rw] manage_members_and_groups
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing members and groups in a space.
  # @!attribute [rw] modify_space_details
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for updating space name, avatar, description and
  #     guidelines.
  # @!attribute [rw] toggle_history
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for toggling space history on and off.
  # @!attribute [rw] use_at_mention_all
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for using @all in a space.
  # @!attribute [rw] manage_apps
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing apps in a space.
  # @!attribute [rw] manage_webhooks
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing webhooks in a space.
  # @!attribute [r] post_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Output only. Setting for posting messages in a space.
  # @!attribute [rw] reply_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for replying to messages in a space.
  class PermissionSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents a space permission setting.
  # @!attribute [rw] managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space owners
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MANAGER `ROLE_MANAGER`})
  #     have this permission.
  # @!attribute [rw] assistant_managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space managers
  #     {::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_ASSISTANT_MANAGER `ROLE_ASSISTANT_MANAGER`})
  #     have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether basic space members
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MEMBER `ROLE_MEMBER`})
  #     have this permission.
  class PermissionSetting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Deprecated: Use `SpaceType` instead.
  module Type
    # Reserved.
    TYPE_UNSPECIFIED = 0

    # Conversations between two or more humans.
    ROOM = 1

    # 1:1 Direct Message between a human and a Chat app, where all messages are
    # flat. Note that this doesn't include direct messages between two humans.
    DM = 2
  end

  # The type of space. Required when creating or updating a space. Output only
  # for other usage.
  module SpaceType
    # Reserved.
    SPACE_TYPE_UNSPECIFIED = 0

    # A place where people send messages, share files, and collaborate.
    # A `SPACE` can include Chat apps.
    SPACE = 1

    # Group conversations between 3 or more people.
    # A `GROUP_CHAT` can include Chat apps.
    GROUP_CHAT = 2

    # 1:1 messages between two humans or a human and a Chat app.
    DIRECT_MESSAGE = 3
  end

  # Specifies the type of threading state in the Chat space.
  module SpaceThreadingState
    # Reserved.
    SPACE_THREADING_STATE_UNSPECIFIED = 0

    # Named spaces that support message threads. When users respond to a
    # message, they can reply in-thread, which keeps their response in the
    # context of the original message.
    THREADED_MESSAGES = 2

    # Named spaces where the conversation is organized by topic. Topics and
    # their replies are grouped together.
    GROUPED_MESSAGES = 3

    # Direct messages (DMs) between two people and group conversations between
    # 3 or more people.
    UNTHREADED_MESSAGES = 4
  end

  # Predefined permission settings that you can only specify when creating a
  # named space. More settings might be added in the future.
  # For details about permission settings for named spaces, see [Learn about
  # spaces](https://support.google.com/chat/answer/7659784).
  module PredefinedPermissionSettings
    # Unspecified. Don't use.
    PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED = 0

    # Setting to make the space a collaboration space where all members can
    # post messages.
    COLLABORATION_SPACE = 1

    # Setting to make the space an announcement space where only space managers
    # can post messages.
    ANNOUNCEMENT_SPACE = 2
  end
end

#type::Google::Apps::Chat::V1::Space::Type (readonly)

Deprecated.

This field is deprecated and may be removed in the next major version update.

Returns Output only. Deprecated: Use space_type instead. The type of a space.

Returns:



191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
# File 'proto_docs/google/chat/v1/space.rb', line 191

class Space
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Details about the space including description and rules.
  # @!attribute [rw] description
  #   @return [::String]
  #     Optional. A description of the space. For example, describe the space's
  #     discussion topic, functional purpose, or participants.
  #
  #     Supports up to 150 characters.
  # @!attribute [rw] guidelines
  #   @return [::String]
  #     Optional. The space's rules, expectations, and etiquette.
  #
  #     Supports up to 5,000 characters.
  class SpaceDetails
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the count of memberships of a space, grouped into categories.
  # @!attribute [r] joined_direct_human_user_count
  #   @return [::Integer]
  #     Output only. Count of human users that have directly joined the space,
  #     not counting users joined by having membership in a joined group.
  # @!attribute [r] joined_group_count
  #   @return [::Integer]
  #     Output only. Count of all groups that have directly joined the space.
  class MembershipCount
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents the [access
  # setting](https://support.google.com/chat/answer/11971020) of the space.
  # @!attribute [r] access_state
  #   @return [::Google::Apps::Chat::V1::Space::AccessSettings::AccessState]
  #     Output only. Indicates the access state of the space.
  # @!attribute [rw] audience
  #   @return [::String]
  #     Optional. The resource name of the [target
  #     audience](https://support.google.com/a/answer/9934697) who can discover
  #     the space, join the space, and preview the messages in the space. If
  #     unset, only users or Google Groups who have been individually invited or
  #     added to the space can access it. For details, see [Make a space
  #     discoverable to a target
  #     audience](https://developers.google.com/workspace/chat/space-target-audience).
  #
  #     Format: `audiences/{audience}`
  #
  #     To use the default target audience for the Google Workspace organization,
  #     set to `audiences/default`.
  #
  #     Reading the target audience supports:
  #
  #     - [User
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)
  #
  #     - [App
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)
  #     with [administrator
  #     approval](https://support.google.com/a?p=chat-app-auth)
  #     with the `chat.app.spaces` scope.
  #
  #     This field is not populated when using the `chat.bot` scope with [app
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).
  #
  #     Setting the target audience requires [user
  #     authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
  class AccessSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents the access state of the space.
    module AccessState
      # Access state is unknown or not supported in this API.
      ACCESS_STATE_UNSPECIFIED = 0

      # Only users or Google Groups that have been individually added or
      # invited by other users or Google Workspace administrators can discover
      # and access the space.
      PRIVATE = 1

      # A space manager has granted a target audience access to
      # the space. Users or Google Groups that have been individually added or
      # invited to the space can also discover and access the space. To learn
      # more, see [Make a space discoverable to specific
      # users](https://developers.google.com/workspace/chat/space-target-audience).
      #
      # Creating discoverable spaces requires [user
      # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
      DISCOVERABLE = 2
    end
  end

  # [Permission settings](https://support.google.com/chat/answer/13340792)
  # that you can specify when updating an existing named space.
  #
  # To set permission settings when creating a space, specify the
  # `PredefinedPermissionSettings` field in your request.
  # @!attribute [rw] manage_members_and_groups
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing members and groups in a space.
  # @!attribute [rw] modify_space_details
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for updating space name, avatar, description and
  #     guidelines.
  # @!attribute [rw] toggle_history
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for toggling space history on and off.
  # @!attribute [rw] use_at_mention_all
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for using @all in a space.
  # @!attribute [rw] manage_apps
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing apps in a space.
  # @!attribute [rw] manage_webhooks
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for managing webhooks in a space.
  # @!attribute [r] post_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Output only. Setting for posting messages in a space.
  # @!attribute [rw] reply_messages
  #   @return [::Google::Apps::Chat::V1::Space::PermissionSetting]
  #     Optional. Setting for replying to messages in a space.
  class PermissionSettings
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents a space permission setting.
  # @!attribute [rw] managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space owners
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MANAGER `ROLE_MANAGER`})
  #     have this permission.
  # @!attribute [rw] assistant_managers_allowed
  #   @return [::Boolean]
  #     Optional. Whether space managers
  #     {::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_ASSISTANT_MANAGER `ROLE_ASSISTANT_MANAGER`})
  #     have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether basic space members
  #     ({::Google::Apps::Chat::V1::Membership::MembershipRole::ROLE_MEMBER `ROLE_MEMBER`})
  #     have this permission.
  class PermissionSetting
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Deprecated: Use `SpaceType` instead.
  module Type
    # Reserved.
    TYPE_UNSPECIFIED = 0

    # Conversations between two or more humans.
    ROOM = 1

    # 1:1 Direct Message between a human and a Chat app, where all messages are
    # flat. Note that this doesn't include direct messages between two humans.
    DM = 2
  end

  # The type of space. Required when creating or updating a space. Output only
  # for other usage.
  module SpaceType
    # Reserved.
    SPACE_TYPE_UNSPECIFIED = 0

    # A place where people send messages, share files, and collaborate.
    # A `SPACE` can include Chat apps.
    SPACE = 1

    # Group conversations between 3 or more people.
    # A `GROUP_CHAT` can include Chat apps.
    GROUP_CHAT = 2

    # 1:1 messages between two humans or a human and a Chat app.
    DIRECT_MESSAGE = 3
  end

  # Specifies the type of threading state in the Chat space.
  module SpaceThreadingState
    # Reserved.
    SPACE_THREADING_STATE_UNSPECIFIED = 0

    # Named spaces that support message threads. When users respond to a
    # message, they can reply in-thread, which keeps their response in the
    # context of the original message.
    THREADED_MESSAGES = 2

    # Named spaces where the conversation is organized by topic. Topics and
    # their replies are grouped together.
    GROUPED_MESSAGES = 3

    # Direct messages (DMs) between two people and group conversations between
    # 3 or more people.
    UNTHREADED_MESSAGES = 4
  end

  # Predefined permission settings that you can only specify when creating a
  # named space. More settings might be added in the future.
  # For details about permission settings for named spaces, see [Learn about
  # spaces](https://support.google.com/chat/answer/7659784).
  module PredefinedPermissionSettings
    # Unspecified. Don't use.
    PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED = 0

    # Setting to make the space a collaboration space where all members can
    # post messages.
    COLLABORATION_SPACE = 1

    # Setting to make the space an announcement space where only space managers
    # can post messages.
    ANNOUNCEMENT_SPACE = 2
  end
end