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

Container for data related to the storage class analysis for an Amazon S3 * bucket for export.

See Also:

AWS * API Reference

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

The version of the output schema to use when exporting data. Must be * V_1.

*/ inline const StorageClassAnalysisSchemaVersion& GetOutputSchemaVersion() const{ return m_outputSchemaVersion; } /** *

The version of the output schema to use when exporting data. Must be * V_1.

*/ inline bool OutputSchemaVersionHasBeenSet() const { return m_outputSchemaVersionHasBeenSet; } /** *

The version of the output schema to use when exporting data. Must be * V_1.

*/ inline void SetOutputSchemaVersion(const StorageClassAnalysisSchemaVersion& value) { m_outputSchemaVersionHasBeenSet = true; m_outputSchemaVersion = value; } /** *

The version of the output schema to use when exporting data. Must be * V_1.

*/ inline void SetOutputSchemaVersion(StorageClassAnalysisSchemaVersion&& value) { m_outputSchemaVersionHasBeenSet = true; m_outputSchemaVersion = std::move(value); } /** *

The version of the output schema to use when exporting data. Must be * V_1.

*/ inline StorageClassAnalysisDataExport& WithOutputSchemaVersion(const StorageClassAnalysisSchemaVersion& value) { SetOutputSchemaVersion(value); return *this;} /** *

The version of the output schema to use when exporting data. Must be * V_1.

*/ inline StorageClassAnalysisDataExport& WithOutputSchemaVersion(StorageClassAnalysisSchemaVersion&& value) { SetOutputSchemaVersion(std::move(value)); return *this;} /** *

The place to store the data for an analysis.

*/ inline const AnalyticsExportDestination& GetDestination() const{ return m_destination; } /** *

The place to store the data for an analysis.

*/ inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; } /** *

The place to store the data for an analysis.

*/ inline void SetDestination(const AnalyticsExportDestination& value) { m_destinationHasBeenSet = true; m_destination = value; } /** *

The place to store the data for an analysis.

*/ inline void SetDestination(AnalyticsExportDestination&& value) { m_destinationHasBeenSet = true; m_destination = std::move(value); } /** *

The place to store the data for an analysis.

*/ inline StorageClassAnalysisDataExport& WithDestination(const AnalyticsExportDestination& value) { SetDestination(value); return *this;} /** *

The place to store the data for an analysis.

*/ inline StorageClassAnalysisDataExport& WithDestination(AnalyticsExportDestination&& value) { SetDestination(std::move(value)); return *this;} private: StorageClassAnalysisSchemaVersion m_outputSchemaVersion; bool m_outputSchemaVersionHasBeenSet; AnalyticsExportDestination m_destination; bool m_destinationHasBeenSet; }; } // namespace Model } // namespace S3 } // namespace Aws