/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace ApplicationInsights { namespace Model { /** */ class UpdateApplicationRequest : public ApplicationInsightsRequest { public: AWS_APPLICATIONINSIGHTS_API UpdateApplicationRequest(); // 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 "UpdateApplication"; } AWS_APPLICATIONINSIGHTS_API Aws::String SerializePayload() const override; AWS_APPLICATIONINSIGHTS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the resource group.

*/ inline const Aws::String& GetResourceGroupName() const{ return m_resourceGroupName; } /** *

The name of the resource group.

*/ inline bool ResourceGroupNameHasBeenSet() const { return m_resourceGroupNameHasBeenSet; } /** *

The name of the resource group.

*/ inline void SetResourceGroupName(const Aws::String& value) { m_resourceGroupNameHasBeenSet = true; m_resourceGroupName = value; } /** *

The name of the resource group.

*/ inline void SetResourceGroupName(Aws::String&& value) { m_resourceGroupNameHasBeenSet = true; m_resourceGroupName = std::move(value); } /** *

The name of the resource group.

*/ inline void SetResourceGroupName(const char* value) { m_resourceGroupNameHasBeenSet = true; m_resourceGroupName.assign(value); } /** *

The name of the resource group.

*/ inline UpdateApplicationRequest& WithResourceGroupName(const Aws::String& value) { SetResourceGroupName(value); return *this;} /** *

The name of the resource group.

*/ inline UpdateApplicationRequest& WithResourceGroupName(Aws::String&& value) { SetResourceGroupName(std::move(value)); return *this;} /** *

The name of the resource group.

*/ inline UpdateApplicationRequest& WithResourceGroupName(const char* value) { SetResourceGroupName(value); return *this;} /** *

When set to true, creates opsItems for any problems detected on * an application.

*/ inline bool GetOpsCenterEnabled() const{ return m_opsCenterEnabled; } /** *

When set to true, creates opsItems for any problems detected on * an application.

*/ inline bool OpsCenterEnabledHasBeenSet() const { return m_opsCenterEnabledHasBeenSet; } /** *

When set to true, creates opsItems for any problems detected on * an application.

*/ inline void SetOpsCenterEnabled(bool value) { m_opsCenterEnabledHasBeenSet = true; m_opsCenterEnabled = value; } /** *

When set to true, creates opsItems for any problems detected on * an application.

*/ inline UpdateApplicationRequest& WithOpsCenterEnabled(bool value) { SetOpsCenterEnabled(value); return *this;} /** *

Indicates whether Application Insights can listen to CloudWatch events for * the application resources, such as instance terminated, * failed deployment, and others.

*/ inline bool GetCWEMonitorEnabled() const{ return m_cWEMonitorEnabled; } /** *

Indicates whether Application Insights can listen to CloudWatch events for * the application resources, such as instance terminated, * failed deployment, and others.

*/ inline bool CWEMonitorEnabledHasBeenSet() const { return m_cWEMonitorEnabledHasBeenSet; } /** *

Indicates whether Application Insights can listen to CloudWatch events for * the application resources, such as instance terminated, * failed deployment, and others.

*/ inline void SetCWEMonitorEnabled(bool value) { m_cWEMonitorEnabledHasBeenSet = true; m_cWEMonitorEnabled = value; } /** *

Indicates whether Application Insights can listen to CloudWatch events for * the application resources, such as instance terminated, * failed deployment, and others.

*/ inline UpdateApplicationRequest& WithCWEMonitorEnabled(bool value) { SetCWEMonitorEnabled(value); return *this;} /** *

The SNS topic provided to Application Insights that is associated to the * created opsItem. Allows you to receive notifications for updates to the * opsItem.

*/ inline const Aws::String& GetOpsItemSNSTopicArn() const{ return m_opsItemSNSTopicArn; } /** *

The SNS topic provided to Application Insights that is associated to the * created opsItem. Allows you to receive notifications for updates to the * opsItem.

*/ inline bool OpsItemSNSTopicArnHasBeenSet() const { return m_opsItemSNSTopicArnHasBeenSet; } /** *

The SNS topic provided to Application Insights that is associated to the * created opsItem. Allows you to receive notifications for updates to the * opsItem.

*/ inline void SetOpsItemSNSTopicArn(const Aws::String& value) { m_opsItemSNSTopicArnHasBeenSet = true; m_opsItemSNSTopicArn = value; } /** *

The SNS topic provided to Application Insights that is associated to the * created opsItem. Allows you to receive notifications for updates to the * opsItem.

*/ inline void SetOpsItemSNSTopicArn(Aws::String&& value) { m_opsItemSNSTopicArnHasBeenSet = true; m_opsItemSNSTopicArn = std::move(value); } /** *

The SNS topic provided to Application Insights that is associated to the * created opsItem. Allows you to receive notifications for updates to the * opsItem.

*/ inline void SetOpsItemSNSTopicArn(const char* value) { m_opsItemSNSTopicArnHasBeenSet = true; m_opsItemSNSTopicArn.assign(value); } /** *

The SNS topic provided to Application Insights that is associated to the * created opsItem. Allows you to receive notifications for updates to the * opsItem.

*/ inline UpdateApplicationRequest& WithOpsItemSNSTopicArn(const Aws::String& value) { SetOpsItemSNSTopicArn(value); return *this;} /** *

The SNS topic provided to Application Insights that is associated to the * created opsItem. Allows you to receive notifications for updates to the * opsItem.

*/ inline UpdateApplicationRequest& WithOpsItemSNSTopicArn(Aws::String&& value) { SetOpsItemSNSTopicArn(std::move(value)); return *this;} /** *

The SNS topic provided to Application Insights that is associated to the * created opsItem. Allows you to receive notifications for updates to the * opsItem.

*/ inline UpdateApplicationRequest& WithOpsItemSNSTopicArn(const char* value) { SetOpsItemSNSTopicArn(value); return *this;} /** *

Disassociates the SNS topic from the opsItem created for detected * problems.

*/ inline bool GetRemoveSNSTopic() const{ return m_removeSNSTopic; } /** *

Disassociates the SNS topic from the opsItem created for detected * problems.

*/ inline bool RemoveSNSTopicHasBeenSet() const { return m_removeSNSTopicHasBeenSet; } /** *

Disassociates the SNS topic from the opsItem created for detected * problems.

*/ inline void SetRemoveSNSTopic(bool value) { m_removeSNSTopicHasBeenSet = true; m_removeSNSTopic = value; } /** *

Disassociates the SNS topic from the opsItem created for detected * problems.

*/ inline UpdateApplicationRequest& WithRemoveSNSTopic(bool value) { SetRemoveSNSTopic(value); return *this;} /** *

Turns auto-configuration on or off.

*/ inline bool GetAutoConfigEnabled() const{ return m_autoConfigEnabled; } /** *

Turns auto-configuration on or off.

*/ inline bool AutoConfigEnabledHasBeenSet() const { return m_autoConfigEnabledHasBeenSet; } /** *

Turns auto-configuration on or off.

*/ inline void SetAutoConfigEnabled(bool value) { m_autoConfigEnabledHasBeenSet = true; m_autoConfigEnabled = value; } /** *

Turns auto-configuration on or off.

*/ inline UpdateApplicationRequest& WithAutoConfigEnabled(bool value) { SetAutoConfigEnabled(value); return *this;} private: Aws::String m_resourceGroupName; bool m_resourceGroupNameHasBeenSet = false; bool m_opsCenterEnabled; bool m_opsCenterEnabledHasBeenSet = false; bool m_cWEMonitorEnabled; bool m_cWEMonitorEnabledHasBeenSet = false; Aws::String m_opsItemSNSTopicArn; bool m_opsItemSNSTopicArnHasBeenSet = false; bool m_removeSNSTopic; bool m_removeSNSTopicHasBeenSet = false; bool m_autoConfigEnabled; bool m_autoConfigEnabledHasBeenSet = false; }; } // namespace Model } // namespace ApplicationInsights } // namespace Aws