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:



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
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
# File 'proto_docs/google/chat/v1/space.rb', line 150

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 in [Developer
  #     Preview](https://developers.google.com/workspace/preview).
  #
  #     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 spaces managers have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether non-manager members 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.



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
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
# File 'proto_docs/google/chat/v1/space.rb', line 150

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 in [Developer
  #     Preview](https://developers.google.com/workspace/preview).
  #
  #     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 spaces managers have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether non-manager members 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.



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
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
# File 'proto_docs/google/chat/v1/space.rb', line 150

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 in [Developer
  #     Preview](https://developers.google.com/workspace/preview).
  #
  #     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 spaces managers have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether non-manager members 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.



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
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
# File 'proto_docs/google/chat/v1/space.rb', line 150

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 in [Developer
  #     Preview](https://developers.google.com/workspace/preview).
  #
  #     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 spaces managers have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether non-manager members 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.



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
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
# File 'proto_docs/google/chat/v1/space.rb', line 150

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 in [Developer
  #     Preview](https://developers.google.com/workspace/preview).
  #
  #     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 spaces managers have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether non-manager members 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.



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
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
# File 'proto_docs/google/chat/v1/space.rb', line 150

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 in [Developer
  #     Preview](https://developers.google.com/workspace/preview).
  #
  #     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 spaces managers have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether non-manager members 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.



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
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
# File 'proto_docs/google/chat/v1/space.rb', line 150

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 in [Developer
  #     Preview](https://developers.google.com/workspace/preview).
  #
  #     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 spaces managers have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether non-manager members 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:



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
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
# File 'proto_docs/google/chat/v1/space.rb', line 150

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 in [Developer
  #     Preview](https://developers.google.com/workspace/preview).
  #
  #     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 spaces managers have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether non-manager members 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:



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
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
# File 'proto_docs/google/chat/v1/space.rb', line 150

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 in [Developer
  #     Preview](https://developers.google.com/workspace/preview).
  #
  #     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 spaces managers have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether non-manager members 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.



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
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
# File 'proto_docs/google/chat/v1/space.rb', line 150

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 in [Developer
  #     Preview](https://developers.google.com/workspace/preview).
  #
  #     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 spaces managers have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether non-manager members 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.

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.



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
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
# File 'proto_docs/google/chat/v1/space.rb', line 150

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 in [Developer
  #     Preview](https://developers.google.com/workspace/preview).
  #
  #     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 spaces managers have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether non-manager members 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.

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.



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
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
# File 'proto_docs/google/chat/v1/space.rb', line 150

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 in [Developer
  #     Preview](https://developers.google.com/workspace/preview).
  #
  #     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 spaces managers have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether non-manager members 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.



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
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
# File 'proto_docs/google/chat/v1/space.rb', line 150

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 in [Developer
  #     Preview](https://developers.google.com/workspace/preview).
  #
  #     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 spaces managers have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether non-manager members 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:



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
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
# File 'proto_docs/google/chat/v1/space.rb', line 150

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 in [Developer
  #     Preview](https://developers.google.com/workspace/preview).
  #
  #     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 spaces managers have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether non-manager members 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:



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
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
# File 'proto_docs/google/chat/v1/space.rb', line 150

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 in [Developer
  #     Preview](https://developers.google.com/workspace/preview).
  #
  #     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 spaces managers have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether non-manager members 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:



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
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
# File 'proto_docs/google/chat/v1/space.rb', line 150

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 in [Developer
  #     Preview](https://developers.google.com/workspace/preview).
  #
  #     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 spaces managers have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether non-manager members 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:



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
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
# File 'proto_docs/google/chat/v1/space.rb', line 150

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 in [Developer
  #     Preview](https://developers.google.com/workspace/preview).
  #
  #     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 spaces managers have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether non-manager members 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.



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
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
# File 'proto_docs/google/chat/v1/space.rb', line 150

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 in [Developer
  #     Preview](https://developers.google.com/workspace/preview).
  #
  #     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 spaces managers have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether non-manager members 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.



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
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
# File 'proto_docs/google/chat/v1/space.rb', line 150

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 in [Developer
  #     Preview](https://developers.google.com/workspace/preview).
  #
  #     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 spaces managers have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether non-manager members 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:



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
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
# File 'proto_docs/google/chat/v1/space.rb', line 150

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 in [Developer
  #     Preview](https://developers.google.com/workspace/preview).
  #
  #     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 spaces managers have this permission.
  # @!attribute [rw] members_allowed
  #   @return [::Boolean]
  #     Optional. Whether non-manager members 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