import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../../types/input"; import * as outputs from "../../types/output"; /** * Starts a build with the specified configuration. This method returns a long-running `Operation`, which includes the build ID. Pass the build ID to `GetBuild` to determine the build status (such as `SUCCESS` or `FAILURE`). * Auto-naming is currently not supported for this resource. * Note - this resource's API doesn't support deletion. When deleted, the resource will persist * on Google Cloud even though it will be deleted from Pulumi state. */ export declare class Build extends pulumi.CustomResource { /** * Get an existing Build resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Build; /** * Returns true if the given object is an instance of Build. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Build; /** * Describes this build's approval configuration, status, and result. */ readonly approval: pulumi.Output; /** * Artifacts produced by the build that should be uploaded upon successful completion of all build steps. */ readonly artifacts: pulumi.Output; /** * Secrets and secret environment variables. */ readonly availableSecrets: pulumi.Output; /** * The ID of the `BuildTrigger` that triggered this build, if it was triggered automatically. */ readonly buildTriggerId: pulumi.Output; /** * Time at which the request to create the build was received. */ readonly createTime: pulumi.Output; /** * Contains information about the build when status=FAILURE. */ readonly failureInfo: pulumi.Output; /** * Time at which execution of the build was finished. The difference between finish_time and start_time is the duration of the build's execution. */ readonly finishTime: pulumi.Output; /** * 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`. */ readonly images: pulumi.Output; readonly location: pulumi.Output; /** * URL to logs for this build in Google Cloud Console. */ readonly logUrl: pulumi.Output; /** * Cloud Storage bucket where logs should be written (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). Logs file names will be of the format `${logs_bucket}/log-${build_id}.txt`. */ readonly logsBucket: pulumi.Output; /** * The 'Build' name with format: `projects/{project}/locations/{location}/builds/{build}`, where {build} is a unique identifier generated by the service. */ readonly name: pulumi.Output; /** * Special options for this build. */ readonly options: pulumi.Output; readonly project: pulumi.Output; /** * Required. ID of the project. */ readonly projectId: pulumi.Output; /** * 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 create_time. */ readonly queueTtl: pulumi.Output; /** * Results of the build. */ readonly results: pulumi.Output; /** * Secrets to decrypt using Cloud Key Management Service. Note: Secret Manager is the recommended technique for managing sensitive data with Cloud Build. Use `available_secrets` to configure builds to access secrets from Secret Manager. For instructions, see: https://cloud.google.com/cloud-build/docs/securing-builds/use-secrets */ readonly secrets: pulumi.Output; /** * IAM service account whose credentials will be used at build runtime. Must be of the format `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. ACCOUNT can be email address or uniqueId of the service account. */ readonly serviceAccount: pulumi.Output; /** * The location of the source files to build. */ readonly source: pulumi.Output; /** * A permanent fixed identifier for source. */ readonly sourceProvenance: pulumi.Output; /** * Time at which execution of the build was started. */ readonly startTime: pulumi.Output; /** * Status of the build. */ readonly status: pulumi.Output; /** * Customer-readable message about the current status. */ readonly statusDetail: pulumi.Output; /** * The operations to be performed on the workspace. */ readonly steps: pulumi.Output; /** * Substitutions data for `Build` resource. */ readonly substitutions: pulumi.Output<{ [key: string]: string; }>; /** * Tags for annotation of a `Build`. These are not docker tags. */ readonly tags: pulumi.Output; /** * 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`. `timeout` starts ticking from `startTime`. Default time is 60 minutes. */ readonly timeout: pulumi.Output; /** * Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to push all artifacts including docker images and non docker artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If the build does not specify source or images, these keys will not be included. */ readonly timing: pulumi.Output<{ [key: string]: string; }>; /** * Non-fatal problems encountered during the execution of the build. */ readonly warnings: pulumi.Output; /** * Create a Build resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: BuildArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Build resource. */ export interface BuildArgs { /** * Artifacts produced by the build that should be uploaded upon successful completion of all build steps. */ artifacts?: pulumi.Input; /** * Secrets and secret environment variables. */ availableSecrets?: pulumi.Input; /** * 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?: pulumi.Input[]>; location?: pulumi.Input; /** * Cloud Storage bucket where logs should be written (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). Logs file names will be of the format `${logs_bucket}/log-${build_id}.txt`. */ logsBucket?: pulumi.Input; /** * Special options for this build. */ options?: pulumi.Input; project?: pulumi.Input; /** * Required. ID of the project. */ projectId: pulumi.Input; /** * 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 create_time. */ queueTtl?: pulumi.Input; /** * Secrets to decrypt using Cloud Key Management Service. Note: Secret Manager is the recommended technique for managing sensitive data with Cloud Build. Use `available_secrets` to configure builds to access secrets from Secret Manager. For instructions, see: https://cloud.google.com/cloud-build/docs/securing-builds/use-secrets */ secrets?: pulumi.Input[]>; /** * IAM service account whose credentials will be used at build runtime. Must be of the format `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. ACCOUNT can be email address or uniqueId of the service account. */ serviceAccount?: pulumi.Input; /** * The location of the source files to build. */ source?: pulumi.Input; /** * The operations to be performed on the workspace. */ steps: pulumi.Input[]>; /** * Substitutions data for `Build` resource. */ substitutions?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Tags for annotation of a `Build`. These are not docker tags. */ tags?: pulumi.Input[]>; /** * 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`. `timeout` starts ticking from `startTime`. Default time is 60 minutes. */ timeout?: pulumi.Input; }