commonMain.aws.sdk.kotlin.services.iotanalytics.model.ContainerDatasetAction.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of iotanalytics-jvm Show documentation
Show all versions of iotanalytics-jvm Show documentation
The AWS SDK for Kotlin client for IoTAnalytics
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.iotanalytics.model
import aws.smithy.kotlin.runtime.SdkDsl
/**
* Information required to run the `containerAction` to produce dataset contents.
*/
public class ContainerDatasetAction private constructor(builder: Builder) {
/**
* The ARN of the role that gives permission to the system to access required resources to run the `containerAction`. This includes, at minimum, permission to retrieve the dataset contents that are the input to the containerized application.
*/
public val executionRoleArn: kotlin.String = requireNotNull(builder.executionRoleArn) { "A non-null value must be provided for executionRoleArn" }
/**
* The ARN of the Docker container stored in your account. The Docker container contains an application and required support libraries and is used to generate dataset contents.
*/
public val image: kotlin.String = requireNotNull(builder.image) { "A non-null value must be provided for image" }
/**
* Configuration of the resource that executes the `containerAction`.
*/
public val resourceConfiguration: aws.sdk.kotlin.services.iotanalytics.model.ResourceConfiguration? = builder.resourceConfiguration
/**
* The values of variables used in the context of the execution of the containerized application (basically, parameters passed to the application). Each variable must have a name and a value given by one of `stringValue`, `datasetContentVersionValue`, or `outputFileUriValue`.
*/
public val variables: List? = builder.variables
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.iotanalytics.model.ContainerDatasetAction = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("ContainerDatasetAction(")
append("executionRoleArn=$executionRoleArn,")
append("image=$image,")
append("resourceConfiguration=$resourceConfiguration,")
append("variables=$variables")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = executionRoleArn.hashCode()
result = 31 * result + (image.hashCode())
result = 31 * result + (resourceConfiguration?.hashCode() ?: 0)
result = 31 * result + (variables?.hashCode() ?: 0)
return result
}
override fun equals(other: kotlin.Any?): kotlin.Boolean {
if (this === other) return true
if (other == null || this::class != other::class) return false
other as ContainerDatasetAction
if (executionRoleArn != other.executionRoleArn) return false
if (image != other.image) return false
if (resourceConfiguration != other.resourceConfiguration) return false
if (variables != other.variables) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.iotanalytics.model.ContainerDatasetAction = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The ARN of the role that gives permission to the system to access required resources to run the `containerAction`. This includes, at minimum, permission to retrieve the dataset contents that are the input to the containerized application.
*/
public var executionRoleArn: kotlin.String? = null
/**
* The ARN of the Docker container stored in your account. The Docker container contains an application and required support libraries and is used to generate dataset contents.
*/
public var image: kotlin.String? = null
/**
* Configuration of the resource that executes the `containerAction`.
*/
public var resourceConfiguration: aws.sdk.kotlin.services.iotanalytics.model.ResourceConfiguration? = null
/**
* The values of variables used in the context of the execution of the containerized application (basically, parameters passed to the application). Each variable must have a name and a value given by one of `stringValue`, `datasetContentVersionValue`, or `outputFileUriValue`.
*/
public var variables: List? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.iotanalytics.model.ContainerDatasetAction) : this() {
this.executionRoleArn = x.executionRoleArn
this.image = x.image
this.resourceConfiguration = x.resourceConfiguration
this.variables = x.variables
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.iotanalytics.model.ContainerDatasetAction = ContainerDatasetAction(this)
/**
* construct an [aws.sdk.kotlin.services.iotanalytics.model.ResourceConfiguration] inside the given [block]
*/
public fun resourceConfiguration(block: aws.sdk.kotlin.services.iotanalytics.model.ResourceConfiguration.Builder.() -> kotlin.Unit) {
this.resourceConfiguration = aws.sdk.kotlin.services.iotanalytics.model.ResourceConfiguration.invoke(block)
}
internal fun correctErrors(): Builder {
if (executionRoleArn == null) executionRoleArn = ""
if (image == null) image = ""
return this
}
}
}