/** * 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 SecurityHub { namespace Model { /** *

Provides details about an Amazon GuardDuty detector. A detector is an object * that represents the GuardDuty service. A detector is required for GuardDuty to * become operational.

See Also:

AWS * API Reference

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

Describes which data sources are activated for the detector.

*/ inline const AwsGuardDutyDetectorDataSourcesDetails& GetDataSources() const{ return m_dataSources; } /** *

Describes which data sources are activated for the detector.

*/ inline bool DataSourcesHasBeenSet() const { return m_dataSourcesHasBeenSet; } /** *

Describes which data sources are activated for the detector.

*/ inline void SetDataSources(const AwsGuardDutyDetectorDataSourcesDetails& value) { m_dataSourcesHasBeenSet = true; m_dataSources = value; } /** *

Describes which data sources are activated for the detector.

*/ inline void SetDataSources(AwsGuardDutyDetectorDataSourcesDetails&& value) { m_dataSourcesHasBeenSet = true; m_dataSources = std::move(value); } /** *

Describes which data sources are activated for the detector.

*/ inline AwsGuardDutyDetectorDetails& WithDataSources(const AwsGuardDutyDetectorDataSourcesDetails& value) { SetDataSources(value); return *this;} /** *

Describes which data sources are activated for the detector.

*/ inline AwsGuardDutyDetectorDetails& WithDataSources(AwsGuardDutyDetectorDataSourcesDetails&& value) { SetDataSources(std::move(value)); return *this;} /** *

Describes which features are activated for the detector.

*/ inline const Aws::Vector& GetFeatures() const{ return m_features; } /** *

Describes which features are activated for the detector.

*/ inline bool FeaturesHasBeenSet() const { return m_featuresHasBeenSet; } /** *

Describes which features are activated for the detector.

*/ inline void SetFeatures(const Aws::Vector& value) { m_featuresHasBeenSet = true; m_features = value; } /** *

Describes which features are activated for the detector.

*/ inline void SetFeatures(Aws::Vector&& value) { m_featuresHasBeenSet = true; m_features = std::move(value); } /** *

Describes which features are activated for the detector.

*/ inline AwsGuardDutyDetectorDetails& WithFeatures(const Aws::Vector& value) { SetFeatures(value); return *this;} /** *

Describes which features are activated for the detector.

*/ inline AwsGuardDutyDetectorDetails& WithFeatures(Aws::Vector&& value) { SetFeatures(std::move(value)); return *this;} /** *

Describes which features are activated for the detector.

*/ inline AwsGuardDutyDetectorDetails& AddFeatures(const AwsGuardDutyDetectorFeaturesDetails& value) { m_featuresHasBeenSet = true; m_features.push_back(value); return *this; } /** *

Describes which features are activated for the detector.

*/ inline AwsGuardDutyDetectorDetails& AddFeatures(AwsGuardDutyDetectorFeaturesDetails&& value) { m_featuresHasBeenSet = true; m_features.push_back(std::move(value)); return *this; } /** *

The publishing frequency of the finding.

*/ inline const Aws::String& GetFindingPublishingFrequency() const{ return m_findingPublishingFrequency; } /** *

The publishing frequency of the finding.

*/ inline bool FindingPublishingFrequencyHasBeenSet() const { return m_findingPublishingFrequencyHasBeenSet; } /** *

The publishing frequency of the finding.

*/ inline void SetFindingPublishingFrequency(const Aws::String& value) { m_findingPublishingFrequencyHasBeenSet = true; m_findingPublishingFrequency = value; } /** *

The publishing frequency of the finding.

*/ inline void SetFindingPublishingFrequency(Aws::String&& value) { m_findingPublishingFrequencyHasBeenSet = true; m_findingPublishingFrequency = std::move(value); } /** *

The publishing frequency of the finding.

*/ inline void SetFindingPublishingFrequency(const char* value) { m_findingPublishingFrequencyHasBeenSet = true; m_findingPublishingFrequency.assign(value); } /** *

The publishing frequency of the finding.

*/ inline AwsGuardDutyDetectorDetails& WithFindingPublishingFrequency(const Aws::String& value) { SetFindingPublishingFrequency(value); return *this;} /** *

The publishing frequency of the finding.

*/ inline AwsGuardDutyDetectorDetails& WithFindingPublishingFrequency(Aws::String&& value) { SetFindingPublishingFrequency(std::move(value)); return *this;} /** *

The publishing frequency of the finding.

*/ inline AwsGuardDutyDetectorDetails& WithFindingPublishingFrequency(const char* value) { SetFindingPublishingFrequency(value); return *this;} /** *

The GuardDuty service role.

*/ inline const Aws::String& GetServiceRole() const{ return m_serviceRole; } /** *

The GuardDuty service role.

*/ inline bool ServiceRoleHasBeenSet() const { return m_serviceRoleHasBeenSet; } /** *

The GuardDuty service role.

*/ inline void SetServiceRole(const Aws::String& value) { m_serviceRoleHasBeenSet = true; m_serviceRole = value; } /** *

The GuardDuty service role.

*/ inline void SetServiceRole(Aws::String&& value) { m_serviceRoleHasBeenSet = true; m_serviceRole = std::move(value); } /** *

The GuardDuty service role.

*/ inline void SetServiceRole(const char* value) { m_serviceRoleHasBeenSet = true; m_serviceRole.assign(value); } /** *

The GuardDuty service role.

*/ inline AwsGuardDutyDetectorDetails& WithServiceRole(const Aws::String& value) { SetServiceRole(value); return *this;} /** *

The GuardDuty service role.

*/ inline AwsGuardDutyDetectorDetails& WithServiceRole(Aws::String&& value) { SetServiceRole(std::move(value)); return *this;} /** *

The GuardDuty service role.

*/ inline AwsGuardDutyDetectorDetails& WithServiceRole(const char* value) { SetServiceRole(value); return *this;} /** *

The activation status of the detector.

*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *

The activation status of the detector.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The activation status of the detector.

*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The activation status of the detector.

*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The activation status of the detector.

*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *

The activation status of the detector.

*/ inline AwsGuardDutyDetectorDetails& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *

The activation status of the detector.

*/ inline AwsGuardDutyDetectorDetails& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *

The activation status of the detector.

*/ inline AwsGuardDutyDetectorDetails& WithStatus(const char* value) { SetStatus(value); return *this;} private: AwsGuardDutyDetectorDataSourcesDetails m_dataSources; bool m_dataSourcesHasBeenSet = false; Aws::Vector m_features; bool m_featuresHasBeenSet = false; Aws::String m_findingPublishingFrequency; bool m_findingPublishingFrequencyHasBeenSet = false; Aws::String m_serviceRole; bool m_serviceRoleHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws