import { Value } from '../../../cloudformation/Value';
import { AuthorizationConfigProps } from './AuthorizationConfigProps';
/**
  This is used when you’re using an Amazon Elastic File System file system for job storage. For more information, see <a href="https://docs.aws.amazon.com/batch/latest/userguide/efs-volumes.html">Amazon EFS Volumes</a> in the * AWS Batch User Guide*.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-efsvolumeconfiguration.html">the AWS Docs</a>
*/
export interface EfsVolumeConfigurationProps {
    /** <code>TransitEncryption</code>  <a name="cfn-batch-jobdefinition-efsvolumeconfiguration-transitencryption"></a>
  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 <code>DISABLED</code> is used. For more information, see <a href="https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html">Encrypting data in transit</a> in the
  Amazon Elastic File System User Guide: br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    transitEncryption?: Value<string>;
    /** <code>AuthorizationConfig</code>  <a name="cfn-batch-jobdefinition-efsvolumeconfiguration-authorizationconfig"></a>
  The authorization configuration details for the Amazon EFS file system.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    authorizationConfig?: AuthorizationConfigProps;
    /** <code>FileSystemId</code>  <a name="cfn-batch-jobdefinition-efsvolumeconfiguration-filesystemid"></a>
  The Amazon EFS file system ID to use.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    fileSystemId: Value<string>;
    /** <code>RootDirectory</code>  <a name="cfn-batch-jobdefinition-efsvolumeconfiguration-rootdirectory"></a>
  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 <code>/</code> has the same effect as omitting this parameter. The maximum length is 4,096 characters.<br />
  If an EFS access point is specified in the <code>authorizationConfig</code>, the root directory parameter must either be omitted or set to <code>/</code>, which enforces the path set on the Amazon EFS access point.
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    rootDirectory?: Value<string>;
    /** <code>TransitEncryptionPort</code>  <a name="cfn-batch-jobdefinition-efsvolumeconfiguration-transitencryptionport"></a>
  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 <a href="https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html">EFS mount helper</a> in the
  Amazon Elastic File System User Guide: br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    transitEncryptionPort?: Value<number>;
}
