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

A host device to expose to the container.

See Also:

AWS * API Reference

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

The path inside the container at which to expose the host device.

*/ inline const Aws::String& GetContainerPath() const{ return m_containerPath; } /** *

The path inside the container at which to expose the host device.

*/ inline bool ContainerPathHasBeenSet() const { return m_containerPathHasBeenSet; } /** *

The path inside the container at which to expose the host device.

*/ inline void SetContainerPath(const Aws::String& value) { m_containerPathHasBeenSet = true; m_containerPath = value; } /** *

The path inside the container at which to expose the host device.

*/ inline void SetContainerPath(Aws::String&& value) { m_containerPathHasBeenSet = true; m_containerPath = std::move(value); } /** *

The path inside the container at which to expose the host device.

*/ inline void SetContainerPath(const char* value) { m_containerPathHasBeenSet = true; m_containerPath.assign(value); } /** *

The path inside the container at which to expose the host device.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails& WithContainerPath(const Aws::String& value) { SetContainerPath(value); return *this;} /** *

The path inside the container at which to expose the host device.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails& WithContainerPath(Aws::String&& value) { SetContainerPath(std::move(value)); return *this;} /** *

The path inside the container at which to expose the host device.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails& WithContainerPath(const char* value) { SetContainerPath(value); return *this;} /** *

The path for the device on the host container instance.

*/ inline const Aws::String& GetHostPath() const{ return m_hostPath; } /** *

The path for the device on the host container instance.

*/ inline bool HostPathHasBeenSet() const { return m_hostPathHasBeenSet; } /** *

The path for the device on the host container instance.

*/ inline void SetHostPath(const Aws::String& value) { m_hostPathHasBeenSet = true; m_hostPath = value; } /** *

The path for the device on the host container instance.

*/ inline void SetHostPath(Aws::String&& value) { m_hostPathHasBeenSet = true; m_hostPath = std::move(value); } /** *

The path for the device on the host container instance.

*/ inline void SetHostPath(const char* value) { m_hostPathHasBeenSet = true; m_hostPath.assign(value); } /** *

The path for the device on the host container instance.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails& WithHostPath(const Aws::String& value) { SetHostPath(value); return *this;} /** *

The path for the device on the host container instance.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails& WithHostPath(Aws::String&& value) { SetHostPath(std::move(value)); return *this;} /** *

The path for the device on the host container instance.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails& WithHostPath(const char* value) { SetHostPath(value); return *this;} /** *

The explicit permissions to provide to the container for the device. By * default, the container has permissions for read, write, and mknod * for the device.

*/ inline const Aws::Vector& GetPermissions() const{ return m_permissions; } /** *

The explicit permissions to provide to the container for the device. By * default, the container has permissions for read, write, and mknod * for the device.

*/ inline bool PermissionsHasBeenSet() const { return m_permissionsHasBeenSet; } /** *

The explicit permissions to provide to the container for the device. By * default, the container has permissions for read, write, and mknod * for the device.

*/ inline void SetPermissions(const Aws::Vector& value) { m_permissionsHasBeenSet = true; m_permissions = value; } /** *

The explicit permissions to provide to the container for the device. By * default, the container has permissions for read, write, and mknod * for the device.

*/ inline void SetPermissions(Aws::Vector&& value) { m_permissionsHasBeenSet = true; m_permissions = std::move(value); } /** *

The explicit permissions to provide to the container for the device. By * default, the container has permissions for read, write, and mknod * for the device.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails& WithPermissions(const Aws::Vector& value) { SetPermissions(value); return *this;} /** *

The explicit permissions to provide to the container for the device. By * default, the container has permissions for read, write, and mknod * for the device.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails& WithPermissions(Aws::Vector&& value) { SetPermissions(std::move(value)); return *this;} /** *

The explicit permissions to provide to the container for the device. By * default, the container has permissions for read, write, and mknod * for the device.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails& AddPermissions(const Aws::String& value) { m_permissionsHasBeenSet = true; m_permissions.push_back(value); return *this; } /** *

The explicit permissions to provide to the container for the device. By * default, the container has permissions for read, write, and mknod * for the device.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails& AddPermissions(Aws::String&& value) { m_permissionsHasBeenSet = true; m_permissions.push_back(std::move(value)); return *this; } /** *

The explicit permissions to provide to the container for the device. By * default, the container has permissions for read, write, and mknod * for the device.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails& AddPermissions(const char* value) { m_permissionsHasBeenSet = true; m_permissions.push_back(value); return *this; } private: Aws::String m_containerPath; bool m_containerPathHasBeenSet = false; Aws::String m_hostPath; bool m_hostPathHasBeenSet = false; Aws::Vector m_permissions; bool m_permissionsHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws