/** * 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 { /** *

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

See Also:

AWS * API Reference

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

The authorization configuration details for the Amazon EFS file system.

*/ inline const AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails& GetAuthorizationConfig() const{ return m_authorizationConfig; } /** *

The authorization configuration details for the Amazon EFS file system.

*/ inline bool AuthorizationConfigHasBeenSet() const { return m_authorizationConfigHasBeenSet; } /** *

The authorization configuration details for the Amazon EFS file system.

*/ inline void SetAuthorizationConfig(const AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails& value) { m_authorizationConfigHasBeenSet = true; m_authorizationConfig = value; } /** *

The authorization configuration details for the Amazon EFS file system.

*/ inline void SetAuthorizationConfig(AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails&& value) { m_authorizationConfigHasBeenSet = true; m_authorizationConfig = std::move(value); } /** *

The authorization configuration details for the Amazon EFS file system.

*/ inline AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& WithAuthorizationConfig(const AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails& value) { SetAuthorizationConfig(value); return *this;} /** *

The authorization configuration details for the Amazon EFS file system.

*/ inline AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& WithAuthorizationConfig(AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails&& value) { SetAuthorizationConfig(std::move(value)); return *this;} /** *

The Amazon EFS file system identifier to use.

*/ inline const Aws::String& GetFilesystemId() const{ return m_filesystemId; } /** *

The Amazon EFS file system identifier to use.

*/ inline bool FilesystemIdHasBeenSet() const { return m_filesystemIdHasBeenSet; } /** *

The Amazon EFS file system identifier to use.

*/ inline void SetFilesystemId(const Aws::String& value) { m_filesystemIdHasBeenSet = true; m_filesystemId = value; } /** *

The Amazon EFS file system identifier to use.

*/ inline void SetFilesystemId(Aws::String&& value) { m_filesystemIdHasBeenSet = true; m_filesystemId = std::move(value); } /** *

The Amazon EFS file system identifier to use.

*/ inline void SetFilesystemId(const char* value) { m_filesystemIdHasBeenSet = true; m_filesystemId.assign(value); } /** *

The Amazon EFS file system identifier to use.

*/ inline AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& WithFilesystemId(const Aws::String& value) { SetFilesystemId(value); return *this;} /** *

The Amazon EFS file system identifier to use.

*/ inline AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& WithFilesystemId(Aws::String&& value) { SetFilesystemId(std::move(value)); return *this;} /** *

The Amazon EFS file system identifier to use.

*/ inline AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& WithFilesystemId(const char* value) { SetFilesystemId(value); return *this;} /** *

The directory within the Amazon EFS file system to mount as the root * directory inside the host.

*/ inline const Aws::String& GetRootDirectory() const{ return m_rootDirectory; } /** *

The directory within the Amazon EFS file system to mount as the root * directory inside the host.

*/ inline bool RootDirectoryHasBeenSet() const { return m_rootDirectoryHasBeenSet; } /** *

The directory within the Amazon EFS file system to mount as the root * directory inside the host.

*/ inline void SetRootDirectory(const Aws::String& value) { m_rootDirectoryHasBeenSet = true; m_rootDirectory = value; } /** *

The directory within the Amazon EFS file system to mount as the root * directory inside the host.

*/ inline void SetRootDirectory(Aws::String&& value) { m_rootDirectoryHasBeenSet = true; m_rootDirectory = std::move(value); } /** *

The directory within the Amazon EFS file system to mount as the root * directory inside the host.

*/ inline void SetRootDirectory(const char* value) { m_rootDirectoryHasBeenSet = true; m_rootDirectory.assign(value); } /** *

The directory within the Amazon EFS file system to mount as the root * directory inside the host.

*/ inline AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& WithRootDirectory(const Aws::String& value) { SetRootDirectory(value); return *this;} /** *

The directory within the Amazon EFS file system to mount as the root * directory inside the host.

*/ inline AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& WithRootDirectory(Aws::String&& value) { SetRootDirectory(std::move(value)); return *this;} /** *

The directory within the Amazon EFS file system to mount as the root * directory inside the host.

*/ inline AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& WithRootDirectory(const char* value) { SetRootDirectory(value); return *this;} /** *

Whether to enable encryption for Amazon EFS data in transit between the * Amazon ECS host and the Amazon EFS server.

*/ inline const Aws::String& GetTransitEncryption() const{ return m_transitEncryption; } /** *

Whether to enable encryption for Amazon EFS data in transit between the * Amazon ECS host and the Amazon EFS server.

*/ inline bool TransitEncryptionHasBeenSet() const { return m_transitEncryptionHasBeenSet; } /** *

Whether to enable encryption for Amazon EFS data in transit between the * Amazon ECS host and the Amazon EFS server.

*/ inline void SetTransitEncryption(const Aws::String& value) { m_transitEncryptionHasBeenSet = true; m_transitEncryption = value; } /** *

Whether to enable encryption for Amazon EFS data in transit between the * Amazon ECS host and the Amazon EFS server.

*/ inline void SetTransitEncryption(Aws::String&& value) { m_transitEncryptionHasBeenSet = true; m_transitEncryption = std::move(value); } /** *

Whether to enable encryption for Amazon EFS data in transit between the * Amazon ECS host and the Amazon EFS server.

*/ inline void SetTransitEncryption(const char* value) { m_transitEncryptionHasBeenSet = true; m_transitEncryption.assign(value); } /** *

Whether to enable encryption for Amazon EFS data in transit between the * Amazon ECS host and the Amazon EFS server.

*/ inline AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& WithTransitEncryption(const Aws::String& value) { SetTransitEncryption(value); return *this;} /** *

Whether to enable encryption for Amazon EFS data in transit between the * Amazon ECS host and the Amazon EFS server.

*/ inline AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& WithTransitEncryption(Aws::String&& value) { SetTransitEncryption(std::move(value)); return *this;} /** *

Whether to enable encryption for Amazon EFS data in transit between the * Amazon ECS host and the Amazon EFS server.

*/ inline AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& WithTransitEncryption(const char* value) { SetTransitEncryption(value); return *this;} /** *

The port to use when sending encrypted data between the Amazon ECS host and * the Amazon EFS server.

*/ inline int GetTransitEncryptionPort() const{ return m_transitEncryptionPort; } /** *

The port to use when sending encrypted data between the Amazon ECS host and * the Amazon EFS server.

*/ inline bool TransitEncryptionPortHasBeenSet() const { return m_transitEncryptionPortHasBeenSet; } /** *

The port to use when sending encrypted data between the Amazon ECS host and * the Amazon EFS server.

*/ inline void SetTransitEncryptionPort(int value) { m_transitEncryptionPortHasBeenSet = true; m_transitEncryptionPort = value; } /** *

The port to use when sending encrypted data between the Amazon ECS host and * the Amazon EFS server.

*/ inline AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails& WithTransitEncryptionPort(int value) { SetTransitEncryptionPort(value); return *this;} private: AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails m_authorizationConfig; bool m_authorizationConfigHasBeenSet = false; Aws::String m_filesystemId; bool m_filesystemIdHasBeenSet = false; Aws::String m_rootDirectory; bool m_rootDirectoryHasBeenSet = false; Aws::String m_transitEncryption; bool m_transitEncryptionHasBeenSet = false; int m_transitEncryptionPort; bool m_transitEncryptionPortHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws