1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/macie2/Macie2_EXPORTS.h> 8 #include <aws/macie2/model/SearchResourcesSimpleCriterion.h> 9 #include <aws/macie2/model/SearchResourcesTagCriterion.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace Macie2 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>Specifies a property- or tag-based filter condition for including or 29 * excluding Amazon Web Services resources from the query results.</p><p><h3>See 30 * Also:</h3> <a 31 * href="http://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/SearchResourcesCriteria">AWS 32 * API Reference</a></p> 33 */ 34 class AWS_MACIE2_API SearchResourcesCriteria 35 { 36 public: 37 SearchResourcesCriteria(); 38 SearchResourcesCriteria(Aws::Utils::Json::JsonView jsonValue); 39 SearchResourcesCriteria& operator=(Aws::Utils::Json::JsonView jsonValue); 40 Aws::Utils::Json::JsonValue Jsonize() const; 41 42 43 /** 44 * <p>A property-based condition that defines a property, operator, and one or more 45 * values for including or excluding resources from the results.</p> 46 */ GetSimpleCriterion()47 inline const SearchResourcesSimpleCriterion& GetSimpleCriterion() const{ return m_simpleCriterion; } 48 49 /** 50 * <p>A property-based condition that defines a property, operator, and one or more 51 * values for including or excluding resources from the results.</p> 52 */ SimpleCriterionHasBeenSet()53 inline bool SimpleCriterionHasBeenSet() const { return m_simpleCriterionHasBeenSet; } 54 55 /** 56 * <p>A property-based condition that defines a property, operator, and one or more 57 * values for including or excluding resources from the results.</p> 58 */ SetSimpleCriterion(const SearchResourcesSimpleCriterion & value)59 inline void SetSimpleCriterion(const SearchResourcesSimpleCriterion& value) { m_simpleCriterionHasBeenSet = true; m_simpleCriterion = value; } 60 61 /** 62 * <p>A property-based condition that defines a property, operator, and one or more 63 * values for including or excluding resources from the results.</p> 64 */ SetSimpleCriterion(SearchResourcesSimpleCriterion && value)65 inline void SetSimpleCriterion(SearchResourcesSimpleCriterion&& value) { m_simpleCriterionHasBeenSet = true; m_simpleCriterion = std::move(value); } 66 67 /** 68 * <p>A property-based condition that defines a property, operator, and one or more 69 * values for including or excluding resources from the results.</p> 70 */ WithSimpleCriterion(const SearchResourcesSimpleCriterion & value)71 inline SearchResourcesCriteria& WithSimpleCriterion(const SearchResourcesSimpleCriterion& value) { SetSimpleCriterion(value); return *this;} 72 73 /** 74 * <p>A property-based condition that defines a property, operator, and one or more 75 * values for including or excluding resources from the results.</p> 76 */ WithSimpleCriterion(SearchResourcesSimpleCriterion && value)77 inline SearchResourcesCriteria& WithSimpleCriterion(SearchResourcesSimpleCriterion&& value) { SetSimpleCriterion(std::move(value)); return *this;} 78 79 80 /** 81 * <p>A tag-based condition that defines an operator and tag keys, tag values, or 82 * tag key and value pairs for including or excluding resources from the 83 * results.</p> 84 */ GetTagCriterion()85 inline const SearchResourcesTagCriterion& GetTagCriterion() const{ return m_tagCriterion; } 86 87 /** 88 * <p>A tag-based condition that defines an operator and tag keys, tag values, or 89 * tag key and value pairs for including or excluding resources from the 90 * results.</p> 91 */ TagCriterionHasBeenSet()92 inline bool TagCriterionHasBeenSet() const { return m_tagCriterionHasBeenSet; } 93 94 /** 95 * <p>A tag-based condition that defines an operator and tag keys, tag values, or 96 * tag key and value pairs for including or excluding resources from the 97 * results.</p> 98 */ SetTagCriterion(const SearchResourcesTagCriterion & value)99 inline void SetTagCriterion(const SearchResourcesTagCriterion& value) { m_tagCriterionHasBeenSet = true; m_tagCriterion = value; } 100 101 /** 102 * <p>A tag-based condition that defines an operator and tag keys, tag values, or 103 * tag key and value pairs for including or excluding resources from the 104 * results.</p> 105 */ SetTagCriterion(SearchResourcesTagCriterion && value)106 inline void SetTagCriterion(SearchResourcesTagCriterion&& value) { m_tagCriterionHasBeenSet = true; m_tagCriterion = std::move(value); } 107 108 /** 109 * <p>A tag-based condition that defines an operator and tag keys, tag values, or 110 * tag key and value pairs for including or excluding resources from the 111 * results.</p> 112 */ WithTagCriterion(const SearchResourcesTagCriterion & value)113 inline SearchResourcesCriteria& WithTagCriterion(const SearchResourcesTagCriterion& value) { SetTagCriterion(value); return *this;} 114 115 /** 116 * <p>A tag-based condition that defines an operator and tag keys, tag values, or 117 * tag key and value pairs for including or excluding resources from the 118 * results.</p> 119 */ WithTagCriterion(SearchResourcesTagCriterion && value)120 inline SearchResourcesCriteria& WithTagCriterion(SearchResourcesTagCriterion&& value) { SetTagCriterion(std::move(value)); return *this;} 121 122 private: 123 124 SearchResourcesSimpleCriterion m_simpleCriterion; 125 bool m_simpleCriterionHasBeenSet; 126 127 SearchResourcesTagCriterion m_tagCriterion; 128 bool m_tagCriterionHasBeenSet; 129 }; 130 131 } // namespace Model 132 } // namespace Macie2 133 } // namespace Aws 134