1. Packages
  2. Packages
  3. AWS
  4. API Docs
  5. pipes
  6. Pipe
Viewing docs for AWS v5.43.0 (Older version)
published on Tuesday, Mar 10, 2026 by Pulumi
aws logo
Viewing docs for AWS v5.43.0 (Older version)
published on Tuesday, Mar 10, 2026 by Pulumi

    Resource for managing an AWS EventBridge Pipes Pipe.

    You can find out more about EventBridge Pipes in the User Guide.

    Note: EventBridge was formerly known as CloudWatch Events. The functionality is identical.

    Example Usage

    Basic Usage

    using System.Collections.Generic;
    using System.Linq;
    using System.Text.Json;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var main = Aws.GetCallerIdentity.Invoke();
    
        var test = new Aws.Iam.Role("test", new()
        {
            AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary<string, object?>
            {
                ["Version"] = "2012-10-17",
                ["Statement"] = new Dictionary<string, object?>
                {
                    ["Effect"] = "Allow",
                    ["Action"] = "sts:AssumeRole",
                    ["Principal"] = new Dictionary<string, object?>
                    {
                        ["Service"] = "pipes.amazonaws.com",
                    },
                    ["Condition"] = new Dictionary<string, object?>
                    {
                        ["StringEquals"] = new Dictionary<string, object?>
                        {
                            ["aws:SourceAccount"] = main.Apply(getCallerIdentityResult => getCallerIdentityResult.AccountId),
                        },
                    },
                },
            }),
        });
    
        var sourceQueue = new Aws.Sqs.Queue("sourceQueue");
    
        var sourceRolePolicy = new Aws.Iam.RolePolicy("sourceRolePolicy", new()
        {
            Role = test.Id,
            Policy = sourceQueue.Arn.Apply(arn => JsonSerializer.Serialize(new Dictionary<string, object?>
            {
                ["Version"] = "2012-10-17",
                ["Statement"] = new[]
                {
                    new Dictionary<string, object?>
                    {
                        ["Effect"] = "Allow",
                        ["Action"] = new[]
                        {
                            "sqs:DeleteMessage",
                            "sqs:GetQueueAttributes",
                            "sqs:ReceiveMessage",
                        },
                        ["Resource"] = new[]
                        {
                            arn,
                        },
                    },
                },
            })),
        });
    
        var targetQueue = new Aws.Sqs.Queue("targetQueue");
    
        var targetRolePolicy = new Aws.Iam.RolePolicy("targetRolePolicy", new()
        {
            Role = test.Id,
            Policy = targetQueue.Arn.Apply(arn => JsonSerializer.Serialize(new Dictionary<string, object?>
            {
                ["Version"] = "2012-10-17",
                ["Statement"] = new[]
                {
                    new Dictionary<string, object?>
                    {
                        ["Effect"] = "Allow",
                        ["Action"] = new[]
                        {
                            "sqs:SendMessage",
                        },
                        ["Resource"] = new[]
                        {
                            arn,
                        },
                    },
                },
            })),
        });
    
        var example = new Aws.Pipes.Pipe("example", new()
        {
            RoleArn = aws_iam_role.Example.Arn,
            Source = sourceQueue.Arn,
            Target = targetQueue.Arn,
            SourceParameters = null,
            TargetParameters = null,
        }, new CustomResourceOptions
        {
            DependsOn = new[]
            {
                sourceRolePolicy,
                targetRolePolicy,
            },
        });
    
    });
    
    package main
    
    import (
    	"encoding/json"
    
    	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws"
    	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam"
    	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/pipes"
    	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/sqs"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := aws.GetCallerIdentity(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		tmpJSON0, err := json.Marshal(map[string]interface{}{
    			"Version": "2012-10-17",
    			"Statement": map[string]interface{}{
    				"Effect": "Allow",
    				"Action": "sts:AssumeRole",
    				"Principal": map[string]interface{}{
    					"Service": "pipes.amazonaws.com",
    				},
    				"Condition": map[string]interface{}{
    					"StringEquals": map[string]interface{}{
    						"aws:SourceAccount": main.AccountId,
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		json0 := string(tmpJSON0)
    		test, err := iam.NewRole(ctx, "test", &iam.RoleArgs{
    			AssumeRolePolicy: pulumi.String(json0),
    		})
    		if err != nil {
    			return err
    		}
    		sourceQueue, err := sqs.NewQueue(ctx, "sourceQueue", nil)
    		if err != nil {
    			return err
    		}
    		sourceRolePolicy, err := iam.NewRolePolicy(ctx, "sourceRolePolicy", &iam.RolePolicyArgs{
    			Role: test.ID(),
    			Policy: sourceQueue.Arn.ApplyT(func(arn string) (pulumi.String, error) {
    				var _zero pulumi.String
    				tmpJSON1, err := json.Marshal(map[string]interface{}{
    					"Version": "2012-10-17",
    					"Statement": []map[string]interface{}{
    						map[string]interface{}{
    							"Effect": "Allow",
    							"Action": []string{
    								"sqs:DeleteMessage",
    								"sqs:GetQueueAttributes",
    								"sqs:ReceiveMessage",
    							},
    							"Resource": []string{
    								arn,
    							},
    						},
    					},
    				})
    				if err != nil {
    					return _zero, err
    				}
    				json1 := string(tmpJSON1)
    				return pulumi.String(json1), nil
    			}).(pulumi.StringOutput),
    		})
    		if err != nil {
    			return err
    		}
    		targetQueue, err := sqs.NewQueue(ctx, "targetQueue", nil)
    		if err != nil {
    			return err
    		}
    		targetRolePolicy, err := iam.NewRolePolicy(ctx, "targetRolePolicy", &iam.RolePolicyArgs{
    			Role: test.ID(),
    			Policy: targetQueue.Arn.ApplyT(func(arn string) (pulumi.String, error) {
    				var _zero pulumi.String
    				tmpJSON2, err := json.Marshal(map[string]interface{}{
    					"Version": "2012-10-17",
    					"Statement": []map[string]interface{}{
    						map[string]interface{}{
    							"Effect": "Allow",
    							"Action": []string{
    								"sqs:SendMessage",
    							},
    							"Resource": []string{
    								arn,
    							},
    						},
    					},
    				})
    				if err != nil {
    					return _zero, err
    				}
    				json2 := string(tmpJSON2)
    				return pulumi.String(json2), nil
    			}).(pulumi.StringOutput),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = pipes.NewPipe(ctx, "example", &pipes.PipeArgs{
    			RoleArn:          pulumi.Any(aws_iam_role.Example.Arn),
    			Source:           sourceQueue.Arn,
    			Target:           targetQueue.Arn,
    			SourceParameters: nil,
    			TargetParameters: nil,
    		}, pulumi.DependsOn([]pulumi.Resource{
    			sourceRolePolicy,
    			targetRolePolicy,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.AwsFunctions;
    import com.pulumi.aws.iam.Role;
    import com.pulumi.aws.iam.RoleArgs;
    import com.pulumi.aws.sqs.Queue;
    import com.pulumi.aws.iam.RolePolicy;
    import com.pulumi.aws.iam.RolePolicyArgs;
    import com.pulumi.aws.pipes.Pipe;
    import com.pulumi.aws.pipes.PipeArgs;
    import com.pulumi.aws.pipes.inputs.PipeSourceParametersArgs;
    import com.pulumi.aws.pipes.inputs.PipeTargetParametersArgs;
    import static com.pulumi.codegen.internal.Serialization.*;
    import com.pulumi.resources.CustomResourceOptions;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var main = AwsFunctions.getCallerIdentity();
    
            var test = new Role("test", RoleArgs.builder()        
                .assumeRolePolicy(serializeJson(
                    jsonObject(
                        jsonProperty("Version", "2012-10-17"),
                        jsonProperty("Statement", jsonObject(
                            jsonProperty("Effect", "Allow"),
                            jsonProperty("Action", "sts:AssumeRole"),
                            jsonProperty("Principal", jsonObject(
                                jsonProperty("Service", "pipes.amazonaws.com")
                            )),
                            jsonProperty("Condition", jsonObject(
                                jsonProperty("StringEquals", jsonObject(
                                    jsonProperty("aws:SourceAccount", main.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId()))
                                ))
                            ))
                        ))
                    )))
                .build());
    
            var sourceQueue = new Queue("sourceQueue");
    
            var sourceRolePolicy = new RolePolicy("sourceRolePolicy", RolePolicyArgs.builder()        
                .role(test.id())
                .policy(sourceQueue.arn().applyValue(arn -> serializeJson(
                    jsonObject(
                        jsonProperty("Version", "2012-10-17"),
                        jsonProperty("Statement", jsonArray(jsonObject(
                            jsonProperty("Effect", "Allow"),
                            jsonProperty("Action", jsonArray(
                                "sqs:DeleteMessage", 
                                "sqs:GetQueueAttributes", 
                                "sqs:ReceiveMessage"
                            )),
                            jsonProperty("Resource", jsonArray(arn))
                        )))
                    ))))
                .build());
    
            var targetQueue = new Queue("targetQueue");
    
            var targetRolePolicy = new RolePolicy("targetRolePolicy", RolePolicyArgs.builder()        
                .role(test.id())
                .policy(targetQueue.arn().applyValue(arn -> serializeJson(
                    jsonObject(
                        jsonProperty("Version", "2012-10-17"),
                        jsonProperty("Statement", jsonArray(jsonObject(
                            jsonProperty("Effect", "Allow"),
                            jsonProperty("Action", jsonArray("sqs:SendMessage")),
                            jsonProperty("Resource", jsonArray(arn))
                        )))
                    ))))
                .build());
    
            var example = new Pipe("example", PipeArgs.builder()        
                .roleArn(aws_iam_role.example().arn())
                .source(sourceQueue.arn())
                .target(targetQueue.arn())
                .sourceParameters()
                .targetParameters()
                .build(), CustomResourceOptions.builder()
                    .dependsOn(                
                        sourceRolePolicy,
                        targetRolePolicy)
                    .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const main = aws.getCallerIdentity({});
    const test = new aws.iam.Role("test", {assumeRolePolicy: main.then(main => JSON.stringify({
        Version: "2012-10-17",
        Statement: {
            Effect: "Allow",
            Action: "sts:AssumeRole",
            Principal: {
                Service: "pipes.amazonaws.com",
            },
            Condition: {
                StringEquals: {
                    "aws:SourceAccount": main.accountId,
                },
            },
        },
    }))});
    const sourceQueue = new aws.sqs.Queue("sourceQueue", {});
    const sourceRolePolicy = new aws.iam.RolePolicy("sourceRolePolicy", {
        role: test.id,
        policy: sourceQueue.arn.apply(arn => JSON.stringify({
            Version: "2012-10-17",
            Statement: [{
                Effect: "Allow",
                Action: [
                    "sqs:DeleteMessage",
                    "sqs:GetQueueAttributes",
                    "sqs:ReceiveMessage",
                ],
                Resource: [arn],
            }],
        })),
    });
    const targetQueue = new aws.sqs.Queue("targetQueue", {});
    const targetRolePolicy = new aws.iam.RolePolicy("targetRolePolicy", {
        role: test.id,
        policy: targetQueue.arn.apply(arn => JSON.stringify({
            Version: "2012-10-17",
            Statement: [{
                Effect: "Allow",
                Action: ["sqs:SendMessage"],
                Resource: [arn],
            }],
        })),
    });
    const example = new aws.pipes.Pipe("example", {
        roleArn: aws_iam_role.example.arn,
        source: sourceQueue.arn,
        target: targetQueue.arn,
        sourceParameters: {},
        targetParameters: {},
    }, {
        dependsOn: [
            sourceRolePolicy,
            targetRolePolicy,
        ],
    });
    
    import pulumi
    import json
    import pulumi_aws as aws
    
    main = aws.get_caller_identity()
    test = aws.iam.Role("test", assume_role_policy=json.dumps({
        "Version": "2012-10-17",
        "Statement": {
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Principal": {
                "Service": "pipes.amazonaws.com",
            },
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": main.account_id,
                },
            },
        },
    }))
    source_queue = aws.sqs.Queue("sourceQueue")
    source_role_policy = aws.iam.RolePolicy("sourceRolePolicy",
        role=test.id,
        policy=source_queue.arn.apply(lambda arn: json.dumps({
            "Version": "2012-10-17",
            "Statement": [{
                "Effect": "Allow",
                "Action": [
                    "sqs:DeleteMessage",
                    "sqs:GetQueueAttributes",
                    "sqs:ReceiveMessage",
                ],
                "Resource": [arn],
            }],
        })))
    target_queue = aws.sqs.Queue("targetQueue")
    target_role_policy = aws.iam.RolePolicy("targetRolePolicy",
        role=test.id,
        policy=target_queue.arn.apply(lambda arn: json.dumps({
            "Version": "2012-10-17",
            "Statement": [{
                "Effect": "Allow",
                "Action": ["sqs:SendMessage"],
                "Resource": [arn],
            }],
        })))
    example = aws.pipes.Pipe("example",
        role_arn=aws_iam_role["example"]["arn"],
        source=source_queue.arn,
        target=target_queue.arn,
        source_parameters=aws.pipes.PipeSourceParametersArgs(),
        target_parameters=aws.pipes.PipeTargetParametersArgs(),
        opts=pulumi.ResourceOptions(depends_on=[
                source_role_policy,
                target_role_policy,
            ]))
    
    resources:
      test:
        type: aws:iam:Role
        properties:
          assumeRolePolicy:
            fn::toJSON:
              Version: 2012-10-17
              Statement:
                Effect: Allow
                Action: sts:AssumeRole
                Principal:
                  Service: pipes.amazonaws.com
                Condition:
                  StringEquals:
                    aws:SourceAccount: ${main.accountId}
      sourceRolePolicy:
        type: aws:iam:RolePolicy
        properties:
          role: ${test.id}
          policy:
            fn::toJSON:
              Version: 2012-10-17
              Statement:
                - Effect: Allow
                  Action:
                    - sqs:DeleteMessage
                    - sqs:GetQueueAttributes
                    - sqs:ReceiveMessage
                  Resource:
                    - ${sourceQueue.arn}
      sourceQueue:
        type: aws:sqs:Queue
      targetRolePolicy:
        type: aws:iam:RolePolicy
        properties:
          role: ${test.id}
          policy:
            fn::toJSON:
              Version: 2012-10-17
              Statement:
                - Effect: Allow
                  Action:
                    - sqs:SendMessage
                  Resource:
                    - ${targetQueue.arn}
      targetQueue:
        type: aws:sqs:Queue
      example:
        type: aws:pipes:Pipe
        properties:
          roleArn: ${aws_iam_role.example.arn}
          source: ${sourceQueue.arn}
          target: ${targetQueue.arn}
          sourceParameters: {}
          targetParameters: {}
        options:
          dependson:
            - ${sourceRolePolicy}
            - ${targetRolePolicy}
    variables:
      main:
        fn::invoke:
          Function: aws:getCallerIdentity
          Arguments: {}
    

    Create Pipe Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Pipe(name: string, args: PipeArgs, opts?: CustomResourceOptions);
    @overload
    def Pipe(resource_name: str,
             args: PipeArgs,
             opts: Optional[ResourceOptions] = None)
    
    @overload
    def Pipe(resource_name: str,
             opts: Optional[ResourceOptions] = None,
             role_arn: Optional[str] = None,
             source: Optional[str] = None,
             source_parameters: Optional[PipeSourceParametersArgs] = None,
             target: Optional[str] = None,
             target_parameters: Optional[PipeTargetParametersArgs] = None,
             description: Optional[str] = None,
             desired_state: Optional[str] = None,
             enrichment: Optional[str] = None,
             name: Optional[str] = None,
             name_prefix: Optional[str] = None,
             tags: Optional[Mapping[str, str]] = None)
    func NewPipe(ctx *Context, name string, args PipeArgs, opts ...ResourceOption) (*Pipe, error)
    public Pipe(string name, PipeArgs args, CustomResourceOptions? opts = null)
    public Pipe(String name, PipeArgs args)
    public Pipe(String name, PipeArgs args, CustomResourceOptions options)
    
    type: aws:pipes:Pipe
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args PipeArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args PipeArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args PipeArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args PipeArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args PipeArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var pipeResource = new Aws.Pipes.Pipe("pipeResource", new()
    {
        RoleArn = "string",
        Source = "string",
        SourceParameters = new Aws.Pipes.Inputs.PipeSourceParametersArgs
        {
            FilterCriteria = new Aws.Pipes.Inputs.PipeSourceParametersFilterCriteriaArgs
            {
                Filters = new[]
                {
                    new Aws.Pipes.Inputs.PipeSourceParametersFilterCriteriaFilterArgs
                    {
                        Pattern = "string",
                    },
                },
            },
        },
        Target = "string",
        TargetParameters = new Aws.Pipes.Inputs.PipeTargetParametersArgs
        {
            InputTemplate = "string",
        },
        Description = "string",
        DesiredState = "string",
        Enrichment = "string",
        Name = "string",
        NamePrefix = "string",
        Tags = 
        {
            { "string", "string" },
        },
    });
    
    example, err := pipes.NewPipe(ctx, "pipeResource", &pipes.PipeArgs{
    	RoleArn: pulumi.String("string"),
    	Source:  pulumi.String("string"),
    	SourceParameters: &pipes.PipeSourceParametersArgs{
    		FilterCriteria: &pipes.PipeSourceParametersFilterCriteriaArgs{
    			Filters: pipes.PipeSourceParametersFilterCriteriaFilterArray{
    				&pipes.PipeSourceParametersFilterCriteriaFilterArgs{
    					Pattern: pulumi.String("string"),
    				},
    			},
    		},
    	},
    	Target: pulumi.String("string"),
    	TargetParameters: &pipes.PipeTargetParametersArgs{
    		InputTemplate: pulumi.String("string"),
    	},
    	Description:  pulumi.String("string"),
    	DesiredState: pulumi.String("string"),
    	Enrichment:   pulumi.String("string"),
    	Name:         pulumi.String("string"),
    	NamePrefix:   pulumi.String("string"),
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    })
    
    var pipeResource = new Pipe("pipeResource", PipeArgs.builder()
        .roleArn("string")
        .source("string")
        .sourceParameters(PipeSourceParametersArgs.builder()
            .filterCriteria(PipeSourceParametersFilterCriteriaArgs.builder()
                .filters(PipeSourceParametersFilterCriteriaFilterArgs.builder()
                    .pattern("string")
                    .build())
                .build())
            .build())
        .target("string")
        .targetParameters(PipeTargetParametersArgs.builder()
            .inputTemplate("string")
            .build())
        .description("string")
        .desiredState("string")
        .enrichment("string")
        .name("string")
        .namePrefix("string")
        .tags(Map.of("string", "string"))
        .build());
    
    pipe_resource = aws.pipes.Pipe("pipeResource",
        role_arn="string",
        source="string",
        source_parameters={
            "filter_criteria": {
                "filters": [{
                    "pattern": "string",
                }],
            },
        },
        target="string",
        target_parameters={
            "input_template": "string",
        },
        description="string",
        desired_state="string",
        enrichment="string",
        name="string",
        name_prefix="string",
        tags={
            "string": "string",
        })
    
    const pipeResource = new aws.pipes.Pipe("pipeResource", {
        roleArn: "string",
        source: "string",
        sourceParameters: {
            filterCriteria: {
                filters: [{
                    pattern: "string",
                }],
            },
        },
        target: "string",
        targetParameters: {
            inputTemplate: "string",
        },
        description: "string",
        desiredState: "string",
        enrichment: "string",
        name: "string",
        namePrefix: "string",
        tags: {
            string: "string",
        },
    });
    
    type: aws:pipes:Pipe
    properties:
        description: string
        desiredState: string
        enrichment: string
        name: string
        namePrefix: string
        roleArn: string
        source: string
        sourceParameters:
            filterCriteria:
                filters:
                    - pattern: string
        tags:
            string: string
        target: string
        targetParameters:
            inputTemplate: string
    

    Pipe Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The Pipe resource accepts the following input properties:

    RoleArn string
    ARN of the role that allows the pipe to send data to the target.
    Source string
    Source resource of the pipe (typically an ARN).
    SourceParameters PipeSourceParameters
    Parameters required to set up a source for the pipe. Detailed below.
    Target string
    Target resource of the pipe (typically an ARN).
    TargetParameters PipeTargetParameters

    Parameters required to set up a target for your pipe. Detailed below.

    The following arguments are optional:

    Description string
    A description of the pipe. At most 512 characters.
    DesiredState string
    The state the pipe should be in. One of: RUNNING, STOPPED.
    Enrichment string
    Enrichment resource of the pipe (typically an ARN). Read more about enrichment in the User Guide.
    Name string
    Name of the pipe. If omitted, the provider will assign a random, unique name. Conflicts with name_prefix.
    NamePrefix string
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    Tags Dictionary<string, string>
    Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    RoleArn string
    ARN of the role that allows the pipe to send data to the target.
    Source string
    Source resource of the pipe (typically an ARN).
    SourceParameters PipeSourceParametersArgs
    Parameters required to set up a source for the pipe. Detailed below.
    Target string
    Target resource of the pipe (typically an ARN).
    TargetParameters PipeTargetParametersArgs

    Parameters required to set up a target for your pipe. Detailed below.

    The following arguments are optional:

    Description string
    A description of the pipe. At most 512 characters.
    DesiredState string
    The state the pipe should be in. One of: RUNNING, STOPPED.
    Enrichment string
    Enrichment resource of the pipe (typically an ARN). Read more about enrichment in the User Guide.
    Name string
    Name of the pipe. If omitted, the provider will assign a random, unique name. Conflicts with name_prefix.
    NamePrefix string
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    Tags map[string]string
    Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    roleArn String
    ARN of the role that allows the pipe to send data to the target.
    source String
    Source resource of the pipe (typically an ARN).
    sourceParameters PipeSourceParameters
    Parameters required to set up a source for the pipe. Detailed below.
    target String
    Target resource of the pipe (typically an ARN).
    targetParameters PipeTargetParameters

    Parameters required to set up a target for your pipe. Detailed below.

    The following arguments are optional:

    description String
    A description of the pipe. At most 512 characters.
    desiredState String
    The state the pipe should be in. One of: RUNNING, STOPPED.
    enrichment String
    Enrichment resource of the pipe (typically an ARN). Read more about enrichment in the User Guide.
    name String
    Name of the pipe. If omitted, the provider will assign a random, unique name. Conflicts with name_prefix.
    namePrefix String
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    tags Map<String,String>
    Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    roleArn string
    ARN of the role that allows the pipe to send data to the target.
    source string
    Source resource of the pipe (typically an ARN).
    sourceParameters PipeSourceParameters
    Parameters required to set up a source for the pipe. Detailed below.
    target string
    Target resource of the pipe (typically an ARN).
    targetParameters PipeTargetParameters

    Parameters required to set up a target for your pipe. Detailed below.

    The following arguments are optional:

    description string
    A description of the pipe. At most 512 characters.
    desiredState string
    The state the pipe should be in. One of: RUNNING, STOPPED.
    enrichment string
    Enrichment resource of the pipe (typically an ARN). Read more about enrichment in the User Guide.
    name string
    Name of the pipe. If omitted, the provider will assign a random, unique name. Conflicts with name_prefix.
    namePrefix string
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    tags {[key: string]: string}
    Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    role_arn str
    ARN of the role that allows the pipe to send data to the target.
    source str
    Source resource of the pipe (typically an ARN).
    source_parameters PipeSourceParametersArgs
    Parameters required to set up a source for the pipe. Detailed below.
    target str
    Target resource of the pipe (typically an ARN).
    target_parameters PipeTargetParametersArgs

    Parameters required to set up a target for your pipe. Detailed below.

    The following arguments are optional:

    description str
    A description of the pipe. At most 512 characters.
    desired_state str
    The state the pipe should be in. One of: RUNNING, STOPPED.
    enrichment str
    Enrichment resource of the pipe (typically an ARN). Read more about enrichment in the User Guide.
    name str
    Name of the pipe. If omitted, the provider will assign a random, unique name. Conflicts with name_prefix.
    name_prefix str
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    tags Mapping[str, str]
    Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    roleArn String
    ARN of the role that allows the pipe to send data to the target.
    source String
    Source resource of the pipe (typically an ARN).
    sourceParameters Property Map
    Parameters required to set up a source for the pipe. Detailed below.
    target String
    Target resource of the pipe (typically an ARN).
    targetParameters Property Map

    Parameters required to set up a target for your pipe. Detailed below.

    The following arguments are optional:

    description String
    A description of the pipe. At most 512 characters.
    desiredState String
    The state the pipe should be in. One of: RUNNING, STOPPED.
    enrichment String
    Enrichment resource of the pipe (typically an ARN). Read more about enrichment in the User Guide.
    name String
    Name of the pipe. If omitted, the provider will assign a random, unique name. Conflicts with name_prefix.
    namePrefix String
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    tags Map<String>
    Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Pipe resource produces the following output properties:

    Arn string
    ARN of this pipe.
    Id string
    The provider-assigned unique ID for this managed resource.
    TagsAll Dictionary<string, string>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    Arn string
    ARN of this pipe.
    Id string
    The provider-assigned unique ID for this managed resource.
    TagsAll map[string]string
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    arn String
    ARN of this pipe.
    id String
    The provider-assigned unique ID for this managed resource.
    tagsAll Map<String,String>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    arn string
    ARN of this pipe.
    id string
    The provider-assigned unique ID for this managed resource.
    tagsAll {[key: string]: string}
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    arn str
    ARN of this pipe.
    id str
    The provider-assigned unique ID for this managed resource.
    tags_all Mapping[str, str]
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    arn String
    ARN of this pipe.
    id String
    The provider-assigned unique ID for this managed resource.
    tagsAll Map<String>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Look up Existing Pipe Resource

    Get an existing Pipe resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: PipeState, opts?: CustomResourceOptions): Pipe
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            arn: Optional[str] = None,
            description: Optional[str] = None,
            desired_state: Optional[str] = None,
            enrichment: Optional[str] = None,
            name: Optional[str] = None,
            name_prefix: Optional[str] = None,
            role_arn: Optional[str] = None,
            source: Optional[str] = None,
            source_parameters: Optional[PipeSourceParametersArgs] = None,
            tags: Optional[Mapping[str, str]] = None,
            tags_all: Optional[Mapping[str, str]] = None,
            target: Optional[str] = None,
            target_parameters: Optional[PipeTargetParametersArgs] = None) -> Pipe
    func GetPipe(ctx *Context, name string, id IDInput, state *PipeState, opts ...ResourceOption) (*Pipe, error)
    public static Pipe Get(string name, Input<string> id, PipeState? state, CustomResourceOptions? opts = null)
    public static Pipe get(String name, Output<String> id, PipeState state, CustomResourceOptions options)
    resources:  _:    type: aws:pipes:Pipe    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Arn string
    ARN of this pipe.
    Description string
    A description of the pipe. At most 512 characters.
    DesiredState string
    The state the pipe should be in. One of: RUNNING, STOPPED.
    Enrichment string
    Enrichment resource of the pipe (typically an ARN). Read more about enrichment in the User Guide.
    Name string
    Name of the pipe. If omitted, the provider will assign a random, unique name. Conflicts with name_prefix.
    NamePrefix string
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    RoleArn string
    ARN of the role that allows the pipe to send data to the target.
    Source string
    Source resource of the pipe (typically an ARN).
    SourceParameters PipeSourceParameters
    Parameters required to set up a source for the pipe. Detailed below.
    Tags Dictionary<string, string>
    Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TagsAll Dictionary<string, string>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    Target string
    Target resource of the pipe (typically an ARN).
    TargetParameters PipeTargetParameters

    Parameters required to set up a target for your pipe. Detailed below.

    The following arguments are optional:

    Arn string
    ARN of this pipe.
    Description string
    A description of the pipe. At most 512 characters.
    DesiredState string
    The state the pipe should be in. One of: RUNNING, STOPPED.
    Enrichment string
    Enrichment resource of the pipe (typically an ARN). Read more about enrichment in the User Guide.
    Name string
    Name of the pipe. If omitted, the provider will assign a random, unique name. Conflicts with name_prefix.
    NamePrefix string
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    RoleArn string
    ARN of the role that allows the pipe to send data to the target.
    Source string
    Source resource of the pipe (typically an ARN).
    SourceParameters PipeSourceParametersArgs
    Parameters required to set up a source for the pipe. Detailed below.
    Tags map[string]string
    Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TagsAll map[string]string
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    Target string
    Target resource of the pipe (typically an ARN).
    TargetParameters PipeTargetParametersArgs

    Parameters required to set up a target for your pipe. Detailed below.

    The following arguments are optional:

    arn String
    ARN of this pipe.
    description String
    A description of the pipe. At most 512 characters.
    desiredState String
    The state the pipe should be in. One of: RUNNING, STOPPED.
    enrichment String
    Enrichment resource of the pipe (typically an ARN). Read more about enrichment in the User Guide.
    name String
    Name of the pipe. If omitted, the provider will assign a random, unique name. Conflicts with name_prefix.
    namePrefix String
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    roleArn String
    ARN of the role that allows the pipe to send data to the target.
    source String
    Source resource of the pipe (typically an ARN).
    sourceParameters PipeSourceParameters
    Parameters required to set up a source for the pipe. Detailed below.
    tags Map<String,String>
    Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll Map<String,String>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    target String
    Target resource of the pipe (typically an ARN).
    targetParameters PipeTargetParameters

    Parameters required to set up a target for your pipe. Detailed below.

    The following arguments are optional:

    arn string
    ARN of this pipe.
    description string
    A description of the pipe. At most 512 characters.
    desiredState string
    The state the pipe should be in. One of: RUNNING, STOPPED.
    enrichment string
    Enrichment resource of the pipe (typically an ARN). Read more about enrichment in the User Guide.
    name string
    Name of the pipe. If omitted, the provider will assign a random, unique name. Conflicts with name_prefix.
    namePrefix string
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    roleArn string
    ARN of the role that allows the pipe to send data to the target.
    source string
    Source resource of the pipe (typically an ARN).
    sourceParameters PipeSourceParameters
    Parameters required to set up a source for the pipe. Detailed below.
    tags {[key: string]: string}
    Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll {[key: string]: string}
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    target string
    Target resource of the pipe (typically an ARN).
    targetParameters PipeTargetParameters

    Parameters required to set up a target for your pipe. Detailed below.

    The following arguments are optional:

    arn str
    ARN of this pipe.
    description str
    A description of the pipe. At most 512 characters.
    desired_state str
    The state the pipe should be in. One of: RUNNING, STOPPED.
    enrichment str
    Enrichment resource of the pipe (typically an ARN). Read more about enrichment in the User Guide.
    name str
    Name of the pipe. If omitted, the provider will assign a random, unique name. Conflicts with name_prefix.
    name_prefix str
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    role_arn str
    ARN of the role that allows the pipe to send data to the target.
    source str
    Source resource of the pipe (typically an ARN).
    source_parameters PipeSourceParametersArgs
    Parameters required to set up a source for the pipe. Detailed below.
    tags Mapping[str, str]
    Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tags_all Mapping[str, str]
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    target str
    Target resource of the pipe (typically an ARN).
    target_parameters PipeTargetParametersArgs

    Parameters required to set up a target for your pipe. Detailed below.

    The following arguments are optional:

    arn String
    ARN of this pipe.
    description String
    A description of the pipe. At most 512 characters.
    desiredState String
    The state the pipe should be in. One of: RUNNING, STOPPED.
    enrichment String
    Enrichment resource of the pipe (typically an ARN). Read more about enrichment in the User Guide.
    name String
    Name of the pipe. If omitted, the provider will assign a random, unique name. Conflicts with name_prefix.
    namePrefix String
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    roleArn String
    ARN of the role that allows the pipe to send data to the target.
    source String
    Source resource of the pipe (typically an ARN).
    sourceParameters Property Map
    Parameters required to set up a source for the pipe. Detailed below.
    tags Map<String>
    Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll Map<String>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    target String
    Target resource of the pipe (typically an ARN).
    targetParameters Property Map

    Parameters required to set up a target for your pipe. Detailed below.

    The following arguments are optional:

    Supporting Types

    PipeSourceParameters, PipeSourceParametersArgs

    FilterCriteria PipeSourceParametersFilterCriteria
    The collection of event patterns used to filter events. Detailed below.
    FilterCriteria PipeSourceParametersFilterCriteria
    The collection of event patterns used to filter events. Detailed below.
    filterCriteria PipeSourceParametersFilterCriteria
    The collection of event patterns used to filter events. Detailed below.
    filterCriteria PipeSourceParametersFilterCriteria
    The collection of event patterns used to filter events. Detailed below.
    filter_criteria PipeSourceParametersFilterCriteria
    The collection of event patterns used to filter events. Detailed below.
    filterCriteria Property Map
    The collection of event patterns used to filter events. Detailed below.

    PipeSourceParametersFilterCriteria, PipeSourceParametersFilterCriteriaArgs

    Filters List<PipeSourceParametersFilterCriteriaFilter>
    An array of up to 5 event patterns. Detailed below.
    Filters []PipeSourceParametersFilterCriteriaFilter
    An array of up to 5 event patterns. Detailed below.
    filters List<PipeSourceParametersFilterCriteriaFilter>
    An array of up to 5 event patterns. Detailed below.
    filters PipeSourceParametersFilterCriteriaFilter[]
    An array of up to 5 event patterns. Detailed below.
    filters Sequence[PipeSourceParametersFilterCriteriaFilter]
    An array of up to 5 event patterns. Detailed below.
    filters List<Property Map>
    An array of up to 5 event patterns. Detailed below.

    PipeSourceParametersFilterCriteriaFilter, PipeSourceParametersFilterCriteriaFilterArgs

    Pattern string
    The event pattern. At most 4096 characters.
    Pattern string
    The event pattern. At most 4096 characters.
    pattern String
    The event pattern. At most 4096 characters.
    pattern string
    The event pattern. At most 4096 characters.
    pattern str
    The event pattern. At most 4096 characters.
    pattern String
    The event pattern. At most 4096 characters.

    PipeTargetParameters, PipeTargetParametersArgs

    InputTemplate string
    Valid JSON text passed to the target. In this case, nothing from the event itself is passed to the target.
    InputTemplate string
    Valid JSON text passed to the target. In this case, nothing from the event itself is passed to the target.
    inputTemplate String
    Valid JSON text passed to the target. In this case, nothing from the event itself is passed to the target.
    inputTemplate string
    Valid JSON text passed to the target. In this case, nothing from the event itself is passed to the target.
    input_template str
    Valid JSON text passed to the target. In this case, nothing from the event itself is passed to the target.
    inputTemplate String
    Valid JSON text passed to the target. In this case, nothing from the event itself is passed to the target.

    Import

    Pipes can be imported using the name. For example

     $ pulumi import aws:pipes/pipe:Pipe example my-pipe
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    AWS Classic pulumi/pulumi-aws
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the aws Terraform Provider.
    aws logo
    Viewing docs for AWS v5.43.0 (Older version)
    published on Tuesday, Mar 10, 2026 by Pulumi

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial