Class CreateIntentRequest

All Implemented Interfaces:
SdkPojo, ToCopyableBuilder<CreateIntentRequest.Builder,CreateIntentRequest>

@Generated("software.amazon.awssdk:codegen") public final class CreateIntentRequest extends LexModelsV2Request implements ToCopyableBuilder<CreateIntentRequest.Builder,CreateIntentRequest>
  • Method Details

    • intentName

      public final String intentName()

      The name of the intent. Intent names must be unique in the locale that contains the intent and cannot match the name of any built-in intent.

      Returns:
      The name of the intent. Intent names must be unique in the locale that contains the intent and cannot match the name of any built-in intent.
    • description

      public final String description()

      A description of the intent. Use the description to help identify the intent in lists.

      Returns:
      A description of the intent. Use the description to help identify the intent in lists.
    • parentIntentSignature

      public final String parentIntentSignature()

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

      Returns:
      A unique identifier for the built-in intent to base this intent on.
    • hasSampleUtterances

      public final boolean hasSampleUtterances()
      For responses, this returns true if the service returned a value for the SampleUtterances property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • sampleUtterances

      public final List<SampleUtterance> sampleUtterances()

      An array of strings that a user might say to signal the intent. For example, "I want a pizza", or "I want a {PizzaSize} pizza".

      In an utterance, slot names are enclosed in curly braces ("{", "}") to indicate where they should be displayed in the utterance shown to the user..

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasSampleUtterances() method.

      Returns:
      An array of strings that a user might say to signal the intent. For example, "I want a pizza", or "I want a {PizzaSize} pizza".

      In an utterance, slot names are enclosed in curly braces ("{", "}") to indicate where they should be displayed in the utterance shown to the user..

    • dialogCodeHook

      public final DialogCodeHookSettings dialogCodeHook()

      Specifies that Amazon Lex invokes the alias Lambda function for each user input. You can invoke this Lambda function to personalize user interaction.

      For example, suppose that your bot determines that the user's name is John. You Lambda function might retrieve John's information from a backend database and prepopulate some of the values. For example, if you find that John is gluten intolerant, you might set the corresponding intent slot, glutenIntolerant to true. You might find John's phone number and set the corresponding session attribute.

      Returns:
      Specifies that Amazon Lex invokes the alias Lambda function for each user input. You can invoke this Lambda function to personalize user interaction.

      For example, suppose that your bot determines that the user's name is John. You Lambda function might retrieve John's information from a backend database and prepopulate some of the values. For example, if you find that John is gluten intolerant, you might set the corresponding intent slot, glutenIntolerant to true. You might find John's phone number and set the corresponding session attribute.

    • fulfillmentCodeHook

      public final FulfillmentCodeHookSettings fulfillmentCodeHook()

      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.

      For example, in a pizza ordering bot, the Lambda function can look up the closest pizza restaurant to the customer's location and then place an order on the customer's behalf.

      Returns:
      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.

      For example, in a pizza ordering bot, the Lambda function can look up the closest pizza restaurant to the customer's location and then place an order on the customer's behalf.

    • intentConfirmationSetting

      public final IntentConfirmationSetting intentConfirmationSetting()

      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.

      Returns:
      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.
    • intentClosingSetting

      public final IntentClosingSetting intentClosingSetting()

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

      Returns:
      Sets the response that Amazon Lex sends to the user when the intent is closed.
    • hasInputContexts

      public final boolean hasInputContexts()
      For responses, this returns true if the service returned a value for the InputContexts property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • inputContexts

      public final List<InputContext> inputContexts()

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

      When an intent has an input context list, Amazon Lex only considers using the intent in an interaction with the user when the specified contexts are included in the active context list for the session. If the contexts are not active, then Amazon Lex will not use the intent.

      A context can be automatically activated using the outputContexts property or it can be set at runtime.

      For example, if there are two intents with different input contexts that respond to the same utterances, only the intent with the active context will respond.

      An intent may have up to 5 input contexts. If an intent has multiple input contexts, all of the contexts must be active to consider the intent.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasInputContexts() method.

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

      When an intent has an input context list, Amazon Lex only considers using the intent in an interaction with the user when the specified contexts are included in the active context list for the session. If the contexts are not active, then Amazon Lex will not use the intent.

      A context can be automatically activated using the outputContexts property or it can be set at runtime.

      For example, if there are two intents with different input contexts that respond to the same utterances, only the intent with the active context will respond.

      An intent may have up to 5 input contexts. If an intent has multiple input contexts, all of the contexts must be active to consider the intent.

    • hasOutputContexts

      public final boolean hasOutputContexts()
      For responses, this returns true if the service returned a value for the OutputContexts property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • outputContexts

      public final List<OutputContext> outputContexts()

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

      You can use an output context to indicate the intents that Amazon Lex should consider for the next turn of the conversation with a customer.

      When you use the outputContextsList property, all of the contexts specified in the list are activated when the intent is fulfilled. You can set up to 10 output contexts. You can also set the number of conversation turns that the context should be active, or the length of time that the context should be active.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasOutputContexts() method.

      Returns:
      A lists of contexts that the intent activates when it is fulfilled.

      You can use an output context to indicate the intents that Amazon Lex should consider for the next turn of the conversation with a customer.

      When you use the outputContextsList property, all of the contexts specified in the list are activated when the intent is fulfilled. You can set up to 10 output contexts. You can also set the number of conversation turns that the context should be active, or the length of time that the context should be active.

    • kendraConfiguration

      public final KendraConfiguration kendraConfiguration()

      Configuration information required to use the AMAZON.KendraSearchIntent intent to connect to an Amazon Kendra index. The AMAZON.KendraSearchIntent intent is called when Amazon Lex can't determine another intent to invoke.

      Returns:
      Configuration information required to use the AMAZON.KendraSearchIntent intent to connect to an Amazon Kendra index. The AMAZON.KendraSearchIntent intent is called when Amazon Lex can't determine another intent to invoke.
    • botId

      public final String botId()

      The identifier of the bot associated with this intent.

      Returns:
      The identifier of the bot associated with this intent.
    • botVersion

      public final String botVersion()

      The version of the bot associated with this intent.

      Returns:
      The version of the bot associated with this intent.
    • localeId

      public final String localeId()

      The identifier of the language and locale where this intent is used. All of the bots, slot types, and slots used by the intent must have the same locale. For more information, see Supported languages.

      Returns:
      The identifier of the language and locale where this intent is used. All of the bots, slot types, and slots used by the intent must have the same locale. For more information, see Supported languages.
    • initialResponseSetting

      public final InitialResponseSetting initialResponseSetting()

      Configuration settings for the response that is sent to the user at the beginning of a conversation, before eliciting slot values.

      Returns:
      Configuration settings for the response that is sent to the user at the beginning of a conversation, before eliciting slot values.
    • qnAIntentConfiguration

      public final QnAIntentConfiguration qnAIntentConfiguration()

      Specifies the configuration of the built-in Amazon.QnAIntent. The AMAZON.QnAIntent intent is called when Amazon Lex can't determine another intent to invoke. If you specify this field, you can't specify the kendraConfiguration field.

      Returns:
      Specifies the configuration of the built-in Amazon.QnAIntent. The AMAZON.QnAIntent intent is called when Amazon Lex can't determine another intent to invoke. If you specify this field, you can't specify the kendraConfiguration field.
    • toBuilder

      public CreateIntentRequest.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<CreateIntentRequest.Builder,CreateIntentRequest>
      Specified by:
      toBuilder in class LexModelsV2Request
      Returns:
      a builder for type T
    • builder

      public static CreateIntentRequest.Builder builder()
    • serializableBuilderClass

      public static Class<? extends CreateIntentRequest.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class AwsRequest
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class AwsRequest
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
      Description copied from class: SdkRequest
      Used to retrieve the value of a field from any class that extends SdkRequest. The field name specified should match the member name from the corresponding service-2.json model specified in the codegen-resources folder for a given service. The class specifies what class to cast the returned value to. If the returned value is also a modeled class, the SdkRequest.getValueForField(String, Class) method will again be available.
      Overrides:
      getValueForField in class SdkRequest
      Parameters:
      fieldName - The name of the member to be retrieved.
      clazz - The class to cast the returned object to.
      Returns:
      Optional containing the casted return value
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.