google-apps-chat-v1 0.24.0 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Apps
22
+ module Chat
23
+ module V1
24
+ # A target audience in Google Chat. A target audience represents a group of
25
+ # users within a Google Workspace organization, defined by an administrator.
26
+ # Target audiences are used to configure access and visibility settings for
27
+ # resources, such as making a space discoverable to a specific group of users.
28
+ #
29
+ # For more details, see [Target
30
+ # audiences](https://support.google.com/a/answer/9934697) and [Make a space
31
+ # discoverable to a target
32
+ # audience](https://developers.google.com/workspace/chat/space-target-audience).
33
+ # @!attribute [rw] name
34
+ # @return [::String]
35
+ # The resource name of the [target
36
+ # audience](https://support.google.com/a/answer/9934697) who can discover
37
+ # or join the space. For details, see [Make a space
38
+ # discoverable to a target
39
+ # audience](https://developers.google.com/workspace/chat/space-target-audience).
40
+ # Format: `audiences/{audience}`
41
+ #
42
+ # To use the default target audience for the Google Workspace organization,
43
+ # set to `audiences/default`.
44
+ class Audience
45
+ include ::Google::Protobuf::MessageExts
46
+ extend ::Google::Protobuf::MessageExts::ClassMethods
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,214 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Apps
22
+ module Chat
23
+ module V1
24
+ # Represents a user's current availability information in Google Chat,
25
+ # including their state (for example, Active, Away, Do Not Disturb) and any
26
+ # custom status.
27
+ # @!attribute [rw] name
28
+ # @return [::String]
29
+ # Identifier. Resource name of the user's availability.
30
+ #
31
+ # Format: `users/{user}/availability`
32
+ #
33
+ # `{user}` is the id for the Person in the People API or Admin SDK directory
34
+ # API. For example, `users/123456789`.
35
+ #
36
+ # The user's email address or `me` can also be used as an alias to refer to
37
+ # the caller. For example, `users/user@example.com` or `users/me`.
38
+ # @!attribute [r] state
39
+ # @return [::Google::Apps::Chat::V1::Availability::State]
40
+ # Output only. The user's current availability state.
41
+ # @!attribute [r] do_not_disturb_metadata
42
+ # @return [::Google::Apps::Chat::V1::DoNotDisturbMetadata]
43
+ # Output only. Metadata if the user state is set to DO_NOT_DISTURB.
44
+ # @!attribute [rw] custom_status
45
+ # @return [::Google::Apps::Chat::V1::CustomStatus]
46
+ # Optional. The user's custom status.
47
+ class Availability
48
+ include ::Google::Protobuf::MessageExts
49
+ extend ::Google::Protobuf::MessageExts::ClassMethods
50
+
51
+ # Represents the current availability state of the user.
52
+ module State
53
+ # Default value. The state is unspecified.
54
+ STATE_UNSPECIFIED = 0
55
+
56
+ # The user is currently active, based on recent activity.
57
+ ACTIVE = 1
58
+
59
+ # The user is currently idle. This state indicates a period of inactivity
60
+ # after being ACTIVE, before potentially transitioning to AWAY.
61
+ IDLE = 2
62
+
63
+ # The user is currently away. This can be either automatically set after
64
+ # a period of inactivity in ACTIVE or IDLE state, or it can be manually set
65
+ # by the user. When manually set via `MarkAsAway`, this state persists
66
+ # regardless of user activity.
67
+ AWAY = 3
68
+
69
+ # The user is in Do Not Disturb state, which is manually set.
70
+ DO_NOT_DISTURB = 4
71
+ end
72
+ end
73
+
74
+ # Represents a user's custom status in Google Chat.
75
+ # This includes a short text message with an optional emoji that a user sets to
76
+ # give more context about their availability.
77
+ # @!attribute [rw] text
78
+ # @return [::String]
79
+ # Required. The text of the custom status. This will be a string with maximum
80
+ # length of 64.
81
+ # @!attribute [rw] emoji
82
+ # @return [::Google::Apps::Chat::V1::Emoji]
83
+ # Required. The emoji of the custom status. Only Unicode emojis are
84
+ # supported; custom emojis are not supported.
85
+ # @!attribute [rw] expire_time
86
+ # @return [::Google::Protobuf::Timestamp]
87
+ # The timestamp when the custom status expires.
88
+ #
89
+ # Note: The following fields are mutually exclusive: `expire_time`, `ttl`. If a field in that set is populated, all other fields in the set will automatically be cleared.
90
+ # @!attribute [rw] ttl
91
+ # @return [::Google::Protobuf::Duration]
92
+ # Input only. The time-to-live duration after which the custom status
93
+ # expires.
94
+ #
95
+ # Note: The following fields are mutually exclusive: `ttl`, `expire_time`. If a field in that set is populated, all other fields in the set will automatically be cleared.
96
+ class CustomStatus
97
+ include ::Google::Protobuf::MessageExts
98
+ extend ::Google::Protobuf::MessageExts::ClassMethods
99
+ end
100
+
101
+ # Metadata associated with the `DO_NOT_DISTURB` availability state,
102
+ # specifying when the state is set to expire.
103
+ # @!attribute [r] expiration_time
104
+ # @return [::Google::Protobuf::Timestamp]
105
+ # Output only. Timestamp until which the user should be marked as
106
+ # DO_NOT_DISTURB. This can be maximum of 1 year in the future.
107
+ class DoNotDisturbMetadata
108
+ include ::Google::Protobuf::MessageExts
109
+ extend ::Google::Protobuf::MessageExts::ClassMethods
110
+ end
111
+
112
+ # Request message for the `GetAvailability` method.
113
+ # @!attribute [rw] name
114
+ # @return [::String]
115
+ # Required. The resource name of the availability to retrieve.
116
+ #
117
+ # Format: users/\\{user}/availability
118
+ #
119
+ # `{user}` is the id for the Person in the People API or Admin SDK directory
120
+ # API. For example, `users/123456789`.
121
+ #
122
+ # The user's email address or `me` can also be used as an alias to refer to
123
+ # the caller. For example, `users/user@example.com` or `users/me`.
124
+ class GetAvailabilityRequest
125
+ include ::Google::Protobuf::MessageExts
126
+ extend ::Google::Protobuf::MessageExts::ClassMethods
127
+ end
128
+
129
+ # Request message for the `UpdateAvailability` method.
130
+ # @!attribute [rw] availability
131
+ # @return [::Google::Apps::Chat::V1::Availability]
132
+ # Required. The availability to update.
133
+ # @!attribute [rw] update_mask
134
+ # @return [::Google::Protobuf::FieldMask]
135
+ # Required. The list of fields to update.
136
+ # The only field that can be updated is `custom_status`.
137
+ class UpdateAvailabilityRequest
138
+ include ::Google::Protobuf::MessageExts
139
+ extend ::Google::Protobuf::MessageExts::ClassMethods
140
+ end
141
+
142
+ # Request message for the `MarkAsActive` method.
143
+ # @!attribute [rw] name
144
+ # @return [::String]
145
+ # Required. The resource name of the availability to mark as active.
146
+ # Format: users/\\{user}/availability
147
+ #
148
+ # `{user}` is the id for the Person in the People API or Admin SDK directory
149
+ # API. For example, `users/123456789`.
150
+ #
151
+ # The user's email address or `me` can also be used as an alias to refer to
152
+ # the caller. For example, `users/user@example.com` or `users/me`.
153
+ # @!attribute [rw] expire_time
154
+ # @return [::Google::Protobuf::Timestamp]
155
+ # The absolute timestamp when the ACTIVE state expires.
156
+ #
157
+ # Note: The following fields are mutually exclusive: `expire_time`, `ttl`. If a field in that set is populated, all other fields in the set will automatically be cleared.
158
+ # @!attribute [rw] ttl
159
+ # @return [::Google::Protobuf::Duration]
160
+ # The duration from the current time until the ACTIVE state expires.
161
+ # Using a short TTL can effectively reset the user's state to be based
162
+ # on activity after this brief duration.
163
+ #
164
+ # Note: The following fields are mutually exclusive: `ttl`, `expire_time`. If a field in that set is populated, all other fields in the set will automatically be cleared.
165
+ class MarkAsActiveRequest
166
+ include ::Google::Protobuf::MessageExts
167
+ extend ::Google::Protobuf::MessageExts::ClassMethods
168
+ end
169
+
170
+ # Request message for the `MarkAsAway` method.
171
+ # @!attribute [rw] name
172
+ # @return [::String]
173
+ # Required. The resource name of the availability to mark as away.
174
+ # Format: users/\\{user}/availability
175
+ #
176
+ # `{user}` is the id for the Person in the People API or Admin SDK directory
177
+ # API. For example, `users/123456789`.
178
+ #
179
+ # The user's email address or `me` can also be used as an alias to refer to
180
+ # the caller. For example, `users/user@example.com` or `users/me`.
181
+ class MarkAsAwayRequest
182
+ include ::Google::Protobuf::MessageExts
183
+ extend ::Google::Protobuf::MessageExts::ClassMethods
184
+ end
185
+
186
+ # Request message for the `MarkAsDoNotDisturb` method.
187
+ # @!attribute [rw] name
188
+ # @return [::String]
189
+ # Required. The resource name of the availability to mark as Do Not Disturb.
190
+ # Format: users/\\{user}/availability
191
+ #
192
+ # `{user}` is the id for the Person in the People API or Admin SDK directory
193
+ # API. For example, `users/123456789`.
194
+ #
195
+ # The user's email address or `me` can also be used as an alias to refer to
196
+ # the caller. For example, `users/user@example.com` or `users/me`.
197
+ # @!attribute [rw] expire_time
198
+ # @return [::Google::Protobuf::Timestamp]
199
+ # The absolute timestamp when the DND state expires.
200
+ #
201
+ # Note: The following fields are mutually exclusive: `expire_time`, `ttl`. If a field in that set is populated, all other fields in the set will automatically be cleared.
202
+ # @!attribute [rw] ttl
203
+ # @return [::Google::Protobuf::Duration]
204
+ # The duration from the current time until the DND state expires.
205
+ #
206
+ # Note: The following fields are mutually exclusive: `ttl`, `expire_time`. If a field in that set is populated, all other fields in the set will automatically be cleared.
207
+ class MarkAsDoNotDisturbRequest
208
+ include ::Google::Protobuf::MessageExts
209
+ extend ::Google::Protobuf::MessageExts::ClassMethods
210
+ end
211
+ end
212
+ end
213
+ end
214
+ end
@@ -259,6 +259,12 @@ module Google
259
259
  #
260
260
  # Setting the target audience requires [user
261
261
  # authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).
262
+ # @!attribute [rw] access_permission_settings
263
+ # @return [::Google::Apps::Chat::V1::Space::AccessPermissionSettings]
264
+ # Optional. Access permission settings for the space.
265
+ #
266
+ # To set the target audience when creating a space, specify the
267
+ # `accessSettings.audience` field in your request.
262
268
  class AccessSettings
263
269
  include ::Google::Protobuf::MessageExts
264
270
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -285,6 +291,36 @@ module Google
285
291
  end
286
292
  end
287
293
 
294
+ # Access permission settings for a space.
295
+ # @!attribute [rw] discover_space_setting
296
+ # @return [::Google::Apps::Chat::V1::Space::AccessPermissionSetting]
297
+ # Optional. Access permission setting for discovering the space.
298
+ # @!attribute [rw] join_space_setting
299
+ # @return [::Google::Apps::Chat::V1::Space::AccessPermissionSetting]
300
+ # Optional. Access permission setting for joining the space.
301
+ class AccessPermissionSettings
302
+ include ::Google::Protobuf::MessageExts
303
+ extend ::Google::Protobuf::MessageExts::ClassMethods
304
+ end
305
+
306
+ # An access permission setting.
307
+ # @!attribute [rw] principals
308
+ # @return [::Array<::Google::Apps::Chat::V1::Space::Principal>]
309
+ # Optional. Unordered list. Allowed principals for this permission.
310
+ class AccessPermissionSetting
311
+ include ::Google::Protobuf::MessageExts
312
+ extend ::Google::Protobuf::MessageExts::ClassMethods
313
+ end
314
+
315
+ # A principal representing an entity granted access.
316
+ # @!attribute [rw] audience
317
+ # @return [::Google::Apps::Chat::V1::Audience]
318
+ # An audience.
319
+ class Principal
320
+ include ::Google::Protobuf::MessageExts
321
+ extend ::Google::Protobuf::MessageExts::ClassMethods
322
+ end
323
+
288
324
  # [Permission settings](https://support.google.com/chat/answer/13340792)
289
325
  # that you can specify when updating an existing named space.
290
326
  #
@@ -659,6 +695,24 @@ module Google
659
695
  # users](https://developers.google.com/workspace/chat/space-target-audience).
660
696
  # `access_settings.audience` is not supported with `useAdminAccess`.
661
697
  #
698
+ # `access_settings.access_permission_settings`: Updates the [access
699
+ # permission
700
+ # settings](https://support.google.com/chat/answer/11971020) of who can
701
+ # discover and join the space where `spaceType` field is `SPACE`. Principals
702
+ # allowed to join the space must also be allowed to discover it. To update
703
+ # access permission settings for a space, the authenticating user must be a
704
+ # space manager or assistant manager and omit all other field masks in the
705
+ # request. You can't update this field if the space is in [import
706
+ # mode](https://developers.google.com/workspace/chat/import-data-overview).
707
+ # To learn more, see [Make a space discoverable to specific
708
+ # users](https://developers.google.com/workspace/chat/space-target-audience).
709
+ # `access_settings.access_permission_settings` is not supported with
710
+ # `useAdminAccess`.
711
+ # The supported field masks include:
712
+ #
713
+ # - `access_settings.access_permission_settings.discoverSpaceSetting`
714
+ # - `access_settings.access_permission_settings.joinSpaceSetting`
715
+ #
662
716
  # `permission_settings`: Supports changing the
663
717
  # [permission settings](https://support.google.com/chat/answer/13340792)
664
718
  # of a space.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-apps-chat-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.24.0
4
+ version: 0.26.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
@@ -85,6 +85,8 @@ files:
85
85
  - lib/google/chat/v1/action_status_pb.rb
86
86
  - lib/google/chat/v1/annotation_pb.rb
87
87
  - lib/google/chat/v1/attachment_pb.rb
88
+ - lib/google/chat/v1/audience_pb.rb
89
+ - lib/google/chat/v1/availability_pb.rb
88
90
  - lib/google/chat/v1/chat_service_pb.rb
89
91
  - lib/google/chat/v1/chat_service_services_pb.rb
90
92
  - lib/google/chat/v1/contextual_addon_pb.rb
@@ -116,6 +118,8 @@ files:
116
118
  - proto_docs/google/chat/v1/action_status.rb
117
119
  - proto_docs/google/chat/v1/annotation.rb
118
120
  - proto_docs/google/chat/v1/attachment.rb
121
+ - proto_docs/google/chat/v1/audience.rb
122
+ - proto_docs/google/chat/v1/availability.rb
119
123
  - proto_docs/google/chat/v1/contextual_addon.rb
120
124
  - proto_docs/google/chat/v1/deletion_metadata.rb
121
125
  - proto_docs/google/chat/v1/event_payload.rb