/** * 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 objects from a classification job.

See * Also:

AWS * API Reference

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

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

*/ inline const SimpleScopeTerm& GetSimpleScopeTerm() const{ return m_simpleScopeTerm; } /** *

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

*/ inline bool SimpleScopeTermHasBeenSet() const { return m_simpleScopeTermHasBeenSet; } /** *

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

*/ inline void SetSimpleScopeTerm(const SimpleScopeTerm& value) { m_simpleScopeTermHasBeenSet = true; m_simpleScopeTerm = value; } /** *

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

*/ inline void SetSimpleScopeTerm(SimpleScopeTerm&& value) { m_simpleScopeTermHasBeenSet = true; m_simpleScopeTerm = std::move(value); } /** *

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

*/ inline JobScopeTerm& WithSimpleScopeTerm(const SimpleScopeTerm& value) { SetSimpleScopeTerm(value); return *this;} /** *

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

*/ inline JobScopeTerm& WithSimpleScopeTerm(SimpleScopeTerm&& value) { SetSimpleScopeTerm(std::move(value)); return *this;} /** *

A tag-based condition that defines an operator and a tag key and value for * including or excluding an object from the job.

*/ inline const TagScopeTerm& GetTagScopeTerm() const{ return m_tagScopeTerm; } /** *

A tag-based condition that defines an operator and a tag key and value for * including or excluding an object from the job.

*/ inline bool TagScopeTermHasBeenSet() const { return m_tagScopeTermHasBeenSet; } /** *

A tag-based condition that defines an operator and a tag key and value for * including or excluding an object from the job.

*/ inline void SetTagScopeTerm(const TagScopeTerm& value) { m_tagScopeTermHasBeenSet = true; m_tagScopeTerm = value; } /** *

A tag-based condition that defines an operator and a tag key and value for * including or excluding an object from the job.

*/ inline void SetTagScopeTerm(TagScopeTerm&& value) { m_tagScopeTermHasBeenSet = true; m_tagScopeTerm = std::move(value); } /** *

A tag-based condition that defines an operator and a tag key and value for * including or excluding an object from the job.

*/ inline JobScopeTerm& WithTagScopeTerm(const TagScopeTerm& value) { SetTagScopeTerm(value); return *this;} /** *

A tag-based condition that defines an operator and a tag key and value for * including or excluding an object from the job.

*/ inline JobScopeTerm& WithTagScopeTerm(TagScopeTerm&& value) { SetTagScopeTerm(std::move(value)); return *this;} private: SimpleScopeTerm m_simpleScopeTerm; bool m_simpleScopeTermHasBeenSet; TagScopeTerm m_tagScopeTerm; bool m_tagScopeTermHasBeenSet; }; } // namespace Model } // namespace Macie2 } // namespace Aws