AWS SDK for C++  0.14.3
AWS SDK for C++
VolumeStatusItem.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
16 #include <aws/ec2/EC2_EXPORTS.h>
23 
24 namespace Aws
25 {
26 namespace Utils
27 {
28 namespace Xml
29 {
30  class XmlNode;
31 } // namespace Xml
32 } // namespace Utils
33 namespace EC2
34 {
35 namespace Model
36 {
37 
42  {
43  public:
46  VolumeStatusItem& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
47 
48  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
49  void OutputToStream(Aws::OStream& oStream, const char* location) const;
50 
54  inline const Aws::String& GetVolumeId() const{ return m_volumeId; }
55 
59  inline void SetVolumeId(const Aws::String& value) { m_volumeIdHasBeenSet = true; m_volumeId = value; }
60 
64  inline void SetVolumeId(Aws::String&& value) { m_volumeIdHasBeenSet = true; m_volumeId = value; }
65 
69  inline void SetVolumeId(const char* value) { m_volumeIdHasBeenSet = true; m_volumeId.assign(value); }
70 
74  inline VolumeStatusItem& WithVolumeId(const Aws::String& value) { SetVolumeId(value); return *this;}
75 
79  inline VolumeStatusItem& WithVolumeId(Aws::String&& value) { SetVolumeId(value); return *this;}
80 
84  inline VolumeStatusItem& WithVolumeId(const char* value) { SetVolumeId(value); return *this;}
85 
89  inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; }
90 
94  inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; }
95 
99  inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; }
100 
104  inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); }
105 
109  inline VolumeStatusItem& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;}
110 
114  inline VolumeStatusItem& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(value); return *this;}
115 
119  inline VolumeStatusItem& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;}
120 
124  inline const VolumeStatusInfo& GetVolumeStatus() const{ return m_volumeStatus; }
125 
129  inline void SetVolumeStatus(const VolumeStatusInfo& value) { m_volumeStatusHasBeenSet = true; m_volumeStatus = value; }
130 
134  inline void SetVolumeStatus(VolumeStatusInfo&& value) { m_volumeStatusHasBeenSet = true; m_volumeStatus = value; }
135 
139  inline VolumeStatusItem& WithVolumeStatus(const VolumeStatusInfo& value) { SetVolumeStatus(value); return *this;}
140 
144  inline VolumeStatusItem& WithVolumeStatus(VolumeStatusInfo&& value) { SetVolumeStatus(value); return *this;}
145 
149  inline const Aws::Vector<VolumeStatusEvent>& GetEvents() const{ return m_events; }
150 
154  inline void SetEvents(const Aws::Vector<VolumeStatusEvent>& value) { m_eventsHasBeenSet = true; m_events = value; }
155 
159  inline void SetEvents(Aws::Vector<VolumeStatusEvent>&& value) { m_eventsHasBeenSet = true; m_events = value; }
160 
164  inline VolumeStatusItem& WithEvents(const Aws::Vector<VolumeStatusEvent>& value) { SetEvents(value); return *this;}
165 
169  inline VolumeStatusItem& WithEvents(Aws::Vector<VolumeStatusEvent>&& value) { SetEvents(value); return *this;}
170 
174  inline VolumeStatusItem& AddEvents(const VolumeStatusEvent& value) { m_eventsHasBeenSet = true; m_events.push_back(value); return *this; }
175 
179  inline VolumeStatusItem& AddEvents(VolumeStatusEvent&& value) { m_eventsHasBeenSet = true; m_events.push_back(value); return *this; }
180 
184  inline const Aws::Vector<VolumeStatusAction>& GetActions() const{ return m_actions; }
185 
189  inline void SetActions(const Aws::Vector<VolumeStatusAction>& value) { m_actionsHasBeenSet = true; m_actions = value; }
190 
194  inline void SetActions(Aws::Vector<VolumeStatusAction>&& value) { m_actionsHasBeenSet = true; m_actions = value; }
195 
199  inline VolumeStatusItem& WithActions(const Aws::Vector<VolumeStatusAction>& value) { SetActions(value); return *this;}
200 
204  inline VolumeStatusItem& WithActions(Aws::Vector<VolumeStatusAction>&& value) { SetActions(value); return *this;}
205 
209  inline VolumeStatusItem& AddActions(const VolumeStatusAction& value) { m_actionsHasBeenSet = true; m_actions.push_back(value); return *this; }
210 
214  inline VolumeStatusItem& AddActions(VolumeStatusAction&& value) { m_actionsHasBeenSet = true; m_actions.push_back(value); return *this; }
215 
216  private:
217  Aws::String m_volumeId;
218  bool m_volumeIdHasBeenSet;
219  Aws::String m_availabilityZone;
220  bool m_availabilityZoneHasBeenSet;
221  VolumeStatusInfo m_volumeStatus;
222  bool m_volumeStatusHasBeenSet;
224  bool m_eventsHasBeenSet;
226  bool m_actionsHasBeenSet;
227  };
228 
229 } // namespace Model
230 } // namespace EC2
231 } // namespace Aws
const Aws::String & GetAvailabilityZone() const
VolumeStatusItem & WithAvailabilityZone(const Aws::String &value)
VolumeStatusItem & AddActions(VolumeStatusAction &&value)
VolumeStatusItem & WithVolumeStatus(VolumeStatusInfo &&value)
VolumeStatusItem & WithAvailabilityZone(Aws::String &&value)
VolumeStatusItem & WithVolumeStatus(const VolumeStatusInfo &value)
void SetVolumeId(const char *value)
void SetActions(Aws::Vector< VolumeStatusAction > &&value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
void SetAvailabilityZone(const char *value)
void SetAvailabilityZone(const Aws::String &value)
VolumeStatusItem & AddEvents(VolumeStatusEvent &&value)
VolumeStatusItem & WithEvents(Aws::Vector< VolumeStatusEvent > &&value)
void SetVolumeId(const Aws::String &value)
void SetEvents(Aws::Vector< VolumeStatusEvent > &&value)
void SetActions(const Aws::Vector< VolumeStatusAction > &value)
const Aws::Vector< VolumeStatusAction > & GetActions() const
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
VolumeStatusItem & WithActions(Aws::Vector< VolumeStatusAction > &&value)
void SetAvailabilityZone(Aws::String &&value)
VolumeStatusItem & WithVolumeId(const char *value)
void SetVolumeStatus(VolumeStatusInfo &&value)
VolumeStatusItem & WithActions(const Aws::Vector< VolumeStatusAction > &value)
VolumeStatusItem & WithVolumeId(const Aws::String &value)
VolumeStatusItem & AddEvents(const VolumeStatusEvent &value)
const Aws::String & GetVolumeId() const
void SetVolumeStatus(const VolumeStatusInfo &value)
void SetVolumeId(Aws::String &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
VolumeStatusItem & WithAvailabilityZone(const char *value)
const Aws::Vector< VolumeStatusEvent > & GetEvents() const
VolumeStatusItem & WithEvents(const Aws::Vector< VolumeStatusEvent > &value)
#define AWS_EC2_API
Definition: EC2_EXPORTS.h:37
VolumeStatusItem & WithVolumeId(Aws::String &&value)
VolumeStatusItem & AddActions(const VolumeStatusAction &value)
void SetEvents(const Aws::Vector< VolumeStatusEvent > &value)
const VolumeStatusInfo & GetVolumeStatus() const
JSON (JavaScript Object Notation).