import { BatchJobDependencyProps } from './BatchJobDependencyProps';
import { Value } from '../../../cloudformation/Value';
import { BatchArrayPropertiesProps } from './BatchArrayPropertiesProps';
import { BatchRetryStrategyProps } from './BatchRetryStrategyProps';
import { BatchContainerOverridesProps } from './BatchContainerOverridesProps';
/**
  The parameters for using an AWS Batch job as a target.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetbatchjobparameters.html">the AWS Docs</a>
*/
export interface PipeTargetBatchJobParametersProps {
    /** <code>DependsOn</code>  <a name="cfn-pipes-pipe-pipetargetbatchjobparameters-dependson"></a>
  A list of dependencies for the job. A job can depend upon a maximum of 20 jobs. You can specify a <code>SEQUENTIAL</code> type dependency without specifying a job ID for array jobs so that each child array job completes sequentially, starting at index 0. You can also specify an <code>N_TO_N</code> type dependency with a job ID for array jobs. In that case, each index child of this job must wait for the corresponding index child of each dependency to complete before it can begin.<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> */
    dependsOn?: BatchJobDependencyProps[];
    /** <code>Parameters</code>  <a name="cfn-pipes-pipe-pipetargetbatchjobparameters-parameters"></a>
  Additional parameters passed to the job that replace parameter substitution placeholders that are set in the job definition. Parameters are specified as a key and value pair mapping. Parameters included here override any corresponding parameter defaults from the job definition.<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> */
    parameters?: Value<{
        [key: string]: Value<string>;
    }>;
    /** <code>ArrayProperties</code>  <a name="cfn-pipes-pipe-pipetargetbatchjobparameters-arrayproperties"></a>
  The array properties for the submitted job, such as the size of the array. The array size can be between 2 and 10,000. If you specify array properties for a job, it becomes an array job. This parameter is used only if the target is an AWS Batch job.<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> */
    arrayProperties?: BatchArrayPropertiesProps;
    /** <code>JobName</code>  <a name="cfn-pipes-pipe-pipetargetbatchjobparameters-jobname"></a>
  The name of the job. It can be up to 128 letters long. The first character must be alphanumeric, can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_).<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> */
    jobName: Value<string>;
    /** <code>RetryStrategy</code>  <a name="cfn-pipes-pipe-pipetargetbatchjobparameters-retrystrategy"></a>
  The retry strategy to use for failed jobs. When a retry strategy is specified here, it overrides the retry strategy defined in the job definition.<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> */
    retryStrategy?: BatchRetryStrategyProps;
    /** <code>JobDefinition</code>  <a name="cfn-pipes-pipe-pipetargetbatchjobparameters-jobdefinition"></a>
  The job definition used by this job. This value can be one of <code>name</code>, <code>name:revision</code>, or the Amazon Resource Name (ARN) for the job definition. If name is specified without a revision then the latest active revision is used.<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> */
    jobDefinition: Value<string>;
    /** <code>ContainerOverrides</code>  <a name="cfn-pipes-pipe-pipetargetbatchjobparameters-containeroverrides"></a>
  The overrides that are sent to a container.<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> */
    containerOverrides?: BatchContainerOverridesProps;
}
