/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes an instance's Amazon EBS volume.See Also:
AWS API
* Reference
The volume ID.
*/ inline const Aws::String& GetVolumeId() const{ return m_volumeId; } /** *The volume ID.
*/ inline bool VolumeIdHasBeenSet() const { return m_volumeIdHasBeenSet; } /** *The volume ID.
*/ inline void SetVolumeId(const Aws::String& value) { m_volumeIdHasBeenSet = true; m_volumeId = value; } /** *The volume ID.
*/ inline void SetVolumeId(Aws::String&& value) { m_volumeIdHasBeenSet = true; m_volumeId = std::move(value); } /** *The volume ID.
*/ inline void SetVolumeId(const char* value) { m_volumeIdHasBeenSet = true; m_volumeId.assign(value); } /** *The volume ID.
*/ inline Volume& WithVolumeId(const Aws::String& value) { SetVolumeId(value); return *this;} /** *The volume ID.
*/ inline Volume& WithVolumeId(Aws::String&& value) { SetVolumeId(std::move(value)); return *this;} /** *The volume ID.
*/ inline Volume& WithVolumeId(const char* value) { SetVolumeId(value); return *this;} /** *The Amazon EC2 volume ID.
*/ inline const Aws::String& GetEc2VolumeId() const{ return m_ec2VolumeId; } /** *The Amazon EC2 volume ID.
*/ inline bool Ec2VolumeIdHasBeenSet() const { return m_ec2VolumeIdHasBeenSet; } /** *The Amazon EC2 volume ID.
*/ inline void SetEc2VolumeId(const Aws::String& value) { m_ec2VolumeIdHasBeenSet = true; m_ec2VolumeId = value; } /** *The Amazon EC2 volume ID.
*/ inline void SetEc2VolumeId(Aws::String&& value) { m_ec2VolumeIdHasBeenSet = true; m_ec2VolumeId = std::move(value); } /** *The Amazon EC2 volume ID.
*/ inline void SetEc2VolumeId(const char* value) { m_ec2VolumeIdHasBeenSet = true; m_ec2VolumeId.assign(value); } /** *The Amazon EC2 volume ID.
*/ inline Volume& WithEc2VolumeId(const Aws::String& value) { SetEc2VolumeId(value); return *this;} /** *The Amazon EC2 volume ID.
*/ inline Volume& WithEc2VolumeId(Aws::String&& value) { SetEc2VolumeId(std::move(value)); return *this;} /** *The Amazon EC2 volume ID.
*/ inline Volume& WithEc2VolumeId(const char* value) { SetEc2VolumeId(value); return *this;} /** *The volume name.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The volume name.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The volume name.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The volume name.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The volume name.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The volume name.
*/ inline Volume& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The volume name.
*/ inline Volume& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The volume name.
*/ inline Volume& WithName(const char* value) { SetName(value); return *this;} /** *The RAID array ID.
*/ inline const Aws::String& GetRaidArrayId() const{ return m_raidArrayId; } /** *The RAID array ID.
*/ inline bool RaidArrayIdHasBeenSet() const { return m_raidArrayIdHasBeenSet; } /** *The RAID array ID.
*/ inline void SetRaidArrayId(const Aws::String& value) { m_raidArrayIdHasBeenSet = true; m_raidArrayId = value; } /** *The RAID array ID.
*/ inline void SetRaidArrayId(Aws::String&& value) { m_raidArrayIdHasBeenSet = true; m_raidArrayId = std::move(value); } /** *The RAID array ID.
*/ inline void SetRaidArrayId(const char* value) { m_raidArrayIdHasBeenSet = true; m_raidArrayId.assign(value); } /** *The RAID array ID.
*/ inline Volume& WithRaidArrayId(const Aws::String& value) { SetRaidArrayId(value); return *this;} /** *The RAID array ID.
*/ inline Volume& WithRaidArrayId(Aws::String&& value) { SetRaidArrayId(std::move(value)); return *this;} /** *The RAID array ID.
*/ inline Volume& WithRaidArrayId(const char* value) { SetRaidArrayId(value); return *this;} /** *The instance ID.
*/ inline const Aws::String& GetInstanceId() const{ return m_instanceId; } /** *The instance ID.
*/ inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; } /** *The instance ID.
*/ inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; } /** *The instance ID.
*/ inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::move(value); } /** *The instance ID.
*/ inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); } /** *The instance ID.
*/ inline Volume& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;} /** *The instance ID.
*/ inline Volume& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;} /** *The instance ID.
*/ inline Volume& WithInstanceId(const char* value) { SetInstanceId(value); return *this;} /** *The value returned by DescribeVolumes.
*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *The value returned by DescribeVolumes.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *The value returned by DescribeVolumes.
*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *The value returned by DescribeVolumes.
*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *The value returned by DescribeVolumes.
*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *The value returned by DescribeVolumes.
*/ inline Volume& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *The value returned by DescribeVolumes.
*/ inline Volume& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *The value returned by DescribeVolumes.
*/ inline Volume& WithStatus(const char* value) { SetStatus(value); return *this;} /** *The volume size.
*/ inline int GetSize() const{ return m_size; } /** *The volume size.
*/ inline bool SizeHasBeenSet() const { return m_sizeHasBeenSet; } /** *The volume size.
*/ inline void SetSize(int value) { m_sizeHasBeenSet = true; m_size = value; } /** *The volume size.
*/ inline Volume& WithSize(int value) { SetSize(value); return *this;} /** *The device name.
*/ inline const Aws::String& GetDevice() const{ return m_device; } /** *The device name.
*/ inline bool DeviceHasBeenSet() const { return m_deviceHasBeenSet; } /** *The device name.
*/ inline void SetDevice(const Aws::String& value) { m_deviceHasBeenSet = true; m_device = value; } /** *The device name.
*/ inline void SetDevice(Aws::String&& value) { m_deviceHasBeenSet = true; m_device = std::move(value); } /** *The device name.
*/ inline void SetDevice(const char* value) { m_deviceHasBeenSet = true; m_device.assign(value); } /** *The device name.
*/ inline Volume& WithDevice(const Aws::String& value) { SetDevice(value); return *this;} /** *The device name.
*/ inline Volume& WithDevice(Aws::String&& value) { SetDevice(std::move(value)); return *this;} /** *The device name.
*/ inline Volume& WithDevice(const char* value) { SetDevice(value); return *this;} /** *The volume mount point. For example, "/mnt/disk1".
*/ inline const Aws::String& GetMountPoint() const{ return m_mountPoint; } /** *The volume mount point. For example, "/mnt/disk1".
*/ inline bool MountPointHasBeenSet() const { return m_mountPointHasBeenSet; } /** *The volume mount point. For example, "/mnt/disk1".
*/ inline void SetMountPoint(const Aws::String& value) { m_mountPointHasBeenSet = true; m_mountPoint = value; } /** *The volume mount point. For example, "/mnt/disk1".
*/ inline void SetMountPoint(Aws::String&& value) { m_mountPointHasBeenSet = true; m_mountPoint = std::move(value); } /** *The volume mount point. For example, "/mnt/disk1".
*/ inline void SetMountPoint(const char* value) { m_mountPointHasBeenSet = true; m_mountPoint.assign(value); } /** *The volume mount point. For example, "/mnt/disk1".
*/ inline Volume& WithMountPoint(const Aws::String& value) { SetMountPoint(value); return *this;} /** *The volume mount point. For example, "/mnt/disk1".
*/ inline Volume& WithMountPoint(Aws::String&& value) { SetMountPoint(std::move(value)); return *this;} /** *The volume mount point. For example, "/mnt/disk1".
*/ inline Volume& WithMountPoint(const char* value) { SetMountPoint(value); return *this;} /** *The AWS region. For more information about AWS regions, see Regions and * Endpoints.
*/ inline const Aws::String& GetRegion() const{ return m_region; } /** *The AWS region. For more information about AWS regions, see Regions and * Endpoints.
*/ inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } /** *The AWS region. For more information about AWS regions, see Regions and * Endpoints.
*/ inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } /** *The AWS region. For more information about AWS regions, see Regions and * Endpoints.
*/ inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } /** *The AWS region. For more information about AWS regions, see Regions and * Endpoints.
*/ inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } /** *The AWS region. For more information about AWS regions, see Regions and * Endpoints.
*/ inline Volume& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} /** *The AWS region. For more information about AWS regions, see Regions and * Endpoints.
*/ inline Volume& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} /** *The AWS region. For more information about AWS regions, see Regions and * Endpoints.
*/ inline Volume& WithRegion(const char* value) { SetRegion(value); return *this;} /** *The volume Availability Zone. For more information, see Regions and * Endpoints.
*/ inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; } /** *The volume Availability Zone. For more information, see Regions and * Endpoints.
*/ inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } /** *The volume Availability Zone. For more information, see Regions and * Endpoints.
*/ inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; } /** *The volume Availability Zone. For more information, see Regions and * Endpoints.
*/ inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); } /** *The volume Availability Zone. For more information, see Regions and * Endpoints.
*/ inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); } /** *The volume Availability Zone. For more information, see Regions and * Endpoints.
*/ inline Volume& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;} /** *The volume Availability Zone. For more information, see Regions and * Endpoints.
*/ inline Volume& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;} /** *The volume Availability Zone. For more information, see Regions and * Endpoints.
*/ inline Volume& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;} /** *The volume type. For more information, see * Amazon EBS Volume Types.
standard
- Magnetic.
* Magnetic volumes must have a minimum size of 1 GiB and a maximum size of 1024
* GiB.
io1
- Provisioned IOPS (SSD). PIOPS volumes
* must have a minimum size of 4 GiB and a maximum size of 16384 GiB.
gp2
- General Purpose (SSD). General purpose volumes must
* have a minimum size of 1 GiB and a maximum size of 16384 GiB.
* st1
- Throughput Optimized hard disk drive (HDD). Throughput
* optimized HDD volumes must have a minimum size of 500 GiB and a maximum size of
* 16384 GiB.
sc1
- Cold HDD. Cold HDD volumes must
* have a minimum size of 500 GiB and a maximum size of 16384 GiB.
The volume type. For more information, see * Amazon EBS Volume Types.
standard
- Magnetic.
* Magnetic volumes must have a minimum size of 1 GiB and a maximum size of 1024
* GiB.
io1
- Provisioned IOPS (SSD). PIOPS volumes
* must have a minimum size of 4 GiB and a maximum size of 16384 GiB.
gp2
- General Purpose (SSD). General purpose volumes must
* have a minimum size of 1 GiB and a maximum size of 16384 GiB.
* st1
- Throughput Optimized hard disk drive (HDD). Throughput
* optimized HDD volumes must have a minimum size of 500 GiB and a maximum size of
* 16384 GiB.
sc1
- Cold HDD. Cold HDD volumes must
* have a minimum size of 500 GiB and a maximum size of 16384 GiB.
The volume type. For more information, see * Amazon EBS Volume Types.
standard
- Magnetic.
* Magnetic volumes must have a minimum size of 1 GiB and a maximum size of 1024
* GiB.
io1
- Provisioned IOPS (SSD). PIOPS volumes
* must have a minimum size of 4 GiB and a maximum size of 16384 GiB.
gp2
- General Purpose (SSD). General purpose volumes must
* have a minimum size of 1 GiB and a maximum size of 16384 GiB.
* st1
- Throughput Optimized hard disk drive (HDD). Throughput
* optimized HDD volumes must have a minimum size of 500 GiB and a maximum size of
* 16384 GiB.
sc1
- Cold HDD. Cold HDD volumes must
* have a minimum size of 500 GiB and a maximum size of 16384 GiB.
The volume type. For more information, see * Amazon EBS Volume Types.
standard
- Magnetic.
* Magnetic volumes must have a minimum size of 1 GiB and a maximum size of 1024
* GiB.
io1
- Provisioned IOPS (SSD). PIOPS volumes
* must have a minimum size of 4 GiB and a maximum size of 16384 GiB.
gp2
- General Purpose (SSD). General purpose volumes must
* have a minimum size of 1 GiB and a maximum size of 16384 GiB.
* st1
- Throughput Optimized hard disk drive (HDD). Throughput
* optimized HDD volumes must have a minimum size of 500 GiB and a maximum size of
* 16384 GiB.
sc1
- Cold HDD. Cold HDD volumes must
* have a minimum size of 500 GiB and a maximum size of 16384 GiB.
The volume type. For more information, see * Amazon EBS Volume Types.
standard
- Magnetic.
* Magnetic volumes must have a minimum size of 1 GiB and a maximum size of 1024
* GiB.
io1
- Provisioned IOPS (SSD). PIOPS volumes
* must have a minimum size of 4 GiB and a maximum size of 16384 GiB.
gp2
- General Purpose (SSD). General purpose volumes must
* have a minimum size of 1 GiB and a maximum size of 16384 GiB.
* st1
- Throughput Optimized hard disk drive (HDD). Throughput
* optimized HDD volumes must have a minimum size of 500 GiB and a maximum size of
* 16384 GiB.
sc1
- Cold HDD. Cold HDD volumes must
* have a minimum size of 500 GiB and a maximum size of 16384 GiB.
The volume type. For more information, see * Amazon EBS Volume Types.
standard
- Magnetic.
* Magnetic volumes must have a minimum size of 1 GiB and a maximum size of 1024
* GiB.
io1
- Provisioned IOPS (SSD). PIOPS volumes
* must have a minimum size of 4 GiB and a maximum size of 16384 GiB.
gp2
- General Purpose (SSD). General purpose volumes must
* have a minimum size of 1 GiB and a maximum size of 16384 GiB.
* st1
- Throughput Optimized hard disk drive (HDD). Throughput
* optimized HDD volumes must have a minimum size of 500 GiB and a maximum size of
* 16384 GiB.
sc1
- Cold HDD. Cold HDD volumes must
* have a minimum size of 500 GiB and a maximum size of 16384 GiB.
The volume type. For more information, see * Amazon EBS Volume Types.
standard
- Magnetic.
* Magnetic volumes must have a minimum size of 1 GiB and a maximum size of 1024
* GiB.
io1
- Provisioned IOPS (SSD). PIOPS volumes
* must have a minimum size of 4 GiB and a maximum size of 16384 GiB.
gp2
- General Purpose (SSD). General purpose volumes must
* have a minimum size of 1 GiB and a maximum size of 16384 GiB.
* st1
- Throughput Optimized hard disk drive (HDD). Throughput
* optimized HDD volumes must have a minimum size of 500 GiB and a maximum size of
* 16384 GiB.
sc1
- Cold HDD. Cold HDD volumes must
* have a minimum size of 500 GiB and a maximum size of 16384 GiB.
The volume type. For more information, see * Amazon EBS Volume Types.
standard
- Magnetic.
* Magnetic volumes must have a minimum size of 1 GiB and a maximum size of 1024
* GiB.
io1
- Provisioned IOPS (SSD). PIOPS volumes
* must have a minimum size of 4 GiB and a maximum size of 16384 GiB.
gp2
- General Purpose (SSD). General purpose volumes must
* have a minimum size of 1 GiB and a maximum size of 16384 GiB.
* st1
- Throughput Optimized hard disk drive (HDD). Throughput
* optimized HDD volumes must have a minimum size of 500 GiB and a maximum size of
* 16384 GiB.
sc1
- Cold HDD. Cold HDD volumes must
* have a minimum size of 500 GiB and a maximum size of 16384 GiB.
For PIOPS volumes, the IOPS per disk.
*/ inline int GetIops() const{ return m_iops; } /** *For PIOPS volumes, the IOPS per disk.
*/ inline bool IopsHasBeenSet() const { return m_iopsHasBeenSet; } /** *For PIOPS volumes, the IOPS per disk.
*/ inline void SetIops(int value) { m_iopsHasBeenSet = true; m_iops = value; } /** *For PIOPS volumes, the IOPS per disk.
*/ inline Volume& WithIops(int value) { SetIops(value); return *this;} /** *Specifies whether an Amazon EBS volume is encrypted. For more information, * see Amazon * EBS Encryption.
*/ inline bool GetEncrypted() const{ return m_encrypted; } /** *Specifies whether an Amazon EBS volume is encrypted. For more information, * see Amazon * EBS Encryption.
*/ inline bool EncryptedHasBeenSet() const { return m_encryptedHasBeenSet; } /** *Specifies whether an Amazon EBS volume is encrypted. For more information, * see Amazon * EBS Encryption.
*/ inline void SetEncrypted(bool value) { m_encryptedHasBeenSet = true; m_encrypted = value; } /** *Specifies whether an Amazon EBS volume is encrypted. For more information, * see Amazon * EBS Encryption.
*/ inline Volume& WithEncrypted(bool value) { SetEncrypted(value); return *this;} private: Aws::String m_volumeId; bool m_volumeIdHasBeenSet = false; Aws::String m_ec2VolumeId; bool m_ec2VolumeIdHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_raidArrayId; bool m_raidArrayIdHasBeenSet = false; Aws::String m_instanceId; bool m_instanceIdHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; int m_size; bool m_sizeHasBeenSet = false; Aws::String m_device; bool m_deviceHasBeenSet = false; Aws::String m_mountPoint; bool m_mountPointHasBeenSet = false; Aws::String m_region; bool m_regionHasBeenSet = false; Aws::String m_availabilityZone; bool m_availabilityZoneHasBeenSet = false; Aws::String m_volumeType; bool m_volumeTypeHasBeenSet = false; int m_iops; bool m_iopsHasBeenSet = false; bool m_encrypted; bool m_encryptedHasBeenSet = false; }; } // namespace Model } // namespace OpsWorks } // namespace Aws