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

com.pulumi.gcp.cloudbuild.kotlin.inputs.TriggerGitFileSourceArgs.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.

There is a newer version: 8.10.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.cloudbuild.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.cloudbuild.inputs.TriggerGitFileSourceArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property bitbucketServerConfig The full resource name of the bitbucket server config.
 * Format: projects/{project}/locations/{location}/bitbucketServerConfigs/{id}.
 * @property githubEnterpriseConfig The full resource name of the github enterprise config.
 * Format: projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}. projects/{project}/githubEnterpriseConfigs/{id}.
 * @property path The path of the file, with the repo root as the root of the path.
 * @property repoType 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 are: `UNKNOWN`, `CLOUD_SOURCE_REPOSITORIES`, `GITHUB`, `BITBUCKET_SERVER`.
 * @property repository 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.
 * @property revision 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.
 * @property uri 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.
 */
public data class TriggerGitFileSourceArgs(
    public val bitbucketServerConfig: Output? = null,
    public val githubEnterpriseConfig: Output? = null,
    public val path: Output,
    public val repoType: Output,
    public val repository: Output? = null,
    public val revision: Output? = null,
    public val uri: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.cloudbuild.inputs.TriggerGitFileSourceArgs =
        com.pulumi.gcp.cloudbuild.inputs.TriggerGitFileSourceArgs.builder()
            .bitbucketServerConfig(bitbucketServerConfig?.applyValue({ args0 -> args0 }))
            .githubEnterpriseConfig(githubEnterpriseConfig?.applyValue({ args0 -> args0 }))
            .path(path.applyValue({ args0 -> args0 }))
            .repoType(repoType.applyValue({ args0 -> args0 }))
            .repository(repository?.applyValue({ args0 -> args0 }))
            .revision(revision?.applyValue({ args0 -> args0 }))
            .uri(uri?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [TriggerGitFileSourceArgs].
 */
@PulumiTagMarker
public class TriggerGitFileSourceArgsBuilder internal constructor() {
    private var bitbucketServerConfig: Output? = null

    private var githubEnterpriseConfig: Output? = null

    private var path: Output? = null

    private var repoType: Output? = null

    private var repository: Output? = null

    private var revision: Output? = null

    private var uri: Output? = null

    /**
     * @param value The full resource name of the bitbucket server config.
     * Format: projects/{project}/locations/{location}/bitbucketServerConfigs/{id}.
     */
    @JvmName("klvqgdslyybdjhlk")
    public suspend fun bitbucketServerConfig(`value`: Output) {
        this.bitbucketServerConfig = value
    }

    /**
     * @param value The full resource name of the github enterprise config.
     * Format: projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}. projects/{project}/githubEnterpriseConfigs/{id}.
     */
    @JvmName("ysagjoyksvnohptm")
    public suspend fun githubEnterpriseConfig(`value`: Output) {
        this.githubEnterpriseConfig = value
    }

    /**
     * @param value The path of the file, with the repo root as the root of the path.
     */
    @JvmName("bwevekltcpllsxce")
    public suspend fun path(`value`: Output) {
        this.path = value
    }

    /**
     * @param value 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 are: `UNKNOWN`, `CLOUD_SOURCE_REPOSITORIES`, `GITHUB`, `BITBUCKET_SERVER`.
     */
    @JvmName("rflekquheshtxefo")
    public suspend fun repoType(`value`: Output) {
        this.repoType = value
    }

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

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

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

    /**
     * @param value The full resource name of the bitbucket server config.
     * Format: projects/{project}/locations/{location}/bitbucketServerConfigs/{id}.
     */
    @JvmName("bnguribjhhkcnrsf")
    public suspend fun bitbucketServerConfig(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.bitbucketServerConfig = mapped
    }

    /**
     * @param value The full resource name of the github enterprise config.
     * Format: projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}. projects/{project}/githubEnterpriseConfigs/{id}.
     */
    @JvmName("ogciodjyynrdlklu")
    public suspend fun githubEnterpriseConfig(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.githubEnterpriseConfig = mapped
    }

    /**
     * @param value The path of the file, with the repo root as the root of the path.
     */
    @JvmName("smhusdogybanfkua")
    public suspend fun path(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.path = mapped
    }

    /**
     * @param value 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 are: `UNKNOWN`, `CLOUD_SOURCE_REPOSITORIES`, `GITHUB`, `BITBUCKET_SERVER`.
     */
    @JvmName("hnuesneqkukxiuki")
    public suspend fun repoType(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.repoType = mapped
    }

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

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

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

    internal fun build(): TriggerGitFileSourceArgs = TriggerGitFileSourceArgs(
        bitbucketServerConfig = bitbucketServerConfig,
        githubEnterpriseConfig = githubEnterpriseConfig,
        path = path ?: throw PulumiNullFieldException("path"),
        repoType = repoType ?: throw PulumiNullFieldException("repoType"),
        repository = repository,
        revision = revision,
        uri = uri,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy