/** * 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 #include #include namespace Aws { namespace MigrationHubStrategyRecommendations { namespace Model { /** */ class UpdateApplicationComponentConfigRequest : public MigrationHubStrategyRecommendationsRequest { public: AWS_MIGRATIONHUBSTRATEGYRECOMMENDATIONS_API UpdateApplicationComponentConfigRequest(); // 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 "UpdateApplicationComponentConfig"; } AWS_MIGRATIONHUBSTRATEGYRECOMMENDATIONS_API Aws::String SerializePayload() const override; /** *

The type of known component.

*/ inline const AppType& GetAppType() const{ return m_appType; } /** *

The type of known component.

*/ inline bool AppTypeHasBeenSet() const { return m_appTypeHasBeenSet; } /** *

The type of known component.

*/ inline void SetAppType(const AppType& value) { m_appTypeHasBeenSet = true; m_appType = value; } /** *

The type of known component.

*/ inline void SetAppType(AppType&& value) { m_appTypeHasBeenSet = true; m_appType = std::move(value); } /** *

The type of known component.

*/ inline UpdateApplicationComponentConfigRequest& WithAppType(const AppType& value) { SetAppType(value); return *this;} /** *

The type of known component.

*/ inline UpdateApplicationComponentConfigRequest& WithAppType(AppType&& value) { SetAppType(std::move(value)); return *this;} /** *

The ID of the application component. The ID is unique within an AWS account. *

*/ inline const Aws::String& GetApplicationComponentId() const{ return m_applicationComponentId; } /** *

The ID of the application component. The ID is unique within an AWS account. *

*/ inline bool ApplicationComponentIdHasBeenSet() const { return m_applicationComponentIdHasBeenSet; } /** *

The ID of the application component. The ID is unique within an AWS account. *

*/ inline void SetApplicationComponentId(const Aws::String& value) { m_applicationComponentIdHasBeenSet = true; m_applicationComponentId = value; } /** *

The ID of the application component. The ID is unique within an AWS account. *

*/ inline void SetApplicationComponentId(Aws::String&& value) { m_applicationComponentIdHasBeenSet = true; m_applicationComponentId = std::move(value); } /** *

The ID of the application component. The ID is unique within an AWS account. *

*/ inline void SetApplicationComponentId(const char* value) { m_applicationComponentIdHasBeenSet = true; m_applicationComponentId.assign(value); } /** *

The ID of the application component. The ID is unique within an AWS account. *

*/ inline UpdateApplicationComponentConfigRequest& WithApplicationComponentId(const Aws::String& value) { SetApplicationComponentId(value); return *this;} /** *

The ID of the application component. The ID is unique within an AWS account. *

*/ inline UpdateApplicationComponentConfigRequest& WithApplicationComponentId(Aws::String&& value) { SetApplicationComponentId(std::move(value)); return *this;} /** *

The ID of the application component. The ID is unique within an AWS account. *

*/ inline UpdateApplicationComponentConfigRequest& WithApplicationComponentId(const char* value) { SetApplicationComponentId(value); return *this;} /** *

Update the configuration request of an application component. If it is set to * true, the source code and/or database credentials are updated. If it is set to * false, the source code and/or database credentials are updated and an analysis * is initiated.

*/ inline bool GetConfigureOnly() const{ return m_configureOnly; } /** *

Update the configuration request of an application component. If it is set to * true, the source code and/or database credentials are updated. If it is set to * false, the source code and/or database credentials are updated and an analysis * is initiated.

*/ inline bool ConfigureOnlyHasBeenSet() const { return m_configureOnlyHasBeenSet; } /** *

Update the configuration request of an application component. If it is set to * true, the source code and/or database credentials are updated. If it is set to * false, the source code and/or database credentials are updated and an analysis * is initiated.

*/ inline void SetConfigureOnly(bool value) { m_configureOnlyHasBeenSet = true; m_configureOnly = value; } /** *

Update the configuration request of an application component. If it is set to * true, the source code and/or database credentials are updated. If it is set to * false, the source code and/or database credentials are updated and an analysis * is initiated.

*/ inline UpdateApplicationComponentConfigRequest& WithConfigureOnly(bool value) { SetConfigureOnly(value); return *this;} /** *

Indicates whether the application component has been included for server * recommendation or not.

*/ inline const InclusionStatus& GetInclusionStatus() const{ return m_inclusionStatus; } /** *

Indicates whether the application component has been included for server * recommendation or not.

*/ inline bool InclusionStatusHasBeenSet() const { return m_inclusionStatusHasBeenSet; } /** *

Indicates whether the application component has been included for server * recommendation or not.

*/ inline void SetInclusionStatus(const InclusionStatus& value) { m_inclusionStatusHasBeenSet = true; m_inclusionStatus = value; } /** *

Indicates whether the application component has been included for server * recommendation or not.

*/ inline void SetInclusionStatus(InclusionStatus&& value) { m_inclusionStatusHasBeenSet = true; m_inclusionStatus = std::move(value); } /** *

Indicates whether the application component has been included for server * recommendation or not.

*/ inline UpdateApplicationComponentConfigRequest& WithInclusionStatus(const InclusionStatus& value) { SetInclusionStatus(value); return *this;} /** *

Indicates whether the application component has been included for server * recommendation or not.

*/ inline UpdateApplicationComponentConfigRequest& WithInclusionStatus(InclusionStatus&& value) { SetInclusionStatus(std::move(value)); return *this;} /** *

Database credentials.

*/ inline const Aws::String& GetSecretsManagerKey() const{ return m_secretsManagerKey; } /** *

Database credentials.

*/ inline bool SecretsManagerKeyHasBeenSet() const { return m_secretsManagerKeyHasBeenSet; } /** *

Database credentials.

*/ inline void SetSecretsManagerKey(const Aws::String& value) { m_secretsManagerKeyHasBeenSet = true; m_secretsManagerKey = value; } /** *

Database credentials.

*/ inline void SetSecretsManagerKey(Aws::String&& value) { m_secretsManagerKeyHasBeenSet = true; m_secretsManagerKey = std::move(value); } /** *

Database credentials.

*/ inline void SetSecretsManagerKey(const char* value) { m_secretsManagerKeyHasBeenSet = true; m_secretsManagerKey.assign(value); } /** *

Database credentials.

*/ inline UpdateApplicationComponentConfigRequest& WithSecretsManagerKey(const Aws::String& value) { SetSecretsManagerKey(value); return *this;} /** *

Database credentials.

*/ inline UpdateApplicationComponentConfigRequest& WithSecretsManagerKey(Aws::String&& value) { SetSecretsManagerKey(std::move(value)); return *this;} /** *

Database credentials.

*/ inline UpdateApplicationComponentConfigRequest& WithSecretsManagerKey(const char* value) { SetSecretsManagerKey(value); return *this;} /** *

The list of source code configurations to update for the application * component.

*/ inline const Aws::Vector& GetSourceCodeList() const{ return m_sourceCodeList; } /** *

The list of source code configurations to update for the application * component.

*/ inline bool SourceCodeListHasBeenSet() const { return m_sourceCodeListHasBeenSet; } /** *

The list of source code configurations to update for the application * component.

*/ inline void SetSourceCodeList(const Aws::Vector& value) { m_sourceCodeListHasBeenSet = true; m_sourceCodeList = value; } /** *

The list of source code configurations to update for the application * component.

*/ inline void SetSourceCodeList(Aws::Vector&& value) { m_sourceCodeListHasBeenSet = true; m_sourceCodeList = std::move(value); } /** *

The list of source code configurations to update for the application * component.

*/ inline UpdateApplicationComponentConfigRequest& WithSourceCodeList(const Aws::Vector& value) { SetSourceCodeList(value); return *this;} /** *

The list of source code configurations to update for the application * component.

*/ inline UpdateApplicationComponentConfigRequest& WithSourceCodeList(Aws::Vector&& value) { SetSourceCodeList(std::move(value)); return *this;} /** *

The list of source code configurations to update for the application * component.

*/ inline UpdateApplicationComponentConfigRequest& AddSourceCodeList(const SourceCode& value) { m_sourceCodeListHasBeenSet = true; m_sourceCodeList.push_back(value); return *this; } /** *

The list of source code configurations to update for the application * component.

*/ inline UpdateApplicationComponentConfigRequest& AddSourceCodeList(SourceCode&& value) { m_sourceCodeListHasBeenSet = true; m_sourceCodeList.push_back(std::move(value)); return *this; } /** *

The preferred strategy options for the application component. Use values * from the GetApplicationComponentStrategies response.

*/ inline const StrategyOption& GetStrategyOption() const{ return m_strategyOption; } /** *

The preferred strategy options for the application component. Use values * from the GetApplicationComponentStrategies response.

*/ inline bool StrategyOptionHasBeenSet() const { return m_strategyOptionHasBeenSet; } /** *

The preferred strategy options for the application component. Use values * from the GetApplicationComponentStrategies response.

*/ inline void SetStrategyOption(const StrategyOption& value) { m_strategyOptionHasBeenSet = true; m_strategyOption = value; } /** *

The preferred strategy options for the application component. Use values * from the GetApplicationComponentStrategies response.

*/ inline void SetStrategyOption(StrategyOption&& value) { m_strategyOptionHasBeenSet = true; m_strategyOption = std::move(value); } /** *

The preferred strategy options for the application component. Use values * from the GetApplicationComponentStrategies response.

*/ inline UpdateApplicationComponentConfigRequest& WithStrategyOption(const StrategyOption& value) { SetStrategyOption(value); return *this;} /** *

The preferred strategy options for the application component. Use values * from the GetApplicationComponentStrategies response.

*/ inline UpdateApplicationComponentConfigRequest& WithStrategyOption(StrategyOption&& value) { SetStrategyOption(std::move(value)); return *this;} private: AppType m_appType; bool m_appTypeHasBeenSet = false; Aws::String m_applicationComponentId; bool m_applicationComponentIdHasBeenSet = false; bool m_configureOnly; bool m_configureOnlyHasBeenSet = false; InclusionStatus m_inclusionStatus; bool m_inclusionStatusHasBeenSet = false; Aws::String m_secretsManagerKey; bool m_secretsManagerKeyHasBeenSet = false; Aws::Vector m_sourceCodeList; bool m_sourceCodeListHasBeenSet = false; StrategyOption m_strategyOption; bool m_strategyOptionHasBeenSet = false; }; } // namespace Model } // namespace MigrationHubStrategyRecommendations } // namespace Aws