Try AWS Native preview for resources not in the classic version.
aws.codepipeline.Pipeline
Explore with Pulumi AI
Try AWS Native preview for resources not in the classic version.
Provides a CodePipeline.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.codestarconnections.Connection("example", {
    name: "example-connection",
    providerType: "GitHub",
});
const codepipelineBucket = new aws.s3.BucketV2("codepipeline_bucket", {bucket: "test-bucket"});
const assumeRole = aws.iam.getPolicyDocument({
    statements: [{
        effect: "Allow",
        principals: [{
            type: "Service",
            identifiers: ["codepipeline.amazonaws.com"],
        }],
        actions: ["sts:AssumeRole"],
    }],
});
const codepipelineRole = new aws.iam.Role("codepipeline_role", {
    name: "test-role",
    assumeRolePolicy: assumeRole.then(assumeRole => assumeRole.json),
});
const s3kmskey = aws.kms.getAlias({
    name: "alias/myKmsKey",
});
const codepipeline = new aws.codepipeline.Pipeline("codepipeline", {
    name: "tf-test-pipeline",
    roleArn: codepipelineRole.arn,
    artifactStores: [{
        location: codepipelineBucket.bucket,
        type: "S3",
        encryptionKey: {
            id: s3kmskey.then(s3kmskey => s3kmskey.arn),
            type: "KMS",
        },
    }],
    stages: [
        {
            name: "Source",
            actions: [{
                name: "Source",
                category: "Source",
                owner: "AWS",
                provider: "CodeStarSourceConnection",
                version: "1",
                outputArtifacts: ["source_output"],
                configuration: {
                    ConnectionArn: example.arn,
                    FullRepositoryId: "my-organization/example",
                    BranchName: "main",
                },
            }],
        },
        {
            name: "Build",
            actions: [{
                name: "Build",
                category: "Build",
                owner: "AWS",
                provider: "CodeBuild",
                inputArtifacts: ["source_output"],
                outputArtifacts: ["build_output"],
                version: "1",
                configuration: {
                    ProjectName: "test",
                },
            }],
        },
        {
            name: "Deploy",
            actions: [{
                name: "Deploy",
                category: "Deploy",
                owner: "AWS",
                provider: "CloudFormation",
                inputArtifacts: ["build_output"],
                version: "1",
                configuration: {
                    ActionMode: "REPLACE_ON_FAILURE",
                    Capabilities: "CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM",
                    OutputFileName: "CreateStackOutput.json",
                    StackName: "MyStack",
                    TemplatePath: "build_output::sam-templated.yaml",
                },
            }],
        },
    ],
});
const codepipelineBucketPab = new aws.s3.BucketPublicAccessBlock("codepipeline_bucket_pab", {
    bucket: codepipelineBucket.id,
    blockPublicAcls: true,
    blockPublicPolicy: true,
    ignorePublicAcls: true,
    restrictPublicBuckets: true,
});
const codepipelinePolicy = aws.iam.getPolicyDocumentOutput({
    statements: [
        {
            effect: "Allow",
            actions: [
                "s3:GetObject",
                "s3:GetObjectVersion",
                "s3:GetBucketVersioning",
                "s3:PutObjectAcl",
                "s3:PutObject",
            ],
            resources: [
                codepipelineBucket.arn,
                pulumi.interpolate`${codepipelineBucket.arn}/*`,
            ],
        },
        {
            effect: "Allow",
            actions: ["codestar-connections:UseConnection"],
            resources: [example.arn],
        },
        {
            effect: "Allow",
            actions: [
                "codebuild:BatchGetBuilds",
                "codebuild:StartBuild",
            ],
            resources: ["*"],
        },
    ],
});
const codepipelinePolicyRolePolicy = new aws.iam.RolePolicy("codepipeline_policy", {
    name: "codepipeline_policy",
    role: codepipelineRole.id,
    policy: codepipelinePolicy.apply(codepipelinePolicy => codepipelinePolicy.json),
});
import pulumi
import pulumi_aws as aws
example = aws.codestarconnections.Connection("example",
    name="example-connection",
    provider_type="GitHub")
codepipeline_bucket = aws.s3.BucketV2("codepipeline_bucket", bucket="test-bucket")
assume_role = aws.iam.get_policy_document(statements=[{
    "effect": "Allow",
    "principals": [{
        "type": "Service",
        "identifiers": ["codepipeline.amazonaws.com"],
    }],
    "actions": ["sts:AssumeRole"],
}])
codepipeline_role = aws.iam.Role("codepipeline_role",
    name="test-role",
    assume_role_policy=assume_role.json)
s3kmskey = aws.kms.get_alias(name="alias/myKmsKey")
codepipeline = aws.codepipeline.Pipeline("codepipeline",
    name="tf-test-pipeline",
    role_arn=codepipeline_role.arn,
    artifact_stores=[{
        "location": codepipeline_bucket.bucket,
        "type": "S3",
        "encryptionKey": {
            "id": s3kmskey.arn,
            "type": "KMS",
        },
    }],
    stages=[
        {
            "name": "Source",
            "actions": [{
                "name": "Source",
                "category": "Source",
                "owner": "AWS",
                "provider": "CodeStarSourceConnection",
                "version": "1",
                "outputArtifacts": ["source_output"],
                "configuration": {
                    "ConnectionArn": example.arn,
                    "FullRepositoryId": "my-organization/example",
                    "BranchName": "main",
                },
            }],
        },
        {
            "name": "Build",
            "actions": [{
                "name": "Build",
                "category": "Build",
                "owner": "AWS",
                "provider": "CodeBuild",
                "inputArtifacts": ["source_output"],
                "outputArtifacts": ["build_output"],
                "version": "1",
                "configuration": {
                    "ProjectName": "test",
                },
            }],
        },
        {
            "name": "Deploy",
            "actions": [{
                "name": "Deploy",
                "category": "Deploy",
                "owner": "AWS",
                "provider": "CloudFormation",
                "inputArtifacts": ["build_output"],
                "version": "1",
                "configuration": {
                    "ActionMode": "REPLACE_ON_FAILURE",
                    "Capabilities": "CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM",
                    "OutputFileName": "CreateStackOutput.json",
                    "StackName": "MyStack",
                    "TemplatePath": "build_output::sam-templated.yaml",
                },
            }],
        },
    ])
codepipeline_bucket_pab = aws.s3.BucketPublicAccessBlock("codepipeline_bucket_pab",
    bucket=codepipeline_bucket.id,
    block_public_acls=True,
    block_public_policy=True,
    ignore_public_acls=True,
    restrict_public_buckets=True)
codepipeline_policy = aws.iam.get_policy_document_output(statements=[
    {
        "effect": "Allow",
        "actions": [
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:GetBucketVersioning",
            "s3:PutObjectAcl",
            "s3:PutObject",
        ],
        "resources": [
            codepipeline_bucket.arn,
            codepipeline_bucket.arn.apply(lambda arn: f"{arn}/*"),
        ],
    },
    {
        "effect": "Allow",
        "actions": ["codestar-connections:UseConnection"],
        "resources": [example.arn],
    },
    {
        "effect": "Allow",
        "actions": [
            "codebuild:BatchGetBuilds",
            "codebuild:StartBuild",
        ],
        "resources": ["*"],
    },
])
codepipeline_policy_role_policy = aws.iam.RolePolicy("codepipeline_policy",
    name="codepipeline_policy",
    role=codepipeline_role.id,
    policy=codepipeline_policy.json)
package main
import (
	"fmt"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codepipeline"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/codestarconnections"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := codestarconnections.NewConnection(ctx, "example", &codestarconnections.ConnectionArgs{
			Name:         pulumi.String("example-connection"),
			ProviderType: pulumi.String("GitHub"),
		})
		if err != nil {
			return err
		}
		codepipelineBucket, err := s3.NewBucketV2(ctx, "codepipeline_bucket", &s3.BucketV2Args{
			Bucket: pulumi.String("test-bucket"),
		})
		if err != nil {
			return err
		}
		assumeRole, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
			Statements: []iam.GetPolicyDocumentStatement{
				{
					Effect: pulumi.StringRef("Allow"),
					Principals: []iam.GetPolicyDocumentStatementPrincipal{
						{
							Type: "Service",
							Identifiers: []string{
								"codepipeline.amazonaws.com",
							},
						},
					},
					Actions: []string{
						"sts:AssumeRole",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		codepipelineRole, err := iam.NewRole(ctx, "codepipeline_role", &iam.RoleArgs{
			Name:             pulumi.String("test-role"),
			AssumeRolePolicy: pulumi.String(assumeRole.Json),
		})
		if err != nil {
			return err
		}
		s3kmskey, err := kms.LookupAlias(ctx, &kms.LookupAliasArgs{
			Name: "alias/myKmsKey",
		}, nil)
		if err != nil {
			return err
		}
		_, err = codepipeline.NewPipeline(ctx, "codepipeline", &codepipeline.PipelineArgs{
			Name:    pulumi.String("tf-test-pipeline"),
			RoleArn: codepipelineRole.Arn,
			ArtifactStores: codepipeline.PipelineArtifactStoreArray{
				&codepipeline.PipelineArtifactStoreArgs{
					Location: codepipelineBucket.Bucket,
					Type:     pulumi.String("S3"),
					EncryptionKey: &codepipeline.PipelineArtifactStoreEncryptionKeyArgs{
						Id:   pulumi.String(s3kmskey.Arn),
						Type: pulumi.String("KMS"),
					},
				},
			},
			Stages: codepipeline.PipelineStageArray{
				&codepipeline.PipelineStageArgs{
					Name: pulumi.String("Source"),
					Actions: codepipeline.PipelineStageActionArray{
						&codepipeline.PipelineStageActionArgs{
							Name:     pulumi.String("Source"),
							Category: pulumi.String("Source"),
							Owner:    pulumi.String("AWS"),
							Provider: pulumi.String("CodeStarSourceConnection"),
							Version:  pulumi.String("1"),
							OutputArtifacts: pulumi.StringArray{
								pulumi.String("source_output"),
							},
							Configuration: pulumi.StringMap{
								"ConnectionArn":    example.Arn,
								"FullRepositoryId": pulumi.String("my-organization/example"),
								"BranchName":       pulumi.String("main"),
							},
						},
					},
				},
				&codepipeline.PipelineStageArgs{
					Name: pulumi.String("Build"),
					Actions: codepipeline.PipelineStageActionArray{
						&codepipeline.PipelineStageActionArgs{
							Name:     pulumi.String("Build"),
							Category: pulumi.String("Build"),
							Owner:    pulumi.String("AWS"),
							Provider: pulumi.String("CodeBuild"),
							InputArtifacts: pulumi.StringArray{
								pulumi.String("source_output"),
							},
							OutputArtifacts: pulumi.StringArray{
								pulumi.String("build_output"),
							},
							Version: pulumi.String("1"),
							Configuration: pulumi.StringMap{
								"ProjectName": pulumi.String("test"),
							},
						},
					},
				},
				&codepipeline.PipelineStageArgs{
					Name: pulumi.String("Deploy"),
					Actions: codepipeline.PipelineStageActionArray{
						&codepipeline.PipelineStageActionArgs{
							Name:     pulumi.String("Deploy"),
							Category: pulumi.String("Deploy"),
							Owner:    pulumi.String("AWS"),
							Provider: pulumi.String("CloudFormation"),
							InputArtifacts: pulumi.StringArray{
								pulumi.String("build_output"),
							},
							Version: pulumi.String("1"),
							Configuration: pulumi.StringMap{
								"ActionMode":     pulumi.String("REPLACE_ON_FAILURE"),
								"Capabilities":   pulumi.String("CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM"),
								"OutputFileName": pulumi.String("CreateStackOutput.json"),
								"StackName":      pulumi.String("MyStack"),
								"TemplatePath":   pulumi.String("build_output::sam-templated.yaml"),
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketPublicAccessBlock(ctx, "codepipeline_bucket_pab", &s3.BucketPublicAccessBlockArgs{
			Bucket:                codepipelineBucket.ID(),
			BlockPublicAcls:       pulumi.Bool(true),
			BlockPublicPolicy:     pulumi.Bool(true),
			IgnorePublicAcls:      pulumi.Bool(true),
			RestrictPublicBuckets: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		codepipelinePolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{
			Statements: iam.GetPolicyDocumentStatementArray{
				&iam.GetPolicyDocumentStatementArgs{
					Effect: pulumi.String("Allow"),
					Actions: pulumi.StringArray{
						pulumi.String("s3:GetObject"),
						pulumi.String("s3:GetObjectVersion"),
						pulumi.String("s3:GetBucketVersioning"),
						pulumi.String("s3:PutObjectAcl"),
						pulumi.String("s3:PutObject"),
					},
					Resources: pulumi.StringArray{
						codepipelineBucket.Arn,
						codepipelineBucket.Arn.ApplyT(func(arn string) (string, error) {
							return fmt.Sprintf("%v/*", arn), nil
						}).(pulumi.StringOutput),
					},
				},
				&iam.GetPolicyDocumentStatementArgs{
					Effect: pulumi.String("Allow"),
					Actions: pulumi.StringArray{
						pulumi.String("codestar-connections:UseConnection"),
					},
					Resources: pulumi.StringArray{
						example.Arn,
					},
				},
				&iam.GetPolicyDocumentStatementArgs{
					Effect: pulumi.String("Allow"),
					Actions: pulumi.StringArray{
						pulumi.String("codebuild:BatchGetBuilds"),
						pulumi.String("codebuild:StartBuild"),
					},
					Resources: pulumi.StringArray{
						pulumi.String("*"),
					},
				},
			},
		}, nil)
		_, err = iam.NewRolePolicy(ctx, "codepipeline_policy", &iam.RolePolicyArgs{
			Name: pulumi.String("codepipeline_policy"),
			Role: codepipelineRole.ID(),
			Policy: codepipelinePolicy.ApplyT(func(codepipelinePolicy iam.GetPolicyDocumentResult) (*string, error) {
				return &codepipelinePolicy.Json, nil
			}).(pulumi.StringPtrOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var example = new Aws.CodeStarConnections.Connection("example", new()
    {
        Name = "example-connection",
        ProviderType = "GitHub",
    });
    var codepipelineBucket = new Aws.S3.BucketV2("codepipeline_bucket", new()
    {
        Bucket = "test-bucket",
    });
    var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()
    {
        Statements = new[]
        {
            new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs
            {
                Effect = "Allow",
                Principals = new[]
                {
                    new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs
                    {
                        Type = "Service",
                        Identifiers = new[]
                        {
                            "codepipeline.amazonaws.com",
                        },
                    },
                },
                Actions = new[]
                {
                    "sts:AssumeRole",
                },
            },
        },
    });
    var codepipelineRole = new Aws.Iam.Role("codepipeline_role", new()
    {
        Name = "test-role",
        AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json),
    });
    var s3kmskey = Aws.Kms.GetAlias.Invoke(new()
    {
        Name = "alias/myKmsKey",
    });
    var codepipeline = new Aws.CodePipeline.Pipeline("codepipeline", new()
    {
        Name = "tf-test-pipeline",
        RoleArn = codepipelineRole.Arn,
        ArtifactStores = new[]
        {
            new Aws.CodePipeline.Inputs.PipelineArtifactStoreArgs
            {
                Location = codepipelineBucket.Bucket,
                Type = "S3",
                EncryptionKey = new Aws.CodePipeline.Inputs.PipelineArtifactStoreEncryptionKeyArgs
                {
                    Id = s3kmskey.Apply(getAliasResult => getAliasResult.Arn),
                    Type = "KMS",
                },
            },
        },
        Stages = new[]
        {
            new Aws.CodePipeline.Inputs.PipelineStageArgs
            {
                Name = "Source",
                Actions = new[]
                {
                    new Aws.CodePipeline.Inputs.PipelineStageActionArgs
                    {
                        Name = "Source",
                        Category = "Source",
                        Owner = "AWS",
                        Provider = "CodeStarSourceConnection",
                        Version = "1",
                        OutputArtifacts = new[]
                        {
                            "source_output",
                        },
                        Configuration = 
                        {
                            { "ConnectionArn", example.Arn },
                            { "FullRepositoryId", "my-organization/example" },
                            { "BranchName", "main" },
                        },
                    },
                },
            },
            new Aws.CodePipeline.Inputs.PipelineStageArgs
            {
                Name = "Build",
                Actions = new[]
                {
                    new Aws.CodePipeline.Inputs.PipelineStageActionArgs
                    {
                        Name = "Build",
                        Category = "Build",
                        Owner = "AWS",
                        Provider = "CodeBuild",
                        InputArtifacts = new[]
                        {
                            "source_output",
                        },
                        OutputArtifacts = new[]
                        {
                            "build_output",
                        },
                        Version = "1",
                        Configuration = 
                        {
                            { "ProjectName", "test" },
                        },
                    },
                },
            },
            new Aws.CodePipeline.Inputs.PipelineStageArgs
            {
                Name = "Deploy",
                Actions = new[]
                {
                    new Aws.CodePipeline.Inputs.PipelineStageActionArgs
                    {
                        Name = "Deploy",
                        Category = "Deploy",
                        Owner = "AWS",
                        Provider = "CloudFormation",
                        InputArtifacts = new[]
                        {
                            "build_output",
                        },
                        Version = "1",
                        Configuration = 
                        {
                            { "ActionMode", "REPLACE_ON_FAILURE" },
                            { "Capabilities", "CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM" },
                            { "OutputFileName", "CreateStackOutput.json" },
                            { "StackName", "MyStack" },
                            { "TemplatePath", "build_output::sam-templated.yaml" },
                        },
                    },
                },
            },
        },
    });
    var codepipelineBucketPab = new Aws.S3.BucketPublicAccessBlock("codepipeline_bucket_pab", new()
    {
        Bucket = codepipelineBucket.Id,
        BlockPublicAcls = true,
        BlockPublicPolicy = true,
        IgnorePublicAcls = true,
        RestrictPublicBuckets = true,
    });
    var codepipelinePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()
    {
        Statements = new[]
        {
            new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs
            {
                Effect = "Allow",
                Actions = new[]
                {
                    "s3:GetObject",
                    "s3:GetObjectVersion",
                    "s3:GetBucketVersioning",
                    "s3:PutObjectAcl",
                    "s3:PutObject",
                },
                Resources = new[]
                {
                    codepipelineBucket.Arn,
                    $"{codepipelineBucket.Arn}/*",
                },
            },
            new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs
            {
                Effect = "Allow",
                Actions = new[]
                {
                    "codestar-connections:UseConnection",
                },
                Resources = new[]
                {
                    example.Arn,
                },
            },
            new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs
            {
                Effect = "Allow",
                Actions = new[]
                {
                    "codebuild:BatchGetBuilds",
                    "codebuild:StartBuild",
                },
                Resources = new[]
                {
                    "*",
                },
            },
        },
    });
    var codepipelinePolicyRolePolicy = new Aws.Iam.RolePolicy("codepipeline_policy", new()
    {
        Name = "codepipeline_policy",
        Role = codepipelineRole.Id,
        Policy = codepipelinePolicy.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json),
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.codestarconnections.Connection;
import com.pulumi.aws.codestarconnections.ConnectionArgs;
import com.pulumi.aws.s3.BucketV2;
import com.pulumi.aws.s3.BucketV2Args;
import com.pulumi.aws.iam.IamFunctions;
import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
import com.pulumi.aws.iam.Role;
import com.pulumi.aws.iam.RoleArgs;
import com.pulumi.aws.kms.KmsFunctions;
import com.pulumi.aws.kms.inputs.GetAliasArgs;
import com.pulumi.aws.codepipeline.Pipeline;
import com.pulumi.aws.codepipeline.PipelineArgs;
import com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreArgs;
import com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreEncryptionKeyArgs;
import com.pulumi.aws.codepipeline.inputs.PipelineStageArgs;
import com.pulumi.aws.s3.BucketPublicAccessBlock;
import com.pulumi.aws.s3.BucketPublicAccessBlockArgs;
import com.pulumi.aws.iam.RolePolicy;
import com.pulumi.aws.iam.RolePolicyArgs;
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) {
        var example = new Connection("example", ConnectionArgs.builder()
            .name("example-connection")
            .providerType("GitHub")
            .build());
        var codepipelineBucket = new BucketV2("codepipelineBucket", BucketV2Args.builder()
            .bucket("test-bucket")
            .build());
        final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
            .statements(GetPolicyDocumentStatementArgs.builder()
                .effect("Allow")
                .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
                    .type("Service")
                    .identifiers("codepipeline.amazonaws.com")
                    .build())
                .actions("sts:AssumeRole")
                .build())
            .build());
        var codepipelineRole = new Role("codepipelineRole", RoleArgs.builder()
            .name("test-role")
            .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))
            .build());
        final var s3kmskey = KmsFunctions.getAlias(GetAliasArgs.builder()
            .name("alias/myKmsKey")
            .build());
        var codepipeline = new Pipeline("codepipeline", PipelineArgs.builder()
            .name("tf-test-pipeline")
            .roleArn(codepipelineRole.arn())
            .artifactStores(PipelineArtifactStoreArgs.builder()
                .location(codepipelineBucket.bucket())
                .type("S3")
                .encryptionKey(PipelineArtifactStoreEncryptionKeyArgs.builder()
                    .id(s3kmskey.applyValue(getAliasResult -> getAliasResult.arn()))
                    .type("KMS")
                    .build())
                .build())
            .stages(            
                PipelineStageArgs.builder()
                    .name("Source")
                    .actions(PipelineStageActionArgs.builder()
                        .name("Source")
                        .category("Source")
                        .owner("AWS")
                        .provider("CodeStarSourceConnection")
                        .version("1")
                        .outputArtifacts("source_output")
                        .configuration(Map.ofEntries(
                            Map.entry("ConnectionArn", example.arn()),
                            Map.entry("FullRepositoryId", "my-organization/example"),
                            Map.entry("BranchName", "main")
                        ))
                        .build())
                    .build(),
                PipelineStageArgs.builder()
                    .name("Build")
                    .actions(PipelineStageActionArgs.builder()
                        .name("Build")
                        .category("Build")
                        .owner("AWS")
                        .provider("CodeBuild")
                        .inputArtifacts("source_output")
                        .outputArtifacts("build_output")
                        .version("1")
                        .configuration(Map.of("ProjectName", "test"))
                        .build())
                    .build(),
                PipelineStageArgs.builder()
                    .name("Deploy")
                    .actions(PipelineStageActionArgs.builder()
                        .name("Deploy")
                        .category("Deploy")
                        .owner("AWS")
                        .provider("CloudFormation")
                        .inputArtifacts("build_output")
                        .version("1")
                        .configuration(Map.ofEntries(
                            Map.entry("ActionMode", "REPLACE_ON_FAILURE"),
                            Map.entry("Capabilities", "CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM"),
                            Map.entry("OutputFileName", "CreateStackOutput.json"),
                            Map.entry("StackName", "MyStack"),
                            Map.entry("TemplatePath", "build_output::sam-templated.yaml")
                        ))
                        .build())
                    .build())
            .build());
        var codepipelineBucketPab = new BucketPublicAccessBlock("codepipelineBucketPab", BucketPublicAccessBlockArgs.builder()
            .bucket(codepipelineBucket.id())
            .blockPublicAcls(true)
            .blockPublicPolicy(true)
            .ignorePublicAcls(true)
            .restrictPublicBuckets(true)
            .build());
        final var codepipelinePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
            .statements(            
                GetPolicyDocumentStatementArgs.builder()
                    .effect("Allow")
                    .actions(                    
                        "s3:GetObject",
                        "s3:GetObjectVersion",
                        "s3:GetBucketVersioning",
                        "s3:PutObjectAcl",
                        "s3:PutObject")
                    .resources(                    
                        codepipelineBucket.arn(),
                        codepipelineBucket.arn().applyValue(arn -> String.format("%s/*", arn)))
                    .build(),
                GetPolicyDocumentStatementArgs.builder()
                    .effect("Allow")
                    .actions("codestar-connections:UseConnection")
                    .resources(example.arn())
                    .build(),
                GetPolicyDocumentStatementArgs.builder()
                    .effect("Allow")
                    .actions(                    
                        "codebuild:BatchGetBuilds",
                        "codebuild:StartBuild")
                    .resources("*")
                    .build())
            .build());
        var codepipelinePolicyRolePolicy = new RolePolicy("codepipelinePolicyRolePolicy", RolePolicyArgs.builder()
            .name("codepipeline_policy")
            .role(codepipelineRole.id())
            .policy(codepipelinePolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(codepipelinePolicy -> codepipelinePolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())))
            .build());
    }
}
resources:
  codepipeline:
    type: aws:codepipeline:Pipeline
    properties:
      name: tf-test-pipeline
      roleArn: ${codepipelineRole.arn}
      artifactStores:
        - location: ${codepipelineBucket.bucket}
          type: S3
          encryptionKey:
            id: ${s3kmskey.arn}
            type: KMS
      stages:
        - name: Source
          actions:
            - name: Source
              category: Source
              owner: AWS
              provider: CodeStarSourceConnection
              version: '1'
              outputArtifacts:
                - source_output
              configuration:
                ConnectionArn: ${example.arn}
                FullRepositoryId: my-organization/example
                BranchName: main
        - name: Build
          actions:
            - name: Build
              category: Build
              owner: AWS
              provider: CodeBuild
              inputArtifacts:
                - source_output
              outputArtifacts:
                - build_output
              version: '1'
              configuration:
                ProjectName: test
        - name: Deploy
          actions:
            - name: Deploy
              category: Deploy
              owner: AWS
              provider: CloudFormation
              inputArtifacts:
                - build_output
              version: '1'
              configuration:
                ActionMode: REPLACE_ON_FAILURE
                Capabilities: CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM
                OutputFileName: CreateStackOutput.json
                StackName: MyStack
                TemplatePath: build_output::sam-templated.yaml
  example:
    type: aws:codestarconnections:Connection
    properties:
      name: example-connection
      providerType: GitHub
  codepipelineBucket:
    type: aws:s3:BucketV2
    name: codepipeline_bucket
    properties:
      bucket: test-bucket
  codepipelineBucketPab:
    type: aws:s3:BucketPublicAccessBlock
    name: codepipeline_bucket_pab
    properties:
      bucket: ${codepipelineBucket.id}
      blockPublicAcls: true
      blockPublicPolicy: true
      ignorePublicAcls: true
      restrictPublicBuckets: true
  codepipelineRole:
    type: aws:iam:Role
    name: codepipeline_role
    properties:
      name: test-role
      assumeRolePolicy: ${assumeRole.json}
  codepipelinePolicyRolePolicy:
    type: aws:iam:RolePolicy
    name: codepipeline_policy
    properties:
      name: codepipeline_policy
      role: ${codepipelineRole.id}
      policy: ${codepipelinePolicy.json}
variables:
  assumeRole:
    fn::invoke:
      Function: aws:iam:getPolicyDocument
      Arguments:
        statements:
          - effect: Allow
            principals:
              - type: Service
                identifiers:
                  - codepipeline.amazonaws.com
            actions:
              - sts:AssumeRole
  codepipelinePolicy:
    fn::invoke:
      Function: aws:iam:getPolicyDocument
      Arguments:
        statements:
          - effect: Allow
            actions:
              - s3:GetObject
              - s3:GetObjectVersion
              - s3:GetBucketVersioning
              - s3:PutObjectAcl
              - s3:PutObject
            resources:
              - ${codepipelineBucket.arn}
              - ${codepipelineBucket.arn}/*
          - effect: Allow
            actions:
              - codestar-connections:UseConnection
            resources:
              - ${example.arn}
          - effect: Allow
            actions:
              - codebuild:BatchGetBuilds
              - codebuild:StartBuild
            resources:
              - '*'
  s3kmskey:
    fn::invoke:
      Function: aws:kms:getAlias
      Arguments:
        name: alias/myKmsKey
Create Pipeline Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Pipeline(name: string, args: PipelineArgs, opts?: CustomResourceOptions);@overload
def Pipeline(resource_name: str,
             args: PipelineArgs,
             opts: Optional[ResourceOptions] = None)
@overload
def Pipeline(resource_name: str,
             opts: Optional[ResourceOptions] = None,
             artifact_stores: Optional[Sequence[PipelineArtifactStoreArgs]] = None,
             role_arn: Optional[str] = None,
             stages: Optional[Sequence[PipelineStageArgs]] = None,
             execution_mode: Optional[str] = None,
             name: Optional[str] = None,
             pipeline_type: Optional[str] = None,
             tags: Optional[Mapping[str, str]] = None,
             triggers: Optional[Sequence[PipelineTriggerArgs]] = None,
             variables: Optional[Sequence[PipelineVariableArgs]] = None)func NewPipeline(ctx *Context, name string, args PipelineArgs, opts ...ResourceOption) (*Pipeline, error)public Pipeline(string name, PipelineArgs args, CustomResourceOptions? opts = null)
public Pipeline(String name, PipelineArgs args)
public Pipeline(String name, PipelineArgs args, CustomResourceOptions options)
type: aws:codepipeline:Pipeline
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 PipelineArgs
 - 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 PipelineArgs
 - 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 PipelineArgs
 - The arguments to resource properties.
 - opts ResourceOption
 - Bag of options to control resource's behavior.
 
- name string
 - The unique name of the resource.
 - args PipelineArgs
 - The arguments to resource properties.
 - opts CustomResourceOptions
 - Bag of options to control resource's behavior.
 
- name String
 - The unique name of the resource.
 - args PipelineArgs
 - 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 pipelineResource = new Aws.CodePipeline.Pipeline("pipelineResource", new()
{
    ArtifactStores = new[]
    {
        new Aws.CodePipeline.Inputs.PipelineArtifactStoreArgs
        {
            Location = "string",
            Type = "string",
            EncryptionKey = new Aws.CodePipeline.Inputs.PipelineArtifactStoreEncryptionKeyArgs
            {
                Id = "string",
                Type = "string",
            },
            Region = "string",
        },
    },
    RoleArn = "string",
    Stages = new[]
    {
        new Aws.CodePipeline.Inputs.PipelineStageArgs
        {
            Actions = new[]
            {
                new Aws.CodePipeline.Inputs.PipelineStageActionArgs
                {
                    Category = "string",
                    Name = "string",
                    Owner = "string",
                    Provider = "string",
                    Version = "string",
                    Configuration = 
                    {
                        { "string", "string" },
                    },
                    InputArtifacts = new[]
                    {
                        "string",
                    },
                    Namespace = "string",
                    OutputArtifacts = new[]
                    {
                        "string",
                    },
                    Region = "string",
                    RoleArn = "string",
                    RunOrder = 0,
                },
            },
            Name = "string",
        },
    },
    ExecutionMode = "string",
    Name = "string",
    PipelineType = "string",
    Tags = 
    {
        { "string", "string" },
    },
    Triggers = new[]
    {
        new Aws.CodePipeline.Inputs.PipelineTriggerArgs
        {
            GitConfiguration = new Aws.CodePipeline.Inputs.PipelineTriggerGitConfigurationArgs
            {
                SourceActionName = "string",
                PullRequests = new[]
                {
                    new Aws.CodePipeline.Inputs.PipelineTriggerGitConfigurationPullRequestArgs
                    {
                        Branches = new Aws.CodePipeline.Inputs.PipelineTriggerGitConfigurationPullRequestBranchesArgs
                        {
                            Excludes = new[]
                            {
                                "string",
                            },
                            Includes = new[]
                            {
                                "string",
                            },
                        },
                        Events = new[]
                        {
                            "string",
                        },
                        FilePaths = new Aws.CodePipeline.Inputs.PipelineTriggerGitConfigurationPullRequestFilePathsArgs
                        {
                            Excludes = new[]
                            {
                                "string",
                            },
                            Includes = new[]
                            {
                                "string",
                            },
                        },
                    },
                },
                Pushes = new[]
                {
                    new Aws.CodePipeline.Inputs.PipelineTriggerGitConfigurationPushArgs
                    {
                        Branches = new Aws.CodePipeline.Inputs.PipelineTriggerGitConfigurationPushBranchesArgs
                        {
                            Excludes = new[]
                            {
                                "string",
                            },
                            Includes = new[]
                            {
                                "string",
                            },
                        },
                        FilePaths = new Aws.CodePipeline.Inputs.PipelineTriggerGitConfigurationPushFilePathsArgs
                        {
                            Excludes = new[]
                            {
                                "string",
                            },
                            Includes = new[]
                            {
                                "string",
                            },
                        },
                        Tags = new Aws.CodePipeline.Inputs.PipelineTriggerGitConfigurationPushTagsArgs
                        {
                            Excludes = new[]
                            {
                                "string",
                            },
                            Includes = new[]
                            {
                                "string",
                            },
                        },
                    },
                },
            },
            ProviderType = "string",
        },
    },
    Variables = new[]
    {
        new Aws.CodePipeline.Inputs.PipelineVariableArgs
        {
            Name = "string",
            DefaultValue = "string",
            Description = "string",
        },
    },
});
example, err := codepipeline.NewPipeline(ctx, "pipelineResource", &codepipeline.PipelineArgs{
	ArtifactStores: codepipeline.PipelineArtifactStoreArray{
		&codepipeline.PipelineArtifactStoreArgs{
			Location: pulumi.String("string"),
			Type:     pulumi.String("string"),
			EncryptionKey: &codepipeline.PipelineArtifactStoreEncryptionKeyArgs{
				Id:   pulumi.String("string"),
				Type: pulumi.String("string"),
			},
			Region: pulumi.String("string"),
		},
	},
	RoleArn: pulumi.String("string"),
	Stages: codepipeline.PipelineStageArray{
		&codepipeline.PipelineStageArgs{
			Actions: codepipeline.PipelineStageActionArray{
				&codepipeline.PipelineStageActionArgs{
					Category: pulumi.String("string"),
					Name:     pulumi.String("string"),
					Owner:    pulumi.String("string"),
					Provider: pulumi.String("string"),
					Version:  pulumi.String("string"),
					Configuration: pulumi.StringMap{
						"string": pulumi.String("string"),
					},
					InputArtifacts: pulumi.StringArray{
						pulumi.String("string"),
					},
					Namespace: pulumi.String("string"),
					OutputArtifacts: pulumi.StringArray{
						pulumi.String("string"),
					},
					Region:   pulumi.String("string"),
					RoleArn:  pulumi.String("string"),
					RunOrder: pulumi.Int(0),
				},
			},
			Name: pulumi.String("string"),
		},
	},
	ExecutionMode: pulumi.String("string"),
	Name:          pulumi.String("string"),
	PipelineType:  pulumi.String("string"),
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Triggers: codepipeline.PipelineTriggerArray{
		&codepipeline.PipelineTriggerArgs{
			GitConfiguration: &codepipeline.PipelineTriggerGitConfigurationArgs{
				SourceActionName: pulumi.String("string"),
				PullRequests: codepipeline.PipelineTriggerGitConfigurationPullRequestArray{
					&codepipeline.PipelineTriggerGitConfigurationPullRequestArgs{
						Branches: &codepipeline.PipelineTriggerGitConfigurationPullRequestBranchesArgs{
							Excludes: pulumi.StringArray{
								pulumi.String("string"),
							},
							Includes: pulumi.StringArray{
								pulumi.String("string"),
							},
						},
						Events: pulumi.StringArray{
							pulumi.String("string"),
						},
						FilePaths: &codepipeline.PipelineTriggerGitConfigurationPullRequestFilePathsArgs{
							Excludes: pulumi.StringArray{
								pulumi.String("string"),
							},
							Includes: pulumi.StringArray{
								pulumi.String("string"),
							},
						},
					},
				},
				Pushes: codepipeline.PipelineTriggerGitConfigurationPushArray{
					&codepipeline.PipelineTriggerGitConfigurationPushArgs{
						Branches: &codepipeline.PipelineTriggerGitConfigurationPushBranchesArgs{
							Excludes: pulumi.StringArray{
								pulumi.String("string"),
							},
							Includes: pulumi.StringArray{
								pulumi.String("string"),
							},
						},
						FilePaths: &codepipeline.PipelineTriggerGitConfigurationPushFilePathsArgs{
							Excludes: pulumi.StringArray{
								pulumi.String("string"),
							},
							Includes: pulumi.StringArray{
								pulumi.String("string"),
							},
						},
						Tags: &codepipeline.PipelineTriggerGitConfigurationPushTagsArgs{
							Excludes: pulumi.StringArray{
								pulumi.String("string"),
							},
							Includes: pulumi.StringArray{
								pulumi.String("string"),
							},
						},
					},
				},
			},
			ProviderType: pulumi.String("string"),
		},
	},
	Variables: codepipeline.PipelineVariableArray{
		&codepipeline.PipelineVariableArgs{
			Name:         pulumi.String("string"),
			DefaultValue: pulumi.String("string"),
			Description:  pulumi.String("string"),
		},
	},
})
var pipelineResource = new Pipeline("pipelineResource", PipelineArgs.builder()
    .artifactStores(PipelineArtifactStoreArgs.builder()
        .location("string")
        .type("string")
        .encryptionKey(PipelineArtifactStoreEncryptionKeyArgs.builder()
            .id("string")
            .type("string")
            .build())
        .region("string")
        .build())
    .roleArn("string")
    .stages(PipelineStageArgs.builder()
        .actions(PipelineStageActionArgs.builder()
            .category("string")
            .name("string")
            .owner("string")
            .provider("string")
            .version("string")
            .configuration(Map.of("string", "string"))
            .inputArtifacts("string")
            .namespace("string")
            .outputArtifacts("string")
            .region("string")
            .roleArn("string")
            .runOrder(0)
            .build())
        .name("string")
        .build())
    .executionMode("string")
    .name("string")
    .pipelineType("string")
    .tags(Map.of("string", "string"))
    .triggers(PipelineTriggerArgs.builder()
        .gitConfiguration(PipelineTriggerGitConfigurationArgs.builder()
            .sourceActionName("string")
            .pullRequests(PipelineTriggerGitConfigurationPullRequestArgs.builder()
                .branches(PipelineTriggerGitConfigurationPullRequestBranchesArgs.builder()
                    .excludes("string")
                    .includes("string")
                    .build())
                .events("string")
                .filePaths(PipelineTriggerGitConfigurationPullRequestFilePathsArgs.builder()
                    .excludes("string")
                    .includes("string")
                    .build())
                .build())
            .pushes(PipelineTriggerGitConfigurationPushArgs.builder()
                .branches(PipelineTriggerGitConfigurationPushBranchesArgs.builder()
                    .excludes("string")
                    .includes("string")
                    .build())
                .filePaths(PipelineTriggerGitConfigurationPushFilePathsArgs.builder()
                    .excludes("string")
                    .includes("string")
                    .build())
                .tags(PipelineTriggerGitConfigurationPushTagsArgs.builder()
                    .excludes("string")
                    .includes("string")
                    .build())
                .build())
            .build())
        .providerType("string")
        .build())
    .variables(PipelineVariableArgs.builder()
        .name("string")
        .defaultValue("string")
        .description("string")
        .build())
    .build());
pipeline_resource = aws.codepipeline.Pipeline("pipelineResource",
    artifact_stores=[{
        "location": "string",
        "type": "string",
        "encryptionKey": {
            "id": "string",
            "type": "string",
        },
        "region": "string",
    }],
    role_arn="string",
    stages=[{
        "actions": [{
            "category": "string",
            "name": "string",
            "owner": "string",
            "provider": "string",
            "version": "string",
            "configuration": {
                "string": "string",
            },
            "inputArtifacts": ["string"],
            "namespace": "string",
            "outputArtifacts": ["string"],
            "region": "string",
            "roleArn": "string",
            "runOrder": 0,
        }],
        "name": "string",
    }],
    execution_mode="string",
    name="string",
    pipeline_type="string",
    tags={
        "string": "string",
    },
    triggers=[{
        "gitConfiguration": {
            "sourceActionName": "string",
            "pullRequests": [{
                "branches": {
                    "excludes": ["string"],
                    "includes": ["string"],
                },
                "events": ["string"],
                "filePaths": {
                    "excludes": ["string"],
                    "includes": ["string"],
                },
            }],
            "pushes": [{
                "branches": {
                    "excludes": ["string"],
                    "includes": ["string"],
                },
                "filePaths": {
                    "excludes": ["string"],
                    "includes": ["string"],
                },
                "tags": {
                    "excludes": ["string"],
                    "includes": ["string"],
                },
            }],
        },
        "providerType": "string",
    }],
    variables=[{
        "name": "string",
        "defaultValue": "string",
        "description": "string",
    }])
const pipelineResource = new aws.codepipeline.Pipeline("pipelineResource", {
    artifactStores: [{
        location: "string",
        type: "string",
        encryptionKey: {
            id: "string",
            type: "string",
        },
        region: "string",
    }],
    roleArn: "string",
    stages: [{
        actions: [{
            category: "string",
            name: "string",
            owner: "string",
            provider: "string",
            version: "string",
            configuration: {
                string: "string",
            },
            inputArtifacts: ["string"],
            namespace: "string",
            outputArtifacts: ["string"],
            region: "string",
            roleArn: "string",
            runOrder: 0,
        }],
        name: "string",
    }],
    executionMode: "string",
    name: "string",
    pipelineType: "string",
    tags: {
        string: "string",
    },
    triggers: [{
        gitConfiguration: {
            sourceActionName: "string",
            pullRequests: [{
                branches: {
                    excludes: ["string"],
                    includes: ["string"],
                },
                events: ["string"],
                filePaths: {
                    excludes: ["string"],
                    includes: ["string"],
                },
            }],
            pushes: [{
                branches: {
                    excludes: ["string"],
                    includes: ["string"],
                },
                filePaths: {
                    excludes: ["string"],
                    includes: ["string"],
                },
                tags: {
                    excludes: ["string"],
                    includes: ["string"],
                },
            }],
        },
        providerType: "string",
    }],
    variables: [{
        name: "string",
        defaultValue: "string",
        description: "string",
    }],
});
type: aws:codepipeline:Pipeline
properties:
    artifactStores:
        - encryptionKey:
            id: string
            type: string
          location: string
          region: string
          type: string
    executionMode: string
    name: string
    pipelineType: string
    roleArn: string
    stages:
        - actions:
            - category: string
              configuration:
                string: string
              inputArtifacts:
                - string
              name: string
              namespace: string
              outputArtifacts:
                - string
              owner: string
              provider: string
              region: string
              roleArn: string
              runOrder: 0
              version: string
          name: string
    tags:
        string: string
    triggers:
        - gitConfiguration:
            pullRequests:
                - branches:
                    excludes:
                        - string
                    includes:
                        - string
                  events:
                    - string
                  filePaths:
                    excludes:
                        - string
                    includes:
                        - string
            pushes:
                - branches:
                    excludes:
                        - string
                    includes:
                        - string
                  filePaths:
                    excludes:
                        - string
                    includes:
                        - string
                  tags:
                    excludes:
                        - string
                    includes:
                        - string
            sourceActionName: string
          providerType: string
    variables:
        - defaultValue: string
          description: string
          name: string
Pipeline Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The Pipeline resource accepts the following input properties:
- Artifact
Stores List<PipelineArtifact Store>  - One or more artifact_store blocks. Artifact stores are documented below.
 - Role
Arn string - A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf.
 - Stages
List<Pipeline
Stage>  - A stage block. Stages are documented below.
 - Execution
Mode string The method that the pipeline will use to handle multiple executions. The default mode is
SUPERSEDED. For value values, refer to the AWS documentation.Note:
QUEUEDorPARALLELmode can only be used with V2 pipelines.- Name string
 - The name of the pipeline.
 - Pipeline
Type string - Type of the pipeline. Possible values are: 
V1andV2. Default value isV1. - Dictionary<string, string>
 - A map of tags to assign to the resource. If configured with a provider 
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - Triggers
List<Pipeline
Trigger>  - A trigger block. Valid only when 
pipeline_typeisV2. Triggers are documented below. - Variables
List<Pipeline
Variable>  - A pipeline-level variable block. Valid only when 
pipeline_typeisV2. Variable are documented below. 
- Artifact
Stores []PipelineArtifact Store Args  - One or more artifact_store blocks. Artifact stores are documented below.
 - Role
Arn string - A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf.
 - Stages
[]Pipeline
Stage Args  - A stage block. Stages are documented below.
 - Execution
Mode string The method that the pipeline will use to handle multiple executions. The default mode is
SUPERSEDED. For value values, refer to the AWS documentation.Note:
QUEUEDorPARALLELmode can only be used with V2 pipelines.- Name string
 - The name of the pipeline.
 - Pipeline
Type string - Type of the pipeline. Possible values are: 
V1andV2. Default value isV1. - map[string]string
 - A map of tags to assign to the resource. If configured with a provider 
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - Triggers
[]Pipeline
Trigger Args  - A trigger block. Valid only when 
pipeline_typeisV2. Triggers are documented below. - Variables
[]Pipeline
Variable Args  - A pipeline-level variable block. Valid only when 
pipeline_typeisV2. Variable are documented below. 
- artifact
Stores List<PipelineArtifact Store>  - One or more artifact_store blocks. Artifact stores are documented below.
 - role
Arn String - A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf.
 - stages
List<Pipeline
Stage>  - A stage block. Stages are documented below.
 - execution
Mode String The method that the pipeline will use to handle multiple executions. The default mode is
SUPERSEDED. For value values, refer to the AWS documentation.Note:
QUEUEDorPARALLELmode can only be used with V2 pipelines.- name String
 - The name of the pipeline.
 - pipeline
Type String - Type of the pipeline. Possible values are: 
V1andV2. Default value isV1. - Map<String,String>
 - A map of tags to assign to the resource. If configured with a provider 
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - triggers
List<Pipeline
Trigger>  - A trigger block. Valid only when 
pipeline_typeisV2. Triggers are documented below. - variables
List<Pipeline
Variable>  - A pipeline-level variable block. Valid only when 
pipeline_typeisV2. Variable are documented below. 
- artifact
Stores PipelineArtifact Store[]  - One or more artifact_store blocks. Artifact stores are documented below.
 - role
Arn string - A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf.
 - stages
Pipeline
Stage[]  - A stage block. Stages are documented below.
 - execution
Mode string The method that the pipeline will use to handle multiple executions. The default mode is
SUPERSEDED. For value values, refer to the AWS documentation.Note:
QUEUEDorPARALLELmode can only be used with V2 pipelines.- name string
 - The name of the pipeline.
 - pipeline
Type string - Type of the pipeline. Possible values are: 
V1andV2. Default value isV1. - {[key: string]: string}
 - A map of tags to assign to the resource. If configured with a provider 
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - triggers
Pipeline
Trigger[]  - A trigger block. Valid only when 
pipeline_typeisV2. Triggers are documented below. - variables
Pipeline
Variable[]  - A pipeline-level variable block. Valid only when 
pipeline_typeisV2. Variable are documented below. 
- artifact_
stores Sequence[PipelineArtifact Store Args]  - One or more artifact_store blocks. Artifact stores are documented below.
 - role_
arn str - A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf.
 - stages
Sequence[Pipeline
Stage Args]  - A stage block. Stages are documented below.
 - execution_
mode str The method that the pipeline will use to handle multiple executions. The default mode is
SUPERSEDED. For value values, refer to the AWS documentation.Note:
QUEUEDorPARALLELmode can only be used with V2 pipelines.- name str
 - The name of the pipeline.
 - pipeline_
type str - Type of the pipeline. Possible values are: 
V1andV2. Default value isV1. - Mapping[str, str]
 - A map of tags to assign to the resource. If configured with a provider 
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - triggers
Sequence[Pipeline
Trigger Args]  - A trigger block. Valid only when 
pipeline_typeisV2. Triggers are documented below. - variables
Sequence[Pipeline
Variable Args]  - A pipeline-level variable block. Valid only when 
pipeline_typeisV2. Variable are documented below. 
- artifact
Stores List<Property Map> - One or more artifact_store blocks. Artifact stores are documented below.
 - role
Arn String - A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf.
 - stages List<Property Map>
 - A stage block. Stages are documented below.
 - execution
Mode String The method that the pipeline will use to handle multiple executions. The default mode is
SUPERSEDED. For value values, refer to the AWS documentation.Note:
QUEUEDorPARALLELmode can only be used with V2 pipelines.- name String
 - The name of the pipeline.
 - pipeline
Type String - Type of the pipeline. Possible values are: 
V1andV2. Default value isV1. - Map<String>
 - A map of tags to assign to the resource. If configured with a provider 
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - triggers List<Property Map>
 - A trigger block. Valid only when 
pipeline_typeisV2. Triggers are documented below. - variables List<Property Map>
 - A pipeline-level variable block. Valid only when 
pipeline_typeisV2. Variable are documented below. 
Outputs
All input properties are implicitly available as output properties. Additionally, the Pipeline resource produces the following output properties:
Look up Existing Pipeline Resource
Get an existing Pipeline 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?: PipelineState, opts?: CustomResourceOptions): Pipeline@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        arn: Optional[str] = None,
        artifact_stores: Optional[Sequence[PipelineArtifactStoreArgs]] = None,
        execution_mode: Optional[str] = None,
        name: Optional[str] = None,
        pipeline_type: Optional[str] = None,
        role_arn: Optional[str] = None,
        stages: Optional[Sequence[PipelineStageArgs]] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None,
        triggers: Optional[Sequence[PipelineTriggerArgs]] = None,
        variables: Optional[Sequence[PipelineVariableArgs]] = None) -> Pipelinefunc GetPipeline(ctx *Context, name string, id IDInput, state *PipelineState, opts ...ResourceOption) (*Pipeline, error)public static Pipeline Get(string name, Input<string> id, PipelineState? state, CustomResourceOptions? opts = null)public static Pipeline get(String name, Output<String> id, PipelineState state, CustomResourceOptions options)Resource lookup is not supported in YAML- 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.
 
- Arn string
 - The codepipeline ARN.
 - Artifact
Stores List<PipelineArtifact Store>  - One or more artifact_store blocks. Artifact stores are documented below.
 - Execution
Mode string The method that the pipeline will use to handle multiple executions. The default mode is
SUPERSEDED. For value values, refer to the AWS documentation.Note:
QUEUEDorPARALLELmode can only be used with V2 pipelines.- Name string
 - The name of the pipeline.
 - Pipeline
Type string - Type of the pipeline. Possible values are: 
V1andV2. Default value isV1. - Role
Arn string - A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf.
 - Stages
List<Pipeline
Stage>  - A stage block. Stages are documented below.
 - Dictionary<string, string>
 - A map of tags to assign to the resource. If configured with a provider 
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - Dictionary<string, string>
 - A map of tags assigned to the resource, including those inherited from the provider 
default_tagsconfiguration block. - Triggers
List<Pipeline
Trigger>  - A trigger block. Valid only when 
pipeline_typeisV2. Triggers are documented below. - Variables
List<Pipeline
Variable>  - A pipeline-level variable block. Valid only when 
pipeline_typeisV2. Variable are documented below. 
- Arn string
 - The codepipeline ARN.
 - Artifact
Stores []PipelineArtifact Store Args  - One or more artifact_store blocks. Artifact stores are documented below.
 - Execution
Mode string The method that the pipeline will use to handle multiple executions. The default mode is
SUPERSEDED. For value values, refer to the AWS documentation.Note:
QUEUEDorPARALLELmode can only be used with V2 pipelines.- Name string
 - The name of the pipeline.
 - Pipeline
Type string - Type of the pipeline. Possible values are: 
V1andV2. Default value isV1. - Role
Arn string - A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf.
 - Stages
[]Pipeline
Stage Args  - A stage block. Stages are documented below.
 - map[string]string
 - A map of tags to assign to the resource. If configured with a provider 
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - map[string]string
 - A map of tags assigned to the resource, including those inherited from the provider 
default_tagsconfiguration block. - Triggers
[]Pipeline
Trigger Args  - A trigger block. Valid only when 
pipeline_typeisV2. Triggers are documented below. - Variables
[]Pipeline
Variable Args  - A pipeline-level variable block. Valid only when 
pipeline_typeisV2. Variable are documented below. 
- arn String
 - The codepipeline ARN.
 - artifact
Stores List<PipelineArtifact Store>  - One or more artifact_store blocks. Artifact stores are documented below.
 - execution
Mode String The method that the pipeline will use to handle multiple executions. The default mode is
SUPERSEDED. For value values, refer to the AWS documentation.Note:
QUEUEDorPARALLELmode can only be used with V2 pipelines.- name String
 - The name of the pipeline.
 - pipeline
Type String - Type of the pipeline. Possible values are: 
V1andV2. Default value isV1. - role
Arn String - A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf.
 - stages
List<Pipeline
Stage>  - A stage block. Stages are documented below.
 - Map<String,String>
 - A map of tags to assign to the resource. If configured with a provider 
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - Map<String,String>
 - A map of tags assigned to the resource, including those inherited from the provider 
default_tagsconfiguration block. - triggers
List<Pipeline
Trigger>  - A trigger block. Valid only when 
pipeline_typeisV2. Triggers are documented below. - variables
List<Pipeline
Variable>  - A pipeline-level variable block. Valid only when 
pipeline_typeisV2. Variable are documented below. 
- arn string
 - The codepipeline ARN.
 - artifact
Stores PipelineArtifact Store[]  - One or more artifact_store blocks. Artifact stores are documented below.
 - execution
Mode string The method that the pipeline will use to handle multiple executions. The default mode is
SUPERSEDED. For value values, refer to the AWS documentation.Note:
QUEUEDorPARALLELmode can only be used with V2 pipelines.- name string
 - The name of the pipeline.
 - pipeline
Type string - Type of the pipeline. Possible values are: 
V1andV2. Default value isV1. - role
Arn string - A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf.
 - stages
Pipeline
Stage[]  - A stage block. Stages are documented below.
 - {[key: string]: string}
 - A map of tags to assign to the resource. If configured with a provider 
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - {[key: string]: string}
 - A map of tags assigned to the resource, including those inherited from the provider 
default_tagsconfiguration block. - triggers
Pipeline
Trigger[]  - A trigger block. Valid only when 
pipeline_typeisV2. Triggers are documented below. - variables
Pipeline
Variable[]  - A pipeline-level variable block. Valid only when 
pipeline_typeisV2. Variable are documented below. 
- arn str
 - The codepipeline ARN.
 - artifact_
stores Sequence[PipelineArtifact Store Args]  - One or more artifact_store blocks. Artifact stores are documented below.
 - execution_
mode str The method that the pipeline will use to handle multiple executions. The default mode is
SUPERSEDED. For value values, refer to the AWS documentation.Note:
QUEUEDorPARALLELmode can only be used with V2 pipelines.- name str
 - The name of the pipeline.
 - pipeline_
type str - Type of the pipeline. Possible values are: 
V1andV2. Default value isV1. - role_
arn str - A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf.
 - stages
Sequence[Pipeline
Stage Args]  - A stage block. Stages are documented below.
 - Mapping[str, str]
 - A map of tags to assign to the resource. If configured with a provider 
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - Mapping[str, str]
 - A map of tags assigned to the resource, including those inherited from the provider 
default_tagsconfiguration block. - triggers
Sequence[Pipeline
Trigger Args]  - A trigger block. Valid only when 
pipeline_typeisV2. Triggers are documented below. - variables
Sequence[Pipeline
Variable Args]  - A pipeline-level variable block. Valid only when 
pipeline_typeisV2. Variable are documented below. 
- arn String
 - The codepipeline ARN.
 - artifact
Stores List<Property Map> - One or more artifact_store blocks. Artifact stores are documented below.
 - execution
Mode String The method that the pipeline will use to handle multiple executions. The default mode is
SUPERSEDED. For value values, refer to the AWS documentation.Note:
QUEUEDorPARALLELmode can only be used with V2 pipelines.- name String
 - The name of the pipeline.
 - pipeline
Type String - Type of the pipeline. Possible values are: 
V1andV2. Default value isV1. - role
Arn String - A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf.
 - stages List<Property Map>
 - A stage block. Stages are documented below.
 - Map<String>
 - A map of tags to assign to the resource. If configured with a provider 
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - Map<String>
 - A map of tags assigned to the resource, including those inherited from the provider 
default_tagsconfiguration block. - triggers List<Property Map>
 - A trigger block. Valid only when 
pipeline_typeisV2. Triggers are documented below. - variables List<Property Map>
 - A pipeline-level variable block. Valid only when 
pipeline_typeisV2. Variable are documented below. 
Supporting Types
PipelineArtifactStore, PipelineArtifactStoreArgs      
- Location string
 - The location where AWS CodePipeline stores artifacts for a pipeline; currently only 
S3is supported. - Type string
 - The type of the artifact store, such as Amazon S3
 - Encryption
Key PipelineArtifact Store Encryption Key  - The encryption key block AWS CodePipeline uses to encrypt the data in the artifact store, such as an AWS Key Management Service (AWS KMS) key. If you don't specify a key, AWS CodePipeline uses the default key for Amazon Simple Storage Service (Amazon S3). An 
encryption_keyblock is documented below. - Region string
 - The region where the artifact store is located. Required for a cross-region CodePipeline, do not provide for a single-region CodePipeline.
 
- Location string
 - The location where AWS CodePipeline stores artifacts for a pipeline; currently only 
S3is supported. - Type string
 - The type of the artifact store, such as Amazon S3
 - Encryption
Key PipelineArtifact Store Encryption Key  - The encryption key block AWS CodePipeline uses to encrypt the data in the artifact store, such as an AWS Key Management Service (AWS KMS) key. If you don't specify a key, AWS CodePipeline uses the default key for Amazon Simple Storage Service (Amazon S3). An 
encryption_keyblock is documented below. - Region string
 - The region where the artifact store is located. Required for a cross-region CodePipeline, do not provide for a single-region CodePipeline.
 
- location String
 - The location where AWS CodePipeline stores artifacts for a pipeline; currently only 
S3is supported. - type String
 - The type of the artifact store, such as Amazon S3
 - encryption
Key PipelineArtifact Store Encryption Key  - The encryption key block AWS CodePipeline uses to encrypt the data in the artifact store, such as an AWS Key Management Service (AWS KMS) key. If you don't specify a key, AWS CodePipeline uses the default key for Amazon Simple Storage Service (Amazon S3). An 
encryption_keyblock is documented below. - region String
 - The region where the artifact store is located. Required for a cross-region CodePipeline, do not provide for a single-region CodePipeline.
 
- location string
 - The location where AWS CodePipeline stores artifacts for a pipeline; currently only 
S3is supported. - type string
 - The type of the artifact store, such as Amazon S3
 - encryption
Key PipelineArtifact Store Encryption Key  - The encryption key block AWS CodePipeline uses to encrypt the data in the artifact store, such as an AWS Key Management Service (AWS KMS) key. If you don't specify a key, AWS CodePipeline uses the default key for Amazon Simple Storage Service (Amazon S3). An 
encryption_keyblock is documented below. - region string
 - The region where the artifact store is located. Required for a cross-region CodePipeline, do not provide for a single-region CodePipeline.
 
- location str
 - The location where AWS CodePipeline stores artifacts for a pipeline; currently only 
S3is supported. - type str
 - The type of the artifact store, such as Amazon S3
 - encryption_
key PipelineArtifact Store Encryption Key  - The encryption key block AWS CodePipeline uses to encrypt the data in the artifact store, such as an AWS Key Management Service (AWS KMS) key. If you don't specify a key, AWS CodePipeline uses the default key for Amazon Simple Storage Service (Amazon S3). An 
encryption_keyblock is documented below. - region str
 - The region where the artifact store is located. Required for a cross-region CodePipeline, do not provide for a single-region CodePipeline.
 
- location String
 - The location where AWS CodePipeline stores artifacts for a pipeline; currently only 
S3is supported. - type String
 - The type of the artifact store, such as Amazon S3
 - encryption
Key Property Map - The encryption key block AWS CodePipeline uses to encrypt the data in the artifact store, such as an AWS Key Management Service (AWS KMS) key. If you don't specify a key, AWS CodePipeline uses the default key for Amazon Simple Storage Service (Amazon S3). An 
encryption_keyblock is documented below. - region String
 - The region where the artifact store is located. Required for a cross-region CodePipeline, do not provide for a single-region CodePipeline.
 
PipelineArtifactStoreEncryptionKey, PipelineArtifactStoreEncryptionKeyArgs          
PipelineStage, PipelineStageArgs    
- Actions
List<Pipeline
Stage Action>  - The action(s) to include in the stage. Defined as an 
actionblock below - Name string
 - The name of the stage.
 
- Actions
[]Pipeline
Stage Action  - The action(s) to include in the stage. Defined as an 
actionblock below - Name string
 - The name of the stage.
 
- actions
List<Pipeline
Stage Action>  - The action(s) to include in the stage. Defined as an 
actionblock below - name String
 - The name of the stage.
 
- actions
Pipeline
Stage Action[]  - The action(s) to include in the stage. Defined as an 
actionblock below - name string
 - The name of the stage.
 
- actions
Sequence[Pipeline
Stage Action]  - The action(s) to include in the stage. Defined as an 
actionblock below - name str
 - The name of the stage.
 
- actions List<Property Map>
 - The action(s) to include in the stage. Defined as an 
actionblock below - name String
 - The name of the stage.
 
PipelineStageAction, PipelineStageActionArgs      
- Category string
 - A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Possible values are 
Approval,Build,Deploy,Invoke,SourceandTest. - Name string
 - The action declaration's name.
 - Owner string
 - The creator of the action being called. Possible values are 
AWS,CustomandThirdParty. - Provider string
 - The provider of the service being called by the action. Valid providers are determined by the action category. Provider names are listed in the Action Structure Reference documentation.
 - Version string
 - A string that identifies the action type.
 - Configuration Dictionary<string, string>
 - A map of the action declaration's configuration. Configurations options for action types and providers can be found in the Pipeline Structure Reference and Action Structure Reference documentation.
 - Input
Artifacts List<string> - A list of artifact names to be worked on.
 - Namespace string
 - The namespace all output variables will be accessed from.
 - Output
Artifacts List<string> - A list of artifact names to output. Output artifact names must be unique within a pipeline.
 - Region string
 - The region in which to run the action.
 - Role
Arn string - The ARN of the IAM service role that will perform the declared action. This is assumed through the roleArn for the pipeline.
 - Run
Order int - The order in which actions are run.
 
- Category string
 - A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Possible values are 
Approval,Build,Deploy,Invoke,SourceandTest. - Name string
 - The action declaration's name.
 - Owner string
 - The creator of the action being called. Possible values are 
AWS,CustomandThirdParty. - Provider string
 - The provider of the service being called by the action. Valid providers are determined by the action category. Provider names are listed in the Action Structure Reference documentation.
 - Version string
 - A string that identifies the action type.
 - Configuration map[string]string
 - A map of the action declaration's configuration. Configurations options for action types and providers can be found in the Pipeline Structure Reference and Action Structure Reference documentation.
 - Input
Artifacts []string - A list of artifact names to be worked on.
 - Namespace string
 - The namespace all output variables will be accessed from.
 - Output
Artifacts []string - A list of artifact names to output. Output artifact names must be unique within a pipeline.
 - Region string
 - The region in which to run the action.
 - Role
Arn string - The ARN of the IAM service role that will perform the declared action. This is assumed through the roleArn for the pipeline.
 - Run
Order int - The order in which actions are run.
 
- category String
 - A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Possible values are 
Approval,Build,Deploy,Invoke,SourceandTest. - name String
 - The action declaration's name.
 - owner String
 - The creator of the action being called. Possible values are 
AWS,CustomandThirdParty. - provider String
 - The provider of the service being called by the action. Valid providers are determined by the action category. Provider names are listed in the Action Structure Reference documentation.
 - version String
 - A string that identifies the action type.
 - configuration Map<String,String>
 - A map of the action declaration's configuration. Configurations options for action types and providers can be found in the Pipeline Structure Reference and Action Structure Reference documentation.
 - input
Artifacts List<String> - A list of artifact names to be worked on.
 - namespace String
 - The namespace all output variables will be accessed from.
 - output
Artifacts List<String> - A list of artifact names to output. Output artifact names must be unique within a pipeline.
 - region String
 - The region in which to run the action.
 - role
Arn String - The ARN of the IAM service role that will perform the declared action. This is assumed through the roleArn for the pipeline.
 - run
Order Integer - The order in which actions are run.
 
- category string
 - A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Possible values are 
Approval,Build,Deploy,Invoke,SourceandTest. - name string
 - The action declaration's name.
 - owner string
 - The creator of the action being called. Possible values are 
AWS,CustomandThirdParty. - provider string
 - The provider of the service being called by the action. Valid providers are determined by the action category. Provider names are listed in the Action Structure Reference documentation.
 - version string
 - A string that identifies the action type.
 - configuration {[key: string]: string}
 - A map of the action declaration's configuration. Configurations options for action types and providers can be found in the Pipeline Structure Reference and Action Structure Reference documentation.
 - input
Artifacts string[] - A list of artifact names to be worked on.
 - namespace string
 - The namespace all output variables will be accessed from.
 - output
Artifacts string[] - A list of artifact names to output. Output artifact names must be unique within a pipeline.
 - region string
 - The region in which to run the action.
 - role
Arn string - The ARN of the IAM service role that will perform the declared action. This is assumed through the roleArn for the pipeline.
 - run
Order number - The order in which actions are run.
 
- category str
 - A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Possible values are 
Approval,Build,Deploy,Invoke,SourceandTest. - name str
 - The action declaration's name.
 - owner str
 - The creator of the action being called. Possible values are 
AWS,CustomandThirdParty. - provider str
 - The provider of the service being called by the action. Valid providers are determined by the action category. Provider names are listed in the Action Structure Reference documentation.
 - version str
 - A string that identifies the action type.
 - configuration Mapping[str, str]
 - A map of the action declaration's configuration. Configurations options for action types and providers can be found in the Pipeline Structure Reference and Action Structure Reference documentation.
 - input_
artifacts Sequence[str] - A list of artifact names to be worked on.
 - namespace str
 - The namespace all output variables will be accessed from.
 - output_
artifacts Sequence[str] - A list of artifact names to output. Output artifact names must be unique within a pipeline.
 - region str
 - The region in which to run the action.
 - role_
arn str - The ARN of the IAM service role that will perform the declared action. This is assumed through the roleArn for the pipeline.
 - run_
order int - The order in which actions are run.
 
- category String
 - A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Possible values are 
Approval,Build,Deploy,Invoke,SourceandTest. - name String
 - The action declaration's name.
 - owner String
 - The creator of the action being called. Possible values are 
AWS,CustomandThirdParty. - provider String
 - The provider of the service being called by the action. Valid providers are determined by the action category. Provider names are listed in the Action Structure Reference documentation.
 - version String
 - A string that identifies the action type.
 - configuration Map<String>
 - A map of the action declaration's configuration. Configurations options for action types and providers can be found in the Pipeline Structure Reference and Action Structure Reference documentation.
 - input
Artifacts List<String> - A list of artifact names to be worked on.
 - namespace String
 - The namespace all output variables will be accessed from.
 - output
Artifacts List<String> - A list of artifact names to output. Output artifact names must be unique within a pipeline.
 - region String
 - The region in which to run the action.
 - role
Arn String - The ARN of the IAM service role that will perform the declared action. This is assumed through the roleArn for the pipeline.
 - run
Order Number - The order in which actions are run.
 
PipelineTrigger, PipelineTriggerArgs    
- Git
Configuration PipelineTrigger Git Configuration  - Provides the filter criteria and the source stage for the repository event that starts the pipeline. For more information, refer to the AWS documentation. A 
git_configurationblock is documented below. - Provider
Type string - The source provider for the event. Possible value is 
CodeStarSourceConnection. 
- Git
Configuration PipelineTrigger Git Configuration  - Provides the filter criteria and the source stage for the repository event that starts the pipeline. For more information, refer to the AWS documentation. A 
git_configurationblock is documented below. - Provider
Type string - The source provider for the event. Possible value is 
CodeStarSourceConnection. 
- git
Configuration PipelineTrigger Git Configuration  - Provides the filter criteria and the source stage for the repository event that starts the pipeline. For more information, refer to the AWS documentation. A 
git_configurationblock is documented below. - provider
Type String - The source provider for the event. Possible value is 
CodeStarSourceConnection. 
- git
Configuration PipelineTrigger Git Configuration  - Provides the filter criteria and the source stage for the repository event that starts the pipeline. For more information, refer to the AWS documentation. A 
git_configurationblock is documented below. - provider
Type string - The source provider for the event. Possible value is 
CodeStarSourceConnection. 
- git_
configuration PipelineTrigger Git Configuration  - Provides the filter criteria and the source stage for the repository event that starts the pipeline. For more information, refer to the AWS documentation. A 
git_configurationblock is documented below. - provider_
type str - The source provider for the event. Possible value is 
CodeStarSourceConnection. 
- git
Configuration Property Map - Provides the filter criteria and the source stage for the repository event that starts the pipeline. For more information, refer to the AWS documentation. A 
git_configurationblock is documented below. - provider
Type String - The source provider for the event. Possible value is 
CodeStarSourceConnection. 
PipelineTriggerGitConfiguration, PipelineTriggerGitConfigurationArgs        
- Source
Action stringName  - The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only.
 - Pull
Requests List<PipelineTrigger Git Configuration Pull Request>  - The field where the repository event that will start the pipeline is specified as pull requests. A 
pull_requestblock is documented below. - Pushes
List<Pipeline
Trigger Git Configuration Push>  - The field where the repository event that will start the pipeline, such as pushing Git tags, is specified with details. A 
pushblock is documented below. 
- Source
Action stringName  - The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only.
 - Pull
Requests []PipelineTrigger Git Configuration Pull Request  - The field where the repository event that will start the pipeline is specified as pull requests. A 
pull_requestblock is documented below. - Pushes
[]Pipeline
Trigger Git Configuration Push  - The field where the repository event that will start the pipeline, such as pushing Git tags, is specified with details. A 
pushblock is documented below. 
- source
Action StringName  - The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only.
 - pull
Requests List<PipelineTrigger Git Configuration Pull Request>  - The field where the repository event that will start the pipeline is specified as pull requests. A 
pull_requestblock is documented below. - pushes
List<Pipeline
Trigger Git Configuration Push>  - The field where the repository event that will start the pipeline, such as pushing Git tags, is specified with details. A 
pushblock is documented below. 
- source
Action stringName  - The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only.
 - pull
Requests PipelineTrigger Git Configuration Pull Request[]  - The field where the repository event that will start the pipeline is specified as pull requests. A 
pull_requestblock is documented below. - pushes
Pipeline
Trigger Git Configuration Push[]  - The field where the repository event that will start the pipeline, such as pushing Git tags, is specified with details. A 
pushblock is documented below. 
- source_
action_ strname  - The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only.
 - pull_
requests Sequence[PipelineTrigger Git Configuration Pull Request]  - The field where the repository event that will start the pipeline is specified as pull requests. A 
pull_requestblock is documented below. - pushes
Sequence[Pipeline
Trigger Git Configuration Push]  - The field where the repository event that will start the pipeline, such as pushing Git tags, is specified with details. A 
pushblock is documented below. 
- source
Action StringName  - The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only.
 - pull
Requests List<Property Map> - The field where the repository event that will start the pipeline is specified as pull requests. A 
pull_requestblock is documented below. - pushes List<Property Map>
 - The field where the repository event that will start the pipeline, such as pushing Git tags, is specified with details. A 
pushblock is documented below. 
PipelineTriggerGitConfigurationPullRequest, PipelineTriggerGitConfigurationPullRequestArgs            
- Branches
Pipeline
Trigger Git Configuration Pull Request Branches  - The field that specifies to filter on branches for the pull request trigger configuration. A 
branchesblock is documented below. - Events List<string>
 - A list that specifies which pull request events to filter on (opened, updated, closed) for the trigger configuration. Possible values are 
OPEN,UPDATEDandCLOSED. - File
Paths PipelineTrigger Git Configuration Pull Request File Paths  - The field that specifies to filter on file paths for the pull request trigger configuration. A 
file_pathsblock is documented below. 
- Branches
Pipeline
Trigger Git Configuration Pull Request Branches  - The field that specifies to filter on branches for the pull request trigger configuration. A 
branchesblock is documented below. - Events []string
 - A list that specifies which pull request events to filter on (opened, updated, closed) for the trigger configuration. Possible values are 
OPEN,UPDATEDandCLOSED. - File
Paths PipelineTrigger Git Configuration Pull Request File Paths  - The field that specifies to filter on file paths for the pull request trigger configuration. A 
file_pathsblock is documented below. 
- branches
Pipeline
Trigger Git Configuration Pull Request Branches  - The field that specifies to filter on branches for the pull request trigger configuration. A 
branchesblock is documented below. - events List<String>
 - A list that specifies which pull request events to filter on (opened, updated, closed) for the trigger configuration. Possible values are 
OPEN,UPDATEDandCLOSED. - file
Paths PipelineTrigger Git Configuration Pull Request File Paths  - The field that specifies to filter on file paths for the pull request trigger configuration. A 
file_pathsblock is documented below. 
- branches
Pipeline
Trigger Git Configuration Pull Request Branches  - The field that specifies to filter on branches for the pull request trigger configuration. A 
branchesblock is documented below. - events string[]
 - A list that specifies which pull request events to filter on (opened, updated, closed) for the trigger configuration. Possible values are 
OPEN,UPDATEDandCLOSED. - file
Paths PipelineTrigger Git Configuration Pull Request File Paths  - The field that specifies to filter on file paths for the pull request trigger configuration. A 
file_pathsblock is documented below. 
- branches
Pipeline
Trigger Git Configuration Pull Request Branches  - The field that specifies to filter on branches for the pull request trigger configuration. A 
branchesblock is documented below. - events Sequence[str]
 - A list that specifies which pull request events to filter on (opened, updated, closed) for the trigger configuration. Possible values are 
OPEN,UPDATEDandCLOSED. - file_
paths PipelineTrigger Git Configuration Pull Request File Paths  - The field that specifies to filter on file paths for the pull request trigger configuration. A 
file_pathsblock is documented below. 
- branches Property Map
 - The field that specifies to filter on branches for the pull request trigger configuration. A 
branchesblock is documented below. - events List<String>
 - A list that specifies which pull request events to filter on (opened, updated, closed) for the trigger configuration. Possible values are 
OPEN,UPDATEDandCLOSED. - file
Paths Property Map - The field that specifies to filter on file paths for the pull request trigger configuration. A 
file_pathsblock is documented below. 
PipelineTriggerGitConfigurationPullRequestBranches, PipelineTriggerGitConfigurationPullRequestBranchesArgs              
PipelineTriggerGitConfigurationPullRequestFilePaths, PipelineTriggerGitConfigurationPullRequestFilePathsArgs                
- Excludes List<string>
 - A list of patterns of Git repository file paths that, when a commit is pushed, are to be excluded from starting the pipeline.
 - Includes List<string>
 - A list of patterns of Git repository file paths that, when a commit is pushed, are to be included as criteria that starts the pipeline.
 
- excludes List<String>
 - A list of patterns of Git repository file paths that, when a commit is pushed, are to be excluded from starting the pipeline.
 - includes List<String>
 - A list of patterns of Git repository file paths that, when a commit is pushed, are to be included as criteria that starts the pipeline.
 
- excludes Sequence[str]
 - A list of patterns of Git repository file paths that, when a commit is pushed, are to be excluded from starting the pipeline.
 - includes Sequence[str]
 - A list of patterns of Git repository file paths that, when a commit is pushed, are to be included as criteria that starts the pipeline.
 
- excludes List<String>
 - A list of patterns of Git repository file paths that, when a commit is pushed, are to be excluded from starting the pipeline.
 - includes List<String>
 - A list of patterns of Git repository file paths that, when a commit is pushed, are to be included as criteria that starts the pipeline.
 
PipelineTriggerGitConfigurationPush, PipelineTriggerGitConfigurationPushArgs          
- Branches
Pipeline
Trigger Git Configuration Push Branches  - The field that specifies to filter on branches for the push trigger configuration. A 
branchesblock is documented below. - File
Paths PipelineTrigger Git Configuration Push File Paths  - The field that specifies to filter on file paths for the push trigger configuration. A 
file_pathsblock is documented below. - 
Pipeline
Trigger Git Configuration Push Tags  - The field that contains the details for the Git tags trigger configuration. A 
tagsblock is documented below. 
- Branches
Pipeline
Trigger Git Configuration Push Branches  - The field that specifies to filter on branches for the push trigger configuration. A 
branchesblock is documented below. - File
Paths PipelineTrigger Git Configuration Push File Paths  - The field that specifies to filter on file paths for the push trigger configuration. A 
file_pathsblock is documented below. - 
Pipeline
Trigger Git Configuration Push Tags  - The field that contains the details for the Git tags trigger configuration. A 
tagsblock is documented below. 
- branches
Pipeline
Trigger Git Configuration Push Branches  - The field that specifies to filter on branches for the push trigger configuration. A 
branchesblock is documented below. - file
Paths PipelineTrigger Git Configuration Push File Paths  - The field that specifies to filter on file paths for the push trigger configuration. A 
file_pathsblock is documented below. - 
Pipeline
Trigger Git Configuration Push Tags  - The field that contains the details for the Git tags trigger configuration. A 
tagsblock is documented below. 
- branches
Pipeline
Trigger Git Configuration Push Branches  - The field that specifies to filter on branches for the push trigger configuration. A 
branchesblock is documented below. - file
Paths PipelineTrigger Git Configuration Push File Paths  - The field that specifies to filter on file paths for the push trigger configuration. A 
file_pathsblock is documented below. - 
Pipeline
Trigger Git Configuration Push Tags  - The field that contains the details for the Git tags trigger configuration. A 
tagsblock is documented below. 
- branches
Pipeline
Trigger Git Configuration Push Branches  - The field that specifies to filter on branches for the push trigger configuration. A 
branchesblock is documented below. - file_
paths PipelineTrigger Git Configuration Push File Paths  - The field that specifies to filter on file paths for the push trigger configuration. A 
file_pathsblock is documented below. - 
Pipeline
Trigger Git Configuration Push Tags  - The field that contains the details for the Git tags trigger configuration. A 
tagsblock is documented below. 
- branches Property Map
 - The field that specifies to filter on branches for the push trigger configuration. A 
branchesblock is documented below. - file
Paths Property Map - The field that specifies to filter on file paths for the push trigger configuration. A 
file_pathsblock is documented below. - Property Map
 - The field that contains the details for the Git tags trigger configuration. A 
tagsblock is documented below. 
PipelineTriggerGitConfigurationPushBranches, PipelineTriggerGitConfigurationPushBranchesArgs            
PipelineTriggerGitConfigurationPushFilePaths, PipelineTriggerGitConfigurationPushFilePathsArgs              
- Excludes List<string>
 - A list of patterns of Git repository file paths that, when a commit is pushed, are to be excluded from starting the pipeline.
 - Includes List<string>
 - A list of patterns of Git repository file paths that, when a commit is pushed, are to be included as criteria that starts the pipeline.
 
- excludes List<String>
 - A list of patterns of Git repository file paths that, when a commit is pushed, are to be excluded from starting the pipeline.
 - includes List<String>
 - A list of patterns of Git repository file paths that, when a commit is pushed, are to be included as criteria that starts the pipeline.
 
- excludes Sequence[str]
 - A list of patterns of Git repository file paths that, when a commit is pushed, are to be excluded from starting the pipeline.
 - includes Sequence[str]
 - A list of patterns of Git repository file paths that, when a commit is pushed, are to be included as criteria that starts the pipeline.
 
- excludes List<String>
 - A list of patterns of Git repository file paths that, when a commit is pushed, are to be excluded from starting the pipeline.
 - includes List<String>
 - A list of patterns of Git repository file paths that, when a commit is pushed, are to be included as criteria that starts the pipeline.
 
PipelineTriggerGitConfigurationPushTags, PipelineTriggerGitConfigurationPushTagsArgs            
PipelineVariable, PipelineVariableArgs    
- Name string
 - The name of a pipeline-level variable.
 - Default
Value string - The default value of a pipeline-level variable.
 - Description string
 The description of a pipeline-level variable.
Note: The input artifact of an action must exactly match the output artifact declared in a preceding action, but the input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.
- Name string
 - The name of a pipeline-level variable.
 - Default
Value string - The default value of a pipeline-level variable.
 - Description string
 The description of a pipeline-level variable.
Note: The input artifact of an action must exactly match the output artifact declared in a preceding action, but the input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.
- name String
 - The name of a pipeline-level variable.
 - default
Value String - The default value of a pipeline-level variable.
 - description String
 The description of a pipeline-level variable.
Note: The input artifact of an action must exactly match the output artifact declared in a preceding action, but the input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.
- name string
 - The name of a pipeline-level variable.
 - default
Value string - The default value of a pipeline-level variable.
 - description string
 The description of a pipeline-level variable.
Note: The input artifact of an action must exactly match the output artifact declared in a preceding action, but the input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.
- name str
 - The name of a pipeline-level variable.
 - default_
value str - The default value of a pipeline-level variable.
 - description str
 The description of a pipeline-level variable.
Note: The input artifact of an action must exactly match the output artifact declared in a preceding action, but the input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.
- name String
 - The name of a pipeline-level variable.
 - default
Value String - The default value of a pipeline-level variable.
 - description String
 The description of a pipeline-level variable.
Note: The input artifact of an action must exactly match the output artifact declared in a preceding action, but the input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.
Import
Using pulumi import, import CodePipelines using the name. For example:
$ pulumi import aws:codepipeline/pipeline:Pipeline foo example
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 
awsTerraform Provider. 
Try AWS Native preview for resources not in the classic version.