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

Specifies which S3 buckets contain the objects that a classification job * analyzes, and the scope of that analysis.

See Also:

AWS * API Reference

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

An array of objects, one for each bucket that contains objects to * analyze.

*/ inline const Aws::Vector& GetBucketDefinitions() const{ return m_bucketDefinitions; } /** *

An array of objects, one for each bucket that contains objects to * analyze.

*/ inline bool BucketDefinitionsHasBeenSet() const { return m_bucketDefinitionsHasBeenSet; } /** *

An array of objects, one for each bucket that contains objects to * analyze.

*/ inline void SetBucketDefinitions(const Aws::Vector& value) { m_bucketDefinitionsHasBeenSet = true; m_bucketDefinitions = value; } /** *

An array of objects, one for each bucket that contains objects to * analyze.

*/ inline void SetBucketDefinitions(Aws::Vector&& value) { m_bucketDefinitionsHasBeenSet = true; m_bucketDefinitions = std::move(value); } /** *

An array of objects, one for each bucket that contains objects to * analyze.

*/ inline S3JobDefinition& WithBucketDefinitions(const Aws::Vector& value) { SetBucketDefinitions(value); return *this;} /** *

An array of objects, one for each bucket that contains objects to * analyze.

*/ inline S3JobDefinition& WithBucketDefinitions(Aws::Vector&& value) { SetBucketDefinitions(std::move(value)); return *this;} /** *

An array of objects, one for each bucket that contains objects to * analyze.

*/ inline S3JobDefinition& AddBucketDefinitions(const S3BucketDefinitionForJob& value) { m_bucketDefinitionsHasBeenSet = true; m_bucketDefinitions.push_back(value); return *this; } /** *

An array of objects, one for each bucket that contains objects to * analyze.

*/ inline S3JobDefinition& AddBucketDefinitions(S3BucketDefinitionForJob&& value) { m_bucketDefinitionsHasBeenSet = true; m_bucketDefinitions.push_back(std::move(value)); return *this; } /** *

The property- and tag-based conditions that determine which objects to * include or exclude from the analysis.

*/ inline const Scoping& GetScoping() const{ return m_scoping; } /** *

The property- and tag-based conditions that determine which objects to * include or exclude from the analysis.

*/ inline bool ScopingHasBeenSet() const { return m_scopingHasBeenSet; } /** *

The property- and tag-based conditions that determine which objects to * include or exclude from the analysis.

*/ inline void SetScoping(const Scoping& value) { m_scopingHasBeenSet = true; m_scoping = value; } /** *

The property- and tag-based conditions that determine which objects to * include or exclude from the analysis.

*/ inline void SetScoping(Scoping&& value) { m_scopingHasBeenSet = true; m_scoping = std::move(value); } /** *

The property- and tag-based conditions that determine which objects to * include or exclude from the analysis.

*/ inline S3JobDefinition& WithScoping(const Scoping& value) { SetScoping(value); return *this;} /** *

The property- and tag-based conditions that determine which objects to * include or exclude from the analysis.

*/ inline S3JobDefinition& WithScoping(Scoping&& value) { SetScoping(std::move(value)); return *this;} private: Aws::Vector m_bucketDefinitions; bool m_bucketDefinitionsHasBeenSet; Scoping m_scoping; bool m_scopingHasBeenSet; }; } // namespace Model } // namespace Macie2 } // namespace Aws