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

Contains a logical operation for comparing the value of a field with a * specified value.

See Also:

AWS * API Reference

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

The logical operation to be performed: equal (EQ), equal * reference (REF_EQ), less than or equal (LE), greater * than or equal (GE), or between (BETWEEN). Equal * reference (REF_EQ) can be used only with reference fields. The * other comparison types can be used only with String fields. The comparison types * you can use apply only to certain object fields, as detailed below.

The * comparison operators EQ and REF_EQ act on the following fields:

    *
  • name
  • @sphere
  • parent
  • @componentParent
  • *
  • @instanceParent
  • @status
  • @scheduledStartTime
  • *
  • @scheduledEndTime
  • @actualStartTime
  • @actualEndTime
  • *

The comparison operators GE, LE, and * BETWEEN act on the following fields:

    *
  • @scheduledStartTime
  • @scheduledEndTime
  • *
  • @actualStartTime
  • @actualEndTime

Note that fields * beginning with the at sign (@) are read-only and set by the web service. When * you name fields, you should choose names containing only alpha-numeric values, * as symbols may be reserved by AWS Data Pipeline. User-defined fields that you * add to a pipeline should prefix their name with the string "my".

*/ inline const OperatorType& GetType() const{ return m_type; } /** *

The logical operation to be performed: equal (EQ), equal * reference (REF_EQ), less than or equal (LE), greater * than or equal (GE), or between (BETWEEN). Equal * reference (REF_EQ) can be used only with reference fields. The * other comparison types can be used only with String fields. The comparison types * you can use apply only to certain object fields, as detailed below.

The * comparison operators EQ and REF_EQ act on the following fields:

    *
  • name
  • @sphere
  • parent
  • @componentParent
  • *
  • @instanceParent
  • @status
  • @scheduledStartTime
  • *
  • @scheduledEndTime
  • @actualStartTime
  • @actualEndTime
  • *

The comparison operators GE, LE, and * BETWEEN act on the following fields:

    *
  • @scheduledStartTime
  • @scheduledEndTime
  • *
  • @actualStartTime
  • @actualEndTime

Note that fields * beginning with the at sign (@) are read-only and set by the web service. When * you name fields, you should choose names containing only alpha-numeric values, * as symbols may be reserved by AWS Data Pipeline. User-defined fields that you * add to a pipeline should prefix their name with the string "my".

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The logical operation to be performed: equal (EQ), equal * reference (REF_EQ), less than or equal (LE), greater * than or equal (GE), or between (BETWEEN). Equal * reference (REF_EQ) can be used only with reference fields. The * other comparison types can be used only with String fields. The comparison types * you can use apply only to certain object fields, as detailed below.

The * comparison operators EQ and REF_EQ act on the following fields:

    *
  • name
  • @sphere
  • parent
  • @componentParent
  • *
  • @instanceParent
  • @status
  • @scheduledStartTime
  • *
  • @scheduledEndTime
  • @actualStartTime
  • @actualEndTime
  • *

The comparison operators GE, LE, and * BETWEEN act on the following fields:

    *
  • @scheduledStartTime
  • @scheduledEndTime
  • *
  • @actualStartTime
  • @actualEndTime

Note that fields * beginning with the at sign (@) are read-only and set by the web service. When * you name fields, you should choose names containing only alpha-numeric values, * as symbols may be reserved by AWS Data Pipeline. User-defined fields that you * add to a pipeline should prefix their name with the string "my".

*/ inline void SetType(const OperatorType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The logical operation to be performed: equal (EQ), equal * reference (REF_EQ), less than or equal (LE), greater * than or equal (GE), or between (BETWEEN). Equal * reference (REF_EQ) can be used only with reference fields. The * other comparison types can be used only with String fields. The comparison types * you can use apply only to certain object fields, as detailed below.

The * comparison operators EQ and REF_EQ act on the following fields:

    *
  • name
  • @sphere
  • parent
  • @componentParent
  • *
  • @instanceParent
  • @status
  • @scheduledStartTime
  • *
  • @scheduledEndTime
  • @actualStartTime
  • @actualEndTime
  • *

The comparison operators GE, LE, and * BETWEEN act on the following fields:

    *
  • @scheduledStartTime
  • @scheduledEndTime
  • *
  • @actualStartTime
  • @actualEndTime

Note that fields * beginning with the at sign (@) are read-only and set by the web service. When * you name fields, you should choose names containing only alpha-numeric values, * as symbols may be reserved by AWS Data Pipeline. User-defined fields that you * add to a pipeline should prefix their name with the string "my".

*/ inline void SetType(OperatorType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The logical operation to be performed: equal (EQ), equal * reference (REF_EQ), less than or equal (LE), greater * than or equal (GE), or between (BETWEEN). Equal * reference (REF_EQ) can be used only with reference fields. The * other comparison types can be used only with String fields. The comparison types * you can use apply only to certain object fields, as detailed below.

The * comparison operators EQ and REF_EQ act on the following fields:

    *
  • name
  • @sphere
  • parent
  • @componentParent
  • *
  • @instanceParent
  • @status
  • @scheduledStartTime
  • *
  • @scheduledEndTime
  • @actualStartTime
  • @actualEndTime
  • *

The comparison operators GE, LE, and * BETWEEN act on the following fields:

    *
  • @scheduledStartTime
  • @scheduledEndTime
  • *
  • @actualStartTime
  • @actualEndTime

Note that fields * beginning with the at sign (@) are read-only and set by the web service. When * you name fields, you should choose names containing only alpha-numeric values, * as symbols may be reserved by AWS Data Pipeline. User-defined fields that you * add to a pipeline should prefix their name with the string "my".

*/ inline Operator& WithType(const OperatorType& value) { SetType(value); return *this;} /** *

The logical operation to be performed: equal (EQ), equal * reference (REF_EQ), less than or equal (LE), greater * than or equal (GE), or between (BETWEEN). Equal * reference (REF_EQ) can be used only with reference fields. The * other comparison types can be used only with String fields. The comparison types * you can use apply only to certain object fields, as detailed below.

The * comparison operators EQ and REF_EQ act on the following fields:

    *
  • name
  • @sphere
  • parent
  • @componentParent
  • *
  • @instanceParent
  • @status
  • @scheduledStartTime
  • *
  • @scheduledEndTime
  • @actualStartTime
  • @actualEndTime
  • *

The comparison operators GE, LE, and * BETWEEN act on the following fields:

    *
  • @scheduledStartTime
  • @scheduledEndTime
  • *
  • @actualStartTime
  • @actualEndTime

Note that fields * beginning with the at sign (@) are read-only and set by the web service. When * you name fields, you should choose names containing only alpha-numeric values, * as symbols may be reserved by AWS Data Pipeline. User-defined fields that you * add to a pipeline should prefix their name with the string "my".

*/ inline Operator& WithType(OperatorType&& value) { SetType(std::move(value)); return *this;} /** *

The value that the actual field value will be compared with.

*/ inline const Aws::Vector& GetValues() const{ return m_values; } /** *

The value that the actual field value will be compared with.

*/ inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; } /** *

The value that the actual field value will be compared with.

*/ inline void SetValues(const Aws::Vector& value) { m_valuesHasBeenSet = true; m_values = value; } /** *

The value that the actual field value will be compared with.

*/ inline void SetValues(Aws::Vector&& value) { m_valuesHasBeenSet = true; m_values = std::move(value); } /** *

The value that the actual field value will be compared with.

*/ inline Operator& WithValues(const Aws::Vector& value) { SetValues(value); return *this;} /** *

The value that the actual field value will be compared with.

*/ inline Operator& WithValues(Aws::Vector&& value) { SetValues(std::move(value)); return *this;} /** *

The value that the actual field value will be compared with.

*/ inline Operator& AddValues(const Aws::String& value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } /** *

The value that the actual field value will be compared with.

*/ inline Operator& AddValues(Aws::String&& value) { m_valuesHasBeenSet = true; m_values.push_back(std::move(value)); return *this; } /** *

The value that the actual field value will be compared with.

*/ inline Operator& AddValues(const char* value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } private: OperatorType m_type; bool m_typeHasBeenSet = false; Aws::Vector m_values; bool m_valuesHasBeenSet = false; }; } // namespace Model } // namespace DataPipeline } // namespace Aws