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

Amazon S3 key format for log objects. Only one format, PartitionedPrefix or * SimplePrefix, is allowed.

See Also:

AWS * API Reference

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

To use the simple format for S3 keys for log objects. To specify SimplePrefix * format, set SimplePrefix to {}.

*/ inline const SimplePrefix& GetSimplePrefix() const{ return m_simplePrefix; } /** *

To use the simple format for S3 keys for log objects. To specify SimplePrefix * format, set SimplePrefix to {}.

*/ inline bool SimplePrefixHasBeenSet() const { return m_simplePrefixHasBeenSet; } /** *

To use the simple format for S3 keys for log objects. To specify SimplePrefix * format, set SimplePrefix to {}.

*/ inline void SetSimplePrefix(const SimplePrefix& value) { m_simplePrefixHasBeenSet = true; m_simplePrefix = value; } /** *

To use the simple format for S3 keys for log objects. To specify SimplePrefix * format, set SimplePrefix to {}.

*/ inline void SetSimplePrefix(SimplePrefix&& value) { m_simplePrefixHasBeenSet = true; m_simplePrefix = std::move(value); } /** *

To use the simple format for S3 keys for log objects. To specify SimplePrefix * format, set SimplePrefix to {}.

*/ inline TargetObjectKeyFormat& WithSimplePrefix(const SimplePrefix& value) { SetSimplePrefix(value); return *this;} /** *

To use the simple format for S3 keys for log objects. To specify SimplePrefix * format, set SimplePrefix to {}.

*/ inline TargetObjectKeyFormat& WithSimplePrefix(SimplePrefix&& value) { SetSimplePrefix(std::move(value)); return *this;} /** *

Partitioned S3 key for log objects.

*/ inline const PartitionedPrefix& GetPartitionedPrefix() const{ return m_partitionedPrefix; } /** *

Partitioned S3 key for log objects.

*/ inline bool PartitionedPrefixHasBeenSet() const { return m_partitionedPrefixHasBeenSet; } /** *

Partitioned S3 key for log objects.

*/ inline void SetPartitionedPrefix(const PartitionedPrefix& value) { m_partitionedPrefixHasBeenSet = true; m_partitionedPrefix = value; } /** *

Partitioned S3 key for log objects.

*/ inline void SetPartitionedPrefix(PartitionedPrefix&& value) { m_partitionedPrefixHasBeenSet = true; m_partitionedPrefix = std::move(value); } /** *

Partitioned S3 key for log objects.

*/ inline TargetObjectKeyFormat& WithPartitionedPrefix(const PartitionedPrefix& value) { SetPartitionedPrefix(value); return *this;} /** *

Partitioned S3 key for log objects.

*/ inline TargetObjectKeyFormat& WithPartitionedPrefix(PartitionedPrefix&& value) { SetPartitionedPrefix(std::move(value)); return *this;} private: SimplePrefix m_simplePrefix; bool m_simplePrefixHasBeenSet = false; PartitionedPrefix m_partitionedPrefix; bool m_partitionedPrefixHasBeenSet = false; }; } // namespace Model } // namespace S3 } // namespace Aws