@aws-quickstart/eks-blueprints
    Preparing search index...

    Class CodePipelineSourceAbstract

    Factory for CodePipeline source steps

    This class contains a number of factory methods for the different types of sources that CodePipeline supports.

    Hierarchy (View Summary)

    • Step
      • CodePipelineSource

    Implements

    Index

    Constructors

    Properties

    dependencyFileSets: FileSet[]

    The list of FileSets consumed by this Step

    id: string

    Identifier for this step

    isSource: true

    Whether or not this is a Source step

    What it means to be a Source step depends on the engine.

    Accessors

    • get consumedStackOutputs(): StackOutputReference[]

      StackOutputReferences this step consumes.

      Returns StackOutputReference[]

    • get dependencies(): Step[]

      Return the steps this step depends on, based on the FileSets it requires

      Returns Step[]

    • get primaryOutput(): undefined | FileSet

      The primary FileSet produced by this Step

      Not all steps produce an output FileSet--if they do you can substitute the Step object for the FileSet object.

      Returns undefined | FileSet

    Methods

    • Add an additional FileSet to the set of file sets required by this step

      This will lead to a dependency on the producer of that file set.

      Parameters

      Returns void

    • Add a dependency on another step.

      Parameters

      Returns void

    • Configure the given FileSet as the primary output of this step

      Parameters

      Returns void

    • Crawl the given structure for references to StepOutputs and add dependencies on all steps found

      Should be called in the constructor of subclasses based on what the user passes in as construction properties. The format of the structure passed in here does not have to correspond exactly to what gets rendered into the engine, it just needs to contain the same data.

      Parameters

      • structure: any

      Returns void

    • Parameters

      • output: Artifact
      • actionName: string
      • runOrder: number
      • OptionalvariablesNamespace: string

      Returns Action

    • Return an attribute of the current source revision

      These values can be passed into the environment variables of pipeline steps, so your steps can access information about the source revision.

      Pipeline synth step has some source attributes predefined in the environment. If these suffice, you don't need to use this method for the synth step.

      Parameters

      • name: string

      Returns string

      What attributes are available depends on the type of source. These attributes are supported:

      // Access the CommitId of a GitHub source in the synth
      const source = pipelines.CodePipelineSource.gitHub('owner/repo', 'main');

      const pipeline = new pipelines.CodePipeline(scope, 'MyPipeline', {
      synth: new pipelines.ShellStep('Synth', {
      input: source,
      commands: [],
      env: {
      'COMMIT_ID': source.sourceAttribute('CommitId'),
      }
      })
      });
    • Return a string representation of this Step

      Returns string

    • Returns a CodeCommit source.

      If you need access to symlinks or the repository history, be sure to set codeBuildCloneOutput.

      Parameters

      • repository: IRepository

        The CodeCommit repository.

      • branch: string

        The branch to use.

      • Optionalprops: CodeCommitSourceOptions

        The source properties.

      Returns CodePipelineSource

      declare const repository: codecommit.IRepository;
      pipelines.CodePipelineSource.codeCommit(repository, 'main');
    • Returns a CodeStar connection source. A CodeStar connection allows AWS CodePipeline to access external resources, such as repositories in GitHub, GitHub Enterprise or BitBucket.

      To use this method, you first need to create a CodeStar connection using the AWS console. In the process, you may have to sign in to the external provider -- GitHub, for example -- to authorize AWS to read and modify your repository. Once you have done this, copy the connection ARN and use it to create the source.

      Example:

      pipelines.CodePipelineSource.connection('owner/repo', 'main', {
      connectionArn: 'arn:aws:codestar-connections:us-east-1:222222222222:connection/7d2469ff-514a-4e4f-9003-5ca4a43cdc41', // Created using the AWS console
      });

      If you need access to symlinks or the repository history, be sure to set codeBuildCloneOutput.

      Parameters

      • repoString: string

        A string that encodes owner and repository separated by a slash (e.g. 'owner/repo'). The provided string must be resolvable at runtime.

      • branch: string

        The branch to use.

      • props: ConnectionSourceOptions

        The source properties, including the connection ARN.

      Returns CodePipelineSource

    • Returns an ECR source.

      Parameters

      • repository: IRepository

        The repository that will be watched for changes.

      • Optionalprops: ECRSourceOptions

        The options, which include the image tag to be checked for changes.

      Returns CodePipelineSource

      declare const repository: ecr.IRepository;
      pipelines.CodePipelineSource.ecr(repository, {
      imageTag: 'latest',
      });
    • Returns a GitHub source, using OAuth tokens to authenticate with GitHub and a separate webhook to detect changes. This is no longer the recommended method. Please consider using connection() instead.

      Pass in the owner and repository in a single string, like this:

      pipelines.CodePipelineSource.gitHub('owner/repo', 'main');
      

      Authentication will be done by a secret called github-token in AWS Secrets Manager (unless specified otherwise).

      If you rotate the value in the Secret, you must also change at least one property on the Pipeline, to force CloudFormation to re-read the secret.

      The token should have these permissions:

      • repo - to read the repository
      • admin:repo_hook - if you plan to use webhooks (true by default)

      If you need access to symlinks or the repository history, use a source of type connection instead.

      Parameters

      Returns CodePipelineSource

    • Returns an S3 source.

      Parameters

      • bucket: IBucket

        The bucket where the source code is located.

      • objectKey: string
      • Optionalprops: S3SourceOptions

        The options, which include the key that identifies the source code file and and how the pipeline should be triggered.

      Returns CodePipelineSource

      declare const bucket: s3.Bucket;
      pipelines.CodePipelineSource.s3(bucket, 'path/to/file.zip');
    • Define a sequence of steps to be executed in order.

      If you need more fine-grained step ordering, use the addStepDependency() API. For example, if you want secondStep to occur after firstStep, call secondStep.addStepDependency(firstStep).

      Parameters

      Returns Step[]