AWS SDK for C++  0.14.3
AWS SDK for C++
EbsInstanceBlockDevice.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 
41  {
42  public:
45  EbsInstanceBlockDevice& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
46 
47  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
48  void OutputToStream(Aws::OStream& oStream, const char* location) const;
49 
53  inline const Aws::String& GetVolumeId() const{ return m_volumeId; }
54 
58  inline void SetVolumeId(const Aws::String& value) { m_volumeIdHasBeenSet = true; m_volumeId = value; }
59 
63  inline void SetVolumeId(Aws::String&& value) { m_volumeIdHasBeenSet = true; m_volumeId = value; }
64 
68  inline void SetVolumeId(const char* value) { m_volumeIdHasBeenSet = true; m_volumeId.assign(value); }
69 
73  inline EbsInstanceBlockDevice& WithVolumeId(const Aws::String& value) { SetVolumeId(value); return *this;}
74 
78  inline EbsInstanceBlockDevice& WithVolumeId(Aws::String&& value) { SetVolumeId(value); return *this;}
79 
83  inline EbsInstanceBlockDevice& WithVolumeId(const char* value) { SetVolumeId(value); return *this;}
84 
88  inline const AttachmentStatus& GetStatus() const{ return m_status; }
89 
93  inline void SetStatus(const AttachmentStatus& value) { m_statusHasBeenSet = true; m_status = value; }
94 
98  inline void SetStatus(AttachmentStatus&& value) { m_statusHasBeenSet = true; m_status = value; }
99 
103  inline EbsInstanceBlockDevice& WithStatus(const AttachmentStatus& value) { SetStatus(value); return *this;}
104 
108  inline EbsInstanceBlockDevice& WithStatus(AttachmentStatus&& value) { SetStatus(value); return *this;}
109 
113  inline const Aws::Utils::DateTime& GetAttachTime() const{ return m_attachTime; }
114 
118  inline void SetAttachTime(const Aws::Utils::DateTime& value) { m_attachTimeHasBeenSet = true; m_attachTime = value; }
119 
123  inline void SetAttachTime(Aws::Utils::DateTime&& value) { m_attachTimeHasBeenSet = true; m_attachTime = value; }
124 
128  inline EbsInstanceBlockDevice& WithAttachTime(const Aws::Utils::DateTime& value) { SetAttachTime(value); return *this;}
129 
133  inline EbsInstanceBlockDevice& WithAttachTime(Aws::Utils::DateTime&& value) { SetAttachTime(value); return *this;}
134 
138  inline bool GetDeleteOnTermination() const{ return m_deleteOnTermination; }
139 
143  inline void SetDeleteOnTermination(bool value) { m_deleteOnTerminationHasBeenSet = true; m_deleteOnTermination = value; }
144 
148  inline EbsInstanceBlockDevice& WithDeleteOnTermination(bool value) { SetDeleteOnTermination(value); return *this;}
149 
150  private:
151  Aws::String m_volumeId;
152  bool m_volumeIdHasBeenSet;
153  AttachmentStatus m_status;
154  bool m_statusHasBeenSet;
155  Aws::Utils::DateTime m_attachTime;
156  bool m_attachTimeHasBeenSet;
157  bool m_deleteOnTermination;
158  bool m_deleteOnTerminationHasBeenSet;
159  };
160 
161 } // namespace Model
162 } // namespace EC2
163 } // namespace Aws
EbsInstanceBlockDevice & WithVolumeId(const Aws::String &value)
EbsInstanceBlockDevice & WithStatus(const AttachmentStatus &value)
const AttachmentStatus & GetStatus() const
void SetStatus(AttachmentStatus &&value)
EbsInstanceBlockDevice & WithVolumeId(const char *value)
EbsInstanceBlockDevice & WithDeleteOnTermination(bool value)
void SetStatus(const AttachmentStatus &value)
const Aws::Utils::DateTime & GetAttachTime() const
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
EbsInstanceBlockDevice & WithVolumeId(Aws::String &&value)
void SetVolumeId(const Aws::String &value)
EbsInstanceBlockDevice & WithAttachTime(Aws::Utils::DateTime &&value)
void SetAttachTime(Aws::Utils::DateTime &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
EbsInstanceBlockDevice & WithAttachTime(const Aws::Utils::DateTime &value)
#define AWS_EC2_API
Definition: EC2_EXPORTS.h:37
EbsInstanceBlockDevice & WithStatus(AttachmentStatus &&value)
void SetAttachTime(const Aws::Utils::DateTime &value)
JSON (JavaScript Object Notation).