import { IoTJobExecutionsRolloutConfigProps } from './IoTJobExecutionsRolloutConfigProps';
import { IoTJobTimeoutConfigProps } from './IoTJobTimeoutConfigProps';
import { IoTJobAbortConfigProps } from './IoTJobAbortConfigProps';
/**
  Contains information about an AWS IoT job configuration.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-deploymentiotjobconfiguration.html">the AWS Docs</a>
*/
export interface DeploymentIoTJobConfigurationProps {
    /** <code>JobExecutionsRolloutConfig</code>  <a name="cfn-greengrassv2-deployment-deploymentiotjobconfiguration-jobexecutionsrolloutconfig"></a>
  The rollout configuration for the job. This configuration defines the rate at which the job rolls out to the fleet of target devices.<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> */
    jobExecutionsRolloutConfig?: IoTJobExecutionsRolloutConfigProps;
    /** <code>TimeoutConfig</code>  <a name="cfn-greengrassv2-deployment-deploymentiotjobconfiguration-timeoutconfig"></a>
  The timeout configuration for the job. This configuration defines the amount of time each device has to complete the 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-replacement">Replacement</a> */
    timeoutConfig?: IoTJobTimeoutConfigProps;
    /** <code>AbortConfig</code>  <a name="cfn-greengrassv2-deployment-deploymentiotjobconfiguration-abortconfig"></a>
  The stop configuration for the job. This configuration defines when and how to stop a job rollout.<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> */
    abortConfig?: IoTJobAbortConfigProps;
}
