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/license-manager/LicenseManager_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/license-manager/model/ReportContext.h>
11 #include <aws/license-manager/model/ReportFrequency.h>
12 #include <aws/license-manager/model/S3Location.h>
13 #include <aws/license-manager/model/ReportType.h>
14 #include <aws/license-manager/model/Tag.h>
15 #include <utility>
16 
17 namespace Aws
18 {
19 namespace Utils
20 {
21 namespace Json
22 {
23   class JsonValue;
24   class JsonView;
25 } // namespace Json
26 } // namespace Utils
27 namespace LicenseManager
28 {
29 namespace Model
30 {
31 
32   /**
33    * <p>Describe the details of a report generator.</p><p><h3>See Also:</h3>   <a
34    * href="http://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ReportGenerator">AWS
35    * API Reference</a></p>
36    */
37   class AWS_LICENSEMANAGER_API ReportGenerator
38   {
39   public:
40     ReportGenerator();
41     ReportGenerator(Aws::Utils::Json::JsonView jsonValue);
42     ReportGenerator& operator=(Aws::Utils::Json::JsonView jsonValue);
43     Aws::Utils::Json::JsonValue Jsonize() const;
44 
45 
46     /**
47      * <p>Name of the report generator.</p>
48      */
GetReportGeneratorName()49     inline const Aws::String& GetReportGeneratorName() const{ return m_reportGeneratorName; }
50 
51     /**
52      * <p>Name of the report generator.</p>
53      */
ReportGeneratorNameHasBeenSet()54     inline bool ReportGeneratorNameHasBeenSet() const { return m_reportGeneratorNameHasBeenSet; }
55 
56     /**
57      * <p>Name of the report generator.</p>
58      */
SetReportGeneratorName(const Aws::String & value)59     inline void SetReportGeneratorName(const Aws::String& value) { m_reportGeneratorNameHasBeenSet = true; m_reportGeneratorName = value; }
60 
61     /**
62      * <p>Name of the report generator.</p>
63      */
SetReportGeneratorName(Aws::String && value)64     inline void SetReportGeneratorName(Aws::String&& value) { m_reportGeneratorNameHasBeenSet = true; m_reportGeneratorName = std::move(value); }
65 
66     /**
67      * <p>Name of the report generator.</p>
68      */
SetReportGeneratorName(const char * value)69     inline void SetReportGeneratorName(const char* value) { m_reportGeneratorNameHasBeenSet = true; m_reportGeneratorName.assign(value); }
70 
71     /**
72      * <p>Name of the report generator.</p>
73      */
WithReportGeneratorName(const Aws::String & value)74     inline ReportGenerator& WithReportGeneratorName(const Aws::String& value) { SetReportGeneratorName(value); return *this;}
75 
76     /**
77      * <p>Name of the report generator.</p>
78      */
WithReportGeneratorName(Aws::String && value)79     inline ReportGenerator& WithReportGeneratorName(Aws::String&& value) { SetReportGeneratorName(std::move(value)); return *this;}
80 
81     /**
82      * <p>Name of the report generator.</p>
83      */
WithReportGeneratorName(const char * value)84     inline ReportGenerator& WithReportGeneratorName(const char* value) { SetReportGeneratorName(value); return *this;}
85 
86 
87     /**
88      * <p>Type of reports that are generated.</p>
89      */
GetReportType()90     inline const Aws::Vector<ReportType>& GetReportType() const{ return m_reportType; }
91 
92     /**
93      * <p>Type of reports that are generated.</p>
94      */
ReportTypeHasBeenSet()95     inline bool ReportTypeHasBeenSet() const { return m_reportTypeHasBeenSet; }
96 
97     /**
98      * <p>Type of reports that are generated.</p>
99      */
SetReportType(const Aws::Vector<ReportType> & value)100     inline void SetReportType(const Aws::Vector<ReportType>& value) { m_reportTypeHasBeenSet = true; m_reportType = value; }
101 
102     /**
103      * <p>Type of reports that are generated.</p>
104      */
SetReportType(Aws::Vector<ReportType> && value)105     inline void SetReportType(Aws::Vector<ReportType>&& value) { m_reportTypeHasBeenSet = true; m_reportType = std::move(value); }
106 
107     /**
108      * <p>Type of reports that are generated.</p>
109      */
WithReportType(const Aws::Vector<ReportType> & value)110     inline ReportGenerator& WithReportType(const Aws::Vector<ReportType>& value) { SetReportType(value); return *this;}
111 
112     /**
113      * <p>Type of reports that are generated.</p>
114      */
WithReportType(Aws::Vector<ReportType> && value)115     inline ReportGenerator& WithReportType(Aws::Vector<ReportType>&& value) { SetReportType(std::move(value)); return *this;}
116 
117     /**
118      * <p>Type of reports that are generated.</p>
119      */
AddReportType(const ReportType & value)120     inline ReportGenerator& AddReportType(const ReportType& value) { m_reportTypeHasBeenSet = true; m_reportType.push_back(value); return *this; }
121 
122     /**
123      * <p>Type of reports that are generated.</p>
124      */
AddReportType(ReportType && value)125     inline ReportGenerator& AddReportType(ReportType&& value) { m_reportTypeHasBeenSet = true; m_reportType.push_back(std::move(value)); return *this; }
126 
127 
128     /**
129      * <p>License configuration type for this generator.</p>
130      */
GetReportContext()131     inline const ReportContext& GetReportContext() const{ return m_reportContext; }
132 
133     /**
134      * <p>License configuration type for this generator.</p>
135      */
ReportContextHasBeenSet()136     inline bool ReportContextHasBeenSet() const { return m_reportContextHasBeenSet; }
137 
138     /**
139      * <p>License configuration type for this generator.</p>
140      */
SetReportContext(const ReportContext & value)141     inline void SetReportContext(const ReportContext& value) { m_reportContextHasBeenSet = true; m_reportContext = value; }
142 
143     /**
144      * <p>License configuration type for this generator.</p>
145      */
SetReportContext(ReportContext && value)146     inline void SetReportContext(ReportContext&& value) { m_reportContextHasBeenSet = true; m_reportContext = std::move(value); }
147 
148     /**
149      * <p>License configuration type for this generator.</p>
150      */
WithReportContext(const ReportContext & value)151     inline ReportGenerator& WithReportContext(const ReportContext& value) { SetReportContext(value); return *this;}
152 
153     /**
154      * <p>License configuration type for this generator.</p>
155      */
WithReportContext(ReportContext && value)156     inline ReportGenerator& WithReportContext(ReportContext&& value) { SetReportContext(std::move(value)); return *this;}
157 
158 
159     /**
160      * <p>Details about how frequently reports are generated.</p>
161      */
GetReportFrequency()162     inline const ReportFrequency& GetReportFrequency() const{ return m_reportFrequency; }
163 
164     /**
165      * <p>Details about how frequently reports are generated.</p>
166      */
ReportFrequencyHasBeenSet()167     inline bool ReportFrequencyHasBeenSet() const { return m_reportFrequencyHasBeenSet; }
168 
169     /**
170      * <p>Details about how frequently reports are generated.</p>
171      */
SetReportFrequency(const ReportFrequency & value)172     inline void SetReportFrequency(const ReportFrequency& value) { m_reportFrequencyHasBeenSet = true; m_reportFrequency = value; }
173 
174     /**
175      * <p>Details about how frequently reports are generated.</p>
176      */
SetReportFrequency(ReportFrequency && value)177     inline void SetReportFrequency(ReportFrequency&& value) { m_reportFrequencyHasBeenSet = true; m_reportFrequency = std::move(value); }
178 
179     /**
180      * <p>Details about how frequently reports are generated.</p>
181      */
WithReportFrequency(const ReportFrequency & value)182     inline ReportGenerator& WithReportFrequency(const ReportFrequency& value) { SetReportFrequency(value); return *this;}
183 
184     /**
185      * <p>Details about how frequently reports are generated.</p>
186      */
WithReportFrequency(ReportFrequency && value)187     inline ReportGenerator& WithReportFrequency(ReportFrequency&& value) { SetReportFrequency(std::move(value)); return *this;}
188 
189 
190     /**
191      * <p>Amazon Resource Name (ARN) of the report generator.</p>
192      */
GetLicenseManagerReportGeneratorArn()193     inline const Aws::String& GetLicenseManagerReportGeneratorArn() const{ return m_licenseManagerReportGeneratorArn; }
194 
195     /**
196      * <p>Amazon Resource Name (ARN) of the report generator.</p>
197      */
LicenseManagerReportGeneratorArnHasBeenSet()198     inline bool LicenseManagerReportGeneratorArnHasBeenSet() const { return m_licenseManagerReportGeneratorArnHasBeenSet; }
199 
200     /**
201      * <p>Amazon Resource Name (ARN) of the report generator.</p>
202      */
SetLicenseManagerReportGeneratorArn(const Aws::String & value)203     inline void SetLicenseManagerReportGeneratorArn(const Aws::String& value) { m_licenseManagerReportGeneratorArnHasBeenSet = true; m_licenseManagerReportGeneratorArn = value; }
204 
205     /**
206      * <p>Amazon Resource Name (ARN) of the report generator.</p>
207      */
SetLicenseManagerReportGeneratorArn(Aws::String && value)208     inline void SetLicenseManagerReportGeneratorArn(Aws::String&& value) { m_licenseManagerReportGeneratorArnHasBeenSet = true; m_licenseManagerReportGeneratorArn = std::move(value); }
209 
210     /**
211      * <p>Amazon Resource Name (ARN) of the report generator.</p>
212      */
SetLicenseManagerReportGeneratorArn(const char * value)213     inline void SetLicenseManagerReportGeneratorArn(const char* value) { m_licenseManagerReportGeneratorArnHasBeenSet = true; m_licenseManagerReportGeneratorArn.assign(value); }
214 
215     /**
216      * <p>Amazon Resource Name (ARN) of the report generator.</p>
217      */
WithLicenseManagerReportGeneratorArn(const Aws::String & value)218     inline ReportGenerator& WithLicenseManagerReportGeneratorArn(const Aws::String& value) { SetLicenseManagerReportGeneratorArn(value); return *this;}
219 
220     /**
221      * <p>Amazon Resource Name (ARN) of the report generator.</p>
222      */
WithLicenseManagerReportGeneratorArn(Aws::String && value)223     inline ReportGenerator& WithLicenseManagerReportGeneratorArn(Aws::String&& value) { SetLicenseManagerReportGeneratorArn(std::move(value)); return *this;}
224 
225     /**
226      * <p>Amazon Resource Name (ARN) of the report generator.</p>
227      */
WithLicenseManagerReportGeneratorArn(const char * value)228     inline ReportGenerator& WithLicenseManagerReportGeneratorArn(const char* value) { SetLicenseManagerReportGeneratorArn(value); return *this;}
229 
230 
231     /**
232      * <p>Status of the last report generation attempt.</p>
233      */
GetLastRunStatus()234     inline const Aws::String& GetLastRunStatus() const{ return m_lastRunStatus; }
235 
236     /**
237      * <p>Status of the last report generation attempt.</p>
238      */
LastRunStatusHasBeenSet()239     inline bool LastRunStatusHasBeenSet() const { return m_lastRunStatusHasBeenSet; }
240 
241     /**
242      * <p>Status of the last report generation attempt.</p>
243      */
SetLastRunStatus(const Aws::String & value)244     inline void SetLastRunStatus(const Aws::String& value) { m_lastRunStatusHasBeenSet = true; m_lastRunStatus = value; }
245 
246     /**
247      * <p>Status of the last report generation attempt.</p>
248      */
SetLastRunStatus(Aws::String && value)249     inline void SetLastRunStatus(Aws::String&& value) { m_lastRunStatusHasBeenSet = true; m_lastRunStatus = std::move(value); }
250 
251     /**
252      * <p>Status of the last report generation attempt.</p>
253      */
SetLastRunStatus(const char * value)254     inline void SetLastRunStatus(const char* value) { m_lastRunStatusHasBeenSet = true; m_lastRunStatus.assign(value); }
255 
256     /**
257      * <p>Status of the last report generation attempt.</p>
258      */
WithLastRunStatus(const Aws::String & value)259     inline ReportGenerator& WithLastRunStatus(const Aws::String& value) { SetLastRunStatus(value); return *this;}
260 
261     /**
262      * <p>Status of the last report generation attempt.</p>
263      */
WithLastRunStatus(Aws::String && value)264     inline ReportGenerator& WithLastRunStatus(Aws::String&& value) { SetLastRunStatus(std::move(value)); return *this;}
265 
266     /**
267      * <p>Status of the last report generation attempt.</p>
268      */
WithLastRunStatus(const char * value)269     inline ReportGenerator& WithLastRunStatus(const char* value) { SetLastRunStatus(value); return *this;}
270 
271 
272     /**
273      * <p>Failure message for the last report generation attempt.</p>
274      */
GetLastRunFailureReason()275     inline const Aws::String& GetLastRunFailureReason() const{ return m_lastRunFailureReason; }
276 
277     /**
278      * <p>Failure message for the last report generation attempt.</p>
279      */
LastRunFailureReasonHasBeenSet()280     inline bool LastRunFailureReasonHasBeenSet() const { return m_lastRunFailureReasonHasBeenSet; }
281 
282     /**
283      * <p>Failure message for the last report generation attempt.</p>
284      */
SetLastRunFailureReason(const Aws::String & value)285     inline void SetLastRunFailureReason(const Aws::String& value) { m_lastRunFailureReasonHasBeenSet = true; m_lastRunFailureReason = value; }
286 
287     /**
288      * <p>Failure message for the last report generation attempt.</p>
289      */
SetLastRunFailureReason(Aws::String && value)290     inline void SetLastRunFailureReason(Aws::String&& value) { m_lastRunFailureReasonHasBeenSet = true; m_lastRunFailureReason = std::move(value); }
291 
292     /**
293      * <p>Failure message for the last report generation attempt.</p>
294      */
SetLastRunFailureReason(const char * value)295     inline void SetLastRunFailureReason(const char* value) { m_lastRunFailureReasonHasBeenSet = true; m_lastRunFailureReason.assign(value); }
296 
297     /**
298      * <p>Failure message for the last report generation attempt.</p>
299      */
WithLastRunFailureReason(const Aws::String & value)300     inline ReportGenerator& WithLastRunFailureReason(const Aws::String& value) { SetLastRunFailureReason(value); return *this;}
301 
302     /**
303      * <p>Failure message for the last report generation attempt.</p>
304      */
WithLastRunFailureReason(Aws::String && value)305     inline ReportGenerator& WithLastRunFailureReason(Aws::String&& value) { SetLastRunFailureReason(std::move(value)); return *this;}
306 
307     /**
308      * <p>Failure message for the last report generation attempt.</p>
309      */
WithLastRunFailureReason(const char * value)310     inline ReportGenerator& WithLastRunFailureReason(const char* value) { SetLastRunFailureReason(value); return *this;}
311 
312 
313     /**
314      * <p>Time the last report was generated at.</p>
315      */
GetLastReportGenerationTime()316     inline const Aws::String& GetLastReportGenerationTime() const{ return m_lastReportGenerationTime; }
317 
318     /**
319      * <p>Time the last report was generated at.</p>
320      */
LastReportGenerationTimeHasBeenSet()321     inline bool LastReportGenerationTimeHasBeenSet() const { return m_lastReportGenerationTimeHasBeenSet; }
322 
323     /**
324      * <p>Time the last report was generated at.</p>
325      */
SetLastReportGenerationTime(const Aws::String & value)326     inline void SetLastReportGenerationTime(const Aws::String& value) { m_lastReportGenerationTimeHasBeenSet = true; m_lastReportGenerationTime = value; }
327 
328     /**
329      * <p>Time the last report was generated at.</p>
330      */
SetLastReportGenerationTime(Aws::String && value)331     inline void SetLastReportGenerationTime(Aws::String&& value) { m_lastReportGenerationTimeHasBeenSet = true; m_lastReportGenerationTime = std::move(value); }
332 
333     /**
334      * <p>Time the last report was generated at.</p>
335      */
SetLastReportGenerationTime(const char * value)336     inline void SetLastReportGenerationTime(const char* value) { m_lastReportGenerationTimeHasBeenSet = true; m_lastReportGenerationTime.assign(value); }
337 
338     /**
339      * <p>Time the last report was generated at.</p>
340      */
WithLastReportGenerationTime(const Aws::String & value)341     inline ReportGenerator& WithLastReportGenerationTime(const Aws::String& value) { SetLastReportGenerationTime(value); return *this;}
342 
343     /**
344      * <p>Time the last report was generated at.</p>
345      */
WithLastReportGenerationTime(Aws::String && value)346     inline ReportGenerator& WithLastReportGenerationTime(Aws::String&& value) { SetLastReportGenerationTime(std::move(value)); return *this;}
347 
348     /**
349      * <p>Time the last report was generated at.</p>
350      */
WithLastReportGenerationTime(const char * value)351     inline ReportGenerator& WithLastReportGenerationTime(const char* value) { SetLastReportGenerationTime(value); return *this;}
352 
353 
354     /**
355      * <p>The Amazon Web Services account ID used to create the report generator.</p>
356      */
GetReportCreatorAccount()357     inline const Aws::String& GetReportCreatorAccount() const{ return m_reportCreatorAccount; }
358 
359     /**
360      * <p>The Amazon Web Services account ID used to create the report generator.</p>
361      */
ReportCreatorAccountHasBeenSet()362     inline bool ReportCreatorAccountHasBeenSet() const { return m_reportCreatorAccountHasBeenSet; }
363 
364     /**
365      * <p>The Amazon Web Services account ID used to create the report generator.</p>
366      */
SetReportCreatorAccount(const Aws::String & value)367     inline void SetReportCreatorAccount(const Aws::String& value) { m_reportCreatorAccountHasBeenSet = true; m_reportCreatorAccount = value; }
368 
369     /**
370      * <p>The Amazon Web Services account ID used to create the report generator.</p>
371      */
SetReportCreatorAccount(Aws::String && value)372     inline void SetReportCreatorAccount(Aws::String&& value) { m_reportCreatorAccountHasBeenSet = true; m_reportCreatorAccount = std::move(value); }
373 
374     /**
375      * <p>The Amazon Web Services account ID used to create the report generator.</p>
376      */
SetReportCreatorAccount(const char * value)377     inline void SetReportCreatorAccount(const char* value) { m_reportCreatorAccountHasBeenSet = true; m_reportCreatorAccount.assign(value); }
378 
379     /**
380      * <p>The Amazon Web Services account ID used to create the report generator.</p>
381      */
WithReportCreatorAccount(const Aws::String & value)382     inline ReportGenerator& WithReportCreatorAccount(const Aws::String& value) { SetReportCreatorAccount(value); return *this;}
383 
384     /**
385      * <p>The Amazon Web Services account ID used to create the report generator.</p>
386      */
WithReportCreatorAccount(Aws::String && value)387     inline ReportGenerator& WithReportCreatorAccount(Aws::String&& value) { SetReportCreatorAccount(std::move(value)); return *this;}
388 
389     /**
390      * <p>The Amazon Web Services account ID used to create the report generator.</p>
391      */
WithReportCreatorAccount(const char * value)392     inline ReportGenerator& WithReportCreatorAccount(const char* value) { SetReportCreatorAccount(value); return *this;}
393 
394 
395     /**
396      * <p>Description of the report generator.</p>
397      */
GetDescription()398     inline const Aws::String& GetDescription() const{ return m_description; }
399 
400     /**
401      * <p>Description of the report generator.</p>
402      */
DescriptionHasBeenSet()403     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
404 
405     /**
406      * <p>Description of the report generator.</p>
407      */
SetDescription(const Aws::String & value)408     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
409 
410     /**
411      * <p>Description of the report generator.</p>
412      */
SetDescription(Aws::String && value)413     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
414 
415     /**
416      * <p>Description of the report generator.</p>
417      */
SetDescription(const char * value)418     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
419 
420     /**
421      * <p>Description of the report generator.</p>
422      */
WithDescription(const Aws::String & value)423     inline ReportGenerator& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
424 
425     /**
426      * <p>Description of the report generator.</p>
427      */
WithDescription(Aws::String && value)428     inline ReportGenerator& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
429 
430     /**
431      * <p>Description of the report generator.</p>
432      */
WithDescription(const char * value)433     inline ReportGenerator& WithDescription(const char* value) { SetDescription(value); return *this;}
434 
435 
436     /**
437      * <p>Details of the S3 bucket that report generator reports are published to.</p>
438      */
GetS3Location()439     inline const S3Location& GetS3Location() const{ return m_s3Location; }
440 
441     /**
442      * <p>Details of the S3 bucket that report generator reports are published to.</p>
443      */
S3LocationHasBeenSet()444     inline bool S3LocationHasBeenSet() const { return m_s3LocationHasBeenSet; }
445 
446     /**
447      * <p>Details of the S3 bucket that report generator reports are published to.</p>
448      */
SetS3Location(const S3Location & value)449     inline void SetS3Location(const S3Location& value) { m_s3LocationHasBeenSet = true; m_s3Location = value; }
450 
451     /**
452      * <p>Details of the S3 bucket that report generator reports are published to.</p>
453      */
SetS3Location(S3Location && value)454     inline void SetS3Location(S3Location&& value) { m_s3LocationHasBeenSet = true; m_s3Location = std::move(value); }
455 
456     /**
457      * <p>Details of the S3 bucket that report generator reports are published to.</p>
458      */
WithS3Location(const S3Location & value)459     inline ReportGenerator& WithS3Location(const S3Location& value) { SetS3Location(value); return *this;}
460 
461     /**
462      * <p>Details of the S3 bucket that report generator reports are published to.</p>
463      */
WithS3Location(S3Location && value)464     inline ReportGenerator& WithS3Location(S3Location&& value) { SetS3Location(std::move(value)); return *this;}
465 
466 
467     /**
468      * <p>Time the report was created.</p>
469      */
GetCreateTime()470     inline const Aws::String& GetCreateTime() const{ return m_createTime; }
471 
472     /**
473      * <p>Time the report was created.</p>
474      */
CreateTimeHasBeenSet()475     inline bool CreateTimeHasBeenSet() const { return m_createTimeHasBeenSet; }
476 
477     /**
478      * <p>Time the report was created.</p>
479      */
SetCreateTime(const Aws::String & value)480     inline void SetCreateTime(const Aws::String& value) { m_createTimeHasBeenSet = true; m_createTime = value; }
481 
482     /**
483      * <p>Time the report was created.</p>
484      */
SetCreateTime(Aws::String && value)485     inline void SetCreateTime(Aws::String&& value) { m_createTimeHasBeenSet = true; m_createTime = std::move(value); }
486 
487     /**
488      * <p>Time the report was created.</p>
489      */
SetCreateTime(const char * value)490     inline void SetCreateTime(const char* value) { m_createTimeHasBeenSet = true; m_createTime.assign(value); }
491 
492     /**
493      * <p>Time the report was created.</p>
494      */
WithCreateTime(const Aws::String & value)495     inline ReportGenerator& WithCreateTime(const Aws::String& value) { SetCreateTime(value); return *this;}
496 
497     /**
498      * <p>Time the report was created.</p>
499      */
WithCreateTime(Aws::String && value)500     inline ReportGenerator& WithCreateTime(Aws::String&& value) { SetCreateTime(std::move(value)); return *this;}
501 
502     /**
503      * <p>Time the report was created.</p>
504      */
WithCreateTime(const char * value)505     inline ReportGenerator& WithCreateTime(const char* value) { SetCreateTime(value); return *this;}
506 
507 
508     /**
509      * <p>Tags associated with the report generator.</p>
510      */
GetTags()511     inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
512 
513     /**
514      * <p>Tags associated with the report generator.</p>
515      */
TagsHasBeenSet()516     inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
517 
518     /**
519      * <p>Tags associated with the report generator.</p>
520      */
SetTags(const Aws::Vector<Tag> & value)521     inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
522 
523     /**
524      * <p>Tags associated with the report generator.</p>
525      */
SetTags(Aws::Vector<Tag> && value)526     inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
527 
528     /**
529      * <p>Tags associated with the report generator.</p>
530      */
WithTags(const Aws::Vector<Tag> & value)531     inline ReportGenerator& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
532 
533     /**
534      * <p>Tags associated with the report generator.</p>
535      */
WithTags(Aws::Vector<Tag> && value)536     inline ReportGenerator& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
537 
538     /**
539      * <p>Tags associated with the report generator.</p>
540      */
AddTags(const Tag & value)541     inline ReportGenerator& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
542 
543     /**
544      * <p>Tags associated with the report generator.</p>
545      */
AddTags(Tag && value)546     inline ReportGenerator& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
547 
548   private:
549 
550     Aws::String m_reportGeneratorName;
551     bool m_reportGeneratorNameHasBeenSet;
552 
553     Aws::Vector<ReportType> m_reportType;
554     bool m_reportTypeHasBeenSet;
555 
556     ReportContext m_reportContext;
557     bool m_reportContextHasBeenSet;
558 
559     ReportFrequency m_reportFrequency;
560     bool m_reportFrequencyHasBeenSet;
561 
562     Aws::String m_licenseManagerReportGeneratorArn;
563     bool m_licenseManagerReportGeneratorArnHasBeenSet;
564 
565     Aws::String m_lastRunStatus;
566     bool m_lastRunStatusHasBeenSet;
567 
568     Aws::String m_lastRunFailureReason;
569     bool m_lastRunFailureReasonHasBeenSet;
570 
571     Aws::String m_lastReportGenerationTime;
572     bool m_lastReportGenerationTimeHasBeenSet;
573 
574     Aws::String m_reportCreatorAccount;
575     bool m_reportCreatorAccountHasBeenSet;
576 
577     Aws::String m_description;
578     bool m_descriptionHasBeenSet;
579 
580     S3Location m_s3Location;
581     bool m_s3LocationHasBeenSet;
582 
583     Aws::String m_createTime;
584     bool m_createTimeHasBeenSet;
585 
586     Aws::Vector<Tag> m_tags;
587     bool m_tagsHasBeenSet;
588   };
589 
590 } // namespace Model
591 } // namespace LicenseManager
592 } // namespace Aws
593