> **Experimental**
>
> `@aws-cdk/aws-pipes-alpha` is an [**experimental**](/stability) (alpha) package: its API may change in any release, without a major version bump.
# PipeProps

Properties for a pipe.

Extends: PipeProps
Used as props by: Pipe

- Stability: [Experimental](/cdk/api/stability.html)
- Source: [`lib/pipe.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0-alpha.0/packages/@aws-cdk/aws-pipes-alpha/lib/pipe.ts#L67)

## Example

```ts
declare const sourceQueue: sqs.Queue;
declare const dest: events.ApiDestination;

const apiTarget = new targets.ApiDestinationTarget(dest, {
  inputTransformation: pipes.InputTransformation.fromObject({ body: "👀" }),
});

const pipe = new pipes.Pipe(this, 'Pipe', {
    source: new SqsSource(sourceQueue),
    target: apiTarget,
});
```

## Properties

- `description`: string — A description of the pipe displayed in the AWS console.

  **Default:** no description

- `desiredState`: [DesiredState](/cdk/api/v2/docs/@aws-cdk_aws-pipes-alpha.DesiredState.html) = DesiredState.RUNNING — The desired state of the pipe.

  If the state is set to STOPPED, the pipe will not process events.

- `enrichment`: [IEnrichment](/cdk/api/v2/docs/@aws-cdk_aws-pipes-alpha.IEnrichment.html) — Enrichment step to enhance the data from the source before sending it to the target.

  **Default:** no enrichment

- `filter`: [IFilter](/cdk/api/v2/docs/@aws-cdk_aws-pipes-alpha.IFilter.html) — The filter pattern for the pipe source.

  **Default:** no filter

- `kmsKey`: [IKey](/cdk/api/v2/docs/aws-cdk-lib.aws_kms.IKey.html) — The AWS KMS customer managed key to encrypt pipe data.

  **Default:** undefined - AWS managed key is used

- `logDestinations`: [ILogDestination](/cdk/api/v2/docs/@aws-cdk_aws-pipes-alpha.ILogDestination.html)[] — Destinations for the logs.

  **Default:** no logs

- `logIncludeExecutionData`: [IncludeExecutionData](/cdk/api/v2/docs/@aws-cdk_aws-pipes-alpha.IncludeExecutionData.html)[] = none — Whether the execution data (specifically, the `payload` , `awsRequest` , and `awsResponse` fields) is included in the log messages for this pipe.

  This applies to all log destinations for the pipe.

  For more information, see [Including execution data in logs](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes-logs.html#eb-pipes-logs-execution-data) and the [message schema](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes-logs-schema.html) in the *Amazon EventBridge User Guide* .

- `logLevel`: [LogLevel](/cdk/api/v2/docs/@aws-cdk_aws-pipes-alpha.LogLevel.html) = LogLevel.ERROR — The level of logging detail to include.

  This applies to all log destinations for the pipe.

- `pipeName`: string — Name of the pipe in the AWS console.

  **Default:** automatically generated name

- `role`: [IRole](/cdk/api/v2/docs/aws-cdk-lib.aws_iam.IRole.html) — The role used by the pipe which has permissions to read from the source and write to the target.

  **Default:** a new role will be created.

  If an enriched target is used, the role also have permissions to call the enriched target.
  If no role is provided, a role will be created.

- `source`: [ISource](/cdk/api/v2/docs/@aws-cdk_aws-pipes-alpha.ISource.html) (required) — The source of the pipe.

- `tags`: { [key: string]: string } — The list of key-value pairs to associate with the pipe.

  **Default:** no tags

- `target`: [ITarget](/cdk/api/v2/docs/@aws-cdk_aws-pipes-alpha.ITarget.html) (required) — The target of the pipe.
