/** * 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 GuardDuty { namespace Model { /** *

Contains EBS volume details.

See Also:

AWS * API Reference

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

EBS volume Arn information.

*/ inline const Aws::String& GetVolumeArn() const{ return m_volumeArn; } /** *

EBS volume Arn information.

*/ inline bool VolumeArnHasBeenSet() const { return m_volumeArnHasBeenSet; } /** *

EBS volume Arn information.

*/ inline void SetVolumeArn(const Aws::String& value) { m_volumeArnHasBeenSet = true; m_volumeArn = value; } /** *

EBS volume Arn information.

*/ inline void SetVolumeArn(Aws::String&& value) { m_volumeArnHasBeenSet = true; m_volumeArn = std::move(value); } /** *

EBS volume Arn information.

*/ inline void SetVolumeArn(const char* value) { m_volumeArnHasBeenSet = true; m_volumeArn.assign(value); } /** *

EBS volume Arn information.

*/ inline VolumeDetail& WithVolumeArn(const Aws::String& value) { SetVolumeArn(value); return *this;} /** *

EBS volume Arn information.

*/ inline VolumeDetail& WithVolumeArn(Aws::String&& value) { SetVolumeArn(std::move(value)); return *this;} /** *

EBS volume Arn information.

*/ inline VolumeDetail& WithVolumeArn(const char* value) { SetVolumeArn(value); return *this;} /** *

The EBS volume type.

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

The EBS volume type.

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

The EBS volume type.

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

The EBS volume type.

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

The EBS volume type.

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

The EBS volume type.

*/ inline VolumeDetail& WithVolumeType(const Aws::String& value) { SetVolumeType(value); return *this;} /** *

The EBS volume type.

*/ inline VolumeDetail& WithVolumeType(Aws::String&& value) { SetVolumeType(std::move(value)); return *this;} /** *

The EBS volume type.

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

The device name for the EBS volume.

*/ inline const Aws::String& GetDeviceName() const{ return m_deviceName; } /** *

The device name for the EBS volume.

*/ inline bool DeviceNameHasBeenSet() const { return m_deviceNameHasBeenSet; } /** *

The device name for the EBS volume.

*/ inline void SetDeviceName(const Aws::String& value) { m_deviceNameHasBeenSet = true; m_deviceName = value; } /** *

The device name for the EBS volume.

*/ inline void SetDeviceName(Aws::String&& value) { m_deviceNameHasBeenSet = true; m_deviceName = std::move(value); } /** *

The device name for the EBS volume.

*/ inline void SetDeviceName(const char* value) { m_deviceNameHasBeenSet = true; m_deviceName.assign(value); } /** *

The device name for the EBS volume.

*/ inline VolumeDetail& WithDeviceName(const Aws::String& value) { SetDeviceName(value); return *this;} /** *

The device name for the EBS volume.

*/ inline VolumeDetail& WithDeviceName(Aws::String&& value) { SetDeviceName(std::move(value)); return *this;} /** *

The device name for the EBS volume.

*/ inline VolumeDetail& WithDeviceName(const char* value) { SetDeviceName(value); return *this;} /** *

EBS volume size in GB.

*/ inline int GetVolumeSizeInGB() const{ return m_volumeSizeInGB; } /** *

EBS volume size in GB.

*/ inline bool VolumeSizeInGBHasBeenSet() const { return m_volumeSizeInGBHasBeenSet; } /** *

EBS volume size in GB.

*/ inline void SetVolumeSizeInGB(int value) { m_volumeSizeInGBHasBeenSet = true; m_volumeSizeInGB = value; } /** *

EBS volume size in GB.

*/ inline VolumeDetail& WithVolumeSizeInGB(int value) { SetVolumeSizeInGB(value); return *this;} /** *

EBS volume encryption type.

*/ inline const Aws::String& GetEncryptionType() const{ return m_encryptionType; } /** *

EBS volume encryption type.

*/ inline bool EncryptionTypeHasBeenSet() const { return m_encryptionTypeHasBeenSet; } /** *

EBS volume encryption type.

*/ inline void SetEncryptionType(const Aws::String& value) { m_encryptionTypeHasBeenSet = true; m_encryptionType = value; } /** *

EBS volume encryption type.

*/ inline void SetEncryptionType(Aws::String&& value) { m_encryptionTypeHasBeenSet = true; m_encryptionType = std::move(value); } /** *

EBS volume encryption type.

*/ inline void SetEncryptionType(const char* value) { m_encryptionTypeHasBeenSet = true; m_encryptionType.assign(value); } /** *

EBS volume encryption type.

*/ inline VolumeDetail& WithEncryptionType(const Aws::String& value) { SetEncryptionType(value); return *this;} /** *

EBS volume encryption type.

*/ inline VolumeDetail& WithEncryptionType(Aws::String&& value) { SetEncryptionType(std::move(value)); return *this;} /** *

EBS volume encryption type.

*/ inline VolumeDetail& WithEncryptionType(const char* value) { SetEncryptionType(value); return *this;} /** *

Snapshot Arn of the EBS volume.

*/ inline const Aws::String& GetSnapshotArn() const{ return m_snapshotArn; } /** *

Snapshot Arn of the EBS volume.

*/ inline bool SnapshotArnHasBeenSet() const { return m_snapshotArnHasBeenSet; } /** *

Snapshot Arn of the EBS volume.

*/ inline void SetSnapshotArn(const Aws::String& value) { m_snapshotArnHasBeenSet = true; m_snapshotArn = value; } /** *

Snapshot Arn of the EBS volume.

*/ inline void SetSnapshotArn(Aws::String&& value) { m_snapshotArnHasBeenSet = true; m_snapshotArn = std::move(value); } /** *

Snapshot Arn of the EBS volume.

*/ inline void SetSnapshotArn(const char* value) { m_snapshotArnHasBeenSet = true; m_snapshotArn.assign(value); } /** *

Snapshot Arn of the EBS volume.

*/ inline VolumeDetail& WithSnapshotArn(const Aws::String& value) { SetSnapshotArn(value); return *this;} /** *

Snapshot Arn of the EBS volume.

*/ inline VolumeDetail& WithSnapshotArn(Aws::String&& value) { SetSnapshotArn(std::move(value)); return *this;} /** *

Snapshot Arn of the EBS volume.

*/ inline VolumeDetail& WithSnapshotArn(const char* value) { SetSnapshotArn(value); return *this;} /** *

KMS key Arn used to encrypt the EBS volume.

*/ inline const Aws::String& GetKmsKeyArn() const{ return m_kmsKeyArn; } /** *

KMS key Arn used to encrypt the EBS volume.

*/ inline bool KmsKeyArnHasBeenSet() const { return m_kmsKeyArnHasBeenSet; } /** *

KMS key Arn used to encrypt the EBS volume.

*/ inline void SetKmsKeyArn(const Aws::String& value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn = value; } /** *

KMS key Arn used to encrypt the EBS volume.

*/ inline void SetKmsKeyArn(Aws::String&& value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn = std::move(value); } /** *

KMS key Arn used to encrypt the EBS volume.

*/ inline void SetKmsKeyArn(const char* value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn.assign(value); } /** *

KMS key Arn used to encrypt the EBS volume.

*/ inline VolumeDetail& WithKmsKeyArn(const Aws::String& value) { SetKmsKeyArn(value); return *this;} /** *

KMS key Arn used to encrypt the EBS volume.

*/ inline VolumeDetail& WithKmsKeyArn(Aws::String&& value) { SetKmsKeyArn(std::move(value)); return *this;} /** *

KMS key Arn used to encrypt the EBS volume.

*/ inline VolumeDetail& WithKmsKeyArn(const char* value) { SetKmsKeyArn(value); return *this;} private: Aws::String m_volumeArn; bool m_volumeArnHasBeenSet = false; Aws::String m_volumeType; bool m_volumeTypeHasBeenSet = false; Aws::String m_deviceName; bool m_deviceNameHasBeenSet = false; int m_volumeSizeInGB; bool m_volumeSizeInGBHasBeenSet = false; Aws::String m_encryptionType; bool m_encryptionTypeHasBeenSet = false; Aws::String m_snapshotArn; bool m_snapshotArnHasBeenSet = false; Aws::String m_kmsKeyArn; bool m_kmsKeyArnHasBeenSet = false; }; } // namespace Model } // namespace GuardDuty } // namespace Aws