/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Glue { namespace Model { /** *

Defines the predicate of the trigger, which determines when it * fires.

See Also:

AWS API * Reference

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

An optional field if only one condition is listed. If multiple conditions are * listed, then this field is required.

*/ inline const Logical& GetLogical() const{ return m_logical; } /** *

An optional field if only one condition is listed. If multiple conditions are * listed, then this field is required.

*/ inline bool LogicalHasBeenSet() const { return m_logicalHasBeenSet; } /** *

An optional field if only one condition is listed. If multiple conditions are * listed, then this field is required.

*/ inline void SetLogical(const Logical& value) { m_logicalHasBeenSet = true; m_logical = value; } /** *

An optional field if only one condition is listed. If multiple conditions are * listed, then this field is required.

*/ inline void SetLogical(Logical&& value) { m_logicalHasBeenSet = true; m_logical = std::move(value); } /** *

An optional field if only one condition is listed. If multiple conditions are * listed, then this field is required.

*/ inline Predicate& WithLogical(const Logical& value) { SetLogical(value); return *this;} /** *

An optional field if only one condition is listed. If multiple conditions are * listed, then this field is required.

*/ inline Predicate& WithLogical(Logical&& value) { SetLogical(std::move(value)); return *this;} /** *

A list of the conditions that determine when the trigger will fire.

*/ inline const Aws::Vector& GetConditions() const{ return m_conditions; } /** *

A list of the conditions that determine when the trigger will fire.

*/ inline bool ConditionsHasBeenSet() const { return m_conditionsHasBeenSet; } /** *

A list of the conditions that determine when the trigger will fire.

*/ inline void SetConditions(const Aws::Vector& value) { m_conditionsHasBeenSet = true; m_conditions = value; } /** *

A list of the conditions that determine when the trigger will fire.

*/ inline void SetConditions(Aws::Vector&& value) { m_conditionsHasBeenSet = true; m_conditions = std::move(value); } /** *

A list of the conditions that determine when the trigger will fire.

*/ inline Predicate& WithConditions(const Aws::Vector& value) { SetConditions(value); return *this;} /** *

A list of the conditions that determine when the trigger will fire.

*/ inline Predicate& WithConditions(Aws::Vector&& value) { SetConditions(std::move(value)); return *this;} /** *

A list of the conditions that determine when the trigger will fire.

*/ inline Predicate& AddConditions(const Condition& value) { m_conditionsHasBeenSet = true; m_conditions.push_back(value); return *this; } /** *

A list of the conditions that determine when the trigger will fire.

*/ inline Predicate& AddConditions(Condition&& value) { m_conditionsHasBeenSet = true; m_conditions.push_back(std::move(value)); return *this; } private: Logical m_logical; bool m_logicalHasBeenSet = false; Aws::Vector m_conditions; bool m_conditionsHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws