/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Specifies which S3 buckets contain the objects that a classification job
* analyzes, and the scope of that analysis. The bucket specification can be static
* (bucketDefinitions) or dynamic (bucketCriteria). If it's static, the job
* analyzes objects in the same predefined set of buckets each time the job runs.
* If it's dynamic, the job analyzes objects in any buckets that match the
* specified criteria each time the job starts to run.See Also:
* AWS
* API Reference
The property- and tag-based conditions that determine which S3 buckets to * include or exclude from the analysis. Each time the job runs, the job uses these * criteria to determine which buckets contain objects to analyze. A job's * definition can contain a bucketCriteria object or a bucketDefinitions array, not * both.
*/ inline const S3BucketCriteriaForJob& GetBucketCriteria() const{ return m_bucketCriteria; } /** *The property- and tag-based conditions that determine which S3 buckets to * include or exclude from the analysis. Each time the job runs, the job uses these * criteria to determine which buckets contain objects to analyze. A job's * definition can contain a bucketCriteria object or a bucketDefinitions array, not * both.
*/ inline bool BucketCriteriaHasBeenSet() const { return m_bucketCriteriaHasBeenSet; } /** *The property- and tag-based conditions that determine which S3 buckets to * include or exclude from the analysis. Each time the job runs, the job uses these * criteria to determine which buckets contain objects to analyze. A job's * definition can contain a bucketCriteria object or a bucketDefinitions array, not * both.
*/ inline void SetBucketCriteria(const S3BucketCriteriaForJob& value) { m_bucketCriteriaHasBeenSet = true; m_bucketCriteria = value; } /** *The property- and tag-based conditions that determine which S3 buckets to * include or exclude from the analysis. Each time the job runs, the job uses these * criteria to determine which buckets contain objects to analyze. A job's * definition can contain a bucketCriteria object or a bucketDefinitions array, not * both.
*/ inline void SetBucketCriteria(S3BucketCriteriaForJob&& value) { m_bucketCriteriaHasBeenSet = true; m_bucketCriteria = std::move(value); } /** *The property- and tag-based conditions that determine which S3 buckets to * include or exclude from the analysis. Each time the job runs, the job uses these * criteria to determine which buckets contain objects to analyze. A job's * definition can contain a bucketCriteria object or a bucketDefinitions array, not * both.
*/ inline S3JobDefinition& WithBucketCriteria(const S3BucketCriteriaForJob& value) { SetBucketCriteria(value); return *this;} /** *The property- and tag-based conditions that determine which S3 buckets to * include or exclude from the analysis. Each time the job runs, the job uses these * criteria to determine which buckets contain objects to analyze. A job's * definition can contain a bucketCriteria object or a bucketDefinitions array, not * both.
*/ inline S3JobDefinition& WithBucketCriteria(S3BucketCriteriaForJob&& value) { SetBucketCriteria(std::move(value)); return *this;} /** *An array of objects, one for each Amazon Web Services account that owns * specific S3 buckets to analyze. Each object specifies the account ID for an * account and one or more buckets to analyze for that account. A job's definition * can contain a bucketDefinitions array or a bucketCriteria object, not both.
*/ inline const Aws::VectorAn array of objects, one for each Amazon Web Services account that owns * specific S3 buckets to analyze. Each object specifies the account ID for an * account and one or more buckets to analyze for that account. A job's definition * can contain a bucketDefinitions array or a bucketCriteria object, not both.
*/ inline bool BucketDefinitionsHasBeenSet() const { return m_bucketDefinitionsHasBeenSet; } /** *An array of objects, one for each Amazon Web Services account that owns * specific S3 buckets to analyze. Each object specifies the account ID for an * account and one or more buckets to analyze for that account. A job's definition * can contain a bucketDefinitions array or a bucketCriteria object, not both.
*/ inline void SetBucketDefinitions(const Aws::VectorAn array of objects, one for each Amazon Web Services account that owns * specific S3 buckets to analyze. Each object specifies the account ID for an * account and one or more buckets to analyze for that account. A job's definition * can contain a bucketDefinitions array or a bucketCriteria object, not both.
*/ inline void SetBucketDefinitions(Aws::VectorAn array of objects, one for each Amazon Web Services account that owns * specific S3 buckets to analyze. Each object specifies the account ID for an * account and one or more buckets to analyze for that account. A job's definition * can contain a bucketDefinitions array or a bucketCriteria object, not both.
*/ inline S3JobDefinition& WithBucketDefinitions(const Aws::VectorAn array of objects, one for each Amazon Web Services account that owns * specific S3 buckets to analyze. Each object specifies the account ID for an * account and one or more buckets to analyze for that account. A job's definition * can contain a bucketDefinitions array or a bucketCriteria object, not both.
*/ inline S3JobDefinition& WithBucketDefinitions(Aws::VectorAn array of objects, one for each Amazon Web Services account that owns * specific S3 buckets to analyze. Each object specifies the account ID for an * account and one or more buckets to analyze for that account. A job's definition * can contain a bucketDefinitions array or a bucketCriteria object, not both.
*/ inline S3JobDefinition& AddBucketDefinitions(const S3BucketDefinitionForJob& value) { m_bucketDefinitionsHasBeenSet = true; m_bucketDefinitions.push_back(value); return *this; } /** *An array of objects, one for each Amazon Web Services account that owns * specific S3 buckets to analyze. Each object specifies the account ID for an * account and one or more buckets to analyze for that account. A job's definition * can contain a bucketDefinitions array or a bucketCriteria object, not both.
*/ 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 S3 objects to * include or exclude from the analysis. Each time the job runs, the job uses these * criteria to determine which objects to analyze.
*/ inline const Scoping& GetScoping() const{ return m_scoping; } /** *The property- and tag-based conditions that determine which S3 objects to * include or exclude from the analysis. Each time the job runs, the job uses these * criteria to determine which objects to analyze.
*/ inline bool ScopingHasBeenSet() const { return m_scopingHasBeenSet; } /** *The property- and tag-based conditions that determine which S3 objects to * include or exclude from the analysis. Each time the job runs, the job uses these * criteria to determine which objects to analyze.
*/ inline void SetScoping(const Scoping& value) { m_scopingHasBeenSet = true; m_scoping = value; } /** *The property- and tag-based conditions that determine which S3 objects to * include or exclude from the analysis. Each time the job runs, the job uses these * criteria to determine which objects to analyze.
*/ inline void SetScoping(Scoping&& value) { m_scopingHasBeenSet = true; m_scoping = std::move(value); } /** *The property- and tag-based conditions that determine which S3 objects to * include or exclude from the analysis. Each time the job runs, the job uses these * criteria to determine which objects to analyze.
*/ inline S3JobDefinition& WithScoping(const Scoping& value) { SetScoping(value); return *this;} /** *The property- and tag-based conditions that determine which S3 objects to * include or exclude from the analysis. Each time the job runs, the job uses these * criteria to determine which objects to analyze.
*/ inline S3JobDefinition& WithScoping(Scoping&& value) { SetScoping(std::move(value)); return *this;} private: S3BucketCriteriaForJob m_bucketCriteria; bool m_bucketCriteriaHasBeenSet = false; Aws::Vector