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

A data volume to mount from another container.

See Also:

AWS * API Reference

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

Information about a Docker volume.

*/ inline const AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails& GetDockerVolumeConfiguration() const{ return m_dockerVolumeConfiguration; } /** *

Information about a Docker volume.

*/ inline bool DockerVolumeConfigurationHasBeenSet() const { return m_dockerVolumeConfigurationHasBeenSet; } /** *

Information about a Docker volume.

*/ inline void SetDockerVolumeConfiguration(const AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails& value) { m_dockerVolumeConfigurationHasBeenSet = true; m_dockerVolumeConfiguration = value; } /** *

Information about a Docker volume.

*/ inline void SetDockerVolumeConfiguration(AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails&& value) { m_dockerVolumeConfigurationHasBeenSet = true; m_dockerVolumeConfiguration = std::move(value); } /** *

Information about a Docker volume.

*/ inline AwsEcsTaskDefinitionVolumesDetails& WithDockerVolumeConfiguration(const AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails& value) { SetDockerVolumeConfiguration(value); return *this;} /** *

Information about a Docker volume.

*/ inline AwsEcsTaskDefinitionVolumesDetails& WithDockerVolumeConfiguration(AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails&& value) { SetDockerVolumeConfiguration(std::move(value)); return *this;} /** *

Information about the Amazon Elastic File System file system that is used for * task storage.

*/ inline const AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& GetEfsVolumeConfiguration() const{ return m_efsVolumeConfiguration; } /** *

Information about the Amazon Elastic File System file system that is used for * task storage.

*/ inline bool EfsVolumeConfigurationHasBeenSet() const { return m_efsVolumeConfigurationHasBeenSet; } /** *

Information about the Amazon Elastic File System file system that is used for * task storage.

*/ inline void SetEfsVolumeConfiguration(const AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& value) { m_efsVolumeConfigurationHasBeenSet = true; m_efsVolumeConfiguration = value; } /** *

Information about the Amazon Elastic File System file system that is used for * task storage.

*/ inline void SetEfsVolumeConfiguration(AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails&& value) { m_efsVolumeConfigurationHasBeenSet = true; m_efsVolumeConfiguration = std::move(value); } /** *

Information about the Amazon Elastic File System file system that is used for * task storage.

*/ inline AwsEcsTaskDefinitionVolumesDetails& WithEfsVolumeConfiguration(const AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& value) { SetEfsVolumeConfiguration(value); return *this;} /** *

Information about the Amazon Elastic File System file system that is used for * task storage.

*/ inline AwsEcsTaskDefinitionVolumesDetails& WithEfsVolumeConfiguration(AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails&& value) { SetEfsVolumeConfiguration(std::move(value)); return *this;} /** *

Information about a bind mount host volume.

*/ inline const AwsEcsTaskDefinitionVolumesHostDetails& GetHost() const{ return m_host; } /** *

Information about a bind mount host volume.

*/ inline bool HostHasBeenSet() const { return m_hostHasBeenSet; } /** *

Information about a bind mount host volume.

*/ inline void SetHost(const AwsEcsTaskDefinitionVolumesHostDetails& value) { m_hostHasBeenSet = true; m_host = value; } /** *

Information about a bind mount host volume.

*/ inline void SetHost(AwsEcsTaskDefinitionVolumesHostDetails&& value) { m_hostHasBeenSet = true; m_host = std::move(value); } /** *

Information about a bind mount host volume.

*/ inline AwsEcsTaskDefinitionVolumesDetails& WithHost(const AwsEcsTaskDefinitionVolumesHostDetails& value) { SetHost(value); return *this;} /** *

Information about a bind mount host volume.

*/ inline AwsEcsTaskDefinitionVolumesDetails& WithHost(AwsEcsTaskDefinitionVolumesHostDetails&& value) { SetHost(std::move(value)); return *this;} /** *

The name of the data volume.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the data volume.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the data volume.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the data volume.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the data volume.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the data volume.

*/ inline AwsEcsTaskDefinitionVolumesDetails& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the data volume.

*/ inline AwsEcsTaskDefinitionVolumesDetails& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the data volume.

*/ inline AwsEcsTaskDefinitionVolumesDetails& WithName(const char* value) { SetName(value); return *this;} private: AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails m_dockerVolumeConfiguration; bool m_dockerVolumeConfigurationHasBeenSet = false; AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails m_efsVolumeConfiguration; bool m_efsVolumeConfigurationHasBeenSet = false; AwsEcsTaskDefinitionVolumesHostDetails m_host; bool m_hostHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws