import { ComputeEnvironmentOrderProps } from './jobqueue/ComputeEnvironmentOrderProps';
import { Value } from '../../cloudformation/Value';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type JobQueueAttributes = {
    JobQueueArn: Attribute<string>;
};
export type JobQueue = AwsResource<'AWS::Batch::JobQueue', JobQueueProperties, JobQueueAttributes>;
/**
  The <code>AWS::Batch::JobQueue</code> resource specifies the parameters for an AWS Batch job queue definition. For more information, see <a href="https://docs.aws.amazon.com/batch/latest/userguide/job_queues.html">Job Queues</a> in the <em>AWS Batch User Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.html">the AWS Docs</a>
*/
export declare function jobQueue(jobQueueProps: JobQueueProperties): JobQueue;
/**
  The <code>AWS::Batch::JobQueue</code> resource specifies the parameters for an AWS Batch job queue definition. For more information, see <a href="https://docs.aws.amazon.com/batch/latest/userguide/job_queues.html">Job Queues</a> in the <em>AWS Batch User Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.html">the AWS Docs</a>
*/
export interface JobQueueProperties {
    /** <code>ComputeEnvironmentOrder</code>  <a name="cfn-batch-jobqueue-computeenvironmentorder"></a>
  The set of compute environments mapped to a job queue and their order relative to each other. The job scheduler uses this parameter to determine which compute environment runs a specific job. Compute environments must be in the <code>VALID</code> state before you can associate them with a job queue. You can associate up to three compute environments with a job queue. All of the compute environments must be either EC2 (<code>EC2</code> or <code>SPOT</code>) or Fargate (<code>FARGATE</code> or <code>FARGATE_SPOT</code>); EC2 and Fargate compute environments can’t be mixed.<br />
  All compute environments that are associated with a job queue must share the same architecture. AWS Batch doesn’t support mixing compute environment architecture types in a single job queue.
  
  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> */
    computeEnvironmentOrder: ComputeEnvironmentOrderProps[];
    /** <code>Priority</code>  <a name="cfn-batch-jobqueue-priority"></a>
  The priority of the job queue. Job queues with a higher priority (or a higher integer value for the <code>priority</code> parameter) are evaluated first when associated with the same compute environment. Priority is determined in descending order. For example, a job queue with a priority value of <code>10</code> is given scheduling preference over a job queue with a priority value of <code>1</code>. All of the compute environments must be either EC2 (<code>EC2</code> or <code>SPOT</code>) or Fargate (<code>FARGATE</code> or <code>FARGATE_SPOT</code>); EC2 and Fargate compute environments can’t be mixed.<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> */
    priority: Value<number>;
    /** <code>State</code>  <a name="cfn-batch-jobqueue-state"></a>
  The state of the job queue. If the job queue state is <code>ENABLED</code>, it is able to accept jobs. If the job queue state is <code>DISABLED</code>, new jobs can’t be added to the queue, but jobs already in the queue can finish.<br />
  
  Required: No<br />
  
  Allowed values: <code>DISABLED | ENABLED</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> */
    state?: Value<'DISABLED' | 'ENABLED'>;
    /** <code>SchedulingPolicyArn</code>  <a name="cfn-batch-jobqueue-schedulingpolicyarn"></a>
  The Amazon Resource Name (ARN) of the scheduling policy. The format is <code>aws:Partition:batch:Region:Account:scheduling-policy/Name </code>. For example, <code>aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy</code>.<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> */
    schedulingPolicyArn?: Value<string>;
    /** <code>JobQueueName</code>  <a name="cfn-batch-jobqueue-jobqueuename"></a>
  The name of the job queue. It can be up to 128 letters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_).<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> */
    jobQueueName?: Value<string>;
    /** <code>Tags</code>  <a name="cfn-batch-jobqueue-tags"></a>
  The tags that are applied to the job queue. For more information, see <a href="https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html">Tagging your AWS Batch resources</a> in * AWS Batch 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-replacement">Replacement</a> */
    tags?: Value<{
        [key: string]: Value<string>;
    }>;
}
