/** * 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 { /** *

Location details for where the generated manifest should be * written.

See Also:

AWS * API Reference

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

The Account ID that owns the bucket the generated manifest is written to.

*/ inline const Aws::String& GetExpectedManifestBucketOwner() const{ return m_expectedManifestBucketOwner; } /** *

The Account ID that owns the bucket the generated manifest is written to.

*/ inline bool ExpectedManifestBucketOwnerHasBeenSet() const { return m_expectedManifestBucketOwnerHasBeenSet; } /** *

The Account ID that owns the bucket the generated manifest is written to.

*/ inline void SetExpectedManifestBucketOwner(const Aws::String& value) { m_expectedManifestBucketOwnerHasBeenSet = true; m_expectedManifestBucketOwner = value; } /** *

The Account ID that owns the bucket the generated manifest is written to.

*/ inline void SetExpectedManifestBucketOwner(Aws::String&& value) { m_expectedManifestBucketOwnerHasBeenSet = true; m_expectedManifestBucketOwner = std::move(value); } /** *

The Account ID that owns the bucket the generated manifest is written to.

*/ inline void SetExpectedManifestBucketOwner(const char* value) { m_expectedManifestBucketOwnerHasBeenSet = true; m_expectedManifestBucketOwner.assign(value); } /** *

The Account ID that owns the bucket the generated manifest is written to.

*/ inline S3ManifestOutputLocation& WithExpectedManifestBucketOwner(const Aws::String& value) { SetExpectedManifestBucketOwner(value); return *this;} /** *

The Account ID that owns the bucket the generated manifest is written to.

*/ inline S3ManifestOutputLocation& WithExpectedManifestBucketOwner(Aws::String&& value) { SetExpectedManifestBucketOwner(std::move(value)); return *this;} /** *

The Account ID that owns the bucket the generated manifest is written to.

*/ inline S3ManifestOutputLocation& WithExpectedManifestBucketOwner(const char* value) { SetExpectedManifestBucketOwner(value); return *this;} /** *

The bucket ARN the generated manifest should be written to.

*/ inline const Aws::String& GetBucket() const{ return m_bucket; } /** *

The bucket ARN the generated manifest should be written to.

*/ inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } /** *

The bucket ARN the generated manifest should be written to.

*/ inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } /** *

The bucket ARN the generated manifest should be written to.

*/ inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } /** *

The bucket ARN the generated manifest should be written to.

*/ inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } /** *

The bucket ARN the generated manifest should be written to.

*/ inline S3ManifestOutputLocation& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} /** *

The bucket ARN the generated manifest should be written to.

*/ inline S3ManifestOutputLocation& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} /** *

The bucket ARN the generated manifest should be written to.

*/ inline S3ManifestOutputLocation& WithBucket(const char* value) { SetBucket(value); return *this;} /** *

Prefix identifying one or more objects to which the manifest applies.

*/ inline const Aws::String& GetManifestPrefix() const{ return m_manifestPrefix; } /** *

Prefix identifying one or more objects to which the manifest applies.

*/ inline bool ManifestPrefixHasBeenSet() const { return m_manifestPrefixHasBeenSet; } /** *

Prefix identifying one or more objects to which the manifest applies.

*/ inline void SetManifestPrefix(const Aws::String& value) { m_manifestPrefixHasBeenSet = true; m_manifestPrefix = value; } /** *

Prefix identifying one or more objects to which the manifest applies.

*/ inline void SetManifestPrefix(Aws::String&& value) { m_manifestPrefixHasBeenSet = true; m_manifestPrefix = std::move(value); } /** *

Prefix identifying one or more objects to which the manifest applies.

*/ inline void SetManifestPrefix(const char* value) { m_manifestPrefixHasBeenSet = true; m_manifestPrefix.assign(value); } /** *

Prefix identifying one or more objects to which the manifest applies.

*/ inline S3ManifestOutputLocation& WithManifestPrefix(const Aws::String& value) { SetManifestPrefix(value); return *this;} /** *

Prefix identifying one or more objects to which the manifest applies.

*/ inline S3ManifestOutputLocation& WithManifestPrefix(Aws::String&& value) { SetManifestPrefix(std::move(value)); return *this;} /** *

Prefix identifying one or more objects to which the manifest applies.

*/ inline S3ManifestOutputLocation& WithManifestPrefix(const char* value) { SetManifestPrefix(value); return *this;} /** *

Specifies what encryption should be used when the generated manifest objects * are written.

*/ inline const GeneratedManifestEncryption& GetManifestEncryption() const{ return m_manifestEncryption; } /** *

Specifies what encryption should be used when the generated manifest objects * are written.

*/ inline bool ManifestEncryptionHasBeenSet() const { return m_manifestEncryptionHasBeenSet; } /** *

Specifies what encryption should be used when the generated manifest objects * are written.

*/ inline void SetManifestEncryption(const GeneratedManifestEncryption& value) { m_manifestEncryptionHasBeenSet = true; m_manifestEncryption = value; } /** *

Specifies what encryption should be used when the generated manifest objects * are written.

*/ inline void SetManifestEncryption(GeneratedManifestEncryption&& value) { m_manifestEncryptionHasBeenSet = true; m_manifestEncryption = std::move(value); } /** *

Specifies what encryption should be used when the generated manifest objects * are written.

*/ inline S3ManifestOutputLocation& WithManifestEncryption(const GeneratedManifestEncryption& value) { SetManifestEncryption(value); return *this;} /** *

Specifies what encryption should be used when the generated manifest objects * are written.

*/ inline S3ManifestOutputLocation& WithManifestEncryption(GeneratedManifestEncryption&& value) { SetManifestEncryption(std::move(value)); return *this;} /** *

The format of the generated manifest.

*/ inline const GeneratedManifestFormat& GetManifestFormat() const{ return m_manifestFormat; } /** *

The format of the generated manifest.

*/ inline bool ManifestFormatHasBeenSet() const { return m_manifestFormatHasBeenSet; } /** *

The format of the generated manifest.

*/ inline void SetManifestFormat(const GeneratedManifestFormat& value) { m_manifestFormatHasBeenSet = true; m_manifestFormat = value; } /** *

The format of the generated manifest.

*/ inline void SetManifestFormat(GeneratedManifestFormat&& value) { m_manifestFormatHasBeenSet = true; m_manifestFormat = std::move(value); } /** *

The format of the generated manifest.

*/ inline S3ManifestOutputLocation& WithManifestFormat(const GeneratedManifestFormat& value) { SetManifestFormat(value); return *this;} /** *

The format of the generated manifest.

*/ inline S3ManifestOutputLocation& WithManifestFormat(GeneratedManifestFormat&& value) { SetManifestFormat(std::move(value)); return *this;} private: Aws::String m_expectedManifestBucketOwner; bool m_expectedManifestBucketOwnerHasBeenSet = false; Aws::String m_bucket; bool m_bucketHasBeenSet = false; Aws::String m_manifestPrefix; bool m_manifestPrefixHasBeenSet = false; GeneratedManifestEncryption m_manifestEncryption; bool m_manifestEncryptionHasBeenSet = false; GeneratedManifestFormat m_manifestFormat; bool m_manifestFormatHasBeenSet = false; }; } // namespace Model } // namespace S3Control } // namespace Aws