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

com.pulumi.awsnative.transfer.kotlin.inputs.WorkflowStepArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.transfer.kotlin.inputs

import com.pulumi.awsnative.transfer.inputs.WorkflowStepArgs.builder
import com.pulumi.awsnative.transfer.kotlin.enums.WorkflowStepType
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * The basic building block of a workflow.
 * @property copyStepDetails Details for a step that performs a file copy.
 * @property customStepDetails Details for a step that invokes a lambda function.
 * @property decryptStepDetails Details for a step that performs a file decryption.
 * @property deleteStepDetails Details for a step that deletes the file.
 * @property tagStepDetails Details for a step that creates one or more tags.
 * @property type
 */
public data class WorkflowStepArgs(
    public val copyStepDetails: Output? = null,
    public val customStepDetails: Output? = null,
    public val decryptStepDetails: Output? = null,
    public val deleteStepDetails: Output? = null,
    public val tagStepDetails: Output? = null,
    public val type: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.transfer.inputs.WorkflowStepArgs =
        com.pulumi.awsnative.transfer.inputs.WorkflowStepArgs.builder()
            .copyStepDetails(copyStepDetails?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .customStepDetails(customStepDetails?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .decryptStepDetails(
                decryptStepDetails?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .deleteStepDetails(deleteStepDetails?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .tagStepDetails(tagStepDetails?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .type(type?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [WorkflowStepArgs].
 */
@PulumiTagMarker
public class WorkflowStepArgsBuilder internal constructor() {
    private var copyStepDetails: Output? = null

    private var customStepDetails: Output? = null

    private var decryptStepDetails: Output? = null

    private var deleteStepDetails: Output? = null

    private var tagStepDetails: Output? = null

    private var type: Output? = null

    /**
     * @param value Details for a step that performs a file copy.
     */
    @JvmName("oryatfxifvspsvku")
    public suspend fun copyStepDetails(`value`: Output) {
        this.copyStepDetails = value
    }

    /**
     * @param value Details for a step that invokes a lambda function.
     */
    @JvmName("vssqyutyugqnyhak")
    public suspend fun customStepDetails(`value`: Output) {
        this.customStepDetails = value
    }

    /**
     * @param value Details for a step that performs a file decryption.
     */
    @JvmName("ewjpcyvgtdonaxyk")
    public suspend fun decryptStepDetails(`value`: Output) {
        this.decryptStepDetails = value
    }

    /**
     * @param value Details for a step that deletes the file.
     */
    @JvmName("ghfolgspfhtpgcnm")
    public suspend fun deleteStepDetails(`value`: Output) {
        this.deleteStepDetails = value
    }

    /**
     * @param value Details for a step that creates one or more tags.
     */
    @JvmName("cacwjfhvjtuaxxae")
    public suspend fun tagStepDetails(`value`: Output) {
        this.tagStepDetails = value
    }

    /**
     * @param value
     */
    @JvmName("scnoragbuaxegbrp")
    public suspend fun type(`value`: Output) {
        this.type = value
    }

    /**
     * @param value Details for a step that performs a file copy.
     */
    @JvmName("eqyqxbbxkdeqcigb")
    public suspend fun copyStepDetails(`value`: WorkflowStepCopyStepDetailsPropertiesArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.copyStepDetails = mapped
    }

    /**
     * @param argument Details for a step that performs a file copy.
     */
    @JvmName("wamxpufgetsyapgn")
    public suspend fun copyStepDetails(argument: suspend WorkflowStepCopyStepDetailsPropertiesArgsBuilder.() -> Unit) {
        val toBeMapped = WorkflowStepCopyStepDetailsPropertiesArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.copyStepDetails = mapped
    }

    /**
     * @param value Details for a step that invokes a lambda function.
     */
    @JvmName("aycgpdjcxsdmnbgm")
    public suspend fun customStepDetails(`value`: WorkflowStepCustomStepDetailsPropertiesArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.customStepDetails = mapped
    }

    /**
     * @param argument Details for a step that invokes a lambda function.
     */
    @JvmName("mwfspltquksxatkc")
    public suspend fun customStepDetails(argument: suspend WorkflowStepCustomStepDetailsPropertiesArgsBuilder.() -> Unit) {
        val toBeMapped = WorkflowStepCustomStepDetailsPropertiesArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.customStepDetails = mapped
    }

    /**
     * @param value Details for a step that performs a file decryption.
     */
    @JvmName("neyarjdmeucuvtmv")
    public suspend fun decryptStepDetails(`value`: WorkflowStepDecryptStepDetailsPropertiesArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.decryptStepDetails = mapped
    }

    /**
     * @param argument Details for a step that performs a file decryption.
     */
    @JvmName("pdhtljdqaukumeir")
    public suspend fun decryptStepDetails(argument: suspend WorkflowStepDecryptStepDetailsPropertiesArgsBuilder.() -> Unit) {
        val toBeMapped = WorkflowStepDecryptStepDetailsPropertiesArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.decryptStepDetails = mapped
    }

    /**
     * @param value Details for a step that deletes the file.
     */
    @JvmName("rtamcnqqhnvqhicf")
    public suspend fun deleteStepDetails(`value`: WorkflowStepDeleteStepDetailsPropertiesArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.deleteStepDetails = mapped
    }

    /**
     * @param argument Details for a step that deletes the file.
     */
    @JvmName("iyxgboywovcbnqii")
    public suspend fun deleteStepDetails(argument: suspend WorkflowStepDeleteStepDetailsPropertiesArgsBuilder.() -> Unit) {
        val toBeMapped = WorkflowStepDeleteStepDetailsPropertiesArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.deleteStepDetails = mapped
    }

    /**
     * @param value Details for a step that creates one or more tags.
     */
    @JvmName("soyhusiixdocftwj")
    public suspend fun tagStepDetails(`value`: WorkflowStepTagStepDetailsPropertiesArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tagStepDetails = mapped
    }

    /**
     * @param argument Details for a step that creates one or more tags.
     */
    @JvmName("gnknjefdffksqrgh")
    public suspend fun tagStepDetails(argument: suspend WorkflowStepTagStepDetailsPropertiesArgsBuilder.() -> Unit) {
        val toBeMapped = WorkflowStepTagStepDetailsPropertiesArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.tagStepDetails = mapped
    }

    /**
     * @param value
     */
    @JvmName("nqdoidbqebxpbuow")
    public suspend fun type(`value`: WorkflowStepType?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.type = mapped
    }

    internal fun build(): WorkflowStepArgs = WorkflowStepArgs(
        copyStepDetails = copyStepDetails,
        customStepDetails = customStepDetails,
        decryptStepDetails = decryptStepDetails,
        deleteStepDetails = deleteStepDetails,
        tagStepDetails = tagStepDetails,
        type = type,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy