import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "../../types"; /** * 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`). */ 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; /** * 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; /** * 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; /** * URL to logs for this build in Google Cloud Console. */ readonly logUrl: pulumi.Output; /** * Google 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; /** * 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. This field is in beta. */ 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; /** * Required. 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 ten 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 specified images. * FETCHSOURCE: time to fetch source. If the build does not specify source or images, these keys will not be included. */ readonly timing: pulumi.Output<{ [key: string]: string; }>; /** * 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. */ readonly artifacts?: pulumi.Input; /** * Secrets and secret environment variables. */ readonly availableSecrets?: pulumi.Input; readonly buildsId: 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`. */ readonly images?: pulumi.Input[]>; readonly locationsId: pulumi.Input; /** * Google 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.Input; /** * Special options for this build. */ readonly options?: pulumi.Input; readonly projectsId: 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. */ readonly 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 */ readonly 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. This field is in beta. */ readonly serviceAccount?: pulumi.Input; /** * The location of the source files to build. */ readonly source?: pulumi.Input; /** * Required. The operations to be performed on the workspace. */ readonly steps?: pulumi.Input[]>; /** * Substitutions data for `Build` resource. */ readonly substitutions?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Tags for annotation of a `Build`. These are not docker tags. */ readonly 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 ten minutes. */ readonly timeout?: pulumi.Input; }