/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace LexModelBuildingService { namespace Model { /** */ class StartMigrationRequest : public LexModelBuildingServiceRequest { public: AWS_LEXMODELBUILDINGSERVICE_API StartMigrationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "StartMigration"; } AWS_LEXMODELBUILDINGSERVICE_API Aws::String SerializePayload() const override; /** *

The name of the Amazon Lex V1 bot that you are migrating to Amazon Lex * V2.

*/ inline const Aws::String& GetV1BotName() const{ return m_v1BotName; } /** *

The name of the Amazon Lex V1 bot that you are migrating to Amazon Lex * V2.

*/ inline bool V1BotNameHasBeenSet() const { return m_v1BotNameHasBeenSet; } /** *

The name of the Amazon Lex V1 bot that you are migrating to Amazon Lex * V2.

*/ inline void SetV1BotName(const Aws::String& value) { m_v1BotNameHasBeenSet = true; m_v1BotName = value; } /** *

The name of the Amazon Lex V1 bot that you are migrating to Amazon Lex * V2.

*/ inline void SetV1BotName(Aws::String&& value) { m_v1BotNameHasBeenSet = true; m_v1BotName = std::move(value); } /** *

The name of the Amazon Lex V1 bot that you are migrating to Amazon Lex * V2.

*/ inline void SetV1BotName(const char* value) { m_v1BotNameHasBeenSet = true; m_v1BotName.assign(value); } /** *

The name of the Amazon Lex V1 bot that you are migrating to Amazon Lex * V2.

*/ inline StartMigrationRequest& WithV1BotName(const Aws::String& value) { SetV1BotName(value); return *this;} /** *

The name of the Amazon Lex V1 bot that you are migrating to Amazon Lex * V2.

*/ inline StartMigrationRequest& WithV1BotName(Aws::String&& value) { SetV1BotName(std::move(value)); return *this;} /** *

The name of the Amazon Lex V1 bot that you are migrating to Amazon Lex * V2.

*/ inline StartMigrationRequest& WithV1BotName(const char* value) { SetV1BotName(value); return *this;} /** *

The version of the bot to migrate to Amazon Lex V2. You can migrate the * $LATEST version as well as any numbered version.

*/ inline const Aws::String& GetV1BotVersion() const{ return m_v1BotVersion; } /** *

The version of the bot to migrate to Amazon Lex V2. You can migrate the * $LATEST version as well as any numbered version.

*/ inline bool V1BotVersionHasBeenSet() const { return m_v1BotVersionHasBeenSet; } /** *

The version of the bot to migrate to Amazon Lex V2. You can migrate the * $LATEST version as well as any numbered version.

*/ inline void SetV1BotVersion(const Aws::String& value) { m_v1BotVersionHasBeenSet = true; m_v1BotVersion = value; } /** *

The version of the bot to migrate to Amazon Lex V2. You can migrate the * $LATEST version as well as any numbered version.

*/ inline void SetV1BotVersion(Aws::String&& value) { m_v1BotVersionHasBeenSet = true; m_v1BotVersion = std::move(value); } /** *

The version of the bot to migrate to Amazon Lex V2. You can migrate the * $LATEST version as well as any numbered version.

*/ inline void SetV1BotVersion(const char* value) { m_v1BotVersionHasBeenSet = true; m_v1BotVersion.assign(value); } /** *

The version of the bot to migrate to Amazon Lex V2. You can migrate the * $LATEST version as well as any numbered version.

*/ inline StartMigrationRequest& WithV1BotVersion(const Aws::String& value) { SetV1BotVersion(value); return *this;} /** *

The version of the bot to migrate to Amazon Lex V2. You can migrate the * $LATEST version as well as any numbered version.

*/ inline StartMigrationRequest& WithV1BotVersion(Aws::String&& value) { SetV1BotVersion(std::move(value)); return *this;} /** *

The version of the bot to migrate to Amazon Lex V2. You can migrate the * $LATEST version as well as any numbered version.

*/ inline StartMigrationRequest& WithV1BotVersion(const char* value) { SetV1BotVersion(value); return *this;} /** *

The name of the Amazon Lex V2 bot that you are migrating the Amazon Lex V1 * bot to.

  • If the Amazon Lex V2 bot doesn't exist, you must use * the CREATE_NEW migration strategy.

  • If the Amazon * Lex V2 bot exists, you must use the UPDATE_EXISTING migration * strategy to change the contents of the Amazon Lex V2 bot.

*/ inline const Aws::String& GetV2BotName() const{ return m_v2BotName; } /** *

The name of the Amazon Lex V2 bot that you are migrating the Amazon Lex V1 * bot to.

  • If the Amazon Lex V2 bot doesn't exist, you must use * the CREATE_NEW migration strategy.

  • If the Amazon * Lex V2 bot exists, you must use the UPDATE_EXISTING migration * strategy to change the contents of the Amazon Lex V2 bot.

*/ inline bool V2BotNameHasBeenSet() const { return m_v2BotNameHasBeenSet; } /** *

The name of the Amazon Lex V2 bot that you are migrating the Amazon Lex V1 * bot to.

  • If the Amazon Lex V2 bot doesn't exist, you must use * the CREATE_NEW migration strategy.

  • If the Amazon * Lex V2 bot exists, you must use the UPDATE_EXISTING migration * strategy to change the contents of the Amazon Lex V2 bot.

*/ inline void SetV2BotName(const Aws::String& value) { m_v2BotNameHasBeenSet = true; m_v2BotName = value; } /** *

The name of the Amazon Lex V2 bot that you are migrating the Amazon Lex V1 * bot to.

  • If the Amazon Lex V2 bot doesn't exist, you must use * the CREATE_NEW migration strategy.

  • If the Amazon * Lex V2 bot exists, you must use the UPDATE_EXISTING migration * strategy to change the contents of the Amazon Lex V2 bot.

*/ inline void SetV2BotName(Aws::String&& value) { m_v2BotNameHasBeenSet = true; m_v2BotName = std::move(value); } /** *

The name of the Amazon Lex V2 bot that you are migrating the Amazon Lex V1 * bot to.

  • If the Amazon Lex V2 bot doesn't exist, you must use * the CREATE_NEW migration strategy.

  • If the Amazon * Lex V2 bot exists, you must use the UPDATE_EXISTING migration * strategy to change the contents of the Amazon Lex V2 bot.

*/ inline void SetV2BotName(const char* value) { m_v2BotNameHasBeenSet = true; m_v2BotName.assign(value); } /** *

The name of the Amazon Lex V2 bot that you are migrating the Amazon Lex V1 * bot to.

  • If the Amazon Lex V2 bot doesn't exist, you must use * the CREATE_NEW migration strategy.

  • If the Amazon * Lex V2 bot exists, you must use the UPDATE_EXISTING migration * strategy to change the contents of the Amazon Lex V2 bot.

*/ inline StartMigrationRequest& WithV2BotName(const Aws::String& value) { SetV2BotName(value); return *this;} /** *

The name of the Amazon Lex V2 bot that you are migrating the Amazon Lex V1 * bot to.

  • If the Amazon Lex V2 bot doesn't exist, you must use * the CREATE_NEW migration strategy.

  • If the Amazon * Lex V2 bot exists, you must use the UPDATE_EXISTING migration * strategy to change the contents of the Amazon Lex V2 bot.

*/ inline StartMigrationRequest& WithV2BotName(Aws::String&& value) { SetV2BotName(std::move(value)); return *this;} /** *

The name of the Amazon Lex V2 bot that you are migrating the Amazon Lex V1 * bot to.

  • If the Amazon Lex V2 bot doesn't exist, you must use * the CREATE_NEW migration strategy.

  • If the Amazon * Lex V2 bot exists, you must use the UPDATE_EXISTING migration * strategy to change the contents of the Amazon Lex V2 bot.

*/ inline StartMigrationRequest& WithV2BotName(const char* value) { SetV2BotName(value); return *this;} /** *

The IAM role that Amazon Lex uses to run the Amazon Lex V2 bot.

*/ inline const Aws::String& GetV2BotRole() const{ return m_v2BotRole; } /** *

The IAM role that Amazon Lex uses to run the Amazon Lex V2 bot.

*/ inline bool V2BotRoleHasBeenSet() const { return m_v2BotRoleHasBeenSet; } /** *

The IAM role that Amazon Lex uses to run the Amazon Lex V2 bot.

*/ inline void SetV2BotRole(const Aws::String& value) { m_v2BotRoleHasBeenSet = true; m_v2BotRole = value; } /** *

The IAM role that Amazon Lex uses to run the Amazon Lex V2 bot.

*/ inline void SetV2BotRole(Aws::String&& value) { m_v2BotRoleHasBeenSet = true; m_v2BotRole = std::move(value); } /** *

The IAM role that Amazon Lex uses to run the Amazon Lex V2 bot.

*/ inline void SetV2BotRole(const char* value) { m_v2BotRoleHasBeenSet = true; m_v2BotRole.assign(value); } /** *

The IAM role that Amazon Lex uses to run the Amazon Lex V2 bot.

*/ inline StartMigrationRequest& WithV2BotRole(const Aws::String& value) { SetV2BotRole(value); return *this;} /** *

The IAM role that Amazon Lex uses to run the Amazon Lex V2 bot.

*/ inline StartMigrationRequest& WithV2BotRole(Aws::String&& value) { SetV2BotRole(std::move(value)); return *this;} /** *

The IAM role that Amazon Lex uses to run the Amazon Lex V2 bot.

*/ inline StartMigrationRequest& WithV2BotRole(const char* value) { SetV2BotRole(value); return *this;} /** *

The strategy used to conduct the migration.

  • * CREATE_NEW - Creates a new Amazon Lex V2 bot and migrates the * Amazon Lex V1 bot to the new bot.

  • * UPDATE_EXISTING - Overwrites the existing Amazon Lex V2 bot * metadata and the locale being migrated. It doesn't change any other locales in * the Amazon Lex V2 bot. If the locale doesn't exist, a new locale is created in * the Amazon Lex V2 bot.

*/ inline const MigrationStrategy& GetMigrationStrategy() const{ return m_migrationStrategy; } /** *

The strategy used to conduct the migration.

  • * CREATE_NEW - Creates a new Amazon Lex V2 bot and migrates the * Amazon Lex V1 bot to the new bot.

  • * UPDATE_EXISTING - Overwrites the existing Amazon Lex V2 bot * metadata and the locale being migrated. It doesn't change any other locales in * the Amazon Lex V2 bot. If the locale doesn't exist, a new locale is created in * the Amazon Lex V2 bot.

*/ inline bool MigrationStrategyHasBeenSet() const { return m_migrationStrategyHasBeenSet; } /** *

The strategy used to conduct the migration.

  • * CREATE_NEW - Creates a new Amazon Lex V2 bot and migrates the * Amazon Lex V1 bot to the new bot.

  • * UPDATE_EXISTING - Overwrites the existing Amazon Lex V2 bot * metadata and the locale being migrated. It doesn't change any other locales in * the Amazon Lex V2 bot. If the locale doesn't exist, a new locale is created in * the Amazon Lex V2 bot.

*/ inline void SetMigrationStrategy(const MigrationStrategy& value) { m_migrationStrategyHasBeenSet = true; m_migrationStrategy = value; } /** *

The strategy used to conduct the migration.

  • * CREATE_NEW - Creates a new Amazon Lex V2 bot and migrates the * Amazon Lex V1 bot to the new bot.

  • * UPDATE_EXISTING - Overwrites the existing Amazon Lex V2 bot * metadata and the locale being migrated. It doesn't change any other locales in * the Amazon Lex V2 bot. If the locale doesn't exist, a new locale is created in * the Amazon Lex V2 bot.

*/ inline void SetMigrationStrategy(MigrationStrategy&& value) { m_migrationStrategyHasBeenSet = true; m_migrationStrategy = std::move(value); } /** *

The strategy used to conduct the migration.

  • * CREATE_NEW - Creates a new Amazon Lex V2 bot and migrates the * Amazon Lex V1 bot to the new bot.

  • * UPDATE_EXISTING - Overwrites the existing Amazon Lex V2 bot * metadata and the locale being migrated. It doesn't change any other locales in * the Amazon Lex V2 bot. If the locale doesn't exist, a new locale is created in * the Amazon Lex V2 bot.

*/ inline StartMigrationRequest& WithMigrationStrategy(const MigrationStrategy& value) { SetMigrationStrategy(value); return *this;} /** *

The strategy used to conduct the migration.

  • * CREATE_NEW - Creates a new Amazon Lex V2 bot and migrates the * Amazon Lex V1 bot to the new bot.

  • * UPDATE_EXISTING - Overwrites the existing Amazon Lex V2 bot * metadata and the locale being migrated. It doesn't change any other locales in * the Amazon Lex V2 bot. If the locale doesn't exist, a new locale is created in * the Amazon Lex V2 bot.

*/ inline StartMigrationRequest& WithMigrationStrategy(MigrationStrategy&& value) { SetMigrationStrategy(std::move(value)); return *this;} private: Aws::String m_v1BotName; bool m_v1BotNameHasBeenSet = false; Aws::String m_v1BotVersion; bool m_v1BotVersionHasBeenSet = false; Aws::String m_v2BotName; bool m_v2BotNameHasBeenSet = false; Aws::String m_v2BotRole; bool m_v2BotRoleHasBeenSet = false; MigrationStrategy m_migrationStrategy; bool m_migrationStrategyHasBeenSet = false; }; } // namespace Model } // namespace LexModelBuildingService } // namespace Aws