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

The Amazon EBS configuration of a cluster instance.

See Also:

* AWS * API Reference

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

An array of Amazon EBS volume specifications attached to a cluster * instance.

*/ inline const Aws::Vector& GetEbsBlockDeviceConfigs() const{ return m_ebsBlockDeviceConfigs; } /** *

An array of Amazon EBS volume specifications attached to a cluster * instance.

*/ inline bool EbsBlockDeviceConfigsHasBeenSet() const { return m_ebsBlockDeviceConfigsHasBeenSet; } /** *

An array of Amazon EBS volume specifications attached to a cluster * instance.

*/ inline void SetEbsBlockDeviceConfigs(const Aws::Vector& value) { m_ebsBlockDeviceConfigsHasBeenSet = true; m_ebsBlockDeviceConfigs = value; } /** *

An array of Amazon EBS volume specifications attached to a cluster * instance.

*/ inline void SetEbsBlockDeviceConfigs(Aws::Vector&& value) { m_ebsBlockDeviceConfigsHasBeenSet = true; m_ebsBlockDeviceConfigs = std::move(value); } /** *

An array of Amazon EBS volume specifications attached to a cluster * instance.

*/ inline EbsConfiguration& WithEbsBlockDeviceConfigs(const Aws::Vector& value) { SetEbsBlockDeviceConfigs(value); return *this;} /** *

An array of Amazon EBS volume specifications attached to a cluster * instance.

*/ inline EbsConfiguration& WithEbsBlockDeviceConfigs(Aws::Vector&& value) { SetEbsBlockDeviceConfigs(std::move(value)); return *this;} /** *

An array of Amazon EBS volume specifications attached to a cluster * instance.

*/ inline EbsConfiguration& AddEbsBlockDeviceConfigs(const EbsBlockDeviceConfig& value) { m_ebsBlockDeviceConfigsHasBeenSet = true; m_ebsBlockDeviceConfigs.push_back(value); return *this; } /** *

An array of Amazon EBS volume specifications attached to a cluster * instance.

*/ inline EbsConfiguration& AddEbsBlockDeviceConfigs(EbsBlockDeviceConfig&& value) { m_ebsBlockDeviceConfigsHasBeenSet = true; m_ebsBlockDeviceConfigs.push_back(std::move(value)); return *this; } /** *

Indicates whether an Amazon EBS volume is EBS-optimized.

*/ inline bool GetEbsOptimized() const{ return m_ebsOptimized; } /** *

Indicates whether an Amazon EBS volume is EBS-optimized.

*/ inline bool EbsOptimizedHasBeenSet() const { return m_ebsOptimizedHasBeenSet; } /** *

Indicates whether an Amazon EBS volume is EBS-optimized.

*/ inline void SetEbsOptimized(bool value) { m_ebsOptimizedHasBeenSet = true; m_ebsOptimized = value; } /** *

Indicates whether an Amazon EBS volume is EBS-optimized.

*/ inline EbsConfiguration& WithEbsOptimized(bool value) { SetEbsOptimized(value); return *this;} private: Aws::Vector m_ebsBlockDeviceConfigs; bool m_ebsBlockDeviceConfigsHasBeenSet = false; bool m_ebsOptimized; bool m_ebsOptimizedHasBeenSet = false; }; } // namespace Model } // namespace EMR } // namespace Aws