
com.pulumi.awsnative.stepfunctions.kotlin.StateMachine.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-aws-native-kotlin Show documentation
Show all versions of pulumi-aws-native-kotlin Show documentation
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.stepfunctions.kotlin
import com.pulumi.awsnative.kotlin.outputs.Tag
import com.pulumi.awsnative.stepfunctions.kotlin.enums.StateMachineType
import com.pulumi.awsnative.stepfunctions.kotlin.outputs.StateMachineDefinition
import com.pulumi.awsnative.stepfunctions.kotlin.outputs.StateMachineEncryptionConfiguration
import com.pulumi.awsnative.stepfunctions.kotlin.outputs.StateMachineLoggingConfiguration
import com.pulumi.awsnative.stepfunctions.kotlin.outputs.StateMachineS3Location
import com.pulumi.awsnative.stepfunctions.kotlin.outputs.StateMachineTracingConfiguration
import com.pulumi.core.Output
import com.pulumi.kotlin.KotlinCustomResource
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.ResourceMapper
import com.pulumi.kotlin.options.CustomResourceOptions
import com.pulumi.kotlin.options.CustomResourceOptionsBuilder
import com.pulumi.resources.Resource
import kotlin.Any
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import com.pulumi.awsnative.kotlin.outputs.Tag.Companion.toKotlin as tagToKotlin
import com.pulumi.awsnative.stepfunctions.kotlin.enums.StateMachineType.Companion.toKotlin as stateMachineTypeToKotlin
import com.pulumi.awsnative.stepfunctions.kotlin.outputs.StateMachineDefinition.Companion.toKotlin as stateMachineDefinitionToKotlin
import com.pulumi.awsnative.stepfunctions.kotlin.outputs.StateMachineEncryptionConfiguration.Companion.toKotlin as stateMachineEncryptionConfigurationToKotlin
import com.pulumi.awsnative.stepfunctions.kotlin.outputs.StateMachineLoggingConfiguration.Companion.toKotlin as stateMachineLoggingConfigurationToKotlin
import com.pulumi.awsnative.stepfunctions.kotlin.outputs.StateMachineS3Location.Companion.toKotlin as stateMachineS3LocationToKotlin
import com.pulumi.awsnative.stepfunctions.kotlin.outputs.StateMachineTracingConfiguration.Companion.toKotlin as stateMachineTracingConfigurationToKotlin
/**
* Builder for [StateMachine].
*/
@PulumiTagMarker
public class StateMachineResourceBuilder internal constructor() {
public var name: String? = null
public var args: StateMachineArgs = StateMachineArgs()
public var opts: CustomResourceOptions = CustomResourceOptions()
/**
* @param name The _unique_ name of the resulting resource.
*/
public fun name(`value`: String) {
this.name = value
}
/**
* @param block The arguments to use to populate this resource's properties.
*/
public suspend fun args(block: suspend StateMachineArgsBuilder.() -> Unit) {
val builder = StateMachineArgsBuilder()
block(builder)
this.args = builder.build()
}
/**
* @param block A bag of options that control this resource's behavior.
*/
public suspend fun opts(block: suspend CustomResourceOptionsBuilder.() -> Unit) {
this.opts = com.pulumi.kotlin.options.CustomResourceOptions.opts(block)
}
internal fun build(): StateMachine {
val builtJavaResource = com.pulumi.awsnative.stepfunctions.StateMachine(
this.name,
this.args.toJava(),
this.opts.toJava(),
)
return StateMachine(builtJavaResource)
}
}
/**
* Resource schema for StateMachine
* ## Example Usage
* ### Example
* No Java example available.
* ### Example
* No Java example available.
* ### Example
* No Java example available.
* ### Example
* No Java example available.
*/
public class StateMachine internal constructor(
override val javaResource: com.pulumi.awsnative.stepfunctions.StateMachine,
) : KotlinCustomResource(javaResource, StateMachineMapper) {
/**
* Returns the ARN of the resource.
*/
public val arn: Output
get() = javaResource.arn().applyValue({ args0 -> args0 })
/**
* The Amazon States Language definition of the state machine. The state machine definition must be in JSON or YAML, and the format of the object must match the format of your CloudFormation template file. See [Amazon States Language](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html) .
*/
public val definition: Output?
get() = javaResource.definition().applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
stateMachineDefinitionToKotlin(args0)
})
}).orElse(null)
})
/**
* The name of the S3 bucket where the state machine definition is stored. The state machine definition must be a JSON or YAML file.
*/
public val definitionS3Location: Output?
get() = javaResource.definitionS3Location().applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> stateMachineS3LocationToKotlin(args0) })
}).orElse(null)
})
/**
* The Amazon States Language definition of the state machine. The state machine definition must be in JSON. See [Amazon States Language](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html) .
*/
public val definitionString: Output?
get() = javaResource.definitionString().applyValue({ args0 ->
args0.map({ args0 ->
args0
}).orElse(null)
})
/**
* A map (string to string) that specifies the mappings for placeholder variables in the state machine definition. This enables the customer to inject values obtained at runtime, for example from intrinsic functions, in the state machine definition. Variables can be template parameter names, resource logical IDs, resource attributes, or a variable in a key-value map.
* Substitutions must follow the syntax: `${key_name}` or `${variable_1,variable_2,...}` .
*/
public val definitionSubstitutions: Output
© 2015 - 2025 Weber Informatics LLC | Privacy Policy