aws-sdk-lexmodelbuildingservice 1.0.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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