50 lines
1.7 KiB
TypeScript
50 lines
1.7 KiB
TypeScript
import type { Construct } from 'constructs';
|
|
/**
|
|
* BuildSpec for CodeBuild projects
|
|
*/
|
|
export declare abstract class BuildSpec {
|
|
static fromObject(value: {
|
|
[key: string]: any;
|
|
}): BuildSpec;
|
|
/**
|
|
* Create a buildspec from an object that will be rendered as YAML in the resulting CloudFormation template.
|
|
*
|
|
* @param value the object containing the buildspec that will be rendered as YAML
|
|
*/
|
|
static fromObjectToYaml(value: {
|
|
[key: string]: any;
|
|
}): BuildSpec;
|
|
/**
|
|
* Use a file from the source as buildspec
|
|
*
|
|
* Use this if you want to use a file different from 'buildspec.yml'`
|
|
*/
|
|
static fromSourceFilename(filename: string): BuildSpec;
|
|
/**
|
|
* Use the contents of a local file as the build spec string
|
|
*
|
|
* Use this if you have a local .yml or .json file that you want to use as the buildspec
|
|
*/
|
|
static fromAsset(path: string): BuildSpec;
|
|
/**
|
|
* Whether the buildspec is directly available or deferred until build-time
|
|
*/
|
|
abstract readonly isImmediate: boolean;
|
|
protected constructor();
|
|
/**
|
|
* Render the represented BuildSpec
|
|
*/
|
|
abstract toBuildSpec(scope?: Construct): string;
|
|
}
|
|
/**
|
|
* Merge two buildspecs into a new BuildSpec by doing a deep merge
|
|
*
|
|
* We decided to disallow merging of artifact specs, which is
|
|
* actually impossible since we can't merge two buildspecs with a
|
|
* single primary output into a buildspec with multiple outputs.
|
|
* In case of multiple outputs they must have identifiers but we won't have that information.
|
|
*
|
|
* In case of test reports we replace the whole object with the RHS (instead of recursively merging)
|
|
*/
|
|
export declare function mergeBuildSpecs(lhs: BuildSpec, rhs: BuildSpec): BuildSpec;
|