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/storagegateway/StorageGateway_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace StorageGateway 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>Represents a gateway's local disk.</p><p><h3>See Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/Disk">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_STORAGEGATEWAY_API Disk 33 { 34 public: 35 Disk(); 36 Disk(Aws::Utils::Json::JsonView jsonValue); 37 Disk& operator=(Aws::Utils::Json::JsonView jsonValue); 38 Aws::Utils::Json::JsonValue Jsonize() const; 39 40 41 /** 42 * <p>The unique device ID or other distinguishing data that identifies a local 43 * disk.</p> 44 */ GetDiskId()45 inline const Aws::String& GetDiskId() const{ return m_diskId; } 46 47 /** 48 * <p>The unique device ID or other distinguishing data that identifies a local 49 * disk.</p> 50 */ DiskIdHasBeenSet()51 inline bool DiskIdHasBeenSet() const { return m_diskIdHasBeenSet; } 52 53 /** 54 * <p>The unique device ID or other distinguishing data that identifies a local 55 * disk.</p> 56 */ SetDiskId(const Aws::String & value)57 inline void SetDiskId(const Aws::String& value) { m_diskIdHasBeenSet = true; m_diskId = value; } 58 59 /** 60 * <p>The unique device ID or other distinguishing data that identifies a local 61 * disk.</p> 62 */ SetDiskId(Aws::String && value)63 inline void SetDiskId(Aws::String&& value) { m_diskIdHasBeenSet = true; m_diskId = std::move(value); } 64 65 /** 66 * <p>The unique device ID or other distinguishing data that identifies a local 67 * disk.</p> 68 */ SetDiskId(const char * value)69 inline void SetDiskId(const char* value) { m_diskIdHasBeenSet = true; m_diskId.assign(value); } 70 71 /** 72 * <p>The unique device ID or other distinguishing data that identifies a local 73 * disk.</p> 74 */ WithDiskId(const Aws::String & value)75 inline Disk& WithDiskId(const Aws::String& value) { SetDiskId(value); return *this;} 76 77 /** 78 * <p>The unique device ID or other distinguishing data that identifies a local 79 * disk.</p> 80 */ WithDiskId(Aws::String && value)81 inline Disk& WithDiskId(Aws::String&& value) { SetDiskId(std::move(value)); return *this;} 82 83 /** 84 * <p>The unique device ID or other distinguishing data that identifies a local 85 * disk.</p> 86 */ WithDiskId(const char * value)87 inline Disk& WithDiskId(const char* value) { SetDiskId(value); return *this;} 88 89 90 /** 91 * <p>The path of a local disk in the gateway virtual machine (VM).</p> 92 */ GetDiskPath()93 inline const Aws::String& GetDiskPath() const{ return m_diskPath; } 94 95 /** 96 * <p>The path of a local disk in the gateway virtual machine (VM).</p> 97 */ DiskPathHasBeenSet()98 inline bool DiskPathHasBeenSet() const { return m_diskPathHasBeenSet; } 99 100 /** 101 * <p>The path of a local disk in the gateway virtual machine (VM).</p> 102 */ SetDiskPath(const Aws::String & value)103 inline void SetDiskPath(const Aws::String& value) { m_diskPathHasBeenSet = true; m_diskPath = value; } 104 105 /** 106 * <p>The path of a local disk in the gateway virtual machine (VM).</p> 107 */ SetDiskPath(Aws::String && value)108 inline void SetDiskPath(Aws::String&& value) { m_diskPathHasBeenSet = true; m_diskPath = std::move(value); } 109 110 /** 111 * <p>The path of a local disk in the gateway virtual machine (VM).</p> 112 */ SetDiskPath(const char * value)113 inline void SetDiskPath(const char* value) { m_diskPathHasBeenSet = true; m_diskPath.assign(value); } 114 115 /** 116 * <p>The path of a local disk in the gateway virtual machine (VM).</p> 117 */ WithDiskPath(const Aws::String & value)118 inline Disk& WithDiskPath(const Aws::String& value) { SetDiskPath(value); return *this;} 119 120 /** 121 * <p>The path of a local disk in the gateway virtual machine (VM).</p> 122 */ WithDiskPath(Aws::String && value)123 inline Disk& WithDiskPath(Aws::String&& value) { SetDiskPath(std::move(value)); return *this;} 124 125 /** 126 * <p>The path of a local disk in the gateway virtual machine (VM).</p> 127 */ WithDiskPath(const char * value)128 inline Disk& WithDiskPath(const char* value) { SetDiskPath(value); return *this;} 129 130 131 /** 132 * <p>The device node of a local disk as assigned by the virtualization 133 * environment.</p> 134 */ GetDiskNode()135 inline const Aws::String& GetDiskNode() const{ return m_diskNode; } 136 137 /** 138 * <p>The device node of a local disk as assigned by the virtualization 139 * environment.</p> 140 */ DiskNodeHasBeenSet()141 inline bool DiskNodeHasBeenSet() const { return m_diskNodeHasBeenSet; } 142 143 /** 144 * <p>The device node of a local disk as assigned by the virtualization 145 * environment.</p> 146 */ SetDiskNode(const Aws::String & value)147 inline void SetDiskNode(const Aws::String& value) { m_diskNodeHasBeenSet = true; m_diskNode = value; } 148 149 /** 150 * <p>The device node of a local disk as assigned by the virtualization 151 * environment.</p> 152 */ SetDiskNode(Aws::String && value)153 inline void SetDiskNode(Aws::String&& value) { m_diskNodeHasBeenSet = true; m_diskNode = std::move(value); } 154 155 /** 156 * <p>The device node of a local disk as assigned by the virtualization 157 * environment.</p> 158 */ SetDiskNode(const char * value)159 inline void SetDiskNode(const char* value) { m_diskNodeHasBeenSet = true; m_diskNode.assign(value); } 160 161 /** 162 * <p>The device node of a local disk as assigned by the virtualization 163 * environment.</p> 164 */ WithDiskNode(const Aws::String & value)165 inline Disk& WithDiskNode(const Aws::String& value) { SetDiskNode(value); return *this;} 166 167 /** 168 * <p>The device node of a local disk as assigned by the virtualization 169 * environment.</p> 170 */ WithDiskNode(Aws::String && value)171 inline Disk& WithDiskNode(Aws::String&& value) { SetDiskNode(std::move(value)); return *this;} 172 173 /** 174 * <p>The device node of a local disk as assigned by the virtualization 175 * environment.</p> 176 */ WithDiskNode(const char * value)177 inline Disk& WithDiskNode(const char* value) { SetDiskNode(value); return *this;} 178 179 180 /** 181 * <p>A value that represents the status of a local disk.</p> 182 */ GetDiskStatus()183 inline const Aws::String& GetDiskStatus() const{ return m_diskStatus; } 184 185 /** 186 * <p>A value that represents the status of a local disk.</p> 187 */ DiskStatusHasBeenSet()188 inline bool DiskStatusHasBeenSet() const { return m_diskStatusHasBeenSet; } 189 190 /** 191 * <p>A value that represents the status of a local disk.</p> 192 */ SetDiskStatus(const Aws::String & value)193 inline void SetDiskStatus(const Aws::String& value) { m_diskStatusHasBeenSet = true; m_diskStatus = value; } 194 195 /** 196 * <p>A value that represents the status of a local disk.</p> 197 */ SetDiskStatus(Aws::String && value)198 inline void SetDiskStatus(Aws::String&& value) { m_diskStatusHasBeenSet = true; m_diskStatus = std::move(value); } 199 200 /** 201 * <p>A value that represents the status of a local disk.</p> 202 */ SetDiskStatus(const char * value)203 inline void SetDiskStatus(const char* value) { m_diskStatusHasBeenSet = true; m_diskStatus.assign(value); } 204 205 /** 206 * <p>A value that represents the status of a local disk.</p> 207 */ WithDiskStatus(const Aws::String & value)208 inline Disk& WithDiskStatus(const Aws::String& value) { SetDiskStatus(value); return *this;} 209 210 /** 211 * <p>A value that represents the status of a local disk.</p> 212 */ WithDiskStatus(Aws::String && value)213 inline Disk& WithDiskStatus(Aws::String&& value) { SetDiskStatus(std::move(value)); return *this;} 214 215 /** 216 * <p>A value that represents the status of a local disk.</p> 217 */ WithDiskStatus(const char * value)218 inline Disk& WithDiskStatus(const char* value) { SetDiskStatus(value); return *this;} 219 220 221 /** 222 * <p>The local disk size in bytes.</p> 223 */ GetDiskSizeInBytes()224 inline long long GetDiskSizeInBytes() const{ return m_diskSizeInBytes; } 225 226 /** 227 * <p>The local disk size in bytes.</p> 228 */ DiskSizeInBytesHasBeenSet()229 inline bool DiskSizeInBytesHasBeenSet() const { return m_diskSizeInBytesHasBeenSet; } 230 231 /** 232 * <p>The local disk size in bytes.</p> 233 */ SetDiskSizeInBytes(long long value)234 inline void SetDiskSizeInBytes(long long value) { m_diskSizeInBytesHasBeenSet = true; m_diskSizeInBytes = value; } 235 236 /** 237 * <p>The local disk size in bytes.</p> 238 */ WithDiskSizeInBytes(long long value)239 inline Disk& WithDiskSizeInBytes(long long value) { SetDiskSizeInBytes(value); return *this;} 240 241 242 GetDiskAllocationType()243 inline const Aws::String& GetDiskAllocationType() const{ return m_diskAllocationType; } 244 245 DiskAllocationTypeHasBeenSet()246 inline bool DiskAllocationTypeHasBeenSet() const { return m_diskAllocationTypeHasBeenSet; } 247 248 SetDiskAllocationType(const Aws::String & value)249 inline void SetDiskAllocationType(const Aws::String& value) { m_diskAllocationTypeHasBeenSet = true; m_diskAllocationType = value; } 250 251 SetDiskAllocationType(Aws::String && value)252 inline void SetDiskAllocationType(Aws::String&& value) { m_diskAllocationTypeHasBeenSet = true; m_diskAllocationType = std::move(value); } 253 254 SetDiskAllocationType(const char * value)255 inline void SetDiskAllocationType(const char* value) { m_diskAllocationTypeHasBeenSet = true; m_diskAllocationType.assign(value); } 256 257 WithDiskAllocationType(const Aws::String & value)258 inline Disk& WithDiskAllocationType(const Aws::String& value) { SetDiskAllocationType(value); return *this;} 259 260 WithDiskAllocationType(Aws::String && value)261 inline Disk& WithDiskAllocationType(Aws::String&& value) { SetDiskAllocationType(std::move(value)); return *this;} 262 263 WithDiskAllocationType(const char * value)264 inline Disk& WithDiskAllocationType(const char* value) { SetDiskAllocationType(value); return *this;} 265 266 267 /** 268 * <p>The iSCSI qualified name (IQN) that is defined for a disk. This field is not 269 * included in the response if the local disk is not defined as an iSCSI target. 270 * The format of this field is <i>targetIqn::LUNNumber::region-volumeId</i>.</p> 271 */ GetDiskAllocationResource()272 inline const Aws::String& GetDiskAllocationResource() const{ return m_diskAllocationResource; } 273 274 /** 275 * <p>The iSCSI qualified name (IQN) that is defined for a disk. This field is not 276 * included in the response if the local disk is not defined as an iSCSI target. 277 * The format of this field is <i>targetIqn::LUNNumber::region-volumeId</i>.</p> 278 */ DiskAllocationResourceHasBeenSet()279 inline bool DiskAllocationResourceHasBeenSet() const { return m_diskAllocationResourceHasBeenSet; } 280 281 /** 282 * <p>The iSCSI qualified name (IQN) that is defined for a disk. This field is not 283 * included in the response if the local disk is not defined as an iSCSI target. 284 * The format of this field is <i>targetIqn::LUNNumber::region-volumeId</i>.</p> 285 */ SetDiskAllocationResource(const Aws::String & value)286 inline void SetDiskAllocationResource(const Aws::String& value) { m_diskAllocationResourceHasBeenSet = true; m_diskAllocationResource = value; } 287 288 /** 289 * <p>The iSCSI qualified name (IQN) that is defined for a disk. This field is not 290 * included in the response if the local disk is not defined as an iSCSI target. 291 * The format of this field is <i>targetIqn::LUNNumber::region-volumeId</i>.</p> 292 */ SetDiskAllocationResource(Aws::String && value)293 inline void SetDiskAllocationResource(Aws::String&& value) { m_diskAllocationResourceHasBeenSet = true; m_diskAllocationResource = std::move(value); } 294 295 /** 296 * <p>The iSCSI qualified name (IQN) that is defined for a disk. This field is not 297 * included in the response if the local disk is not defined as an iSCSI target. 298 * The format of this field is <i>targetIqn::LUNNumber::region-volumeId</i>.</p> 299 */ SetDiskAllocationResource(const char * value)300 inline void SetDiskAllocationResource(const char* value) { m_diskAllocationResourceHasBeenSet = true; m_diskAllocationResource.assign(value); } 301 302 /** 303 * <p>The iSCSI qualified name (IQN) that is defined for a disk. This field is not 304 * included in the response if the local disk is not defined as an iSCSI target. 305 * The format of this field is <i>targetIqn::LUNNumber::region-volumeId</i>.</p> 306 */ WithDiskAllocationResource(const Aws::String & value)307 inline Disk& WithDiskAllocationResource(const Aws::String& value) { SetDiskAllocationResource(value); return *this;} 308 309 /** 310 * <p>The iSCSI qualified name (IQN) that is defined for a disk. This field is not 311 * included in the response if the local disk is not defined as an iSCSI target. 312 * The format of this field is <i>targetIqn::LUNNumber::region-volumeId</i>.</p> 313 */ WithDiskAllocationResource(Aws::String && value)314 inline Disk& WithDiskAllocationResource(Aws::String&& value) { SetDiskAllocationResource(std::move(value)); return *this;} 315 316 /** 317 * <p>The iSCSI qualified name (IQN) that is defined for a disk. This field is not 318 * included in the response if the local disk is not defined as an iSCSI target. 319 * The format of this field is <i>targetIqn::LUNNumber::region-volumeId</i>.</p> 320 */ WithDiskAllocationResource(const char * value)321 inline Disk& WithDiskAllocationResource(const char* value) { SetDiskAllocationResource(value); return *this;} 322 323 324 GetDiskAttributeList()325 inline const Aws::Vector<Aws::String>& GetDiskAttributeList() const{ return m_diskAttributeList; } 326 327 DiskAttributeListHasBeenSet()328 inline bool DiskAttributeListHasBeenSet() const { return m_diskAttributeListHasBeenSet; } 329 330 SetDiskAttributeList(const Aws::Vector<Aws::String> & value)331 inline void SetDiskAttributeList(const Aws::Vector<Aws::String>& value) { m_diskAttributeListHasBeenSet = true; m_diskAttributeList = value; } 332 333 SetDiskAttributeList(Aws::Vector<Aws::String> && value)334 inline void SetDiskAttributeList(Aws::Vector<Aws::String>&& value) { m_diskAttributeListHasBeenSet = true; m_diskAttributeList = std::move(value); } 335 336 WithDiskAttributeList(const Aws::Vector<Aws::String> & value)337 inline Disk& WithDiskAttributeList(const Aws::Vector<Aws::String>& value) { SetDiskAttributeList(value); return *this;} 338 339 WithDiskAttributeList(Aws::Vector<Aws::String> && value)340 inline Disk& WithDiskAttributeList(Aws::Vector<Aws::String>&& value) { SetDiskAttributeList(std::move(value)); return *this;} 341 342 AddDiskAttributeList(const Aws::String & value)343 inline Disk& AddDiskAttributeList(const Aws::String& value) { m_diskAttributeListHasBeenSet = true; m_diskAttributeList.push_back(value); return *this; } 344 345 AddDiskAttributeList(Aws::String && value)346 inline Disk& AddDiskAttributeList(Aws::String&& value) { m_diskAttributeListHasBeenSet = true; m_diskAttributeList.push_back(std::move(value)); return *this; } 347 348 AddDiskAttributeList(const char * value)349 inline Disk& AddDiskAttributeList(const char* value) { m_diskAttributeListHasBeenSet = true; m_diskAttributeList.push_back(value); return *this; } 350 351 private: 352 353 Aws::String m_diskId; 354 bool m_diskIdHasBeenSet; 355 356 Aws::String m_diskPath; 357 bool m_diskPathHasBeenSet; 358 359 Aws::String m_diskNode; 360 bool m_diskNodeHasBeenSet; 361 362 Aws::String m_diskStatus; 363 bool m_diskStatusHasBeenSet; 364 365 long long m_diskSizeInBytes; 366 bool m_diskSizeInBytesHasBeenSet; 367 368 Aws::String m_diskAllocationType; 369 bool m_diskAllocationTypeHasBeenSet; 370 371 Aws::String m_diskAllocationResource; 372 bool m_diskAllocationResourceHasBeenSet; 373 374 Aws::Vector<Aws::String> m_diskAttributeList; 375 bool m_diskAttributeListHasBeenSet; 376 }; 377 378 } // namespace Model 379 } // namespace StorageGateway 380 } // namespace Aws 381