aws-sdk-lexmodelbuildingservice 1.45.0 → 1.46.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f703de2daf4e447953423f90fe91e227c7415e9f4b5802762c8e4515c399c1c7
4
- data.tar.gz: c861037f77318138dcb4a7313a7bfc6df23a282a7f819aa6fbe2ca2e898e200a
3
+ metadata.gz: 9f5755740c13a91eb367877ffb0a5741309091946f39e64cef6d5c5ca4550563
4
+ data.tar.gz: 4b7d0f522fa7e8c488465f8a622c1b9b9ad315dd347e41167124c5e6c9570428
5
5
  SHA512:
6
- metadata.gz: 5ddf216435a43087876718da41cebddb20104a6bc2425a447f3e66a556ab31edb3392b1515b0cfd1fc4c2181fc7bdca73e430e7ea904721f08da720ebe54802a
7
- data.tar.gz: 456cb972a839a8c7e19e2532bb0c86e06411c5b237e0bc7f45a5bb8690012d7ca475269424e029554739a77092b4adce9d705f121d6326b9d5870e19649b295c
6
+ metadata.gz: af35de5b421ccc392be40b44600874843a0f50d89e7011b6bdc64254e35cbad872fe2ed397e5e0f1865affcd98ffaac55c6cd585d2ccb865a376a5e9cf663375
7
+ data.tar.gz: 72dec499140f91329fb8653d9b784df27e6d331107bc26c3fde8d3792331a97838bac07d5dfbe40bff3371039cc8e9ec456c9a324f764cb07b0fbecefa51e764
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.46.0 (2021-07-13)
5
+ ------------------
6
+
7
+ * Feature - Customers can now migrate bots built with Lex V1 APIs to V2 APIs. This release adds APIs to initiate and manage the migration of a bot.
8
+
4
9
  1.45.0 (2021-04-01)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.45.0
1
+ 1.46.0
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-lexmodelbuildingservice/customizations'
48
48
  # @!group service
49
49
  module Aws::LexModelBuildingService
50
50
 
51
- GEM_VERSION = '1.45.0'
51
+ GEM_VERSION = '1.46.0'
52
52
 
53
53
  end
@@ -2175,6 +2175,129 @@ module Aws::LexModelBuildingService
2175
2175
  req.send_request(options)
2176
2176
  end
2177
2177
 
2178
+ # Provides details about an ongoing or complete migration from an Amazon
2179
+ # Lex V1 bot to an Amazon Lex V2 bot. Use this operation to view the
2180
+ # migration alerts and warnings related to the migration.
2181
+ #
2182
+ # @option params [required, String] :migration_id
2183
+ # The unique identifier of the migration to view. The `migrationID` is
2184
+ # returned by the operation.
2185
+ #
2186
+ # @return [Types::GetMigrationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2187
+ #
2188
+ # * {Types::GetMigrationResponse#migration_id #migration_id} => String
2189
+ # * {Types::GetMigrationResponse#v1_bot_name #v1_bot_name} => String
2190
+ # * {Types::GetMigrationResponse#v1_bot_version #v1_bot_version} => String
2191
+ # * {Types::GetMigrationResponse#v1_bot_locale #v1_bot_locale} => String
2192
+ # * {Types::GetMigrationResponse#v2_bot_id #v2_bot_id} => String
2193
+ # * {Types::GetMigrationResponse#v2_bot_role #v2_bot_role} => String
2194
+ # * {Types::GetMigrationResponse#migration_status #migration_status} => String
2195
+ # * {Types::GetMigrationResponse#migration_strategy #migration_strategy} => String
2196
+ # * {Types::GetMigrationResponse#migration_timestamp #migration_timestamp} => Time
2197
+ # * {Types::GetMigrationResponse#alerts #alerts} => Array<Types::MigrationAlert>
2198
+ #
2199
+ # @example Request syntax with placeholder values
2200
+ #
2201
+ # resp = client.get_migration({
2202
+ # migration_id: "MigrationId", # required
2203
+ # })
2204
+ #
2205
+ # @example Response structure
2206
+ #
2207
+ # resp.migration_id #=> String
2208
+ # resp.v1_bot_name #=> String
2209
+ # resp.v1_bot_version #=> String
2210
+ # resp.v1_bot_locale #=> String, one of "de-DE", "en-AU", "en-GB", "en-US", "es-419", "es-ES", "es-US", "fr-FR", "fr-CA", "it-IT", "ja-JP"
2211
+ # resp.v2_bot_id #=> String
2212
+ # resp.v2_bot_role #=> String
2213
+ # resp.migration_status #=> String, one of "IN_PROGRESS", "COMPLETED", "FAILED"
2214
+ # resp.migration_strategy #=> String, one of "CREATE_NEW", "UPDATE_EXISTING"
2215
+ # resp.migration_timestamp #=> Time
2216
+ # resp.alerts #=> Array
2217
+ # resp.alerts[0].type #=> String, one of "ERROR", "WARN"
2218
+ # resp.alerts[0].message #=> String
2219
+ # resp.alerts[0].details #=> Array
2220
+ # resp.alerts[0].details[0] #=> String
2221
+ # resp.alerts[0].reference_urls #=> Array
2222
+ # resp.alerts[0].reference_urls[0] #=> String
2223
+ #
2224
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetMigration AWS API Documentation
2225
+ #
2226
+ # @overload get_migration(params = {})
2227
+ # @param [Hash] params ({})
2228
+ def get_migration(params = {}, options = {})
2229
+ req = build_request(:get_migration, params)
2230
+ req.send_request(options)
2231
+ end
2232
+
2233
+ # Gets a list of migrations between Amazon Lex V1 and Amazon Lex V2.
2234
+ #
2235
+ # @option params [String] :sort_by_attribute
2236
+ # The field to sort the list of migrations by. You can sort by the
2237
+ # Amazon Lex V1 bot name or the date and time that the migration was
2238
+ # started.
2239
+ #
2240
+ # @option params [String] :sort_by_order
2241
+ # The order so sort the list.
2242
+ #
2243
+ # @option params [String] :v1_bot_name_contains
2244
+ # Filters the list to contain only bots whose name contains the
2245
+ # specified string. The string is matched anywhere in bot name.
2246
+ #
2247
+ # @option params [String] :migration_status_equals
2248
+ # Filters the list to contain only migrations in the specified state.
2249
+ #
2250
+ # @option params [Integer] :max_results
2251
+ # The maximum number of migrations to return in the response. The
2252
+ # default is 10.
2253
+ #
2254
+ # @option params [String] :next_token
2255
+ # A pagination token that fetches the next page of migrations. If the
2256
+ # response to this operation is truncated, Amazon Lex returns a
2257
+ # pagination token in the response. To fetch the next page of
2258
+ # migrations, specify the pagination token in the request.
2259
+ #
2260
+ # @return [Types::GetMigrationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2261
+ #
2262
+ # * {Types::GetMigrationsResponse#migration_summaries #migration_summaries} => Array<Types::MigrationSummary>
2263
+ # * {Types::GetMigrationsResponse#next_token #next_token} => String
2264
+ #
2265
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2266
+ #
2267
+ # @example Request syntax with placeholder values
2268
+ #
2269
+ # resp = client.get_migrations({
2270
+ # sort_by_attribute: "V1_BOT_NAME", # accepts V1_BOT_NAME, MIGRATION_DATE_TIME
2271
+ # sort_by_order: "ASCENDING", # accepts ASCENDING, DESCENDING
2272
+ # v1_bot_name_contains: "BotName",
2273
+ # migration_status_equals: "IN_PROGRESS", # accepts IN_PROGRESS, COMPLETED, FAILED
2274
+ # max_results: 1,
2275
+ # next_token: "NextToken",
2276
+ # })
2277
+ #
2278
+ # @example Response structure
2279
+ #
2280
+ # resp.migration_summaries #=> Array
2281
+ # resp.migration_summaries[0].migration_id #=> String
2282
+ # resp.migration_summaries[0].v1_bot_name #=> String
2283
+ # resp.migration_summaries[0].v1_bot_version #=> String
2284
+ # resp.migration_summaries[0].v1_bot_locale #=> String, one of "de-DE", "en-AU", "en-GB", "en-US", "es-419", "es-ES", "es-US", "fr-FR", "fr-CA", "it-IT", "ja-JP"
2285
+ # resp.migration_summaries[0].v2_bot_id #=> String
2286
+ # resp.migration_summaries[0].v2_bot_role #=> String
2287
+ # resp.migration_summaries[0].migration_status #=> String, one of "IN_PROGRESS", "COMPLETED", "FAILED"
2288
+ # resp.migration_summaries[0].migration_strategy #=> String, one of "CREATE_NEW", "UPDATE_EXISTING"
2289
+ # resp.migration_summaries[0].migration_timestamp #=> Time
2290
+ # resp.next_token #=> String
2291
+ #
2292
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetMigrations AWS API Documentation
2293
+ #
2294
+ # @overload get_migrations(params = {})
2295
+ # @param [Hash] params ({})
2296
+ def get_migrations(params = {}, options = {})
2297
+ req = build_request(:get_migrations, params)
2298
+ req.send_request(options)
2299
+ end
2300
+
2178
2301
  # Returns information about a specific version of a slot type. In
2179
2302
  # addition to specifying the slot type name, you must specify the slot
2180
2303
  # type version.
@@ -2440,9 +2563,10 @@ module Aws::LexModelBuildingService
2440
2563
  # contains information about a maximum of 100 utterances for each
2441
2564
  # version.
2442
2565
  #
2443
- # If you set `childDirected` field to true when you created your bot, or
2444
- # if you opted out of participating in improving Amazon Lex, utterances
2445
- # are not available.
2566
+ # If you set `childDirected` field to true when you created your bot, if
2567
+ # you are using slot obfuscation with one or more slots, or if you opted
2568
+ # out of participating in improving Amazon Lex, utterances are not
2569
+ # available.
2446
2570
  #
2447
2571
  # This operation requires permissions for the `lex:GetUtterancesView`
2448
2572
  # action.
@@ -4086,6 +4210,90 @@ module Aws::LexModelBuildingService
4086
4210
  req.send_request(options)
4087
4211
  end
4088
4212
 
4213
+ # Starts migrating a bot from Amazon Lex V1 to Amazon Lex V2. Migrate
4214
+ # your bot when you want to take advantage of the new features of Amazon
4215
+ # Lex V2.
4216
+ #
4217
+ # For more information, see [Migrating a bot][1] in the *Amazon Lex
4218
+ # developer guide*.
4219
+ #
4220
+ #
4221
+ #
4222
+ # [1]: https://docs.aws.amazon.com/lex/latest/dg/migrate.html
4223
+ #
4224
+ # @option params [required, String] :v1_bot_name
4225
+ # The name of the Amazon Lex V1 bot that you are migrating to Amazon Lex
4226
+ # V2.
4227
+ #
4228
+ # @option params [required, String] :v1_bot_version
4229
+ # The version of the bot to migrate to Amazon Lex V2. You can migrate
4230
+ # the `$LATEST` version as well as any numbered version.
4231
+ #
4232
+ # @option params [required, String] :v2_bot_name
4233
+ # The name of the Amazon Lex V2 bot that you are migrating the Amazon
4234
+ # Lex V1 bot to.
4235
+ #
4236
+ # * If the Amazon Lex V2 bot doesn't exist, you must use the
4237
+ # `CREATE_NEW` migration strategy.
4238
+ #
4239
+ # * If the Amazon Lex V2 bot exists, you must use the `UPDATE_EXISTING`
4240
+ # migration strategy to change the contents of the Amazon Lex V2 bot.
4241
+ #
4242
+ # @option params [required, String] :v2_bot_role
4243
+ # The IAM role that Amazon Lex uses to run the Amazon Lex V2 bot.
4244
+ #
4245
+ # @option params [required, String] :migration_strategy
4246
+ # The strategy used to conduct the migration.
4247
+ #
4248
+ # * `CREATE_NEW` - Creates a new Amazon Lex V2 bot and migrates the
4249
+ # Amazon Lex V1 bot to the new bot.
4250
+ #
4251
+ # * `UPDATE_EXISTING` - Overwrites the existing Amazon Lex V2 bot
4252
+ # metadata and the locale being migrated. It doesn't change any other
4253
+ # locales in the Amazon Lex V2 bot. If the locale doesn't exist, a
4254
+ # new locale is created in the Amazon Lex V2 bot.
4255
+ #
4256
+ # @return [Types::StartMigrationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4257
+ #
4258
+ # * {Types::StartMigrationResponse#v1_bot_name #v1_bot_name} => String
4259
+ # * {Types::StartMigrationResponse#v1_bot_version #v1_bot_version} => String
4260
+ # * {Types::StartMigrationResponse#v1_bot_locale #v1_bot_locale} => String
4261
+ # * {Types::StartMigrationResponse#v2_bot_id #v2_bot_id} => String
4262
+ # * {Types::StartMigrationResponse#v2_bot_role #v2_bot_role} => String
4263
+ # * {Types::StartMigrationResponse#migration_id #migration_id} => String
4264
+ # * {Types::StartMigrationResponse#migration_strategy #migration_strategy} => String
4265
+ # * {Types::StartMigrationResponse#migration_timestamp #migration_timestamp} => Time
4266
+ #
4267
+ # @example Request syntax with placeholder values
4268
+ #
4269
+ # resp = client.start_migration({
4270
+ # v1_bot_name: "BotName", # required
4271
+ # v1_bot_version: "Version", # required
4272
+ # v2_bot_name: "V2BotName", # required
4273
+ # v2_bot_role: "IamRoleArn", # required
4274
+ # migration_strategy: "CREATE_NEW", # required, accepts CREATE_NEW, UPDATE_EXISTING
4275
+ # })
4276
+ #
4277
+ # @example Response structure
4278
+ #
4279
+ # resp.v1_bot_name #=> String
4280
+ # resp.v1_bot_version #=> String
4281
+ # resp.v1_bot_locale #=> String, one of "de-DE", "en-AU", "en-GB", "en-US", "es-419", "es-ES", "es-US", "fr-FR", "fr-CA", "it-IT", "ja-JP"
4282
+ # resp.v2_bot_id #=> String
4283
+ # resp.v2_bot_role #=> String
4284
+ # resp.migration_id #=> String
4285
+ # resp.migration_strategy #=> String, one of "CREATE_NEW", "UPDATE_EXISTING"
4286
+ # resp.migration_timestamp #=> Time
4287
+ #
4288
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/StartMigration AWS API Documentation
4289
+ #
4290
+ # @overload start_migration(params = {})
4291
+ # @param [Hash] params ({})
4292
+ def start_migration(params = {}, options = {})
4293
+ req = build_request(:start_migration, params)
4294
+ req.send_request(options)
4295
+ end
4296
+
4089
4297
  # Adds the specified tags to the specified resource. If a tag key
4090
4298
  # already exists, the existing value is replaced with the new value.
4091
4299
  #
@@ -4161,7 +4369,7 @@ module Aws::LexModelBuildingService
4161
4369
  params: params,
4162
4370
  config: config)
4163
4371
  context[:gem_name] = 'aws-sdk-lexmodelbuildingservice'
4164
- context[:gem_version] = '1.45.0'
4372
+ context[:gem_version] = '1.46.0'
4165
4373
  Seahorse::Client::Request.new(handlers, context)
4166
4374
  end
4167
4375
 
@@ -13,6 +13,7 @@ module Aws::LexModelBuildingService
13
13
 
14
14
  include Seahorse::Model
15
15
 
16
+ AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
16
17
  AliasName = Shapes::StringShape.new(name: 'AliasName')
17
18
  AliasNameOrListAll = Shapes::StringShape.new(name: 'AliasNameOrListAll')
18
19
  AmazonResourceName = Shapes::StringShape.new(name: 'AmazonResourceName')
@@ -104,6 +105,10 @@ module Aws::LexModelBuildingService
104
105
  GetIntentVersionsResponse = Shapes::StructureShape.new(name: 'GetIntentVersionsResponse')
105
106
  GetIntentsRequest = Shapes::StructureShape.new(name: 'GetIntentsRequest')
106
107
  GetIntentsResponse = Shapes::StructureShape.new(name: 'GetIntentsResponse')
108
+ GetMigrationRequest = Shapes::StructureShape.new(name: 'GetMigrationRequest')
109
+ GetMigrationResponse = Shapes::StructureShape.new(name: 'GetMigrationResponse')
110
+ GetMigrationsRequest = Shapes::StructureShape.new(name: 'GetMigrationsRequest')
111
+ GetMigrationsResponse = Shapes::StructureShape.new(name: 'GetMigrationsResponse')
107
112
  GetSlotTypeRequest = Shapes::StructureShape.new(name: 'GetSlotTypeRequest')
108
113
  GetSlotTypeResponse = Shapes::StructureShape.new(name: 'GetSlotTypeResponse')
109
114
  GetSlotTypeVersionsRequest = Shapes::StructureShape.new(name: 'GetSlotTypeVersionsRequest')
@@ -146,6 +151,20 @@ module Aws::LexModelBuildingService
146
151
  Message = Shapes::StructureShape.new(name: 'Message')
147
152
  MessageList = Shapes::ListShape.new(name: 'MessageList')
148
153
  MessageVersion = Shapes::StringShape.new(name: 'MessageVersion')
154
+ MigrationAlert = Shapes::StructureShape.new(name: 'MigrationAlert')
155
+ MigrationAlertDetail = Shapes::StringShape.new(name: 'MigrationAlertDetail')
156
+ MigrationAlertDetails = Shapes::ListShape.new(name: 'MigrationAlertDetails')
157
+ MigrationAlertMessage = Shapes::StringShape.new(name: 'MigrationAlertMessage')
158
+ MigrationAlertReferenceURL = Shapes::StringShape.new(name: 'MigrationAlertReferenceURL')
159
+ MigrationAlertReferenceURLs = Shapes::ListShape.new(name: 'MigrationAlertReferenceURLs')
160
+ MigrationAlertType = Shapes::StringShape.new(name: 'MigrationAlertType')
161
+ MigrationAlerts = Shapes::ListShape.new(name: 'MigrationAlerts')
162
+ MigrationId = Shapes::StringShape.new(name: 'MigrationId')
163
+ MigrationSortAttribute = Shapes::StringShape.new(name: 'MigrationSortAttribute')
164
+ MigrationStatus = Shapes::StringShape.new(name: 'MigrationStatus')
165
+ MigrationStrategy = Shapes::StringShape.new(name: 'MigrationStrategy')
166
+ MigrationSummary = Shapes::StructureShape.new(name: 'MigrationSummary')
167
+ MigrationSummaryList = Shapes::ListShape.new(name: 'MigrationSummaryList')
149
168
  Name = Shapes::StringShape.new(name: 'Name')
150
169
  NextToken = Shapes::StringShape.new(name: 'NextToken')
151
170
  NotFoundException = Shapes::StructureShape.new(name: 'NotFoundException')
@@ -193,8 +212,11 @@ module Aws::LexModelBuildingService
193
212
  SlotTypeRegexConfiguration = Shapes::StructureShape.new(name: 'SlotTypeRegexConfiguration')
194
213
  SlotUtteranceList = Shapes::ListShape.new(name: 'SlotUtteranceList')
195
214
  SlotValueSelectionStrategy = Shapes::StringShape.new(name: 'SlotValueSelectionStrategy')
215
+ SortOrder = Shapes::StringShape.new(name: 'SortOrder')
196
216
  StartImportRequest = Shapes::StructureShape.new(name: 'StartImportRequest')
197
217
  StartImportResponse = Shapes::StructureShape.new(name: 'StartImportResponse')
218
+ StartMigrationRequest = Shapes::StructureShape.new(name: 'StartMigrationRequest')
219
+ StartMigrationResponse = Shapes::StructureShape.new(name: 'StartMigrationResponse')
198
220
  Statement = Shapes::StructureShape.new(name: 'Statement')
199
221
  Status = Shapes::StringShape.new(name: 'Status')
200
222
  StatusType = Shapes::StringShape.new(name: 'StatusType')
@@ -216,10 +238,15 @@ module Aws::LexModelBuildingService
216
238
  UtteranceData = Shapes::StructureShape.new(name: 'UtteranceData')
217
239
  UtteranceList = Shapes::StructureShape.new(name: 'UtteranceList')
218
240
  UtteranceString = Shapes::StringShape.new(name: 'UtteranceString')
241
+ V2BotId = Shapes::StringShape.new(name: 'V2BotId')
242
+ V2BotName = Shapes::StringShape.new(name: 'V2BotName')
219
243
  Value = Shapes::StringShape.new(name: 'Value')
220
244
  Version = Shapes::StringShape.new(name: 'Version')
221
245
  roleArn = Shapes::StringShape.new(name: 'roleArn')
222
246
 
247
+ AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
248
+ AccessDeniedException.struct_class = Types::AccessDeniedException
249
+
223
250
  BadRequestException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
224
251
  BadRequestException.struct_class = Types::BadRequestException
225
252
 
@@ -596,6 +623,33 @@ module Aws::LexModelBuildingService
596
623
  GetIntentsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
597
624
  GetIntentsResponse.struct_class = Types::GetIntentsResponse
598
625
 
626
+ GetMigrationRequest.add_member(:migration_id, Shapes::ShapeRef.new(shape: MigrationId, required: true, location: "uri", location_name: "migrationId"))
627
+ GetMigrationRequest.struct_class = Types::GetMigrationRequest
628
+
629
+ GetMigrationResponse.add_member(:migration_id, Shapes::ShapeRef.new(shape: MigrationId, location_name: "migrationId"))
630
+ GetMigrationResponse.add_member(:v1_bot_name, Shapes::ShapeRef.new(shape: BotName, location_name: "v1BotName"))
631
+ GetMigrationResponse.add_member(:v1_bot_version, Shapes::ShapeRef.new(shape: Version, location_name: "v1BotVersion"))
632
+ GetMigrationResponse.add_member(:v1_bot_locale, Shapes::ShapeRef.new(shape: Locale, location_name: "v1BotLocale"))
633
+ GetMigrationResponse.add_member(:v2_bot_id, Shapes::ShapeRef.new(shape: V2BotId, location_name: "v2BotId"))
634
+ GetMigrationResponse.add_member(:v2_bot_role, Shapes::ShapeRef.new(shape: IamRoleArn, location_name: "v2BotRole"))
635
+ GetMigrationResponse.add_member(:migration_status, Shapes::ShapeRef.new(shape: MigrationStatus, location_name: "migrationStatus"))
636
+ GetMigrationResponse.add_member(:migration_strategy, Shapes::ShapeRef.new(shape: MigrationStrategy, location_name: "migrationStrategy"))
637
+ GetMigrationResponse.add_member(:migration_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "migrationTimestamp"))
638
+ GetMigrationResponse.add_member(:alerts, Shapes::ShapeRef.new(shape: MigrationAlerts, location_name: "alerts"))
639
+ GetMigrationResponse.struct_class = Types::GetMigrationResponse
640
+
641
+ GetMigrationsRequest.add_member(:sort_by_attribute, Shapes::ShapeRef.new(shape: MigrationSortAttribute, location: "querystring", location_name: "sortByAttribute"))
642
+ GetMigrationsRequest.add_member(:sort_by_order, Shapes::ShapeRef.new(shape: SortOrder, location: "querystring", location_name: "sortByOrder"))
643
+ GetMigrationsRequest.add_member(:v1_bot_name_contains, Shapes::ShapeRef.new(shape: BotName, location: "querystring", location_name: "v1BotNameContains"))
644
+ GetMigrationsRequest.add_member(:migration_status_equals, Shapes::ShapeRef.new(shape: MigrationStatus, location: "querystring", location_name: "migrationStatusEquals"))
645
+ GetMigrationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
646
+ GetMigrationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
647
+ GetMigrationsRequest.struct_class = Types::GetMigrationsRequest
648
+
649
+ GetMigrationsResponse.add_member(:migration_summaries, Shapes::ShapeRef.new(shape: MigrationSummaryList, location_name: "migrationSummaries"))
650
+ GetMigrationsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
651
+ GetMigrationsResponse.struct_class = Types::GetMigrationsResponse
652
+
599
653
  GetSlotTypeRequest.add_member(:name, Shapes::ShapeRef.new(shape: SlotTypeName, required: true, location: "uri", location_name: "name"))
600
654
  GetSlotTypeRequest.add_member(:version, Shapes::ShapeRef.new(shape: Version, required: true, location: "uri", location_name: "version"))
601
655
  GetSlotTypeRequest.struct_class = Types::GetSlotTypeRequest
@@ -709,6 +763,31 @@ module Aws::LexModelBuildingService
709
763
 
710
764
  MessageList.member = Shapes::ShapeRef.new(shape: Message)
711
765
 
766
+ MigrationAlert.add_member(:type, Shapes::ShapeRef.new(shape: MigrationAlertType, location_name: "type"))
767
+ MigrationAlert.add_member(:message, Shapes::ShapeRef.new(shape: MigrationAlertMessage, location_name: "message"))
768
+ MigrationAlert.add_member(:details, Shapes::ShapeRef.new(shape: MigrationAlertDetails, location_name: "details"))
769
+ MigrationAlert.add_member(:reference_urls, Shapes::ShapeRef.new(shape: MigrationAlertReferenceURLs, location_name: "referenceURLs"))
770
+ MigrationAlert.struct_class = Types::MigrationAlert
771
+
772
+ MigrationAlertDetails.member = Shapes::ShapeRef.new(shape: MigrationAlertDetail)
773
+
774
+ MigrationAlertReferenceURLs.member = Shapes::ShapeRef.new(shape: MigrationAlertReferenceURL)
775
+
776
+ MigrationAlerts.member = Shapes::ShapeRef.new(shape: MigrationAlert)
777
+
778
+ MigrationSummary.add_member(:migration_id, Shapes::ShapeRef.new(shape: MigrationId, location_name: "migrationId"))
779
+ MigrationSummary.add_member(:v1_bot_name, Shapes::ShapeRef.new(shape: BotName, location_name: "v1BotName"))
780
+ MigrationSummary.add_member(:v1_bot_version, Shapes::ShapeRef.new(shape: Version, location_name: "v1BotVersion"))
781
+ MigrationSummary.add_member(:v1_bot_locale, Shapes::ShapeRef.new(shape: Locale, location_name: "v1BotLocale"))
782
+ MigrationSummary.add_member(:v2_bot_id, Shapes::ShapeRef.new(shape: V2BotId, location_name: "v2BotId"))
783
+ MigrationSummary.add_member(:v2_bot_role, Shapes::ShapeRef.new(shape: IamRoleArn, location_name: "v2BotRole"))
784
+ MigrationSummary.add_member(:migration_status, Shapes::ShapeRef.new(shape: MigrationStatus, location_name: "migrationStatus"))
785
+ MigrationSummary.add_member(:migration_strategy, Shapes::ShapeRef.new(shape: MigrationStrategy, location_name: "migrationStrategy"))
786
+ MigrationSummary.add_member(:migration_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "migrationTimestamp"))
787
+ MigrationSummary.struct_class = Types::MigrationSummary
788
+
789
+ MigrationSummaryList.member = Shapes::ShapeRef.new(shape: MigrationSummary)
790
+
712
791
  NotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
713
792
  NotFoundException.struct_class = Types::NotFoundException
714
793
 
@@ -914,6 +993,23 @@ module Aws::LexModelBuildingService
914
993
  StartImportResponse.add_member(:created_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "createdDate"))
915
994
  StartImportResponse.struct_class = Types::StartImportResponse
916
995
 
996
+ StartMigrationRequest.add_member(:v1_bot_name, Shapes::ShapeRef.new(shape: BotName, required: true, location_name: "v1BotName"))
997
+ StartMigrationRequest.add_member(:v1_bot_version, Shapes::ShapeRef.new(shape: Version, required: true, location_name: "v1BotVersion"))
998
+ StartMigrationRequest.add_member(:v2_bot_name, Shapes::ShapeRef.new(shape: V2BotName, required: true, location_name: "v2BotName"))
999
+ StartMigrationRequest.add_member(:v2_bot_role, Shapes::ShapeRef.new(shape: IamRoleArn, required: true, location_name: "v2BotRole"))
1000
+ StartMigrationRequest.add_member(:migration_strategy, Shapes::ShapeRef.new(shape: MigrationStrategy, required: true, location_name: "migrationStrategy"))
1001
+ StartMigrationRequest.struct_class = Types::StartMigrationRequest
1002
+
1003
+ StartMigrationResponse.add_member(:v1_bot_name, Shapes::ShapeRef.new(shape: BotName, location_name: "v1BotName"))
1004
+ StartMigrationResponse.add_member(:v1_bot_version, Shapes::ShapeRef.new(shape: Version, location_name: "v1BotVersion"))
1005
+ StartMigrationResponse.add_member(:v1_bot_locale, Shapes::ShapeRef.new(shape: Locale, location_name: "v1BotLocale"))
1006
+ StartMigrationResponse.add_member(:v2_bot_id, Shapes::ShapeRef.new(shape: V2BotId, location_name: "v2BotId"))
1007
+ StartMigrationResponse.add_member(:v2_bot_role, Shapes::ShapeRef.new(shape: IamRoleArn, location_name: "v2BotRole"))
1008
+ StartMigrationResponse.add_member(:migration_id, Shapes::ShapeRef.new(shape: MigrationId, location_name: "migrationId"))
1009
+ StartMigrationResponse.add_member(:migration_strategy, Shapes::ShapeRef.new(shape: MigrationStrategy, location_name: "migrationStrategy"))
1010
+ StartMigrationResponse.add_member(:migration_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "migrationTimestamp"))
1011
+ StartMigrationResponse.struct_class = Types::StartMigrationResponse
1012
+
917
1013
  Statement.add_member(:messages, Shapes::ShapeRef.new(shape: MessageList, required: true, location_name: "messages"))
918
1014
  Statement.add_member(:response_card, Shapes::ShapeRef.new(shape: ResponseCard, location_name: "responseCard"))
919
1015
  Statement.struct_class = Types::Statement
@@ -1360,6 +1456,35 @@ module Aws::LexModelBuildingService
1360
1456
  )
1361
1457
  end)
1362
1458
 
1459
+ api.add_operation(:get_migration, Seahorse::Model::Operation.new.tap do |o|
1460
+ o.name = "GetMigration"
1461
+ o.http_method = "GET"
1462
+ o.http_request_uri = "/migrations/{migrationId}"
1463
+ o.input = Shapes::ShapeRef.new(shape: GetMigrationRequest)
1464
+ o.output = Shapes::ShapeRef.new(shape: GetMigrationResponse)
1465
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1466
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
1467
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
1468
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
1469
+ end)
1470
+
1471
+ api.add_operation(:get_migrations, Seahorse::Model::Operation.new.tap do |o|
1472
+ o.name = "GetMigrations"
1473
+ o.http_method = "GET"
1474
+ o.http_request_uri = "/migrations"
1475
+ o.input = Shapes::ShapeRef.new(shape: GetMigrationsRequest)
1476
+ o.output = Shapes::ShapeRef.new(shape: GetMigrationsResponse)
1477
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1478
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
1479
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
1480
+ o[:pager] = Aws::Pager.new(
1481
+ limit_key: "max_results",
1482
+ tokens: {
1483
+ "next_token" => "next_token"
1484
+ }
1485
+ )
1486
+ end)
1487
+
1363
1488
  api.add_operation(:get_slot_type, Seahorse::Model::Operation.new.tap do |o|
1364
1489
  o.name = "GetSlotType"
1365
1490
  o.http_method = "GET"
@@ -1494,6 +1619,19 @@ module Aws::LexModelBuildingService
1494
1619
  o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
1495
1620
  end)
1496
1621
 
1622
+ api.add_operation(:start_migration, Seahorse::Model::Operation.new.tap do |o|
1623
+ o.name = "StartMigration"
1624
+ o.http_method = "POST"
1625
+ o.http_request_uri = "/migrations"
1626
+ o.input = Shapes::ShapeRef.new(shape: StartMigrationRequest)
1627
+ o.output = Shapes::ShapeRef.new(shape: StartMigrationResponse)
1628
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1629
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
1630
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
1631
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1632
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
1633
+ end)
1634
+
1497
1635
  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
1498
1636
  o.name = "TagResource"
1499
1637
  o.http_method = "POST"
@@ -27,6 +27,7 @@ module Aws::LexModelBuildingService
27
27
  # See {Seahorse::Client::RequestContext} for more information.
28
28
  #
29
29
  # ## Error Classes
30
+ # * {AccessDeniedException}
30
31
  # * {BadRequestException}
31
32
  # * {ConflictException}
32
33
  # * {InternalFailureException}
@@ -41,6 +42,21 @@ module Aws::LexModelBuildingService
41
42
 
42
43
  extend Aws::Errors::DynamicErrors
43
44
 
45
+ class AccessDeniedException < ServiceError
46
+
47
+ # @param [Seahorse::Client::RequestContext] context
48
+ # @param [String] message
49
+ # @param [Aws::LexModelBuildingService::Types::AccessDeniedException] data
50
+ def initialize(context, message, data = Aws::EmptyStructure.new)
51
+ super(context, message, data)
52
+ end
53
+
54
+ # @return [String]
55
+ def message
56
+ @message || @data[:message]
57
+ end
58
+ end
59
+
44
60
  class BadRequestException < ServiceError
45
61
 
46
62
  # @param [Seahorse::Client::RequestContext] context
@@ -10,6 +10,20 @@
10
10
  module Aws::LexModelBuildingService
11
11
  module Types
12
12
 
13
+ # Your IAM user or role does not have permission to call the Amazon Lex
14
+ # V2 APIs required to migrate your bot.
15
+ #
16
+ # @!attribute [rw] message
17
+ # @return [String]
18
+ #
19
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/AccessDeniedException AWS API Documentation
20
+ #
21
+ class AccessDeniedException < Struct.new(
22
+ :message)
23
+ SENSITIVE = []
24
+ include Aws::Structure
25
+ end
26
+
13
27
  # The request is not well formed. For example, a value is invalid or a
14
28
  # required field is missing. Check the field values, and try again.
15
29
  #
@@ -2311,6 +2325,183 @@ module Aws::LexModelBuildingService
2311
2325
  include Aws::Structure
2312
2326
  end
2313
2327
 
2328
+ # @note When making an API call, you may pass GetMigrationRequest
2329
+ # data as a hash:
2330
+ #
2331
+ # {
2332
+ # migration_id: "MigrationId", # required
2333
+ # }
2334
+ #
2335
+ # @!attribute [rw] migration_id
2336
+ # The unique identifier of the migration to view. The `migrationID` is
2337
+ # returned by the operation.
2338
+ # @return [String]
2339
+ #
2340
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetMigrationRequest AWS API Documentation
2341
+ #
2342
+ class GetMigrationRequest < Struct.new(
2343
+ :migration_id)
2344
+ SENSITIVE = []
2345
+ include Aws::Structure
2346
+ end
2347
+
2348
+ # @!attribute [rw] migration_id
2349
+ # The unique identifier of the migration. This is the same as the
2350
+ # identifier used when calling the `GetMigration` operation.
2351
+ # @return [String]
2352
+ #
2353
+ # @!attribute [rw] v1_bot_name
2354
+ # The name of the Amazon Lex V1 bot migrated to Amazon Lex V2.
2355
+ # @return [String]
2356
+ #
2357
+ # @!attribute [rw] v1_bot_version
2358
+ # The version of the Amazon Lex V1 bot migrated to Amazon Lex V2.
2359
+ # @return [String]
2360
+ #
2361
+ # @!attribute [rw] v1_bot_locale
2362
+ # The locale of the Amazon Lex V1 bot migrated to Amazon Lex V2.
2363
+ # @return [String]
2364
+ #
2365
+ # @!attribute [rw] v2_bot_id
2366
+ # The unique identifier of the Amazon Lex V2 bot that the Amazon Lex
2367
+ # V1 is being migrated to.
2368
+ # @return [String]
2369
+ #
2370
+ # @!attribute [rw] v2_bot_role
2371
+ # The IAM role that Amazon Lex uses to run the Amazon Lex V2 bot.
2372
+ # @return [String]
2373
+ #
2374
+ # @!attribute [rw] migration_status
2375
+ # Indicates the status of the migration. When the status is `COMPLETE`
2376
+ # the migration is finished and the bot is available in Amazon Lex V2.
2377
+ # There may be alerts and warnings that need to be resolved to
2378
+ # complete the migration.
2379
+ # @return [String]
2380
+ #
2381
+ # @!attribute [rw] migration_strategy
2382
+ # The strategy used to conduct the migration.
2383
+ #
2384
+ # * `CREATE_NEW` - Creates a new Amazon Lex V2 bot and migrates the
2385
+ # Amazon Lex V1 bot to the new bot.
2386
+ #
2387
+ # * `UPDATE_EXISTING` - Overwrites the existing Amazon Lex V2 bot
2388
+ # metadata and the locale being migrated. It doesn't change any
2389
+ # other locales in the Amazon Lex V2 bot. If the locale doesn't
2390
+ # exist, a new locale is created in the Amazon Lex V2 bot.
2391
+ # @return [String]
2392
+ #
2393
+ # @!attribute [rw] migration_timestamp
2394
+ # The date and time that the migration started.
2395
+ # @return [Time]
2396
+ #
2397
+ # @!attribute [rw] alerts
2398
+ # A list of alerts and warnings that indicate issues with the
2399
+ # migration for the Amazon Lex V1 bot to Amazon Lex V2. You receive a
2400
+ # warning when an Amazon Lex V1 feature has a different implementation
2401
+ # if Amazon Lex V2.
2402
+ #
2403
+ # For more information, see [Migrating a bot][1] in the *Amazon Lex V2
2404
+ # developer guide*.
2405
+ #
2406
+ #
2407
+ #
2408
+ # [1]: https://docs.aws.amazon.com/lexv2/latest/dg/migrate.html
2409
+ # @return [Array<Types::MigrationAlert>]
2410
+ #
2411
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetMigrationResponse AWS API Documentation
2412
+ #
2413
+ class GetMigrationResponse < Struct.new(
2414
+ :migration_id,
2415
+ :v1_bot_name,
2416
+ :v1_bot_version,
2417
+ :v1_bot_locale,
2418
+ :v2_bot_id,
2419
+ :v2_bot_role,
2420
+ :migration_status,
2421
+ :migration_strategy,
2422
+ :migration_timestamp,
2423
+ :alerts)
2424
+ SENSITIVE = []
2425
+ include Aws::Structure
2426
+ end
2427
+
2428
+ # @note When making an API call, you may pass GetMigrationsRequest
2429
+ # data as a hash:
2430
+ #
2431
+ # {
2432
+ # sort_by_attribute: "V1_BOT_NAME", # accepts V1_BOT_NAME, MIGRATION_DATE_TIME
2433
+ # sort_by_order: "ASCENDING", # accepts ASCENDING, DESCENDING
2434
+ # v1_bot_name_contains: "BotName",
2435
+ # migration_status_equals: "IN_PROGRESS", # accepts IN_PROGRESS, COMPLETED, FAILED
2436
+ # max_results: 1,
2437
+ # next_token: "NextToken",
2438
+ # }
2439
+ #
2440
+ # @!attribute [rw] sort_by_attribute
2441
+ # The field to sort the list of migrations by. You can sort by the
2442
+ # Amazon Lex V1 bot name or the date and time that the migration was
2443
+ # started.
2444
+ # @return [String]
2445
+ #
2446
+ # @!attribute [rw] sort_by_order
2447
+ # The order so sort the list.
2448
+ # @return [String]
2449
+ #
2450
+ # @!attribute [rw] v1_bot_name_contains
2451
+ # Filters the list to contain only bots whose name contains the
2452
+ # specified string. The string is matched anywhere in bot name.
2453
+ # @return [String]
2454
+ #
2455
+ # @!attribute [rw] migration_status_equals
2456
+ # Filters the list to contain only migrations in the specified state.
2457
+ # @return [String]
2458
+ #
2459
+ # @!attribute [rw] max_results
2460
+ # The maximum number of migrations to return in the response. The
2461
+ # default is 10.
2462
+ # @return [Integer]
2463
+ #
2464
+ # @!attribute [rw] next_token
2465
+ # A pagination token that fetches the next page of migrations. If the
2466
+ # response to this operation is truncated, Amazon Lex returns a
2467
+ # pagination token in the response. To fetch the next page of
2468
+ # migrations, specify the pagination token in the request.
2469
+ # @return [String]
2470
+ #
2471
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetMigrationsRequest AWS API Documentation
2472
+ #
2473
+ class GetMigrationsRequest < Struct.new(
2474
+ :sort_by_attribute,
2475
+ :sort_by_order,
2476
+ :v1_bot_name_contains,
2477
+ :migration_status_equals,
2478
+ :max_results,
2479
+ :next_token)
2480
+ SENSITIVE = []
2481
+ include Aws::Structure
2482
+ end
2483
+
2484
+ # @!attribute [rw] migration_summaries
2485
+ # An array of summaries for migrations from Amazon Lex V1 to Amazon
2486
+ # Lex V2. To see details of the migration, use the `migrationId` from
2487
+ # the summary in a call to the operation.
2488
+ # @return [Array<Types::MigrationSummary>]
2489
+ #
2490
+ # @!attribute [rw] next_token
2491
+ # If the response is truncated, it includes a pagination token that
2492
+ # you can specify in your next request to fetch the next page of
2493
+ # migrations.
2494
+ # @return [String]
2495
+ #
2496
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/GetMigrationsResponse AWS API Documentation
2497
+ #
2498
+ class GetMigrationsResponse < Struct.new(
2499
+ :migration_summaries,
2500
+ :next_token)
2501
+ SENSITIVE = []
2502
+ include Aws::Structure
2503
+ end
2504
+
2314
2505
  # @note When making an API call, you may pass GetSlotTypeRequest
2315
2506
  # data as a hash:
2316
2507
  #
@@ -2889,6 +3080,106 @@ module Aws::LexModelBuildingService
2889
3080
  include Aws::Structure
2890
3081
  end
2891
3082
 
3083
+ # Provides information about alerts and warnings that Amazon Lex sends
3084
+ # during a migration. The alerts include information about how to
3085
+ # resolve the issue.
3086
+ #
3087
+ # @!attribute [rw] type
3088
+ # The type of alert. There are two kinds of alerts:
3089
+ #
3090
+ # * `ERROR` - There was an issue with the migration that can't be
3091
+ # resolved. The migration stops.
3092
+ #
3093
+ # * `WARN` - There was an issue with the migration that requires
3094
+ # manual changes to the new Amazon Lex V2 bot. The migration
3095
+ # continues.
3096
+ # @return [String]
3097
+ #
3098
+ # @!attribute [rw] message
3099
+ # A message that describes why the alert was issued.
3100
+ # @return [String]
3101
+ #
3102
+ # @!attribute [rw] details
3103
+ # Additional details about the alert.
3104
+ # @return [Array<String>]
3105
+ #
3106
+ # @!attribute [rw] reference_urls
3107
+ # A link to the Amazon Lex documentation that describes how to resolve
3108
+ # the alert.
3109
+ # @return [Array<String>]
3110
+ #
3111
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/MigrationAlert AWS API Documentation
3112
+ #
3113
+ class MigrationAlert < Struct.new(
3114
+ :type,
3115
+ :message,
3116
+ :details,
3117
+ :reference_urls)
3118
+ SENSITIVE = []
3119
+ include Aws::Structure
3120
+ end
3121
+
3122
+ # Provides information about migrating a bot from Amazon Lex V1 to
3123
+ # Amazon Lex V2.
3124
+ #
3125
+ # @!attribute [rw] migration_id
3126
+ # The unique identifier that Amazon Lex assigned to the migration.
3127
+ # @return [String]
3128
+ #
3129
+ # @!attribute [rw] v1_bot_name
3130
+ # The name of the Amazon Lex V1 bot that is the source of the
3131
+ # migration.
3132
+ # @return [String]
3133
+ #
3134
+ # @!attribute [rw] v1_bot_version
3135
+ # The version of the Amazon Lex V1 bot that is the source of the
3136
+ # migration.
3137
+ # @return [String]
3138
+ #
3139
+ # @!attribute [rw] v1_bot_locale
3140
+ # The locale of the Amazon Lex V1 bot that is the source of the
3141
+ # migration.
3142
+ # @return [String]
3143
+ #
3144
+ # @!attribute [rw] v2_bot_id
3145
+ # The unique identifier of the Amazon Lex V2 that is the destination
3146
+ # of the migration.
3147
+ # @return [String]
3148
+ #
3149
+ # @!attribute [rw] v2_bot_role
3150
+ # The IAM role that Amazon Lex uses to run the Amazon Lex V2 bot.
3151
+ # @return [String]
3152
+ #
3153
+ # @!attribute [rw] migration_status
3154
+ # The status of the operation. When the status is `COMPLETE` the bot
3155
+ # is available in Amazon Lex V2. There may be alerts and warnings that
3156
+ # need to be resolved to complete the migration.
3157
+ # @return [String]
3158
+ #
3159
+ # @!attribute [rw] migration_strategy
3160
+ # The strategy used to conduct the migration.
3161
+ # @return [String]
3162
+ #
3163
+ # @!attribute [rw] migration_timestamp
3164
+ # The date and time that the migration started.
3165
+ # @return [Time]
3166
+ #
3167
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/MigrationSummary AWS API Documentation
3168
+ #
3169
+ class MigrationSummary < Struct.new(
3170
+ :migration_id,
3171
+ :v1_bot_name,
3172
+ :v1_bot_version,
3173
+ :v1_bot_locale,
3174
+ :v2_bot_id,
3175
+ :v2_bot_role,
3176
+ :migration_status,
3177
+ :migration_strategy,
3178
+ :migration_timestamp)
3179
+ SENSITIVE = []
3180
+ include Aws::Structure
3181
+ end
3182
+
2892
3183
  # The resource specified in the request was not found. Check the
2893
3184
  # resource and try again.
2894
3185
  #
@@ -4740,6 +5031,115 @@ module Aws::LexModelBuildingService
4740
5031
  include Aws::Structure
4741
5032
  end
4742
5033
 
5034
+ # @note When making an API call, you may pass StartMigrationRequest
5035
+ # data as a hash:
5036
+ #
5037
+ # {
5038
+ # v1_bot_name: "BotName", # required
5039
+ # v1_bot_version: "Version", # required
5040
+ # v2_bot_name: "V2BotName", # required
5041
+ # v2_bot_role: "IamRoleArn", # required
5042
+ # migration_strategy: "CREATE_NEW", # required, accepts CREATE_NEW, UPDATE_EXISTING
5043
+ # }
5044
+ #
5045
+ # @!attribute [rw] v1_bot_name
5046
+ # The name of the Amazon Lex V1 bot that you are migrating to Amazon
5047
+ # Lex V2.
5048
+ # @return [String]
5049
+ #
5050
+ # @!attribute [rw] v1_bot_version
5051
+ # The version of the bot to migrate to Amazon Lex V2. You can migrate
5052
+ # the `$LATEST` version as well as any numbered version.
5053
+ # @return [String]
5054
+ #
5055
+ # @!attribute [rw] v2_bot_name
5056
+ # The name of the Amazon Lex V2 bot that you are migrating the Amazon
5057
+ # Lex V1 bot to.
5058
+ #
5059
+ # * If the Amazon Lex V2 bot doesn't exist, you must use the
5060
+ # `CREATE_NEW` migration strategy.
5061
+ #
5062
+ # * If the Amazon Lex V2 bot exists, you must use the
5063
+ # `UPDATE_EXISTING` migration strategy to change the contents of the
5064
+ # Amazon Lex V2 bot.
5065
+ # @return [String]
5066
+ #
5067
+ # @!attribute [rw] v2_bot_role
5068
+ # The IAM role that Amazon Lex uses to run the Amazon Lex V2 bot.
5069
+ # @return [String]
5070
+ #
5071
+ # @!attribute [rw] migration_strategy
5072
+ # The strategy used to conduct the migration.
5073
+ #
5074
+ # * `CREATE_NEW` - Creates a new Amazon Lex V2 bot and migrates the
5075
+ # Amazon Lex V1 bot to the new bot.
5076
+ #
5077
+ # * `UPDATE_EXISTING` - Overwrites the existing Amazon Lex V2 bot
5078
+ # metadata and the locale being migrated. It doesn't change any
5079
+ # other locales in the Amazon Lex V2 bot. If the locale doesn't
5080
+ # exist, a new locale is created in the Amazon Lex V2 bot.
5081
+ # @return [String]
5082
+ #
5083
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/StartMigrationRequest AWS API Documentation
5084
+ #
5085
+ class StartMigrationRequest < Struct.new(
5086
+ :v1_bot_name,
5087
+ :v1_bot_version,
5088
+ :v2_bot_name,
5089
+ :v2_bot_role,
5090
+ :migration_strategy)
5091
+ SENSITIVE = []
5092
+ include Aws::Structure
5093
+ end
5094
+
5095
+ # @!attribute [rw] v1_bot_name
5096
+ # The name of the Amazon Lex V1 bot that you are migrating to Amazon
5097
+ # Lex V2.
5098
+ # @return [String]
5099
+ #
5100
+ # @!attribute [rw] v1_bot_version
5101
+ # The version of the bot to migrate to Amazon Lex V2.
5102
+ # @return [String]
5103
+ #
5104
+ # @!attribute [rw] v1_bot_locale
5105
+ # The locale used for the Amazon Lex V1 bot.
5106
+ # @return [String]
5107
+ #
5108
+ # @!attribute [rw] v2_bot_id
5109
+ # The unique identifier for the Amazon Lex V2 bot.
5110
+ # @return [String]
5111
+ #
5112
+ # @!attribute [rw] v2_bot_role
5113
+ # The IAM role that Amazon Lex uses to run the Amazon Lex V2 bot.
5114
+ # @return [String]
5115
+ #
5116
+ # @!attribute [rw] migration_id
5117
+ # The unique identifier that Amazon Lex assigned to the migration.
5118
+ # @return [String]
5119
+ #
5120
+ # @!attribute [rw] migration_strategy
5121
+ # The strategy used to conduct the migration.
5122
+ # @return [String]
5123
+ #
5124
+ # @!attribute [rw] migration_timestamp
5125
+ # The date and time that the migration started.
5126
+ # @return [Time]
5127
+ #
5128
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/StartMigrationResponse AWS API Documentation
5129
+ #
5130
+ class StartMigrationResponse < Struct.new(
5131
+ :v1_bot_name,
5132
+ :v1_bot_version,
5133
+ :v1_bot_locale,
5134
+ :v2_bot_id,
5135
+ :v2_bot_role,
5136
+ :migration_id,
5137
+ :migration_strategy,
5138
+ :migration_timestamp)
5139
+ SENSITIVE = []
5140
+ include Aws::Structure
5141
+ end
5142
+
4743
5143
  # A collection of messages that convey information to the user. At
4744
5144
  # runtime, Amazon Lex selects the message to convey.
4745
5145
  #
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-lexmodelbuildingservice
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.45.0
4
+ version: 1.46.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-01 00:00:00.000000000 Z
11
+ date: 2021-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -83,8 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
83
83
  - !ruby/object:Gem::Version
84
84
  version: '0'
85
85
  requirements: []
86
- rubyforge_project:
87
- rubygems_version: 2.7.6.2
86
+ rubygems_version: 3.1.6
88
87
  signing_key:
89
88
  specification_version: 4
90
89
  summary: AWS SDK for Ruby - Amazon Lex Model Building Service