/* * 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 alexaforbusiness-2017-11-09.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.AlexaForBusiness.Model { /// /// Container for the parameters to the SendAnnouncement operation. /// Triggers an asynchronous flow to send text, SSML, or audio announcements to rooms /// that are identified by a search or filter. /// public partial class SendAnnouncementRequest : AmazonAlexaForBusinessRequest { private string _clientRequestToken; private Content _content; private List _roomFilters = new List(); private int? _timeToLiveInSeconds; /// /// Gets and sets the property ClientRequestToken. /// /// The unique, user-specified identifier for the request that ensures idempotency. /// /// [AWSProperty(Min=10, Max=150)] public string ClientRequestToken { get { return this._clientRequestToken; } set { this._clientRequestToken = value; } } // Check to see if ClientRequestToken property is set internal bool IsSetClientRequestToken() { return this._clientRequestToken != null; } /// /// Gets and sets the property Content. /// /// The announcement content. This can contain only one of the three possible announcement /// types (text, SSML or audio). /// /// [AWSProperty(Required=true)] public Content 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 RoomFilters. /// /// The filters to use to send an announcement to a specified list of rooms. The supported /// filter keys are RoomName, ProfileName, RoomArn, and ProfileArn. To send to all rooms, /// specify an empty RoomFilters list. /// /// [AWSProperty(Required=true, Max=25)] public List RoomFilters { get { return this._roomFilters; } set { this._roomFilters = value; } } // Check to see if RoomFilters property is set internal bool IsSetRoomFilters() { return this._roomFilters != null && this._roomFilters.Count > 0; } /// /// Gets and sets the property TimeToLiveInSeconds. /// /// The time to live for an announcement. Default is 300. If delivery doesn't occur within /// this time, the announcement is not delivered. /// /// [AWSProperty(Min=1, Max=3600)] public int TimeToLiveInSeconds { get { return this._timeToLiveInSeconds.GetValueOrDefault(); } set { this._timeToLiveInSeconds = value; } } // Check to see if TimeToLiveInSeconds property is set internal bool IsSetTimeToLiveInSeconds() { return this._timeToLiveInSeconds.HasValue; } } }