import codecommit = require('@aws-cdk/aws-codecommit'); import s3 = require('@aws-cdk/aws-s3'); import { cloudformation } from './codebuild.generated'; import { Project } from './project'; /** * Source Provider definition for a CodeBuild project * TODO: Abstract class should be an interface */ export declare abstract class BuildSource { /** * Called by the project when the source is added so that the source can perform * binding operations on the source. For example, it can grant permissions to the * code build project to read from the S3 bucket. */ bind(_project: Project): void; abstract toSourceJSON(): cloudformation.ProjectResource.SourceProperty; } /** * CodeCommit Source definition for a CodeBuild project */ export declare class CodeCommitSource extends BuildSource { private readonly repo; constructor(repo: codecommit.Repository); bind(project: Project): void; toSourceJSON(): cloudformation.ProjectResource.SourceProperty; } /** * CodePipeline Source definition for a CodeBuild project */ export declare class CodePipelineSource extends BuildSource { toSourceJSON(): cloudformation.ProjectResource.SourceProperty; bind(_project: Project): void; } /** * GitHub Source definition for a CodeBuild project */ export declare class GitHubSource extends BuildSource { private readonly httpscloneUrl; private readonly oauthToken; constructor(httpscloneUrl: string, oauthToken: any); toSourceJSON(): cloudformation.ProjectResource.SourceProperty; } /** * GitHub Enterprice Source definition for a CodeBuild project */ export declare class GitHubEnterpriseSource extends BuildSource { private readonly cloneUrl; constructor(cloneUrl: string); toSourceJSON(): cloudformation.ProjectResource.SourceProperty; } /** * BitBucket Source definition for a CodeBuild project */ export declare class BitBucketSource extends BuildSource { private readonly httpsCloneUrl; constructor(httpsCloneUrl: string); toSourceJSON(): cloudformation.ProjectResource.SourceProperty; } /** * S3 bucket definition for a CodeBuild project. */ export declare class S3BucketSource extends BuildSource { private readonly bucket; private readonly path; constructor(bucket: s3.BucketRef, path: string); toSourceJSON(): cloudformation.ProjectResource.SourceProperty; bind(project: Project): void; } /** * Source types for CodeBuild Project */ export declare enum SourceType { CodeCommit = "CODECOMMIT", CodePipeline = "CODEPIPELINE", GitHub = "GITHUB", GitHubEnterPrise = "GITHUB_ENTERPRISE", BitBucket = "BITBUCKET", S3 = "S3" }