1/*
2* Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3*
4* Licensed under the Apache License, Version 2.0 (the "License").
5* You may not use this file except in compliance with the License.
6* A copy of the License is located at
7*
8* http://aws.amazon.com/apache2.0
9*
10* or in the "license" file accompanying this file. This file is distributed
11* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12* express or implied. See the License for the specific language governing
13* permissions and limitations under the License.
14*/
15
16#pragma once
17#include <aws/s3/S3_EXPORTS.h>
18#include <aws/s3/model/StorageClassAnalysisDataExport.h>
19#include <utility>
20
21namespace Aws
22{
23namespace Utils
24{
25namespace Xml
26{
27 class XmlNode;
28} // namespace Xml
29} // namespace Utils
30namespace S3
31{
32namespace Model
33{
34
35 /**
36 * <p>Specifies data related to access patterns to be collected and made available
37 * to analyze the tradeoffs between different storage classes for an Amazon S3
38 * bucket.</p><p><h3>See Also:</h3> <a
39 * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/StorageClassAnalysis">AWS
40 * API Reference</a></p>
41 */
42 class AWS_S3_API StorageClassAnalysis
43 {
44 public:
45 StorageClassAnalysis();
46 StorageClassAnalysis(const Aws::Utils::Xml::XmlNode& xmlNode);
47 StorageClassAnalysis& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
48
49 void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
50
51
52 /**
53 * <p>Specifies how data related to the storage class analysis for an Amazon S3
54 * bucket should be exported.</p>
55 */
56 inline const StorageClassAnalysisDataExport& GetDataExport() const{ return m_dataExport; }
57
58 /**
59 * <p>Specifies how data related to the storage class analysis for an Amazon S3
60 * bucket should be exported.</p>
61 */
62 inline bool DataExportHasBeenSet() const { return m_dataExportHasBeenSet; }
63
64 /**
65 * <p>Specifies how data related to the storage class analysis for an Amazon S3
66 * bucket should be exported.</p>
67 */
68 inline void SetDataExport(const StorageClassAnalysisDataExport& value) { m_dataExportHasBeenSet = true; m_dataExport = value; }
69
70 /**
71 * <p>Specifies how data related to the storage class analysis for an Amazon S3
72 * bucket should be exported.</p>
73 */
74 inline void SetDataExport(StorageClassAnalysisDataExport&& value) { m_dataExportHasBeenSet = true; m_dataExport = std::move(value); }
75
76 /**
77 * <p>Specifies how data related to the storage class analysis for an Amazon S3
78 * bucket should be exported.</p>
79 */
80 inline StorageClassAnalysis& WithDataExport(const StorageClassAnalysisDataExport& value) { SetDataExport(value); return *this;}
81
82 /**
83 * <p>Specifies how data related to the storage class analysis for an Amazon S3
84 * bucket should be exported.</p>
85 */
86 inline StorageClassAnalysis& WithDataExport(StorageClassAnalysisDataExport&& value) { SetDataExport(std::move(value)); return *this;}
87
88 private:
89
90 StorageClassAnalysisDataExport m_dataExport;
91 bool m_dataExportHasBeenSet;
92 };
93
94} // namespace Model
95} // namespace S3
96} // namespace Aws
97