1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/applicationcostprofiler/ApplicationCostProfiler_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/applicationcostprofiler/model/ReportFrequency.h>
10 #include <aws/applicationcostprofiler/model/Format.h>
11 #include <aws/applicationcostprofiler/model/S3Location.h>
12 #include <aws/core/utils/DateTime.h>
13 #include <utility>
14 
15 namespace Aws
16 {
17 template<typename RESULT_TYPE>
18 class AmazonWebServiceResult;
19 
20 namespace Utils
21 {
22 namespace Json
23 {
24   class JsonValue;
25 } // namespace Json
26 } // namespace Utils
27 namespace ApplicationCostProfiler
28 {
29 namespace Model
30 {
31   class AWS_APPLICATIONCOSTPROFILER_API GetReportDefinitionResult
32   {
33   public:
34     GetReportDefinitionResult();
35     GetReportDefinitionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
36     GetReportDefinitionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
37 
38 
39     /**
40      * <p>ID of the report retrieved.</p>
41      */
GetReportId()42     inline const Aws::String& GetReportId() const{ return m_reportId; }
43 
44     /**
45      * <p>ID of the report retrieved.</p>
46      */
SetReportId(const Aws::String & value)47     inline void SetReportId(const Aws::String& value) { m_reportId = value; }
48 
49     /**
50      * <p>ID of the report retrieved.</p>
51      */
SetReportId(Aws::String && value)52     inline void SetReportId(Aws::String&& value) { m_reportId = std::move(value); }
53 
54     /**
55      * <p>ID of the report retrieved.</p>
56      */
SetReportId(const char * value)57     inline void SetReportId(const char* value) { m_reportId.assign(value); }
58 
59     /**
60      * <p>ID of the report retrieved.</p>
61      */
WithReportId(const Aws::String & value)62     inline GetReportDefinitionResult& WithReportId(const Aws::String& value) { SetReportId(value); return *this;}
63 
64     /**
65      * <p>ID of the report retrieved.</p>
66      */
WithReportId(Aws::String && value)67     inline GetReportDefinitionResult& WithReportId(Aws::String&& value) { SetReportId(std::move(value)); return *this;}
68 
69     /**
70      * <p>ID of the report retrieved.</p>
71      */
WithReportId(const char * value)72     inline GetReportDefinitionResult& WithReportId(const char* value) { SetReportId(value); return *this;}
73 
74 
75     /**
76      * <p>Description of the report.</p>
77      */
GetReportDescription()78     inline const Aws::String& GetReportDescription() const{ return m_reportDescription; }
79 
80     /**
81      * <p>Description of the report.</p>
82      */
SetReportDescription(const Aws::String & value)83     inline void SetReportDescription(const Aws::String& value) { m_reportDescription = value; }
84 
85     /**
86      * <p>Description of the report.</p>
87      */
SetReportDescription(Aws::String && value)88     inline void SetReportDescription(Aws::String&& value) { m_reportDescription = std::move(value); }
89 
90     /**
91      * <p>Description of the report.</p>
92      */
SetReportDescription(const char * value)93     inline void SetReportDescription(const char* value) { m_reportDescription.assign(value); }
94 
95     /**
96      * <p>Description of the report.</p>
97      */
WithReportDescription(const Aws::String & value)98     inline GetReportDefinitionResult& WithReportDescription(const Aws::String& value) { SetReportDescription(value); return *this;}
99 
100     /**
101      * <p>Description of the report.</p>
102      */
WithReportDescription(Aws::String && value)103     inline GetReportDefinitionResult& WithReportDescription(Aws::String&& value) { SetReportDescription(std::move(value)); return *this;}
104 
105     /**
106      * <p>Description of the report.</p>
107      */
WithReportDescription(const char * value)108     inline GetReportDefinitionResult& WithReportDescription(const char* value) { SetReportDescription(value); return *this;}
109 
110 
111     /**
112      * <p>Cadence used to generate the report.</p>
113      */
GetReportFrequency()114     inline const ReportFrequency& GetReportFrequency() const{ return m_reportFrequency; }
115 
116     /**
117      * <p>Cadence used to generate the report.</p>
118      */
SetReportFrequency(const ReportFrequency & value)119     inline void SetReportFrequency(const ReportFrequency& value) { m_reportFrequency = value; }
120 
121     /**
122      * <p>Cadence used to generate the report.</p>
123      */
SetReportFrequency(ReportFrequency && value)124     inline void SetReportFrequency(ReportFrequency&& value) { m_reportFrequency = std::move(value); }
125 
126     /**
127      * <p>Cadence used to generate the report.</p>
128      */
WithReportFrequency(const ReportFrequency & value)129     inline GetReportDefinitionResult& WithReportFrequency(const ReportFrequency& value) { SetReportFrequency(value); return *this;}
130 
131     /**
132      * <p>Cadence used to generate the report.</p>
133      */
WithReportFrequency(ReportFrequency && value)134     inline GetReportDefinitionResult& WithReportFrequency(ReportFrequency&& value) { SetReportFrequency(std::move(value)); return *this;}
135 
136 
137     /**
138      * <p>Format of the generated report.</p>
139      */
GetFormat()140     inline const Format& GetFormat() const{ return m_format; }
141 
142     /**
143      * <p>Format of the generated report.</p>
144      */
SetFormat(const Format & value)145     inline void SetFormat(const Format& value) { m_format = value; }
146 
147     /**
148      * <p>Format of the generated report.</p>
149      */
SetFormat(Format && value)150     inline void SetFormat(Format&& value) { m_format = std::move(value); }
151 
152     /**
153      * <p>Format of the generated report.</p>
154      */
WithFormat(const Format & value)155     inline GetReportDefinitionResult& WithFormat(const Format& value) { SetFormat(value); return *this;}
156 
157     /**
158      * <p>Format of the generated report.</p>
159      */
WithFormat(Format && value)160     inline GetReportDefinitionResult& WithFormat(Format&& value) { SetFormat(std::move(value)); return *this;}
161 
162 
163     /**
164      * <p>Amazon Simple Storage Service (Amazon S3) location where the report is
165      * uploaded.</p>
166      */
GetDestinationS3Location()167     inline const S3Location& GetDestinationS3Location() const{ return m_destinationS3Location; }
168 
169     /**
170      * <p>Amazon Simple Storage Service (Amazon S3) location where the report is
171      * uploaded.</p>
172      */
SetDestinationS3Location(const S3Location & value)173     inline void SetDestinationS3Location(const S3Location& value) { m_destinationS3Location = value; }
174 
175     /**
176      * <p>Amazon Simple Storage Service (Amazon S3) location where the report is
177      * uploaded.</p>
178      */
SetDestinationS3Location(S3Location && value)179     inline void SetDestinationS3Location(S3Location&& value) { m_destinationS3Location = std::move(value); }
180 
181     /**
182      * <p>Amazon Simple Storage Service (Amazon S3) location where the report is
183      * uploaded.</p>
184      */
WithDestinationS3Location(const S3Location & value)185     inline GetReportDefinitionResult& WithDestinationS3Location(const S3Location& value) { SetDestinationS3Location(value); return *this;}
186 
187     /**
188      * <p>Amazon Simple Storage Service (Amazon S3) location where the report is
189      * uploaded.</p>
190      */
WithDestinationS3Location(S3Location && value)191     inline GetReportDefinitionResult& WithDestinationS3Location(S3Location&& value) { SetDestinationS3Location(std::move(value)); return *this;}
192 
193 
194     /**
195      * <p>Timestamp (milliseconds) when this report definition was created.</p>
196      */
GetCreatedAt()197     inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; }
198 
199     /**
200      * <p>Timestamp (milliseconds) when this report definition was created.</p>
201      */
SetCreatedAt(const Aws::Utils::DateTime & value)202     inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; }
203 
204     /**
205      * <p>Timestamp (milliseconds) when this report definition was created.</p>
206      */
SetCreatedAt(Aws::Utils::DateTime && value)207     inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); }
208 
209     /**
210      * <p>Timestamp (milliseconds) when this report definition was created.</p>
211      */
WithCreatedAt(const Aws::Utils::DateTime & value)212     inline GetReportDefinitionResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;}
213 
214     /**
215      * <p>Timestamp (milliseconds) when this report definition was created.</p>
216      */
WithCreatedAt(Aws::Utils::DateTime && value)217     inline GetReportDefinitionResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;}
218 
219 
220     /**
221      * <p>Timestamp (milliseconds) when this report definition was last updated.</p>
222      */
GetLastUpdated()223     inline const Aws::Utils::DateTime& GetLastUpdated() const{ return m_lastUpdated; }
224 
225     /**
226      * <p>Timestamp (milliseconds) when this report definition was last updated.</p>
227      */
SetLastUpdated(const Aws::Utils::DateTime & value)228     inline void SetLastUpdated(const Aws::Utils::DateTime& value) { m_lastUpdated = value; }
229 
230     /**
231      * <p>Timestamp (milliseconds) when this report definition was last updated.</p>
232      */
SetLastUpdated(Aws::Utils::DateTime && value)233     inline void SetLastUpdated(Aws::Utils::DateTime&& value) { m_lastUpdated = std::move(value); }
234 
235     /**
236      * <p>Timestamp (milliseconds) when this report definition was last updated.</p>
237      */
WithLastUpdated(const Aws::Utils::DateTime & value)238     inline GetReportDefinitionResult& WithLastUpdated(const Aws::Utils::DateTime& value) { SetLastUpdated(value); return *this;}
239 
240     /**
241      * <p>Timestamp (milliseconds) when this report definition was last updated.</p>
242      */
WithLastUpdated(Aws::Utils::DateTime && value)243     inline GetReportDefinitionResult& WithLastUpdated(Aws::Utils::DateTime&& value) { SetLastUpdated(std::move(value)); return *this;}
244 
245   private:
246 
247     Aws::String m_reportId;
248 
249     Aws::String m_reportDescription;
250 
251     ReportFrequency m_reportFrequency;
252 
253     Format m_format;
254 
255     S3Location m_destinationS3Location;
256 
257     Aws::Utils::DateTime m_createdAt;
258 
259     Aws::Utils::DateTime m_lastUpdated;
260   };
261 
262 } // namespace Model
263 } // namespace ApplicationCostProfiler
264 } // namespace Aws
265