Pipeline

Provides a CodePipeline.

NOTE on aws.codepipeline.Pipeline: - the GITHUB_TOKEN environment variable must be set if the GitHub provider is specified.

Example Usage

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var codepipelineBucket = new Aws.S3.Bucket("codepipelineBucket", new Aws.S3.BucketArgs
        {
            Acl = "private",
        });
        var codepipelineRole = new Aws.Iam.Role("codepipelineRole", new Aws.Iam.RoleArgs
        {
            AssumeRolePolicy = @"{
  ""Version"": ""2012-10-17"",
  ""Statement"": [
    {
      ""Effect"": ""Allow"",
      ""Principal"": {
        ""Service"": ""codepipeline.amazonaws.com""
      },
      ""Action"": ""sts:AssumeRole""
    }
  ]
}

",
        });
        var codepipelinePolicy = new Aws.Iam.RolePolicy("codepipelinePolicy", new Aws.Iam.RolePolicyArgs
        {
            Policy = Output.Tuple(codepipelineBucket.Arn, codepipelineBucket.Arn).Apply(values =>
            {
                var codepipelineBucketArn = values.Item1;
                var codepipelineBucketArn1 = values.Item2;
                return @$"{{
  ""Version"": ""2012-10-17"",
  ""Statement"": [
    {{
      ""Effect"":""Allow"",
      ""Action"": [
        ""s3:GetObject"",
        ""s3:GetObjectVersion"",
        ""s3:GetBucketVersioning"",
        ""s3:PutObject""
      ],
      ""Resource"": [
        ""{codepipelineBucketArn}"",
        ""{codepipelineBucketArn1}/*""
      ]
    }},
    {{
      ""Effect"": ""Allow"",
      ""Action"": [
        ""codebuild:BatchGetBuilds"",
        ""codebuild:StartBuild""
      ],
      ""Resource"": ""*""
    }}
  ]
}}

";
            }),
            Role = codepipelineRole.Id,
        });
        var s3kmskey = Output.Create(Aws.Kms.GetAlias.InvokeAsync(new Aws.Kms.GetAliasArgs
        {
            Name = "alias/myKmsKey",
        }));
        var codepipeline = new Aws.CodePipeline.Pipeline("codepipeline", new Aws.CodePipeline.PipelineArgs
        {
            ArtifactStore = new Aws.CodePipeline.Inputs.PipelineArtifactStoreArgs
            {
                EncryptionKey = new Aws.CodePipeline.Inputs.PipelineArtifactStoreEncryptionKeyArgs
                {
                    Id = s3kmskey.Apply(s3kmskey => s3kmskey.Arn),
                    Type = "KMS",
                },
                Location = codepipelineBucket.BucketName,
                Type = "S3",
            },
            RoleArn = codepipelineRole.Arn,
            Stages = 
            {
                new Aws.CodePipeline.Inputs.PipelineStageArgs
                {
                    Actions = 
                    {
                        new Aws.CodePipeline.Inputs.PipelineStageActionArgs
                        {
                            Category = "Source",
                            Configuration = 
                            {
                                { "Branch", "master" },
                                { "Owner", "my-organization" },
                                { "Repo", "test" },
                            },
                            Name = "Source",
                            OutputArtifacts = 
                            {
                                "source_output",
                            },
                            Owner = "ThirdParty",
                            Provider = "GitHub",
                            Version = "1",
                        },
                    },
                    Name = "Source",
                },
                new Aws.CodePipeline.Inputs.PipelineStageArgs
                {
                    Actions = 
                    {
                        new Aws.CodePipeline.Inputs.PipelineStageActionArgs
                        {
                            Category = "Build",
                            Configuration = 
                            {
                                { "ProjectName", "test" },
                            },
                            InputArtifacts = 
                            {
                                "source_output",
                            },
                            Name = "Build",
                            OutputArtifacts = 
                            {
                                "build_output",
                            },
                            Owner = "AWS",
                            Provider = "CodeBuild",
                            Version = "1",
                        },
                    },
                    Name = "Build",
                },
                new Aws.CodePipeline.Inputs.PipelineStageArgs
                {
                    Actions = 
                    {
                        new Aws.CodePipeline.Inputs.PipelineStageActionArgs
                        {
                            Category = "Deploy",
                            Configuration = 
                            {
                                { "ActionMode", "REPLACE_ON_FAILURE" },
                                { "Capabilities", "CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM" },
                                { "OutputFileName", "CreateStackOutput.json" },
                                { "StackName", "MyStack" },
                                { "TemplatePath", "build_output::sam-templated.yaml" },
                            },
                            InputArtifacts = 
                            {
                                "build_output",
                            },
                            Name = "Deploy",
                            Owner = "AWS",
                            Provider = "CloudFormation",
                            Version = "1",
                        },
                    },
                    Name = "Deploy",
                },
            },
        });
    }

}
package main

import (
    "fmt"

    "github.com/pulumi/pulumi-aws/sdk/v2/go/aws/codepipeline"
    "github.com/pulumi/pulumi-aws/sdk/v2/go/aws/iam"
    "github.com/pulumi/pulumi-aws/sdk/v2/go/aws/kms"
    "github.com/pulumi/pulumi-aws/sdk/v2/go/aws/s3"
    "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)

func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
        codepipelineBucket, err := s3.NewBucket(ctx, "codepipelineBucket", &s3.BucketArgs{
            Acl: pulumi.String("private"),
        })
        if err != nil {
            return err
        }
        codepipelineRole, err := iam.NewRole(ctx, "codepipelineRole", &iam.RoleArgs{
            AssumeRolePolicy: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"Version\": \"2012-10-17\",\n", "  \"Statement\": [\n", "    {\n", "      \"Effect\": \"Allow\",\n", "      \"Principal\": {\n", "        \"Service\": \"codepipeline.amazonaws.com\"\n", "      },\n", "      \"Action\": \"sts:AssumeRole\"\n", "    }\n", "  ]\n", "}\n", "\n")),
        })
        if err != nil {
            return err
        }
        _, err = iam.NewRolePolicy(ctx, "codepipelinePolicy", &iam.RolePolicyArgs{
            Policy: pulumi.All(codepipelineBucket.Arn, codepipelineBucket.Arn).ApplyT(func(_args []interface{}) (string, error) {
                codepipelineBucketArn := _args[0].(string)
                codepipelineBucketArn1 := _args[1].(string)
                return fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"Version\": \"2012-10-17\",\n", "  \"Statement\": [\n", "    {\n", "      \"Effect\":\"Allow\",\n", "      \"Action\": [\n", "        \"s3:GetObject\",\n", "        \"s3:GetObjectVersion\",\n", "        \"s3:GetBucketVersioning\",\n", "        \"s3:PutObject\"\n", "      ],\n", "      \"Resource\": [\n", "        \"", codepipelineBucketArn, "\",\n", "        \"", codepipelineBucketArn1, "/*\"\n", "      ]\n", "    },\n", "    {\n", "      \"Effect\": \"Allow\",\n", "      \"Action\": [\n", "        \"codebuild:BatchGetBuilds\",\n", "        \"codebuild:StartBuild\"\n", "      ],\n", "      \"Resource\": \"*\"\n", "    }\n", "  ]\n", "}\n", "\n"), nil
            }).(pulumi.StringOutput),
            Role: codepipelineRole.ID(),
        })
        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{
            ArtifactStore: &codepipeline.PipelineArtifactStoreArgs{
                EncryptionKey: &codepipeline.PipelineArtifactStoreEncryptionKeyArgs{
                    Id:   pulumi.String(s3kmskey.Arn),
                    Type: pulumi.String("KMS"),
                },
                Location: codepipelineBucket.Bucket,
                Type:     pulumi.String("S3"),
            },
            RoleArn: codepipelineRole.Arn,
            Stages: codepipeline.PipelineStageArray{
                &codepipeline.PipelineStageArgs{
                    Actions: codepipeline.PipelineStageActionArray{
                        &codepipeline.PipelineStageActionArgs{
                            Category: pulumi.String("Source"),
                            Configuration: pulumi.StringMap{
                                "Branch": pulumi.String("master"),
                                "Owner":  pulumi.String("my-organization"),
                                "Repo":   pulumi.String("test"),
                            },
                            Name: pulumi.String("Source"),
                            OutputArtifacts: pulumi.StringArray{
                                pulumi.String("source_output"),
                            },
                            Owner:    pulumi.String("ThirdParty"),
                            Provider: pulumi.String("GitHub"),
                            Version:  pulumi.String("1"),
                        },
                    },
                    Name: pulumi.String("Source"),
                },
                &codepipeline.PipelineStageArgs{
                    Actions: codepipeline.PipelineStageActionArray{
                        &codepipeline.PipelineStageActionArgs{
                            Category: pulumi.String("Build"),
                            Configuration: pulumi.StringMap{
                                "ProjectName": pulumi.String("test"),
                            },
                            InputArtifacts: pulumi.StringArray{
                                pulumi.String("source_output"),
                            },
                            Name: pulumi.String("Build"),
                            OutputArtifacts: pulumi.StringArray{
                                pulumi.String("build_output"),
                            },
                            Owner:    pulumi.String("AWS"),
                            Provider: pulumi.String("CodeBuild"),
                            Version:  pulumi.String("1"),
                        },
                    },
                    Name: pulumi.String("Build"),
                },
                &codepipeline.PipelineStageArgs{
                    Actions: codepipeline.PipelineStageActionArray{
                        &codepipeline.PipelineStageActionArgs{
                            Category: pulumi.String("Deploy"),
                            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"),
                            },
                            InputArtifacts: pulumi.StringArray{
                                pulumi.String("build_output"),
                            },
                            Name:     pulumi.String("Deploy"),
                            Owner:    pulumi.String("AWS"),
                            Provider: pulumi.String("CloudFormation"),
                            Version:  pulumi.String("1"),
                        },
                    },
                    Name: pulumi.String("Deploy"),
                },
            },
        })
        if err != nil {
            return err
        }
        return nil
    })
}
import pulumi
import pulumi_aws as aws

codepipeline_bucket = aws.s3.Bucket("codepipelineBucket", acl="private")
codepipeline_role = aws.iam.Role("codepipelineRole", assume_role_policy="""{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "codepipeline.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

""")
codepipeline_policy = aws.iam.RolePolicy("codepipelinePolicy",
    policy=pulumi.Output.all(codepipeline_bucket.arn, codepipeline_bucket.arn).apply(lambda codepipelineBucketArn, codepipelineBucketArn1: f"""{{
  "Version": "2012-10-17",
  "Statement": [
    {{
      "Effect":"Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectVersion",
        "s3:GetBucketVersioning",
        "s3:PutObject"
      ],
      "Resource": [
        "{codepipeline_bucket_arn}",
        "{codepipeline_bucket_arn1}/*"
      ]
    }},
    {{
      "Effect": "Allow",
      "Action": [
        "codebuild:BatchGetBuilds",
        "codebuild:StartBuild"
      ],
      "Resource": "*"
    }}
  ]
}}

"""),
    role=codepipeline_role.id)
s3kmskey = aws.kms.get_alias(name="alias/myKmsKey")
codepipeline = aws.codepipeline.Pipeline("codepipeline",
    artifact_store={
        "encryption_key": {
            "id": s3kmskey.arn,
            "type": "KMS",
        },
        "location": codepipeline_bucket.bucket,
        "type": "S3",
    },
    role_arn=codepipeline_role.arn,
    stages=[
        {
            "actions": [{
                "category": "Source",
                "configuration": {
                    "Branch": "master",
                    "Owner": "my-organization",
                    "Repo": "test",
                },
                "name": "Source",
                "outputArtifacts": ["source_output"],
                "owner": "ThirdParty",
                "provider": "GitHub",
                "version": "1",
            }],
            "name": "Source",
        },
        {
            "actions": [{
                "category": "Build",
                "configuration": {
                    "ProjectName": "test",
                },
                "inputArtifacts": ["source_output"],
                "name": "Build",
                "outputArtifacts": ["build_output"],
                "owner": "AWS",
                "provider": "CodeBuild",
                "version": "1",
            }],
            "name": "Build",
        },
        {
            "actions": [{
                "category": "Deploy",
                "configuration": {
                    "ActionMode": "REPLACE_ON_FAILURE",
                    "Capabilities": "CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM",
                    "OutputFileName": "CreateStackOutput.json",
                    "StackName": "MyStack",
                    "TemplatePath": "build_output::sam-templated.yaml",
                },
                "inputArtifacts": ["build_output"],
                "name": "Deploy",
                "owner": "AWS",
                "provider": "CloudFormation",
                "version": "1",
            }],
            "name": "Deploy",
        },
    ])
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const codepipelineBucket = new aws.s3.Bucket("codepipeline_bucket", {
    acl: "private",
});
const codepipelineRole = new aws.iam.Role("codepipeline_role", {
    assumeRolePolicy: `{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "codepipeline.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
`,
});
const codepipelinePolicy = new aws.iam.RolePolicy("codepipeline_policy", {
    policy: pulumi.interpolate`{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect":"Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectVersion",
        "s3:GetBucketVersioning",
        "s3:PutObject"
      ],
      "Resource": [
        "${codepipelineBucket.arn}",
        "${codepipelineBucket.arn}/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "codebuild:BatchGetBuilds",
        "codebuild:StartBuild"
      ],
      "Resource": "*"
    }
  ]
}
`,
    role: codepipelineRole.id,
});
const s3kmskey = pulumi.output(aws.kms.getAlias({
    name: "alias/myKmsKey",
}, { async: true }));
const codepipeline = new aws.codepipeline.Pipeline("codepipeline", {
    artifactStores: {
        encryptionKey: {
            id: s3kmskey.arn,
            type: "KMS",
        },
        location: codepipelineBucket.bucket,
        type: "S3",
    },
    roleArn: codepipelineRole.arn,
    stages: [
        {
            actions: [{
                category: "Source",
                configuration: {
                    Branch: "master",
                    Owner: "my-organization",
                    Repo: "test",
                },
                name: "Source",
                outputArtifacts: ["source_output"],
                owner: "ThirdParty",
                provider: "GitHub",
                version: "1",
            }],
            name: "Source",
        },
        {
            actions: [{
                category: "Build",
                configuration: {
                    ProjectName: "test",
                },
                inputArtifacts: ["source_output"],
                name: "Build",
                outputArtifacts: ["build_output"],
                owner: "AWS",
                provider: "CodeBuild",
                version: "1",
            }],
            name: "Build",
        },
        {
            actions: [{
                category: "Deploy",
                configuration: {
                    ActionMode: "REPLACE_ON_FAILURE",
                    Capabilities: "CAPABILITY_AUTO_EXPAND,CAPABILITY_IAM",
                    OutputFileName: "CreateStackOutput.json",
                    StackName: "MyStack",
                    TemplatePath: "build_output::sam-templated.yaml",
                },
                inputArtifacts: ["build_output"],
                name: "Deploy",
                owner: "AWS",
                provider: "CloudFormation",
                version: "1",
            }],
            name: "Deploy",
        },
    ],
});

Create a Pipeline Resource

def Pipeline(resource_name, opts=None, artifact_store=None, name=None, role_arn=None, stages=None, tags=None, __props__=None);
func NewPipeline(ctx *Context, name string, args PipelineArgs, opts ...ResourceOption) (*Pipeline, error)
public Pipeline(string name, PipelineArgs args, CustomResourceOptions? opts = null)
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.
opts ResourceOptions
A bag of options that control this 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.

Pipeline Resource Properties

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

Inputs

The Pipeline resource accepts the following input properties:

ArtifactStore PipelineArtifactStoreArgs

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<PipelineStageArgs>

A stage block. Stages are documented below.

Name string

The name of the pipeline.

Tags Dictionary<string, string>

A map of tags to assign to the resource.

ArtifactStore PipelineArtifactStore

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.

Name string

The name of the pipeline.

Tags map[string]string

A map of tags to assign to the resource.

artifactStore PipelineArtifactStore

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.

name string

The name of the pipeline.

tags {[key: string]: string}

A map of tags to assign to the resource.

artifact_store Dict[PipelineArtifactStore]

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 List[PipelineStage]

A stage block. Stages are documented below.

name str

The name of the pipeline.

tags Dict[str, str]

A map of tags to assign to the resource.

Outputs

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

Arn string

The codepipeline ARN.

Id string
The provider-assigned unique ID for this managed resource.
Arn string

The codepipeline ARN.

Id string
The provider-assigned unique ID for this managed resource.
arn string

The codepipeline ARN.

id string
The provider-assigned unique ID for this managed resource.
arn str

The codepipeline ARN.

id str
The provider-assigned unique ID for this managed resource.

Look up an 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
static get(resource_name, id, opts=None, arn=None, artifact_store=None, name=None, role_arn=None, stages=None, tags=None, __props__=None);
func 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)
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.

The following state arguments are supported:

Arn string

The codepipeline ARN.

ArtifactStore PipelineArtifactStoreArgs

One or more artifact_store blocks. Artifact stores are documented below.

Name string

The name of the pipeline.

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<PipelineStageArgs>

A stage block. Stages are documented below.

Tags Dictionary<string, string>

A map of tags to assign to the resource.

Arn string

The codepipeline ARN.

ArtifactStore PipelineArtifactStore

One or more artifact_store blocks. Artifact stores are documented below.

Name string

The name of the pipeline.

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.

Tags map[string]string

A map of tags to assign to the resource.

arn string

The codepipeline ARN.

artifactStore PipelineArtifactStore

One or more artifact_store blocks. Artifact stores are documented below.

name string

The name of the pipeline.

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.

tags {[key: string]: string}

A map of tags to assign to the resource.

arn str

The codepipeline ARN.

artifact_store Dict[PipelineArtifactStore]

One or more artifact_store blocks. Artifact stores are documented below.

name str

The name of the pipeline.

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 List[PipelineStage]

A stage block. Stages are documented below.

tags Dict[str, str]

A map of tags to assign to the resource.

Supporting Types

PipelineArtifactStore

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

Location string

The location where AWS CodePipeline stores artifacts for a pipeline; currently only S3 is supported.

Type string

The type of the artifact store, such as Amazon S3

EncryptionKey PipelineArtifactStoreEncryptionKeyArgs

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_key block 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 S3 is supported.

Type string

The type of the artifact store, such as Amazon S3

EncryptionKey PipelineArtifactStoreEncryptionKey

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_key block 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 S3 is supported.

type string

The type of the artifact store, such as Amazon S3

encryptionKey PipelineArtifactStoreEncryptionKey

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_key block 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 S3 is supported.

type str

The type of the artifact store, such as Amazon S3

encryption_key Dict[PipelineArtifactStoreEncryptionKey]

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_key block 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.

PipelineArtifactStoreEncryptionKey

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

Id string

The KMS key ARN or ID

Type string

The type of key; currently only KMS is supported

Id string

The KMS key ARN or ID

Type string

The type of key; currently only KMS is supported

id string

The KMS key ARN or ID

type string

The type of key; currently only KMS is supported

id str

The KMS key ARN or ID

type str

The type of key; currently only KMS is supported

PipelineStage

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

Actions List<PipelineStageActionArgs>

The action(s) to include in the stage. Defined as an action block below

Name string

The name of the stage.

Actions []PipelineStageAction

The action(s) to include in the stage. Defined as an action block below

Name string

The name of the stage.

actions PipelineStageAction[]

The action(s) to include in the stage. Defined as an action block below

name string

The name of the stage.

actions List[PipelineStageAction]

The action(s) to include in the stage. Defined as an action block below

name str

The name of the stage.

PipelineStageAction

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

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, Source and Test.

Name string

The action declaration’s name.

Owner string

The creator of the action being called. Possible values are AWS, Custom and ThirdParty.

Provider string

The provider of the service being called by the action. Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of AWS CodeDeploy, which would be specified as CodeDeploy.

Version string

A string that identifies the action type.

Configuration Dictionary<string, string>

A Map of the action declaration’s configuration. Find out more about configuring action configurations in the Reference Pipeline Structure documentation.

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.

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, Source and Test.

Name string

The action declaration’s name.

Owner string

The creator of the action being called. Possible values are AWS, Custom and ThirdParty.

Provider string

The provider of the service being called by the action. Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of AWS CodeDeploy, which would be specified as CodeDeploy.

Version string

A string that identifies the action type.

Configuration map[string]string

A Map of the action declaration’s configuration. Find out more about configuring action configurations in the Reference Pipeline Structure documentation.

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.

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, Source and Test.

name string

The action declaration’s name.

owner string

The creator of the action being called. Possible values are AWS, Custom and ThirdParty.

provider string

The provider of the service being called by the action. Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of AWS CodeDeploy, which would be specified as CodeDeploy.

version string

A string that identifies the action type.

configuration {[key: string]: string}

A Map of the action declaration’s configuration. Find out more about configuring action configurations in the Reference Pipeline Structure documentation.

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.

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, Source and Test.

name str

The action declaration’s name.

owner str

The creator of the action being called. Possible values are AWS, Custom and ThirdParty.

provider str

The provider of the service being called by the action. Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of AWS CodeDeploy, which would be specified as CodeDeploy.

version str

A string that identifies the action type.

configuration Dict[str, str]

A Map of the action declaration’s configuration. Find out more about configuring action configurations in the Reference Pipeline Structure documentation.

inputArtifacts List[str]

A list of artifact names to be worked on.

namespace str

The namespace all output variables will be accessed from.

outputArtifacts List[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.

runOrder float

The order in which actions are run.

Package Details

Repository
https://github.com/pulumi/pulumi-aws
License
Apache-2.0
Notes
This Pulumi package is based on the aws Terraform Provider.