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

com.pulumi.awsnative.imagebuilder.kotlin.inputs.ImageRecipeAdditionalInstanceConfigurationArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.imagebuilder.kotlin.inputs

import com.pulumi.awsnative.imagebuilder.inputs.ImageRecipeAdditionalInstanceConfigurationArgs.builder
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * Specify additional settings and launch scripts for your build instances.
 * @property systemsManagerAgent Contains settings for the SSM agent on your build instance.
 * @property userDataOverride Use this property to provide commands or a command script to run when you launch your build instance.
 */
public data class ImageRecipeAdditionalInstanceConfigurationArgs(
    public val systemsManagerAgent: Output? = null,
    public val userDataOverride: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.imagebuilder.inputs.ImageRecipeAdditionalInstanceConfigurationArgs =
        com.pulumi.awsnative.imagebuilder.inputs.ImageRecipeAdditionalInstanceConfigurationArgs.builder()
            .systemsManagerAgent(
                systemsManagerAgent?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .userDataOverride(userDataOverride?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ImageRecipeAdditionalInstanceConfigurationArgs].
 */
@PulumiTagMarker
public class ImageRecipeAdditionalInstanceConfigurationArgsBuilder internal constructor() {
    private var systemsManagerAgent: Output? = null

    private var userDataOverride: Output? = null

    /**
     * @param value Contains settings for the SSM agent on your build instance.
     */
    @JvmName("rrbxhfpnwtnysjwq")
    public suspend fun systemsManagerAgent(`value`: Output) {
        this.systemsManagerAgent = value
    }

    /**
     * @param value Use this property to provide commands or a command script to run when you launch your build instance.
     */
    @JvmName("mlreugmgqjcfuhcv")
    public suspend fun userDataOverride(`value`: Output) {
        this.userDataOverride = value
    }

    /**
     * @param value Contains settings for the SSM agent on your build instance.
     */
    @JvmName("glmmbngcjimfyqqj")
    public suspend fun systemsManagerAgent(`value`: ImageRecipeSystemsManagerAgentArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.systemsManagerAgent = mapped
    }

    /**
     * @param argument Contains settings for the SSM agent on your build instance.
     */
    @JvmName("mejcrhvgvykrpfue")
    public suspend fun systemsManagerAgent(argument: suspend ImageRecipeSystemsManagerAgentArgsBuilder.() -> Unit) {
        val toBeMapped = ImageRecipeSystemsManagerAgentArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.systemsManagerAgent = mapped
    }

    /**
     * @param value Use this property to provide commands or a command script to run when you launch your build instance.
     */
    @JvmName("kvxfxdyqmhfbapfn")
    public suspend fun userDataOverride(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.userDataOverride = mapped
    }

    internal fun build(): ImageRecipeAdditionalInstanceConfigurationArgs =
        ImageRecipeAdditionalInstanceConfigurationArgs(
            systemsManagerAgent = systemsManagerAgent,
            userDataOverride = userDataOverride,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy