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.
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.iot.kotlin
import com.pulumi.awsnative.iot.JobTemplateArgs.builder
import com.pulumi.awsnative.iot.kotlin.inputs.AbortConfigPropertiesArgs
import com.pulumi.awsnative.iot.kotlin.inputs.AbortConfigPropertiesArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.JobExecutionsRetryConfigPropertiesArgs
import com.pulumi.awsnative.iot.kotlin.inputs.JobExecutionsRetryConfigPropertiesArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.JobExecutionsRolloutConfigPropertiesArgs
import com.pulumi.awsnative.iot.kotlin.inputs.JobExecutionsRolloutConfigPropertiesArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.JobTemplateMaintenanceWindowArgs
import com.pulumi.awsnative.iot.kotlin.inputs.JobTemplateMaintenanceWindowArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.PresignedUrlConfigPropertiesArgs
import com.pulumi.awsnative.iot.kotlin.inputs.PresignedUrlConfigPropertiesArgsBuilder
import com.pulumi.awsnative.iot.kotlin.inputs.TimeoutConfigPropertiesArgs
import com.pulumi.awsnative.iot.kotlin.inputs.TimeoutConfigPropertiesArgsBuilder
import com.pulumi.awsnative.kotlin.inputs.CreateOnlyTagArgs
import com.pulumi.awsnative.kotlin.inputs.CreateOnlyTagArgsBuilder
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.collections.List
import kotlin.jvm.JvmName
/**
* Job templates enable you to preconfigure jobs so that you can deploy them to multiple sets of target devices.
* @property abortConfig The criteria that determine when and how a job abort takes place.
* @property description A description of the Job Template.
* @property destinationPackageVersions The package version Amazon Resource Names (ARNs) that are installed on the device’s reserved named shadow ( `$package` ) when the job successfully completes.
* *Note:* Up to 25 package version ARNS are allowed.
* @property document The job document. Required if you don't specify a value for documentSource.
* @property documentSource An S3 link to the job document to use in the template. Required if you don't specify a value for document.
* @property jobArn Optional for copying a JobTemplate from a pre-existing Job configuration.
* @property jobExecutionsRetryConfig Allows you to create the criteria to retry a job.
* @property jobExecutionsRolloutConfig Allows you to create a staged rollout of a job.
* @property jobTemplateId A unique identifier for the job template. We recommend using a UUID. Alpha-numeric characters, "-", and "_" are valid for use here.
* @property maintenanceWindows An optional configuration within the SchedulingConfig to setup a recurring maintenance window with a predetermined start time and duration for the rollout of a job document to all devices in a target group for a job.
* @property presignedUrlConfig Configuration for pre-signed S3 URLs.
* @property tags Metadata that can be used to manage the JobTemplate.
* @property timeoutConfig Specifies the amount of time each device has to finish its execution of the job.
*/
public data class JobTemplateArgs(
public val abortConfig: Output? = null,
public val description: Output? = null,
public val destinationPackageVersions: Output>? = null,
public val document: Output? = null,
public val documentSource: Output? = null,
public val jobArn: Output? = null,
public val jobExecutionsRetryConfig: Output? = null,
public val jobExecutionsRolloutConfig: Output? = null,
public val jobTemplateId: Output? = null,
public val maintenanceWindows: Output>? = null,
public val presignedUrlConfig: Output? = null,
public val tags: Output>? = null,
public val timeoutConfig: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.iot.JobTemplateArgs =
com.pulumi.awsnative.iot.JobTemplateArgs.builder()
.abortConfig(abortConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.description(description?.applyValue({ args0 -> args0 }))
.destinationPackageVersions(
destinationPackageVersions?.applyValue({ args0 ->
args0.map({ args0 ->
args0
})
}),
)
.document(document?.applyValue({ args0 -> args0 }))
.documentSource(documentSource?.applyValue({ args0 -> args0 }))
.jobArn(jobArn?.applyValue({ args0 -> args0 }))
.jobExecutionsRetryConfig(
jobExecutionsRetryConfig?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.jobExecutionsRolloutConfig(
jobExecutionsRolloutConfig?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.jobTemplateId(jobTemplateId?.applyValue({ args0 -> args0 }))
.maintenanceWindows(
maintenanceWindows?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.presignedUrlConfig(
presignedUrlConfig?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
.timeoutConfig(timeoutConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}
/**
* Builder for [JobTemplateArgs].
*/
@PulumiTagMarker
public class JobTemplateArgsBuilder internal constructor() {
private var abortConfig: Output? = null
private var description: Output? = null
private var destinationPackageVersions: Output>? = null
private var document: Output? = null
private var documentSource: Output? = null
private var jobArn: Output? = null
private var jobExecutionsRetryConfig: Output? = null
private var jobExecutionsRolloutConfig: Output? = null
private var jobTemplateId: Output? = null
private var maintenanceWindows: Output>? = null
private var presignedUrlConfig: Output? = null
private var tags: Output>? = null
private var timeoutConfig: Output? = null
/**
* @param value The criteria that determine when and how a job abort takes place.
*/
@JvmName("uenndcxuknxsvcxl")
public suspend fun abortConfig(`value`: Output) {
this.abortConfig = value
}
/**
* @param value A description of the Job Template.
*/
@JvmName("edyhosmokuuayqir")
public suspend fun description(`value`: Output) {
this.description = value
}
/**
* @param value The package version Amazon Resource Names (ARNs) that are installed on the device’s reserved named shadow ( `$package` ) when the job successfully completes.
* *Note:* Up to 25 package version ARNS are allowed.
*/
@JvmName("lfhmpqrigwtqgsce")
public suspend fun destinationPackageVersions(`value`: Output>) {
this.destinationPackageVersions = value
}
@JvmName("rhmruygcwmhqxicy")
public suspend fun destinationPackageVersions(vararg values: Output) {
this.destinationPackageVersions = Output.all(values.asList())
}
/**
* @param values The package version Amazon Resource Names (ARNs) that are installed on the device’s reserved named shadow ( `$package` ) when the job successfully completes.
* *Note:* Up to 25 package version ARNS are allowed.
*/
@JvmName("dprhppnhwunkfila")
public suspend fun destinationPackageVersions(values: List