github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/lex/v2modelsIntent.go (about)

     1  // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
     2  // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
     3  
     4  package lex
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"errors"
    11  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    12  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    13  )
    14  
    15  // ## Import
    16  //
    17  // Using `pulumi import`, import Lex V2 Models Intent using the `intent_id:bot_id:bot_version:locale_id`. For example:
    18  //
    19  // ```sh
    20  // $ pulumi import aws:lex/v2modelsIntent:V2modelsIntent example intent-42874:bot-11376:DRAFT:en_US
    21  // ```
    22  type V2modelsIntent struct {
    23  	pulumi.CustomResourceState
    24  
    25  	// Identifier of the bot associated with this intent.
    26  	BotId pulumi.StringOutput `pulumi:"botId"`
    27  	// Version of the bot associated with this intent.
    28  	BotVersion pulumi.StringOutput `pulumi:"botVersion"`
    29  	// Configuration block for the response that Amazon Lex sends to the user when the intent is closed. See `closingSetting`.
    30  	ClosingSetting      V2modelsIntentClosingSettingPtrOutput      `pulumi:"closingSetting"`
    31  	ConfirmationSetting V2modelsIntentConfirmationSettingPtrOutput `pulumi:"confirmationSetting"`
    32  	// Timestamp of the date and time that the intent was created.
    33  	CreationDateTime pulumi.StringOutput `pulumi:"creationDateTime"`
    34  	// Description of the intent. Use the description to help identify the intent in lists.
    35  	Description pulumi.StringPtrOutput `pulumi:"description"`
    36  	// Configuration block for invoking the alias Lambda function for each user input. You can invoke this Lambda function to personalize user interaction. See `dialogCodeHook`.
    37  	DialogCodeHook V2modelsIntentDialogCodeHookPtrOutput `pulumi:"dialogCodeHook"`
    38  	// Configuration block for invoking 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. See `fulfillmentCodeHook`.
    39  	FulfillmentCodeHook V2modelsIntentFulfillmentCodeHookPtrOutput `pulumi:"fulfillmentCodeHook"`
    40  	// Configuration block for the response that is sent to the user at the beginning of a conversation, before eliciting slot values. See `initialResponseSetting`.
    41  	InitialResponseSetting V2modelsIntentInitialResponseSettingPtrOutput `pulumi:"initialResponseSetting"`
    42  	// Configuration blocks for 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. See `inputContext`.
    43  	InputContexts V2modelsIntentInputContextArrayOutput `pulumi:"inputContexts"`
    44  	// Unique identifier for the intent.
    45  	IntentId pulumi.StringOutput `pulumi:"intentId"`
    46  	// Configuration block for 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. See `kendraConfiguration`.
    47  	KendraConfiguration V2modelsIntentKendraConfigurationPtrOutput `pulumi:"kendraConfiguration"`
    48  	// Timestamp of the last time that the intent was modified.
    49  	LastUpdatedDateTime pulumi.StringOutput `pulumi:"lastUpdatedDateTime"`
    50  	// 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.
    51  	LocaleId pulumi.StringOutput `pulumi:"localeId"`
    52  	// 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.
    53  	//
    54  	// The following arguments are optional:
    55  	Name pulumi.StringOutput `pulumi:"name"`
    56  	// Configuration blocks for 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. See `outputContext`.
    57  	OutputContexts V2modelsIntentOutputContextArrayOutput `pulumi:"outputContexts"`
    58  	// Identifier for the built-in intent to base this intent on.
    59  	ParentIntentSignature pulumi.StringPtrOutput `pulumi:"parentIntentSignature"`
    60  	// Configuration block for strings that a user might say to signal the intent. See `sampleUtterance`.
    61  	SampleUtterances V2modelsIntentSampleUtteranceArrayOutput `pulumi:"sampleUtterances"`
    62  	// Configuration block for a new list of slots and their priorities that are contained by the intent. This is ignored on create and only valid for updates. See `slotPriority`.
    63  	SlotPriorities V2modelsIntentSlotPriorityArrayOutput `pulumi:"slotPriorities"`
    64  	Timeouts       V2modelsIntentTimeoutsPtrOutput       `pulumi:"timeouts"`
    65  }
    66  
    67  // NewV2modelsIntent registers a new resource with the given unique name, arguments, and options.
    68  func NewV2modelsIntent(ctx *pulumi.Context,
    69  	name string, args *V2modelsIntentArgs, opts ...pulumi.ResourceOption) (*V2modelsIntent, error) {
    70  	if args == nil {
    71  		return nil, errors.New("missing one or more required arguments")
    72  	}
    73  
    74  	if args.BotId == nil {
    75  		return nil, errors.New("invalid value for required argument 'BotId'")
    76  	}
    77  	if args.BotVersion == nil {
    78  		return nil, errors.New("invalid value for required argument 'BotVersion'")
    79  	}
    80  	if args.LocaleId == nil {
    81  		return nil, errors.New("invalid value for required argument 'LocaleId'")
    82  	}
    83  	opts = internal.PkgResourceDefaultOpts(opts)
    84  	var resource V2modelsIntent
    85  	err := ctx.RegisterResource("aws:lex/v2modelsIntent:V2modelsIntent", name, args, &resource, opts...)
    86  	if err != nil {
    87  		return nil, err
    88  	}
    89  	return &resource, nil
    90  }
    91  
    92  // GetV2modelsIntent gets an existing V2modelsIntent resource's state with the given name, ID, and optional
    93  // state properties that are used to uniquely qualify the lookup (nil if not required).
    94  func GetV2modelsIntent(ctx *pulumi.Context,
    95  	name string, id pulumi.IDInput, state *V2modelsIntentState, opts ...pulumi.ResourceOption) (*V2modelsIntent, error) {
    96  	var resource V2modelsIntent
    97  	err := ctx.ReadResource("aws:lex/v2modelsIntent:V2modelsIntent", name, id, state, &resource, opts...)
    98  	if err != nil {
    99  		return nil, err
   100  	}
   101  	return &resource, nil
   102  }
   103  
   104  // Input properties used for looking up and filtering V2modelsIntent resources.
   105  type v2modelsIntentState struct {
   106  	// Identifier of the bot associated with this intent.
   107  	BotId *string `pulumi:"botId"`
   108  	// Version of the bot associated with this intent.
   109  	BotVersion *string `pulumi:"botVersion"`
   110  	// Configuration block for the response that Amazon Lex sends to the user when the intent is closed. See `closingSetting`.
   111  	ClosingSetting      *V2modelsIntentClosingSetting      `pulumi:"closingSetting"`
   112  	ConfirmationSetting *V2modelsIntentConfirmationSetting `pulumi:"confirmationSetting"`
   113  	// Timestamp of the date and time that the intent was created.
   114  	CreationDateTime *string `pulumi:"creationDateTime"`
   115  	// Description of the intent. Use the description to help identify the intent in lists.
   116  	Description *string `pulumi:"description"`
   117  	// Configuration block for invoking the alias Lambda function for each user input. You can invoke this Lambda function to personalize user interaction. See `dialogCodeHook`.
   118  	DialogCodeHook *V2modelsIntentDialogCodeHook `pulumi:"dialogCodeHook"`
   119  	// Configuration block for invoking 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. See `fulfillmentCodeHook`.
   120  	FulfillmentCodeHook *V2modelsIntentFulfillmentCodeHook `pulumi:"fulfillmentCodeHook"`
   121  	// Configuration block for the response that is sent to the user at the beginning of a conversation, before eliciting slot values. See `initialResponseSetting`.
   122  	InitialResponseSetting *V2modelsIntentInitialResponseSetting `pulumi:"initialResponseSetting"`
   123  	// Configuration blocks for 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. See `inputContext`.
   124  	InputContexts []V2modelsIntentInputContext `pulumi:"inputContexts"`
   125  	// Unique identifier for the intent.
   126  	IntentId *string `pulumi:"intentId"`
   127  	// Configuration block for 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. See `kendraConfiguration`.
   128  	KendraConfiguration *V2modelsIntentKendraConfiguration `pulumi:"kendraConfiguration"`
   129  	// Timestamp of the last time that the intent was modified.
   130  	LastUpdatedDateTime *string `pulumi:"lastUpdatedDateTime"`
   131  	// 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.
   132  	LocaleId *string `pulumi:"localeId"`
   133  	// 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.
   134  	//
   135  	// The following arguments are optional:
   136  	Name *string `pulumi:"name"`
   137  	// Configuration blocks for 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. See `outputContext`.
   138  	OutputContexts []V2modelsIntentOutputContext `pulumi:"outputContexts"`
   139  	// Identifier for the built-in intent to base this intent on.
   140  	ParentIntentSignature *string `pulumi:"parentIntentSignature"`
   141  	// Configuration block for strings that a user might say to signal the intent. See `sampleUtterance`.
   142  	SampleUtterances []V2modelsIntentSampleUtterance `pulumi:"sampleUtterances"`
   143  	// Configuration block for a new list of slots and their priorities that are contained by the intent. This is ignored on create and only valid for updates. See `slotPriority`.
   144  	SlotPriorities []V2modelsIntentSlotPriority `pulumi:"slotPriorities"`
   145  	Timeouts       *V2modelsIntentTimeouts      `pulumi:"timeouts"`
   146  }
   147  
   148  type V2modelsIntentState struct {
   149  	// Identifier of the bot associated with this intent.
   150  	BotId pulumi.StringPtrInput
   151  	// Version of the bot associated with this intent.
   152  	BotVersion pulumi.StringPtrInput
   153  	// Configuration block for the response that Amazon Lex sends to the user when the intent is closed. See `closingSetting`.
   154  	ClosingSetting      V2modelsIntentClosingSettingPtrInput
   155  	ConfirmationSetting V2modelsIntentConfirmationSettingPtrInput
   156  	// Timestamp of the date and time that the intent was created.
   157  	CreationDateTime pulumi.StringPtrInput
   158  	// Description of the intent. Use the description to help identify the intent in lists.
   159  	Description pulumi.StringPtrInput
   160  	// Configuration block for invoking the alias Lambda function for each user input. You can invoke this Lambda function to personalize user interaction. See `dialogCodeHook`.
   161  	DialogCodeHook V2modelsIntentDialogCodeHookPtrInput
   162  	// Configuration block for invoking 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. See `fulfillmentCodeHook`.
   163  	FulfillmentCodeHook V2modelsIntentFulfillmentCodeHookPtrInput
   164  	// Configuration block for the response that is sent to the user at the beginning of a conversation, before eliciting slot values. See `initialResponseSetting`.
   165  	InitialResponseSetting V2modelsIntentInitialResponseSettingPtrInput
   166  	// Configuration blocks for 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. See `inputContext`.
   167  	InputContexts V2modelsIntentInputContextArrayInput
   168  	// Unique identifier for the intent.
   169  	IntentId pulumi.StringPtrInput
   170  	// Configuration block for 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. See `kendraConfiguration`.
   171  	KendraConfiguration V2modelsIntentKendraConfigurationPtrInput
   172  	// Timestamp of the last time that the intent was modified.
   173  	LastUpdatedDateTime pulumi.StringPtrInput
   174  	// 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.
   175  	LocaleId pulumi.StringPtrInput
   176  	// 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.
   177  	//
   178  	// The following arguments are optional:
   179  	Name pulumi.StringPtrInput
   180  	// Configuration blocks for 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. See `outputContext`.
   181  	OutputContexts V2modelsIntentOutputContextArrayInput
   182  	// Identifier for the built-in intent to base this intent on.
   183  	ParentIntentSignature pulumi.StringPtrInput
   184  	// Configuration block for strings that a user might say to signal the intent. See `sampleUtterance`.
   185  	SampleUtterances V2modelsIntentSampleUtteranceArrayInput
   186  	// Configuration block for a new list of slots and their priorities that are contained by the intent. This is ignored on create and only valid for updates. See `slotPriority`.
   187  	SlotPriorities V2modelsIntentSlotPriorityArrayInput
   188  	Timeouts       V2modelsIntentTimeoutsPtrInput
   189  }
   190  
   191  func (V2modelsIntentState) ElementType() reflect.Type {
   192  	return reflect.TypeOf((*v2modelsIntentState)(nil)).Elem()
   193  }
   194  
   195  type v2modelsIntentArgs struct {
   196  	// Identifier of the bot associated with this intent.
   197  	BotId string `pulumi:"botId"`
   198  	// Version of the bot associated with this intent.
   199  	BotVersion string `pulumi:"botVersion"`
   200  	// Configuration block for the response that Amazon Lex sends to the user when the intent is closed. See `closingSetting`.
   201  	ClosingSetting      *V2modelsIntentClosingSetting      `pulumi:"closingSetting"`
   202  	ConfirmationSetting *V2modelsIntentConfirmationSetting `pulumi:"confirmationSetting"`
   203  	// Description of the intent. Use the description to help identify the intent in lists.
   204  	Description *string `pulumi:"description"`
   205  	// Configuration block for invoking the alias Lambda function for each user input. You can invoke this Lambda function to personalize user interaction. See `dialogCodeHook`.
   206  	DialogCodeHook *V2modelsIntentDialogCodeHook `pulumi:"dialogCodeHook"`
   207  	// Configuration block for invoking 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. See `fulfillmentCodeHook`.
   208  	FulfillmentCodeHook *V2modelsIntentFulfillmentCodeHook `pulumi:"fulfillmentCodeHook"`
   209  	// Configuration block for the response that is sent to the user at the beginning of a conversation, before eliciting slot values. See `initialResponseSetting`.
   210  	InitialResponseSetting *V2modelsIntentInitialResponseSetting `pulumi:"initialResponseSetting"`
   211  	// Configuration blocks for 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. See `inputContext`.
   212  	InputContexts []V2modelsIntentInputContext `pulumi:"inputContexts"`
   213  	// Configuration block for 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. See `kendraConfiguration`.
   214  	KendraConfiguration *V2modelsIntentKendraConfiguration `pulumi:"kendraConfiguration"`
   215  	// 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.
   216  	LocaleId string `pulumi:"localeId"`
   217  	// 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.
   218  	//
   219  	// The following arguments are optional:
   220  	Name *string `pulumi:"name"`
   221  	// Configuration blocks for 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. See `outputContext`.
   222  	OutputContexts []V2modelsIntentOutputContext `pulumi:"outputContexts"`
   223  	// Identifier for the built-in intent to base this intent on.
   224  	ParentIntentSignature *string `pulumi:"parentIntentSignature"`
   225  	// Configuration block for strings that a user might say to signal the intent. See `sampleUtterance`.
   226  	SampleUtterances []V2modelsIntentSampleUtterance `pulumi:"sampleUtterances"`
   227  	// Configuration block for a new list of slots and their priorities that are contained by the intent. This is ignored on create and only valid for updates. See `slotPriority`.
   228  	SlotPriorities []V2modelsIntentSlotPriority `pulumi:"slotPriorities"`
   229  	Timeouts       *V2modelsIntentTimeouts      `pulumi:"timeouts"`
   230  }
   231  
   232  // The set of arguments for constructing a V2modelsIntent resource.
   233  type V2modelsIntentArgs struct {
   234  	// Identifier of the bot associated with this intent.
   235  	BotId pulumi.StringInput
   236  	// Version of the bot associated with this intent.
   237  	BotVersion pulumi.StringInput
   238  	// Configuration block for the response that Amazon Lex sends to the user when the intent is closed. See `closingSetting`.
   239  	ClosingSetting      V2modelsIntentClosingSettingPtrInput
   240  	ConfirmationSetting V2modelsIntentConfirmationSettingPtrInput
   241  	// Description of the intent. Use the description to help identify the intent in lists.
   242  	Description pulumi.StringPtrInput
   243  	// Configuration block for invoking the alias Lambda function for each user input. You can invoke this Lambda function to personalize user interaction. See `dialogCodeHook`.
   244  	DialogCodeHook V2modelsIntentDialogCodeHookPtrInput
   245  	// Configuration block for invoking 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. See `fulfillmentCodeHook`.
   246  	FulfillmentCodeHook V2modelsIntentFulfillmentCodeHookPtrInput
   247  	// Configuration block for the response that is sent to the user at the beginning of a conversation, before eliciting slot values. See `initialResponseSetting`.
   248  	InitialResponseSetting V2modelsIntentInitialResponseSettingPtrInput
   249  	// Configuration blocks for 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. See `inputContext`.
   250  	InputContexts V2modelsIntentInputContextArrayInput
   251  	// Configuration block for 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. See `kendraConfiguration`.
   252  	KendraConfiguration V2modelsIntentKendraConfigurationPtrInput
   253  	// 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.
   254  	LocaleId pulumi.StringInput
   255  	// 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.
   256  	//
   257  	// The following arguments are optional:
   258  	Name pulumi.StringPtrInput
   259  	// Configuration blocks for 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. See `outputContext`.
   260  	OutputContexts V2modelsIntentOutputContextArrayInput
   261  	// Identifier for the built-in intent to base this intent on.
   262  	ParentIntentSignature pulumi.StringPtrInput
   263  	// Configuration block for strings that a user might say to signal the intent. See `sampleUtterance`.
   264  	SampleUtterances V2modelsIntentSampleUtteranceArrayInput
   265  	// Configuration block for a new list of slots and their priorities that are contained by the intent. This is ignored on create and only valid for updates. See `slotPriority`.
   266  	SlotPriorities V2modelsIntentSlotPriorityArrayInput
   267  	Timeouts       V2modelsIntentTimeoutsPtrInput
   268  }
   269  
   270  func (V2modelsIntentArgs) ElementType() reflect.Type {
   271  	return reflect.TypeOf((*v2modelsIntentArgs)(nil)).Elem()
   272  }
   273  
   274  type V2modelsIntentInput interface {
   275  	pulumi.Input
   276  
   277  	ToV2modelsIntentOutput() V2modelsIntentOutput
   278  	ToV2modelsIntentOutputWithContext(ctx context.Context) V2modelsIntentOutput
   279  }
   280  
   281  func (*V2modelsIntent) ElementType() reflect.Type {
   282  	return reflect.TypeOf((**V2modelsIntent)(nil)).Elem()
   283  }
   284  
   285  func (i *V2modelsIntent) ToV2modelsIntentOutput() V2modelsIntentOutput {
   286  	return i.ToV2modelsIntentOutputWithContext(context.Background())
   287  }
   288  
   289  func (i *V2modelsIntent) ToV2modelsIntentOutputWithContext(ctx context.Context) V2modelsIntentOutput {
   290  	return pulumi.ToOutputWithContext(ctx, i).(V2modelsIntentOutput)
   291  }
   292  
   293  // V2modelsIntentArrayInput is an input type that accepts V2modelsIntentArray and V2modelsIntentArrayOutput values.
   294  // You can construct a concrete instance of `V2modelsIntentArrayInput` via:
   295  //
   296  //	V2modelsIntentArray{ V2modelsIntentArgs{...} }
   297  type V2modelsIntentArrayInput interface {
   298  	pulumi.Input
   299  
   300  	ToV2modelsIntentArrayOutput() V2modelsIntentArrayOutput
   301  	ToV2modelsIntentArrayOutputWithContext(context.Context) V2modelsIntentArrayOutput
   302  }
   303  
   304  type V2modelsIntentArray []V2modelsIntentInput
   305  
   306  func (V2modelsIntentArray) ElementType() reflect.Type {
   307  	return reflect.TypeOf((*[]*V2modelsIntent)(nil)).Elem()
   308  }
   309  
   310  func (i V2modelsIntentArray) ToV2modelsIntentArrayOutput() V2modelsIntentArrayOutput {
   311  	return i.ToV2modelsIntentArrayOutputWithContext(context.Background())
   312  }
   313  
   314  func (i V2modelsIntentArray) ToV2modelsIntentArrayOutputWithContext(ctx context.Context) V2modelsIntentArrayOutput {
   315  	return pulumi.ToOutputWithContext(ctx, i).(V2modelsIntentArrayOutput)
   316  }
   317  
   318  // V2modelsIntentMapInput is an input type that accepts V2modelsIntentMap and V2modelsIntentMapOutput values.
   319  // You can construct a concrete instance of `V2modelsIntentMapInput` via:
   320  //
   321  //	V2modelsIntentMap{ "key": V2modelsIntentArgs{...} }
   322  type V2modelsIntentMapInput interface {
   323  	pulumi.Input
   324  
   325  	ToV2modelsIntentMapOutput() V2modelsIntentMapOutput
   326  	ToV2modelsIntentMapOutputWithContext(context.Context) V2modelsIntentMapOutput
   327  }
   328  
   329  type V2modelsIntentMap map[string]V2modelsIntentInput
   330  
   331  func (V2modelsIntentMap) ElementType() reflect.Type {
   332  	return reflect.TypeOf((*map[string]*V2modelsIntent)(nil)).Elem()
   333  }
   334  
   335  func (i V2modelsIntentMap) ToV2modelsIntentMapOutput() V2modelsIntentMapOutput {
   336  	return i.ToV2modelsIntentMapOutputWithContext(context.Background())
   337  }
   338  
   339  func (i V2modelsIntentMap) ToV2modelsIntentMapOutputWithContext(ctx context.Context) V2modelsIntentMapOutput {
   340  	return pulumi.ToOutputWithContext(ctx, i).(V2modelsIntentMapOutput)
   341  }
   342  
   343  type V2modelsIntentOutput struct{ *pulumi.OutputState }
   344  
   345  func (V2modelsIntentOutput) ElementType() reflect.Type {
   346  	return reflect.TypeOf((**V2modelsIntent)(nil)).Elem()
   347  }
   348  
   349  func (o V2modelsIntentOutput) ToV2modelsIntentOutput() V2modelsIntentOutput {
   350  	return o
   351  }
   352  
   353  func (o V2modelsIntentOutput) ToV2modelsIntentOutputWithContext(ctx context.Context) V2modelsIntentOutput {
   354  	return o
   355  }
   356  
   357  // Identifier of the bot associated with this intent.
   358  func (o V2modelsIntentOutput) BotId() pulumi.StringOutput {
   359  	return o.ApplyT(func(v *V2modelsIntent) pulumi.StringOutput { return v.BotId }).(pulumi.StringOutput)
   360  }
   361  
   362  // Version of the bot associated with this intent.
   363  func (o V2modelsIntentOutput) BotVersion() pulumi.StringOutput {
   364  	return o.ApplyT(func(v *V2modelsIntent) pulumi.StringOutput { return v.BotVersion }).(pulumi.StringOutput)
   365  }
   366  
   367  // Configuration block for the response that Amazon Lex sends to the user when the intent is closed. See `closingSetting`.
   368  func (o V2modelsIntentOutput) ClosingSetting() V2modelsIntentClosingSettingPtrOutput {
   369  	return o.ApplyT(func(v *V2modelsIntent) V2modelsIntentClosingSettingPtrOutput { return v.ClosingSetting }).(V2modelsIntentClosingSettingPtrOutput)
   370  }
   371  
   372  func (o V2modelsIntentOutput) ConfirmationSetting() V2modelsIntentConfirmationSettingPtrOutput {
   373  	return o.ApplyT(func(v *V2modelsIntent) V2modelsIntentConfirmationSettingPtrOutput { return v.ConfirmationSetting }).(V2modelsIntentConfirmationSettingPtrOutput)
   374  }
   375  
   376  // Timestamp of the date and time that the intent was created.
   377  func (o V2modelsIntentOutput) CreationDateTime() pulumi.StringOutput {
   378  	return o.ApplyT(func(v *V2modelsIntent) pulumi.StringOutput { return v.CreationDateTime }).(pulumi.StringOutput)
   379  }
   380  
   381  // Description of the intent. Use the description to help identify the intent in lists.
   382  func (o V2modelsIntentOutput) Description() pulumi.StringPtrOutput {
   383  	return o.ApplyT(func(v *V2modelsIntent) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput)
   384  }
   385  
   386  // Configuration block for invoking the alias Lambda function for each user input. You can invoke this Lambda function to personalize user interaction. See `dialogCodeHook`.
   387  func (o V2modelsIntentOutput) DialogCodeHook() V2modelsIntentDialogCodeHookPtrOutput {
   388  	return o.ApplyT(func(v *V2modelsIntent) V2modelsIntentDialogCodeHookPtrOutput { return v.DialogCodeHook }).(V2modelsIntentDialogCodeHookPtrOutput)
   389  }
   390  
   391  // Configuration block for invoking 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. See `fulfillmentCodeHook`.
   392  func (o V2modelsIntentOutput) FulfillmentCodeHook() V2modelsIntentFulfillmentCodeHookPtrOutput {
   393  	return o.ApplyT(func(v *V2modelsIntent) V2modelsIntentFulfillmentCodeHookPtrOutput { return v.FulfillmentCodeHook }).(V2modelsIntentFulfillmentCodeHookPtrOutput)
   394  }
   395  
   396  // Configuration block for the response that is sent to the user at the beginning of a conversation, before eliciting slot values. See `initialResponseSetting`.
   397  func (o V2modelsIntentOutput) InitialResponseSetting() V2modelsIntentInitialResponseSettingPtrOutput {
   398  	return o.ApplyT(func(v *V2modelsIntent) V2modelsIntentInitialResponseSettingPtrOutput { return v.InitialResponseSetting }).(V2modelsIntentInitialResponseSettingPtrOutput)
   399  }
   400  
   401  // Configuration blocks for 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. See `inputContext`.
   402  func (o V2modelsIntentOutput) InputContexts() V2modelsIntentInputContextArrayOutput {
   403  	return o.ApplyT(func(v *V2modelsIntent) V2modelsIntentInputContextArrayOutput { return v.InputContexts }).(V2modelsIntentInputContextArrayOutput)
   404  }
   405  
   406  // Unique identifier for the intent.
   407  func (o V2modelsIntentOutput) IntentId() pulumi.StringOutput {
   408  	return o.ApplyT(func(v *V2modelsIntent) pulumi.StringOutput { return v.IntentId }).(pulumi.StringOutput)
   409  }
   410  
   411  // Configuration block for 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. See `kendraConfiguration`.
   412  func (o V2modelsIntentOutput) KendraConfiguration() V2modelsIntentKendraConfigurationPtrOutput {
   413  	return o.ApplyT(func(v *V2modelsIntent) V2modelsIntentKendraConfigurationPtrOutput { return v.KendraConfiguration }).(V2modelsIntentKendraConfigurationPtrOutput)
   414  }
   415  
   416  // Timestamp of the last time that the intent was modified.
   417  func (o V2modelsIntentOutput) LastUpdatedDateTime() pulumi.StringOutput {
   418  	return o.ApplyT(func(v *V2modelsIntent) pulumi.StringOutput { return v.LastUpdatedDateTime }).(pulumi.StringOutput)
   419  }
   420  
   421  // 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.
   422  func (o V2modelsIntentOutput) LocaleId() pulumi.StringOutput {
   423  	return o.ApplyT(func(v *V2modelsIntent) pulumi.StringOutput { return v.LocaleId }).(pulumi.StringOutput)
   424  }
   425  
   426  // 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.
   427  //
   428  // The following arguments are optional:
   429  func (o V2modelsIntentOutput) Name() pulumi.StringOutput {
   430  	return o.ApplyT(func(v *V2modelsIntent) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   431  }
   432  
   433  // Configuration blocks for 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. See `outputContext`.
   434  func (o V2modelsIntentOutput) OutputContexts() V2modelsIntentOutputContextArrayOutput {
   435  	return o.ApplyT(func(v *V2modelsIntent) V2modelsIntentOutputContextArrayOutput { return v.OutputContexts }).(V2modelsIntentOutputContextArrayOutput)
   436  }
   437  
   438  // Identifier for the built-in intent to base this intent on.
   439  func (o V2modelsIntentOutput) ParentIntentSignature() pulumi.StringPtrOutput {
   440  	return o.ApplyT(func(v *V2modelsIntent) pulumi.StringPtrOutput { return v.ParentIntentSignature }).(pulumi.StringPtrOutput)
   441  }
   442  
   443  // Configuration block for strings that a user might say to signal the intent. See `sampleUtterance`.
   444  func (o V2modelsIntentOutput) SampleUtterances() V2modelsIntentSampleUtteranceArrayOutput {
   445  	return o.ApplyT(func(v *V2modelsIntent) V2modelsIntentSampleUtteranceArrayOutput { return v.SampleUtterances }).(V2modelsIntentSampleUtteranceArrayOutput)
   446  }
   447  
   448  // Configuration block for a new list of slots and their priorities that are contained by the intent. This is ignored on create and only valid for updates. See `slotPriority`.
   449  func (o V2modelsIntentOutput) SlotPriorities() V2modelsIntentSlotPriorityArrayOutput {
   450  	return o.ApplyT(func(v *V2modelsIntent) V2modelsIntentSlotPriorityArrayOutput { return v.SlotPriorities }).(V2modelsIntentSlotPriorityArrayOutput)
   451  }
   452  
   453  func (o V2modelsIntentOutput) Timeouts() V2modelsIntentTimeoutsPtrOutput {
   454  	return o.ApplyT(func(v *V2modelsIntent) V2modelsIntentTimeoutsPtrOutput { return v.Timeouts }).(V2modelsIntentTimeoutsPtrOutput)
   455  }
   456  
   457  type V2modelsIntentArrayOutput struct{ *pulumi.OutputState }
   458  
   459  func (V2modelsIntentArrayOutput) ElementType() reflect.Type {
   460  	return reflect.TypeOf((*[]*V2modelsIntent)(nil)).Elem()
   461  }
   462  
   463  func (o V2modelsIntentArrayOutput) ToV2modelsIntentArrayOutput() V2modelsIntentArrayOutput {
   464  	return o
   465  }
   466  
   467  func (o V2modelsIntentArrayOutput) ToV2modelsIntentArrayOutputWithContext(ctx context.Context) V2modelsIntentArrayOutput {
   468  	return o
   469  }
   470  
   471  func (o V2modelsIntentArrayOutput) Index(i pulumi.IntInput) V2modelsIntentOutput {
   472  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *V2modelsIntent {
   473  		return vs[0].([]*V2modelsIntent)[vs[1].(int)]
   474  	}).(V2modelsIntentOutput)
   475  }
   476  
   477  type V2modelsIntentMapOutput struct{ *pulumi.OutputState }
   478  
   479  func (V2modelsIntentMapOutput) ElementType() reflect.Type {
   480  	return reflect.TypeOf((*map[string]*V2modelsIntent)(nil)).Elem()
   481  }
   482  
   483  func (o V2modelsIntentMapOutput) ToV2modelsIntentMapOutput() V2modelsIntentMapOutput {
   484  	return o
   485  }
   486  
   487  func (o V2modelsIntentMapOutput) ToV2modelsIntentMapOutputWithContext(ctx context.Context) V2modelsIntentMapOutput {
   488  	return o
   489  }
   490  
   491  func (o V2modelsIntentMapOutput) MapIndex(k pulumi.StringInput) V2modelsIntentOutput {
   492  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *V2modelsIntent {
   493  		return vs[0].(map[string]*V2modelsIntent)[vs[1].(string)]
   494  	}).(V2modelsIntentOutput)
   495  }
   496  
   497  func init() {
   498  	pulumi.RegisterInputType(reflect.TypeOf((*V2modelsIntentInput)(nil)).Elem(), &V2modelsIntent{})
   499  	pulumi.RegisterInputType(reflect.TypeOf((*V2modelsIntentArrayInput)(nil)).Elem(), V2modelsIntentArray{})
   500  	pulumi.RegisterInputType(reflect.TypeOf((*V2modelsIntentMapInput)(nil)).Elem(), V2modelsIntentMap{})
   501  	pulumi.RegisterOutputType(V2modelsIntentOutput{})
   502  	pulumi.RegisterOutputType(V2modelsIntentArrayOutput{})
   503  	pulumi.RegisterOutputType(V2modelsIntentMapOutput{})
   504  }