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

com.pulumi.azure.arckubernetes.kotlin.inputs.FluxConfigurationGitRepositoryArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.arckubernetes.kotlin.inputs

import com.pulumi.azure.arckubernetes.inputs.FluxConfigurationGitRepositoryArgs.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.Int
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property httpsCaCertBase64 Specifies the Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS.
 * @property httpsKeyBase64 Specifies the Base64-encoded HTTPS personal access token or password that will be used to access the repository.
 * @property httpsUser Specifies the plaintext HTTPS username used to access private git repositories over HTTPS.
 * @property localAuthReference Specifies the name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. It must be between 1 and 63 characters. It can contain only lowercase letters, numbers, and hyphens (-). It must start and end with a lowercase letter or number.
 * @property referenceType Specifies the source reference type for the GitRepository object. Possible values are `branch`, `commit`, `semver` and `tag`.
 * @property referenceValue Specifies the source reference value for the GitRepository object.
 * @property sshKnownHostsBase64 Specifies the Base64-encoded known_hosts value containing public SSH keys required to access private git repositories over SSH.
 * @property sshPrivateKeyBase64 Specifies the Base64-encoded SSH private key in PEM format.
 * @property syncIntervalInSeconds Specifies the interval at which to re-reconcile the cluster git repository source with the remote. Defaults to `600`.
 * @property timeoutInSeconds Specifies the maximum time to attempt to reconcile the cluster git repository source with the remote. Defaults to `600`.
 * @property url Specifies the URL to sync for the flux configuration git repository. It must start with `http://`, `https://`, `git@` or `ssh://`.
 */
public data class FluxConfigurationGitRepositoryArgs(
    public val httpsCaCertBase64: Output? = null,
    public val httpsKeyBase64: Output? = null,
    public val httpsUser: Output? = null,
    public val localAuthReference: Output? = null,
    public val referenceType: Output,
    public val referenceValue: Output,
    public val sshKnownHostsBase64: Output? = null,
    public val sshPrivateKeyBase64: Output? = null,
    public val syncIntervalInSeconds: Output? = null,
    public val timeoutInSeconds: Output? = null,
    public val url: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.arckubernetes.inputs.FluxConfigurationGitRepositoryArgs =
        com.pulumi.azure.arckubernetes.inputs.FluxConfigurationGitRepositoryArgs.builder()
            .httpsCaCertBase64(httpsCaCertBase64?.applyValue({ args0 -> args0 }))
            .httpsKeyBase64(httpsKeyBase64?.applyValue({ args0 -> args0 }))
            .httpsUser(httpsUser?.applyValue({ args0 -> args0 }))
            .localAuthReference(localAuthReference?.applyValue({ args0 -> args0 }))
            .referenceType(referenceType.applyValue({ args0 -> args0 }))
            .referenceValue(referenceValue.applyValue({ args0 -> args0 }))
            .sshKnownHostsBase64(sshKnownHostsBase64?.applyValue({ args0 -> args0 }))
            .sshPrivateKeyBase64(sshPrivateKeyBase64?.applyValue({ args0 -> args0 }))
            .syncIntervalInSeconds(syncIntervalInSeconds?.applyValue({ args0 -> args0 }))
            .timeoutInSeconds(timeoutInSeconds?.applyValue({ args0 -> args0 }))
            .url(url.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [FluxConfigurationGitRepositoryArgs].
 */
@PulumiTagMarker
public class FluxConfigurationGitRepositoryArgsBuilder internal constructor() {
    private var httpsCaCertBase64: Output? = null

    private var httpsKeyBase64: Output? = null

    private var httpsUser: Output? = null

    private var localAuthReference: Output? = null

    private var referenceType: Output? = null

    private var referenceValue: Output? = null

    private var sshKnownHostsBase64: Output? = null

    private var sshPrivateKeyBase64: Output? = null

    private var syncIntervalInSeconds: Output? = null

    private var timeoutInSeconds: Output? = null

    private var url: Output? = null

    /**
     * @param value Specifies the Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS.
     */
    @JvmName("swdrtufeidtvgfda")
    public suspend fun httpsCaCertBase64(`value`: Output) {
        this.httpsCaCertBase64 = value
    }

    /**
     * @param value Specifies the Base64-encoded HTTPS personal access token or password that will be used to access the repository.
     */
    @JvmName("rhyxjvvubpuftakx")
    public suspend fun httpsKeyBase64(`value`: Output) {
        this.httpsKeyBase64 = value
    }

    /**
     * @param value Specifies the plaintext HTTPS username used to access private git repositories over HTTPS.
     */
    @JvmName("ftushsuruqqysosv")
    public suspend fun httpsUser(`value`: Output) {
        this.httpsUser = value
    }

    /**
     * @param value Specifies the name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. It must be between 1 and 63 characters. It can contain only lowercase letters, numbers, and hyphens (-). It must start and end with a lowercase letter or number.
     */
    @JvmName("pgwwkjgcmynkpoph")
    public suspend fun localAuthReference(`value`: Output) {
        this.localAuthReference = value
    }

    /**
     * @param value Specifies the source reference type for the GitRepository object. Possible values are `branch`, `commit`, `semver` and `tag`.
     */
    @JvmName("maqcrqqwascdkngk")
    public suspend fun referenceType(`value`: Output) {
        this.referenceType = value
    }

    /**
     * @param value Specifies the source reference value for the GitRepository object.
     */
    @JvmName("qcotebcuoywhinkb")
    public suspend fun referenceValue(`value`: Output) {
        this.referenceValue = value
    }

    /**
     * @param value Specifies the Base64-encoded known_hosts value containing public SSH keys required to access private git repositories over SSH.
     */
    @JvmName("hahkfjgamjcodxrx")
    public suspend fun sshKnownHostsBase64(`value`: Output) {
        this.sshKnownHostsBase64 = value
    }

    /**
     * @param value Specifies the Base64-encoded SSH private key in PEM format.
     */
    @JvmName("jusiieqbjrwgkvch")
    public suspend fun sshPrivateKeyBase64(`value`: Output) {
        this.sshPrivateKeyBase64 = value
    }

    /**
     * @param value Specifies the interval at which to re-reconcile the cluster git repository source with the remote. Defaults to `600`.
     */
    @JvmName("jiqdeuauxpkqmfkb")
    public suspend fun syncIntervalInSeconds(`value`: Output) {
        this.syncIntervalInSeconds = value
    }

    /**
     * @param value Specifies the maximum time to attempt to reconcile the cluster git repository source with the remote. Defaults to `600`.
     */
    @JvmName("vsmmjcusnwmiersa")
    public suspend fun timeoutInSeconds(`value`: Output) {
        this.timeoutInSeconds = value
    }

    /**
     * @param value Specifies the URL to sync for the flux configuration git repository. It must start with `http://`, `https://`, `git@` or `ssh://`.
     */
    @JvmName("msvipidkgvdvhfer")
    public suspend fun url(`value`: Output) {
        this.url = value
    }

    /**
     * @param value Specifies the Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS.
     */
    @JvmName("imjvgtuykwcvxftj")
    public suspend fun httpsCaCertBase64(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.httpsCaCertBase64 = mapped
    }

    /**
     * @param value Specifies the Base64-encoded HTTPS personal access token or password that will be used to access the repository.
     */
    @JvmName("wopiflhgmulyfpxu")
    public suspend fun httpsKeyBase64(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.httpsKeyBase64 = mapped
    }

    /**
     * @param value Specifies the plaintext HTTPS username used to access private git repositories over HTTPS.
     */
    @JvmName("tyumbtgsqpkvqppg")
    public suspend fun httpsUser(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.httpsUser = mapped
    }

    /**
     * @param value Specifies the name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets. It must be between 1 and 63 characters. It can contain only lowercase letters, numbers, and hyphens (-). It must start and end with a lowercase letter or number.
     */
    @JvmName("weowytgesacnhypk")
    public suspend fun localAuthReference(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.localAuthReference = mapped
    }

    /**
     * @param value Specifies the source reference type for the GitRepository object. Possible values are `branch`, `commit`, `semver` and `tag`.
     */
    @JvmName("ansknicpggdtgftb")
    public suspend fun referenceType(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.referenceType = mapped
    }

    /**
     * @param value Specifies the source reference value for the GitRepository object.
     */
    @JvmName("oknaqqakuomcogjw")
    public suspend fun referenceValue(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.referenceValue = mapped
    }

    /**
     * @param value Specifies the Base64-encoded known_hosts value containing public SSH keys required to access private git repositories over SSH.
     */
    @JvmName("mctyddsxyycgivqf")
    public suspend fun sshKnownHostsBase64(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sshKnownHostsBase64 = mapped
    }

    /**
     * @param value Specifies the Base64-encoded SSH private key in PEM format.
     */
    @JvmName("nlmhoytvseuxppxp")
    public suspend fun sshPrivateKeyBase64(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sshPrivateKeyBase64 = mapped
    }

    /**
     * @param value Specifies the interval at which to re-reconcile the cluster git repository source with the remote. Defaults to `600`.
     */
    @JvmName("uamyxqkqopovtxtp")
    public suspend fun syncIntervalInSeconds(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.syncIntervalInSeconds = mapped
    }

    /**
     * @param value Specifies the maximum time to attempt to reconcile the cluster git repository source with the remote. Defaults to `600`.
     */
    @JvmName("oybujyqwdettmihn")
    public suspend fun timeoutInSeconds(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.timeoutInSeconds = mapped
    }

    /**
     * @param value Specifies the URL to sync for the flux configuration git repository. It must start with `http://`, `https://`, `git@` or `ssh://`.
     */
    @JvmName("yccgkcluhffoolkd")
    public suspend fun url(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.url = mapped
    }

    internal fun build(): FluxConfigurationGitRepositoryArgs = FluxConfigurationGitRepositoryArgs(
        httpsCaCertBase64 = httpsCaCertBase64,
        httpsKeyBase64 = httpsKeyBase64,
        httpsUser = httpsUser,
        localAuthReference = localAuthReference,
        referenceType = referenceType ?: throw PulumiNullFieldException("referenceType"),
        referenceValue = referenceValue ?: throw PulumiNullFieldException("referenceValue"),
        sshKnownHostsBase64 = sshKnownHostsBase64,
        sshPrivateKeyBase64 = sshPrivateKeyBase64,
        syncIntervalInSeconds = syncIntervalInSeconds,
        timeoutInSeconds = timeoutInSeconds,
        url = url ?: throw PulumiNullFieldException("url"),
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy