import * as core from "@terrascript/core"; export interface FilterArgs extends core.SchemaArgs { excludeMatchedPattern?: boolean | core.BooleanOut; pattern: string | core.StringOut; type: string | core.StringOut; } export class Filter extends core.Schema { @core.attr(Boolean) public excludeMatchedPattern?: boolean | core.BooleanOut; @core.attr(String) public pattern!: string | core.StringOut; @core.attr(String) public type!: string | core.StringOut; } export interface FilterGroupArgs extends core.SchemaArgs { filter?: core.Array | core.ArrayOut; } export class FilterGroup extends core.Schema { @core.attr(Filter, { kind: "array" }) public filter?: core.Array | core.ArrayOut; } export interface WebhookArgs extends core.ResourceArgs { /** * (Optional) A regular expression used to determine which branches get built. Default is all branches * are built. We recommend using `filter_group` over `branch_filter`. */ branchFilter?: string | core.StringOut; /** * (Optional) The type of build this webhook will trigger. Valid values for this parameter are: `BUILD` * , `BUILD_BATCH`. */ buildType?: string | core.StringOut; /** * (Optional) Information about the webhook's trigger. Filter group blocks are documented below. */ filterGroup?: core.Array | core.ArrayOut; /** * (Required) The name of the build project. */ projectName: string | core.StringOut; } export class Webhook extends core.Resource { /** * (Optional) A regular expression used to determine which branches get built. Default is all branches * are built. We recommend using `filter_group` over `branch_filter`. */ @core.attr(String) public branchFilter?: string | core.StringOut; /** * (Optional) The type of build this webhook will trigger. Valid values for this parameter are: `BUILD` * , `BUILD_BATCH`. */ @core.attr(String) public buildType?: string | core.StringOut; /** * (Optional) Information about the webhook's trigger. Filter group blocks are documented below. */ @core.attr(FilterGroup, { kind: "array" }) public filterGroup?: core.Array | core.ArrayOut; /** * The name of the build project. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * The CodeBuild endpoint where webhook events are sent. */ @core.attr(String, { computed: true }) public payloadUrl!: string | core.StringOut; /** * (Required) The name of the build project. */ @core.attr(String) public projectName!: string | core.StringOut; /** * The secret token of the associated repository. Not returned by the CodeBuild API for all source type * s. */ @core.attr(String, { computed: true }) public secret!: string | core.StringOut; /** * The URL to the webhook. */ @core.attr(String, { computed: true }) public url!: string | core.StringOut; constructor(name: string, args?: WebhookArgs) { super(name, "aws_codebuild_webhook", args); } public override getNamespace(): string { return "aws_codebuild"; } }