
commonMain.aws.sdk.kotlin.services.s3control.model.JobOperation.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.s3control.model
/**
* The operation that you want this job to perform on every object listed in the manifest. For more information about the available operations, see [Operations](https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-operations.html) in the *Amazon S3 User Guide*.
*/
public class JobOperation private constructor(builder: Builder) {
/**
* Directs the specified job to invoke an Lambda function on every object in the manifest.
*/
public val lambdaInvoke: aws.sdk.kotlin.services.s3control.model.LambdaInvokeOperation? = builder.lambdaInvoke
/**
* Directs the specified job to execute a DELETE Object tagging call on every object in the manifest.
*
* This functionality is not supported by directory buckets.
*/
public val s3DeleteObjectTagging: aws.sdk.kotlin.services.s3control.model.S3DeleteObjectTaggingOperation? = builder.s3DeleteObjectTagging
/**
* Directs the specified job to initiate restore requests for every archived object in the manifest.
*
* This functionality is not supported by directory buckets.
*/
public val s3InitiateRestoreObject: aws.sdk.kotlin.services.s3control.model.S3InitiateRestoreObjectOperation? = builder.s3InitiateRestoreObject
/**
* Directs the specified job to run a `PutObjectAcl` call on every object in the manifest.
*
* This functionality is not supported by directory buckets.
*/
public val s3PutObjectAcl: aws.sdk.kotlin.services.s3control.model.S3SetObjectAclOperation? = builder.s3PutObjectAcl
/**
* Directs the specified job to run a PUT Copy object call on every object in the manifest.
*/
public val s3PutObjectCopy: aws.sdk.kotlin.services.s3control.model.S3CopyObjectOperation? = builder.s3PutObjectCopy
/**
* Contains the configuration for an S3 Object Lock legal hold operation that an S3 Batch Operations job passes to every object to the underlying `PutObjectLegalHold` API operation. For more information, see [Using S3 Object Lock legal hold with S3 Batch Operations](https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html) in the *Amazon S3 User Guide*.
*
* This functionality is not supported by directory buckets.
*/
public val s3PutObjectLegalHold: aws.sdk.kotlin.services.s3control.model.S3SetObjectLegalHoldOperation? = builder.s3PutObjectLegalHold
/**
* Contains the configuration parameters for the Object Lock retention action for an S3 Batch Operations job. Batch Operations passes every object to the underlying `PutObjectRetention` API operation. For more information, see [Using S3 Object Lock retention with S3 Batch Operations](https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) in the *Amazon S3 User Guide*.
*
* This functionality is not supported by directory buckets.
*/
public val s3PutObjectRetention: aws.sdk.kotlin.services.s3control.model.S3SetObjectRetentionOperation? = builder.s3PutObjectRetention
/**
* Directs the specified job to run a PUT Object tagging call on every object in the manifest.
*
* This functionality is not supported by directory buckets.
*/
public val s3PutObjectTagging: aws.sdk.kotlin.services.s3control.model.S3SetObjectTaggingOperation? = builder.s3PutObjectTagging
/**
* Directs the specified job to invoke `ReplicateObject` on every object in the job's manifest.
*
* This functionality is not supported by directory buckets.
*/
public val s3ReplicateObject: aws.sdk.kotlin.services.s3control.model.S3ReplicateObjectOperation? = builder.s3ReplicateObject
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.s3control.model.JobOperation = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("JobOperation(")
append("lambdaInvoke=$lambdaInvoke,")
append("s3DeleteObjectTagging=$s3DeleteObjectTagging,")
append("s3InitiateRestoreObject=$s3InitiateRestoreObject,")
append("s3PutObjectAcl=$s3PutObjectAcl,")
append("s3PutObjectCopy=$s3PutObjectCopy,")
append("s3PutObjectLegalHold=$s3PutObjectLegalHold,")
append("s3PutObjectRetention=$s3PutObjectRetention,")
append("s3PutObjectTagging=$s3PutObjectTagging,")
append("s3ReplicateObject=$s3ReplicateObject")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = lambdaInvoke?.hashCode() ?: 0
result = 31 * result + (s3DeleteObjectTagging?.hashCode() ?: 0)
result = 31 * result + (s3InitiateRestoreObject?.hashCode() ?: 0)
result = 31 * result + (s3PutObjectAcl?.hashCode() ?: 0)
result = 31 * result + (s3PutObjectCopy?.hashCode() ?: 0)
result = 31 * result + (s3PutObjectLegalHold?.hashCode() ?: 0)
result = 31 * result + (s3PutObjectRetention?.hashCode() ?: 0)
result = 31 * result + (s3PutObjectTagging?.hashCode() ?: 0)
result = 31 * result + (s3ReplicateObject?.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 JobOperation
if (lambdaInvoke != other.lambdaInvoke) return false
if (s3DeleteObjectTagging != other.s3DeleteObjectTagging) return false
if (s3InitiateRestoreObject != other.s3InitiateRestoreObject) return false
if (s3PutObjectAcl != other.s3PutObjectAcl) return false
if (s3PutObjectCopy != other.s3PutObjectCopy) return false
if (s3PutObjectLegalHold != other.s3PutObjectLegalHold) return false
if (s3PutObjectRetention != other.s3PutObjectRetention) return false
if (s3PutObjectTagging != other.s3PutObjectTagging) return false
if (s3ReplicateObject != other.s3ReplicateObject) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.s3control.model.JobOperation = Builder(this).apply(block).build()
public class Builder {
/**
* Directs the specified job to invoke an Lambda function on every object in the manifest.
*/
public var lambdaInvoke: aws.sdk.kotlin.services.s3control.model.LambdaInvokeOperation? = null
/**
* Directs the specified job to execute a DELETE Object tagging call on every object in the manifest.
*
* This functionality is not supported by directory buckets.
*/
public var s3DeleteObjectTagging: aws.sdk.kotlin.services.s3control.model.S3DeleteObjectTaggingOperation? = null
/**
* Directs the specified job to initiate restore requests for every archived object in the manifest.
*
* This functionality is not supported by directory buckets.
*/
public var s3InitiateRestoreObject: aws.sdk.kotlin.services.s3control.model.S3InitiateRestoreObjectOperation? = null
/**
* Directs the specified job to run a `PutObjectAcl` call on every object in the manifest.
*
* This functionality is not supported by directory buckets.
*/
public var s3PutObjectAcl: aws.sdk.kotlin.services.s3control.model.S3SetObjectAclOperation? = null
/**
* Directs the specified job to run a PUT Copy object call on every object in the manifest.
*/
public var s3PutObjectCopy: aws.sdk.kotlin.services.s3control.model.S3CopyObjectOperation? = null
/**
* Contains the configuration for an S3 Object Lock legal hold operation that an S3 Batch Operations job passes to every object to the underlying `PutObjectLegalHold` API operation. For more information, see [Using S3 Object Lock legal hold with S3 Batch Operations](https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-legal-hold.html) in the *Amazon S3 User Guide*.
*
* This functionality is not supported by directory buckets.
*/
public var s3PutObjectLegalHold: aws.sdk.kotlin.services.s3control.model.S3SetObjectLegalHoldOperation? = null
/**
* Contains the configuration parameters for the Object Lock retention action for an S3 Batch Operations job. Batch Operations passes every object to the underlying `PutObjectRetention` API operation. For more information, see [Using S3 Object Lock retention with S3 Batch Operations](https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-retention-date.html) in the *Amazon S3 User Guide*.
*
* This functionality is not supported by directory buckets.
*/
public var s3PutObjectRetention: aws.sdk.kotlin.services.s3control.model.S3SetObjectRetentionOperation? = null
/**
* Directs the specified job to run a PUT Object tagging call on every object in the manifest.
*
* This functionality is not supported by directory buckets.
*/
public var s3PutObjectTagging: aws.sdk.kotlin.services.s3control.model.S3SetObjectTaggingOperation? = null
/**
* Directs the specified job to invoke `ReplicateObject` on every object in the job's manifest.
*
* This functionality is not supported by directory buckets.
*/
public var s3ReplicateObject: aws.sdk.kotlin.services.s3control.model.S3ReplicateObjectOperation? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.s3control.model.JobOperation) : this() {
this.lambdaInvoke = x.lambdaInvoke
this.s3DeleteObjectTagging = x.s3DeleteObjectTagging
this.s3InitiateRestoreObject = x.s3InitiateRestoreObject
this.s3PutObjectAcl = x.s3PutObjectAcl
this.s3PutObjectCopy = x.s3PutObjectCopy
this.s3PutObjectLegalHold = x.s3PutObjectLegalHold
this.s3PutObjectRetention = x.s3PutObjectRetention
this.s3PutObjectTagging = x.s3PutObjectTagging
this.s3ReplicateObject = x.s3ReplicateObject
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.s3control.model.JobOperation = JobOperation(this)
/**
* construct an [aws.sdk.kotlin.services.s3control.model.LambdaInvokeOperation] inside the given [block]
*/
public fun lambdaInvoke(block: aws.sdk.kotlin.services.s3control.model.LambdaInvokeOperation.Builder.() -> kotlin.Unit) {
this.lambdaInvoke = aws.sdk.kotlin.services.s3control.model.LambdaInvokeOperation.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.s3control.model.S3DeleteObjectTaggingOperation] inside the given [block]
*/
public fun s3DeleteObjectTagging(block: aws.sdk.kotlin.services.s3control.model.S3DeleteObjectTaggingOperation.Builder.() -> kotlin.Unit) {
this.s3DeleteObjectTagging = aws.sdk.kotlin.services.s3control.model.S3DeleteObjectTaggingOperation.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.s3control.model.S3InitiateRestoreObjectOperation] inside the given [block]
*/
public fun s3InitiateRestoreObject(block: aws.sdk.kotlin.services.s3control.model.S3InitiateRestoreObjectOperation.Builder.() -> kotlin.Unit) {
this.s3InitiateRestoreObject = aws.sdk.kotlin.services.s3control.model.S3InitiateRestoreObjectOperation.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.s3control.model.S3SetObjectAclOperation] inside the given [block]
*/
public fun s3PutObjectAcl(block: aws.sdk.kotlin.services.s3control.model.S3SetObjectAclOperation.Builder.() -> kotlin.Unit) {
this.s3PutObjectAcl = aws.sdk.kotlin.services.s3control.model.S3SetObjectAclOperation.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.s3control.model.S3CopyObjectOperation] inside the given [block]
*/
public fun s3PutObjectCopy(block: aws.sdk.kotlin.services.s3control.model.S3CopyObjectOperation.Builder.() -> kotlin.Unit) {
this.s3PutObjectCopy = aws.sdk.kotlin.services.s3control.model.S3CopyObjectOperation.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.s3control.model.S3SetObjectLegalHoldOperation] inside the given [block]
*/
public fun s3PutObjectLegalHold(block: aws.sdk.kotlin.services.s3control.model.S3SetObjectLegalHoldOperation.Builder.() -> kotlin.Unit) {
this.s3PutObjectLegalHold = aws.sdk.kotlin.services.s3control.model.S3SetObjectLegalHoldOperation.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.s3control.model.S3SetObjectRetentionOperation] inside the given [block]
*/
public fun s3PutObjectRetention(block: aws.sdk.kotlin.services.s3control.model.S3SetObjectRetentionOperation.Builder.() -> kotlin.Unit) {
this.s3PutObjectRetention = aws.sdk.kotlin.services.s3control.model.S3SetObjectRetentionOperation.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.s3control.model.S3SetObjectTaggingOperation] inside the given [block]
*/
public fun s3PutObjectTagging(block: aws.sdk.kotlin.services.s3control.model.S3SetObjectTaggingOperation.Builder.() -> kotlin.Unit) {
this.s3PutObjectTagging = aws.sdk.kotlin.services.s3control.model.S3SetObjectTaggingOperation.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.s3control.model.S3ReplicateObjectOperation] inside the given [block]
*/
public fun s3ReplicateObject(block: aws.sdk.kotlin.services.s3control.model.S3ReplicateObjectOperation.Builder.() -> kotlin.Unit) {
this.s3ReplicateObject = aws.sdk.kotlin.services.s3control.model.S3ReplicateObjectOperation.invoke(block)
}
internal fun correctErrors(): Builder {
return this
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy