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

Details on a container instance bind mount host volume.

See * Also:

AWS * API Reference

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

When the host parameter is used, specify a * sourcePath to declare the path on the host container instance * that's presented to the container. If this parameter is empty, then the Docker * daemon has assigned a host path for you. If the host parameter * contains a sourcePath file location, then the data volume persists * at the specified location on the host container instance until you delete it * manually. If the sourcePath value doesn't exist on the host * container instance, the Docker daemon creates it. If the location does exist, * the contents of the source path folder are exported.

If you're using the * Fargate launch type, the sourcePath parameter is not supported.

*/ inline const Aws::String& GetSourcePath() const{ return m_sourcePath; } /** *

When the host parameter is used, specify a * sourcePath to declare the path on the host container instance * that's presented to the container. If this parameter is empty, then the Docker * daemon has assigned a host path for you. If the host parameter * contains a sourcePath file location, then the data volume persists * at the specified location on the host container instance until you delete it * manually. If the sourcePath value doesn't exist on the host * container instance, the Docker daemon creates it. If the location does exist, * the contents of the source path folder are exported.

If you're using the * Fargate launch type, the sourcePath parameter is not supported.

*/ inline bool SourcePathHasBeenSet() const { return m_sourcePathHasBeenSet; } /** *

When the host parameter is used, specify a * sourcePath to declare the path on the host container instance * that's presented to the container. If this parameter is empty, then the Docker * daemon has assigned a host path for you. If the host parameter * contains a sourcePath file location, then the data volume persists * at the specified location on the host container instance until you delete it * manually. If the sourcePath value doesn't exist on the host * container instance, the Docker daemon creates it. If the location does exist, * the contents of the source path folder are exported.

If you're using the * Fargate launch type, the sourcePath parameter is not supported.

*/ inline void SetSourcePath(const Aws::String& value) { m_sourcePathHasBeenSet = true; m_sourcePath = value; } /** *

When the host parameter is used, specify a * sourcePath to declare the path on the host container instance * that's presented to the container. If this parameter is empty, then the Docker * daemon has assigned a host path for you. If the host parameter * contains a sourcePath file location, then the data volume persists * at the specified location on the host container instance until you delete it * manually. If the sourcePath value doesn't exist on the host * container instance, the Docker daemon creates it. If the location does exist, * the contents of the source path folder are exported.

If you're using the * Fargate launch type, the sourcePath parameter is not supported.

*/ inline void SetSourcePath(Aws::String&& value) { m_sourcePathHasBeenSet = true; m_sourcePath = std::move(value); } /** *

When the host parameter is used, specify a * sourcePath to declare the path on the host container instance * that's presented to the container. If this parameter is empty, then the Docker * daemon has assigned a host path for you. If the host parameter * contains a sourcePath file location, then the data volume persists * at the specified location on the host container instance until you delete it * manually. If the sourcePath value doesn't exist on the host * container instance, the Docker daemon creates it. If the location does exist, * the contents of the source path folder are exported.

If you're using the * Fargate launch type, the sourcePath parameter is not supported.

*/ inline void SetSourcePath(const char* value) { m_sourcePathHasBeenSet = true; m_sourcePath.assign(value); } /** *

When the host parameter is used, specify a * sourcePath to declare the path on the host container instance * that's presented to the container. If this parameter is empty, then the Docker * daemon has assigned a host path for you. If the host parameter * contains a sourcePath file location, then the data volume persists * at the specified location on the host container instance until you delete it * manually. If the sourcePath value doesn't exist on the host * container instance, the Docker daemon creates it. If the location does exist, * the contents of the source path folder are exported.

If you're using the * Fargate launch type, the sourcePath parameter is not supported.

*/ inline HostVolumeProperties& WithSourcePath(const Aws::String& value) { SetSourcePath(value); return *this;} /** *

When the host parameter is used, specify a * sourcePath to declare the path on the host container instance * that's presented to the container. If this parameter is empty, then the Docker * daemon has assigned a host path for you. If the host parameter * contains a sourcePath file location, then the data volume persists * at the specified location on the host container instance until you delete it * manually. If the sourcePath value doesn't exist on the host * container instance, the Docker daemon creates it. If the location does exist, * the contents of the source path folder are exported.

If you're using the * Fargate launch type, the sourcePath parameter is not supported.

*/ inline HostVolumeProperties& WithSourcePath(Aws::String&& value) { SetSourcePath(std::move(value)); return *this;} /** *

When the host parameter is used, specify a * sourcePath to declare the path on the host container instance * that's presented to the container. If this parameter is empty, then the Docker * daemon has assigned a host path for you. If the host parameter * contains a sourcePath file location, then the data volume persists * at the specified location on the host container instance until you delete it * manually. If the sourcePath value doesn't exist on the host * container instance, the Docker daemon creates it. If the location does exist, * the contents of the source path folder are exported.

If you're using the * Fargate launch type, the sourcePath parameter is not supported.

*/ inline HostVolumeProperties& WithSourcePath(const char* value) { SetSourcePath(value); return *this;} private: Aws::String m_sourcePath; bool m_sourcePathHasBeenSet = false; }; } // namespace Model } // namespace ECS } // namespace Aws