Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.aws.imagebuilder.kotlin.ImagePipelineArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.aws.imagebuilder.kotlin
import com.pulumi.aws.imagebuilder.ImagePipelineArgs.builder
import com.pulumi.aws.imagebuilder.kotlin.inputs.ImagePipelineImageScanningConfigurationArgs
import com.pulumi.aws.imagebuilder.kotlin.inputs.ImagePipelineImageScanningConfigurationArgsBuilder
import com.pulumi.aws.imagebuilder.kotlin.inputs.ImagePipelineImageTestsConfigurationArgs
import com.pulumi.aws.imagebuilder.kotlin.inputs.ImagePipelineImageTestsConfigurationArgsBuilder
import com.pulumi.aws.imagebuilder.kotlin.inputs.ImagePipelineScheduleArgs
import com.pulumi.aws.imagebuilder.kotlin.inputs.ImagePipelineScheduleArgsBuilder
import com.pulumi.aws.imagebuilder.kotlin.inputs.ImagePipelineWorkflowArgs
import com.pulumi.aws.imagebuilder.kotlin.inputs.ImagePipelineWorkflowArgsBuilder
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.Boolean
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* Manages an Image Builder Image Pipeline.
* > **NOTE:** Starting with version `5.74.0`, lifecycle meta-argument `replace_triggered_by` must be used in order to prevent a dependency error on destroy.
* ## Import
* Using `pulumi import`, import `aws_imagebuilder_image_pipeline` resources using the Amazon Resource Name (ARN). For example:
* ```sh
* $ pulumi import aws:imagebuilder/imagePipeline:ImagePipeline example arn:aws:imagebuilder:us-east-1:123456789012:image-pipeline/example
* ```
* @property containerRecipeArn Amazon Resource Name (ARN) of the container recipe.
* @property description Description of the image pipeline.
* @property distributionConfigurationArn Amazon Resource Name (ARN) of the Image Builder Distribution Configuration.
* @property enhancedImageMetadataEnabled Whether additional information about the image being created is collected. Defaults to `true`.
* @property executionRole Amazon Resource Name (ARN) of the service-linked role to be used by Image Builder to [execute workflows](https://docs.aws.amazon.com/imagebuilder/latest/userguide/manage-image-workflows.html).
* @property imageRecipeArn Amazon Resource Name (ARN) of the image recipe.
* @property imageScanningConfiguration Configuration block with image scanning configuration. Detailed below.
* @property imageTestsConfiguration Configuration block with image tests configuration. Detailed below.
* @property infrastructureConfigurationArn Amazon Resource Name (ARN) of the Image Builder Infrastructure Configuration.
* @property name Name of the image pipeline.
* The following arguments are optional:
* @property schedule Configuration block with schedule settings. Detailed below.
* @property status Status of the image pipeline. Valid values are `DISABLED` and `ENABLED`. Defaults to `ENABLED`.
* @property tags Key-value map of resource tags for the image pipeline. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
* @property workflows Configuration block with the workflow configuration. Detailed below.
*/
public data class ImagePipelineArgs(
public val containerRecipeArn: Output? = null,
public val description: Output? = null,
public val distributionConfigurationArn: Output? = null,
public val enhancedImageMetadataEnabled: Output? = null,
public val executionRole: Output? = null,
public val imageRecipeArn: Output? = null,
public val imageScanningConfiguration: Output? =
null,
public val imageTestsConfiguration: Output? = null,
public val infrastructureConfigurationArn: Output? = null,
public val name: Output? = null,
public val schedule: Output? = null,
public val status: Output? = null,
public val tags: Output>? = null,
public val workflows: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.aws.imagebuilder.ImagePipelineArgs =
com.pulumi.aws.imagebuilder.ImagePipelineArgs.builder()
.containerRecipeArn(containerRecipeArn?.applyValue({ args0 -> args0 }))
.description(description?.applyValue({ args0 -> args0 }))
.distributionConfigurationArn(distributionConfigurationArn?.applyValue({ args0 -> args0 }))
.enhancedImageMetadataEnabled(enhancedImageMetadataEnabled?.applyValue({ args0 -> args0 }))
.executionRole(executionRole?.applyValue({ args0 -> args0 }))
.imageRecipeArn(imageRecipeArn?.applyValue({ args0 -> args0 }))
.imageScanningConfiguration(
imageScanningConfiguration?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.imageTestsConfiguration(
imageTestsConfiguration?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.infrastructureConfigurationArn(infrastructureConfigurationArn?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.schedule(schedule?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.status(status?.applyValue({ args0 -> args0 }))
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
.workflows(
workflows?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
).build()
}
/**
* Builder for [ImagePipelineArgs].
*/
@PulumiTagMarker
public class ImagePipelineArgsBuilder internal constructor() {
private var containerRecipeArn: Output? = null
private var description: Output? = null
private var distributionConfigurationArn: Output? = null
private var enhancedImageMetadataEnabled: Output? = null
private var executionRole: Output? = null
private var imageRecipeArn: Output? = null
private var imageScanningConfiguration: Output? =
null
private var imageTestsConfiguration: Output? = null
private var infrastructureConfigurationArn: Output? = null
private var name: Output? = null
private var schedule: Output? = null
private var status: Output? = null
private var tags: Output>? = null
private var workflows: Output>? = null
/**
* @param value Amazon Resource Name (ARN) of the container recipe.
*/
@JvmName("dcolkhptbqqhgcll")
public suspend fun containerRecipeArn(`value`: Output) {
this.containerRecipeArn = value
}
/**
* @param value Description of the image pipeline.
*/
@JvmName("rromiywxeccvause")
public suspend fun description(`value`: Output) {
this.description = value
}
/**
* @param value Amazon Resource Name (ARN) of the Image Builder Distribution Configuration.
*/
@JvmName("qtpxfmsjgtwmfjsc")
public suspend fun distributionConfigurationArn(`value`: Output) {
this.distributionConfigurationArn = value
}
/**
* @param value Whether additional information about the image being created is collected. Defaults to `true`.
*/
@JvmName("axykweowkcftppjf")
public suspend fun enhancedImageMetadataEnabled(`value`: Output) {
this.enhancedImageMetadataEnabled = value
}
/**
* @param value Amazon Resource Name (ARN) of the service-linked role to be used by Image Builder to [execute workflows](https://docs.aws.amazon.com/imagebuilder/latest/userguide/manage-image-workflows.html).
*/
@JvmName("sdeigduspbxpthvn")
public suspend fun executionRole(`value`: Output) {
this.executionRole = value
}
/**
* @param value Amazon Resource Name (ARN) of the image recipe.
*/
@JvmName("ttvnelrfvsifpbwn")
public suspend fun imageRecipeArn(`value`: Output) {
this.imageRecipeArn = value
}
/**
* @param value Configuration block with image scanning configuration. Detailed below.
*/
@JvmName("tmtwjaeqwxxyvkle")
public suspend fun imageScanningConfiguration(`value`: Output) {
this.imageScanningConfiguration = value
}
/**
* @param value Configuration block with image tests configuration. Detailed below.
*/
@JvmName("kyelnkxjrvnkxfgc")
public suspend fun imageTestsConfiguration(`value`: Output) {
this.imageTestsConfiguration = value
}
/**
* @param value Amazon Resource Name (ARN) of the Image Builder Infrastructure Configuration.
*/
@JvmName("apltkxaflnscluqd")
public suspend fun infrastructureConfigurationArn(`value`: Output) {
this.infrastructureConfigurationArn = value
}
/**
* @param value Name of the image pipeline.
* The following arguments are optional:
*/
@JvmName("ymkswuwfmwtquetx")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value Configuration block with schedule settings. Detailed below.
*/
@JvmName("uusemddupgmqvsyq")
public suspend fun schedule(`value`: Output) {
this.schedule = value
}
/**
* @param value Status of the image pipeline. Valid values are `DISABLED` and `ENABLED`. Defaults to `ENABLED`.
*/
@JvmName("alxmgbumakoqyfku")
public suspend fun status(`value`: Output) {
this.status = value
}
/**
* @param value Key-value map of resource tags for the image pipeline. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
@JvmName("bqjohdcfrfbdwpbc")
public suspend fun tags(`value`: Output>) {
this.tags = value
}
/**
* @param value Configuration block with the workflow configuration. Detailed below.
*/
@JvmName("uovkjwfemdfpcstf")
public suspend fun workflows(`value`: Output>) {
this.workflows = value
}
@JvmName("xgkcyapgdsrcakop")
public suspend fun workflows(vararg values: Output) {
this.workflows = Output.all(values.asList())
}
/**
* @param values Configuration block with the workflow configuration. Detailed below.
*/
@JvmName("vgrsyieimkrvawhg")
public suspend fun workflows(values: List>) {
this.workflows = Output.all(values)
}
/**
* @param value Amazon Resource Name (ARN) of the container recipe.
*/
@JvmName("qahuefgopiejbrvw")
public suspend fun containerRecipeArn(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.containerRecipeArn = mapped
}
/**
* @param value Description of the image pipeline.
*/
@JvmName("vvymyhhruwrfmuen")
public suspend fun description(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.description = mapped
}
/**
* @param value Amazon Resource Name (ARN) of the Image Builder Distribution Configuration.
*/
@JvmName("hiueueewxckapasl")
public suspend fun distributionConfigurationArn(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.distributionConfigurationArn = mapped
}
/**
* @param value Whether additional information about the image being created is collected. Defaults to `true`.
*/
@JvmName("nefwjurxmhdjvhkn")
public suspend fun enhancedImageMetadataEnabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.enhancedImageMetadataEnabled = mapped
}
/**
* @param value Amazon Resource Name (ARN) of the service-linked role to be used by Image Builder to [execute workflows](https://docs.aws.amazon.com/imagebuilder/latest/userguide/manage-image-workflows.html).
*/
@JvmName("innprnyolkhyassg")
public suspend fun executionRole(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.executionRole = mapped
}
/**
* @param value Amazon Resource Name (ARN) of the image recipe.
*/
@JvmName("lilrocaffrtmmccs")
public suspend fun imageRecipeArn(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.imageRecipeArn = mapped
}
/**
* @param value Configuration block with image scanning configuration. Detailed below.
*/
@JvmName("weqjwiytnmifkuxs")
public suspend fun imageScanningConfiguration(`value`: ImagePipelineImageScanningConfigurationArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.imageScanningConfiguration = mapped
}
/**
* @param argument Configuration block with image scanning configuration. Detailed below.
*/
@JvmName("diibmjwxpflicfix")
public suspend fun imageScanningConfiguration(argument: suspend ImagePipelineImageScanningConfigurationArgsBuilder.() -> Unit) {
val toBeMapped = ImagePipelineImageScanningConfigurationArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.imageScanningConfiguration = mapped
}
/**
* @param value Configuration block with image tests configuration. Detailed below.
*/
@JvmName("kmiacsicytusvdkc")
public suspend fun imageTestsConfiguration(`value`: ImagePipelineImageTestsConfigurationArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.imageTestsConfiguration = mapped
}
/**
* @param argument Configuration block with image tests configuration. Detailed below.
*/
@JvmName("fqubssxnoyejpksn")
public suspend fun imageTestsConfiguration(argument: suspend ImagePipelineImageTestsConfigurationArgsBuilder.() -> Unit) {
val toBeMapped = ImagePipelineImageTestsConfigurationArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.imageTestsConfiguration = mapped
}
/**
* @param value Amazon Resource Name (ARN) of the Image Builder Infrastructure Configuration.
*/
@JvmName("tuhbbbvoksplmmjb")
public suspend fun infrastructureConfigurationArn(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.infrastructureConfigurationArn = mapped
}
/**
* @param value Name of the image pipeline.
* The following arguments are optional:
*/
@JvmName("bpwsxqbsvcwrdsmo")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value Configuration block with schedule settings. Detailed below.
*/
@JvmName("ncioossfsljhrdar")
public suspend fun schedule(`value`: ImagePipelineScheduleArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.schedule = mapped
}
/**
* @param argument Configuration block with schedule settings. Detailed below.
*/
@JvmName("mgsvcuaydrsnytoi")
public suspend fun schedule(argument: suspend ImagePipelineScheduleArgsBuilder.() -> Unit) {
val toBeMapped = ImagePipelineScheduleArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.schedule = mapped
}
/**
* @param value Status of the image pipeline. Valid values are `DISABLED` and `ENABLED`. Defaults to `ENABLED`.
*/
@JvmName("xuvotbxbivwampvh")
public suspend fun status(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.status = mapped
}
/**
* @param value Key-value map of resource tags for the image pipeline. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
@JvmName("iljsyilrpogoyuhd")
public suspend fun tags(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param values Key-value map of resource tags for the image pipeline. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
@JvmName("alqpetivbiqkswkf")
public fun tags(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param value Configuration block with the workflow configuration. Detailed below.
*/
@JvmName("ihfoibopluaonphm")
public suspend fun workflows(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.workflows = mapped
}
/**
* @param argument Configuration block with the workflow configuration. Detailed below.
*/
@JvmName("hprahwtxyarywcbw")
public suspend fun workflows(argument: List Unit>) {
val toBeMapped = argument.toList().map {
ImagePipelineWorkflowArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.workflows = mapped
}
/**
* @param argument Configuration block with the workflow configuration. Detailed below.
*/
@JvmName("syymnnmwxlmlttxi")
public suspend fun workflows(vararg argument: suspend ImagePipelineWorkflowArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map {
ImagePipelineWorkflowArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.workflows = mapped
}
/**
* @param argument Configuration block with the workflow configuration. Detailed below.
*/
@JvmName("maaamrhnqhtvfdoa")
public suspend fun workflows(argument: suspend ImagePipelineWorkflowArgsBuilder.() -> Unit) {
val toBeMapped = listOf(ImagePipelineWorkflowArgsBuilder().applySuspend { argument() }.build())
val mapped = of(toBeMapped)
this.workflows = mapped
}
/**
* @param values Configuration block with the workflow configuration. Detailed below.
*/
@JvmName("xdwkwhlqukrsbume")
public suspend fun workflows(vararg values: ImagePipelineWorkflowArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.workflows = mapped
}
internal fun build(): ImagePipelineArgs = ImagePipelineArgs(
containerRecipeArn = containerRecipeArn,
description = description,
distributionConfigurationArn = distributionConfigurationArn,
enhancedImageMetadataEnabled = enhancedImageMetadataEnabled,
executionRole = executionRole,
imageRecipeArn = imageRecipeArn,
imageScanningConfiguration = imageScanningConfiguration,
imageTestsConfiguration = imageTestsConfiguration,
infrastructureConfigurationArn = infrastructureConfigurationArn,
name = name,
schedule = schedule,
status = status,
tags = tags,
workflows = workflows,
)
}