/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A data volume used in a task definition. For tasks that use Amazon Elastic
* File System (Amazon EFS) file storage, specify an
* efsVolumeConfiguration. For tasks that use a Docker volume, specify
* a DockerVolumeConfiguration. For tasks that use a bind mount host
* volume, specify a host and optional sourcePath. For
* more information, see Using
* Data Volumes in Tasks.See Also:
AWS API
* Reference
The name of the volume. Up to 255 letters (uppercase and lowercase), numbers,
* and hyphens are allowed. This name is referenced in the
* sourceVolume parameter of container definition
* mountPoints.
The name of the volume. Up to 255 letters (uppercase and lowercase), numbers,
* and hyphens are allowed. This name is referenced in the
* sourceVolume parameter of container definition
* mountPoints.
The name of the volume. Up to 255 letters (uppercase and lowercase), numbers,
* and hyphens are allowed. This name is referenced in the
* sourceVolume parameter of container definition
* mountPoints.
The name of the volume. Up to 255 letters (uppercase and lowercase), numbers,
* and hyphens are allowed. This name is referenced in the
* sourceVolume parameter of container definition
* mountPoints.
The name of the volume. Up to 255 letters (uppercase and lowercase), numbers,
* and hyphens are allowed. This name is referenced in the
* sourceVolume parameter of container definition
* mountPoints.
The name of the volume. Up to 255 letters (uppercase and lowercase), numbers,
* and hyphens are allowed. This name is referenced in the
* sourceVolume parameter of container definition
* mountPoints.
The name of the volume. Up to 255 letters (uppercase and lowercase), numbers,
* and hyphens are allowed. This name is referenced in the
* sourceVolume parameter of container definition
* mountPoints.
The name of the volume. Up to 255 letters (uppercase and lowercase), numbers,
* and hyphens are allowed. This name is referenced in the
* sourceVolume parameter of container definition
* mountPoints.
This parameter is specified when you are using bind mount host volumes. The
* contents of the host parameter determine whether your bind mount
* host volume persists on the host container instance and where it is stored. If
* the host parameter is empty, then the Docker daemon assigns a host
* path for your data volume. However, the data is not guaranteed to persist after
* the containers associated with it stop running.
Windows containers can
* mount whole directories on the same drive as $env:ProgramData.
* Windows containers cannot mount directories on a different drive, and mount
* point cannot be across drives. For example, you can mount
* C:\my\path:C:\my\path and D:\:D:\, but not
* D:\my\path:C:\my\path or D:\:C:\my\path.
This parameter is specified when you are using bind mount host volumes. The
* contents of the host parameter determine whether your bind mount
* host volume persists on the host container instance and where it is stored. If
* the host parameter is empty, then the Docker daemon assigns a host
* path for your data volume. However, the data is not guaranteed to persist after
* the containers associated with it stop running.
Windows containers can
* mount whole directories on the same drive as $env:ProgramData.
* Windows containers cannot mount directories on a different drive, and mount
* point cannot be across drives. For example, you can mount
* C:\my\path:C:\my\path and D:\:D:\, but not
* D:\my\path:C:\my\path or D:\:C:\my\path.
This parameter is specified when you are using bind mount host volumes. The
* contents of the host parameter determine whether your bind mount
* host volume persists on the host container instance and where it is stored. If
* the host parameter is empty, then the Docker daemon assigns a host
* path for your data volume. However, the data is not guaranteed to persist after
* the containers associated with it stop running.
Windows containers can
* mount whole directories on the same drive as $env:ProgramData.
* Windows containers cannot mount directories on a different drive, and mount
* point cannot be across drives. For example, you can mount
* C:\my\path:C:\my\path and D:\:D:\, but not
* D:\my\path:C:\my\path or D:\:C:\my\path.
This parameter is specified when you are using bind mount host volumes. The
* contents of the host parameter determine whether your bind mount
* host volume persists on the host container instance and where it is stored. If
* the host parameter is empty, then the Docker daemon assigns a host
* path for your data volume. However, the data is not guaranteed to persist after
* the containers associated with it stop running.
Windows containers can
* mount whole directories on the same drive as $env:ProgramData.
* Windows containers cannot mount directories on a different drive, and mount
* point cannot be across drives. For example, you can mount
* C:\my\path:C:\my\path and D:\:D:\, but not
* D:\my\path:C:\my\path or D:\:C:\my\path.
This parameter is specified when you are using bind mount host volumes. The
* contents of the host parameter determine whether your bind mount
* host volume persists on the host container instance and where it is stored. If
* the host parameter is empty, then the Docker daemon assigns a host
* path for your data volume. However, the data is not guaranteed to persist after
* the containers associated with it stop running.
Windows containers can
* mount whole directories on the same drive as $env:ProgramData.
* Windows containers cannot mount directories on a different drive, and mount
* point cannot be across drives. For example, you can mount
* C:\my\path:C:\my\path and D:\:D:\, but not
* D:\my\path:C:\my\path or D:\:C:\my\path.
This parameter is specified when you are using bind mount host volumes. The
* contents of the host parameter determine whether your bind mount
* host volume persists on the host container instance and where it is stored. If
* the host parameter is empty, then the Docker daemon assigns a host
* path for your data volume. However, the data is not guaranteed to persist after
* the containers associated with it stop running.
Windows containers can
* mount whole directories on the same drive as $env:ProgramData.
* Windows containers cannot mount directories on a different drive, and mount
* point cannot be across drives. For example, you can mount
* C:\my\path:C:\my\path and D:\:D:\, but not
* D:\my\path:C:\my\path or D:\:C:\my\path.
This parameter is specified when you are using Docker volumes. Docker volumes
* are only supported when you are using the EC2 launch type. Windows containers
* only support the use of the local driver. To use bind mounts,
* specify the host parameter instead.
This parameter is specified when you are using Docker volumes. Docker volumes
* are only supported when you are using the EC2 launch type. Windows containers
* only support the use of the local driver. To use bind mounts,
* specify the host parameter instead.
This parameter is specified when you are using Docker volumes. Docker volumes
* are only supported when you are using the EC2 launch type. Windows containers
* only support the use of the local driver. To use bind mounts,
* specify the host parameter instead.
This parameter is specified when you are using Docker volumes. Docker volumes
* are only supported when you are using the EC2 launch type. Windows containers
* only support the use of the local driver. To use bind mounts,
* specify the host parameter instead.
This parameter is specified when you are using Docker volumes. Docker volumes
* are only supported when you are using the EC2 launch type. Windows containers
* only support the use of the local driver. To use bind mounts,
* specify the host parameter instead.
This parameter is specified when you are using Docker volumes. Docker volumes
* are only supported when you are using the EC2 launch type. Windows containers
* only support the use of the local driver. To use bind mounts,
* specify the host parameter instead.
This parameter is specified when you are using an Amazon Elastic File System * file system for task storage.
*/ inline const EFSVolumeConfiguration& GetEfsVolumeConfiguration() const{ return m_efsVolumeConfiguration; } /** *This parameter is specified when you are using an Amazon Elastic File System * file system for task storage.
*/ inline bool EfsVolumeConfigurationHasBeenSet() const { return m_efsVolumeConfigurationHasBeenSet; } /** *This parameter is specified when you are using an Amazon Elastic File System * file system for task storage.
*/ inline void SetEfsVolumeConfiguration(const EFSVolumeConfiguration& value) { m_efsVolumeConfigurationHasBeenSet = true; m_efsVolumeConfiguration = value; } /** *This parameter is specified when you are using an Amazon Elastic File System * file system for task storage.
*/ inline void SetEfsVolumeConfiguration(EFSVolumeConfiguration&& value) { m_efsVolumeConfigurationHasBeenSet = true; m_efsVolumeConfiguration = std::move(value); } /** *This parameter is specified when you are using an Amazon Elastic File System * file system for task storage.
*/ inline Volume& WithEfsVolumeConfiguration(const EFSVolumeConfiguration& value) { SetEfsVolumeConfiguration(value); return *this;} /** *This parameter is specified when you are using an Amazon Elastic File System * file system for task storage.
*/ inline Volume& WithEfsVolumeConfiguration(EFSVolumeConfiguration&& value) { SetEfsVolumeConfiguration(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet; HostVolumeProperties m_host; bool m_hostHasBeenSet; DockerVolumeConfiguration m_dockerVolumeConfiguration; bool m_dockerVolumeConfigurationHasBeenSet; EFSVolumeConfiguration m_efsVolumeConfiguration; bool m_efsVolumeConfigurationHasBeenSet; }; } // namespace Model } // namespace ECS } // namespace Aws