AwsEventbridgePipeArgs
interface AwsEventbridgePipeArgs {
description?: Input<string>;
desiredState?: Input<'RUNNING' | 'STOPPED'>;
enrichment?: Input<string>;
enrichmentParameters?: AwsEventbridgePipeEnrichmentParametersArgs;
iamRole: Input<string>;
kmsKey?: AwsKmsKeyInput;
logConfiguration?: AwsEventbridgePipeLogConfigurationArgs;
name: string;
source: Input<string>;
sourceParameters?: AwsEventbridgePipeSourceParametersArgs;
tags?: Input<Record<string, Input<string>>>;
target: Input<string>;
targetParameters?: AwsEventbridgePipeTargetParametersArgs;
}Input arguments for AwsEventbridgePipe.
Remarks
iamRole, source, and target are required. All other fields are optional. Naming is deterministic:
- Pulumi logical name:
${environmentCode}-${projectHash}-eventbridge-pipe-${sanitisedName}fromargs.name. - AWS provider pipe name: derived explicitly from
args.namevia the naming-style prefix pattern.
Example
const pipe = new AwsEventbridgePipe({
name: 'ordersToDlq',
iamRole: pipeRole.arn,
source: sourceQueue.arn,
target: dlqQueue.arn,
description: 'Routes failed order events to the DLQ',
desiredState: 'RUNNING',
sourceParameters: {
filterCriteria: {
filters: [{ pattern: JSON.stringify({ source: ['myapp.orders'] }) }],
},
sqsQueue: { batchSize: 10 },
},
targetParameters: {
sqsQueue: { messageGroupId: 'failed-orders' },
},
});
export const pipeArn = pipe.arn;Properties
description: Input<string>
Human-readable description of the pipe (maximum 512 characters).
desiredState: Input<'RUNNING' | 'STOPPED'>
Desired operational state. Valid values: RUNNING, STOPPED. Defaults to RUNNING when omitted.
enrichment: Input<string>
ARN of an enrichment resource (API Gateway REST endpoint or EventBridge ApiDestination) invoked between the source and the target.
enrichmentParameters: AwsEventbridgePipeEnrichmentParametersArgs
Parameters for the enrichment step. Requires enrichment to be set; an error is thrown if enrichmentParameters is provided without enrichment.
iamRole: Input<string>
IAM role that allows the pipe to read from the source and write to the target. Accepts a full role ARN, a role name, or a pulumi.Output<string> that resolves to an ARN (for example, myRole.arn).
kmsKey: AwsKmsKeyInput
Canonical AWS KMS customer-managed key reference used to encrypt pipe data. Use keyArn for a known ARN or identifier for a key ID, key ARN, alias, or alias ARN.
logConfiguration: AwsEventbridgePipeLogConfigurationArgs
Logging configuration for pipe execution records.
name: string
Required pipe purpose name used in the AWS naming pattern.
source: Input<string>
ARN (or smk:// address for self-managed Kafka) of the pipe source. Triggers replacement.
sourceParameters: AwsEventbridgePipeSourceParametersArgs
Source-specific configuration including filter criteria and batching options.
tags: Input<Record<string, Input<string>>>
Key-value map of tags to attach to the pipe resource.
target: Input<string>
ARN of the pipe target.
targetParameters: AwsEventbridgePipeTargetParametersArgs
Target-specific configuration and optional input transformation.