/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace DevOpsGuru { namespace Model { /** *

Information about the integration of DevOps Guru with another Amazon Web * Services service, such as Amazon Web Services Systems Manager.

See * Also:

AWS * API Reference

*/ class ServiceIntegrationConfig { public: AWS_DEVOPSGURU_API ServiceIntegrationConfig(); AWS_DEVOPSGURU_API ServiceIntegrationConfig(Aws::Utils::Json::JsonView jsonValue); AWS_DEVOPSGURU_API ServiceIntegrationConfig& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_DEVOPSGURU_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Information about whether DevOps Guru is configured to create an OpsItem in * Amazon Web Services Systems Manager OpsCenter for each created insight.

*/ inline const OpsCenterIntegration& GetOpsCenter() const{ return m_opsCenter; } /** *

Information about whether DevOps Guru is configured to create an OpsItem in * Amazon Web Services Systems Manager OpsCenter for each created insight.

*/ inline bool OpsCenterHasBeenSet() const { return m_opsCenterHasBeenSet; } /** *

Information about whether DevOps Guru is configured to create an OpsItem in * Amazon Web Services Systems Manager OpsCenter for each created insight.

*/ inline void SetOpsCenter(const OpsCenterIntegration& value) { m_opsCenterHasBeenSet = true; m_opsCenter = value; } /** *

Information about whether DevOps Guru is configured to create an OpsItem in * Amazon Web Services Systems Manager OpsCenter for each created insight.

*/ inline void SetOpsCenter(OpsCenterIntegration&& value) { m_opsCenterHasBeenSet = true; m_opsCenter = std::move(value); } /** *

Information about whether DevOps Guru is configured to create an OpsItem in * Amazon Web Services Systems Manager OpsCenter for each created insight.

*/ inline ServiceIntegrationConfig& WithOpsCenter(const OpsCenterIntegration& value) { SetOpsCenter(value); return *this;} /** *

Information about whether DevOps Guru is configured to create an OpsItem in * Amazon Web Services Systems Manager OpsCenter for each created insight.

*/ inline ServiceIntegrationConfig& WithOpsCenter(OpsCenterIntegration&& value) { SetOpsCenter(std::move(value)); return *this;} /** *

Information about whether DevOps Guru is configured to perform log anomaly * detection on Amazon CloudWatch log groups.

*/ inline const LogsAnomalyDetectionIntegration& GetLogsAnomalyDetection() const{ return m_logsAnomalyDetection; } /** *

Information about whether DevOps Guru is configured to perform log anomaly * detection on Amazon CloudWatch log groups.

*/ inline bool LogsAnomalyDetectionHasBeenSet() const { return m_logsAnomalyDetectionHasBeenSet; } /** *

Information about whether DevOps Guru is configured to perform log anomaly * detection on Amazon CloudWatch log groups.

*/ inline void SetLogsAnomalyDetection(const LogsAnomalyDetectionIntegration& value) { m_logsAnomalyDetectionHasBeenSet = true; m_logsAnomalyDetection = value; } /** *

Information about whether DevOps Guru is configured to perform log anomaly * detection on Amazon CloudWatch log groups.

*/ inline void SetLogsAnomalyDetection(LogsAnomalyDetectionIntegration&& value) { m_logsAnomalyDetectionHasBeenSet = true; m_logsAnomalyDetection = std::move(value); } /** *

Information about whether DevOps Guru is configured to perform log anomaly * detection on Amazon CloudWatch log groups.

*/ inline ServiceIntegrationConfig& WithLogsAnomalyDetection(const LogsAnomalyDetectionIntegration& value) { SetLogsAnomalyDetection(value); return *this;} /** *

Information about whether DevOps Guru is configured to perform log anomaly * detection on Amazon CloudWatch log groups.

*/ inline ServiceIntegrationConfig& WithLogsAnomalyDetection(LogsAnomalyDetectionIntegration&& value) { SetLogsAnomalyDetection(std::move(value)); return *this;} /** *

Information about whether DevOps Guru is configured to encrypt server-side * data using KMS.

*/ inline const KMSServerSideEncryptionIntegration& GetKMSServerSideEncryption() const{ return m_kMSServerSideEncryption; } /** *

Information about whether DevOps Guru is configured to encrypt server-side * data using KMS.

*/ inline bool KMSServerSideEncryptionHasBeenSet() const { return m_kMSServerSideEncryptionHasBeenSet; } /** *

Information about whether DevOps Guru is configured to encrypt server-side * data using KMS.

*/ inline void SetKMSServerSideEncryption(const KMSServerSideEncryptionIntegration& value) { m_kMSServerSideEncryptionHasBeenSet = true; m_kMSServerSideEncryption = value; } /** *

Information about whether DevOps Guru is configured to encrypt server-side * data using KMS.

*/ inline void SetKMSServerSideEncryption(KMSServerSideEncryptionIntegration&& value) { m_kMSServerSideEncryptionHasBeenSet = true; m_kMSServerSideEncryption = std::move(value); } /** *

Information about whether DevOps Guru is configured to encrypt server-side * data using KMS.

*/ inline ServiceIntegrationConfig& WithKMSServerSideEncryption(const KMSServerSideEncryptionIntegration& value) { SetKMSServerSideEncryption(value); return *this;} /** *

Information about whether DevOps Guru is configured to encrypt server-side * data using KMS.

*/ inline ServiceIntegrationConfig& WithKMSServerSideEncryption(KMSServerSideEncryptionIntegration&& value) { SetKMSServerSideEncryption(std::move(value)); return *this;} private: OpsCenterIntegration m_opsCenter; bool m_opsCenterHasBeenSet = false; LogsAnomalyDetectionIntegration m_logsAnomalyDetection; bool m_logsAnomalyDetectionHasBeenSet = false; KMSServerSideEncryptionIntegration m_kMSServerSideEncryption; bool m_kMSServerSideEncryptionHasBeenSet = false; }; } // namespace Model } // namespace DevOpsGuru } // namespace Aws