@aws-cdk/aws-codebuild
Version:
The CDK Construct Library for AWS::CodeBuild
86 lines (85 loc) • 2.71 kB
TypeScript
import * as iam from '@aws-cdk/aws-iam';
import * as s3 from '@aws-cdk/aws-s3';
import * as cdk from '@aws-cdk/core';
import { Construct } from 'constructs';
/**
* The interface representing the ReportGroup resource -
* either an existing one, imported using the
* {@link ReportGroup.fromReportGroupName} method,
* or a new one, created with the {@link ReportGroup} class.
*/
export interface IReportGroup extends cdk.IResource {
/**
* The ARN of the ReportGroup.
*
* @attribute
*/
readonly reportGroupArn: string;
/**
* The name of the ReportGroup.
*
* @attribute
*/
readonly reportGroupName: string;
/**
* Grants the given entity permissions to write
* (that is, upload reports to)
* this report group.
*/
grantWrite(identity: iam.IGrantable): iam.Grant;
}
declare abstract class ReportGroupBase extends cdk.Resource implements IReportGroup {
abstract readonly reportGroupArn: string;
abstract readonly reportGroupName: string;
protected abstract readonly exportBucket?: s3.IBucket;
grantWrite(identity: iam.IGrantable): iam.Grant;
}
/**
* Construction properties for {@link ReportGroup}.
*/
export interface ReportGroupProps {
/**
* The physical name of the report group.
*
* @default - CloudFormation-generated name
*/
readonly reportGroupName?: string;
/**
* An optional S3 bucket to export the reports to.
*
* @default - the reports will not be exported
*/
readonly exportBucket?: s3.IBucket;
/**
* Whether to output the report files into the export bucket as-is,
* or create a ZIP from them before doing the export.
* Ignored if {@link exportBucket} has not been provided.
*
* @default - false (the files will not be ZIPped)
*/
readonly zipExport?: boolean;
/**
* What to do when this resource is deleted from a stack.
* As CodeBuild does not allow deleting a ResourceGroup that has reports inside of it,
* this is set to retain the resource by default.
*
* @default RemovalPolicy.RETAIN
*/
readonly removalPolicy?: cdk.RemovalPolicy;
}
/**
* The ReportGroup resource class.
*/
export declare class ReportGroup extends ReportGroupBase {
/**
* Reference an existing ReportGroup,
* defined outside of the CDK code,
* by name.
*/
static fromReportGroupName(scope: Construct, id: string, reportGroupName: string): IReportGroup;
readonly reportGroupArn: string;
readonly reportGroupName: string;
protected readonly exportBucket?: s3.IBucket;
constructor(scope: Construct, id: string, props?: ReportGroupProps);
}
export {};