/** * 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 information about S3 buckets.

See Also:

* AWS * API Reference

*/ class BucketCriteriaAdditionalProperties { public: AWS_MACIE2_API BucketCriteriaAdditionalProperties(); AWS_MACIE2_API BucketCriteriaAdditionalProperties(Aws::Utils::Json::JsonView jsonValue); AWS_MACIE2_API BucketCriteriaAdditionalProperties& 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, Amazon 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, Amazon 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, Amazon 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, Amazon 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, Amazon Macie uses OR logic to join the values.

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

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

*/ inline BucketCriteriaAdditionalProperties& 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, Amazon Macie uses OR logic to join the values.

*/ inline BucketCriteriaAdditionalProperties& 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, Amazon Macie uses OR logic to join the values.

*/ inline BucketCriteriaAdditionalProperties& 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, Amazon Macie uses OR logic to join the values.

*/ inline BucketCriteriaAdditionalProperties& AddEq(const char* value) { m_eqHasBeenSet = true; m_eq.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 BucketCriteriaAdditionalProperties& 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 BucketCriteriaAdditionalProperties& 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 BucketCriteriaAdditionalProperties& 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 BucketCriteriaAdditionalProperties& 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, Amazon 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, Amazon 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, Amazon 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, Amazon 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, Amazon Macie uses OR logic to join the * values.

*/ inline BucketCriteriaAdditionalProperties& 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, Amazon Macie uses OR logic to join the * values.

*/ inline BucketCriteriaAdditionalProperties& 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, Amazon Macie uses OR logic to join the * values.

*/ inline BucketCriteriaAdditionalProperties& 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, Amazon Macie uses OR logic to join the * values.

*/ inline BucketCriteriaAdditionalProperties& 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, Amazon Macie uses OR logic to join the * values.

*/ inline BucketCriteriaAdditionalProperties& AddNeq(const char* value) { m_neqHasBeenSet = true; m_neq.push_back(value); return *this; } /** *

The name of the bucket begins with the specified value.

*/ inline const Aws::String& GetPrefix() const{ return m_prefix; } /** *

The name of the bucket begins with the specified value.

*/ inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } /** *

The name of the bucket begins with the specified value.

*/ inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } /** *

The name of the bucket begins with the specified value.

*/ inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } /** *

The name of the bucket begins with the specified value.

*/ inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } /** *

The name of the bucket begins with the specified value.

*/ inline BucketCriteriaAdditionalProperties& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} /** *

The name of the bucket begins with the specified value.

*/ inline BucketCriteriaAdditionalProperties& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} /** *

The name of the bucket begins with the specified value.

*/ inline BucketCriteriaAdditionalProperties& WithPrefix(const char* value) { SetPrefix(value); return *this;} private: Aws::Vector m_eq; bool m_eqHasBeenSet = 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; Aws::String m_prefix; bool m_prefixHasBeenSet = false; }; } // namespace Model } // namespace Macie2 } // namespace Aws