All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.googlenative.cloudbuild.v1.kotlin.inputs.ArtifactsArgs.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.

The newest version!
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.googlenative.cloudbuild.v1.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.googlenative.cloudbuild.v1.inputs.ArtifactsArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * Artifacts produced by a build that should be uploaded upon successful completion of all build steps.
 * @property images 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.
 * @property mavenArtifacts A list of Maven artifacts to be uploaded to Artifact Registry upon successful completion of all build steps. Artifacts in the workspace matching specified paths globs will be uploaded to the specified Artifact Registry repository using the builder service account's credentials. If any artifacts fail to be pushed, the build is marked FAILURE.
 * @property npmPackages A list of npm packages to be uploaded to Artifact Registry upon successful completion of all build steps. Npm packages in the specified paths will be uploaded to the specified Artifact Registry repository using the builder service account's credentials. If any packages fail to be pushed, the build is marked FAILURE.
 * @property objects 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 specified 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.
 * @property pythonPackages A list of Python packages to be uploaded to Artifact Registry upon successful completion of all build steps. The build service account credentials will be used to perform the upload. If any objects fail to be pushed, the build is marked FAILURE.
 */
public data class ArtifactsArgs(
    public val images: Output>? = null,
    public val mavenArtifacts: Output>? = null,
    public val npmPackages: Output>? = null,
    public val objects: Output? = null,
    public val pythonPackages: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.googlenative.cloudbuild.v1.inputs.ArtifactsArgs =
        com.pulumi.googlenative.cloudbuild.v1.inputs.ArtifactsArgs.builder()
            .images(images?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .mavenArtifacts(
                mavenArtifacts?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .npmPackages(
                npmPackages?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .objects(objects?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .pythonPackages(
                pythonPackages?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            ).build()
}

/**
 * Builder for [ArtifactsArgs].
 */
@PulumiTagMarker
public class ArtifactsArgsBuilder internal constructor() {
    private var images: Output>? = null

    private var mavenArtifacts: Output>? = null

    private var npmPackages: Output>? = null

    private var objects: Output? = null

    private var pythonPackages: Output>? = null

    /**
     * @param value 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.
     */
    @JvmName("cqfhwfbvcubgeuov")
    public suspend fun images(`value`: Output>) {
        this.images = value
    }

    @JvmName("fywpmxghupolusmq")
    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 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.
     */
    @JvmName("tqlomcwpwpqxkqle")
    public suspend fun images(values: List>) {
        this.images = Output.all(values)
    }

    /**
     * @param value A list of Maven artifacts to be uploaded to Artifact Registry upon successful completion of all build steps. Artifacts in the workspace matching specified paths globs will be uploaded to the specified Artifact Registry repository using the builder service account's credentials. If any artifacts fail to be pushed, the build is marked FAILURE.
     */
    @JvmName("fhgyluxejlbsatqx")
    public suspend fun mavenArtifacts(`value`: Output>) {
        this.mavenArtifacts = value
    }

    @JvmName("kiqyaporcidhcept")
    public suspend fun mavenArtifacts(vararg values: Output) {
        this.mavenArtifacts = Output.all(values.asList())
    }

    /**
     * @param values A list of Maven artifacts to be uploaded to Artifact Registry upon successful completion of all build steps. Artifacts in the workspace matching specified paths globs will be uploaded to the specified Artifact Registry repository using the builder service account's credentials. If any artifacts fail to be pushed, the build is marked FAILURE.
     */
    @JvmName("htnmxdrooyclstun")
    public suspend fun mavenArtifacts(values: List>) {
        this.mavenArtifacts = Output.all(values)
    }

    /**
     * @param value A list of npm packages to be uploaded to Artifact Registry upon successful completion of all build steps. Npm packages in the specified paths will be uploaded to the specified Artifact Registry repository using the builder service account's credentials. If any packages fail to be pushed, the build is marked FAILURE.
     */
    @JvmName("ryxkhmfgxxahjbdh")
    public suspend fun npmPackages(`value`: Output>) {
        this.npmPackages = value
    }

    @JvmName("yydnyocbxckkaeej")
    public suspend fun npmPackages(vararg values: Output) {
        this.npmPackages = Output.all(values.asList())
    }

    /**
     * @param values A list of npm packages to be uploaded to Artifact Registry upon successful completion of all build steps. Npm packages in the specified paths will be uploaded to the specified Artifact Registry repository using the builder service account's credentials. If any packages fail to be pushed, the build is marked FAILURE.
     */
    @JvmName("ridlhburphcrlrcs")
    public suspend fun npmPackages(values: List>) {
        this.npmPackages = Output.all(values)
    }

    /**
     * @param value 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 specified 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.
     */
    @JvmName("slcwxaviqnjmqhqf")
    public suspend fun objects(`value`: Output) {
        this.objects = value
    }

    /**
     * @param value A list of Python packages to be uploaded to Artifact Registry upon successful completion of all build steps. The build service account credentials will be used to perform the upload. If any objects fail to be pushed, the build is marked FAILURE.
     */
    @JvmName("ycjqduryecbsqgua")
    public suspend fun pythonPackages(`value`: Output>) {
        this.pythonPackages = value
    }

    @JvmName("lfadtkughdmepvea")
    public suspend fun pythonPackages(vararg values: Output) {
        this.pythonPackages = Output.all(values.asList())
    }

    /**
     * @param values A list of Python packages to be uploaded to Artifact Registry upon successful completion of all build steps. The build service account credentials will be used to perform the upload. If any objects fail to be pushed, the build is marked FAILURE.
     */
    @JvmName("fprnyqyyhvsctblq")
    public suspend fun pythonPackages(values: List>) {
        this.pythonPackages = Output.all(values)
    }

    /**
     * @param value 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.
     */
    @JvmName("hicngwnpspeclmkl")
    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 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.
     */
    @JvmName("jybnvlfycjktppwb")
    public suspend fun images(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.images = mapped
    }

    /**
     * @param value A list of Maven artifacts to be uploaded to Artifact Registry upon successful completion of all build steps. Artifacts in the workspace matching specified paths globs will be uploaded to the specified Artifact Registry repository using the builder service account's credentials. If any artifacts fail to be pushed, the build is marked FAILURE.
     */
    @JvmName("kuxbpcjvomriekam")
    public suspend fun mavenArtifacts(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.mavenArtifacts = mapped
    }

    /**
     * @param argument A list of Maven artifacts to be uploaded to Artifact Registry upon successful completion of all build steps. Artifacts in the workspace matching specified paths globs will be uploaded to the specified Artifact Registry repository using the builder service account's credentials. If any artifacts fail to be pushed, the build is marked FAILURE.
     */
    @JvmName("ljgncsclkvbunaed")
    public suspend fun mavenArtifacts(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            MavenArtifactArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.mavenArtifacts = mapped
    }

    /**
     * @param argument A list of Maven artifacts to be uploaded to Artifact Registry upon successful completion of all build steps. Artifacts in the workspace matching specified paths globs will be uploaded to the specified Artifact Registry repository using the builder service account's credentials. If any artifacts fail to be pushed, the build is marked FAILURE.
     */
    @JvmName("tnwgkfibvpjfhqor")
    public suspend fun mavenArtifacts(vararg argument: suspend MavenArtifactArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            MavenArtifactArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.mavenArtifacts = mapped
    }

    /**
     * @param argument A list of Maven artifacts to be uploaded to Artifact Registry upon successful completion of all build steps. Artifacts in the workspace matching specified paths globs will be uploaded to the specified Artifact Registry repository using the builder service account's credentials. If any artifacts fail to be pushed, the build is marked FAILURE.
     */
    @JvmName("nrugtudmqnsvrifb")
    public suspend fun mavenArtifacts(argument: suspend MavenArtifactArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(MavenArtifactArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.mavenArtifacts = mapped
    }

    /**
     * @param values A list of Maven artifacts to be uploaded to Artifact Registry upon successful completion of all build steps. Artifacts in the workspace matching specified paths globs will be uploaded to the specified Artifact Registry repository using the builder service account's credentials. If any artifacts fail to be pushed, the build is marked FAILURE.
     */
    @JvmName("xdcyfjfvojjjbbmt")
    public suspend fun mavenArtifacts(vararg values: MavenArtifactArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.mavenArtifacts = mapped
    }

    /**
     * @param value A list of npm packages to be uploaded to Artifact Registry upon successful completion of all build steps. Npm packages in the specified paths will be uploaded to the specified Artifact Registry repository using the builder service account's credentials. If any packages fail to be pushed, the build is marked FAILURE.
     */
    @JvmName("vixakdbwanayqitc")
    public suspend fun npmPackages(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.npmPackages = mapped
    }

    /**
     * @param argument A list of npm packages to be uploaded to Artifact Registry upon successful completion of all build steps. Npm packages in the specified paths will be uploaded to the specified Artifact Registry repository using the builder service account's credentials. If any packages fail to be pushed, the build is marked FAILURE.
     */
    @JvmName("dteaqrdlmiyfwqxj")
    public suspend fun npmPackages(argument: List Unit>) {
        val toBeMapped = argument.toList().map { NpmPackageArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.npmPackages = mapped
    }

    /**
     * @param argument A list of npm packages to be uploaded to Artifact Registry upon successful completion of all build steps. Npm packages in the specified paths will be uploaded to the specified Artifact Registry repository using the builder service account's credentials. If any packages fail to be pushed, the build is marked FAILURE.
     */
    @JvmName("rwcycjkktmtbijgo")
    public suspend fun npmPackages(vararg argument: suspend NpmPackageArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map { NpmPackageArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.npmPackages = mapped
    }

    /**
     * @param argument A list of npm packages to be uploaded to Artifact Registry upon successful completion of all build steps. Npm packages in the specified paths will be uploaded to the specified Artifact Registry repository using the builder service account's credentials. If any packages fail to be pushed, the build is marked FAILURE.
     */
    @JvmName("fibwmqvatapshfie")
    public suspend fun npmPackages(argument: suspend NpmPackageArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(NpmPackageArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.npmPackages = mapped
    }

    /**
     * @param values A list of npm packages to be uploaded to Artifact Registry upon successful completion of all build steps. Npm packages in the specified paths will be uploaded to the specified Artifact Registry repository using the builder service account's credentials. If any packages fail to be pushed, the build is marked FAILURE.
     */
    @JvmName("txlxgabyhbrtfdsg")
    public suspend fun npmPackages(vararg values: NpmPackageArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.npmPackages = mapped
    }

    /**
     * @param value 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 specified 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.
     */
    @JvmName("quefodygokqttbpf")
    public suspend fun objects(`value`: ArtifactObjectsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.objects = mapped
    }

    /**
     * @param argument 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 specified 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.
     */
    @JvmName("ickxgtwcdkshkpnu")
    public suspend fun objects(argument: suspend ArtifactObjectsArgsBuilder.() -> Unit) {
        val toBeMapped = ArtifactObjectsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.objects = mapped
    }

    /**
     * @param value A list of Python packages to be uploaded to Artifact Registry upon successful completion of all build steps. The build service account credentials will be used to perform the upload. If any objects fail to be pushed, the build is marked FAILURE.
     */
    @JvmName("ovdkileprygjbxaa")
    public suspend fun pythonPackages(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.pythonPackages = mapped
    }

    /**
     * @param argument A list of Python packages to be uploaded to Artifact Registry upon successful completion of all build steps. The build service account credentials will be used to perform the upload. If any objects fail to be pushed, the build is marked FAILURE.
     */
    @JvmName("imovhjajnfgqnexf")
    public suspend fun pythonPackages(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            PythonPackageArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.pythonPackages = mapped
    }

    /**
     * @param argument A list of Python packages to be uploaded to Artifact Registry upon successful completion of all build steps. The build service account credentials will be used to perform the upload. If any objects fail to be pushed, the build is marked FAILURE.
     */
    @JvmName("atsqcsxvlrdaygba")
    public suspend fun pythonPackages(vararg argument: suspend PythonPackageArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            PythonPackageArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.pythonPackages = mapped
    }

    /**
     * @param argument A list of Python packages to be uploaded to Artifact Registry upon successful completion of all build steps. The build service account credentials will be used to perform the upload. If any objects fail to be pushed, the build is marked FAILURE.
     */
    @JvmName("fswvuvuwlbvxhjeb")
    public suspend fun pythonPackages(argument: suspend PythonPackageArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(PythonPackageArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.pythonPackages = mapped
    }

    /**
     * @param values A list of Python packages to be uploaded to Artifact Registry upon successful completion of all build steps. The build service account credentials will be used to perform the upload. If any objects fail to be pushed, the build is marked FAILURE.
     */
    @JvmName("pxjcgaivuqkqpvtr")
    public suspend fun pythonPackages(vararg values: PythonPackageArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.pythonPackages = mapped
    }

    internal fun build(): ArtifactsArgs = ArtifactsArgs(
        images = images,
        mavenArtifacts = mavenArtifacts,
        npmPackages = npmPackages,
        objects = objects,
        pythonPackages = pythonPackages,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy