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/elasticache/model/SlotMigration.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Xml
17 {
18   class XmlNode;
19 } // namespace Xml
20 } // namespace Utils
21 namespace ElastiCache
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>The status of an online resharding operation.</p><p><h3>See Also:</h3>   <a
28    * href="http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ReshardingStatus">AWS
29    * API Reference</a></p>
30    */
31   class AWS_ELASTICACHE_API ReshardingStatus
32   {
33   public:
34     ReshardingStatus();
35     ReshardingStatus(const Aws::Utils::Xml::XmlNode& xmlNode);
36     ReshardingStatus& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
37 
38     void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
39     void OutputToStream(Aws::OStream& oStream, const char* location) const;
40 
41 
42     /**
43      * <p>Represents the progress of an online resharding operation.</p>
44      */
GetSlotMigration()45     inline const SlotMigration& GetSlotMigration() const{ return m_slotMigration; }
46 
47     /**
48      * <p>Represents the progress of an online resharding operation.</p>
49      */
SlotMigrationHasBeenSet()50     inline bool SlotMigrationHasBeenSet() const { return m_slotMigrationHasBeenSet; }
51 
52     /**
53      * <p>Represents the progress of an online resharding operation.</p>
54      */
SetSlotMigration(const SlotMigration & value)55     inline void SetSlotMigration(const SlotMigration& value) { m_slotMigrationHasBeenSet = true; m_slotMigration = value; }
56 
57     /**
58      * <p>Represents the progress of an online resharding operation.</p>
59      */
SetSlotMigration(SlotMigration && value)60     inline void SetSlotMigration(SlotMigration&& value) { m_slotMigrationHasBeenSet = true; m_slotMigration = std::move(value); }
61 
62     /**
63      * <p>Represents the progress of an online resharding operation.</p>
64      */
WithSlotMigration(const SlotMigration & value)65     inline ReshardingStatus& WithSlotMigration(const SlotMigration& value) { SetSlotMigration(value); return *this;}
66 
67     /**
68      * <p>Represents the progress of an online resharding operation.</p>
69      */
WithSlotMigration(SlotMigration && value)70     inline ReshardingStatus& WithSlotMigration(SlotMigration&& value) { SetSlotMigration(std::move(value)); return *this;}
71 
72   private:
73 
74     SlotMigration m_slotMigration;
75     bool m_slotMigrationHasBeenSet;
76   };
77 
78 } // namespace Model
79 } // namespace ElastiCache
80 } // namespace Aws
81