Class: AWSCDK::Lex::CfnBot::IntentProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
lex/cfn_bot.rb

Overview

Represents an action that the user wants to perform.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, bedrock_agent_intent_configuration: nil, description: nil, dialog_code_hook: nil, display_name: nil, fulfillment_code_hook: nil, initial_response_setting: nil, input_contexts: nil, intent_closing_setting: nil, intent_confirmation_setting: nil, kendra_configuration: nil, output_contexts: nil, parent_intent_signature: nil, q_in_connect_intent_configuration: nil, qn_a_intent_configuration: nil, sample_utterances: nil, slot_priorities: nil, slots: nil) ⇒ IntentProperty

Returns a new instance of IntentProperty.

Parameters:



3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
# File 'lex/cfn_bot.rb', line 3572

def initialize(name:, bedrock_agent_intent_configuration: nil, description: nil, dialog_code_hook: nil, display_name: nil, fulfillment_code_hook: nil, initial_response_setting: nil, input_contexts: nil, intent_closing_setting: nil, intent_confirmation_setting: nil, kendra_configuration: nil, output_contexts: nil, parent_intent_signature: nil, q_in_connect_intent_configuration: nil, qn_a_intent_configuration: nil, sample_utterances: nil, slot_priorities: nil, slots: nil)
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @bedrock_agent_intent_configuration = bedrock_agent_intent_configuration.is_a?(Hash) ? ::AWSCDK::Lex::CfnBot::BedrockAgentIntentConfigurationProperty.new(**bedrock_agent_intent_configuration.transform_keys(&:to_sym)) : bedrock_agent_intent_configuration
  Jsii::Type.check_type(@bedrock_agent_intent_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19sZXguQ2ZuQm90LkJlZHJvY2tBZ2VudEludGVudENvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "bedrockAgentIntentConfiguration") unless @bedrock_agent_intent_configuration.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @dialog_code_hook = dialog_code_hook.is_a?(Hash) ? ::AWSCDK::Lex::CfnBot::DialogCodeHookSettingProperty.new(**dialog_code_hook.transform_keys(&:to_sym)) : dialog_code_hook
  Jsii::Type.check_type(@dialog_code_hook, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19sZXguQ2ZuQm90LkRpYWxvZ0NvZGVIb29rU2V0dGluZ1Byb3BlcnR5In1dfX0=")), "dialogCodeHook") unless @dialog_code_hook.nil?
  @display_name = display_name
  Jsii::Type.check_type(@display_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "displayName") unless @display_name.nil?
  @fulfillment_code_hook = fulfillment_code_hook.is_a?(Hash) ? ::AWSCDK::Lex::CfnBot::FulfillmentCodeHookSettingProperty.new(**fulfillment_code_hook.transform_keys(&:to_sym)) : fulfillment_code_hook
  Jsii::Type.check_type(@fulfillment_code_hook, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19sZXguQ2ZuQm90LkZ1bGZpbGxtZW50Q29kZUhvb2tTZXR0aW5nUHJvcGVydHkifV19fQ==")), "fulfillmentCodeHook") unless @fulfillment_code_hook.nil?
  @initial_response_setting = initial_response_setting.is_a?(Hash) ? ::AWSCDK::Lex::CfnBot::InitialResponseSettingProperty.new(**initial_response_setting.transform_keys(&:to_sym)) : initial_response_setting
  Jsii::Type.check_type(@initial_response_setting, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19sZXguQ2ZuQm90LkluaXRpYWxSZXNwb25zZVNldHRpbmdQcm9wZXJ0eSJ9XX19")), "initialResponseSetting") unless @initial_response_setting.nil?
  @input_contexts = input_contexts
  Jsii::Type.check_type(@input_contexts, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGV4LkNmbkJvdC5JbnB1dENvbnRleHRQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "inputContexts") unless @input_contexts.nil?
  @intent_closing_setting = intent_closing_setting.is_a?(Hash) ? ::AWSCDK::Lex::CfnBot::IntentClosingSettingProperty.new(**intent_closing_setting.transform_keys(&:to_sym)) : intent_closing_setting
  Jsii::Type.check_type(@intent_closing_setting, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19sZXguQ2ZuQm90LkludGVudENsb3NpbmdTZXR0aW5nUHJvcGVydHkifV19fQ==")), "intentClosingSetting") unless @intent_closing_setting.nil?
  @intent_confirmation_setting = intent_confirmation_setting.is_a?(Hash) ? ::AWSCDK::Lex::CfnBot::IntentConfirmationSettingProperty.new(**intent_confirmation_setting.transform_keys(&:to_sym)) : intent_confirmation_setting
  Jsii::Type.check_type(@intent_confirmation_setting, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19sZXguQ2ZuQm90LkludGVudENvbmZpcm1hdGlvblNldHRpbmdQcm9wZXJ0eSJ9XX19")), "intentConfirmationSetting") unless @intent_confirmation_setting.nil?
  @kendra_configuration = kendra_configuration.is_a?(Hash) ? ::AWSCDK::Lex::CfnBot::KendraConfigurationProperty.new(**kendra_configuration.transform_keys(&:to_sym)) : kendra_configuration
  Jsii::Type.check_type(@kendra_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19sZXguQ2ZuQm90LktlbmRyYUNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "kendraConfiguration") unless @kendra_configuration.nil?
  @output_contexts = output_contexts
  Jsii::Type.check_type(@output_contexts, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGV4LkNmbkJvdC5PdXRwdXRDb250ZXh0UHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "outputContexts") unless @output_contexts.nil?
  @parent_intent_signature = parent_intent_signature
  Jsii::Type.check_type(@parent_intent_signature, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "parentIntentSignature") unless @parent_intent_signature.nil?
  @q_in_connect_intent_configuration = q_in_connect_intent_configuration.is_a?(Hash) ? ::AWSCDK::Lex::CfnBot::QInConnectIntentConfigurationProperty.new(**q_in_connect_intent_configuration.transform_keys(&:to_sym)) : q_in_connect_intent_configuration
  Jsii::Type.check_type(@q_in_connect_intent_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19sZXguQ2ZuQm90LlFJbkNvbm5lY3RJbnRlbnRDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "qInConnectIntentConfiguration") unless @q_in_connect_intent_configuration.nil?
  @qn_a_intent_configuration = qn_a_intent_configuration.is_a?(Hash) ? ::AWSCDK::Lex::CfnBot::QnAIntentConfigurationProperty.new(**qn_a_intent_configuration.transform_keys(&:to_sym)) : qn_a_intent_configuration
  Jsii::Type.check_type(@qn_a_intent_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19sZXguQ2ZuQm90LlFuQUludGVudENvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "qnAIntentConfiguration") unless @qn_a_intent_configuration.nil?
  @sample_utterances = sample_utterances
  Jsii::Type.check_type(@sample_utterances, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGV4LkNmbkJvdC5TYW1wbGVVdHRlcmFuY2VQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "sampleUtterances") unless @sample_utterances.nil?
  @slot_priorities = slot_priorities
  Jsii::Type.check_type(@slot_priorities, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGV4LkNmbkJvdC5TbG90UHJpb3JpdHlQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "slotPriorities") unless @slot_priorities.nil?
  @slots = slots
  Jsii::Type.check_type(@slots, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGV4LkNmbkJvdC5TbG90UHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "slots") unless @slots.nil?
end

Instance Attribute Details

#bedrock_agent_intent_configurationAWSCDK::IResolvable, ... (readonly)



3620
3621
3622
# File 'lex/cfn_bot.rb', line 3620

def bedrock_agent_intent_configuration
  @bedrock_agent_intent_configuration
end

#descriptionString? (readonly)

A description of the intent.

Use the description to help identify the intent in lists.



3627
3628
3629
# File 'lex/cfn_bot.rb', line 3627

def description
  @description
end

#dialog_code_hookAWSCDK::IResolvable, ... (readonly)

Specifies that Amazon Lex invokes the alias Lambda function for each user input.

You can invoke this Lambda function to personalize user interaction.



3634
3635
3636
# File 'lex/cfn_bot.rb', line 3634

def dialog_code_hook
  @dialog_code_hook
end

#display_nameString? (readonly)



3637
3638
3639
# File 'lex/cfn_bot.rb', line 3637

def display_name
  @display_name
end

#fulfillment_code_hookAWSCDK::IResolvable, ... (readonly)

Specifies that Amazon Lex invokes the alias Lambda function when the intent is ready for fulfillment.

You can invoke this function to complete the bot's transaction with the user.



3644
3645
3646
# File 'lex/cfn_bot.rb', line 3644

def fulfillment_code_hook
  @fulfillment_code_hook
end

#initial_response_settingAWSCDK::IResolvable, ... (readonly)

Configuration setting for a response sent to the user before Amazon Lex starts eliciting slots.



3649
3650
3651
# File 'lex/cfn_bot.rb', line 3649

def initial_response_setting
  @initial_response_setting
end

#input_contextsAWSCDK::IResolvable, ... (readonly)

A list of contexts that must be active for this intent to be considered by Amazon Lex .



3654
3655
3656
# File 'lex/cfn_bot.rb', line 3654

def input_contexts
  @input_contexts
end

#intent_closing_settingAWSCDK::IResolvable, ... (readonly)

Sets the response that Amazon Lex sends to the user when the intent is closed.



3659
3660
3661
# File 'lex/cfn_bot.rb', line 3659

def intent_closing_setting
  @intent_closing_setting
end

#intent_confirmation_settingAWSCDK::IResolvable, ... (readonly)

Provides prompts that Amazon Lex sends to the user to confirm the completion of an intent.

If the user answers "no," the settings contain a statement that is sent to the user to end the intent.



3666
3667
3668
# File 'lex/cfn_bot.rb', line 3666

def intent_confirmation_setting
  @intent_confirmation_setting
end

#kendra_configurationAWSCDK::IResolvable, ... (readonly)

Provides configuration information for the AMAZON.KendraSearchIntent intent. When you use this intent, Amazon Lex searches the specified Amazon Kendra index and returns documents from the index that match the user's utterance.



3671
3672
3673
# File 'lex/cfn_bot.rb', line 3671

def kendra_configuration
  @kendra_configuration
end

#nameString (readonly)

The name of the intent.

Intent names must be unique within the locale that contains the intent and can't match the name of any built-in intent.



3617
3618
3619
# File 'lex/cfn_bot.rb', line 3617

def name
  @name
end

#output_contextsAWSCDK::IResolvable, ... (readonly)

A list of contexts that the intent activates when it is fulfilled.



3676
3677
3678
# File 'lex/cfn_bot.rb', line 3676

def output_contexts
  @output_contexts
end

#parent_intent_signatureString? (readonly)

A unique identifier for the built-in intent to base this intent on.



3681
3682
3683
# File 'lex/cfn_bot.rb', line 3681

def parent_intent_signature
  @parent_intent_signature
end

#q_in_connect_intent_configurationAWSCDK::IResolvable, ... (readonly)



3684
3685
3686
# File 'lex/cfn_bot.rb', line 3684

def q_in_connect_intent_configuration
  @q_in_connect_intent_configuration
end

#qn_a_intent_configurationAWSCDK::IResolvable, ... (readonly)



3687
3688
3689
# File 'lex/cfn_bot.rb', line 3687

def qn_a_intent_configuration
  @qn_a_intent_configuration
end

#sample_utterancesAWSCDK::IResolvable, ... (readonly)

A list of utterances that a user might say to signal the intent.



3692
3693
3694
# File 'lex/cfn_bot.rb', line 3692

def sample_utterances
  @sample_utterances
end

#slot_prioritiesAWSCDK::IResolvable, ... (readonly)

Indicates the priority for slots.

Amazon Lex prompts the user for slot values in priority order.



3699
3700
3701
# File 'lex/cfn_bot.rb', line 3699

def slot_priorities
  @slot_priorities
end

#slotsAWSCDK::IResolvable, ... (readonly)

A list of slots that the intent requires for fulfillment.



3704
3705
3706
# File 'lex/cfn_bot.rb', line 3704

def slots
  @slots
end

Class Method Details

.jsii_propertiesObject



3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
# File 'lex/cfn_bot.rb', line 3706

def self.jsii_properties
  {
    :name => "name",
    :bedrock_agent_intent_configuration => "bedrockAgentIntentConfiguration",
    :description => "description",
    :dialog_code_hook => "dialogCodeHook",
    :display_name => "displayName",
    :fulfillment_code_hook => "fulfillmentCodeHook",
    :initial_response_setting => "initialResponseSetting",
    :input_contexts => "inputContexts",
    :intent_closing_setting => "intentClosingSetting",
    :intent_confirmation_setting => "intentConfirmationSetting",
    :kendra_configuration => "kendraConfiguration",
    :output_contexts => "outputContexts",
    :parent_intent_signature => "parentIntentSignature",
    :q_in_connect_intent_configuration => "qInConnectIntentConfiguration",
    :qn_a_intent_configuration => "qnAIntentConfiguration",
    :sample_utterances => "sampleUtterances",
    :slot_priorities => "slotPriorities",
    :slots => "slots",
  }
end

Instance Method Details

#to_jsiiObject



3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
# File 'lex/cfn_bot.rb', line 3729

def to_jsii
  result = {}
  result.merge!({
    "name" => @name,
    "bedrockAgentIntentConfiguration" => @bedrock_agent_intent_configuration,
    "description" => @description,
    "dialogCodeHook" => @dialog_code_hook,
    "displayName" => @display_name,
    "fulfillmentCodeHook" => @fulfillment_code_hook,
    "initialResponseSetting" => @initial_response_setting,
    "inputContexts" => @input_contexts,
    "intentClosingSetting" => @intent_closing_setting,
    "intentConfirmationSetting" => @intent_confirmation_setting,
    "kendraConfiguration" => @kendra_configuration,
    "outputContexts" => @output_contexts,
    "parentIntentSignature" => @parent_intent_signature,
    "qInConnectIntentConfiguration" => @q_in_connect_intent_configuration,
    "qnAIntentConfiguration" => @qn_a_intent_configuration,
    "sampleUtterances" => @sample_utterances,
    "slotPriorities" => @slot_priorities,
    "slots" => @slots,
  })
  result.compact
end