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/ec2/EC2_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/ec2/model/DisableFastSnapshotRestoreStateError.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Utils
16 {
17 namespace Xml
18 {
19   class XmlNode;
20 } // namespace Xml
21 } // namespace Utils
22 namespace EC2
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Contains information about an error that occurred when disabling fast
29    * snapshot restores.</p><p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableFastSnapshotRestoreStateErrorItem">AWS
31    * API Reference</a></p>
32    */
33   class AWS_EC2_API DisableFastSnapshotRestoreStateErrorItem
34   {
35   public:
36     DisableFastSnapshotRestoreStateErrorItem();
37     DisableFastSnapshotRestoreStateErrorItem(const Aws::Utils::Xml::XmlNode& xmlNode);
38     DisableFastSnapshotRestoreStateErrorItem& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
39 
40     void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
41     void OutputToStream(Aws::OStream& oStream, const char* location) const;
42 
43 
44     /**
45      * <p>The Availability Zone.</p>
46      */
GetAvailabilityZone()47     inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; }
48 
49     /**
50      * <p>The Availability Zone.</p>
51      */
AvailabilityZoneHasBeenSet()52     inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
53 
54     /**
55      * <p>The Availability Zone.</p>
56      */
SetAvailabilityZone(const Aws::String & value)57     inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; }
58 
59     /**
60      * <p>The Availability Zone.</p>
61      */
SetAvailabilityZone(Aws::String && value)62     inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); }
63 
64     /**
65      * <p>The Availability Zone.</p>
66      */
SetAvailabilityZone(const char * value)67     inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); }
68 
69     /**
70      * <p>The Availability Zone.</p>
71      */
WithAvailabilityZone(const Aws::String & value)72     inline DisableFastSnapshotRestoreStateErrorItem& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;}
73 
74     /**
75      * <p>The Availability Zone.</p>
76      */
WithAvailabilityZone(Aws::String && value)77     inline DisableFastSnapshotRestoreStateErrorItem& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;}
78 
79     /**
80      * <p>The Availability Zone.</p>
81      */
WithAvailabilityZone(const char * value)82     inline DisableFastSnapshotRestoreStateErrorItem& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;}
83 
84 
85     /**
86      * <p>The error.</p>
87      */
GetError()88     inline const DisableFastSnapshotRestoreStateError& GetError() const{ return m_error; }
89 
90     /**
91      * <p>The error.</p>
92      */
ErrorHasBeenSet()93     inline bool ErrorHasBeenSet() const { return m_errorHasBeenSet; }
94 
95     /**
96      * <p>The error.</p>
97      */
SetError(const DisableFastSnapshotRestoreStateError & value)98     inline void SetError(const DisableFastSnapshotRestoreStateError& value) { m_errorHasBeenSet = true; m_error = value; }
99 
100     /**
101      * <p>The error.</p>
102      */
SetError(DisableFastSnapshotRestoreStateError && value)103     inline void SetError(DisableFastSnapshotRestoreStateError&& value) { m_errorHasBeenSet = true; m_error = std::move(value); }
104 
105     /**
106      * <p>The error.</p>
107      */
WithError(const DisableFastSnapshotRestoreStateError & value)108     inline DisableFastSnapshotRestoreStateErrorItem& WithError(const DisableFastSnapshotRestoreStateError& value) { SetError(value); return *this;}
109 
110     /**
111      * <p>The error.</p>
112      */
WithError(DisableFastSnapshotRestoreStateError && value)113     inline DisableFastSnapshotRestoreStateErrorItem& WithError(DisableFastSnapshotRestoreStateError&& value) { SetError(std::move(value)); return *this;}
114 
115   private:
116 
117     Aws::String m_availabilityZone;
118     bool m_availabilityZoneHasBeenSet;
119 
120     DisableFastSnapshotRestoreStateError m_error;
121     bool m_errorHasBeenSet;
122   };
123 
124 } // namespace Model
125 } // namespace EC2
126 } // namespace Aws
127