/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include EBS volume specifications such as volume type, IOPS, size (GiB) and
* throughput (MiB/s) that are requested for the EBS volume attached to an Amazon
* EC2 instance in the cluster.See Also:
AWS
* API Reference
The volume type. Volume types supported are gp3, gp2, io1, st1, sc1, and * standard.
*/ inline const Aws::String& GetVolumeType() const{ return m_volumeType; } /** *The volume type. Volume types supported are gp3, gp2, io1, st1, sc1, and * standard.
*/ inline bool VolumeTypeHasBeenSet() const { return m_volumeTypeHasBeenSet; } /** *The volume type. Volume types supported are gp3, gp2, io1, st1, sc1, and * standard.
*/ inline void SetVolumeType(const Aws::String& value) { m_volumeTypeHasBeenSet = true; m_volumeType = value; } /** *The volume type. Volume types supported are gp3, gp2, io1, st1, sc1, and * standard.
*/ inline void SetVolumeType(Aws::String&& value) { m_volumeTypeHasBeenSet = true; m_volumeType = std::move(value); } /** *The volume type. Volume types supported are gp3, gp2, io1, st1, sc1, and * standard.
*/ inline void SetVolumeType(const char* value) { m_volumeTypeHasBeenSet = true; m_volumeType.assign(value); } /** *The volume type. Volume types supported are gp3, gp2, io1, st1, sc1, and * standard.
*/ inline VolumeSpecification& WithVolumeType(const Aws::String& value) { SetVolumeType(value); return *this;} /** *The volume type. Volume types supported are gp3, gp2, io1, st1, sc1, and * standard.
*/ inline VolumeSpecification& WithVolumeType(Aws::String&& value) { SetVolumeType(std::move(value)); return *this;} /** *The volume type. Volume types supported are gp3, gp2, io1, st1, sc1, and * standard.
*/ inline VolumeSpecification& WithVolumeType(const char* value) { SetVolumeType(value); return *this;} /** *The number of I/O operations per second (IOPS) that the volume supports.
*/ inline int GetIops() const{ return m_iops; } /** *The number of I/O operations per second (IOPS) that the volume supports.
*/ inline bool IopsHasBeenSet() const { return m_iopsHasBeenSet; } /** *The number of I/O operations per second (IOPS) that the volume supports.
*/ inline void SetIops(int value) { m_iopsHasBeenSet = true; m_iops = value; } /** *The number of I/O operations per second (IOPS) that the volume supports.
*/ inline VolumeSpecification& WithIops(int value) { SetIops(value); return *this;} /** *The volume size, in gibibytes (GiB). This can be a number from 1 - 1024. If * the volume type is EBS-optimized, the minimum value is 10.
*/ inline int GetSizeInGB() const{ return m_sizeInGB; } /** *The volume size, in gibibytes (GiB). This can be a number from 1 - 1024. If * the volume type is EBS-optimized, the minimum value is 10.
*/ inline bool SizeInGBHasBeenSet() const { return m_sizeInGBHasBeenSet; } /** *The volume size, in gibibytes (GiB). This can be a number from 1 - 1024. If * the volume type is EBS-optimized, the minimum value is 10.
*/ inline void SetSizeInGB(int value) { m_sizeInGBHasBeenSet = true; m_sizeInGB = value; } /** *The volume size, in gibibytes (GiB). This can be a number from 1 - 1024. If * the volume type is EBS-optimized, the minimum value is 10.
*/ inline VolumeSpecification& WithSizeInGB(int value) { SetSizeInGB(value); return *this;} /** *The throughput, in mebibyte per second (MiB/s). This optional parameter can * be a number from 125 - 1000 and is valid only for gp3 volumes.
*/ inline int GetThroughput() const{ return m_throughput; } /** *The throughput, in mebibyte per second (MiB/s). This optional parameter can * be a number from 125 - 1000 and is valid only for gp3 volumes.
*/ inline bool ThroughputHasBeenSet() const { return m_throughputHasBeenSet; } /** *The throughput, in mebibyte per second (MiB/s). This optional parameter can * be a number from 125 - 1000 and is valid only for gp3 volumes.
*/ inline void SetThroughput(int value) { m_throughputHasBeenSet = true; m_throughput = value; } /** *The throughput, in mebibyte per second (MiB/s). This optional parameter can * be a number from 125 - 1000 and is valid only for gp3 volumes.
*/ inline VolumeSpecification& WithThroughput(int value) { SetThroughput(value); return *this;} private: Aws::String m_volumeType; bool m_volumeTypeHasBeenSet = false; int m_iops; bool m_iopsHasBeenSet = false; int m_sizeInGB; bool m_sizeInGBHasBeenSet = false; int m_throughput; bool m_throughputHasBeenSet = false; }; } // namespace Model } // namespace EMR } // namespace Aws