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} from args.name.
  • AWS provider pipe name: derived explicitly from args.name via the naming-style prefix pattern.

Example

CODE
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.