/*
* 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 models.lex.v2-2020-08-07.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.LexModelsV2.Model
{
///
/// Specifies a list of message groups that Amazon Lex sends to a user to elicit a response.
///
public partial class PromptSpecification
{
private bool? _allowInterrupt;
private int? _maxRetries;
private List _messageGroups = new List();
private MessageSelectionStrategy _messageSelectionStrategy;
private Dictionary _promptAttemptsSpecification = new Dictionary();
///
/// Gets and sets the property AllowInterrupt.
///
/// Indicates whether the user can interrupt a speech prompt from the bot.
///
///
public bool AllowInterrupt
{
get { return this._allowInterrupt.GetValueOrDefault(); }
set { this._allowInterrupt = value; }
}
// Check to see if AllowInterrupt property is set
internal bool IsSetAllowInterrupt()
{
return this._allowInterrupt.HasValue;
}
///
/// Gets and sets the property MaxRetries.
///
/// The maximum number of times the bot tries to elicit a response from the user using
/// this prompt.
///
///
[AWSProperty(Required=true, Min=0, Max=5)]
public int MaxRetries
{
get { return this._maxRetries.GetValueOrDefault(); }
set { this._maxRetries = value; }
}
// Check to see if MaxRetries property is set
internal bool IsSetMaxRetries()
{
return this._maxRetries.HasValue;
}
///
/// Gets and sets the property MessageGroups.
///
/// A collection of messages that Amazon Lex can send to the user. Amazon Lex chooses
/// the actual message to send at runtime.
///
///
[AWSProperty(Required=true, Min=1, Max=5)]
public List MessageGroups
{
get { return this._messageGroups; }
set { this._messageGroups = value; }
}
// Check to see if MessageGroups property is set
internal bool IsSetMessageGroups()
{
return this._messageGroups != null && this._messageGroups.Count > 0;
}
///
/// Gets and sets the property MessageSelectionStrategy.
///
/// Indicates how a message is selected from a message group among retries.
///
///
public MessageSelectionStrategy MessageSelectionStrategy
{
get { return this._messageSelectionStrategy; }
set { this._messageSelectionStrategy = value; }
}
// Check to see if MessageSelectionStrategy property is set
internal bool IsSetMessageSelectionStrategy()
{
return this._messageSelectionStrategy != null;
}
///
/// Gets and sets the property PromptAttemptsSpecification.
///
/// Specifies the advanced settings on each attempt of the prompt.
///
///
public Dictionary PromptAttemptsSpecification
{
get { return this._promptAttemptsSpecification; }
set { this._promptAttemptsSpecification = value; }
}
// Check to see if PromptAttemptsSpecification property is set
internal bool IsSetPromptAttemptsSpecification()
{
return this._promptAttemptsSpecification != null && this._promptAttemptsSpecification.Count > 0;
}
}
}