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

com.pulumi.googlenative.dataflow.v1b3.kotlin.inputs.TaskRunnerSettingsArgs.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.dataflow.v1b3.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.googlenative.dataflow.v1b3.inputs.TaskRunnerSettingsArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * Taskrunner configuration settings.
 * @property alsologtostderr Whether to also send taskrunner log info to stderr.
 * @property baseTaskDir The location on the worker for task-specific subdirectories.
 * @property baseUrl The base URL for the taskrunner to use when accessing Google Cloud APIs. When workers access Google Cloud APIs, they logically do so via relative URLs. If this field is specified, it supplies the base URL to use for resolving these relative URLs. The normative algorithm used is defined by RFC 1808, "Relative Uniform Resource Locators". If not specified, the default value is "http://www.googleapis.com/"
 * @property commandlinesFileName The file to store preprocessing commands in.
 * @property continueOnException Whether to continue taskrunner if an exception is hit.
 * @property dataflowApiVersion The API version of endpoint, e.g. "v1b3"
 * @property harnessCommand The command to launch the worker harness.
 * @property languageHint The suggested backend language.
 * @property logDir The directory on the VM to store logs.
 * @property logToSerialconsole Whether to send taskrunner log info to Google Compute Engine VM serial console.
 * @property logUploadLocation Indicates where to put logs. If this is not specified, the logs will not be uploaded. The supported resource type is: Google Cloud Storage: storage.googleapis.com/{bucket}/{object} bucket.storage.googleapis.com/{object}
 * @property oauthScopes The OAuth2 scopes to be requested by the taskrunner in order to access the Cloud Dataflow API.
 * @property parallelWorkerSettings The settings to pass to the parallel worker harness.
 * @property streamingWorkerMainClass The streaming worker main class name.
 * @property taskGroup The UNIX group ID on the worker VM to use for tasks launched by taskrunner; e.g. "wheel".
 * @property taskUser The UNIX user ID on the worker VM to use for tasks launched by taskrunner; e.g. "root".
 * @property tempStoragePrefix The prefix of the resources the taskrunner should use for temporary storage. The supported resource type is: Google Cloud Storage: storage.googleapis.com/{bucket}/{object} bucket.storage.googleapis.com/{object}
 * @property vmId The ID string of the VM.
 * @property workflowFileName The file to store the workflow in.
 */
public data class TaskRunnerSettingsArgs(
    public val alsologtostderr: Output? = null,
    public val baseTaskDir: Output? = null,
    public val baseUrl: Output? = null,
    public val commandlinesFileName: Output? = null,
    public val continueOnException: Output? = null,
    public val dataflowApiVersion: Output? = null,
    public val harnessCommand: Output? = null,
    public val languageHint: Output? = null,
    public val logDir: Output? = null,
    public val logToSerialconsole: Output? = null,
    public val logUploadLocation: Output? = null,
    public val oauthScopes: Output>? = null,
    public val parallelWorkerSettings: Output? = null,
    public val streamingWorkerMainClass: Output? = null,
    public val taskGroup: Output? = null,
    public val taskUser: Output? = null,
    public val tempStoragePrefix: Output? = null,
    public val vmId: Output? = null,
    public val workflowFileName: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.googlenative.dataflow.v1b3.inputs.TaskRunnerSettingsArgs =
        com.pulumi.googlenative.dataflow.v1b3.inputs.TaskRunnerSettingsArgs.builder()
            .alsologtostderr(alsologtostderr?.applyValue({ args0 -> args0 }))
            .baseTaskDir(baseTaskDir?.applyValue({ args0 -> args0 }))
            .baseUrl(baseUrl?.applyValue({ args0 -> args0 }))
            .commandlinesFileName(commandlinesFileName?.applyValue({ args0 -> args0 }))
            .continueOnException(continueOnException?.applyValue({ args0 -> args0 }))
            .dataflowApiVersion(dataflowApiVersion?.applyValue({ args0 -> args0 }))
            .harnessCommand(harnessCommand?.applyValue({ args0 -> args0 }))
            .languageHint(languageHint?.applyValue({ args0 -> args0 }))
            .logDir(logDir?.applyValue({ args0 -> args0 }))
            .logToSerialconsole(logToSerialconsole?.applyValue({ args0 -> args0 }))
            .logUploadLocation(logUploadLocation?.applyValue({ args0 -> args0 }))
            .oauthScopes(oauthScopes?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .parallelWorkerSettings(
                parallelWorkerSettings?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .streamingWorkerMainClass(streamingWorkerMainClass?.applyValue({ args0 -> args0 }))
            .taskGroup(taskGroup?.applyValue({ args0 -> args0 }))
            .taskUser(taskUser?.applyValue({ args0 -> args0 }))
            .tempStoragePrefix(tempStoragePrefix?.applyValue({ args0 -> args0 }))
            .vmId(vmId?.applyValue({ args0 -> args0 }))
            .workflowFileName(workflowFileName?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [TaskRunnerSettingsArgs].
 */
@PulumiTagMarker
public class TaskRunnerSettingsArgsBuilder internal constructor() {
    private var alsologtostderr: Output? = null

    private var baseTaskDir: Output? = null

    private var baseUrl: Output? = null

    private var commandlinesFileName: Output? = null

    private var continueOnException: Output? = null

    private var dataflowApiVersion: Output? = null

    private var harnessCommand: Output? = null

    private var languageHint: Output? = null

    private var logDir: Output? = null

    private var logToSerialconsole: Output? = null

    private var logUploadLocation: Output? = null

    private var oauthScopes: Output>? = null

    private var parallelWorkerSettings: Output? = null

    private var streamingWorkerMainClass: Output? = null

    private var taskGroup: Output? = null

    private var taskUser: Output? = null

    private var tempStoragePrefix: Output? = null

    private var vmId: Output? = null

    private var workflowFileName: Output? = null

    /**
     * @param value Whether to also send taskrunner log info to stderr.
     */
    @JvmName("iaumndpmetwvfolc")
    public suspend fun alsologtostderr(`value`: Output) {
        this.alsologtostderr = value
    }

    /**
     * @param value The location on the worker for task-specific subdirectories.
     */
    @JvmName("kdijiblmcnxbstra")
    public suspend fun baseTaskDir(`value`: Output) {
        this.baseTaskDir = value
    }

    /**
     * @param value The base URL for the taskrunner to use when accessing Google Cloud APIs. When workers access Google Cloud APIs, they logically do so via relative URLs. If this field is specified, it supplies the base URL to use for resolving these relative URLs. The normative algorithm used is defined by RFC 1808, "Relative Uniform Resource Locators". If not specified, the default value is "http://www.googleapis.com/"
     */
    @JvmName("yqfcxwijabkvslyk")
    public suspend fun baseUrl(`value`: Output) {
        this.baseUrl = value
    }

    /**
     * @param value The file to store preprocessing commands in.
     */
    @JvmName("pmbhtprvmjsgmjnk")
    public suspend fun commandlinesFileName(`value`: Output) {
        this.commandlinesFileName = value
    }

    /**
     * @param value Whether to continue taskrunner if an exception is hit.
     */
    @JvmName("mwxnpcogxeloosnv")
    public suspend fun continueOnException(`value`: Output) {
        this.continueOnException = value
    }

    /**
     * @param value The API version of endpoint, e.g. "v1b3"
     */
    @JvmName("pmqnrnryxavtdnmf")
    public suspend fun dataflowApiVersion(`value`: Output) {
        this.dataflowApiVersion = value
    }

    /**
     * @param value The command to launch the worker harness.
     */
    @JvmName("qehwgjqpjbokexst")
    public suspend fun harnessCommand(`value`: Output) {
        this.harnessCommand = value
    }

    /**
     * @param value The suggested backend language.
     */
    @JvmName("acawuhtsrrhpunmo")
    public suspend fun languageHint(`value`: Output) {
        this.languageHint = value
    }

    /**
     * @param value The directory on the VM to store logs.
     */
    @JvmName("vgbbdhnaytcajtpb")
    public suspend fun logDir(`value`: Output) {
        this.logDir = value
    }

    /**
     * @param value Whether to send taskrunner log info to Google Compute Engine VM serial console.
     */
    @JvmName("aevkprmqormjilho")
    public suspend fun logToSerialconsole(`value`: Output) {
        this.logToSerialconsole = value
    }

    /**
     * @param value Indicates where to put logs. If this is not specified, the logs will not be uploaded. The supported resource type is: Google Cloud Storage: storage.googleapis.com/{bucket}/{object} bucket.storage.googleapis.com/{object}
     */
    @JvmName("avetebuuwwbryyyp")
    public suspend fun logUploadLocation(`value`: Output) {
        this.logUploadLocation = value
    }

    /**
     * @param value The OAuth2 scopes to be requested by the taskrunner in order to access the Cloud Dataflow API.
     */
    @JvmName("kumbuvegagcgcyrj")
    public suspend fun oauthScopes(`value`: Output>) {
        this.oauthScopes = value
    }

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

    /**
     * @param values The OAuth2 scopes to be requested by the taskrunner in order to access the Cloud Dataflow API.
     */
    @JvmName("vsiwfrccetybqsgp")
    public suspend fun oauthScopes(values: List>) {
        this.oauthScopes = Output.all(values)
    }

    /**
     * @param value The settings to pass to the parallel worker harness.
     */
    @JvmName("cbkmvlnllkgpoibw")
    public suspend fun parallelWorkerSettings(`value`: Output) {
        this.parallelWorkerSettings = value
    }

    /**
     * @param value The streaming worker main class name.
     */
    @JvmName("ppwvhpdvqgkcquyg")
    public suspend fun streamingWorkerMainClass(`value`: Output) {
        this.streamingWorkerMainClass = value
    }

    /**
     * @param value The UNIX group ID on the worker VM to use for tasks launched by taskrunner; e.g. "wheel".
     */
    @JvmName("ffwsrvhjhumnmcop")
    public suspend fun taskGroup(`value`: Output) {
        this.taskGroup = value
    }

    /**
     * @param value The UNIX user ID on the worker VM to use for tasks launched by taskrunner; e.g. "root".
     */
    @JvmName("darknsmlydjvurgo")
    public suspend fun taskUser(`value`: Output) {
        this.taskUser = value
    }

    /**
     * @param value The prefix of the resources the taskrunner should use for temporary storage. The supported resource type is: Google Cloud Storage: storage.googleapis.com/{bucket}/{object} bucket.storage.googleapis.com/{object}
     */
    @JvmName("tiplujkhfhgbvhur")
    public suspend fun tempStoragePrefix(`value`: Output) {
        this.tempStoragePrefix = value
    }

    /**
     * @param value The ID string of the VM.
     */
    @JvmName("hcnluflitjutxqvl")
    public suspend fun vmId(`value`: Output) {
        this.vmId = value
    }

    /**
     * @param value The file to store the workflow in.
     */
    @JvmName("rclhqvoqltkcvgwk")
    public suspend fun workflowFileName(`value`: Output) {
        this.workflowFileName = value
    }

    /**
     * @param value Whether to also send taskrunner log info to stderr.
     */
    @JvmName("kvlmuivmyiaodtde")
    public suspend fun alsologtostderr(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.alsologtostderr = mapped
    }

    /**
     * @param value The location on the worker for task-specific subdirectories.
     */
    @JvmName("lfdwycatvdhgjiex")
    public suspend fun baseTaskDir(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.baseTaskDir = mapped
    }

    /**
     * @param value The base URL for the taskrunner to use when accessing Google Cloud APIs. When workers access Google Cloud APIs, they logically do so via relative URLs. If this field is specified, it supplies the base URL to use for resolving these relative URLs. The normative algorithm used is defined by RFC 1808, "Relative Uniform Resource Locators". If not specified, the default value is "http://www.googleapis.com/"
     */
    @JvmName("cvwwublfkbqetfph")
    public suspend fun baseUrl(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.baseUrl = mapped
    }

    /**
     * @param value The file to store preprocessing commands in.
     */
    @JvmName("milywciylwfothlq")
    public suspend fun commandlinesFileName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.commandlinesFileName = mapped
    }

    /**
     * @param value Whether to continue taskrunner if an exception is hit.
     */
    @JvmName("uiukxgxvollbswvw")
    public suspend fun continueOnException(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.continueOnException = mapped
    }

    /**
     * @param value The API version of endpoint, e.g. "v1b3"
     */
    @JvmName("ayflfujrvssnrava")
    public suspend fun dataflowApiVersion(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dataflowApiVersion = mapped
    }

    /**
     * @param value The command to launch the worker harness.
     */
    @JvmName("vyaolqhxfhvmjhlh")
    public suspend fun harnessCommand(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.harnessCommand = mapped
    }

    /**
     * @param value The suggested backend language.
     */
    @JvmName("wsqnuvbwtylrlmjw")
    public suspend fun languageHint(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.languageHint = mapped
    }

    /**
     * @param value The directory on the VM to store logs.
     */
    @JvmName("bexnxevieyvgeyfk")
    public suspend fun logDir(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.logDir = mapped
    }

    /**
     * @param value Whether to send taskrunner log info to Google Compute Engine VM serial console.
     */
    @JvmName("bbtluhxtdhkswkpj")
    public suspend fun logToSerialconsole(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.logToSerialconsole = mapped
    }

    /**
     * @param value Indicates where to put logs. If this is not specified, the logs will not be uploaded. The supported resource type is: Google Cloud Storage: storage.googleapis.com/{bucket}/{object} bucket.storage.googleapis.com/{object}
     */
    @JvmName("ldluvwwfjowcpfbe")
    public suspend fun logUploadLocation(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.logUploadLocation = mapped
    }

    /**
     * @param value The OAuth2 scopes to be requested by the taskrunner in order to access the Cloud Dataflow API.
     */
    @JvmName("cbnynmvslhtitnme")
    public suspend fun oauthScopes(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.oauthScopes = mapped
    }

    /**
     * @param values The OAuth2 scopes to be requested by the taskrunner in order to access the Cloud Dataflow API.
     */
    @JvmName("rhritkhnyauvpaxt")
    public suspend fun oauthScopes(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.oauthScopes = mapped
    }

    /**
     * @param value The settings to pass to the parallel worker harness.
     */
    @JvmName("meshsiejtuwofupn")
    public suspend fun parallelWorkerSettings(`value`: WorkerSettingsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.parallelWorkerSettings = mapped
    }

    /**
     * @param argument The settings to pass to the parallel worker harness.
     */
    @JvmName("bicdrfxdjlpnkqkb")
    public suspend fun parallelWorkerSettings(argument: suspend WorkerSettingsArgsBuilder.() -> Unit) {
        val toBeMapped = WorkerSettingsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.parallelWorkerSettings = mapped
    }

    /**
     * @param value The streaming worker main class name.
     */
    @JvmName("hxrloqtlweidrfbj")
    public suspend fun streamingWorkerMainClass(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.streamingWorkerMainClass = mapped
    }

    /**
     * @param value The UNIX group ID on the worker VM to use for tasks launched by taskrunner; e.g. "wheel".
     */
    @JvmName("xtlognytfdjtyxym")
    public suspend fun taskGroup(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.taskGroup = mapped
    }

    /**
     * @param value The UNIX user ID on the worker VM to use for tasks launched by taskrunner; e.g. "root".
     */
    @JvmName("qxqjwhknxcdhulrh")
    public suspend fun taskUser(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.taskUser = mapped
    }

    /**
     * @param value The prefix of the resources the taskrunner should use for temporary storage. The supported resource type is: Google Cloud Storage: storage.googleapis.com/{bucket}/{object} bucket.storage.googleapis.com/{object}
     */
    @JvmName("sbrurmdosrevcpce")
    public suspend fun tempStoragePrefix(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tempStoragePrefix = mapped
    }

    /**
     * @param value The ID string of the VM.
     */
    @JvmName("xguyoixkxxmasupa")
    public suspend fun vmId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.vmId = mapped
    }

    /**
     * @param value The file to store the workflow in.
     */
    @JvmName("sicysnjhlodpvwfv")
    public suspend fun workflowFileName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.workflowFileName = mapped
    }

    internal fun build(): TaskRunnerSettingsArgs = TaskRunnerSettingsArgs(
        alsologtostderr = alsologtostderr,
        baseTaskDir = baseTaskDir,
        baseUrl = baseUrl,
        commandlinesFileName = commandlinesFileName,
        continueOnException = continueOnException,
        dataflowApiVersion = dataflowApiVersion,
        harnessCommand = harnessCommand,
        languageHint = languageHint,
        logDir = logDir,
        logToSerialconsole = logToSerialconsole,
        logUploadLocation = logUploadLocation,
        oauthScopes = oauthScopes,
        parallelWorkerSettings = parallelWorkerSettings,
        streamingWorkerMainClass = streamingWorkerMainClass,
        taskGroup = taskGroup,
        taskUser = taskUser,
        tempStoragePrefix = tempStoragePrefix,
        vmId = vmId,
        workflowFileName = workflowFileName,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy