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

Contains information about criteria used to filter resources before * triggering malware scan.

See Also:

AWS * API Reference

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

Represents condition that when matched will allow a malware scan for a * certain resource.

*/ inline const Aws::Map& GetInclude() const{ return m_include; } /** *

Represents condition that when matched will allow a malware scan for a * certain resource.

*/ inline bool IncludeHasBeenSet() const { return m_includeHasBeenSet; } /** *

Represents condition that when matched will allow a malware scan for a * certain resource.

*/ inline void SetInclude(const Aws::Map& value) { m_includeHasBeenSet = true; m_include = value; } /** *

Represents condition that when matched will allow a malware scan for a * certain resource.

*/ inline void SetInclude(Aws::Map&& value) { m_includeHasBeenSet = true; m_include = std::move(value); } /** *

Represents condition that when matched will allow a malware scan for a * certain resource.

*/ inline ScanResourceCriteria& WithInclude(const Aws::Map& value) { SetInclude(value); return *this;} /** *

Represents condition that when matched will allow a malware scan for a * certain resource.

*/ inline ScanResourceCriteria& WithInclude(Aws::Map&& value) { SetInclude(std::move(value)); return *this;} /** *

Represents condition that when matched will allow a malware scan for a * certain resource.

*/ inline ScanResourceCriteria& AddInclude(const ScanCriterionKey& key, const ScanCondition& value) { m_includeHasBeenSet = true; m_include.emplace(key, value); return *this; } /** *

Represents condition that when matched will allow a malware scan for a * certain resource.

*/ inline ScanResourceCriteria& AddInclude(ScanCriterionKey&& key, const ScanCondition& value) { m_includeHasBeenSet = true; m_include.emplace(std::move(key), value); return *this; } /** *

Represents condition that when matched will allow a malware scan for a * certain resource.

*/ inline ScanResourceCriteria& AddInclude(const ScanCriterionKey& key, ScanCondition&& value) { m_includeHasBeenSet = true; m_include.emplace(key, std::move(value)); return *this; } /** *

Represents condition that when matched will allow a malware scan for a * certain resource.

*/ inline ScanResourceCriteria& AddInclude(ScanCriterionKey&& key, ScanCondition&& value) { m_includeHasBeenSet = true; m_include.emplace(std::move(key), std::move(value)); return *this; } /** *

Represents condition that when matched will prevent a malware scan for a * certain resource.

*/ inline const Aws::Map& GetExclude() const{ return m_exclude; } /** *

Represents condition that when matched will prevent a malware scan for a * certain resource.

*/ inline bool ExcludeHasBeenSet() const { return m_excludeHasBeenSet; } /** *

Represents condition that when matched will prevent a malware scan for a * certain resource.

*/ inline void SetExclude(const Aws::Map& value) { m_excludeHasBeenSet = true; m_exclude = value; } /** *

Represents condition that when matched will prevent a malware scan for a * certain resource.

*/ inline void SetExclude(Aws::Map&& value) { m_excludeHasBeenSet = true; m_exclude = std::move(value); } /** *

Represents condition that when matched will prevent a malware scan for a * certain resource.

*/ inline ScanResourceCriteria& WithExclude(const Aws::Map& value) { SetExclude(value); return *this;} /** *

Represents condition that when matched will prevent a malware scan for a * certain resource.

*/ inline ScanResourceCriteria& WithExclude(Aws::Map&& value) { SetExclude(std::move(value)); return *this;} /** *

Represents condition that when matched will prevent a malware scan for a * certain resource.

*/ inline ScanResourceCriteria& AddExclude(const ScanCriterionKey& key, const ScanCondition& value) { m_excludeHasBeenSet = true; m_exclude.emplace(key, value); return *this; } /** *

Represents condition that when matched will prevent a malware scan for a * certain resource.

*/ inline ScanResourceCriteria& AddExclude(ScanCriterionKey&& key, const ScanCondition& value) { m_excludeHasBeenSet = true; m_exclude.emplace(std::move(key), value); return *this; } /** *

Represents condition that when matched will prevent a malware scan for a * certain resource.

*/ inline ScanResourceCriteria& AddExclude(const ScanCriterionKey& key, ScanCondition&& value) { m_excludeHasBeenSet = true; m_exclude.emplace(key, std::move(value)); return *this; } /** *

Represents condition that when matched will prevent a malware scan for a * certain resource.

*/ inline ScanResourceCriteria& AddExclude(ScanCriterionKey&& key, ScanCondition&& value) { m_excludeHasBeenSet = true; m_exclude.emplace(std::move(key), std::move(value)); return *this; } private: Aws::Map m_include; bool m_includeHasBeenSet = false; Aws::Map m_exclude; bool m_excludeHasBeenSet = false; }; } // namespace Model } // namespace GuardDuty } // namespace Aws