/*
* 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
{
///
/// Container for the parameters to the CreateSlot operation.
/// Creates a slot in an intent. A slot is a variable needed to fulfill an intent. For
/// example, an OrderPizza
intent might need slots for size, crust, and number
/// of pizzas. For each slot, you define one or more utterances that Amazon Lex uses to
/// elicit a response from the user.
///
public partial class CreateSlotRequest : AmazonLexModelsV2Request
{
private string _botId;
private string _botVersion;
private string _description;
private string _intentId;
private string _localeId;
private MultipleValuesSetting _multipleValuesSetting;
private ObfuscationSetting _obfuscationSetting;
private string _slotName;
private string _slotTypeId;
private SubSlotSetting _subSlotSetting;
private SlotValueElicitationSetting _valueElicitationSetting;
///
/// Gets and sets the property BotId.
///
/// The identifier of the bot associated with the slot.
///
///
[AWSProperty(Required=true, Min=10, Max=10)]
public string BotId
{
get { return this._botId; }
set { this._botId = value; }
}
// Check to see if BotId property is set
internal bool IsSetBotId()
{
return this._botId != null;
}
///
/// Gets and sets the property BotVersion.
///
/// The version of the bot associated with the slot.
///
///
[AWSProperty(Required=true, Min=5, Max=5)]
public string BotVersion
{
get { return this._botVersion; }
set { this._botVersion = value; }
}
// Check to see if BotVersion property is set
internal bool IsSetBotVersion()
{
return this._botVersion != null;
}
///
/// Gets and sets the property Description.
///
/// A description of the slot. Use this to help identify the slot in lists.
///
///
[AWSProperty(Min=0, Max=200)]
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != null;
}
///
/// Gets and sets the property IntentId.
///
/// The identifier of the intent that contains the slot.
///
///
[AWSProperty(Required=true, Min=10, Max=10)]
public string IntentId
{
get { return this._intentId; }
set { this._intentId = value; }
}
// Check to see if IntentId property is set
internal bool IsSetIntentId()
{
return this._intentId != null;
}
///
/// Gets and sets the property LocaleId.
///
/// The identifier of the language and locale that the slot will be used in. The string
/// must match one of the supported locales. All of the bots, intents, slot types used
/// by the slot must have the same locale. For more information, see Supported
/// languages.
///
///
[AWSProperty(Required=true)]
public string LocaleId
{
get { return this._localeId; }
set { this._localeId = value; }
}
// Check to see if LocaleId property is set
internal bool IsSetLocaleId()
{
return this._localeId != null;
}
///
/// Gets and sets the property MultipleValuesSetting.
///
/// Indicates whether the slot returns multiple values in one response. Multi-value slots
/// are only available in the en-US
locale. If you set this value to true
/// in any other locale, Amazon Lex throws a ValidationException
.
///
///
///
/// If the multipleValuesSetting
is not set, the default value is false
.
///
///
public MultipleValuesSetting MultipleValuesSetting
{
get { return this._multipleValuesSetting; }
set { this._multipleValuesSetting = value; }
}
// Check to see if MultipleValuesSetting property is set
internal bool IsSetMultipleValuesSetting()
{
return this._multipleValuesSetting != null;
}
///
/// Gets and sets the property ObfuscationSetting.
///
/// Determines how slot values are used in Amazon CloudWatch logs. If the value of the
/// obfuscationSetting
parameter is DefaultObfuscation
, slot
/// values are obfuscated in the log output. If the value is None
, the actual
/// value is present in the log output.
///
///
///
/// The default is to obfuscate values in the CloudWatch logs.
///
///
public ObfuscationSetting ObfuscationSetting
{
get { return this._obfuscationSetting; }
set { this._obfuscationSetting = value; }
}
// Check to see if ObfuscationSetting property is set
internal bool IsSetObfuscationSetting()
{
return this._obfuscationSetting != null;
}
///
/// Gets and sets the property SlotName.
///
/// The name of the slot. Slot names must be unique within the bot that contains the slot.
///
///
[AWSProperty(Required=true, Min=1, Max=100)]
public string SlotName
{
get { return this._slotName; }
set { this._slotName = value; }
}
// Check to see if SlotName property is set
internal bool IsSetSlotName()
{
return this._slotName != null;
}
///
/// Gets and sets the property SlotTypeId.
///
/// The unique identifier for the slot type associated with this slot. The slot type determines
/// the values that can be entered into the slot.
///
///
[AWSProperty(Min=1, Max=25)]
public string SlotTypeId
{
get { return this._slotTypeId; }
set { this._slotTypeId = value; }
}
// Check to see if SlotTypeId property is set
internal bool IsSetSlotTypeId()
{
return this._slotTypeId != null;
}
///
/// Gets and sets the property SubSlotSetting.
///
/// Specifications for the constituent sub slots and the expression for the composite
/// slot.
///
///
public SubSlotSetting SubSlotSetting
{
get { return this._subSlotSetting; }
set { this._subSlotSetting = value; }
}
// Check to see if SubSlotSetting property is set
internal bool IsSetSubSlotSetting()
{
return this._subSlotSetting != null;
}
///
/// Gets and sets the property ValueElicitationSetting.
///
/// Specifies prompts that Amazon Lex sends to the user to elicit a response that provides
/// the value for the slot.
///
///
[AWSProperty(Required=true)]
public SlotValueElicitationSetting ValueElicitationSetting
{
get { return this._valueElicitationSetting; }
set { this._valueElicitationSetting = value; }
}
// Check to see if ValueElicitationSetting property is set
internal bool IsSetValueElicitationSetting()
{
return this._valueElicitationSetting != null;
}
}
}