aws-sdk-lexmodelbuildingservice 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,3243 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::LexModelBuildingService
9
+ module Types
10
+
11
+ # Provides information about a bot alias.
12
+ #
13
+ # @!attribute [rw] name
14
+ # The name of the bot alias.
15
+ # @return [String]
16
+ #
17
+ # @!attribute [rw] description
18
+ # A description of the bot alias.
19
+ # @return [String]
20
+ #
21
+ # @!attribute [rw] bot_version
22
+ # The version of the Amazon Lex bot to which the alias points.
23
+ # @return [String]
24
+ #
25
+ # @!attribute [rw] bot_name
26
+ # The name of the bot to which the alias points.
27
+ # @return [String]
28
+ #
29
+ # @!attribute [rw] last_updated_date
30
+ # The date that the bot alias was updated. When you create a resource,
31
+ # the creation date and last updated date are the same.
32
+ # @return [Time]
33
+ #
34
+ # @!attribute [rw] created_date
35
+ # The date that the bot alias was created.
36
+ # @return [Time]
37
+ #
38
+ # @!attribute [rw] checksum
39
+ # Checksum of the bot alias.
40
+ # @return [String]
41
+ #
42
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/BotAliasMetadata AWS API Documentation
43
+ #
44
+ class BotAliasMetadata < Struct.new(
45
+ :name,
46
+ :description,
47
+ :bot_version,
48
+ :bot_name,
49
+ :last_updated_date,
50
+ :created_date,
51
+ :checksum)
52
+ include Aws::Structure
53
+ end
54
+
55
+ # Represents an association between an Amazon Lex bot and an external
56
+ # messaging platform.
57
+ #
58
+ # @!attribute [rw] name
59
+ # The name of the association between the bot and the channel.
60
+ # @return [String]
61
+ #
62
+ # @!attribute [rw] description
63
+ # A text description of the association you are creating.
64
+ # @return [String]
65
+ #
66
+ # @!attribute [rw] bot_alias
67
+ # An alias pointing to the specific version of the Amazon Lex bot to
68
+ # which this association is being made.
69
+ # @return [String]
70
+ #
71
+ # @!attribute [rw] bot_name
72
+ # The name of the Amazon Lex bot to which this association is being
73
+ # made.
74
+ #
75
+ # <note markdown="1"> Currently, Amazon Lex supports associations with Facebook and Slack,
76
+ # and Twilio.
77
+ #
78
+ # </note>
79
+ # @return [String]
80
+ #
81
+ # @!attribute [rw] created_date
82
+ # The date that the association between the Amazon Lex bot and the
83
+ # channel was created.
84
+ # @return [Time]
85
+ #
86
+ # @!attribute [rw] type
87
+ # Specifies the type of association by indicating the type of channel
88
+ # being established between the Amazon Lex bot and the external
89
+ # messaging platform.
90
+ # @return [String]
91
+ #
92
+ # @!attribute [rw] bot_configuration
93
+ # Provides information necessary to communicate with the messaging
94
+ # platform.
95
+ # @return [Hash<String,String>]
96
+ #
97
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/BotChannelAssociation AWS API Documentation
98
+ #
99
+ class BotChannelAssociation < Struct.new(
100
+ :name,
101
+ :description,
102
+ :bot_alias,
103
+ :bot_name,
104
+ :created_date,
105
+ :type,
106
+ :bot_configuration)
107
+ include Aws::Structure
108
+ end
109
+
110
+ # Provides information about a bot. .
111
+ #
112
+ # @!attribute [rw] name
113
+ # The name of the bot.
114
+ # @return [String]
115
+ #
116
+ # @!attribute [rw] description
117
+ # A description of the bot.
118
+ # @return [String]
119
+ #
120
+ # @!attribute [rw] status
121
+ # The status of the bot.
122
+ # @return [String]
123
+ #
124
+ # @!attribute [rw] last_updated_date
125
+ # The date that the bot was updated. When you create a bot, the
126
+ # creation date and last updated date are the same.
127
+ # @return [Time]
128
+ #
129
+ # @!attribute [rw] created_date
130
+ # The date that the bot was created.
131
+ # @return [Time]
132
+ #
133
+ # @!attribute [rw] version
134
+ # The version of the bot. For a new bot, the version is always
135
+ # `$LATEST`.
136
+ # @return [String]
137
+ #
138
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/BotMetadata AWS API Documentation
139
+ #
140
+ class BotMetadata < Struct.new(
141
+ :name,
142
+ :description,
143
+ :status,
144
+ :last_updated_date,
145
+ :created_date,
146
+ :version)
147
+ include Aws::Structure
148
+ end
149
+
150
+ # Provides metadata for a built-in intent.
151
+ #
152
+ # @!attribute [rw] signature
153
+ # A unique identifier for the built-in intent. To find the signature
154
+ # for an intent, see [Standard Built-in Intents][1] in the *Alexa
155
+ # Skills Kit*.
156
+ #
157
+ #
158
+ #
159
+ # [1]: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/standard-intents
160
+ # @return [String]
161
+ #
162
+ # @!attribute [rw] supported_locales
163
+ # A list of identifiers for the locales that the intent supports.
164
+ # @return [Array<String>]
165
+ #
166
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/BuiltinIntentMetadata AWS API Documentation
167
+ #
168
+ class BuiltinIntentMetadata < Struct.new(
169
+ :signature,
170
+ :supported_locales)
171
+ include Aws::Structure
172
+ end
173
+
174
+ # Provides information about a slot used in a built-in intent.
175
+ #
176
+ # @!attribute [rw] name
177
+ # A list of the slots defined for the intent.
178
+ # @return [String]
179
+ #
180
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/BuiltinIntentSlot AWS API Documentation
181
+ #
182
+ class BuiltinIntentSlot < Struct.new(
183
+ :name)
184
+ include Aws::Structure
185
+ end
186
+
187
+ # Provides information about a built in slot type.
188
+ #
189
+ # @!attribute [rw] signature
190
+ # A unique identifier for the built-in slot type. To find the
191
+ # signature for a slot type, see [Slot Type Reference][1] in the
192
+ # *Alexa Skills Kit*.
193
+ #
194
+ #
195
+ #
196
+ # [1]: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/slot-type-reference
197
+ # @return [String]
198
+ #
199
+ # @!attribute [rw] supported_locales
200
+ # A list of target locales for the slot.
201
+ # @return [Array<String>]
202
+ #
203
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/BuiltinSlotTypeMetadata AWS API Documentation
204
+ #
205
+ class BuiltinSlotTypeMetadata < Struct.new(
206
+ :signature,
207
+ :supported_locales)
208
+ include Aws::Structure
209
+ end
210
+
211
+ # Specifies a Lambda function that verifies requests to a bot or
212
+ # fulfills the user's request to a bot..
213
+ #
214
+ # @note When making an API call, you may pass CodeHook
215
+ # data as a hash:
216
+ #
217
+ # {
218
+ # uri: "LambdaARN", # required
219
+ # message_version: "MessageVersion", # required
220
+ # }
221
+ #
222
+ # @!attribute [rw] uri
223
+ # The Amazon Resource Name (ARN) of the Lambda function.
224
+ # @return [String]
225
+ #
226
+ # @!attribute [rw] message_version
227
+ # The version of the request-response that you want Amazon Lex to use
228
+ # to invoke your Lambda function. For more information, see
229
+ # using-lambda.
230
+ # @return [String]
231
+ #
232
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/CodeHook AWS API Documentation
233
+ #
234
+ class CodeHook < Struct.new(
235
+ :uri,
236
+ :message_version)
237
+ include Aws::Structure
238
+ end
239
+
240
+ # @note When making an API call, you may pass CreateBotVersionRequest
241
+ # data as a hash:
242
+ #
243
+ # {
244
+ # name: "BotName", # required
245
+ # checksum: "String",
246
+ # }
247
+ #
248
+ # @!attribute [rw] name
249
+ # The name of the bot that you want to create a new version of. The
250
+ # name is case sensitive.
251
+ # @return [String]
252
+ #
253
+ # @!attribute [rw] checksum
254
+ # Identifies a specific revision of the `$LATEST` version of the bot.
255
+ # If you specify a checksum and the `$LATEST` version of the bot has a
256
+ # different checksum, a `PreconditionFailedException` exception is
257
+ # returned and Amazon Lex doesn't publish a new version. If you
258
+ # don't specify a checksum, Amazon Lex publishes the `$LATEST`
259
+ # version.
260
+ # @return [String]
261
+ #
262
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/CreateBotVersionRequest AWS API Documentation
263
+ #
264
+ class CreateBotVersionRequest < Struct.new(
265
+ :name,
266
+ :checksum)
267
+ include Aws::Structure
268
+ end
269
+
270
+ # @!attribute [rw] name
271
+ # The name of the bot.
272
+ # @return [String]
273
+ #
274
+ # @!attribute [rw] description
275
+ # A description of the bot.
276
+ # @return [String]
277
+ #
278
+ # @!attribute [rw] intents
279
+ # An array of `Intent` objects. For more information, see .
280
+ # @return [Array<Types::Intent>]
281
+ #
282
+ # @!attribute [rw] clarification_prompt
283
+ # The message that Amazon Lex uses when it doesn't understand the
284
+ # user's request. For more information, see .
285
+ # @return [Types::Prompt]
286
+ #
287
+ # @!attribute [rw] abort_statement
288
+ # The message that Amazon Lex uses to abort a conversation. For more
289
+ # information, see .
290
+ # @return [Types::Statement]
291
+ #
292
+ # @!attribute [rw] status
293
+ # When you send a request to create or update a bot, Amazon Lex sets
294
+ # the `status` response element to `BUILDING`. After Amazon Lex builds
295
+ # the bot, it sets `status` to `READY`. If Amazon Lex can't build the
296
+ # bot, it sets `status` to `FAILED`. Amazon Lex returns the reason for
297
+ # the failure in the `failureReason` response element.
298
+ # @return [String]
299
+ #
300
+ # @!attribute [rw] failure_reason
301
+ # If `status` is `FAILED`, Amazon Lex provides the reason that it
302
+ # failed to build the bot.
303
+ # @return [String]
304
+ #
305
+ # @!attribute [rw] last_updated_date
306
+ # The date when the `$LATEST` version of this bot was updated.
307
+ # @return [Time]
308
+ #
309
+ # @!attribute [rw] created_date
310
+ # The date when the bot version was created.
311
+ # @return [Time]
312
+ #
313
+ # @!attribute [rw] idle_session_ttl_in_seconds
314
+ # The maximum time in seconds that Amazon Lex retains the data
315
+ # gathered in a conversation. For more information, see .
316
+ # @return [Integer]
317
+ #
318
+ # @!attribute [rw] voice_id
319
+ # The Amazon Parrot voice ID that Amazon Lex uses for voice
320
+ # interactions with the user.
321
+ # @return [String]
322
+ #
323
+ # @!attribute [rw] checksum
324
+ # Checksum identifying the version of the boat that was created.
325
+ # @return [String]
326
+ #
327
+ # @!attribute [rw] version
328
+ # The version of the bot.
329
+ # @return [String]
330
+ #
331
+ # @!attribute [rw] locale
332
+ # Specifies the target locale for the bot.
333
+ # @return [String]
334
+ #
335
+ # @!attribute [rw] child_directed
336
+ # For each Amazon Lex bot created with the Amazon Lex Model Building
337
+ # Service, you must specify whether your use of Amazon Lex is related
338
+ # to a website, program, or other application that is directed or
339
+ # targeted, in whole or in part, to children under age 13 and subject
340
+ # to the Children's Online Privacy Protection Act (COPPA) by
341
+ # specifying `true` or `false` in the `childDirected` field. By
342
+ # specifying `true` in the `childDirected` field, you confirm that
343
+ # your use of Amazon Lex **is** related to a website, program, or
344
+ # other application that is directed or targeted, in whole or in part,
345
+ # to children under age 13 and subject to COPPA. By specifying `false`
346
+ # in the `childDirected` field, you confirm that your use of Amazon
347
+ # Lex **is not** related to a website, program, or other application
348
+ # that is directed or targeted, in whole or in part, to children under
349
+ # age 13 and subject to COPPA. You may not specify a default value for
350
+ # the `childDirected` field that does not accurately reflect whether
351
+ # your use of Amazon Lex is related to a website, program, or other
352
+ # application that is directed or targeted, in whole or in part, to
353
+ # children under age 13 and subject to COPPA.
354
+ #
355
+ # If your use of Amazon Lex relates to a website, program, or other
356
+ # application that is directed in whole or in part, to children under
357
+ # age 13, you must obtain any required verifiable parental consent
358
+ # under COPPA. For information regarding the use of Amazon Lex in
359
+ # connection with websites, programs, or other applications that are
360
+ # directed or targeted, in whole or in part, to children under age 13,
361
+ # see the [Amazon Lex FAQ.][1]
362
+ #
363
+ #
364
+ #
365
+ # [1]: https://aws.amazon.com/lex/faqs#data-security
366
+ # @return [Boolean]
367
+ #
368
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/CreateBotVersionResponse AWS API Documentation
369
+ #
370
+ class CreateBotVersionResponse < Struct.new(
371
+ :name,
372
+ :description,
373
+ :intents,
374
+ :clarification_prompt,
375
+ :abort_statement,
376
+ :status,
377
+ :failure_reason,
378
+ :last_updated_date,
379
+ :created_date,
380
+ :idle_session_ttl_in_seconds,
381
+ :voice_id,
382
+ :checksum,
383
+ :version,
384
+ :locale,
385
+ :child_directed)
386
+ include Aws::Structure
387
+ end
388
+
389
+ # @note When making an API call, you may pass CreateIntentVersionRequest
390
+ # data as a hash:
391
+ #
392
+ # {
393
+ # name: "IntentName", # required
394
+ # checksum: "String",
395
+ # }
396
+ #
397
+ # @!attribute [rw] name
398
+ # The name of the intent that you want to create a new version of. The
399
+ # name is case sensitive.
400
+ # @return [String]
401
+ #
402
+ # @!attribute [rw] checksum
403
+ # Checksum of the `$LATEST` version of the intent that should be used
404
+ # to create the new version. If you specify a checksum and the
405
+ # `$LATEST` version of the intent has a different checksum, Amazon Lex
406
+ # returns a `PreconditionFailedException` exception and doesn't
407
+ # publish a new version. If you don't specify a checksum, Amazon Lex
408
+ # publishes the `$LATEST` version.
409
+ # @return [String]
410
+ #
411
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/CreateIntentVersionRequest AWS API Documentation
412
+ #
413
+ class CreateIntentVersionRequest < Struct.new(
414
+ :name,
415
+ :checksum)
416
+ include Aws::Structure
417
+ end
418
+
419
+ # @!attribute [rw] name
420
+ # The name of the intent.
421
+ # @return [String]
422
+ #
423
+ # @!attribute [rw] description
424
+ # A description of the intent.
425
+ # @return [String]
426
+ #
427
+ # @!attribute [rw] slots
428
+ # An array of slot types that defines the information required to
429
+ # fulfill the intent.
430
+ # @return [Array<Types::Slot>]
431
+ #
432
+ # @!attribute [rw] sample_utterances
433
+ # An array of sample utterances configured for the intent.
434
+ # @return [Array<String>]
435
+ #
436
+ # @!attribute [rw] confirmation_prompt
437
+ # If defined, the prompt that Amazon Lex uses to confirm the user's
438
+ # intent before fulfilling it.
439
+ # @return [Types::Prompt]
440
+ #
441
+ # @!attribute [rw] rejection_statement
442
+ # If the user answers "no" to the question defined in
443
+ # `confirmationPrompt`, Amazon Lex responds with this statement to
444
+ # acknowledge that the intent was canceled.
445
+ # @return [Types::Statement]
446
+ #
447
+ # @!attribute [rw] follow_up_prompt
448
+ # If defined, Amazon Lex uses this prompt to solicit additional user
449
+ # activity after the intent is fulfilled.
450
+ # @return [Types::FollowUpPrompt]
451
+ #
452
+ # @!attribute [rw] conclusion_statement
453
+ # After the Lambda function specified in the `fulfillmentActivity`
454
+ # field fulfills the intent, Amazon Lex conveys this statement to the
455
+ # user.
456
+ # @return [Types::Statement]
457
+ #
458
+ # @!attribute [rw] dialog_code_hook
459
+ # If defined, Amazon Lex invokes this Lambda function for each user
460
+ # input.
461
+ # @return [Types::CodeHook]
462
+ #
463
+ # @!attribute [rw] fulfillment_activity
464
+ # Describes how the intent is fulfilled.
465
+ # @return [Types::FulfillmentActivity]
466
+ #
467
+ # @!attribute [rw] parent_intent_signature
468
+ # A unique identifier for a built-in intent.
469
+ # @return [String]
470
+ #
471
+ # @!attribute [rw] last_updated_date
472
+ # The date that the intent was updated.
473
+ # @return [Time]
474
+ #
475
+ # @!attribute [rw] created_date
476
+ # The date that the intent was created.
477
+ # @return [Time]
478
+ #
479
+ # @!attribute [rw] version
480
+ # The version number assigned to the new version of the intent.
481
+ # @return [String]
482
+ #
483
+ # @!attribute [rw] checksum
484
+ # Checksum of the intent version created.
485
+ # @return [String]
486
+ #
487
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/CreateIntentVersionResponse AWS API Documentation
488
+ #
489
+ class CreateIntentVersionResponse < Struct.new(
490
+ :name,
491
+ :description,
492
+ :slots,
493
+ :sample_utterances,
494
+ :confirmation_prompt,
495
+ :rejection_statement,
496
+ :follow_up_prompt,
497
+ :conclusion_statement,
498
+ :dialog_code_hook,
499
+ :fulfillment_activity,
500
+ :parent_intent_signature,
501
+ :last_updated_date,
502
+ :created_date,
503
+ :version,
504
+ :checksum)
505
+ include Aws::Structure
506
+ end
507
+
508
+ # @note When making an API call, you may pass CreateSlotTypeVersionRequest
509
+ # data as a hash:
510
+ #
511
+ # {
512
+ # name: "SlotTypeName", # required
513
+ # checksum: "String",
514
+ # }
515
+ #
516
+ # @!attribute [rw] name
517
+ # The name of the slot type that you want to create a new version for.
518
+ # The name is case sensitive.
519
+ # @return [String]
520
+ #
521
+ # @!attribute [rw] checksum
522
+ # Checksum for the `$LATEST` version of the slot type that you want to
523
+ # publish. If you specify a checksum and the `$LATEST` version of the
524
+ # slot type has a different checksum, Amazon Lex returns a
525
+ # `PreconditionFailedException` exception and doesn't publish the new
526
+ # version. If you don't specify a checksum, Amazon Lex publishes the
527
+ # `$LATEST` version.
528
+ # @return [String]
529
+ #
530
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/CreateSlotTypeVersionRequest AWS API Documentation
531
+ #
532
+ class CreateSlotTypeVersionRequest < Struct.new(
533
+ :name,
534
+ :checksum)
535
+ include Aws::Structure
536
+ end
537
+
538
+ # @!attribute [rw] name
539
+ # The name of the slot type.
540
+ # @return [String]
541
+ #
542
+ # @!attribute [rw] description
543
+ # A description of the slot type.
544
+ # @return [String]
545
+ #
546
+ # @!attribute [rw] enumeration_values
547
+ # A list of `EnumerationValue` objects that defines the values that
548
+ # the slot type can take.
549
+ # @return [Array<Types::EnumerationValue>]
550
+ #
551
+ # @!attribute [rw] last_updated_date
552
+ # The date that the slot type was updated. When you create a resource,
553
+ # the creation date and last update date are the same.
554
+ # @return [Time]
555
+ #
556
+ # @!attribute [rw] created_date
557
+ # The date that the slot type was created.
558
+ # @return [Time]
559
+ #
560
+ # @!attribute [rw] version
561
+ # The version assigned to the new slot type version.
562
+ # @return [String]
563
+ #
564
+ # @!attribute [rw] checksum
565
+ # Checksum of the `$LATEST` version of the slot type.
566
+ # @return [String]
567
+ #
568
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/CreateSlotTypeVersionResponse AWS API Documentation
569
+ #
570
+ class CreateSlotTypeVersionResponse < Struct.new(
571
+ :name,
572
+ :description,
573
+ :enumeration_values,
574
+ :last_updated_date,
575
+ :created_date,
576
+ :version,
577
+ :checksum)
578
+ include Aws::Structure
579
+ end
580
+
581
+ # @note When making an API call, you may pass DeleteBotAliasRequest
582
+ # data as a hash:
583
+ #
584
+ # {
585
+ # name: "AliasName", # required
586
+ # bot_name: "BotName", # required
587
+ # }
588
+ #
589
+ # @!attribute [rw] name
590
+ # The name of the alias to delete. The name is case sensitive.
591
+ # @return [String]
592
+ #
593
+ # @!attribute [rw] bot_name
594
+ # The name of the bot that the alias points to.
595
+ # @return [String]
596
+ #
597
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/DeleteBotAliasRequest AWS API Documentation
598
+ #
599
+ class DeleteBotAliasRequest < Struct.new(
600
+ :name,
601
+ :bot_name)
602
+ include Aws::Structure
603
+ end
604
+
605
+ # @note When making an API call, you may pass DeleteBotChannelAssociationRequest
606
+ # data as a hash:
607
+ #
608
+ # {
609
+ # name: "BotChannelName", # required
610
+ # bot_name: "BotName", # required
611
+ # bot_alias: "AliasName", # required
612
+ # }
613
+ #
614
+ # @!attribute [rw] name
615
+ # The name of the association. The name is case sensitive.
616
+ # @return [String]
617
+ #
618
+ # @!attribute [rw] bot_name
619
+ # The name of the Amazon Lex bot.
620
+ # @return [String]
621
+ #
622
+ # @!attribute [rw] bot_alias
623
+ # An alias that points to the specific version of the Amazon Lex bot
624
+ # to which this association is being made.
625
+ # @return [String]
626
+ #
627
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/DeleteBotChannelAssociationRequest AWS API Documentation
628
+ #
629
+ class DeleteBotChannelAssociationRequest < Struct.new(
630
+ :name,
631
+ :bot_name,
632
+ :bot_alias)
633
+ include Aws::Structure
634
+ end
635
+
636
+ # @note When making an API call, you may pass DeleteBotRequest
637
+ # data as a hash:
638
+ #
639
+ # {
640
+ # name: "BotName", # required
641
+ # version: "Version",
642
+ # }
643
+ #
644
+ # @!attribute [rw] name
645
+ # The name of the bot. The name is case sensitive.
646
+ # @return [String]
647
+ #
648
+ # @!attribute [rw] version
649
+ # The version of the bot.
650
+ # @return [String]
651
+ #
652
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/DeleteBotRequest AWS API Documentation
653
+ #
654
+ class DeleteBotRequest < Struct.new(
655
+ :name,
656
+ :version)
657
+ include Aws::Structure
658
+ end
659
+
660
+ # @note When making an API call, you may pass DeleteIntentRequest
661
+ # data as a hash:
662
+ #
663
+ # {
664
+ # name: "IntentName", # required
665
+ # version: "Version",
666
+ # }
667
+ #
668
+ # @!attribute [rw] name
669
+ # The name of the intent. The name is case sensitive.
670
+ # @return [String]
671
+ #
672
+ # @!attribute [rw] version
673
+ # The version of the intent.
674
+ # @return [String]
675
+ #
676
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/DeleteIntentRequest AWS API Documentation
677
+ #
678
+ class DeleteIntentRequest < Struct.new(
679
+ :name,
680
+ :version)
681
+ include Aws::Structure
682
+ end
683
+
684
+ # @note When making an API call, you may pass DeleteSlotTypeRequest
685
+ # data as a hash:
686
+ #
687
+ # {
688
+ # name: "SlotTypeName", # required
689
+ # version: "Version",
690
+ # }
691
+ #
692
+ # @!attribute [rw] name
693
+ # The name of the slot type. The name is case sensitive.
694
+ # @return [String]
695
+ #
696
+ # @!attribute [rw] version
697
+ # The version of the slot type.
698
+ # @return [String]
699
+ #
700
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/DeleteSlotTypeRequest AWS API Documentation
701
+ #
702
+ class DeleteSlotTypeRequest < Struct.new(
703
+ :name,
704
+ :version)
705
+ include Aws::Structure
706
+ end
707
+
708
+ # @note When making an API call, you may pass DeleteUtterancesRequest
709
+ # data as a hash:
710
+ #
711
+ # {
712
+ # bot_name: "BotName", # required
713
+ # user_id: "UserId", # required
714
+ # }
715
+ #
716
+ # @!attribute [rw] bot_name
717
+ # The name of the bot that stored the utterances.
718
+ # @return [String]
719
+ #
720
+ # @!attribute [rw] user_id
721
+ # The unique identifier for the user that made the utterances. This is
722
+ # the user ID that was sent in the or operation request that contained
723
+ # the utterance.
724
+ # @return [String]
725
+ #
726
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/DeleteUtterancesRequest AWS API Documentation
727
+ #
728
+ class DeleteUtterancesRequest < Struct.new(
729
+ :bot_name,
730
+ :user_id)
731
+ include Aws::Structure
732
+ end
733
+
734
+ # Each slot type can have a set of values. Each enumeration value
735
+ # represents a value the slot type can take.
736
+ #
737
+ # For example, a pizza ordering bot could have a slot type that
738
+ # specifies the type of crust that the pizza should have. The slot type
739
+ # could include the values
740
+ #
741
+ # * thick
742
+ #
743
+ # * thin
744
+ #
745
+ # * stuffed
746
+ #
747
+ # @note When making an API call, you may pass EnumerationValue
748
+ # data as a hash:
749
+ #
750
+ # {
751
+ # value: "Value", # required
752
+ # }
753
+ #
754
+ # @!attribute [rw] value
755
+ # The value of the slot type.
756
+ # @return [String]
757
+ #
758
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/EnumerationValue AWS API Documentation
759
+ #
760
+ class EnumerationValue < Struct.new(
761
+ :value)
762
+ include Aws::Structure
763
+ end
764
+
765
+ # After an intent is fulfilled, you might prompt the user for additional
766
+ # activity. For example, after the `OrderPizza` intent is fulfilled (the
767
+ # pizza order is placed with a pizzeria), you might prompt the user to
768
+ # find out whether the user wants to order drinks (another intent you
769
+ # defined in your bot).
770
+ #
771
+ # @note When making an API call, you may pass FollowUpPrompt
772
+ # data as a hash:
773
+ #
774
+ # {
775
+ # prompt: { # required
776
+ # messages: [ # required
777
+ # {
778
+ # content_type: "PlainText", # required, accepts PlainText, SSML
779
+ # content: "ContentString", # required
780
+ # },
781
+ # ],
782
+ # max_attempts: 1, # required
783
+ # response_card: "ResponseCard",
784
+ # },
785
+ # rejection_statement: { # required
786
+ # messages: [ # required
787
+ # {
788
+ # content_type: "PlainText", # required, accepts PlainText, SSML
789
+ # content: "ContentString", # required
790
+ # },
791
+ # ],
792
+ # response_card: "ResponseCard",
793
+ # },
794
+ # }
795
+ #
796
+ # @!attribute [rw] prompt
797
+ # Obtains information from the user.
798
+ # @return [Types::Prompt]
799
+ #
800
+ # @!attribute [rw] rejection_statement
801
+ # If the user answers "no" to the question defined in
802
+ # `confirmationPrompt`, Amazon Lex responds with this statement to
803
+ # acknowledge that the intent was canceled.
804
+ # @return [Types::Statement]
805
+ #
806
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/FollowUpPrompt AWS API Documentation
807
+ #
808
+ class FollowUpPrompt < Struct.new(
809
+ :prompt,
810
+ :rejection_statement)
811
+ include Aws::Structure
812
+ end
813
+
814
+ # Describes how the intent is fulfilled after the user provides all of
815
+ # the information required for the intent. You can provide a Lambda
816
+ # function to process the intent, or you can return the intent
817
+ # information to the client application. We recommend that you use a
818
+ # Lambda function so that the relevant logic lives in the Cloud and
819
+ # limit the client-side code primarily to presentation. If you need to
820
+ # update the logic, you only update the Lambda function; you don't need
821
+ # to upgrade your client application.
822
+ #
823
+ # Consider the following examples:
824
+ #
825
+ # * In a pizza ordering application, after the user provides all of the
826
+ # information for placing an order, you use a Lambda function to place
827
+ # an order with a pizzeria.
828
+ #
829
+ # * In a gaming application, when a user says "pick up a rock," this
830
+ # information must go back to the client application so that it can
831
+ # perform the operation and update the graphics. In this case, you
832
+ # want Amazon Lex to return the intent data to the client.
833
+ #
834
+ # @note When making an API call, you may pass FulfillmentActivity
835
+ # data as a hash:
836
+ #
837
+ # {
838
+ # type: "ReturnIntent", # required, accepts ReturnIntent, CodeHook
839
+ # code_hook: {
840
+ # uri: "LambdaARN", # required
841
+ # message_version: "MessageVersion", # required
842
+ # },
843
+ # }
844
+ #
845
+ # @!attribute [rw] type
846
+ # How the intent should be fulfilled, either by running a Lambda
847
+ # function or by returning the slot data to the client application.
848
+ # @return [String]
849
+ #
850
+ # @!attribute [rw] code_hook
851
+ # A description of the Lambda function that is run to fulfill the
852
+ # intent.
853
+ # @return [Types::CodeHook]
854
+ #
855
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/FulfillmentActivity AWS API Documentation
856
+ #
857
+ class FulfillmentActivity < Struct.new(
858
+ :type,
859
+ :code_hook)
860
+ include Aws::Structure
861
+ end
862
+
863
+ # @note When making an API call, you may pass GetBotAliasRequest
864
+ # data as a hash:
865
+ #
866
+ # {
867
+ # name: "AliasName", # required
868
+ # bot_name: "BotName", # required
869
+ # }
870
+ #
871
+ # @!attribute [rw] name
872
+ # The name of the bot alias. The name is case sensitive.
873
+ # @return [String]
874
+ #
875
+ # @!attribute [rw] bot_name
876
+ # The name of the bot.
877
+ # @return [String]
878
+ #
879
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBotAliasRequest AWS API Documentation
880
+ #
881
+ class GetBotAliasRequest < Struct.new(
882
+ :name,
883
+ :bot_name)
884
+ include Aws::Structure
885
+ end
886
+
887
+ # @!attribute [rw] name
888
+ # The name of the bot alias.
889
+ # @return [String]
890
+ #
891
+ # @!attribute [rw] description
892
+ # A description of the bot alias.
893
+ # @return [String]
894
+ #
895
+ # @!attribute [rw] bot_version
896
+ # The version of the bot that the alias points to.
897
+ # @return [String]
898
+ #
899
+ # @!attribute [rw] bot_name
900
+ # The name of the bot that the alias points to.
901
+ # @return [String]
902
+ #
903
+ # @!attribute [rw] last_updated_date
904
+ # The date that the bot alias was updated. When you create a resource,
905
+ # the creation date and the last updated date are the same.
906
+ # @return [Time]
907
+ #
908
+ # @!attribute [rw] created_date
909
+ # The date that the bot alias was created.
910
+ # @return [Time]
911
+ #
912
+ # @!attribute [rw] checksum
913
+ # Checksum of the bot alias.
914
+ # @return [String]
915
+ #
916
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBotAliasResponse AWS API Documentation
917
+ #
918
+ class GetBotAliasResponse < Struct.new(
919
+ :name,
920
+ :description,
921
+ :bot_version,
922
+ :bot_name,
923
+ :last_updated_date,
924
+ :created_date,
925
+ :checksum)
926
+ include Aws::Structure
927
+ end
928
+
929
+ # @note When making an API call, you may pass GetBotAliasesRequest
930
+ # data as a hash:
931
+ #
932
+ # {
933
+ # bot_name: "BotName", # required
934
+ # next_token: "NextToken",
935
+ # max_results: 1,
936
+ # name_contains: "AliasName",
937
+ # }
938
+ #
939
+ # @!attribute [rw] bot_name
940
+ # The name of the bot.
941
+ # @return [String]
942
+ #
943
+ # @!attribute [rw] next_token
944
+ # A pagination token for fetching the next page of aliases. If the
945
+ # response to this call is truncated, Amazon Lex returns a pagination
946
+ # token in the response. To fetch the next page of aliases, specify
947
+ # the pagination token in the next request.
948
+ # @return [String]
949
+ #
950
+ # @!attribute [rw] max_results
951
+ # The maximum number of aliases to return in the response. The default
952
+ # is 50. .
953
+ # @return [Integer]
954
+ #
955
+ # @!attribute [rw] name_contains
956
+ # Substring to match in bot alias names. An alias will be returned if
957
+ # any part of its name matches the substring. For example, "xyz"
958
+ # matches both "xyzabc" and "abcxyz."
959
+ # @return [String]
960
+ #
961
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBotAliasesRequest AWS API Documentation
962
+ #
963
+ class GetBotAliasesRequest < Struct.new(
964
+ :bot_name,
965
+ :next_token,
966
+ :max_results,
967
+ :name_contains)
968
+ include Aws::Structure
969
+ end
970
+
971
+ # @!attribute [rw] bot_aliases
972
+ # An array of `BotAliasMetadata` objects, each describing a bot alias.
973
+ # @return [Array<Types::BotAliasMetadata>]
974
+ #
975
+ # @!attribute [rw] next_token
976
+ # A pagination token for fetching next page of aliases. If the
977
+ # response to this call is truncated, Amazon Lex returns a pagination
978
+ # token in the response. To fetch the next page of aliases, specify
979
+ # the pagination token in the next request.
980
+ # @return [String]
981
+ #
982
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBotAliasesResponse AWS API Documentation
983
+ #
984
+ class GetBotAliasesResponse < Struct.new(
985
+ :bot_aliases,
986
+ :next_token)
987
+ include Aws::Structure
988
+ end
989
+
990
+ # @note When making an API call, you may pass GetBotChannelAssociationRequest
991
+ # data as a hash:
992
+ #
993
+ # {
994
+ # name: "BotChannelName", # required
995
+ # bot_name: "BotName", # required
996
+ # bot_alias: "AliasName", # required
997
+ # }
998
+ #
999
+ # @!attribute [rw] name
1000
+ # The name of the association between the bot and the channel. The
1001
+ # name is case sensitive.
1002
+ # @return [String]
1003
+ #
1004
+ # @!attribute [rw] bot_name
1005
+ # The name of the Amazon Lex bot.
1006
+ # @return [String]
1007
+ #
1008
+ # @!attribute [rw] bot_alias
1009
+ # An alias pointing to the specific version of the Amazon Lex bot to
1010
+ # which this association is being made.
1011
+ # @return [String]
1012
+ #
1013
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBotChannelAssociationRequest AWS API Documentation
1014
+ #
1015
+ class GetBotChannelAssociationRequest < Struct.new(
1016
+ :name,
1017
+ :bot_name,
1018
+ :bot_alias)
1019
+ include Aws::Structure
1020
+ end
1021
+
1022
+ # @!attribute [rw] name
1023
+ # The name of the association between the bot and the channel.
1024
+ # @return [String]
1025
+ #
1026
+ # @!attribute [rw] description
1027
+ # A description of the association between the bot and the channel.
1028
+ # @return [String]
1029
+ #
1030
+ # @!attribute [rw] bot_alias
1031
+ # An alias pointing to the specific version of the Amazon Lex bot to
1032
+ # which this association is being made.
1033
+ # @return [String]
1034
+ #
1035
+ # @!attribute [rw] bot_name
1036
+ # The name of the Amazon Lex bot.
1037
+ # @return [String]
1038
+ #
1039
+ # @!attribute [rw] created_date
1040
+ # The date that the association between the bot and the channel was
1041
+ # created.
1042
+ # @return [Time]
1043
+ #
1044
+ # @!attribute [rw] type
1045
+ # The type of the messaging platform.
1046
+ # @return [String]
1047
+ #
1048
+ # @!attribute [rw] bot_configuration
1049
+ # Provides information that the messaging platform needs to
1050
+ # communicate with the Amazon Lex bot.
1051
+ # @return [Hash<String,String>]
1052
+ #
1053
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBotChannelAssociationResponse AWS API Documentation
1054
+ #
1055
+ class GetBotChannelAssociationResponse < Struct.new(
1056
+ :name,
1057
+ :description,
1058
+ :bot_alias,
1059
+ :bot_name,
1060
+ :created_date,
1061
+ :type,
1062
+ :bot_configuration)
1063
+ include Aws::Structure
1064
+ end
1065
+
1066
+ # @note When making an API call, you may pass GetBotChannelAssociationsRequest
1067
+ # data as a hash:
1068
+ #
1069
+ # {
1070
+ # bot_name: "BotName", # required
1071
+ # bot_alias: "AliasNameOrListAll", # required
1072
+ # next_token: "NextToken",
1073
+ # max_results: 1,
1074
+ # name_contains: "BotChannelName",
1075
+ # }
1076
+ #
1077
+ # @!attribute [rw] bot_name
1078
+ # The name of the Amazon Lex bot in the association.
1079
+ # @return [String]
1080
+ #
1081
+ # @!attribute [rw] bot_alias
1082
+ # An alias pointing to the specific version of the Amazon Lex bot to
1083
+ # which this association is being made.
1084
+ # @return [String]
1085
+ #
1086
+ # @!attribute [rw] next_token
1087
+ # A pagination token for fetching the next page of associations. If
1088
+ # the response to this call is truncated, Amazon Lex returns a
1089
+ # pagination token in the response. To fetch the next page of
1090
+ # associations, specify the pagination token in the next request.
1091
+ # @return [String]
1092
+ #
1093
+ # @!attribute [rw] max_results
1094
+ # The maximum number of associations to return in the response. The
1095
+ # default is 50.
1096
+ # @return [Integer]
1097
+ #
1098
+ # @!attribute [rw] name_contains
1099
+ # Substring to match in channel association names. An association will
1100
+ # be returned if any part of its name matches the substring. For
1101
+ # example, "xyz" matches both "xyzabc" and "abcxyz."
1102
+ # @return [String]
1103
+ #
1104
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBotChannelAssociationsRequest AWS API Documentation
1105
+ #
1106
+ class GetBotChannelAssociationsRequest < Struct.new(
1107
+ :bot_name,
1108
+ :bot_alias,
1109
+ :next_token,
1110
+ :max_results,
1111
+ :name_contains)
1112
+ include Aws::Structure
1113
+ end
1114
+
1115
+ # @!attribute [rw] bot_channel_associations
1116
+ # An array of objects, one for each association, that provides
1117
+ # information about the Amazon Lex bot and its association with the
1118
+ # channel.
1119
+ # @return [Array<Types::BotChannelAssociation>]
1120
+ #
1121
+ # @!attribute [rw] next_token
1122
+ # A pagination token that fetches the next page of associations. If
1123
+ # the response to this call is truncated, Amazon Lex returns a
1124
+ # pagination token in the response. To fetch the next page of
1125
+ # associations, specify the pagination token in the next request.
1126
+ # @return [String]
1127
+ #
1128
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBotChannelAssociationsResponse AWS API Documentation
1129
+ #
1130
+ class GetBotChannelAssociationsResponse < Struct.new(
1131
+ :bot_channel_associations,
1132
+ :next_token)
1133
+ include Aws::Structure
1134
+ end
1135
+
1136
+ # @note When making an API call, you may pass GetBotRequest
1137
+ # data as a hash:
1138
+ #
1139
+ # {
1140
+ # name: "BotName", # required
1141
+ # version_or_alias: "String", # required
1142
+ # }
1143
+ #
1144
+ # @!attribute [rw] name
1145
+ # The name of the bot. The name is case sensitive.
1146
+ # @return [String]
1147
+ #
1148
+ # @!attribute [rw] version_or_alias
1149
+ # The version or alias of the bot.
1150
+ # @return [String]
1151
+ #
1152
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBotRequest AWS API Documentation
1153
+ #
1154
+ class GetBotRequest < Struct.new(
1155
+ :name,
1156
+ :version_or_alias)
1157
+ include Aws::Structure
1158
+ end
1159
+
1160
+ # @!attribute [rw] name
1161
+ # The name of the bot.
1162
+ # @return [String]
1163
+ #
1164
+ # @!attribute [rw] description
1165
+ # A description of the bot.
1166
+ # @return [String]
1167
+ #
1168
+ # @!attribute [rw] intents
1169
+ # An array of `intent` objects. For more information, see .
1170
+ # @return [Array<Types::Intent>]
1171
+ #
1172
+ # @!attribute [rw] clarification_prompt
1173
+ # The message Amazon Lex uses when it doesn't understand the user's
1174
+ # request. For more information, see .
1175
+ # @return [Types::Prompt]
1176
+ #
1177
+ # @!attribute [rw] abort_statement
1178
+ # The message that Amazon Lex returns when the user elects to end the
1179
+ # conversation without completing it. For more information, see .
1180
+ # @return [Types::Statement]
1181
+ #
1182
+ # @!attribute [rw] status
1183
+ # The status of the bot. If the bot is ready to run, the status is
1184
+ # `READY`. If there was a problem with building the bot, the status is
1185
+ # `FAILED` and the `failureReason` explains why the bot did not build.
1186
+ # If the bot was saved but not built, the status is `NOT BUILT`.
1187
+ # @return [String]
1188
+ #
1189
+ # @!attribute [rw] failure_reason
1190
+ # If `status` is `FAILED`, Amazon Lex explains why it failed to build
1191
+ # the bot.
1192
+ # @return [String]
1193
+ #
1194
+ # @!attribute [rw] last_updated_date
1195
+ # The date that the bot was updated. When you create a resource, the
1196
+ # creation date and last updated date are the same.
1197
+ # @return [Time]
1198
+ #
1199
+ # @!attribute [rw] created_date
1200
+ # The date that the bot was created.
1201
+ # @return [Time]
1202
+ #
1203
+ # @!attribute [rw] idle_session_ttl_in_seconds
1204
+ # The maximum time in seconds that Amazon Lex retains the data
1205
+ # gathered in a conversation. For more information, see .
1206
+ # @return [Integer]
1207
+ #
1208
+ # @!attribute [rw] voice_id
1209
+ # The Amazon Parrot voice ID that Amazon Lex uses for voice
1210
+ # interaction with the user. For more information, see .
1211
+ # @return [String]
1212
+ #
1213
+ # @!attribute [rw] checksum
1214
+ # Checksum of the bot used to identify a specific revision of the
1215
+ # bot's `$LATEST` version.
1216
+ # @return [String]
1217
+ #
1218
+ # @!attribute [rw] version
1219
+ # The version of the bot. For a new bot, the version is always
1220
+ # `$LATEST`.
1221
+ # @return [String]
1222
+ #
1223
+ # @!attribute [rw] locale
1224
+ # The target locale for the bot.
1225
+ # @return [String]
1226
+ #
1227
+ # @!attribute [rw] child_directed
1228
+ # For each Amazon Lex bot created with the Amazon Lex Model Building
1229
+ # Service, you must specify whether your use of Amazon Lex is related
1230
+ # to a website, program, or other application that is directed or
1231
+ # targeted, in whole or in part, to children under age 13 and subject
1232
+ # to the Children's Online Privacy Protection Act (COPPA) by
1233
+ # specifying `true` or `false` in the `childDirected` field. By
1234
+ # specifying `true` in the `childDirected` field, you confirm that
1235
+ # your use of Amazon Lex **is** related to a website, program, or
1236
+ # other application that is directed or targeted, in whole or in part,
1237
+ # to children under age 13 and subject to COPPA. By specifying `false`
1238
+ # in the `childDirected` field, you confirm that your use of Amazon
1239
+ # Lex **is not** related to a website, program, or other application
1240
+ # that is directed or targeted, in whole or in part, to children under
1241
+ # age 13 and subject to COPPA. You may not specify a default value for
1242
+ # the `childDirected` field that does not accurately reflect whether
1243
+ # your use of Amazon Lex is related to a website, program, or other
1244
+ # application that is directed or targeted, in whole or in part, to
1245
+ # children under age 13 and subject to COPPA.
1246
+ #
1247
+ # If your use of Amazon Lex relates to a website, program, or other
1248
+ # application that is directed in whole or in part, to children under
1249
+ # age 13, you must obtain any required verifiable parental consent
1250
+ # under COPPA. For information regarding the use of Amazon Lex in
1251
+ # connection with websites, programs, or other applications that are
1252
+ # directed or targeted, in whole or in part, to children under age 13,
1253
+ # see the [Amazon Lex FAQ.][1]
1254
+ #
1255
+ #
1256
+ #
1257
+ # [1]: https://aws.amazon.com/lex/faqs#data-security
1258
+ # @return [Boolean]
1259
+ #
1260
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBotResponse AWS API Documentation
1261
+ #
1262
+ class GetBotResponse < Struct.new(
1263
+ :name,
1264
+ :description,
1265
+ :intents,
1266
+ :clarification_prompt,
1267
+ :abort_statement,
1268
+ :status,
1269
+ :failure_reason,
1270
+ :last_updated_date,
1271
+ :created_date,
1272
+ :idle_session_ttl_in_seconds,
1273
+ :voice_id,
1274
+ :checksum,
1275
+ :version,
1276
+ :locale,
1277
+ :child_directed)
1278
+ include Aws::Structure
1279
+ end
1280
+
1281
+ # @note When making an API call, you may pass GetBotVersionsRequest
1282
+ # data as a hash:
1283
+ #
1284
+ # {
1285
+ # name: "BotName", # required
1286
+ # next_token: "NextToken",
1287
+ # max_results: 1,
1288
+ # }
1289
+ #
1290
+ # @!attribute [rw] name
1291
+ # The name of the bot for which versions should be returned.
1292
+ # @return [String]
1293
+ #
1294
+ # @!attribute [rw] next_token
1295
+ # A pagination token for fetching the next page of bot versions. If
1296
+ # the response to this call is truncated, Amazon Lex returns a
1297
+ # pagination token in the response. To fetch the next page of
1298
+ # versions, specify the pagination token in the next request.
1299
+ # @return [String]
1300
+ #
1301
+ # @!attribute [rw] max_results
1302
+ # The maximum number of bot versions to return in the response. The
1303
+ # default is 10.
1304
+ # @return [Integer]
1305
+ #
1306
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBotVersionsRequest AWS API Documentation
1307
+ #
1308
+ class GetBotVersionsRequest < Struct.new(
1309
+ :name,
1310
+ :next_token,
1311
+ :max_results)
1312
+ include Aws::Structure
1313
+ end
1314
+
1315
+ # @!attribute [rw] bots
1316
+ # An array of `BotMetadata` objects, one for each numbered version of
1317
+ # the bot plus one for the `$LATEST` version.
1318
+ # @return [Array<Types::BotMetadata>]
1319
+ #
1320
+ # @!attribute [rw] next_token
1321
+ # A pagination token for fetching the next page of bot versions. If
1322
+ # the response to this call is truncated, Amazon Lex returns a
1323
+ # pagination token in the response. To fetch the next page of
1324
+ # versions, specify the pagination token in the next request.
1325
+ # @return [String]
1326
+ #
1327
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBotVersionsResponse AWS API Documentation
1328
+ #
1329
+ class GetBotVersionsResponse < Struct.new(
1330
+ :bots,
1331
+ :next_token)
1332
+ include Aws::Structure
1333
+ end
1334
+
1335
+ # @note When making an API call, you may pass GetBotsRequest
1336
+ # data as a hash:
1337
+ #
1338
+ # {
1339
+ # next_token: "NextToken",
1340
+ # max_results: 1,
1341
+ # name_contains: "BotName",
1342
+ # }
1343
+ #
1344
+ # @!attribute [rw] next_token
1345
+ # A pagination token that fetches the next page of bots. If the
1346
+ # response to this call is truncated, Amazon Lex returns a pagination
1347
+ # token in the response. To fetch the next page of bots, specify the
1348
+ # pagination token in the next request.
1349
+ # @return [String]
1350
+ #
1351
+ # @!attribute [rw] max_results
1352
+ # The maximum number of bots to return in the response that the
1353
+ # request will return. The default is 10.
1354
+ # @return [Integer]
1355
+ #
1356
+ # @!attribute [rw] name_contains
1357
+ # Substring to match in bot names. A bot will be returned if any part
1358
+ # of its name matches the substring. For example, "xyz" matches both
1359
+ # "xyzabc" and "abcxyz."
1360
+ # @return [String]
1361
+ #
1362
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBotsRequest AWS API Documentation
1363
+ #
1364
+ class GetBotsRequest < Struct.new(
1365
+ :next_token,
1366
+ :max_results,
1367
+ :name_contains)
1368
+ include Aws::Structure
1369
+ end
1370
+
1371
+ # @!attribute [rw] bots
1372
+ # An array of `botMetadata` objects, with one entry for each bot.
1373
+ # @return [Array<Types::BotMetadata>]
1374
+ #
1375
+ # @!attribute [rw] next_token
1376
+ # If the response is truncated, it includes a pagination token that
1377
+ # you can specify in your next request to fetch the next page of bots.
1378
+ # @return [String]
1379
+ #
1380
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBotsResponse AWS API Documentation
1381
+ #
1382
+ class GetBotsResponse < Struct.new(
1383
+ :bots,
1384
+ :next_token)
1385
+ include Aws::Structure
1386
+ end
1387
+
1388
+ # @note When making an API call, you may pass GetBuiltinIntentRequest
1389
+ # data as a hash:
1390
+ #
1391
+ # {
1392
+ # signature: "BuiltinIntentSignature", # required
1393
+ # }
1394
+ #
1395
+ # @!attribute [rw] signature
1396
+ # The unique identifier for a built-in intent. To find the signature
1397
+ # for an intent, see [Standard Built-in Intents][1] in the *Alexa
1398
+ # Skills Kit*.
1399
+ #
1400
+ #
1401
+ #
1402
+ # [1]: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/standard-intents
1403
+ # @return [String]
1404
+ #
1405
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBuiltinIntentRequest AWS API Documentation
1406
+ #
1407
+ class GetBuiltinIntentRequest < Struct.new(
1408
+ :signature)
1409
+ include Aws::Structure
1410
+ end
1411
+
1412
+ # @!attribute [rw] signature
1413
+ # The unique identifier for a built-in intent.
1414
+ # @return [String]
1415
+ #
1416
+ # @!attribute [rw] supported_locales
1417
+ # A list of locales that the intent supports.
1418
+ # @return [Array<String>]
1419
+ #
1420
+ # @!attribute [rw] slots
1421
+ # An array of `BuiltinIntentSlot` objects, one entry for each slot
1422
+ # type in the intent.
1423
+ # @return [Array<Types::BuiltinIntentSlot>]
1424
+ #
1425
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBuiltinIntentResponse AWS API Documentation
1426
+ #
1427
+ class GetBuiltinIntentResponse < Struct.new(
1428
+ :signature,
1429
+ :supported_locales,
1430
+ :slots)
1431
+ include Aws::Structure
1432
+ end
1433
+
1434
+ # @note When making an API call, you may pass GetBuiltinIntentsRequest
1435
+ # data as a hash:
1436
+ #
1437
+ # {
1438
+ # locale: "en-US", # accepts en-US
1439
+ # signature_contains: "String",
1440
+ # next_token: "NextToken",
1441
+ # max_results: 1,
1442
+ # }
1443
+ #
1444
+ # @!attribute [rw] locale
1445
+ # A list of locales that the intent supports.
1446
+ # @return [String]
1447
+ #
1448
+ # @!attribute [rw] signature_contains
1449
+ # Substring to match in built-in intent signatures. An intent will be
1450
+ # returned if any part of its signature matches the substring. For
1451
+ # example, "xyz" matches both "xyzabc" and "abcxyz." To find the
1452
+ # signature for an intent, see [Standard Built-in Intents][1] in the
1453
+ # *Alexa Skills Kit*.
1454
+ #
1455
+ #
1456
+ #
1457
+ # [1]: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/standard-intents
1458
+ # @return [String]
1459
+ #
1460
+ # @!attribute [rw] next_token
1461
+ # A pagination token that fetches the next page of intents. If this
1462
+ # API call is truncated, Amazon Lex returns a pagination token in the
1463
+ # response. To fetch the next page of intents, use the pagination
1464
+ # token in the next request.
1465
+ # @return [String]
1466
+ #
1467
+ # @!attribute [rw] max_results
1468
+ # The maximum number of intents to return in the response. The default
1469
+ # is 10.
1470
+ # @return [Integer]
1471
+ #
1472
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBuiltinIntentsRequest AWS API Documentation
1473
+ #
1474
+ class GetBuiltinIntentsRequest < Struct.new(
1475
+ :locale,
1476
+ :signature_contains,
1477
+ :next_token,
1478
+ :max_results)
1479
+ include Aws::Structure
1480
+ end
1481
+
1482
+ # @!attribute [rw] intents
1483
+ # An array of `builtinIntentMetadata` objects, one for each intent in
1484
+ # the response.
1485
+ # @return [Array<Types::BuiltinIntentMetadata>]
1486
+ #
1487
+ # @!attribute [rw] next_token
1488
+ # A pagination token that fetches the next page of intents. If the
1489
+ # response to this API call is truncated, Amazon Lex returns a
1490
+ # pagination token in the response. To fetch the next page of intents,
1491
+ # specify the pagination token in the next request.
1492
+ # @return [String]
1493
+ #
1494
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBuiltinIntentsResponse AWS API Documentation
1495
+ #
1496
+ class GetBuiltinIntentsResponse < Struct.new(
1497
+ :intents,
1498
+ :next_token)
1499
+ include Aws::Structure
1500
+ end
1501
+
1502
+ # @note When making an API call, you may pass GetBuiltinSlotTypesRequest
1503
+ # data as a hash:
1504
+ #
1505
+ # {
1506
+ # locale: "en-US", # accepts en-US
1507
+ # signature_contains: "String",
1508
+ # next_token: "NextToken",
1509
+ # max_results: 1,
1510
+ # }
1511
+ #
1512
+ # @!attribute [rw] locale
1513
+ # A list of locales that the slot type supports.
1514
+ # @return [String]
1515
+ #
1516
+ # @!attribute [rw] signature_contains
1517
+ # Substring to match in built-in slot type signatures. A slot type
1518
+ # will be returned if any part of its signature matches the substring.
1519
+ # For example, "xyz" matches both "xyzabc" and "abcxyz."
1520
+ # @return [String]
1521
+ #
1522
+ # @!attribute [rw] next_token
1523
+ # A pagination token that fetches the next page of slot types. If the
1524
+ # response to this API call is truncated, Amazon Lex returns a
1525
+ # pagination token in the response. To fetch the next page of slot
1526
+ # types, specify the pagination token in the next request.
1527
+ # @return [String]
1528
+ #
1529
+ # @!attribute [rw] max_results
1530
+ # The maximum number of slot types to return in the response. The
1531
+ # default is 10.
1532
+ # @return [Integer]
1533
+ #
1534
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBuiltinSlotTypesRequest AWS API Documentation
1535
+ #
1536
+ class GetBuiltinSlotTypesRequest < Struct.new(
1537
+ :locale,
1538
+ :signature_contains,
1539
+ :next_token,
1540
+ :max_results)
1541
+ include Aws::Structure
1542
+ end
1543
+
1544
+ # @!attribute [rw] slot_types
1545
+ # An array of `BuiltInSlotTypeMetadata` objects, one entry for each
1546
+ # slot type returned.
1547
+ # @return [Array<Types::BuiltinSlotTypeMetadata>]
1548
+ #
1549
+ # @!attribute [rw] next_token
1550
+ # If the response is truncated, the response includes a pagination
1551
+ # token that you can use in your next request to fetch the next page
1552
+ # of slot types.
1553
+ # @return [String]
1554
+ #
1555
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBuiltinSlotTypesResponse AWS API Documentation
1556
+ #
1557
+ class GetBuiltinSlotTypesResponse < Struct.new(
1558
+ :slot_types,
1559
+ :next_token)
1560
+ include Aws::Structure
1561
+ end
1562
+
1563
+ # @note When making an API call, you may pass GetIntentRequest
1564
+ # data as a hash:
1565
+ #
1566
+ # {
1567
+ # name: "IntentName", # required
1568
+ # version: "Version", # required
1569
+ # }
1570
+ #
1571
+ # @!attribute [rw] name
1572
+ # The name of the intent. The name is case sensitive.
1573
+ # @return [String]
1574
+ #
1575
+ # @!attribute [rw] version
1576
+ # The version of the intent.
1577
+ # @return [String]
1578
+ #
1579
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetIntentRequest AWS API Documentation
1580
+ #
1581
+ class GetIntentRequest < Struct.new(
1582
+ :name,
1583
+ :version)
1584
+ include Aws::Structure
1585
+ end
1586
+
1587
+ # @!attribute [rw] name
1588
+ # The name of the intent.
1589
+ # @return [String]
1590
+ #
1591
+ # @!attribute [rw] description
1592
+ # A description of the intent.
1593
+ # @return [String]
1594
+ #
1595
+ # @!attribute [rw] slots
1596
+ # An array of intent slots configured for the intent.
1597
+ # @return [Array<Types::Slot>]
1598
+ #
1599
+ # @!attribute [rw] sample_utterances
1600
+ # An array of sample utterances configured for the intent.
1601
+ # @return [Array<String>]
1602
+ #
1603
+ # @!attribute [rw] confirmation_prompt
1604
+ # If defined in the bot, Amazon Lex uses prompt to confirm the intent
1605
+ # before fulfilling the user's request. For more information, see .
1606
+ # @return [Types::Prompt]
1607
+ #
1608
+ # @!attribute [rw] rejection_statement
1609
+ # If the user answers "no" to the question defined in
1610
+ # `confirmationPrompt`, Amazon Lex responds with this statement to
1611
+ # acknowledge that the intent was canceled.
1612
+ # @return [Types::Statement]
1613
+ #
1614
+ # @!attribute [rw] follow_up_prompt
1615
+ # If defined in the bot, Amazon Lex uses this prompt to solicit
1616
+ # additional user activity after the intent is fulfilled. For more
1617
+ # information, see .
1618
+ # @return [Types::FollowUpPrompt]
1619
+ #
1620
+ # @!attribute [rw] conclusion_statement
1621
+ # After the Lambda function specified in the `fulfillmentActivity`
1622
+ # element fulfills the intent, Amazon Lex conveys this statement to
1623
+ # the user.
1624
+ # @return [Types::Statement]
1625
+ #
1626
+ # @!attribute [rw] dialog_code_hook
1627
+ # If defined in the bot, Amazon Amazon Lex invokes this Lambda
1628
+ # function for each user input. For more information, see .
1629
+ # @return [Types::CodeHook]
1630
+ #
1631
+ # @!attribute [rw] fulfillment_activity
1632
+ # Describes how the intent is fulfilled. For more information, see .
1633
+ # @return [Types::FulfillmentActivity]
1634
+ #
1635
+ # @!attribute [rw] parent_intent_signature
1636
+ # A unique identifier for a built-in intent.
1637
+ # @return [String]
1638
+ #
1639
+ # @!attribute [rw] last_updated_date
1640
+ # The date that the intent was updated. When you create a resource,
1641
+ # the creation date and the last updated date are the same.
1642
+ # @return [Time]
1643
+ #
1644
+ # @!attribute [rw] created_date
1645
+ # The date that the intent was created.
1646
+ # @return [Time]
1647
+ #
1648
+ # @!attribute [rw] version
1649
+ # The version of the intent.
1650
+ # @return [String]
1651
+ #
1652
+ # @!attribute [rw] checksum
1653
+ # Checksum of the intent.
1654
+ # @return [String]
1655
+ #
1656
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetIntentResponse AWS API Documentation
1657
+ #
1658
+ class GetIntentResponse < Struct.new(
1659
+ :name,
1660
+ :description,
1661
+ :slots,
1662
+ :sample_utterances,
1663
+ :confirmation_prompt,
1664
+ :rejection_statement,
1665
+ :follow_up_prompt,
1666
+ :conclusion_statement,
1667
+ :dialog_code_hook,
1668
+ :fulfillment_activity,
1669
+ :parent_intent_signature,
1670
+ :last_updated_date,
1671
+ :created_date,
1672
+ :version,
1673
+ :checksum)
1674
+ include Aws::Structure
1675
+ end
1676
+
1677
+ # @note When making an API call, you may pass GetIntentVersionsRequest
1678
+ # data as a hash:
1679
+ #
1680
+ # {
1681
+ # name: "IntentName", # required
1682
+ # next_token: "NextToken",
1683
+ # max_results: 1,
1684
+ # }
1685
+ #
1686
+ # @!attribute [rw] name
1687
+ # The name of the intent for which versions should be returned.
1688
+ # @return [String]
1689
+ #
1690
+ # @!attribute [rw] next_token
1691
+ # A pagination token for fetching the next page of intent versions. If
1692
+ # the response to this call is truncated, Amazon Lex returns a
1693
+ # pagination token in the response. To fetch the next page of
1694
+ # versions, specify the pagination token in the next request.
1695
+ # @return [String]
1696
+ #
1697
+ # @!attribute [rw] max_results
1698
+ # The maximum number of intent versions to return in the response. The
1699
+ # default is 10.
1700
+ # @return [Integer]
1701
+ #
1702
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetIntentVersionsRequest AWS API Documentation
1703
+ #
1704
+ class GetIntentVersionsRequest < Struct.new(
1705
+ :name,
1706
+ :next_token,
1707
+ :max_results)
1708
+ include Aws::Structure
1709
+ end
1710
+
1711
+ # @!attribute [rw] intents
1712
+ # An array of `IntentMetadata` objects, one for each numbered version
1713
+ # of the intent plus one for the `$LATEST` version.
1714
+ # @return [Array<Types::IntentMetadata>]
1715
+ #
1716
+ # @!attribute [rw] next_token
1717
+ # A pagination token for fetching the next page of intent versions. If
1718
+ # the response to this call is truncated, Amazon Lex returns a
1719
+ # pagination token in the response. To fetch the next page of
1720
+ # versions, specify the pagination token in the next request.
1721
+ # @return [String]
1722
+ #
1723
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetIntentVersionsResponse AWS API Documentation
1724
+ #
1725
+ class GetIntentVersionsResponse < Struct.new(
1726
+ :intents,
1727
+ :next_token)
1728
+ include Aws::Structure
1729
+ end
1730
+
1731
+ # @note When making an API call, you may pass GetIntentsRequest
1732
+ # data as a hash:
1733
+ #
1734
+ # {
1735
+ # next_token: "NextToken",
1736
+ # max_results: 1,
1737
+ # name_contains: "IntentName",
1738
+ # }
1739
+ #
1740
+ # @!attribute [rw] next_token
1741
+ # A pagination token that fetches the next page of intents. If the
1742
+ # response to this API call is truncated, Amazon Lex returns a
1743
+ # pagination token in the response. To fetch the next page of intents,
1744
+ # specify the pagination token in the next request.
1745
+ # @return [String]
1746
+ #
1747
+ # @!attribute [rw] max_results
1748
+ # The maximum number of intents to return in the response. The default
1749
+ # is 10.
1750
+ # @return [Integer]
1751
+ #
1752
+ # @!attribute [rw] name_contains
1753
+ # Substring to match in intent names. An intent will be returned if
1754
+ # any part of its name matches the substring. For example, "xyz"
1755
+ # matches both "xyzabc" and "abcxyz."
1756
+ # @return [String]
1757
+ #
1758
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetIntentsRequest AWS API Documentation
1759
+ #
1760
+ class GetIntentsRequest < Struct.new(
1761
+ :next_token,
1762
+ :max_results,
1763
+ :name_contains)
1764
+ include Aws::Structure
1765
+ end
1766
+
1767
+ # @!attribute [rw] intents
1768
+ # An array of `Intent` objects. For more information, see .
1769
+ # @return [Array<Types::IntentMetadata>]
1770
+ #
1771
+ # @!attribute [rw] next_token
1772
+ # If the response is truncated, the response includes a pagination
1773
+ # token that you can specify in your next request to fetch the next
1774
+ # page of intents.
1775
+ # @return [String]
1776
+ #
1777
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetIntentsResponse AWS API Documentation
1778
+ #
1779
+ class GetIntentsResponse < Struct.new(
1780
+ :intents,
1781
+ :next_token)
1782
+ include Aws::Structure
1783
+ end
1784
+
1785
+ # @note When making an API call, you may pass GetSlotTypeRequest
1786
+ # data as a hash:
1787
+ #
1788
+ # {
1789
+ # name: "SlotTypeName", # required
1790
+ # version: "Version", # required
1791
+ # }
1792
+ #
1793
+ # @!attribute [rw] name
1794
+ # The name of the slot type. The name is case sensitive.
1795
+ # @return [String]
1796
+ #
1797
+ # @!attribute [rw] version
1798
+ # The version of the slot type.
1799
+ # @return [String]
1800
+ #
1801
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetSlotTypeRequest AWS API Documentation
1802
+ #
1803
+ class GetSlotTypeRequest < Struct.new(
1804
+ :name,
1805
+ :version)
1806
+ include Aws::Structure
1807
+ end
1808
+
1809
+ # @!attribute [rw] name
1810
+ # The name of the slot type.
1811
+ # @return [String]
1812
+ #
1813
+ # @!attribute [rw] description
1814
+ # A description of the slot type.
1815
+ # @return [String]
1816
+ #
1817
+ # @!attribute [rw] enumeration_values
1818
+ # A list of `EnumerationValue` objects that defines the values that
1819
+ # the slot type can take.
1820
+ # @return [Array<Types::EnumerationValue>]
1821
+ #
1822
+ # @!attribute [rw] last_updated_date
1823
+ # The date that the slot type was updated. When you create a resource,
1824
+ # the creation date and last update date are the same.
1825
+ # @return [Time]
1826
+ #
1827
+ # @!attribute [rw] created_date
1828
+ # The date that the slot type was created.
1829
+ # @return [Time]
1830
+ #
1831
+ # @!attribute [rw] version
1832
+ # The version of the slot type.
1833
+ # @return [String]
1834
+ #
1835
+ # @!attribute [rw] checksum
1836
+ # Checksum of the `$LATEST` version of the slot type.
1837
+ # @return [String]
1838
+ #
1839
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetSlotTypeResponse AWS API Documentation
1840
+ #
1841
+ class GetSlotTypeResponse < Struct.new(
1842
+ :name,
1843
+ :description,
1844
+ :enumeration_values,
1845
+ :last_updated_date,
1846
+ :created_date,
1847
+ :version,
1848
+ :checksum)
1849
+ include Aws::Structure
1850
+ end
1851
+
1852
+ # @note When making an API call, you may pass GetSlotTypeVersionsRequest
1853
+ # data as a hash:
1854
+ #
1855
+ # {
1856
+ # name: "SlotTypeName", # required
1857
+ # next_token: "NextToken",
1858
+ # max_results: 1,
1859
+ # }
1860
+ #
1861
+ # @!attribute [rw] name
1862
+ # The name of the slot type for which versions should be returned.
1863
+ # @return [String]
1864
+ #
1865
+ # @!attribute [rw] next_token
1866
+ # A pagination token for fetching the next page of slot type versions.
1867
+ # If the response to this call is truncated, Amazon Lex returns a
1868
+ # pagination token in the response. To fetch the next page of
1869
+ # versions, specify the pagination token in the next request.
1870
+ # @return [String]
1871
+ #
1872
+ # @!attribute [rw] max_results
1873
+ # The maximum number of slot type versions to return in the response.
1874
+ # The default is 10.
1875
+ # @return [Integer]
1876
+ #
1877
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetSlotTypeVersionsRequest AWS API Documentation
1878
+ #
1879
+ class GetSlotTypeVersionsRequest < Struct.new(
1880
+ :name,
1881
+ :next_token,
1882
+ :max_results)
1883
+ include Aws::Structure
1884
+ end
1885
+
1886
+ # @!attribute [rw] slot_types
1887
+ # An array of `SlotTypeMetadata` objects, one for each numbered
1888
+ # version of the slot type plus one for the `$LATEST` version.
1889
+ # @return [Array<Types::SlotTypeMetadata>]
1890
+ #
1891
+ # @!attribute [rw] next_token
1892
+ # A pagination token for fetching the next page of slot type versions.
1893
+ # If the response to this call is truncated, Amazon Lex returns a
1894
+ # pagination token in the response. To fetch the next page of
1895
+ # versions, specify the pagination token in the next request.
1896
+ # @return [String]
1897
+ #
1898
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetSlotTypeVersionsResponse AWS API Documentation
1899
+ #
1900
+ class GetSlotTypeVersionsResponse < Struct.new(
1901
+ :slot_types,
1902
+ :next_token)
1903
+ include Aws::Structure
1904
+ end
1905
+
1906
+ # @note When making an API call, you may pass GetSlotTypesRequest
1907
+ # data as a hash:
1908
+ #
1909
+ # {
1910
+ # next_token: "NextToken",
1911
+ # max_results: 1,
1912
+ # name_contains: "SlotTypeName",
1913
+ # }
1914
+ #
1915
+ # @!attribute [rw] next_token
1916
+ # A pagination token that fetches the next page of slot types. If the
1917
+ # response to this API call is truncated, Amazon Lex returns a
1918
+ # pagination token in the response. To fetch next page of slot types,
1919
+ # specify the pagination token in the next request.
1920
+ # @return [String]
1921
+ #
1922
+ # @!attribute [rw] max_results
1923
+ # The maximum number of slot types to return in the response. The
1924
+ # default is 10.
1925
+ # @return [Integer]
1926
+ #
1927
+ # @!attribute [rw] name_contains
1928
+ # Substring to match in slot type names. A slot type will be returned
1929
+ # if any part of its name matches the substring. For example, "xyz"
1930
+ # matches both "xyzabc" and "abcxyz."
1931
+ # @return [String]
1932
+ #
1933
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetSlotTypesRequest AWS API Documentation
1934
+ #
1935
+ class GetSlotTypesRequest < Struct.new(
1936
+ :next_token,
1937
+ :max_results,
1938
+ :name_contains)
1939
+ include Aws::Structure
1940
+ end
1941
+
1942
+ # @!attribute [rw] slot_types
1943
+ # An array of objects, one for each slot type, that provides
1944
+ # information such as the name of the slot type, the version, and a
1945
+ # description.
1946
+ # @return [Array<Types::SlotTypeMetadata>]
1947
+ #
1948
+ # @!attribute [rw] next_token
1949
+ # If the response is truncated, it includes a pagination token that
1950
+ # you can specify in your next request to fetch the next page of slot
1951
+ # types.
1952
+ # @return [String]
1953
+ #
1954
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetSlotTypesResponse AWS API Documentation
1955
+ #
1956
+ class GetSlotTypesResponse < Struct.new(
1957
+ :slot_types,
1958
+ :next_token)
1959
+ include Aws::Structure
1960
+ end
1961
+
1962
+ # @note When making an API call, you may pass GetUtterancesViewRequest
1963
+ # data as a hash:
1964
+ #
1965
+ # {
1966
+ # bot_name: "BotName", # required
1967
+ # bot_versions: ["Version"], # required
1968
+ # status_type: "Detected", # required, accepts Detected, Missed
1969
+ # }
1970
+ #
1971
+ # @!attribute [rw] bot_name
1972
+ # The name of the bot for which utterance information should be
1973
+ # returned.
1974
+ # @return [String]
1975
+ #
1976
+ # @!attribute [rw] bot_versions
1977
+ # An array of bot versions for which utterance information should be
1978
+ # returned. The limit is 5 versions per request.
1979
+ # @return [Array<String>]
1980
+ #
1981
+ # @!attribute [rw] status_type
1982
+ # To return utterances that were recognized and handled,
1983
+ # use`Detected`. To return utterances that were not recognized, use
1984
+ # `Missed`.
1985
+ # @return [String]
1986
+ #
1987
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetUtterancesViewRequest AWS API Documentation
1988
+ #
1989
+ class GetUtterancesViewRequest < Struct.new(
1990
+ :bot_name,
1991
+ :bot_versions,
1992
+ :status_type)
1993
+ include Aws::Structure
1994
+ end
1995
+
1996
+ # @!attribute [rw] bot_name
1997
+ # The name of the bot for which utterance information was returned.
1998
+ # @return [String]
1999
+ #
2000
+ # @!attribute [rw] utterances
2001
+ # An array of objects, each containing a list of objects describing
2002
+ # the utterances that were processed by your bot. The response
2003
+ # contains a maximum of 100 `UtteranceData` objects for each version.
2004
+ # @return [Array<Types::UtteranceList>]
2005
+ #
2006
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetUtterancesViewResponse AWS API Documentation
2007
+ #
2008
+ class GetUtterancesViewResponse < Struct.new(
2009
+ :bot_name,
2010
+ :utterances)
2011
+ include Aws::Structure
2012
+ end
2013
+
2014
+ # Identifies the specific version of an intent.
2015
+ #
2016
+ # @note When making an API call, you may pass Intent
2017
+ # data as a hash:
2018
+ #
2019
+ # {
2020
+ # intent_name: "IntentName", # required
2021
+ # intent_version: "Version", # required
2022
+ # }
2023
+ #
2024
+ # @!attribute [rw] intent_name
2025
+ # The name of the intent.
2026
+ # @return [String]
2027
+ #
2028
+ # @!attribute [rw] intent_version
2029
+ # The version of the intent.
2030
+ # @return [String]
2031
+ #
2032
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/Intent AWS API Documentation
2033
+ #
2034
+ class Intent < Struct.new(
2035
+ :intent_name,
2036
+ :intent_version)
2037
+ include Aws::Structure
2038
+ end
2039
+
2040
+ # Provides information about an intent.
2041
+ #
2042
+ # @!attribute [rw] name
2043
+ # The name of the intent.
2044
+ # @return [String]
2045
+ #
2046
+ # @!attribute [rw] description
2047
+ # A description of the intent.
2048
+ # @return [String]
2049
+ #
2050
+ # @!attribute [rw] last_updated_date
2051
+ # The date that the intent was updated. When you create an intent, the
2052
+ # creation date and last updated date are the same.
2053
+ # @return [Time]
2054
+ #
2055
+ # @!attribute [rw] created_date
2056
+ # The date that the intent was created.
2057
+ # @return [Time]
2058
+ #
2059
+ # @!attribute [rw] version
2060
+ # The version of the intent.
2061
+ # @return [String]
2062
+ #
2063
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/IntentMetadata AWS API Documentation
2064
+ #
2065
+ class IntentMetadata < Struct.new(
2066
+ :name,
2067
+ :description,
2068
+ :last_updated_date,
2069
+ :created_date,
2070
+ :version)
2071
+ include Aws::Structure
2072
+ end
2073
+
2074
+ # The message object that provides the message text and its type.
2075
+ #
2076
+ # @note When making an API call, you may pass Message
2077
+ # data as a hash:
2078
+ #
2079
+ # {
2080
+ # content_type: "PlainText", # required, accepts PlainText, SSML
2081
+ # content: "ContentString", # required
2082
+ # }
2083
+ #
2084
+ # @!attribute [rw] content_type
2085
+ # The content type of the message string.
2086
+ # @return [String]
2087
+ #
2088
+ # @!attribute [rw] content
2089
+ # The text of the message.
2090
+ # @return [String]
2091
+ #
2092
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/Message AWS API Documentation
2093
+ #
2094
+ class Message < Struct.new(
2095
+ :content_type,
2096
+ :content)
2097
+ include Aws::Structure
2098
+ end
2099
+
2100
+ # Obtains information from the user. To define a prompt, provide one or
2101
+ # more messages and specify the number of attempts to get information
2102
+ # from the user. If you provide more than one message, Amazon Lex
2103
+ # chooses one of the messages to use to prompt the user. For more
2104
+ # information, see how-it-works.
2105
+ #
2106
+ # @note When making an API call, you may pass Prompt
2107
+ # data as a hash:
2108
+ #
2109
+ # {
2110
+ # messages: [ # required
2111
+ # {
2112
+ # content_type: "PlainText", # required, accepts PlainText, SSML
2113
+ # content: "ContentString", # required
2114
+ # },
2115
+ # ],
2116
+ # max_attempts: 1, # required
2117
+ # response_card: "ResponseCard",
2118
+ # }
2119
+ #
2120
+ # @!attribute [rw] messages
2121
+ # An array of objects, each of which provides a message string and its
2122
+ # type. You can specify the message string in plain text or in Speech
2123
+ # Synthesis Markup Language (SSML).
2124
+ # @return [Array<Types::Message>]
2125
+ #
2126
+ # @!attribute [rw] max_attempts
2127
+ # The number of times to prompt the user for information.
2128
+ # @return [Integer]
2129
+ #
2130
+ # @!attribute [rw] response_card
2131
+ # A response card. Amazon Lex uses this prompt at runtime, in the
2132
+ # `PostText` API response. It substitutes session attributes and slot
2133
+ # values for placeholders in the response card. For more information,
2134
+ # see ex-resp-card.
2135
+ # @return [String]
2136
+ #
2137
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/Prompt AWS API Documentation
2138
+ #
2139
+ class Prompt < Struct.new(
2140
+ :messages,
2141
+ :max_attempts,
2142
+ :response_card)
2143
+ include Aws::Structure
2144
+ end
2145
+
2146
+ # @note When making an API call, you may pass PutBotAliasRequest
2147
+ # data as a hash:
2148
+ #
2149
+ # {
2150
+ # name: "AliasName", # required
2151
+ # description: "Description",
2152
+ # bot_version: "Version", # required
2153
+ # bot_name: "BotName", # required
2154
+ # checksum: "String",
2155
+ # }
2156
+ #
2157
+ # @!attribute [rw] name
2158
+ # The name of the alias. The name is *not* case sensitive.
2159
+ # @return [String]
2160
+ #
2161
+ # @!attribute [rw] description
2162
+ # A description of the alias.
2163
+ # @return [String]
2164
+ #
2165
+ # @!attribute [rw] bot_version
2166
+ # The version of the bot.
2167
+ # @return [String]
2168
+ #
2169
+ # @!attribute [rw] bot_name
2170
+ # The name of the bot.
2171
+ # @return [String]
2172
+ #
2173
+ # @!attribute [rw] checksum
2174
+ # Identifies a specific revision of the `$LATEST` version.
2175
+ #
2176
+ # When you create a new bot alias, leave the `checksum` field blank.
2177
+ # If you specify a checksum you get a `BadRequestException` exception.
2178
+ #
2179
+ # When you want to update a bot alias, set the `checksum` field to the
2180
+ # checksum of the most recent revision of the `$LATEST` version. If
2181
+ # you don't specify the ` checksum` field, or if the checksum does
2182
+ # not match the `$LATEST` version, you get a
2183
+ # `PreconditionFailedException` exception.
2184
+ # @return [String]
2185
+ #
2186
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/PutBotAliasRequest AWS API Documentation
2187
+ #
2188
+ class PutBotAliasRequest < Struct.new(
2189
+ :name,
2190
+ :description,
2191
+ :bot_version,
2192
+ :bot_name,
2193
+ :checksum)
2194
+ include Aws::Structure
2195
+ end
2196
+
2197
+ # @!attribute [rw] name
2198
+ # The name of the alias.
2199
+ # @return [String]
2200
+ #
2201
+ # @!attribute [rw] description
2202
+ # A description of the alias.
2203
+ # @return [String]
2204
+ #
2205
+ # @!attribute [rw] bot_version
2206
+ # The version of the bot that the alias points to.
2207
+ # @return [String]
2208
+ #
2209
+ # @!attribute [rw] bot_name
2210
+ # The name of the bot that the alias points to.
2211
+ # @return [String]
2212
+ #
2213
+ # @!attribute [rw] last_updated_date
2214
+ # The date that the bot alias was updated. When you create a resource,
2215
+ # the creation date and the last updated date are the same.
2216
+ # @return [Time]
2217
+ #
2218
+ # @!attribute [rw] created_date
2219
+ # The date that the bot alias was created.
2220
+ # @return [Time]
2221
+ #
2222
+ # @!attribute [rw] checksum
2223
+ # The checksum for the current version of the alias.
2224
+ # @return [String]
2225
+ #
2226
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/PutBotAliasResponse AWS API Documentation
2227
+ #
2228
+ class PutBotAliasResponse < Struct.new(
2229
+ :name,
2230
+ :description,
2231
+ :bot_version,
2232
+ :bot_name,
2233
+ :last_updated_date,
2234
+ :created_date,
2235
+ :checksum)
2236
+ include Aws::Structure
2237
+ end
2238
+
2239
+ # @note When making an API call, you may pass PutBotRequest
2240
+ # data as a hash:
2241
+ #
2242
+ # {
2243
+ # name: "BotName", # required
2244
+ # description: "Description",
2245
+ # intents: [
2246
+ # {
2247
+ # intent_name: "IntentName", # required
2248
+ # intent_version: "Version", # required
2249
+ # },
2250
+ # ],
2251
+ # clarification_prompt: {
2252
+ # messages: [ # required
2253
+ # {
2254
+ # content_type: "PlainText", # required, accepts PlainText, SSML
2255
+ # content: "ContentString", # required
2256
+ # },
2257
+ # ],
2258
+ # max_attempts: 1, # required
2259
+ # response_card: "ResponseCard",
2260
+ # },
2261
+ # abort_statement: {
2262
+ # messages: [ # required
2263
+ # {
2264
+ # content_type: "PlainText", # required, accepts PlainText, SSML
2265
+ # content: "ContentString", # required
2266
+ # },
2267
+ # ],
2268
+ # response_card: "ResponseCard",
2269
+ # },
2270
+ # idle_session_ttl_in_seconds: 1,
2271
+ # voice_id: "String",
2272
+ # checksum: "String",
2273
+ # process_behavior: "SAVE", # accepts SAVE, BUILD
2274
+ # locale: "en-US", # required, accepts en-US
2275
+ # child_directed: false, # required
2276
+ # }
2277
+ #
2278
+ # @!attribute [rw] name
2279
+ # The name of the bot. The name is *not* case sensitive.
2280
+ # @return [String]
2281
+ #
2282
+ # @!attribute [rw] description
2283
+ # A description of the bot.
2284
+ # @return [String]
2285
+ #
2286
+ # @!attribute [rw] intents
2287
+ # An array of `Intent` objects. Each intent represents a command that
2288
+ # a user can express. For example, a pizza ordering bot might support
2289
+ # an OrderPizza intent. For more information, see how-it-works.
2290
+ # @return [Array<Types::Intent>]
2291
+ #
2292
+ # @!attribute [rw] clarification_prompt
2293
+ # When Amazon Lex doesn't understand the user's intent, it uses one
2294
+ # of these messages to get clarification. For example, "Sorry, I
2295
+ # didn't understand. Please repeat." Amazon Lex repeats the
2296
+ # clarification prompt the number of times specified in `maxAttempts`.
2297
+ # If Amazon Lex still can't understand, it sends the message
2298
+ # specified in `abortStatement`.
2299
+ # @return [Types::Prompt]
2300
+ #
2301
+ # @!attribute [rw] abort_statement
2302
+ # When Amazon Lex can't understand the user's input in context, it
2303
+ # tries to elicit the information a few times. After that, Amazon Lex
2304
+ # sends the message defined in `abortStatement` to the user, and then
2305
+ # aborts the conversation. To set the number of retries, use the
2306
+ # `valueElicitationPrompt` field for the slot type.
2307
+ #
2308
+ # For example, in a pizza ordering bot, Amazon Lex might ask a user
2309
+ # "What type of crust would you like?" If the user's response is
2310
+ # not one of the expected responses (for example, "thin crust, "deep
2311
+ # dish," etc.), Amazon Lex tries to elicit a correct response a few
2312
+ # more times.
2313
+ #
2314
+ # For example, in a pizza ordering application, `OrderPizza` might be
2315
+ # one of the intents. This intent might require the `CrustType` slot.
2316
+ # You specify the `valueElicitationPrompt` field when you create the
2317
+ # `CrustType` slot.
2318
+ # @return [Types::Statement]
2319
+ #
2320
+ # @!attribute [rw] idle_session_ttl_in_seconds
2321
+ # The maximum time in seconds that Amazon Lex retains the data
2322
+ # gathered in a conversation.
2323
+ #
2324
+ # A user interaction session remains active for the amount of time
2325
+ # specified. If no conversation occurs during this time, the session
2326
+ # expires and Amazon Lex deletes any data provided before the timeout.
2327
+ #
2328
+ # For example, suppose that a user chooses the OrderPizza intent, but
2329
+ # gets sidetracked halfway through placing an order. If the user
2330
+ # doesn't complete the order within the specified time, Amazon Lex
2331
+ # discards the slot information that it gathered, and the user must
2332
+ # start over.
2333
+ #
2334
+ # If you don't include the `idleSessionTTLInSeconds` element in a
2335
+ # `PutBot` operation request, Amazon Lex uses the default value. This
2336
+ # is also true if the request replaces an existing bot.
2337
+ #
2338
+ # The default is 300 seconds (5 minutes).
2339
+ # @return [Integer]
2340
+ #
2341
+ # @!attribute [rw] voice_id
2342
+ # The Amazon Parrot voice ID that you want Amazon Lex to use for voice
2343
+ # interactions with the user. The locale configured for the voice must
2344
+ # match the locale of the bot. For more information, see [Voice][1] in
2345
+ # the *Amazon Polly Developer Guide*.
2346
+ #
2347
+ #
2348
+ #
2349
+ # [1]: http://docs.aws.amazon.com/polly/latest/dg/API_Voice.html
2350
+ # @return [String]
2351
+ #
2352
+ # @!attribute [rw] checksum
2353
+ # Identifies a specific revision of the `$LATEST` version.
2354
+ #
2355
+ # When you create a new bot, leave the `checksum` field blank. If you
2356
+ # specify a checksum you get a `BadRequestException` exception.
2357
+ #
2358
+ # When you want to update a bot, set the `checksum` field to the
2359
+ # checksum of the most recent revision of the `$LATEST` version. If
2360
+ # you don't specify the ` checksum` field, or if the checksum does
2361
+ # not match the `$LATEST` version, you get a
2362
+ # `PreconditionFailedException` exception.
2363
+ # @return [String]
2364
+ #
2365
+ # @!attribute [rw] process_behavior
2366
+ # If you set the `processBehavior` element to `Build`, Amazon Lex
2367
+ # builds the bot so that it can be run. If you set the element to
2368
+ # `Save`Amazon Lex saves the bot, but doesn't build it.
2369
+ #
2370
+ # If you don't specify this value, the default value is `Save`.
2371
+ # @return [String]
2372
+ #
2373
+ # @!attribute [rw] locale
2374
+ # Specifies the target locale for the bot. Any intent used in the bot
2375
+ # must be compatible with the locale of the bot.
2376
+ #
2377
+ # The default is `en-US`.
2378
+ # @return [String]
2379
+ #
2380
+ # @!attribute [rw] child_directed
2381
+ # For each Amazon Lex bot created with the Amazon Lex Model Building
2382
+ # Service, you must specify whether your use of Amazon Lex is related
2383
+ # to a website, program, or other application that is directed or
2384
+ # targeted, in whole or in part, to children under age 13 and subject
2385
+ # to the Children's Online Privacy Protection Act (COPPA) by
2386
+ # specifying `true` or `false` in the `childDirected` field. By
2387
+ # specifying `true` in the `childDirected` field, you confirm that
2388
+ # your use of Amazon Lex **is** related to a website, program, or
2389
+ # other application that is directed or targeted, in whole or in part,
2390
+ # to children under age 13 and subject to COPPA. By specifying `false`
2391
+ # in the `childDirected` field, you confirm that your use of Amazon
2392
+ # Lex **is not** related to a website, program, or other application
2393
+ # that is directed or targeted, in whole or in part, to children under
2394
+ # age 13 and subject to COPPA. You may not specify a default value for
2395
+ # the `childDirected` field that does not accurately reflect whether
2396
+ # your use of Amazon Lex is related to a website, program, or other
2397
+ # application that is directed or targeted, in whole or in part, to
2398
+ # children under age 13 and subject to COPPA.
2399
+ #
2400
+ # If your use of Amazon Lex relates to a website, program, or other
2401
+ # application that is directed in whole or in part, to children under
2402
+ # age 13, you must obtain any required verifiable parental consent
2403
+ # under COPPA. For information regarding the use of Amazon Lex in
2404
+ # connection with websites, programs, or other applications that are
2405
+ # directed or targeted, in whole or in part, to children under age 13,
2406
+ # see the [Amazon Lex FAQ.][1]
2407
+ #
2408
+ #
2409
+ #
2410
+ # [1]: https://aws.amazon.com/lex/faqs#data-security
2411
+ # @return [Boolean]
2412
+ #
2413
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/PutBotRequest AWS API Documentation
2414
+ #
2415
+ class PutBotRequest < Struct.new(
2416
+ :name,
2417
+ :description,
2418
+ :intents,
2419
+ :clarification_prompt,
2420
+ :abort_statement,
2421
+ :idle_session_ttl_in_seconds,
2422
+ :voice_id,
2423
+ :checksum,
2424
+ :process_behavior,
2425
+ :locale,
2426
+ :child_directed)
2427
+ include Aws::Structure
2428
+ end
2429
+
2430
+ # @!attribute [rw] name
2431
+ # The name of the bot.
2432
+ # @return [String]
2433
+ #
2434
+ # @!attribute [rw] description
2435
+ # A description of the bot.
2436
+ # @return [String]
2437
+ #
2438
+ # @!attribute [rw] intents
2439
+ # An array of `Intent` objects. For more information, see .
2440
+ # @return [Array<Types::Intent>]
2441
+ #
2442
+ # @!attribute [rw] clarification_prompt
2443
+ # The prompts that Amazon Lex uses when it doesn't understand the
2444
+ # user's intent. For more information, see .
2445
+ # @return [Types::Prompt]
2446
+ #
2447
+ # @!attribute [rw] abort_statement
2448
+ # The message that Amazon Lex uses to abort a conversation. For more
2449
+ # information, see .
2450
+ # @return [Types::Statement]
2451
+ #
2452
+ # @!attribute [rw] status
2453
+ # When you send a request to create a bot with `processBehavior` set
2454
+ # to `BUILD`, Amazon Lex sets the `status` response element to
2455
+ # `BUILDING`. After Amazon Lex builds the bot, it sets `status` to
2456
+ # `READY`. If Amazon Lex can't build the bot, Amazon Lex sets
2457
+ # `status` to `FAILED`. Amazon Lex returns the reason for the failure
2458
+ # in the `failureReason` response element.
2459
+ #
2460
+ # When you set `processBehavior`to `SAVE`, Amazon Lex sets the status
2461
+ # code to `NOT BUILT`.
2462
+ # @return [String]
2463
+ #
2464
+ # @!attribute [rw] failure_reason
2465
+ # If `status` is `FAILED`, Amazon Lex provides the reason that it
2466
+ # failed to build the bot.
2467
+ # @return [String]
2468
+ #
2469
+ # @!attribute [rw] last_updated_date
2470
+ # The date that the bot was updated. When you create a resource, the
2471
+ # creation date and last updated date are the same.
2472
+ # @return [Time]
2473
+ #
2474
+ # @!attribute [rw] created_date
2475
+ # The date that the bot was created.
2476
+ # @return [Time]
2477
+ #
2478
+ # @!attribute [rw] idle_session_ttl_in_seconds
2479
+ # The maximum length of time that Amazon Lex retains the data gathered
2480
+ # in a conversation. For more information, see .
2481
+ # @return [Integer]
2482
+ #
2483
+ # @!attribute [rw] voice_id
2484
+ # The Amazon Parrot voice ID that Amazon Lex uses for voice
2485
+ # interaction with the user. For more information, see .
2486
+ # @return [String]
2487
+ #
2488
+ # @!attribute [rw] checksum
2489
+ # Checksum of the bot that you created.
2490
+ # @return [String]
2491
+ #
2492
+ # @!attribute [rw] version
2493
+ # The version of the bot. For a new bot, the version is always
2494
+ # `$LATEST`.
2495
+ # @return [String]
2496
+ #
2497
+ # @!attribute [rw] locale
2498
+ # The target locale for the bot.
2499
+ # @return [String]
2500
+ #
2501
+ # @!attribute [rw] child_directed
2502
+ # For each Amazon Lex bot created with the Amazon Lex Model Building
2503
+ # Service, you must specify whether your use of Amazon Lex is related
2504
+ # to a website, program, or other application that is directed or
2505
+ # targeted, in whole or in part, to children under age 13 and subject
2506
+ # to the Children's Online Privacy Protection Act (COPPA) by
2507
+ # specifying `true` or `false` in the `childDirected` field. By
2508
+ # specifying `true` in the `childDirected` field, you confirm that
2509
+ # your use of Amazon Lex **is** related to a website, program, or
2510
+ # other application that is directed or targeted, in whole or in part,
2511
+ # to children under age 13 and subject to COPPA. By specifying `false`
2512
+ # in the `childDirected` field, you confirm that your use of Amazon
2513
+ # Lex **is not** related to a website, program, or other application
2514
+ # that is directed or targeted, in whole or in part, to children under
2515
+ # age 13 and subject to COPPA. You may not specify a default value for
2516
+ # the `childDirected` field that does not accurately reflect whether
2517
+ # your use of Amazon Lex is related to a website, program, or other
2518
+ # application that is directed or targeted, in whole or in part, to
2519
+ # children under age 13 and subject to COPPA.
2520
+ #
2521
+ # If your use of Amazon Lex relates to a website, program, or other
2522
+ # application that is directed in whole or in part, to children under
2523
+ # age 13, you must obtain any required verifiable parental consent
2524
+ # under COPPA. For information regarding the use of Amazon Lex in
2525
+ # connection with websites, programs, or other applications that are
2526
+ # directed or targeted, in whole or in part, to children under age 13,
2527
+ # see the [Amazon Lex FAQ.][1]
2528
+ #
2529
+ #
2530
+ #
2531
+ # [1]: https://aws.amazon.com/lex/faqs#data-security
2532
+ # @return [Boolean]
2533
+ #
2534
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/PutBotResponse AWS API Documentation
2535
+ #
2536
+ class PutBotResponse < Struct.new(
2537
+ :name,
2538
+ :description,
2539
+ :intents,
2540
+ :clarification_prompt,
2541
+ :abort_statement,
2542
+ :status,
2543
+ :failure_reason,
2544
+ :last_updated_date,
2545
+ :created_date,
2546
+ :idle_session_ttl_in_seconds,
2547
+ :voice_id,
2548
+ :checksum,
2549
+ :version,
2550
+ :locale,
2551
+ :child_directed)
2552
+ include Aws::Structure
2553
+ end
2554
+
2555
+ # @note When making an API call, you may pass PutIntentRequest
2556
+ # data as a hash:
2557
+ #
2558
+ # {
2559
+ # name: "IntentName", # required
2560
+ # description: "Description",
2561
+ # slots: [
2562
+ # {
2563
+ # name: "SlotName", # required
2564
+ # description: "Description",
2565
+ # slot_constraint: "Required", # required, accepts Required, Optional
2566
+ # slot_type: "CustomOrBuiltinSlotTypeName",
2567
+ # slot_type_version: "Version",
2568
+ # value_elicitation_prompt: {
2569
+ # messages: [ # required
2570
+ # {
2571
+ # content_type: "PlainText", # required, accepts PlainText, SSML
2572
+ # content: "ContentString", # required
2573
+ # },
2574
+ # ],
2575
+ # max_attempts: 1, # required
2576
+ # response_card: "ResponseCard",
2577
+ # },
2578
+ # priority: 1,
2579
+ # sample_utterances: ["Utterance"],
2580
+ # response_card: "ResponseCard",
2581
+ # },
2582
+ # ],
2583
+ # sample_utterances: ["Utterance"],
2584
+ # confirmation_prompt: {
2585
+ # messages: [ # required
2586
+ # {
2587
+ # content_type: "PlainText", # required, accepts PlainText, SSML
2588
+ # content: "ContentString", # required
2589
+ # },
2590
+ # ],
2591
+ # max_attempts: 1, # required
2592
+ # response_card: "ResponseCard",
2593
+ # },
2594
+ # rejection_statement: {
2595
+ # messages: [ # required
2596
+ # {
2597
+ # content_type: "PlainText", # required, accepts PlainText, SSML
2598
+ # content: "ContentString", # required
2599
+ # },
2600
+ # ],
2601
+ # response_card: "ResponseCard",
2602
+ # },
2603
+ # follow_up_prompt: {
2604
+ # prompt: { # required
2605
+ # messages: [ # required
2606
+ # {
2607
+ # content_type: "PlainText", # required, accepts PlainText, SSML
2608
+ # content: "ContentString", # required
2609
+ # },
2610
+ # ],
2611
+ # max_attempts: 1, # required
2612
+ # response_card: "ResponseCard",
2613
+ # },
2614
+ # rejection_statement: { # required
2615
+ # messages: [ # required
2616
+ # {
2617
+ # content_type: "PlainText", # required, accepts PlainText, SSML
2618
+ # content: "ContentString", # required
2619
+ # },
2620
+ # ],
2621
+ # response_card: "ResponseCard",
2622
+ # },
2623
+ # },
2624
+ # conclusion_statement: {
2625
+ # messages: [ # required
2626
+ # {
2627
+ # content_type: "PlainText", # required, accepts PlainText, SSML
2628
+ # content: "ContentString", # required
2629
+ # },
2630
+ # ],
2631
+ # response_card: "ResponseCard",
2632
+ # },
2633
+ # dialog_code_hook: {
2634
+ # uri: "LambdaARN", # required
2635
+ # message_version: "MessageVersion", # required
2636
+ # },
2637
+ # fulfillment_activity: {
2638
+ # type: "ReturnIntent", # required, accepts ReturnIntent, CodeHook
2639
+ # code_hook: {
2640
+ # uri: "LambdaARN", # required
2641
+ # message_version: "MessageVersion", # required
2642
+ # },
2643
+ # },
2644
+ # parent_intent_signature: "BuiltinIntentSignature",
2645
+ # checksum: "String",
2646
+ # }
2647
+ #
2648
+ # @!attribute [rw] name
2649
+ # The name of the intent. The name is *not* case sensitive.
2650
+ #
2651
+ # The name can't match a built-in intent name, or a built-in intent
2652
+ # name with "AMAZON." removed. For example, because there is a
2653
+ # built-in intent called `AMAZON.HelpIntent`, you can't create a
2654
+ # custom intent called `HelpIntent`.
2655
+ #
2656
+ # For a list of built-in intents, see [Standard Built-in Intents][1]
2657
+ # in the *Alexa Skills Kit*.
2658
+ #
2659
+ #
2660
+ #
2661
+ # [1]: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/standard-intents
2662
+ # @return [String]
2663
+ #
2664
+ # @!attribute [rw] description
2665
+ # A description of the intent.
2666
+ # @return [String]
2667
+ #
2668
+ # @!attribute [rw] slots
2669
+ # An array of intent slots. At runtime, Amazon Lex elicits required
2670
+ # slot values from the user using prompts defined in the slots. For
2671
+ # more information, see &lt;xref linkend="how-it-works"/&gt;.
2672
+ # @return [Array<Types::Slot>]
2673
+ #
2674
+ # @!attribute [rw] sample_utterances
2675
+ # An array of utterances (strings) that a user might say to signal the
2676
+ # intent. For example, "I want \\\{PizzaSize\\} pizza", "Order
2677
+ # \\\{Quantity\\} \\\{PizzaSize\\} pizzas".
2678
+ #
2679
+ # In each utterance, a slot name is enclosed in curly braces.
2680
+ # @return [Array<String>]
2681
+ #
2682
+ # @!attribute [rw] confirmation_prompt
2683
+ # Prompts the user to confirm the intent. This question should have a
2684
+ # yes or no answer.
2685
+ #
2686
+ # Amazon Lex uses this prompt to ensure that the user acknowledges
2687
+ # that the intent is ready for fulfillment. For example, with the
2688
+ # `OrderPizza` intent, you might want to confirm that the order is
2689
+ # correct before placing it. For other intents, such as intents that
2690
+ # simply respond to user questions, you might not need to ask the user
2691
+ # for confirmation before providing the information.
2692
+ #
2693
+ # <note markdown="1"> You you must provide both the `rejectionStatement` and the
2694
+ # `confirmationPrompt`, or neither.
2695
+ #
2696
+ # </note>
2697
+ # @return [Types::Prompt]
2698
+ #
2699
+ # @!attribute [rw] rejection_statement
2700
+ # When the user answers "no" to the question defined in
2701
+ # `confirmationPrompt`, Amazon Lex responds with this statement to
2702
+ # acknowledge that the intent was canceled.
2703
+ #
2704
+ # <note markdown="1"> You must provide both the `rejectionStatement` and the
2705
+ # `confirmationPrompt`, or neither.
2706
+ #
2707
+ # </note>
2708
+ # @return [Types::Statement]
2709
+ #
2710
+ # @!attribute [rw] follow_up_prompt
2711
+ # A user prompt for additional activity after an intent is fulfilled.
2712
+ # For example, after the `OrderPizza` intent is fulfilled (your Lambda
2713
+ # function placed an order with a pizzeria), you might prompt the user
2714
+ # to find if they want to order a drink (assuming that you have
2715
+ # defined an `OrderDrink` intent in your bot).
2716
+ #
2717
+ # <note markdown="1"> The `followUpPrompt` and `conclusionStatement` are mutually
2718
+ # exclusive. You can specify only one. For example, your bot may not
2719
+ # solicit both the following:
2720
+ #
2721
+ # Follow up prompt - "`$session.FirstName`, your pizza order has been
2722
+ # placed. Would you like to order a drink or a dessert?"
2723
+ #
2724
+ # Conclusion statement - "`$session.FirstName`, your pizza order has
2725
+ # been placed."
2726
+ #
2727
+ # </note>
2728
+ # @return [Types::FollowUpPrompt]
2729
+ #
2730
+ # @!attribute [rw] conclusion_statement
2731
+ # The statement that you want Amazon Lex to convey to the user after
2732
+ # the intent is successfully fulfilled by the Lambda function.
2733
+ #
2734
+ # This element is relevant only if you provide a Lambda function in
2735
+ # the `fulfillmentActivity`. If you return the intent to the client
2736
+ # application, you can't specify this element.
2737
+ #
2738
+ # <note markdown="1"> The `followUpPrompt` and `conclusionStatement` are mutually
2739
+ # exclusive. You can specify only one.
2740
+ #
2741
+ # </note>
2742
+ # @return [Types::Statement]
2743
+ #
2744
+ # @!attribute [rw] dialog_code_hook
2745
+ # Specifies a Lambda function to invoke for each user input. You can
2746
+ # invoke this Lambda function to personalize user interaction.
2747
+ #
2748
+ # For example, suppose your bot determines that the user is John. Your
2749
+ # Lambda function might retrieve John's information from a backend
2750
+ # database and prepopulate some of the values. For example, if you
2751
+ # find that John is gluten intolerant, you might set the corresponding
2752
+ # intent slot, `GlutenIntolerant`, to true. You might find John's
2753
+ # phone number and set the corresponding session attribute.
2754
+ # @return [Types::CodeHook]
2755
+ #
2756
+ # @!attribute [rw] fulfillment_activity
2757
+ # Describes how the intent is fulfilled. For example, after a user
2758
+ # provides all of the information for a pizza order,
2759
+ # `fulfillmentActivity` defines how the bot places an order with a
2760
+ # local pizza store.
2761
+ #
2762
+ # You might configure Amazon Lex to return all of the intent
2763
+ # information to the client application, or direct it to invoke a
2764
+ # Lambda function that can process the intent (for example, place an
2765
+ # order with a pizzeria).
2766
+ # @return [Types::FulfillmentActivity]
2767
+ #
2768
+ # @!attribute [rw] parent_intent_signature
2769
+ # A unique identifier for the built-in intent to base this intent on.
2770
+ # To find the signature for an intent, see [Standard Built-in
2771
+ # Intents][1] in the *Alexa Skills Kit*.
2772
+ #
2773
+ #
2774
+ #
2775
+ # [1]: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/standard-intents
2776
+ # @return [String]
2777
+ #
2778
+ # @!attribute [rw] checksum
2779
+ # Identifies a specific revision of the `$LATEST` version.
2780
+ #
2781
+ # When you create a new intent, leave the `checksum` field blank. If
2782
+ # you specify a checksum you get a `BadRequestException` exception.
2783
+ #
2784
+ # When you want to update a intent, set the `checksum` field to the
2785
+ # checksum of the most recent revision of the `$LATEST` version. If
2786
+ # you don't specify the ` checksum` field, or if the checksum does
2787
+ # not match the `$LATEST` version, you get a
2788
+ # `PreconditionFailedException` exception.
2789
+ # @return [String]
2790
+ #
2791
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/PutIntentRequest AWS API Documentation
2792
+ #
2793
+ class PutIntentRequest < Struct.new(
2794
+ :name,
2795
+ :description,
2796
+ :slots,
2797
+ :sample_utterances,
2798
+ :confirmation_prompt,
2799
+ :rejection_statement,
2800
+ :follow_up_prompt,
2801
+ :conclusion_statement,
2802
+ :dialog_code_hook,
2803
+ :fulfillment_activity,
2804
+ :parent_intent_signature,
2805
+ :checksum)
2806
+ include Aws::Structure
2807
+ end
2808
+
2809
+ # @!attribute [rw] name
2810
+ # The name of the intent.
2811
+ # @return [String]
2812
+ #
2813
+ # @!attribute [rw] description
2814
+ # A description of the intent.
2815
+ # @return [String]
2816
+ #
2817
+ # @!attribute [rw] slots
2818
+ # An array of intent slots that are configured for the intent.
2819
+ # @return [Array<Types::Slot>]
2820
+ #
2821
+ # @!attribute [rw] sample_utterances
2822
+ # An array of sample utterances that are configured for the intent.
2823
+ # @return [Array<String>]
2824
+ #
2825
+ # @!attribute [rw] confirmation_prompt
2826
+ # If defined in the intent, Amazon Lex prompts the user to confirm the
2827
+ # intent before fulfilling it.
2828
+ # @return [Types::Prompt]
2829
+ #
2830
+ # @!attribute [rw] rejection_statement
2831
+ # If the user answers "no" to the question defined in
2832
+ # `confirmationPrompt` Amazon Lex responds with this statement to
2833
+ # acknowledge that the intent was canceled.
2834
+ # @return [Types::Statement]
2835
+ #
2836
+ # @!attribute [rw] follow_up_prompt
2837
+ # If defined in the intent, Amazon Lex uses this prompt to solicit
2838
+ # additional user activity after the intent is fulfilled.
2839
+ # @return [Types::FollowUpPrompt]
2840
+ #
2841
+ # @!attribute [rw] conclusion_statement
2842
+ # After the Lambda function specified in
2843
+ # the`fulfillmentActivity`intent fulfills the intent, Amazon Lex
2844
+ # conveys this statement to the user.
2845
+ # @return [Types::Statement]
2846
+ #
2847
+ # @!attribute [rw] dialog_code_hook
2848
+ # If defined in the intent, Amazon Lex invokes this Lambda function
2849
+ # for each user input.
2850
+ # @return [Types::CodeHook]
2851
+ #
2852
+ # @!attribute [rw] fulfillment_activity
2853
+ # If defined in the intent, Amazon Lex invokes this Lambda function to
2854
+ # fulfill the intent after the user provides all of the information
2855
+ # required by the intent.
2856
+ # @return [Types::FulfillmentActivity]
2857
+ #
2858
+ # @!attribute [rw] parent_intent_signature
2859
+ # A unique identifier for the built-in intent that this intent is
2860
+ # based on.
2861
+ # @return [String]
2862
+ #
2863
+ # @!attribute [rw] last_updated_date
2864
+ # The date that the intent was updated. When you create a resource,
2865
+ # the creation date and last update dates are the same.
2866
+ # @return [Time]
2867
+ #
2868
+ # @!attribute [rw] created_date
2869
+ # The date that the intent was created.
2870
+ # @return [Time]
2871
+ #
2872
+ # @!attribute [rw] version
2873
+ # The version of the intent. For a new intent, the version is always
2874
+ # `$LATEST`.
2875
+ # @return [String]
2876
+ #
2877
+ # @!attribute [rw] checksum
2878
+ # Checksum of the `$LATEST`version of the intent created or updated.
2879
+ # @return [String]
2880
+ #
2881
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/PutIntentResponse AWS API Documentation
2882
+ #
2883
+ class PutIntentResponse < Struct.new(
2884
+ :name,
2885
+ :description,
2886
+ :slots,
2887
+ :sample_utterances,
2888
+ :confirmation_prompt,
2889
+ :rejection_statement,
2890
+ :follow_up_prompt,
2891
+ :conclusion_statement,
2892
+ :dialog_code_hook,
2893
+ :fulfillment_activity,
2894
+ :parent_intent_signature,
2895
+ :last_updated_date,
2896
+ :created_date,
2897
+ :version,
2898
+ :checksum)
2899
+ include Aws::Structure
2900
+ end
2901
+
2902
+ # @note When making an API call, you may pass PutSlotTypeRequest
2903
+ # data as a hash:
2904
+ #
2905
+ # {
2906
+ # name: "SlotTypeName", # required
2907
+ # description: "Description",
2908
+ # enumeration_values: [
2909
+ # {
2910
+ # value: "Value", # required
2911
+ # },
2912
+ # ],
2913
+ # checksum: "String",
2914
+ # }
2915
+ #
2916
+ # @!attribute [rw] name
2917
+ # The name of the slot type. The name is *not* case sensitive.
2918
+ #
2919
+ # The name can't match a built-in slot type name, or a built-in slot
2920
+ # type name with "AMAZON." removed. For example, because there is a
2921
+ # built-in slot type called `AMAZON.DATE`, you can't create a custom
2922
+ # slot type called `DATE`.
2923
+ #
2924
+ # For a list of built-in slot types, see [Slot Type Reference][1] in
2925
+ # the *Alexa Skills Kit*.
2926
+ #
2927
+ #
2928
+ #
2929
+ # [1]: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/slot-type-reference
2930
+ # @return [String]
2931
+ #
2932
+ # @!attribute [rw] description
2933
+ # A description of the slot type.
2934
+ # @return [String]
2935
+ #
2936
+ # @!attribute [rw] enumeration_values
2937
+ # A list of `EnumerationValue` objects that defines the values that
2938
+ # the slot type can take.
2939
+ # @return [Array<Types::EnumerationValue>]
2940
+ #
2941
+ # @!attribute [rw] checksum
2942
+ # Identifies a specific revision of the `$LATEST` version.
2943
+ #
2944
+ # When you create a new slot type, leave the `checksum` field blank.
2945
+ # If you specify a checksum you get a `BadRequestException` exception.
2946
+ #
2947
+ # When you want to update a slot type, set the `checksum` field to the
2948
+ # checksum of the most recent revision of the `$LATEST` version. If
2949
+ # you don't specify the ` checksum` field, or if the checksum does
2950
+ # not match the `$LATEST` version, you get a
2951
+ # `PreconditionFailedException` exception.
2952
+ # @return [String]
2953
+ #
2954
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/PutSlotTypeRequest AWS API Documentation
2955
+ #
2956
+ class PutSlotTypeRequest < Struct.new(
2957
+ :name,
2958
+ :description,
2959
+ :enumeration_values,
2960
+ :checksum)
2961
+ include Aws::Structure
2962
+ end
2963
+
2964
+ # @!attribute [rw] name
2965
+ # The name of the slot type.
2966
+ # @return [String]
2967
+ #
2968
+ # @!attribute [rw] description
2969
+ # A description of the slot type.
2970
+ # @return [String]
2971
+ #
2972
+ # @!attribute [rw] enumeration_values
2973
+ # A list of `EnumerationValue` objects that defines the values that
2974
+ # the slot type can take.
2975
+ # @return [Array<Types::EnumerationValue>]
2976
+ #
2977
+ # @!attribute [rw] last_updated_date
2978
+ # The date that the slot type was updated. When you create a slot
2979
+ # type, the creation date and last update date are the same.
2980
+ # @return [Time]
2981
+ #
2982
+ # @!attribute [rw] created_date
2983
+ # The date that the slot type was created.
2984
+ # @return [Time]
2985
+ #
2986
+ # @!attribute [rw] version
2987
+ # The version of the slot type. For a new slot type, the version is
2988
+ # always `$LATEST`.
2989
+ # @return [String]
2990
+ #
2991
+ # @!attribute [rw] checksum
2992
+ # Checksum of the `$LATEST` version of the slot type.
2993
+ # @return [String]
2994
+ #
2995
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/PutSlotTypeResponse AWS API Documentation
2996
+ #
2997
+ class PutSlotTypeResponse < Struct.new(
2998
+ :name,
2999
+ :description,
3000
+ :enumeration_values,
3001
+ :last_updated_date,
3002
+ :created_date,
3003
+ :version,
3004
+ :checksum)
3005
+ include Aws::Structure
3006
+ end
3007
+
3008
+ # Describes the resource that refers to the resource that you are
3009
+ # attempting to delete. This object is returned as part of the
3010
+ # `ResourceInUseException` exception.
3011
+ #
3012
+ # @!attribute [rw] name
3013
+ # The name of the resource that is using the resource that you are
3014
+ # trying to delete.
3015
+ # @return [String]
3016
+ #
3017
+ # @!attribute [rw] version
3018
+ # The version of the resource that is using the resource that you are
3019
+ # trying to delete.
3020
+ # @return [String]
3021
+ #
3022
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/ResourceReference AWS API Documentation
3023
+ #
3024
+ class ResourceReference < Struct.new(
3025
+ :name,
3026
+ :version)
3027
+ include Aws::Structure
3028
+ end
3029
+
3030
+ # Identifies the version of a specific slot.
3031
+ #
3032
+ # @note When making an API call, you may pass Slot
3033
+ # data as a hash:
3034
+ #
3035
+ # {
3036
+ # name: "SlotName", # required
3037
+ # description: "Description",
3038
+ # slot_constraint: "Required", # required, accepts Required, Optional
3039
+ # slot_type: "CustomOrBuiltinSlotTypeName",
3040
+ # slot_type_version: "Version",
3041
+ # value_elicitation_prompt: {
3042
+ # messages: [ # required
3043
+ # {
3044
+ # content_type: "PlainText", # required, accepts PlainText, SSML
3045
+ # content: "ContentString", # required
3046
+ # },
3047
+ # ],
3048
+ # max_attempts: 1, # required
3049
+ # response_card: "ResponseCard",
3050
+ # },
3051
+ # priority: 1,
3052
+ # sample_utterances: ["Utterance"],
3053
+ # response_card: "ResponseCard",
3054
+ # }
3055
+ #
3056
+ # @!attribute [rw] name
3057
+ # The name of the slot.
3058
+ # @return [String]
3059
+ #
3060
+ # @!attribute [rw] description
3061
+ # A description of the slot.
3062
+ # @return [String]
3063
+ #
3064
+ # @!attribute [rw] slot_constraint
3065
+ # Specifies whether the slot is required or optional.
3066
+ # @return [String]
3067
+ #
3068
+ # @!attribute [rw] slot_type
3069
+ # The type of the slot, either a custom slot type that you defined or
3070
+ # one of the built-in slot types.
3071
+ # @return [String]
3072
+ #
3073
+ # @!attribute [rw] slot_type_version
3074
+ # The version of the slot type.
3075
+ # @return [String]
3076
+ #
3077
+ # @!attribute [rw] value_elicitation_prompt
3078
+ # The prompt that Amazon Lex uses to elicit the slot value from the
3079
+ # user.
3080
+ # @return [Types::Prompt]
3081
+ #
3082
+ # @!attribute [rw] priority
3083
+ # Specifies the order in which to elicit slot values from the user.
3084
+ # For example, if the intent has two slots with priorities 1 and 2,
3085
+ # AWS Amazon Lex first elicits a value for the slot with priority 1.
3086
+ #
3087
+ # If multiple slots share the same priority, the order in which Amazon
3088
+ # Lex elicits values is arbitrary.
3089
+ # @return [Integer]
3090
+ #
3091
+ # @!attribute [rw] sample_utterances
3092
+ # If you know a specific pattern with which users might respond to an
3093
+ # Amazon Lex request for a slot value, you can provide those
3094
+ # utterances to improve accuracy. This is optional. In most cases,
3095
+ # Amazon Lex is capable of understanding user utterances.
3096
+ # @return [Array<String>]
3097
+ #
3098
+ # @!attribute [rw] response_card
3099
+ # A set of possible responses for the slot type used by text-based
3100
+ # clients. A user chooses an option from the response card, instead of
3101
+ # using text to reply.
3102
+ # @return [String]
3103
+ #
3104
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/Slot AWS API Documentation
3105
+ #
3106
+ class Slot < Struct.new(
3107
+ :name,
3108
+ :description,
3109
+ :slot_constraint,
3110
+ :slot_type,
3111
+ :slot_type_version,
3112
+ :value_elicitation_prompt,
3113
+ :priority,
3114
+ :sample_utterances,
3115
+ :response_card)
3116
+ include Aws::Structure
3117
+ end
3118
+
3119
+ # Provides information about a slot type..
3120
+ #
3121
+ # @!attribute [rw] name
3122
+ # The name of the slot type.
3123
+ # @return [String]
3124
+ #
3125
+ # @!attribute [rw] description
3126
+ # A description of the slot type.
3127
+ # @return [String]
3128
+ #
3129
+ # @!attribute [rw] last_updated_date
3130
+ # The date that the slot type was updated. When you create a resource,
3131
+ # the creation date and last updated date are the same.
3132
+ # @return [Time]
3133
+ #
3134
+ # @!attribute [rw] created_date
3135
+ # The date that the slot type was created.
3136
+ # @return [Time]
3137
+ #
3138
+ # @!attribute [rw] version
3139
+ # The version of the slot type.
3140
+ # @return [String]
3141
+ #
3142
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/SlotTypeMetadata AWS API Documentation
3143
+ #
3144
+ class SlotTypeMetadata < Struct.new(
3145
+ :name,
3146
+ :description,
3147
+ :last_updated_date,
3148
+ :created_date,
3149
+ :version)
3150
+ include Aws::Structure
3151
+ end
3152
+
3153
+ # A collection of messages that convey information to the user. At
3154
+ # runtime, Amazon Lex selects the message to convey.
3155
+ #
3156
+ # @note When making an API call, you may pass Statement
3157
+ # data as a hash:
3158
+ #
3159
+ # {
3160
+ # messages: [ # required
3161
+ # {
3162
+ # content_type: "PlainText", # required, accepts PlainText, SSML
3163
+ # content: "ContentString", # required
3164
+ # },
3165
+ # ],
3166
+ # response_card: "ResponseCard",
3167
+ # }
3168
+ #
3169
+ # @!attribute [rw] messages
3170
+ # A collection of message objects.
3171
+ # @return [Array<Types::Message>]
3172
+ #
3173
+ # @!attribute [rw] response_card
3174
+ # At runtime, if the client is using the API, Amazon Lex includes the
3175
+ # response card in the response. It substitutes all of the session
3176
+ # attributes and slot values for placeholders in the response card.
3177
+ # @return [String]
3178
+ #
3179
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/Statement AWS API Documentation
3180
+ #
3181
+ class Statement < Struct.new(
3182
+ :messages,
3183
+ :response_card)
3184
+ include Aws::Structure
3185
+ end
3186
+
3187
+ # Provides information about a single utterance that was made to your
3188
+ # bot.
3189
+ #
3190
+ # @!attribute [rw] utterance_string
3191
+ # The text that was entered by the user or the text representation of
3192
+ # an audio clip.
3193
+ # @return [String]
3194
+ #
3195
+ # @!attribute [rw] count
3196
+ # The number of times that the utterance was processed.
3197
+ # @return [Integer]
3198
+ #
3199
+ # @!attribute [rw] distinct_users
3200
+ # The total number of individuals that used the utterance.
3201
+ # @return [Integer]
3202
+ #
3203
+ # @!attribute [rw] first_uttered_date
3204
+ # The date that the utterance was first recorded.
3205
+ # @return [Time]
3206
+ #
3207
+ # @!attribute [rw] last_uttered_date
3208
+ # The date that the utterance was last recorded.
3209
+ # @return [Time]
3210
+ #
3211
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/UtteranceData AWS API Documentation
3212
+ #
3213
+ class UtteranceData < Struct.new(
3214
+ :utterance_string,
3215
+ :count,
3216
+ :distinct_users,
3217
+ :first_uttered_date,
3218
+ :last_uttered_date)
3219
+ include Aws::Structure
3220
+ end
3221
+
3222
+ # Provides a list of utterances that have been made to a specific
3223
+ # version of your bot. The list contains a maximum of 100 utterances.
3224
+ #
3225
+ # @!attribute [rw] bot_version
3226
+ # The version of the bot that processed the list.
3227
+ # @return [String]
3228
+ #
3229
+ # @!attribute [rw] utterances
3230
+ # One or more objects that contain information about the utterances
3231
+ # that have been made to a bot. The maximum number of object is 100.
3232
+ # @return [Array<Types::UtteranceData>]
3233
+ #
3234
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/UtteranceList AWS API Documentation
3235
+ #
3236
+ class UtteranceList < Struct.new(
3237
+ :bot_version,
3238
+ :utterances)
3239
+ include Aws::Structure
3240
+ end
3241
+
3242
+ end
3243
+ end