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

Specifies a property- or tag-based filter condition for including or * excluding Amazon Web Services resources from the query results.

See * Also:

AWS * API Reference

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

A property-based condition that defines a property, operator, and one or more * values for including or excluding resources from the results.

*/ inline const SearchResourcesSimpleCriterion& GetSimpleCriterion() const{ return m_simpleCriterion; } /** *

A property-based condition that defines a property, operator, and one or more * values for including or excluding resources from the results.

*/ inline bool SimpleCriterionHasBeenSet() const { return m_simpleCriterionHasBeenSet; } /** *

A property-based condition that defines a property, operator, and one or more * values for including or excluding resources from the results.

*/ inline void SetSimpleCriterion(const SearchResourcesSimpleCriterion& value) { m_simpleCriterionHasBeenSet = true; m_simpleCriterion = value; } /** *

A property-based condition that defines a property, operator, and one or more * values for including or excluding resources from the results.

*/ inline void SetSimpleCriterion(SearchResourcesSimpleCriterion&& value) { m_simpleCriterionHasBeenSet = true; m_simpleCriterion = std::move(value); } /** *

A property-based condition that defines a property, operator, and one or more * values for including or excluding resources from the results.

*/ inline SearchResourcesCriteria& WithSimpleCriterion(const SearchResourcesSimpleCriterion& value) { SetSimpleCriterion(value); return *this;} /** *

A property-based condition that defines a property, operator, and one or more * values for including or excluding resources from the results.

*/ inline SearchResourcesCriteria& WithSimpleCriterion(SearchResourcesSimpleCriterion&& value) { SetSimpleCriterion(std::move(value)); return *this;} /** *

A tag-based condition that defines an operator and tag keys, tag values, or * tag key and value pairs for including or excluding resources from the * results.

*/ inline const SearchResourcesTagCriterion& GetTagCriterion() const{ return m_tagCriterion; } /** *

A tag-based condition that defines an operator and tag keys, tag values, or * tag key and value pairs for including or excluding resources from the * results.

*/ inline bool TagCriterionHasBeenSet() const { return m_tagCriterionHasBeenSet; } /** *

A tag-based condition that defines an operator and tag keys, tag values, or * tag key and value pairs for including or excluding resources from the * results.

*/ inline void SetTagCriterion(const SearchResourcesTagCriterion& value) { m_tagCriterionHasBeenSet = true; m_tagCriterion = value; } /** *

A tag-based condition that defines an operator and tag keys, tag values, or * tag key and value pairs for including or excluding resources from the * results.

*/ inline void SetTagCriterion(SearchResourcesTagCriterion&& value) { m_tagCriterionHasBeenSet = true; m_tagCriterion = std::move(value); } /** *

A tag-based condition that defines an operator and tag keys, tag values, or * tag key and value pairs for including or excluding resources from the * results.

*/ inline SearchResourcesCriteria& WithTagCriterion(const SearchResourcesTagCriterion& value) { SetTagCriterion(value); return *this;} /** *

A tag-based condition that defines an operator and tag keys, tag values, or * tag key and value pairs for including or excluding resources from the * results.

*/ inline SearchResourcesCriteria& WithTagCriterion(SearchResourcesTagCriterion&& value) { SetTagCriterion(std::move(value)); return *this;} private: SearchResourcesSimpleCriterion m_simpleCriterion; bool m_simpleCriterionHasBeenSet = false; SearchResourcesTagCriterion m_tagCriterion; bool m_tagCriterionHasBeenSet = false; }; } // namespace Model } // namespace Macie2 } // namespace Aws