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.
commonMain.aws.sdk.kotlin.services.databrew.model.Job.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.databrew.model
import aws.smithy.kotlin.runtime.time.Instant
/**
* Represents all of the attributes of a DataBrew job.
*/
public class Job private constructor(builder: Builder) {
/**
* The ID of the Amazon Web Services account that owns the job.
*/
public val accountId: kotlin.String? = builder.accountId
/**
* The date and time that the job was created.
*/
public val createDate: aws.smithy.kotlin.runtime.time.Instant? = builder.createDate
/**
* The Amazon Resource Name (ARN) of the user who created the job.
*/
public val createdBy: kotlin.String? = builder.createdBy
/**
* One or more artifacts that represent the Glue Data Catalog output from running the job.
*/
public val dataCatalogOutputs: List? = builder.dataCatalogOutputs
/**
* Represents a list of JDBC database output objects which defines the output destination for a DataBrew recipe job to write into.
*/
public val databaseOutputs: List? = builder.databaseOutputs
/**
* A dataset that the job is to process.
*/
public val datasetName: kotlin.String? = builder.datasetName
/**
* The Amazon Resource Name (ARN) of an encryption key that is used to protect the job output. For more information, see [Encrypting data written by DataBrew jobs](https://docs.aws.amazon.com/databrew/latest/dg/encryption-security-configuration.html)
*/
public val encryptionKeyArn: kotlin.String? = builder.encryptionKeyArn
/**
* The encryption mode for the job, which can be one of the following:
* + `SSE-KMS` - Server-side encryption with keys managed by KMS.
* + `SSE-S3` - Server-side encryption with keys managed by Amazon S3.
*/
public val encryptionMode: aws.sdk.kotlin.services.databrew.model.EncryptionMode? = builder.encryptionMode
/**
* A sample configuration for profile jobs only, which determines the number of rows on which the profile job is run. If a `JobSample` value isn't provided, the default value is used. The default value is CUSTOM_ROWS for the mode parameter and 20,000 for the size parameter.
*/
public val jobSample: aws.sdk.kotlin.services.databrew.model.JobSample? = builder.jobSample
/**
* The Amazon Resource Name (ARN) of the user who last modified the job.
*/
public val lastModifiedBy: kotlin.String? = builder.lastModifiedBy
/**
* The modification date and time of the job.
*/
public val lastModifiedDate: aws.smithy.kotlin.runtime.time.Instant? = builder.lastModifiedDate
/**
* The current status of Amazon CloudWatch logging for the job.
*/
public val logSubscription: aws.sdk.kotlin.services.databrew.model.LogSubscription? = builder.logSubscription
/**
* The maximum number of nodes that can be consumed when the job processes data.
*/
public val maxCapacity: kotlin.Int = builder.maxCapacity
/**
* The maximum number of times to retry the job after a job run fails.
*/
public val maxRetries: kotlin.Int = builder.maxRetries
/**
* The unique name of the job.
*/
public val name: kotlin.String = requireNotNull(builder.name) { "A non-null value must be provided for name" }
/**
* One or more artifacts that represent output from running the job.
*/
public val outputs: List? = builder.outputs
/**
* The name of the project that the job is associated with.
*/
public val projectName: kotlin.String? = builder.projectName
/**
* A set of steps that the job runs.
*/
public val recipeReference: aws.sdk.kotlin.services.databrew.model.RecipeReference? = builder.recipeReference
/**
* The unique Amazon Resource Name (ARN) for the job.
*/
public val resourceArn: kotlin.String? = builder.resourceArn
/**
* The Amazon Resource Name (ARN) of the role to be assumed for this job.
*/
public val roleArn: kotlin.String? = builder.roleArn
/**
* Metadata tags that have been applied to the job.
*/
public val tags: Map? = builder.tags
/**
* The job's timeout in minutes. A job that attempts to run longer than this timeout period ends with a status of `TIMEOUT`.
*/
public val timeout: kotlin.Int = builder.timeout
/**
* The job type of the job, which must be one of the following:
* + `PROFILE` - A job to analyze a dataset, to determine its size, data types, data distribution, and more.
* + `RECIPE` - A job to apply one or more transformations to a dataset.
*/
public val type: aws.sdk.kotlin.services.databrew.model.JobType? = builder.type
/**
* List of validation configurations that are applied to the profile job.
*/
public val validationConfigurations: List? = builder.validationConfigurations
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.databrew.model.Job = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("Job(")
append("accountId=$accountId,")
append("createDate=$createDate,")
append("createdBy=$createdBy,")
append("dataCatalogOutputs=$dataCatalogOutputs,")
append("databaseOutputs=$databaseOutputs,")
append("datasetName=$datasetName,")
append("encryptionKeyArn=$encryptionKeyArn,")
append("encryptionMode=$encryptionMode,")
append("jobSample=$jobSample,")
append("lastModifiedBy=$lastModifiedBy,")
append("lastModifiedDate=$lastModifiedDate,")
append("logSubscription=$logSubscription,")
append("maxCapacity=$maxCapacity,")
append("maxRetries=$maxRetries,")
append("name=$name,")
append("outputs=$outputs,")
append("projectName=$projectName,")
append("recipeReference=$recipeReference,")
append("resourceArn=$resourceArn,")
append("roleArn=$roleArn,")
append("tags=$tags,")
append("timeout=$timeout,")
append("type=$type,")
append("validationConfigurations=$validationConfigurations")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = accountId?.hashCode() ?: 0
result = 31 * result + (createDate?.hashCode() ?: 0)
result = 31 * result + (createdBy?.hashCode() ?: 0)
result = 31 * result + (dataCatalogOutputs?.hashCode() ?: 0)
result = 31 * result + (databaseOutputs?.hashCode() ?: 0)
result = 31 * result + (datasetName?.hashCode() ?: 0)
result = 31 * result + (encryptionKeyArn?.hashCode() ?: 0)
result = 31 * result + (encryptionMode?.hashCode() ?: 0)
result = 31 * result + (jobSample?.hashCode() ?: 0)
result = 31 * result + (lastModifiedBy?.hashCode() ?: 0)
result = 31 * result + (lastModifiedDate?.hashCode() ?: 0)
result = 31 * result + (logSubscription?.hashCode() ?: 0)
result = 31 * result + (maxCapacity)
result = 31 * result + (maxRetries)
result = 31 * result + (name.hashCode())
result = 31 * result + (outputs?.hashCode() ?: 0)
result = 31 * result + (projectName?.hashCode() ?: 0)
result = 31 * result + (recipeReference?.hashCode() ?: 0)
result = 31 * result + (resourceArn?.hashCode() ?: 0)
result = 31 * result + (roleArn?.hashCode() ?: 0)
result = 31 * result + (tags?.hashCode() ?: 0)
result = 31 * result + (timeout)
result = 31 * result + (type?.hashCode() ?: 0)
result = 31 * result + (validationConfigurations?.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 Job
if (accountId != other.accountId) return false
if (createDate != other.createDate) return false
if (createdBy != other.createdBy) return false
if (dataCatalogOutputs != other.dataCatalogOutputs) return false
if (databaseOutputs != other.databaseOutputs) return false
if (datasetName != other.datasetName) return false
if (encryptionKeyArn != other.encryptionKeyArn) return false
if (encryptionMode != other.encryptionMode) return false
if (jobSample != other.jobSample) return false
if (lastModifiedBy != other.lastModifiedBy) return false
if (lastModifiedDate != other.lastModifiedDate) return false
if (logSubscription != other.logSubscription) return false
if (maxCapacity != other.maxCapacity) return false
if (maxRetries != other.maxRetries) return false
if (name != other.name) return false
if (outputs != other.outputs) return false
if (projectName != other.projectName) return false
if (recipeReference != other.recipeReference) return false
if (resourceArn != other.resourceArn) return false
if (roleArn != other.roleArn) return false
if (tags != other.tags) return false
if (timeout != other.timeout) return false
if (type != other.type) return false
if (validationConfigurations != other.validationConfigurations) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.databrew.model.Job = Builder(this).apply(block).build()
public class Builder {
/**
* The ID of the Amazon Web Services account that owns the job.
*/
public var accountId: kotlin.String? = null
/**
* The date and time that the job was created.
*/
public var createDate: aws.smithy.kotlin.runtime.time.Instant? = null
/**
* The Amazon Resource Name (ARN) of the user who created the job.
*/
public var createdBy: kotlin.String? = null
/**
* One or more artifacts that represent the Glue Data Catalog output from running the job.
*/
public var dataCatalogOutputs: List? = null
/**
* Represents a list of JDBC database output objects which defines the output destination for a DataBrew recipe job to write into.
*/
public var databaseOutputs: List? = null
/**
* A dataset that the job is to process.
*/
public var datasetName: kotlin.String? = null
/**
* The Amazon Resource Name (ARN) of an encryption key that is used to protect the job output. For more information, see [Encrypting data written by DataBrew jobs](https://docs.aws.amazon.com/databrew/latest/dg/encryption-security-configuration.html)
*/
public var encryptionKeyArn: kotlin.String? = null
/**
* The encryption mode for the job, which can be one of the following:
* + `SSE-KMS` - Server-side encryption with keys managed by KMS.
* + `SSE-S3` - Server-side encryption with keys managed by Amazon S3.
*/
public var encryptionMode: aws.sdk.kotlin.services.databrew.model.EncryptionMode? = null
/**
* A sample configuration for profile jobs only, which determines the number of rows on which the profile job is run. If a `JobSample` value isn't provided, the default value is used. The default value is CUSTOM_ROWS for the mode parameter and 20,000 for the size parameter.
*/
public var jobSample: aws.sdk.kotlin.services.databrew.model.JobSample? = null
/**
* The Amazon Resource Name (ARN) of the user who last modified the job.
*/
public var lastModifiedBy: kotlin.String? = null
/**
* The modification date and time of the job.
*/
public var lastModifiedDate: aws.smithy.kotlin.runtime.time.Instant? = null
/**
* The current status of Amazon CloudWatch logging for the job.
*/
public var logSubscription: aws.sdk.kotlin.services.databrew.model.LogSubscription? = null
/**
* The maximum number of nodes that can be consumed when the job processes data.
*/
public var maxCapacity: kotlin.Int = 0
/**
* The maximum number of times to retry the job after a job run fails.
*/
public var maxRetries: kotlin.Int = 0
/**
* The unique name of the job.
*/
public var name: kotlin.String? = null
/**
* One or more artifacts that represent output from running the job.
*/
public var outputs: List? = null
/**
* The name of the project that the job is associated with.
*/
public var projectName: kotlin.String? = null
/**
* A set of steps that the job runs.
*/
public var recipeReference: aws.sdk.kotlin.services.databrew.model.RecipeReference? = null
/**
* The unique Amazon Resource Name (ARN) for the job.
*/
public var resourceArn: kotlin.String? = null
/**
* The Amazon Resource Name (ARN) of the role to be assumed for this job.
*/
public var roleArn: kotlin.String? = null
/**
* Metadata tags that have been applied to the job.
*/
public var tags: Map? = null
/**
* The job's timeout in minutes. A job that attempts to run longer than this timeout period ends with a status of `TIMEOUT`.
*/
public var timeout: kotlin.Int = 0
/**
* The job type of the job, which must be one of the following:
* + `PROFILE` - A job to analyze a dataset, to determine its size, data types, data distribution, and more.
* + `RECIPE` - A job to apply one or more transformations to a dataset.
*/
public var type: aws.sdk.kotlin.services.databrew.model.JobType? = null
/**
* List of validation configurations that are applied to the profile job.
*/
public var validationConfigurations: List? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.databrew.model.Job) : this() {
this.accountId = x.accountId
this.createDate = x.createDate
this.createdBy = x.createdBy
this.dataCatalogOutputs = x.dataCatalogOutputs
this.databaseOutputs = x.databaseOutputs
this.datasetName = x.datasetName
this.encryptionKeyArn = x.encryptionKeyArn
this.encryptionMode = x.encryptionMode
this.jobSample = x.jobSample
this.lastModifiedBy = x.lastModifiedBy
this.lastModifiedDate = x.lastModifiedDate
this.logSubscription = x.logSubscription
this.maxCapacity = x.maxCapacity
this.maxRetries = x.maxRetries
this.name = x.name
this.outputs = x.outputs
this.projectName = x.projectName
this.recipeReference = x.recipeReference
this.resourceArn = x.resourceArn
this.roleArn = x.roleArn
this.tags = x.tags
this.timeout = x.timeout
this.type = x.type
this.validationConfigurations = x.validationConfigurations
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.databrew.model.Job = Job(this)
/**
* construct an [aws.sdk.kotlin.services.databrew.model.JobSample] inside the given [block]
*/
public fun jobSample(block: aws.sdk.kotlin.services.databrew.model.JobSample.Builder.() -> kotlin.Unit) {
this.jobSample = aws.sdk.kotlin.services.databrew.model.JobSample.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.databrew.model.RecipeReference] inside the given [block]
*/
public fun recipeReference(block: aws.sdk.kotlin.services.databrew.model.RecipeReference.Builder.() -> kotlin.Unit) {
this.recipeReference = aws.sdk.kotlin.services.databrew.model.RecipeReference.invoke(block)
}
internal fun correctErrors(): Builder {
if (name == null) name = ""
return this
}
}
}