Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.googlenative.cloudbuild.v1.kotlin.BuildArgs.kt Maven / Gradle / Ivy
Go to download
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.googlenative.cloudbuild.v1.kotlin
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.googlenative.cloudbuild.v1.BuildArgs.builder
import com.pulumi.googlenative.cloudbuild.v1.kotlin.inputs.ArtifactsArgs
import com.pulumi.googlenative.cloudbuild.v1.kotlin.inputs.ArtifactsArgsBuilder
import com.pulumi.googlenative.cloudbuild.v1.kotlin.inputs.BuildOptionsArgs
import com.pulumi.googlenative.cloudbuild.v1.kotlin.inputs.BuildOptionsArgsBuilder
import com.pulumi.googlenative.cloudbuild.v1.kotlin.inputs.BuildStepArgs
import com.pulumi.googlenative.cloudbuild.v1.kotlin.inputs.BuildStepArgsBuilder
import com.pulumi.googlenative.cloudbuild.v1.kotlin.inputs.SecretArgs
import com.pulumi.googlenative.cloudbuild.v1.kotlin.inputs.SecretArgsBuilder
import com.pulumi.googlenative.cloudbuild.v1.kotlin.inputs.SecretsArgs
import com.pulumi.googlenative.cloudbuild.v1.kotlin.inputs.SecretsArgsBuilder
import com.pulumi.googlenative.cloudbuild.v1.kotlin.inputs.SourceArgs
import com.pulumi.googlenative.cloudbuild.v1.kotlin.inputs.SourceArgsBuilder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* 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.
* @property artifacts Artifacts produced by the build that should be uploaded upon successful completion of all build steps.
* @property availableSecrets Secrets and secret environment variables.
* @property images 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`.
* @property location
* @property logsBucket 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`.
* @property options Special options for this build.
* @property project
* @property projectId Required. ID of the project.
* @property queueTtl 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.
* @property secrets 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
* @property serviceAccount 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.
* @property source The location of the source files to build.
* @property steps The operations to be performed on the workspace.
* @property substitutions Substitutions data for `Build` resource.
* @property tags Tags for annotation of a `Build`. These are not docker tags.
* @property timeout 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.
*/
public data class BuildArgs(
public val artifacts: Output? = null,
public val availableSecrets: Output? = null,
public val images: Output>? = null,
public val location: Output? = null,
public val logsBucket: Output? = null,
public val options: Output? = null,
public val project: Output? = null,
public val projectId: Output? = null,
public val queueTtl: Output? = null,
public val secrets: Output>? = null,
public val serviceAccount: Output? = null,
public val source: Output? = null,
public val steps: Output>? = null,
public val substitutions: Output>? = null,
public val tags: Output>? = null,
public val timeout: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.googlenative.cloudbuild.v1.BuildArgs =
com.pulumi.googlenative.cloudbuild.v1.BuildArgs.builder()
.artifacts(artifacts?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.availableSecrets(availableSecrets?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.images(images?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.location(location?.applyValue({ args0 -> args0 }))
.logsBucket(logsBucket?.applyValue({ args0 -> args0 }))
.options(options?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.project(project?.applyValue({ args0 -> args0 }))
.projectId(projectId?.applyValue({ args0 -> args0 }))
.queueTtl(queueTtl?.applyValue({ args0 -> args0 }))
.secrets(
secrets?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.serviceAccount(serviceAccount?.applyValue({ args0 -> args0 }))
.source(source?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.steps(steps?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
.substitutions(
substitutions?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}),
)
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.timeout(timeout?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [BuildArgs].
*/
@PulumiTagMarker
public class BuildArgsBuilder internal constructor() {
private var artifacts: Output? = null
private var availableSecrets: Output? = null
private var images: Output>? = null
private var location: Output? = null
private var logsBucket: Output? = null
private var options: Output? = null
private var project: Output? = null
private var projectId: Output? = null
private var queueTtl: Output? = null
private var secrets: Output>? = null
private var serviceAccount: Output? = null
private var source: Output? = null
private var steps: Output>? = null
private var substitutions: Output>? = null
private var tags: Output>? = null
private var timeout: Output? = null
/**
* @param value Artifacts produced by the build that should be uploaded upon successful completion of all build steps.
*/
@JvmName("hcdbjnapcbjccpnt")
public suspend fun artifacts(`value`: Output) {
this.artifacts = value
}
/**
* @param value Secrets and secret environment variables.
*/
@JvmName("diqesjcqpsrglnmv")
public suspend fun availableSecrets(`value`: Output) {
this.availableSecrets = value
}
/**
* @param value 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`.
*/
@JvmName("svxujdfgcfcyjbmk")
public suspend fun images(`value`: Output>) {
this.images = value
}
@JvmName("utxxgrxlfkfjwmas")
public suspend fun images(vararg values: Output) {
this.images = Output.all(values.asList())
}
/**
* @param values 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`.
*/
@JvmName("mfluuvqohcofyspo")
public suspend fun images(values: List>) {
this.images = Output.all(values)
}
/**
* @param value
*/
@JvmName("wqrkeyoygcsnavqn")
public suspend fun location(`value`: Output) {
this.location = value
}
/**
* @param value 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`.
*/
@JvmName("esqoyemjrkeavapv")
public suspend fun logsBucket(`value`: Output) {
this.logsBucket = value
}
/**
* @param value Special options for this build.
*/
@JvmName("kxaqoocpecohochd")
public suspend fun options(`value`: Output) {
this.options = value
}
/**
* @param value
*/
@JvmName("tucrhrqepqidrnpn")
public suspend fun project(`value`: Output) {
this.project = value
}
/**
* @param value Required. ID of the project.
*/
@JvmName("tejgwvwuohsdgplg")
public suspend fun projectId(`value`: Output) {
this.projectId = value
}
/**
* @param value 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.
*/
@JvmName("yxmksqsxrejvdklc")
public suspend fun queueTtl(`value`: Output) {
this.queueTtl = value
}
/**
* @param value 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
*/
@JvmName("xmbsiquovjvflreq")
public suspend fun secrets(`value`: Output>) {
this.secrets = value
}
@JvmName("cespnpwefqnbrijh")
public suspend fun secrets(vararg values: Output) {
this.secrets = Output.all(values.asList())
}
/**
* @param values 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
*/
@JvmName("ehdwylcrngxhpmyv")
public suspend fun secrets(values: List>) {
this.secrets = Output.all(values)
}
/**
* @param value 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.
*/
@JvmName("yjowebsguqffkmrf")
public suspend fun serviceAccount(`value`: Output) {
this.serviceAccount = value
}
/**
* @param value The location of the source files to build.
*/
@JvmName("yrdaagfkabxoubil")
public suspend fun source(`value`: Output) {
this.source = value
}
/**
* @param value The operations to be performed on the workspace.
*/
@JvmName("oshrritoxyvrhmuh")
public suspend fun steps(`value`: Output>) {
this.steps = value
}
@JvmName("ktepgljqvgyjiqdd")
public suspend fun steps(vararg values: Output) {
this.steps = Output.all(values.asList())
}
/**
* @param values The operations to be performed on the workspace.
*/
@JvmName("euehkqwrawjhqjcf")
public suspend fun steps(values: List>) {
this.steps = Output.all(values)
}
/**
* @param value Substitutions data for `Build` resource.
*/
@JvmName("xwfppbdktyhvgbxo")
public suspend fun substitutions(`value`: Output>) {
this.substitutions = value
}
/**
* @param value Tags for annotation of a `Build`. These are not docker tags.
*/
@JvmName("oljiaxihfbdlngcn")
public suspend fun tags(`value`: Output>) {
this.tags = value
}
@JvmName("mvjuunvlvbjynlcl")
public suspend fun tags(vararg values: Output) {
this.tags = Output.all(values.asList())
}
/**
* @param values Tags for annotation of a `Build`. These are not docker tags.
*/
@JvmName("qfbmprxunaimpjky")
public suspend fun tags(values: List>) {
this.tags = Output.all(values)
}
/**
* @param value 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.
*/
@JvmName("ccditakhblfhgjfo")
public suspend fun timeout(`value`: Output) {
this.timeout = value
}
/**
* @param value Artifacts produced by the build that should be uploaded upon successful completion of all build steps.
*/
@JvmName("frgiyxaexmolykyy")
public suspend fun artifacts(`value`: ArtifactsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.artifacts = mapped
}
/**
* @param argument Artifacts produced by the build that should be uploaded upon successful completion of all build steps.
*/
@JvmName("tfpnkseynasuwfau")
public suspend fun artifacts(argument: suspend ArtifactsArgsBuilder.() -> Unit) {
val toBeMapped = ArtifactsArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.artifacts = mapped
}
/**
* @param value Secrets and secret environment variables.
*/
@JvmName("gjesxvmdrdpfhiot")
public suspend fun availableSecrets(`value`: SecretsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.availableSecrets = mapped
}
/**
* @param argument Secrets and secret environment variables.
*/
@JvmName("gfndfmpvxrionnwh")
public suspend fun availableSecrets(argument: suspend SecretsArgsBuilder.() -> Unit) {
val toBeMapped = SecretsArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.availableSecrets = mapped
}
/**
* @param value 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`.
*/
@JvmName("pryhlpenorduebkw")
public suspend fun images(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.images = mapped
}
/**
* @param values 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`.
*/
@JvmName("ycroprlxqqsnqtio")
public suspend fun images(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.images = mapped
}
/**
* @param value
*/
@JvmName("qxayiuifjasttvsd")
public suspend fun location(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.location = mapped
}
/**
* @param value 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`.
*/
@JvmName("ksnksiyvpaymlgyu")
public suspend fun logsBucket(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.logsBucket = mapped
}
/**
* @param value Special options for this build.
*/
@JvmName("fbnqrnkkxyctvgvd")
public suspend fun options(`value`: BuildOptionsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.options = mapped
}
/**
* @param argument Special options for this build.
*/
@JvmName("oifpenyqrqsimhoe")
public suspend fun options(argument: suspend BuildOptionsArgsBuilder.() -> Unit) {
val toBeMapped = BuildOptionsArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.options = mapped
}
/**
* @param value
*/
@JvmName("uxvsskgfjkmpjxuh")
public suspend fun project(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.project = mapped
}
/**
* @param value Required. ID of the project.
*/
@JvmName("ydwanegavhbeoedi")
public suspend fun projectId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.projectId = mapped
}
/**
* @param value 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.
*/
@JvmName("lufrohgokatwpojo")
public suspend fun queueTtl(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.queueTtl = mapped
}
/**
* @param value 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
*/
@JvmName("bshmmkcxosmahjim")
public suspend fun secrets(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.secrets = mapped
}
/**
* @param argument 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
*/
@JvmName("bkniwegiatormhvr")
public suspend fun secrets(argument: List Unit>) {
val toBeMapped = argument.toList().map { SecretArgsBuilder().applySuspend { it() }.build() }
val mapped = of(toBeMapped)
this.secrets = mapped
}
/**
* @param argument 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
*/
@JvmName("ehiuovvnkigodhay")
public suspend fun secrets(vararg argument: suspend SecretArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map { SecretArgsBuilder().applySuspend { it() }.build() }
val mapped = of(toBeMapped)
this.secrets = mapped
}
/**
* @param argument 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
*/
@JvmName("tvbropoftbmdayyw")
public suspend fun secrets(argument: suspend SecretArgsBuilder.() -> Unit) {
val toBeMapped = listOf(SecretArgsBuilder().applySuspend { argument() }.build())
val mapped = of(toBeMapped)
this.secrets = mapped
}
/**
* @param values 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
*/
@JvmName("pphrlyqpuwtbslmu")
public suspend fun secrets(vararg values: SecretArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.secrets = mapped
}
/**
* @param value 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.
*/
@JvmName("rdrytuiyrfxwcigb")
public suspend fun serviceAccount(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.serviceAccount = mapped
}
/**
* @param value The location of the source files to build.
*/
@JvmName("trsfbbkrrtsdvhel")
public suspend fun source(`value`: SourceArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.source = mapped
}
/**
* @param argument The location of the source files to build.
*/
@JvmName("oycwetasdrhkwhuv")
public suspend fun source(argument: suspend SourceArgsBuilder.() -> Unit) {
val toBeMapped = SourceArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.source = mapped
}
/**
* @param value The operations to be performed on the workspace.
*/
@JvmName("ifkbcsiohuroopyi")
public suspend fun steps(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.steps = mapped
}
/**
* @param argument The operations to be performed on the workspace.
*/
@JvmName("tygrsduofejyqrlb")
public suspend fun steps(argument: List Unit>) {
val toBeMapped = argument.toList().map { BuildStepArgsBuilder().applySuspend { it() }.build() }
val mapped = of(toBeMapped)
this.steps = mapped
}
/**
* @param argument The operations to be performed on the workspace.
*/
@JvmName("hltmrnwqrfismbqk")
public suspend fun steps(vararg argument: suspend BuildStepArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map { BuildStepArgsBuilder().applySuspend { it() }.build() }
val mapped = of(toBeMapped)
this.steps = mapped
}
/**
* @param argument The operations to be performed on the workspace.
*/
@JvmName("bmmesxucopfbqyre")
public suspend fun steps(argument: suspend BuildStepArgsBuilder.() -> Unit) {
val toBeMapped = listOf(BuildStepArgsBuilder().applySuspend { argument() }.build())
val mapped = of(toBeMapped)
this.steps = mapped
}
/**
* @param values The operations to be performed on the workspace.
*/
@JvmName("gthksfwbihchmwvo")
public suspend fun steps(vararg values: BuildStepArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.steps = mapped
}
/**
* @param value Substitutions data for `Build` resource.
*/
@JvmName("iyhgcjgrqjjtgedm")
public suspend fun substitutions(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.substitutions = mapped
}
/**
* @param values Substitutions data for `Build` resource.
*/
@JvmName("omslrqinntkxxgos")
public fun substitutions(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.substitutions = mapped
}
/**
* @param value Tags for annotation of a `Build`. These are not docker tags.
*/
@JvmName("dcpctkrkjuxgxvwh")
public suspend fun tags(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param values Tags for annotation of a `Build`. These are not docker tags.
*/
@JvmName("gjkxmqfuyopiytel")
public suspend fun tags(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param value 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.
*/
@JvmName("pwftirjmexawyiwf")
public suspend fun timeout(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.timeout = mapped
}
internal fun build(): BuildArgs = BuildArgs(
artifacts = artifacts,
availableSecrets = availableSecrets,
images = images,
location = location,
logsBucket = logsBucket,
options = options,
project = project,
projectId = projectId,
queueTtl = queueTtl,
secrets = secrets,
serviceAccount = serviceAccount,
source = source,
steps = steps,
substitutions = substitutions,
tags = tags,
timeout = timeout,
)
}