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

The volume mounts for a container for an Amazon EKS job. For more information * about volumes and volume mounts in Kubernetes, see Volumes in the * Kubernetes documentation.

See Also:

AWS * API Reference

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

The name the volume mount. This must match the name of one of the volumes in * the pod.

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

The name the volume mount. This must match the name of one of the volumes in * the pod.

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

The name the volume mount. This must match the name of one of the volumes in * the pod.

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

The name the volume mount. This must match the name of one of the volumes in * the pod.

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

The name the volume mount. This must match the name of one of the volumes in * the pod.

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

The name the volume mount. This must match the name of one of the volumes in * the pod.

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

The name the volume mount. This must match the name of one of the volumes in * the pod.

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

The name the volume mount. This must match the name of one of the volumes in * the pod.

*/ inline EksContainerVolumeMount& WithName(const char* value) { SetName(value); return *this;} /** *

The path on the container where the volume is mounted.

*/ inline const Aws::String& GetMountPath() const{ return m_mountPath; } /** *

The path on the container where the volume is mounted.

*/ inline bool MountPathHasBeenSet() const { return m_mountPathHasBeenSet; } /** *

The path on the container where the volume is mounted.

*/ inline void SetMountPath(const Aws::String& value) { m_mountPathHasBeenSet = true; m_mountPath = value; } /** *

The path on the container where the volume is mounted.

*/ inline void SetMountPath(Aws::String&& value) { m_mountPathHasBeenSet = true; m_mountPath = std::move(value); } /** *

The path on the container where the volume is mounted.

*/ inline void SetMountPath(const char* value) { m_mountPathHasBeenSet = true; m_mountPath.assign(value); } /** *

The path on the container where the volume is mounted.

*/ inline EksContainerVolumeMount& WithMountPath(const Aws::String& value) { SetMountPath(value); return *this;} /** *

The path on the container where the volume is mounted.

*/ inline EksContainerVolumeMount& WithMountPath(Aws::String&& value) { SetMountPath(std::move(value)); return *this;} /** *

The path on the container where the volume is mounted.

*/ inline EksContainerVolumeMount& WithMountPath(const char* value) { SetMountPath(value); return *this;} /** *

If this value is true, the container has read-only access to the * volume. Otherwise, the container can write to the volume. The default value is * false.

*/ inline bool GetReadOnly() const{ return m_readOnly; } /** *

If this value is true, the container has read-only access to the * volume. Otherwise, the container can write to the volume. The default value is * false.

*/ inline bool ReadOnlyHasBeenSet() const { return m_readOnlyHasBeenSet; } /** *

If this value is true, the container has read-only access to the * volume. Otherwise, the container can write to the volume. The default value is * false.

*/ inline void SetReadOnly(bool value) { m_readOnlyHasBeenSet = true; m_readOnly = value; } /** *

If this value is true, the container has read-only access to the * volume. Otherwise, the container can write to the volume. The default value is * false.

*/ inline EksContainerVolumeMount& WithReadOnly(bool value) { SetReadOnly(value); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_mountPath; bool m_mountPathHasBeenSet = false; bool m_readOnly; bool m_readOnlyHasBeenSet = false; }; } // namespace Model } // namespace Batch } // namespace Aws