/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the chime-sdk-messaging-2021-05-15.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.ChimeSDKMessaging.Model { /// /// The details of a message in a channel. /// public partial class ChannelMessage { private string _channelArn; private string _content; private string _contentType; private DateTime? _createdTimestamp; private DateTime? _lastEditedTimestamp; private DateTime? _lastUpdatedTimestamp; private Dictionary _messageAttributes = new Dictionary(); private string _messageId; private string _metadata; private ChannelMessagePersistenceType _persistence; private bool? _redacted; private Identity _sender; private ChannelMessageStatusStructure _status; private string _subChannelId; private List _target = new List(); private ChannelMessageType _type; /// /// Gets and sets the property ChannelArn. /// /// The ARN of the channel. /// /// [AWSProperty(Min=5, Max=1600)] public string ChannelArn { get { return this._channelArn; } set { this._channelArn = value; } } // Check to see if ChannelArn property is set internal bool IsSetChannelArn() { return this._channelArn != null; } /// /// Gets and sets the property Content. /// /// The content of the channel message. For Amazon Lex V2 bot responses, this field holds /// a list of messages originating from the bot. For more information, refer to Processing /// responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer /// Guide. /// /// [AWSProperty(Sensitive=true, Min=0, Max=4096)] public string Content { get { return this._content; } set { this._content = value; } } // Check to see if Content property is set internal bool IsSetContent() { return this._content != null; } /// /// Gets and sets the property ContentType. /// /// The content type of the channel message. For Amazon Lex V2 bot responses, the content /// type is application/amz-chime-lex-msgs for success responses and application/amz-chime-lex-error /// for failure responses. For more information, refer to Processing /// responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer /// Guide. /// /// [AWSProperty(Sensitive=true, Min=0, Max=45)] public string ContentType { get { return this._contentType; } set { this._contentType = value; } } // Check to see if ContentType property is set internal bool IsSetContentType() { return this._contentType != null; } /// /// Gets and sets the property CreatedTimestamp. /// /// The time at which the message was created. /// /// public DateTime CreatedTimestamp { get { return this._createdTimestamp.GetValueOrDefault(); } set { this._createdTimestamp = value; } } // Check to see if CreatedTimestamp property is set internal bool IsSetCreatedTimestamp() { return this._createdTimestamp.HasValue; } /// /// Gets and sets the property LastEditedTimestamp. /// /// The time at which a message was edited. /// /// public DateTime LastEditedTimestamp { get { return this._lastEditedTimestamp.GetValueOrDefault(); } set { this._lastEditedTimestamp = value; } } // Check to see if LastEditedTimestamp property is set internal bool IsSetLastEditedTimestamp() { return this._lastEditedTimestamp.HasValue; } /// /// Gets and sets the property LastUpdatedTimestamp. /// /// The time at which a message was updated. /// /// public DateTime LastUpdatedTimestamp { get { return this._lastUpdatedTimestamp.GetValueOrDefault(); } set { this._lastUpdatedTimestamp = value; } } // Check to see if LastUpdatedTimestamp property is set internal bool IsSetLastUpdatedTimestamp() { return this._lastUpdatedTimestamp.HasValue; } /// /// Gets and sets the property MessageAttributes. /// /// The attributes for the channel message. For Amazon Lex V2 bot responses, the attributes /// are mapped to specific fields from the bot. For more information, refer to Processing /// responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer /// Guide. /// /// public Dictionary MessageAttributes { get { return this._messageAttributes; } set { this._messageAttributes = value; } } // Check to see if MessageAttributes property is set internal bool IsSetMessageAttributes() { return this._messageAttributes != null && this._messageAttributes.Count > 0; } /// /// Gets and sets the property MessageId. /// /// The ID of a message. /// /// [AWSProperty(Min=1, Max=128)] public string MessageId { get { return this._messageId; } set { this._messageId = value; } } // Check to see if MessageId property is set internal bool IsSetMessageId() { return this._messageId != null; } /// /// Gets and sets the property Metadata. /// /// The message metadata. /// /// [AWSProperty(Sensitive=true, Min=0, Max=1024)] public string Metadata { get { return this._metadata; } set { this._metadata = value; } } // Check to see if Metadata property is set internal bool IsSetMetadata() { return this._metadata != null; } /// /// Gets and sets the property Persistence. /// /// The persistence setting for a channel message. /// /// public ChannelMessagePersistenceType Persistence { get { return this._persistence; } set { this._persistence = value; } } // Check to see if Persistence property is set internal bool IsSetPersistence() { return this._persistence != null; } /// /// Gets and sets the property Redacted. /// /// Hides the content of a message. /// /// public bool Redacted { get { return this._redacted.GetValueOrDefault(); } set { this._redacted = value; } } // Check to see if Redacted property is set internal bool IsSetRedacted() { return this._redacted.HasValue; } /// /// Gets and sets the property Sender. /// /// The message sender. /// /// public Identity Sender { get { return this._sender; } set { this._sender = value; } } // Check to see if Sender property is set internal bool IsSetSender() { return this._sender != null; } /// /// Gets and sets the property Status. /// /// The status of the channel message. /// /// public ChannelMessageStatusStructure Status { get { return this._status; } set { this._status = value; } } // Check to see if Status property is set internal bool IsSetStatus() { return this._status != null; } /// /// Gets and sets the property SubChannelId. /// /// The ID of the SubChannel. /// /// [AWSProperty(Min=1, Max=128)] public string SubChannelId { get { return this._subChannelId; } set { this._subChannelId = value; } } // Check to see if SubChannelId property is set internal bool IsSetSubChannelId() { return this._subChannelId != null; } /// /// Gets and sets the property Target. /// /// The target of a message, a sender, a user, or a bot. Only the target and the sender /// can view targeted messages. Only users who can see targeted messages can take actions /// on them. However, administrators can delete targeted messages that they can’t see. /// /// [AWSProperty(Min=1, Max=1)] public List Target { get { return this._target; } set { this._target = value; } } // Check to see if Target property is set internal bool IsSetTarget() { return this._target != null && this._target.Count > 0; } /// /// Gets and sets the property Type. /// /// The message type. /// /// public ChannelMessageType Type { get { return this._type; } set { this._type = value; } } // Check to see if Type property is set internal bool IsSetType() { return this._type != null; } } }