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/elasticache/ElastiCache_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/DateTime.h>
11 #include <aws/elasticache/model/ServiceUpdateSeverity.h>
12 #include <aws/elasticache/model/ServiceUpdateStatus.h>
13 #include <aws/elasticache/model/ServiceUpdateType.h>
14 #include <utility>
15 
16 namespace Aws
17 {
18 namespace Utils
19 {
20 namespace Xml
21 {
22   class XmlNode;
23 } // namespace Xml
24 } // namespace Utils
25 namespace ElastiCache
26 {
27 namespace Model
28 {
29 
30   /**
31    * <p>An update that you can apply to your Redis clusters.</p><p><h3>See Also:</h3>
32    * <a
33    * href="http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ServiceUpdate">AWS
34    * API Reference</a></p>
35    */
36   class AWS_ELASTICACHE_API ServiceUpdate
37   {
38   public:
39     ServiceUpdate();
40     ServiceUpdate(const Aws::Utils::Xml::XmlNode& xmlNode);
41     ServiceUpdate& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
42 
43     void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
44     void OutputToStream(Aws::OStream& oStream, const char* location) const;
45 
46 
47     /**
48      * <p>The unique ID of the service update</p>
49      */
GetServiceUpdateName()50     inline const Aws::String& GetServiceUpdateName() const{ return m_serviceUpdateName; }
51 
52     /**
53      * <p>The unique ID of the service update</p>
54      */
ServiceUpdateNameHasBeenSet()55     inline bool ServiceUpdateNameHasBeenSet() const { return m_serviceUpdateNameHasBeenSet; }
56 
57     /**
58      * <p>The unique ID of the service update</p>
59      */
SetServiceUpdateName(const Aws::String & value)60     inline void SetServiceUpdateName(const Aws::String& value) { m_serviceUpdateNameHasBeenSet = true; m_serviceUpdateName = value; }
61 
62     /**
63      * <p>The unique ID of the service update</p>
64      */
SetServiceUpdateName(Aws::String && value)65     inline void SetServiceUpdateName(Aws::String&& value) { m_serviceUpdateNameHasBeenSet = true; m_serviceUpdateName = std::move(value); }
66 
67     /**
68      * <p>The unique ID of the service update</p>
69      */
SetServiceUpdateName(const char * value)70     inline void SetServiceUpdateName(const char* value) { m_serviceUpdateNameHasBeenSet = true; m_serviceUpdateName.assign(value); }
71 
72     /**
73      * <p>The unique ID of the service update</p>
74      */
WithServiceUpdateName(const Aws::String & value)75     inline ServiceUpdate& WithServiceUpdateName(const Aws::String& value) { SetServiceUpdateName(value); return *this;}
76 
77     /**
78      * <p>The unique ID of the service update</p>
79      */
WithServiceUpdateName(Aws::String && value)80     inline ServiceUpdate& WithServiceUpdateName(Aws::String&& value) { SetServiceUpdateName(std::move(value)); return *this;}
81 
82     /**
83      * <p>The unique ID of the service update</p>
84      */
WithServiceUpdateName(const char * value)85     inline ServiceUpdate& WithServiceUpdateName(const char* value) { SetServiceUpdateName(value); return *this;}
86 
87 
88     /**
89      * <p>The date when the service update is initially available</p>
90      */
GetServiceUpdateReleaseDate()91     inline const Aws::Utils::DateTime& GetServiceUpdateReleaseDate() const{ return m_serviceUpdateReleaseDate; }
92 
93     /**
94      * <p>The date when the service update is initially available</p>
95      */
ServiceUpdateReleaseDateHasBeenSet()96     inline bool ServiceUpdateReleaseDateHasBeenSet() const { return m_serviceUpdateReleaseDateHasBeenSet; }
97 
98     /**
99      * <p>The date when the service update is initially available</p>
100      */
SetServiceUpdateReleaseDate(const Aws::Utils::DateTime & value)101     inline void SetServiceUpdateReleaseDate(const Aws::Utils::DateTime& value) { m_serviceUpdateReleaseDateHasBeenSet = true; m_serviceUpdateReleaseDate = value; }
102 
103     /**
104      * <p>The date when the service update is initially available</p>
105      */
SetServiceUpdateReleaseDate(Aws::Utils::DateTime && value)106     inline void SetServiceUpdateReleaseDate(Aws::Utils::DateTime&& value) { m_serviceUpdateReleaseDateHasBeenSet = true; m_serviceUpdateReleaseDate = std::move(value); }
107 
108     /**
109      * <p>The date when the service update is initially available</p>
110      */
WithServiceUpdateReleaseDate(const Aws::Utils::DateTime & value)111     inline ServiceUpdate& WithServiceUpdateReleaseDate(const Aws::Utils::DateTime& value) { SetServiceUpdateReleaseDate(value); return *this;}
112 
113     /**
114      * <p>The date when the service update is initially available</p>
115      */
WithServiceUpdateReleaseDate(Aws::Utils::DateTime && value)116     inline ServiceUpdate& WithServiceUpdateReleaseDate(Aws::Utils::DateTime&& value) { SetServiceUpdateReleaseDate(std::move(value)); return *this;}
117 
118 
119     /**
120      * <p>The date after which the service update is no longer available</p>
121      */
GetServiceUpdateEndDate()122     inline const Aws::Utils::DateTime& GetServiceUpdateEndDate() const{ return m_serviceUpdateEndDate; }
123 
124     /**
125      * <p>The date after which the service update is no longer available</p>
126      */
ServiceUpdateEndDateHasBeenSet()127     inline bool ServiceUpdateEndDateHasBeenSet() const { return m_serviceUpdateEndDateHasBeenSet; }
128 
129     /**
130      * <p>The date after which the service update is no longer available</p>
131      */
SetServiceUpdateEndDate(const Aws::Utils::DateTime & value)132     inline void SetServiceUpdateEndDate(const Aws::Utils::DateTime& value) { m_serviceUpdateEndDateHasBeenSet = true; m_serviceUpdateEndDate = value; }
133 
134     /**
135      * <p>The date after which the service update is no longer available</p>
136      */
SetServiceUpdateEndDate(Aws::Utils::DateTime && value)137     inline void SetServiceUpdateEndDate(Aws::Utils::DateTime&& value) { m_serviceUpdateEndDateHasBeenSet = true; m_serviceUpdateEndDate = std::move(value); }
138 
139     /**
140      * <p>The date after which the service update is no longer available</p>
141      */
WithServiceUpdateEndDate(const Aws::Utils::DateTime & value)142     inline ServiceUpdate& WithServiceUpdateEndDate(const Aws::Utils::DateTime& value) { SetServiceUpdateEndDate(value); return *this;}
143 
144     /**
145      * <p>The date after which the service update is no longer available</p>
146      */
WithServiceUpdateEndDate(Aws::Utils::DateTime && value)147     inline ServiceUpdate& WithServiceUpdateEndDate(Aws::Utils::DateTime&& value) { SetServiceUpdateEndDate(std::move(value)); return *this;}
148 
149 
150     /**
151      * <p>The severity of the service update</p>
152      */
GetServiceUpdateSeverity()153     inline const ServiceUpdateSeverity& GetServiceUpdateSeverity() const{ return m_serviceUpdateSeverity; }
154 
155     /**
156      * <p>The severity of the service update</p>
157      */
ServiceUpdateSeverityHasBeenSet()158     inline bool ServiceUpdateSeverityHasBeenSet() const { return m_serviceUpdateSeverityHasBeenSet; }
159 
160     /**
161      * <p>The severity of the service update</p>
162      */
SetServiceUpdateSeverity(const ServiceUpdateSeverity & value)163     inline void SetServiceUpdateSeverity(const ServiceUpdateSeverity& value) { m_serviceUpdateSeverityHasBeenSet = true; m_serviceUpdateSeverity = value; }
164 
165     /**
166      * <p>The severity of the service update</p>
167      */
SetServiceUpdateSeverity(ServiceUpdateSeverity && value)168     inline void SetServiceUpdateSeverity(ServiceUpdateSeverity&& value) { m_serviceUpdateSeverityHasBeenSet = true; m_serviceUpdateSeverity = std::move(value); }
169 
170     /**
171      * <p>The severity of the service update</p>
172      */
WithServiceUpdateSeverity(const ServiceUpdateSeverity & value)173     inline ServiceUpdate& WithServiceUpdateSeverity(const ServiceUpdateSeverity& value) { SetServiceUpdateSeverity(value); return *this;}
174 
175     /**
176      * <p>The severity of the service update</p>
177      */
WithServiceUpdateSeverity(ServiceUpdateSeverity && value)178     inline ServiceUpdate& WithServiceUpdateSeverity(ServiceUpdateSeverity&& value) { SetServiceUpdateSeverity(std::move(value)); return *this;}
179 
180 
181     /**
182      * <p>The recommendend date to apply the service update in order to ensure
183      * compliance. For information on compliance, see <a
184      * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/elasticache-compliance.html#elasticache-compliance-self-service">Self-Service
185      * Security Updates for Compliance</a>.</p>
186      */
GetServiceUpdateRecommendedApplyByDate()187     inline const Aws::Utils::DateTime& GetServiceUpdateRecommendedApplyByDate() const{ return m_serviceUpdateRecommendedApplyByDate; }
188 
189     /**
190      * <p>The recommendend date to apply the service update in order to ensure
191      * compliance. For information on compliance, see <a
192      * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/elasticache-compliance.html#elasticache-compliance-self-service">Self-Service
193      * Security Updates for Compliance</a>.</p>
194      */
ServiceUpdateRecommendedApplyByDateHasBeenSet()195     inline bool ServiceUpdateRecommendedApplyByDateHasBeenSet() const { return m_serviceUpdateRecommendedApplyByDateHasBeenSet; }
196 
197     /**
198      * <p>The recommendend date to apply the service update in order to ensure
199      * compliance. For information on compliance, see <a
200      * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/elasticache-compliance.html#elasticache-compliance-self-service">Self-Service
201      * Security Updates for Compliance</a>.</p>
202      */
SetServiceUpdateRecommendedApplyByDate(const Aws::Utils::DateTime & value)203     inline void SetServiceUpdateRecommendedApplyByDate(const Aws::Utils::DateTime& value) { m_serviceUpdateRecommendedApplyByDateHasBeenSet = true; m_serviceUpdateRecommendedApplyByDate = value; }
204 
205     /**
206      * <p>The recommendend date to apply the service update in order to ensure
207      * compliance. For information on compliance, see <a
208      * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/elasticache-compliance.html#elasticache-compliance-self-service">Self-Service
209      * Security Updates for Compliance</a>.</p>
210      */
SetServiceUpdateRecommendedApplyByDate(Aws::Utils::DateTime && value)211     inline void SetServiceUpdateRecommendedApplyByDate(Aws::Utils::DateTime&& value) { m_serviceUpdateRecommendedApplyByDateHasBeenSet = true; m_serviceUpdateRecommendedApplyByDate = std::move(value); }
212 
213     /**
214      * <p>The recommendend date to apply the service update in order to ensure
215      * compliance. For information on compliance, see <a
216      * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/elasticache-compliance.html#elasticache-compliance-self-service">Self-Service
217      * Security Updates for Compliance</a>.</p>
218      */
WithServiceUpdateRecommendedApplyByDate(const Aws::Utils::DateTime & value)219     inline ServiceUpdate& WithServiceUpdateRecommendedApplyByDate(const Aws::Utils::DateTime& value) { SetServiceUpdateRecommendedApplyByDate(value); return *this;}
220 
221     /**
222      * <p>The recommendend date to apply the service update in order to ensure
223      * compliance. For information on compliance, see <a
224      * href="https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/elasticache-compliance.html#elasticache-compliance-self-service">Self-Service
225      * Security Updates for Compliance</a>.</p>
226      */
WithServiceUpdateRecommendedApplyByDate(Aws::Utils::DateTime && value)227     inline ServiceUpdate& WithServiceUpdateRecommendedApplyByDate(Aws::Utils::DateTime&& value) { SetServiceUpdateRecommendedApplyByDate(std::move(value)); return *this;}
228 
229 
230     /**
231      * <p>The status of the service update</p>
232      */
GetServiceUpdateStatus()233     inline const ServiceUpdateStatus& GetServiceUpdateStatus() const{ return m_serviceUpdateStatus; }
234 
235     /**
236      * <p>The status of the service update</p>
237      */
ServiceUpdateStatusHasBeenSet()238     inline bool ServiceUpdateStatusHasBeenSet() const { return m_serviceUpdateStatusHasBeenSet; }
239 
240     /**
241      * <p>The status of the service update</p>
242      */
SetServiceUpdateStatus(const ServiceUpdateStatus & value)243     inline void SetServiceUpdateStatus(const ServiceUpdateStatus& value) { m_serviceUpdateStatusHasBeenSet = true; m_serviceUpdateStatus = value; }
244 
245     /**
246      * <p>The status of the service update</p>
247      */
SetServiceUpdateStatus(ServiceUpdateStatus && value)248     inline void SetServiceUpdateStatus(ServiceUpdateStatus&& value) { m_serviceUpdateStatusHasBeenSet = true; m_serviceUpdateStatus = std::move(value); }
249 
250     /**
251      * <p>The status of the service update</p>
252      */
WithServiceUpdateStatus(const ServiceUpdateStatus & value)253     inline ServiceUpdate& WithServiceUpdateStatus(const ServiceUpdateStatus& value) { SetServiceUpdateStatus(value); return *this;}
254 
255     /**
256      * <p>The status of the service update</p>
257      */
WithServiceUpdateStatus(ServiceUpdateStatus && value)258     inline ServiceUpdate& WithServiceUpdateStatus(ServiceUpdateStatus&& value) { SetServiceUpdateStatus(std::move(value)); return *this;}
259 
260 
261     /**
262      * <p>Provides details of the service update</p>
263      */
GetServiceUpdateDescription()264     inline const Aws::String& GetServiceUpdateDescription() const{ return m_serviceUpdateDescription; }
265 
266     /**
267      * <p>Provides details of the service update</p>
268      */
ServiceUpdateDescriptionHasBeenSet()269     inline bool ServiceUpdateDescriptionHasBeenSet() const { return m_serviceUpdateDescriptionHasBeenSet; }
270 
271     /**
272      * <p>Provides details of the service update</p>
273      */
SetServiceUpdateDescription(const Aws::String & value)274     inline void SetServiceUpdateDescription(const Aws::String& value) { m_serviceUpdateDescriptionHasBeenSet = true; m_serviceUpdateDescription = value; }
275 
276     /**
277      * <p>Provides details of the service update</p>
278      */
SetServiceUpdateDescription(Aws::String && value)279     inline void SetServiceUpdateDescription(Aws::String&& value) { m_serviceUpdateDescriptionHasBeenSet = true; m_serviceUpdateDescription = std::move(value); }
280 
281     /**
282      * <p>Provides details of the service update</p>
283      */
SetServiceUpdateDescription(const char * value)284     inline void SetServiceUpdateDescription(const char* value) { m_serviceUpdateDescriptionHasBeenSet = true; m_serviceUpdateDescription.assign(value); }
285 
286     /**
287      * <p>Provides details of the service update</p>
288      */
WithServiceUpdateDescription(const Aws::String & value)289     inline ServiceUpdate& WithServiceUpdateDescription(const Aws::String& value) { SetServiceUpdateDescription(value); return *this;}
290 
291     /**
292      * <p>Provides details of the service update</p>
293      */
WithServiceUpdateDescription(Aws::String && value)294     inline ServiceUpdate& WithServiceUpdateDescription(Aws::String&& value) { SetServiceUpdateDescription(std::move(value)); return *this;}
295 
296     /**
297      * <p>Provides details of the service update</p>
298      */
WithServiceUpdateDescription(const char * value)299     inline ServiceUpdate& WithServiceUpdateDescription(const char* value) { SetServiceUpdateDescription(value); return *this;}
300 
301 
302     /**
303      * <p>Reflects the nature of the service update</p>
304      */
GetServiceUpdateType()305     inline const ServiceUpdateType& GetServiceUpdateType() const{ return m_serviceUpdateType; }
306 
307     /**
308      * <p>Reflects the nature of the service update</p>
309      */
ServiceUpdateTypeHasBeenSet()310     inline bool ServiceUpdateTypeHasBeenSet() const { return m_serviceUpdateTypeHasBeenSet; }
311 
312     /**
313      * <p>Reflects the nature of the service update</p>
314      */
SetServiceUpdateType(const ServiceUpdateType & value)315     inline void SetServiceUpdateType(const ServiceUpdateType& value) { m_serviceUpdateTypeHasBeenSet = true; m_serviceUpdateType = value; }
316 
317     /**
318      * <p>Reflects the nature of the service update</p>
319      */
SetServiceUpdateType(ServiceUpdateType && value)320     inline void SetServiceUpdateType(ServiceUpdateType&& value) { m_serviceUpdateTypeHasBeenSet = true; m_serviceUpdateType = std::move(value); }
321 
322     /**
323      * <p>Reflects the nature of the service update</p>
324      */
WithServiceUpdateType(const ServiceUpdateType & value)325     inline ServiceUpdate& WithServiceUpdateType(const ServiceUpdateType& value) { SetServiceUpdateType(value); return *this;}
326 
327     /**
328      * <p>Reflects the nature of the service update</p>
329      */
WithServiceUpdateType(ServiceUpdateType && value)330     inline ServiceUpdate& WithServiceUpdateType(ServiceUpdateType&& value) { SetServiceUpdateType(std::move(value)); return *this;}
331 
332 
333     /**
334      * <p>The Elasticache engine to which the update applies. Either Redis or
335      * Memcached</p>
336      */
GetEngine()337     inline const Aws::String& GetEngine() const{ return m_engine; }
338 
339     /**
340      * <p>The Elasticache engine to which the update applies. Either Redis or
341      * Memcached</p>
342      */
EngineHasBeenSet()343     inline bool EngineHasBeenSet() const { return m_engineHasBeenSet; }
344 
345     /**
346      * <p>The Elasticache engine to which the update applies. Either Redis or
347      * Memcached</p>
348      */
SetEngine(const Aws::String & value)349     inline void SetEngine(const Aws::String& value) { m_engineHasBeenSet = true; m_engine = value; }
350 
351     /**
352      * <p>The Elasticache engine to which the update applies. Either Redis or
353      * Memcached</p>
354      */
SetEngine(Aws::String && value)355     inline void SetEngine(Aws::String&& value) { m_engineHasBeenSet = true; m_engine = std::move(value); }
356 
357     /**
358      * <p>The Elasticache engine to which the update applies. Either Redis or
359      * Memcached</p>
360      */
SetEngine(const char * value)361     inline void SetEngine(const char* value) { m_engineHasBeenSet = true; m_engine.assign(value); }
362 
363     /**
364      * <p>The Elasticache engine to which the update applies. Either Redis or
365      * Memcached</p>
366      */
WithEngine(const Aws::String & value)367     inline ServiceUpdate& WithEngine(const Aws::String& value) { SetEngine(value); return *this;}
368 
369     /**
370      * <p>The Elasticache engine to which the update applies. Either Redis or
371      * Memcached</p>
372      */
WithEngine(Aws::String && value)373     inline ServiceUpdate& WithEngine(Aws::String&& value) { SetEngine(std::move(value)); return *this;}
374 
375     /**
376      * <p>The Elasticache engine to which the update applies. Either Redis or
377      * Memcached</p>
378      */
WithEngine(const char * value)379     inline ServiceUpdate& WithEngine(const char* value) { SetEngine(value); return *this;}
380 
381 
382     /**
383      * <p>The Elasticache engine version to which the update applies. Either Redis or
384      * Memcached engine version</p>
385      */
GetEngineVersion()386     inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; }
387 
388     /**
389      * <p>The Elasticache engine version to which the update applies. Either Redis or
390      * Memcached engine version</p>
391      */
EngineVersionHasBeenSet()392     inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; }
393 
394     /**
395      * <p>The Elasticache engine version to which the update applies. Either Redis or
396      * Memcached engine version</p>
397      */
SetEngineVersion(const Aws::String & value)398     inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; }
399 
400     /**
401      * <p>The Elasticache engine version to which the update applies. Either Redis or
402      * Memcached engine version</p>
403      */
SetEngineVersion(Aws::String && value)404     inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); }
405 
406     /**
407      * <p>The Elasticache engine version to which the update applies. Either Redis or
408      * Memcached engine version</p>
409      */
SetEngineVersion(const char * value)410     inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); }
411 
412     /**
413      * <p>The Elasticache engine version to which the update applies. Either Redis or
414      * Memcached engine version</p>
415      */
WithEngineVersion(const Aws::String & value)416     inline ServiceUpdate& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;}
417 
418     /**
419      * <p>The Elasticache engine version to which the update applies. Either Redis or
420      * Memcached engine version</p>
421      */
WithEngineVersion(Aws::String && value)422     inline ServiceUpdate& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;}
423 
424     /**
425      * <p>The Elasticache engine version to which the update applies. Either Redis or
426      * Memcached engine version</p>
427      */
WithEngineVersion(const char * value)428     inline ServiceUpdate& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;}
429 
430 
431     /**
432      * <p>Indicates whether the service update will be automatically applied once the
433      * recommended apply-by date has expired. </p>
434      */
GetAutoUpdateAfterRecommendedApplyByDate()435     inline bool GetAutoUpdateAfterRecommendedApplyByDate() const{ return m_autoUpdateAfterRecommendedApplyByDate; }
436 
437     /**
438      * <p>Indicates whether the service update will be automatically applied once the
439      * recommended apply-by date has expired. </p>
440      */
AutoUpdateAfterRecommendedApplyByDateHasBeenSet()441     inline bool AutoUpdateAfterRecommendedApplyByDateHasBeenSet() const { return m_autoUpdateAfterRecommendedApplyByDateHasBeenSet; }
442 
443     /**
444      * <p>Indicates whether the service update will be automatically applied once the
445      * recommended apply-by date has expired. </p>
446      */
SetAutoUpdateAfterRecommendedApplyByDate(bool value)447     inline void SetAutoUpdateAfterRecommendedApplyByDate(bool value) { m_autoUpdateAfterRecommendedApplyByDateHasBeenSet = true; m_autoUpdateAfterRecommendedApplyByDate = value; }
448 
449     /**
450      * <p>Indicates whether the service update will be automatically applied once the
451      * recommended apply-by date has expired. </p>
452      */
WithAutoUpdateAfterRecommendedApplyByDate(bool value)453     inline ServiceUpdate& WithAutoUpdateAfterRecommendedApplyByDate(bool value) { SetAutoUpdateAfterRecommendedApplyByDate(value); return *this;}
454 
455 
456     /**
457      * <p>The estimated length of time the service update will take</p>
458      */
GetEstimatedUpdateTime()459     inline const Aws::String& GetEstimatedUpdateTime() const{ return m_estimatedUpdateTime; }
460 
461     /**
462      * <p>The estimated length of time the service update will take</p>
463      */
EstimatedUpdateTimeHasBeenSet()464     inline bool EstimatedUpdateTimeHasBeenSet() const { return m_estimatedUpdateTimeHasBeenSet; }
465 
466     /**
467      * <p>The estimated length of time the service update will take</p>
468      */
SetEstimatedUpdateTime(const Aws::String & value)469     inline void SetEstimatedUpdateTime(const Aws::String& value) { m_estimatedUpdateTimeHasBeenSet = true; m_estimatedUpdateTime = value; }
470 
471     /**
472      * <p>The estimated length of time the service update will take</p>
473      */
SetEstimatedUpdateTime(Aws::String && value)474     inline void SetEstimatedUpdateTime(Aws::String&& value) { m_estimatedUpdateTimeHasBeenSet = true; m_estimatedUpdateTime = std::move(value); }
475 
476     /**
477      * <p>The estimated length of time the service update will take</p>
478      */
SetEstimatedUpdateTime(const char * value)479     inline void SetEstimatedUpdateTime(const char* value) { m_estimatedUpdateTimeHasBeenSet = true; m_estimatedUpdateTime.assign(value); }
480 
481     /**
482      * <p>The estimated length of time the service update will take</p>
483      */
WithEstimatedUpdateTime(const Aws::String & value)484     inline ServiceUpdate& WithEstimatedUpdateTime(const Aws::String& value) { SetEstimatedUpdateTime(value); return *this;}
485 
486     /**
487      * <p>The estimated length of time the service update will take</p>
488      */
WithEstimatedUpdateTime(Aws::String && value)489     inline ServiceUpdate& WithEstimatedUpdateTime(Aws::String&& value) { SetEstimatedUpdateTime(std::move(value)); return *this;}
490 
491     /**
492      * <p>The estimated length of time the service update will take</p>
493      */
WithEstimatedUpdateTime(const char * value)494     inline ServiceUpdate& WithEstimatedUpdateTime(const char* value) { SetEstimatedUpdateTime(value); return *this;}
495 
496   private:
497 
498     Aws::String m_serviceUpdateName;
499     bool m_serviceUpdateNameHasBeenSet;
500 
501     Aws::Utils::DateTime m_serviceUpdateReleaseDate;
502     bool m_serviceUpdateReleaseDateHasBeenSet;
503 
504     Aws::Utils::DateTime m_serviceUpdateEndDate;
505     bool m_serviceUpdateEndDateHasBeenSet;
506 
507     ServiceUpdateSeverity m_serviceUpdateSeverity;
508     bool m_serviceUpdateSeverityHasBeenSet;
509 
510     Aws::Utils::DateTime m_serviceUpdateRecommendedApplyByDate;
511     bool m_serviceUpdateRecommendedApplyByDateHasBeenSet;
512 
513     ServiceUpdateStatus m_serviceUpdateStatus;
514     bool m_serviceUpdateStatusHasBeenSet;
515 
516     Aws::String m_serviceUpdateDescription;
517     bool m_serviceUpdateDescriptionHasBeenSet;
518 
519     ServiceUpdateType m_serviceUpdateType;
520     bool m_serviceUpdateTypeHasBeenSet;
521 
522     Aws::String m_engine;
523     bool m_engineHasBeenSet;
524 
525     Aws::String m_engineVersion;
526     bool m_engineVersionHasBeenSet;
527 
528     bool m_autoUpdateAfterRecommendedApplyByDate;
529     bool m_autoUpdateAfterRecommendedApplyByDateHasBeenSet;
530 
531     Aws::String m_estimatedUpdateTime;
532     bool m_estimatedUpdateTimeHasBeenSet;
533   };
534 
535 } // namespace Model
536 } // namespace ElastiCache
537 } // namespace Aws
538