/* * 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; } } }