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

The criteria to use in the filter that defines the archive rule. For more * information on available filter keys, see IAM * Access Analyzer filter keys.

See Also:

AWS * API Reference

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

An "equals" operator to match for the filter used to create the rule.

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

An "equals" operator to match for the filter used to create the rule.

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

An "equals" operator to match for the filter used to create the rule.

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

An "equals" operator to match for the filter used to create the rule.

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

An "equals" operator to match for the filter used to create the rule.

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

An "equals" operator to match for the filter used to create the rule.

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

An "equals" operator to match for the filter used to create the rule.

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

An "equals" operator to match for the filter used to create the rule.

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

An "equals" operator to match for the filter used to create the rule.

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

A "not equals" operator to match for the filter used to create the rule.

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

A "not equals" operator to match for the filter used to create the rule.

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

A "not equals" operator to match for the filter used to create the rule.

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

A "not equals" operator to match for the filter used to create the rule.

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

A "not equals" operator to match for the filter used to create the rule.

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

A "not equals" operator to match for the filter used to create the rule.

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

A "not equals" operator to match for the filter used to create the rule.

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

A "not equals" operator to match for the filter used to create the rule.

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

A "not equals" operator to match for the filter used to create the rule.

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

A "contains" operator to match for the filter used to create the rule.

*/ inline const Aws::Vector& GetContains() const{ return m_contains; } /** *

A "contains" operator to match for the filter used to create the rule.

*/ inline bool ContainsHasBeenSet() const { return m_containsHasBeenSet; } /** *

A "contains" operator to match for the filter used to create the rule.

*/ inline void SetContains(const Aws::Vector& value) { m_containsHasBeenSet = true; m_contains = value; } /** *

A "contains" operator to match for the filter used to create the rule.

*/ inline void SetContains(Aws::Vector&& value) { m_containsHasBeenSet = true; m_contains = std::move(value); } /** *

A "contains" operator to match for the filter used to create the rule.

*/ inline Criterion& WithContains(const Aws::Vector& value) { SetContains(value); return *this;} /** *

A "contains" operator to match for the filter used to create the rule.

*/ inline Criterion& WithContains(Aws::Vector&& value) { SetContains(std::move(value)); return *this;} /** *

A "contains" operator to match for the filter used to create the rule.

*/ inline Criterion& AddContains(const Aws::String& value) { m_containsHasBeenSet = true; m_contains.push_back(value); return *this; } /** *

A "contains" operator to match for the filter used to create the rule.

*/ inline Criterion& AddContains(Aws::String&& value) { m_containsHasBeenSet = true; m_contains.push_back(std::move(value)); return *this; } /** *

A "contains" operator to match for the filter used to create the rule.

*/ inline Criterion& AddContains(const char* value) { m_containsHasBeenSet = true; m_contains.push_back(value); return *this; } /** *

An "exists" operator to match for the filter used to create the rule.

*/ inline bool GetExists() const{ return m_exists; } /** *

An "exists" operator to match for the filter used to create the rule.

*/ inline bool ExistsHasBeenSet() const { return m_existsHasBeenSet; } /** *

An "exists" operator to match for the filter used to create the rule.

*/ inline void SetExists(bool value) { m_existsHasBeenSet = true; m_exists = value; } /** *

An "exists" operator to match for the filter used to create the rule.

*/ inline Criterion& WithExists(bool value) { SetExists(value); return *this;} private: Aws::Vector m_eq; bool m_eqHasBeenSet = false; Aws::Vector m_neq; bool m_neqHasBeenSet = false; Aws::Vector m_contains; bool m_containsHasBeenSet = false; bool m_exists; bool m_existsHasBeenSet = false; }; } // namespace Model } // namespace AccessAnalyzer } // namespace Aws