import { Value } from '../../cloudformation/Value';
import { ParameterObjectProps } from './pipeline/ParameterObjectProps';
import { ParameterValueProps } from './pipeline/ParameterValueProps';
import { PipelineObjectProps } from './pipeline/PipelineObjectProps';
import { PipelineTagProps } from './pipeline/PipelineTagProps';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
/**
  The AWS::DataPipeline::Pipeline resource specifies a data pipeline that you can use to automate the movement and transformation of data. In each pipeline, you define pipeline objects, such as activities, schedules, data nodes, and resources. For information about pipeline objects and components that you can use, see <a href="https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-pipeline-objects.html">Pipeline Object Reference</a> in the <em>AWS Data Pipeline Developer Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html">the AWS Docs</a>
*/
export type Pipeline = AwsResource<'AWS::DataPipeline::Pipeline', PipelineProperties>;
export declare function pipeline(pipelineProps: PipelineProperties): Pipeline;
/**
  The AWS::DataPipeline::Pipeline resource specifies a data pipeline that you can use to automate the movement and transformation of data. In each pipeline, you define pipeline objects, such as activities, schedules, data nodes, and resources. For information about pipeline objects and components that you can use, see <a href="https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-pipeline-objects.html">Pipeline Object Reference</a> in the <em>AWS Data Pipeline Developer Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html">the AWS Docs</a>
*/
export interface PipelineProperties {
    /** <code>Activate</code>  <a name="cfn-datapipeline-pipeline-activate"></a>
  Indicates whether to validate and start the pipeline or stop an active pipeline. By default, the value is set to <code>true</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> */
    activate?: Value<boolean>;
    /** <code>Description</code>  <a name="cfn-datapipeline-pipeline-description"></a>
  A description of the pipeline.<br />
  
  Required: No<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>1024</code><br />
  
  Pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</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> */
    description?: Value<string>;
    /** <code>Name</code>  <a name="cfn-datapipeline-pipeline-name"></a>
  The name of the pipeline.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>1024</code><br />
  
  Pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\n\t]*</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> */
    name: Value<string>;
    /** <code>ParameterObjects</code>  <a name="cfn-datapipeline-pipeline-parameterobjects"></a>
  The parameter objects used with the pipeline.<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> */
    parameterObjects: ParameterObjectProps[];
    /** <code>ParameterValues</code>  <a name="cfn-datapipeline-pipeline-parametervalues"></a>
  The parameter values used with the pipeline.<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> */
    parameterValues?: ParameterValueProps[];
    /** <code>PipelineObjects</code>  <a name="cfn-datapipeline-pipeline-pipelineobjects"></a>
  The objects that define the pipeline. These objects overwrite the existing pipeline definition. Not all objects, fields, and values can be updated. For information about restrictions, see <a href="https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-manage-pipeline-modify-console.html">Editing Your Pipeline</a> in the
  AWS Data Pipeline Developer 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-no-interrupt">No interruption</a> */
    pipelineObjects?: PipelineObjectProps[];
    /** <code>PipelineTags</code>  <a name="cfn-datapipeline-pipeline-pipelinetags"></a>
  A list of arbitrary tags (key-value pairs) to associate with the pipeline, which you can use to control permissions. For more information, see <a href="https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-control-access.html">Controlling Access to Pipelines and Resources</a> in the
  AWS Data Pipeline Developer 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-no-interrupt">No interruption</a> */
    pipelineTags?: PipelineTagProps[];
}
