/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace OpsWorks { namespace Model { /** *

Describes an Amazon EBS volume configuration.

See Also:

AWS * API Reference

*/ class VolumeConfiguration { public: AWS_OPSWORKS_API VolumeConfiguration(); AWS_OPSWORKS_API VolumeConfiguration(Aws::Utils::Json::JsonView jsonValue); AWS_OPSWORKS_API VolumeConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_OPSWORKS_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The volume mount point. For example "/dev/sdh".

*/ inline const Aws::String& GetMountPoint() const{ return m_mountPoint; } /** *

The volume mount point. For example "/dev/sdh".

*/ inline bool MountPointHasBeenSet() const { return m_mountPointHasBeenSet; } /** *

The volume mount point. For example "/dev/sdh".

*/ inline void SetMountPoint(const Aws::String& value) { m_mountPointHasBeenSet = true; m_mountPoint = value; } /** *

The volume mount point. For example "/dev/sdh".

*/ inline void SetMountPoint(Aws::String&& value) { m_mountPointHasBeenSet = true; m_mountPoint = std::move(value); } /** *

The volume mount point. For example "/dev/sdh".

*/ inline void SetMountPoint(const char* value) { m_mountPointHasBeenSet = true; m_mountPoint.assign(value); } /** *

The volume mount point. For example "/dev/sdh".

*/ inline VolumeConfiguration& WithMountPoint(const Aws::String& value) { SetMountPoint(value); return *this;} /** *

The volume mount point. For example "/dev/sdh".

*/ inline VolumeConfiguration& WithMountPoint(Aws::String&& value) { SetMountPoint(std::move(value)); return *this;} /** *

The volume mount point. For example "/dev/sdh".

*/ inline VolumeConfiguration& WithMountPoint(const char* value) { SetMountPoint(value); return *this;} /** *

The volume RAID * level.

*/ inline int GetRaidLevel() const{ return m_raidLevel; } /** *

The volume RAID * level.

*/ inline bool RaidLevelHasBeenSet() const { return m_raidLevelHasBeenSet; } /** *

The volume RAID * level.

*/ inline void SetRaidLevel(int value) { m_raidLevelHasBeenSet = true; m_raidLevel = value; } /** *

The volume RAID * level.

*/ inline VolumeConfiguration& WithRaidLevel(int value) { SetRaidLevel(value); return *this;} /** *

The number of disks in the volume.

*/ inline int GetNumberOfDisks() const{ return m_numberOfDisks; } /** *

The number of disks in the volume.

*/ inline bool NumberOfDisksHasBeenSet() const { return m_numberOfDisksHasBeenSet; } /** *

The number of disks in the volume.

*/ inline void SetNumberOfDisks(int value) { m_numberOfDisksHasBeenSet = true; m_numberOfDisks = value; } /** *

The number of disks in the volume.

*/ inline VolumeConfiguration& WithNumberOfDisks(int value) { SetNumberOfDisks(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 VolumeConfiguration& WithSize(int value) { SetSize(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.

*/ inline const Aws::String& GetVolumeType() const{ return m_volumeType; } /** *

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.

*/ inline bool VolumeTypeHasBeenSet() const { return m_volumeTypeHasBeenSet; } /** *

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.

*/ inline void SetVolumeType(const Aws::String& value) { m_volumeTypeHasBeenSet = true; m_volumeType = value; } /** *

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.

*/ inline void SetVolumeType(Aws::String&& value) { m_volumeTypeHasBeenSet = true; m_volumeType = std::move(value); } /** *

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.

*/ inline void SetVolumeType(const char* value) { m_volumeTypeHasBeenSet = true; m_volumeType.assign(value); } /** *

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.

*/ inline VolumeConfiguration& WithVolumeType(const Aws::String& value) { SetVolumeType(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.

*/ inline VolumeConfiguration& WithVolumeType(Aws::String&& value) { SetVolumeType(std::move(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.

*/ inline VolumeConfiguration& WithVolumeType(const char* value) { SetVolumeType(value); return *this;} /** *

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 VolumeConfiguration& 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 VolumeConfiguration& WithEncrypted(bool value) { SetEncrypted(value); return *this;} private: Aws::String m_mountPoint; bool m_mountPointHasBeenSet = false; int m_raidLevel; bool m_raidLevelHasBeenSet = false; int m_numberOfDisks; bool m_numberOfDisksHasBeenSet = false; int m_size; bool m_sizeHasBeenSet = 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