UNPKG

cdktf-crd

Version:
784 lines 57.8 kB
import { Construct } from "constructs"; import { Manifest, type ManifestConfig } from "@cdktn/provider-kubernetes/lib/manifest"; export declare class CloudbuildCnrmCloudGoogleComCloudBuildTriggerV1beta1 extends Manifest { constructor(scope: Construct, id: string, config: CloudbuildCnrmCloudGoogleComCloudBuildTriggerV1beta1Config); } export interface CloudbuildCnrmCloudGoogleComCloudBuildTriggerV1beta1Config extends ManifestConfig { manifest: { apiVersion: "cloudbuild.cnrm.cloud.google.com/v1beta1"; kind: "CloudBuildTrigger"; metadata: { annotations?: { [key: string]: string; }; labels?: { [key: string]: string; }; name: string; namespace?: string; }; spec?: { /** * @description Configuration for manual approval to start a build invocation of this BuildTrigger. * Builds created by this trigger will require approval before they execute. * Any user with a Cloud Build Approver role for the project can approve a build. */ approvalConfig?: { /** * @description Whether or not approval is needed. If this is set on a build, it will become pending when run, * and will need to be explicitly approved to start. */ approvalRequired?: boolean; }; /** @description BitbucketServerTriggerConfig describes the configuration of a trigger that creates a build whenever a Bitbucket Server event is received. */ bitbucketServerTriggerConfig?: { /** * @description Only `external` field is supported to configure the reference. * * The full resource name of the bitbucket server config. Format: * projects/{project}/locations/{location}/bitbucketServerConfigs/{id}. */ bitbucketServerConfigResourceRef: { /** @description Allowed value: The `name` field of a `CloudBuildBitbucketServerConfig` resource. */ external?: string; /** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names */ name?: string; /** @description Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ */ namespace?: string; } & (unknown | unknown); /** @description Key of the project that the repo is in. For example: The key for https://mybitbucket.server/projects/TEST/repos/test-repo is "TEST". */ projectKey: string; /** @description Filter to match changes in pull requests. */ pullRequest?: { /** * @description Regex of branches to match. * The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax. */ branch: string; /** @description Configure builds to run whether a repository owner or collaborator need to comment /gcbrun. Possible values: ["COMMENTS_DISABLED", "COMMENTS_ENABLED", "COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY"]. */ commentControl?: string; /** @description If true, branches that do NOT match the git_ref will trigger a build. */ invertRegex?: boolean; }; /** @description Filter to match changes in refs like branches, tags. */ push?: { /** @description Regex of branches to match. Specify only one of branch or tag. */ branch?: string; /** @description When true, only trigger a build if the revision regex does NOT match the gitRef regex. */ invertRegex?: boolean; /** @description Regex of tags to match. Specify only one of branch or tag. */ tag?: string; }; /** * @description Slug of the repository. A repository slug is a URL-friendly version of a repository name, automatically generated by Bitbucket for use in the URL. * For example, if the repository name is 'test repo', in the URL it would become 'test-repo' as in https://mybitbucket.server/projects/TEST/repos/test-repo. */ repoSlug: string; }; /** @description Contents of the build template. Either a filename or build template must be provided. */ build?: { /** @description Artifacts produced by the build that should be uploaded upon successful completion of all build steps. */ artifacts?: { /** * @description A list of images to be pushed upon the successful completion of all build steps. * * The images will be pushed using the builder service account's credentials. * * The digests of the pushed images will be stored in the Build resource's results field. * * If any of the images fail to be pushed, the build is marked FAILURE. */ images?: string[]; /** * @description A list of objects to be uploaded to Cloud Storage upon successful completion of all build steps. * * Files in the workspace matching specified paths globs will be uploaded to the * Cloud Storage location using the builder service account's credentials. * * The location and generation of the uploaded objects will be stored in the Build resource's results field. * * If any objects fail to be pushed, the build is marked FAILURE. */ objects?: { /** * @description Cloud Storage bucket and optional object path, in the form "gs://bucket/path/to/somewhere/". * * Files in the workspace matching any path pattern will be uploaded to Cloud Storage with * this location as a prefix. */ location?: string; /** @description Path globs used to match files in the build's workspace. */ paths?: string[]; /** @description Output only. Stores timing information for pushing all artifact objects. */ timing?: { /** * @description End of time span. * * A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to * nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z". */ endTime?: string; /** * @description Start of time span. * * A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to * nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z". */ startTime?: string; }[]; }; }; /** @description Secrets and secret environment variables. */ availableSecrets?: { /** @description Pairs a secret environment variable with a SecretVersion in Secret Manager. */ secretManager: { /** * @description Environment variable name to associate with the secret. Secret environment * variables must be unique across all of a build's secrets, and must be used * by at least one build step. */ env: string; versionRef: { /** @description Allowed value: The `name` field of a `SecretManagerSecretVersion` resource. */ external?: string; /** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names */ name?: string; /** @description Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ */ namespace?: string; } & (unknown | unknown); }[]; }; /** * @description A list of images to be pushed upon the successful completion of all build steps. * The images are pushed using the builder service account's credentials. * The digests of the pushed images will be stored in the Build resource's results field. * If any of the images fail to be pushed, the build status is marked FAILURE. */ images?: string[]; /** * @description Google Cloud Storage bucket where logs should be written. Logs file * names will be of the format ${logsBucket}/log-${build_id}.txt. */ logsBucketRef?: { /** @description Allowed value: The `url` field of a `StorageBucket` resource. */ external?: string; /** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names */ name?: string; /** @description Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ */ namespace?: string; } & (unknown | unknown); /** @description Special options for this build. */ options?: { /** * @description Requested disk size for the VM that runs the build. Note that this is NOT "disk free"; * some of the space will be used by the operating system and build utilities. * Also note that this is the minimum disk size that will be allocated for the build -- * the build may run with a larger disk than requested. At present, the maximum disk size * is 1000GB; builds that request more than the maximum are rejected with an error. */ diskSizeGb?: number; /** * @description Option to specify whether or not to apply bash style string operations to the substitutions. * * NOTE this is always enabled for triggered builds and cannot be overridden in the build configuration file. */ dynamicSubstitutions?: boolean; /** * @description A list of global environment variable definitions that will exist for all build steps * in this build. If a variable is defined in both globally and in a build step, * the variable will use the build step value. * * The elements are of the form "KEY=VALUE" for the environment variable "KEY" being given the value "VALUE". */ env?: string[]; /** @description Option to define build log streaming behavior to Google Cloud Storage. Possible values: ["STREAM_DEFAULT", "STREAM_ON", "STREAM_OFF"]. */ logStreamingOption?: string; /** @description Option to specify the logging mode, which determines if and where build logs are stored. Possible values: ["LOGGING_UNSPECIFIED", "LEGACY", "GCS_ONLY", "STACKDRIVER_ONLY", "CLOUD_LOGGING_ONLY", "NONE"]. */ logging?: string; /** @description Compute Engine machine type on which to run the build. */ machineType?: string; /** @description Requested verifiability options. Possible values: ["NOT_VERIFIED", "VERIFIED"]. */ requestedVerifyOption?: string; /** * @description A list of global environment variables, which are encrypted using a Cloud Key Management * Service crypto key. These values must be specified in the build's Secret. These variables * will be available to all build steps in this build. */ secretEnv?: string[]; /** @description Requested hash for SourceProvenance. Possible values: ["NONE", "SHA256", "MD5"]. */ sourceProvenanceHash?: string[]; /** * @description Option to specify behavior when there is an error in the substitution checks. * * NOTE this is always set to ALLOW_LOOSE for triggered builds and cannot be overridden * in the build configuration file. Possible values: ["MUST_MATCH", "ALLOW_LOOSE"]. */ substitutionOption?: string; /** * @description Global list of volumes to mount for ALL build steps * * Each volume is created as an empty volume prior to starting the build process. * Upon completion of the build, volumes and their contents are discarded. Global * volume names and paths cannot conflict with the volumes defined a build step. * * Using a global volume in a build with only one step is not valid as it is indicative * of a build request with an incorrect configuration. */ volumes?: { /** * @description Name of the volume to mount. * * Volume names must be unique per build step and must be valid names for Docker volumes. * Each named volume must be used by at least two build steps. */ name?: string; /** * @description Path at which to mount the volume. * * Paths must be absolute and cannot conflict with other volume paths on the same * build step or with certain reserved volume paths. */ path?: string; }[]; /** * @description Option to specify a WorkerPool for the build. Format projects/{project}/workerPools/{workerPool} * * This field is experimental. */ workerPool?: string; }; /** * @description TTL in queue for this build. If provided and the build is enqueued longer than this value, * the build will expire and the build status will be EXPIRED. * The TTL starts ticking from createTime. * A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". */ queueTtl?: string; /** @description Secrets to decrypt using Cloud Key Management Service. */ secret?: { /** @description KMS crypto key to use to decrypt these envs. */ kmsKeyRef: { /** @description Allowed value: The `selfLink` field of a `KMSCryptoKey` resource. */ external?: string; /** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names */ name?: string; /** @description Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ */ namespace?: string; } & (unknown | unknown); /** * @description Map of environment variable name to its encrypted value. * Secret environment variables must be unique across all of a build's secrets, * and must be used by at least one build step. Values can be at most 64 KB in size. * There can be at most 100 secret values across all of a build's secrets. */ secretEnv?: { [key: string]: string; }; }[]; /** * @description The location of the source files to build. * * One of 'storageSource' or 'repoSource' must be provided. */ source?: { /** @description Location of the source in a Google Cloud Source Repository. */ repoSource?: { /** * @description Regex matching branches to build. Exactly one a of branch name, tag, or commit SHA must be provided. * The syntax of the regular expressions accepted is the syntax accepted by RE2 and * described at https://github.com/google/re2/wiki/Syntax. */ branchName?: string; /** @description Explicit commit SHA to build. Exactly one a of branch name, tag, or commit SHA must be provided. */ commitSha?: string; /** * @description Directory, relative to the source root, in which to run the build. * This must be a relative path. If a step's dir is specified and is an absolute path, * this value is ignored for that step's execution. */ dir?: string; /** @description Only trigger a build if the revision regex does NOT match the revision regex. */ invertRegex?: boolean; /** * @description ID of the project that owns the Cloud Source Repository. * If omitted, the project ID requesting the build is assumed. */ projectId?: string; /** * @description The desired Cloud Source Repository. If omitted, "default" is * assumed. */ repoRef: { /** @description Allowed value: The `name` field of a `SourceRepoRepository` resource. */ external?: string; /** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names */ name?: string; /** @description Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ */ namespace?: string; } & (unknown | unknown); /** @description Substitutions to use in a triggered build. Should only be used with triggers.run. */ substitutions?: { [key: string]: string; }; /** * @description Regex matching tags to build. Exactly one a of branch name, tag, or commit SHA must be provided. * The syntax of the regular expressions accepted is the syntax accepted by RE2 and * described at https://github.com/google/re2/wiki/Syntax. */ tagName?: string; }; /** @description Location of the source in an archive file in Google Cloud Storage. */ storageSource?: { /** @description Google Cloud Storage bucket containing the source. */ bucketRef: { /** @description Allowed value: The `name` field of a `StorageBucket` resource. */ external?: string; /** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names */ name?: string; /** @description Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ */ namespace?: string; } & (unknown | unknown); /** * @description Google Cloud Storage generation for the object. * If the generation is omitted, the latest generation will be used. */ generation?: string; /** * @description Google Cloud Storage object containing the source. * This object must be a gzipped archive file (.tar.gz) containing source to build. */ object: string; }; }; /** @description The operations to be performed on the workspace. */ step: { /** * @description Allow this build step to fail without failing the entire build if and * only if the exit code is one of the specified codes. * * If 'allowFailure' is also specified, this field will take precedence. */ allowExitCodes?: number[]; /** * @description Allow this build step to fail without failing the entire build. * If false, the entire build will fail if this step fails. Otherwise, the * build will succeed, but this step will still have a failure status. * Error information will be reported in the 'failureDetail' field. * * 'allowExitCodes' takes precedence over this field. */ allowFailure?: boolean; /** * @description A list of arguments that will be presented to the step when it is started. * * If the image used to run the step's container has an entrypoint, the args * are used as arguments to that entrypoint. If the image does not define an * entrypoint, the first element in args is used as the entrypoint, and the * remainder will be used as arguments. */ args?: string[]; /** * @description Working directory to use when running this step's container. * * If this value is a relative path, it is relative to the build's working * directory. If this value is absolute, it may be outside the build's working * directory, in which case the contents of the path may not be persisted * across build step executions, unless a 'volume' for that path is specified. * * If the build specifies a 'RepoSource' with 'dir' and a step with a * 'dir', * which specifies an absolute path, the 'RepoSource' 'dir' is ignored * for the step's execution. */ dir?: string; /** * @description Entrypoint to be used instead of the build step image's * default entrypoint. * If unset, the image's default entrypoint is used. */ entrypoint?: string; /** * @description A list of environment variable definitions to be used when * running a step. * * The elements are of the form "KEY=VALUE" for the environment variable * "KEY" being given the value "VALUE". */ env?: string[]; /** * @description Unique identifier for this build step, used in 'wait_for' to * reference this build step as a dependency. */ id?: string; /** * @description The name of the container image that will run this particular build step. * * If the image is available in the host's Docker daemon's cache, it will be * run directly. If not, the host will attempt to pull the image first, using * the builder service account's credentials if necessary. * * The Docker daemon's cache will already have the latest versions of all of * the officially supported build steps (see https://github.com/GoogleCloudPlatform/cloud-builders * for images and examples). * The Docker daemon will also have cached many of the layers for some popular * images, like "ubuntu", "debian", but they will be refreshed at the time * you attempt to use them. * * If you built an image in a previous build step, it will be stored in the * host's Docker daemon's cache and is available to use as the name for a * later build step. */ name: string; /** * @description A shell script to be executed in the step. * When script is provided, the user cannot specify the entrypoint or args. */ script?: string; /** * @description A list of environment variables which are encrypted using * a Cloud Key * Management Service crypto key. These values must be specified in * the build's 'Secret'. */ secretEnv?: string[]; /** * @description Time limit for executing this build step. If not defined, * the step has no * time limit and will be allowed to continue to run until either it * completes or the build itself times out. */ timeout?: string; /** * @description Output only. Stores timing information for executing this * build step. */ timing?: string; /** * @description List of volumes to mount into the build step. * * Each volume is created as an empty volume prior to execution of the * build step. Upon completion of the build, volumes and their contents * are discarded. * * Using a named volume in only one step is not valid as it is * indicative of a build request with an incorrect configuration. */ volumes?: { /** * @description Name of the volume to mount. * * Volume names must be unique per build step and must be valid names for * Docker volumes. Each named volume must be used by at least two build steps. */ name: string; /** * @description Path at which to mount the volume. * * Paths must be absolute and cannot conflict with other volume paths on * the same build step or with certain reserved volume paths. */ path: string; }[]; /** * @description The ID(s) of the step(s) that this build step depends on. * * This build step will not start until all the build steps in 'wait_for' * have completed successfully. If 'wait_for' is empty, this build step * will start when all previous build steps in the 'Build.Steps' list * have completed successfully. */ waitFor?: string[]; }[]; /** @description Substitutions data for Build resource. */ substitutions?: { [key: string]: string; }; /** @description Tags for annotation of a Build. These are not docker tags. */ tags?: string[]; /** * @description Amount of time that this build should be allowed to run, to second granularity. * If this amount of time elapses, work on the build will cease and the build status will be TIMEOUT. * This timeout must be equal to or greater than the sum of the timeouts for build steps within the build. * The expected format is the number of seconds followed by s. * Default time is ten minutes (600s). */ timeout?: string; }; /** @description Human-readable description of the trigger. */ description?: string; /** @description Whether the trigger is disabled or not. If true, the trigger will never result in a build. */ disabled?: boolean; /** * @description Path, from the source root, to a file whose contents is used for the template. * Either a filename or build template must be provided. Set this only when using trigger_template or github. * When using Pub/Sub, Webhook or Manual set the file name using git_file_source instead. */ filename?: string; /** @description A Common Expression Language string. Used only with Pub/Sub and Webhook. */ filter?: string; /** @description The file source describing the local or remote Build template. */ gitFileSource?: { /** * @description Only `external` field is supported to configure the reference. * * The full resource name of the bitbucket server config. Format: * projects/{project}/locations/{location}/bitbucketServerConfigs/{id}. */ bitbucketServerConfigRef?: { /** @description Allowed value: The `name` field of a `CloudBuildBitbucketServerConfig` resource. */ external?: string; /** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names */ name?: string; /** @description Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ */ namespace?: string; } & (unknown | unknown); /** * @description Only `external` field is supported to configure the reference. * * The full resource name of the github enterprise config. Format: * projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}. */ githubEnterpriseConfigRef?: { /** @description Allowed value: The `name` field of a `CloudBuildGithubEnterpriseConfig` resource. */ external?: string; /** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names */ name?: string; /** @description Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ */ namespace?: string; } & (unknown | unknown); /** @description The path of the file, with the repo root as the root of the path. */ path: string; /** * @description The type of the repo, since it may not be explicit from the repo field (e.g from a URL). * Values can be UNKNOWN, CLOUD_SOURCE_REPOSITORIES, GITHUB, BITBUCKET_SERVER Possible values: ["UNKNOWN", "CLOUD_SOURCE_REPOSITORIES", "GITHUB", "BITBUCKET_SERVER"]. */ repoType: string; /** * @description Only `external` field is supported to configure the reference. * * The fully qualified resource name of the Repo API repository. The fully qualified resource name of the Repo API repository. * If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path. */ repositoryRef?: { /** @description Allowed value: The `name` field of a `CloudBuildV2Repository` resource. */ external?: string; /** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names */ name?: string; /** @description Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ */ namespace?: string; } & (unknown | unknown); /** * @description The branch, tag, arbitrary ref, or SHA version of the repo to use when resolving the * filename (optional). This field respects the same syntax/resolution as described here: https://git-scm.com/docs/gitrevisions * If unspecified, the revision from which the trigger invocation originated is assumed to be the revision from which to read the specified path. */ revision?: string; /** * @description The URI of the repo (optional). If unspecified, the repo from which the trigger * invocation originated is assumed to be the repo from which to read the specified path. */ uri?: string; }; /** * @description Describes the configuration of a trigger that creates a build whenever a GitHub event is received. * * One of 'trigger_template', 'github', 'pubsub_config' or 'webhook_config' must be provided. */ github?: { /** * @description Only `external` field is supported to configure the reference. * * The full resource name of the github enterprise config. Format: * projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}. */ enterpriseConfigResourceNameRef?: { /** @description Allowed value: The `name` field of a `CloudBuildGithubEnterpriseConfig` resource. */ external?: string; /** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names */ name?: string; /** @description Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ */ namespace?: string; } & (unknown | unknown); /** * @description Name of the repository. For example: The name for * https://github.com/googlecloudplatform/cloud-builders is "cloud-builders". */ name?: string; /** * @description Owner of the repository. For example: The owner for * https://github.com/googlecloudplatform/cloud-builders is "googlecloudplatform". */ owner?: string; /** @description filter to match changes in pull requests. Specify only one of 'pull_request' or 'push'. */ pullRequest?: { /** @description Regex of branches to match. */ branch: string; /** @description Whether to block builds on a "/gcbrun" comment from a repository owner or collaborator. Possible values: ["COMMENTS_DISABLED", "COMMENTS_ENABLED", "COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY"]. */ commentControl?: string; /** @description If true, branches that do NOT match the git_ref will trigger a build. */ invertRegex?: boolean; }; /** @description filter to match changes in refs, like branches or tags. Specify only one of 'pull_request' or 'push'. */ push?: { /** @description Regex of branches to match. Specify only one of branch or tag. */ branch?: string; /** @description When true, only trigger a build if the revision regex does NOT match the git_ref regex. */ invertRegex?: boolean; /** @description Regex of tags to match. Specify only one of branch or tag. */ tag?: string; }; }; /** * @description ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match * extended with support for '**'. * * If ignoredFiles and changed files are both empty, then they are not * used to determine whether or not to trigger a build. * * If ignoredFiles is not empty, then we ignore any files that match any * of the ignored_file globs. If the change has no files that are outside * of the ignoredFiles globs, then we do not trigger a build. */ ignoredFiles?: string[]; /** * @description Build logs will be sent back to GitHub as part of the checkrun * result. Values can be INCLUDE_BUILD_LOGS_UNSPECIFIED or * INCLUDE_BUILD_LOGS_WITH_STATUS Possible values: ["INCLUDE_BUILD_LOGS_UNSPECIFIED", "INCLUDE_BUILD_LOGS_WITH_STATUS"]. */ includeBuildLogs?: string; /** * @description ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match * extended with support for '**'. * * If any of the files altered in the commit pass the ignoredFiles filter * and includedFiles is empty, then as far as this filter is concerned, we * should trigger the build. * * If any of the files altered in the commit pass the ignoredFiles filter * and includedFiles is not empty, then we make sure that at least one of * those files matches a includedFiles glob. If not, then we do not trigger * a build. */ includedFiles?: string[]; /** @description Immutable. The location of the Cloud Build trigger. If not specified, "global" is used. More info: cloud.google.com/build/docs/locations. */ location?: string; /** * @description PubsubConfig describes the configuration of a trigger that creates * a build whenever a Pub/Sub message is published. * * One of 'trigger_template', 'github', 'pubsub_config' 'webhook_config' or 'source_to_build' must be provided. */ pubsubConfig?: { /** @description Service account that will make the push request. */ serviceAccountRef?: { /** @description Allowed value: The `email` field of an `IAMServiceAccount` resource. */ external?: string; /** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names */ name?: string; /** @description Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ */ namespace?: string; } & (unknown | unknown); /** * @description Potential issues with the underlying Pub/Sub subscription configuration. * Only populated on get requests. */ state?: string; /** @description Output only. Name of the subscription. */ subscription?: string; /** * @description The name of the topic from which this subscription * is receiving messages. */ topicRef: { /** @description Allowed value: string of the format `projects/{{project}}/topics/{{value}}`, where {{value}} is the `name` field of a `PubSubTopic` resource. */ external?: string; /** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names */ name?: string; /** @description Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ */ namespace?: string; } & (unknown | unknown); }; /** @description The configuration of a trigger that creates a build whenever an event from Repo API is received. */ repositoryEventConfig?: { /** @description Contains filter properties for matching Pull Requests. */ pullRequest?: { /** * @description Regex of branches to match. * * The syntax of the regular expressions accepted is the syntax accepted by * RE2 and described at https://github.com/google/re2/wiki/Syntax. */ branch?: string; /** @description Configure builds to run whether a repository owner or collaborator need to comment '/gcbrun'. Possible values: ["COMMENTS_DISABLED", "COMMENTS_ENABLED", "COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY"]. */ commentControl?: string; /** @description If true, branches that do NOT match the git_ref will trigger a build. */ invertRegex?: boolean; }; /** @description Contains filter properties for matching git pushes. */ push?: { /** * @description Regex of branches to match. * * The syntax of the regular expressions accepted is the syntax accepted by * RE2 and described at https://github.com/google/re2/wiki/Syntax. */ branch?: string; /** @description If true, only trigger a build if the revision regex does NOT match the git_ref regex. */ invertRegex?: boolean; /** * @description Regex of tags to match. * * The syntax of the regular expressions accepted is the syntax accepted by * RE2 and described at https://github.com/google/re2/wiki/Syntax. */ tag?: string; }; /** @description The resource name of the Repo API resource. */ repository?: string; }; /** * @description The service account used for all user-controlled operations including * triggers.patch, triggers.run, builds.create, and builds.cancel. * * If no service account is set, then the standard Cloud Build service account * ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. * * When populating via the external field, the following format is supported: * projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL} */ serviceAccountRef?: { /** @description Allowed value: string of the format `projects/{{project}}/serviceAccounts/{{value}}`, where {{value}} is the `email` field of an `IAMServiceAccount` resource. */ external?: string; /** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names */ name?: string; /** @description Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ */ namespace?: string; } & (unknown | unknown); /** * @description The repo and ref of the repository from which to build. * This field is used only for those triggers that do not respond to SCM events. * Triggers that respond to such events build source at whatever commit caused the event. * This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers. * * One of 'trigger_template', 'github', 'pubsub_config' 'webhook_config' or 'source_to_build' must be provided. */ sourceToBuild?: { /** * @description Only `external` field is supported to configure the reference. * * The full resource name of the bitbucket server config. Format: * projects/{project}/locations/{location}/bitbucketServerConfigs/{id}. */ bitbucketServerConfigRef?: { /** @description Allowed value: The `name` field of a `CloudBuildBitbucketServerConfig` resource. */ external?: string; /** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names */ name?: string; /** @description Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ */ namespace?: string; } & (unknown | unknown); /** * @description Only `external` field is supported to configure the reference. * * The full resource name of the github enterprise config. Format: * pro