@@ -389,6 +389,51 @@ def update!(**args)
389389 end
390390 end
391391
392+ # Represents a user's current availability information in Google Chat, including
393+ # their state (for example, Active, Away, Do Not Disturb) and any custom status.
394+ class Availability
395+ include Google ::Apis ::Core ::Hashable
396+
397+ # Represents a user's custom status in Google Chat. This includes a short text
398+ # message with an optional emoji that a user sets to give more context about
399+ # their availability.
400+ # Corresponds to the JSON property `customStatus`
401+ # @return [Google::Apis::ChatV1::CustomStatus]
402+ attr_accessor :custom_status
403+
404+ # Metadata associated with the `DO_NOT_DISTURB` availability state, specifying
405+ # when the state is set to expire.
406+ # Corresponds to the JSON property `doNotDisturbMetadata`
407+ # @return [Google::Apis::ChatV1::DoNotDisturbMetadata]
408+ attr_accessor :do_not_disturb_metadata
409+
410+ # Identifier. Resource name of the user's availability. Format: `users/`user`/
411+ # availability` ``user`` is the id for the Person in the People API or Admin SDK
412+ # directory API. For example, `users/123456789`. The user's email address or `me`
413+ # can also be used as an alias to refer to the caller. For example, `users/user@
414+ # example.com` or `users/me`.
415+ # Corresponds to the JSON property `name`
416+ # @return [String]
417+ attr_accessor :name
418+
419+ # Output only. The user's current availability state.
420+ # Corresponds to the JSON property `state`
421+ # @return [String]
422+ attr_accessor :state
423+
424+ def initialize ( **args )
425+ update! ( **args )
426+ end
427+
428+ # Update properties of this object
429+ def update! ( **args )
430+ @custom_status = args [ :custom_status ] if args . key? ( :custom_status )
431+ @do_not_disturb_metadata = args [ :do_not_disturb_metadata ] if args . key? ( :do_not_disturb_metadata )
432+ @name = args [ :name ] if args . key? ( :name )
433+ @state = args [ :state ] if args . key? ( :state )
434+ end
435+ end
436+
392437 # A button. Can be a text button or an image button.
393438 class Button
394439 include Google ::Apis ::Core ::Hashable
@@ -1050,6 +1095,46 @@ def update!(**args)
10501095 end
10511096 end
10521097
1098+ # Represents a user's custom status in Google Chat. This includes a short text
1099+ # message with an optional emoji that a user sets to give more context about
1100+ # their availability.
1101+ class CustomStatus
1102+ include Google ::Apis ::Core ::Hashable
1103+
1104+ # An emoji that is used as a reaction to a message.
1105+ # Corresponds to the JSON property `emoji`
1106+ # @return [Google::Apis::ChatV1::Emoji]
1107+ attr_accessor :emoji
1108+
1109+ # The timestamp when the custom status expires.
1110+ # Corresponds to the JSON property `expireTime`
1111+ # @return [String]
1112+ attr_accessor :expire_time
1113+
1114+ # Required. The text of the custom status. This will be a string with maximum
1115+ # length of 64.
1116+ # Corresponds to the JSON property `text`
1117+ # @return [String]
1118+ attr_accessor :text
1119+
1120+ # Input only. The time-to-live duration after which the custom status expires.
1121+ # Corresponds to the JSON property `ttl`
1122+ # @return [String]
1123+ attr_accessor :ttl
1124+
1125+ def initialize ( **args )
1126+ update! ( **args )
1127+ end
1128+
1129+ # Update properties of this object
1130+ def update! ( **args )
1131+ @emoji = args [ :emoji ] if args . key? ( :emoji )
1132+ @expire_time = args [ :expire_time ] if args . key? ( :expire_time )
1133+ @text = args [ :text ] if args . key? ( :text )
1134+ @ttl = args [ :ttl ] if args . key? ( :ttl )
1135+ end
1136+ end
1137+
10531138 # Date input values.
10541139 class DateInput
10551140 include Google ::Apis ::Core ::Hashable
@@ -1345,6 +1430,27 @@ def update!(**args)
13451430 end
13461431 end
13471432
1433+ # Metadata associated with the `DO_NOT_DISTURB` availability state, specifying
1434+ # when the state is set to expire.
1435+ class DoNotDisturbMetadata
1436+ include Google ::Apis ::Core ::Hashable
1437+
1438+ # Output only. Timestamp until which the user should be marked as DO_NOT_DISTURB.
1439+ # This can be maximum of 1 year in the future.
1440+ # Corresponds to the JSON property `expirationTime`
1441+ # @return [String]
1442+ attr_accessor :expiration_time
1443+
1444+ def initialize ( **args )
1445+ update! ( **args )
1446+ end
1447+
1448+ # Update properties of this object
1449+ def update! ( **args )
1450+ @expiration_time = args [ :expiration_time ] if args . key? ( :expiration_time )
1451+ end
1452+ end
1453+
13481454 # A reference to the data of a drive attachment.
13491455 class DriveDataRef
13501456 include Google ::Apis ::Core ::Hashable
@@ -4877,6 +4983,71 @@ def update!(**args)
48774983 end
48784984 end
48794985
4986+ # Request message for the `MarkAsActive` method.
4987+ class MarkAsActiveRequest
4988+ include Google ::Apis ::Core ::Hashable
4989+
4990+ # The absolute timestamp when the ACTIVE state expires.
4991+ # Corresponds to the JSON property `expireTime`
4992+ # @return [String]
4993+ attr_accessor :expire_time
4994+
4995+ # The duration from the current time until the ACTIVE state expires. Using a
4996+ # short TTL can effectively reset the user's state to be based on activity after
4997+ # this brief duration.
4998+ # Corresponds to the JSON property `ttl`
4999+ # @return [String]
5000+ attr_accessor :ttl
5001+
5002+ def initialize ( **args )
5003+ update! ( **args )
5004+ end
5005+
5006+ # Update properties of this object
5007+ def update! ( **args )
5008+ @expire_time = args [ :expire_time ] if args . key? ( :expire_time )
5009+ @ttl = args [ :ttl ] if args . key? ( :ttl )
5010+ end
5011+ end
5012+
5013+ # Request message for the `MarkAsAway` method.
5014+ class MarkAsAwayRequest
5015+ include Google ::Apis ::Core ::Hashable
5016+
5017+ def initialize ( **args )
5018+ update! ( **args )
5019+ end
5020+
5021+ # Update properties of this object
5022+ def update! ( **args )
5023+ end
5024+ end
5025+
5026+ # Request message for the `MarkAsDoNotDisturb` method.
5027+ class MarkAsDoNotDisturbRequest
5028+ include Google ::Apis ::Core ::Hashable
5029+
5030+ # The absolute timestamp when the DND state expires.
5031+ # Corresponds to the JSON property `expireTime`
5032+ # @return [String]
5033+ attr_accessor :expire_time
5034+
5035+ # The duration from the current time until the DND state expires.
5036+ # Corresponds to the JSON property `ttl`
5037+ # @return [String]
5038+ attr_accessor :ttl
5039+
5040+ def initialize ( **args )
5041+ update! ( **args )
5042+ end
5043+
5044+ # Update properties of this object
5045+ def update! ( **args )
5046+ @expire_time = args [ :expire_time ] if args . key? ( :expire_time )
5047+ @ttl = args [ :ttl ] if args . key? ( :ttl )
5048+ end
5049+ end
5050+
48805051 # A matched URL in a Chat message. Chat apps can preview matched URLs. For more
48815052 # information, see [Preview links](https://developers.google.com/chat/how-tos/
48825053 # preview-links).
0 commit comments