/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include This is used when you're using an Amazon Elastic File System file system for
* job storage. For more information, see Amazon
* EFS Volumes in the Batch User Guide.See Also:
AWS
* API Reference
The Amazon EFS file system ID to use.
*/ inline const Aws::String& GetFileSystemId() const{ return m_fileSystemId; } /** *The Amazon EFS file system ID to use.
*/ inline bool FileSystemIdHasBeenSet() const { return m_fileSystemIdHasBeenSet; } /** *The Amazon EFS file system ID to use.
*/ inline void SetFileSystemId(const Aws::String& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = value; } /** *The Amazon EFS file system ID to use.
*/ inline void SetFileSystemId(Aws::String&& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = std::move(value); } /** *The Amazon EFS file system ID to use.
*/ inline void SetFileSystemId(const char* value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId.assign(value); } /** *The Amazon EFS file system ID to use.
*/ inline EFSVolumeConfiguration& WithFileSystemId(const Aws::String& value) { SetFileSystemId(value); return *this;} /** *The Amazon EFS file system ID to use.
*/ inline EFSVolumeConfiguration& WithFileSystemId(Aws::String&& value) { SetFileSystemId(std::move(value)); return *this;} /** *The Amazon EFS file system ID to use.
*/ inline EFSVolumeConfiguration& 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. If this parameter is omitted, the root of the Amazon
* EFS volume is used instead. Specifying /
has the same effect as
* omitting this parameter. The maximum length is 4,096 characters.
If an EFS access point is specified in the authorizationConfig
,
* the root directory parameter must either be omitted or set to /
,
* which enforces the path set on the Amazon EFS access point.
The directory within the Amazon EFS file system to mount as the root
* directory inside the host. If this parameter is omitted, the root of the Amazon
* EFS volume is used instead. Specifying /
has the same effect as
* omitting this parameter. The maximum length is 4,096 characters.
If an EFS access point is specified in the authorizationConfig
,
* the root directory parameter must either be omitted or set to /
,
* which enforces the path set on the Amazon EFS access point.
The directory within the Amazon EFS file system to mount as the root
* directory inside the host. If this parameter is omitted, the root of the Amazon
* EFS volume is used instead. Specifying /
has the same effect as
* omitting this parameter. The maximum length is 4,096 characters.
If an EFS access point is specified in the authorizationConfig
,
* the root directory parameter must either be omitted or set to /
,
* which enforces the path set on the Amazon EFS access point.
The directory within the Amazon EFS file system to mount as the root
* directory inside the host. If this parameter is omitted, the root of the Amazon
* EFS volume is used instead. Specifying /
has the same effect as
* omitting this parameter. The maximum length is 4,096 characters.
If an EFS access point is specified in the authorizationConfig
,
* the root directory parameter must either be omitted or set to /
,
* which enforces the path set on the Amazon EFS access point.
The directory within the Amazon EFS file system to mount as the root
* directory inside the host. If this parameter is omitted, the root of the Amazon
* EFS volume is used instead. Specifying /
has the same effect as
* omitting this parameter. The maximum length is 4,096 characters.
If an EFS access point is specified in the authorizationConfig
,
* the root directory parameter must either be omitted or set to /
,
* which enforces the path set on the Amazon EFS access point.
The directory within the Amazon EFS file system to mount as the root
* directory inside the host. If this parameter is omitted, the root of the Amazon
* EFS volume is used instead. Specifying /
has the same effect as
* omitting this parameter. The maximum length is 4,096 characters.
If an EFS access point is specified in the authorizationConfig
,
* the root directory parameter must either be omitted or set to /
,
* which enforces the path set on the Amazon EFS access point.
The directory within the Amazon EFS file system to mount as the root
* directory inside the host. If this parameter is omitted, the root of the Amazon
* EFS volume is used instead. Specifying /
has the same effect as
* omitting this parameter. The maximum length is 4,096 characters.
If an EFS access point is specified in the authorizationConfig
,
* the root directory parameter must either be omitted or set to /
,
* which enforces the path set on the Amazon EFS access point.
The directory within the Amazon EFS file system to mount as the root
* directory inside the host. If this parameter is omitted, the root of the Amazon
* EFS volume is used instead. Specifying /
has the same effect as
* omitting this parameter. The maximum length is 4,096 characters.
If an EFS access point is specified in the authorizationConfig
,
* the root directory parameter must either be omitted or set to /
,
* which enforces the path set on the Amazon EFS access point.
Determines whether to enable encryption for Amazon EFS data in transit
* between the Amazon ECS host and the Amazon EFS server. Transit encryption must
* be enabled if Amazon EFS IAM authorization is used. If this parameter is
* omitted, the default value of DISABLED
is used. For more
* information, see Encrypting
* data in transit in the Amazon Elastic File System User Guide.
Determines whether to enable encryption for Amazon EFS data in transit
* between the Amazon ECS host and the Amazon EFS server. Transit encryption must
* be enabled if Amazon EFS IAM authorization is used. If this parameter is
* omitted, the default value of DISABLED
is used. For more
* information, see Encrypting
* data in transit in the Amazon Elastic File System User Guide.
Determines whether to enable encryption for Amazon EFS data in transit
* between the Amazon ECS host and the Amazon EFS server. Transit encryption must
* be enabled if Amazon EFS IAM authorization is used. If this parameter is
* omitted, the default value of DISABLED
is used. For more
* information, see Encrypting
* data in transit in the Amazon Elastic File System User Guide.
Determines whether to enable encryption for Amazon EFS data in transit
* between the Amazon ECS host and the Amazon EFS server. Transit encryption must
* be enabled if Amazon EFS IAM authorization is used. If this parameter is
* omitted, the default value of DISABLED
is used. For more
* information, see Encrypting
* data in transit in the Amazon Elastic File System User Guide.
Determines whether to enable encryption for Amazon EFS data in transit
* between the Amazon ECS host and the Amazon EFS server. Transit encryption must
* be enabled if Amazon EFS IAM authorization is used. If this parameter is
* omitted, the default value of DISABLED
is used. For more
* information, see Encrypting
* data in transit in the Amazon Elastic File System User Guide.
Determines whether to enable encryption for Amazon EFS data in transit
* between the Amazon ECS host and the Amazon EFS server. Transit encryption must
* be enabled if Amazon EFS IAM authorization is used. If this parameter is
* omitted, the default value of DISABLED
is used. For more
* information, see Encrypting
* data in transit in the Amazon Elastic File System User Guide.
The port to use when sending encrypted data between the Amazon ECS host and * the Amazon EFS server. If you don't specify a transit encryption port, it uses * the port selection strategy that the Amazon EFS mount helper uses. The value * must be between 0 and 65,535. For more information, see EFS mount * helper in the Amazon Elastic File System User Guide.
*/ 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. If you don't specify a transit encryption port, it uses * the port selection strategy that the Amazon EFS mount helper uses. The value * must be between 0 and 65,535. For more information, see EFS mount * helper in the Amazon Elastic File System User Guide.
*/ 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. If you don't specify a transit encryption port, it uses * the port selection strategy that the Amazon EFS mount helper uses. The value * must be between 0 and 65,535. For more information, see EFS mount * helper in the Amazon Elastic File System User Guide.
*/ 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. If you don't specify a transit encryption port, it uses * the port selection strategy that the Amazon EFS mount helper uses. The value * must be between 0 and 65,535. For more information, see EFS mount * helper in the Amazon Elastic File System User Guide.
*/ inline EFSVolumeConfiguration& WithTransitEncryptionPort(int value) { SetTransitEncryptionPort(value); return *this;} /** *The authorization configuration details for the Amazon EFS file system.
*/ inline const EFSAuthorizationConfig& 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 EFSAuthorizationConfig& value) { m_authorizationConfigHasBeenSet = true; m_authorizationConfig = value; } /** *The authorization configuration details for the Amazon EFS file system.
*/ inline void SetAuthorizationConfig(EFSAuthorizationConfig&& value) { m_authorizationConfigHasBeenSet = true; m_authorizationConfig = std::move(value); } /** *The authorization configuration details for the Amazon EFS file system.
*/ inline EFSVolumeConfiguration& WithAuthorizationConfig(const EFSAuthorizationConfig& value) { SetAuthorizationConfig(value); return *this;} /** *The authorization configuration details for the Amazon EFS file system.
*/ inline EFSVolumeConfiguration& WithAuthorizationConfig(EFSAuthorizationConfig&& value) { SetAuthorizationConfig(std::move(value)); return *this;} private: Aws::String m_fileSystemId; bool m_fileSystemIdHasBeenSet = false; Aws::String m_rootDirectory; bool m_rootDirectoryHasBeenSet = false; EFSTransitEncryption m_transitEncryption; bool m_transitEncryptionHasBeenSet = false; int m_transitEncryptionPort; bool m_transitEncryptionPortHasBeenSet = false; EFSAuthorizationConfig m_authorizationConfig; bool m_authorizationConfigHasBeenSet = false; }; } // namespace Model } // namespace Batch } // namespace Aws