AWS SDK for C++  0.12.9
AWS SDK for C++
VolumeStatusInfo.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>
21 
22 namespace Aws
23 {
24 namespace Utils
25 {
26 namespace Xml
27 {
28  class XmlNode;
29 } // namespace Xml
30 } // namespace Utils
31 namespace EC2
32 {
33 namespace Model
34 {
35 
40  {
41  public:
44  VolumeStatusInfo& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
45 
46  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
47  void OutputToStream(Aws::OStream& oStream, const char* location) const;
48 
52  inline const VolumeStatusInfoStatus& GetStatus() const{ return m_status; }
53 
57  inline void SetStatus(const VolumeStatusInfoStatus& value) { m_statusHasBeenSet = true; m_status = value; }
58 
62  inline void SetStatus(VolumeStatusInfoStatus&& value) { m_statusHasBeenSet = true; m_status = value; }
63 
67  inline VolumeStatusInfo& WithStatus(const VolumeStatusInfoStatus& value) { SetStatus(value); return *this;}
68 
72  inline VolumeStatusInfo& WithStatus(VolumeStatusInfoStatus&& value) { SetStatus(value); return *this;}
73 
77  inline const Aws::Vector<VolumeStatusDetails>& GetDetails() const{ return m_details; }
78 
82  inline void SetDetails(const Aws::Vector<VolumeStatusDetails>& value) { m_detailsHasBeenSet = true; m_details = value; }
83 
87  inline void SetDetails(Aws::Vector<VolumeStatusDetails>&& value) { m_detailsHasBeenSet = true; m_details = value; }
88 
92  inline VolumeStatusInfo& WithDetails(const Aws::Vector<VolumeStatusDetails>& value) { SetDetails(value); return *this;}
93 
97  inline VolumeStatusInfo& WithDetails(Aws::Vector<VolumeStatusDetails>&& value) { SetDetails(value); return *this;}
98 
102  inline VolumeStatusInfo& AddDetails(const VolumeStatusDetails& value) { m_detailsHasBeenSet = true; m_details.push_back(value); return *this; }
103 
107  inline VolumeStatusInfo& AddDetails(VolumeStatusDetails&& value) { m_detailsHasBeenSet = true; m_details.push_back(value); return *this; }
108 
109  private:
110  VolumeStatusInfoStatus m_status;
111  bool m_statusHasBeenSet;
113  bool m_detailsHasBeenSet;
114  };
115 
116 } // namespace Model
117 } // namespace EC2
118 } // namespace Aws
void SetStatus(VolumeStatusInfoStatus &&value)
const VolumeStatusInfoStatus & GetStatus() const
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
VolumeStatusInfo & WithStatus(const VolumeStatusInfoStatus &value)
const Aws::Vector< VolumeStatusDetails > & GetDetails() const
void SetDetails(Aws::Vector< VolumeStatusDetails > &&value)
VolumeStatusInfo & WithDetails(Aws::Vector< VolumeStatusDetails > &&value)
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
VolumeStatusInfo & WithDetails(const Aws::Vector< VolumeStatusDetails > &value)
VolumeStatusInfo & AddDetails(const VolumeStatusDetails &value)
VolumeStatusInfo & WithStatus(VolumeStatusInfoStatus &&value)
void SetDetails(const Aws::Vector< VolumeStatusDetails > &value)
void SetStatus(const VolumeStatusInfoStatus &value)
VolumeStatusInfo & AddDetails(VolumeStatusDetails &&value)
#define AWS_EC2_API
Definition: EC2_EXPORTS.h:34
JSON (JavaScript Object Notation).