/** * 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 Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace S3Control { namespace Model { /** *

The container for the service that will create the S3 manifest.

See * Also:

AWS * API Reference

*/ class S3JobManifestGenerator { public: AWS_S3CONTROL_API S3JobManifestGenerator(); AWS_S3CONTROL_API S3JobManifestGenerator(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_S3CONTROL_API S3JobManifestGenerator& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** *

The Amazon Web Services account ID that owns the bucket the generated * manifest is written to. If provided the generated manifest bucket's owner Amazon * Web Services account ID must match this value, else the job fails.

*/ inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; } /** *

The Amazon Web Services account ID that owns the bucket the generated * manifest is written to. If provided the generated manifest bucket's owner Amazon * Web Services account ID must match this value, else the job fails.

*/ inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; } /** *

The Amazon Web Services account ID that owns the bucket the generated * manifest is written to. If provided the generated manifest bucket's owner Amazon * Web Services account ID must match this value, else the job fails.

*/ inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; } /** *

The Amazon Web Services account ID that owns the bucket the generated * manifest is written to. If provided the generated manifest bucket's owner Amazon * Web Services account ID must match this value, else the job fails.

*/ inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); } /** *

The Amazon Web Services account ID that owns the bucket the generated * manifest is written to. If provided the generated manifest bucket's owner Amazon * Web Services account ID must match this value, else the job fails.

*/ inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); } /** *

The Amazon Web Services account ID that owns the bucket the generated * manifest is written to. If provided the generated manifest bucket's owner Amazon * Web Services account ID must match this value, else the job fails.

*/ inline S3JobManifestGenerator& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;} /** *

The Amazon Web Services account ID that owns the bucket the generated * manifest is written to. If provided the generated manifest bucket's owner Amazon * Web Services account ID must match this value, else the job fails.

*/ inline S3JobManifestGenerator& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;} /** *

The Amazon Web Services account ID that owns the bucket the generated * manifest is written to. If provided the generated manifest bucket's owner Amazon * Web Services account ID must match this value, else the job fails.

*/ inline S3JobManifestGenerator& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;} /** *

The source bucket used by the ManifestGenerator.

*/ inline const Aws::String& GetSourceBucket() const{ return m_sourceBucket; } /** *

The source bucket used by the ManifestGenerator.

*/ inline bool SourceBucketHasBeenSet() const { return m_sourceBucketHasBeenSet; } /** *

The source bucket used by the ManifestGenerator.

*/ inline void SetSourceBucket(const Aws::String& value) { m_sourceBucketHasBeenSet = true; m_sourceBucket = value; } /** *

The source bucket used by the ManifestGenerator.

*/ inline void SetSourceBucket(Aws::String&& value) { m_sourceBucketHasBeenSet = true; m_sourceBucket = std::move(value); } /** *

The source bucket used by the ManifestGenerator.

*/ inline void SetSourceBucket(const char* value) { m_sourceBucketHasBeenSet = true; m_sourceBucket.assign(value); } /** *

The source bucket used by the ManifestGenerator.

*/ inline S3JobManifestGenerator& WithSourceBucket(const Aws::String& value) { SetSourceBucket(value); return *this;} /** *

The source bucket used by the ManifestGenerator.

*/ inline S3JobManifestGenerator& WithSourceBucket(Aws::String&& value) { SetSourceBucket(std::move(value)); return *this;} /** *

The source bucket used by the ManifestGenerator.

*/ inline S3JobManifestGenerator& WithSourceBucket(const char* value) { SetSourceBucket(value); return *this;} /** *

Specifies the location the generated manifest will be written to.

*/ inline const S3ManifestOutputLocation& GetManifestOutputLocation() const{ return m_manifestOutputLocation; } /** *

Specifies the location the generated manifest will be written to.

*/ inline bool ManifestOutputLocationHasBeenSet() const { return m_manifestOutputLocationHasBeenSet; } /** *

Specifies the location the generated manifest will be written to.

*/ inline void SetManifestOutputLocation(const S3ManifestOutputLocation& value) { m_manifestOutputLocationHasBeenSet = true; m_manifestOutputLocation = value; } /** *

Specifies the location the generated manifest will be written to.

*/ inline void SetManifestOutputLocation(S3ManifestOutputLocation&& value) { m_manifestOutputLocationHasBeenSet = true; m_manifestOutputLocation = std::move(value); } /** *

Specifies the location the generated manifest will be written to.

*/ inline S3JobManifestGenerator& WithManifestOutputLocation(const S3ManifestOutputLocation& value) { SetManifestOutputLocation(value); return *this;} /** *

Specifies the location the generated manifest will be written to.

*/ inline S3JobManifestGenerator& WithManifestOutputLocation(S3ManifestOutputLocation&& value) { SetManifestOutputLocation(std::move(value)); return *this;} /** *

Specifies rules the S3JobManifestGenerator should use to use to decide * whether an object in the source bucket should or should not be included in the * generated job manifest.

*/ inline const JobManifestGeneratorFilter& GetFilter() const{ return m_filter; } /** *

Specifies rules the S3JobManifestGenerator should use to use to decide * whether an object in the source bucket should or should not be included in the * generated job manifest.

*/ inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } /** *

Specifies rules the S3JobManifestGenerator should use to use to decide * whether an object in the source bucket should or should not be included in the * generated job manifest.

*/ inline void SetFilter(const JobManifestGeneratorFilter& value) { m_filterHasBeenSet = true; m_filter = value; } /** *

Specifies rules the S3JobManifestGenerator should use to use to decide * whether an object in the source bucket should or should not be included in the * generated job manifest.

*/ inline void SetFilter(JobManifestGeneratorFilter&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } /** *

Specifies rules the S3JobManifestGenerator should use to use to decide * whether an object in the source bucket should or should not be included in the * generated job manifest.

*/ inline S3JobManifestGenerator& WithFilter(const JobManifestGeneratorFilter& value) { SetFilter(value); return *this;} /** *

Specifies rules the S3JobManifestGenerator should use to use to decide * whether an object in the source bucket should or should not be included in the * generated job manifest.

*/ inline S3JobManifestGenerator& WithFilter(JobManifestGeneratorFilter&& value) { SetFilter(std::move(value)); return *this;} /** *

Determines whether or not to write the job's generated manifest to a * bucket.

*/ inline bool GetEnableManifestOutput() const{ return m_enableManifestOutput; } /** *

Determines whether or not to write the job's generated manifest to a * bucket.

*/ inline bool EnableManifestOutputHasBeenSet() const { return m_enableManifestOutputHasBeenSet; } /** *

Determines whether or not to write the job's generated manifest to a * bucket.

*/ inline void SetEnableManifestOutput(bool value) { m_enableManifestOutputHasBeenSet = true; m_enableManifestOutput = value; } /** *

Determines whether or not to write the job's generated manifest to a * bucket.

*/ inline S3JobManifestGenerator& WithEnableManifestOutput(bool value) { SetEnableManifestOutput(value); return *this;} private: Aws::String m_expectedBucketOwner; bool m_expectedBucketOwnerHasBeenSet = false; Aws::String m_sourceBucket; bool m_sourceBucketHasBeenSet = false; S3ManifestOutputLocation m_manifestOutputLocation; bool m_manifestOutputLocationHasBeenSet = false; JobManifestGeneratorFilter m_filter; bool m_filterHasBeenSet = false; bool m_enableManifestOutput; bool m_enableManifestOutputHasBeenSet = false; }; } // namespace Model } // namespace S3Control } // namespace Aws