import { Value } from '../../cloudformation/Value';
import { TargetProps } from './maintenancewindowtask/TargetProps';
import { TaskInvocationParametersProps } from './maintenancewindowtask/TaskInvocationParametersProps';
import { LoggingInfoProps } from './maintenancewindowtask/LoggingInfoProps';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
/**
  The <code>AWS::SSM::MaintenanceWindowTask</code> resource defines information about a task for an AWS Systems Manager maintenance window. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_RegisterTaskWithMaintenanceWindow.html">RegisterTaskWithMaintenanceWindow</a> in the <em>AWS Systems Manager API Reference</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html">the AWS Docs</a>
*/
export type MaintenanceWindowTask = AwsResource<'AWS::SSM::MaintenanceWindowTask', MaintenanceWindowTaskProperties>;
export declare function maintenanceWindowTask(maintenanceWindowTaskProps: MaintenanceWindowTaskProperties): MaintenanceWindowTask;
/**
  The <code>AWS::SSM::MaintenanceWindowTask</code> resource defines information about a task for an AWS Systems Manager maintenance window. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_RegisterTaskWithMaintenanceWindow.html">RegisterTaskWithMaintenanceWindow</a> in the <em>AWS Systems Manager API Reference</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html">the AWS Docs</a>
*/
export interface MaintenanceWindowTaskProperties {
    /** <code>MaxErrors</code>  <a name="cfn-ssm-maintenancewindowtask-maxerrors"></a>
  The maximum number of errors allowed before this task stops being scheduled.<br />
  Although this element is listed as “Required: No”, a value can be omitted only when you are registering or updating a <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html">targetless task</a> You must provide a value in all other cases.<br />
  For maintenance window tasks without a target specified, you can’t supply a value for this option. Instead, the system inserts a placeholder value of <code>1</code>. This value doesn’t affect the running of your task.
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>7</code><br />
  
  Pattern: <code>^([1-9][0-9]*|[0]|[1-9][0-9]%|[0-9]%|100%)$</code><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> */
    maxErrors?: Value<string>;
    /** <code>Description</code>  <a name="cfn-ssm-maintenancewindowtask-description"></a>
  A description of the task.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>128</code><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> */
    description?: Value<string>;
    /** <code>ServiceRoleArn</code>  <a name="cfn-ssm-maintenancewindowtask-servicerolearn"></a>
  The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for maintenance window Run Command tasks.<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> */
    serviceRoleArn?: Value<string>;
    /** <code>Priority</code>  <a name="cfn-ssm-maintenancewindowtask-priority"></a>
  The priority of the task in the maintenance window. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.<br />
  
  Required: Yes<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-no-interrupt">No interruption</a> */
    priority: Value<number>;
    /** <code>MaxConcurrency</code>  <a name="cfn-ssm-maintenancewindowtask-maxconcurrency"></a>
  The maximum number of targets this task can be run for, in parallel.<br />
  Although this element is listed as “Required: No”, a value can be omitted only when you are registering or updating a <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html">targetless task</a> You must provide a value in all other cases.<br />
  For maintenance window tasks without a target specified, you can’t supply a value for this option. Instead, the system inserts a placeholder value of <code>1</code>. This value doesn’t affect the running of your task.
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>7</code><br />
  
  Pattern: <code>^([1-9][0-9]*|[1-9][0-9]%|[1-9]%|100%)$</code><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> */
    maxConcurrency?: Value<string>;
    /** <p> */
    targets?: TargetProps[];
    /** <code>Name</code>  <a name="cfn-ssm-maintenancewindowtask-name"></a>
  The task name.<br />
  
  Required: No<br />
  
  Minimum: <code>3</code><br />
  
  Maximum: <code>128</code><br />
  
  Pattern: <code>^[a-zA-Z0-9_\-.]{3,128}$</code><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> */
    name?: Value<string>;
    /** <code>TaskArn</code>  <a name="cfn-ssm-maintenancewindowtask-taskarn"></a>
  The resource that the task uses during execution.<br />
  For <code>RUN_COMMAND</code> and <code>AUTOMATION</code> task types, <code>TaskArn</code> is the SSM document name or Amazon Resource Name (ARN).<br />
  For <code>LAMBDA</code> tasks, <code>TaskArn</code> is the function name or ARN.<br />
  For <code>STEP_FUNCTIONS</code> tasks, <code>TaskArn</code> is the state machine ARN.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>1600</code><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> */
    taskArn: Value<string>;
    /** <code>TaskInvocationParameters</code>  <a name="cfn-ssm-maintenancewindowtask-taskinvocationparameters"></a>
  The parameters to pass to the task when it runs. Populate only the fields that match the task type. All other fields should be empty.<br />
  When you update a maintenance window task that has options specified in <code>TaskInvocationParameters</code>, you must provide again all the <code>TaskInvocationParameters</code> values that you want to retain. The values you do not specify again are removed. For example, suppose that when you registered a Run Command task, you specified <code>TaskInvocationParameters</code> values for <code>Comment</code>, <code>NotificationConfig</code>, and <code>OutputS3BucketName</code>. If you update the maintenance window task and specify only a different <code>OutputS3BucketName</code> value, the values for <code>Comment</code> and <code>NotificationConfig</code> are removed.
  
  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> */
    taskInvocationParameters?: TaskInvocationParametersProps;
    /** <code>WindowId</code>  <a name="cfn-ssm-maintenancewindowtask-windowid"></a>
  The ID of the maintenance window where the task is registered.<br />
  
  Required: Yes<br />
  
  Minimum: <code>20</code><br />
  
  Maximum: <code>20</code><br />
  
  Pattern: <code>^mw-[0-9a-f]{17}$</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> */
    windowId: Value<string>;
    /** <code>TaskParameters</code>  <a name="cfn-ssm-maintenancewindowtask-taskparameters"></a>
  The parameters to pass to the task when it runs.<br />
  <code>TaskParameters</code> has been deprecated. To specify parameters to pass to a task when it runs, instead use the <code>Parameters</code> option in the <code>TaskInvocationParameters</code> structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see <a href="https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_MaintenanceWindowTaskInvocationParameters.html">MaintenanceWindowTaskInvocationParameters</a>.
  
  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> */
    taskParameters?: Value<any>;
    /** <code>TaskType</code>  <a name="cfn-ssm-maintenancewindowtask-tasktype"></a>
  The type of task. Valid values: <code>RUN_COMMAND</code>, <code>AUTOMATION</code>, <code>LAMBDA</code>, <code>STEP_FUNCTIONS</code>.<br />
  
  Required: Yes<br />
  
  Allowed values: <code>AUTOMATION | LAMBDA | RUN_COMMAND | STEP_FUNCTIONS</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> */
    taskType: Value<'AUTOMATION' | 'LAMBDA' | 'RUN_COMMAND' | 'STEP_FUNCTIONS'>;
    /** <code>CutoffBehavior</code>  <a name="cfn-ssm-maintenancewindowtask-cutoffbehavior"></a>
  The specification for whether tasks should continue to run after the cutoff time specified in the maintenance windows is reached.<br />
  
  Required: No<br />
  
  Allowed values: <code>CANCEL_TASK | CONTINUE_TASK</code><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> */
    cutoffBehavior?: Value<'CANCEL_TASK' | 'CONTINUE_TASK'>;
    /** <code>LoggingInfo</code>  <a name="cfn-ssm-maintenancewindowtask-logginginfo"></a>
  Information about an Amazon S3 bucket to write Run Command task-level logs to.<br />
  <code>LoggingInfo</code> has been deprecated. To specify an Amazon S3 bucket to contain logs for Run Command tasks, instead use the <code>OutputS3BucketName</code> and <code>OutputS3KeyPrefix</code> options in the <code>TaskInvocationParameters</code> structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html">AWS::SSM::MaintenanceWindowTask MaintenanceWindowRunCommandParameters</a>.
  
  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> */
    loggingInfo?: LoggingInfoProps;
}
