/** * 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 a property- or tag-based condition that defines criteria for * including or excluding S3 buckets from a classification job.

See * Also:

AWS * API Reference

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

A property-based condition that defines a property, operator, and one or more * values for including or excluding buckets from the job.

*/ inline const SimpleCriterionForJob& GetSimpleCriterion() const{ return m_simpleCriterion; } /** *

A property-based condition that defines a property, operator, and one or more * values for including or excluding buckets from the job.

*/ inline bool SimpleCriterionHasBeenSet() const { return m_simpleCriterionHasBeenSet; } /** *

A property-based condition that defines a property, operator, and one or more * values for including or excluding buckets from the job.

*/ inline void SetSimpleCriterion(const SimpleCriterionForJob& value) { m_simpleCriterionHasBeenSet = true; m_simpleCriterion = value; } /** *

A property-based condition that defines a property, operator, and one or more * values for including or excluding buckets from the job.

*/ inline void SetSimpleCriterion(SimpleCriterionForJob&& value) { m_simpleCriterionHasBeenSet = true; m_simpleCriterion = std::move(value); } /** *

A property-based condition that defines a property, operator, and one or more * values for including or excluding buckets from the job.

*/ inline CriteriaForJob& WithSimpleCriterion(const SimpleCriterionForJob& value) { SetSimpleCriterion(value); return *this;} /** *

A property-based condition that defines a property, operator, and one or more * values for including or excluding buckets from the job.

*/ inline CriteriaForJob& WithSimpleCriterion(SimpleCriterionForJob&& value) { SetSimpleCriterion(std::move(value)); return *this;} /** *

A tag-based condition that defines an operator and tag keys, tag values, or * tag key and value pairs for including or excluding buckets from the job.

*/ inline const TagCriterionForJob& GetTagCriterion() const{ return m_tagCriterion; } /** *

A tag-based condition that defines an operator and tag keys, tag values, or * tag key and value pairs for including or excluding buckets from the job.

*/ inline bool TagCriterionHasBeenSet() const { return m_tagCriterionHasBeenSet; } /** *

A tag-based condition that defines an operator and tag keys, tag values, or * tag key and value pairs for including or excluding buckets from the job.

*/ inline void SetTagCriterion(const TagCriterionForJob& value) { m_tagCriterionHasBeenSet = true; m_tagCriterion = value; } /** *

A tag-based condition that defines an operator and tag keys, tag values, or * tag key and value pairs for including or excluding buckets from the job.

*/ inline void SetTagCriterion(TagCriterionForJob&& value) { m_tagCriterionHasBeenSet = true; m_tagCriterion = std::move(value); } /** *

A tag-based condition that defines an operator and tag keys, tag values, or * tag key and value pairs for including or excluding buckets from the job.

*/ inline CriteriaForJob& WithTagCriterion(const TagCriterionForJob& value) { SetTagCriterion(value); return *this;} /** *

A tag-based condition that defines an operator and tag keys, tag values, or * tag key and value pairs for including or excluding buckets from the job.

*/ inline CriteriaForJob& WithTagCriterion(TagCriterionForJob&& value) { SetTagCriterion(std::move(value)); return *this;} private: SimpleCriterionForJob m_simpleCriterion; bool m_simpleCriterionHasBeenSet = false; TagCriterionForJob m_tagCriterion; bool m_tagCriterionHasBeenSet = false; }; } // namespace Model } // namespace Macie2 } // namespace Aws