/** * 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 the operator to use in a property-based condition that filters the * results of a query for findings. For detailed information and examples of each * operator, see Fundamentals * of filtering findings in the Amazon Macie User Guide.

See * Also:

AWS * API Reference

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

The value for the property matches (equals) the specified value. If you * specify multiple values, Macie uses OR logic to join the values.

*/ inline const Aws::Vector& GetEq() const{ return m_eq; } /** *

The value for the property matches (equals) the specified value. If you * specify multiple values, Macie uses OR logic to join the values.

*/ inline bool EqHasBeenSet() const { return m_eqHasBeenSet; } /** *

The value for the property matches (equals) the specified value. If you * specify multiple values, Macie uses OR logic to join the values.

*/ inline void SetEq(const Aws::Vector& value) { m_eqHasBeenSet = true; m_eq = value; } /** *

The value for the property matches (equals) the specified value. If you * specify multiple values, Macie uses OR logic to join the values.

*/ inline void SetEq(Aws::Vector&& value) { m_eqHasBeenSet = true; m_eq = std::move(value); } /** *

The value for the property matches (equals) the specified value. If you * specify multiple values, Macie uses OR logic to join the values.

*/ inline CriterionAdditionalProperties& WithEq(const Aws::Vector& value) { SetEq(value); return *this;} /** *

The value for the property matches (equals) the specified value. If you * specify multiple values, Macie uses OR logic to join the values.

*/ inline CriterionAdditionalProperties& WithEq(Aws::Vector&& value) { SetEq(std::move(value)); return *this;} /** *

The value for the property matches (equals) the specified value. If you * specify multiple values, Macie uses OR logic to join the values.

*/ inline CriterionAdditionalProperties& AddEq(const Aws::String& value) { m_eqHasBeenSet = true; m_eq.push_back(value); return *this; } /** *

The value for the property matches (equals) the specified value. If you * specify multiple values, Macie uses OR logic to join the values.

*/ inline CriterionAdditionalProperties& AddEq(Aws::String&& value) { m_eqHasBeenSet = true; m_eq.push_back(std::move(value)); return *this; } /** *

The value for the property matches (equals) the specified value. If you * specify multiple values, Macie uses OR logic to join the values.

*/ inline CriterionAdditionalProperties& AddEq(const char* value) { m_eqHasBeenSet = true; m_eq.push_back(value); return *this; } /** *

The value for the property exclusively matches (equals an exact match for) * all the specified values. If you specify multiple values, Amazon Macie uses AND * logic to join the values.

You can use this operator with the following * properties: customDataIdentifiers.detections.arn, * customDataIdentifiers.detections.name, resourcesAffected.s3Bucket.tags.key, * resourcesAffected.s3Bucket.tags.value, resourcesAffected.s3Object.tags.key, * resourcesAffected.s3Object.tags.value, sensitiveData.category, and * sensitiveData.detections.type.

*/ inline const Aws::Vector& GetEqExactMatch() const{ return m_eqExactMatch; } /** *

The value for the property exclusively matches (equals an exact match for) * all the specified values. If you specify multiple values, Amazon Macie uses AND * logic to join the values.

You can use this operator with the following * properties: customDataIdentifiers.detections.arn, * customDataIdentifiers.detections.name, resourcesAffected.s3Bucket.tags.key, * resourcesAffected.s3Bucket.tags.value, resourcesAffected.s3Object.tags.key, * resourcesAffected.s3Object.tags.value, sensitiveData.category, and * sensitiveData.detections.type.

*/ inline bool EqExactMatchHasBeenSet() const { return m_eqExactMatchHasBeenSet; } /** *

The value for the property exclusively matches (equals an exact match for) * all the specified values. If you specify multiple values, Amazon Macie uses AND * logic to join the values.

You can use this operator with the following * properties: customDataIdentifiers.detections.arn, * customDataIdentifiers.detections.name, resourcesAffected.s3Bucket.tags.key, * resourcesAffected.s3Bucket.tags.value, resourcesAffected.s3Object.tags.key, * resourcesAffected.s3Object.tags.value, sensitiveData.category, and * sensitiveData.detections.type.

*/ inline void SetEqExactMatch(const Aws::Vector& value) { m_eqExactMatchHasBeenSet = true; m_eqExactMatch = value; } /** *

The value for the property exclusively matches (equals an exact match for) * all the specified values. If you specify multiple values, Amazon Macie uses AND * logic to join the values.

You can use this operator with the following * properties: customDataIdentifiers.detections.arn, * customDataIdentifiers.detections.name, resourcesAffected.s3Bucket.tags.key, * resourcesAffected.s3Bucket.tags.value, resourcesAffected.s3Object.tags.key, * resourcesAffected.s3Object.tags.value, sensitiveData.category, and * sensitiveData.detections.type.

*/ inline void SetEqExactMatch(Aws::Vector&& value) { m_eqExactMatchHasBeenSet = true; m_eqExactMatch = std::move(value); } /** *

The value for the property exclusively matches (equals an exact match for) * all the specified values. If you specify multiple values, Amazon Macie uses AND * logic to join the values.

You can use this operator with the following * properties: customDataIdentifiers.detections.arn, * customDataIdentifiers.detections.name, resourcesAffected.s3Bucket.tags.key, * resourcesAffected.s3Bucket.tags.value, resourcesAffected.s3Object.tags.key, * resourcesAffected.s3Object.tags.value, sensitiveData.category, and * sensitiveData.detections.type.

*/ inline CriterionAdditionalProperties& WithEqExactMatch(const Aws::Vector& value) { SetEqExactMatch(value); return *this;} /** *

The value for the property exclusively matches (equals an exact match for) * all the specified values. If you specify multiple values, Amazon Macie uses AND * logic to join the values.

You can use this operator with the following * properties: customDataIdentifiers.detections.arn, * customDataIdentifiers.detections.name, resourcesAffected.s3Bucket.tags.key, * resourcesAffected.s3Bucket.tags.value, resourcesAffected.s3Object.tags.key, * resourcesAffected.s3Object.tags.value, sensitiveData.category, and * sensitiveData.detections.type.

*/ inline CriterionAdditionalProperties& WithEqExactMatch(Aws::Vector&& value) { SetEqExactMatch(std::move(value)); return *this;} /** *

The value for the property exclusively matches (equals an exact match for) * all the specified values. If you specify multiple values, Amazon Macie uses AND * logic to join the values.

You can use this operator with the following * properties: customDataIdentifiers.detections.arn, * customDataIdentifiers.detections.name, resourcesAffected.s3Bucket.tags.key, * resourcesAffected.s3Bucket.tags.value, resourcesAffected.s3Object.tags.key, * resourcesAffected.s3Object.tags.value, sensitiveData.category, and * sensitiveData.detections.type.

*/ inline CriterionAdditionalProperties& AddEqExactMatch(const Aws::String& value) { m_eqExactMatchHasBeenSet = true; m_eqExactMatch.push_back(value); return *this; } /** *

The value for the property exclusively matches (equals an exact match for) * all the specified values. If you specify multiple values, Amazon Macie uses AND * logic to join the values.

You can use this operator with the following * properties: customDataIdentifiers.detections.arn, * customDataIdentifiers.detections.name, resourcesAffected.s3Bucket.tags.key, * resourcesAffected.s3Bucket.tags.value, resourcesAffected.s3Object.tags.key, * resourcesAffected.s3Object.tags.value, sensitiveData.category, and * sensitiveData.detections.type.

*/ inline CriterionAdditionalProperties& AddEqExactMatch(Aws::String&& value) { m_eqExactMatchHasBeenSet = true; m_eqExactMatch.push_back(std::move(value)); return *this; } /** *

The value for the property exclusively matches (equals an exact match for) * all the specified values. If you specify multiple values, Amazon Macie uses AND * logic to join the values.

You can use this operator with the following * properties: customDataIdentifiers.detections.arn, * customDataIdentifiers.detections.name, resourcesAffected.s3Bucket.tags.key, * resourcesAffected.s3Bucket.tags.value, resourcesAffected.s3Object.tags.key, * resourcesAffected.s3Object.tags.value, sensitiveData.category, and * sensitiveData.detections.type.

*/ inline CriterionAdditionalProperties& AddEqExactMatch(const char* value) { m_eqExactMatchHasBeenSet = true; m_eqExactMatch.push_back(value); return *this; } /** *

The value for the property is greater than the specified value.

*/ inline long long GetGt() const{ return m_gt; } /** *

The value for the property is greater than the specified value.

*/ inline bool GtHasBeenSet() const { return m_gtHasBeenSet; } /** *

The value for the property is greater than the specified value.

*/ inline void SetGt(long long value) { m_gtHasBeenSet = true; m_gt = value; } /** *

The value for the property is greater than the specified value.

*/ inline CriterionAdditionalProperties& WithGt(long long value) { SetGt(value); return *this;} /** *

The value for the property is greater than or equal to the specified * value.

*/ inline long long GetGte() const{ return m_gte; } /** *

The value for the property is greater than or equal to the specified * value.

*/ inline bool GteHasBeenSet() const { return m_gteHasBeenSet; } /** *

The value for the property is greater than or equal to the specified * value.

*/ inline void SetGte(long long value) { m_gteHasBeenSet = true; m_gte = value; } /** *

The value for the property is greater than or equal to the specified * value.

*/ inline CriterionAdditionalProperties& WithGte(long long value) { SetGte(value); return *this;} /** *

The value for the property is less than the specified value.

*/ inline long long GetLt() const{ return m_lt; } /** *

The value for the property is less than the specified value.

*/ inline bool LtHasBeenSet() const { return m_ltHasBeenSet; } /** *

The value for the property is less than the specified value.

*/ inline void SetLt(long long value) { m_ltHasBeenSet = true; m_lt = value; } /** *

The value for the property is less than the specified value.

*/ inline CriterionAdditionalProperties& WithLt(long long value) { SetLt(value); return *this;} /** *

The value for the property is less than or equal to the specified value.

*/ inline long long GetLte() const{ return m_lte; } /** *

The value for the property is less than or equal to the specified value.

*/ inline bool LteHasBeenSet() const { return m_lteHasBeenSet; } /** *

The value for the property is less than or equal to the specified value.

*/ inline void SetLte(long long value) { m_lteHasBeenSet = true; m_lte = value; } /** *

The value for the property is less than or equal to the specified value.

*/ inline CriterionAdditionalProperties& WithLte(long long value) { SetLte(value); return *this;} /** *

The value for the property doesn't match (doesn't equal) the specified value. * If you specify multiple values, Macie uses OR logic to join the values.

*/ inline const Aws::Vector& GetNeq() const{ return m_neq; } /** *

The value for the property doesn't match (doesn't equal) the specified value. * If you specify multiple values, Macie uses OR logic to join the values.

*/ inline bool NeqHasBeenSet() const { return m_neqHasBeenSet; } /** *

The value for the property doesn't match (doesn't equal) the specified value. * If you specify multiple values, Macie uses OR logic to join the values.

*/ inline void SetNeq(const Aws::Vector& value) { m_neqHasBeenSet = true; m_neq = value; } /** *

The value for the property doesn't match (doesn't equal) the specified value. * If you specify multiple values, Macie uses OR logic to join the values.

*/ inline void SetNeq(Aws::Vector&& value) { m_neqHasBeenSet = true; m_neq = std::move(value); } /** *

The value for the property doesn't match (doesn't equal) the specified value. * If you specify multiple values, Macie uses OR logic to join the values.

*/ inline CriterionAdditionalProperties& WithNeq(const Aws::Vector& value) { SetNeq(value); return *this;} /** *

The value for the property doesn't match (doesn't equal) the specified value. * If you specify multiple values, Macie uses OR logic to join the values.

*/ inline CriterionAdditionalProperties& WithNeq(Aws::Vector&& value) { SetNeq(std::move(value)); return *this;} /** *

The value for the property doesn't match (doesn't equal) the specified value. * If you specify multiple values, Macie uses OR logic to join the values.

*/ inline CriterionAdditionalProperties& AddNeq(const Aws::String& value) { m_neqHasBeenSet = true; m_neq.push_back(value); return *this; } /** *

The value for the property doesn't match (doesn't equal) the specified value. * If you specify multiple values, Macie uses OR logic to join the values.

*/ inline CriterionAdditionalProperties& AddNeq(Aws::String&& value) { m_neqHasBeenSet = true; m_neq.push_back(std::move(value)); return *this; } /** *

The value for the property doesn't match (doesn't equal) the specified value. * If you specify multiple values, Macie uses OR logic to join the values.

*/ inline CriterionAdditionalProperties& AddNeq(const char* value) { m_neqHasBeenSet = true; m_neq.push_back(value); return *this; } private: Aws::Vector m_eq; bool m_eqHasBeenSet = false; Aws::Vector m_eqExactMatch; bool m_eqExactMatchHasBeenSet = false; long long m_gt; bool m_gtHasBeenSet = false; long long m_gte; bool m_gteHasBeenSet = false; long long m_lt; bool m_ltHasBeenSet = false; long long m_lte; bool m_lteHasBeenSet = false; Aws::Vector m_neq; bool m_neqHasBeenSet = false; }; } // namespace Model } // namespace Macie2 } // namespace Aws