AWS SDK for C++

AWS SDK for C++ Version 1.11.927

Loading...
Searching...
No Matches
PoolInfo.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/storagegateway/StorageGateway_EXPORTS.h>
9#include <aws/storagegateway/model/PoolStatus.h>
10#include <aws/storagegateway/model/RetentionLockType.h>
11#include <aws/storagegateway/model/TapeStorageClass.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace StorageGateway {
23namespace Model {
24
30class PoolInfo {
31 public:
32 AWS_STORAGEGATEWAY_API PoolInfo() = default;
33 AWS_STORAGEGATEWAY_API PoolInfo(Aws::Utils::Json::JsonView jsonValue);
34 AWS_STORAGEGATEWAY_API PoolInfo& operator=(Aws::Utils::Json::JsonView jsonValue);
35 AWS_STORAGEGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
43 inline const Aws::String& GetPoolARN() const { return m_poolARN; }
44 inline bool PoolARNHasBeenSet() const { return m_poolARNHasBeenSet; }
45 template <typename PoolARNT = Aws::String>
46 void SetPoolARN(PoolARNT&& value) {
47 m_poolARNHasBeenSet = true;
48 m_poolARN = std::forward<PoolARNT>(value);
49 }
50 template <typename PoolARNT = Aws::String>
51 PoolInfo& WithPoolARN(PoolARNT&& value) {
52 SetPoolARN(std::forward<PoolARNT>(value));
53 return *this;
54 }
56
58
62 inline const Aws::String& GetPoolName() const { return m_poolName; }
63 inline bool PoolNameHasBeenSet() const { return m_poolNameHasBeenSet; }
64 template <typename PoolNameT = Aws::String>
65 void SetPoolName(PoolNameT&& value) {
66 m_poolNameHasBeenSet = true;
67 m_poolName = std::forward<PoolNameT>(value);
68 }
69 template <typename PoolNameT = Aws::String>
70 PoolInfo& WithPoolName(PoolNameT&& value) {
71 SetPoolName(std::forward<PoolNameT>(value));
72 return *this;
73 }
75
77
83 inline TapeStorageClass GetStorageClass() const { return m_storageClass; }
84 inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; }
85 inline void SetStorageClass(TapeStorageClass value) {
86 m_storageClassHasBeenSet = true;
87 m_storageClass = value;
88 }
90 SetStorageClass(value);
91 return *this;
92 }
94
96
104 inline RetentionLockType GetRetentionLockType() const { return m_retentionLockType; }
105 inline bool RetentionLockTypeHasBeenSet() const { return m_retentionLockTypeHasBeenSet; }
107 m_retentionLockTypeHasBeenSet = true;
108 m_retentionLockType = value;
109 }
112 return *this;
113 }
115
117
121 inline int GetRetentionLockTimeInDays() const { return m_retentionLockTimeInDays; }
122 inline bool RetentionLockTimeInDaysHasBeenSet() const { return m_retentionLockTimeInDaysHasBeenSet; }
123 inline void SetRetentionLockTimeInDays(int value) {
124 m_retentionLockTimeInDaysHasBeenSet = true;
125 m_retentionLockTimeInDays = value;
126 }
129 return *this;
130 }
132
134
138 inline PoolStatus GetPoolStatus() const { return m_poolStatus; }
139 inline bool PoolStatusHasBeenSet() const { return m_poolStatusHasBeenSet; }
140 inline void SetPoolStatus(PoolStatus value) {
141 m_poolStatusHasBeenSet = true;
142 m_poolStatus = value;
143 }
145 SetPoolStatus(value);
146 return *this;
147 }
149 private:
150 Aws::String m_poolARN;
151
152 Aws::String m_poolName;
153
155
157
158 int m_retentionLockTimeInDays{0};
159
160 PoolStatus m_poolStatus{PoolStatus::NOT_SET};
161 bool m_poolARNHasBeenSet = false;
162 bool m_poolNameHasBeenSet = false;
163 bool m_storageClassHasBeenSet = false;
164 bool m_retentionLockTypeHasBeenSet = false;
165 bool m_retentionLockTimeInDaysHasBeenSet = false;
166 bool m_poolStatusHasBeenSet = false;
167};
168
169} // namespace Model
170} // namespace StorageGateway
171} // namespace Aws
const Aws::String & GetPoolARN() const
Definition PoolInfo.h:43
void SetStorageClass(TapeStorageClass value)
Definition PoolInfo.h:85
void SetPoolStatus(PoolStatus value)
Definition PoolInfo.h:140
void SetPoolARN(PoolARNT &&value)
Definition PoolInfo.h:46
AWS_STORAGEGATEWAY_API PoolInfo & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetPoolName() const
Definition PoolInfo.h:62
AWS_STORAGEGATEWAY_API PoolInfo()=default
PoolInfo & WithPoolARN(PoolARNT &&value)
Definition PoolInfo.h:51
void SetPoolName(PoolNameT &&value)
Definition PoolInfo.h:65
void SetRetentionLockTimeInDays(int value)
Definition PoolInfo.h:123
PoolInfo & WithPoolName(PoolNameT &&value)
Definition PoolInfo.h:70
PoolInfo & WithRetentionLockType(RetentionLockType value)
Definition PoolInfo.h:110
AWS_STORAGEGATEWAY_API PoolInfo(Aws::Utils::Json::JsonView jsonValue)
bool RetentionLockTimeInDaysHasBeenSet() const
Definition PoolInfo.h:122
PoolInfo & WithRetentionLockTimeInDays(int value)
Definition PoolInfo.h:127
TapeStorageClass GetStorageClass() const
Definition PoolInfo.h:83
void SetRetentionLockType(RetentionLockType value)
Definition PoolInfo.h:106
PoolInfo & WithPoolStatus(PoolStatus value)
Definition PoolInfo.h:144
PoolInfo & WithStorageClass(TapeStorageClass value)
Definition PoolInfo.h:89
AWS_STORAGEGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const
RetentionLockType GetRetentionLockType() const
Definition PoolInfo.h:104
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue