All Downloads are FREE. Search and download functionalities are using the official Maven repository.
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.awsnative.imagebuilder.kotlin.ImagePipelineArgs.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.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.imagebuilder.kotlin
import com.pulumi.awsnative.imagebuilder.ImagePipelineArgs.builder
import com.pulumi.awsnative.imagebuilder.kotlin.enums.ImagePipelineStatus
import com.pulumi.awsnative.imagebuilder.kotlin.inputs.ImagePipelineImageScanningConfigurationArgs
import com.pulumi.awsnative.imagebuilder.kotlin.inputs.ImagePipelineImageScanningConfigurationArgsBuilder
import com.pulumi.awsnative.imagebuilder.kotlin.inputs.ImagePipelineImageTestsConfigurationArgs
import com.pulumi.awsnative.imagebuilder.kotlin.inputs.ImagePipelineImageTestsConfigurationArgsBuilder
import com.pulumi.awsnative.imagebuilder.kotlin.inputs.ImagePipelineScheduleArgs
import com.pulumi.awsnative.imagebuilder.kotlin.inputs.ImagePipelineScheduleArgsBuilder
import com.pulumi.awsnative.imagebuilder.kotlin.inputs.ImagePipelineWorkflowConfigurationArgs
import com.pulumi.awsnative.imagebuilder.kotlin.inputs.ImagePipelineWorkflowConfigurationArgsBuilder
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
/**
* Resource schema for AWS::ImageBuilder::ImagePipeline
* @property containerRecipeArn The Amazon Resource Name (ARN) of the container recipe that defines how images are configured and tested.
* @property description The description of the image pipeline.
* @property distributionConfigurationArn The Amazon Resource Name (ARN) of the distribution configuration associated with this image pipeline.
* @property enhancedImageMetadataEnabled Collects additional information about the image being created, including the operating system (OS) version and package list.
* @property executionRole The execution role name/ARN for the image build, if provided
* @property imageRecipeArn The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed.
* @property imageScanningConfiguration Contains settings for vulnerability scans.
* @property imageTestsConfiguration The image tests configuration of the image pipeline.
* @property infrastructureConfigurationArn The Amazon Resource Name (ARN) of the infrastructure configuration associated with this image pipeline.
* @property name The name of the image pipeline.
* @property schedule The schedule of the image pipeline.
* @property status The status of the image pipeline.
* @property tags The tags of this image pipeline.
* @property workflows Workflows to define the image build process
*/
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.awsnative.imagebuilder.ImagePipelineArgs =
com.pulumi.awsnative.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.let({ args0 -> args0.toJava() }) }))
.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 The Amazon Resource Name (ARN) of the container recipe that defines how images are configured and tested.
*/
@JvmName("towrntsyfchfesex")
public suspend fun containerRecipeArn(`value`: Output) {
this.containerRecipeArn = value
}
/**
* @param value The description of the image pipeline.
*/
@JvmName("byjgqbmqiwlvymfi")
public suspend fun description(`value`: Output) {
this.description = value
}
/**
* @param value The Amazon Resource Name (ARN) of the distribution configuration associated with this image pipeline.
*/
@JvmName("ibwthmcnjfgfxcre")
public suspend fun distributionConfigurationArn(`value`: Output) {
this.distributionConfigurationArn = value
}
/**
* @param value Collects additional information about the image being created, including the operating system (OS) version and package list.
*/
@JvmName("qptjnidnhyfclwxg")
public suspend fun enhancedImageMetadataEnabled(`value`: Output) {
this.enhancedImageMetadataEnabled = value
}
/**
* @param value The execution role name/ARN for the image build, if provided
*/
@JvmName("xovjaoabhjpfshti")
public suspend fun executionRole(`value`: Output) {
this.executionRole = value
}
/**
* @param value The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed.
*/
@JvmName("xowlxglwnsbwcgja")
public suspend fun imageRecipeArn(`value`: Output) {
this.imageRecipeArn = value
}
/**
* @param value Contains settings for vulnerability scans.
*/
@JvmName("dnduerrbontqqpgi")
public suspend fun imageScanningConfiguration(`value`: Output) {
this.imageScanningConfiguration = value
}
/**
* @param value The image tests configuration of the image pipeline.
*/
@JvmName("fomqgmwwniayfnek")
public suspend fun imageTestsConfiguration(`value`: Output) {
this.imageTestsConfiguration = value
}
/**
* @param value The Amazon Resource Name (ARN) of the infrastructure configuration associated with this image pipeline.
*/
@JvmName("otsqtynjldcieqbs")
public suspend fun infrastructureConfigurationArn(`value`: Output) {
this.infrastructureConfigurationArn = value
}
/**
* @param value The name of the image pipeline.
*/
@JvmName("kaaddrbdercisaql")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value The schedule of the image pipeline.
*/
@JvmName("tyeylphrdusvvuuu")
public suspend fun schedule(`value`: Output) {
this.schedule = value
}
/**
* @param value The status of the image pipeline.
*/
@JvmName("lpwinrkkqxvpghpr")
public suspend fun status(`value`: Output) {
this.status = value
}
/**
* @param value The tags of this image pipeline.
*/
@JvmName("eqlbahaytireckcj")
public suspend fun tags(`value`: Output>) {
this.tags = value
}
/**
* @param value Workflows to define the image build process
*/
@JvmName("wupgkpwobemuubni")
public suspend fun workflows(`value`: Output>) {
this.workflows = value
}
@JvmName("dpkxijtlxwgrkmrb")
public suspend fun workflows(vararg values: Output) {
this.workflows = Output.all(values.asList())
}
/**
* @param values Workflows to define the image build process
*/
@JvmName("krfcsfpmnfgqauav")
public suspend fun workflows(values: List>) {
this.workflows = Output.all(values)
}
/**
* @param value The Amazon Resource Name (ARN) of the container recipe that defines how images are configured and tested.
*/
@JvmName("namniqacphchpiuu")
public suspend fun containerRecipeArn(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.containerRecipeArn = mapped
}
/**
* @param value The description of the image pipeline.
*/
@JvmName("jnntwtehxkfrcxpq")
public suspend fun description(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.description = mapped
}
/**
* @param value The Amazon Resource Name (ARN) of the distribution configuration associated with this image pipeline.
*/
@JvmName("jqmfcumtrpmbcnqa")
public suspend fun distributionConfigurationArn(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.distributionConfigurationArn = mapped
}
/**
* @param value Collects additional information about the image being created, including the operating system (OS) version and package list.
*/
@JvmName("prampfkcvrunrjbj")
public suspend fun enhancedImageMetadataEnabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.enhancedImageMetadataEnabled = mapped
}
/**
* @param value The execution role name/ARN for the image build, if provided
*/
@JvmName("xcxhjhsugqtlmsfa")
public suspend fun executionRole(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.executionRole = mapped
}
/**
* @param value The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed.
*/
@JvmName("glgnutvpscdmbncf")
public suspend fun imageRecipeArn(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.imageRecipeArn = mapped
}
/**
* @param value Contains settings for vulnerability scans.
*/
@JvmName("piecscaxreciulrs")
public suspend fun imageScanningConfiguration(`value`: ImagePipelineImageScanningConfigurationArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.imageScanningConfiguration = mapped
}
/**
* @param argument Contains settings for vulnerability scans.
*/
@JvmName("fufrtsdilfpqippj")
public suspend fun imageScanningConfiguration(argument: suspend ImagePipelineImageScanningConfigurationArgsBuilder.() -> Unit) {
val toBeMapped = ImagePipelineImageScanningConfigurationArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.imageScanningConfiguration = mapped
}
/**
* @param value The image tests configuration of the image pipeline.
*/
@JvmName("ttvwstfdsgsyxwwn")
public suspend fun imageTestsConfiguration(`value`: ImagePipelineImageTestsConfigurationArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.imageTestsConfiguration = mapped
}
/**
* @param argument The image tests configuration of the image pipeline.
*/
@JvmName("trneshmhosxnwrkb")
public suspend fun imageTestsConfiguration(argument: suspend ImagePipelineImageTestsConfigurationArgsBuilder.() -> Unit) {
val toBeMapped = ImagePipelineImageTestsConfigurationArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.imageTestsConfiguration = mapped
}
/**
* @param value The Amazon Resource Name (ARN) of the infrastructure configuration associated with this image pipeline.
*/
@JvmName("jlhsfwprpdlqebys")
public suspend fun infrastructureConfigurationArn(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.infrastructureConfigurationArn = mapped
}
/**
* @param value The name of the image pipeline.
*/
@JvmName("ltnbffylbksgkbgr")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value The schedule of the image pipeline.
*/
@JvmName("txtaknyaurhusgqd")
public suspend fun schedule(`value`: ImagePipelineScheduleArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.schedule = mapped
}
/**
* @param argument The schedule of the image pipeline.
*/
@JvmName("opbfqjkmvxuqixtl")
public suspend fun schedule(argument: suspend ImagePipelineScheduleArgsBuilder.() -> Unit) {
val toBeMapped = ImagePipelineScheduleArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.schedule = mapped
}
/**
* @param value The status of the image pipeline.
*/
@JvmName("fxlsgbdfauecmcpx")
public suspend fun status(`value`: ImagePipelineStatus?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.status = mapped
}
/**
* @param value The tags of this image pipeline.
*/
@JvmName("xqaxkibgclofmgoo")
public suspend fun tags(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param values The tags of this image pipeline.
*/
@JvmName("wkhpdxvahuynngvu")
public fun tags(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param value Workflows to define the image build process
*/
@JvmName("jwbkabrgkftitpmq")
public suspend fun workflows(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.workflows = mapped
}
/**
* @param argument Workflows to define the image build process
*/
@JvmName("jlichwojesfjtcjk")
public suspend fun workflows(argument: List Unit>) {
val toBeMapped = argument.toList().map {
ImagePipelineWorkflowConfigurationArgsBuilder().applySuspend { it() }.build()
}
val mapped = of(toBeMapped)
this.workflows = mapped
}
/**
* @param argument Workflows to define the image build process
*/
@JvmName("dsixvwgpbyjtvrcn")
public suspend fun workflows(vararg argument: suspend ImagePipelineWorkflowConfigurationArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map {
ImagePipelineWorkflowConfigurationArgsBuilder().applySuspend { it() }.build()
}
val mapped = of(toBeMapped)
this.workflows = mapped
}
/**
* @param argument Workflows to define the image build process
*/
@JvmName("fybgofheainfvenp")
public suspend fun workflows(argument: suspend ImagePipelineWorkflowConfigurationArgsBuilder.() -> Unit) {
val toBeMapped = listOf(
ImagePipelineWorkflowConfigurationArgsBuilder().applySuspend {
argument()
}.build(),
)
val mapped = of(toBeMapped)
this.workflows = mapped
}
/**
* @param values Workflows to define the image build process
*/
@JvmName("xofenvulmllmeyuc")
public suspend fun workflows(vararg values: ImagePipelineWorkflowConfigurationArgs) {
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,
)
}