/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace GuardDuty { namespace Model { /** *

Contains information on the status of data sources for the * detector.

See Also:

AWS * API Reference

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

An object that contains information on the status of CloudTrail as a data * source.

*/ inline const CloudTrailConfigurationResult& GetCloudTrail() const{ return m_cloudTrail; } /** *

An object that contains information on the status of CloudTrail as a data * source.

*/ inline bool CloudTrailHasBeenSet() const { return m_cloudTrailHasBeenSet; } /** *

An object that contains information on the status of CloudTrail as a data * source.

*/ inline void SetCloudTrail(const CloudTrailConfigurationResult& value) { m_cloudTrailHasBeenSet = true; m_cloudTrail = value; } /** *

An object that contains information on the status of CloudTrail as a data * source.

*/ inline void SetCloudTrail(CloudTrailConfigurationResult&& value) { m_cloudTrailHasBeenSet = true; m_cloudTrail = std::move(value); } /** *

An object that contains information on the status of CloudTrail as a data * source.

*/ inline DataSourceConfigurationsResult& WithCloudTrail(const CloudTrailConfigurationResult& value) { SetCloudTrail(value); return *this;} /** *

An object that contains information on the status of CloudTrail as a data * source.

*/ inline DataSourceConfigurationsResult& WithCloudTrail(CloudTrailConfigurationResult&& value) { SetCloudTrail(std::move(value)); return *this;} /** *

An object that contains information on the status of DNS logs as a data * source.

*/ inline const DNSLogsConfigurationResult& GetDNSLogs() const{ return m_dNSLogs; } /** *

An object that contains information on the status of DNS logs as a data * source.

*/ inline bool DNSLogsHasBeenSet() const { return m_dNSLogsHasBeenSet; } /** *

An object that contains information on the status of DNS logs as a data * source.

*/ inline void SetDNSLogs(const DNSLogsConfigurationResult& value) { m_dNSLogsHasBeenSet = true; m_dNSLogs = value; } /** *

An object that contains information on the status of DNS logs as a data * source.

*/ inline void SetDNSLogs(DNSLogsConfigurationResult&& value) { m_dNSLogsHasBeenSet = true; m_dNSLogs = std::move(value); } /** *

An object that contains information on the status of DNS logs as a data * source.

*/ inline DataSourceConfigurationsResult& WithDNSLogs(const DNSLogsConfigurationResult& value) { SetDNSLogs(value); return *this;} /** *

An object that contains information on the status of DNS logs as a data * source.

*/ inline DataSourceConfigurationsResult& WithDNSLogs(DNSLogsConfigurationResult&& value) { SetDNSLogs(std::move(value)); return *this;} /** *

An object that contains information on the status of VPC flow logs as a data * source.

*/ inline const FlowLogsConfigurationResult& GetFlowLogs() const{ return m_flowLogs; } /** *

An object that contains information on the status of VPC flow logs as a data * source.

*/ inline bool FlowLogsHasBeenSet() const { return m_flowLogsHasBeenSet; } /** *

An object that contains information on the status of VPC flow logs as a data * source.

*/ inline void SetFlowLogs(const FlowLogsConfigurationResult& value) { m_flowLogsHasBeenSet = true; m_flowLogs = value; } /** *

An object that contains information on the status of VPC flow logs as a data * source.

*/ inline void SetFlowLogs(FlowLogsConfigurationResult&& value) { m_flowLogsHasBeenSet = true; m_flowLogs = std::move(value); } /** *

An object that contains information on the status of VPC flow logs as a data * source.

*/ inline DataSourceConfigurationsResult& WithFlowLogs(const FlowLogsConfigurationResult& value) { SetFlowLogs(value); return *this;} /** *

An object that contains information on the status of VPC flow logs as a data * source.

*/ inline DataSourceConfigurationsResult& WithFlowLogs(FlowLogsConfigurationResult&& value) { SetFlowLogs(std::move(value)); return *this;} /** *

An object that contains information on the status of S3 Data event logs as a * data source.

*/ inline const S3LogsConfigurationResult& GetS3Logs() const{ return m_s3Logs; } /** *

An object that contains information on the status of S3 Data event logs as a * data source.

*/ inline bool S3LogsHasBeenSet() const { return m_s3LogsHasBeenSet; } /** *

An object that contains information on the status of S3 Data event logs as a * data source.

*/ inline void SetS3Logs(const S3LogsConfigurationResult& value) { m_s3LogsHasBeenSet = true; m_s3Logs = value; } /** *

An object that contains information on the status of S3 Data event logs as a * data source.

*/ inline void SetS3Logs(S3LogsConfigurationResult&& value) { m_s3LogsHasBeenSet = true; m_s3Logs = std::move(value); } /** *

An object that contains information on the status of S3 Data event logs as a * data source.

*/ inline DataSourceConfigurationsResult& WithS3Logs(const S3LogsConfigurationResult& value) { SetS3Logs(value); return *this;} /** *

An object that contains information on the status of S3 Data event logs as a * data source.

*/ inline DataSourceConfigurationsResult& WithS3Logs(S3LogsConfigurationResult&& value) { SetS3Logs(std::move(value)); return *this;} private: CloudTrailConfigurationResult m_cloudTrail; bool m_cloudTrailHasBeenSet; DNSLogsConfigurationResult m_dNSLogs; bool m_dNSLogsHasBeenSet; FlowLogsConfigurationResult m_flowLogs; bool m_flowLogsHasBeenSet; S3LogsConfigurationResult m_s3Logs; bool m_s3LogsHasBeenSet; }; } // namespace Model } // namespace GuardDuty } // namespace Aws