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,2443 @@
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
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/response_paging.rb'
19
+ require 'aws-sdk-core/plugins/stub_responses.rb'
20
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
22
+ require 'aws-sdk-core/plugins/signature_v4.rb'
23
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
24
+
25
+ Aws::Plugins::GlobalConfiguration.add_identifier(:lexmodelbuildingservice)
26
+
27
+ module Aws::LexModelBuildingService
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :lexmodelbuildingservice
33
+
34
+ set_api(ClientApi::API)
35
+
36
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
37
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
38
+ add_plugin(Aws::Plugins::Logging)
39
+ add_plugin(Aws::Plugins::ParamConverter)
40
+ add_plugin(Aws::Plugins::ParamValidator)
41
+ add_plugin(Aws::Plugins::UserAgent)
42
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
+ add_plugin(Aws::Plugins::RetryErrors)
44
+ add_plugin(Aws::Plugins::GlobalConfiguration)
45
+ add_plugin(Aws::Plugins::RegionalEndpoint)
46
+ add_plugin(Aws::Plugins::ResponsePaging)
47
+ add_plugin(Aws::Plugins::StubResponses)
48
+ add_plugin(Aws::Plugins::IdempotencyToken)
49
+ add_plugin(Aws::Plugins::JsonvalueConverter)
50
+ add_plugin(Aws::Plugins::SignatureV4)
51
+ add_plugin(Aws::Plugins::Protocols::RestJson)
52
+
53
+ # @option options [required, Aws::CredentialProvider] :credentials
54
+ # Your AWS credentials. This can be an instance of any one of the
55
+ # following classes:
56
+ #
57
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
58
+ # credentials.
59
+ #
60
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
61
+ # from an EC2 IMDS on an EC2 instance.
62
+ #
63
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
64
+ # shared file, such as `~/.aws/config`.
65
+ #
66
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
67
+ #
68
+ # When `:credentials` are not configured directly, the following
69
+ # locations will be searched for credentials:
70
+ #
71
+ # * `Aws.config[:credentials]`
72
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
73
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
74
+ # * `~/.aws/credentials`
75
+ # * `~/.aws/config`
76
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
77
+ # very aggressive. Construct and pass an instance of
78
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
79
+ # timeouts.
80
+ #
81
+ # @option options [required, String] :region
82
+ # The AWS region to connect to. The configured `:region` is
83
+ # used to determine the service `:endpoint`. When not passed,
84
+ # a default `:region` is search for in the following locations:
85
+ #
86
+ # * `Aws.config[:region]`
87
+ # * `ENV['AWS_REGION']`
88
+ # * `ENV['AMAZON_REGION']`
89
+ # * `ENV['AWS_DEFAULT_REGION']`
90
+ # * `~/.aws/credentials`
91
+ # * `~/.aws/config`
92
+ #
93
+ # @option options [String] :access_key_id
94
+ #
95
+ # @option options [Boolean] :convert_params (true)
96
+ # When `true`, an attempt is made to coerce request parameters into
97
+ # the required types.
98
+ #
99
+ # @option options [String] :endpoint
100
+ # The client endpoint is normally constructed from the `:region`
101
+ # option. You should only configure an `:endpoint` when connecting
102
+ # to test endpoints. This should be avalid HTTP(S) URI.
103
+ #
104
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
105
+ # The log formatter.
106
+ #
107
+ # @option options [Symbol] :log_level (:info)
108
+ # The log level to send messages to the `:logger` at.
109
+ #
110
+ # @option options [Logger] :logger
111
+ # The Logger instance to send log messages to. If this option
112
+ # is not set, logging will be disabled.
113
+ #
114
+ # @option options [String] :profile ("default")
115
+ # Used when loading credentials from the shared credentials file
116
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
117
+ #
118
+ # @option options [Integer] :retry_limit (3)
119
+ # The maximum number of times to retry failed requests. Only
120
+ # ~ 500 level server errors and certain ~ 400 level client errors
121
+ # are retried. Generally, these are throttling errors, data
122
+ # checksum errors, networking errors, timeout errors and auth
123
+ # errors from expired credentials.
124
+ #
125
+ # @option options [String] :secret_access_key
126
+ #
127
+ # @option options [String] :session_token
128
+ #
129
+ # @option options [Boolean] :stub_responses (false)
130
+ # Causes the client to return stubbed responses. By default
131
+ # fake responses are generated and returned. You can specify
132
+ # the response data to return or errors to raise by calling
133
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
134
+ #
135
+ # ** Please note ** When response stubbing is enabled, no HTTP
136
+ # requests are made, and retries are disabled.
137
+ #
138
+ # @option options [Boolean] :validate_params (true)
139
+ # When `true`, request parameters are validated before
140
+ # sending the request.
141
+ #
142
+ def initialize(*args)
143
+ super
144
+ end
145
+
146
+ # @!group API Operations
147
+
148
+ # Creates a new version of the bot based on the `$LATEST` version. If
149
+ # the `$LATEST` version of this resource hasn't changed since you
150
+ # created the last version, Amazon Lex doesn't create a new version. It
151
+ # returns the last created version.
152
+ #
153
+ # <note markdown="1"> You can update only the `$LATEST` version of the bot. You can't
154
+ # update the numbered versions that you create with the
155
+ # `CreateBotVersion` operation.
156
+ #
157
+ # </note>
158
+ #
159
+ # When you create the first version of a bot, Amazon Lex sets the
160
+ # version to 1. Subsequent versions increment by 1. For more
161
+ # information, see versioning-intro.
162
+ #
163
+ # This operation requires permission for the `lex:CreateBotVersion`
164
+ # action.
165
+ #
166
+ # @option params [required, String] :name
167
+ # The name of the bot that you want to create a new version of. The name
168
+ # is case sensitive.
169
+ #
170
+ # @option params [String] :checksum
171
+ # Identifies a specific revision of the `$LATEST` version of the bot. If
172
+ # you specify a checksum and the `$LATEST` version of the bot has a
173
+ # different checksum, a `PreconditionFailedException` exception is
174
+ # returned and Amazon Lex doesn't publish a new version. If you don't
175
+ # specify a checksum, Amazon Lex publishes the `$LATEST` version.
176
+ #
177
+ # @return [Types::CreateBotVersionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
178
+ #
179
+ # * {Types::CreateBotVersionResponse#name #name} => String
180
+ # * {Types::CreateBotVersionResponse#description #description} => String
181
+ # * {Types::CreateBotVersionResponse#intents #intents} => Array&lt;Types::Intent&gt;
182
+ # * {Types::CreateBotVersionResponse#clarification_prompt #clarification_prompt} => Types::Prompt
183
+ # * {Types::CreateBotVersionResponse#abort_statement #abort_statement} => Types::Statement
184
+ # * {Types::CreateBotVersionResponse#status #status} => String
185
+ # * {Types::CreateBotVersionResponse#failure_reason #failure_reason} => String
186
+ # * {Types::CreateBotVersionResponse#last_updated_date #last_updated_date} => Time
187
+ # * {Types::CreateBotVersionResponse#created_date #created_date} => Time
188
+ # * {Types::CreateBotVersionResponse#idle_session_ttl_in_seconds #idle_session_ttl_in_seconds} => Integer
189
+ # * {Types::CreateBotVersionResponse#voice_id #voice_id} => String
190
+ # * {Types::CreateBotVersionResponse#checksum #checksum} => String
191
+ # * {Types::CreateBotVersionResponse#version #version} => String
192
+ # * {Types::CreateBotVersionResponse#locale #locale} => String
193
+ # * {Types::CreateBotVersionResponse#child_directed #child_directed} => Boolean
194
+ #
195
+ # @example Request syntax with placeholder values
196
+ #
197
+ # resp = client.create_bot_version({
198
+ # name: "BotName", # required
199
+ # checksum: "String",
200
+ # })
201
+ #
202
+ # @example Response structure
203
+ #
204
+ # resp.name #=> String
205
+ # resp.description #=> String
206
+ # resp.intents #=> Array
207
+ # resp.intents[0].intent_name #=> String
208
+ # resp.intents[0].intent_version #=> String
209
+ # resp.clarification_prompt.messages #=> Array
210
+ # resp.clarification_prompt.messages[0].content_type #=> String, one of "PlainText", "SSML"
211
+ # resp.clarification_prompt.messages[0].content #=> String
212
+ # resp.clarification_prompt.max_attempts #=> Integer
213
+ # resp.clarification_prompt.response_card #=> String
214
+ # resp.abort_statement.messages #=> Array
215
+ # resp.abort_statement.messages[0].content_type #=> String, one of "PlainText", "SSML"
216
+ # resp.abort_statement.messages[0].content #=> String
217
+ # resp.abort_statement.response_card #=> String
218
+ # resp.status #=> String, one of "BUILDING", "READY", "FAILED", "NOT_BUILT"
219
+ # resp.failure_reason #=> String
220
+ # resp.last_updated_date #=> Time
221
+ # resp.created_date #=> Time
222
+ # resp.idle_session_ttl_in_seconds #=> Integer
223
+ # resp.voice_id #=> String
224
+ # resp.checksum #=> String
225
+ # resp.version #=> String
226
+ # resp.locale #=> String, one of "en-US"
227
+ # resp.child_directed #=> Boolean
228
+ #
229
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/CreateBotVersion AWS API Documentation
230
+ #
231
+ # @overload create_bot_version(params = {})
232
+ # @param [Hash] params ({})
233
+ def create_bot_version(params = {}, options = {})
234
+ req = build_request(:create_bot_version, params)
235
+ req.send_request(options)
236
+ end
237
+
238
+ # Creates a new version of an intent based on the `$LATEST` version of
239
+ # the intent. If the `$LATEST` version of this intent hasn't changed
240
+ # since you last updated it, Amazon Lex doesn't create a new version.
241
+ # It returns the last version you created.
242
+ #
243
+ # <note markdown="1"> You can update only the `$LATEST` version of the intent. You can't
244
+ # update the numbered versions that you create with the
245
+ # `CreateIntentVersion` operation.
246
+ #
247
+ # </note>
248
+ #
249
+ # When you create a version of an intent, Amazon Lex sets the version to
250
+ # 1. Subsequent versions increment by 1. For more information, see
251
+ # versioning-intro.
252
+ #
253
+ # This operation requires permissions to perform the
254
+ # `lex:CreateIntentVersion` action.
255
+ #
256
+ # @option params [required, String] :name
257
+ # The name of the intent that you want to create a new version of. The
258
+ # name is case sensitive.
259
+ #
260
+ # @option params [String] :checksum
261
+ # Checksum of the `$LATEST` version of the intent that should be used to
262
+ # create the new version. If you specify a checksum and the `$LATEST`
263
+ # version of the intent has a different checksum, Amazon Lex returns a
264
+ # `PreconditionFailedException` exception and doesn't publish a new
265
+ # version. If you don't specify a checksum, Amazon Lex publishes the
266
+ # `$LATEST` version.
267
+ #
268
+ # @return [Types::CreateIntentVersionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
269
+ #
270
+ # * {Types::CreateIntentVersionResponse#name #name} => String
271
+ # * {Types::CreateIntentVersionResponse#description #description} => String
272
+ # * {Types::CreateIntentVersionResponse#slots #slots} => Array&lt;Types::Slot&gt;
273
+ # * {Types::CreateIntentVersionResponse#sample_utterances #sample_utterances} => Array&lt;String&gt;
274
+ # * {Types::CreateIntentVersionResponse#confirmation_prompt #confirmation_prompt} => Types::Prompt
275
+ # * {Types::CreateIntentVersionResponse#rejection_statement #rejection_statement} => Types::Statement
276
+ # * {Types::CreateIntentVersionResponse#follow_up_prompt #follow_up_prompt} => Types::FollowUpPrompt
277
+ # * {Types::CreateIntentVersionResponse#conclusion_statement #conclusion_statement} => Types::Statement
278
+ # * {Types::CreateIntentVersionResponse#dialog_code_hook #dialog_code_hook} => Types::CodeHook
279
+ # * {Types::CreateIntentVersionResponse#fulfillment_activity #fulfillment_activity} => Types::FulfillmentActivity
280
+ # * {Types::CreateIntentVersionResponse#parent_intent_signature #parent_intent_signature} => String
281
+ # * {Types::CreateIntentVersionResponse#last_updated_date #last_updated_date} => Time
282
+ # * {Types::CreateIntentVersionResponse#created_date #created_date} => Time
283
+ # * {Types::CreateIntentVersionResponse#version #version} => String
284
+ # * {Types::CreateIntentVersionResponse#checksum #checksum} => String
285
+ #
286
+ # @example Request syntax with placeholder values
287
+ #
288
+ # resp = client.create_intent_version({
289
+ # name: "IntentName", # required
290
+ # checksum: "String",
291
+ # })
292
+ #
293
+ # @example Response structure
294
+ #
295
+ # resp.name #=> String
296
+ # resp.description #=> String
297
+ # resp.slots #=> Array
298
+ # resp.slots[0].name #=> String
299
+ # resp.slots[0].description #=> String
300
+ # resp.slots[0].slot_constraint #=> String, one of "Required", "Optional"
301
+ # resp.slots[0].slot_type #=> String
302
+ # resp.slots[0].slot_type_version #=> String
303
+ # resp.slots[0].value_elicitation_prompt.messages #=> Array
304
+ # resp.slots[0].value_elicitation_prompt.messages[0].content_type #=> String, one of "PlainText", "SSML"
305
+ # resp.slots[0].value_elicitation_prompt.messages[0].content #=> String
306
+ # resp.slots[0].value_elicitation_prompt.max_attempts #=> Integer
307
+ # resp.slots[0].value_elicitation_prompt.response_card #=> String
308
+ # resp.slots[0].priority #=> Integer
309
+ # resp.slots[0].sample_utterances #=> Array
310
+ # resp.slots[0].sample_utterances[0] #=> String
311
+ # resp.slots[0].response_card #=> String
312
+ # resp.sample_utterances #=> Array
313
+ # resp.sample_utterances[0] #=> String
314
+ # resp.confirmation_prompt.messages #=> Array
315
+ # resp.confirmation_prompt.messages[0].content_type #=> String, one of "PlainText", "SSML"
316
+ # resp.confirmation_prompt.messages[0].content #=> String
317
+ # resp.confirmation_prompt.max_attempts #=> Integer
318
+ # resp.confirmation_prompt.response_card #=> String
319
+ # resp.rejection_statement.messages #=> Array
320
+ # resp.rejection_statement.messages[0].content_type #=> String, one of "PlainText", "SSML"
321
+ # resp.rejection_statement.messages[0].content #=> String
322
+ # resp.rejection_statement.response_card #=> String
323
+ # resp.follow_up_prompt.prompt.messages #=> Array
324
+ # resp.follow_up_prompt.prompt.messages[0].content_type #=> String, one of "PlainText", "SSML"
325
+ # resp.follow_up_prompt.prompt.messages[0].content #=> String
326
+ # resp.follow_up_prompt.prompt.max_attempts #=> Integer
327
+ # resp.follow_up_prompt.prompt.response_card #=> String
328
+ # resp.follow_up_prompt.rejection_statement.messages #=> Array
329
+ # resp.follow_up_prompt.rejection_statement.messages[0].content_type #=> String, one of "PlainText", "SSML"
330
+ # resp.follow_up_prompt.rejection_statement.messages[0].content #=> String
331
+ # resp.follow_up_prompt.rejection_statement.response_card #=> String
332
+ # resp.conclusion_statement.messages #=> Array
333
+ # resp.conclusion_statement.messages[0].content_type #=> String, one of "PlainText", "SSML"
334
+ # resp.conclusion_statement.messages[0].content #=> String
335
+ # resp.conclusion_statement.response_card #=> String
336
+ # resp.dialog_code_hook.uri #=> String
337
+ # resp.dialog_code_hook.message_version #=> String
338
+ # resp.fulfillment_activity.type #=> String, one of "ReturnIntent", "CodeHook"
339
+ # resp.fulfillment_activity.code_hook.uri #=> String
340
+ # resp.fulfillment_activity.code_hook.message_version #=> String
341
+ # resp.parent_intent_signature #=> String
342
+ # resp.last_updated_date #=> Time
343
+ # resp.created_date #=> Time
344
+ # resp.version #=> String
345
+ # resp.checksum #=> String
346
+ #
347
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/CreateIntentVersion AWS API Documentation
348
+ #
349
+ # @overload create_intent_version(params = {})
350
+ # @param [Hash] params ({})
351
+ def create_intent_version(params = {}, options = {})
352
+ req = build_request(:create_intent_version, params)
353
+ req.send_request(options)
354
+ end
355
+
356
+ # Creates a new version of a slot type based on the `$LATEST` version of
357
+ # the specified slot type. If the `$LATEST` version of this resource has
358
+ # not changed since the last version that you created, Amazon Lex
359
+ # doesn't create a new version. It returns the last version that you
360
+ # created.
361
+ #
362
+ # <note markdown="1"> You can update only the `$LATEST` version of a slot type. You can't
363
+ # update the numbered versions that you create with the
364
+ # `CreateSlotTypeVersion` operation.
365
+ #
366
+ # </note>
367
+ #
368
+ # When you create a version of a slot type, Amazon Lex sets the version
369
+ # to 1. Subsequent versions increment by 1. For more information, see
370
+ # versioning-intro.
371
+ #
372
+ # This operation requires permissions for the
373
+ # `lex:CreateSlotTypeVersion` action.
374
+ #
375
+ # @option params [required, String] :name
376
+ # The name of the slot type that you want to create a new version for.
377
+ # The name is case sensitive.
378
+ #
379
+ # @option params [String] :checksum
380
+ # Checksum for the `$LATEST` version of the slot type that you want to
381
+ # publish. If you specify a checksum and the `$LATEST` version of the
382
+ # slot type has a different checksum, Amazon Lex returns a
383
+ # `PreconditionFailedException` exception and doesn't publish the new
384
+ # version. If you don't specify a checksum, Amazon Lex publishes the
385
+ # `$LATEST` version.
386
+ #
387
+ # @return [Types::CreateSlotTypeVersionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
388
+ #
389
+ # * {Types::CreateSlotTypeVersionResponse#name #name} => String
390
+ # * {Types::CreateSlotTypeVersionResponse#description #description} => String
391
+ # * {Types::CreateSlotTypeVersionResponse#enumeration_values #enumeration_values} => Array&lt;Types::EnumerationValue&gt;
392
+ # * {Types::CreateSlotTypeVersionResponse#last_updated_date #last_updated_date} => Time
393
+ # * {Types::CreateSlotTypeVersionResponse#created_date #created_date} => Time
394
+ # * {Types::CreateSlotTypeVersionResponse#version #version} => String
395
+ # * {Types::CreateSlotTypeVersionResponse#checksum #checksum} => String
396
+ #
397
+ # @example Request syntax with placeholder values
398
+ #
399
+ # resp = client.create_slot_type_version({
400
+ # name: "SlotTypeName", # required
401
+ # checksum: "String",
402
+ # })
403
+ #
404
+ # @example Response structure
405
+ #
406
+ # resp.name #=> String
407
+ # resp.description #=> String
408
+ # resp.enumeration_values #=> Array
409
+ # resp.enumeration_values[0].value #=> String
410
+ # resp.last_updated_date #=> Time
411
+ # resp.created_date #=> Time
412
+ # resp.version #=> String
413
+ # resp.checksum #=> String
414
+ #
415
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/CreateSlotTypeVersion AWS API Documentation
416
+ #
417
+ # @overload create_slot_type_version(params = {})
418
+ # @param [Hash] params ({})
419
+ def create_slot_type_version(params = {}, options = {})
420
+ req = build_request(:create_slot_type_version, params)
421
+ req.send_request(options)
422
+ end
423
+
424
+ # Deletes a bot. If you specify a bot version in the request, the API
425
+ # deletes only the specified bot version. If you don't specify a
426
+ # version, the API deletes all versions of the bot, including the
427
+ # `$LATEST` version.
428
+ #
429
+ # If a bot has an alias, you can't delete it. Instead, the `DeleteBot`
430
+ # operation returns a `ResourceInUseException` exception that includes a
431
+ # reference to the alias that refers to the bot. To remove the reference
432
+ # to the bot, delete the alias. If you get the same exception again,
433
+ # delete the referring alias until the `DeleteBot` operation is
434
+ # successful.
435
+ #
436
+ # This operation requires permissions for the `lex:DeleteBot` action.
437
+ #
438
+ # @option params [required, String] :name
439
+ # The name of the bot. The name is case sensitive.
440
+ #
441
+ # @option params [String] :version
442
+ # The version of the bot.
443
+ #
444
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
445
+ #
446
+ # @example Request syntax with placeholder values
447
+ #
448
+ # resp = client.delete_bot({
449
+ # name: "BotName", # required
450
+ # version: "Version",
451
+ # })
452
+ #
453
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/DeleteBot AWS API Documentation
454
+ #
455
+ # @overload delete_bot(params = {})
456
+ # @param [Hash] params ({})
457
+ def delete_bot(params = {}, options = {})
458
+ req = build_request(:delete_bot, params)
459
+ req.send_request(options)
460
+ end
461
+
462
+ # Deletes an alias for the specified bot.
463
+ #
464
+ # You can't delete an alias that is used in the association between a
465
+ # bot and a messaging channel. If an alias is used in a channel
466
+ # association, the `DeleteBot` operation returns a
467
+ # `ResourceInUseException` exception that includes a reference to the
468
+ # channel association that refers to the bot. You can remove the
469
+ # reference to the alias by deleting the channel association. If you get
470
+ # the same exception again, delete the referring association until the
471
+ # `DeleteBotAlias` operation is successful.
472
+ #
473
+ # @option params [required, String] :name
474
+ # The name of the alias to delete. The name is case sensitive.
475
+ #
476
+ # @option params [required, String] :bot_name
477
+ # The name of the bot that the alias points to.
478
+ #
479
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
480
+ #
481
+ # @example Request syntax with placeholder values
482
+ #
483
+ # resp = client.delete_bot_alias({
484
+ # name: "AliasName", # required
485
+ # bot_name: "BotName", # required
486
+ # })
487
+ #
488
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/DeleteBotAlias AWS API Documentation
489
+ #
490
+ # @overload delete_bot_alias(params = {})
491
+ # @param [Hash] params ({})
492
+ def delete_bot_alias(params = {}, options = {})
493
+ req = build_request(:delete_bot_alias, params)
494
+ req.send_request(options)
495
+ end
496
+
497
+ # Deletes the association between an Amazon Lex bot and a messaging
498
+ # platform.
499
+ #
500
+ # This operation requires permission for the
501
+ # `lex:DeleteBotChannelAssociation` action.
502
+ #
503
+ # @option params [required, String] :name
504
+ # The name of the association. The name is case sensitive.
505
+ #
506
+ # @option params [required, String] :bot_name
507
+ # The name of the Amazon Lex bot.
508
+ #
509
+ # @option params [required, String] :bot_alias
510
+ # An alias that points to the specific version of the Amazon Lex bot to
511
+ # which this association is being made.
512
+ #
513
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
514
+ #
515
+ # @example Request syntax with placeholder values
516
+ #
517
+ # resp = client.delete_bot_channel_association({
518
+ # name: "BotChannelName", # required
519
+ # bot_name: "BotName", # required
520
+ # bot_alias: "AliasName", # required
521
+ # })
522
+ #
523
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/DeleteBotChannelAssociation AWS API Documentation
524
+ #
525
+ # @overload delete_bot_channel_association(params = {})
526
+ # @param [Hash] params ({})
527
+ def delete_bot_channel_association(params = {}, options = {})
528
+ req = build_request(:delete_bot_channel_association, params)
529
+ req.send_request(options)
530
+ end
531
+
532
+ # Deletes an intent. If you specify a version in the request, the API
533
+ # deletes only the specified version of the intent. If you don't
534
+ # specify a version in the request, the API deletes all of the versions
535
+ # of the intent, including the `$LATEST` version.
536
+ #
537
+ # You can delete a version of an intent only if it is not referenced. To
538
+ # delete an intent that is referred to in one or more bots (see
539
+ # how-it-works), you must remove those references first.
540
+ #
541
+ # <note markdown="1"> If you get the `ResourceInUseException` exception, it provides an
542
+ # example reference that shows where the intent is referenced. To remove
543
+ # the reference to the intent, either update the bot or delete it. If
544
+ # you get the same exception when you attempt to delete the intent
545
+ # again, repeat until the intent has no references and the call to
546
+ # `DeleteIntent` is successful.
547
+ #
548
+ # </note>
549
+ #
550
+ # This operation requires permission for the `lex:DeleteIntent` action.
551
+ #
552
+ # @option params [required, String] :name
553
+ # The name of the intent. The name is case sensitive.
554
+ #
555
+ # @option params [String] :version
556
+ # The version of the intent.
557
+ #
558
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
559
+ #
560
+ # @example Request syntax with placeholder values
561
+ #
562
+ # resp = client.delete_intent({
563
+ # name: "IntentName", # required
564
+ # version: "Version",
565
+ # })
566
+ #
567
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/DeleteIntent AWS API Documentation
568
+ #
569
+ # @overload delete_intent(params = {})
570
+ # @param [Hash] params ({})
571
+ def delete_intent(params = {}, options = {})
572
+ req = build_request(:delete_intent, params)
573
+ req.send_request(options)
574
+ end
575
+
576
+ # Deletes a slot type. If you specify a version in the request, the API
577
+ # deletes the specific version. If you don't specify a version in the
578
+ # request, the API deletes all versions of the slot type, including the
579
+ # `$LATEST` version.
580
+ #
581
+ # You can delete a version of a slot type only if it is not referenced.
582
+ # To delete a slot type that is referred to in one or more intents, you
583
+ # must remove those references first.
584
+ #
585
+ # <note markdown="1"> If you get the `SlotTypeInUse` exception, the exception provides an
586
+ # example reference that shows the intent where the slot type is
587
+ # referenced. To remove the reference to the slot type, either update
588
+ # the intent or delete it. If you get the same exception when you
589
+ # attempt to delete the intent again, repeat until the intent has no
590
+ # references and the `DeleteSlotType` call is successful.
591
+ #
592
+ # </note>
593
+ #
594
+ # This operation requires permission for the `lex:DeleteSlotType`
595
+ # action.
596
+ #
597
+ # @option params [required, String] :name
598
+ # The name of the slot type. The name is case sensitive.
599
+ #
600
+ # @option params [String] :version
601
+ # The version of the slot type.
602
+ #
603
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
604
+ #
605
+ # @example Request syntax with placeholder values
606
+ #
607
+ # resp = client.delete_slot_type({
608
+ # name: "SlotTypeName", # required
609
+ # version: "Version",
610
+ # })
611
+ #
612
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/DeleteSlotType AWS API Documentation
613
+ #
614
+ # @overload delete_slot_type(params = {})
615
+ # @param [Hash] params ({})
616
+ def delete_slot_type(params = {}, options = {})
617
+ req = build_request(:delete_slot_type, params)
618
+ req.send_request(options)
619
+ end
620
+
621
+ # Deletes stored utterances.
622
+ #
623
+ # When you create or update a bot using the operation, configure your
624
+ # bot to store user utterances by setting `privacySetting` to
625
+ # `STORE_UTTERANCES`. Use `DeleteUtterances` to remove the stored
626
+ # utterances for a specific user .
627
+ #
628
+ # This operation requires permissions for the `lex:DeleteUtterances`
629
+ # action.
630
+ #
631
+ # @option params [required, String] :bot_name
632
+ # The name of the bot that stored the utterances.
633
+ #
634
+ # @option params [required, String] :user_id
635
+ # The unique identifier for the user that made the utterances. This is
636
+ # the user ID that was sent in the or operation request that contained
637
+ # the utterance.
638
+ #
639
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
640
+ #
641
+ # @example Request syntax with placeholder values
642
+ #
643
+ # resp = client.delete_utterances({
644
+ # bot_name: "BotName", # required
645
+ # user_id: "UserId", # required
646
+ # })
647
+ #
648
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/DeleteUtterances AWS API Documentation
649
+ #
650
+ # @overload delete_utterances(params = {})
651
+ # @param [Hash] params ({})
652
+ def delete_utterances(params = {}, options = {})
653
+ req = build_request(:delete_utterances, params)
654
+ req.send_request(options)
655
+ end
656
+
657
+ # Returns metadata information for a specific bot. You must provide the
658
+ # bot name and the bot version or alias.
659
+ #
660
+ # The GetBot operation requires permissions for the `lex:GetBot` action.
661
+ #
662
+ # @option params [required, String] :name
663
+ # The name of the bot. The name is case sensitive.
664
+ #
665
+ # @option params [required, String] :version_or_alias
666
+ # The version or alias of the bot.
667
+ #
668
+ # @return [Types::GetBotResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
669
+ #
670
+ # * {Types::GetBotResponse#name #name} => String
671
+ # * {Types::GetBotResponse#description #description} => String
672
+ # * {Types::GetBotResponse#intents #intents} => Array&lt;Types::Intent&gt;
673
+ # * {Types::GetBotResponse#clarification_prompt #clarification_prompt} => Types::Prompt
674
+ # * {Types::GetBotResponse#abort_statement #abort_statement} => Types::Statement
675
+ # * {Types::GetBotResponse#status #status} => String
676
+ # * {Types::GetBotResponse#failure_reason #failure_reason} => String
677
+ # * {Types::GetBotResponse#last_updated_date #last_updated_date} => Time
678
+ # * {Types::GetBotResponse#created_date #created_date} => Time
679
+ # * {Types::GetBotResponse#idle_session_ttl_in_seconds #idle_session_ttl_in_seconds} => Integer
680
+ # * {Types::GetBotResponse#voice_id #voice_id} => String
681
+ # * {Types::GetBotResponse#checksum #checksum} => String
682
+ # * {Types::GetBotResponse#version #version} => String
683
+ # * {Types::GetBotResponse#locale #locale} => String
684
+ # * {Types::GetBotResponse#child_directed #child_directed} => Boolean
685
+ #
686
+ # @example Request syntax with placeholder values
687
+ #
688
+ # resp = client.get_bot({
689
+ # name: "BotName", # required
690
+ # version_or_alias: "String", # required
691
+ # })
692
+ #
693
+ # @example Response structure
694
+ #
695
+ # resp.name #=> String
696
+ # resp.description #=> String
697
+ # resp.intents #=> Array
698
+ # resp.intents[0].intent_name #=> String
699
+ # resp.intents[0].intent_version #=> String
700
+ # resp.clarification_prompt.messages #=> Array
701
+ # resp.clarification_prompt.messages[0].content_type #=> String, one of "PlainText", "SSML"
702
+ # resp.clarification_prompt.messages[0].content #=> String
703
+ # resp.clarification_prompt.max_attempts #=> Integer
704
+ # resp.clarification_prompt.response_card #=> String
705
+ # resp.abort_statement.messages #=> Array
706
+ # resp.abort_statement.messages[0].content_type #=> String, one of "PlainText", "SSML"
707
+ # resp.abort_statement.messages[0].content #=> String
708
+ # resp.abort_statement.response_card #=> String
709
+ # resp.status #=> String, one of "BUILDING", "READY", "FAILED", "NOT_BUILT"
710
+ # resp.failure_reason #=> String
711
+ # resp.last_updated_date #=> Time
712
+ # resp.created_date #=> Time
713
+ # resp.idle_session_ttl_in_seconds #=> Integer
714
+ # resp.voice_id #=> String
715
+ # resp.checksum #=> String
716
+ # resp.version #=> String
717
+ # resp.locale #=> String, one of "en-US"
718
+ # resp.child_directed #=> Boolean
719
+ #
720
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBot AWS API Documentation
721
+ #
722
+ # @overload get_bot(params = {})
723
+ # @param [Hash] params ({})
724
+ def get_bot(params = {}, options = {})
725
+ req = build_request(:get_bot, params)
726
+ req.send_request(options)
727
+ end
728
+
729
+ # Returns information about an Amazon Lex bot alias. For more
730
+ # information about aliases, see versioning-aliases.
731
+ #
732
+ # @option params [required, String] :name
733
+ # The name of the bot alias. The name is case sensitive.
734
+ #
735
+ # @option params [required, String] :bot_name
736
+ # The name of the bot.
737
+ #
738
+ # @return [Types::GetBotAliasResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
739
+ #
740
+ # * {Types::GetBotAliasResponse#name #name} => String
741
+ # * {Types::GetBotAliasResponse#description #description} => String
742
+ # * {Types::GetBotAliasResponse#bot_version #bot_version} => String
743
+ # * {Types::GetBotAliasResponse#bot_name #bot_name} => String
744
+ # * {Types::GetBotAliasResponse#last_updated_date #last_updated_date} => Time
745
+ # * {Types::GetBotAliasResponse#created_date #created_date} => Time
746
+ # * {Types::GetBotAliasResponse#checksum #checksum} => String
747
+ #
748
+ # @example Request syntax with placeholder values
749
+ #
750
+ # resp = client.get_bot_alias({
751
+ # name: "AliasName", # required
752
+ # bot_name: "BotName", # required
753
+ # })
754
+ #
755
+ # @example Response structure
756
+ #
757
+ # resp.name #=> String
758
+ # resp.description #=> String
759
+ # resp.bot_version #=> String
760
+ # resp.bot_name #=> String
761
+ # resp.last_updated_date #=> Time
762
+ # resp.created_date #=> Time
763
+ # resp.checksum #=> String
764
+ #
765
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBotAlias AWS API Documentation
766
+ #
767
+ # @overload get_bot_alias(params = {})
768
+ # @param [Hash] params ({})
769
+ def get_bot_alias(params = {}, options = {})
770
+ req = build_request(:get_bot_alias, params)
771
+ req.send_request(options)
772
+ end
773
+
774
+ # Returns a list of aliases for a specified Amazon Lex bot.
775
+ #
776
+ # @option params [required, String] :bot_name
777
+ # The name of the bot.
778
+ #
779
+ # @option params [String] :next_token
780
+ # A pagination token for fetching the next page of aliases. If the
781
+ # response to this call is truncated, Amazon Lex returns a pagination
782
+ # token in the response. To fetch the next page of aliases, specify the
783
+ # pagination token in the next request.
784
+ #
785
+ # @option params [Integer] :max_results
786
+ # The maximum number of aliases to return in the response. The default
787
+ # is 50. .
788
+ #
789
+ # @option params [String] :name_contains
790
+ # Substring to match in bot alias names. An alias will be returned if
791
+ # any part of its name matches the substring. For example, "xyz"
792
+ # matches both "xyzabc" and "abcxyz."
793
+ #
794
+ # @return [Types::GetBotAliasesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
795
+ #
796
+ # * {Types::GetBotAliasesResponse#bot_aliases #bot_aliases} => Array&lt;Types::BotAliasMetadata&gt;
797
+ # * {Types::GetBotAliasesResponse#next_token #next_token} => String
798
+ #
799
+ # @example Request syntax with placeholder values
800
+ #
801
+ # resp = client.get_bot_aliases({
802
+ # bot_name: "BotName", # required
803
+ # next_token: "NextToken",
804
+ # max_results: 1,
805
+ # name_contains: "AliasName",
806
+ # })
807
+ #
808
+ # @example Response structure
809
+ #
810
+ # resp.bot_aliases #=> Array
811
+ # resp.bot_aliases[0].name #=> String
812
+ # resp.bot_aliases[0].description #=> String
813
+ # resp.bot_aliases[0].bot_version #=> String
814
+ # resp.bot_aliases[0].bot_name #=> String
815
+ # resp.bot_aliases[0].last_updated_date #=> Time
816
+ # resp.bot_aliases[0].created_date #=> Time
817
+ # resp.bot_aliases[0].checksum #=> String
818
+ # resp.next_token #=> String
819
+ #
820
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBotAliases AWS API Documentation
821
+ #
822
+ # @overload get_bot_aliases(params = {})
823
+ # @param [Hash] params ({})
824
+ def get_bot_aliases(params = {}, options = {})
825
+ req = build_request(:get_bot_aliases, params)
826
+ req.send_request(options)
827
+ end
828
+
829
+ # Returns information about the association between an Amazon Lex bot
830
+ # and a messaging platform.
831
+ #
832
+ # @option params [required, String] :name
833
+ # The name of the association between the bot and the channel. The name
834
+ # is case sensitive.
835
+ #
836
+ # @option params [required, String] :bot_name
837
+ # The name of the Amazon Lex bot.
838
+ #
839
+ # @option params [required, String] :bot_alias
840
+ # An alias pointing to the specific version of the Amazon Lex bot to
841
+ # which this association is being made.
842
+ #
843
+ # @return [Types::GetBotChannelAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
844
+ #
845
+ # * {Types::GetBotChannelAssociationResponse#name #name} => String
846
+ # * {Types::GetBotChannelAssociationResponse#description #description} => String
847
+ # * {Types::GetBotChannelAssociationResponse#bot_alias #bot_alias} => String
848
+ # * {Types::GetBotChannelAssociationResponse#bot_name #bot_name} => String
849
+ # * {Types::GetBotChannelAssociationResponse#created_date #created_date} => Time
850
+ # * {Types::GetBotChannelAssociationResponse#type #type} => String
851
+ # * {Types::GetBotChannelAssociationResponse#bot_configuration #bot_configuration} => Hash&lt;String,String&gt;
852
+ #
853
+ # @example Request syntax with placeholder values
854
+ #
855
+ # resp = client.get_bot_channel_association({
856
+ # name: "BotChannelName", # required
857
+ # bot_name: "BotName", # required
858
+ # bot_alias: "AliasName", # required
859
+ # })
860
+ #
861
+ # @example Response structure
862
+ #
863
+ # resp.name #=> String
864
+ # resp.description #=> String
865
+ # resp.bot_alias #=> String
866
+ # resp.bot_name #=> String
867
+ # resp.created_date #=> Time
868
+ # resp.type #=> String, one of "Facebook", "Slack", "Twilio-Sms"
869
+ # resp.bot_configuration #=> Hash
870
+ # resp.bot_configuration["String"] #=> String
871
+ #
872
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBotChannelAssociation AWS API Documentation
873
+ #
874
+ # @overload get_bot_channel_association(params = {})
875
+ # @param [Hash] params ({})
876
+ def get_bot_channel_association(params = {}, options = {})
877
+ req = build_request(:get_bot_channel_association, params)
878
+ req.send_request(options)
879
+ end
880
+
881
+ # Returns a list of all of the channels associated with the specified
882
+ # bot.
883
+ #
884
+ # @option params [required, String] :bot_name
885
+ # The name of the Amazon Lex bot in the association.
886
+ #
887
+ # @option params [required, String] :bot_alias
888
+ # An alias pointing to the specific version of the Amazon Lex bot to
889
+ # which this association is being made.
890
+ #
891
+ # @option params [String] :next_token
892
+ # A pagination token for fetching the next page of associations. If the
893
+ # response to this call is truncated, Amazon Lex returns a pagination
894
+ # token in the response. To fetch the next page of associations, specify
895
+ # the pagination token in the next request.
896
+ #
897
+ # @option params [Integer] :max_results
898
+ # The maximum number of associations to return in the response. The
899
+ # default is 50.
900
+ #
901
+ # @option params [String] :name_contains
902
+ # Substring to match in channel association names. An association will
903
+ # be returned if any part of its name matches the substring. For
904
+ # example, "xyz" matches both "xyzabc" and "abcxyz."
905
+ #
906
+ # @return [Types::GetBotChannelAssociationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
907
+ #
908
+ # * {Types::GetBotChannelAssociationsResponse#bot_channel_associations #bot_channel_associations} => Array&lt;Types::BotChannelAssociation&gt;
909
+ # * {Types::GetBotChannelAssociationsResponse#next_token #next_token} => String
910
+ #
911
+ # @example Request syntax with placeholder values
912
+ #
913
+ # resp = client.get_bot_channel_associations({
914
+ # bot_name: "BotName", # required
915
+ # bot_alias: "AliasNameOrListAll", # required
916
+ # next_token: "NextToken",
917
+ # max_results: 1,
918
+ # name_contains: "BotChannelName",
919
+ # })
920
+ #
921
+ # @example Response structure
922
+ #
923
+ # resp.bot_channel_associations #=> Array
924
+ # resp.bot_channel_associations[0].name #=> String
925
+ # resp.bot_channel_associations[0].description #=> String
926
+ # resp.bot_channel_associations[0].bot_alias #=> String
927
+ # resp.bot_channel_associations[0].bot_name #=> String
928
+ # resp.bot_channel_associations[0].created_date #=> Time
929
+ # resp.bot_channel_associations[0].type #=> String, one of "Facebook", "Slack", "Twilio-Sms"
930
+ # resp.bot_channel_associations[0].bot_configuration #=> Hash
931
+ # resp.bot_channel_associations[0].bot_configuration["String"] #=> String
932
+ # resp.next_token #=> String
933
+ #
934
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBotChannelAssociations AWS API Documentation
935
+ #
936
+ # @overload get_bot_channel_associations(params = {})
937
+ # @param [Hash] params ({})
938
+ def get_bot_channel_associations(params = {}, options = {})
939
+ req = build_request(:get_bot_channel_associations, params)
940
+ req.send_request(options)
941
+ end
942
+
943
+ # Gets information about all of the versions of a bot.
944
+ #
945
+ # The `GetBotVersions` operation returns a `BotMetadata` object for each
946
+ # version of a bot. For example, if a bot has three numbered versions,
947
+ # the `GetBotVersions` operation returns four `BotMetadata` objects in
948
+ # the response, one for each numbered version and one for the `$LATEST`
949
+ # version.
950
+ #
951
+ # The `GetBotVersions` operation always returns at least one version,
952
+ # the `$LATEST` version.
953
+ #
954
+ # @option params [required, String] :name
955
+ # The name of the bot for which versions should be returned.
956
+ #
957
+ # @option params [String] :next_token
958
+ # A pagination token for fetching the next page of bot versions. If the
959
+ # response to this call is truncated, Amazon Lex returns a pagination
960
+ # token in the response. To fetch the next page of versions, specify the
961
+ # pagination token in the next request.
962
+ #
963
+ # @option params [Integer] :max_results
964
+ # The maximum number of bot versions to return in the response. The
965
+ # default is 10.
966
+ #
967
+ # @return [Types::GetBotVersionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
968
+ #
969
+ # * {Types::GetBotVersionsResponse#bots #bots} => Array&lt;Types::BotMetadata&gt;
970
+ # * {Types::GetBotVersionsResponse#next_token #next_token} => String
971
+ #
972
+ # @example Request syntax with placeholder values
973
+ #
974
+ # resp = client.get_bot_versions({
975
+ # name: "BotName", # required
976
+ # next_token: "NextToken",
977
+ # max_results: 1,
978
+ # })
979
+ #
980
+ # @example Response structure
981
+ #
982
+ # resp.bots #=> Array
983
+ # resp.bots[0].name #=> String
984
+ # resp.bots[0].description #=> String
985
+ # resp.bots[0].status #=> String, one of "BUILDING", "READY", "FAILED", "NOT_BUILT"
986
+ # resp.bots[0].last_updated_date #=> Time
987
+ # resp.bots[0].created_date #=> Time
988
+ # resp.bots[0].version #=> String
989
+ # resp.next_token #=> String
990
+ #
991
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBotVersions AWS API Documentation
992
+ #
993
+ # @overload get_bot_versions(params = {})
994
+ # @param [Hash] params ({})
995
+ def get_bot_versions(params = {}, options = {})
996
+ req = build_request(:get_bot_versions, params)
997
+ req.send_request(options)
998
+ end
999
+
1000
+ # Returns bot information as follows:
1001
+ #
1002
+ # * If you provide the `nameContains` field, the response includes
1003
+ # information for the `$LATEST` version of all bots whose name
1004
+ # contains the specified string.
1005
+ #
1006
+ # * If you don't specify the `nameContains` field, the operation
1007
+ # returns information about the `$LATEST` version of all of your bots.
1008
+ #
1009
+ # This operation requires permission for the `lex:GetBots` action.
1010
+ #
1011
+ # @option params [String] :next_token
1012
+ # A pagination token that fetches the next page of bots. If the response
1013
+ # to this call is truncated, Amazon Lex returns a pagination token in
1014
+ # the response. To fetch the next page of bots, specify the pagination
1015
+ # token in the next request.
1016
+ #
1017
+ # @option params [Integer] :max_results
1018
+ # The maximum number of bots to return in the response that the request
1019
+ # will return. The default is 10.
1020
+ #
1021
+ # @option params [String] :name_contains
1022
+ # Substring to match in bot names. A bot will be returned if any part of
1023
+ # its name matches the substring. For example, "xyz" matches both
1024
+ # "xyzabc" and "abcxyz."
1025
+ #
1026
+ # @return [Types::GetBotsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1027
+ #
1028
+ # * {Types::GetBotsResponse#bots #bots} => Array&lt;Types::BotMetadata&gt;
1029
+ # * {Types::GetBotsResponse#next_token #next_token} => String
1030
+ #
1031
+ # @example Request syntax with placeholder values
1032
+ #
1033
+ # resp = client.get_bots({
1034
+ # next_token: "NextToken",
1035
+ # max_results: 1,
1036
+ # name_contains: "BotName",
1037
+ # })
1038
+ #
1039
+ # @example Response structure
1040
+ #
1041
+ # resp.bots #=> Array
1042
+ # resp.bots[0].name #=> String
1043
+ # resp.bots[0].description #=> String
1044
+ # resp.bots[0].status #=> String, one of "BUILDING", "READY", "FAILED", "NOT_BUILT"
1045
+ # resp.bots[0].last_updated_date #=> Time
1046
+ # resp.bots[0].created_date #=> Time
1047
+ # resp.bots[0].version #=> String
1048
+ # resp.next_token #=> String
1049
+ #
1050
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBots AWS API Documentation
1051
+ #
1052
+ # @overload get_bots(params = {})
1053
+ # @param [Hash] params ({})
1054
+ def get_bots(params = {}, options = {})
1055
+ req = build_request(:get_bots, params)
1056
+ req.send_request(options)
1057
+ end
1058
+
1059
+ # Returns information about a built-in intent.
1060
+ #
1061
+ # This operation requires permission for the `lex:GetBuiltinIntent`
1062
+ # action.
1063
+ #
1064
+ # @option params [required, String] :signature
1065
+ # The unique identifier for a built-in intent. To find the signature for
1066
+ # an intent, see [Standard Built-in Intents][1] in the *Alexa Skills
1067
+ # Kit*.
1068
+ #
1069
+ #
1070
+ #
1071
+ # [1]: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/standard-intents
1072
+ #
1073
+ # @return [Types::GetBuiltinIntentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1074
+ #
1075
+ # * {Types::GetBuiltinIntentResponse#signature #signature} => String
1076
+ # * {Types::GetBuiltinIntentResponse#supported_locales #supported_locales} => Array&lt;String&gt;
1077
+ # * {Types::GetBuiltinIntentResponse#slots #slots} => Array&lt;Types::BuiltinIntentSlot&gt;
1078
+ #
1079
+ # @example Request syntax with placeholder values
1080
+ #
1081
+ # resp = client.get_builtin_intent({
1082
+ # signature: "BuiltinIntentSignature", # required
1083
+ # })
1084
+ #
1085
+ # @example Response structure
1086
+ #
1087
+ # resp.signature #=> String
1088
+ # resp.supported_locales #=> Array
1089
+ # resp.supported_locales[0] #=> String, one of "en-US"
1090
+ # resp.slots #=> Array
1091
+ # resp.slots[0].name #=> String
1092
+ #
1093
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBuiltinIntent AWS API Documentation
1094
+ #
1095
+ # @overload get_builtin_intent(params = {})
1096
+ # @param [Hash] params ({})
1097
+ def get_builtin_intent(params = {}, options = {})
1098
+ req = build_request(:get_builtin_intent, params)
1099
+ req.send_request(options)
1100
+ end
1101
+
1102
+ # Gets a list of built-in intents that meet the specified criteria.
1103
+ #
1104
+ # This operation requires permission for the `lex:GetBuiltinIntents`
1105
+ # action.
1106
+ #
1107
+ # @option params [String] :locale
1108
+ # A list of locales that the intent supports.
1109
+ #
1110
+ # @option params [String] :signature_contains
1111
+ # Substring to match in built-in intent signatures. An intent will be
1112
+ # returned if any part of its signature matches the substring. For
1113
+ # example, "xyz" matches both "xyzabc" and "abcxyz." To find the
1114
+ # signature for an intent, see [Standard Built-in Intents][1] in the
1115
+ # *Alexa Skills Kit*.
1116
+ #
1117
+ #
1118
+ #
1119
+ # [1]: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/standard-intents
1120
+ #
1121
+ # @option params [String] :next_token
1122
+ # A pagination token that fetches the next page of intents. If this API
1123
+ # call is truncated, Amazon Lex returns a pagination token in the
1124
+ # response. To fetch the next page of intents, use the pagination token
1125
+ # in the next request.
1126
+ #
1127
+ # @option params [Integer] :max_results
1128
+ # The maximum number of intents to return in the response. The default
1129
+ # is 10.
1130
+ #
1131
+ # @return [Types::GetBuiltinIntentsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1132
+ #
1133
+ # * {Types::GetBuiltinIntentsResponse#intents #intents} => Array&lt;Types::BuiltinIntentMetadata&gt;
1134
+ # * {Types::GetBuiltinIntentsResponse#next_token #next_token} => String
1135
+ #
1136
+ # @example Request syntax with placeholder values
1137
+ #
1138
+ # resp = client.get_builtin_intents({
1139
+ # locale: "en-US", # accepts en-US
1140
+ # signature_contains: "String",
1141
+ # next_token: "NextToken",
1142
+ # max_results: 1,
1143
+ # })
1144
+ #
1145
+ # @example Response structure
1146
+ #
1147
+ # resp.intents #=> Array
1148
+ # resp.intents[0].signature #=> String
1149
+ # resp.intents[0].supported_locales #=> Array
1150
+ # resp.intents[0].supported_locales[0] #=> String, one of "en-US"
1151
+ # resp.next_token #=> String
1152
+ #
1153
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBuiltinIntents AWS API Documentation
1154
+ #
1155
+ # @overload get_builtin_intents(params = {})
1156
+ # @param [Hash] params ({})
1157
+ def get_builtin_intents(params = {}, options = {})
1158
+ req = build_request(:get_builtin_intents, params)
1159
+ req.send_request(options)
1160
+ end
1161
+
1162
+ # Gets a list of built-in slot types that meet the specified criteria.
1163
+ #
1164
+ # For a list of built-in slot types, see [Slot Type Reference][1] in the
1165
+ # *Alexa Skills Kit*.
1166
+ #
1167
+ # This operation requires permission for the `lex:GetBuiltInSlotTypes`
1168
+ # action.
1169
+ #
1170
+ #
1171
+ #
1172
+ # [1]: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/slot-type-reference
1173
+ #
1174
+ # @option params [String] :locale
1175
+ # A list of locales that the slot type supports.
1176
+ #
1177
+ # @option params [String] :signature_contains
1178
+ # Substring to match in built-in slot type signatures. A slot type will
1179
+ # be returned if any part of its signature matches the substring. For
1180
+ # example, "xyz" matches both "xyzabc" and "abcxyz."
1181
+ #
1182
+ # @option params [String] :next_token
1183
+ # A pagination token that fetches the next page of slot types. If the
1184
+ # response to this API call is truncated, Amazon Lex returns a
1185
+ # pagination token in the response. To fetch the next page of slot
1186
+ # types, specify the pagination token in the next request.
1187
+ #
1188
+ # @option params [Integer] :max_results
1189
+ # The maximum number of slot types to return in the response. The
1190
+ # default is 10.
1191
+ #
1192
+ # @return [Types::GetBuiltinSlotTypesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1193
+ #
1194
+ # * {Types::GetBuiltinSlotTypesResponse#slot_types #slot_types} => Array&lt;Types::BuiltinSlotTypeMetadata&gt;
1195
+ # * {Types::GetBuiltinSlotTypesResponse#next_token #next_token} => String
1196
+ #
1197
+ # @example Request syntax with placeholder values
1198
+ #
1199
+ # resp = client.get_builtin_slot_types({
1200
+ # locale: "en-US", # accepts en-US
1201
+ # signature_contains: "String",
1202
+ # next_token: "NextToken",
1203
+ # max_results: 1,
1204
+ # })
1205
+ #
1206
+ # @example Response structure
1207
+ #
1208
+ # resp.slot_types #=> Array
1209
+ # resp.slot_types[0].signature #=> String
1210
+ # resp.slot_types[0].supported_locales #=> Array
1211
+ # resp.slot_types[0].supported_locales[0] #=> String, one of "en-US"
1212
+ # resp.next_token #=> String
1213
+ #
1214
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetBuiltinSlotTypes AWS API Documentation
1215
+ #
1216
+ # @overload get_builtin_slot_types(params = {})
1217
+ # @param [Hash] params ({})
1218
+ def get_builtin_slot_types(params = {}, options = {})
1219
+ req = build_request(:get_builtin_slot_types, params)
1220
+ req.send_request(options)
1221
+ end
1222
+
1223
+ # Returns information about an intent. In addition to the intent name,
1224
+ # you must specify the intent version.
1225
+ #
1226
+ # This operation requires permissions to perform the `lex:GetIntent`
1227
+ # action.
1228
+ #
1229
+ # @option params [required, String] :name
1230
+ # The name of the intent. The name is case sensitive.
1231
+ #
1232
+ # @option params [required, String] :version
1233
+ # The version of the intent.
1234
+ #
1235
+ # @return [Types::GetIntentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1236
+ #
1237
+ # * {Types::GetIntentResponse#name #name} => String
1238
+ # * {Types::GetIntentResponse#description #description} => String
1239
+ # * {Types::GetIntentResponse#slots #slots} => Array&lt;Types::Slot&gt;
1240
+ # * {Types::GetIntentResponse#sample_utterances #sample_utterances} => Array&lt;String&gt;
1241
+ # * {Types::GetIntentResponse#confirmation_prompt #confirmation_prompt} => Types::Prompt
1242
+ # * {Types::GetIntentResponse#rejection_statement #rejection_statement} => Types::Statement
1243
+ # * {Types::GetIntentResponse#follow_up_prompt #follow_up_prompt} => Types::FollowUpPrompt
1244
+ # * {Types::GetIntentResponse#conclusion_statement #conclusion_statement} => Types::Statement
1245
+ # * {Types::GetIntentResponse#dialog_code_hook #dialog_code_hook} => Types::CodeHook
1246
+ # * {Types::GetIntentResponse#fulfillment_activity #fulfillment_activity} => Types::FulfillmentActivity
1247
+ # * {Types::GetIntentResponse#parent_intent_signature #parent_intent_signature} => String
1248
+ # * {Types::GetIntentResponse#last_updated_date #last_updated_date} => Time
1249
+ # * {Types::GetIntentResponse#created_date #created_date} => Time
1250
+ # * {Types::GetIntentResponse#version #version} => String
1251
+ # * {Types::GetIntentResponse#checksum #checksum} => String
1252
+ #
1253
+ # @example Request syntax with placeholder values
1254
+ #
1255
+ # resp = client.get_intent({
1256
+ # name: "IntentName", # required
1257
+ # version: "Version", # required
1258
+ # })
1259
+ #
1260
+ # @example Response structure
1261
+ #
1262
+ # resp.name #=> String
1263
+ # resp.description #=> String
1264
+ # resp.slots #=> Array
1265
+ # resp.slots[0].name #=> String
1266
+ # resp.slots[0].description #=> String
1267
+ # resp.slots[0].slot_constraint #=> String, one of "Required", "Optional"
1268
+ # resp.slots[0].slot_type #=> String
1269
+ # resp.slots[0].slot_type_version #=> String
1270
+ # resp.slots[0].value_elicitation_prompt.messages #=> Array
1271
+ # resp.slots[0].value_elicitation_prompt.messages[0].content_type #=> String, one of "PlainText", "SSML"
1272
+ # resp.slots[0].value_elicitation_prompt.messages[0].content #=> String
1273
+ # resp.slots[0].value_elicitation_prompt.max_attempts #=> Integer
1274
+ # resp.slots[0].value_elicitation_prompt.response_card #=> String
1275
+ # resp.slots[0].priority #=> Integer
1276
+ # resp.slots[0].sample_utterances #=> Array
1277
+ # resp.slots[0].sample_utterances[0] #=> String
1278
+ # resp.slots[0].response_card #=> String
1279
+ # resp.sample_utterances #=> Array
1280
+ # resp.sample_utterances[0] #=> String
1281
+ # resp.confirmation_prompt.messages #=> Array
1282
+ # resp.confirmation_prompt.messages[0].content_type #=> String, one of "PlainText", "SSML"
1283
+ # resp.confirmation_prompt.messages[0].content #=> String
1284
+ # resp.confirmation_prompt.max_attempts #=> Integer
1285
+ # resp.confirmation_prompt.response_card #=> String
1286
+ # resp.rejection_statement.messages #=> Array
1287
+ # resp.rejection_statement.messages[0].content_type #=> String, one of "PlainText", "SSML"
1288
+ # resp.rejection_statement.messages[0].content #=> String
1289
+ # resp.rejection_statement.response_card #=> String
1290
+ # resp.follow_up_prompt.prompt.messages #=> Array
1291
+ # resp.follow_up_prompt.prompt.messages[0].content_type #=> String, one of "PlainText", "SSML"
1292
+ # resp.follow_up_prompt.prompt.messages[0].content #=> String
1293
+ # resp.follow_up_prompt.prompt.max_attempts #=> Integer
1294
+ # resp.follow_up_prompt.prompt.response_card #=> String
1295
+ # resp.follow_up_prompt.rejection_statement.messages #=> Array
1296
+ # resp.follow_up_prompt.rejection_statement.messages[0].content_type #=> String, one of "PlainText", "SSML"
1297
+ # resp.follow_up_prompt.rejection_statement.messages[0].content #=> String
1298
+ # resp.follow_up_prompt.rejection_statement.response_card #=> String
1299
+ # resp.conclusion_statement.messages #=> Array
1300
+ # resp.conclusion_statement.messages[0].content_type #=> String, one of "PlainText", "SSML"
1301
+ # resp.conclusion_statement.messages[0].content #=> String
1302
+ # resp.conclusion_statement.response_card #=> String
1303
+ # resp.dialog_code_hook.uri #=> String
1304
+ # resp.dialog_code_hook.message_version #=> String
1305
+ # resp.fulfillment_activity.type #=> String, one of "ReturnIntent", "CodeHook"
1306
+ # resp.fulfillment_activity.code_hook.uri #=> String
1307
+ # resp.fulfillment_activity.code_hook.message_version #=> String
1308
+ # resp.parent_intent_signature #=> String
1309
+ # resp.last_updated_date #=> Time
1310
+ # resp.created_date #=> Time
1311
+ # resp.version #=> String
1312
+ # resp.checksum #=> String
1313
+ #
1314
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetIntent AWS API Documentation
1315
+ #
1316
+ # @overload get_intent(params = {})
1317
+ # @param [Hash] params ({})
1318
+ def get_intent(params = {}, options = {})
1319
+ req = build_request(:get_intent, params)
1320
+ req.send_request(options)
1321
+ end
1322
+
1323
+ # Gets information about all of the versions of an intent.
1324
+ #
1325
+ # The `GetIntentVersions` operation returns an `IntentMetadata` object
1326
+ # for each version of an intent. For example, if an intent has three
1327
+ # numbered versions, the `GetIntentVersions` operation returns four
1328
+ # `IntentMetadata` objects in the response, one for each numbered
1329
+ # version and one for the `$LATEST` version.
1330
+ #
1331
+ # The `GetIntentVersions` operation always returns at least one version,
1332
+ # the `$LATEST` version.
1333
+ #
1334
+ # @option params [required, String] :name
1335
+ # The name of the intent for which versions should be returned.
1336
+ #
1337
+ # @option params [String] :next_token
1338
+ # A pagination token for fetching the next page of intent versions. If
1339
+ # the response to this call is truncated, Amazon Lex returns a
1340
+ # pagination token in the response. To fetch the next page of versions,
1341
+ # specify the pagination token in the next request.
1342
+ #
1343
+ # @option params [Integer] :max_results
1344
+ # The maximum number of intent versions to return in the response. The
1345
+ # default is 10.
1346
+ #
1347
+ # @return [Types::GetIntentVersionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1348
+ #
1349
+ # * {Types::GetIntentVersionsResponse#intents #intents} => Array&lt;Types::IntentMetadata&gt;
1350
+ # * {Types::GetIntentVersionsResponse#next_token #next_token} => String
1351
+ #
1352
+ # @example Request syntax with placeholder values
1353
+ #
1354
+ # resp = client.get_intent_versions({
1355
+ # name: "IntentName", # required
1356
+ # next_token: "NextToken",
1357
+ # max_results: 1,
1358
+ # })
1359
+ #
1360
+ # @example Response structure
1361
+ #
1362
+ # resp.intents #=> Array
1363
+ # resp.intents[0].name #=> String
1364
+ # resp.intents[0].description #=> String
1365
+ # resp.intents[0].last_updated_date #=> Time
1366
+ # resp.intents[0].created_date #=> Time
1367
+ # resp.intents[0].version #=> String
1368
+ # resp.next_token #=> String
1369
+ #
1370
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetIntentVersions AWS API Documentation
1371
+ #
1372
+ # @overload get_intent_versions(params = {})
1373
+ # @param [Hash] params ({})
1374
+ def get_intent_versions(params = {}, options = {})
1375
+ req = build_request(:get_intent_versions, params)
1376
+ req.send_request(options)
1377
+ end
1378
+
1379
+ # Returns intent information as follows:
1380
+ #
1381
+ # * If you specify the `nameContains` field, returns the `$LATEST`
1382
+ # version of all intents that contain the specified string.
1383
+ #
1384
+ # * If you don't specify the `nameContains` field, returns information
1385
+ # about the `$LATEST` version of all intents.
1386
+ #
1387
+ # The operation requires permission for the `lex:GetIntents` action.
1388
+ #
1389
+ # @option params [String] :next_token
1390
+ # A pagination token that fetches the next page of intents. If the
1391
+ # response to this API call is truncated, Amazon Lex returns a
1392
+ # pagination token in the response. To fetch the next page of intents,
1393
+ # specify the pagination token in the next request.
1394
+ #
1395
+ # @option params [Integer] :max_results
1396
+ # The maximum number of intents to return in the response. The default
1397
+ # is 10.
1398
+ #
1399
+ # @option params [String] :name_contains
1400
+ # Substring to match in intent names. An intent will be returned if any
1401
+ # part of its name matches the substring. For example, "xyz" matches
1402
+ # both "xyzabc" and "abcxyz."
1403
+ #
1404
+ # @return [Types::GetIntentsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1405
+ #
1406
+ # * {Types::GetIntentsResponse#intents #intents} => Array&lt;Types::IntentMetadata&gt;
1407
+ # * {Types::GetIntentsResponse#next_token #next_token} => String
1408
+ #
1409
+ # @example Request syntax with placeholder values
1410
+ #
1411
+ # resp = client.get_intents({
1412
+ # next_token: "NextToken",
1413
+ # max_results: 1,
1414
+ # name_contains: "IntentName",
1415
+ # })
1416
+ #
1417
+ # @example Response structure
1418
+ #
1419
+ # resp.intents #=> Array
1420
+ # resp.intents[0].name #=> String
1421
+ # resp.intents[0].description #=> String
1422
+ # resp.intents[0].last_updated_date #=> Time
1423
+ # resp.intents[0].created_date #=> Time
1424
+ # resp.intents[0].version #=> String
1425
+ # resp.next_token #=> String
1426
+ #
1427
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetIntents AWS API Documentation
1428
+ #
1429
+ # @overload get_intents(params = {})
1430
+ # @param [Hash] params ({})
1431
+ def get_intents(params = {}, options = {})
1432
+ req = build_request(:get_intents, params)
1433
+ req.send_request(options)
1434
+ end
1435
+
1436
+ # Returns information about a specific version of a slot type. In
1437
+ # addition to specifying the slot type name, you must specify the slot
1438
+ # type version.
1439
+ #
1440
+ # This operation requires permissions for the `lex:GetSlotType` action.
1441
+ #
1442
+ # @option params [required, String] :name
1443
+ # The name of the slot type. The name is case sensitive.
1444
+ #
1445
+ # @option params [required, String] :version
1446
+ # The version of the slot type.
1447
+ #
1448
+ # @return [Types::GetSlotTypeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1449
+ #
1450
+ # * {Types::GetSlotTypeResponse#name #name} => String
1451
+ # * {Types::GetSlotTypeResponse#description #description} => String
1452
+ # * {Types::GetSlotTypeResponse#enumeration_values #enumeration_values} => Array&lt;Types::EnumerationValue&gt;
1453
+ # * {Types::GetSlotTypeResponse#last_updated_date #last_updated_date} => Time
1454
+ # * {Types::GetSlotTypeResponse#created_date #created_date} => Time
1455
+ # * {Types::GetSlotTypeResponse#version #version} => String
1456
+ # * {Types::GetSlotTypeResponse#checksum #checksum} => String
1457
+ #
1458
+ # @example Request syntax with placeholder values
1459
+ #
1460
+ # resp = client.get_slot_type({
1461
+ # name: "SlotTypeName", # required
1462
+ # version: "Version", # required
1463
+ # })
1464
+ #
1465
+ # @example Response structure
1466
+ #
1467
+ # resp.name #=> String
1468
+ # resp.description #=> String
1469
+ # resp.enumeration_values #=> Array
1470
+ # resp.enumeration_values[0].value #=> String
1471
+ # resp.last_updated_date #=> Time
1472
+ # resp.created_date #=> Time
1473
+ # resp.version #=> String
1474
+ # resp.checksum #=> String
1475
+ #
1476
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetSlotType AWS API Documentation
1477
+ #
1478
+ # @overload get_slot_type(params = {})
1479
+ # @param [Hash] params ({})
1480
+ def get_slot_type(params = {}, options = {})
1481
+ req = build_request(:get_slot_type, params)
1482
+ req.send_request(options)
1483
+ end
1484
+
1485
+ # Gets information about all versions of a slot type.
1486
+ #
1487
+ # The `GetSlotTypeVersions` operation returns a `SlotTypeMetadata`
1488
+ # object for each version of a slot type. For example, if a slot type
1489
+ # has three numbered versions, the `GetSlotTypeVersions` operation
1490
+ # returns four `SlotTypeMetadata` objects in the response, one for each
1491
+ # numbered version and one for the `$LATEST` version.
1492
+ #
1493
+ # The `GetSlotTypeVersions` operation always returns at least one
1494
+ # version, the `$LATEST` version.
1495
+ #
1496
+ # @option params [required, String] :name
1497
+ # The name of the slot type for which versions should be returned.
1498
+ #
1499
+ # @option params [String] :next_token
1500
+ # A pagination token for fetching the next page of slot type versions.
1501
+ # If the response to this call is truncated, Amazon Lex returns a
1502
+ # pagination token in the response. To fetch the next page of versions,
1503
+ # specify the pagination token in the next request.
1504
+ #
1505
+ # @option params [Integer] :max_results
1506
+ # The maximum number of slot type versions to return in the response.
1507
+ # The default is 10.
1508
+ #
1509
+ # @return [Types::GetSlotTypeVersionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1510
+ #
1511
+ # * {Types::GetSlotTypeVersionsResponse#slot_types #slot_types} => Array&lt;Types::SlotTypeMetadata&gt;
1512
+ # * {Types::GetSlotTypeVersionsResponse#next_token #next_token} => String
1513
+ #
1514
+ # @example Request syntax with placeholder values
1515
+ #
1516
+ # resp = client.get_slot_type_versions({
1517
+ # name: "SlotTypeName", # required
1518
+ # next_token: "NextToken",
1519
+ # max_results: 1,
1520
+ # })
1521
+ #
1522
+ # @example Response structure
1523
+ #
1524
+ # resp.slot_types #=> Array
1525
+ # resp.slot_types[0].name #=> String
1526
+ # resp.slot_types[0].description #=> String
1527
+ # resp.slot_types[0].last_updated_date #=> Time
1528
+ # resp.slot_types[0].created_date #=> Time
1529
+ # resp.slot_types[0].version #=> String
1530
+ # resp.next_token #=> String
1531
+ #
1532
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetSlotTypeVersions AWS API Documentation
1533
+ #
1534
+ # @overload get_slot_type_versions(params = {})
1535
+ # @param [Hash] params ({})
1536
+ def get_slot_type_versions(params = {}, options = {})
1537
+ req = build_request(:get_slot_type_versions, params)
1538
+ req.send_request(options)
1539
+ end
1540
+
1541
+ # Returns slot type information as follows:
1542
+ #
1543
+ # * If you specify the `nameContains` field, returns the `$LATEST`
1544
+ # version of all slot types that contain the specified string.
1545
+ #
1546
+ # * If you don't specify the `nameContains` field, returns information
1547
+ # about the `$LATEST` version of all slot types.
1548
+ #
1549
+ # The operation requires permission for the `lex:GetSlotTypes` action.
1550
+ #
1551
+ # @option params [String] :next_token
1552
+ # A pagination token that fetches the next page of slot types. If the
1553
+ # response to this API call is truncated, Amazon Lex returns a
1554
+ # pagination token in the response. To fetch next page of slot types,
1555
+ # specify the pagination token in the next request.
1556
+ #
1557
+ # @option params [Integer] :max_results
1558
+ # The maximum number of slot types to return in the response. The
1559
+ # default is 10.
1560
+ #
1561
+ # @option params [String] :name_contains
1562
+ # Substring to match in slot type names. A slot type will be returned if
1563
+ # any part of its name matches the substring. For example, "xyz"
1564
+ # matches both "xyzabc" and "abcxyz."
1565
+ #
1566
+ # @return [Types::GetSlotTypesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1567
+ #
1568
+ # * {Types::GetSlotTypesResponse#slot_types #slot_types} => Array&lt;Types::SlotTypeMetadata&gt;
1569
+ # * {Types::GetSlotTypesResponse#next_token #next_token} => String
1570
+ #
1571
+ # @example Request syntax with placeholder values
1572
+ #
1573
+ # resp = client.get_slot_types({
1574
+ # next_token: "NextToken",
1575
+ # max_results: 1,
1576
+ # name_contains: "SlotTypeName",
1577
+ # })
1578
+ #
1579
+ # @example Response structure
1580
+ #
1581
+ # resp.slot_types #=> Array
1582
+ # resp.slot_types[0].name #=> String
1583
+ # resp.slot_types[0].description #=> String
1584
+ # resp.slot_types[0].last_updated_date #=> Time
1585
+ # resp.slot_types[0].created_date #=> Time
1586
+ # resp.slot_types[0].version #=> String
1587
+ # resp.next_token #=> String
1588
+ #
1589
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetSlotTypes AWS API Documentation
1590
+ #
1591
+ # @overload get_slot_types(params = {})
1592
+ # @param [Hash] params ({})
1593
+ def get_slot_types(params = {}, options = {})
1594
+ req = build_request(:get_slot_types, params)
1595
+ req.send_request(options)
1596
+ end
1597
+
1598
+ # Use the `GetUtterancesView` operation to get information about the
1599
+ # utterances that your users have made to your bot. You can use this
1600
+ # list to tune the utterances that your bot responds to.
1601
+ #
1602
+ # For example, say that you have created a bot to order flowers. After
1603
+ # your users have used your bot for a while, use the `GetUtterancesView`
1604
+ # operation to see the requests that they have made and whether they
1605
+ # have been successful. You might find that the utterance "I want
1606
+ # flowers" is not being recognized. You could add this utterance to the
1607
+ # `OrderFlowers` intent so that your bot recognizes that utterance.
1608
+ #
1609
+ # After you publish a new version of a bot, you can get information
1610
+ # about the old version and the new so that you can compare the
1611
+ # performance across the two versions.
1612
+ #
1613
+ # You can request information for up to 5 versions in each request. The
1614
+ # response contains information about a maximum of 100 utterances for
1615
+ # each version.
1616
+ #
1617
+ # @option params [required, String] :bot_name
1618
+ # The name of the bot for which utterance information should be
1619
+ # returned.
1620
+ #
1621
+ # @option params [required, Array<String>] :bot_versions
1622
+ # An array of bot versions for which utterance information should be
1623
+ # returned. The limit is 5 versions per request.
1624
+ #
1625
+ # @option params [required, String] :status_type
1626
+ # To return utterances that were recognized and handled, use`Detected`.
1627
+ # To return utterances that were not recognized, use `Missed`.
1628
+ #
1629
+ # @return [Types::GetUtterancesViewResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1630
+ #
1631
+ # * {Types::GetUtterancesViewResponse#bot_name #bot_name} => String
1632
+ # * {Types::GetUtterancesViewResponse#utterances #utterances} => Array&lt;Types::UtteranceList&gt;
1633
+ #
1634
+ # @example Request syntax with placeholder values
1635
+ #
1636
+ # resp = client.get_utterances_view({
1637
+ # bot_name: "BotName", # required
1638
+ # bot_versions: ["Version"], # required
1639
+ # status_type: "Detected", # required, accepts Detected, Missed
1640
+ # })
1641
+ #
1642
+ # @example Response structure
1643
+ #
1644
+ # resp.bot_name #=> String
1645
+ # resp.utterances #=> Array
1646
+ # resp.utterances[0].bot_version #=> String
1647
+ # resp.utterances[0].utterances #=> Array
1648
+ # resp.utterances[0].utterances[0].utterance_string #=> String
1649
+ # resp.utterances[0].utterances[0].count #=> Integer
1650
+ # resp.utterances[0].utterances[0].distinct_users #=> Integer
1651
+ # resp.utterances[0].utterances[0].first_uttered_date #=> Time
1652
+ # resp.utterances[0].utterances[0].last_uttered_date #=> Time
1653
+ #
1654
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetUtterancesView AWS API Documentation
1655
+ #
1656
+ # @overload get_utterances_view(params = {})
1657
+ # @param [Hash] params ({})
1658
+ def get_utterances_view(params = {}, options = {})
1659
+ req = build_request(:get_utterances_view, params)
1660
+ req.send_request(options)
1661
+ end
1662
+
1663
+ # Creates an Amazon Lex conversational bot or replaces an existing bot.
1664
+ # When you create or update an intent you only required to specify a
1665
+ # name. You can use this to add intents later, or to remove intents from
1666
+ # an existing bot. When you create a bot with a name only, the bot is
1667
+ # created or updated but Amazon Lex returns the ` response FAILED. You
1668
+ # can build the bot after you add one or more intents. For more
1669
+ # information about Amazon Lex bots, see how-it-works. </p> If you
1670
+ # specify the name of an existing bot, the fields in the request replace
1671
+ # the existing values in the $LATEST version of the bot. Amazon Lex
1672
+ # removes any fields that you don't provide values for in the request,
1673
+ # except for the idleTTLInSeconds and privacySettings fields, which are
1674
+ # set to their default values. If you don't specify values for required
1675
+ # fields, Amazon Lex throws an exception. This operation requires
1676
+ # permissions for the lex:PutBot action. For more information, see
1677
+ # auth-and-access-control.
1678
+ # `
1679
+ #
1680
+ # @option params [required, String] :name
1681
+ # The name of the bot. The name is *not* case sensitive.
1682
+ #
1683
+ # @option params [String] :description
1684
+ # A description of the bot.
1685
+ #
1686
+ # @option params [Array<Types::Intent>] :intents
1687
+ # An array of `Intent` objects. Each intent represents a command that a
1688
+ # user can express. For example, a pizza ordering bot might support an
1689
+ # OrderPizza intent. For more information, see how-it-works.
1690
+ #
1691
+ # @option params [Types::Prompt] :clarification_prompt
1692
+ # When Amazon Lex doesn't understand the user's intent, it uses one of
1693
+ # these messages to get clarification. For example, "Sorry, I didn't
1694
+ # understand. Please repeat." Amazon Lex repeats the clarification
1695
+ # prompt the number of times specified in `maxAttempts`. If Amazon Lex
1696
+ # still can't understand, it sends the message specified in
1697
+ # `abortStatement`.
1698
+ #
1699
+ # @option params [Types::Statement] :abort_statement
1700
+ # When Amazon Lex can't understand the user's input in context, it
1701
+ # tries to elicit the information a few times. After that, Amazon Lex
1702
+ # sends the message defined in `abortStatement` to the user, and then
1703
+ # aborts the conversation. To set the number of retries, use the
1704
+ # `valueElicitationPrompt` field for the slot type.
1705
+ #
1706
+ # For example, in a pizza ordering bot, Amazon Lex might ask a user
1707
+ # "What type of crust would you like?" If the user's response is not
1708
+ # one of the expected responses (for example, "thin crust, "deep
1709
+ # dish," etc.), Amazon Lex tries to elicit a correct response a few
1710
+ # more times.
1711
+ #
1712
+ # For example, in a pizza ordering application, `OrderPizza` might be
1713
+ # one of the intents. This intent might require the `CrustType` slot.
1714
+ # You specify the `valueElicitationPrompt` field when you create the
1715
+ # `CrustType` slot.
1716
+ #
1717
+ # @option params [Integer] :idle_session_ttl_in_seconds
1718
+ # The maximum time in seconds that Amazon Lex retains the data gathered
1719
+ # in a conversation.
1720
+ #
1721
+ # A user interaction session remains active for the amount of time
1722
+ # specified. If no conversation occurs during this time, the session
1723
+ # expires and Amazon Lex deletes any data provided before the timeout.
1724
+ #
1725
+ # For example, suppose that a user chooses the OrderPizza intent, but
1726
+ # gets sidetracked halfway through placing an order. If the user
1727
+ # doesn't complete the order within the specified time, Amazon Lex
1728
+ # discards the slot information that it gathered, and the user must
1729
+ # start over.
1730
+ #
1731
+ # If you don't include the `idleSessionTTLInSeconds` element in a
1732
+ # `PutBot` operation request, Amazon Lex uses the default value. This is
1733
+ # also true if the request replaces an existing bot.
1734
+ #
1735
+ # The default is 300 seconds (5 minutes).
1736
+ #
1737
+ # @option params [String] :voice_id
1738
+ # The Amazon Parrot voice ID that you want Amazon Lex to use for voice
1739
+ # interactions with the user. The locale configured for the voice must
1740
+ # match the locale of the bot. For more information, see [Voice][1] in
1741
+ # the *Amazon Polly Developer Guide*.
1742
+ #
1743
+ #
1744
+ #
1745
+ # [1]: http://docs.aws.amazon.com/polly/latest/dg/API_Voice.html
1746
+ #
1747
+ # @option params [String] :checksum
1748
+ # Identifies a specific revision of the `$LATEST` version.
1749
+ #
1750
+ # When you create a new bot, leave the `checksum` field blank. If you
1751
+ # specify a checksum you get a `BadRequestException` exception.
1752
+ #
1753
+ # When you want to update a bot, set the `checksum` field to the
1754
+ # checksum of the most recent revision of the `$LATEST` version. If you
1755
+ # don't specify the ` checksum` field, or if the checksum does not
1756
+ # match the `$LATEST` version, you get a `PreconditionFailedException`
1757
+ # exception.
1758
+ #
1759
+ # @option params [String] :process_behavior
1760
+ # If you set the `processBehavior` element to `Build`, Amazon Lex builds
1761
+ # the bot so that it can be run. If you set the element to `Save`Amazon
1762
+ # Lex saves the bot, but doesn't build it.
1763
+ #
1764
+ # If you don't specify this value, the default value is `Save`.
1765
+ #
1766
+ # @option params [required, String] :locale
1767
+ # Specifies the target locale for the bot. Any intent used in the bot
1768
+ # must be compatible with the locale of the bot.
1769
+ #
1770
+ # The default is `en-US`.
1771
+ #
1772
+ # @option params [required, Boolean] :child_directed
1773
+ # For each Amazon Lex bot created with the Amazon Lex Model Building
1774
+ # Service, you must specify whether your use of Amazon Lex is related to
1775
+ # a website, program, or other application that is directed or targeted,
1776
+ # in whole or in part, to children under age 13 and subject to the
1777
+ # Children's Online Privacy Protection Act (COPPA) by specifying `true`
1778
+ # or `false` in the `childDirected` field. By specifying `true` in the
1779
+ # `childDirected` field, you confirm that your use of Amazon Lex **is**
1780
+ # related to a website, program, or other application that is directed
1781
+ # or targeted, in whole or in part, to children under age 13 and subject
1782
+ # to COPPA. By specifying `false` in the `childDirected` field, you
1783
+ # confirm that your use of Amazon Lex **is not** related to a website,
1784
+ # program, or other application that is directed or targeted, in whole
1785
+ # or in part, to children under age 13 and subject to COPPA. You may not
1786
+ # specify a default value for the `childDirected` field that does not
1787
+ # accurately reflect whether your use of Amazon Lex is related to a
1788
+ # website, program, or other application that is directed or targeted,
1789
+ # in whole or in part, to children under age 13 and subject to COPPA.
1790
+ #
1791
+ # If your use of Amazon Lex relates to a website, program, or other
1792
+ # application that is directed in whole or in part, to children under
1793
+ # age 13, you must obtain any required verifiable parental consent under
1794
+ # COPPA. For information regarding the use of Amazon Lex in connection
1795
+ # with websites, programs, or other applications that are directed or
1796
+ # targeted, in whole or in part, to children under age 13, see the
1797
+ # [Amazon Lex FAQ.][1]
1798
+ #
1799
+ #
1800
+ #
1801
+ # [1]: https://aws.amazon.com/lex/faqs#data-security
1802
+ #
1803
+ # @return [Types::PutBotResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1804
+ #
1805
+ # * {Types::PutBotResponse#name #name} => String
1806
+ # * {Types::PutBotResponse#description #description} => String
1807
+ # * {Types::PutBotResponse#intents #intents} => Array&lt;Types::Intent&gt;
1808
+ # * {Types::PutBotResponse#clarification_prompt #clarification_prompt} => Types::Prompt
1809
+ # * {Types::PutBotResponse#abort_statement #abort_statement} => Types::Statement
1810
+ # * {Types::PutBotResponse#status #status} => String
1811
+ # * {Types::PutBotResponse#failure_reason #failure_reason} => String
1812
+ # * {Types::PutBotResponse#last_updated_date #last_updated_date} => Time
1813
+ # * {Types::PutBotResponse#created_date #created_date} => Time
1814
+ # * {Types::PutBotResponse#idle_session_ttl_in_seconds #idle_session_ttl_in_seconds} => Integer
1815
+ # * {Types::PutBotResponse#voice_id #voice_id} => String
1816
+ # * {Types::PutBotResponse#checksum #checksum} => String
1817
+ # * {Types::PutBotResponse#version #version} => String
1818
+ # * {Types::PutBotResponse#locale #locale} => String
1819
+ # * {Types::PutBotResponse#child_directed #child_directed} => Boolean
1820
+ #
1821
+ # @example Request syntax with placeholder values
1822
+ #
1823
+ # resp = client.put_bot({
1824
+ # name: "BotName", # required
1825
+ # description: "Description",
1826
+ # intents: [
1827
+ # {
1828
+ # intent_name: "IntentName", # required
1829
+ # intent_version: "Version", # required
1830
+ # },
1831
+ # ],
1832
+ # clarification_prompt: {
1833
+ # messages: [ # required
1834
+ # {
1835
+ # content_type: "PlainText", # required, accepts PlainText, SSML
1836
+ # content: "ContentString", # required
1837
+ # },
1838
+ # ],
1839
+ # max_attempts: 1, # required
1840
+ # response_card: "ResponseCard",
1841
+ # },
1842
+ # abort_statement: {
1843
+ # messages: [ # required
1844
+ # {
1845
+ # content_type: "PlainText", # required, accepts PlainText, SSML
1846
+ # content: "ContentString", # required
1847
+ # },
1848
+ # ],
1849
+ # response_card: "ResponseCard",
1850
+ # },
1851
+ # idle_session_ttl_in_seconds: 1,
1852
+ # voice_id: "String",
1853
+ # checksum: "String",
1854
+ # process_behavior: "SAVE", # accepts SAVE, BUILD
1855
+ # locale: "en-US", # required, accepts en-US
1856
+ # child_directed: false, # required
1857
+ # })
1858
+ #
1859
+ # @example Response structure
1860
+ #
1861
+ # resp.name #=> String
1862
+ # resp.description #=> String
1863
+ # resp.intents #=> Array
1864
+ # resp.intents[0].intent_name #=> String
1865
+ # resp.intents[0].intent_version #=> String
1866
+ # resp.clarification_prompt.messages #=> Array
1867
+ # resp.clarification_prompt.messages[0].content_type #=> String, one of "PlainText", "SSML"
1868
+ # resp.clarification_prompt.messages[0].content #=> String
1869
+ # resp.clarification_prompt.max_attempts #=> Integer
1870
+ # resp.clarification_prompt.response_card #=> String
1871
+ # resp.abort_statement.messages #=> Array
1872
+ # resp.abort_statement.messages[0].content_type #=> String, one of "PlainText", "SSML"
1873
+ # resp.abort_statement.messages[0].content #=> String
1874
+ # resp.abort_statement.response_card #=> String
1875
+ # resp.status #=> String, one of "BUILDING", "READY", "FAILED", "NOT_BUILT"
1876
+ # resp.failure_reason #=> String
1877
+ # resp.last_updated_date #=> Time
1878
+ # resp.created_date #=> Time
1879
+ # resp.idle_session_ttl_in_seconds #=> Integer
1880
+ # resp.voice_id #=> String
1881
+ # resp.checksum #=> String
1882
+ # resp.version #=> String
1883
+ # resp.locale #=> String, one of "en-US"
1884
+ # resp.child_directed #=> Boolean
1885
+ #
1886
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/PutBot AWS API Documentation
1887
+ #
1888
+ # @overload put_bot(params = {})
1889
+ # @param [Hash] params ({})
1890
+ def put_bot(params = {}, options = {})
1891
+ req = build_request(:put_bot, params)
1892
+ req.send_request(options)
1893
+ end
1894
+
1895
+ # Creates an alias for the specified version of the bot or replaces an
1896
+ # alias for the specified bot. To change the version of the bot that the
1897
+ # alias points to, replace the alias. For more information about
1898
+ # aliases, see versioning-aliases.
1899
+ #
1900
+ # This operation requires permissions for the `lex:PutBotAlias` action.
1901
+ #
1902
+ # @option params [required, String] :name
1903
+ # The name of the alias. The name is *not* case sensitive.
1904
+ #
1905
+ # @option params [String] :description
1906
+ # A description of the alias.
1907
+ #
1908
+ # @option params [required, String] :bot_version
1909
+ # The version of the bot.
1910
+ #
1911
+ # @option params [required, String] :bot_name
1912
+ # The name of the bot.
1913
+ #
1914
+ # @option params [String] :checksum
1915
+ # Identifies a specific revision of the `$LATEST` version.
1916
+ #
1917
+ # When you create a new bot alias, leave the `checksum` field blank. If
1918
+ # you specify a checksum you get a `BadRequestException` exception.
1919
+ #
1920
+ # When you want to update a bot alias, set the `checksum` field to the
1921
+ # checksum of the most recent revision of the `$LATEST` version. If you
1922
+ # don't specify the ` checksum` field, or if the checksum does not
1923
+ # match the `$LATEST` version, you get a `PreconditionFailedException`
1924
+ # exception.
1925
+ #
1926
+ # @return [Types::PutBotAliasResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1927
+ #
1928
+ # * {Types::PutBotAliasResponse#name #name} => String
1929
+ # * {Types::PutBotAliasResponse#description #description} => String
1930
+ # * {Types::PutBotAliasResponse#bot_version #bot_version} => String
1931
+ # * {Types::PutBotAliasResponse#bot_name #bot_name} => String
1932
+ # * {Types::PutBotAliasResponse#last_updated_date #last_updated_date} => Time
1933
+ # * {Types::PutBotAliasResponse#created_date #created_date} => Time
1934
+ # * {Types::PutBotAliasResponse#checksum #checksum} => String
1935
+ #
1936
+ # @example Request syntax with placeholder values
1937
+ #
1938
+ # resp = client.put_bot_alias({
1939
+ # name: "AliasName", # required
1940
+ # description: "Description",
1941
+ # bot_version: "Version", # required
1942
+ # bot_name: "BotName", # required
1943
+ # checksum: "String",
1944
+ # })
1945
+ #
1946
+ # @example Response structure
1947
+ #
1948
+ # resp.name #=> String
1949
+ # resp.description #=> String
1950
+ # resp.bot_version #=> String
1951
+ # resp.bot_name #=> String
1952
+ # resp.last_updated_date #=> Time
1953
+ # resp.created_date #=> Time
1954
+ # resp.checksum #=> String
1955
+ #
1956
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/PutBotAlias AWS API Documentation
1957
+ #
1958
+ # @overload put_bot_alias(params = {})
1959
+ # @param [Hash] params ({})
1960
+ def put_bot_alias(params = {}, options = {})
1961
+ req = build_request(:put_bot_alias, params)
1962
+ req.send_request(options)
1963
+ end
1964
+
1965
+ # Creates an intent or replaces an existing intent.
1966
+ #
1967
+ # To define the interaction between the user and your bot, you use one
1968
+ # or more intents. For a pizza ordering bot, for example, you would
1969
+ # create an `OrderPizza` intent.
1970
+ #
1971
+ # To create an intent or replace an existing intent, you must provide
1972
+ # the following:
1973
+ #
1974
+ # * Intent name. For example, `OrderPizza`.
1975
+ #
1976
+ # * Sample utterances. For example, "Can I order a pizza, please." and
1977
+ # "I want to order a pizza."
1978
+ #
1979
+ # * Information to be gathered. You specify slot types for the
1980
+ # information that your bot will request from the user. You can
1981
+ # specify standard slot types, such as a date or a time, or custom
1982
+ # slot types such as the size and crust of a pizza.
1983
+ #
1984
+ # * How the intent will be fulfilled. You can provide a Lambda function
1985
+ # or configure the intent to return the intent information to the
1986
+ # client application. If you use a Lambda function, when all of the
1987
+ # intent information is available, Amazon Lex invokes your Lambda
1988
+ # function. If you configure your intent to return the intent
1989
+ # information to the client application.
1990
+ #
1991
+ # You can specify other optional information in the request, such as:
1992
+ #
1993
+ # * A confirmation prompt to ask the user to confirm an intent. For
1994
+ # example, "Shall I order your pizza?"
1995
+ #
1996
+ # * A conclusion statement to send to the user after the intent has been
1997
+ # fulfilled. For example, "I placed your pizza order."
1998
+ #
1999
+ # * A follow-up prompt that asks the user for additional activity. For
2000
+ # example, asking "Do you want to order a drink with your pizza?"
2001
+ #
2002
+ # If you specify an existing intent name to update the intent, Amazon
2003
+ # Lex replaces the values in the `$LATEST` version of the slot type with
2004
+ # the values in the request. Amazon Lex removes fields that you don't
2005
+ # provide in the request. If you don't specify the required fields,
2006
+ # Amazon Lex throws an exception.
2007
+ #
2008
+ # For more information, see how-it-works.
2009
+ #
2010
+ # This operation requires permissions for the `lex:PutIntent` action.
2011
+ # For more information, see auth-and-access-control.
2012
+ #
2013
+ # @option params [required, String] :name
2014
+ # The name of the intent. The name is *not* case sensitive.
2015
+ #
2016
+ # The name can't match a built-in intent name, or a built-in intent
2017
+ # name with "AMAZON." removed. For example, because there is a
2018
+ # built-in intent called `AMAZON.HelpIntent`, you can't create a custom
2019
+ # intent called `HelpIntent`.
2020
+ #
2021
+ # For a list of built-in intents, see [Standard Built-in Intents][1] in
2022
+ # the *Alexa Skills Kit*.
2023
+ #
2024
+ #
2025
+ #
2026
+ # [1]: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/standard-intents
2027
+ #
2028
+ # @option params [String] :description
2029
+ # A description of the intent.
2030
+ #
2031
+ # @option params [Array<Types::Slot>] :slots
2032
+ # An array of intent slots. At runtime, Amazon Lex elicits required slot
2033
+ # values from the user using prompts defined in the slots. For more
2034
+ # information, see &lt;xref linkend="how-it-works"/&gt;.
2035
+ #
2036
+ # @option params [Array<String>] :sample_utterances
2037
+ # An array of utterances (strings) that a user might say to signal the
2038
+ # intent. For example, "I want \\\{PizzaSize\\} pizza", "Order
2039
+ # \\\{Quantity\\} \\\{PizzaSize\\} pizzas".
2040
+ #
2041
+ # In each utterance, a slot name is enclosed in curly braces.
2042
+ #
2043
+ # @option params [Types::Prompt] :confirmation_prompt
2044
+ # Prompts the user to confirm the intent. This question should have a
2045
+ # yes or no answer.
2046
+ #
2047
+ # Amazon Lex uses this prompt to ensure that the user acknowledges that
2048
+ # the intent is ready for fulfillment. For example, with the
2049
+ # `OrderPizza` intent, you might want to confirm that the order is
2050
+ # correct before placing it. For other intents, such as intents that
2051
+ # simply respond to user questions, you might not need to ask the user
2052
+ # for confirmation before providing the information.
2053
+ #
2054
+ # <note markdown="1"> You you must provide both the `rejectionStatement` and the
2055
+ # `confirmationPrompt`, or neither.
2056
+ #
2057
+ # </note>
2058
+ #
2059
+ # @option params [Types::Statement] :rejection_statement
2060
+ # When the user answers "no" to the question defined in
2061
+ # `confirmationPrompt`, Amazon Lex responds with this statement to
2062
+ # acknowledge that the intent was canceled.
2063
+ #
2064
+ # <note markdown="1"> You must provide both the `rejectionStatement` and the
2065
+ # `confirmationPrompt`, or neither.
2066
+ #
2067
+ # </note>
2068
+ #
2069
+ # @option params [Types::FollowUpPrompt] :follow_up_prompt
2070
+ # A user prompt for additional activity after an intent is fulfilled.
2071
+ # For example, after the `OrderPizza` intent is fulfilled (your Lambda
2072
+ # function placed an order with a pizzeria), you might prompt the user
2073
+ # to find if they want to order a drink (assuming that you have defined
2074
+ # an `OrderDrink` intent in your bot).
2075
+ #
2076
+ # <note markdown="1"> The `followUpPrompt` and `conclusionStatement` are mutually exclusive.
2077
+ # You can specify only one. For example, your bot may not solicit both
2078
+ # the following:
2079
+ #
2080
+ # Follow up prompt - "`$session.FirstName`, your pizza order has been
2081
+ # placed. Would you like to order a drink or a dessert?"
2082
+ #
2083
+ # Conclusion statement - "`$session.FirstName`, your pizza order has
2084
+ # been placed."
2085
+ #
2086
+ # </note>
2087
+ #
2088
+ # @option params [Types::Statement] :conclusion_statement
2089
+ # The statement that you want Amazon Lex to convey to the user after the
2090
+ # intent is successfully fulfilled by the Lambda function.
2091
+ #
2092
+ # This element is relevant only if you provide a Lambda function in the
2093
+ # `fulfillmentActivity`. If you return the intent to the client
2094
+ # application, you can't specify this element.
2095
+ #
2096
+ # <note markdown="1"> The `followUpPrompt` and `conclusionStatement` are mutually exclusive.
2097
+ # You can specify only one.
2098
+ #
2099
+ # </note>
2100
+ #
2101
+ # @option params [Types::CodeHook] :dialog_code_hook
2102
+ # Specifies a Lambda function to invoke for each user input. You can
2103
+ # invoke this Lambda function to personalize user interaction.
2104
+ #
2105
+ # For example, suppose your bot determines that the user is John. Your
2106
+ # Lambda function might retrieve John's information from a backend
2107
+ # database and prepopulate some of the values. For example, if you find
2108
+ # that John is gluten intolerant, you might set the corresponding intent
2109
+ # slot, `GlutenIntolerant`, to true. You might find John's phone number
2110
+ # and set the corresponding session attribute.
2111
+ #
2112
+ # @option params [Types::FulfillmentActivity] :fulfillment_activity
2113
+ # Describes how the intent is fulfilled. For example, after a user
2114
+ # provides all of the information for a pizza order,
2115
+ # `fulfillmentActivity` defines how the bot places an order with a local
2116
+ # pizza store.
2117
+ #
2118
+ # You might configure Amazon Lex to return all of the intent information
2119
+ # to the client application, or direct it to invoke a Lambda function
2120
+ # that can process the intent (for example, place an order with a
2121
+ # pizzeria).
2122
+ #
2123
+ # @option params [String] :parent_intent_signature
2124
+ # A unique identifier for the built-in intent to base this intent on. To
2125
+ # find the signature for an intent, see [Standard Built-in Intents][1]
2126
+ # in the *Alexa Skills Kit*.
2127
+ #
2128
+ #
2129
+ #
2130
+ # [1]: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/standard-intents
2131
+ #
2132
+ # @option params [String] :checksum
2133
+ # Identifies a specific revision of the `$LATEST` version.
2134
+ #
2135
+ # When you create a new intent, leave the `checksum` field blank. If you
2136
+ # specify a checksum you get a `BadRequestException` exception.
2137
+ #
2138
+ # When you want to update a intent, set the `checksum` field to the
2139
+ # checksum of the most recent revision of the `$LATEST` version. If you
2140
+ # don't specify the ` checksum` field, or if the checksum does not
2141
+ # match the `$LATEST` version, you get a `PreconditionFailedException`
2142
+ # exception.
2143
+ #
2144
+ # @return [Types::PutIntentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2145
+ #
2146
+ # * {Types::PutIntentResponse#name #name} => String
2147
+ # * {Types::PutIntentResponse#description #description} => String
2148
+ # * {Types::PutIntentResponse#slots #slots} => Array&lt;Types::Slot&gt;
2149
+ # * {Types::PutIntentResponse#sample_utterances #sample_utterances} => Array&lt;String&gt;
2150
+ # * {Types::PutIntentResponse#confirmation_prompt #confirmation_prompt} => Types::Prompt
2151
+ # * {Types::PutIntentResponse#rejection_statement #rejection_statement} => Types::Statement
2152
+ # * {Types::PutIntentResponse#follow_up_prompt #follow_up_prompt} => Types::FollowUpPrompt
2153
+ # * {Types::PutIntentResponse#conclusion_statement #conclusion_statement} => Types::Statement
2154
+ # * {Types::PutIntentResponse#dialog_code_hook #dialog_code_hook} => Types::CodeHook
2155
+ # * {Types::PutIntentResponse#fulfillment_activity #fulfillment_activity} => Types::FulfillmentActivity
2156
+ # * {Types::PutIntentResponse#parent_intent_signature #parent_intent_signature} => String
2157
+ # * {Types::PutIntentResponse#last_updated_date #last_updated_date} => Time
2158
+ # * {Types::PutIntentResponse#created_date #created_date} => Time
2159
+ # * {Types::PutIntentResponse#version #version} => String
2160
+ # * {Types::PutIntentResponse#checksum #checksum} => String
2161
+ #
2162
+ # @example Request syntax with placeholder values
2163
+ #
2164
+ # resp = client.put_intent({
2165
+ # name: "IntentName", # required
2166
+ # description: "Description",
2167
+ # slots: [
2168
+ # {
2169
+ # name: "SlotName", # required
2170
+ # description: "Description",
2171
+ # slot_constraint: "Required", # required, accepts Required, Optional
2172
+ # slot_type: "CustomOrBuiltinSlotTypeName",
2173
+ # slot_type_version: "Version",
2174
+ # value_elicitation_prompt: {
2175
+ # messages: [ # required
2176
+ # {
2177
+ # content_type: "PlainText", # required, accepts PlainText, SSML
2178
+ # content: "ContentString", # required
2179
+ # },
2180
+ # ],
2181
+ # max_attempts: 1, # required
2182
+ # response_card: "ResponseCard",
2183
+ # },
2184
+ # priority: 1,
2185
+ # sample_utterances: ["Utterance"],
2186
+ # response_card: "ResponseCard",
2187
+ # },
2188
+ # ],
2189
+ # sample_utterances: ["Utterance"],
2190
+ # confirmation_prompt: {
2191
+ # messages: [ # required
2192
+ # {
2193
+ # content_type: "PlainText", # required, accepts PlainText, SSML
2194
+ # content: "ContentString", # required
2195
+ # },
2196
+ # ],
2197
+ # max_attempts: 1, # required
2198
+ # response_card: "ResponseCard",
2199
+ # },
2200
+ # rejection_statement: {
2201
+ # messages: [ # required
2202
+ # {
2203
+ # content_type: "PlainText", # required, accepts PlainText, SSML
2204
+ # content: "ContentString", # required
2205
+ # },
2206
+ # ],
2207
+ # response_card: "ResponseCard",
2208
+ # },
2209
+ # follow_up_prompt: {
2210
+ # prompt: { # required
2211
+ # messages: [ # required
2212
+ # {
2213
+ # content_type: "PlainText", # required, accepts PlainText, SSML
2214
+ # content: "ContentString", # required
2215
+ # },
2216
+ # ],
2217
+ # max_attempts: 1, # required
2218
+ # response_card: "ResponseCard",
2219
+ # },
2220
+ # rejection_statement: { # required
2221
+ # messages: [ # required
2222
+ # {
2223
+ # content_type: "PlainText", # required, accepts PlainText, SSML
2224
+ # content: "ContentString", # required
2225
+ # },
2226
+ # ],
2227
+ # response_card: "ResponseCard",
2228
+ # },
2229
+ # },
2230
+ # conclusion_statement: {
2231
+ # messages: [ # required
2232
+ # {
2233
+ # content_type: "PlainText", # required, accepts PlainText, SSML
2234
+ # content: "ContentString", # required
2235
+ # },
2236
+ # ],
2237
+ # response_card: "ResponseCard",
2238
+ # },
2239
+ # dialog_code_hook: {
2240
+ # uri: "LambdaARN", # required
2241
+ # message_version: "MessageVersion", # required
2242
+ # },
2243
+ # fulfillment_activity: {
2244
+ # type: "ReturnIntent", # required, accepts ReturnIntent, CodeHook
2245
+ # code_hook: {
2246
+ # uri: "LambdaARN", # required
2247
+ # message_version: "MessageVersion", # required
2248
+ # },
2249
+ # },
2250
+ # parent_intent_signature: "BuiltinIntentSignature",
2251
+ # checksum: "String",
2252
+ # })
2253
+ #
2254
+ # @example Response structure
2255
+ #
2256
+ # resp.name #=> String
2257
+ # resp.description #=> String
2258
+ # resp.slots #=> Array
2259
+ # resp.slots[0].name #=> String
2260
+ # resp.slots[0].description #=> String
2261
+ # resp.slots[0].slot_constraint #=> String, one of "Required", "Optional"
2262
+ # resp.slots[0].slot_type #=> String
2263
+ # resp.slots[0].slot_type_version #=> String
2264
+ # resp.slots[0].value_elicitation_prompt.messages #=> Array
2265
+ # resp.slots[0].value_elicitation_prompt.messages[0].content_type #=> String, one of "PlainText", "SSML"
2266
+ # resp.slots[0].value_elicitation_prompt.messages[0].content #=> String
2267
+ # resp.slots[0].value_elicitation_prompt.max_attempts #=> Integer
2268
+ # resp.slots[0].value_elicitation_prompt.response_card #=> String
2269
+ # resp.slots[0].priority #=> Integer
2270
+ # resp.slots[0].sample_utterances #=> Array
2271
+ # resp.slots[0].sample_utterances[0] #=> String
2272
+ # resp.slots[0].response_card #=> String
2273
+ # resp.sample_utterances #=> Array
2274
+ # resp.sample_utterances[0] #=> String
2275
+ # resp.confirmation_prompt.messages #=> Array
2276
+ # resp.confirmation_prompt.messages[0].content_type #=> String, one of "PlainText", "SSML"
2277
+ # resp.confirmation_prompt.messages[0].content #=> String
2278
+ # resp.confirmation_prompt.max_attempts #=> Integer
2279
+ # resp.confirmation_prompt.response_card #=> String
2280
+ # resp.rejection_statement.messages #=> Array
2281
+ # resp.rejection_statement.messages[0].content_type #=> String, one of "PlainText", "SSML"
2282
+ # resp.rejection_statement.messages[0].content #=> String
2283
+ # resp.rejection_statement.response_card #=> String
2284
+ # resp.follow_up_prompt.prompt.messages #=> Array
2285
+ # resp.follow_up_prompt.prompt.messages[0].content_type #=> String, one of "PlainText", "SSML"
2286
+ # resp.follow_up_prompt.prompt.messages[0].content #=> String
2287
+ # resp.follow_up_prompt.prompt.max_attempts #=> Integer
2288
+ # resp.follow_up_prompt.prompt.response_card #=> String
2289
+ # resp.follow_up_prompt.rejection_statement.messages #=> Array
2290
+ # resp.follow_up_prompt.rejection_statement.messages[0].content_type #=> String, one of "PlainText", "SSML"
2291
+ # resp.follow_up_prompt.rejection_statement.messages[0].content #=> String
2292
+ # resp.follow_up_prompt.rejection_statement.response_card #=> String
2293
+ # resp.conclusion_statement.messages #=> Array
2294
+ # resp.conclusion_statement.messages[0].content_type #=> String, one of "PlainText", "SSML"
2295
+ # resp.conclusion_statement.messages[0].content #=> String
2296
+ # resp.conclusion_statement.response_card #=> String
2297
+ # resp.dialog_code_hook.uri #=> String
2298
+ # resp.dialog_code_hook.message_version #=> String
2299
+ # resp.fulfillment_activity.type #=> String, one of "ReturnIntent", "CodeHook"
2300
+ # resp.fulfillment_activity.code_hook.uri #=> String
2301
+ # resp.fulfillment_activity.code_hook.message_version #=> String
2302
+ # resp.parent_intent_signature #=> String
2303
+ # resp.last_updated_date #=> Time
2304
+ # resp.created_date #=> Time
2305
+ # resp.version #=> String
2306
+ # resp.checksum #=> String
2307
+ #
2308
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/PutIntent AWS API Documentation
2309
+ #
2310
+ # @overload put_intent(params = {})
2311
+ # @param [Hash] params ({})
2312
+ def put_intent(params = {}, options = {})
2313
+ req = build_request(:put_intent, params)
2314
+ req.send_request(options)
2315
+ end
2316
+
2317
+ # Creates a custom slot type or replaces an existing custom slot type.
2318
+ #
2319
+ # To create a custom slot type, specify a name for the slot type and a
2320
+ # set of enumeration values, which are the values that a slot of this
2321
+ # type can assume. For more information, see how-it-works.
2322
+ #
2323
+ # If you specify the name of an existing slot type, the fields in the
2324
+ # request replace the existing values in the `$LATEST` version of the
2325
+ # slot type. Amazon Lex removes the fields that you don't provide in
2326
+ # the request. If you don't specify required fields, Amazon Lex throws
2327
+ # an exception.
2328
+ #
2329
+ # This operation requires permissions for the `lex:PutSlotType` action.
2330
+ #
2331
+ # @option params [required, String] :name
2332
+ # The name of the slot type. The name is *not* case sensitive.
2333
+ #
2334
+ # The name can't match a built-in slot type name, or a built-in slot
2335
+ # type name with "AMAZON." removed. For example, because there is a
2336
+ # built-in slot type called `AMAZON.DATE`, you can't create a custom
2337
+ # slot type called `DATE`.
2338
+ #
2339
+ # For a list of built-in slot types, see [Slot Type Reference][1] in the
2340
+ # *Alexa Skills Kit*.
2341
+ #
2342
+ #
2343
+ #
2344
+ # [1]: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/slot-type-reference
2345
+ #
2346
+ # @option params [String] :description
2347
+ # A description of the slot type.
2348
+ #
2349
+ # @option params [Array<Types::EnumerationValue>] :enumeration_values
2350
+ # A list of `EnumerationValue` objects that defines the values that the
2351
+ # slot type can take.
2352
+ #
2353
+ # @option params [String] :checksum
2354
+ # Identifies a specific revision of the `$LATEST` version.
2355
+ #
2356
+ # When you create a new slot type, leave the `checksum` field blank. If
2357
+ # you specify a checksum you get a `BadRequestException` exception.
2358
+ #
2359
+ # When you want to update a slot type, set the `checksum` field to the
2360
+ # checksum of the most recent revision of the `$LATEST` version. If you
2361
+ # don't specify the ` checksum` field, or if the checksum does not
2362
+ # match the `$LATEST` version, you get a `PreconditionFailedException`
2363
+ # exception.
2364
+ #
2365
+ # @return [Types::PutSlotTypeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2366
+ #
2367
+ # * {Types::PutSlotTypeResponse#name #name} => String
2368
+ # * {Types::PutSlotTypeResponse#description #description} => String
2369
+ # * {Types::PutSlotTypeResponse#enumeration_values #enumeration_values} => Array&lt;Types::EnumerationValue&gt;
2370
+ # * {Types::PutSlotTypeResponse#last_updated_date #last_updated_date} => Time
2371
+ # * {Types::PutSlotTypeResponse#created_date #created_date} => Time
2372
+ # * {Types::PutSlotTypeResponse#version #version} => String
2373
+ # * {Types::PutSlotTypeResponse#checksum #checksum} => String
2374
+ #
2375
+ # @example Request syntax with placeholder values
2376
+ #
2377
+ # resp = client.put_slot_type({
2378
+ # name: "SlotTypeName", # required
2379
+ # description: "Description",
2380
+ # enumeration_values: [
2381
+ # {
2382
+ # value: "Value", # required
2383
+ # },
2384
+ # ],
2385
+ # checksum: "String",
2386
+ # })
2387
+ #
2388
+ # @example Response structure
2389
+ #
2390
+ # resp.name #=> String
2391
+ # resp.description #=> String
2392
+ # resp.enumeration_values #=> Array
2393
+ # resp.enumeration_values[0].value #=> String
2394
+ # resp.last_updated_date #=> Time
2395
+ # resp.created_date #=> Time
2396
+ # resp.version #=> String
2397
+ # resp.checksum #=> String
2398
+ #
2399
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/PutSlotType AWS API Documentation
2400
+ #
2401
+ # @overload put_slot_type(params = {})
2402
+ # @param [Hash] params ({})
2403
+ def put_slot_type(params = {}, options = {})
2404
+ req = build_request(:put_slot_type, params)
2405
+ req.send_request(options)
2406
+ end
2407
+
2408
+ # @!endgroup
2409
+
2410
+ # @param params ({})
2411
+ # @api private
2412
+ def build_request(operation_name, params = {})
2413
+ handlers = @handlers.for(operation_name)
2414
+ context = Seahorse::Client::RequestContext.new(
2415
+ operation_name: operation_name,
2416
+ operation: config.api.operation(operation_name),
2417
+ client: self,
2418
+ params: params,
2419
+ config: config)
2420
+ context[:gem_name] = 'aws-sdk-lexmodelbuildingservice'
2421
+ context[:gem_version] = '1.0.0.rc1'
2422
+ Seahorse::Client::Request.new(handlers, context)
2423
+ end
2424
+
2425
+ # @api private
2426
+ # @deprecated
2427
+ def waiter_names
2428
+ []
2429
+ end
2430
+
2431
+ class << self
2432
+
2433
+ # @api private
2434
+ attr_reader :identifier
2435
+
2436
+ # @api private
2437
+ def errors_module
2438
+ Errors
2439
+ end
2440
+
2441
+ end
2442
+ end
2443
+ end