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

com.pulumi.cloudflare.kotlin.inputs.PagesProjectSourceConfigArgs.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: 5.47.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.cloudflare.kotlin.inputs

import com.pulumi.cloudflare.inputs.PagesProjectSourceConfigArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property deploymentsEnabled Toggle deployments on this repo. Defaults to `true`.
 * @property owner Project owner username. **Modifying this attribute will force creation of a new resource.**
 * @property prCommentsEnabled Enable Pages to comment on Pull Requests. Defaults to `true`.
 * @property previewBranchExcludes Branches will be excluded from automatic deployment.
 * @property previewBranchIncludes Branches will be included for automatic deployment.
 * @property previewDeploymentSetting Preview Deployment Setting. Available values: `custom`, `all`, `none`. Defaults to `all`.
 * @property productionBranch Project production branch name.
 * @property productionDeploymentEnabled Enable production deployments. Defaults to `true`.
 * @property repoName Project repository name. **Modifying this attribute will force creation of a new resource.**
 */
public data class PagesProjectSourceConfigArgs(
    public val deploymentsEnabled: Output? = null,
    public val owner: Output? = null,
    public val prCommentsEnabled: Output? = null,
    public val previewBranchExcludes: Output>? = null,
    public val previewBranchIncludes: Output>? = null,
    public val previewDeploymentSetting: Output? = null,
    public val productionBranch: Output,
    public val productionDeploymentEnabled: Output? = null,
    public val repoName: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.cloudflare.inputs.PagesProjectSourceConfigArgs =
        com.pulumi.cloudflare.inputs.PagesProjectSourceConfigArgs.builder()
            .deploymentsEnabled(deploymentsEnabled?.applyValue({ args0 -> args0 }))
            .owner(owner?.applyValue({ args0 -> args0 }))
            .prCommentsEnabled(prCommentsEnabled?.applyValue({ args0 -> args0 }))
            .previewBranchExcludes(previewBranchExcludes?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .previewBranchIncludes(previewBranchIncludes?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .previewDeploymentSetting(previewDeploymentSetting?.applyValue({ args0 -> args0 }))
            .productionBranch(productionBranch.applyValue({ args0 -> args0 }))
            .productionDeploymentEnabled(productionDeploymentEnabled?.applyValue({ args0 -> args0 }))
            .repoName(repoName?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [PagesProjectSourceConfigArgs].
 */
@PulumiTagMarker
public class PagesProjectSourceConfigArgsBuilder internal constructor() {
    private var deploymentsEnabled: Output? = null

    private var owner: Output? = null

    private var prCommentsEnabled: Output? = null

    private var previewBranchExcludes: Output>? = null

    private var previewBranchIncludes: Output>? = null

    private var previewDeploymentSetting: Output? = null

    private var productionBranch: Output? = null

    private var productionDeploymentEnabled: Output? = null

    private var repoName: Output? = null

    /**
     * @param value Toggle deployments on this repo. Defaults to `true`.
     */
    @JvmName("tnedxrvtgxlhcmjc")
    public suspend fun deploymentsEnabled(`value`: Output) {
        this.deploymentsEnabled = value
    }

    /**
     * @param value Project owner username. **Modifying this attribute will force creation of a new resource.**
     */
    @JvmName("pwhpiunllakbfwyh")
    public suspend fun owner(`value`: Output) {
        this.owner = value
    }

    /**
     * @param value Enable Pages to comment on Pull Requests. Defaults to `true`.
     */
    @JvmName("votheifptcsgxfue")
    public suspend fun prCommentsEnabled(`value`: Output) {
        this.prCommentsEnabled = value
    }

    /**
     * @param value Branches will be excluded from automatic deployment.
     */
    @JvmName("cuccqkobfkfbndjx")
    public suspend fun previewBranchExcludes(`value`: Output>) {
        this.previewBranchExcludes = value
    }

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

    /**
     * @param values Branches will be excluded from automatic deployment.
     */
    @JvmName("xrkseuwbqytnsjeo")
    public suspend fun previewBranchExcludes(values: List>) {
        this.previewBranchExcludes = Output.all(values)
    }

    /**
     * @param value Branches will be included for automatic deployment.
     */
    @JvmName("xubhqrrulujndcig")
    public suspend fun previewBranchIncludes(`value`: Output>) {
        this.previewBranchIncludes = value
    }

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

    /**
     * @param values Branches will be included for automatic deployment.
     */
    @JvmName("nulweaowpcvaluqq")
    public suspend fun previewBranchIncludes(values: List>) {
        this.previewBranchIncludes = Output.all(values)
    }

    /**
     * @param value Preview Deployment Setting. Available values: `custom`, `all`, `none`. Defaults to `all`.
     */
    @JvmName("lnpeddlwgqdiveed")
    public suspend fun previewDeploymentSetting(`value`: Output) {
        this.previewDeploymentSetting = value
    }

    /**
     * @param value Project production branch name.
     */
    @JvmName("bjtikjgcyxleuigo")
    public suspend fun productionBranch(`value`: Output) {
        this.productionBranch = value
    }

    /**
     * @param value Enable production deployments. Defaults to `true`.
     */
    @JvmName("uubppnytpflwflrw")
    public suspend fun productionDeploymentEnabled(`value`: Output) {
        this.productionDeploymentEnabled = value
    }

    /**
     * @param value Project repository name. **Modifying this attribute will force creation of a new resource.**
     */
    @JvmName("dfhrarxdrwcntxyh")
    public suspend fun repoName(`value`: Output) {
        this.repoName = value
    }

    /**
     * @param value Toggle deployments on this repo. Defaults to `true`.
     */
    @JvmName("rbggkyvwfykwafdh")
    public suspend fun deploymentsEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.deploymentsEnabled = mapped
    }

    /**
     * @param value Project owner username. **Modifying this attribute will force creation of a new resource.**
     */
    @JvmName("rvqnilkbdauvapvn")
    public suspend fun owner(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.owner = mapped
    }

    /**
     * @param value Enable Pages to comment on Pull Requests. Defaults to `true`.
     */
    @JvmName("sjudkyxnxosbktel")
    public suspend fun prCommentsEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.prCommentsEnabled = mapped
    }

    /**
     * @param value Branches will be excluded from automatic deployment.
     */
    @JvmName("prrhebxwnytfaaeo")
    public suspend fun previewBranchExcludes(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.previewBranchExcludes = mapped
    }

    /**
     * @param values Branches will be excluded from automatic deployment.
     */
    @JvmName("awpvaxyilfetxbrm")
    public suspend fun previewBranchExcludes(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.previewBranchExcludes = mapped
    }

    /**
     * @param value Branches will be included for automatic deployment.
     */
    @JvmName("acrpmpewcwdkvxfj")
    public suspend fun previewBranchIncludes(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.previewBranchIncludes = mapped
    }

    /**
     * @param values Branches will be included for automatic deployment.
     */
    @JvmName("dftxmlovarjvshco")
    public suspend fun previewBranchIncludes(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.previewBranchIncludes = mapped
    }

    /**
     * @param value Preview Deployment Setting. Available values: `custom`, `all`, `none`. Defaults to `all`.
     */
    @JvmName("rqylajxerocnvjal")
    public suspend fun previewDeploymentSetting(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.previewDeploymentSetting = mapped
    }

    /**
     * @param value Project production branch name.
     */
    @JvmName("qyvtbbgpqaspyjau")
    public suspend fun productionBranch(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.productionBranch = mapped
    }

    /**
     * @param value Enable production deployments. Defaults to `true`.
     */
    @JvmName("iivisyrnidaiiola")
    public suspend fun productionDeploymentEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.productionDeploymentEnabled = mapped
    }

    /**
     * @param value Project repository name. **Modifying this attribute will force creation of a new resource.**
     */
    @JvmName("wllrpqcetxswjlau")
    public suspend fun repoName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.repoName = mapped
    }

    internal fun build(): PagesProjectSourceConfigArgs = PagesProjectSourceConfigArgs(
        deploymentsEnabled = deploymentsEnabled,
        owner = owner,
        prCommentsEnabled = prCommentsEnabled,
        previewBranchExcludes = previewBranchExcludes,
        previewBranchIncludes = previewBranchIncludes,
        previewDeploymentSetting = previewDeploymentSetting,
        productionBranch = productionBranch ?: throw PulumiNullFieldException("productionBranch"),
        productionDeploymentEnabled = productionDeploymentEnabled,
        repoName = repoName,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy