/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace MigrationHubStrategyRecommendations { namespace Model { /** */ class PutPortfolioPreferencesRequest : public MigrationHubStrategyRecommendationsRequest { public: AWS_MIGRATIONHUBSTRATEGYRECOMMENDATIONS_API PutPortfolioPreferencesRequest(); // 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 "PutPortfolioPreferences"; } AWS_MIGRATIONHUBSTRATEGYRECOMMENDATIONS_API Aws::String SerializePayload() const override; /** *

The classification for application component types.

*/ inline const ApplicationMode& GetApplicationMode() const{ return m_applicationMode; } /** *

The classification for application component types.

*/ inline bool ApplicationModeHasBeenSet() const { return m_applicationModeHasBeenSet; } /** *

The classification for application component types.

*/ inline void SetApplicationMode(const ApplicationMode& value) { m_applicationModeHasBeenSet = true; m_applicationMode = value; } /** *

The classification for application component types.

*/ inline void SetApplicationMode(ApplicationMode&& value) { m_applicationModeHasBeenSet = true; m_applicationMode = std::move(value); } /** *

The classification for application component types.

*/ inline PutPortfolioPreferencesRequest& WithApplicationMode(const ApplicationMode& value) { SetApplicationMode(value); return *this;} /** *

The classification for application component types.

*/ inline PutPortfolioPreferencesRequest& WithApplicationMode(ApplicationMode&& value) { SetApplicationMode(std::move(value)); return *this;} /** *

The transformation preferences for non-database applications.

*/ inline const ApplicationPreferences& GetApplicationPreferences() const{ return m_applicationPreferences; } /** *

The transformation preferences for non-database applications.

*/ inline bool ApplicationPreferencesHasBeenSet() const { return m_applicationPreferencesHasBeenSet; } /** *

The transformation preferences for non-database applications.

*/ inline void SetApplicationPreferences(const ApplicationPreferences& value) { m_applicationPreferencesHasBeenSet = true; m_applicationPreferences = value; } /** *

The transformation preferences for non-database applications.

*/ inline void SetApplicationPreferences(ApplicationPreferences&& value) { m_applicationPreferencesHasBeenSet = true; m_applicationPreferences = std::move(value); } /** *

The transformation preferences for non-database applications.

*/ inline PutPortfolioPreferencesRequest& WithApplicationPreferences(const ApplicationPreferences& value) { SetApplicationPreferences(value); return *this;} /** *

The transformation preferences for non-database applications.

*/ inline PutPortfolioPreferencesRequest& WithApplicationPreferences(ApplicationPreferences&& value) { SetApplicationPreferences(std::move(value)); return *this;} /** *

The transformation preferences for database applications.

*/ inline const DatabasePreferences& GetDatabasePreferences() const{ return m_databasePreferences; } /** *

The transformation preferences for database applications.

*/ inline bool DatabasePreferencesHasBeenSet() const { return m_databasePreferencesHasBeenSet; } /** *

The transformation preferences for database applications.

*/ inline void SetDatabasePreferences(const DatabasePreferences& value) { m_databasePreferencesHasBeenSet = true; m_databasePreferences = value; } /** *

The transformation preferences for database applications.

*/ inline void SetDatabasePreferences(DatabasePreferences&& value) { m_databasePreferencesHasBeenSet = true; m_databasePreferences = std::move(value); } /** *

The transformation preferences for database applications.

*/ inline PutPortfolioPreferencesRequest& WithDatabasePreferences(const DatabasePreferences& value) { SetDatabasePreferences(value); return *this;} /** *

The transformation preferences for database applications.

*/ inline PutPortfolioPreferencesRequest& WithDatabasePreferences(DatabasePreferences&& value) { SetDatabasePreferences(std::move(value)); return *this;} /** *

The rank of the business goals based on priority.

*/ inline const PrioritizeBusinessGoals& GetPrioritizeBusinessGoals() const{ return m_prioritizeBusinessGoals; } /** *

The rank of the business goals based on priority.

*/ inline bool PrioritizeBusinessGoalsHasBeenSet() const { return m_prioritizeBusinessGoalsHasBeenSet; } /** *

The rank of the business goals based on priority.

*/ inline void SetPrioritizeBusinessGoals(const PrioritizeBusinessGoals& value) { m_prioritizeBusinessGoalsHasBeenSet = true; m_prioritizeBusinessGoals = value; } /** *

The rank of the business goals based on priority.

*/ inline void SetPrioritizeBusinessGoals(PrioritizeBusinessGoals&& value) { m_prioritizeBusinessGoalsHasBeenSet = true; m_prioritizeBusinessGoals = std::move(value); } /** *

The rank of the business goals based on priority.

*/ inline PutPortfolioPreferencesRequest& WithPrioritizeBusinessGoals(const PrioritizeBusinessGoals& value) { SetPrioritizeBusinessGoals(value); return *this;} /** *

The rank of the business goals based on priority.

*/ inline PutPortfolioPreferencesRequest& WithPrioritizeBusinessGoals(PrioritizeBusinessGoals&& value) { SetPrioritizeBusinessGoals(std::move(value)); return *this;} private: ApplicationMode m_applicationMode; bool m_applicationModeHasBeenSet = false; ApplicationPreferences m_applicationPreferences; bool m_applicationPreferencesHasBeenSet = false; DatabasePreferences m_databasePreferences; bool m_databasePreferencesHasBeenSet = false; PrioritizeBusinessGoals m_prioritizeBusinessGoals; bool m_prioritizeBusinessGoalsHasBeenSet = false; }; } // namespace Model } // namespace MigrationHubStrategyRecommendations } // namespace Aws