aws.codepipeline.Pipeline
Explore with Pulumi AI
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",
        "encryption_key": {
            "id": s3kmskey.arn,
            "type": "KMS",
        },
    }],
    stages=[
        {
            "name": "Source",
            "actions": [{
                "name": "Source",
                "category": "Source",
                "owner": "AWS",
                "provider": "CodeStarSourceConnection",
                "version": "1",
                "output_artifacts": ["source_output"],
                "configuration": {
                    "ConnectionArn": example.arn,
                    "FullRepositoryId": "my-organization/example",
                    "BranchName": "main",
                },
            }],
        },
        {
            "name": "Build",
            "actions": [{
                "name": "Build",
                "category": "Build",
                "owner": "AWS",
                "provider": "CodeBuild",
                "input_artifacts": ["source_output"],
                "output_artifacts": ["build_output"],
                "version": "1",
                "configuration": {
                    "ProjectName": "test",
                },
            }],
        },
        {
            "name": "Deploy",
            "actions": [{
                "name": "Deploy",
                "category": "Deploy",
                "owner": "AWS",
                "provider": "CloudFormation",
                "input_artifacts": ["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: pulumi.String(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
                {
                    Owner = "string",
                    Name = "string",
                    Category = "string",
                    Provider = "string",
                    Version = "string",
                    Configuration = 
                    {
                        { "string", "string" },
                    },
                    InputArtifacts = new[]
                    {
                        "string",
                    },
                    Namespace = "string",
                    OutputArtifacts = new[]
                    {
                        "string",
                    },
                    Region = "string",
                    RoleArn = "string",
                    RunOrder = 0,
                    TimeoutInMinutes = 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{
					Owner:    pulumi.String("string"),
					Name:     pulumi.String("string"),
					Category: 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),
					TimeoutInMinutes: 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()
            .owner("string")
            .name("string")
            .category("string")
            .provider("string")
            .version("string")
            .configuration(Map.of("string", "string"))
            .inputArtifacts("string")
            .namespace("string")
            .outputArtifacts("string")
            .region("string")
            .roleArn("string")
            .runOrder(0)
            .timeoutInMinutes(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",
        "encryption_key": {
            "id": "string",
            "type": "string",
        },
        "region": "string",
    }],
    role_arn="string",
    stages=[{
        "actions": [{
            "owner": "string",
            "name": "string",
            "category": "string",
            "provider": "string",
            "version": "string",
            "configuration": {
                "string": "string",
            },
            "input_artifacts": ["string"],
            "namespace": "string",
            "output_artifacts": ["string"],
            "region": "string",
            "role_arn": "string",
            "run_order": 0,
            "timeout_in_minutes": 0,
        }],
        "name": "string",
    }],
    execution_mode="string",
    name="string",
    pipeline_type="string",
    tags={
        "string": "string",
    },
    triggers=[{
        "git_configuration": {
            "source_action_name": "string",
            "pull_requests": [{
                "branches": {
                    "excludes": ["string"],
                    "includes": ["string"],
                },
                "events": ["string"],
                "file_paths": {
                    "excludes": ["string"],
                    "includes": ["string"],
                },
            }],
            "pushes": [{
                "branches": {
                    "excludes": ["string"],
                    "includes": ["string"],
                },
                "file_paths": {
                    "excludes": ["string"],
                    "includes": ["string"],
                },
                "tags": {
                    "excludes": ["string"],
                    "includes": ["string"],
                },
            }],
        },
        "provider_type": "string",
    }],
    variables=[{
        "name": "string",
        "default_value": "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: [{
            owner: "string",
            name: "string",
            category: "string",
            provider: "string",
            version: "string",
            configuration: {
                string: "string",
            },
            inputArtifacts: ["string"],
            namespace: "string",
            outputArtifacts: ["string"],
            region: "string",
            roleArn: "string",
            runOrder: 0,
            timeoutInMinutes: 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
              timeoutInMinutes: 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
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Pipeline resource accepts the following input properties:
- ArtifactStores List<PipelineArtifact Store> 
- One or more artifact_store blocks. Artifact stores are documented below.
- RoleArn string
- A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf.
- Stages
List<PipelineStage> 
- A stage block. Stages are documented below.
- ExecutionMode 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: - QUEUEDor- PARALLELmode can only be used with V2 pipelines.
- Name string
- The name of the pipeline.
- PipelineType 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<PipelineTrigger> 
- A trigger block. Valid only when pipeline_typeisV2. Triggers are documented below.
- Variables
List<PipelineVariable> 
- A pipeline-level variable block. Valid only when pipeline_typeisV2. Variable are documented below.
- ArtifactStores []PipelineArtifact Store Args 
- One or more artifact_store blocks. Artifact stores are documented below.
- RoleArn string
- A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf.
- Stages
[]PipelineStage Args 
- A stage block. Stages are documented below.
- ExecutionMode 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: - QUEUEDor- PARALLELmode can only be used with V2 pipelines.
- Name string
- The name of the pipeline.
- PipelineType 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
[]PipelineTrigger Args 
- A trigger block. Valid only when pipeline_typeisV2. Triggers are documented below.
- Variables
[]PipelineVariable Args 
- A pipeline-level variable block. Valid only when pipeline_typeisV2. Variable are documented below.
- artifactStores List<PipelineArtifact Store> 
- One or more artifact_store blocks. Artifact stores are documented below.
- roleArn String
- A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf.
- stages
List<PipelineStage> 
- A stage block. Stages are documented below.
- executionMode 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: - QUEUEDor- PARALLELmode can only be used with V2 pipelines.
- name String
- The name of the pipeline.
- pipelineType 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<PipelineTrigger> 
- A trigger block. Valid only when pipeline_typeisV2. Triggers are documented below.
- variables
List<PipelineVariable> 
- A pipeline-level variable block. Valid only when pipeline_typeisV2. Variable are documented below.
- artifactStores PipelineArtifact Store[] 
- One or more artifact_store blocks. Artifact stores are documented below.
- roleArn string
- A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf.
- stages
PipelineStage[] 
- A stage block. Stages are documented below.
- executionMode 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: - QUEUEDor- PARALLELmode can only be used with V2 pipelines.
- name string
- The name of the pipeline.
- pipelineType 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
PipelineTrigger[] 
- A trigger block. Valid only when pipeline_typeisV2. Triggers are documented below.
- variables
PipelineVariable[] 
- 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[PipelineStage 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: - QUEUEDor- PARALLELmode 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[PipelineTrigger Args] 
- A trigger block. Valid only when pipeline_typeisV2. Triggers are documented below.
- variables
Sequence[PipelineVariable Args] 
- A pipeline-level variable block. Valid only when pipeline_typeisV2. Variable are documented below.
- artifactStores List<Property Map>
- One or more artifact_store blocks. Artifact stores are documented below.
- roleArn 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.
- executionMode 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: - QUEUEDor- PARALLELmode can only be used with V2 pipelines.
- name String
- The name of the pipeline.
- pipelineType 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.
- ArtifactStores List<PipelineArtifact Store> 
- One or more artifact_store blocks. Artifact stores are documented below.
- ExecutionMode 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: - QUEUEDor- PARALLELmode can only be used with V2 pipelines.
- Name string
- The name of the pipeline.
- PipelineType string
- Type of the pipeline. Possible values are: V1andV2. Default value isV1.
- RoleArn string
- A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf.
- Stages
List<PipelineStage> 
- 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<PipelineTrigger> 
- A trigger block. Valid only when pipeline_typeisV2. Triggers are documented below.
- Variables
List<PipelineVariable> 
- A pipeline-level variable block. Valid only when pipeline_typeisV2. Variable are documented below.
- Arn string
- The codepipeline ARN.
- ArtifactStores []PipelineArtifact Store Args 
- One or more artifact_store blocks. Artifact stores are documented below.
- ExecutionMode 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: - QUEUEDor- PARALLELmode can only be used with V2 pipelines.
- Name string
- The name of the pipeline.
- PipelineType string
- Type of the pipeline. Possible values are: V1andV2. Default value isV1.
- RoleArn string
- A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf.
- Stages
[]PipelineStage 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
[]PipelineTrigger Args 
- A trigger block. Valid only when pipeline_typeisV2. Triggers are documented below.
- Variables
[]PipelineVariable Args 
- A pipeline-level variable block. Valid only when pipeline_typeisV2. Variable are documented below.
- arn String
- The codepipeline ARN.
- artifactStores List<PipelineArtifact Store> 
- One or more artifact_store blocks. Artifact stores are documented below.
- executionMode 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: - QUEUEDor- PARALLELmode can only be used with V2 pipelines.
- name String
- The name of the pipeline.
- pipelineType String
- Type of the pipeline. Possible values are: V1andV2. Default value isV1.
- roleArn String
- A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf.
- stages
List<PipelineStage> 
- 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<PipelineTrigger> 
- A trigger block. Valid only when pipeline_typeisV2. Triggers are documented below.
- variables
List<PipelineVariable> 
- A pipeline-level variable block. Valid only when pipeline_typeisV2. Variable are documented below.
- arn string
- The codepipeline ARN.
- artifactStores PipelineArtifact Store[] 
- One or more artifact_store blocks. Artifact stores are documented below.
- executionMode 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: - QUEUEDor- PARALLELmode can only be used with V2 pipelines.
- name string
- The name of the pipeline.
- pipelineType string
- Type of the pipeline. Possible values are: V1andV2. Default value isV1.
- roleArn string
- A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf.
- stages
PipelineStage[] 
- 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
PipelineTrigger[] 
- A trigger block. Valid only when pipeline_typeisV2. Triggers are documented below.
- variables
PipelineVariable[] 
- 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: - QUEUEDor- PARALLELmode 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[PipelineStage 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[PipelineTrigger Args] 
- A trigger block. Valid only when pipeline_typeisV2. Triggers are documented below.
- variables
Sequence[PipelineVariable Args] 
- A pipeline-level variable block. Valid only when pipeline_typeisV2. Variable are documented below.
- arn String
- The codepipeline ARN.
- artifactStores List<Property Map>
- One or more artifact_store blocks. Artifact stores are documented below.
- executionMode 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: - QUEUEDor- PARALLELmode can only be used with V2 pipelines.
- name String
- The name of the pipeline.
- pipelineType String
- Type of the pipeline. Possible values are: V1andV2. Default value isV1.
- roleArn 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
- EncryptionKey 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
- EncryptionKey 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
- encryptionKey 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
- encryptionKey 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
- encryptionKey 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<PipelineStage Action> 
- The action(s) to include in the stage. Defined as an actionblock below
- Name string
- The name of the stage.
- Actions
[]PipelineStage Action 
- The action(s) to include in the stage. Defined as an actionblock below
- Name string
- The name of the stage.
- actions
List<PipelineStage Action> 
- The action(s) to include in the stage. Defined as an actionblock below
- name String
- The name of the stage.
- actions
PipelineStage Action[] 
- The action(s) to include in the stage. Defined as an actionblock below
- name string
- The name of the stage.
- actions
Sequence[PipelineStage 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. Note: The DetectChangesparameter (optional, default value is true) in theconfigurationsection causes CodePipeline to automatically start your pipeline upon new commits. Please refer to AWS Documentation for more details: https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-CodestarConnectionSource.html#action-reference-CodestarConnectionSource-config.
- InputArtifacts List<string>
- A list of artifact names to be worked on.
- Namespace string
- The namespace all output variables will be accessed from.
- OutputArtifacts 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.
- RoleArn string
- The ARN of the IAM service role that will perform the declared action. This is assumed through the roleArn for the pipeline.
- RunOrder int
- The order in which actions are run.
- TimeoutIn intMinutes 
- 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. Note: The DetectChangesparameter (optional, default value is true) in theconfigurationsection causes CodePipeline to automatically start your pipeline upon new commits. Please refer to AWS Documentation for more details: https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-CodestarConnectionSource.html#action-reference-CodestarConnectionSource-config.
- InputArtifacts []string
- A list of artifact names to be worked on.
- Namespace string
- The namespace all output variables will be accessed from.
- OutputArtifacts []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.
- RoleArn string
- The ARN of the IAM service role that will perform the declared action. This is assumed through the roleArn for the pipeline.
- RunOrder int
- The order in which actions are run.
- TimeoutIn intMinutes 
- 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. Note: The DetectChangesparameter (optional, default value is true) in theconfigurationsection causes CodePipeline to automatically start your pipeline upon new commits. Please refer to AWS Documentation for more details: https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-CodestarConnectionSource.html#action-reference-CodestarConnectionSource-config.
- inputArtifacts List<String>
- A list of artifact names to be worked on.
- namespace String
- The namespace all output variables will be accessed from.
- outputArtifacts 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.
- roleArn String
- The ARN of the IAM service role that will perform the declared action. This is assumed through the roleArn for the pipeline.
- runOrder Integer
- The order in which actions are run.
- timeoutIn IntegerMinutes 
- 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. Note: The DetectChangesparameter (optional, default value is true) in theconfigurationsection causes CodePipeline to automatically start your pipeline upon new commits. Please refer to AWS Documentation for more details: https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-CodestarConnectionSource.html#action-reference-CodestarConnectionSource-config.
- inputArtifacts string[]
- A list of artifact names to be worked on.
- namespace string
- The namespace all output variables will be accessed from.
- outputArtifacts 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.
- roleArn string
- The ARN of the IAM service role that will perform the declared action. This is assumed through the roleArn for the pipeline.
- runOrder number
- The order in which actions are run.
- timeoutIn numberMinutes 
- 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. Note: The DetectChangesparameter (optional, default value is true) in theconfigurationsection causes CodePipeline to automatically start your pipeline upon new commits. Please refer to AWS Documentation for more details: https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-CodestarConnectionSource.html#action-reference-CodestarConnectionSource-config.
- 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.
- timeout_in_ intminutes 
- 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. Note: The DetectChangesparameter (optional, default value is true) in theconfigurationsection causes CodePipeline to automatically start your pipeline upon new commits. Please refer to AWS Documentation for more details: https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-CodestarConnectionSource.html#action-reference-CodestarConnectionSource-config.
- inputArtifacts List<String>
- A list of artifact names to be worked on.
- namespace String
- The namespace all output variables will be accessed from.
- outputArtifacts 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.
- roleArn String
- The ARN of the IAM service role that will perform the declared action. This is assumed through the roleArn for the pipeline.
- runOrder Number
- The order in which actions are run.
- timeoutIn NumberMinutes 
PipelineTrigger, PipelineTriggerArgs    
- GitConfiguration 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.
- ProviderType string
- The source provider for the event. Possible value is CodeStarSourceConnection.
- GitConfiguration 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.
- ProviderType string
- The source provider for the event. Possible value is CodeStarSourceConnection.
- gitConfiguration 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.
- providerType String
- The source provider for the event. Possible value is CodeStarSourceConnection.
- gitConfiguration 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.
- providerType 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.
- gitConfiguration 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.
- providerType String
- The source provider for the event. Possible value is CodeStarSourceConnection.
PipelineTriggerGitConfiguration, PipelineTriggerGitConfigurationArgs        
- SourceAction 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.
- PullRequests 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<PipelineTrigger 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.
- SourceAction 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.
- PullRequests []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
[]PipelineTrigger 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.
- sourceAction 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.
- pullRequests 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<PipelineTrigger 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.
- sourceAction 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.
- pullRequests 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
PipelineTrigger 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[PipelineTrigger 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.
- sourceAction 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.
- pullRequests 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
PipelineTrigger 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.
- FilePaths 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
PipelineTrigger 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.
- FilePaths 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
PipelineTrigger 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.
- filePaths 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
PipelineTrigger 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.
- filePaths 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
PipelineTrigger 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.
- filePaths 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
PipelineTrigger Git Configuration Push Branches 
- The field that specifies to filter on branches for the push trigger configuration. A branchesblock is documented below.
- FilePaths 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.
- 
PipelineTrigger Git Configuration Push Tags 
- The field that contains the details for the Git tags trigger configuration. A tagsblock is documented below.
- Branches
PipelineTrigger Git Configuration Push Branches 
- The field that specifies to filter on branches for the push trigger configuration. A branchesblock is documented below.
- FilePaths 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.
- 
PipelineTrigger Git Configuration Push Tags 
- The field that contains the details for the Git tags trigger configuration. A tagsblock is documented below.
- branches
PipelineTrigger Git Configuration Push Branches 
- The field that specifies to filter on branches for the push trigger configuration. A branchesblock is documented below.
- filePaths 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.
- 
PipelineTrigger Git Configuration Push Tags 
- The field that contains the details for the Git tags trigger configuration. A tagsblock is documented below.
- branches
PipelineTrigger Git Configuration Push Branches 
- The field that specifies to filter on branches for the push trigger configuration. A branchesblock is documented below.
- filePaths 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.
- 
PipelineTrigger Git Configuration Push Tags 
- The field that contains the details for the Git tags trigger configuration. A tagsblock is documented below.
- branches
PipelineTrigger 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.
- 
PipelineTrigger 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.
- filePaths 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.
- DefaultValue 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.
- DefaultValue 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.
- defaultValue 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.
- defaultValue 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.
- defaultValue 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.