import { TransformResourcesProps } from './TransformResourcesProps';
import { Value } from '../../../cloudformation/Value';
import { TransformOutputProps } from './TransformOutputProps';
import { TransformInputProps } from './TransformInputProps';
/**
  Defines the input needed to run a transform job using the inference specification specified in the algorithm.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-modelpackage-transformjobdefinition.html">the AWS Docs</a>
*/
export interface TransformJobDefinitionProps {
    /** <code>TransformResources</code>  <a name="cfn-sagemaker-modelpackage-transformjobdefinition-transformresources"></a>
  Identifies the ML compute instances for the transform job.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    transformResources: TransformResourcesProps;
    /** <code>MaxConcurrentTransforms</code>  <a name="cfn-sagemaker-modelpackage-transformjobdefinition-maxconcurrenttransforms"></a>
  The maximum number of parallel requests that can be sent to each instance in a transform job. The default value is 1.<br />
  
  Required: No<br />
  
  Minimum: <code>0</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    maxConcurrentTransforms?: Value<number>;
    /** <code>MaxPayloadInMB</code>  <a name="cfn-sagemaker-modelpackage-transformjobdefinition-maxpayloadinmb"></a>
  The maximum payload size allowed, in MB. A payload is the data portion of a record (without metadata).<br />
  
  Required: No<br />
  
  Minimum: <code>0</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    maxPayloadInMB?: Value<number>;
    /** <code>TransformOutput</code>  <a name="cfn-sagemaker-modelpackage-transformjobdefinition-transformoutput"></a>
  Identifies the Amazon S3 location where you want Amazon SageMaker to save the results from the transform job.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    transformOutput: TransformOutputProps;
    /** <code>Environment</code>  <a name="cfn-sagemaker-modelpackage-transformjobdefinition-environment"></a>
  The environment variables to set in the Docker container. We support up to 16 key and values entries in the map.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    environment?: Value<{
        [key: string]: Value<string>;
    }>;
    /** <code>TransformInput</code>  <a name="cfn-sagemaker-modelpackage-transformjobdefinition-transforminput"></a>
  A description of the input source and the way the transform job consumes it.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    transformInput: TransformInputProps;
    /** <code>BatchStrategy</code>  <a name="cfn-sagemaker-modelpackage-transformjobdefinition-batchstrategy"></a>
  A string that determines the number of records included in a single mini-batch.<br />
  <code>SingleRecord</code> means only one record is used per mini-batch. <code>MultiRecord</code> means a mini-batch is set to contain as many records that can fit within the <code>MaxPayloadInMB</code> limit.<br />
  
  Required: No<br />
  
  Allowed values: <code>MultiRecord | SingleRecord</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    batchStrategy?: Value<'MultiRecord' | 'SingleRecord'>;
}
